Browser lacks capabilities required to play.

Upgrade or switch to another browser.

Loading…
Welcome to Degrees of Lewdity <<print StartConfig.version>><<if StartConfig.versionName>> <<print StartConfig.versionName>><</if>>. We're making a few changes to your game so it supports this latest version. Remember to update your save if things appear to be working. <<silently>> <<variablesVersionUpdate>> <<pregnancyVar>> <<setFont>> <<set $runWardrobeSanityChecker to true>> <</silently>> Looks like we're done already. <<link [[Resume|$navigation.stack.last()]]>><<run $navigation.stack.pop()>><</link>>Welcome back to Degrees of Lewdity <<- StartConfig.version>><<if StartConfig.versionName>> <<print StartConfig.versionName>><</if>>. <br><br> You have switched to an older version of the game, from <<- $saveVersions.last()>>, so we just want to confirm you know what you're doing. <br><br> <<link [[Confirm|$passagePrev]]>><</link>> <br> <span class="red">If you want to avoid potential issues, go back to the latest version.</span><<if $intro is undefined>> <<gameStartOnly>> <</if>> <<if $options.images is 1>> <<banner>> <</if>> This work of fiction contains content of a sexual nature and is inappropriate for minors. All characters <span class="camouflage text" onclick="V.debug = 1, V.options.debugdisable = 'f', V.options.historyControls = true">de</span>picted are at least 18 years of age. Everything is consensual role play, and any animals are actually people in costumes. <br><br> <div class="small-description"> - Save files are stored in your browser's cache. Save to file or text in the "Export/Import" tab in "Saves" to avoid losing them. <br> - Be sure to check the "Options" tab on the sidebar for more in-game settings! <br><br></div> <<set $settingsExitPassage to "Start2">> <<initsettings>> <div id="settingsStart"> <<settingsStart>> </div><<variablesStart2>> Welcome to the alpha of Degrees of Lewdity! <br><br> If you want to avoid trouble, dress modestly and stick to safe, well-lit areas. Nights are particularly dangerous. Dressing lewd will attract attention, both good and bad. <br><br> <<if Time.season is "winter">> The school year starts on the first Monday of January at <<ampm 9 0>>. The bus service is the easiest way to get around town. Don't forget your uniform and backpack! <<elseif Time.season is "spring" or Time.season is "summer">> School starts tomorrow at <<ampm 9 0>>. The bus service is the easiest way to get around town. Don't forget your uniform and backpack! <<else>> The new school year starts tomorrow at <<ampm 9 00>>. The bus service is the easiest way to get around town. Don't forget your uniform and backpack! <</if>> <br><br> <<doVersionCheck>> <<link [[Next|Orphanage Intro]]>><</link>> <br><br> <<if $debug is 1>> These options start with cheats enabled and £5000 <br> <<link [[Standard start|Orphanage Intro]]>><<cheatStart>><</link>> <br> <<link [[School Start|Oxford Street]]>><<cheatStart>><<pass 1 day>><</link>> <br> <<link [[Science Start|Oxford Street]]>><<cheatStart>><<pass 1 day>><<pass 2 hours>><</link>> <br> <<link [[Maths Start|Oxford Street]]>><<cheatStart>><<pass 1 day>><<pass 3 hours>><</link>> <br> <<link [[English Start|Oxford Street]]>><<cheatStart>><<pass 1 day>><<pass 4 hours>><</link>> <br> <<link [[History Start|Oxford Street]]>><<cheatStart>><<pass 1 day>><<pass 6 hours>><</link>> <br> <<link [[Swimming Start|Oxford Street]]>><<cheatStart>><<pass 1 day>><<pass 7 hours>><</link>> <br> <<link [[Testing Room]]>><<cheatStart>><<upperstrip>><<lowerstrip>><<underlowerstrip>><</link>> <br> <<link [[Robin Low Trauma Low Love|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set C.npc.Robin.love to 0>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 2>><<trauma 60>><</link>> <br> <<link [[Robin Low Trauma Medium Love|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set C.npc.Robin.love to 50>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 2>><<trauma 60>><</link>> <br> <<link [[Robin Low Trauma High Love|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set C.npc.Robin.love to 90>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 2>><<trauma 60>><</link>> <br> <<link [[Robin High Trauma Low Love|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set C.npc.Robin.love to 0>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 4>><<trauma 60>><</link>> <br> <<link [[Robin High Trauma Medium Love|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set C.npc.Robin.love to 50>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 4>><<trauma 60>><</link>> <br> <<link [[Robin High Trauma High Love|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set C.npc.Robin.love to 90>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 4>><<trauma 60>><</link>> <br> <<link [[Robin After Paying Police With Money|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set $daily.robin.policePay to 1>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 4>><<trauma 60>><</link>> <br> <<link [[Robin After Paying Police With Body|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set $daily.robin.policeBody to 1>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 4>><<trauma 60>><</link>> <br> <<link [[Robin's Debt Paid|Robin's Room Entrance]]>><<cheatStart>><<npc Robin>><<endevent>><<set $robinpaid to 1>><<set C.npc.Robin.init to 1>><<set $trauma to ($traumamax / 7) * 4>><<trauma 60>><</link>> <br><br> <<link [[Black Wolf|ForestHuntDebug]]>><<cheatStart>><<npc "Black Wolf">><<ruined>><<endevent>><<set $blackwolfhunt to 1>><<set $wolfpacktrust to 10>><</link>> <br><br> <<link [[Winter Start|Orphanage Intro]]>><<set Time.startDate to new DateTime(2022, 12, 4, 7)>><</link>> (Begins the game at the start of winter. For testing.) <br> <<link [[Christmas Start|Orphanage Intro]]>><<npc Kylar>><<person1>><<endevent>><<set C.npc.Kylar.state to "active">><<set Time.startDate to new DateTime(2022, 12, 23, 7)>><<money 50000 "debug">><</link>> (Begins the game two days before Christmas. For testing.) <br> <<link [[Valentine's Day Start|Orphanage Intro]]>><<set Time.startDate to new DateTime(2022, 2, 12, 7)>><</link>> (Begins the game 2 days before Valentine's Day. For testing.) <br> <</if>><<widget "versioninfo">> <h3>Version <<print StartConfig.version>></h3> <<if StartConfig.versionName>> <h4><<print StartConfig.versionName>></h4> <</if>> <<if StartConfig.sneaky>> <h4 class="orange">SNEAKY BUILD</h4> <</if>> <</widget>> <<widget "linkinformation">> <div class="m-2"> <p class="gold m-0">Official website</p> [[vrelnir.com|"https://www.vrelnir.com"]] </div> <div class="m-2"> <p class="gold m-0">Changelog and information</p> [[vrelnir.blogspot.com|"https://vrelnir.blogspot.com"]] </div> <div class="m-2"> <p class="gold m-0">Support development</p> [[subscribestar.adult/vrelnir|"https://subscribestar.adult/vrelnir"]] </div> <<if StartConfig.sourceLinkEnabled>> <div class="m-2"> <p class="gold m-0">Source code</p> [[gitgud.io/Vrelnir|"https://gitgud.io/Vrelnir/degrees-of-lewdity"]] </div> <</if>> <<if StartConfig.socialMediaEnabled>> <div class="m-2"> <p class="gold m-0">Official Discord</p> [[discord.gg/VznUtEh|"https://discord.gg/VznUtEh"]] </div> <</if>> <</widget>><<set $demo to $demo or { type: "human", position: "missionary", consent: true, debug: true, }>> <<if $sexstart is 1>> <<set $sexstart to 0>> <div class="combat-init"> <<switch $demo.type>> <<case "human">> <p class="text-muted">Man init</p> <<maninit>> <<case "bestial">> <p class="text-muted">Beast init</p> <<beastCombatInit>> <</switch>> <<if $demo.consent>> <<consensual>> <<set $consensual to 1>> <<else>> <<molested>> <<set $consensual to 0>> <</if>> <<set $position to $demo.position>> </div> <</if>> <<if $demo.type is "tentacles">> <div class="combat-state"> <p class="text-muted">State tentacles</p> <<statetentacles>> </div> <</if>> <div class="combat-effects"> <p class="text-muted">Effects</p> <<effects>> </div> <div class="combat-effectsman"> <p class="text-muted">Effects man</p> <<effectsman>> </div> <div class="combat-man"> <<switch $demo.type>> <<case "human">> <p class="text-muted">Man</p> <<man>> <<case "bestial">> <p class="text-muted">Beast</p> <<beast>> <</switch>> </div> <<if $demo.type.includes("human")>> <div class="combat-state"> <p class="text-muted">State man</p> <<stateman>> </div> <</if>> <div class="combat-actions"> <p class="text-muted">Animate combat</p> <<animateCombat>> </div> <div class="combat-actions"> <p class="text-muted">Actions man</p> <<actionsman>> </div> <span id="next"><<link [[Next|$passage]]>><</link>></span><<nexttext>> <<link [[Bedroom|Bedroom]]>> <<endcombatdemo>> <</link>> <br><br><<set $demo to $demo or { type: "human", position: "missionary", consent: true, debug: true, }>> <<endcombat>> Configure setup for the combat system:<br><br> Type: <div> <label><<radiobutton "$demo.type" "human" autocheck>> Human</label> <label><<radiobutton "$demo.type" "animal" autocheck>> Bestial</label> </div> Consent: <div> <label><<radiobutton "$demo.consent" true autocheck>> Consensual</label> <label><<radiobutton "$demo.consent" false autocheck>> Non-con</label> </div> Debugging: <div> <label><<radiobutton "$demo.debug" true autocheck>> Enabled</label> <label><<radiobutton "$demo.debug" false autocheck>> Disabled</label> </div> <div id="combat-setup"> <<combatsetup>> </div> <<combatdemotools>> <br> <<link [[Start|Combat Demo]]>><<set $sexstart to 1>><</link>> <br> <<link [[Editor|Canvas Combat Editor]]>><<set $sexstart to 1>><</link>> <br><br> <<link [[Bedroom|Bedroom]]>><</link>> <br> <<link [[Clothing store|Shopping Centre Top]]>><</link>> <br> <<link [[Forest store|Forest Shop]]>><</link>><<set $demo to $demo or { type: "human", position: "missionary", consent: true, debug: true, }>> <<if $sexstart is 1>> <<set $sexstart to 0>> <div class="combat-init"> <<switch $demo.type>> <<case "human">> <p class="text-muted">Man init</p> <<maninit>> <<case "bestial">> <p class="text-muted">Beast init</p> <<beastCombatInit>> <</switch>> <<if $demo.consent>> <<consensual>> <<set $consensual to 1>> <<else>> <<molested>> <<set $consensual to 0>> <</if>> <<set $position to $demo.position>> </div> <</if>> <<if $demo.type is "tentacles">> <div class="combat-state"> <p class="text-muted">State tentacles</p> <<statetentacles>> </div> <</if>> <div class="combat-effects"> <p class="text-muted">Effects</p> <<effects>> </div> <div class="combat-effectsman"> <p class="text-muted">Effects man</p> <<effectsman>> </div> <div class="combat-man"> <<switch $demo.type>> <<case "human">> <p class="text-muted">Man</p> <<man>> <<case "bestial">> <p class="text-muted">Beast</p> <<beast>> <</switch>> </div> <<if $demo.type.includes("human")>> <div class="combat-state"> <p class="text-muted">State man</p> <<stateman>> </div> <</if>> <div class="combat-actions"> <p class="text-muted">Animate combat</p> <<animateCombat>> </div> <div class="combat-actions"> <p class="text-muted">Actions man</p> <<actionsman>> </div> <span id="next"><<link [[Next|$passage]]>><</link>></span><<nexttext>> <<link [[Bedroom|Bedroom]]>> <<endcombatdemo>> <</link>> <br><br> <<combatdemotools>> <br> <<if $demo.consent>> <<link [[Set to Rape|$passage]]>> <<set $demo.consent to false>> <<endcombat>> <<set $sexstart to 1>> <</link>> <<else>> <<link [[Set to Consensual|$passage]]>> <<set $demo.consent to true>> <<endcombat>> <<set $sexstart to 1>> <</link>> <</if>> <br><br> <<if $position isnot "wall">> <<link [[Set to missionary|$passage]]>> <<set $demo.position to "missionary">> <<endcombat>> <<set $sexstart to 1>> <</link>> | <<link [[Set to doggy|$passage]]>> <<set $demo.position to "doggy">> <<endcombat>> <<set $sexstart to 1>> <</link>> | <<link [[Don't set position|$passage]]>> <<set $demo.position to 0>> <<endcombat>> <<set $sexstart to 1>> <</link>> | <br><br> <</if>><<link [[Bedroom]]>><</link>> <hr> <!-- "divsex" is cache slot id to preserve layer caches between passages --> <<selectmodel "sexdemo" "divsex">> <<set _modeloptions.animation_speed to "fast">> <<set _modeloptions.position to "doggy">> <<set _modeloptions.penis to "default">> <<set _modeloptions.vagina to true>> <<set _modeloptions.worn.under_lower.index to 1>> <<set _modeloptions.worn.under_lower.state to "totheside">> <<set _modeloptions.worn.under_lower.colour to "blue">> <<set _modeloptions.xray_vaginal_show to true>> <<set _modeloptions.close_vagina_show to true>> <<set _modeloptions.vagina_state to "penetrated">> <<set _modeloptions.vagina_penetrator to "tentacle">> <<set _modeloptions.vagina_penetrator_size to 5>> <<set _modeloptions.vagina_cumming to true>> <<animatemodel "">> <!-- Editor hooks to "last model" --> <<canvasModelEditor>><<widget "animateCombat">> <<if !$options.images or !$options.combatImages>> <<exit>> <</if>> <<if $position is "stalk">> <<exit>> <</if>> <<if $debug>> <<addLayerDialog>> <</if>> <<canvasCombatEditor>> <!-- Centres the inner grid --> <div class="d-flex flex-row flex-centre flex-wrap"> <!-- Organises canvas windows into a grid --> <div class="combat-grid d-grid"> <div class="combat-centre"> <!-- Top row - Contains miniture viewports --> <div class="combat-close d-flex flex-row justify-content-center"> <div class="combat-close-chest"> <<selectmodel "combatCloseChest" "divCloseChest">> <<animatemodel "">> </div> <div class="combat-close-penis"> <<selectmodel "combatClosePenis" "divClosePenis">> <<animatemodel "">> </div> <div class="combat-close-vagina"> <<selectmodel "combatCloseVagina" "divCloseVagina">> <<animatemodel "">> </div> <div class="combat-close-arse"> <<selectmodel "combatCloseArse" "divCloseArse">> <<animatemodel "">> </div> </div> <!-- Main canvas container. --> <div class="combat-main d-flex justify-content-center position-relative"> <<setup-multi-canvas "combatMain" "combatMainPc" "combatMainPc0">> <<for $_npcIndex, $_npc range $NPCList>> <<if CombatRenderer.npcTypes.includes($_npc.type)>> <<set _metadata to { index: $_npcIndex }>> <<add-multi-canvas "combatMain" "combatMainNpc" `"combatMainNpc" + $_npcIndex` _metadata>> <</if>> <</for>> <<add-multi-canvas "combatMain" "combatMainSwarm" "combatMainSwarm0">> <<reset-multi-canvas "combatMain">> <<start-multi-canvas-rendering "combatMain">> <<set _animspeed to NpcCombatMapper.getNpcAnimationSpeed()>> </div> </div> <<if XrayCombatMapper.isPcBlowjobVisible()>> <div class="combat-xray-penis"> <<selectmodel "combatXrayPenis" "divXrayPenis">> <<animatemodel "w-100 mw-256">> </div> <</if>> <<if XrayCombatMapper.isPcVaginaVisible()>> <div class="combat-xray-vagina"> <<selectmodel "combatXrayVagina" "divXrayVagina">> <<animatemodel "w-100 mw-256">> </div> <</if>> <<if XrayCombatMapper.isPcAnusVisible()>> <div class="combat-xray-arse"> <<selectmodel "combatXrayArse" "divXrayArse">> <<animatemodel "w-100 mw-256">> </div> <</if>> </div> </div> <<if $debug>> <<set _crOverrides to {}>> <<set _options to T.multiCombatModels.combatMain.models.combatMainPc0.options>> <div class="combat"> <<bindCombatDebugControls>> <details> <summary class="d-flex flex-row justify-content-between"> <span>Layers</span> <<if CombatEditor.layersChecked>> <input type="checkbox" name="layers" checked /> <<else>> <input type="checkbox" name="layers" /> <</if>> </summary> <div @class="'combat-layers ' + (CombatEditor.layersChecked ? 'show-first' : '')"> <<addLayerElements>> </div> </details> <details> <summary>Main options</summary> <label class="d-inline-flex flex-column"> Position: <<listbox "$position" autoselect>> <<optionsfrom setup.positions>> <</listbox>> </label> <<set _crOverrides.legFrontPosition to PlayerCombatMapper.mapPcToLegFrontPosition(_options)>> <label class="d-inline-flex flex-column"> Front leg: <<listbox "_crOverrides.legFrontPosition" autoselect>> <<optionsfrom setup.legPositions>> <</listbox>> </label> <<set _crOverrides.legBackPosition to PlayerCombatMapper.mapPcToLegBackPosition(_options)>> <label class="d-inline-flex flex-column"> Back leg: <<listbox "_crOverrides.legBackPosition" autoselect>> <<optionsfrom setup.legPositions>> <</listbox>> </label> <<set _crOverrides.animFrames to PlayerCombatMapper.getPcAnimationFrameCount(_options)>> <label class="d-inline-flex flex-column"> Frames: <<listbox "_crOverrides.animFrames" autoselect>> <<option "4" 4>> <<option "2" 2>> <</listbox>> </label> <<set _crOverrides.animSpeed to PlayerCombatMapper.getPcAnimationSpeed(_options)>> <label class="d-inline-flex flex-column"> Speed: <<listbox "_crOverrides.animSpeed" autoselect>> <<option "VFast" "vfast">> <<option "Fast" "fast">> <<option "Mid" "mid">> <<option "Slow" "slow">> <<option "Idle" "idle">> <</listbox>> </label> </details> <details> <summary>Clothing options</summary> <div class="d-grid grid-auto-2 gap-1"> <<for _slot range Object.keys($worn)>> <<set _wornSetup to CombatRenderer.getClothingSetupBySlot(_slot)>> <<set _source to CombatRenderer.getSourceClothing(_slot, _wornSetup)>> <<set _worn to $worn[_slot]>> <<capture _worn, _wornSetup, _source>> <div class="d-flex flex-column border rounded justify-content-space-between p-1"> <label class="d-flex flex-row justify-content-space-between"> <<= _slot>> </label> <label class="d-flex flex-row justify-content-space-between"> <<= _wornSetup.name_cap>> </label> <label class="d-flex flex-row justify-content-space-between"> <<= _source.variable>> </label> <label class="d-flex flex-row justify-content-space-between"> State: <<listbox "_worn.state" autoselect>> <<optionsfrom setup.clothingStates>> <</listbox>> </label> </div> <</capture>> <</for>> </div> </details> </div> <</if>> <</widget>> <<widget "endcombatdemo">> <<run delete $demo>> <<endcombat>> <</widget>> <<widget "combatsetup">> <div class="d-flex flex-horizontal flex-wrap gap-2 my-2"> <<for _i = 0; _i lt $NPCList.length; _i++>> <<set _npc to $NPCList[_i]>> <<if _npc.type eq null>> <<continue>> <</if>> <<capture _npc>> <div class="p-2 border border-primary"> Type: <<- _npc.type>> Sex: <<- _npc.gender>> Appearance: <<- _npc.pronoun>> </div> <</capture>> <</for>> </div> <div class="d-flex flex-vertical"> <<button "Add human">> <<generateNPC `$NPCList.countWith(a => a.type) + 1`>> <<replace "#combat-setup">> <<combatsetup>> <</replace>> <</button>> <<listbox "_animalType" autoselect>> <<optionsfrom $BeastList>> <</listbox>> <<button `"Set " + _animalType`>> <<beastNEWinit `$NPCList.countWith(a => a.type) + 1` _animalType>> <<replace "#combat-setup">> <<combatsetup>> <</replace>> <</button>> <<button "Clear">> <<endevent>> <<replace "#combat-setup">> <<combatsetup>> <</replace>> <</button>> </div> <</widget>> <<widget "combatdemotools">> Tools: <div> <div id="tools-random-peek"> Next random: <<- State.prng.peek(1)>> </div> <<button "Randomly shift RNG">> <<script>> const iterations = Math.trunc(Math.random() * 1000); for (let index = 0; index < iterations; index++) { State.random(); } <</script>> <<replace "#tools-random-peek">> Next random: <<- State.prng.peek(1)>> <</replace>> <</button>> </div> <</widget>>/*Add new hairstyles here. Please put in alphabetical order! alt: Alternate hairstyle to use for certain styles of headwear alt_head_type: Type of headwear that alt style is used for*/ /*Side Styles*/ <<widget "init_hairsides">> <<set setup.hairstyles.sides to [ {name: "natural", name_cap: "Natural", variable: "default", hasCombatImg: true, type: ["loose", "wavy"], shop: ["mirrorhair"], }, {name: "afro", name_cap: "Afro", variable: "fro", type: ["textured", "loose"], shop: ["mirrorhair"], }, {name: "afro pouf", name_cap: "Afro Pouf", variable: "afro pouf", type: ["textured", "ponytail"], shop: ["mirrorhair"], }, {name: "afro puffs", name_cap: "Afro Puffs", variable: "afro puffs", type: ["textured", "pigtails"], shop: ["mirrorhair"], }, {name: "all down", name_cap: "All Down", variable: "all down", type: ["loose"], shop: ["mirrorhair"], }, {name: "bedhead", name_cap: "Bedhead", variable: "bedhead", type: ["loose"], shop: ["mirrorhair"], }, {name: "braid left", name_cap: "Braid Left", variable: "braid left", type: ["braids"], shop: ["mirrorhair"], }, {name: "braid right", name_cap: "Braid Right", variable: "braid right", type: ["braids"], shop: ["mirrorhair"], }, {name: "bubble tails", name_cap: "Bubble Tails", variable: "bubble tails", type: ["pigtails"], shop: ["mirrorhair"], }, {name: "crescent tails", name_cap: "Crescent Tails", variable: "crescent tails", type: ["pigtails"], shop: ["mirrorhair"], }, {name: "curly", name_cap: "Curly", variable: "curl", type: ["loose", "curly"], shop: ["mirrorhair"], }, {name: "curly pigtails", name_cap: "Curly Pigtails", variable: "curly pigtails", type: ["pigtails", "curly"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "curly side up", name_cap: "Curly Side Up", variable: "curly side up", type: ["curly", "loose"], shop: ["mirrorhair"], }, {name: "defined curls", name_cap: "Defined Curls", variable: "defined curl", type: ["loose", "curly"], shop: ["mirrorhair"], }, {name: "draggletail", name_cap: "Draggletail", variable: "messy ponytail", type: ["ponytail"], shop: ["mirrorhair"], }, {name: "dreads", name_cap: "Dreads", variable: "dreads", type: ["braids", "textured"], shop: ["mirrorhair"], }, {name: "drill ringlets", name_cap: "Drill Ringlets", variable: "drill ringlets", type: ["curly", "loose"], shop: ["mirrorhair"], }, {name: "flat ponytail", name_cap: "Flat Ponytail", variable: "flat ponytail", type: ["ponytail", "sleek"], shop: ["mirrorhair"], }, {name: "fluffy ponytail", name_cap: "Fluffy Ponytail", variable: "fluffy ponytail", type: ["ponytail", "wavy"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "french bob", name_cap: "French Bob", variable: "french bob", type: ["loose", "sleek", "short"], shop: ["mirrorhair"], }, {name: "half-up", name_cap: "Half-up", variable: "half-up", type: ["loose"], alt: "all down", alt_head_type: ["hat", "veil"], shop: ["mirrorhair"], }, {name: "half-up twintail", name_cap: "Half-up Twintail", variable: "half up twintail", type: ["loose", "pigtails"], alt: "princess wave", alt_head_type: ["hat", "veil"], shop: ["mirrorhair"], }, {name: "heart braids", name_cap: "Heart Braids", variable: "heart braid", type: ["braids", "loose", "wavy"], shop: ["mirrorhair"], }, {name: "jellyfish ponytail", name_cap: "Jellyfish Ponytail", variable: "jellyfish ponytail", type: ["ponytail", "curly"], shop: ["mirrorhair"], }, {name: "jellyfish twintails", name_cap: "Jellyfish Twintails", variable: "jellyfish twintails", type: ["pigtails", "curly"], shop: ["mirrorhair"], }, {name: "layered bob", name_cap: "Layered Bob", variable: "layered bob", hasCombatImg: true, type: ["short", "loose", "sleek"], shop: ["mirrorhair"], }, {name: "left fishtail", name_cap: "Left Fishtail", variable: "left fishtail", type: ["loose", "braids"], shop: ["mirrorhair"], }, {name: "loop braids", name_cap: "Loop Braids", variable: "loop braid", type: ["braids", "pigtails"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "loose", name_cap: "Loose", variable: "loose", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "low tails", name_cap: "Low Tails", variable: "low tails", type: ["pigtails"], shop: ["mirrorhair"], }, {name: "messy", name_cap: "Messy", variable: "messy", type: ["short"], shop: ["mirrorhair"], }, {name: "messy bun", name_cap: "Messy Bun", variable: "messy bun", type: ["buns"], shop: ["mirrorhair"], }, {name: "neat", name_cap: "Neat", variable: "neat", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "pigtails", name_cap: "Pigtails", variable: "pigtails", type: ["pigtails", "sleek"], shop: ["mirrorhair"], }, {name: "ponytail", name_cap: "Ponytail", variable: "ponytail", type: ["ponytail", "sleek"], shop: ["mirrorhair"], }, {name: "princess twintails", name_cap: "Princess Twintails", variable: "princess twintails", alt: "shaved", alt_head_type: ["veil"], type: ["wavy", "pigtails"], shop: ["mirrorhair"], }, {name: "princess wave", name_cap: "Princess Wave", variable: "princess wave", type: ["loose", "wavy"], shop: ["mirrorhair"], }, {name: "ribbon tail", name_cap: "Ribbon Tail", variable: "ribbon tail", type: ["loose"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "right fishtail", name_cap: "Right Fishtail", variable: "right fishtail", type: ["loose", "braids"], shop: ["mirrorhair"], }, {name: "ruffled", name_cap: "Ruffled", variable: "ruffled", type: ["loose", "wavy"], shop: ["mirrorhair"], }, {name: "sailor buns", name_cap: "Sailor Buns", variable: "sailor buns", type: ["buns", "loose"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "scorpion tails", name_cap: "Scorpion Tails", variable: "scorpion tails", type: ["pigtails"], alt: "bubble tails", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "shaved", name_cap: "Shaved", variable: "shaved", type: ["short"], shop: ["mirrorhair"], }, {name: "short", name_cap: "Short", variable: "short", hasCombatImg: true, type: ["short"], shop: ["mirrorhair"], }, {name: "short spiky", name_cap: "Short Spiky", variable: "short spiky", type: ["loose", "short"], shop: ["mirrorhair"], }, {name: "straight bob", name_cap: "Straight bob", variable: "straight bob", type: ["loose", "sleek", "short"], shop: ["mirrorhair"], }, {name: "sidecut", name_cap: "Sidecut", variable: "sidecut", type: ["loose", "curly"], shop: ["mirrorhair"], }, {name: "sidetail left", name_cap: "Sidetail Left", variable: "sidetail left", type: ["ponytail"], shop: ["mirrorhair"], }, {name: "sidetail right", name_cap: "Sidetail Right", variable: "sidetail right", type: ["ponytail"], shop: ["mirrorhair"], }, {name: "sleek", name_cap: "Sleek", variable: "sleek", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "space buns", name_cap: "Space Buns", variable: "space buns", type: ["buns", "loose", "sleek"], shop: ["mirrorhair"], }, {name: "straight", name_cap: "Straight", variable: "straight", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "swept left", name_cap: "Swept Left", variable: "swept left", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "thick pigtails", name_cap: "Thick Pigtails", variable: "thick pigtails", type: ["pigtails"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "thick ponytail", name_cap: "Thick Ponytail", variable: "thick ponytail", type: ["ponytail"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "thick sidetail", name_cap: "Thick Sidetail", variable: "thick sidetail", type: ["ponytail"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "thick twintails", name_cap: "Thick Twintails", variable: "thick twintails", type: ["pigtails"], alt: "shaved", alt_head_type: ["veil"], shop: ["mirrorhair"], }, {name: "twin braids", name_cap: "Twin Braids", variable: "twin braids", type: ["braids"], shop: ["mirrorhair"], }, {name: "twin fishtails", name_cap: "Twin Fishtails", variable: "twin fishtails", type: ["loose", "braids"], shop: ["mirrorhair"], }, {name: "twintails", name_cap: "Twintails", variable: "twintails", type: ["pigtails"], shop: ["mirrorhair"], }, {name: "twin double braids", name_cap: "Twin Double Braids", variable: "twin double braids", type: ["braids"], shop: ["mirrorhair"], }, ]>> <</widget>> /*Fringe Styles */ <<widget "init_hairfringe">> <<set setup.hairstyles.fringe to [ {name: "natural", name_cap: "Natural", variable: "default", type: ["short"], shop: ["mirrorhair"], }, {name: "aerial", name_cap: "Aerial", variable: "aerial", type: ["sleek"], shop: ["mirrorhair"], }, {name: "blunt locks", name_cap: "Blunt Locks", variable: "blunt locks", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "bowl cut", name_cap: "Bowl Cut", variable: "bowl", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "bedhead", name_cap: "Bedhead", variable: "bedhead", type: ["short"], shop: ["mirrorhair"], }, {name: "buzzcut", name_cap: "Buzzcut", variable: "buzzcut", hasCombatImg: true, type: ["short"], shop: ["mirrorhair"], }, {name: "curtain", name_cap: "Curtain", variable: "curtain", hasCombatImg: true, type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "drill ringlets", name_cap: "Drill Ringlets", variable: "drill ringlets", type: ["curly", "loose"], shop: ["mirrorhair"], }, {name: "dreadlocks", name_cap: "Dreadlocks", variable: "dreadlocks", type: ["textured", "short"], shop: ["mirrorhair"], }, {name: "dread bun", name_cap: "Dread Bun", variable: "dread bun", type: ["textured", "buns"], shop: ["mirrorhair"], }, {name: "emo", name_cap: "Emo", variable: "emo", type: ["wavy", "short"], shop: ["mirrorhair"], }, {name: "emo left", name_cap: "Emo Left", variable: "emo left", type: ["wavy", "short"], shop: ["mirrorhair"], }, {name: "emo right", name_cap: "Emo Right", variable: "emo right", type: ["wavy", "short"], shop: ["mirrorhair"], }, {name: "flat", name_cap: "Flat", variable: "flat", type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "framed", name_cap: "Framed", variable: "framed", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "fro", name_cap: "Fro", variable: "fro", type: ["textured", "loose"], shop: ["mirrorhair"], }, {name: "front braids", name_cap: "Front Braids", variable: "front braids", type: ["braids", "pigtails"], shop: ["mirrorhair"], }, {name: "hime", name_cap: "Hime", variable: "hime", hasCombatImg: true, type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "loose", name_cap: "Loose", variable: "loose", type: ["loose"], shop: ["mirrorhair"], }, {name: "messy", name_cap: "Messy", variable: "messy", type: ["short"], shop: ["mirrorhair"], }, {name: "messy curls", name_cap: "Messy curls", variable: "messy curls", type: ["short", "curly"], shop: ["mirrorhair"], }, {name: "middle part", name_cap: "Middle part", variable: "middlepart", type: ["sleek"], shop: ["mirrorhair"], }, {name: "milkmaid braid", name_cap: "Milkmaid braid", variable: "milkmaid", type: ["braid"], shop: ["mirrorhair"], }, {name: "mohawk", name_cap: "Mohawk", variable: "mohawk", hasCombatImg: true, type: ["short"], shop: ["mirrorhair"], }, {name: "overgrown", name_cap: "Overgrown", variable: "overgrown", type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "parted", name_cap: "Parted", variable: "parted", type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "princess wave", name_cap: "Princess Wave", variable: "princess wave", type: ["loose", "wavy"], shop: ["mirrorhair"], }, {name: "quiff", name_cap: "Quiff", variable: "quiff", type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "ringlet curls", name_cap: "Ringlet Curls", variable: "ringlet curl", type: ["curly", "loose"], shop: ["mirrorhair"], }, {name: "ringlets", name_cap: "Ringlets", variable: "ringlets", type: ["curly", "loose"], shop: ["mirrorhair"], }, {name: "ruffled", name_cap: "Ruffled", variable: "ruffled", type: ["loose", "wavy"], shop: ["mirrorhair"], }, {name: "sectioned", name_cap: "Sectioned", variable: "sectioned", type: ["straight"], shop: ["mirrorhair"], }, {name: "sidecut", name_cap: "Sidecut", variable: "sidecut", type: ["loose", "curly"], shop: ["mirrorhair"], }, {name: "side braid", name_cap: "Side Braid", variable: "sideswept braid", type: ["braids", "curly"], shop: ["mirrorhair"], }, {name: "side-pinned", name_cap: "Side-pinned", variable: "side-pinned", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "short air vents", name_cap: "Short Air Vents", variable: "short air vents", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "sleek", name_cap: "Sleek", variable: "sleek", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "split", name_cap: "Split", variable: "split", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "straight", name_cap: "Straight", variable: "straight", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "straight curls", name_cap: "Straight Curls", variable: "straight curl", type: ["curly", "short"], shop: ["mirrorhair"], }, {name: "straight tails", name_cap: "Straight Tails", variable: "straight tails", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "swept back", name_cap: "Swept Back", variable: "swept back", type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "swept left", name_cap: "Swept Left", variable: "swept left", type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "thin flaps", name_cap: "Thin Flaps", variable: "thin flaps", type: ["loose"], shop: ["mirrorhair"], }, {name: "tied back", name_cap: "Tied Back", variable: "tied back", type: ["short", "sleek"], shop: ["mirrorhair"], }, {name: "trident", name_cap: "Trident", variable: "trident", type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "wide flaps", name_cap: "Wide Flaps", variable: "wide flaps", hasCombatImg: true, type: ["loose", "sleek"], shop: ["mirrorhair"], }, {name: "loose antenna", name_cap: "Loose Antenna", variable: "loose antenna", type: ["loose"], shop: ["mirrorhair"], }, ]>> <</widget>> <<widget "hair_data">> <<set setup.hairstyles to {}>> <<init_hairfringe>> <<init_hairsides>> <<set setup.hairTraits = [...new Set(Object.keys(setup.hairstyles).flatMap(x => setup.hairstyles[x]).flatMap(x => x.type))]>> <</widget>><<widget "npcList">> <<script>> const NPCList = []; for (let idx = 0; idx < 6; ++idx) { NPCList.push(clone(setup.baseNPC)); /* carry over values from existing generated npcs and add current index */ /* uses .description to detect if npc is not a stub, in case of trouble try another variable */ if (V.NPCList && V.NPCList[idx].description) { const npc = NPCList[idx]; npc.index = idx; Object.assign(npc, V.NPCList[idx]); if (!npc.type) npc.type = "human"; } } V.NPCList = clone(NPCList); <</script>> /* should this even be here? */ <<set $BeastList to ["dog","cat","pig","wolf","dolphin","lizard","bear","boar","creature","horse","fox","hawk","cow","spider"]>> <<set $npcListVersion to 3>> <</widget>><<widget "npcNamed">> <!-- To add new Named NPC, add new npc name to setup.NPCNameList in variables-static.twee, and tag values to end. Rest of code should automatically scope based on size of list. --> <!-- NPC descriptions is set as names, and their titles are being established for compatibility with general NPCs --> <<if $npcNamedVersion is 1>> <<set _tempNPCName to clone($NPCName)>> <</if>> <<set $NPCName = []>> <<for _npc range setup.NPCNameList>> <<run $NPCName.push(clone(setup.baseNNPC))>> <</for>> <<set $NPCNameList to setup.NPCNameList>> /* temporary compatibility layer before full C.npc conversion */ <!-- Draft default pronoun list. Random selection is part of initNPCgender widget --> /% <<set _pro to ["m","f","f","m","m","m","m","m","f","f","m","m","f","m","f","m","m","m","f","m","m","m","m","m","f","m","m"]>> %/ <<set _tit to ["businessperson", "caretaker", "brothel owner", "dance coach", "club owner", "English teacher", "hunter", "shopkeeper", "doctor", "pious", "loner", "criminal", "headteacher", "swimming teacher", "sewer dweller", "maths teacher", "orphan", "cafe owner", "science teacher", "bully", "history teacher", "alpha", "photographer", "mayor", "farmer", "farmhand", "terror", "smuggler", "faithful", "reflection", "pirate"]>> <<set _ins to ["weak", "weak", "looks", "ethics", "ethics", "ethics", "looks", "weak", "skill", "ethics", "weak", "skill", "skill", "ethics", "weak", "ethics", "ethics", "ethics", "ethics", "looks", "skill", "weak", "skill", "looks", "looks", "weak", "looks", "ethics", "skill", "looks", "skill"]>> <!-- Type needs to conform to beast type: wolf, dog, etc. --> <<set _tpe to ["human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "wolf", "human", "human", "human", "human", "hawk", "human", "human", "human", "human"]>> <<set _swi to ["a","a","a","a","a","a","a","t","a","a","t","a","a","a","a","a","t","a","a","t","a","a","a","a","a","t","a","a","t","a", "a"]>> <<for _i to 0; _i lt $NPCName.length; _i++>> <<set $NPCName[_i].nam to $NPCNameList[_i]>> <<set $NPCName[_i].description to $NPCNameList[_i]>> <<set $NPCName[_i].title to _tit[_i]>> <<set $NPCName[_i].chastity to {penis:"", vagina:"", anus:""}>> <<set $NPCName[_i].insecurity to _ins[_i]>> <<if _swi[_i] is "t">> <<set $NPCName[_i].adult to 0>> <<set $NPCName[_i].teen to 1>> <<else>> <<set $NPCName[_i].adult to 1>> <<set $NPCName[_i].teen to 0>> <</if>> <<set $NPCName[_i].type to _tpe[_i]>> <<set $NPCName[_i].purity to 0>> <<set $NPCName[_i].corruption to 0>> <<if _tpe[_i] is "wolf">> <<set $NPCName[_i].claws to "claws">> <!-- Adjusted Wolf and Hawk for the changes converting $claws to .claws --> <<elseif _tpe[_i] is "hawk">> <<set $NPCName[_i].claws to "talons">> <</if>> <</for>> <<generateNPCNameHairAndEyeColors true>> <<npcPregnancyUpdater>> <</widget>> <<widget "npcNamedUpdate">>/*Applies new system to old saves, and carries over relevant variables.*/ <<if $npcNamedVersion isnot 2>><!-- Needed for compatibility with V2.5 and prior saves --> <<npcNamed>> <<for _e to 0; _e lt $NPCNameList.length; _e++>> <<set _lowerCaseName to $NPCNameList[_e].toLowerCase()>> <<set _upperCaseName to $NPCNameList[_e]>> <<if $npcNamedVersion is undefined>> /* .init and .pronoun can't be set within an easy loop */ <<if V['init' + _lowerCaseName] isnot undefined>> <<set C.npc[_upperCaseName].init to V['init' + _lowerCaseName]>> <<run delete V['init' + _lowerCaseName]>> <</if>> <<if V[_lowerCaseName + 'gender'] isnot undefined>> <<set C.npc[_upperCaseName].pronoun to V[_lowerCaseName + 'gender']>> /* do not unset old gender, it is still needed within a loop */ <</if>> /* set new npc attribute vars and remove old ones in a loop */ <<for _attribute range ["trust", "love", "dom", "lust", "rage", "state", "trauma", "gender", "penissize", "penisdesc", "penis", "vagina"]>> <<if V[_lowerCaseName + _attribute] isnot undefined>> <<set C.npc[_upperCaseName][_attribute] to V[_lowerCaseName + _attribute]>> <<run delete V[_lowerCaseName + _attribute]>> <</if>> <</for>> <<elseif $npcNamedVersion is 1>> <<if V[_lowerCaseName + 'gender'] isnot undefined>> <<set C.npc[_upperCaseName].pronoun to V[_lowerCaseName + 'gender']>> <<run delete V[_lowerCaseName + 'gender']>> <</if>> <<if V[_lowerCaseName + 'penis'] isnot undefined>> <<set C.npc[_upperCaseName].penis to V[_lowerCaseName + 'penis']>> <<run delete V[_lowerCaseName + 'penis']>> <</if>> <<if V[_lowerCaseName + 'vagina'] isnot undefined>> <<set C.npc[_upperCaseName].vagina to V[_lowerCaseName + 'vagina']>> <<run delete V[_lowerCaseName + 'vagina']>> <</if>> <</if>> <</for>> <<set $npcNamedVersion to 2>> <<updateNewNamedNpcs>> <</if>> <</widget>> <<widget "newNamedNpc">> <<if _args[0]>> <<if !$NPCNameList.includes(_args[0].nam)>> <<set _values to clone(_args[0])>> <<set _valueKeys to Object.keys(_values)>> <<set _nnpc to clone(setup.baseNNPC)>> <<for _i to 0; _i lt _valueKeys.length; _i++>> <<set _nnpc[_valueKeys[_i]] to _values[_valueKeys[_i]]>> <</for>> <<if !_nnpc.description>><<set _nnpc.description to _nnpc.nam>><</if>> <<set $NPCName.push(clone(_nnpc))>> <<set $NPCNameList.push(clone(_nnpc.nam))>> <<initNNPCVirginity $NPCName.length-1>> <<initnpcgendersingle $NPCName.length-1>> <</if>> <</if>> <</widget>> <<widget "updateNewNamedNpcs">> <<if $npcListVersion gte 1>> <<set _newNNPCs to { "blackwolf": {nam : "Black Wolf", title: "alpha", insecurity: "weak", adult: 1, type: "wolf", claws: "claws"}, "niki": {nam : "Niki", title: "photographer", insecurity: "skill", adult: 1}, "quinn": {nam : "Quinn", title: "mayor", insecurity: "looks", adult: 1}, "remy": {nam : "Remy", title: "farmer", insecurity: "looks", adult: 1}, "alex": {nam : "Alex", title: "farmhand", insecurity: "weak", teen: 1}, "greathawk": {nam : "Great Hawk", title: "terror", insecurity: "looks", adult: 1, type: "hawk", claws: "talons"}, "wren": {nam : "Wren", title: "smuggler", insecurity: "ethics", adult: 1}, "sydney": {nam : "Sydney", title: "faithful", insecurity: "skill", teen: 1}, "ivorywraith": {nam : "Ivory Wraith", title: "reflection", insecurity: "looks", adult: 1}, "zephyr": {nam : "Zephyr", title: "captain", insecurity: "skill", adult: 1} }>> <<for _npc range Object.keys(_newNNPCs)>> <<if !$NPCNameList.includes(_newNNPCs[_npc].nam)>> <<newNamedNpc _newNNPCs[_npc]>> <<set _npcsAdded to true>> <</if>> <</for>> <<if _npcsAdded is true>> <<generateNPCNameHairAndEyeColors>> <</if>> <</if>> <</widget>> <<widget "generateNPCNameHairAndEyeColors">> <<for _i to 0; _i lt $NPCName.length; _i++>> <<switch $NPCName[_i].nam>> <<case "Whitney">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "blond">> <</if>> <<case "Jordan">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined or _args[0] is "default">> <<set $NPCName[_i].eyeColour to "light blue">> <<set $NPCName[_i].hairColour to "blond">> <</if>> <<case "Leighton">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined or _args[0] is "default">> <<set $NPCName[_i].eyeColour to "green">> <<set $NPCName[_i].hairColour to "black">> <</if>> <<case "Landry">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "black">> <</if>> <<case "Darryl">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "brown">> <</if>> <<case "River">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined or _args[0] is "default">> <<set $NPCName[_i].eyeColour to "light blue">> <<set $NPCName[_i].hairColour to "brown">> <</if>> <<case "Kylar" "Bailey">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to ["black","brown"].pluck()>> <</if>> <<case "Gwylan">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "mousy">> <</if>> <<case "Doren">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "red">> <</if>> <<case "Charlie" "Morgan">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "ginger">> <</if>> <<case "Black Wolf">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "black">> <</if>> <<case "Remy">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to "green">> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "brown">> <</if>> <<case "Alex">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to "green">> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "red">> <</if>> <<case "Great Hawk">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to "light blue">> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "brown">> <</if>> <<case "Wren">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined or _args[0] is "default">> <<set $NPCName[_i].eyeColour to "brown">> <<set $NPCName[_i].hairColour to "blond">> <</if>> <<case "Sydney">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to "amber">> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "strawberryblond">> <</if>> <<case "Ivory Wraith">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to "dark blue">> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "white">> <</if>> <<case "Zephyr">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined or _args[0] is "default">> <<set $NPCName[_i].eyeColour to "green">> <<set $NPCName[_i].hairColour to "black">> <</if>> <<case "Harper">> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <</if>> <<if $NPCName[_i].hairColour is 0 or $NPCName[_i].hairColour is undefined or _args[0] is "default">> <<set $NPCName[_i].hairColour to "blond">> <</if>> <<default>> <<if $NPCName[_i].eyeColour is 0 or $NPCName[_i].eyeColour is undefined>> <<set $NPCName[_i].eyeColour to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].pluck()>> <<set $NPCName[_i].hairColour to ["red","black","brown","lightbrown","blond","platinumblond","strawberryblond","ginger"].pluck()>> <</if>> <</switch>> <</for>> <</widget>> <<widget "initAllNNPCVirginities">> <<for _i to 0; _i lt $NPCNameList.length; _i++>> <<initNNPCVirginity _i>> <</for>> <</widget>> <<widget "initNNPCVirginity">> <<set $NPCName[_args[0]].purity to 0>> <<set $NPCName[_args[0]].corruption to 0>> <<set $NPCName[_args[0]].virginity to clone(setup.NPCVirginityTypesVirgin)>> <<set $NPCName[_args[0]].chastity to {penis:"", vagina:"", anus:""}>> <<switch $NPCNameList[_args[0]]>> <<case "Sydney">> /* Has all virginities + temple virginity. */ <<set $NPCName[_args[0]].virginity to {"anal": true, "oral": true, "penile": true, "vaginal": true, "handholding": true, "temple": true, "kiss": true}>> <<case "Robin" "Kylar" "Great Hawk">> /* Has all virginities. */ <<case "Jordan">> /* Has anal, oral, penile/vaginal, and kiss virginities. Missing handholding. */ <<set $NPCName[_args[0]].virginity.handholding to false>> <<case "Black Wolf">> /* Has anal, oral, kiss, and handholding virginities. Missing penile/vaginal. */ <<set $NPCName[_args[0]].virginity.penile to false>> <<set $NPCName[_args[0]].virginity.vaginal to false>> <<case "Gwylan" "Zephyr">> /* Missing all virginities. */ <<set $NPCName[_args[0]].virginity to clone(setup.NPCVirginityTypes)>> <<case "Charlie">> /* Has oral, anal, and vaginal/penile virginities. Missing kiss and handholding. */ <<set $NPCName[_args[0]].virginity.kiss to false>> <<set $NPCName[_args[0]].virginity.handholding to false>> <<case "Eden">> /* Has anal, oral and handholding virginity. Missing penile/vaginal and kiss. */ <<set $NPCName[_args[0]].virginity.penile to false>> <<set $NPCName[_args[0]].virginity.vaginal to false>> <<set $NPCName[_args[0]].virginity.kiss to false>> <<case "Sam" "Mason">> /* Has anal and oral virginity. Missing penile/vaginal, kiss, and handholding. */ <<set $NPCName[_args[0]].virginity.penile to false>> <<set $NPCName[_args[0]].virginity.vaginal to false>> <<set $NPCName[_args[0]].virginity.kiss to false>> <<set $NPCName[_args[0]].virginity.handholding to false>> <<case "Alex" "Darryl" "Sirris" "Briar" "Wren" "Ivory Wraith">> /* Missing all virginities. */ <<set $NPCName[_args[0]].virginity to clone(setup.NPCVirginityTypes)>> <<default>> /* Defaults to only having anal virginity. */ <<set $NPCName[_args[0]].virginity.oral to false>> <<set $NPCName[_args[0]].virginity.penile to false>> <<set $NPCName[_args[0]].virginity.vaginal to false>> <<set $NPCName[_args[0]].virginity.kiss to false>> <<set $NPCName[_args[0]].virginity.handholding to false>> <</switch>> <</widget>><<widget "pregnancyVar">> <<if $pregnancyStats is undefined>> <<set $pregnancyStats to { playerChildren:0, humanChildren:0, wolfChildren:0, npcChildren:0, npcChildrenUnrelatedToPlayer:0, npcTotalBirthEvents:0, humanToysUnlocked: false, wolfToysUnlocked: false, hawkToysUnlocked: false, mother: 0, aftermorningpills: 0, pregnancyTestsTaken: 0, parasiteBook: 0, parasiteDoctorEvents: 0, awareOfBirthId: {}, }>> <</if>> <<containersInit>> <<if $objectVersion.prenancyObjectRepair isnot 2>> <<prenancyObjectRepair>> <<set $objectVersion.prenancyObjectRepair to 2>> <</if>> <<if $pregnancyStats.morningSicknessGeneral is undefined>> <<set $pregnancyStats.morningSicknessGeneral to 0>> <<set $pregnancyStats.morningSicknessWaking to 0>> <<set $pregnancyStats.parasiteBook to 0>> <</if>> <<if $pregnancyStats.awareOfBirthId is undefined>> /* This will track when the player or npc is aware of a specific pregnancy 'birthid:["pc","NPCNameIndex"]' */ <<set $pregnancyStats.awareOfBirthId to {}>> <</if>> <<if $pregnancyStats.childInteractions is undefined>> <<set $pregnancyStats.childInteractions to 0>> <<set $pregnancyStats.childBreastfedInteractions to 0>> <<set $pregnancyStats.childBottlefedInteractions to 0>> <<set $pregnancyStats.childFirstWordInteractions to 0>> <<set $pregnancyStats.orphanageInteractions to 0>> <<set $pregnancyStats.orphanageMilkBottles to 0>> <<set $pregnancyStats.orphanageMilkBottlesTotal to 0>> <</if>> <<if $pregnancyStats.playerVirginBirths is undefined>> <<set $pregnancyStats.playerVirginBirths to []>> <<set $pregnancyStats.totalDaysPregnant to 0>> <<set $pregnancyStats.totalDaysPregnancyKnown to 0>> <</if>> <<if $pregnancyStats.parasiteBook is undefined>> <<set $pregnancyStats.parasiteBook to 0>> <</if>> <<if $pregnancyStats.parasiteDoctorEvents is undefined>> <<set $pregnancyStats.parasiteDoctorEvents to 0>> <</if>> <<if $pregnancyStats.talkedAboutPregnancy is undefined>> /* This will track when the player or npc has ever talked about specific pregnancy, the set should be during the pregnancy only 'birthid:["pc","NPCNameIndex"]' */ <<set $pregnancyStats.talkedAboutPregnancy to {}>> <</if>> <<if $pregnancyStats.hawkChildren is undefined>> <<set $pregnancyStats.hawkChildren to 0>> <</if>> <</widget>> <<widget "containersInit">> <<if $container is undefined>> <<set $container to { "lastLocation": null, "list":["home", "lake"], "home":{ "upgrades":{ "capacity":0, "foodStorage":0, "luxury":0 }, "name": "Tiny Fish Tank", "count": 0, "maxCount": 1, "daysSinceFed": 0, "maxDaysWithoutFood": 3, "creatures":{ 0: null }, "deadCreatures": 0, "visited": false, "leaveLink": "Bedroom" }, "portable":{ "creatures":[], "value":0 }, "lake":{ "upgrades":{ "capacity":0, "foodStorage":0, "luxury":0 }, "name": "pond", "count": 0, "maxCount": 3, "daysSinceFed": 0, "maxDaysWithoutFood": 31, "creatures":{ 0: null }, "deadCreatures": 0, "visited": false, "leaveLink": "Lake Waterfall" } }>> <</if>> <<if $container.home.kylarDelay is undefined>> <<set $container.home.kylarDelay to 0>> <<set $container.home.kylarFed to false>> <<set $container.home.kylarHelp to false>> <</if>> <<if $container.farm is undefined>> <<set $container.farm to { "upgrades":{ "capacity":0, "foodStorage":0, "luxury":0 }, "name": "Parasite Barn", "count": 0, "maxCount": 5, "daysSinceFed": 0, "maxDaysWithoutFood": 14, "creatures":{ 0: null }, "deadCreatures": 0, "visited": false, "leaveLink": "Farm Work" }>> <<set $container.list.pushUnique("farm")>> <</if>> <<if $pregnancyStats.parasiteTypesSeen is undefined or $pregnancyStats.parasiteVariantsSeen is undefined>> <<set $pregnancyStats.parasiteTypesSeen to []>><<set $pregnancyStats.parasiteVariantsSeen to []>> <<for _i range $container.list>> <<for _o to 0; _o lt $container[_i].maxCount; _o++>> <<if $container[_i].creatures[_o] isnot undefined and $container[_i].creatures[_o] isnot null>> <<if $container[_i].creatures[_o].creature.includes("Tentacle")>> <<set $pregnancyStats.parasiteTypesSeen.pushUnique("Tentacle")>> <<elseif $container[_i].creatures[_o].creature.includes("Vine")>> <<set $pregnancyStats.parasiteTypesSeen.pushUnique("Vine")>> <<elseif $container[_i].creatures[_o].creature.includes("Slime")>> <<set $pregnancyStats.parasiteTypesSeen.pushUnique("Slime")>> <<else>> <<set $pregnancyStats.parasiteTypesSeen.pushUnique($container[_i].creatures[_o].creature)>> <</if>> <<if $container[_i].creatures[_o].creature.includes("Pale")>> <<set $pregnancyStats.parasiteVariantsSeen.pushUnique("Pale")>> <<elseif $container[_i].creatures[_o].creature.includes("Metal")>> <<set $pregnancyStats.parasiteVariantsSeen.pushUnique("Metal")>> <</if>> <<else>> <<break>> <</if>> <</for>> <</for>> <</if>> <<if $containerVine or $containerMetal or $containerPale>> <<unset $containerVine, $containerMetal, $containerPale>> <</if>> <</widget>> <<widget "prenancyObjectRepair">> <<set _pregnancy to $sexStats.anus.pregnancy>> <<if _pregnancy.type is "parasite">> <<for _i to 0; _i lt 4; _i++>> <<if _pregnancy.fetus[_i]>> <<if _pregnancy.fetus[_i].creature is undefined>> <<set _pregnancy.fetus[_i].creature to either("Tentacle","Spider","Fish","Snake","Eel")>> <</if>> <</if>> <</for>> <</if>> <<set _list to ["home", "lake", "farm", "portable"]>> <<for _i to 0; _i lt _list.length; _i++>> <<set _container to $container[_list[_i]]>> <<for _j to 0; _j lt _container.maxCount; _j++>> <<if _container.creatures[_j] isnot undefined and _container.creatures[_j] isnot null>> <<if _container.creatures[_j].creature is undefined>> <<set _container.creatures[_j].creature to either("Tentacle","Spider","Fish","Snake","Eel")>> <</if>> <</if>> <<if _container.upgrades.luxury is undefined>> <<set _container.upgrades.luxury to 0>> <</if>> <</for>> <</for>> <</widget>><!--Needs to be json strings, not json objects--> <<widget "presets">> <<unset _preset>> <<unset _presetName>> <<if _args[0]>> <<switch _args[0]>> <<case "vrelDefault">> <<set _preset to '{"general":{"options":{"tipdisable":"f","numberify_enabled":1,"timestyle":"military","showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},{"map":{"movement":true,"top":false,"markers":false},"malechance":50,"dgchance":0,"cbchance":0,"malevictimchance":50,"homochance":4,"breast_mod":0,"penis_mod":0,"blackchance":10,"straponchance":0,"alluremod":1,"beastmalechance":80,"monsterchance":50,"monsterhallucinations":"t","blackwolfmonster":0,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"debugdisable":"t","statdisable":"f","cheatdisabletoggle":"t","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Bailey":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Briar":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Charlie":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Darryl":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Doren":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Eden":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Gwylan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Harper":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Jordan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Kylar":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Landry":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Leighton":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Mason":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Morgan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"River":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Robin":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Sam":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Sirris":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Whitney":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Winter":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Black Wolf":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Niki":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Quinn":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Remy":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Alex":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}, "Zephyr":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"a","bodyshape":"slender","ballsExist":false,"freckles":false,"breastsize":0,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":2,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>> <<case "lollipopScythe">> <<set _preset to '{"general":{"options":{"tipdisable":"t","numberify_enabled":1,"timestyle":"military","showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},"map":{"movement":true,"top":true,"markers":true},"malechance":75,"dgchance":25,"cbchance":0,"malevictimchance":90,"homochance":75,"breast_mod":0,"penis_mod":2,"blackchance":10,"straponchance":25,"alluremod":1,"beastmalechance":100,"monsterchance":0,"monsterhallucinations":"t","blackwolfmonster":0,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f", "slugdisable":"f", "waspdisable":"f", "lurkerdisable":"f", "beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"debugdisable":"f","statdisable":"f","cheatdisabletoggle":"t","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":true},"npc":{"Avery":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Bailey":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Briar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Charlie":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Darryl":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Doren":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Eden":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Gwylan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"Harper":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Jordan":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Kylar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Landry":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Leighton":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Mason":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Morgan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"River":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Robin":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Sam":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Sirris":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Whitney":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Winter":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Black Wolf":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Niki":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Quinn":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Remy":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Alex":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Zephyr":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"h","gender_body":"f","bodyshape":"curvy","ballsExist":true,"freckles":false,"breastsize":4,"penissize":0,"bottomsize":0},"skinColor":{"natural":"light","range":40},"bodysize":0,"breastsensitivity":3,"genitalsensitivity":3,"eyeselect":"pink","hairselect":"platinumblond","hairlength":400,"awareselect":"innocent","background":"beautiful","gamemode":"hard","asphyxiaLvl":3,"pbdisable":"t"}}'>> <<case "purityGuy">> <<set _preset to '{"general":{"options":{"tipdisable":"f","numberify_enabled":1,"timestyle":"ampm","showCaptionText":true,"sidebarStats":"all","sidebarTime":"top","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},"map":{"movement":true,"top":false,"markers":true},"malechance":50,"dgchance":0,"cbchance":0,"malevictimchance":10,"homochance":10,"breast_mod":0,"penis_mod":0,"blackchance":0,"straponchance":0,"alluremod":1.2,"beastmalechance":50,"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":2,"bestialitydisable":"f","swarmdisable":"t","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"t","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":6,"bottomsizemax":4,"penissizemax":4,"penissizemin":-1,"debugdisable":"f","statdisable":"f","cheatdisabletoggle":"t","confirmSave":true,"confirmLoad":true,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"f","gender":"f","penissize":1,"breastsize":4},"Bailey":{"pronoun":"m","gender":"m","penissize":3,"breastsize":2},"Briar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Charlie":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Darryl":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Doren":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Eden":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Gwylan":{"pronoun":"f","gender":"f","penissize":1,"breastsize":0},"Harper":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Jordan":{"pronoun":"f","gender":"f","penissize":3,"breastsize":5},"Kylar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Landry":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Leighton":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Mason":{"pronoun":"f","gender":"f","penissize":3,"breastsize":2},"Morgan":{"pronoun":"f","gender":"f","penissize":3,"breastsize":3},"River":{"pronoun":"f","gender":"f","penissize":3,"breastsize":0},"Robin":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Sam":{"pronoun":"f","gender":"f","penissize":1,"breastsize":3},"Sirris":{"pronoun":"f","gender":"f","penissize":3,"breastsize":0},"Whitney":{"pronoun":"f","gender":"f","penissize":4,"breastsize":0},"Winter":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Black Wolf":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Niki":{"pronoun":"f","gender":"f","penissize":3,"breastsize":2},"Quinn":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Remy":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Alex":{"pronoun":"f","gender":"f","penissize":1,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Zephyr":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"f","bodyshape":"curvy","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":1},"skinColor":{"natural":"light","range":0},"bodysize":2,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"amber","hairselect":"blond","hairlength":400,"awareselect":"innocent","background":"beautiful","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>> <<case "fangi">> <<set _preset to '{"general":{"options":{"tipdisable":"f","numberify_enabled":1,"timestyle":"military","showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"blinkingEnabled":true,"sidebarAnimations":true,"combatAnimations":true},"map":{"movement":true,"top":false,"markers":false},"malechance":0,"dgchance":0,"cbchance":0,"malevictimchance":1,"homochance":75,"breast_mod":0,"penis_mod":0,"blackchance":10,"straponchance":0,"alluremod":1,"beastmalechance":0,"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":1,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"debugdisable":"f","statdisable":"f","cheatdisabletoggle":"f","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Bailey":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Briar":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Charlie":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Darryl":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Doren":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Eden":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Gwylan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Harper":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Jordan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Kylar":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Landry":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Leighton":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Mason":{"pronoun":"f","gender":"f","penissize":0,"breastsize":2},"Morgan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"River":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Robin":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Sam":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Sirris":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Whitney":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Winter":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Black Wolf":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Niki":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Quinn":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Remy":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Alex":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Zephyr":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"f","bodyshape":"curvy","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>> <<case "femaleWaif">> <<set _preset to '{"starting":{"player":{"gender":"f","gender_body":"f","bodyshape":"curvy","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif"}}'>> <<case "maleWaif">> <<set _preset to '{"starting":{"player":{"gender":"m","gender_body":"m","bodyshape":"classic","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"brown","hairlength":0,"awareselect":"innocent","background":"waif"}}'>> <<case "hermaphroditeWaif">> <<set _preset to '{"starting":{"player":{"gender":"h","gender_body":"a","bodyshape":"slender","ballsExist":true,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":3,"genitalsensitivity":3,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif"}}'>> <<case "vrel">> <<set _preset to '{"starting":{"player":{"gender":"f","gender_body":"f","bodyshape":"curvy","ballsExist":false,"freckles":false,"breastsize":0,"penissize":0,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":5,"genitalsensitivity":3,"eyeselect":"purple","hairselect":"burntorange","hairlength":400,"awareselect":"knowledgeable","background":"beautiful"}}'>> <<case "crossdresser">> <<set _preset to '{"starting":{"player":{"gender":"m","gender_body":"f","bodyshape":"curvy","ballsExist":false,"freckles":false,"breastsize":2,"penissize":0,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":0,"breastsensitivity":3,"genitalsensitivity":1,"eyeselect":"light blue","hairselect":"blond","hairlength":400,"awareselect":"innocent","background":"crossdresser"}}'>> <<case "toughGuy">> <<set _preset to '{"starting":{"player":{"gender":"m","gender_body":"m","bodyshape":"classic","ballsExist":false,"freckles":false,"breastsize":0,"penissize":3,"bottomsize":0},"skinColor":{"natural":"light","range":50},"bodysize":2,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"light blue","hairselect":"brown","hairlength":0,"awareselect":"knowledgeable","background":"athlete"}}'>> <<case "genericNpcDefaultGender">> <<set _preset to '{"general":{"maleChanceMale":50,"maleChanceFemale":50,"malevictimchance":50}}'>> <<case "genericNpcAllMaleGender">> <<set _preset to '{"general":{"maleChanceMale":100,"maleChanceFemale":100,"malevictimchance":100}}'>> <<case "genericNpc75MaleGender">> <<set _preset to '{"general":{"maleChanceMale":75,"maleChanceFemale":75,"malevictimchance":75}}'>> <<case "genericNpcAllFemaleGender">> <<set _preset to '{"general":{"maleChanceMale":0,"maleChanceFemale":0,"malevictimchance":0}}'>> <<case "genericNpc75FemaleGender">> <<set _preset to '{"general":{"maleChanceMale":25,"maleChanceFemale":25,"malevictimchance":25}}'>> <<case "beastDefaultGenders">> <<set _preset to '{"general":{"beastMaleChanceMale":50,"beastMaleChanceFemale":50,"bestialitydisable":"f"}}'>> <<case "beastMaleGenders">> <<set _preset to '{"general":{"beastMaleChanceMale":100,"beastMaleChanceFemale":100,"bestialitydisable":"f"}}'>> <<case "beast75MaleGenders">> <<set _preset to '{"general":{"beastMaleChanceMale":75,"beastMaleChanceFemale":75,"bestialitydisable":"f"}}'>> <<case "beastFemaleGenders">> <<set _preset to '{"general":{"beastMaleChanceMale":0,"beastMaleChanceFemale":0,"bestialitydisable":"f"}}'>> <<case "beast75FemaleGenders">> <<set _preset to '{"general":{"beastMaleChanceMale":25,"beastMaleChanceFemale":25,"bestialitydisable":"f"}}'>> <<case "beastDisable">> <<set _preset to '{"general":{"bestialitydisable":"t"}}'>> <<case _kinkPreset>> <<switch _kinkPreset>> <<case "kinkDefault">> <<set _preset to '{"general":{"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"t","facesitdisable":"f","spiderdisable":"f","bodywritingLvl":3,"parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f","playerPregnancyHumanDisable":"f","playerPregnancyBeastDisable":"f","playerPregnancyEggLayingDisable":"f","hypnosisdisable":"f"}}'>> <<case "kinkVanilla">> <<set _preset to '{"general":{"bestialitydisable":"t","swarmdisable":"t","slimedisable":"t","voredisable":"t","tentacledisable":"t","plantdisable":"t","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"t","parasitepregdisable":"t","watersportsdisable":"t","facesitdisable":"t","spiderdisable":"t","bodywritingLvl":2,"parasitedisable":"t", "slugdisable":"t","waspdisable":"t","lurkerdisable":"t","beedisable":"t","horsedisable":"t","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f","playerPregnancyHumanDisable":"f","playerPregnancyBeastDisable":"t","playerPregnancyEggLayingDisable":"t","hypnosisdisable":"t"}}'>> <<case "kinkNoBeasts">> <<set _preset to '{"general":{"bestialitydisable":"t","swarmdisable":"t","slimedisable":"f","voredisable":"t","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"t","watersportsdisable":"t","facesitdisable":"f","spiderdisable":"t","bodywritingLvl":3,"parasitedisable":"t","slugdisable":"t","waspdisable":"t","lurkerdisable":"t","beedisable":"t","horsedisable":"t","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f","playerPregnancyHumanDisable":"f","playerPregnancyBeastDisable":"t","playerPregnancyEggLayingDisable":"t","hypnosisdisable":"f"}}'>> <<case "kinkEverything">> <<set _preset to '{"general":{"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingLvl":3,"parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f","playerPregnancyHumanDisable":"f","playerPregnancyBeastDisable":"f","playerPregnancyEggLayingDisable":"f","hypnosisdisable":"f"}}'>> <<default>> <<set _preset to '{"general":{"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"t","facesitdisable":"f","spiderdisable":"f","bodywritingLvl":3,"parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f","playerPregnancyHumanDisable":"f","playerPregnancyBeastDisable":"f","playerPregnancyEggLayingDisable":"f","hypnosisdisable":"f"}}'>> <</switch>> <<case _namedNpcPreset>> <<switch _namedNpcPreset>> <<case "namedNpcDefaultGender">> <<set _preset to '{"npc":{"Avery":{"pronoun":"none","gender":"none","skincolour":"none"},"Bailey":{"pronoun":"none","gender":"none","skincolour":"none"},"Briar":{"pronoun":"none","gender":"none","skincolour":"none"},"Charlie":{"pronoun":"none","gender":"none","skincolour":"none"},"Darryl":{"pronoun":"none","gender":"none","skincolour":"none"},"Doren":{"pronoun":"none","gender":"none","skincolour":"none"},"Eden":{"pronoun":"none","gender":"none","skincolour":"none"},"Gwylan":{"pronoun":"none","gender":"none","skincolour":"none"},"Harper":{"pronoun":"none","gender":"none","skincolour":"none"},"Jordan":{"pronoun":"none","gender":"none","skincolour":"none"},"Kylar":{"pronoun":"none","gender":"none","skincolour":"none"},"Landry":{"pronoun":"none","gender":"none","skincolour":"none"},"Leighton":{"pronoun":"none","gender":"none","skincolour":"none"},"Mason":{"pronoun":"none","gender":"none","skincolour":"none"},"Morgan":{"pronoun":"none","gender":"none","skincolour":"none"},"River":{"pronoun":"none","gender":"none","skincolour":"none"},"Robin":{"pronoun":"none","gender":"none","skincolour":"none"},"Sam":{"pronoun":"none","gender":"none","skincolour":"none"},"Sirris":{"pronoun":"none","gender":"none","skincolour":"none"},"Whitney":{"pronoun":"none","gender":"none","skincolour":"none"},"Winter":{"pronoun":"none","gender":"none","skincolour":"none"},"Black Wolf":{"pronoun":"none","gender":"none","skincolour":"none"},"Niki":{"pronoun":"none","gender":"none","skincolour":"none"},"Quinn":{"pronoun":"none","gender":"none","skincolour":"none"},"Remy":{"pronoun":"none","gender":"none","skincolour":"none"},"Alex":{"pronoun":"none","gender":"none","skincolour":"none"},"Great Hawk":{"pronoun":"none","gender":"none","skincolour":"none"},"Wren":{"pronoun":"none","gender":"none","skincolour":"none"},"Sydney":{"pronoun":"none","gender":"none","skincolour":"none"},"Zephyr":{"pronoun":"none","gender":"none","skincolour":"none"}}}'>> <<case "namedNpcAllMaleGender">> <<set _preset to '{"npc":{"Avery":{"pronoun":"m","gender":"m"},"Bailey":{"pronoun":"m","gender":"m"},"Briar":{"pronoun":"m","gender":"m"},"Charlie":{"pronoun":"m","gender":"m"},"Darryl":{"pronoun":"m","gender":"m"},"Doren":{"pronoun":"m","gender":"m"},"Eden":{"pronoun":"m","gender":"m"},"Gwylan":{"pronoun":"m","gender":"m"},"Harper":{"pronoun":"m","gender":"m"},"Jordan":{"pronoun":"m","gender":"m"},"Kylar":{"pronoun":"m","gender":"m"},"Landry":{"pronoun":"m","gender":"m"},"Leighton":{"pronoun":"m","gender":"m"},"Mason":{"pronoun":"m","gender":"m"},"Morgan":{"pronoun":"m","gender":"m"},"River":{"pronoun":"m","gender":"m"},"Robin":{"pronoun":"m","gender":"m"},"Sam":{"pronoun":"m","gender":"m"},"Sirris":{"pronoun":"m","gender":"m"},"Whitney":{"pronoun":"m","gender":"m"},"Winter":{"pronoun":"m","gender":"m"},"Black Wolf":{"pronoun":"m","gender":"m"},"Niki":{"pronoun":"m","gender":"m"},"Quinn":{"pronoun":"m","gender":"m"},"Remy":{"pronoun":"m","gender":"m"},"Alex":{"pronoun":"m","gender":"m"},"Great Hawk":{"pronoun":"m","gender":"m"},"Wren":{"pronoun":"m","gender":"m"},"Sydney":{"pronoun":"m","gender":"m"},"Zephyr":{"pronoun":"m","gender":"m"}}}'>> <<case "namedNpcAllFemaleGender">> <<set _preset to '{"npc":{"Avery":{"pronoun":"f","gender":"f"},"Bailey":{"pronoun":"f","gender":"f"},"Briar":{"pronoun":"f","gender":"f"},"Charlie":{"pronoun":"f","gender":"f"},"Darryl":{"pronoun":"f","gender":"f"},"Doren":{"pronoun":"f","gender":"f"},"Eden":{"pronoun":"f","gender":"f"},"Gwylan":{"pronoun":"f","gender":"f"},"Harper":{"pronoun":"f","gender":"f"},"Jordan":{"pronoun":"f","gender":"f"},"Kylar":{"pronoun":"f","gender":"f"},"Landry":{"pronoun":"f","gender":"f"},"Leighton":{"pronoun":"f","gender":"f"},"Mason":{"pronoun":"f","gender":"f"},"Morgan":{"pronoun":"f","gender":"f"},"River":{"pronoun":"f","gender":"f"},"Robin":{"pronoun":"f","gender":"f"},"Sam":{"pronoun":"f","gender":"f"},"Sirris":{"pronoun":"f","gender":"f"},"Whitney":{"pronoun":"f","gender":"f"},"Winter":{"pronoun":"f","gender":"f"},"Black Wolf":{"pronoun":"f","gender":"f"},"Niki":{"pronoun":"f","gender":"f"},"Quinn":{"pronoun":"f","gender":"f"},"Remy":{"pronoun":"f","gender":"f"},"Alex":{"pronoun":"f","gender":"f"},"Great Hawk":{"pronoun":"f","gender":"f"},"Wren":{"pronoun":"f","gender":"f"},"Sydney":{"pronoun":"f","gender":"f"}}}'>> <<default>> <<set _preset to '{"npc":{"Avery":{"pronoun":"none","gender":"none","skincolour":"none"},"Bailey":{"pronoun":"none","gender":"none","skincolour":"none"},"Briar":{"pronoun":"none","gender":"none","skincolour":"none"},"Charlie":{"pronoun":"none","gender":"none","skincolour":"none"},"Darryl":{"pronoun":"none","gender":"none","skincolour":"none"},"Doren":{"pronoun":"none","gender":"none","skincolour":"none"},"Eden":{"pronoun":"none","gender":"none","skincolour":"none"},"Gwylan":{"pronoun":"none","gender":"none","skincolour":"none"},"Harper":{"pronoun":"none","gender":"none","skincolour":"none"},"Jordan":{"pronoun":"none","gender":"none","skincolour":"none"},"Kylar":{"pronoun":"none","gender":"none","skincolour":"none"},"Landry":{"pronoun":"none","gender":"none","skincolour":"none"},"Leighton":{"pronoun":"none","gender":"none","skincolour":"none"},"Mason":{"pronoun":"none","gender":"none","skincolour":"none"},"Morgan":{"pronoun":"none","gender":"none","skincolour":"none"},"River":{"pronoun":"none","gender":"none","skincolour":"none"},"Robin":{"pronoun":"none","gender":"none","skincolour":"none"},"Sam":{"pronoun":"none","gender":"none","skincolour":"none"},"Sirris":{"pronoun":"none","gender":"none","skincolour":"none"},"Whitney":{"pronoun":"none","gender":"none","skincolour":"none"},"Winter":{"pronoun":"none","gender":"none","skincolour":"none"},"Black Wolf":{"pronoun":"none","gender":"none","skincolour":"none"},"Niki":{"pronoun":"none","gender":"none","skincolour":"none"},"Quinn":{"pronoun":"none","gender":"none","skincolour":"none"},"Remy":{"pronoun":"none","gender":"none","skincolour":"none"},"Alex":{"pronoun":"none","gender":"none","skincolour":"none"},"Great Hawk":{"pronoun":"none","gender":"none","skincolour":"none"},"Wren":{"pronoun":"none","gender":"none","skincolour":"none"},"Sydney":{"pronoun":"none","gender":"none","skincolour":"none"},"Zephyr":{"pronoun":"f","gender":"f"},"Zephyr":{"pronoun":"f","gender":"f"},"Zephyr":{"pronoun":"f","gender":"f"}}}'>> <</switch>> <<case _monstersPreset>> <<switch _monstersPreset>> <<case "monstersDefault">> <<set _preset to '{"general":{"monsterchance":20,"monsterhallucinations":"t","blackwolfmonster":0,"greathawkmonster":0,"bestialitydisable":"f"}}'>> <<case "monstersNone">> <<set _preset to '{"general":{"monsterchance":0,"monsterhallucinations":"f","blackwolfmonster":0,"greathawkmonster":0,"bestialitydisable":"f"}}'>> <<case "monstersAll">> <<set _preset to '{"general":{"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":2,"greathawkmonster":2,"bestialitydisable":"f"}}'>> <<default>> <<set _preset to '{"general":{"monsterchance":20,"monsterhallucinations":"t","blackwolfmonster":0,"greathawkmonster":0,"bestialitydisable":"f"}}'>> <</switch>> <<case "randomize">> <<set _preset to _args[2]>> <</switch>> <<set _presetName to _args[0]>> <</if>> <<if _args[1]>> <<set _presetPage to _args[1]>> <<else>> <<set _presetPage to "characterSettings">> <</if>> <<run importSettings(_preset, "function")>><<if StartConfig.enableImages is true and $passage is "Start" and _presetPage is "characterSettings">><<startingPlayerImageUpdate>><<removeclass #startingPlayerImage "hidden">><</if>> <<if _args[1] isnot "save">> <<displaySettings _presetPage>> <</if>> <</widget>> <<widget "presetConfirmDetails">> <<set _presetObject to JSON.parse(_preset)>> <div style="padding:5px 0px 0px 10px"> <span class="green">Change the below settings?</span><br> <div class="presetButtons"> <<button "Yes">><<run importSettings(_preset, "function")>><<displaySettings "quickStart">><<if StartConfig.enableImages is true and $passage is "Start">><<startingPlayerImageUpdate>><<removeclass #startingPlayerImage "hidden">><</if>><</button>> <<button "No">><<displaySettings "quickStart">><</button>> </div> </div> <<importDetailsDisplay _presetObject>> <</widget>> <<widget "importConfirmDetails">> <<if isJsonString($importString)>> <div style="padding:5px 0px 0px 10px"> <span class="green">Change the below settings?</span><br> <div class="presetButtons"> <<button "Yes">><<run importSettings($importString, "function")>><<displaySettings "exportsettings">><<if StartConfig.enableImages is true and $passage is "Start">><<startingPlayerImageUpdate>><<startingPlayerImageUpdate>><</if>><</button>> <<button "No">><<displaySettings "exportsettings">><</button>> </div> </div> <<importDetailsDisplay `JSON.parse($importString)`>> <<else>> <<link "Back">><<displaySettings "exportsettings">><</link>> <br><br> <span class="red">Import is invalid</span>. Please double check the settings import string before importing again. <</if>> <</widget>> <<widget "importDetailsDisplay">> <<if _args[0]>> <div class="presetConfirm settingsGrid"> <<if _args[0].starting isnot undefined>> <div class="settingsHeader"> Imported Settings </div> <div class="settingsToggleItem"> <span class="gold">Base:</span> <<set _validatorObject to settingsObjects("starting")>> <<presetConfirm _args[0].starting>> </div> <<if _args[0].starting.player isnot undefined>> <div class="settingsToggleItem"> <span class="gold">Player:</span> <<set _validatorObject to settingsObjects("starting")>> <<presetConfirm _args[0].starting.player>> <<if _args[0].starting.skinColor isnot undefined>> <hr style="border-top:1px solid var(--700)"> <span class="gold">Skin Colour:</span> <<set _validatorObject to settingsObjects("starting")>> <<presetConfirm _args[0].starting.skinColor>> <</if>> </div> <</if>> <</if>> <<if _args[0].general isnot undefined>> <div class="settingsToggleItem"> <span class="gold">General Settings:</span> <<set _validatorObject to settingsObjects("general")>> <<presetConfirm _args[0].general>> <<silently>> <<if _args[0].general.skinColor isnot undefined>> <span class="gold">Skin Colour:</span> <<set _validatorObject to settingsObjects("general")>> <<presetConfirm _args[0].general.skinColor>> <</if>> <<if _args[0].general.map isnot undefined>> <span class="gold">Map Settings:</span> <<set _validatorObject to settingsObjects("general")>> <<presetConfirm _args[0].general.map>> <</if>> <<if _args[0].general.shopDefaults isnot undefined>> <span class="gold">Shop Settings:</span> <<set _validatorObject to settingsObjects("general")>> <<presetConfirm _args[0].general.shopDefaults>> <</if>> <</silently>> </div> <div class="settingsToggleItem"> <<if _args[0].general.options isnot undefined>> <span class="gold">Options:</span> <<set _validatorObject to settingsObjects("general")>> <<presetConfirm _args[0].general.options>> <</if>> </div> <</if>> <<if _args[0].npc isnot undefined>> <div class="settingsHeader"> Imported NPCs <<set _validatorObject to settingsObjects("npc")>> </div> <<for $_label, $_value range _args[0].npc>> <<if $_label is "Ivory Wraith">> <<continue>> <<else>> <div class="settingsToggleItem"> <span class="gold"><<print $_label>>:</span> <<presetConfirm $_value $_label>> </div> <</if>> <</for>> <</if>> </div> <</if>> <</widget>> <<widget "presetConfirm">> <<if _args[0]>> <<if _args[0].breastsizemin gt _args[0].breastsizemax>> <<set _temp to _args[0].breastsizemin>> <<set _args[0].breastsizemin to _args[0].breastsizemax>> <<set _args[0].breastsizemax to _temp>> <</if>> <<if _args[0].penissizemin gt _args[0].penissizemax>> <<set _temp to _args[0].penissizemin>> <<set _args[0].penissizemin to _args[0].penissizemax>> <<set _args[0].penissizemax to _temp>> <</if>> <ul> <<for $_label, $_value range _args[0]>> <<unset _altValue>> <<unset _altValue2>> <<if ["player","skinColor","map","shopDefaults","options"].includes($_label)>> <<continue>> <</if>> <<unset _object>> <<unset _valid>> <<set _object to _validatorObject[$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <<if Object.keys(_object).includes("boolLetter")>> <<set _oldValue to V[$_label]>> <<if _oldValue is "t">> <<set _altValue to "True">> <<elseif _oldValue is "f">> <<set _altValue to "False">> <</if>> <<if $_value is "t">> <<set _altValue2 to "True">> <<elseif $_value is "f">> <<set _altValue2 to "False">> <</if>> <</if>> <</if>> <li> <<switch $_label>> <<case "numberify_enabled">> <<set _object to _validatorObject["options"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> Numbered link navigation: <span class="green"><<print (_altValue2 isnot undefined ? _altValue2 : $_value) is false ? "Disabled" : "Enabled">></span> <<case "malechance" "maleChanceMale" "maleChanceFemale" "dgchance" "cbchance" "malevictimchance" "npcVirginityChance" "npcVirginityChanceAdult" "straponchance" "blackchance" "beastmalechance" "beastMaleChanceMale" "beastMaleChanceFemale" "monsterchance">> <<set _object to _validatorObject[$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<print _displayName>> <span class="green"><<print (_altValue2 isnot undefined ? _altValue2 : $_value) + "%">></span> <<case "eyeselect" "hairselect" "awareselect" "background" "gamemode">> <<set _object to _validatorObject[$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "bodysize" "breastsensitivity" "genitalsensitivity" "mouthsensitivity" "bottomsensitivity" "facevariant">> <<set _object to _validatorObject[$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _validatorObject[$_label]["textMap"][_altValue2] : _validatorObject[$_label]["textMap"][$_value])>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "hairlength">> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<print _displayName>> <span class="green"><<print (_altValue2 isnot undefined ? _altValue2 : $_value) gte 400 ? "Chest" : (_altValue2 isnot undefined ? _altValue2 : $_value) gte 200 ? "Neck" : "Ear">></span> <<case "ironmanmode">> Ironman Mode: <span class="green"><<print (_altValue2 isnot undefined ? _altValue2 : $_value) is false ? "Disabled" : "Enabled">></span> <<case "timestyle">> <<set _object to _validatorObject["options"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["options"][$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value) is "military" ? "Military (24-Hour)" : "AM/PM (12-Hour)">> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "images" "combatImages" "bodywritingImages" "silhouetteEnabled" "tanImgEnabled" "characterLightEnabled" "halfClosedEnabled" "combatAnimations" "blinkingEnabled" "sidebarAnimations" "dateFormat" "historyControls" "clothingCaption">> <<set _object to _validatorObject["options"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["options"][$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value) is 1 ? "Enabled" : (_altValue2 isnot undefined ? _altValue2 : $_value) is true ? "Enabled" : "Disabled">> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "basePlayerPregnancyChance" "baseNpcPregnancyChance">> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _previousValue to _validatorObject[$_label]>> <<set _changedValue to (_altValue2 isnot undefined ? _validatorObject[$_label][_altValue2] : _validatorObject[$_label][$_value])>> <<if $_label is "basePlayerPregnancyChance">> <<print _displayName>> <span class="green"><<print "1 in "+(100-(_altValue2 isnot undefined ? _altValue2 : $_value))>></span> <<else>> <<print _displayName>> <span class="green"><<print "1 in "+(20-(_altValue2 isnot undefined ? _altValue2 : $_value))>></span> <</if>> <<case "humanPregnancyMonths">> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst() + " months">></span> <<case "wolfPregnancyWeeks">> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst() + " weeks">></span> <<case "alwaysBackToShopButton" "color" "colourItems" "compactMode" "disableReturn" "highContrast" "mannequinGender" "mannequinGenderFromClothes" "noHelp" "noTraits" "secColor">> <<set _object to _validatorObject["shopDefaults"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> Changes <<print $_label>> from <span class="green"><<print `$shopDefaults.`+$_label>></span> to <span class="green"><<print (_altValue2 isnot undefined ? _altValue2 : $_value)>></span> <<case "neverNudeMenus" "showCaptionText" "sidebarStats" "sidebarTime" "combatControls" "mapMovement" "mapTop" "mapMarkers" "images" "combatImages" "bodywritingImages" "silhouetteEnabled" "images" "sidebarAnimations" "blinkingEnabled" "combatAnimations" "halfClosedEnabled" "characterLightEnabled" "lightSpotlight" "lightGradient" "lightGlow" "lightFlat" "lightCombat" "lightTFColor" "maxStates" "useNarrowMarket" "skipStatisticsConfirmation" "passageCount" "playtime" "pepperSprayDisplay" "condomsDisplay" "closeButtonMobile" "showDebugRenderer" "numpad" "traitOverlayFormat" "font" "passageLineHeight" "overlayLineHeight" "sidebarLineHeight" "passageFontSize" "overlayFontSize" "sidebarFontSize">> <<set _object to _validatorObject["options"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["options"][$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "tipdisable">> <<set _object to _validatorObject["options"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["options"][$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value) is false ? "Enabled" : "Disabled">> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "skin">> <<set _object to _validatorObject.player.skin>> <<if _object isnot undefined>> <<set _valid to validateValue(_object.color, $_value.color)>> <</if>> <<set _displayName to "Skin colour">> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value.color)>> <<print _displayName>> <span class="green"><<print _currentValue.toString().toUpperFirst()>></span> <<case "movement" "top" "markers">> <<set _valid to false>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "bestialitydisable" "slimedisable" "voredisable" "tentacledisable" "analdisable" "analdoubledisable" "analingusdisablegiving" "analingusdisablereceiving" "vaginaldoubledisable" "transformdisable" "transformdisabledivine" "pbdisable" "breastfeedingdisable" "parasitepregdisable" "watersportsdisable" "spiderdisable" "facesitdisable" "parasitedisable" "swarmdisable" "slugdisable" "waspdisable" "beedisable" "lurkerdisable" "horsedisable" "pregnancyspeechdisable" "plantdisable" "footdisable" "toydildodisable" "toywhipdisable" "toymultiplepenetration" "hypnosisdisable" "ruffledisable" "forcedcrossdressingdisable" "playerPregnancyHumanDisable" "playerPregnancyBeastDisable" "playerPregnancyEggLayingDisable" "npcPregnancyDisable" "incompletePregnancyDisable" "cycledisable" "cheatdisabletoggle">> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value) is false ? "Enabled" : "Disabled">> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<case "breastsizemin" "breastsizemax" "penissizemin" "penissizemax" "bottomsizemin" "bottomsizemax" "blackwolfmonster" "greathawkmonster" "bodywritingLvl" "asphyxiaLvl" "NudeGenderDC" "condomLvl">> <<set _object to _validatorObject[$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _validatorObject[$_label]["textMap"][_altValue2] : _validatorObject[$_label]["textMap"][$_value])>> <<if $_label is "penissizemin" or $_label is "penissizemax">> <<if $_currentSex is "Female">> <<print _displayName>> <span class="green">Not Applicable</span> /*Don't show min/max penis size for players without a penis*/ <<else>> <<print _displayName>> <span class="green"><<print _currentValue>></span> <</if>> <<else>> <<print _displayName>> <span class="green"><<print _currentValue>></span> <</if>> <<case "clothesPriceUnderwear" "clothesPriceSchool" "clothesPriceLewd" "furniturePriceFactor" "clothesPrice" "rentmod" "tending_yield_factor">> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print _displayName>> <span class="green"><<print _currentValue * 100 + "%">></span> <<case "pronoun" "sex" "gender" "skincolour" "penissize" "breastsize" "bottomsize" "gender_body" "ballsExist" "freckles" "bodyshape">> <<if _args[1]>> <<set _object to _validatorObject[$_label]>> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _validatorObject[$_label]["textMap"][_altValue2] : _validatorObject[$_label]["textMap"][$_value])>> <<if $_label is "pronoun">> <<set $_npcGender to _currentValue>> <</if>> <<if $_npcGender is "N/A">> <<print _displayName>><span class="green"><<print "N/A">></span> <<else>> <<print _displayName>><span class="green"><<print _currentValue>></span> <</if>> <<if $_value is "none" and $passage is "Start">> <<set _valid to true>> <</if>> <<elseif $_label is "sex">> <<set _object to _validatorObject["player"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["player"][$_label]["displayName"]>> <<set $_currentSex to (_altValue2 isnot undefined ? _validatorObject["player"][$_label]["textMap"][_altValue2] : _validatorObject["player"][$_label]["textMap"][$_value])>> <<print _displayName>> <span class="green"><<print $_currentSex>></span> <<elseif $_label is "penissize">> <<set _object to _validatorObject["player"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["player"][$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _validatorObject["player"][$_label]["textMap"][_altValue2] : _validatorObject["player"][$_label]["textMap"][$_value])>> <<if $_currentSex is "Female">> <<print _displayName>> <span class="green">None</span> /*Don't show penis size for players without a penis*/ <<else>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <</if>> <<elseif $_label is "ballsExist">> <<set _object to _validatorObject["player"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["player"][$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _validatorObject["player"][$_label]["textMap"][_altValue2] : _validatorObject["player"][$_label]["textMap"][$_value])>> <<if $_currentSex is "Male">> <<print _displayName>> <span class="green">Existent</span> /*Don't show 'nonexistent' for players who have a penis*/ <<else>> <<print _displayName>> <span class="green"><<print _currentValue>></span> <</if>> <<else>> <<set _object to _validatorObject["player"][$_label]>> <<if _object isnot undefined>> <<set _valid to validateValue(_object, $_value)>> <</if>> <<set _displayName to _validatorObject["player"][$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _validatorObject["player"][$_label]["textMap"][_altValue2] : _validatorObject["player"][$_label]["textMap"][$_value])>> <<print _displayName>> <span class="green"><<print _currentValue>></span> <</if>> <<default>> <<if _validatorObject[$_label]>> <<set _displayName to _validatorObject[$_label]["displayName"]>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print _displayName>> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <<else>> <<set _currentValue to (_altValue2 isnot undefined ? _altValue2 : $_value)>> <<print $_label + ":">> <span class="green"><<print _currentValue .toString().toUpperFirst()>></span> <</if>> <</switch>> <<if _valid is undefined>> <span class="red">(Setting is not recognised so will not be imported)</span> <<elseif _valid is false>> <span class="red">(Value is not valid so will not be imported)</span> <</if>> </li> <</for>> </ul> <</if>> <</widget>><div id="gameVersionDisplay"> <<if $options.passageCount is "total">> Passage Count: <<print $passageCount>> | <</if>> <<if $options.passageCount is "changes">> Passage Changes Count: <<print $passageChangesCount>> | <</if>> <<if $options.playtime>> Play Time: <<print msToTime(($saveDetails.playTime ? $saveDetails.playTime : 0) + ($saveDetails.loadTime ? new Date() - $saveDetails.loadTime : 0))>> | <</if>> <<print StartConfig.version>><<if StartConfig.sneaky>> SNEAKY<</if>> </div> <div id="gameVersionDisplay2"><<print StartConfig.version.slice(1)>></div> <<if $passage isnot "Start">> <div id="feat"></div> <div id="exportWarning" @class="'no-numberify ' + (!$statFreeze and Time.days gte $saveDetails.exported.days + $saveDetails.exported.frequency ? '':'hidden')"> <span class="red">You haven't exported your save in a while</span> | <<if !Browser.isMobile.any()>> <<link "Export">> <<run Save.export("degrees-of-lewdity")>> <</link>> | <</if>> <<link "Help me export">> <<overlayReplace "export">> <</link>> | <<link "Ignore for now">><<set $saveDetails.exported.days to Math.floor(Time.days - ($saveDetails.exported.frequency * 0.5))>><<addclass #exportWarning "hidden">><</link>> </div> <</if>> <div id="customOverlayContainer" class="customOverlayContainer no-numberify hidden" onclick="closeOverlay()"> <div id="customOverlay" @class="'customOverlay hidden' + ($options.overlayFontSize ? ' fontSize' + $options.overlayFontSize : '') + ($options.overlayLineHeight ? ' lineHeight' + $options.overlayLineHeight.toString().replace('.','') : '')" onclick="event.stopPropagation()"> <div id="customOverlayTitle"></div> <div id="customOverlayContent"></div> </div> </div> <<if $debug is 1>> <div id="debugOverlay" class="debugOverlay"></div> <</if>> <<if $combat is 1>> <<printCombatMenu>> <</if>> <<if !Story.has($passage)>> <br> Please report this, and either reload a previous save or take the emergency exit at the bottom of the page to the last safe location you were in. <<if State.history.length gt 1>> Alternatively, return to the previous passage using the history depth function<<if !Config.history.controls>> that can be enabled in the options<</if>>. <</if>> <br> <<set _exit to $safePassage ? $safePassage : "Bedroom">> <span id="next"><<link [[Back to safety|_exit]]>><<endcombat>><<clotheson>><</link>></span> <<elseif !_link and !tags().includes("exitCheckBypass")>> /* Does not trigger if the scene has a red link. Those will probably be reported anyway */ <br> <<error { message : `The passage ${$passage} has no usable links.`, source : `Previous passage: ${$passagePrev} | phase: ${$phase} | rng: ${$rng}.` }>> <br><br> Please report this, <<if $cheatdisable is "f">> unless you got here through the use of a cheat, <</if>> and either reload a previous save or take the emergency exit at the bottom of the page to the last safe location you were in. <<if State.history.length gt 1>> Alternatively, return to the previous passage using the history depth function<<if !Config.history.controls>> that can be enabled in the options<</if>>. <</if>> <br><br><br> <<set _exit to $safePassage ? $safePassage : "Bedroom">> <span id="next"><<link [[Back to safety|_exit]]>><<endcombat>><<clotheson>><</link>></span> <</if>> <!-- handle autosaves in the footer, so the description getter don't have to guess what happened in the passage --> <<if _autosavehere and !_preventUpdate and !$options.autosaveDisabled>> <<if idb.active>> <<run idb.saveState(0)>> <<else>> <<run Save.autosave.save(null, {"saveId":$saveId, "saveName":$saveName})>> <<run setSaveDetail("autosave",{"saveId":$saveId,"saveName":$saveName},Story.get($passage).description())>> <</if>> <</if>> <<if $options.debugdisable is "f">> <<set _normalised to scanNaNs(V)>> <<if _normalised neq null>> <<error { message: "Corrupted variables have been detected.", source: "The following variables have invalid values:\n" + JSON.stringify(_normalised) + "\n\nCurrent passage is: '" + $passage + "'\nPlease report this to the DoL Discord #bug-reports.", exportable: false, }>> <br> Please expand the above box (click the dropdown arrow on the left) before taking a screenshot. <br><br> <div id="nanClear"> If you are advised to do so by developers, you can click below to reset the corrupted variables. <br> <<link "Reset Corrupted Variables">> <<silently>><<run nukeNaNs()>><</silently>> <<replace "#nanClear" t8n>><span class="green">The variables have been cleared.</span><</replace>> <</link>> <br> <span class="red">WARNING: This will set all corrupted variables to 0. This may have unintended consequences to your game state. Proeceed with caution!</span> </div> <br><br> <</if>> <</if>><<if !$cheatReload>> <<set $passagePrev to $passage ? $passage : "none">> <</if>> <<set $passage to $passageOverride ? $passageOverride : passage()>> <<set $tags to tags()>> <<set l10nStrings.errorTitle = StartConfig.version + " Error" + ($passage ? ` (:: ${$passage})` : "")>> <<if !["Start", "Start2", "Clothes Testing", "Renderer Test Page", "Tips"].includes($passage) && !$bypassHeader>> <<doVersionCheck>> <<if !$passage.includes(" Settings") and !$cheatReload>> <<if $passagePrev isnot $passage>> <<set $passageChangesCount to ($passageChangesCount || 0) + 1>> <</if>> <<set $passageCount to ($passageCount || 0) + 1>> <</if>> <</if>> <<unset $passageOverride>> <<unset $bypassHeader>> <<unset $cheatReload>><<widget "doVersionCheck">> /* Run stuff on every save load */ <<if onLoadUpdateCheck>> <<set $saveVersion to ($saveVersions ? $saveVersions.last() : "ancient")>> /*update save version */ <</if>> /* Run stuff on every page refresh, save load, or version mismatch */ <<if versionUpdateCheck or onLoadUpdateCheck or !$saveVersions or $saveVersions.last() isnot StartConfig.version>> <<set versionUpdateCheck to false>> <<set onLoadUpdateCheck to false>> /* convert game version to numeric value for use in <<backComp>> */ <<set _version to (V.saveVersions?.last()?.match(/\d+/g) || [0]).map(Number).reduce((acc, num, index) => acc + num * Math.pow(100, 3 - index), 0)>> /* preserve prng so updater code won't alter which events are picked, don't forget to restore it it needs to use $ instead of _ because pre-weather save update code runs Engine.play() and that destroys temp variables and probably causes some other bad effects. honestly, version updater needs a major update itself. */ <<set $prngpull to State.prng.pull>> <<backComp>> <<updatehistorycontrols>> <<set _preventUpdate to true>> /*prevent rewriting autosaves */ <<set _saveLoaded to true>> <<set Time.set()>> <<setFont>> <<run zoom($options.zoom)>> <<run syncFavourites()>> <<run initCustomLenses()>> /* push custom eyelenses inside setup.colours.eyes; on every load/refresh it needs to be done. */ <<run syncDebugAddedEvents()>> <<run toggleConfirmDialogUponTabClose()>> /* enable/disable confirm dialog when user tries to close browser tab. based on V.options.confirmDialogUponTabClose */ <<set State.prng.pull to $prngpull>> /* restore prng */ <<unset $prngpull>> <</if>> /* Variables that you need to check on every passage */ <<set $link_table to []>> <<set $map.hideLinksCheck to []>> /* Determine if the player is in a safe passage. Used to catch softlocks */ <<if setup.majorAreas.includes($passage)>> <<set $safePassage to $passage>> <</if>> <</widget>>/* This passage runs EVERY time the page is opened or refreshed, not just when a new game is started */ /* This passage ALWAYS runs BEFORE story variables are loaded, meaning EVERY variable is undefined. Checking if they are undefined WILL NOT WORK. */ /* You should ONLY use this passage to define setup variables, NOT $variables. */ <<variablesStatic>>/* The following is only run when the widget is called, which is only on new game start. Add to this if you want something to be run when you start a new game. */ <<widget "gameStartOnly">> <<set _globalThemeDefaults to JSON.parse(localStorage.getItem("dolDefaultThemeSettings"))>> <<set _globalGeneralDefaults to JSON.parse(localStorage.getItem("dolDefaultGeneralSettings"))>> <<if !_globalThemeDefaults>> <<set _globalThemeDefaults to {}>> <</if>> <<if !_globalGeneralDefaults>> <<set _globalGeneralDefaults to {}>> <</if>> <<set $options to { neverNudeMenus: _globalGeneralDefaults.neverNudeMenus or false, autosaveDisabled: false, showCaptionText: true, clothingCaption: true, sidebarStats: "all", sidebarTime: "top", combatControls: "radio", targetYourself: false, scrollRemember: false, mapMovement: _globalGeneralDefaults.mapMovement or true, mapLegacy: _globalGeneralDefaults.mapLegacy or false, mapMarkers: _globalGeneralDefaults.mapMarkers or false, mapTop: _globalGeneralDefaults.mapTop or false, images: 1, combatImages: 1, bodywritingImages: true, silhouetteEnabled: true, tanImgEnabled: true, tanLines: true, sidebarAnimations: true, locationAnimations: true, blinkingEnabled: true, combatAnimations: true, textAnimations: true, halfClosedEnabled: false, characterLightEnabled: true, lightSpotlight: 0.2, lightGradient: 0.1, lightGlow: 0.1, lightFlat: 0, lightCombat: 0.2, lightTFColor: 0.2, maxStates: 5, historyControls: false, numpad: false, useNarrowMarket: false, skipStatisticsConfirmation: false, showDebugRenderer: false, pepperSprayDisplay: "sprays", condomsDisplay: "standard", closeButtonMobile: _globalGeneralDefaults.closeButtonMobile or false, zoom: 100, numberify_enabled: _globalGeneralDefaults.numberify_enabled or 1, timestyle: _globalGeneralDefaults.timestyle or "military", tipdisable: "f", passageCount: _globalGeneralDefaults.passageCount or "disabled", playtime: _globalGeneralDefaults.playtime or false, traitOverlayFormat: "table", debugdisable: "t", theme: _globalThemeDefaults.theme, dateFormat: _globalGeneralDefaults.dateFormat or "en-GB", passageMaxWidth: _globalThemeDefaults.passageMaxWidth, passageLineHeight: _globalThemeDefaults.passageLineHeight, overlayLineHeight: _globalThemeDefaults.overlayLineHeight, sidebarLineHeight: _globalThemeDefaults.sidebarLineHeight, passageFontSize: _globalThemeDefaults.passageFontSize, overlayFontSize: _globalThemeDefaults.overlayFontSize, sidebarFontSize: _globalThemeDefaults.sidebarFontSize, font: _globalThemeDefaults.font, weatherUpdate: true, reflections: true, fahrenheit: _globalGeneralDefaults.fahrenheit or false, }>> <<setFont>> <<if StartConfig.enableImages is false>> <<set $options.images to 0>> <<set $options.combatImages to 0>> <</if>> <<if StartConfig.debug is true>> <<set $debug to 1>> <<else>> <<set $debug to 0>> <</if>> <<if $objectVersion is undefined>> <<set $objectVersion to { "updateClothes": 68, "specialClothes": 19, "feats": 1, "wardrobes": 2, "customColors": 4, "uncomfortable": 2, "chastity": 3, "skinColor": 1, "prenancyObjectRepair": 2, "museumAntiques": 9, "npcClothes": 1, "animations": 1, }>> <</if>> <<set $saveVersions to [StartConfig.version]>> <<set $numberify_enabled to 1>> <<set $options.showDebugRenderer to !!StartConfig.debug>> <<set $lastWardrobeSlot to "head">> <<set $gamemode to "normal">> <<set $intro to 1>> <<set $tutorial to 0>> <<set $initnpccompatibility to 1>> <<set $clothing_update to 1>> <<set $parasite_update to 1>> <<set $npcNamedVersion to 2>> <<set $player = { gender: 0, sex: 0, appearance: 0, penis: 0, vagina: 0, penissize: 0, breastsize: 0, bottomsize: 0, ballssize: 0, pronoun: 0, pronouns: { he: 0, his: 0 }, gender_body: 0, condom: false, virginity: { anal: true, oral: true, penile: true, vaginal: true, temple: false, handholding: true, kiss: true }, bodyTemperature: 37, skin: { color: "light", layers: [], sunscreen: { usesLeft: 0, } } }>> <<npcList>> <<npcNamed>> <<set $controlmax to 1000>> <<set $control to 1000>> <<clothinginit>> <<parasiteinit>> <<init_names>> <<set $money to 500>> <<set $moneyStats to { cheats: { earned: 0, earnedCount: 1 }, startingMoney: { earned: 500, earnedCount: 1 }, }>> <<set $timeStats to {}>> <<set $badEndStats to []>> <<set $awareness to 0>> <<set $awarelevel to 0>> <<set $purity to 1000>> <<set $hairlength to 200>> <<set $fringelength to 200>> <<set $hairtype to "default">> <<set $fringetype to "default">> <<set $trauma to 0>> <<set $traumamax to 5000>> <<set $stressmax to 10000>> <<set $arousalmax to 10000>> <<set $physique to 3500>> <<set $physiquemax to 20000>> <<set $willpower to 200>> <<set $willpowermax to 1000>> <<set $beauty to 100>> <<set $beautymax to 10000>> <<set $birthmonth to "september">> <<set $birthday to 3>> <<set $npc to []>> <<set $npcnum to []>> <<set $npcrow to []>> <<set $dancestudioanger to 0>> <<set $dancelocation to 0>> <<set $alarm to 0>> <<set $finish to 0>> <<set $id to 0>> <<set $forest to 0>> <<set $forestmod to 1>> <<set $tipmod to 1>> /*<<set $worn.genitals.anal_shield to 0>>*/ <<set $blackmoney to 0>> <<set $crime to {}>> <<for _cr range Object.keys(setup.crimeNames)>> /* look in variables-static for the list of crime categories */ <<set $crime[_cr] to {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}>> <</for>> <<set $crime.events to {}>> <<set $ironmanmode to false>> <<set $worn.neck.collaredpolice to 0>> <<set $bullytimer to 50>> <<set $bullytimeroutside to 0>> <<set $bullyevent to 0>> <<set $bullyeventoutside to 0>> <<set $masturbationorgasm to 0>> <<set $masturbationRuinedOrgasm to 0>> <<set $ruinedOrgasmStat to 0>> <<set $malechance to 50>> <<set $maleChanceMale to 50>> <<set $maleChanceFemale to 50>> <<set $maleChanceSplit to "f">> <<set $malevictimchance to 50>> <<set $homochance to 4>> <<set $beastmalechance to 80>> <<set $beastMaleChanceMale to 80>> <<set $beastMaleChanceFemale to 80>> <<set $beastMaleChanceSplit to "f">> <<set $monsterhallucinations to "t">> <<set $monsterchance to 50>> <<set $deviancy to 0>> <<set $baileydefeated to 0>> <<set $baileydefeatedlewd to 0>> <<set $baileydefeatedchain to 0>> <<set $baileyRefusedToPay to 0>> /* Dupicate stats are intentional to use as a potential gameplay mode */ <<set $baileyRefusedToPayTotal to 0>> <<set $baileyRefusedToPayTotalStat to 0>> <<set $soldCount to 0>> <<set $robinmoney to 300>> <<set $alluremod to 1>> <<set $speechcycle to 0>> <<set $npcspeechcycle to 0>> <<set $museuminterest to 0>> <<set $orphan_hope to 0>> <<set $orphan_reb to 0>> <<set $masochism to 0>> <<set $masochism_level to 0>> <<set $sadism to 0>> <<set $sadism_level to 0>> <<set $lessonmissedtext to 0>> <<set $lessonmissed to 0>> <<set $home_event_timer to 3>> <<set $home_event_count to 0>> <<set $home_event_ward_timer to 3>> <<set $home_event_ward_count to 0>> <<set $home_gone to 0>> <<resetEarSlime>> <<set $lactating to 0>> <<set $lactation_pressure to 0>> <<set $milk_amount to 30>> <<set $milk_volume to 30>> <<set $milk_max to 3000>> <<set $milk_produced_stat to 0>> <<set $semen_max to 3000>> <<set $semen_produced_stat to 0>> <<set $lube_produced_stat to 0>> <<set $masturbation_semen to 0>> <<set $masturbation_milk to 0>> <<set $bunstat to 0>> <<set $creamstat to 0>> <<set $chef_sus to 0>> <<set $fluid_forced_stat to 0>> <<set $smuggler_location to "sewer">> <<set $smuggler_timer to 0>> <<set $smuggler_stolen_stat to 0>> <<set $pub_task_stat to 0>> <<set $player.gender_body to "a">> <<set $player.bodyshape to "classic">> <<set $closinghour to 21>> <<set $openinghours to 1>> <<set $dontHide to false>> <<set $swimnudecounter to 0>> <<set $swimall to 0>> <<set $garden_flowers_intro to 1>> <<set $eden_plot_intro to 1>> <<set $wolf_plot_intro to 1>> <<set $asylum_plot_intro to 1>> <<set $plots to {}>> <<set $tendingvars to {}>> <<set $tending_yield_factor to 5>> <<set $plants_known to []>> <<set $plants to {}>> <<set $stall_rejected to 0>> <<set $produce_sold to 0>> <<set $stat_shoot to 0>> <<set $stat_lurkers_captured to 0>> <<set $stat_aphrodisiacs_sold to 0>> <<set $stat_panties_stolen to 0>> <<set $farm_shift to 0>> <<set $cattle_milked to 0>> <<set $masseur_stat to 0>> <<set $machine_stat to 0>> <<set $wild_plant_stat to 0>> <<set $bird to {}>> <<set $moonstate to 0>> <<set $blackjack_played to 0>> <<set $blackjack_won to 0>> <<set $blackjack_streak to 0>> <<set $blackjack_streak_high to 0>> <<set $cardcover = { style: 0, colour: 'red' }>> <<set $hoodDown to 0>> <<set $prof to {}>> <<set $prof.spray to 0>> <<set $stat_police to {}>> <<set $stat_police.pillory to 0>> <<set $stat_police.community to 0>> <<set $stat_police.prison to 0>> <<set $child_played to []>> <<set $speech_attitude to "neutral">> <<set $housekeepingTips to []>> <<set $orgasmtrait to 0>> <<set $ejactrait to 0>> <<set $molesttrait to 0>> <<set $rapetrait to 0>> <<set $bestialitytrait to 0>> <<set $tentacletrait to 0>> <<set $voretrait to 0>> <<set $milkdranktrait to 0>> <<set $choketrait to 0>> <<set $physicalTransform to 0>> <<set $specialTransform to 0>> <<set $angelbuild to 0>> <<set $angel to 0>> <<set $angelforgive to 0>> <<set $angelBanish to 0>> <<set $angelBanishMax to 0>> <<set $demonbuild to 0>> <<set $demon to 0>> <<set $demonabsorb to 0>> <<set $fallenangel to 0>> <<set $fallenbuild to 0>> <<set $catbuild to 0>> <<set $cat to 0>> <<set $heterochromia to 0>> <<set $cowbuild to 0>> <<set $cow to 0>> <<set $birdbuild to 0>> <<set $harpy to 0>> <<set $foxbuild to 0>> <<set $fox to 0>> <<set $stray_happiness to 50>> <<set $seductionskill to 0>> <<set $oralskill to 0>> <<set $vaginalskill to 0>> <<set $analskill to 0>> <<set $handskill to 0>> <<set $feetskill to 0>> <<set $bottomskill to 0>> <<set $thighskill to 0>> <<set $chestskill to 0>> <<set $penileskill to 0>> <<set $skulduggery to 0>> <<set $skulduggeryday to 0>> <<set $danceskill to 0>> <<set $swimmingskill to 0>> <<set $athletics to 0>> <<set $tending to 0>> <<set $housekeeping to 0>> <<set $hygiene to 0>> <<set $hunger to 0>> <<set $thirst to 0>> <<set $tiredness to 0>> <<set $arousal to 0>> <<set $arousalmasochism to 0>> <<set $stress to 0>> <<set $pain to 0>> <<set $combat to 0>> <<set $location to "banner">> <<set $breastsizeold to 0>> <<set $breastsizemax to 12>> <<set $breastsizemin to 0>> <<set $mouthsensitivity to 1>> <<set $breastsensitivity to 1>> <<set $bottomsensitivity to 1>> <<set $genitalsensitivity to 1>> <<set $bottomsizeold to 0>> <<set $bottomsizemax to 8>> <<set $bottomsizemin to 0>> <<set $bottomgrowthtimer to 350>> <<set $workouts to 0>> <<set $player.penissize to 2>> <<set $penissizemax to 4>> <<set $penissizemin to -2>> <<set $penisgrowthtimer to 700>> <<set $ballssize to 2>> <<set $ballssizemax to 4>> <<set $ballssizemin to 0>> <<set $ballsgrowthtimer to 700>> <<set $physiqueuse to 0>> <<set $rapeavoid to 1>> <<set $sexavoid to 1>> <<set $molestavoid to 1>> <<set $rescued to 0>> <<set $baileyhospital to 0>> <<set $squidcount to 0>> <<set $no_underwear to 0>> <<set $upperwet to 0>> <<set $upperwetstage to 0>> <<set $lowerwet to 0>> <<set $lowerwetstage to 0>> <<set $underlowerwet to 0>> <<set $underlowerwetstage to 0>> <<set $underupperwet to 0>> <<set $underupperwetstage to 0>> <<set $overlowerwet to 0>> <<set $overlowerwetstage to 0>> <<set $overupperwet to 0>> <<set $overupperwetstage to 0>> <<set $genderknown to ["Robin", "Bailey"]>> <<set $vaginause to 0>> <<set $anususe to 0>> <<set $mouthuse to 0>> <<set $leftarm to 0>> <<set $rightarm to 0>> <<set $chestuse to 0>> <<set $penisuse to 0>> <<set $thighuse to 0>> <<set $bottomuse to 0>> <<set $feetuse to 0>> <<set $vaginastate to 0>> <<set $anusstate to 0>> <<set $mouthstate to 0>> <<set $penisstate to 0>> <<set $cheststate to 0>> <<set $head to 0>> <<set $front to 0>> <<set $back to 0>> <<set $chest to 0>> <<set $carryblock to 0>> <<set $beastgenderoverride to 0>> <<set $dgchance to 0>> <<set $cbchance to 0>> <<set $straponchance to 0>> <<set $breast_mod to 0>> <<set $penis_mod to 0>> <<set $facebruise to 0>> <<set $chestbruise to 0>> <<set $tummybruise to 0>> <<set $vaginabruise to 0>> <<set $penisbruise to 0>> <<set $anusbruise to 0>> <<set $bottombruise to 0>> <<set $thighbruise to 0>> <<set $leftarmbruise to 0>> <<set $rightarmbruise to 0>> <<set $neckbruise to 0>> <<set $rapestat to 0>> <<set $beastrapestat to 0>> <<set $tentaclerapestat to 0>> <<set $moleststat to 0>> <<set $vaginalstat to 0>> <<set $vaginalejacstat to 0>> <<set $analstat to 0>> <<set $analejacstat to 0>> <<set $oralstat to 0>> <<set $oralejacstat to 0>> <<set $cunnilingusstat to 0>> <<set $cunnilingusejacstat to 0>> <<set $semenswallowedstat to 0>> <<set $animalsemenswallowedstat to 0>> <<set $handstat to 0>> <<set $handejacstat to 0>> <<set $feetstat to 0>> <<set $feetejacstat to 0>> <<set $thighstat to 0>> <<set $thighejacstat to 0>> <<set $bottomstat to 0>> <<set $bottomejacstat to 0>> <<set $penilestat to 0>> <<set $penileejacstat to 0>> <<set $straponstat to 0>> <<set $clothesstripstat to 0>> <<set $clothesruinstat to 0>> <<set $orgasmstat to 0>> <<set $vaginalentranceejacstat to 0>> <<set $faceejacstat to 0>> <<set $cheststat to 0>> <<set $chestejacstat to 0>> <<set $hairejacstat to 0>> <<set $tummyejacstat to 0>> <<set $neckejacstat to 0>> <<set $ejacstat to 0>> <<set $unsafeSexTimeStat to {}>> <<set $hitstat to 0>> <<set $attackstat to 0>> <<set $prostitutionstat to 0>> <<set $forcedprostitutionstat to 0>> <<set $tablesservedstat to 0>> <<set $parasitestat to 0>> <<set $passoutstat to 0>> <<set $masturbationstat to 0>> <<set $masturbationorgasmstat to 0>> <<set $secondsSpentMasturbating to 0>> <<set $milk_drank_stat to 0>> <<set $nectar_drank_stat to 0>> <<set $nectar_addiction to 0>> <<set $nectar_timer to 0>> <<set $gloryholestat to 0>> <<set $parasite_known to []>> <<set $chokeorgasm to 0>> <<set $analdoublestat to 0>> <<set $vaginaldoublestat to 0>> <<set $sextoystat to 0>> <<set $urinestat to 0>> <<set $hypnosis_traits to {}>> <<set $town_projects to {}>> <<set $danceaction to 0>> <<set $danceactiondefault to 0>> <<set $dancestat to 0>> <<set $dancing to 0>> <<set $pullaway to 0>> <<set $novaginal to 0>> <<set $noanal to 0>> <<set $nopenile to 0>> <<set $nochoke to 0>> <<set $vaginalchastity to 0>> <<set $analchastity to 0>> <<set $penilechastity to 0>> <<set $drinksservedstat to 0>> <<if $rng gte 95>> <<set $brothel_basement_price to 3000>> <<elseif $rng gte 85>> <<set $brothel_basement_price to 2000>> <<elseif $rng gte 45>> <<set $brothel_basement_price to 1000>> <<else>> <<set $brothel_basement_price to 500>> <</if>> <<set $brothelshowdata to { counts:{ agreed:0, done:0 }, type:"none", intro:0, done:false, missed:false }>> <<set $speechorgasmweakcumcount to 0>> <<set $speechorgasmnocumcount to 0>> <<set $speechorgasmcount to 0>> <<set $speechorgasmrepeat to 0>> <<set $underwatertime to 0>> <<set $underwater to 0>> <<set $walltype to "wall">> <<set $position to 0>> <<set $prop to []>> <<set $submissive to 1000>> <<set $assertive to 0>> <<set $assertiveaction to "trauma">> <<set $uncomfortable to { underwear: true, nude: true, prostituting: true, lewd: true, hypnosis: true }>> <<set $rescue to 0>> <<set $drugged to 0>> <<set $drunk to 0>> <<set $exposed to 0>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<set $traumasaved to 0>> <<set $stresssaved to 0>> <<set $phase to 0>> <<set $phase2 to 0>> <<set $orgasmdown to 0>> <<set $noise to 0>> <<set $enemywounded to 0>> <<set $enemyejaculated to 0>> <<set $enemyno to 0>> <<set $enemynomax to 0>> <<set $enemyanger to 0>> <<set $enemytrust to 0>> <<set $semenpuddle to 0>> <<set $eventskip to 0>> <<set $menu to 0>> <<set $consensual to 0>> <<set $attention to 0>> <<set $orgasmcount to 0>> <<set $leftboundcarry to 0>> <<set $rightboundcarry to 0>> <<set $orgasmcurrent to 0>> <<set $hospitalintro to 0>> <<set $traumafocus to 0>> <<set $pubwhore to 0>> <<set $policemolestation to 0>> <<set $npclovehigh to 10>> <<set $npclovehighsu to 30>> /* unused */ <<set $npclovelow to -10>> <<set $npclovelowsu to -30>> /* unused */ <<set $npcdomhigh to 10>> <<set $npcdomlow to -10>> <<set $schoolevent to 0>> <<set $schooleventtimer to 10>> <<set $schoolrep to {}>> <<set $schoolrep.crossdress to 0>> <<set $schoolrep.herm to 0>> <<set $flashbackhome to 0>> <<set $flashbacktown to 0>> <<set $flashbackbeach to 0>> <<set $flashbackunderground to 0>> <<set $flashbackschool to 0>> <<set $panicviolence to 0>> <<set $panicparalysis to 0>> <<set $colouraction to 0>> <<set $hungerenabled to 0>> /* unused */ <<set $thirstenabled to 0>> /* unused */ <<set $hygieneenabled to 0>> /* unused */ <<set $exhibitionism to 0>> <<set $promiscuity to 0>> <<set $diagnosis to 0>> <<set $psych to 0>> <<set $asylum to 0>> <<set $audience to 0>> <<set $audienceexcitement to 0>> <<set $audiencearousal to 0>> <<set $audiencemod to 1>> <<set $venuemod to 1>> <<set $danceevent to 0>> <<set $dancephysique to 0>> <<set $hypnosis to 0>> <<set $hypnotised to 0>> <<set $pillsconsumed to 0>> <<set $medicated to 0>> <<set $trance to 0>> <<set $harperexam to 0>> <<set $schoolLessonsMissed = { science: 0, maths: 0, english: 0, history: 0, swimming: 0, housekeeping: 0 }>> <<set $science_star to 0>> <<set $maths_star to 0>> <<set $english_star to 0>> <<set $history_star to 0>> <<set $fame to { exhibitionism: 0, prostitution: 0, bestiality: 0, sex: 0, rape: 0, good: 0, business: 0, scrap: 0, pimp: 0, social: 0, model: 0, pregnancy: 0, impreg: 0, }>> <<set $internet to { photos: [], videos: [] }>> <<set $park_fame to 0>> <<set $park_run_seen_by to []>> <<set $spray to 0>> <<set $spraymax to 0>> <<set $spraystat to 0>> <<set $infinitespray to 0>> <<set $mathstrait to 0>> <<set $englishtrait to 0>> <<set $sciencetrait to 0>> <<set $historytrait to 0>> <<set $wolfgirl to 0>> <<set $wolfbuild to 0>> <<set $swarm to { "type":0, "name":0, "move":0, "spill":0, "steady":0, "amount":{}, "data":{} }>> <!-- <<set $claws to 1>> --> <<set $water to 0>> <<set $foresthunt to 0>> <<set $edenforesthunt to 0>> <<set $blackwolfhunt to 0>> <<set $wolfpacktrust to 0>> <<set $wolfpackfear to 0>> <<set $sea to 0>> <<set $penilechastityparasite to 0>> <<set $vaginalchastityparasite to 0>> <<set $analchastityparasite to 0>> <<removeparasite penis>> <<removeparasite clit>> <<removeparasite nipples>> <<set $vorestrength to 0>> <<set $vorestruggle to 0>> <<set $voretentacles to 0>> <<set $vorestage to 0>> <<set $vorecreature to 0>> <<set $swallowed to 0>> <<set $swallowedstat to 0>> <<set $tentacles to { 0: null, 1: null, 2: null, 3: null, 4: null, 5: null, 6: null, 7: null, 8: null, 9: null, 10: null, 11: null, 12: null, 13: null, 14: null, 15: null, 16: null, 17: null, 18: null, 19: null, 20: null, "active": 0, "max": 0 }>> <<set $leftleg to 0>> <<set $rightleg to 0>> <<set $leftnipple to 0>> <<set $rightnipple to 0>> <<set $leftarmstate to 0>> <<set $rightarmstate to 0>> <<set $feetstate to 0>> <<set $player.bodyliquid to {}>> <<for _bodypart range setup.bodyliquid.bodyparts>> /* look in variables-static for the list of body parts */ <<set $player.bodyliquid[_bodypart] to {}>> <<set $player.bodyliquid[_bodypart]["goo"] to 0>> <<set $player.bodyliquid[_bodypart]["semen"] to 0>> <<set $player.bodyliquid[_bodypart]["nectar"] to 0>> <</for>> <<exam_difficulty>> <<set $detention to 0>> <<set $delinquency to 10>> <<set $cool to 120>> <<set $coolmax to 400>> <<set $school to 400>> <<set $maths to 100>> <<set $science to 100>> <<set $english to 100>> <<set $history to 100>> <<set $science_exam to 0>> <<set $maths_exam to 0>> <<set $english_exam to 0>> <<set $history_exam to 0>> <<set $sciencetrait to 0>> <<set $mathstrait to 0>> <<set $englishtrait to 0>> <<set $historytrait to 0>> <<set $scienceprogression to 0>> <<set $distinction_stat to 0>> <<set $audienceselector to 0>> <<set $audiencecamera to 0>> <<set $audiencecamera1 to 0>> <<set $audiencecamera2 to 0>> <<set $audiencecamera3 to 0>> <<set $audiencecamera4 to 0>> <<set $audiencecamera5 to 0>> <<set $audiencecamera6 to 0>> <<set $audiencemember to 0>> <<set $leftactioncarry to "leftcoverface">> <<set $rightactioncarry to "rightcoverface">> <<set $feetactioncarry to "rest">> <<set $mouthactioncarry to "plead">> <<set $leftactioncarrypain to "leftprotect">> <<set $rightactioncarrypain to "rightprotect">> <<set $mouthactioncarrypain to "letout">> <<set $leftactioncarryorgasm to "leftgrip">> <<set $rightactioncarryorgasm to "rightgrip">> <<set $feetactioncarryorgasm to "feetCurl">> <<set $mouthactioncarryorgasm to "letoutorgasm">> <<set $leftactioncarrydissociation to "leftcurl">> <<set $rightactioncarrydissociation to "rightcurl">> <<set $mouthactioncarrydissociation to "noises">> <<set $sleeptrouble to 0>> <<set $nightmares to 0>> <<set $anxiety to 0>> <<set $flashbacks to 0>> <<set $panicattacks to 0>> <<set $hallucinations to 0>> <<set $dissociation to 0>> <<set $scienceproject to "none">> <<set $mathsproject to "none">> <<set $englishPlay to "none">> <<set $oxygenmax to 1200>> <<set $oxygen to 1200>> <<set $suffocating to 0>> <<set $hallucinogen to 0>> <<set $antiquemoney to 0>> <<set $antiquemoneyhistory to 0>> <<set $alluretest to 0>> <<set $whitneypantiescheck to 0>> <<set $insecurity_penis_small to 0>> <<set $insecurity_penis_big to 0>> <<set $insecurity_breasts_small to 0>> <<set $insecurity_breasts_big to 0>> <<set $insecurity_pregnancy to 0>> <<set $acceptance_penis_small to 0>> <<set $acceptance_penis_big to 0>> <<set $acceptance_breasts_small to 0>> <<set $acceptance_breasts_big to 0>> <<set $acceptance_pregnancy to 0>> <<set $anus_climax to 0>> <<set $penis_climax to 0>> <<set $mouth_climax to 0>> <<set $active_enemy to 0>> <<set $sewingKit to 0>> <<bodywriting_init>> /*pillory related*/ <<set $pillory to {}>> <<if ndef $pillory.tenant>><<setup_pillory>><</if>> <<set $police_access_card to 0>> <<set $police_intro to 0>> <<set $police_hack to 0>> <<set $pub_hack_job to 0>> <<set $hacker_tasks to []>> <<set $framed to 0>> /*raid related*/ <<set $brothel_raid to 0>> <<set $brothel_raid_day to 0>> <<set $brothel_thief to 0>> /*pharmacy contact lenses related */ <<set $lenses_ordered to []>> <<set $custom_lenses_already_ordered to 0>> <<set $custom_eyecolours to []>> /*long hair related*/ <<set $o_long_and_beautiful to 0>> <<set $hy_sibling to 0>> <<set $hy_parent to 0>> <<set $long_hair_meet_day to 99999>> <<set $misbehaviour_day to 99999>> /*steal related*/ <<set $stealtarget to "">> <<set $stealdifficulty to 1>> <<set $compressSave to true>> <<set $confirmSave to false>> <<set $confirmLoad to false>> <<set $confirmDelete to true>> <<mapLocations>> <<wetness_init>> <<updateMuseumAntiques>> <<set $feats to { "locked":false, "soft":false, "allSaves":{}, "currentSave":{}, "filter":"All" }>> <<set _passageCheck to "Start">> <<updateFeats>> <<unset _passageCheck>> <<setupFeats>> <<setupTransformationPiecesObject>> <<if $facestyle is undefined>> <<set $facestyle to "default">> <</if>> <<if $facevariant is undefined>> <<set $facevariant to "default">> <</if>> <<if $makeup is undefined>> <<set $makeup = {}>> <<set $makeup.owned = {}>> <<set $makeup.owned.lipstick = []>> <<set $makeup.owned.eyeshadow = []>> <<set $makeup.owned.eyelenses = []>> <<set $makeup.owned.hairdye = []>> <<set $makeup.owned.mascara = []>> <<set $makeup.owned.blusher = []>> <<set $makeup.lipstick = 0>> <<set $makeup.eyeshadow = 0>> <<set $makeup.blusher = 0>> <<set $makeup.eyelenses = {"left":0, "right":0}>> <<set $makeup.mascara = 0>> <<set $makeup.mascara_running = 0>> <<set $makeup.pbcolour = 0>> <<set $makeup.browscolour = 0>> <<set $makeup.concealer = 0>> <</if>> <<if $makeup.owned.custom_eyelenses is undefined>> <<set $makeup.owned.custom_eyelenses to []>> /* pharmacy custom eye lenses */ <</if>> <<set $leftEyeColour to "purple">> <<set $rightEyeColour to "purple">> <<set $prepareSaveDetails to true>> <<if $saveDetails is undefined>> <<set $saveDetails to { exported:{ days: 0, frequency: 15, count: 0, dayCount: 0, }, auto:{ count: 0 }, slot:{ count: 0, dayCount: 0, }, playTime: 0, loadTime: new Date(), loadCount: 0, }>> <<unset $lastExported>> <</if>> <<if $saveDetails.exported.dayCount is undefined>> <<set $saveDetails.exported.dayCount to 0>> <<set $saveDetails.slot.dayCount to 0>> <</if>> <<set $shopDefaults to { "color":"black", "colorSet":null, "secColor":"black", "secColorSet":null, "disableReturn": false, "alwaysBackToShopButton": false, "noHelp": false, "noTraits": false, "highContrast": false, "mannequinGender": "same", "mannequinGenderFromClothes": false, "colourItems": "random", "compactMode": false, }>> <<initAllNNPCVirginities>> <<set $templePromised to "">> <<if $sleepStat is undefined>> <<set $sleepStat to 0>> <</if>> <<run window.createInventoryObject()>> <<initEstatePersistent>> <<set $modeloptionsOverride to {}>> <<set $wraith to {"state": "", "init": 0}>> <<set $necklaceThief to "">> <<set $world_corruption_soft to 0>> <<set $world_corruption_hard to 2>> <<set $world_corruption_reduced to 0>> <<set $passageCount to 0>> <<set $passageChangesCount to 0>> <</widget>><<widget "variablesStart2">> /*Variables required at the start of passage 'Start2', please remove if not required"*/ /*This widget should be used to initialise most or all variables that are required when you begin a new game. also check <<gameStartOnly>> for other initialisations. */ <<set $location to "home">> <<if $hairselect is "random">> <<set $hairselect to ["red","jetblack","black","brown","softbrown","lightbrown","burntorange","blond","softblond","platinumblond","ashyblond","strawberryblond","ginger"].random()>> <</if>> <<if $eyeselect is "random">> <<set $eyeselect to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey", "light grey", "lime green"].random()>> <</if>> <<if $background is "random">> <<set _backgroundOptions to ["waif","nerd","athlete","delinquent","promiscuous","exhibitionist","deviant","beautiful","lustful","plantlover"]>> <<if $player.sex isnot "h">> <<run _backgroundOptions.push("crossdresser")>> <</if>> <<set $background to _backgroundOptions.random()>> <</if>> <<switch $bodysize>> <<case 0>><<set $physiquesize to 6000>> <<case 1>><<set $physiquesize to 10000>> <<case 2>><<set $physiquesize to 12000>> <<case 3>><<set $physiquesize to 16000>> <</switch>> <<clamp>> <!-- <<effects>> --> <<initnpcgender>> <<initnpcskin>> <<if $debug is 1 and $spraymax lt 1>> <<set $spraymax += 1>> <<set $spray += 1>> <</if>> <<set $per_npc to {}>> <<set $storedNPCs to {}>> <<set $perNPCFix to 4>> <<set $physique to ($physiquesize / 7) * 3>> <<set $beauty to ($beautymax / 7)>> <<set $breastgrowthtimer to 350>> <<tryOnInit>> <<givestartclothing>> <<set $intro to 0>> <<set $naturalhaircolour to $hairselect>> <<set $haircolour to $naturalhaircolour>> <<set $hairColourStyle to "simple">> <<set $hairColourGradient to { style: "split", colours: ["red", "black"]}>> <<set $hairfringecolour to $naturalhaircolour>> <<set $hairFringeColourStyle to "simple">> <<set $hairFringeColourGradient to { style: "split", colours: ["red", "black"]}>> <<if $cheatdisable is "f" and !$debug or $rentmod lt 1 and !$debug>> <<set $feats.locked to true>> <</if>> <<set $leftEyeColour to $eyeselect>> <<set $rightEyeColour to $eyeselect>> <<if $awareselect is "innocent">> <<elseif $awareselect is "knowledgeable">> <<set $awareness += 200>> <<set $awarelevel to 1>> <</if>> /*pharmacy contact lenses related */ <<if ndef $lenses_ordered>> <<set $lenses_ordered to []>> <</if>> <<if ndef $custom_lenses_already_ordered>> <<set $custom_lenses_already_ordered to 0>> <</if>> <<if ndef $custom_eyecolours>> <<set $custom_eyecolours to []>> <</if>> <<if ndef $makeup.owned>> <<set $makeup.owned to []>> <<if ndef $makeup.owned.custom_eyelenses>> <<set $makeup.owned.custom_eyelenses to []>> <</if>> <</if>> <<set $player.gender_appearance to $player.gender>> <<set $player.gender_appearance_factors to []>> <<set $player.femininity to 0>> <<set $player.gender_appearance_without_overwear to $player.gender>> <<set $player.gender_appearance_without_overwear_factors to []>> <<set $player.femininity_without_overwear to 0>> <<set $player.gender_posture to "n">> <<if $player.sex is "f">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <<set $penisuse to "none">> <<set $penisstate to "none">> <<set $player.vaginaExist to true>> <<set $player.penisExist to false>> <<set $player.ballsExist to false>> <<elseif $player.sex is "m">> <<set $vaginause to "none">> <<set $vaginastate to "none">> <<set $penisuse to 0>> <<set $penisstate to 0>> <<set $player.vaginaExist to false>> <<set $player.penisExist to true>> <<set $player.ballsExist to true>> <<elseif $player.sex is "h">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <<set $penisuse to 0>> <<set $penisstate to 0>> <<set $player.penisExist to true>> <<set $player.vaginaExist to true>> <</if>> <<physicalAdjustmentsInit>> <<set $player.perceived_breastsize = $player.breastsize>> <<set $player.perceived_bottomsize = $player.bottomsize>> /* Do not use this object directly - use the Weather singleton instead */ <<set $weatherObj to { name: "clear", snow: 0, ice: {}, fog: 0, overcast: 0, targetOvercast: 0, monthlyTemperatures: [], keypointsArr: [] }>> /* Default start date: 6 sept (sunday), 2020, 07:00 */ /* Do not change start date during gameplay as time is relative to the start date */ <<if $startingseason is "random">> <<set $startingseason to ["autumn","winter","spring","summer"].random()>> <</if>> <<switch $startingseason>> <<case "winter">> <<set Time.startDate to new DateTime(2022, 12, 4, 7)>> <<case "spring">> <<set Time.startDate to new DateTime(2022, 3, 6, 7)>> <<case "summer">> <<set Time.startDate to new DateTime(2022, 6, 5, 7)>> <<default>> <<set Time.startDate to new DateTime(2022, 9, 4, 7)>> <</switch>> <<unset $startingseason>> <<set $timeStamp to 0>> <<set Time.set()>> <<run Weather.activeRenderer = Weather.sky>> <<run Weather.sky.initialize()>> <<if $background is "nerd">> <<set $science += 100>><<set $maths += 100>><<set $english += 100>><<set $history += 100>><<set $school += 400>><<set $cool to 0>> <<set $sciencetrait to 1>><<set $mathstrait to 1>><<set $englishtrait to 1>><<set $historytrait to 1>> <<elseif $background is "athlete">> <<set $physique += ($physiquesize / 4)>><<set $swimmingskill += 200>><<set $athletics += 200>> <<set $science to 0>><<set $maths to 0>><<set $english to 0>><<set $history to 0>><<set $school to 0>> <<set $sciencetrait to -1>><<set $mathstrait to -1>><<set $englishtrait to -1>><<set $historytrait to -1>> <<elseif $background is "delinquent">> <<set $delinquency += 401>><<set $cool += 200>> <<elseif $background is "promiscuous">> <<set $promiscuity += 35>> <<elseif $background is "exhibitionist">> <<set $exhibitionism += 35>> <<elseif $background is "deviant">> <<set $deviancy += 35>> <<elseif $background is "beautiful">> <<set $beauty += ($beautymax / 2)>> <<elseif $background is "crossdresser">> <<if $player.sex is "f">> <<set $player.gender_posture to "m">> <<elseif $player.sex is "m">> <<set $player.gender_posture to "f">> <<else>> <<set $player.gender_posture to "n">> <<set $background to "waif">> <</if>> <<elseif $background is "greenthumb">> /* Leaving this here in case we ever turn Green Thumb back into a background. Can't be set to the background variable in current state. */ <<set $tending += 200>> <<elseif $background is "plantlover">> <<set $nectar_addiction to 200>> <<set $nectar_timer to 21>> <</if>> <<set $backgroundTraits to [$background]>> <<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>> <<if $fringelength gte 900>> <<set $fringelengthstage to "feet">> <<elseif $fringelength gte 700>> <<set $fringelengthstage to "thighs">> <<elseif $fringelength gte 600>> <<set $fringelengthstage to "navel">> <<elseif $fringelength gte 400>> <<set $fringelengthstage to "chest">> <<elseif $fringelength gte 200>> <<set $fringelengthstage to "shoulder">> <<else>> <<set $fringelengthstage to "short">> <</if>> <<if $saveId is undefined>> <<set $saveId to random(10000, 99999)>> <</if>> <<if $player.penisExist>> <<set $semen_amount to 90>> <<set $semen_volume to 90>> <<else>> <<set $semen_amount to 0>> <<set $semen_volume to 0>> <</if>> <<if $dateCount is undefined>> <<set $dateCount to { Total: 0, Robin: 0, Whitney: 0, Kylar: 0, Eden: 0, Avery: 0, BlackWolfHunts: 0, GreatHawkHunts: 0, GreatHawkCasual: 0, Alex: 0, Sydney: 0 }>> <</if>> <<if $virginTaken is undefined>> <<set $virginTaken to { kiss: [], handholding: [], oral: [], anal: [], vaginal: [], penile: [] }>> <</if>> <<set $loveInterest to { primary: "None", secondary: "None", tertiary: "None" }>> <<set $attitudesControl to { showGoldLink:false, unlockExhibitionismUnderwear:false, unlockExhibitionismNude:false, unlockTransformation:false, unlockDemonFlaunt:false, unlockProstitution:false, unlockLoveInterest1:false, unlockLoveInterest2:false, unlockLoveInterest3:false, unlockDefaultActions:false, unlockHypnosis:false, unlockLewd:false, }>> <<set $clothingShop to { ban: 0, banExtension: false, spotted: false, stolenClothes: 0, totalStolenClothes: 0, banCount: 0, rng: random(0,1000) }>> <<set $adultShop to { ban: 0, banExtension: false, spotted: false, stolenClothes: 0, totalStolenClothes: 0, banCount: 0, rng: random(0,1000) }>> <<set $propEquipped to 0>> <<set $balloonStand to { open: false, owner: "friendly", freeDrink: false, robin: {status: "unaffected", talked: false, knows: false} }>> <<set $retrieveShopCustomColor to {}>> <<set $customColors to { presets:{}, action: "set", currentType: "primary", color:{primary:0, secondary:0}, saturation:{primary:1, secondary:1}, brightness:{primary:1, secondary:1}, contrast:{primary:1, secondary:1}, sepia:{primary:1, secondary:1}, value:{primary:100, secondary:100} }>> <<set $combatTrain to { length: 0, generateInit: 1, beastTypes: [], numberPerTrain: [], }>> <<set $enemyArousalLossReduction to 1>> <<set $robinTattoo to []>> <<set $robinmissing to 0>> <<set $robin to { timer: {hurt:0, customer:0}, hurtReason: "nothing", moneyModifier: 0 }>> <<set $kylar to { raped: 0, riddle: 0, timer: {halls:0,street:0,home:0,love:0}, fameStage: 0, }>> <<set $kylarSeen to []>> <<set $museumAntiqueJournalHints to []>> <<specialClothesSetup>> <<pregnancyVar>> <<specialClothesEffectsSetup>> <<childrenSetup>> <<setupTransformationPiecesObject>> <<if $fertiliser is undefined>> <<set $fertiliser to {current:0,used:0}>> <</if>> <<set $actionDefaults = DefaultActions.setDefaults()>> <<set versionUpdateCheck to false>> <<set $rebuy_failure to []>> <<set $rebuy_success to []>> <<pbhairinit>> <<resetLastOptions>> <<set $adultshopprogress to 0>> <<set $adultshopcontribution to 0>> <<run createInventoryObject()>> <<set $robinPunishments to []>> <<set $robinTraumaMultiplier to 1>> <<set $daily to { school: { attended: {} }, whitney: {}, robin: {}, kylar: {}, morgan: {}, eden: {}, alex: {}, sydney: {}, ex: {}, pharm: {}, prison: {}, livestock: {}, giftedFood: {} }>> <<set _food_keys to Object.keys(setup.plants)>> <<for _i to 0; _i lt _food_keys.length; _i++>> <<set $_type to _food_keys[_i]>> <<if $plants[$_type] is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": 0}>> <<elseif $plants[$_type].name is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": $plants[$_type].amount}>> <</if>> <</for>> <<supermarketWeekly>> <<set $weekly to { theft: {}, sewers: {}, maze: {} }>> <<set $yearly to { }>> <<if $feats.allSaves.points gt 0>> <<applyFeatsBoost>> <</if>> <<set $school to $science + $english + $maths + $history>> <<set $schooltrait = $school >= 2800 ? 4 : $school >= 2000 ? 3 : $school >= 1600 ? 2 : $school >= 1200 ? 1 : 0>> <<if $ironmanmode is true>> <<set $options.confirmDialogUponTabClose to true>> <<else>> <<set $options.confirmDialogUponTabClose to false>> <</if>> <<run toggleConfirmDialogUponTabClose()>> <<run Furniture.update()>> <</widget>><<widget "variablesStatic">> /*This is for static variables that will not change during gameplay*/ /*These will not be saved to saves and are best when they are required in multiple location and are required for processing for loops, default objects, etc.*/ /*Can be found at 'SugarCube.setup'*/ <<run try { new Function("const foo = {}; foo?.bar;"); } catch (e) { window.Utils.Defer(() => { Errors.report('This browser does not meet the minimum requirements for DoL (ES2020). Please alert Vrelnir + the dev team and update your web browser.'); Errors.Reporter.show(); }); }>> <<set setup.test to "testing">> <<set setup.baseNPC = { "chastity": { penis: "", vagina: "", anus: "" }, "location": {}, "skills": {}, "pronouns": {}, "traits": [] }>> <<clothing_data>> <<hair_data>> <<init_bodywriting_objects>> <<init_plant_objects>> <<init_locations>> <<init_tips>> <<set setup.baseNNPC = {penis : 0, vagina: 0, gender: "none", description: 0, title: 0, insecurity: 0, pronoun: "none", penissize: 0, penisdesc: "none", bottomsize: 0, ballssize: 0, breastsize: 0, breastdesc: 0, breastsdesc: 0, skincolour: 0, teen: 0, adult: 0, init: 0, intro: 0, type: "human", trust: 0, love: 0, dom: 0, lust: 0, rage: 0, state: "", trauma: 0, eyeColour: 0, hairColour: 0, chastity: {penis: "", vagina: "", anus: ""}}>> <<set setup.NPCNameList = ["Avery","Bailey","Briar","Charlie","Darryl","Doren","Eden","Gwylan","Harper","Jordan","Kylar","Landry","Leighton","Mason","Morgan","River","Robin","Sam","Sirris","Whitney","Winter","Black Wolf","Niki","Quinn","Remy","Alex","Great Hawk","Wren","Sydney","Ivory Wraith","Zephyr"]>> <<set setup.loveInterestNpc = ["Robin","Whitney","Kylar","Sydney","Eden","Avery","Black Wolf","Great Hawk","Alex"]>> /* this initialises the C.npc object */ <<run initCNPC()>> <<set setup.crimeNames to { assault: "assault", coercion: "coercion", destruction: "destruction of property", exposure: "indecent exposure", obstruction: "obstruction of justice", prostitution: "prostitution", resisting: "resisting arrest", thievery: "thievery", petty: "petty thievery", trespassing: "trespassing", }>> <<set setup.crimeDescs to { default: "general", legacy: "a string of crimes that slipped through the cracks", escape: "escaping prison", cake: "a high-profile theft involving a noble's wedding cake", kylarPrison: "assisting in a prison escape", }>> /* this initialises the C.crime object */ <<run initCCrime()>> <<set setup.skinColor to { light: { hStart: 30, hEnd: 47, sStart: 0.15, sEnd: 0.30,bStart: 4.3, bEnd: 3.4 }, medium: { hStart: 47, hEnd: 50, sStart: 0.30, sEnd: 0.32,bStart: 3.4, bEnd: 1.55 }, dark: { hStart: 50, hEnd: 50, sStart: 0.32, sEnd: 0.4,bStart: 1.55, bEnd: 0.6 }, gyaru: [ { hStart: 30, hEnd: 47, sStart: 0.15, sEnd: 0.30, bStart: 4.3, bEnd: 3.4 }, { hStart: 47, hEnd: 50, sStart: 0.30, sEnd: 0.32, bStart: 3.4, bEnd: 1.55 }, { hStart: 50, hEnd: 50, sStart: 0.32, sEnd: 0.4, bStart: 1.55, bEnd: 0.6 }, ], ylight: { hStart: 50, hEnd: 55, sStart: 0.20, sEnd: 0.20,bStart: 4.4, bEnd: 3.6 }, ymedium: { hStart: 60, hEnd: 60, sStart: 0.25, sEnd: 0.25,bStart: 3.6, bEnd: 2.0 }, ydark: { hStart: 60, hEnd: 60, sStart: 0.25, sEnd: 0.25,bStart: 2.0, bEnd: 1.0 }, ygyaru: [ { hStart: 60, hEnd: 60, sStart: 0.25, sEnd: 0.25, bStart: 4.4, bEnd: 3.6 }, { hStart: 60, hEnd: 60, sStart: 0.25, sEnd: 0.25, bStart: 3.6, bEnd: 2.0 }, { hStart: 60, hEnd: 60, sStart: 0.25, sEnd: 0.25, bStart: 2.0, bEnd: 1.0 }, ], slime: { hStart: 200, hEnd: 200, sStart: 0.3, sEnd: 0.5,bStart: 3.6, bEnd: 3.1 }, dft: { hStart: 45, hEnd: 45, sStart: 0.2, sEnd: 0.4, bStart: 4.5, bEnd: 0.7} }>> <<set setup.tanImg to { "doggy":{ "t":{ "doggyactivebase":"img/sex/doggyRed/active/body/doggyactivebase.png", "doggyactivebaseleftarm":"img/sex/doggyRed/active/body/doggyactivebaseleftarm.png", "doggyactivebaselegs":"img/sex/doggyRed/active/body/doggyactivebaselegs.png", "doggyactivebaserightarm":"img/sex/doggyRed/active/body/doggyactivebaserightarm.png", "doggyactiveblush1":"img/sex/doggyRed/active/body/doggyactiveblush1.png", "doggyactiveblush2":"img/sex/doggyRed/active/body/doggyactiveblush2.png", "doggyactiveblush3":"img/sex/doggyRed/active/body/doggyactiveblush3.png", "doggyactiveblush4":"img/sex/doggyRed/active/body/doggyactiveblush4.png", "doggyactiveblush5":"img/sex/doggyRed/active/body/doggyactiveblush5.png", "doggyactivemouth":"img/sex/doggyRed/active/body/doggyactivemouth.png", "freckles":"img/sex/doggyRed/active/body/freckles.png", "breastsTiny":"img/sex/doggyRed/active/body/doggyactivebreaststiny.png", "breastsSmall":"img/sex/doggyRed/active/body/doggyactivebreastssmall.png", "breastsLarge":"img/sex/doggyRed/active/body/doggyactivebreastslarge.png", "breastsHuge":"img/sex/doggyRed/active/body/doggyactivebreastshuge.png", "doggyactivefeetjob":"img/sex/doggyRed/active/body/doggyactivefeetjob.png", "doggyactivefeetjobpenis":"img/sex/doggyRed/active/body/doggyactivefeetjobpenis.png", "doggyactiveleftarmbound":"img/sex/doggyRed/active/body/doggyactiveleftarmbound.png", "doggyactivelefthandjob":"img/sex/doggyRed/active/body/doggyactivelefthandjob.png", "doggyactivelefthandjobpenis":"img/sex/doggyRed/active/body/doggyactivelefthandjobpenis.png", "doggyactivepenis":"img/sex/doggyRed/active/body/doggyactivepenis.png", "doggyactivepenisvirgin":"img/sex/doggyRed/active/body/doggyactivepenisvirgin.png", "doggyactivepush":"img/sex/doggyRed/active/body/doggyactivepush.png", "doggyactivepushlight":"img/sex/doggyRed/active/body/doggyactivepushlight.png", "doggyactiverighthandjob":"img/sex/doggyRed/active/body/doggyactiverighthandjob.png", "doggyactiverighthandjobpenis":"img/sex/doggyRed/active/body/doggyactiverighthandjobpenis.png", "doggyactiveeyelids":"img/sex/doggyRed/active/doggyactiveeyelids.png", "doggyactiveclosedmouth":"img/sex/doggyRed/active/body/doggyactiveclosedmouth.png", "activebeastlefthand":"img/sex/doggyRed/frontbeast/activebeastlefthand.png", "activebeastlefthandpenis":"img/sex/doggyRed/frontbeast/activebeastlefthandpenis.png", "activebeastrighthand":"img/sex/doggyRed/frontbeast/activebeastrighthand.png", "activebeastrighthandpenis":"img/sex/doggyRed/frontbeast/activebeastrighthandpenis.png", "activebearlefthand":"img/sex/doggyRed/frontbeast/bear/activebearlefthand.png", "activebearlefthandpenis":"img/sex/doggyRed/frontbeast/bear/activebearlefthandpenis.png", "activebearrighthand":"img/sex/doggyRed/frontbeast/bear/activebearrighthand.png", "activebearrighthandpenis":"img/sex/doggyRed/frontbeast/bear/activebearrighthandpenis.png", "activecatlefthand":"img/sex/doggyRed/frontbeast/cat/activecatlefthand.png", "activecatlefthandpenis":"img/sex/doggyRed/frontbeast/cat/activecatlefthandpenis.png", "activecatrighthand":"img/sex/doggyRed/frontbeast/cat/activecatrighthand.png", "activecatrighthandpenis":"img/sex/doggyRed/frontbeast/cat/activecatrighthandpenis.png", "activedolphinlefthand":"img/sex/doggyRed/frontbeast/dolphin/activedolphinlefthand.png", "activedolphinlefthandpenis":"img/sex/doggyRed/frontbeast/dolphin/activedolphinlefthandpenis.png", "activedolphinrighthand":"img/sex/doggyRed/frontbeast/dolphin/activedolphinrighthand.png", "activedolphinrighthandpenis":"img/sex/doggyRed/frontbeast/dolphin/activedolphinrighthandpenis.png", "doggyactiveshadow":"img/sex/doggyRed/active/body/doggyactiveshadow.png", "doggyactivechastitycagepenis":"img/sex/doggyRed/active/body/doggyactivechastitycagepenis.png", "doggyactivechastitycagepenissmall":"img/sex/doggyRed/active/body/doggyactivechastitycagepenissmall.png", "doggyactivestrapon":"img/sex/doggyRed/active/body/doggyactivepenisvirgin.png", "doggyanalentrance":"img/sex/doggyRed/doggyanalentrance.png", "doggyanalimminent":"img/sex/doggyRed/doggyanalimminent.png", "doggyoralentrance":"img/sex/doggyRed/doggyoralentrance.png", "doggyoralimminent":"img/sex/doggyRed/doggyoralimminent.png", "doggyvaginalentrance":"img/sex/doggyRed/doggyvaginalentrance.png", "doggyvaginalimminent":"img/sex/doggyRed/doggyvaginalimminent.png", "doggyactiveanal":"img/sex/doggyRed/active/body/doggyactiveanal.png", "doggyactiveanaldap":"img/sex/doggyRed/active/body/doggyactiveanaldap.png", "doggyactiveanaldpp":"img/sex/doggyRed/active/body/doggyactiveanaldpp.png", "doggyactivecheeks":"img/sex/doggyRed/active/body/doggyactivecheeks.png", "doggyactivechest":"img/sex/doggyRed/active/body/doggyactivechest.png", "doggyactivefeetjobpenis":"img/sex/doggyRed/active/body/doggyactivefeetjobpenis.png", "doggyactivefencing":"img/sex/doggyRed/active/body/doggyactivefencing.png", "doggyactivelefthandjobpenis":"img/sex/doggyRed/active/body/doggyactivelefthandjobpenis.png", "doggyactiverighthandjobpenis":"img/sex/doggyRed/active/body/doggyactiverighthandjobpenis.png", "doggyactiveoral":"img/sex/doggyRed/active/body/doggyactiveoral.png", "doggyactivethighs":"img/sex/doggyRed/active/body/doggyactivethighs.png", "doggyactivevaginal":"img/sex/doggyRed/active/body/doggyactivevaginal.png", "doggyactivevaginaldp":"img/sex/doggyRed/active/body/doggyactivevaginaldp.png", "doggyactivepreggybelly":"img/sex/doggyRed/active/body/preggyBelly/pregnancy_belly_" }, "f":{ "doggyactivebase":"img/sex/doggy/active/body/doggyactivebase.png", "doggyactivebaseleftarm":"img/sex/doggy/active/body/doggyactivebaseleftarm.png", "doggyactivebaselegs":"img/sex/doggy/active/body/doggyactivebaselegs.png", "doggyactivebaserightarm":"img/sex/doggy/active/body/doggyactivebaserightarm.png", "breastsTiny":"img/sex/doggy/active/body/doggyactivebreaststiny.png", "doggyactiveblush1":"img/sex/doggy/active/body/doggyactiveblush1.png", "doggyactiveblush2":"img/sex/doggy/active/body/doggyactiveblush2.png", "doggyactiveblush3":"img/sex/doggy/active/body/doggyactiveblush3.png", "doggyactiveblush4":"img/sex/doggy/active/body/doggyactiveblush4.png", "doggyactiveblush5":"img/sex/doggy/active/body/doggyactiveblush5.png", "doggyactivemouth":"img/sex/doggy/active/body/doggyactivemouth.png", "freckles":"img/sex/doggy/active/body/freckles.png", "breastsSmall":"img/sex/doggy/active/body/doggyactivebreastssmall.png", "breastsLarge":"img/sex/doggy/active/body/doggyactivebreastslarge.png", "breastsHuge":"img/sex/doggy/active/body/doggyactivebreastshuge.png", "doggyactivefeetjob":"img/sex/doggy/active/body/doggyactivefeetjob.png", "doggyactivefeetjobpenis":"img/sex/doggy/active/body/doggyactivefeetjobpenis.png", "doggyactiveleftarmbound":"img/sex/doggy/active/body/doggyactiveleftarmbound.png", "doggyactivelefthandjob":"img/sex/doggy/active/body/doggyactivelefthandjob.png", "doggyactivelefthandjobpenis":"img/sex/doggy/active/body/doggyactivelefthandjobpenis.png", "doggyactivepenis":"img/sex/doggy/active/body/doggyactivepenis.png", "doggyactivepenisvirgin":"img/sex/doggy/active/body/doggyactivepenisvirgin.png", "doggyactivepush":"img/sex/doggy/active/body/doggyactivepush.png", "doggyactivepushlight":"img/sex/doggy/active/body/doggyactivepushlight.png", "doggyactiverighthandjob":"img/sex/doggy/active/body/doggyactiverighthandjob.png", "doggyactiverighthandjobpenis":"img/sex/doggy/active/body/doggyactiverighthandjobpenis.png", "doggyactiveeyelids":"img/sex/doggy/active/doggyactiveeyelids.png", "doggyactiveclosedmouth":"img/sex/doggy/active/body/doggyactiveclosedmouth.png", "activebeastlefthand":"img/sex/doggy/frontbeast/activebeastlefthand.png", "activebeastlefthandpenis":"img/sex/doggy/frontbeast/activebeastlefthandpenis.png", "activebeastrighthand":"img/sex/doggy/frontbeast/activebeastrighthand.png", "activebeastrighthandpenis":"img/sex/doggy/frontbeast/activebeastrighthandpenis.png", "activebearlefthand":"img/sex/doggy/frontbeast/bear/activebearlefthand.png", "activebearlefthandpenis":"img/sex/doggy/frontbeast/bear/activebearlefthandpenis.png", "activebearrighthand":"img/sex/doggy/frontbeast/bear/activebearrighthand.png", "activebearrighthandpenis":"img/sex/doggy/frontbeast/bear/activebearrighthandpenis.png", "activecatlefthand":"img/sex/doggy/frontbeast/cat/activecatlefthand.png", "activecatlefthandpenis":"img/sex/doggy/frontbeast/cat/activecatlefthandpenis.png", "activecatrighthand":"img/sex/doggy/frontbeast/cat/activecatrighthand.png", "activecatrighthandpenis":"img/sex/doggy/frontbeast/cat/activecatrighthandpenis.png", "activedolphinlefthand":"img/sex/doggy/frontbeast/dolphin/activedolphinlefthand.png", "activedolphinlefthandpenis":"img/sex/doggy/frontbeast/dolphin/activedolphinlefthandpenis.png", "activedolphinrighthand":"img/sex/doggy/frontbeast/dolphin/activedolphinrighthand.png", "activedolphinrighthandpenis":"img/sex/doggy/frontbeast/dolphin/activedolphinrighthandpenis.png", "doggyactiveshadow":"img/sex/doggy/active/body/doggyactiveshadow.png", "doggyactivechastitycagepenis":"img/sex/doggy/active/body/doggyactivechastitycagepenis.png", "doggyactivechastitycagepenissmall":"img/sex/doggy/active/body/doggyactivechastitycagepenissmall.png", "doggyactivestrapon":"img/sex/doggy/active/body/doggyactivepenisvirgin.png", "doggyanalentrance":"img/sex/doggy/doggyanalentrance.png", "doggyanalimminent":"img/sex/doggy/doggyanalimminent.png", "doggyoralentrance":"img/sex/doggy/doggyoralentrance.png", "doggyoralimminent":"img/sex/doggy/doggyoralimminent.png", "doggyvaginalentrance":"img/sex/doggy/doggyvaginalentrance.png", "doggyvaginalimminent":"img/sex/doggy/doggyvaginalimminent.png", "doggyactiveanal":"img/sex/doggy/active/body/doggyactiveanal.png", "doggyactiveanaldap":"img/sex/doggy/active/body/doggyactiveanaldap.png", "doggyactiveanaldpp":"img/sex/doggy/active/body/doggyactiveanaldpp.png", "doggyactivecheeks":"img/sex/doggy/active/body/doggyactivecheeks.png", "doggyactivechest":"img/sex/doggy/active/body/doggyactivechest.png", "doggyactivefeetjobpenis":"img/sex/doggy/active/body/doggyactivefeetjobpenis.png", "doggyactivefencing":"img/sex/doggy/active/body/doggyactivefencing.png", "doggyactivelefthandjobpenis":"img/sex/doggy/active/body/doggyactivelefthandjobpenis.png", "doggyactiverighthandjobpenis":"img/sex/doggy/active/body/doggyactiverighthandjobpenis.png", "doggyactiveoral":"img/sex/doggy/active/body/doggyactiveoral.png", "doggyactivethighs":"img/sex/doggy/active/body/doggyactivethighs.png", "doggyactivevaginal":"img/sex/doggy/active/body/doggyactivevaginal.png", "doggyactivevaginaldp":"img/sex/doggy/active/body/doggyactivevaginaldp.png", "doggyactivepreggybelly":"img/sex/doggy/active/body/preggyBelly/pregnancy_belly_" } }, "missionary":{ "t":{ "activearmsbound":"img/sex/missionaryRed/active/body/activearmsbound.png", "activebase":"img/sex/missionaryRed/active/body/activebase.png", "activebaseleftarm":"img/sex/missionaryRed/active/body/activebaseleftarm.png", "activebaselegl":"img/sex/missionaryRed/active/body/activebaselegl.png", "activebaselegldown":"img/sex/missionaryRed/active/body/activebaselegldown.png", "activebaselegr":"img/sex/missionaryRed/active/body/activebaselegr.png", "activebaselegrdown":"img/sex/missionaryRed/active/body/activebaselegrdown.png", "activebaserightarm":"img/sex/missionaryRed/active/body/activebaserightarm.png", "activebaserightarmstroke":"img/sex/missionaryRed/active/body/activebaserightarmstroke.png", "activeblush1":"img/sex/missionaryRed/active/body/activeblush1.png", "activeblush2":"img/sex/missionaryRed/active/body/activeblush2.png", "activeblush3":"img/sex/missionaryRed/active/body/activeblush3.png", "activeblush4":"img/sex/missionaryRed/active/body/activeblush4.png", "activeblush5":"img/sex/missionaryRed/active/body/activeblush5.png", "activemouth":"img/sex/missionaryRed/active/body/activemouth.png", "freckles":"img/sex/missionaryRed/active/body/freckles.png", "breastsTiny":"img/sex/missionaryRed/active/body/activebreaststiny.png", "breastsSmall":"img/sex/missionaryRed/active/body/activebreastssmall.png", "breastsLarge":"img/sex/missionaryRed/active/body/activebreastslarge.png", "breastsHuge":"img/sex/missionaryRed/active/body/activebreastshuge.png", "activefeetjob":"img/sex/missionaryRed/active/body/activefeetjob.png", "activefeetjobpenis":"img/sex/missionaryRed/active/body/activefeetjobpenis.png", "activeleftarmbound":"img/sex/missionaryRed/active/body/activeleftarmbound.png", "activelefthandjob":"img/sex/missionaryRed/active/body/activelefthandjob.png", "activelefthandjobpenis":"img/sex/missionaryRed/active/body/activelefthandjobpenis.png", "activepenis":"img/sex/missionaryRed/active/body/activepenis.png", "activepenisdown":"img/sex/missionaryRed/active/body/activepenisdown.png", "activepenisvirgin":"img/sex/missionaryRed/active/body/activepenisvirgin.png", "activepenisvirgindown":"img/sex/missionaryRed/active/body/activepenisvirgindown.png", "activepush":"img/sex/missionaryRed/active/body/activepush.png", "activepushlight":"img/sex/missionaryRed/active/body/activepushlight.png", "activerighthandjob":"img/sex/missionaryRed/active/body/activerighthandjob.png", "activerighthandjobpenis":"img/sex/missionaryRed/active/body/activerighthandjobpenis.png", "activeeyelids":"img/sex/missionaryRed/active/activeeyelids.png", "activeshadow":"img/sex/missionaryRed/active/body/activeshadow.png", "activechastitycagepenis":"img/sex/missionaryRed/active/body/activechastitycagepenis.png", "activechastitycagedownpenis":"img/sex/missionaryRed/active/body/activechastitycagedownpenis.png", "activechastitycagedownpenissmall":"img/sex/missionaryRed/active/body/activechastitycagedownpenissmall.png", "activechastitycagedownpenisflat":"img/sex/missionaryRed/active/body/activechastitycagedownpenisflat.png", "activeclosedmouth":"img/sex/missionaryRed/active/body/activeclosedmouth.png", "activestrapon":"img/sex/missionaryRed/active/body/activepenisvirgin.png", "activestrapondown":"img/sex/missionaryRed/active/body/activepenisvirgindown.png", "analentrance":"img/sex/missionaryRed/analentrance.png", "vaginalentrance":"img/sex/missionaryRed/vaginalentrance.png", "activeanal":"img/sex/missionaryRed/active/body/activeanal.png", "activeanaldoublemissionary":"img/sex/missionaryRed/active/body/activeanaldoublemissionary.png", "activechest":"img/sex/missionaryRed/active/body/activechest.png", "activefeetjobpenis":"img/sex/missionaryRed/active/body/activefeetjobpenis.png", "activeanal":"img/sex/missionaryRed/active/body/activeanal.png", "activefencing":"img/sex/missionaryRed/active/body/activefencing.png", "activelefthandjobpenis":"img/sex/missionaryRed/active/body/activelefthandjobpenis.png", "activerighthandjobpenis":"img/sex/missionaryRed/active/body/activerighthandjobpenis.png", "activeoral":"img/sex/missionaryRed/active/body/activeoral.png", "activethighs":"img/sex/missionaryRed/active/body/activethighs.png", "activevaginal":"img/sex/missionaryRed/active/body/activevaginal.png", "activevaginaldouble":"img/sex/missionaryRed/active/body/activevaginaldouble.png", "activepreggybelly":"img/sex/missionaryRed/active/body/preggyBelly/pregnancy_belly_" }, "f":{ "activearmsbound":"img/sex/missionary/active/body/activearmsbound.png", "activebase":"img/sex/missionary/active/body/activebase.png", "activebaseleftarm":"img/sex/missionary/active/body/activebaseleftarm.png", "activebaselegl":"img/sex/missionary/active/body/activebaselegl.png", "activebaselegldown":"img/sex/missionary/active/body/activebaselegldown.png", "activebaselegr":"img/sex/missionary/active/body/activebaselegr.png", "activebaselegrdown":"img/sex/missionary/active/body/activebaselegrdown.png", "activebaserightarm":"img/sex/missionary/active/body/activebaserightarm.png", "activebaserightarmstroke":"img/sex/missionary/active/body/activebaserightarmstroke.png", "activeblush1":"img/sex/missionary/active/body/activeblush1.png", "activeblush2":"img/sex/missionary/active/body/activeblush2.png", "activeblush3":"img/sex/missionary/active/body/activeblush3.png", "activeblush4":"img/sex/missionary/active/body/activeblush4.png", "activeblush5":"img/sex/missionary/active/body/activeblush5.png", "activemouth":"img/sex/missionary/active/body/activemouth.png", "freckles":"img/sex/missionary/active/body/freckles.png", "breastsTiny":"img/sex/missionary/active/body/activebreaststiny.png", "breastsSmall":"img/sex/missionary/active/body/activebreastssmall.png", "breastsLarge":"img/sex/missionary/active/body/activebreastslarge.png", "breastsHuge":"img/sex/missionary/active/body/activebreastshuge.png", "activefeetjob":"img/sex/missionary/active/body/activefeetjob.png", "activefeetjobpenis":"img/sex/missionary/active/body/activefeetjobpenis.png", "activeleftarmbound":"img/sex/missionary/active/body/activeleftarmbound.png", "activelefthandjob":"img/sex/missionary/active/body/activelefthandjob.png", "activelefthandjobpenis":"img/sex/missionary/active/body/activelefthandjobpenis.png", "activepenis":"img/sex/missionary/active/body/activepenis.png", "activepenisdown":"img/sex/missionary/active/body/activepenisdown.png", "activepenisvirgin":"img/sex/missionary/active/body/activepenisvirgin.png", "activepenisvirgindown":"img/sex/missionary/active/body/activepenisvirgindown.png", "activepush":"img/sex/missionary/active/body/activepush.png", "activepushlight":"img/sex/missionary/active/body/activepushlight.png", "activerighthandjob":"img/sex/missionary/active/body/activerighthandjob.png", "activerighthandjobpenis":"img/sex/missionary/active/body/activerighthandjobpenis.png", "activeeyelids":"img/sex/missionary/active/activeeyelids.png", "activeshadow":"img/sex/missionary/active/body/activeshadow.png", "activechastitycagepenis":"img/sex/missionary/active/body/activechastitycagepenis.png", "activechastitycagedownpenis":"img/sex/missionary/active/body/activechastitycagedownpenis.png", "activechastitycagedownpenissmall":"img/sex/missionary/active/body/activechastitycagedownpenissmall.png", "activechastitycagedownpenisflat":"img/sex/missionary/active/body/activechastitycagedownpenisflat.png", "activeclosedmouth":"img/sex/missionary/active/body/activeclosedmouth.png", "activestrapon":"img/sex/missionary/active/body/activepenisvirgin.png", "activestrapondown":"img/sex/missionary/active/body/activepenisvirgindown.png", "analentrance":"img/sex/missionary/analentrance.png", "vaginalentrance":"img/sex/missionary/vaginalentrance.png", "activeanal":"img/sex/missionary/active/body/activeanal.png", "activeanaldoublemissionary":"img/sex/missionary/active/body/activeanaldoublemissionary.png", "activechest":"img/sex/missionary/active/body/activechest.png", "activefeetjobpenis":"img/sex/missionary/active/body/activefeetjobpenis.png", "activeanal":"img/sex/missionary/active/body/activeanal.png", "activefencing":"img/sex/missionary/active/body/activefencing.png", "activelefthandjobpenis":"img/sex/missionary/active/body/activelefthandjobpenis.png", "activerighthandjobpenis":"img/sex/missionary/active/body/activerighthandjobpenis.png", "activeoral":"img/sex/missionary/active/body/activeoral.png", "activethighs":"img/sex/missionary/active/body/activethighs.png", "activevaginal":"img/sex/missionary/active/body/activevaginal.png", "activevaginaldouble":"img/sex/missionary/active/body/activevaginaldouble.png", "activepreggybelly":"img/sex/missionary/active/body/preggyBelly/pregnancy_belly_" } }, "close":{ "missionary":{ "t":{ "anus":"img/sex/closeRed/missionary/anus.png", "anuspenetrate":"img/sex/closeRed/missionary/anuspenetrate.png", "penis":"img/sex/closeRed/missionary/penis.png", "penisparasite":"img/sex/closeRed/missionary/penisparasite.png", "penisentrance":"img/sex/closeRed/missionary/penisentrance.png", "penispenetrated":"img/sex/closeRed/missionary/penispenetrated.png", "chastitypenis":"img/sex/closeRed/missionary/chastitypenis.png", "chastitypenisparasite":"img/sex/closeRed/missionary/chastitypenisparasite.png", "chastitypenissmall":"img/sex/closeRed/missionary/chastitypenissmall.png", "chastitypenisparasitesmall":"img/sex/closeRed/missionary/chastitypenisparasitesmall.png", "chastitypenisflat":"img/sex/closeRed/missionary/chastitypenisflat.png", "chastitypenisparasiteflat":"img/sex/closeRed/missionary/chastitypenisparasiteflat.png", "penisbase":"img/sex/closeRed/missionary/penisbase.png", "futapenisnoballs":"img/sex/closeRed/missionary/futapenisnoballs.png", "futapenisbase":"img/sex/closeRed/missionary/futapenisbase.png", "vagina":"img/sex/closeRed/missionary/vagina.png", "vaginaaroused":"img/sex/closeRed/missionary/vaginaaroused.png", "futavagina":"img/sex/closeRed/missionary/futavagina.png", "futavaginaparasite":"img/sex/closeRed/missionary/futavaginaparasite.png", "futavaginanoballs":"img/sex/closeRed/missionary/futavaginanoballs.png", "vaginaChastityBase":"img/sex/closeRed/missionary/chastityBelt/vaginaBase.png", "vaginaChastityMan":"img/sex/closeRed/missionary/chastityBelt/man.png", "vaginapenetrate":"img/sex/closeRed/missionary/vaginapenetrate.png", "vaginapenetratebig":"img/sex/closeRed/missionary/vaginapenetratebig.png", "penis1":"img/sex/closeRed/missionary/beast/penis1.png", "penisparasite1":"img/sex/closeRed/missionary/beast/penisparasite1.png", "penisentrance1":"img/sex/closeRed/missionary/beast/penisentrance1.png", "penisparasiteentrance1":"img/sex/closeRed/missionary/beast/penisparasiteentrance1.png", "penisimminent1":"img/sex/closeRed/missionary/beast/penisimminent1.png", "penisparasiteimminent1":"img/sex/closeRed/missionary/beast/penisparasiteimminent1.png", "penisnoballs":"img/sex/closeRed/missionary/beast/penisnoballs.png", "penisentrancenoballs":"img/sex/closeRed/missionary/beast/penisentrancenoballs.png", "penisimminentnoballs":"img/sex/closeRed/missionary/beast/penisimminentnoballs.png", "chest":"img/sex/closeRed/chest/" }, "f":{ "anus":"img/sex/close/missionary/anus.png", "anuspenetrate":"img/sex/close/missionary/anuspenetrate.png", "penis":"img/sex/close/missionary/penis.png", "penisparasite":"img/sex/close/missionary/penisparasite.png", "penisentrance":"img/sex/close/missionary/penisentrance.png", "penispenetrated":"img/sex/close/missionary/penispenetrated.png", "chastitypenis":"img/sex/close/missionary/chastitypenis.png", "chastitypenisparasite":"img/sex/close/missionary/chastitypenis.png", "chastitypenissmall":"img/sex/close/missionary/chastitypenissmall.png", "chastitypenisparasitesmall":"img/sex/close/missionary/chastitypenissmall.png", "chastitypenisflat":"img/sex/close/missionary/chastitypenisflat.png", "chastitypenisparasiteflat":"img/sex/close/missionary/chastitypenisflat.png", "penisbase":"img/sex/close/missionary/penisbase.png", "futapenisnoballs":"img/sex/close/missionary/futapenisnoballs.png", "futapenisbase":"img/sex/close/missionary/futapenisbase.png", "vagina":"img/sex/close/missionary/vagina.png", "vaginaaroused":"img/sex/close/missionary/vaginaaroused.png", "futavagina":"img/sex/close/missionary/futavagina.png", "futavaginaparasite":"img/sex/close/missionary/futavaginaparasite.png", "futavaginanoballs":"img/sex/close/missionary/futavaginanoballs.png", "vaginaChastityBase":"img/sex/close/missionary/chastityBelt/vaginaBase.png", "vaginaChastityMan":"img/sex/close/missionary/chastityBelt/man.png", "vaginapenetrate":"img/sex/close/missionary/vaginapenetrate.png", "vaginapenetratebig":"img/sex/close/missionary/vaginapenetratebig.png", "penis1":"img/sex/close/missionary/beast/penis1.png", "penisparasite1":"img/sex/close/missionary/beast/penisparasite1.png", "penisentrance1":"img/sex/close/missionary/beast/penisentrance1.png", "penisparasiteentrance1":"img/sex/close/missionary/beast/penisparasiteentrance1.png", "penisimminent1":"img/sex/close/missionary/beast/penisimminent1.png", "penisparasiteimminent1":"img/sex/close/missionary/beast/penisparasiteimminent1.png", "penisnoballs":"img/sex/close/missionary/beast/penisnoballs.png", "penisentrancenoballs":"img/sex/close/missionary/beast/penisentrancenoballs.png", "penisimminentnoballs":"img/sex/close/missionary/beast/penisimminentnoballs.png", "chest":"img/sex/close/chest/" } }, "doggy":{ "t":{ "anus":"img/sex/closeRed/doggy/anus.png", "anuspenetrate":"img/sex/closeRed/doggy/anuspenetrate.png", "penis":"img/sex/closeRed/doggy/penis.png", "penisparasite":"img/sex/closeRed/doggy/penisparasite.png", "penisentrance":"img/sex/closeRed/doggy/penisentrance.png", "penispenetrated":"img/sex/closeRed/doggy/penispenetrated.png", "chastitypenis":"img/sex/closeRed/doggy/chastitypenis.png", "chastitypenisparasite":"img/sex/closeRed/doggy/chastitypenisparasite.png", "chastitypenissmall":"img/sex/closeRed/doggy/chastitypenissmall.png", "chastitypenisparasitesmall":"img/sex/closeRed/doggy/chastitypenisparasitesmall.png", "chastitypenisflat":"img/sex/closeRed/doggy/chastitypenisflat.png", "chastitypenisparasiteflat":"img/sex/closeRed/doggy/chastitypenisparasiteflat.png", "penisbase":"img/sex/closeRed/doggy/penisbase.png", "futapenisnoballs":"img/sex/closeRed/doggy/futapenisnoballs.png", "futapenisbase":"img/sex/closeRed/doggy/futapenisbase.png", "vagina":"img/sex/closeRed/doggy/vagina.png", "vaginaaroused":"img/sex/closeRed/doggy/vaginaaroused.png", "futavagina":"img/sex/closeRed/doggy/futavagina.png", "futavaginaparasite":"img/sex/closeRed/doggy/futavaginaparasite.png", "futavaginanoballs":"img/sex/closeRed/doggy/futavaginanoballs.png", "vaginaChastityBase":"img/sex/closeRed/doggy/chastityBelt/vaginaBase.png", "vaginaChastityMan":"img/sex/closeRed/doggy/chastityBelt/man.png", "vaginapenetrate":"img/sex/closeRed/doggy/vaginapenetrate.png", "vaginapenetratebig":"img/sex/closeRed/doggy/vaginapenetratebig.png", "penis1":"img/sex/closeRed/doggy/beast/penis1.png", "penisparasite1":"img/sex/closeRed/doggy/beast/penisparasite1.png", "penisentrance1":"img/sex/closeRed/doggy/beast/penisentrance1.png", "penisparasiteentrance1":"img/sex/closeRed/doggy/beast/penisparasiteentrance1.png", "penisimminent1":"img/sex/closeRed/doggy/beast/penisimminent1.png", "penisparasiteimminent1":"img/sex/closeRed/doggy/beast/penisparasiteimminent1.png", "penisnoballs":"img/sex/closeRed/doggy/beast/penisnoballs.png", "penisentrancenoballs":"img/sex/closeRed/doggy/beast/penisentrancenoballs.png", "penisimminentnoballs":"img/sex/closeRed/doggy/beast/penisimminentnoballs.png", "chest":"img/sex/closeRed/chest/" }, "f":{ "anus":"img/sex/close/doggy/anus.png", "anuspenetrate":"img/sex/close/doggy/anuspenetrate.png", "penis":"img/sex/close/doggy/penis.png", "penisparasite":"img/sex/close/doggy/penisparasite.png", "penisentrance":"img/sex/close/doggy/penisentrance.png", "penispenetrated":"img/sex/close/doggy/penispenetrated.png", "chastitypenis":"img/sex/close/doggy/chastitypenis.png", "chastityparasitepenis":"img/sex/close/doggy/chastitypenis.png", "chastitypenissmall":"img/sex/close/doggy/chastitypenissmall.png", "chastitypenisparasitesmall":"img/sex/close/doggy/chastitypenissmall.png", "chastitypenisflat":"img/sex/close/doggy/chastitypenisflat.png", "chastitypenisparasiteflat":"img/sex/close/doggy/chastitypenisflat.png", "penisbase":"img/sex/close/doggy/penisbase.png", "futapenisnoballs":"img/sex/close/doggy/futapenisnoballs.png", "futapenisbase":"img/sex/close/doggy/futapenisbase.png", "vagina":"img/sex/close/doggy/vagina.png", "vaginaaroused":"img/sex/close/doggy/vaginaaroused.png", "futavagina":"img/sex/close/doggy/futavagina.png", "futavaginaparasite":"img/sex/close/doggy/futavaginaparasite.png", "futavaginanoballs":"img/sex/close/doggy/futavaginanoballs.png", "vaginaChastityBase":"img/sex/close/doggy/chastityBelt/vaginaBase.png", "vaginaChastityMan":"img/sex/close/doggy/chastityBelt/man.png", "vaginapenetrate":"img/sex/close/doggy/vaginapenetrate.png", "vaginapenetratebig":"img/sex/close/doggy/vaginapenetratebig.png", "penis1":"img/sex/close/doggy/beast/penis1.png", "penisparasite1":"img/sex/close/doggy/beast/penisparasite1.png", "penisentrance1":"img/sex/close/doggy/beast/penisentrance1.png", "penisparasiteentrance1":"img/sex/close/doggy/beast/penisparasiteentrance1.png", "penisimminent1":"img/sex/close/doggy/beast/penisimminent1.png", "penisparasiteimminent1":"img/sex/close/doggy/beast/penisparasiteimminent1.png", "penisnoballs":"img/sex/close/doggy/beast/penisnoballs.png", "penisentrancenoballs":"img/sex/close/doggy/beast/penisentrancenoballs.png", "penisimminentnoballs":"img/sex/close/doggy/beast/penisimminentnoballs.png", "chest":"img/sex/close/chest/" } } } }>> <<set setup.npcSkinDefaults to { "white":"hue-rotate(30deg) saturate(0.20) brightness(4.10)", "black":"hue-rotate(52deg) saturate(0.45) brightness(1.70)", "ghost":"hue-rotate(30deg) saturate(0.10) brightness(4.50) opacity(80%)" }>> <<set setup.shadowImage to { "doggy": [ "sexbase", "sexlegsdoggy", "sexbasefront", "beastforeground", "shadowman", "shadowmanbackground", "shadowmanforeground" ], "missionary": [ "sexbase", "sexlower", "sexhair", "sexbasefront", "layer-sexwings", "halo-front", "sexrightleg", "sexarmsbound", "sexaboveclothes", "foreground", "sexbaseoverlay", "beastforeground", "shadowman", "shadowmanbackground", "shadowmanforeground" ] }>> <<set setup.bodyliquid to { /* edit the bodyparts list to add a new bodypart, or the liquidtypes list to add a new liquid */ "bodyparts": [ "neck","rightarm","leftarm","thigh","bottom","tummy","chest","face","hair","feet","vaginaoutside","vagina","penis","anus","mouth" ], "outerbodyparts": [ "neck","rightarm","leftarm","thigh","bottom","tummy","chest","face","hair","feet","vaginaoutside","penis" ], "innerbodyparts": [ "vagina","anus","mouth" ], "liquidtype": [ "goo", "semen", "nectar" ], combined(bodypart){ return $player.bodyliquid[bodypart].goo + $player.bodyliquid[bodypart].semen + $player.bodyliquid[bodypart].nectar; } }>> <<set setup.bodyparts to ["forehead", "left_cheek", "right_cheek", "left_shoulder", "right_shoulder", "breasts", "back", "left_bottom", "right_bottom", "pubic", "left_thigh", "right_thigh"]>> <<set setup.clothingLayer to { "all": ["over_upper","over_lower","over_head","upper","lower","under_upper","under_lower","head","face","neck","hands","handheld","legs","feet"], "body": ["upper","lower","under_upper","under_lower","head","face","neck","hands","handheld","legs","feet"], "torso": ["over_upper","over_lower","upper","lower","under_upper","under_lower"], "torso_inner": ["upper","lower","under_upper","under_lower"], "torso_outer": ["over_upper","over_lower","upper","lower"], "over": ["over_upper","over_lower","over_head"], "upper": ["upper", "under_upper"], "lower": ["lower","under_lower"] }>> /*All items that should never be placed in the wardrobe*/ <<set setup.wardrobeSkip to ["naked","towel top","large towel","towel skirt","large towel bottom","plant skirt","plant top"]>> <<set setup.actionsTypes to { 'personTypes': [ 'Everyone', 'Strangers', 'Acquaintances', 'Alternative', 'Defiant', 'Submissive', 'Animals', 'Tentacles', 'Bailey', 'Robin', 'Whitney', 'Kylar', 'Sydney', 'Eden', 'Avery', 'Leighton', 'Alex', 'Ivory Wraith', 'Black Wolf', 'Great Hawk' ], 'combatTypes': [ 'rape', 'consensual' ], 'actionTypes': [ 'leftaction', 'rightaction', 'feetaction', 'mouthaction', 'penisaction', 'vaginaaction', 'anusaction', 'askActions', 'regrab' ] }>> /* Temporary until location rework */ <<set setup.majorAreas to [ "Orphanage", "Bedroom", "Barb Street", "Cliff Street", "Connudatus Street", "Danube Street", "Domus Street", "Elk Street", "Harvest Street", "High Street", "Mer Street", "Nightingale Street", "Oxford Street", "Starfish Street", "Wolf Street", "Residential alleyways", "Commercial alleyways", "Industrial alleyways", "Park", "Hallways", "Brothel", "Strip Club", "Beach", "Ocean Breeze", "Docks Work", "Residential Drain", "Commercial Drain", "Industrial Drain", "Forest", "Farmland", "Livestock Field", "Moor", "Forest Wolf Cave", "Wolf Cave", "Wolf Cave Clearing", "Asylum", "Asylum Cell", "Underground Cell", "Prison Cell", "Island", "Eden Cabin", "Bird Tower", ]>> /* Temporary until location rework */ <<set setup.passOutAreas to [...setup.majorAreas, "Sea", "Lake Underwater", "Sea Cliffs", "Sea Docks", "Sea Rocks", "Sea Beach", "Lake Shallows", "Lake Depths", "Lake Shallows Ice", "Lake Depths Ice", "Estate"]>> <<set setup.clothingStateIndex to {"chest": 6, "midriff": 5, "waist": 4, "thighs": 3, "knees": 2, "ankles": 1}>> <<set setup.clothingStateNextDown to { "chest": "midriff", "midriff": "waist", "waist": "thighs", "thighs": "knees", "knees": "ankles", "ankles": 0, }>> <<set setup.clothingStateNextUp to { "chest": 0, "midriff": "chest", "waist": "midriff", "thighs": "waist", "knees": "thighs", "ankles": "knees", }>> <<set setup.npcPenisRemarks to { "big": ["Your body feels weak at the sight.","You shudder at the sight.","You moan involuntarily at its size.","You gasp at its massive girth.","Your thighs feel weak as you look on."], "small": ["You stifle a laugh at the sight.","You smirk at the sight.","You stifle a chuckle at the sight.","You stifle a giggle at the sight.","You try not to laugh."] }>> <<set setup.breastsizes to ["", "budding", "tiny", "small", "pert", "modest", "full", "large", "ample", "massive", "huge", "gigantic", "enormous"]>> <<set setup.penisSizes to ["micro", "mini", "tiny", "small", "normal", "large", "enormous"]>> <<set setup.NPCVirginityTypes to {"anal": false, "oral": false, "penile": false, "vaginal": false, "handholding": false, "temple": false, "kiss": false}>> <<set setup.NPCVirginityTypesVirgin to {"anal": true, "oral": true, "penile": true, "vaginal": true, "handholding": true, "temple": false, "kiss": true}>> <<set setup.pharmacyItems to { "penis_reduction": { "type": "penis reduction", "name": "penis reduction pills", "price": 15000, }, "penis_growth": { "type": "penis growth", "name": "penis growth pills", "price": 15000, }, "penis_blocker": { "type": "penis blocker", "name": "penis growth blocker pills", "price": 20000, }, "breast_reduction": { "type": "breast reduction", "name": "breast reduction pills", "price": 15000, }, "breast_growth": { "type": "breast growth", "name": "breast growth pills", "price": 15000, }, "breast_blocker": { "type": "breast blocker", "name": "breast growth blocker pills", "price": 20000, }, "bottom_reduction": { "type": "bottom reduction", "name": "bottom reduction pills", "price": 15000, }, "bottom_growth": { "type": "bottom growth", "name": "bottom growth pills", "price": 15000, }, "bottom_blocker": { "type": "bottom blocker", "name": "bottom growth blocker pills", "price": 20000, }, "Anti-Parasite Cream": { "type": "Anti-Parasite Cream", "name": "anti-parasite cream", "price": 25000, }, "condoms": { "type": "condoms", "name": "condoms", "price": 6000, }, "pregnancy_test": { "type": "pregnancy test", "name": "pregnancy test", "price": 2500, }, "fertility_pills": { "type": "fertility booster", "name": "fertility booster", "price": 50000, }, "contraceptive_pills": { "type": "contraceptive", "name": "contraceptive", "price": 25000, }, "Morning_After_pill": { "type": "Morning After pill", "name": "Morning After pill", "price": 200, }, "breast_pump": { "type": "Breast Pump", "name": "breast pump", "price": 5000, }, }>> <<set setup.estateBlackjack to { /* stats don't go down, so you can consider the money to be a temporary bypass ("I have £452501558102 so I'll be fine if I lose"), while the stat checks give a "I have won 21958125 games, I won't lose" confidence boost */ /* primary requirements given which the player can choose a given ante */ "primaryRequirements": [ { "message": "Win at least 10 rounds of blackjack, or have £2,500 on you.", "check": "$estatePersistent.totalRoundsWon gte 10" }, { "message": "Win at least £500 worth of bets, or have £5,000 on you.", "check": "$estatePersistent.totalBetMoneyMade gte 50000" }, { "message": "Win at least £1,000 worth of bets, or have £10,000 on you.", "check": "$estatePersistent.totalBetMoneyMade gte 100000" } ], /* alternatively, the minimum amount of money you need to have for PC to be confident enough to risk betting it */ "confidenceMoney": [250000, 500000, 1000000], /* low max bet usually is used by casinos to make sure players don't make more than the casino can pay out (or rather, makes it safer for the casino) however, there's also the fact that you can use low bets, or a small ratio between the min and max bet prevents the usage of the martingale strategy */ "betSteps": [100, 200, 500 ], "baseMaxBets": [2500, 5000, 10000 ], "anteSizes": [25000, 50000, 100000], }>> <<set setup.parasiteTypesPerBodypart to { "nipples": ["none", "urchin", "slime"], "penis": ["none", "urchin", "slime"], "clit": ["none", "urchin", "slime"], "bottom": ["none", "urchin", "slime", "maggot"], "left_thigh": ["none", "maggot"], "right_thigh": ["none", "maggot"], "left_arm": ["none", "maggot"], "right_arm": ["none", "maggot"], "left_ear": ["none", "slime"], "right_ear": ["none", "slime"], "tummy": ["none", "urchin", "slime", "maggot"], }>> /*Note: Pregnancy - adjust as require and ensure that <<npcPregnancyUpdater>> is running in backComp*/ /*Should match with $NPCNameList*/ /*FOR `canBePregnant` DO NOT REMOVE FROM LIST ONCE ENABLED FOR OFFICAL VERSIONS, IT WILL DELETE EXISTING PREGNANCIES FOR NPCS*/ /*For `typesEnabled` only include pregnancy types that can be achieved ingame, parasites or their sub-types should never be included*/ <<set setup.pregnancy to { canBePregnant: ["Alex","Black Wolf","Great Hawk"], canImpregnatePlayer: ["Alex","Black Wolf","Great Hawk"], infertile: ["Bailey", "Leighton"], ignoresIncompleteCheck: ["Ivory Wraith"], typesEnabled: ["human", "wolf", "wolfboy", "wolfgirl", "hawk", "harpy"], randomAlwaysKeep: ["wolf_cave"] }>> /* The list of art styles for the face. Please follow this convention: */ /* { "Name presented ingame to players": "actual value within the code / folder name" } */ <<set setup.faceStyleOptions to { "Traditional": "default" }>> /* The list of $facevariant options grouped by $facestyle. Please follow this convention: */ /* { "$facestyle value": */ /* { "Face variant name": "actual value / folder name" } */ /* } */ /* Please update whenever a new face variant or face style is added */ /* The first variant of a style should always be assigned the value "default" within the code, regardless of */ /* what it is presented as to players. As an example: players will see it called "Gentle" variant, but its value */ /* in code, and its folder name shall be "default" */ <<set setup.faceVariantOptions to { "default": { "Gentle": "default", "Catty": "catty", "Aloof": "aloof", "Sweet": "sweet", "Foxy": "foxy" }, }>> <<set setup.badEndReasonText = { abductedMoor: "Abducted by Remy's goons on the moor", arrested: "Arrested by corrupt cops", asylumBlackWolf: "Rescued by the Black Wolf", asylumDischarged: "Discharged by Harper", asylumDischargedLabour: "Discharged by Harper after giving birth", asylumEden: "Rescued by Eden", asylumHospital: "Hospital bed examination", asylumHospital2: "Asked for an emergency appointment", asylumSabotage: "Escaped by sabotage", asylumTentacle: "Escaped through your mirror in the tentacle plains", asylumTentacleAngel: "Escaped by the tentacle plains with angelic power", cardCheating: "Caught cheating at cards", edenAccepted: "Accepted Eden", edenEscape: "Escaped", edenEscapeNight: "Escaped at night", edenHunted: "Hunted and caught by Eden", edenHuntedSubmitted: "Hunted and submitted to Eden", escaped: "Escaped", escapedSoaring: "Escaped by soaring away", kylarAbduction: "", kylarAbductionLeave: "Escaped", kylarAbductionRescued: "Rescued by Jordan and Bailey", kylarAbductionReleased: "Released by Kylar", kylarStockholm: "Accepted by Kylar", kylarStockholmRefused: "Accepted by Kylar", labour: "Went into labour", minesEscapedBasement: "Found an entrance to a basement", minesEscapedDrain: "Found the town drains", minesEscapedPassoutDrain: "Passed out and found the town drains", minesSold: "Sold to the mines", poundMistake: "Mistaken for a dog", poundSubmitted: "Submitted after freeing the black dog", poundCaught: "Caught after freeing the black dog", poundEscapeCages: "Escaped after opening all of the cages", poundEscapeDoor: "Escaped through the metal door", poundEscapeWon: "Won the pound show", prisonWren: "Escaped on Wren's boat", prisonWrenKylar: "Escaped on Wren's boat with Kylar", prisonRut: "Passed out in the rut", prisonSentenced: "Sentenced to prison", prisonServed: "Served your sentence", prisonSwimming: "Escaped by swimming away", soldBailey: "Sold by Bailey", soldBaileyRobin: "Sold with Robin by Bailey", soldBriar: "Sold out by Briar", tempPassout: "Caught when passed out due to extreme temperatures", uDungeonDefeated: "Defeated molester and escaped", uDungeonDumped: "Dumped down a hole", uDungeonLake: "Escaped into the underground lake", uDungeonLakeRobin: "Escaped into the underground lake with Robin", uDungeonOutran: "Outran the hunters", uDungeonOutranRobin: "Outran the hunters with Robin", uDungeonPolice: "Abducted while trying to escape the police", uDungeonPresented: "Escaped while being presented", uDungeonSaved: "Saved by a plant person", uFarmBetrayedLost: "Lost a fight after being betrayed by the van owner", uFarmBetrayed: "Betrayed by the van owner", uFarmEscaptedCentaurKiss: "Escaped after kissing the centaur", uFarmEscaptedCentaurThank: "Escaped after thanking the centaur", uFarmEscaptedHorse: "Escaped on a horse", uFarmEscaptedNightRiver: "Escaped into the river at night", uFarmEscaptedNightHole: "Escaped at night after digging a hole", wolfCaveCaptured: "", wolfCaveAccepted: "Accepted as a member of the pack", wolfCaveDiggingAHole: "Escaped after digging a hole", wolfCaveDefeated: "Defeated the pack", wolfCaveFeared: "Feared enough to walk away", wolfCaveTrusted: "Trusted enough to walk away", teleportCheater: "Teleported out. You cheater.", }>> <</widget>><<widget "variablesVersionUpdate">> /* * * * * * * * * * * * * * * * * * * OLD BACKWARDS COMPATIBILITY CODE * EDIT widget "backComp" FOR VERSIONS 0.3.4.8+ */ <<if $objectVersion is undefined>> <<set $objectVersion to {}>> <</if>> <<if $saveVersions is undefined>> <<set $saveVersions to [StartConfig.version]>> <<elseif $saveVersions.last() isnot StartConfig.version>> <<set $saveVersions.push(StartConfig.version)>> <</if>> <<if $saveId is undefined>> <<set $saveId to random(10000, 99999)>> <</if>> <<if $saveName is undefined>> <<set $saveName to "">> <</if>> <<if $player is undefined>> <<set $player to {}>> <<set $player.sex to $playergender>> <<set $player.gender to $playergender>> <<set $player.gender_appearance to $playergenderappearance>> <<unset $playergenderappearance>> <</if>> <<if $player.appearance isnot undefined>> <<set $player.gender_appearance to $player.appearance>> <<run delete $player.appearance>> <</if>> <<if $toplessgender isnot undefined>> <<set $player.gender_appearance_without_overwear to $toplessgender>> <<unset $toplessgender>> <</if>> <<if $player.virginity is undefined>> <<set $player.virginity to {anal:true,oral:true,penile:true,vaginal:true,temple:false,handholding:true,kiss:true}>> <<if $analvirginity is 0>> <<set $player.virginity.anal to false>> <</if>> <<if $oralvirginity is 0>> <<set $player.virginity.oral to false>> <</if>> <<if $penilevirginity is 0>> <<set $player.virginity.penile to false>> <</if>> <<if $vaginalvirginity is 0>> <<set $player.virginity.vaginal to false>> <</if>> <</if>> <<if $player.virginity.handholding is undefined>> <<set $player.virginity.handholding to true>> <<set $player.virginity.kiss to true>> <</if>> <<if $analvirginity isnot undefined>> <<unset $analvirginity>> <<unset $oralvirginity>> <<unset $penilevirginity>> <<unset $vaginalvirginity>> <<unset $temple_virginity>> <</if>> <<if $player.penisExist is undefined and $penisexist isnot undefined>> <<set $player.penisExist to ($penisexist is 1 ? true : false)>> <<set $player.vaginaExist to ($vaginaexist is 1 ? true : false)>> <</if>> <<if $player.ballsExist is undefined>> <<set $player.ballsExist to ($player.sex isnot "f")>> <</if>> <<if $clothing_update is undefined>><<set $clothing_update to 1>> <<clothinginit>> <<givestartclothing>> <</if>> <<if $outfit_update is undefined or $outfit_update lt 3>><<set $outfit_update to 3>> <<for _i to 0; _i lt $outfit.length; _i++>> <<if $outfit[_i].colors is undefined>> <<set $outfit[_i].colors to false>> <</if>> <<if $outfit[_i].over_upper is undefined>> <<set $outfit[_i].over_upper to "naked">> <<set $outfit[_i].over_lower to "naked">> <<set $outfit[_i].over_head to "naked">> <</if>> <<if $outfit[_i].type[1]>> <<set $outfit[_i].type[0] to $outfit[_i].type[1]>> <<set $outfit[_i].type.deleteAt(1)>> <</if>> <</for>> <</if>> <<if $NPCName>> <<if $NPCName[21].nam is "Remy" and $NPCName[22].nam is "Alex">>/*0.2.20.0 fix for Black Wolf/Quinn/Niki only being partially implemented in rare cases.*/ <<set $NPCNameList.delete("Black Wolf", "Quinn", "Niki", "Remy", "Alex")>> <<set $NPCName.deleteAt(21, 22)>>/*Resets Remy and Alex to ensure proper array order.*/ <</if>> <</if>> <<if $npcNamedVersion gte 2>> <<updateNewNamedNpcs>> <</if>> /* <<clothing_data>> Keeps clothing data up to date with new and changed items */ /* unnecessary because it is run in variables-static every time game is loaded */ <<if $npcListVersion isnot 2>> <<npcList>> <</if>> <<npcNamedUpdate>> /*Updates old Named NPC code to new system*/ <<if $availableMapsVersion isnot 3>> <<mapLocations>> <</if>> <<unset $avaliableMapsVersion>> <<if $parasite_update is undefined>><<set $parasite_update to 1>> <<parasiteinit>> <<if $penisparasite is 1>><<unset $penisparasite>> <<parasite penis urchin>> <<set $parasitestat -= 1>> <</if>> <<if $clitparasite is 1>><<unset $clitparasite>> <<parasite clit urchin>> <<set $parasitestat -= 1>> <</if>> <<if $chestparasite is 1>><<unset $chestparasite>> <<parasite nipples urchin>> <<set $parasitestat -= 1>> <</if>> <</if>> <<if $pubwhore is undefined>> <<set $pubwhore to 0>> <</if>> <<if $masturbationstat is undefined>> <<set $masturbationstat to 0>> <<set $masturbationorgasmstat to 0>> <<set $masturbationtimestat to 0>> <<set $masturbationorgasm to 0>> <</if>> <<if $blackchance is undefined>> <<set $blackchance to 10>> <</if>> <<if $angel is undefined>> <<set $angel to 0>> <<set $angelbuild to 0>> <</if>> <<if $angelBanish is undefined>> <<set $angelBanishMax to 0>> <<set $angelBanish to 0>> <<if $angel gte 4>> <<set $angelBanishMax to Math.floor($angelbuild / 10)>> <<set $angelBanish to $angelBanishMax>> <</if>> <</if>> <<if $demon is undefined>> <<set $demon to 0>> <</if>> <<if $demonbuild is undefined>> <<set $demonbuild to 0>> <</if>> <<if $demonabsorb is undefined>> <<set $demonabsorb to 0>> <</if>> <<if $upperwet is undefined>> <<set $upperwet to 0>> <<set $upperwetstage to 0>> <</if>> <<if $lowerwet is undefined>> <<set $lowerwet to 0>> <<set $lowerwetstage to 0>> <</if>> <<if $underlowerwet is undefined>> <<set $underlowerwet to 0>> <<set $underlowerwetstage to 0>> <<set $underupperwet to 0>> <<set $underupperwetstage to 0>> <<set $overlowerwet to 0>> <<set $overlowerwetstage to 0>> <<set $overupperwet to 0>> <<set $overupperwetstage to 0>> <</if>> <<if $schoolevent is undefined>> <<set $schoolevent to 0>> <<set $schooleventtimer to 5>> <</if>> <<if $stressmax is undefined or $stressmax is 10010>> <<set $stressmax to 10000>> <</if>> <<if $tirednessmax is undefined>> <<set $tirednessmax to 2000>> <</if>> <<if $physiquemax is undefined>> <<set $physiquemax to 20000>> <</if>> <<if $beautymax is undefined>> <<set $beautymax to 10000>> <</if>> <<if $malechance is undefined>> <<set $malechance to 50>> <<if $genderdisable is "f">> <<set $malechance to 100>> <<elseif $genderdisable is "m">> <<set $malechance to 0>> <<elseif $genderdisable is 90>> <<set $malechance to 90>> <<elseif $genderdisable is 10>> <<set $malechance to 10>> <</if>> <</if>> <<if $transformdisable is undefined>> <<set $transformdisable to "f">> <</if>> <<if $robindebtlimit is undefined and $docksrobinintro is 1>> <<set $robindebtlimit to 5>> <<if $robindebt gte $robindebtlimit>> <<set $robindebt to ($robindebtlimit - 1)>> <</if>> <</if>> <<if $robinrescued isnot undefined>> <<set $robindebtknown to 1>> <</if>> <<if $averygender isnot undefined>> <<for _npc range ["avery", "morgan", "kylar", "blackwolf"]>> <<run delete V[_npc + "gender"]>> <<run delete V[_npc + "genitals"]>> <</for>> <</if>> <<if $blackwolfmonster is undefined>> <<rng>> <<if $monsterchance gte $rng>> <<set $blackwolfmonster to 1>> <<else>> <<set $blackwolfmonster to 0>> <</if>> <</if>> <<if $genderknown is undefined>> <<set $genderknown to ["Robin", "Bailey"]>> <</if>> <<if $waterwash is undefined>> <<set $waterwash to 0>> <</if>> <<if C.npc.Whitney.state is undefined and C.npc.Whitney.init is 1>> <<set C.npc.Whitney.state to "active">> <<set C.npc.Whitney.dom to 10>> <</if>> <<if $bullytimeroutside is undefined>> <<set $bullytimeroutside to 0>> <</if>> <<if $bullyeventoutside is undefined>> <<set $bullyeventoutside to 0>> <</if>> <<if $whitneylust is undefined>> <<set $whitneylust to 0>> <</if>> <<if $upperoutfitcasual is undefined>> <<if $player.sex is "m">> <<set $upperoutfitcasual to "t-shirt">> <<set $loweroutfitcasual to "shorts">> <<set $underoutfitcasual to "Y fronts">> <<set $upperoutfitschool to "school shirt">> <<set $loweroutfitschool to "school shorts">> <<set $underoutfitschool to "Y fronts">> <<else>> <<set $upperoutfitcasual to "sundress">> <<set $loweroutfitcasual to "sundress skirt">> <<set $underoutfitcasual to "plain panties">> <<set $upperoutfitschool to "school shirt">> <<set $loweroutfitschool to "school skirt">> <<set $underoutfitschool to "plain panties">> <</if>> <</if>> <<if $famesex is undefined>> <<set $famesex to 0>> <</if>> <<if $famerape is undefined>> <<set $famerape to 0>> <</if>> <<if $pillsconsumed is undefined>> <<set $pillsconsumed to 0>> <</if>> <<if $famegood is undefined>> <<set $famegood to 0>> <</if>> <<if $famebusiness is undefined>> <<set $famebusiness to 0>> <</if>> <<if $arousalmax is undefined>> <<set $arousalmax to 10000>> <</if>> <<if $deviancy is undefined>> <<set $deviancy to 0>> <</if>> <<if $squidcount is undefined>> <<set $squidcount to 0>> <</if>> <<if $schoolevent is -1>> <<set $schoolevent to 1>> <</if>> <<if $baileydefeated is undefined>> <<set $baileydefeated to 0>> <<set $baileydefeatedlewd to 0>> <<set $baileydefeatedchain to 0>> <</if>> <<if $soldCount is undefined>> <<if $rentsale isnot undefined>> <<set $soldCount to $rentsale>> <<else>> <<set $soldCount to 0>> <</if>> <</if>> <<if $robinmoney is undefined>> <<set $robinmoney to 300>> <</if>> <<if $robinPayout is undefined>> <<set $robinPayout to 0>> <</if>> <<if $scienceproject is undefined>> <<set $scienceproject to "none">> <</if>> <<if $yeardays is undefined>> <<set $yeardays to 0>> <</if>> <<if $mathsproject is undefined>> <<set $mathsproject to "none">> <</if>> <<if $gamemode is undefined>> <<set $gamemode to "normal">> <</if>> <<if $alluremod is undefined>> <<set $alluremod to 1>> <</if>> <<if $oxygenmax is undefined>> <<set $oxygenmax to 1200>> <<set $oxygen to 1200>> <</if>> <<if $suffocating is undefined>> <<set $suffocating to 0>> <</if>> <<if $asphyxiaLvl is undefined>> <<set $asphyxiaLvl to 3>> <</if>> <<if $chokeorgasm is undefined>> <<set $chokeorgasm to 0>> <</if>> <<if $NudeGenderDC is undefined or $NudeGenderDC gt 2>> <<set $NudeGenderDC to 2>> <</if>> <<if $hallucinogen is undefined>> <<set $hallucinogen to 0>> <</if>> <<if $antiquemoney is undefined>> <<set $antiquemoney to 0>> <<set $antiquemoneyhistory to 0>> <<if $scienceproject is "done" or $scienceproject is "won">> <<set $scienceproject to "none">> <</if>> <</if>> <<if $controlmax is undefined>> <<set $controlmax to 1000>> <<if $control is 1>> <<set $control to 1000>> <<else>> <<set $control to 0>> <</if>> <</if>> <<if $background is undefined>> <<set $background to "waif">> <</if>> <<if $orgasmtrait is undefined>> <<set $orgasmtrait to 0>> <</if>> <<if $ejactrait is undefined>> <<set $ejactrait to 0>> <</if>> <<if $molesttrait is undefined>> <<set $molesttrait to 0>> <</if>> <<if $rapetrait is undefined>> <<set $rapetrait to 0>> <</if>> <<if $bestialitytrait is undefined>> <<set $bestialitytrait to 0>> <</if>> <<if $tentacletrait is undefined>> <<set $tentacletrait to 0>> <</if>> <<if $voretrait is undefined>> <<set $voretrait to 0>> <</if>> <<if $milkdranktrait is undefined>> <<set $milkdranktrait to 0>> <</if>> <<if $alluretest is undefined>> <<set $alluretest to 0>> <</if>> <<if $whitneypantiescheck is undefined>> <<set $whitneypantiescheck to 0>> <</if>> <<if $assertiveaction is 0 or $assertiveaction is undefined>> <<set $assertiveaction to "trauma">> <</if>> <<if $famepark is undefined>> <<set $famepark to 0>> <</if>> <<if $beastmalechance is undefined>> <<set $beastmalechance to 80>> <</if>> <<if StartConfig.enableImages is false>> <<set $images to 0>> <</if>> <<if $beastgenderoverride is undefined>> <<set $beastgenderoverride to 0>> <</if>> <<if $speechcycle is undefined>> <<set $speechcycle to 0>> <</if>> <<if $npcspeechcycle is undefined>> <<set $npcspeechcycle to 0>> <</if>> <<if $breastfeedingdisable is undefined>> <<set $breastfeedingdisable to "f">> <</if>> <<if $real_gender isnot undefined>> <<set $player.gender to $real_gender>> <<unset $real_gender>> <</if>> <<if $physiquesize is undefined>> <<set $physiquesize to (1000 * $devlevel)>> <<if $physique gte 1>> <<else>> <<set $physique to $physiquemax>> <</if>> <</if>> <<if $fringelength is undefined>> <<set $fringelength to 200>> <<set $hairtype to "default">> <<set $fringetype to "default">> <</if>> <<if $famescrap is undefined>> <<set $famescrap to 0>> <</if>> <<if $famepimp is undefined>> <<set $famepimp to 0>> <</if>> <<if $spray is undefined>> <<set $spray to 1>> <</if>> <<if $spraymax is undefined>> <<set $spraymax to 1>> <</if>> <<if $spraystat is undefined>> <<set $spraystat to 0>> <</if>> <<if $silhouettedisable is undefined>> <<set $silhouettedisable to "f">> <</if>> <<if $watersportsdisable is undefined>> <<set $watersportsdisable to "f">> <</if>> <<if $averyrage isnot undefined>> <<unset $averyrage>> <</if>> <<if (C.npc.Avery.state is undefined or C.npc.Avery.state is "") and C.npc.Avery.init is 1>> <<npcset Avery state "active">> <</if>> <<if (C.npc.Robin.state is undefined or C.npc.Robin.state is "") and C.npc.Robin.init is 1>> <<npcset Robin state "active">> <</if>> <<if $catbuild is undefined>> <<set $catbuild to 0>> <<set $cat to 0>> <</if>> <<if $pain is undefined>> <<set $pain to 0>> <</if>> <<if $hairupdate isnot 1>> <<set $hairupdate to 1>> <<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>> <<if $fringelength gte 900>> <<set $fringelengthstage to "feet">> <<elseif $fringelength gte 700>> <<set $fringelengthstage to "thighs">> <<elseif $fringelength gte 600>> <<set $fringelengthstage to "navel">> <<elseif $fringelength gte 400>> <<set $fringelengthstage to "chest">> <<elseif $fringelength gte 200>> <<set $fringelengthstage to "shoulder">> <<else>> <<set $fringelengthstage to "short">> <</if>> <</if>> <<if $dockhours is undefined>> <<set $dockhours to 0>> <</if>> <<if $infinitespray is undefined>> <<set $infinitespray to 0>> <</if>> <<if $hairtype is "braided ponytail">> <<set $hairtype to "ponytail">> <</if>> <<if $monsterhallucinations is undefined>> <<set $monsterhallucinations to "t">> <<set $monsterchance to 50>> <</if>> <<if $policemolestation is undefined>> <<set $policemolestation to 0>> <</if>> <<if $player.penissize is undefined>> <<set $player.penissize to 2>> <<set $penissizemax to 4>> <<set $penisgrowthtimer to 700>> <</if>> <<if $penissizemin is undefined>> <<set $penissizemin to -2>> <</if>> <<if $insecurity_penis_tiny is undefined>> <<set $insecurity_penis_tiny to 0>> <<set $insecurity_penis_small to 0>> <<set $insecurity_penis_big to 0>> <<set $insecurity_breasts_tiny to 0>> <<set $insecurity_breasts_small to 0>> <<set $insecurity_breasts_big to 0>> <<set $acceptance_penis_tiny to 0>> <<set $acceptance_penis_small to 0>> <<set $acceptance_penis_big to 0>> <<set $acceptance_breasts_tiny to 0>> <<set $acceptance_breasts_small to 0>> <<set $acceptance_breasts_big to 0>> <</if>> <<if $willpower is undefined>> <<set $willpower to 200>> <<set $willpowermax to 1000>> <</if>> <<if $fringetype is "swept back">> <<set $fringetype to "swept right">> <</if>> <<if $museuminterest is undefined>> <<set $museuminterest to 0>> <</if>> <<if $position is undefined>> <<set $position to 0>> <</if>> <<if $wear_upper is undefined>> <<set $wear_upper to "none">> <<set $wear_lower to "none">> <<set $wear_under_upper to "none">> <<set $wear_under_lower to "none">> <<set $wear_head to "none">> <<set $wear_face to "none">> <<set $wear_neck to "none">> <<set $wear_legs to "none">> <<set $wear_feet to "none">> <<set $wear_genitals to "none">> <<set $wear_outfit to "none">> <</if>> <<if $wear_over_upper is undefined>> <<set $wear_over_upper to "none">> <<set $wear_over_lower to "none">> <<set $wear_over_head to "none">> <</if>> <<if $no_underwear is undefined>> <<set $no_underwear to 0>> <</if>> <<if $arousal is undefined>> <<set $arousal to 0>> <</if>> <<if $breastsensitivity is undefined>> <<set $breastsensitivity to 1>> <</if>> <<if $genitalsensitivity is undefined>> <<set $genitalsensitivity to 1>> <</if>> <<if $hairtype is "swept right">> <<set $hairtype to "swept left">> <</if>> <<if $headnodetention is 1 or $headmoney is 1 or $headphotoshoot is 1>> <<set $headblackmailed to 1>> <</if>> <<physicalAdjustmentsInit>> <<if $tryOn is undefined>> <<tryOnInit>> <</if>> <<if $carryblock is undefined>> <<set $carryblock to 0>> <</if>> <<if $milk_drank_stat is undefined>> <<set $milk_drank_stat to 0>> <<set $milkdranktrait to 0>> <<set $breast_mod to 0>> <</if>> <<if $ballssize is undefined>> <<set $ballssize to $player.penissize>> <<set $ballssizemax to $penissizemax>> <<set $ballssizemin to $penissizemin>> <<set $ballsgrowthtimer to $penisgrowthtimer>> <</if>> <<if $player.bottomsize is undefined>> <<set $player.bottomsize to 2>> <<set $bottomsizemax to 8>> <<set $bottomsizemin to 0>> <<set $bottomsizeold to 0>> <<set $bottomgrowthtimer to 350>> <</if>> <<if $workouts is undefined>> <<set $workouts to 0>> <</if>> <<if $sewingKit is undefined>> <<set $sewingKit to 0>> <</if>> <<if $penis_mod is undefined>> <<set $penis_mod to 0>> <</if>> <<if $tanned is undefined>> <<set $tanned to 0>> <</if>> <<if $avery_penis_size isnot undefined>> <<for _npc range ["avery", "bailey", "charlie", "darryl", "doren", "eden", "gwylan", "harper", "jordan", "kylar", "landry", "leighton", "mason", "morgan", "river", "robin", "sam", "sirris", "whitney", "winter", "zephyr"]>> <<run delete V[_npc + "_penis_size"]>> <</for>> <</if>> <<if $breast_mod lt -12>> <<set $breast_mod to -12>> <</if>> <<if $breast_mod gt 12>> <<set $breast_mod to 12>> <</if>> <<if $shopDefaults is undefined>> <<set $shopDefaults to { "color":"black", "colorSet":null, "secColor":"black", "secColorSet":null, "disableReturn": false }>> <</if>> <<if $shopDefaults.alwaysBackToShopButton is undefined>> <<set $shopDefaults.alwaysBackToShopButton to false>> <</if>> <<if $shopDefaults.colourItems is undefined>> <<set $shopDefaults.colourItems = "random">> <</if>> <<if $shopDefaults.mannequinGender is undefined>> <<set $shopDefaults.mannequinGender = "same">> <</if>> <<if $shopDefaults.noHelp is undefined>> <<set $shopDefaults.compactMode to false>> <<set $shopDefaults.mannequinGenderFromClothes to false>> <<set $shopDefaults.highContrast to false>> <<set $shopDefaults.noTraits to false>> <<set $shopDefaults.noHelp to false>> <</if>> <<if $tentacles is undefined>> <<set $tentacles to { 0: null, 1: null, 2: null, 3: null, 4: null, 5: null, 6: null, 7: null, 8: null, 9: null, 10: null, 11: null, 12: null, 13: null, 14: null, 15: null, 16: null, 17: null, 18: null, 19: null, 20: null, "active": 0, "max": 0 }>> <</if>> <<if $npclovehigh isnot 10>> <<set $npclovehigh to 10>> <</if>> <<if $npclovelow isnot -10>> <<set $npclovelow to -10>> <</if>> <<if $npcdomhigh isnot 10>> <<set $npcdomhigh to 10>> <</if>> <<if $npcdomlow isnot -10>> <<set $npcdomlow to -10>> <</if>> <<if $scienceproject is "ongoing" and $sciencephallus is undefined>> <<set $sciencephallusready to 0>> <<set $sciencephallus to 0>> <<set $sciencephalluspenis to 0>> <<set $sciencephallusclit to 0>> <</if>> <<if $fallenangel is 2>> <<set $angelbuild to 0>> <</if>> <<if $demon gte 6>> <<set $demonFeat to true>> <</if>> <<if $orphan_hope is undefined>> <<set $orphan_hope to 0>> <</if>> <<if $orphan_reb is undefined>> <<set $orphan_reb to 0>> <</if>> <<if $masochism is undefined>> <<set $masochism to 0>> <<set $masochism_level to 0>> <</if>> <<if $per_npc is undefined>> <<set $per_npc to {}>> <</if>> <<if $lessonmissedtext is undefined>> <<set $lessonmissedtext to 0>> <<set $lessonmissed to 0>> <</if>> <<if $home_event_timer is undefined>> <<set $home_event_timer to 0>> <<set $home_event_count to 0>> <</if>> <<if $gwylangender is undefined>> <<if $malechance lt random(1, 100)>> <<set $gwylangender to "f">> <<else>> <<set $gwylangender to "m">> <</if>> <</if>> <<if $gwylangenitals is undefined>> <<if $gwylangender is "m">> <<if random(0, 99) gte $cbchance>> <<set $gwylangenitals to "penis">> <<else>> <<set $gwylangenitals to "vagina">> <</if>> <<elseif $gwylangender is "f">> <<if random(0, 99) gte $dgchance>> <<set $gwylangenitals to "vagina">> <<else>> <<set $gwylangenitals to "penis">> <</if>> <</if>> <</if>> <<if $spiderdisable is undefined>> <<set $spiderdisable to "f">> <</if>> <<if $gloryholestat is undefined>> <<set $gloryholestat to 0>> <</if>> <<if $brothel_basement_price is undefined>> <<set $brothel_basement_price to 1000>> <</if>> <<if $brothelshowdata is undefined>> <<set $brothelshowdata to { counts:{ agreed:0, done:0 }, type:"none", intro:0, done:false, missed:false }>> <<if $brothelshow isnot undefined>> <<set $brothelshowdata.type to $brothelshow>> <<unset $brothelshow>> <</if>> <<if $brothelshowintro isnot undefined>> <<set $brothelshowdata.intro to !!$brothelshowintro>> <<unset $brothelshowintro>> <</if>> <<if $brothelshowdone isnot undefined>> <<set $brothelshowdata.done to !!$brothelshowdone>> <<unset $brothelshowdone>> <</if>> <<if $brothelshowmissed isnot undefined>> <<set $brothelshowdata.missed to !!$brothelshowmissed>> <<unset $brothelshowmissed>> <</if>> <</if>> <<if $money is undefined>> <<set $money to 0>> <</if>> <<if $syndromeeden is 1 and $edenshrooms is undefined>> <<unset $syndromeeden>> <</if>> <<if $initnpcfix is undefined>> <<set $initnpcfix to 1>>/*Applies missing NPC settings for saves before 0.2.5*/ <<initnpcgender>> <</if>> <<if C.npc.Kylar.init is 1 and C.npc.Kylar.state is "">> <<set C.npc.Kylar.init to 0>> <</if>> <<if $chestuse is undefined>> <<set $cheststate to 0>> <</if>> <<if $lactating is undefined>>/*Updating to 0.2.7*/ <<set $lactating to 0>> <<set $lactation_pressure to 0>> <<set $milk_amount to 30>> <<set $milk_volume to 30>> <<set $milk_max to 3000>> <<if $penisexist is 1>> <<set $semen_amount to 90>> <<set $semen_volume to 90>> <<else>> <<set $semen_amount to 0>> <<set $semen_volume to 0>> <</if>> <<set $semen_max to 3000>> <<set $milk_produced_stat to 0>> <<set $semen_produced_stat to 0>> <<set $masturbation_semen to 0>> <<set $masturbation_milk to 0>> <<set $bunstat to 0>> <<set $famesocial to 0>> <</if>> <<if $creamstat is undefined>> <<set $creamstat to 0>> <<set $lube_produced_stat to 0>> <</if>> <<if $chef_sus is undefined>> <<set $chef_sus to 0>> <</if>> <<if $pillory is undefined>> <<set $pillory to {}>> <</if>> <<if $pillory.tenant is undefined>> /* Pillory related */ <<setup_pillory>> <</if>> <<if ndef $police_intro>> /* Police hack related*/ <<set $police_intro to 0>> <<set $police_access_card to 0>> <<set $police_hack to 0>> <<set $pub_hack_job to 0>> <<set $hacker_tasks to []>> <</if>> <<if ndef $framed>> <<set $framed to 0>> <</if>> /* brothel */ <<if ndef $brothel_raid>> <<set $brothel_raid to 0>> <</if>> <<if ndef $brothel_raid_day>> <<set $brothel_raid_day to 0>> <</if>> <<if ndef $brothel_thief>> <<set $brothel_thief to 0>> <</if>> <<if $o_long_and_beautiful is undefined>> /*'long hair' girl related*/ <<set $o_long_and_beautiful to 0>> <<set $hy_sibling to 0>> <<set $hy_parent to 0>> <<set $long_hair_meet_day to 9999>> <<set $misbehaviour_day to 9999>> <</if>> <<if $objectVersion.chastity lt 3 or $objectVersion.chastity is undefined>> <<if $worn.genitals is undefined>> <<set $worn.genitals to clone(setup.clothes.genitals[0])>> <<set $carried.genitals to clone(setup.clothes.genitals[0])>> <</if>> <<if $worn.under_lower.type.includes("chastity")>> <<set $worn.genitals to clone($worn.under_lower)>> <<set $worn.under_lower to clone(setup.clothes.under_lower[0])>> <</if>> <<if $worn.genitals.name isnot "naked">> <<set $worn.genitals.hideUnderLower to setup.clothes.genitals[1].hideUnderLower>> <<set $worn.genitals.type to setup.clothes.genitals[1].type>> <</if>> <<set $objectVersion.chastity to 3>> <</if>> <<if $showCaptionText is undefined>> <<set $showCaptionText to true>> <</if>> <<if $parasite.types is undefined>> <<set _oldparasite to $parasite>> <<parasiteinit>> <<for _part, _type range _oldparasite>> <<if _type.name isnot undefined>> <<set $parasite[_part].name to _type.name>> <<set $parasite[_type.name].push(_part.replace(/_/g, " "))>> <</if>> <</for>> <</if>> <<if $slimeSleepEvent is undefined>> <<set $slimeSleepEvent to 0>> <</if>> <<if $parasite.left_thigh.name is undefined>> <<removeparasite left_thigh>> <</if>> <<if $parasite.right_thigh.name is undefined>> <<removeparasite right_thigh>> <</if>> <<if $parasite.left_arm.name is undefined>> <<removeparasite left_arm>> <</if>> <<if $parasite.right_arm.name is undefined>> <<removeparasite right_arm>> <</if>> <<if $objectVersion.feats lt 1 or $objectVersion.feats is undefined>> <<set $feats to { "locked":false, "soft":false, "allSaves":{}, "currentSave":{}, "filter":"All" }>> <<set $objectVersion.feats to 1>> <</if>> <<if ($cheatdisable is "f" and !$debug) or $locked is true>> <<run delete $locked>> <<set $feats.locked to true>> <</if>> <<if $smuggler_location is undefined>> <<set $smuggler_location to "sewer">> <<set $smuggler_timer to 0>> <<set $smuggler_stolen_stat to 0>> <</if>> <<if $gamemode is "soft" or $alluremod lt 1>> <<set $feats.soft to true>> <</if>> <<updateFeats>> <<if $straponchance is undefined>> <<set $straponchance to 0>> <</if>> <<if $lastWardrobeSlot is undefined>> <<set $lastWardrobeSlot to "head">> <</if>> <<if $objectVersion.customColors lt 4 or $objectVersion.customColors is undefined>> <<if $customColors is undefined>> <<set $customColors to { presets:{}, action: "set", currentType: "primary", color:{primary:0, secondary:0}, saturation:{primary:1, secondary:1}, brightness:{primary:1, secondary:1}, value:{primary:100, secondary:100} }>> <</if>> <<if $customColors.contrast is undefined>> <<set $customColors.contrast to{primary:1, secondary:1}>> <</if>> <<if $customColors.sepia is undefined>> <<set $customColors.sepia to{primary:0, secondary:0}>> <</if>> <<set $objectVersion.customColors to 4>> <</if>> <<if $objectVersion.customColors lt 5 or $objectVersion.customColors is undefined>> <<if $customColors.value is undefined>> <<set $customColors.value to {primary:100, secondary:100}>> <</if>> <<set $objectVersion.customColors to 5>> <</if>> <<if $swarm is undefined or $swarm.type is undefined>> <<set $swarm to { "type":0, "name":0, "move":0, "spill":0, "steady":0, "amount":{}, "data":{} }>> <</if>> <<if $bodypart_number is undefined>> <<bodywriting_init>> <</if>> <<if $newlyWritten is undefined and $combat is 1>> <<set $newlyWritten to []>> <</if>> <<wetness_init>> <<if $player.gender_appearance_factors is undefined>> <<set $player.gender_appearance_factors to []>> <</if>> <<if $player.gender_appearance_without_overwear_factors is undefined>> <<set $player.gender_appearance_without_overwear_factors to []>> <</if>> <<if $player.gender_posture is undefined>> <<if $background is "crossdresser">> <<if $player.sex is "f">> <<set $player.gender_posture to "m">> <<elseif $player.sex is "m">> <<set $player.gender_posture to "f">> <</if>> <<else>> <<set $player.gender_posture to "n">> <</if>> <</if>> <<if $player.femininity is undefined>> <<set $player.femininity to 0>> <</if>> <<if $player.femininity_without_overwear is undefined>> <<set $player.femininity_without_overwear to 0>> <</if>> <<if $player.condom is undefined>> <<set $player.condom to false>> <<set $condomchance to 50>> <<set $condomautochance to 50>> <</if>> <<unset $clothes>> <<if $cat gte 1 or $wolfgirl gte 1 or $cow gte 1 or $harpy gte 1>> <<set $physicalTransform to 1>> <<else>> <<set $physicalTransform to 0>> <</if>> <<if $demon gte 1 or $angel gte 1 or $fallenangel gte 2>> <<set $specialTransform to 1>> <<else>> <<set $specialTransform to 0>> <</if>> <<unset $transformed>> <<if $backgroundTraits is undefined>> <<set $backgroundTraits to [$background]>> <</if>> <<if Array.isArray($rebuy_success) is false>> <<set $rebuy_failure to []>> <<set $rebuy_success to []>> <</if>> <<if $dissociation is undefined>> <<set $dissociation to 0>> <</if>> <<if $worn.over_upper is undefined>> <<set $worn.over_upper to clone(setup.clothes.over_upper[0])>> <<set $worn.over_lower to clone(setup.clothes.over_lower[0])>> <<set $worn.over_head to clone(setup.clothes.over_head[0])>> <<set $carried.over_upper to clone(setup.clothes.over_upper[0])>> <<set $carried.over_lower to clone(setup.clothes.over_lower[0])>> <<set $carried.over_head to clone(setup.clothes.over_head[0])>> <<set $wardrobe.over_upper to []>> <<set $wardrobe.over_lower to []>> <<set $wardrobe.over_head to []>> <<set $store.over_upper to []>> <<set $store.over_lower to []>> <<set $store.over_head to []>> <</if>> <<if $wardrobe.over_head is undefined>> <<set $wardrobe.over_head to []>> <</if>> <<if $worn.hands is undefined>> <<set $worn.hands to clone(setup.clothes.hands[0])>> <<set $carried.hands to clone(setup.clothes.hands[0])>> <<set $wardrobe.hands to []>> <<set $store.hands to []>> <<set $wear_hands to "none">> <</if>> <!-- updateClothes was moved to <<backcomp>> at the bottom of this file --> <<if $objectVersion.wardrobes lt 4 or $objectVersion.wardrobes is undefined>> <<wardrobesUpdate>> <<set $objectVersion.wardrobes to 4>> <</if>> <<if $mathsprojectwon is 1>> <<earnFeat "Maths Competition Winner">> <</if>> <<if $scienceprojectwon is 1>> <<earnFeat "Science Fair Winner">> <</if>> <<if $bodywritingdisable is undefined>> <<set $bodywritingdisable to "f">> <</if>> <<if $arousal is NaN or $arousal is undefined>> <<set $arousal to 0>> <</if>> <<if $pain is NaN or $pain is undefined>> <<set $pain to 0>> <</if>> <<if !$skin.forehead>> <<bodywriting_clear forehead>> <</if>> <<if !$skin.left_cheek>> <<bodywriting_clear left_cheek>> <</if>> <<if !$skin.right_cheek>> <<bodywriting_clear right_cheek>> <</if>> <<if !$skin.left_shoulder>> <<bodywriting_clear left_shoulder>> <</if>> <<if !$skin.right_shoulder>> <<bodywriting_clear right_shoulder>> <</if>> <<if !$skin.breasts>> <<bodywriting_clear breasts>> <</if>> <<if !$skin.back>> <<bodywriting_clear back>> <</if>> <<if !$skin.pubic>> <<bodywriting_clear pubic>> <</if>> <<if !$skin.left_thigh>> <<bodywriting_clear left_thigh>> <</if>> <<if !$skin.right_thigh>> <<bodywriting_clear right_thigh>> <</if>> <<if !$skin.left_bottom>> <<bodywriting_clear left_bottom>> <</if>> <<if !$skin.right_bottom>> <<bodywriting_clear right_bottom>> <</if>> <<if $crime is null or $crime is undefined>> <<set $crime to 0>> <<set $crimehistory to 0>> <<set $blackmoney to 0>> <</if>> <<if isNaN(parseInt($crime))>> <<set $crime to 0>> <</if>> <<if isNaN(parseInt($crimehistory))>> <<set $crimehistory to 0>> <</if>> <<if isNaN(parseInt($blackmoney))>> <<set $blackmoney to 0>> <</if>> <<if $worn.upper is undefined>> <<set $worn.upper to clone(setup.clothes.upper[0])>> <</if>> <<if $worn.lower is undefined>> <<set $worn.lower to clone(setup.clothes.lower[0])>> <</if>> <<if $worn.under_upper is undefined>> <<set $worn.under_upper to clone(setup.clothes.under_upper[0])>> <</if>> <<if $worn.under_lower is undefined>> <<set $worn.under_lower to clone(setup.clothes.under_lower[0])>> <</if>> <<if $worn.head is undefined>> <<set $worn.head to clone(setup.clothes.head[0])>> <</if>> <<if $worn.face is undefined>> <<set $worn.face to clone(setup.clothes.face[0])>> <</if>> <<if $worn.neck is undefined>> <<set $worn.neck to clone(setup.clothes.neck[0])>> <</if>> <<if $worn.legs is undefined>> <<set $worn.legs to clone(setup.clothes.legs[0])>> <</if>> <<if $worn.feet is undefined>> <<set $worn.feet to clone(setup.clothes.feet[0])>> <</if>> <<if ndef $swimnudecounter>> <<set $swimnudecounter to 0>> <<set $swimall to 0>> <</if>> /*for swimming*/ <<if $player.gender_body is undefined>> <<set $player.gender_body to clone($player.gender)>> <</if>> <<if $worn.genitals.exposed is undefined>> <<if $worn.genitals.exposed_base is 0>> <<set $worn.genitals.exposed to 0>> <<else>> <<set $worn.genitals.exposed to 1>> <</if>> <</if>> <<if $closinghour isnot 21>> <<set $closinghour to 21>> <</if>> <!-- specialClothesSetup was moved to <<backComp>> --> <<if $objectVersion.uncomfortable lt 2 or $objectVersion.uncomfortable is undefined>> <<if $uncomfortable is undefined>> <<if $lightexhibitionismaction isnot undefined>> <<set $uncomfortable to { underwear: ($lightexhibitionismaction is "embarrassed" ? true : false), nude: ($exhibitionismaction is "embarrassed" ? true : false), }>> <<unset $lightexhibitionismaction>> <<unset $exhibitionismaction>> <<else>> <<set $uncomfortable to { underwear: true, nude: true, }>> <</if>> <</if>> <<set $objectVersion.uncomfortable to 2>> <</if>> <<if $sidebarStats is undefined>> <<set $sidebarStats to "Disabled">> <</if>> <<if $openinghours is undefined>> <<if $hour gte 8 and $hour lt 21>> <<set $openinghours to 1>> <<else>> <<set $openinghours to 0>> <</if>> <</if>> <<if $athletics is undefined>> <<set $athletics to Math.trunc(($physique / $physiquesize) * 1000)>> <</if>> <<if $dontHide is undefined>> <<set $dontHide to false>> <</if>> <<if $checkstyle is undefined>> <<set $checkstyle to "words">> <<set $tending to 0>> <<set $garden_flowers_intro to 1>> <<set $eden_plot_intro to 1>> <<set $wolf_plot_intro to 1>> <<set $asylum_plot_intro to 1>> <<set $plots to {}>> <<set $plants_known to []>> <<set $plants to {}>> <<set $stall_rejected to 0>> <<set $produce_sold to 0>> <</if>> <<if $combatControls is undefined>> <<set $combatControls to "radio">> <</if>> <<if $loveInterest is undefined>> <<set $loveInterest to { primary: "None", secondary: "None", tertiary: "None" }>> <</if>> <<if $dateCount is undefined>> <<set $dateCount to { Total: 0, Robin: 0, Whitney: 0, Kylar: 0, Eden: 0, Avery: 0, BlackWolfHunts: 0 }>> <</if>> <<if $dateCount.Alex is undefined>> <<set $dateCount.GreatHawkHunts to 0>> <<set $dateCount.Alex to 0>> <<set $dateCount.Sydney to 0>> <</if>> <<if $virginTaken is undefined>> <<set $virginTaken to { kiss: [], handholding: [], oral: [], anal: [], vaginal: [], penile: [] }>> <</if>> <<setupDefaults>> <<if $bodywritingImages is undefined>> <<set $bodywritingImages to true>> <</if>> <<if !$physique and $physique isnot 0>> <<set $physique to ($physiquesize / 7) * 3>> <</if>> <<if !$tiredness and $tiredness isnot 0>> <<set $tiredness to 0>> <</if>> <!-- updateMuseumAntiques was moved to <<backComp>> --> <!-- specialClothesEffectsSetup was moved to <<backComp>> --> <<if $masturbationFix is undefined>> <<set $mouthactiondefault to 0>> <<set $mouthaction to 0>> <<set $mouth to 0>> <<set $masturbationFix to true>> <</if>> <<if $lastOptions is undefined>> <<resetLastOptions>> <</if>> <<set $_npcHairEyeNeedsGenerating to $NPCName.some(n => !(n.eyeColour || n.hairColour))>> <<if $_npcHairEyeNeedsGenerating>> <<generateNPCNameHairAndEyeColors>> <</if>> <<if $stat_shoot is undefined>> <<set $stat_shoot to 0>> <<set $cow to 0>> <<set $cowbuild to 0>> <<set $fluid_forced_stat to 0>> <</if>> <<if $shoot_stat>> /*Checking shoot_stat's existence to assist clean-up for 0.2.14.1 fix*/ <<if $shoot_stat gt 0>> <<set $stat_shoot += $shoot_stat>> <</if>> <<unset $shoot_stat>> <</if>> <<set $BeastList to ["dog","cat","pig","wolf","dolphin","lizard","bear","boar","creature","horse","fox","hawk","spider"]>> <<if $active_enemy is undefined>> <<set $active_enemy to 0>> <</if>> <<if $combatTrain is undefined>> <<set $combatTrain to { length: 0, generateInit: 1, beastTypes: [], numberPerTrain: [] }>> <</if>> <<if isNaN(parseInt($trauma))>> <<set $trauma to 0>> <</if>> <<if $arousalError isnot undefined>> <<set $arousalError to [$arousalError.length]>> <</if>> <<if !$livestock_obey and $livestock_obey isnot 0>> <<set $livestock_obey to 50>> <</if>> <<setupTransformationPiecesObject>> <<if $clothingShop is undefined>> <<set $clothingShop to { ban: 0, banExtension: false, spotted: false, stolenClothes: 0, totalStolenClothes: 0, banCount: 0, rng: random(0,1000) }>> <</if>> <<if $adultShop is undefined>> <<set $adultShop to { ban: 0, banExtension: false, spotted: false, stolenClothes: 0, totalStolenClothes: 0, banCount: 0, rng: random(0,1000) }>> <</if>> <<if $penisWetness is undefined>> <<set $penisWetness to 0>> <</if>> <<if $pbdisable is undefined>> <<set $pbdisable to "t">> <</if>> <<if $facestyle is undefined>> <<set $facestyle to "default">> <</if>> <<if $blinkingdisable is undefined>> <<set $blinkingdisable to "f">> <</if>> <<if $makeup is undefined>> <<set $makeup = {}>> <<set $makeup.owned = {}>> <<set $makeup.owned.lipstick = []>> <<set $makeup.owned.eyeshadow = []>> <<set $makeup.owned.eyelenses = []>> <<set $makeup.owned.hairdye = []>> <<set $makeup.owned.mascara = []>> <<set $makeup.lipstick = 0>> <<set $makeup.eyeshadow = 0>> <<set $makeup.eyelenses = {"left":0, "right":0}>> <<set $makeup.mascara = 0>> <<set $makeup.mascara_running = 0>> <<set $makeup.pbcolour = 0>> <<set $makeup.browscolour = 0>> <<set $makeup.concealer = 0>> <</if>> <<if $makeup.owned.custom_eyelenses is undefined>> <<set $makeup.owned.custom_eyelenses to []>> /* pharmacy custom eye lenses */ <</if>> <<if $uncomfortable.prostituting is undefined>> <<set $uncomfortable.prostituting to true>> <</if>> <<if $malevictimchance is undefined>> <<set $malevictimchance to $malechance>> <<set $homochance to 4>> <</if>> <<if $livestock_intro is 0>> <<if $remySeen is undefined>> <<set $livestock_robin to 1>> <</if>> <<if $livestock_noise is undefined>> <<set $livestock_noise to false>> <</if>> <</if>> <<if $birdbuild is undefined>> <<set $birdbuild to 0>> <<set $harpy to 0>> <<set $home_gone to 0>> <</if>> <<if $hirsutedisable>> <<if $hirsutedisable is "f">> <<if $wolfgirl gte 4>> <<set $transformationParts.wolf.pubes to "default">> <<set $transformationParts.wolf.pits to "default">> <<else>> <<set $transformationParts.wolf.pubes to "disabled">> <<set $transformationParts.wolf.pits to "disabled">> <</if>> <<if $harpy gte 6>> <<set $transformationParts.bird.pubes to "default">> <<else>> <<set $transformationParts.bird.pubes to "disabled">> <</if>> <<else>> <<if $wolfgirl gte 4>> <<set $transformationParts.wolf.pubes to "hidden">> <<set $transformationParts.wolf.pits to "hidden">> <<else>> <<set $transformationParts.wolf.pubes to "disabled">> <<set $transformationParts.wolf.pits to "disabled">> <</if>> <<if $harpy gte 6>> <<set $transformationParts.bird.pubes to "hidden">> <<else>> <<set $transformationParts.bird.pubes to "disabled">> <</if>> <</if>> <<unset $hirsutedisable>> <</if>> <<hirsuteHideCheck>> <<if $per_npc.janitor isnot undefined>> <<clearNPC "janitor">> <</if>> <<if $prop is undefined>> <<set $prop to []>> <</if>> <<if $punishmentposition isnot 0 and $location isnot "brothel">> <<set $punishmentposition to 0>> <</if>> <<if $schoolrep is undefined>> <<set $schoolrep to {}>> <<set $schoolrep.crossdress to 0>> <<set $schoolrep.herm to 0>> <</if>> <<if $science_star is undefined>> <<set $science_star to 0>> <<set $maths_star to 0>> <<set $english_star to 0>> <<set $history_star to 0>> <</if>> <<if $farm_shift is undefined>> <<set $farm_shift to 0>> <<unset $beaststance>> <<set $cattle_milked to 0>> <</if>> <<if $fringetype is "swept right">> <<set $fringetype to "swept left">> <</if>> <<if $version === undefined>> <<set $version={}>> <</if>> <<if $version.schema === undefined>> <<set $version.schema = 1>> <</if>> <<if typeof $farm_yield_alex is "string">> <<set $farm_yield_alex to 0>> <</if>> <<if typeof $farm_yield is "string">> <<set $farm_yield to 0>> <</if>> <<if $farm is undefined>> <<elseif $farm.build_finished is "parasite 1">> <<set $farm.build_finished to ["parasites 1"]>> <<elseif $farm.build_finished is "parasite 2">> <<set $farm.build_finished to ["parasites 2"]>> <</if>> <<if $farm is undefined>> <<elseif $farm.build_finished is undefined or $farm.build_finished is 0>> <<set $farm.build_finished to []>> <<elseif Array.isArray($farm.build_finished)>> <<else>> <<set $farm.build_finished to [$farm.build_finished]>> <</if>> <<if typeof $money is "string">> <<set $money to 0>> <</if>> <<if $masseur_stat is undefined>> <<set $masseur_stat to 0>> <<set $machine_stat to 0>> <</if>> /* <<if $year % 4 is 0 and $yeardays gte 366 or $yeardays gte 365>> <<year>> <</if>> */ <<if $mason_pond is 5 and $garden_flowers_intro is 1>> <<unset $garden_flowers_intro>> <<plots_init garden 3 earth 1 small>> <<add_plot garden water 1 small>> <<elseif $mason_pond is 5>> <<if !$plots.garden[3]>> <<add_plot garden water 1 small>> <</if>> <</if>> <<if $science_exam is undefined>> <<set $science_exam to (40 + ($weekday * 10))>> <<set $maths_exam to (40 + ($weekday * 10))>> <<set $english_exam to (40 + ($weekday * 10))>> <<set $history_exam to (40 + ($weekday * 10))>> <<if $science gte 700>> <<set $sciencetrait to 4>> <<set $science to 1000>> <<elseif $science gte 500>> <<set $sciencetrait to 3>> <<set $science to 700>> <<elseif $science gte 400>> <<set $sciencetrait to 2>> <<set $science to 400>> <<elseif $science gte 200>> <<set $sciencetrait to 1>> <<set $science to 200>> <<elseif $science gte 100>> <<set $sciencetrait to 0>> <<set $science to 100>> <<else>> <<set $sciencetrait to -1>> <<set $science to 0>> <</if>> <<if $maths gte 700>> <<set $mathstrait to 4>> <<set $maths to 1000>> <<elseif $maths gte 500>> <<set $mathstrait to 3>> <<set $maths to 700>> <<elseif $maths gte 400>> <<set $mathstrait to 2>> <<set $maths to 400>> <<elseif $maths gte 200>> <<set $mathstrait to 1>> <<set $maths to 200>> <<elseif $maths gte 100>> <<set $mathstrait to 0>> <<set $maths to 100>> <<else>> <<set $mathstrait to -1>> <<set $maths to 0>> <</if>> <<if $english gte 700>> <<set $englishtrait to 4>> <<set $english to 1000>> <<elseif $english gte 500>> <<set $englishtrait to 3>> <<set $english to 700>> <<elseif $english gte 400>> <<set $englishtrait to 2>> <<set $english to 400>> <<elseif $english gte 200>> <<set $englishtrait to 1>> <<set $english to 200>> <<elseif $english gte 100>> <<set $englishtrait to 0>> <<set $english to 100>> <<else>> <<set $englishtrait to -1>> <<set $english to 0>> <</if>> <<if $history gte 700>> <<set $historytrait to 4>> <<set $history to 1000>> <<elseif $history gte 500>> <<set $historytrait to 3>> <<set $history to 700>> <<elseif $history gte 400>> <<set $historytrait to 2>> <<set $history to 400>> <<elseif $history gte 200>> <<set $historytrait to 1>> <<set $history to 200>> <<elseif $history gte 100>> <<set $historytrait to 0>> <<set $history to 100>> <<else>> <<set $historytrait to -1>> <<set $history to 0>> <</if>> <<exam_difficulty>> <<set $distinction_stat to 0>> <<unset $arousalsaved>> <</if>> <<if isNaN(parseInt($tiredness))>> <<set $tiredness to 0>> <</if>> <<if ($minute % $time) isnot ($time - ($hour * 60))>> <<set $minute to ($time - ($hour * 60))>> <</if>> <<if $waspdisable is undefined>> <<set $waspdisable to "f">> <</if>> <<if $slugdisable is undefined>> <<set $slugdisable to "f">> <</if>> <<if $season is undefined>> <<if $month is "december" or $month is "january" or $month is "february">> <<set $season to "winter">> <<elseif $month is "march" or $month is "april" or $month is "may">> <<set $season to "spring">> <<elseif $month is "june" or $month is "july" or $month is "august">> <<set $season to "summer">> <<else>> <<set $season to "autumn">> <</if>> <</if>> <<farm_update>> <<if $prepareSaveDetails is undefined>> <<set $prepareSaveDetails to true>> <</if>> <<if $attitudesControl is undefined>> <<set $attitudesControl to { showGoldLink:false, unlockExhibitionismUnderwear:false, unlockExhibitionismNude:false, unlockTransformation:false, unlockDemonFlaunt:false, unlockProstitution:false, unlockLoveInterest1:false, unlockLoveInterest2:false, unlockLoveInterest3:false, unlockDefaultActions:false }>> <</if>> <<if $wild_plant_stat is undefined>> <<set $wild_plant_stat to 0>> <</if>> <<if $fertiliser is undefined>> <<set $fertiliser to {current:0,used:0}>> <</if>> <<if $saveName.includes("<")>> <<set $saveName to $saveName.replace(/[^a-zA-Z\u4e00-\u9fa5 0-9]+/g,"")>> <</if>> <<if $imgLighten is false>> <<set $imgLighten to "">> <<elseif $imgLighten is true>> <<set $imgLighten to "imgLighten">> <</if>> <<if $enemyArousalLossReduction is undefined>> <<set $enemyArousalLossReduction to 1>> <</if>> <<if $pubtask is 1>> <<set $pubtask to "forest">> <</if>> <<if $plants_known.includes("garlic bulb")>> <<set $plants_known.delete("garlic bulb")>> <<set $plants_known.push("garlic_bulb")>> <</if>> <<if $outbuildingvisited is 1 and $outbuildingBeast is undefined>> <<set $outbuildingBeast to "dog">> <</if>> <<if $o_long_and_beautiful gt 10>> <<set $o_long_and_beautiful to 10>> <<elseif !$hy_parent and !$hy_student and $o_long_and_beautiful is 10>> <<set $o_long_and_beautiful to 9>> <</if>> <<if $money is NaN or $money is undefined>> <<set $money to 0>> <</if>> <<if $mannequinHasPenis is undefined>> <<set $mannequinHasPenis to $player.penisExist>> <<set $mannequinBreastsSize to $mannequinHasPenis ? 0 : 3>> <</if>> <<if $shopPage is undefined>> <<set $shopPage = 0>> <</if>> <<if $shopClothingFilter is undefined>> <<shopClothingFilterReset>> <</if>> <<if $shopItemsPerPage is undefined>> <<set $shopItemsPerPage = 12>> <</if>> <<if $saveDetails is undefined>> <<set $saveDetails to { exported:{ days: clone($days), frequency: 15, count: 0, dayCount: 0, }, auto:{ count: 0 }, slot:{ count: 0, dayCount: 0, }, playTime: 0, loadTime: new Date(), loadCount: 0, }>> <<unset $lastExported>> <</if>> <<if $saveDetails.exported.dayCount is undefined>> <<set $saveDetails.exported.dayCount to 0>> <<set $saveDetails.slot.dayCount to 0>> <</if>> <<if $sleepStat is undefined>> <<set $sleepStat to 0>> <</if>> <<if $greathawkmonster is undefined>> <<rng>> <<if $monsterchance gte $rng>> <<set $greathawkmonster to 1>> <<else>> <<set $greathawkmonster to 0>> <</if>> <<set $bird to {}>> <</if>> <<if $harpy is undefined>> <<set $harpy to 0>> <</if>> <<if C.npc["Great Hawk"].type is "bird">> <<set C.npc["Great Hawk"].type to "hawk">> <</if>> <<if $clothesPrice is undefined>> <<set $clothesPrice to 1>> <</if>> <<if $clothesPriceUnderwear is undefined>> <<set $clothesPriceUnderwear to 1>> <<set $clothesPriceSchool to 1>> <<set $clothesPriceLewd to 1>> <</if>> <<childrenSetup>> <<npcPregnancyUpdater>> <<if $basePlayerPregnancyChance is undefined>> <<set $basePlayerPregnancyChance to 50>> <<set $humanPregnancyMonths to 3>> <<set $wolfPregnancyWeeks to 4>> <<set $playerPregnancyHumanDisable to "f">> <<set $playerPregnancyBeastDisable to "f">> <<set $npcPregnancyDisable to "f">> <</if>> <<if $famepregnancy is undefined>> <<set $famepregnancy to 0>> <<set $baseNpcPregnancyChance to 8>> <</if>> <<if $analingusdisablegiving is undefined or $analingusdisablereceiving is undefined>> <<set $analingusdisablegiving to $analdisable>> <<set $analingusdisablereceiving to $analdisable>> <</if>> <<if $analdoubledisable is undefined>> <<set $analdoubledisable to $analdisable>> <</if>> <<if $vaginaldoubledisable is undefined>> <<set $vaginaldoubledisable to "f">> <</if>> <<if $furniturePriceFactor is undefined>> <<set $furniturePriceFactor to 1>> <</if>> <<if $rentmod is undefined>> <<set $rentmod to 1>> <<elseif $rentmod gt 3>> <<set $rentmod to 3>> <</if>> <<if $money % 1>> <<set $money to Math.floor($money)>> <</if>> <<if $blackjack_played is undefined>> <<set $blackjack_played to 0>> <<set $blackjack_won to 0>> <<set $blackjack_streak to 0>> <<set $blackjack_streak_high to 0>> <</if>> /*To prevent the wardrobe from being inaccessable due to nulls*/ <<for $_label, $_value range $wardrobe>> <<if $_label is "space">> <<continue>> <</if>> <<run $wardrobe[$_label].delete(null)>> <</for>> <<if $fringetype is "flaps">> <<set $fringetype to "thin flaps">> <</if>> <<if $player.virginity.penile is "Great Hawk" or $player.virginity.vaginal is "Great Hawk">> <<earnFeat "Great Hawk the Terror">> <</if>> <<if $player.virginity.penile is "Black Wolf" or $player.virginity.vaginal is "Black Wolf">> <<earnFeat "Great Wolf the Alpha">> <</if>> <<if $bodyPartSelectedKey isnot undefined>> <<set $bodyPartSelected to $bodyPartSelectedKey>> <<unset $bodyPartSelectedKey>> <</if>> <<if $hoodDown is undefined>> <<set $hoodDown to 0>> <</if>> <<if $cardcover is undefined>> <<set $cardcover = { style: 0, colour: 'red' }>> <</if>> <<if $templePromised is undefined>> <<set $templePromised to "">> <</if>> <<if $perNPCFix isnot 2>> <<set $perNPCFix to 2>><<unset $perPronounFix>><<unset $perChastityFix>> <<set _keys to Object.keys($per_npc)>> <<for _npc range _keys>> <<if $per_npc[_npc].pronouns is undefined or $per_npc[_npc].pronouns.he is 0>> <<generatePronouns $per_npc[_npc]>> <</if>> <<if $per_npc[_npc].chastity is undefined>> <<set $per_npc[_npc].chastity to {penis:"", vagina:"", anus:""}>> <</if>> <<if $per_npc[_npc].role is undefined>> <<set $per_npc[_npc].role to "normal">> <</if>> <<if $per_npc[_npc].condom is undefined>> <<set $per_npc[_npc].condom to false>> <</if>> <<if $per_npc[_npc].name_known is undefined>> <<set $per_npc[_npc].name_known to 0>> <</if>> <</for>> <</if>> <<if $sidebarRenderer is undefined>> <<set $sidebarRenderer to 'canvas'>> <</if>> <<if $showDebugRenderer is undefined>> <<set $showDebugRenderer to !!StartConfig.debug>> <</if>> <<if $makeup.pbcolour isnot 0 and !($makeup.pbcolour in setup.colours.hair_map)>> <<set _record to setup.guessColourInMap(setup.colours.hair_map, $makeup.pbcolour)>> <<if _record>> <<set $makeup.pbcolour to _record.variable>> <<else>> <<run Errors.report("Failed to update makeup.pbcolour from " + $makeup.pbcolour)>> <</if>> <</if>> <<for _item range $makeup.owned.hairdye>> <<if !(_item.colour in setup.colours.hair_map)>> <<set _record to setup.guessColourInMap(setup.colours.hair_map, _item.colour)>> <<if _record>> <<set _item.colour to _record.variable>> <<else>> <<run Errors.report("Failed to update dye from " + _item.colour)>> <</if>> <</if>> <</for>> <<if $notifyUpdate is undefined>> <<set $notifyUpdate = true>> <</if>> <<if $beedisable is undefined>> <<set $beedisable to "f">> <</if>> <<if $lurkerdisable is undefined>> <<set $lurkerdisable to "f">> <</if>> <<if $prof is undefined>> <<set $prof to {}>> <<set $prof.spray to 0>> <<set $stat_lurkers_captured to 0>> <<set $stat_aphrodisiacs_sold to 0>> <<set $sadism to 0>> <<set $sadism_level to 0>> <</if>> <<if $horsedisable is undefined>> <<set $horsedisable to "f">> <</if>> <<if $farm_stage gte 10 and $lurkers_held is undefined>> <<set $lurkers_held to 0>> <</if>> <<if $edenprepare is 1 and $edenwall is undefined>> <<set $edenwall to 0>> <<set $edenchimney to 0>> <<set $edenroof to 0>> <</if>> <<if $stat_panties_stolen is undefined>> <<set $stat_panties_stolen to 0>> <<set $stat_police to {}>> <<set $stat_police.pillory to 0>> <<set $stat_police.community to 0>> <<set $stat_police.prison to 0>> <</if>> <<if !$locker_suspicion or !$panties_held or $locker_suspicion lt 0>> <<set $locker_suspicion to 0>> <<set $panties_held to 0>> <</if>> <<if $footdisable is undefined>> <<set $footdisable to "f">> <<set $uncomfortable.lewd to true>> <</if>> <<if $player.bodyliquid is undefined>> <<set $player.bodyliquid to {}>> <<for _bodypart range setup.bodyliquid.bodyparts>> <<set $player.bodyliquid[_bodypart] to {}>> <<set $player.bodyliquid[_bodypart].goo to V[_bodypart+"goo"]>> <<set $player.bodyliquid[_bodypart].semen to V[_bodypart+"semen"]>> <<run delete V[_bodypart+"goo"]>> <<run delete V[_bodypart+"semen"]>> <</for>> <</if>> <<if $npc is 0>> <<unset $npc>> <<set $npc to []>> <<elseif !(Array.isArray($npc))>> <<set _npcsubstitute to clone($npc)>> <<unset $npc>> <<set $npc to [_npcsubstitute]>> <<unset _npcsubstitute>> <</if>> <<if $npcnum is undefined>> <<set $npcnum to []>> <<elseif !(Array.isArray($npcnum))>> <<set _npcsubstitute to clone($npcnum)>> <<unset $npcnum>> <<set $npcnum to [_npcsubstitute]>> <<unset _npcsubstitute>> <</if>> <<if $npcrow is undefined>> <<set $npcrow to []>> <<if $npc[0]>> <<set $npcrow[0] to 0>> <</if>> <</if>> <<if $choketrait is undefined>> <<set $choketrait to 0>> <</if>> <<if $museumAntiqueJournalHints is undefined>> <<set $museumAntiqueJournalHints to []>> <</if>> <<if $plants_known.includes("red rose")>> <<run $plants_known.delete("red rose")>> <<set $plants_known.push("red_rose")>> <</if>> <<if $transformdisabledivine is undefined>> <<if $transformdisable is "f">> <<set $transformdisabledivine to "f">> <<else>> <<set $transformdisabledivine to "t">> <</if>> <</if>> <<if $penisexist isnot undefined and ($player.penisExist != $penisexist or $player.vaginaExist != $vaginaexist)>> <<set $player.vaginaExist to ($player.sex isnot "m")>> /* <<set $vaginaexist to ($player.sex isnot "m" ? 1 : 0)>> */ <<set $player.penisExist to ($player.sex isnot "f")>> /* <<set $penisexist to ($player.sex isnot "f" ? 1 : 0)>> */ <</if>> <<if $penisexist isnot undefined>> <<unset $penisexist>> <<unset $vaginaexist>> <</if>> <<if $NPCName[0].penis is 0>> <<initnpcgender>> <</if>> <<if $kylar is undefined>> <<set $kylar to {}>> <<set $kylar.raped to 0>> <<set $kylar.riddle to 0>> <<set $kylar.timer to {halls:0,street:0,home:0,love:0}>> <<set $kylarSeen to []>> <</if>> <<if $kylarsydneywriting is 1>> <<set $kylarSeen.pushUnique("sydneyWriting")>> <<unset $kylarsydneywriting>> <</if>> <<if $sydneySeen isnot undefined>> <<if $sydneySeen.includes("kylarwriting")>> <<set $kylarSeen.pushUnique("sydneyWriting")>> <<run delete $sydneySeen.pushUnique("kylarwriting")>> <</if>> <</if>> <<if $kylarraped isnot undefined>> <<set $kylar.raped to $kylarraped>> <<unset $kylarraped>> <</if>> <<if $kylartimer isnot undefined>> <<set $kylar.timer.halls to $kylartimer>> <<unset $kylartimer>> <</if>> <<if $kylarstreettimer isnot undefined>> <<set $kylar.timer.street to $kylarstreettimer>> <<unset $kylarstreettimer>> <</if>> <<if $kylarsaidlove isnot undefined>> <<set $kylarSeen.pushUnique("saidLove")>> <<unset $kylarsaidlove>> <</if>> <<if $kylarspray is 1>> <<set $kylarDaily.spray to true>> <<unset $kylarspray>> <</if>> <<if $kylar_bodywriting is 1>> <<set $kylarDaily.bodywriting to true>> <<unset $kylar_bodywriting>> <</if>> <<if $kylar_invite isnot undefined>> <<if $kylar_invite is 1>> <<set $kylarDaily.invite to "home">> <<else>> <<set $kylarDaily.invite to "school">> <</if>> <<unset $kylar_invite>> <</if>> <<if $kylar_undies_taken isnot undefined>> <<set $kylarDaily.undies to true>> <</if>> <<if $kylarpantiescheck isnot undefined>> <<set $kylarSeen.pushUnique("commando")>> <<unset $kylarpantiescheck>> <</if>> <<if $kylarsleeprape isnot undefined>> <<set $kylarDaily.sleepRape to true>> <<unset $kylarsleeprape>> <</if>> <<if $kylarconfessiontimer isnot undefined>> <<set $kylar.timer.love to $kylarconfessiontimer>> <<unset $kylarconfessiontimer>> <</if>> <<if $kylarhome isnot undefined>> <<set $kylar.home to $kylarhome>> <<unset $kylarhome>> <</if>> <<if $kylarhometimer isnot undefined>> <<set $kylar.timer.home to $kylarhometimer>> <<unset $kylarhometimer>> <</if>> <<if $kylarhomeinterrupted isnot undefined>> <<set $kylarSeen.includes("home")>> <<unset $kylarhomeinterrupted>> <</if>> <<if $kylarwalk isnot undefined>> <<set $daily.kylar.walk to true>> <<unset $kylarwalk>> <</if>> <<if $kylarFountain isnot undefined>> <<set $kylar.fountain to $kylarFountain>> <<unset $kylarFountain>> <</if>> <<if $kylarFountainIntroWinter>> <<set $kylarSeen.pushUnique("fountainWinter")>> <<unset $kylarFountainIntroWinter>> <</if>> <<if $kylarFountainKiss isnot undefined>> <<if $kylarFountainKiss is 1>> <<set $daily.kylar.walkKiss to true>> <</if>> <<unset $kylarFountainKiss>> <</if>> <<if $kylarFountainIntro isnot undefined>> <<if $kylarFountainIntro is 1>> <<set $kylarSeen.pushUnique("fountainIntro")>> <</if>> <<unset $kylarFountainIntro>> <</if>> <<if $kylarFountainCoin isnot undefined>> <<set $kylar.fountainCoin to $kylarFountainCoin>> <<unset $kylarFountainCoin>> <</if>> <<if $kylarfamestage isnot undefined>> <<set $kylar.fameStage to $kylarfamestage>> <<unset $kylarfamestage>> <</if>> <<if $kylarchatintro isnot undefined>> <<set $kylarSeen.pushUnique("chatIntro")>> <<unset $kylarchatintro>> <</if>> <<if $kylarcanteen isnot undefined>> <<set $kylarSeen.pushUnique("canteen")>> <<unset $kylarcanteen>> <</if>> <<if $kylarriddle isnot undefined>> <<set $kylar.riddle to $kylarriddle>> <<unset $kylarriddle>> <</if>> <<if $kylar_play isnot undefined>> <<set $kylar.play to $kylar_play>> <<unset $kylar_play>> <</if>> <<if typeof($semen_produced_stat) is "string">> <<set $semen_produced_stat to parseFloat($semen_produced_stat)>> <</if>> <<if !(Array.isArray($event))>> <<unset $event>> <</if>> <<if $multipleWardrobes is undefined>> <<set $multipleWardrobes to "isolated">> <</if>> <<if $nectar_drank_stat is undefined>> <<set $nectar_drank_stat to 0>> <<set $tentacleMouth to 0>> <<set $tentacleAnus to 0>> <<set $tentacleAnusBaby to 0>> <<set $tentacleVagina to 0>> <<set $tentaclePenis to 0>> <</if>> <<if $index is undefined and $enemyno gte 1>> <<set $index to 0>> <<for _n to 0; _n lt $NPCList.length; _n++>> <<if $NPCList[_n].desc is $description>> <<set $index to _n>> <<break>> <</if>> <</for>> <</if>> <<if !$NPC_names_m>> <<init_names>> <</if>> <<if $prison and $prison.kylar is undefined>> <<set $prison.kylar to 0>> <</if>> <<if $plantdisable is undefined>> <<set $plantdisable to "f">> <</if>> <!-- Makes sure $kennel_treats aren't strings due to bug. --> <<if typeof $kennel_treats isnot "number">> <<set $kennel_treats to 0>> <</if>> <<if $bodywritingLvl is undefined>> <<set $bodywritingLvl to ($bodywritingdisable is "f" ? 3 : 0)>> <</if>> /* Start of Target variables */ <<if $npcDAP isnot undefined>> <<set $anustarget to $npcDAP[0]>> <<set $anusdoubletarget to $npcDAP[1]>> <<unset $npcDAP>> <</if>> <<if $targetYourself is undefined>> <<set $targetYourself to false>> <</if>> <<if $NPCList isnot undefined and $NPCList[0].active is undefined>> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].active to 0>> <</for>> <<if $combat is 1>> <<for _i = 0; _i < $enemyno; _i++>> <<set $NPCList[_i].active to "active">> <<if $NPCList[_i].type is 0>> <<set $NPCList[_i].type to "human">> <</if>> <<set $NPCList[_i].healthmax to $NPCList[_i].health>> <</for>> <</if>> <</if>> <<if $breastuse isnot undefined and $breastuse isnot 0>> <<set $chestuse to $breastuse>> <<unset $breastuse>> <</if>> <<if $machine isnot undefined and $machine.number lte 0>> <<unset $machine>> <<elseif $enemytype isnot "machine">> <<unset $machine>> <<elseif $combat isnot 1>> <<unset $machine>> <</if>> /* End of Target variables */ <!-- remove duplicates from the hints list --> <<if $objectVersion.museumAntiques lt 8>> <<set $objectVersion.museumAntiques to 8>> <<set _newlist to []>> <!-- run in reverse to preserve only most recently added entries --> <<for _i = $museumAntiqueJournalHints.length - 1; _i gte 0; _i-->> <<if $museumAntiques.antiques[$museumAntiqueJournalHints[_i]] is "notFound">> <<set _newlist.pushUnique($museumAntiqueJournalHints[_i])>> <</if>> <</for>> <<set $museumAntiqueJournalHints to clone(_newlist).reverse()>> <</if>> <<if $stealtarget is undefined>> <<if $combat is 1 and $stealstate is 3>> <<set $stealtarget to "012345">> <<else>> <<set $stealtarget to "">> <</if>> <</if>> <<if $stealdifficulty is undefined>> <<set $stealdifficulty to 1>> <</if>> <<if $stealstate isnot undefined>> <<set $stealstateleft to $stealstate>> <<set $stealstateright to $stealstate>> <<unset $stealstate>> <</if>> <<if $righttarget is undefined>> <<set $righttarget to 0>> <<set $lefttarget to 0>> <</if>> <<if !$NPCList[0].chastity>> <<for _i to 0; _i lt $NPCList.length; _i++>> <<set $NPCList[_i].chastity to {penis: "", vagina: "", anus: ""}>> <</for>> <</if>> <<for _i to 0; _i lt $NPCList.length; _i++>> <<if $NPCList[_i].pronoun and (!$NPCList.pronouns or !$NPCList.pronouns.man)>> <<generatePronouns $NPCList[_i]>> <</if>> <</for>> <!-- pregnancyVar was moved to <<backComp>>--> <</widget>> <<widget "variablesVersionUpdate2">> /* 0.4.0.0 is the last version that should need the old vvu */ <<run window.backCompPillsInventory()>> /* restructure V.sexStats.pills inventory */ <!--Tracking for the Plant Lover trait--> <<if $nectar_addiction is undefined>> <<set $nectar_addiction to 0>> <<set $nectar_timer to 0>> <</if>> <<if $hypnotised is undefined>> <<set $hypnotised to 0>> <<set $famemodel to 0>> <</if>> <<if $chef_state gte 5 and $photo_known is undefined>> <<set $photo_known to 1>> <</if>> <<if $cardcover is undefined>> <<set $cardcover = { style: 0, colour: 'red' }>> <</if>> <<if $sleepStat is undefined>> <<set $sleepStat to 0>> <</if>> <<for $_i = 0; $_i < $NPCName.length; $_i++>> <<if $NPCName[$_i].virginity is undefined>> <<initNNPCVirginity $_i>> <</if>> <</for>> <<if $player.virginity.vaginal is "Harper" or $player.virginity.penile is "Harper">> <<earnFeat "Harper the Hypnotist">> <</if>> <<if $player.virginity.vaginal is "Morgan" or $player.virginity.penile is "Morgan">> <<earnFeat "Morgan the Lost">> <</if>> <!-- Jimmy: DefaultActions JS routine for error correction. --> <<run /* Perform check for broken default action structures. */ if ($actionDefaults != undefined) { /* Test 1 - If regrab[0] is an object, there was a failure. */ let temp = DefaultActions.get('rape', 'Everyone', 'regrab')[0]; if (typeof temp === 'object') { /* Reset everything as a final step, the error is consumed. */ V.actionDefaults = temp; V.actionDefaults = DefaultActions.check(DefaultActions.setup()) } } >> <!-- Jimmy: Updater for NNPCs that lack pronouns structures. Based off of $perNPCFix located in VVU --> <<if $pronounsNPCFix isnot 1>> <<for $_npc range $NPCName>> <<if $_npc.pronouns is undefined>> <<generatePronouns $_npc>> <</if>> <</for>> <<set $pronounsNPCFix = 1>> <</if>> <!-- persistent npc fix v3 --> <<if $perNPCFix isnot 4>> <<set $perNPCFix to 4>> <!-- clean nulls and undefineds from name lists --> <<run $NPC_names_f.delete(null, undefined)>> <<run $NPC_names_m.delete(null, undefined)>> <<set $_per_keys to Object.keys($per_npc)>> <<for $_per_ctrl range $_per_keys>> <<if !$per_npc[$_per_ctrl]>> <!-- remove null and undefined --> <<run delete $per_npc[$_per_ctrl]>> <<elseif !$per_npc[$_per_ctrl].type>> <!-- type fix --> <<set $per_npc[$_per_ctrl].type to "human">> <</if>> <</for>> <!-- prison npcs --> <<for $_npc range ["anxious_guard", "methodical_guard", "relaxed_guard", "veteran_guard", "scarred_inmate"]>> <<if $per_npc[$_npc]>> <!-- restore null names--> <<if !$per_npc[$_npc].name>> <<set $per_npc[$_npc].name to ($per_npc[$_npc].pronoun is "m" ? $NPC_names_m.pluck() : $NPC_names_f.pluck())>> <</if>> <!-- fix descriptions --> <<if $per_npc[$_npc].name_known>> <<set $per_npc[$_npc].fullDescription to $per_npc[$_npc].name>> <<else>> <<set $per_npc[$_npc].fullDescription to $_npc.replace('_', ' ')>> <</if>> <</if>> <</for>> <</if>> <!-- v0.3.5.4: pubic hair was accidentally disabled on new saves bc it wasn't initialised properly. --> <<pbhairinit>> <!-- v0.3.6.2: blind stats mode --> <<if $statdisable is undefined>> <<set $statdisable to "f">> <</if>> <!-- v0.3.6.2: tending update --> <<if $tendingvars is undefined>> <<set $tendingvars to {}>> <<for $_plot_locations range $plots>> <<for $_plot range $_plot_locations>> <<set $_plot.plant to ($_plot.name and $_plot.stage gt 0 ? $_plot.name : "none")>> <<run delete $_plot.name>> <</for>> <</for>> <</if>> <<if $tending_yield_factor is undefined>> <<set $tending_yield_factor to 5>> <<else>> <<set $tending_yield_factor to Math.clamp($tending_yield_factor, 1, 10)>> <</if>> <!-- Jimmy: [<=0.3.6.2] Asserts that $outfit[].colors is assigned, default to false. --> <<if $outfit_update is undefined or $outfit_update lt 3>> <<set $outfit_update to 3>> <<for $_i to 0; $_i lt $outfit.length; $_i++>> <<if $outfit[$_i].colors is undefined>> <<set $outfit[$_i].colors to false>> <</if>> <</for>> <</if>> <!-- v0.3.6.2: herm wraith fix --> <<if $per_npc.wraith and ["m", "f"].includes($per_npc.wraith.gender) and $per_npc.wraith.penis isnot "none" and $per_npc.wraith.vagina isnot "none">> <<if $per_npc.wraith.gender is "m">><<set $per_npc.wraith.vagina to "none">><</if>> <<if $per_npc.wraith.gender is "f">><<set $per_npc.wraith.penis to "none">><</if>> <</if>> <!-- v0.3.6.2: Giving Robin clothes if their outfits array is already defined, but they lack the proper normal clothes --> <<if C.npc.Robin.outfits isnot undefined and !C.npc.Robin.outfits.includes("maleSchool")>> <<set $_robin to C.npc.Robin>> <<if $_robin.outfits.includes("shirt")>> <<run $_robin.outfits.delete("shirt")>> <<set $_robin.outfits.pushUnique("robinGiftShirt")>> <</if>> <<if $_robin.outfits.includes("sundress")>> <<run $_robin.outfits.delete("sundress")>> <<set $_robin.outfits.pushUnique("robinGiftSundress")>> <</if>> <<if $_robin.outfits.includes("kimono")>> <<run $_robin.outfits.delete("kimono")>> <<set $_robin.outfits.pushUnique("robinGiftKimono")>> <</if>> <<if $_robin.outfits.includes("tuxedo")>> <<run $_robin.outfits.delete("tuxedo")>> <<set $_robin.outfits.pushUnique("robinGiftTux")>> <</if>> <<if $_robin.outfits.includes("gothic gown")>> <<run $_robin.outfits.delete("gothic gown")>> <<set $_robin.outfits.pushUnique("robinGiftGown")>> <</if>> <<if $_robin.outfits.includes("christmas")>> <<run $_robin.outfits.delete("christmas")>> <<set $_robin.outfits.pushUnique("robinGiftChristmas")>> <</if>> <<initNNPCClothes "Robin" "update">> <<set $_robin.outfits.pushUnique("naked", "maleDefault", "femaleDefault")>> <<if $_robin.currentOutfit>> <<switch $_robin.currentOutfit>> <<case "shirt">><<set $_clothesReplace to "robinGiftShirt">> <<case "sundress">><<set $_clothesReplace to "robinGiftSundress">> <<case "kimono">><<set $_clothesReplace to "robinGiftKimono">> <<case "tuxedo">><<set $_clothesReplace to "robinGiftTuxedo">> <<case "gothic gown">><<set $_clothesReplace to "robinGiftGown">> <<case "christmas">><<set $_clothesReplace to "robinGiftChristmas">> <</switch>> <<npcClothesName $_robin $_clothesReplace>> <<run delete $_robin.currentOutfit>> <</if>> <</if>> <!-- v0.3.6.2: Fixing undefined animations, printing one-time notification for any who had them disabled. --> <<if $objectVersion.animations lt 1 or $objectVersion.animations is undefined>> <<set $objectVersion.animations to 1>> <<if $combatAnimations is false and $sidebarAnimations is false>> <div id="animWarning" @class="'no-numberify '"> <span class='teal'>Animations are currently disabled. This may have been caused by a one-time bug. You can re-enable animations immediately, or in the "general" tab of the settings menu.</span> | <<link "Enable all animations">><<addclass #animWarning "hidden">><<set $combatAnimations to true>><<set $sidebarAnimations to true>><</link>> | <<link "Disable this message">><<addclass #animWarning "hidden">><</link>> </div> <</if>> <<if $combatAnimations is undefined>> <<set $combatAnimations to true>> <<set $sidebarAnimations to true>> <</if>> <</if>> <!-- v0.3.6.2: Improved debug menu --> <<if $debug_favourite is undefined>> /* add favourites constant variable */ <<set $debug_favourite = []>> <</if>> <!-- v0.3.6.2: Init variables necessary for custom contact lenses --> <<if ndef $lenses_ordered>> <<set $lenses_ordered to []>> <</if>> <<if ndef $custom_lenses_already_ordered>> <<set $custom_lenses_already_ordered to 0>> <</if>> <<if ndef $custom_eyecolours>> <<set $custom_eyecolours to []>> <</if>> <<if ndef $makeup.owned.custom_eyelenses>> <<set $makeup.owned.custom_eyelenses to []>> /* pharmacy custom eye lenses */ <</if>> <<if $adultShop is undefined>> <<set $adultShop to { ban: 0, banExtension: false, spotted: false, stolenClothes: 0, totalStolenClothes: 0, banCount: 0, rng: random(0,1000) }>> <</if>> <!-- v0.3.6.2: convert all "underclothes" to "underlowerclothes" --> <<if $handtarget is "underclothes">> <<set $handtarget to "underlowerclothes">> <</if>> <!-- v0.3.6.2: refactor transformation stuff --> <<setupTransformationPiecesObject>> <<for $_npc range $NPCList>> <<if $_npc.mouth is "underclothes">> <<set $_npc.mouth to "underlowerclothes">> <</if>> <<if $_npc.lefthand is "underclothes">> <<set $_npc.lefthand to "underlowerclothes">> <</if>> <<if $_npc.righthand is "underclothes">> <<set $_npc.righthand to "underlowerclothes">> <</if>> <</for>> <!-- v0.3.6.2: convert all "understruggle" to "underlowerstruggle" --> <<if $understruggle isnot undefined>> <<set $underlowerstruggle to $understruggle>> <<unset $understruggle>> <</if>> <!-- v0.3.6.2: remove all of the deprecated variables used in npcstrip --> <!-- note for the future: it's probably a good idea to avoid using these variable names for anything else in the future, they're too non-specific. --> <<if $anus>> <<unset $lefthand, $righthand, $anus, $gender1, $penis, $vagina>> <<unset $lefthand2, $righthand2, $anus2, $gender2, $penis2, $vagina2>> <<unset $lefthand3, $righthand3, $anus3, $gender3, $penis3, $vagina3>> <<unset $lefthand4, $righthand4, $anus4, $gender4, $penis4, $vagina4>> <<unset $lefthand5, $righthand5, $anus5, $gender5, $penis5, $vagina5>> <<unset $lefthand6, $righthand6, $anus6, $gender6, $penis6, $vagina6>> <</if>> <!-- v0.3.7.4: NPC sex toys --> <<if $toydildodisable is undefined>> <<set $toydildodisable to "f">> <</if>> <<if $toywhipdisable is undefined>> <<set $toywhipdisable to "f">> <</if>> <!-- v0.3.6.2 unnamed npc virginity update --> <<if $npcVirginityChance is undefined>> <<set $npcVirginityChance to 50>> <<set $npcVirginityChanceAdult to 10>> <</if>> <!-- for v0.3.7.1 and earlier versions --> <<if _version lte 30701>> <<run window.patchCorruptLensesColors()>> /* custom contact lenses fix corrupt colours */ <</if>> <!-- for v0.3.7.4 and earlier versions --> <<if _version lte 30704>> <<if ndef $pillsTakenOn>> <<set $pillsTakenOn to ($monthday.toString() + $month + $year.toString())>> <</if>> <<if ndef $famemodel>> <<set $famemodel to 0>> <</if>> <<if ndef $heterochromia>> <<set $heterochromia to 0>> <<if $cat > 6>> <<set $cat to 6>> <</if>> <</if>> <<if $ironmanmode == undefined>> <<set $ironmanmode to false>> <</if>> <<if def $breastsize>> <<set $player.breastsize to clone($breastsize)>> <<unset $breastsize>> <</if>> <<if def $penissize>> <<set $player.penissize to clone($penissize)>> <<unset $penissize>> <</if>> <<if def $bottomsize>> <<set $player.bottomsize to clone($bottomsize)>> <<unset $bottomsize>> <</if>> <<run window.createInventoryObject()>> <!-- fix for desynch between TFs and $specialTransform --> <<if $demon gte 1 or $angel gte 1 or $fallenangel gte 2>> <<set $specialTransform to 1>> <<else>> <<set $specialTransform to 0>> <</if>> <!-- fix for transformation traits trauma bugs --> <<if $transformationParts.traits.fangs is "hidden">> <<set $transformationParts.traits.fangs to "default">> <</if>> <<if $transformationParts.traits.sharpEyes is "hidden">> <<set $transformationParts.traits.sharpEyes to "default">> <</if>> <</if>> <!-- v0.3.7.4 RobinCrossDressingQuest update --> <<if C.npc.Robin.cdquest is undefined>> <<set C.npc.Robin.cdquest to 0>> <</if>> <!-- v0.3.7.4: sleep code readability update --> <<if $schoolwake isnot undefined>> <<unset $schoolwake>> <</if>> <!-- v0.3.7.4: An old pregnancy code issue where .fertilize was used and not updated. --> <<script>> const pregnancy = V.sexStats.anus.pregnancy; if(Array.isArray(pregnancy.fetus)){ for (let i = 0; i < pregnancy.fetus.length; i++) { const slot = pregnancy.fetus[i]; if (slot != undefined && slot.hasOwnProperty('fertilized')) { slot.fertilised = slot.fertilized; delete slot.fertilized; } } /* Part 2: Futa manipulation. */ let hasFuta = false; for (let i = 0; i < pregnancy.fetus.length; i++) { const slot = pregnancy.fetus[i]; if (slot != undefined && slot.stats != null && slot.stats.gender === 'Futa') { if (hasFuta) { /* Abort the futa. */ pregnancy.fetus[i].toDelete = true; } else { hasFuta = true; if (V.pregnancyStats.parasiteDoctorEvents < 2) { V.pregnancyStats.parasiteDoctorEvents = 2; } pregnancy.motherStatus = 2; } } } V.sexStats.anus.pregnancy.fetus = V.sexStats.anus.pregnancy.fetus.filter(p => p && !p.toDelete); } <</script>> <!-- v0.3.7.4: sex toy and double penetration stats--> <<if $sextoystat is undefined>> <<set $sextoystat to 0>> <<set $analdoublestat to 0>> <<set $vaginaldoublestat to 0>> <</if>> <!-- v0.3.7.4: underground brothel cleanup --> <<if $undergroundtime isnot undefined>> <<set $undergroundbrothel to { "time": $undergroundtime, "timepass": true, "water": $undergroundwater, "escape": $undergroundescape }>> <<unset $undergroundtime>> <<unset $undergroundwater>> <<unset $undergroundescape>> <<set $undergroundbrothelescaped to true>> <</if>> <<if $adultshopprogress is undefined>> <<set $adultshopprogress to 0>> <</if>> <<if $adultshopcontribution is undefined>> <<set $adultshopcontribution to 0>> <</if>> <<if $facesitdisable is undefined>> <<set $facesitdisable to "f">> <</if>> <<if $objectVersion.sexToys is undefined>> <!-- First fix to sextoy objects: Specifically for NNPCs containing an undefined string in their desc. --> <<script>> V.NPCName.forEach(nnpc => { if (nnpc.strapons instanceof Array) { nnpc.strapons.forEach(strapon => { if (typeof strapon.description === 'string') { strapon.description = strapon.description.replace(/undefined/, 'dildo'); } }); } }); <</script>> <<set $objectVersion.sexToys to 1>> <</if>> <!-- v0.3.8.2: sex toy and double penetration stats--> <<if $toymultiplepenetration is undefined>> <<set $toymultiplepenetration to "f">> <</if>> <!-- v0.3.8.2: sextoy inventory code cleanup --> <<if $passage.startsWith("Sextoys Inventory ") and ["Sextoys Inventory Home","Sextoys Inventory Brothel","Sextoys Inventory Cottage","Sextoys Inventory Cabin"].includes($passage)>> <<set $sextoyInvReturnLink to { "Sextoys Inventory Home": "Bedroom", "Sextoys Inventory Brothel": "Brothel Dressing Room", "Sextoys Inventory Cottage": "Farm Bedroom", "Sextoys Inventory Cabin": "Cabin Actions" }[$passage]>> <</if>> <!-- v.0.3.8.2: undefined $control --> <<if $control is undefined>> <<if $controlSaved>> <<set $control to $controlSaved>><<unset $controlSaved>> <<else>> <<set $control to $controlmax>> <</if>> <</if>> <!-- v0.3.8.6: Fixing mismatched specialtransform after losing your virginity --> <<if $demon gte 1 or $angel gte 1 or $fallenangel gte 2>> <<set $specialTransform to 1>> <<else>> <<set $specialTransform to 0>> <</if>> <!-- v0.3.8.6: Traubin overhaul --> <<if $robinTraumaMultiplier is undefined>> <<set $robinTraumaMultiplier to 1>> <</if>> <<if $robinSeen is undefined>> <<set $robinSeen to []>> <</if>> <<if !$robinTattoo>> <<set $robinTattoo to []>> <</if>> <<if $robinPunishments is undefined>> <<set $robinPunishments to []>> <<if C.npc.Robin.trauma gt 0>> <<set $robinPunishments.pushUnique("docks")>> <<set $robinLastPunishment to "docks">> <</if>> <</if>> <<if $robinmissing is undefined>> <<set $robinmissing to 0>> <<elseif $robinmissing is 1>> <<set $robinmissing to "docks">> <<set $robinLastPunishment to "docks">> <</if>> <<if $baileypaychain is undefined>> <<set $baileypaychain to 0>> <</if>> <<if $NPCList[0].index is undefined>> <<for _i to 0; _i lt $NPCList.length; _i++>> <<set $NPCList[_i].index to _i>> <</for>> <</if>> <!-- v0.3.8.6: Awarding the "Robin's Song" feat to players who missed it --> <<if C.npc.Robin.cdquest gte 7>> <<earnFeat "Robin's Song">> <</if>> <!-- v0.3.8.6: Kylar rework --> <<if $kylar.fameStage is undefined>> <<set $kylar.fameStage to 0>> <</if>> <!-- v0.3.9.0: update --> <<if $pregnancyspeechdisable is undefined>> <<set $pregnancyspeechdisable to "f">> <</if>> <<if $stray_happiness is undefined>> <<set $stray_happiness to 50>> <</if>> <!-- v0.3.9.2: Wardrobe teleport error fix --> <<if $clothes_choice isnot undefined and !["Clothing Shop", "Forest Shop", "School Library Shop", "Adult Shop Store"].includes($passage)>> <<unset $clothes_choice>> <</if>> <!-- v0.3.9.3: Robin pillory bug --> <<if $robinPillory and $robinPillory.danger gt 15>> <<unset $robinPillory>> <</if>> <!-- v0.3.9.3: Heterochromia disablable --> <<if $transformationParts.cat.heterochromia is undefined>> <<if $cat gte 7>> <<set $transformationParts.cat.heterochromia to "default">> <<else>> <<set $transformationParts.cat.heterochromia to "disabled">> <</if>> <</if>> <!-- v0.3.9.3: customColors 'value' property added --> <<if $objectVersion.customColors lt 5 or $objectVersion.customColors is undefined>> <<if $customColors.value is undefined>> <<set $customColors.value to {primary:100, secondary:100}>> <</if>> <<set $objectVersion.customColors to 5>> <</if>> <!-- v0.3.9.3: $retrieveShopCustomColor added // used for shop colour sliders --> <<if $retrieveShopCustomColor is undefined or $retrieveShopCustomColor isnot {}>> <<set $retrieveShopCustomColor to {}>> <</if>> <<if !$objectVersion.transformations>> <<set $_demon to $transformationParts.demon>> <<set $_tfConverter to { blue: { type: 'default', colour: { h: 240, s: 100, l: 50 } }, lime: { type: 'default', colour: { h: 90, s: 100, l: 50 } }, red: { type: 'default', colour: { h: 0, s: 100, l: 50 } }, yellow: { type: 'default', colour: { h: 55, s: 100, l: 50 } }, pink: { type: 'succubus', colour: { h: 320, s: 100, l: 50 } } }>> <<set $_demonHorn to $_tfConverter[$transformationParts.demon.horns]>> <<if typeof $_demonHorn === 'object'>> <<set $_demon.horns to $_demonHorn.type>> <<set $_demon.horns_colour to $_demonHorn.colour>> <</if>> <<set $_demonWings to $_tfConverter[$transformationParts.demon.wings]>> <<if typeof $_demonWings === 'object'>> <<set $_demon.wings to $_demonWings.type>> <<set $_demon.wings_colour to $_demonWings.colour>> <</if>> <<set $_demonTail to $_tfConverter[$transformationParts.demon.tail]>> <<if typeof $_demonTail === 'object'>> <<set $_demon.tail to $_demonTail.type>> <<set $_demon.tail_colour to $_demonTail.colour>> <</if>> <<set $objectVersion.transformations to 0>> <</if>> <!-- v0.3.10.0 update --> <<if $leftarmbruise is undefined>> <<set $leftarmbruise to 0>> <<set $rightarmbruise to 0>> <</if>> <<if $urinestat is "undefined">> <<set $urinestat to 0>> <</if>> <<if $hypnosis_traits is undefined>> <<set $hypnosis_traits to {}>> <</if>> <!-- v0.3.10.0 farm wage fix --> <<if $farm and $farm.wage gte 1500>> <<set $farm.wage to $farm.wage / 100>> <</if>> <!-- v0.3.10.1: Kylar dominance --> <<if C.npc.Kylar.dom gte 1 and ($bus isnot "kylarmanor" or $syndromekylar is 1)>> <<npcincr Kylar dom -100>> <</if>> <!-- v0.3.10.3: fix for Kylar being initialized weirdly in combat after a prior bug set kylar's NPCName data weirdly --> <<if _version lte 31003>> <<set _kylar to C.npc.Kylar>> <<if _kylar.penis isnot "none">> <<set _kylar.penis to "clothed">> <</if>> <<if _kylar.vagina isnot "none">> <<set _kylar.vagina to "clothed">> <</if>> <<run delete _kylar.lefthand>> <<run delete _kylar.righthand>> <</if>> <!-- v0.3.10.4: New character lighting variables --> <<if $imgLighten != undefined>> <<set $lightSpotlight to 0.2>> <<set $lightGradient to 0>> <<set $lightGlow to 0>> <<set $lightFlat to 0>> <<set $lightCombat to 0.2>> <<set $lightTFColor to 0.2>> <<if $imgLighten == "imgLighten">> <<set $lightFlat to 0.5>> <<elseif $imgLighten == "imgLighten2">> <<set $lightFlat to 1>> <</if>> <<unset $imgLighten>> <</if>> <<if $estatePersistent and !$estatePersistent.markedCards>> <<set $estatePersistent.markedCards = new Set()>> <<set $estatePersistent.newDeckTimer = 3>> <</if>> <!-- v0.3.10: blackjack update --> <<initEstatePersistent>> <!-- v0.3.10.5: Kylar scene viewer scenes --> <<if C.npc.Kylar.state is "prison">> <<set $kylarSeen.pushUnique("basement")>> <</if>> <!-- v0.3.10.5: Hypnotic flaunting --> <<if $uncomfortable.hypnosis is undefined>> <<set $uncomfortable.hypnosis to true>> <</if>> <!-- v0.3.10.5: nectar bodyliquid --> <<if $player.bodyliquid.neck.nectar is undefined>> <<for _bodypart range setup.bodyliquid.bodyparts>> <<set $player.bodyliquid[_bodypart].nectar to 0>> <</for>> <</if>> <<unset $goobodycount, $semenbodycount, $liquidbodycount>> <!-- v0.3.10.5/0.3.11.0: Overall school performance fix --> <<if _version lte 31100>> <<run ["science", "maths", "english", "history"].forEach( skill => { V[skill] = [0,100,200,400,700,1000].select(V[skill + "trait"] + 1); })>> <<set $school to $science + $english + $maths + $history>> <</if>> <!-- v0.3.11.0: Dancing Fixes --> <<if _version lte 31100 and $dancing is 1>> <<if $dance_place is undefined>> <<set $dance_place to 1>> <</if>> <<set $dance_place -= 1>> <</if>> <!-- v0.3.11.0: Combat images --> <<if $combatimages is undefined>> <<set $combatimages to $images>> <</if>> <!-- v0.3.10.0/v0.3.10.1/0.3.11.0 NaN variables fix --> <<if _version lte 31100>> /*Check to see if these variables are NaN. If they are, reset them to 0*/ <<run ["stress", "drugged", "drunk", "hallucinogen", "milk_amount", "orgasmcount", "urinestat", "traumagain", "stressgain", "traumasaved", "stresssaved", "enemyanger", "enemytrust", "turnCount"].forEach( v => V[v] ? true : V[v] = 0)>> <</if>> <!-- v0.3.11.4 --> <<if $outfitTmp is undefined>> <<set $outfitTmp to {}>> <</if>> <!-- v0.3.11.4 - Remove $crimemax --> <<if $crimemax isnot undefined>> <<unset $crimemax>> <</if>> <!-- v0.3.11.4 options rework --> <<if $options is undefined>> <<set $options to { neverNudeMenus: $neverNudeMenus !== undefined ? $neverNudeMenus : false, autosaveDisabled: $autosaveDisabled !== undefined ? $autosaveDisabled : false, showCaptionText: $showCaptionText !== undefined ? $showCaptionText : true, sidebarRenderer: $sidebarRenderer !== undefined ? $sidebarRenderer : "canvas", sidebarStats: $sidebarStats && ["disabled", "limited", "all"].includes($sidebarStats) ? $sidebarStats : "disabled", sidebarTime: $sidebarTime && ["disabled", "top", "bottom"].includes($sidebarTime) ? $sidebarTime : "disabled", combatControls: $combatControls !== undefined ? $combatControls : "radio", targetYourself: $targetYourself !== undefined ? $targetYourself : false, scrollRemember: $scroll_remember !== undefined ? $scroll_remember : false, mapMovement: $map.movement !== undefined ? $map.movement : true, mapLegacy: $map.legacy !== undefined ? $map.legacy : false, mapMarkers: $map.markers !== undefined ? $map.markers : false, mapTop: $map.top !== undefined ? $map.top : false, images: $images !== undefined && StartConfig.enableImages !== false ? $images : 0, combatImages: $combatimages !== undefined && StartConfig.enableImages !== false ? $combatimages : 0, bodywritingImages: $bodywritingImages !== undefined ? $bodywritingImages : true, silhouetteEnabled: $silhouettedisable !== undefined ? $silhouettedisable === "f" : true, sidebarAnimations: $sidebarAnimations !== undefined ? $sidebarAnimations : true, blinkingEnabled: $blinkingdisable !== undefined ? $blinkingdisable === "f" : true, combatAnimations: $combatAnimations !== undefined ? $combatAnimations : true, halfClosedEnabled: $halfcloseddisable !== undefined ? $halfcloseddisable === "f" : true, characterLightEnabled: true, lightSpotlight: $lightSpotlight !== undefined ? $lightSpotlight : 0.2, lightGradient: $lightGradient !== undefined ? $lightGradient : 0.1, lightGlow: $lightGlow !== undefined ? $lightGlow : 0.1, lightFlat: $lightFlat !== undefined ? $lightFlat : 0, lightCombat: $lightCombat !== undefined ? $lightCombat : 0.2, lightTFColor: $lightTFColor !== undefined ? $lightTFColor : 0.2, maxStates: $maxStates !== undefined ? $maxStates : 5, historyControls: false, numpad: $numpad !== undefined ? $numpad : false, useNarrowMarket: $useNarrowMarket !== undefined ? $useNarrowMarket : false, skipStatisticsConfirmation: $skipStatisticsConfirmation !== undefined ? $skipStatisticsConfirmation : false, showDebugRenderer: $showDebugRenderer !== undefined ? $showDebugRenderer : !!StartConfig.debug, };>> <</if>> <!-- v0.3.11.4 creampie.npc.penis and tentacle fix --> <!-- IMPORTANT NOTE: please REMOVE this section if these stats come back into use --> <<if _version lte 31104>> <<run delete $sexStats.creampie.npc.penis>> <<run delete $sexStats.creampie.npc.tentacle>> <!-- Fixing most named npcs missing all of their virginities --> <!-- Resetting all virginities to defaults, keeping virginities already taken by player --> <<if C.npc.Jordan.virginity.penile is false>> <<for $_i to 0; $_i lt $NPCNameList.length; $_i++>> <<set $_takenVirginities to []>> <<for $_virginity, $_status range $NPCName[$_i].virginity>> <<if $_status is "player">> <<set $_takenVirginities.push($_virginity)>> <</if>> <</for>> <<if $NPCNameList[$_i] is "Sydney">> <<set $NPCName[$_i].virginity to {"anal": true, "oral": true, "penile": true, "vaginal": true, "handholding": true, "temple": true, "kiss": true}>> <<else>> <<initNNPCVirginity $_i>> <</if>> <<set $_takenVirginities.forEach(taken => $NPCName[$_i].virginity[taken] = "player")>> <</for>> <</if>> <!-- Fix for saves where people were able to change wraith's gender --> <<if $per_npc.wraith and $per_npc.wraith.pronoun isnot "i">> <<set $per_npc.wraith.pronoun to "i">> <<generatePronouns $per_npc.wraith>> <</if>> <</if>> <!-- v0.3.11.4 $tirednessmax change to C.tiredness.max --> <<if $tirednessmax>> <<unset $tirednessmax>> <</if>> <!-- v0.3.11.4 - Add $makeup.mascara_running --> <<if $makeup.mascara_running is undefined>> <<set $makeup.mascara_running = 0>> <</if>> <!-- v0.3.11.4 - Remove defunct vars --> <<if $npcdescription isnot undefined>> <<unset $npcdescription>> <</if>> <<if $currentOverlay isnot undefined>> <<unset $currentOverlay>> <</if>> <!-- v0.3.11.4 New pepper spray display --> <<if $options.pepperSprayDisplay is undefined>> <<set $options.pepperSprayDisplay to "sprays">> <</if>> <<prison_feat_check>> <!-- v0.3.12.1: Changing room refactor --> <<if $bus is "girls" or $bus is "boys">> <<set $changingRoomGender to $bus>> <</if>> <!-- v.0.3.12.1 Fix classroom attendance vars --> <<if _version lte 31201>> <<set $scienceattended to $scienceattended || 0>> <<set $mathsattended to $mathsattended || 0>> <<set $englishattended to $englishattended || 0>> <<set $historyattended to $historyattended || 0>> <<set $swimmingattended to $swimmingattended || 0>> <</if>> <!-- v0.3.12.3 Fix heterochromia --> <<if V.custom_eyecolours.findIndex(i => i.variable === "cat_tf_stage_-1_left") !== -1>> <!-- if there's objects with a bugged variable --> <<script>> /* re-create custom eyecolours without broken variables */ const repairedEyeColours = []; V.custom_eyecolours.forEach(c => c.variable.startsWith("cat_tf") || repairedEyeColours.push(c)); V.custom_eyecolours = repairedEyeColours; /* regenerate cat eye stages from "natural" eye colour (selected at game start) while preserving the current colours */ const lEC = V.leftEyeColour; const rEC = V.rightEyeColour; V.leftEyeColour = V.eyeselect; V.rightEyeColour = V.eyeselect; determineCatEyeStages(); V.leftEyeColour = lEC; V.rightEyeColour = rEC; <</script>> <</if>> <<if $parasitepregdisable is undefined>> <<set $parasitepregdisable to $analpregdisable>> <<unset $analpregdisable>> <</if>> <!-- v0.3.12.4 --> <<if $options.closeButtonMobile is undefined>> <<set $options.closeButtonMobile to false>> <</if>> <!-- v0.3.12.4: Wraith Compound scene/canvasmodel override --> <<if $modeloptionsOverride is undefined>> <<set $modeloptionsOverride to {}>> <</if>> <!-- v0.3.12.4: pubfame --> <<if $pub_task_stat is undefined>> <<set $pub_task_stat to 0>> <</if>> <!-- v0.3.12.4: semen swallowing framework --> <<if $semenswallowedstat is undefined>> <<set $semenswallowedstat to 0>> <<set $animalsemenswallowedstat to 0>> <</if>> <<if $options.passageCount is undefined>> <<set $options.passageCount to "disabled">> <<set $options.playtime to false>> <</if>> <!-- v0.3.12.4 Sensitivity overhaul changes --> <<if $mouthsensitivity is undefined>> <!-- Initialise new sensitivities --> <<set $mouthsensitivity to 1>> <<set $bottomsensitivity to 1>> <!-- Map old sensitivity values (1-6) to new range (1-4), with step 0.25 --> <<set $breastsensitivity to Math.floor(4 + ($breastsensitivity - 1) * 12 / 5) / 4>> <<set $genitalsensitivity to Math.floor(4 + ($genitalsensitivity - 1) * 12 / 5) / 4>> <</if>> <!-- v0.3.12.4 Wraith update --> <<if !$wraith>> <<set $wraith to {"state": "", "init": 0}>> <<elseif $wraith.init is undefined>> <<set $wraith.init to 1>> <<set $wraith.days to 0>> <</if>> <<if $per_npc.wraith>> <<if $wraithAnger>> <<set $wraithAngerCooldown to $wraithAnger>> <<unset $wraithAnger>> <</if>> <<initnpc "Ivory Wraith">> <<run ["pronouns", "pronoun", "gender", "pregnancyAvoidance", "vagina", "penis", "clothes", "chest", "skincolour", "breastsize", "breastsdesc", "breastdesc", "penisdesc", "penissize", "trust", "type"].forEach(s => C.npc["Ivory Wraith"][s] = clone($per_npc.wraith[s]))>> <<set C.npc["Ivory Wraith"].lust to 0>> <<if $wraith.state is "haunt">> <<set C.npc["Ivory Wraith"].lust to 20>> <<if ($wraithPrison and $wraithPrison.vision) or Object.keys(V.feats.currentSave).includes("Schism")>> <<set $wraithPrison.vision to true>> <<set C.npc["Ivory Wraith"].lust -= 5>> <</if>> <</if>> <<if $wraithAngerCooldown>> <<set C.npc["Ivory Wraith"].lust += 3>> <</if>> <<set C.npc["Ivory Wraith"].lust = Math.clamp(C.npc["Ivory Wraith"].lust, 0, 20)>> <<clearNPC "wraith">> <<if $NPC_names_m.includes("Ivory Wraith") or $NPC_names_f.includes("Ivory Wraith")>> <<run delete $NPC_names_m["Ivory Wraith"]>> <<run delete $NPC_names_f["Ivory Wraith"]>> <</if>> <<if $wraith.state and !$wraith.days>> <<set $wraith.days to ($days - 60)>> <</if>> <</if>> <!-- To update the player and named npc pregnancy objects from numbers to a single array --> <<if $sexStats.vagina.pregnancy.fetus is undefined or $sexStats.anus.pregnancy.fetus is undefined or $sexStats.anus.pregnancy.type is undefined or $sexStats.anus.pregnancy.nonCycleRng is undefined or !Array.isArray($sexStats.vagina.sperm) or !$parentList>> <<physicalAdjustmentsInit>> <</if>> <<if !$pregnancytype>> <<set $cycledisable to "f">> <<set $pregnancytype to "realistic">> <</if>> <<if $adultshopunlocked and $adultshopcontribution>> <<earnFeat "Opened Pandoras Box">> <<if $adultshopcontribution gte 11>> <<earnFeat "Opened Pandoras Cocks">> <</if>> <</if>> <<if $baseVaginalPregnancyChance>> <<set $basePlayerPregnancyChance to $baseVaginalPregnancyChance>> <<unset $baseVaginalPregnancyChance>> <</if>> <<if $insecurity_pregnancy is undefined>> <<set $insecurity_pregnancy to 0>> <<set $acceptance_pregnancy to 0>> <</if>> /* For saves where it was set to undefined */ <<if $sciencemissed is undefined>> <<set $sciencemissed to 0>> <<set $mathsmissed to 0>> <<set $englishmissed to 0>> <<set $historymissed to 0>> <<set $swimmingmissed to 0>> <</if>> /* To correct some bad math that let it get into the negatives */ <<if Math.min($sciencemissed,$mathsmissed,$englishmissed,$historymissed,$swimmingmissed) lt 0>> <<set $_min to Math.min($sciencemissed,$mathsmissed,$englishmissed,$historymissed,$swimmingmissed)>> <<set $sciencemissed -= $_min>> <<set $mathsmissed -= $_min>> <<set $englishmissed -= $_min>> <<set $historymissed -= $_min>> <<set $swimmingmissed -= $_min>> <</if>> /* Attempt to sync up individual lessons missed with $lessonmissed */ <<set $_totalMissed to $sciencemissed + $mathsmissed + $englishmissed + $historymissed + $swimmingmissed>> <<if $_totalMissed gt $lessonmissed>> <<set $lessonmissed to $_totalMissed>> <<elseif $_totalMissed lt $lessonmissed>> <<set $_totalToAdd to $lessonmissed - $_totalMissed>> <<set $_toAdd to Math.ceil($_totalToAdd / 5)>> <<if $_totalToAdd gt 0>> <<set $sciencemissed += $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <<set $_totalToAdd -= $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <</if>> <<if $_totalToAdd gt 0>> <<set $mathsmissed += $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <<set $_totalToAdd -= $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <</if>> <<if $_totalToAdd gt 0>> <<set $englishmissed += $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <<set $_totalToAdd -= $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <</if>> <<if $_totalToAdd gt 0>> <<set $historymissed += $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <<set $_totalToAdd -= $_toAdd lt $_totalToAdd ? $_toAdd : $_totalToAdd>> <</if>> <<if $_totalToAdd gt 0>> <<set $swimmingmissed += $_totalToAdd>> <</if>> <</if>> <<if $wolfstate is "hunt" and $huntstate isnot "success">><<set $huntstate to "ongoing">><</if>> <</widget>> <<widget "backComp">> <!-- v0.3.12.4 $daily object --> <<run dailyConvert()>> <<if _version lte 30408>>/* DO NOT INCREMENT */ /* 0.3.4.8 is the last version that should need the old vvu */ /* for versions <= 0.3.4.8, run old version handler */ <<variablesVersionUpdate>> <</if>> <<if $saveVersions.last() isnot StartConfig.version>> <<set $saveVersions.push(StartConfig.version)>> <</if>> /* * * * * * * * * * * * * * * * * * * * * * * * new backwards compatibility code goes here */ /* Code that should not be moved into a check like above */ <<set $runWardrobeSanityChecker to true>> <<if $objectVersion.updateClothes lt 68 or $objectVersion.updateClothes is undefined>> <<updateClothes>> <<if $objectVersion.updateClothes lt 38>> <!-- V0.4.0.7 return items stuck in $store without proper .location --> <<run for (const slot in V.store) V.store[slot].forEach(i => { if (i.location === 0) i.location = "getBack" })>> <<storeon "getBack" "return">> <</if>> <<if $objectVersion.updateClothes lt 63>> <!--Should'nt need to re-run that often--> <<run clothesDataTrimmerLoop()>> <</if>> <!--If you have added any `colour_combat` or `accessory_colour_combat` to clothes that need their `colour` or `accessory_colour`, this will clear them. Remove `colour_combat` or `accessory_colour_combat` where this is the case, they are independant so `colour_combat` will only clear `colour`--> <!-- integrity_max was zero for a piece of clothing [Skimpy Leotard], this caused an infinity money bug at tailor, update people's clothing here --> <<if $objectVersion.updateClothes lt 56>> <<run fixIntegrityUpdater()>> <</if>> <!-- reset propEquipped --> <<if $objectVersion.updateClothes lt 62>> <<if $propEquipped is 1 and $worn.handheld.type !== "prop" and $worn.handheld.variable !== "featherduster">><<set $propEquipped to 0>><</if>> <</if>> <!-- 0.5.4.3 console error fixes --> <<if $objectVersion.updateClothes lt 68>> <<script>> for (const layer of Skin.tanningLayers) { for (const [key, value] of Object.entries(layer.slots)) { const patterns = setup.clothes[key].filter(item => item.index === value.index)[0].pattern_options; if (patterns) { value.pattern = patterns[0]; } } } <</script>> <</if>> <!-- do NOT forget to bump this version in variables-start.twee, too --> <<set $objectVersion.updateClothes to 68>> <</if>> <<if $objectVersion.specialClothesEffectsSetup lt 1 or $objectVersion.specialClothesEffectsSetup is undefined>> <<specialClothesEffectsSetup>> <<set $objectVersion.specialClothesEffectsSetup to 1>> <</if>> <<if $objectVersion.specialClothes lt 19 or $objectVersion.specialClothes is undefined>> <<specialClothesSetup>> <<specialClothesUpdate>> <<if !$specialClothesEffects.pimp>> <<set $specialClothesEffects to { bimbo: { progress: $specialClothesEffects.bimbo, total: $specialClothesEffects.bimboTotal, message: $specialClothesEffects.bimboMessage }, pimp: { progress: 0, total: 0, message: 0 } }>> <</if>> <<if $specialClothesEffects.bimbo.total is undefined>> <!-- Fix broken objects caused by running above code twice in old version --> <<set $specialClothesEffects.bimbo to { progress: 0, total: 0, message: 0 }>> <</if>> <!-- do NOT forget to bump this version in variables-start.twee, too --> <<set $objectVersion.specialClothes to 19>> <</if>> <<if $objectVersion.wardrobes lt 13 or $objectVersion.wardrobes is undefined>> <<wardrobesUpdate>> <<set $objectVersion.wardrobes to 13>> <</if>> <<if $objectVersion.museumAntiques lte 14 and $museumAntiques.antiques.antiquewhitescrystal isnot undefined>> <<run delete $museumAntiques.antiques.antiquewhitescrystal>> <</if>> <<if $objectVersion.museumAntiques lt 19 or $objectVersion.museumAntiques is undefined>> /*Moved undefined checks for new antiques to the widget below*/ <<updateMuseumAntiques>> <<set $objectVersion.museumAntiques to 19>> <</if>> <<pregnancyVar>> <<updateNewNamedNpcs>> <!-- Jimmy: Reset NPC slots if necessary Old versions prior to 3.4.* did not have empty slots properly set to baseNPC. --> <<if $npcListVersion lt 3>> <<npcList>> <</if>> <!-- Jimmy: Run updater for EventSystem. Only runs if behind on schema, and if $event exists. --> <<run EventSystem.update()>> <!-- v0.3.6.2: Updating NPC clothing when needed --> <<if $objectVersion.npcClothes lt 1 or $objectVersion.npcClothes is undefined>> <<set $objectVersion.npcClothes to 1>> <<if $halloween is 1 and $robinmissing is 0 and $hour gte 16 and $hour lt 19 and $monthday is 31 and $halloween_robin_costume and C.npc.Robin.init is 1>> <<if !C.npc.Robin.outfits>> <<initNNPCClothes "Robin">> <</if>> <<if !C.npc.Robin.outfits.includes($halloween_robin_costume)>> <<addNNPCOutfit "Robin" $halloween_robin_costume>> <</if>> <</if>> <<if C.npc.Kylar.state is "prison">> <<if !C.npc.Kylar.outfits>> <<initNNPCClothes "Kylar">> <</if>> <<if !C.npc.Kylar.outfits.includes("prisonJumpsuit")>> <<addNNPCOutfit "Kylar" "prisonJumpsuit">> <</if>> <</if>> <!-- Bestow clothing to any active NPCs--> <<if $NPCList isnot undefined and !$NPCList[0].clothes>> <<for _i = 0; _i < $NPCList.length; _i++>> <<if $NPCList[_i].type>> <<if $NPCList[_i].type is "human">> <<npcClothesType $NPCList[_i] "default">> <<else>> <<npcClothesType $NPCList[_i] "naked">> <</if>> <</if>> <</for>> <</if>> <<for $_key, $_npc range $per_npc>> <<if $_npc>> <!-- Bestow clothing to persistent NPCs--> <<if !$_npc.clothes>> <<if ["anxious_guard", "methodical_guard", "relaxed_guard", "veteran_guard"].includes($_key)>> <<npcClothesType $per_npc[$_key] "security">> <<elseif ["scarred_inmate", "tattooed_inmate"].includes($_key)>> <<npcClothesType $per_npc[$_key] "prison">> <<elseif ["tower_creature"].includes($_key)>> <<npcClothesType $per_npc[$_key] "naked">> <<elseif ["farm_tower_guard"].includes($_key)>> <<npcClothesName $per_npc[$_key] "wildsFlannel">> <<elseif ["prison_intro_officer"].includes($_key)>> <<npcClothesType $per_npc[$_key] "police">> <<elseif ["pinch"].includes($_key)>> <<npcClothesType $per_npc[$_key] "robinGiftChristmas">> <<elseif ["wraith"].includes($_key)>> <<npcClothesType $per_npc[$_key] "Wraith">> <<else>> <<npcClothesType $per_npc[$_key] "default">> <</if>> <</if>> <</if>> <</for>> <</if>> <!-- v0.3.8.2: fix for cursed clothing being present in the player's wardrobes --> <<if Object.keys($wardrobe).some(slot => Object.values($wardrobe[slot]).some(clothing => clothing.cursed))>> <<run Object.keys($wardrobe).forEach(slot => { if (slot is "space") return; $wardrobe[slot] = $wardrobe[slot].filter(clothing => clothing.cursed is 0); })>> <<run Object.keys($wardrobes).forEach(location =>{ if (location is "shopReturn" || location is "wardrobe") return; Object.keys($wardrobes[location]).forEach(slot => { if (["isolated", "name", "shopSend", "space", "transfer", "unlocked"].includes(slot)) return; $wardrobes[location][slot] = $wardrobes[location][slot].filter(clothing => clothing.cursed === 0); }) })>> <</if>> <<npcPregnancyUpdater>><!--Has checks to make sure it only changes data when required, don't block behind a check--> <<if _version lt 40000>>/* DO NOT INCREMENT */ /* 0.4.0.0 is the last version that should need the old vvu */ /* for versions <= 0.4.0.0, run old version handler */ <<variablesVersionUpdate2>> <</if>> <!-- Fix for hair style renames --> <<if !$objectVersion.hairFix lt 1 or $objectVersion.hairFix is undefined>> <<set _hairUpdate to { "left fishtail braid": "left fishtail", "right fishtail braid": "right fishtail", "side thicktail": "thick pigtails", "side tail left": "sidetail left", "side tail right": "sidetail right", "side thicktail": "thick sidetail", }>> <<set _fringeUpdate to { "blunt sidelocks": "blunt locks", "french bob": "tied back", }>> <<if _hairUpdate[$hairtype]>><<set $hairtype to _hairUpdate[$hairtype]>><</if>> <<if _fringeUpdate[$fringetype]>><<set $fringetype to _fringeUpdate[$fringetype]>><</if>> <<if $savedHairStyles>> <<run Object.values($savedHairStyles).forEach(style => { if (T.hairUpdate[style.hairtype]) style.hairtype = T.hairUpdate[style.hairtype]; if (T.fringeUpdate[style.fringetype]) style.fringetype = T.fringeUpdate[style.fringetype]; })>> <</if>> <<set $objectVersion.hairFix to 1>> <</if>> <!-- Fix for child toy --> <<if !$objectVersion.toyFix lt 1 or $objectVersion.toyFix is undefined>> <<set _nameChanges to { "Mrs Teddy": "Mrs. Teddy", "Mr Teddy": "Mr. Teddy", "See through dummy": "Clear dummy", "Baby Doll": "Baby doll", "Green race toy car": "Green toy racecar", "Blue race toy car": "Blue toy racecar", "Green Robot": "Green robot", "Red Robot": "Red robot", "Chew Bone": "Chew bone", "Squeaky Sheep": "Squeaky sheep", "Squeaky Chicken": "Squeaky chicken", "Chew Ball": "Chew ball" }>> <<set _nameLowerChanges to { "Mrs Teddy": "Mrs. Teddy", "Mr Teddy": "Mr. Teddy", "See through dummy": "clear dummy", "Green race toy car": "green toy racecar", "Blue race toy car": "blue toy racecar", }>> <<set _colourChanges to { "See through dummy": "light-grey", "White dummy": "light-grey", "Teddy bear": "tan", "Limousine toy car": "grey", "Squeaky Sheep": "light-grey", "Chew Ball": "light-green" }>> <<set _allToys = []>> <<if V.storedChildrenToys and Object.keys(V.storedChildrenToys).length>> <<for _nursery range Object.keys(V.storedChildrenToys)>> <<set _allToys.push(...V.storedChildrenToys[_nursery])>> <</for>> <</if>> <<if V.player.inventory.childrenToys?.length>> <<set _allToys.push(...V.player.inventory.childrenToys)>> <</if>> <<if V.selectedToy?.options>> <<set _allToys.push(...V.selectedToy.options)>> <</if>> <<for _toy range _allToys>> <<if _colourChanges[_toy.name]>> <<set _toy.colour to _colourChanges[_toy.name]>> <</if>> <<if _nameChanges[_toy.name]>> <<set _toy.name_lower to _nameLowerChanges[_toy.name]>> <<set _toy.name to _nameChanges[_toy.name]>> <</if>> <</for>> <<set $objectVersion.toyFix to 1>> <</if>> /* End of Code that should not be moved */ <!-- v0.3.6.2: cow update - ToDo: Move to variables-static --> <<set $BeastList to ["dog","cat","pig","wolf","dolphin","lizard","bear","boar","creature","horse","fox","hawk","cow","spider", "snake"]>> <!-- Will navigate to V.makeup.eyelenses, and attempt to turn that into the proper object this time. Needs configing if it can be moved to `variablesVersionUpdate2`--> <<run restructureEyeColourVariable()>> <!-- v0.3.8.6: furniture update --> <<run Furniture.update(true)>> <!-- v0.3.8.6: Sydney Rite of Promise protects PC's angel TF --> <!-- !! Readjust after marriage is added !! --> <<if $templePromised isnot "" and $player.virginity.vaginal is true and $player.virginity.penile is true>> <<set $virginityProtected to true>> <</if>> <!-- <= v0.3.8.6: fame object --> <<if !$objectVersion.fame>> <<if typeof $fame isnot "object">> <<set $fame to { exhibitionism: $fameexhibitionism, prostitution: $fameprostitution, bestiality: $famebestiality, sex: $famesex, rape: $famerape, good: $famegood, business: $famebusiness, scrap: $famescrap, pimp: $famepimp, social: $famesocial, model: $famemodel, pregnancy: $famepregnancy }>> <<if $statFreeze and !$frozenValues>> <!-- For scenes like Janet and Raul, Pinch, or the Schism --> <<set $real_fame to { exhibitionism: $real_fameexhibitionism, prostitution: $fameprostitution, bestiality: $famebestiality, sex: $real_famesex, rape: $real_famerape, good: $famegood, business: $famebusiness, scrap: $real_famescrap, pimp: $famepimp, social: $famesocial, model: $famemodel, pregnancy: $famepregnancy }>> <</if>> <<unset $fameexhibitionism>> <<unset $fameprostitution>> <<unset $famebestiality>> <<unset $famesex>> <<unset $famerape>> <<unset $famegood>> <<unset $famebusiness>> <<unset $famescrap>> <<unset $famepimp>> <<unset $famesocial>> <<unset $famemodel>> <<unset $famepregnancy>> <<unset $real_fameexhibitionism>> <<unset $real_famesex>> <<unset $real_famerape>> <<unset $real_famescrap>> <<if $park_fame is undefined>> <<set $park_fame to $famepark>> <<unset $famepark>> <</if>> <</if>> <<set $objectVersion.fame to 1>> <</if>> <!-- This patch makes sure certain properties exist in $fame. Defaults to 0. --> <<if $objectVersion.fame is 1>> <<set $_keys to [ 'exhibitionism', 'prostitution', 'bestiality', 'sex', 'rape', 'good', 'business', 'scrap', 'pimp', 'social', 'model', 'pregnancy' ]>> <<for $_key range $_keys>> <<if $fame[$_key] eq null>> <<set $fame[$_key] to 0>> <</if>> <</for>> <<set $objectVersion.fame to 2>> <</if>> <!-- This patch checks existing properties of $fame for non-numeric values, and assigns them a default of 0. --> <<if $objectVersion.fame is 2>> <<for $_key, $_val range $fame>> <<if typeof $_val isnot 'number' or $_val is NaN>> <<set $fame[$_key] to 0>> <</if>> <</for>> <<set $objectVersion.fame to 3>> <</if>> <!-- <= v0.3.8.6: Modeling rework --> <<if typeof $photo is 'object'>> <<script>> const photo = V.photo; const versions = V.objectVersion; if (versions.photo === undefined) { versions.photo = 0; } switch (versions.photo) { case 0: if (typeof photo.fame_stage === 'number') { photo.audienceSize = Math.ceil(photo.fame_stage / 2); photo.timesWithThisAudienceSize = ((photo.fame_stage - 1) % 2) + 1; } else { photo.audienceSize = 1; photo.timesWithThisAudienceSize = 0; } delete photo.fame_stage; if (typeof photo.money !== 'number' || Number.isNaN(photo.money)) { photo.money = 450; } versions.photo = 1; } <</script>> <</if>> <!-- v0.3.13.0 Persistent NPCs stealing the Wraith's name --> <<if $NPC_names_m.includes("Ivory Wraith") or $NPC_names_f.includes("Ivory Wraith")>> <<set $NPC_names_m.delete("Ivory Wraith")>> <<set $NPC_names_f.delete("Ivory Wraith")>> <</if>> <<if Object.values($per_npc).some(npc => npc.name is "Ivory Wraith")>> <<for _i, _npc range $per_npc>> <<if $per_npc[_i].name is "Ivory Wraith">> <<set $per_npc[_i].name to ($per_npc[_i].pronoun is "m" ? $NPC_names_m.pluck() : $NPC_names_f.pluck())>> <</if>> <</for>> <</if>> <!-- v0.3.13.0 Fixed Landry forgetting about Mickey --> <<if $police_hack gte 4>> <<set $mickeyPub to 2>> <</if>> <!-- v0.3.13.3 Schism unset fix --> <<if $schism>> <<unset $schism>> <</if>> <!-- v0.3.13.5 --> <<if $zoom isnot undefined>> <<set $options.zoom to $zoom>> <<unset $zoom>> <</if>> <<if $options.zoom is undefined>> <<set $options.zoom to 100>> <</if>> <<if $numberify_enabled isnot undefined>> <<set $options.numberify_enabled to $numberify_enabled>> <<unset $numberify_enabled>> <</if>> <<if $options.numberify_enabled is undefined>> <<set $options.numberify_enabled to 1>> <</if>> <<if $timestyle isnot undefined>> <<set $options.timestyle to $timestyle>> <<unset $timestyle>> <</if>> <<if $options.timestyle is undefined>> <<set $options.timestyle to "military">> <</if>> <<if $oldclock isnot undefined>> <<unset $oldclock>> <</if>> <!-- v0.3.13.5 Impreg fame in fame object --> <<if $fame.impreg is undefined>> <<set $fame.impreg to 0>> <</if>> <!-- v0.3.13.5 Condom sidebar display --> <<if $options.condomsDisplay is undefined>> <<set $options.condomsDisplay to "standard">> <<set $options.traitOverlayFormat to "table">> <</if>> <!-- v0.3.13.5 Deprecated Code and Bodysize Fix --> <<if !$bodysize>> <<switch $physiquesize>> <<case 6000>><<set $bodysize to 0>> <<case 10000>><<set $bodysize to 1>> <<case 12000>><<set $bodysize to 2>> <<case 16000>><<set $bodysize to 3>> <<default>><<set $bodysize to 2>><<set $physiquesize to 12000>> <</switch>> <</if>> <!-- v0.3.13.5 undefined fringe colour --> <<if $hairfringecolour is undefined>> <<set $hairfringecolour to $haircolour>> <</if>> <!-- v0.3.13.5 Nightmares ruining angel TF --> <<if $activeNightmare and $real_transformationParts is undefined>> <<set $real_angel to $angel>> <<set $real_angelbuild to $angelbuild>> <<set $real_fallenangel to $fallenangel>> <<set $real_transformationParts to clone($transformationParts)>> <<set $real_purity to $purity>> <</if>> <!-- v0.3.13.5 Pregnancy Utilities --> <<if $storedNPCs is undefined>> <!-- Separated object for compressing NPCs --> <<set $storedNPCs to {}>> <!-- Timer for events at the nursery --> <<if $home_event_ward_timer is undefined>> <<set $home_event_ward_timer to 3>> <<set $home_event_ward_timer to 0>> <</if>> <!-- Default condom setting --> <<if $condomLvl is undefined>> <<set $condomLvl to 3>> <</if>> <!-- Condom object for when more condom types are implemented --> <<if $player.inventory and !$player.inventory.condoms>> <<set $player.inventory.condoms to {}>> <</if>> <!-- Clears unused values, establishes debug values --> <<if $condomchance>> <<set $condomChance to 60>> <<set $condomUseChanceRape to 33>> <<set $condomUseChanceCon to 83>> <<unset $condomchance>> <<unset $condomautochance>> <</if>> <!-- Old testing variable I forgot to clear --> <<unset $test>> <</if>> <!-- v0.3.13.5 Save compression --> <<if $compressSave is undefined>> <<set $compressSave to true>> <</if>> <!-- v0.3.13.5 Two-tone hair --> <<if $hairColourStyle is undefined>> <<set $hairColourStyle to "simple">> <<set $hairColourGradient to { style: "split", colours: ["red", "black"]}>> <</if>> <<if $hairFringeColourStyle is undefined>> <<set $hairFringeColourStyle to "simple">> <<set $hairFringeColourGradient to { style: "split", colours: ["red", "black"]}>> <</if>> <!-- v0.3.13.5 Whitney rescued state removal and pillory state addition --> <<if C.npc.Whitney.state is "rescued">> <<set $whitneyrescued to true>> <<set C.npc.Whitney.state to "active">> <</if>> <<if $pillory_tenant isnot undefined and ($pillory_tenant.special.name is "Whitney" and C.npc.Whitney.state isnot "pillory")>> <!-- Making "pillory" a state means that whitney's state shouldn't be anything but "pillory" when they're locked up --> <<set C.npc.Whitney.state to "pillory">> <</if>> <!-- v0.3.13.5 NPC Skin simplification --> <<if $whitechance>> <<unset $whitechance>> <<unset $whitechanceselector>> <<unset $blackchanceselector>> <<for $_i to 0; $_i lt $NPCNameList.length; $_i++>> <<if $NPCName[$_i].init is 1 and !$NPCName[$_i].skincolour>> <<if random(1, 100) lte $blackchance>> <<set $NPCName[$_i].skincolour to "black">> <<else>> <<set $NPCName[$_i].skincolour to "white">> <</if>> <</if>> <</for>> <<if C.npc["Ivory Wraith"].init is 1>> <<set C.npc["Ivory Wraith"].skincolour to "ghost">> <</if>> <<for $_s to 0; $_s lt $NPCList.length; $_s++>> <<if $NPCList[$_s].health and !$NPCList[$_s].skincolour>> <<if $NPCList[$_s].fullDescription is $npc[$_s]>> <<set $NPCList[$_s].skincolour to C.npc[$npc[$_s]].skincolour>> <<else>> <<if random(1, 100) lte $blackchance>> <<set $NPCList[$_s].skincolour to "black">> <<else>> <<set $NPCList[$_s].skincolour to "white">> <</if>> <</if>> <</if>> <</for>> <</if>> <!-- v0.3.13.5 disable old renderer settings --> <<if $options.sidebarRenderer is "both" or $options.sidebarRenderer is 'img'>> <<set $options.sidebarRenderer to 'canvas'>> <</if>> <!-- v0.3.13.5 English play event and some passage renames--> <<if $englishPlay is undefined>> <<set $englishPlay to "none">> <</if>> <<if $debugdisable isnot undefined>> <<set $options.debugdisable to $debugdisable>> <<unset $debugdisable>> <</if>> <<if $masturbationtimestat isnot undefined>> <<if !$secondsSpentMasturbating>> <<set $secondsSpentMasturbating to $masturbationtimestat * 60>> <</if>> <<unset $masturbationtimestat>> <</if>> <<if $prison_scarred_done isnot undefined>> <<unset $prison_scarred_done>> <<set $daily.prison.scarredDone to true>> <</if>> <<if $prison_relaxed_spoke isnot undefined>> <<unset $prison_relaxed_spoke>> <<set $daily.prison.relaxedSpoke to true>> <</if>> <<if $prison_relaxed_greet isnot undefined>> <<unset $prison_relaxed_greet>> <<set $daily.prison.relaxedGreet to true>> <</if>> <<if $prison_anxious_spoke isnot undefined>> <<unset $prison_anxious_spoke>> <<set $daily.prison.anxiousSpoke to true>> <</if>> <<if $prison_anxious_greet isnot undefined>> <<unset $prison_anxious_greet>> <<set $daily.prison.anxiousGreet to true>> <</if>> <<if $prison_veteran_spoke isnot undefined>> <<unset $prison_veteran_spoke>> <</if>> <<if $prison_veteran_greet isnot undefined>> <<unset $prison_veteran_greet>> <<set $daily.prison.veteranGreet to true>> <</if>> <<if $prison_methodical_spoke isnot undefined>> <<unset $prison_methodical_spoke>> <<set $daily.prison.methodicalSpoke to true>> <</if>> <<if $prisonwake isnot undefined>> <<unset $prisonwake>> <<set $daily.prison.wake to true>> <</if>> <<if $prison_attention_day isnot undefined>> <<unset $prison_attention_day>> <<set $daily.prison.attentionDay to true>> <</if>> <<if $glideScared isnot undefined>> <<unset $glideScared>> <<set $daily.glideScared to true>> <</if>> <<if !$daily.school.attended>> <<set $daily.school.attended to {}>> <</if>> <<if $scienceattended isnot undefined>> <<set $daily.school.attended.science to $scienceattended == 1>> <<unset $scienceattended>> <<set $daily.school.attended.maths to $mathsattended == 1>> <<unset $mathsattended>> <<set $daily.school.attended.english to $englishattended == 1>> <<unset $englishattended>> <<set $daily.school.attended.history to $historyattended == 1>> <<unset $historyattended>> <<set $daily.school.attended.swimming to $swimmingattended == 1>> <<unset $swimmingattended>> <</if>> <<if $weekly is undefined>> <<set $weekly to { theft: {}, sewers: {} }>> <</if>> <<if $robinBrothelWeekly isnot undefined>> <<set $weekly.robinBrothel to $robinBrothelWeekly>> <<unset $robinBrothelWeekly>> <</if>> <<if $edenPreyWeekly isnot undefined>> <<set $weekly.edenPrey to $edenPreyWeekly>> <<unset $edenPreyWeekly>> <</if>> <<if $leightondancerefused isnot undefined>> <<set $weekly.leightonDanceRefused to $leightondancerefused>> <<unset $leightondancerefused>> <</if>> <<if $dancestudiotheft isnot undefined>> <<set $weekly.theft.danceStudio to $dancestudiotheft>> <<unset $dancestudiotheft>> <</if>> <<if $oceanbreezetheft isnot undefined>> <<set $weekly.theft.oceanBreeze to $oceanbreezetheft>> <<unset $oceanbreezetheft>> <</if>> <<if $stripclubtheft isnot undefined>> <<set $weekly.theft.stripClub to $stripclubtheft>> <<unset $stripclubtheft>> <</if>> <<if $clothingshoptheft isnot undefined>> <<set $weekly.theft.clothingShop to $clothingshoptheft>> <<unset $clothingshoptheft>> <</if>> <<if $adultshoptheft isnot undefined>> <<set $weekly.theft.adultShop to $adultshoptheft>> <<unset $adultshoptheft>> <</if>> <<if $hairdresserstheft isnot undefined>> <<set $weekly.theft.hairDressers to $hairdresserstheft>> <<unset $hairdresserstheft>> <</if>> <<if $tailortheft isnot undefined>> <<set $weekly.theft.tailor to $tailortheft>> <<unset $tailortheft>> <</if>> <<if $petshoptheft isnot undefined>> <<set $weekly.theft.petShop to $petshoptheft>> <<unset $petshoptheft>> <</if>> <<if $toyshoptheft isnot undefined>> <<set $weekly.theft.toyShop to $toyshoptheft>> <<unset $toyshoptheft>> <</if>> <<if $tattooparlourtheft isnot undefined>> <<set $weekly.theft.tattooParlour to $tattooparlourtheft>> <<unset $tattooparlourtheft>> <</if>> <<if $ridingschooltheft isnot undefined>> <<set $weekly.theft.ridingSchool to $ridingschooltheft>> <<unset $ridingschooltheft>> <</if>> <<if $spatheft isnot undefined>> <<set $weekly.theft.spa to $spatheft>> <<unset $spatheft>> <</if>> <<if $schoollibrarymoneytheft isnot undefined>> <<set $weekly.theft.schoolLibraryMoney to $schoollibrarymoneytheft>> <<unset $schoollibrarymoneytheft>> <</if>> <<if $infirmarydrugstheft isnot undefined>> <<set $weekly.theft.infirmaryDrugs to $infirmarydrugstheft>> <<unset $infirmarydrugstheft>> <</if>> <<if $furnitureshoptheft isnot undefined>> <<set $weekly.theft.furnitureShop to $furnitureshoptheft>> <<unset $furnitureshoptheft>> <</if>> <<if $streetpolice isnot undefined>> <<set $weekly.streetPolice to $streetpolice>> <<unset $streetpolice>> <</if>> <<if $sewersantiquecrystal isnot undefined>> <<set $weekly.sewers.antiqueCrystal to $sewersantiquecrystal>> <<unset $sewersantiquecrystal>> <</if>> <<if $sewersantiquewatch isnot undefined>> <<set $weekly.sewers.antiqueWatch to $sewersantiquewatch>> <<unset $sewersantiquewatch>> <</if>> <<if $sewersantiquedildo isnot undefined>> <<set $weekly.sewers.antiqueDildo to $sewersantiquedildo>> <<unset $sewersantiquedildo>> <</if>> <<if $sewersantiquecandlestick isnot undefined>> <<set $weekly.sewers.antiqueCandlestick to $sewersantiquecandlestick>> <<unset $sewersantiquecandlestick>> <</if>> <<if $sewersantiquehorn isnot undefined>> <<set $weekly.sewers.antiqueHorn to $sewersantiquehorn>> <<unset $sewersantiquehorn>> <</if>> <<if $temple_fire isnot undefined>> <<set $weekly.templeFire to $temple_fire>> <<unset $temple_fire>> <</if>> <<if $police_high isnot undefined>> <<set $weekly.policeHigh to $police_high>> <<unset $police_high>> <</if>> <<if $school_pool_swap isnot undefined>> <<set $weekly.schoolPoolSwap to $school_pool_swap>> <<unset $school_pool_swap>> <</if>> <<if $beach_cave_compass isnot undefined>> <<set $weekly.beachCaveCompass to $beach_cave_compass>> <<unset $beach_cave_compass>> <</if>> <<if $dance_job isnot undefined>> <<set $weekly.danceJob to $dance_job>> <<unset $dance_job>> <</if>> <<if $whitneyPub isnot undefined>> <<set $weekly.whitneyPub to $whitneyPub>> <<unset $whitneyPub>> <</if>> <<if $adultShopWhitney isnot undefined>> <<set $weekly.adultShopWhitney to $adultShopWhitney>> <<unset $adultShopWhitney>> <</if>> <!-- v0.4.0.6 change (87f8e633085bb4be8f4f0d099012b1e0b077242a) that I've moved up here. the reason is - this variable is used in the edge-case handled below (the <<pass _passMinutes>> macro that the v0.4 Time refactor sometimes calls ends up reading schoolLessonsMissed.science, which obviously breaks if this initialisation doesn't happen at this point. If you add any calls to <<pass>> before this line in backComp - it will also break for any players whose save doesn't have the schoolLessonsMissed paramm yet. --> <<if $sciencemissed isnot undefined>> <<set $schoolLessonsMissed to { science: $sciencemissed, maths: $mathsmissed, english: $englishmissed, history: $historymissed, swimming: $swimmingmissed }>> <<unset $sciencemissed>> <<unset $mathsmissed>> <<unset $englishmissed>> <<unset $historymissed>> <<unset $swimmingmissed>> <</if>> <!-- v0.4 Time refactor --> <<if $time isnot undefined and !$timeStamp>> <<script>> /* Tries to set the date to the same as the previous version's date. If weekday is different from the real date, well shit, we're faking it. */ const month = Time.monthNames.map(month => month.toLowerCase()).indexOf(V.month) + 1; const date = new DateTime(V.year, month, V.monthday, Math.min(V.hour, 23), Math.min(V.minute, 59), V.seconds); const startDate = new DateTime(date); Time.startDate = startDate.addDays(-V.days); const passMinutes = (V.hour > 23 ? (V.hour - 23) * 60 : 0) + (V.minute > 59 ? V.minute - 59 : 0); if (V.real_season) V.real_timeStamp = new DateTime(V.real_year, Time.monthNames.indexOf(V.real_month.toUpperFirst()) + 1, V.real_monthday, V.real_hour, V.real_minute).timeStamp - V.startDate; Time.setDate(date); V.weekDayOffset = (V.weekday - Time.weekDay + 6) % 7; /* stay positive */ if (V.weekDayOffset === 6) delete V.weekDayOffset; /* and clean the rubbish */ ["time", "year", "yeardays", "season", "month", "monthday", "weekday", "schoolday", "days", "daystate", "dayname", "hour", "minute", "seconds", "pass", "real_year", "real_season", "real_month", "real_monthday", "real_hour", "real_minute", "real_time"].forEach(v => delete V[v]); Time.set(V.timeStamp + passMinutes * 60); <</script>> <</if>> <!-- v0.4 Vrel stuff that he forgot to label --> <<if $hypnosisdisable is undefined>> <<set $hypnosisdisable to "f">> <</if>> <<if $housekeeping is undefined>> <<set $housekeeping to 0>> <</if>> <<if $town_projects is undefined>> <<set $town_projects to {}>> <</if>> <<if $ruffledisable is undefined>> <<set $ruffledisable to "f">> <</if>> <<if $child_played is undefined>> <<set $child_played to []>> <</if>> <!-- v0.4 Wraith stuff --> <<if $necklaceThief is undefined>> <<if $museumAntiques.antiques.antiqueivorynecklace isnot "notFound">> <<set $necklaceThief to "player">> <<elseif $town_projects.diving gte 3 and $museumAntiques.antiques.antiqueivorynecklace is "notFound">> /* for anyone on the dev build that passed the normal trigger already */ <<museumAntiqueStatus "antiqueivorynecklace" "found">> <<museumAntiqueStatus "antiqueivorynecklace" "talk">> <<set $necklaceThief to "diver">> <<else>> <<set $necklaceThief to "">> <</if>> <</if>> <!-- v0.4 Fox TF and fox encounters --> <<if $fox is undefined or typeof $fox is "string">> <<set $foxbuild to 0>> <<set $fox to 0>> <<set $transformationParts.traits.mateForLife to ($harpy gte 3 ? "default" : "disabled")>> <!-- Unrelated fix for fallenbuild being NaN on existing saves --> <<if !$fallenbuild>> <<set $fallenbuild to 0>> <</if>> <</if>> <!-- V0.4 Moving flaunting to mirror --> <<if $uncomfortable.flaunting isnot undefined>> <<if $uncomfortable.flaunting is false and $demon gte 4 and $exhibitionism gte 95>> <<set $transformationParts.traits.flaunting to "default">> <<else>> <<set $transformationParts.traits.flaunting to "disabled">> <</if>> <<run delete $uncomfortable.flaunting>> <</if>> <!-- V0.4 egg --> <<if $plants.egg>> <<set $plants.chicken_egg to $plants.egg>> <<run delete $plants.egg>> <<set $plants.chicken_egg.name to "chicken_egg">> <<set $plants.chicken_egg.plural to "chicken eggs">> <</if>> <<if $farmersProduce !== undefined and $farmersProduce.selling !== undefined && $farmersProduce.selling.egg>> <<set $farmersProduce.selling.chicken_egg to $farmersProduce.selling.egg>> <<run delete $farmersProduce.selling.egg>> <</if>> <!-- V0.4 tower guard state saved --> <<if $per_npc.farm_tower_guard and $per_npc.farm_tower_guard.active isnot undefined>> <<run delete $per_npc.farm_tower_guard.active>> <<set $per_npc.farm_tower_guard.bold to 0>> <<set $per_npc.farm_tower_guard.lefthand to 0>> <<set $per_npc.farm_tower_guard.righthand to 0>> <<set $per_npc.farm_tower_guard.mouth to 0>> <<set $per_npc.farm_tower_guard.chest to "clothed">> <<set $per_npc.farm_tower_guard.health to $per_npc.farm_tower_guard.healthmax>> <<set $per_npc.farm_tower_guard.location to {head: 0, genitals: 0}>> <<set $per_npc.farm_tower_guard.penis to ($per_npc.farm_tower_guard.penis isnot "none") ? "clothed" : "none">> <<set $per_npc.farm_tower_guard.vagina to ($per_npc.farm_tower_guard.vagina isnot "none") ? "clothed" : "none">> <</if>> <!-- V0.4.0.2 SNEAKY posture undefined --> <<if $player.gender_posture is undefined>> <<if $background is "crossdresser">> <<if $player.sex is "f">> <<set $player.gender_posture to "m">> <<elseif $player.sex is "m">> <<set $player.gender_posture to "f">> <</if>> <<else>> <<set $player.gender_posture to "n">> <</if>> <</if>> <!-- V0.4.0.3 SNEAKY - V0.4.0.6 empty NPC name arrays --> <<if !$NPC_names_m or $NPC_names_m.length is 0 or !$NPC_names_f or $NPC_names_f.length is 0>> <<init_names>> <<set $_per_k to Object.keys($per_npc)>> <<for $_per_c range $_per_k>> <<set $NPC_names_m.delete($per_npc[$_per_c].name)>> <<set $NPC_names_f.delete($per_npc[$_per_c].name)>> <</for>> <</if>> <<if $combat is 1>> <!-- Update the index attached to NPC properties if they exist. --> <<script>> V.NPCList.forEach((e, i) => { if (e.type && !Number.isFinite(e.index)) e.index = i; }); <</script>> <</if>> <!-- Fixing broken transformation stuff --> <<if $tfFIX is undefined or $tfFIX lte 5>> <<if $tfFIX is undefined>> <!-- V0.4.0.5 repair transformationParts object after damage from mid-prayer room or nightmare saves --> <<if $transformationParts.fox is undefined>> <<set $transformationParts.fox to {ears:"disabled", tail:"disabled", cheeks:"disabled"}>> <<if $transformationParts.traits.mateForLife is undefined or $transformationParts.traits.flaunting is undefined>> <<set $transformationParts.traits to {fangs:"disabled", sharpEyes:"disabled", mateForLife:"disabled", flaunting:"disabled"}>> <<if $wolfgirl gte 2 or $cat gte 2 or $fox gte 2>> <<set $transformationParts.traits.fangs to "default">> <</if>> <<if $cat gte 2 or $harpy gte 2 or $fox gte 2>> <<set $transformationParts.traits.sharpEyes to "default">> <</if>> <<if $fox gte 3 or $harpy gte 3>> <<set $transformationParts.traits.mateForLife to "default">> <<else>> <<set $transformationParts.traits.mateForLife to "disabled">> <</if>> <<set $transformationParts.traits.flaunting to "disabled">> <</if>> <<if $fox gte 4>> <<set $transformationParts.fox.ears to "default">> <</if>> <<if $fox gte 5>> <<set $transformationParts.fox.cheeks to "default">> <</if>> <<if $fox gte 6>> <<set $transformationParts.fox.tail to "default">> <</if>> <</if>> <!-- V0.4.0.5 Stop any saves in the above situation from being broken upon leaving --> <<if $real_transformationParts and !$real_transformationParts.fox>> <<set $real_transformationParts.fox to {ears:"disabled", tail:"disabled", cheeks:"disabled"}>> <<if !$real_transformationParts.traits>> <<set $real_transformationParts.traits to clone($transformationParts.traits)>> <</if>> <<if $real_transformationParts.traits.mateForLife is undefined or $real_transformationParts.traits.flaunting is undefined>> <<if $fox gte 3 or $harpy gte 3>> <<set $real_transformationParts.traits.mateForLife to "default">> <<else>> <<set $real_transformationParts.traits.mateForLife to "disabled">> <</if>> <<set $real_transformationParts.traits.flaunting to "disabled">> <</if>> <</if>> <</if>> <<if $tfFIX is undefined or $tfFIX is 1>> <!-- v0.3.13.5 - v0.4.0.8 Fix for virgin fallen angels, moved and fixed from earlier part of versionupdate --> <<if $fallenangel is 2>> <<set $_isHerm to $player.sex is "h">> <<set $_hasVaginalVirginity to $player.vaginaExist and $player.virginity.vaginal is true>> <<set $_hasPenileVirginity to $player.penisExist and $player.virginity.penile is true>> <<if !$_isHerm and ($_hasVaginalVirginity or $_hasPenileVirginity) or $_isHerm and $_hasVaginalVirginity and $_hasPenileVirginity>> <<set $fallenangel to 0>> <<angelTransform>> <<set $transformationParts.fallenAngel.halo to "disabled">> <<set $transformationParts.fallenAngel.wings to "disabled">> <</if>> <</if>> <!-- V0.4.0.8 Fix for non-virgin herm angels from bad fix earlier that didn't take herms into account --> <<if $angel gte 6 and $player.sex is "h" and !$virginityProtected and ($player.virginity.vaginal isnot true or $player.virginity.penile isnot true)>> <<fallenTransform>> <</if>> <</if>> <!-- 0.5.3.0 Clear invalid transformation parts --> <<if $tfFIX is undefined or $tfFIX lte 4>> <<validateTransformations>> <</if>> <!-- 0.5.4.0 Update chimera parts --> <<if $tfFIX is undefined or $tfFIX lte 5>> <<setupTransformationPiecesObject>> <</if>> <<set $tfFIX to 6>> <</if>> <!-- V0.4.0.5 Old saves with untyped named NPCs --> <<if $NPCName[0].type is undefined>> <<set $_WHY to ["human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "human", "wolf", "human", "human", "human", "human", "hawk", "human", "human", "human"]>> <<for $_killMe to 0; $_killMe lte $NPCName.length -1; $_killMe++>> <<set $NPCName[$_killMe].type to $_WHY[$_killMe]>> <</for>> <</if>> <!-- To fix issues from when the strap ons overwrote $player.penissize --> <<if $player.penisExist and $playerPenisSizeBackup>> <<set $player.penissize to $playerPenisSizeBackup>> <<elseif $player.penissize is undefined>> <<set $player.penissize to 1>> <</if>> <<unset $playerPenisSizeBackup>> <!-- V0.4.0.6 Separating tentacle forest lurker from daily object to prevent midnight errors in tentacle forest --> <<if $daily and $daily.tentacle_forest_lurker>> <<set $tentacle_forest_lurker to $daily.tentacle_forest_lurker>> <</if>> <!-- To fix issue where Dr Harper failed to remove both hermaphrodite parasites --> <<if $sexStats.vagina.pregnancy.type is "parasite" and $sexStats.vagina.pregnancy.fetus.find(parasite => parasite.stats.gender === "Hermaphrodite")>> <<set $sexStats.vagina.pregnancy.motherStatus to 2>> <</if>> <<if !$objectVersion.wardForceUnlock>> <<if !$objectVersion.wardForceUnlock and !$ward_unlocked and Object.values($children).find(child => child.location is "home" and child.birthLocation isnot "hospital")>> <<set $_childrenToIntro to Object.values($children).filter(child => child.location is "home" and child.birthLocation isnot "hospital")>> <<run console.log($_childrenToIntro)>> <<run $_childrenToIntro.forEach(child => wikifier("setBabyIntro", child.mother, "Bailey", child.birthId))>> <</if>> <<set $objectVersion.wardForceUnlock to 1>> <</if>> <<if $maleChanceMale is undefined>> <<set $maleChanceMale to $malechance>> <<set $maleChanceFemale to $malechance>> <<set $maleChanceSplit to "f">> <<set $beastMaleChanceMale to $beastmalechance>> <<set $beastMaleChanceFemale to $beastmalechance>> <<set $beastMaleChanceSplit to "f">> <</if>> <<if $forcedcrossdressingdisable is undefined>> <<set $forcedcrossdressingdisable to "f">> <</if>> <!-- V0.4.0.9 $currentFurnishing should not be a story variable, and no story variables should be (or include) functions --> <<if $currentFurnishing>> <<unset $currentFurnishing>> <<run State.history.forEach(s => delete s.variables.currentFurnishing)>> <</if>> <!-- V0.4.1.1 Fixed for some wolves having "human" sperm --> <<if !$objectVersion.pregnancyFix>> <<physicalAdjustmentsInit>> <</if>> <<if $speech_attitude is undefined>> <<set $speech_attitude to "neutral">> <</if>> <!-- V0.4.1.7 Set V.options.confirmDialogUponTabClose for the new confirm dialog box prompting when user closes/refresh tab --> <<if $options.confirmDialogUponTabClose is undefined>> <<if $ironmanmode is true>> <<set $options.confirmDialogUponTabClose to true>> <<else>> <<set $options.confirmDialogUponTabClose to false>> <</if>> <</if>> <!-- V0.4.2.0 Ear Slime Extension --> <<if $earSlime is undefined>> <<resetEarSlime>> <<set $earSlime.corruption to $corruption_slime or 0>> <<set $earSlime.event to $slimeEvent or "">> <<set $earSlime.eventTimer to $slimeSleepEvent or 0>> <<set $earSlime.eventLength to $slimeEventLength or 0>> <<set $earSlime.defyCooldown to $slimeDefyCooldown or 0>> <<set $masturbationRuinedOrgasm to 0>> <<set $ruinedOrgasmStat to 0>> <<if ["go running or swimming for an hour", "steal something", "go running or swimming naked for an hour"].includes($earSlime.event)>> <<set $earSlime.noSleep to true>> <</if>> <<unset $corruption_slime>> <<unset $slimeEvent>> <<unset $slimeSleepEvent>> <<unset $slimeDefyCooldown>> <<set $ruinedorgasmdisable to "f">> <</if>> <<if $earSlime.promiscuity is undefined>> <<set $earSlime.promiscuity to 0>> <<set $earSlime.deviancy to 0>> <<set $earSlime.exhibitionism to 0>> /* One off changes */ <<if $earSlime.event is "go commando" and !$slimeBedroomExit>> <<if $earSlime.corruption lt 50 and $earSlime.growth is 0>> <<set $earSlime.forcedCommando to random(2, 4)>> <<elseif $earSlime.growth is 0>> <<set $earSlime.forcedCommando to random(7, 21)>> <<else>> <<set $earSlime.forcedCommando to random(14, 31)>> <</if>> <<set $earSlime.event to "">> <</if>> <<if $earSlimeDaysStat is undefined>> <<set $earSlimeDaysStat to 0>> <<set $earSlimePassiveDaysStat to 0>> <<set $earSlime.days to 0>> /* All old ear slimes were aggressive */ <<set $earSlime.startedThreats to true>> <</if>> <</if>> <<if !$parasite.types.includes("parasite")>> <<run $parasite.types.push("parasite")>> <<run $parasite.parasite to []>> <<run $parasite.breasts to {}>> <</if>> <!-- V0.4.2.0 Give leotards a default colour of black after making them recolourable--> <<script>> let underUpperChanger = item => { if (item.index === 3 || item.index === 4 || item.index === 5 || item.index === 8) { if (item.colour === 0) { item.colour = "black"; item.colour_combat = "black"; } } }; V.wardrobe.under_upper.forEach(underUpperChanger); underUpperChanger(V.worn.under_upper); const underLowerChanger = item => { if (item.index === 8 || item.index === 9 || item.index === 10 || item.index === 13) { if (item.colour === 0) { item.colour = "black"; item.colour_combat = "black"; } } }; V.wardrobe.under_lower.forEach(underLowerChanger); underLowerChanger(V.worn.under_lower); <</script>> <!-- V0.4.2.0 Crime Overhaul --> <<if !$objectVersion.crime>> <<set _oldCrime to parseInt($crime) || 0>> <<set _oldCrimeHistory to parseInt($crimehistory) || 0>> <<unset $crime>><<unset $crimehistory>> <<set $crime to { assault: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, coercion: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, destruction: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, exposure: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, obstruction: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, prostitution: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, resisting: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, thievery: {current: _oldCrime, history: _oldCrimeHistory, daily: 0, count: 0, countHistory: 0}, petty: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, trespassing: {current: 0, history: 0, daily: 0, count: 0, countHistory: 0}, events: {}, }>> <<if $crime.thievery.current gte 1>> <<set $crime.thievery.count to 1>><<set $crime.thievery.countHistory to 1>> <<set C.crime.logEvent(_oldCrime, "thievery", "legacy", 0)>> <</if>> <<set $objectVersion.crime to 1>> <</if>> <!-- V0.4.2.0 Temple rank prep --> <<if $world_corruption_soft is undefined>> <<set $world_corruption_soft to 0>> <<set $world_corruption_hard to 2>> <<set $world_corruption_reduced to 0>> <<if $stat_aphrodisiacs_sold gte 1>> <<world_corruption "soft" $stat_aphrodisiacs_sold>> <</if>> <<if $sydneySeen>> <<if $sydneySeen.includes("corruptroom")>> <<world_corruption "hard" 1>> <</if>> <</if>> <<if $museumAntiques.antiques.antiquebell is "stolen">> <<world_corruption "hard" 2>> <</if>> <<if $museumAntiques.antiques.antiqueivorynecklace is "talk" or $museumAntiques.antiques.antiqueivorynecklace is "museum">> <<world_corruption "hard" 2>> <</if>> <<if $templePromised is "Sydney">> <<world_corruption "hard" -1>> <</if>> <</if>> <!-- V0.4.2.3 Fixes existing saves affected by Moderate Start "f" bug --> <<if $malechance is "f">> <<set $malechance to 0>> <</if>> <<if $beastmalechance is "f">> <<set $beastmalechance to 0>> <</if>> <!-- V0.4.2.7 livestock daily variable --> <<if $daily.livestock is undefined>> <<set $daily.livestock to {}>> <</if>> <!-- V0.4.2.7 Pregnancy type fix --> <<if $pregnancytype is "f">> <<set $pregnancytype to "realistic">> <</if>> <!-- V0.4.2.7 We will never ever know what this code does because Scythe didn't comment it and I had to do it instead --> <<if $straponstat is undefined>> <<set $straponstat to 0>> <</if>> <!-- V0.4.3.0 Confess --> <<if C.npc.Sydney.init is 1 and $sydney and !$sydney.rank>> <<set $sydney.rank to "initiate">> <</if>> <<if $temple_rank is "initiate" or $temple_rank is "monk" or $temple_rank is "priest" and $temple_initiate_days is undefined>> <<set $temple_initiate_days to 0>> <</if>> <<if ($temple_rank is "monk" or $temple_rank is "priest") and $temple_monk_days is undefined>> <<set $temple_monk_days to 0>> <</if>> <!-- V0.4.3.2 Jordan title fix --> <<if C.npc.Jordan.title is "monk">> <<set C.npc.Jordan.title to "priest">> <</if>> <<if C.npc.Jordan.title is "nun">> <<set C.npc.Jordan.title to "priestess">> <</if>> <!-- V.pillory_tenant.endDate update --> <<if $pillory_tenant isnot undefined and (!$pillory_tenant.endDate and $pillory_tenant.endday)>> <<set $pillory_tenant.endDate to ($pillory_tenant.endday * TimeConstants.secondsPerDay + ($pillory_tenant.endhour - 7) * TimeConstants.secondsPerHour)>> <<run delete $pillory_tenant.endday>> <</if>> <<if !$options.dateFormat>> <<set $options.dateFormat to "en-GB">> <</if>> <!-- Fix for the players being able to access the Nursery while refusing to pay Bailey outside the orphanage --> <<if $baileyRefusedToPay is undefined>> <<set $baileyRefusedToPay to 0>> <</if>> <!-- Fix for alex pregnancy to allow for both the pc and Alex to be pregnant at the same time --> <<if C.npc.Alex.pregnancy and C.npc.Alex.pregnancy.knowledge>> <<set _pregnancyUpdate to getPregnancyObject()>> <<if _pregnancyUpdate.type is "human" and _pregnancyUpdate.fetus.length and _pregnancyUpdate.fetus[0].father is "Alex">> <<set C.npc.Alex.pregnancy.pcKnowledge to true>> <</if>> <<set _pregnancyUpdate to getPregnancyObject("Alex")>> <<if _pregnancyUpdate.type is "human" and _pregnancyUpdate.fetus.length>> <<set C.npc.Alex.pregnancy.selfKnowledge to true>> <</if>> <<run delete C.npc.Alex.pregnancy.knowledge>> <</if>> <!-- V0.4.4.0 fix blackjack related sets --> <<if typeof $estatePersistent.markedCards is "string">> <<set $estatePersistent.markedCards to JSON.parse($estatePersistent.markedCards)>> <</if>> <<if $blackjack && typeof $blackjack.seenMarkedCardsSoFar is "string">> <<set $blackjack.seenMarkedCardsSoFar to JSON.parse($blackjack.seenMarkedCardsSoFar)>> <</if>> <!-- V0.4.4.4 clothesPriceLewd being higher than 2 --> <<if $clothesPriceLewd gt 2>><<set $clothesPriceLewd to 2>><</if>> <!-- V0.4.4.4 ear slime typo fix --> <<if !$objectVersion.earSlimeFix and $parasite.left_ear.name isnot "slime" and $parasite.right_ear.name isnot "slime" and $earSlime and ($earSlime.days or $earSlime.corruption or $earSlime.growth)>> <<resetEarSlime>> <<set $objectVersion.earSlimeFix to 1>> <</if>> <!-- Added the new hair growth pills data --> <<if $sexStats.pills.pills && $sexStats.pills.pills["Hair Growth Formula"] is undefined>> <<physicalAdjustmentsInit>> <</if>> <!-- V0.4.5.0 Handheld Items --> <<if $worn.handheld is undefined>> <<set $worn.handheld to clone(setup.clothes.handheld[0])>> <<set $carried.handheld to clone(setup.clothes.handheld[0])>> <<set $wardrobe.handheld to []>> <<set $store.handheld to []>> <<set $wear_handheld to "none">> <<if ($player.sex is "f" and $background isnot "crossdresser") or ($player.sex is "m" and $background is "crossdresser") or ($player.sex is "h" and ( (($player.gender_body is "m" or ($player.gender_body is "a" and $player.breastsize lte 3)) and $background is "crossdresser") or (($player.gender_body is "f" or ($player.gender_body is "a" and $player.breastsize gt 3)) and $background isnot "crossdresser") ) )>> <<set $wardrobe.handheld.push(clone(setup.clothes.handheld[8]))>> <<set $wardrobe.handheld.last().colour to "purple">> <<else>> <<set $wardrobe.handheld.push(clone(setup.clothes.handheld[8]))>> <<set $wardrobe.handheld.last().colour to "blue">> <</if>> <</if>> <<if $propEquipped is undefined>> <<set $propEquipped to 0>> <</if>> <<if $balloonStand is undefined>> <<set $balloonStand to { open: false, owner: "friendly", freeDrink: false, robin: {status: "unaffected", talked: false, knows: false} }>> <</if>> <<if $robin is undefined>> <<set $robin to { timer: {hurt:0, customer:0}, hurtReason: "nothing", moneyModifier: 0 }>> <</if>> <<if $outfit_update is undefined or $outfit_update lt 5>> <<set $outfit_update to 5>> <<for $_i to 0; $_i lt $outfit.length; $_i++>> <<if $outfit[$_i].handheld is undefined>> <<set $outfit[$_i].handheld to "naked">> <</if>> <<if $outfit[$_i].colors and !$outfit[$_i].colors.handheld>> <<set $outfit[$_i].colors.handheld to [0, 0]>> <</if>> <</for>> <</if>> <<if $brothelVending and $brothelVending.status is "sold" and $brothelVending.weeksEmpty lt 4>> <<set $brothelVending.status to "set">>/*return vending machine to players whose machines were incorrectly eaten*/ <</if>> <<if $brothelVending and $brothelVending.products is 0 and $brothelVending.weeksEmpty gt 0>> <<set $brothelVending.weeksEmpty to 0>> <<set $brothelVending.weeksRent to 0>> <<if $brothelVending.status is "sold">><<set $brothelVending.status to "idea">><</if>> /*fix weeksEmpty increasing even when the player hasn't started the vending machine questline. reset vending machine questline if vending machines were sold despite never having started the questline*/ <</if>> /* To fix cases where the value could be deleted after starting the game */ <<if $cycledisable is undefined>> <<set $cycledisable to "f">> <</if>> /*0.4.6.0 Adding arrays for photos and videos taken of the PC that they'll be able to find online*/ <<if $internet is undefined>> <<set $internet to { photos: [], videos: [] }>> <</if>> <!-- V0.4.6.0 Vision type events refactor and $real_ variables cleanup --> <<if !$objectVersion.realVarsFix>><<script>> if (V.passage.startsWith('ScarletBook') && !V.scarletExitPassage){ V.scarletExitPassage = 'School Library'; } else if (V.passage.startsWith('Olive Book ') && V.per_npc.pinch && V.per_npc.pinch.name !== V.per_npc.pinch.fullDescription){ V.per_npc.pinch.name = V.per_npc.pinch.fullDescription; V.per_npc.pinch.name_known = 1; if (V.NPCList[0].fullDescription && V.NPCList[0].fullDescription.endsWith('Pinch')) { V.NPCList[0].name = V.NPCList[0].fullDescription; V.NPCList[0].name_known = 1; } } let event; if (V.passage.match(/^(Drama|Loveth|ScarletBook([^1-5]|10))/)) { event = 'janet'; } else if (V.passage.startsWith('Schism ')) { event = 'wraith'; } else if (V.passage.match(/^Olive Book [^1-4]/)) { event = 'pinch'; } else if (V.activeNightmare) { event = 'nightmare'; } else if ( V.passage.match(/^Sydney Temple Corrupt (Sex( Finish)?|End( [^2F]|$))/) || (V.passage === 'Sydney Temple Corrupt End 2' && !V.sydneySeen.includes("corruptroom")) ) { event = 'prayerroom'; } if (event) { /* $real_ variables are in use */ if (!V.frozenValues) { V.statFreeze = true; V.frozenValues = {}; const skipKeys = ['replayScene', 'frozenKeys', 'frozenValues', 'statFreeze', 'passage', 'debug']; V.frozenKeys = Object.keys(V); V.frozenKeys.forEach(k => { if (skipKeys.includes(k) || k.startsWith('real_')) return; V.frozenValues[k] = clone(V[k]); }); ['pinchSpeech', 'pinchArousal', 'pinchPronoun', 'pinchPenile', 'pinchVaginal', 'pinchAnal', 'pinchKiss', 'pinchSong', 'nightmareWake', 'prayerRoom', 'loveDrunk', 'examSafe', 'wraithSkin', 'penisusue', 'saveTransformtaions'].forEach(v => delete V.frozenValues[v]); } const realVarsToCopy = [ 'moonstate', 'haircolour', 'hairlength', 'goooutsidecount', 'semenoutsidecount', 'pain', 'arousal', 'tiredness', 'stress', 'trauma', 'control', 'angel', 'fallenangel', 'angelbuild', 'demon', 'wolfgirl', 'cat', 'cow', 'harpy', 'fox', 'sexStats', 'skulduggery', 'purity', 'spray', 'skin', 'parasite', 'hairfringecolour', 'hairColourStyle', 'hairColourGradient', 'hairFringeColourStyle', 'hairFringeColourGradient', 'timeStamp', /* only overwrite the frozen values with variables from the current scene, to avoid restoring outdated values */ ...(event === 'wraith' ? [ 'spraymax', 'hairtype', 'fringelength', 'fringetype', 'fringelengthstage', 'submissive', 'awareness', 'awarelevel', 'skinColor', 'condoms', ] : []) ]; const migrateRealVars = (whitelist = realVarsToCopy) => { whitelist.forEach(k => { if (V['real_' + k] !== undefined && V.frozenValues[k] !== undefined) { V.frozenValues[k] = clone(V['real_' + k]); } }); }; const overwriteObjProp = (key, value, obj = V.frozenValues) => { if (value !== undefined) obj[key] = clone(value); }; const freezeRealClothes = (storeKey) => { const tmpWorn = clone(V.worn); Wikifier.wikifyEval(`<<storeon "${storeKey}">>`); V.frozenValues.worn = V.worn; V.worn = tmpWorn; }; const freezeRealSexStats = () => { const tmpSexStats = clone(V.sexStats); V.sexStats = V.frozenValues.sexStats; if (V.sexStats.pills.pills === undefined){ backCompPillsInventory(); } Wikifier.wikifyEval('<<physicalAdjustmentsInit>>'); V.sexStats = tmpSexStats; }; if (event === 'janet') { if (V.frozenValues.scarletExitPassage === undefined) { V.frozenValues.scarletExitPassage = V.scarletExitPassage; } overwriteObjProp('sex', V.real_playersex, V.frozenValues.player); overwriteObjProp('gender', V.real_playergender, V.frozenValues.player); overwriteObjProp('penisExist', V.real_penisexist, V.frozenValues.player); overwriteObjProp('vaginaExist', V.real_vaginaexist, V.frozenValues.player); overwriteObjProp('leftEyeColour', V.real_lefteyecolour || V.real_eyecolour); overwriteObjProp('rightEyeColour', V.real_righteyecolour || V.real_eyecolour); overwriteObjProp('eyecolour', V.real_lefteyecolour || V.real_eyecolour); overwriteObjProp('breastsize', V.real_breastsize, V.frozenValues.player); overwriteObjProp('ballsExist', V.real_ballsexist, V.frozenValues.player); Object.assign(V.frozenValues.player.bodyliquid, V.player.bodyliquid, V.real_bodyliquid); overwriteObjProp('virginity', V.real_virginity, V.frozenValues.player); freezeRealClothes(event); overwriteObjProp('genitals', V.real_wornGenitals, V.frozenValues.worn); Object.assign(V.frozenValues.transformationParts, V.saveTransformtaions); migrateRealVars(); freezeRealSexStats(); } else if (event === 'wraith') { overwriteObjProp('sex', V.real_playersex, V.frozenValues.player); overwriteObjProp('gender', V.real_playergender, V.frozenValues.player); overwriteObjProp('penisExist', V.real_penisexist, V.frozenValues.player); overwriteObjProp('vaginaExist', V.real_vaginaexist, V.frozenValues.player); overwriteObjProp('leftEyeColour', V.real_lefteyecolour || V.real_eyecolour); overwriteObjProp('rightEyeColour', V.real_righteyecolour || V.real_eyecolour); overwriteObjProp('eyecolour', V.real_lefteyecolour || V.real_eyecolour); overwriteObjProp('breastsize', V.real_breastsize, V.frozenValues.player); overwriteObjProp('ballsExist', V.real_ballsexist, V.frozenValues.player); Object.assign(V.frozenValues.player.bodyliquid, V.player.bodyliquid, V.real_bodyliquid); overwriteObjProp('virginity', V.real_virginity, V.frozenValues.player); freezeRealClothes(event); overwriteObjProp('genitals', V.real_wornGenitals, V.frozenValues.worn); Object.assign(V.frozenValues.transformationParts, V.saveTransformtaions); migrateRealVars(); freezeRealSexStats(); overwriteObjProp('hairlengthstage', V.real_hairlenghthstage); overwriteObjProp('state', V.real_wraithState, V.frozenValues.wraith); overwriteObjProp('clothingrebuy', V.real_rebuy); overwriteObjProp('condomLvl', V.real_condomLevel); } else if (event === 'pinch') { overwriteObjProp('location', V.oliveExitPassage === 'School Library' ? 'school' : 'home'); if (V.passage.match(/^Olive Book (Lew|Pinch) /) || (V.phase === 1 && V.passage.match(/(End|8)$/))) { /* player is currently another character */ overwriteObjProp('sex', V.real_playersex, V.frozenValues.player); overwriteObjProp('gender', V.real_playergender, V.frozenValues.player); overwriteObjProp('penisExist', V.real_penisexist, V.frozenValues.player); overwriteObjProp('vaginaExist', V.real_vaginaexist, V.frozenValues.player); overwriteObjProp('leftEyeColour', V.real_lefteyecolour || V.real_eyecolour); overwriteObjProp('rightEyeColour', V.real_righteyecolour || V.real_eyecolour); overwriteObjProp('eyecolour', V.real_lefteyecolour || V.real_eyecolour); overwriteObjProp('breastsize', V.real_breastsize, V.frozenValues.player); overwriteObjProp('ballsExist', V.real_ballsexist, V.frozenValues.player); Object.assign(V.frozenValues.player.bodyliquid, V.player.bodyliquid, V.real_bodyliquid); overwriteObjProp('virginity', V.real_virginity, V.frozenValues.player); freezeRealClothes(event); overwriteObjProp('genitals', V.real_wornGenitals, V.frozenValues.worn); Object.assign(V.frozenValues.transformationParts, V.saveTransformtaions); migrateRealVars(); freezeRealSexStats(); overwriteObjProp('penissize', V.real_penissize, V.frozenValues.player); } else { /* do not copy other variables, even if they exist */ migrateRealVars(['moonstate', 'timeStamp']); } } else if (event === 'nightmare') { Object.assign(V.frozenValues.player.bodyliquid, V.real_bodyliquid); overwriteObjProp('virginity', V.real_virginity, V.frozenValues.player); overwriteObjProp('clothingrebuy', V.real_rebuy); migrateRealVars(['moonstate', 'timeStamp', 'location', 'parasite', 'pain', 'arousal', 'tiredness', 'trauma', 'control', 'angel', 'angelbuild', 'fallenangel', 'transformationParts', 'purity', 'parasitepregdisable', 'worn', 'skin']); } else if (event === 'prayerroom') { /* DO NOT MODIFY FURTHER, SEE 'Fix to freezePlayerStats being used in the Corrupt Temple scene' */ overwriteObjProp('virginity', V.real_virginity, V.frozenValues.player); overwriteObjProp('virginity', V.real_virginity_sydney, V.frozenValues.NPCName[V.NPCNameList.indexOf('Sydney')]); migrateRealVars(['angel', 'fallenangel', 'transformationParts', 'purity', 'trauma']); } V.frozenValues.objectVersion.realVarsFix = 1; } delete V.saveTransformtaions; delete V.penisusue; /* clean up $real_ variables */ Object.keys(V).forEach(k => { if (k.startsWith('real_')) { delete V[k]; } }); V.objectVersion.realVarsFix = 1; <</script>><</if>> <<if $noTraitDescription isnot undefined>> <<unset $noTraitDescription>> <</if>> <<if $shopListMax isnot undefined>> <<unset $shopListMax>> <</if>> <<if $baileyRefusedToPayTotal is undefined>> /* Dupicate stats are intentional to use as a potential gameplay mode */ <<set $baileyRefusedToPayTotal to 0>> <<set $baileyRefusedToPayTotalStat to 0>> <</if>> <!-- V0.4.6.0 Removed a legacy variable that was never needed --> <<unset $robin_naked_room_clothes>> <!-- v <= 0.4.5.3: Consolidated these into $speechSextoyState --> <<unset $speechsextoyangry>> <<unset $speechsextoyshocked>> <<unset $speechsextoyaroused>> <<unset $speechsextoydisappointed>> /*Added npc generation and pronoun widgets to the livestock horse passages*/ <<if $livestock_horse_rescued is $pronoun >> <<set $livestock_horse_rescued to true>> <</if>> /*Adds Gift Variable for Office Manager for old saves*/ <<if $managerGift is undefined>> <<set $managerGift to 1>> <</if>> /* Stat tracking for unsafe sex */ <<if $unsafeSexTimeStat is undefined>> <<set $unsafeSexTimeStat to {}>> <</if>> <!-- V0.4.6.0 Draggletail fix --> <<if $hairtype is "draggletail">> <<set $hairtype to "messy ponytail">> <</if>> /*Fix inconsistent naming for ufarm escape variable*/ <<if $livestockEscape is "birth">> <<set $livestock_escape to "birth">> <<unset $livestockEscape>> <</if>> /* Fix to freezePlayerStats being used in the Corrupt Temple scene, modification of '$real_ variables cleanup' related to this even shouldn't be modified any longer */ <<if !$replayScene and $statFreeze and $frozenValues and ($passage.match(/^Sydney Temple Corrupt (Sex( Finish)?|End( [^2F]|$))/) || ($passage === 'Sydney Temple Corrupt End 2' && !$sydneySeen.includes("corruptroom"))) and !$defileSacredGroundStore and !$objectVersion.defileSacredGroundStore>> <<set $defileSacredGroundStore to { playerVirginity: clone($frozenValues.player.virginity), sydneyVirginity: clone($frozenValues.NPCName[$NPCNameList.indexOf("Sydney")].virginity), angel: $frozenValues.angel, angelbuild: $frozenValues.angelbuild, fallenangel: $frozenValues.fallenangel, transformationParts: $frozenValues.transformationParts, purity: $frozenValues.purity, trauma: $frozenValues.trauma, }>> <<unset $frozenValues>> <<unset $frozenKeys>> <<unset $statFreeze>> <<set $objectVersion.defileSacredGroundStore to 1>> <</if>> /* Fix to statFreeze being left from the previous fix, be aware of this fix when using statFreeze outside of freezePlayerStats */ <<if (!$objectVersion.defileSacredGroundStore or $objectVersion.defileSacredGroundStore lt 2) and !$replayScene and $statFreeze and !$frozenValues>> <<unset $statFreeze>> <<set $objectVersion.defileSacredGroundStore to 2>> <</if>> /* Docks dog-related scenes refactor*/ <<if $dock_dog isnot undefined and typeof $dock_dog is "string">> <<set $_indexTmp to $index>> <<set $_isOverwritingNPC to !!$NPCList[0].fullDescription>> <<if $_isOverwritingNPC>> <<saveNPC 0 "dockDogUpdate">> <<clearsinglenpc 0>> <</if>> <<generateBEAST 1 "dog">> <<set $dock_dog to clone($NPCList[0])>> <<if $_isOverwritingNPC>> <<loadNPC 0 "dockDogUpdate">> <<clearNPC "dockDogUpdate">> <</if>> <<personselect $_indexTmp>> <<unset $_indexTmp>> <<unset $_isOverwritingNPC>> <</if>> /* Kill the leather leggings with fire */ /* Commenting out again due to continued issues <<if !$objectVersion.itemFix lt 1 or $objectVersion.itemFix is undefined>> <<if $worn.under_lower.name isnot "naked" and $worn.legs.name is "leather leggings">><<generalUndress "wardrobe" "under_lower">><</if>> <<run convertLegstoUnder()>> <<set $objectVersion.itemFix to 1>> <</if>>*/ <<if $sydney_spear_talk is 1>> <<set $sydneySeen.pushUnique("spearMission")>> <<unset $sydney_spear_talk>> <</if>> <!-- V0.4.7.0 Unmod --> <!-- To mod dev: SIMPLY REMOVE THIS SECTION WHEN MERGING--> <<if $pplace_number isnot undefined or $pplaces>> <<unset $pplace_number>><<unset $pplaces>> <</if>> <!--V0.5 Great Hawk expansion --> <<if $playerPregnancyEggLayingDisable is undefined>> <<set $playerPregnancyEggLayingDisable to $playerPregnancyBeastDisable>> <</if>> <<if $bird and $bird.state and !$bird.hunts>> <<set $bird.injured to 0>> <<set $bird.clean to 0>> <<set $bird.lurkersEaten to 0>> <<set $bird.firepit to Cooker.create({cookTime: {lurker: 1440 * 60}})>> <<set $bird.hunts to { unlocked: false, lurkers: false, materials: false, valuables: false, estate: false }>> <<set $bird.materials to { wood: 0, fabric: 0, sticks: 0, leaves: 0, junk: 0, lurkers: 0, leather: 0, feathers: 0, valuables: {} }>> <<set $bird.upgrades to { mirror: 0, tools: 0, tarp: 0, telescope: 0, shelter: 1, nest: 0, firepit: 0, pot: 0, rack: 0, snare: 0, decor: 0, wardrobe: 0 }>> <<if $bird.mirror is 1>> <<run delete $bird.mirror>> <<set $bird.upgrades.mirror to 1>> <</if>> <<if $bird.fabric>> <<set $bird.materials.fabric += $bird.fabric>> <<run delete $bird.fabric>> <</if>> <</if>> <<if $dateCount.GreatHawkCasual is undefined>> <<set $dateCount.GreatHawkCasual to 0>> <</if>> <!-- Pillory time fixes --> <<if $pillory_tenant isnot undefined and ($pillory_tenant.starthour isnot undefined or $pillory_tenant.startday isnot undefined)>> <!-- The start day / hour are broken anyways - so resetting the starttime to current time --> <<set $_newTime to new DateTime(Time.date)>> <<set $_endTime to new DateTime($_newTime.timeStamp).addHours($pillory_tenant.duration)>> <<set $pillory_tenant.startTime to $_newTime.timeStamp>> <<set $pillory_tenant.endTime to $_endTime.timeStamp>> <<set $pillory_tenant.lastViewed to $_newTime.timeStamp>> <<unset $pillory_tenant.starthour>> <<unset $pillory_tenant.startday>> <<unset $pillory_tenant.endDate>> <<unset $pillory_tenant.endhour>> <<unset $pillory_tenant.duration>> <</if>> <!-- 5.0.6 --> <<if $pillory is undefined>> <<set $pillory to {}>> <</if>> <<if $pillorytime isnot undefined or $pillory.time is undefined>> <<set _pilloryStartTime to new DateTime(Time.date)>> <<set _pilloryEndTime to new DateTime(Time.date).addMinutes(60 - Time.date.minute)>> <<if !isNaN($pillorytime) and $pillorytime gte 0>> <<set _pilloryEndTime.addHours($pillortime)>> <</if>> <<set $pillory.time to { start: _pilloryStartTime.timeStamp, end: _pilloryEndTime.timeStamp, }>> <<unset $pillorytime>> <</if>> <<if $pilloryaudience isnot undefined>> <<if !isNaN($pilloryaudience) and $pilloryaudience gte 0>> <<set $pillory.audience to $pilloryaudience>> <</if>> <<unset $pilloryaudience>> <</if>> <<if $pillory_tenant isnot undefined>> <<set $pillory.tenant to $pillory_tenant>> <<unset $pillory_tenant>> <</if>> <<if $options.oldclock isnot undefined>> <<run delete $options.oldclock>> <</if>> <<if $options.newWardrobeStyle isnot undefined>> <<run delete $options.newWardrobeStyle>> <</if>> <!-- 5.2 tanning rework --> <!-- Don't move to bottom --> <<if $player.skin is undefined>> <<set $player.skin to { color: "light", layers: [], }>> <</if>> <<if $skinColor isnot undefined>> <<set $player.skin.color to $skinColor.natural>> <<script>> const colorValue = V.skinColor.tanValues ? Math.max(...V.skinColor.tanValues) : 0; V.player.skin.layers = [ { layers: [], slots: {}, value: colorValue, } ]; <</script>> <<unset $skinColor>> <</if>> <<if $player.skin.sunscreen is undefined>> <<set $player.skin.sunscreen to { usesLeft: 0 }>> <</if>> <<if $options.tanningEnabled isnot undefined>> <<set delete $options.tanningEnabled>> <</if>> <<if $options.tanLines is undefined>> <<set $options.tanLines to true>> <</if>> <<if $tanned isnot undefined>> <<unset $tanned>> <</if>> <<if $gameTanImgSetting isnot undefined>> <<unset $gameTanImgSetting>> <</if>> <!--Skin colours for nonhuman children and inconsistency npc skin colour fix --> <<if !$objectVersion.missingChildSkinColors or $objectVersion.missingChildSkinColors lt 3>> <<script>> const fixChild = (child) => { if (!child.features) return; if (!child.features.skinColour) child.features.skinColour = Skin.color.natural; if (child.features.skinColour === "black") child.features.skinColour = "dark"; if (child.features.skinColour === "white") child.features.skinColour = "light"; }; Object.values(V.children).forEach(child => fixChild(child)); getPregnancyObject().fetus.forEach(child => fixChild(child)); Object.values(V.NPCName).forEach(npc => { if (npc.pregnancy.fetus) { npc.pregnancy.fetus.forEach(child => fixChild(child)); } }); Object.values(V.storedNPCs).forEach(npc => { if (npc?.pregnancy.fetus) { npc.pregnancy.fetus.forEach(child => fixChild(child)); } }) <</script>> <<set $objectVersion.missingChildSkinColors to 3>> <</if>> <!-- 0.5 Weather update --> <<if Time.year is 361 and $location is "temple">> <<set $location to "old_temple">> <</if>> <<if $weatherObj is undefined>> <<switch $weather>> <<case "rain" "snow">> <<set _weather to "heavyPrecipitation">> <<case "overcast">> <<set _weather to "heavyClouds">> <<default>> <<set _weather to "lightClouds">> <</switch>> <<set $weatherObj to { name: _weather, snow: 0, ice: {}, fog: 0, overcast: 0, targetOvercast: 0, monthlyTemperatures: [], keypointsArr: [] }>> <<set $player.bodyTemperature to 37>> <<set $options.weatherUpdate to true>> <<set $options.reflections to true>> <<set $options.fahrenheit to false>> <<unset $weather>> <<unset $nextWeather>> <<unset $warmth>> <<unset $chill>> <<unset $chill_day>> <<unset $body_temperature>> <<unset $body_temperature_outside>> <<unset $skyHidden>> <!-- Also reset the frozenValues (statFreeze) --> <<if $statFreeze>> <<unset $frozenValues.weather>> <<unset $frozenValues.nextWeather>> <<unset $frozenValues.warmth>> <<unset $frozenValues.chill>> <<unset $frozenValues.chill_day>> <<unset $frozenValues.body_temperature>> <<unset $frozenValues.body_temperature_outside>> <<unset $frozenValues.skyHidden>> <</if>> <!-- Failsafe if changing options immediately after load --> <<run Weather.WeatherGeneration.generate(Time.date)>> <<run Weather.sky.initialize()>> <</if>> <<if $options.clothingCaption is undefined>> <<set $options.clothingCaption to true>> <</if>> <<if $frozenKeys isnot undefined>> <<unset $frozenKeys>> <</if>> <<if $startingseason isnot undefined>> <<unset $startingseason>> <</if>> <<if $clothing_number isnot undefined>> <<unset $clothing_number>> <</if>> <!-- Remove old character renderer remnants --> <<if $options.sidebarRenderer isnot undefined>> <<unset $options.sidebarRenderer>> <</if>> <!-- 5.0.3 --> <<if $yearly is undefined>> <<set $yearly = {}>> <</if>> <<if !($popcorn gte 0)>> <<set $popcorn to 0>> <</if>> <<if !Number.isFinite($money)>> <<set $money to 0>> <</if>> <!-- 5.0.6 --> <!-- Fix for not having an island home set, should only be run once --> <<if !$objectVersion.islandHomeFix>> <<if $passage.startsWith("Island") and $island and $island.home is undefined>> <<set $island.home to "rocky_hillock">> <</if>> <<set $objectVersion.islandHomeFix to 1>> <</if>> <!-- Fix for not having an island home set, should only be run once --> <<if !$objectVersion.islandHomeFix>> <<if $passage.startsWith("Island") and $island and $island.home is undefined>> <<set $island.home to "rocky_hillock">> <</if>> <<set $objectVersion.islandHomeFix to 1>> <</if>> <!-- Fix for older instance of 'cat_tf_stage_' not being cleared, leading to exceeded loop iterations --> <<if $custom_eyecolours.filter(obj => obj.variable.includes("cat_tf_stage_")).length gt 8>> <!-- filter out cat_tf_stages, then append only the first instances of them found in the original array --> <<set _newEyecolours to V.custom_eyecolours.filter(i => !i.variable.startsWith("cat_tf_stage_")).concat(["cat_tf_stage_0_left", "cat_tf_stage_0_right", "cat_tf_stage_1_left", "cat_tf_stage_1_right", "cat_tf_stage_2_left", "cat_tf_stage_2_right", "cat_tf_stage_3_left", "cat_tf_stage_3_right"].map(o => V.custom_eyecolours.find(c => c.variable === o)));>> <<set $custom_eyecolours to _newEyecolours>> <</if>> <!-- 0.5.2.0 --> <!-- Converting NPC seen variables to arrays --> <<if $remy_seen isnot undefined>> <<set $remySeen to []>> <<set $remySeen.pushUnique($remy_seen)>> <<set $remySeenLast to $remy_seen>> <<unset $remy_seen>> <<if $farm_stage gte 5>> <<set $remySeen.pushUnique("farm")>> <</if>> <<if $livestock_intro isnot undefined>> <<set $remySeen.pushUnique("livestock")>> <</if>> <<if $ridingschoolintro isnot undefined>> <<set $remySeen.pushUnique("riding_school")>> <</if>> <</if>> <<if $wren_seen isnot undefined>> <<set $wrenSeen to []>> <<set $wrenSeen.pushUnique($wren_seen)>> <<set $wrenSeenLast to $wren_seen>> <<unset $wren_seen>> <<if $wren_intro isnot undefined>> <<set $wrenSeen.pushUnique("cards")>> <</if>> <<if $winterLakeTalk gte 3>> <<set $wrenSeen.pushUnique("winter")>> <</if>> <</if>> <<if $niki_seen isnot undefined>> <<set $nikiSeen to []>> <<set $nikiSeen.pushUnique($niki_seen)>> <<unset $niki_seen>> <<if $livestock_pig gte 1>> <<set $nikiSeen.pushUnique("farm")>> <</if>> <<if $chef_state gte 5>> <<set $nikiSeen.pushUnique("chef")>> <</if>> <<if $winterLakeTalk gte 3>> <<set $nikiSeen.pushUnique("winter")>> <</if>> <</if>> <<if C.npc.Niki.init is 1 and $nikiSeen is undefined>> <<set $nikiSeen to []>> <</if>> <!-- Disabled the npc compressor --> <<if !$objectVersion.npcCompressorDisable>> <<set _storedNPCToDelete to []>> <<run Object.entries($storedNPCs).forEach(([key, npcStore]) => { if (npcStore.npc && (typeof npcStore.npc === 'string' || npcStore.npc instanceof String)) { try { npcStore.npc = npcDecompressor(npcStore.npc); } catch (e) { T.storedNPCToDelete.push(key); } } })>> <<run _storedNPCToDelete.forEach(key => { delete $storedNPCs[key]; })>> <<set $objectVersion.npcCompressorDisable to 1>> <</if>> <<if $objectVersion.npcCompressorDisable lt 2>> <<script>> const decompress = (parent) => { let result = parent; try { result = npcDecompressor(parent); } catch (e) { result = null; } return result; }; V.parentList.fathers.forEach(parent => { if (parent.compressed && parent.compressed !== "none") { parent.npc = decompress(parent.compressed); delete parent.compressed; } else { parent.npc = false; delete parent.compressed; } }); V.parentList.mothers.forEach(parent => { if (parent.compressed && parent.compressed !== "none") { parent.npc = decompress(parent.compressed); delete parent.compressed; } else { parent.npc = false; delete parent.compressed; } }); <</script>> <<set $objectVersion.npcCompressorDisable to 2>> <</if>> <!-- Fix for named npcs whose gender could be changed by the randomizer --> <<if !$objectVersion.npcPregnancyGenderChange>> <<initnpcgender>> <<set $objectVersion.npcPregnancyGenderChange to 1>> <</if>> <!-- 0.5.2.5 Temporarily disabling the toggle to fix bleached PCs in combat --> <<if typeof $options is "object" and $options>> <<set $options.tanImgEnabled to true>> <</if>> <<if $moneyStats is undefined>> <<set $moneyStats to { cheats: { earned: 0, earnedCount: 1 }, startingMoney: { earned: 500, earnedCount: 1 }, }>> <<if $farm>> <<if $farm.wall gte 1>><<money -350000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.wall gte 2>><<money -1000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.wall gte 3>><<money -2500000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.wall gte 4>><<money -500000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.tower gte 1>><<money -2000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.tower gte 2>><<money -500000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.woodland gte 1>><<money -1000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.woodland gte 2>><<money -2000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.woodland gte 3>><<money -5000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.kennel gte 1>><<money -1500000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.barn gte 1>><<money -500000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.barn gte 2>><<money -2000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.stable gte 1>><<money -2000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.coop gte 1>><<money -200000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.coop gte 2>><<money -500000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.parasitebarn gte 1>><<money -500000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.parasitebarn gte 2>><<money -2000000 "farmUpgrades" { recordOnly: true }>><</if>> <<if $farm.irrigation gte 1>><<money `-500000 * $farm.irrigation` "farmUpgrades" { recordOnly: true }>><</if>> <<if C.npc.Alex?.pregnancy.nursery>><<money -300000 "farmUpgrades" { recordOnly: true }>><</if>> <</if>> <<if $loft_river>><<money -2000000 "orphanageUpgrades" { recordOnly: true }>><</if>> <<if $loft_kylar>><<money -2000000 "orphanageUpgrades" { recordOnly: true }>><</if>> <<if $mason_pond gte 3>><<money -600000 "orphanageUpgrades" { recordOnly: true }>><</if>> <<if $loft_whitney gte 6>><<money -200000 "orphanageUpgrades" { recordOnly: true }>><</if>> <<if $estatePersistent>> <<money `$estatePersistent.totalBetMoneyMade or 0` "blackjack" { recordOnly: true }>> <<money `-$estatePersistent.totalBetMoneyLost or 0` "blackjack" { recordOnly: true }>> <<money `-$estatePersistent.totalMoneyConfiscated or 0` "blackjack" { recordOnly: true }>> <<money `$estatePersistent.totalTipMoneyMade or 0` "blackjack" { recordOnly: true }>> <</if>> <<money `-$baileyPaidStat or 0` "baileyRent" { recordOnly: true }>> <<unset $baileyPaidStat>> <<if $museumAntiques.antiques>> <<set _museumAntiquesAmount to 0>> <<run Object.entries($museumAntiques.antiques).forEach(([name, status]) => { if (["museum", "stolen", "recovered"].includes(status)) { switch(name) { case "antiquecopperring": T.museumAntiquesAmount += 500; break; case "antiquecoppercoin": case "antiquerustedcutlass": T.museumAntiquesAmount += 1000; break; case "antiquestrangefetish": case "antiquewoodenfigurine": T.museumAntiquesAmount += 1500; break; case "antiquesilvercoin": case "antiqueforestarrow": case "antiquebox": case "antiqueislandarrow": case "antiqueteacaddy": T.museumAntiquesAmount += 2000; break; case "antiquechocolate": T.museumAntiquesAmount += 2500; break; case "antiquesilverring": T.museumAntiquesAmount += 3000; break; case "antiqueforestdagger": case "antiquewoodenmask": case "antiqueforestdagger": T.museumAntiquesAmount += 4000; break; case "antiquebullet": case "antiquesilverbrooch": case "antiquetrilobitefossil": case "antiquetrashcup": case "antiqueswordcane": case "antiquecoppercompass": case "antiquecandlestick": case "antiquedildo": T.museumAntiquesAmount += 5000; break; case "antiquegrenade": T.museumAntiquesAmount += 8000; break; case "antiquegoldcoin": case "antiqueforestgem": case "antiqueshell": case "antiquetrashburner": case "antiquehorn": T.museumAntiquesAmount += 10000; break; case "antiquebrassstatuette": case "antiquecutlass": T.museumAntiquesAmount += 12000; break; case "antiqueminesign": T.museumAntiquesAmount += 14000; break; case "antiquecrystal": case "antiquewatch": case "antiquebucket": case "antiquesnuffer": case "antiquewhip": T.museumAntiquesAmount += 20000; break; case "antiquesilverdagger": T.museumAntiquesAmount += 24000; break; case "antiqueivorystatuette": case "antiquegoldnecklace": case "antiquegoldbrooch": case "antiqueobsidiandisc": T.museumAntiquesAmount += 50000; break; case "antiquesilveramulet": T.museumAntiquesAmount += 30000; break; case "antiquesilvermanacle": case "antiquehorn2": T.museumAntiquesAmount += 40000; break; case "antiquecoralring": T.museumAntiquesAmount += 80000; break; case "antiquesilvercrown": case "antiquestonetalisman": T.museumAntiquesAmount += 120000; break; case "antiquehourglass": T.museumAntiquesAmount += 140000; break; case "antiquewhitecrystal": case "antiqueivorynecklace": case "antiquegoldchastitybelt": case "antiquediamond": T.museumAntiquesAmount += 200000; break; case "antiquesilvercompass": T.museumAntiquesAmount += 220000; break; case "antiquegoldring": case "antiquesilvermask": T.museumAntiquesAmount += 300000; break; case "antiqueleathermap": T.museumAntiquesAmount += 400000; break; case "antiquegoldcompass": T.museumAntiquesAmount += 500000; break; case "antiquebell": T.museumAntiquesAmount += 1000000; break; } } })>> /* Estimate a reasonable minimum value */ <<set _filteredAntiques to Object.values($museumAntiques.antiques).filter(status => ["museum", "stolen", "recovered"].includes(status)).length>> <<if $museumAntiques.museumCount - _filteredAntiques gt 0>> <<set _museumAntiquesAmount += ($museumAntiques.museumCount - _filteredAntiques) * 5000>> <</if>> <<money _museumAntiquesAmount "museumAntique" { recordOnly: true }>> <</if>> <<if $bunstat gt 0>> <<set _bunMoney to 0>> <<set _bunMoney += (5000 * 0.2) * Math.min($bunstat, 50)>> <<if $bunstat gt 50>> <<set _bunMoney += (10000 * 0.2) * Math.min($bunstat - 50, 200)>> <<elseif $bunstat gt 250 and $bun_cut is 0.2>> <<set _bunMoney += (10000 * 0.2) * ($bunstat - 250)>> <</if>> /* Assumes the player didn't get perfect numbers from here */ <<if $bunstat gt 250>> <<set _bunMoney += (10000 * 0.3) * Math.min($bunstat - 250, 200)>> <<elseif $bunstat gt 450 and $bun_cut is 0.3 and $bun_value is 10000>> <<set _bunMoney += (10000 * 0.3) * ($bunstat - 450)>> <</if>> <<if $bunstat gt 450 and $bun_value gte 15000>> <<set _bunMoney += (15000 * 0.3) * ($bunstat - 450)>> <</if>> <<money _bunMoney "cafeChef" { recordOnly: true }>> <</if>> <<set $_earnedTotal to 0>> <<set $_spentTotal to 0>> <<run Object.values(V.moneyStats).forEach(stat => { if (stat.earned) _earnedTotal += stat.earned; if (stat.spent) _spentTotal += stat.spent; })>> <<set $_earnedTotal += $_spentTotal>> <<if $money gt $_earnedTotal>> <<money `$money - $_earnedTotal` "notTracked" { recordOnly: true }>> <</if>> <</if>> <<if $timeStats is undefined>> <<set $timeStats to {}>> <<if $dockhours>> <<timeTrackingManual "docks" $dockhours>> <<unset $dockhours>> <</if>> <<if $adultshopcontribution>> <<timeTrackingManual "adultShop" $adultshopcontribution>> <</if>> <</if>> /* Money Name corrections */ <<set _moneyIncorrectKeys to ["brothal", "brothalShow"]>> <<if Object.keys($moneyStats).includesAny(_moneyIncorrectKeys)>> <<set _moneyFixedKeys to ["brothel", "brothelShow"]>> <<run _moneyIncorrectKeys.forEach((key, index) => { if ($moneyStats[key]) { $moneyStats[_moneyFixedKeys[index]] to clone($moneyStats[key]); delete $moneyStats[key]; } })>> <</if>> <!-- Setting the default face variant value for existing PCs --> <<if $facevariant is undefined>> <<set $facevariant to "default">> <</if>> <!-- Updating old characters to keep using their chosen body sprite --> <<if $player.bodyshape is undefined>> <<set _map to { "m": "classic", "f": "curvy", "a": "slender" }>> <<set $player.bodyshape to _map[$player.gender_body]>> <</if>> /* Police hack caught */ <<if $police_delete is undefined>> <<set $police_delete to 0>> <</if>> /* Setup object for bad end tracking */ <<if !$badEndStats>> <<set $badEndStats to []>> <</if>> <!-- 0.5.3.0; re-enable combat animations on mobile on any save that had it disabled by versionupdate previously.--> <!-- The code that set the combatfix var has been removed.--> <<if Browser.isMobile.any() and $options.combatAnimations is false and $combatFix is 1>> <<unset $combatFix>> <<set $options.combatAnimations to true>> <</if>> <<unset $mobileZoomFix>> <!-- 0.5.3.0; option to disable text effect from drunk and heat/rut lewd options--> <<if $options.textAnimations is undefined>> <<set $options.textAnimations to true>> <</if>> <!-- Insecurity Rework --> <<if $insecurity_breasts_tiny isnot undefined or $insecurity_penis_tiny isnot undefined>> <<set $insecurity_breasts_small to Math.max($insecurity_breasts_small, $insecurity_breasts_tiny)>> <<set $acceptance_breasts_small to Math.max($acceptance_breasts_small, $acceptance_breasts_tiny)>> <<if $player.sex isnot "f">> <<set $insecurity_breasts_big to Math.max($insecurity_breasts_big, $insecurity_breasts_small)>> <<set $acceptance_breasts_big to Math.max($acceptance_breasts_big, $acceptance_breasts_small)>> <<set $insecurity_breasts_small to 0>> <<set $acceptance_breasts_small to 0>> <</if>> <<set $insecurity_penis_small to Math.max($insecurity_penis_small, $insecurity_penis_tiny)>> <<set $acceptance_penis_small to Math.max($acceptance_penis_small, $acceptance_penis_tiny)>> <<unset $insecurity_breasts_tiny>> <<unset $acceptance_breasts_tiny>> <<unset $insecurity_penis_tiny>> <<unset $acceptance_penis_tiny>> <</if>> <!-- New Makeup Category --> <<if $makeup.owned.blusher is undefined>> <<set $makeup.owned.blusher = []>> <<set $makeup.blusher = 0>> <</if>> <!-- 0.5.3.0 makes sure $plants is defined on all saves, and stocks supermarket--> <<if $plants.salt is undefined>> <<set _food_keys to Object.keys(setup.plants)>> <<for _i to 0; _i lt _food_keys.length; _i++>> <<set $_type to _food_keys[_i]>> <<if $plants[$_type] is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": 0}>> <<elseif $plants[$_type].name is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": $plants[$_type].amount}>> <</if>> <</for>> <<supermarketWeekly>> <</if>> <<if $schoolLessonsMissed.housekeeping is undefined>> <<set $schoolLessonsMissed.housekeeping to 0>> <</if>> <!-- 0.5.3.0 make sure named NPCs have .name_known property --> <<if C.npc.Robin.name_known isnot 1>> <<for _i to 0; _i lt $NPCName.length; _i++>> <<switch $NPCName[_i].nam>> <<case "Eden">> <<if $hunterintro is 1>> <<set $NPCName[_i].name_known to 1>> <<else>> <<set $NPCName[_i].name_known to 0>> <</if>> <<default>> <<set $NPCName[_i].name_known to 1>> <</switch>> <</for>> <</if>> <!-- 0.5.3.0 giftedFood $daily variable --> <<if $daily.giftedFood is undefined>> <<set $daily.giftedFood to {}>> <</if>> <!-- 0.5.3.1 makes sure the related $plants names use _ rather than spaces as they get used as object keys --> <<if $plants.cheese_and_crackers.name is "cheese and crackers">> <<run ["cheese_and_crackers", "choc_chip_cookie", "spaghetti_bolognese", "porridge"].forEach(key => $plants[key].name to key)>> <<set $plants.porridge.plural to "servings of porridge">> <<set $plants.chips.plural to "packets of chips">> <<set $plants.yorkshire_pudding.plural to "yorkshire puddings">> <<set $plants.choc_chip_cookie.plural to "chocolate chip cookies">> <</if>> <<if $plants.chilli_con_carne.singular is "serving ">> <<set $plants.chilli_con_carne.singular to "serving of chilli con carne">> <</if>> <!-- $daily.prison not set in at least one save game --> <<set $daily.prison ||= {}>> <!-- Rice does not have a supermarket quantity --> <<set $plants.rice.supermarket ||= 0>> <!-- Avery cards sending face items of the wrong colour --> <<if $avery_cards?.face>> <<facesend `clothesIndex('face',$avery_cards.face)` wardrobe $avery_cards.face.colour $avery_cards.face.accessory_colour>> <<run delete $avery_cards.face>> <</if>> <!-- 0.5.4.0 --> <!-- Fix for child toy typos --> <<if !$objectVersion.toyFix lt 2 or $objectVersion.toyFix is undefined>> <<set _nameChanges to { "Mrs Teddy": "Mrs. Teddy", "Mr Teddy": "Mr. Teddy", "See through dummy": "Clear dummy", "Baby Doll": "Baby doll", "Green race toy car": "Green toy racecar", "Blue race toy car": "Blue toy racecar", "Green Robot": "Green robot", "Red Robot": "Red robot", "Chew Bone": "Chew bone", "Squeaky Sheep": "Squeaky sheep", "Squeaky Chicken": "Squeaky chicken", "Chew Ball": "Chew ball" }>> <<set _nameLowerChanges to { "Mrs Teddy": "Mrs. Teddy", "Mr Teddy": "Mr. Teddy", "See through dummy": "clear dummy", "Green race toy car": "green toy racecar", "Blue race toy car": "blue toy racecar", }>> <<set _colourChanges to { "See through dummy": "light-grey", "White dummy": "light-grey", "Teddy bear": "tan", "Limousine toy car": "grey", "Squeaky Sheep": "light-grey", "Chew Ball": "light-green" }>> <<set _allToys = []>> <<if V.storedChildrenToys and Object.keys(V.storedChildrenToys).length>> <<for _nursery range Object.keys(V.storedChildrenToys)>> <<set _allToys.push(...V.storedChildrenToys[_nursery])>> <</for>> <</if>> <<if V.player.inventory.childrenToys?.length>> <<set _allToys.push(...V.player.inventory.childrenToys)>> <</if>> <<if V.selectedToy?.options>> <<set _allToys.push(...V.selectedToy.options)>> <</if>> <<for _toy range _allToys>> <<if _colourChanges[_toy.name]>> <<set _toy.colour to _colourChanges[_toy.name]>> <</if>> <<if _nameChanges[_toy.name]>> <<set _toy.name_lower to _nameLowerChanges[_toy.name]>> <<set _toy.name to _nameChanges[_toy.name]>> <</if>> <<if !_toy.name_lower>><<set _toy.name_lower to _toy.name.toLowerCase()>><</if>> <</for>> <<set $objectVersion.toyFix to 2>> <</if>> <!-- Avery's seen and tracking the number of rejections of Avery --> <<if C.npc.Avery.init is 1>> <<if $averySeen is undefined>> <<set $averySeen to []>> <</if>> <<if $averyRejected is undefined>> <<set $averyRejected to {}>> <<set $weekly.averyRejected to {}>> <</if>> <!-- Fix NaN values --> <<if isNaN($averyRejected.dropOff)>> <<set $averyRejected.dropOff to 0>> <</if>> <<if isNaN(C.npc.Avery.rage)>> <<set C.npc.Avery.rage to 0>> <</if>> <</if>> <!-- 0.5.3.7: $housekeepingTips not defined --> <<if !$housekeepingTips>> <<set $housekeepingTips to []>> <</if>> <!-- 0.5.4.0 Remove NudeGenderDC -1--> <<if $NudeGenderDC is -1 || $player.gender is "h">> <<set $player.gender to $player.gender_posture>> <<if $NudeGenderDC is -1>><<set $NudeGenderDC to 0>><</if>> <</if>> <<if $farm>> <<if $farm.stock>> <<if $farm_stage gte 6 and $farm.stock.cream is undefined>> <<set $farm.stock.cream to 0>> <</if>> <</if>> <</if>> <!-- 0.5.4.0 object for maze antiques --> <<if $weekly.maze is undefined>> <<set $weekly.maze to {}>> <</if>> <!-- 0.5.4.6 pbdisable never defined if the player started from the 'quick start' tab --> <<if $pbdisable is undefined>> <<set $pbdisable to "t">> <</if>> <</widget>><!-- Low-level canvas renderer composition functions. Example usage: <<set _wetness to 0.9>> <<canvasstart 256 256>> <<run canvaslayer(10, 'img/shirt.png', {blend:'#ff0000',alpha:_wetness})>> <<run canvaslayer(11, 'img/shirt_acc.png', {alpha:_wetness})>> <<run canvaslayer( 8, 'img/skirt.png', {blend:'#ff0000',alpha:_wetness})>> <<canvasdraw>> will create a 256x256 canvas and render 3 images in it: skirt, shirt, and shirt_acc (order by z-index) shirt and skirt are multiplied by red (#ff0000) colour (blend option) the images are semi-transparent (alpha=_wetness=0.9, alpha option) actual <canvas> element will be placed where <<canvasdraw>> is called --> <<widget "canvasstart">> <!-- Creates an off-screen <canvas> element. Usage: <<canvasstart WIDTH HEIGHT FRAMES>> --> <<if _Canvas !== undefined>> <<run throw "Duplicate 'canvasstart' call">> <<elseif _args.length !== 3 or typeof _args[0] !== 'number' or typeof _args[1] !== 'number' or typeof _args[2] !== 'number'>> <<run throw "Invalid 'canvasstart' call">> <<else>> <<set _Canvas = Renderer.createCanvas(_args[0]*_args[2], _args[1])>> <<set _CanvasLayers = []>> <<set _CanvasFrames = _args[2];>> <</if>> <</widget>> <<widget "canvaslayer">> <!-- Prepares a layer to be rendered Usage: <<canvaslayer Z SOURCE [OPTIONS...]*>> where: Z: z-index of the layer (bigger above lower). SOURCE: is URL to the image OPTIONS: Extra CompositeLayerSpec option objects - they are merged, last has most priority Example: <<canvaslayer 20 'img/clothers/upper/schoolshirt/full.png' `{blend:'#00ff00', blendMode:'hard-light'}`>> --> <<twinescript>> var opts = {z:_args[0],src:_args[1]}; for (var i = 2; i < _args.length; i ++) opts = jQuery.extend(opts, _args[i]); _CanvasLayers.push(opts); <</twinescript>> <</widget>> <<widget "canvasanimate">> <!-- Insert HTML <canvas> element right here. Render and animate previously prepared images into it. Usage: <<canvasanimate [CSS_CLASSES]>> --> <<twinescript>> if (!_Canvas) { Errors.report("'canvasdraw' without 'canvasstart'"); } else { Renderer.animateLayers(_Canvas, _CanvasLayers, Renderer.Animations, Renderer.defaultListener); if (typeof _args[0] === 'string') { _Canvas.canvas.className = _args[0]; } output.appendChild(_Canvas.canvas); } <</twinescript>> <<unset _Canvas,_CanvasLayers,_CanvasFrames>> <</widget>> <<widget "canvasdraw">> <!-- Insert HTML <canvas> element right here. Render previously prepared images into it. Usage: <<canvasdraw [FRAMECOUNT] [CSS_CLASSES]>> --> <<twinescript>> if (!_Canvas) { Errors.report("'canvasdraw' without 'canvasstart'"); } else { Renderer.composeLayers(_Canvas, _CanvasLayers, _args[0] || 1, Renderer.defaultListener); if (typeof _args[1] === 'string') { _Canvas.canvas.className = _args[1]; } output.appendChild(_Canvas.canvas); } <</twinescript>> <<unset _Canvas,_CanvasLayers,_CanvasFrames>> <</widget>><!-- <<canvasimg [CSSCLASSES]>> Render full player image. --> <<widget "canvasimg">> <<selectmodel "lighting" "sidebar">> <<rendermodel "lighting">> <<selectmodel "main" "sidebar">> <<modelprepare-player-body>> <<modelprepare-player-clothes>> <<if $options.sidebarAnimations isnot false>> <<animatemodel _args[0]>> <<else>> <<rendermodel _args[0]>> <</if>> <<if playerHasStrapon()>> <<set _modeloptions.crotch_visible to false>> <<set _modeloptions.crotch_exposed to false>> <<if $worn.lower.exposed lte 1 and $lowerwetstage lte 0>> <<set _modeloptions.worn.under_lower.index to 0>> <</if>> <</if>> <</widget>> <!-- Set model options & filters from player body Requires prior <<selectmodel "main">> --> <!-- - ██████ ██ ██████ ████████ ██ ██ ███████ ███████ - ██ ██ ██ ██ ██ ██ ██ ██ ██ - ██ ██ ██ ██ ██ ███████ █████ ███████ - ██ ██ ██ ██ ██ ██ ██ ██ ██ - ██████ ███████ ██████ ██ ██ ██ ███████ ███████ --> <!-- Set model options & filters for player clothes --> <<widget "canvas-player-base-body">> <<selectmodel "lighting">> <<set _modeloptions.lights.gradient.enabled = false>> <<set _modeloptions.lights.flat.enabled = false>> <<rendermodel "lighting">> <<selectmodel "main">> <<set _chestVisible to !$options.neverNudeMenus>> <<modelprepare-player-body>> <!-- Reset covering --> <<set _modeloptions.arm_left to "idle">> <<set _modeloptions.arm_right to "idle">> <<set _modeloptions.angel_wing_left to "idle">> <<set _modeloptions.angel_wing_right to "idle">> <<set _modeloptions.fallen_wing_left to "idle">> <<set _modeloptions.fallen_wing_right to "idle">> <<set _modeloptions.demon_wing_left to "idle">> <<set _modeloptions.demon_wing_right to "idle">> <<set _modeloptions.bird_wing_left to "idle">> <<set _modeloptions.bird_wing_right to "idle">> <!-- Reset face --> <<set _modeloptions.blink to false>> <<set _modeloptions.eyes_half to false>> <<set _modeloptions.brows to "top">> <<set _modeloptions.mouth to "neutral">> <<set _modeloptions.tears to 0>> <<set _modeloptions.blush to 0>> <!-- Reset effects --> <<set _modeloptions.drip_vaginal to "">> <<set _modeloptions.drip_anal to "">> <<set _modeloptions.drip_mouth to "">> <<set _modeloptions.follower to false>> <<if $options.neverNudeMenus>> <<set _modeloptions.crotch_visible to false>> <<set _modeloptions.penis to "">> <<if $player.gender_appearance neq "m" or $player.perceived_breastsize gte 3>> <<set _modeloptions.worn.under_upper.index to 12>> <<set _modeloptions.worn.under_upper.colour to "pale white">> <</if>> <<set _modeloptions.worn.under_lower.colour to "pale white">> <<if $player.gender_appearance is "m">> <<set _modeloptions.worn.under_lower.index to 4>> <<else>> <<set _modeloptions.worn.under_lower.index to 1>> <</if>> <</if>> <<if playerHasStrapon()>> <<set _modeloptions.worn.under_lower.index to $worn.under_lower.index>> <<set _modeloptions.worn.under_lower.colour to ($worn.under_lower.colourCustom ? $worn.under_lower.colourCustom : $worn.under_lower.colour)>> <</if>> <<rendermodel>> <</widget>> <<widget "canvas-model-override">> <<if _args[0] is "clear">> <<set $modeloptionsOverride to {}>> <<else>> <<set $modeloptionsOverride[_args[0]] to _args[1]>> <</if>> <</widget>><!-- High-level canvas model widgets. Example #1: <<selectmodel "main">> /* set model parameters. see model source/docs on required options and filters */ <<set _modeloptions.showEyes to true>> <<modelfilter eyes setup.colours.eyes["hazel"].canvasfilter>> /* show layers */ <<showlayer "base" `{alpha:0.5}`>> <<showlayer "eyes">> /* ignite the sin machine */ <<animatemodel>> /* Will insert <canvas> element here and animate it */ /* <<rendermodel>> can be used for static (non-animated) model */ --> <!-- Example #2. Rerender model with new options. <<selectmodel "main">> /* set options and filters */ <<set _modeloptions.size to 10>> <<animatemodel>> /* _modelclass is used to keep model; preserve it somewhere */ <<set _testmodel to _modelclass>> <<button "Randomize me">> <<set _testmodel.options.size to random(20)>> <<run _testmodel.redraw()>> <</button>> --> <!-- Select model and prepare for rendering <<selectmodel NAME [INSTANCE]>> Parameter INSTANCE is id for caching between passages. Do not render instance multiple times on same passage. --> <<widget "selectmodel">> <<set _modelclass to Renderer.locateModel(_args[0], _args[1])>> <<set _modeloptions to _modelclass.defaultOptions()>> <<run _modelclass.reset()>> <</widget>> <!-- Show layer and optionaly add filters <<showlayer LAYERNAME [...FILTERS]>> --> <<widget "showlayer">> <<run _modelclass.showLayer(_args[0], _args.slice(1))>> <</widget>> <!-- Hide layer <<hidelayer LAYERNAME>> --> <<widget "hidelayer">> <<run _modelclass.hideLayer(_args[0])>> <</widget>> <!-- Set model filter object. <<modelfilter FILTERNAME FILTER>> Will do a copy, so you can safely edit filter options --> <<widget "modelfilter">> <<set _modeloptions.filters[_args[0]] to clone(_args[1])>> <</widget>> <!-- Set model filter option <<modelfilterset FILTERNAME OPTIONNAME OPTIONVALUE>> --> <<widget "modelfilterset">> <<script>> const filter = T.modeloptions.filters[T.args[0]]; if (!filter) filter = T.modeloptions.filters[T.args[0]] = {}; filter[T.args[1]] = T.args[2]; <</script>> <</widget>> <!-- <<animatemodel [CSSCLASS]>> Render model and JS-animate it --> <<widget "animatemodel">> <<script>> const canvas = T.modelclass.canvas || T.modelclass.createCanvas(); T.modelclass.animate(canvas, T.modeloptions, Renderer.defaultListener); canvas.canvas.className = typeof T.args[0] === 'string' ? T.args[0] : ''; output.append(canvas.canvas); <</script>> <</widget>> <!-- <<rendermodel [CSSCLASS] [CSSANIM]>> Render model as a static image If CSSANIM is true (default false), render multiple frames for CSS animation --> <<widget "rendermodel">> <<script>> const canvas = T.modelclass.createCanvas(!!T.args[1]); T.modelclass.render(canvas, T.modeloptions, Renderer.defaultListener); canvas.canvas.className = typeof T.args[0] === 'string' ? T.args[0] : ''; output.append(canvas.canvas); <</script>> <</widget>><<widget "clothingCaptionText">> <<run window.outfitChecks()>> <<if _fullyNaked is false>> <<set _clothingCaptionItems to []>> <<set _finally to ".">> <<set _text_output to "">> <<set _wearing to "You are " + (_topless ? "<span class='pink'>topless</span>, " : "") + "wearing ">> <<if !_overNaked>> <<clothingCaptionTextOver>> <</if>> <<if !_middleNaked>> <<clothingCaptionTextMiddle>> <</if>> <<clothingCaptionTextUnder>> <<set _text_output to _wearing>> <<if _clothingCaptionItems.length is 1>> <<set _text_output += (_nothingBut ? "nothing but" : "only")>> <</if>> <<set _text_output += formatList(_clothingCaptionItems) + _finally>> <<print _text_output>> <<clothingCaptionTextGenitals>> <<clothingCaptionTextHandheld>> <<elseif playerHasButtPlug()>> <<set $_a to ($worn.butt_plug.name is "anal beads"? "": "a ")>> <<print `You wear ${$_a}$worn.butt_plug.name.`>> <</if>> <<clothingCaptionTextNothing>> <<clothingCaptionTextMask>> <<if window.checkForExposedClothing()>> <br> <<clothingCaptionTextStrip>> <</if>> <<if isHermOrCrossdresser() or ($player.gender_appearance isnot $player.gender and $player.gender isnot "n")>> <br> <<clothingCaptionTextGender>> <</if>> <<if playerIsPregnant() and playerAwareTheyArePregnant() and playerBellySize() gt 7 or $bellySizeDebug>> <br> <<clothingCaptionTextPreggy>> <</if>> <</widget>> <<widget "pushClothingCaption">> <<set $_output to " ">> <<set $_wornItem to $worn[_args[0]]>> /* word 1: article, example: "a" or "an" or "a pair of" */ <<if def _args[1]>> <<set $_output += _args[1] + " ">> <<else>> <<set $_wornItemWord to setup.clothes[_args[0]][clothesIndex(_args[0],$_wornItem)].word>> <<set $_output += ($_wornItemWord isnot "n" ? $_wornItemWord : "") + " ">> <</if>> /* word 2: damage, example "frayed" */ <<run $_output += window.integrityWord($_wornItem,_args[0])>> /* word 3: colour, example: "red" */ <<run $_output += window.clothesColour($_wornItem) + " ">> /* word 4: clothes name, example: "school shirt" */ <<set $_output += $_wornItem.name>> /* push */ <<set _clothingCaptionItems.pushUnique($_output)>> <</widget>> <<widget "clothingCaptionTextOver">><<silently>> <<if $worn.over_upper.name isnot "naked">> <!--Upper and maybe lower--> <<pushClothingCaption "over_upper">> <</if>> <<if $worn.over_lower.name isnot "naked" and !_overOutfit>> <!-- Lower, if not outfit --> <<pushClothingCaption "over_lower">> <</if>> <</silently>><</widget>> <<widget "clothingCaptionTextMiddle">><<silently>> <<if $worn.upper.name isnot "naked">> <!--Upper and maybe lower--> <<pushClothingCaption "upper">> <</if>> <<if $worn.lower.name isnot "naked" and !_middleOutfit>> <!-- Lower, if not outfit --> <<pushClothingCaption "lower">> <</if>> <</silently>><</widget>> <<widget "clothingCaptionTextUnder">><<silently>> <<set $_exposed to (_overNaked and _middleNaked)>> <<if _underNaked>> <!--Not wearing--> <<if ($worn.over_upper.name isnot "naked" or $worn.upper.name isnot "naked") and ($worn.over_lower.name isnot "naked" or $worn.lower.name isnot "naked")>> <<set _finally to " <span class='purple'>with nothing beneath.</span>">> <<elseif $worn.over_upper.name is "naked" or $worn.over_lower.name is "naked" or $worn.upper.name is "naked" or $worn.lower.name is "naked">> <<set _finally to " <span class='purple'>and no underwear.</span>">> <</if>> <<else>> <<if $_exposed>> <<set _wearing to "<span class='pink'>You are " + (_topless ? "topless, " : "") + "wearing ">> <<set _finally to ".</span>">> <</if>> <<if $worn.under_upper.name isnot "naked" and $worn.under_lower.name isnot "naked">> <!--Both--> <<set _nothingBut to $_exposed and _underOutfit>> <<pushClothingCaption "under_upper">> <<if !_underOutfit>> <<pushClothingCaption "under_lower">> <</if>> <<elseif $worn.under_upper.name isnot "naked">> <!--Upper only--> <<pushClothingCaption "under_upper">> <<set _nothingBut to $_exposed>> <<if !$_exposed and !_bottomless>> <<set _finally to ". <span class='purple'>You are not wearing " + ($player.gender_appearance isnot "m" ? "any panties" : "undies") + ".</span>">> <</if>> <<elseif $worn.under_lower.name isnot "naked">> <!--Lower only--> <<set $_pair to ($worn.under_lower.name.last() is "s" ? "a pair of" : "<<word under_lower>>")>> <<pushClothingCaption "under_lower" $_pair>> <<set _nothingBut to $_exposed>> <<if !$_exposed and !_topless and $player.breastsize gte 4 and ($player.sex isnot "m" or $backgroundTraits.includes("crossdresser"))>> <<set _finally to ". <span class='purple'>You are not wearing a bra.</span>">> <</if>> <</if>> <</if>> <</silently>><</widget>> <<widget "clothingCaptionTextHandheld">> <<silently>> <<if $worn.handheld.name isnot "naked" and $rightarm isnot "bound">> <<set $_text_output to `You are carrying ${$worn.handheld?.pattern_caption ? ($worn.handheld.pattern.match(/^[aeiou]/i) ? "an " : "a ") + $worn.handheld.pattern : "<<word 'handheld'>>"} ${$worn.handheld.name}.`>> <</if>> <</silently>> <<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "clothingCaptionTextGenitals">><<silently>> <<if $worn.genitals.name isnot "naked">> <<if _bottomless>> <<set $_text_output to " <span class='red'>Your <<clothingCaptionChastityEffect>> <<genitalsintegrity>> $worn.genitals.name <<if playerChastity('anus')>>with an anal shield<</if>><<if playerHasButtPlug()>> and $worn.butt_plug.name give<<else>> gives<</if>> you no comfort.</span>">> <<else>> <<set $_text_output to " You wear <<genitalsword>> <<clothingCaptionChastityEffect>> <<genitalsintegrity>> $worn.genitals.name<<if playerChastity('anus')>> with an anal shield<</if>><<if playerHasButtPlug()>> and $worn.butt_plug.name<</if>>.">> <</if>> <<elseif playerHasButtPlug()>> <<set $_a to ($worn.butt_plug.name is "anal beads"? "": "a ")>> <<set $_text_output to ` You wear ${$_a}$worn.butt_plug.name.`>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "clothingCaptionTextMask">> <<if $worn.face.type.includes("mask")>> <br> Your identity is concealed by your <<faceintegrity>> $worn.face.name. <</if>> <</widget>> <<widget "clothingCaptionTextNothing">><<silently>> <<if _fullyNaked>> <<if $worn.genitals.name isnot "naked">> <<set $_text_output to "Your <<clothingCaptionChastityEffect>> <<genitalsintegrity>> $worn.genitals.name <<if playerChastity('anus')>>with an anal shield<</if>> gives you no comfort.">> <<else>> <<set $_text_output to "You are completely naked!">> <</if>> <<elseif _bottomless>> <<set $_text_output to "Your bottom half is completely exposed!">> <</if>> <</silently>><<if $_text_output>><span class="red"><<print $_text_output>></span><</if>><</widget>> <<widget "clothingstatecompare">> /* One argument, a clothing article whose state you want to compare against its original state. Must be the ENTIRE variable, not .name! */ /* Returns the difference between the current and base states. Negative means it's pulled down, positive means it's pulled up. */ /* If the clothing was pulled to the side, this returns 0. It would also return 0 if the current state is the base state. */ <<set _compare_result to _clothing_levels.indexOf($worn[_args[0]].state) - _clothing_levels.indexOf(setup.clothes[_args[0]][clothesIndex(_args[0],$worn[_args[0]])].state_base)>> <<if $worn[_args[0]].state is "totheside">><<set _compare_result to 0>><</if>> <</widget>> <<widget "clothingCaptionTextStrip">> <<set _captionCount to 0>> <<set _clothing_levels to [0,"ankles","knees","thighs","waist","midriff","chest"]>> <<clothingCaptionExposed "upper">> <<clothingCaptionExposed "lower">> <<if _captionCount gte 1>> <br><br> /* insert extra newlines after the caption, if there is one, for better style */ <</if>> <<unset _captionCount>> <</widget>> <<widget "clothingCaptionExposed">> <<set $_clothes to {"naked": [], "wet": [], "up": [], "down": [], "totheside": [], "exposed": []}>> <<set $_plural to {"naked": false, "wet": false, "up": false, "down": false, "totheside": false, "exposed": false}>> <<set $_isExposed to false>> <<set $_revealColour to "purple">> <<set $_highestLevelCovered to "">> <<set $_clothingRevealType to {}>> <<set $_outfitType to _args[0]>> /* Find which clothes are failing to cover the player */ <<for $_i, $_outfitLayer range ["over", "", "under"]>> <<set $_clothing to [$_outfitLayer, $_outfitType].filter(Boolean).join("_")>> <<set _wetstage to $_outfitLayer + $_outfitType + "wetstage">> <<set $_wornClothing to $worn[$_clothing]>> <<if $_wornClothing.type.includes("naked")>> <<set $_clothingRevealType[$_clothing] to "naked">> <<continue>> <<elseif $_wornClothing.state isnot setup.clothes[$_clothing][clothesIndex($_clothing,$_wornClothing)].state_base>> <<clothingstatecompare $_clothing>> <<if _compare_result gte 1>> <<set $_clothingRevealType[$_clothing] to "up">> <<elseif _compare_result lte -1>> <<set $_clothingRevealType[$_clothing] to "down">> <<else>> <<set $_clothingRevealType[$_clothing] to "totheside">> <</if>> <<elseif $_wornClothing.exposed is 2>> <<set $_clothingRevealType[$_clothing] to "exposed">> <<elseif V[_wetstage] gte 3>> <<set $_clothingRevealType[$_clothing] to "wet">> <<else>> <<set $_clothingRevealType[$_clothing] to false>> <<set $_highestLevelCovered to $_wornClothing.name>> <<break>> /* don't check clothing below the current layer if this layer is blocking visibility */ <</if>> <<set $_revealType to $_clothingRevealType[$_clothing]>> <<set $_clothes[$_revealType].pushUnique($_wornClothing.name)>> <<set $_plural[$_revealType] to ($_plural[$_revealType] or ($_wornClothing.plural is 1))>> <<set $_isExposed to true>> <</for>> <<if $_isExposed>> /* Find which areas are exposed */ <<if $_highestLevelCovered is "">> <<silently>> <<if $_outfitType is "upper">> <<breasts>><<set $_undertext to _text_output>> <<else>> <<set $_revealColour to "pink">> <<genitals>><<set $_undertext to _text_output>> <</if>> <</silently>> <<else>> <<set $_undertext to $_highestLevelCovered>> <</if>> /* Piece together the caption */ <<set _output to "">> <<for $_type range ["wet", "up", "down", "totheside", "exposed"]>> <<if $_clothes[$_type].length lte 0>> <<continue>> <</if>> <<set $_verbIsPlural to ($_clothes[$_type].length gte 2 or $_plural[$_type])>> <<switch $_type>> <<case "wet">> <<set $_verb to ($_verbIsPlural ? " are drenched, " : " is drenched, ")>> <<case "exposed">> <<set $_verb to ($_verbIsPlural ? " have been pulled aside, " : " has been pulled aside, ")>> <<case "up">> <<set $_verb to ($_verbIsPlural ? " have been pulled up, " : " has been pulled up, ")>> <<case "down">> <<set $_verb to ($_verbIsPlural ? " have been pulled down, " : " has been pulled down, ")>> <<case "totheside">> <<set $_verb to ($_verbIsPlural ? " have been pulled to the side, " : " has been pulled to the side, ")>> <</switch>> <<if _output isnot "">><<set _output += " and your ">><</if>> <<set _output += formatList($_clothes[$_type]) + $_verb>> <</for>> /* Print the caption */ <<set _captionCount += 1>> <br> Your _output <span @class="$_revealColour">revealing your $_undertext.</span> <</if>> <</widget>> <<widget "clothingCaptionTextGender">><<silently>> <<if $player.gender_appearance is "f" and ($player.gender is "m" or (isHermOrCrossdresser() and $player.sex isnot "f"))>> <<if $exposed gte 2 and $player.gender is "m">> <<set $_text_output to `The way you look, people will think you're a girl!`>> <<elseif $breastindicator is 1 and $player.perceived_breastsize gt 1 and $player.gender is "m">> <<set $_text_output to `Your exposed breasts will make people think you're a girl!`>> <<elseif nudeGenderAppearance() is "m" and $player.gender is "f">> <<set $_text_output to `If people see your genitals, they will think you're a boy!`>> <<elseif $player.gender is "m">> <<set $_text_output to `The way you're dressed, people will think you're a girl!`>> <</if>> <<elseif $player.gender_appearance is "m" and ($player.gender is "f" or (isHermOrCrossdresser() and $player.sex isnot "m"))>> <<if $exposed gte 2>> <<set $_text_output to `The way you look, people will think you're a boy!`>> <<elseif $breastindicator is 1 and $player.perceived_breastsize lte 1 and $player.gender is "f">> <<set $_text_output to `Your exposed flat chest will make people think you're a boy!`>> <<elseif nudeGenderAppearance() is "f" and $player.gender is "m">> <<set $_text_output to `If people see your genitals, they will think you're a girl!`>> <<elseif $player.gender is "f">> <<set $_text_output to `The way you're dressed, people will think you're a boy!`>> <</if>> <</if>> <</silently>><<if $_text_output>><span class="pink"><<print $_text_output>></span><</if>><</widget>> <<widget "clothingCaptionTextPreggy">><<silently>> <<if playerBellyVisible()>> <<set $_textCol to "pink">> <<if _fullyNaked>> <<set $_text_output to `Your complete lack of clothing makes your <<bellyDescription "pc">> more obvious.`>> <<elseif $worn.upper.type.includes("naked") and $worn.over_upper.type.includes("naked")>> <<if $worn.under_upper.type.includes("naked")>> <<set $_text_output to `Your exposed upper body makes your <<bellyDescription "pc">> more obvious.`>> <<else>> <<set $_text_output to `Your $worn.under_upper.name does nothing to conceal your <<bellyDescription "pc">>.`>> <</if>> <<elseif $worn.upper.type.includes("bellyShow") and $worn.over_upper.type.includes("naked")>> <<set $_text_output to `Your $worn.upper.name shows off your <<bellyDescription "pc">>.`>> <<elseif $worn.upper.type.includes("bellyHide") and $worn.over_upper.type.includes("naked")>> <<set $_text_output to `Your <<bellyDescription "pc">> is too large for your $worn.upper.name to hide.`>> <<elseif $worn.lower.type.includes("bellyHide") and $worn.over_upper.type.includes("naked")>> <<set $_text_output to `Your <<bellyDescription "pc">> is too large for your $worn.lower.name to hide.`>> <<else>> <<set $_text_output to `Your <<bellyDescription "pc">> is visible.`>> <</if>> <<else>> <<set $_textCol to "blue">> <<if $worn.upper.type.includes("bellyHide")>> <<set $_text_output to `Your $worn.upper.name hides your <<bellyDescription "pc">>.`>> <<elseif $worn.lower.type.includes("bellyHide")>> <<set $_text_output to `Your $worn.lower.name hides your <<bellyDescription "pc">>.`>> <<elseif !$worn.over_upper.type.includes("naked")>> <<set $_text_output to `Your $worn.over_upper.name hides your <<bellyDescription "pc">>.`>> <<else>> <<set $_text_output to `Your <<bellyDescription "pc">> is not visible.`>> <</if>> <</if>> <</silently>><<if $_text_output>><span @class=$_textCol><<print $_text_output>></span><</if>><</widget>> <<widget "clothingCaptionChastityEffect">><<silently>> <<if $worn.genitals.name is "chastity parasite">> <<if $earSlime.defyCooldown>> <<set $_text_output to (integrityWord(V.worn.genitals, "genitals") ? "compressed," : "compressed")>> <<elseif $earSlime.vibration and $earSlime.vibration lte 20>> <<set $_text_output to (integrityWord(V.worn.genitals, "genitals") ? "pulsating," : "pulsating")>> <<elseif $earSlime.vibration>> <<set $_text_output to (integrityWord(V.worn.genitals, "genitals") ? "vibrating," : "vibrating")>> <</if>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>><<widget "listoutfits">> <label class="no-numberify"><<link "Create new set from current clothing">><<toggleclass "#newClothingSetFromCurrent" "hidden">><</link>></label> | <label class="no-numberify"><<link "Edit all sets">><<overlayReplace "outfitEditor">><</link>></label> <br> <div id="newClothingSetFromCurrent" class="wardrobeSubSection hidden"> <<wardrobeNewOutfit>> <br> </div> <br> <label><<radiobutton "$delete_outfit" "none" checked>> Wear</label> | <label><<radiobutton "$delete_outfit" 1>> Delete</label> | <label><<radiobutton "$delete_outfit" 2>> Overwrite with current clothing</label> <br><br> <!-- List the currently saved outfits --> <div class="outfitContainer no-numberify"> <<for _index, $_outfit range $outfit>> <<if $_outfit.location and $_outfit.location isnot $wardrobe_location>> <<continue>> <</if>> <<set _outfitname to $_outfit.name + ($_outfit.colors is false ? "" : " [C]") + ($_outfit.location is undefined ? "" : " [L]")>> <<capture _index>> <<button _outfitname>><<set $wear_outfit to _index>><<updatewardrobe "outfits">><</button>> <</capture>> <</for>> </div> <</widget>> <<widget "listoutfitsPassage">> <<set $wardrobe_location to _args[0]>> <<set _store_location to _args[1] || _args[0]>> <<set $_indent to _args[2] || false>> <<wardrobeSelection true>> <<for _index, _outfit range $outfit>> <<if (_outfit.location and _outfit.location isnot $wardrobe_location) or _outfit.type.includes("swim") or _outfit.type.includes("sleep")>> <<continue>> <</if>> <<capture _index _outfit>> <<if $_indent>><<ind>><</if>> <<if _outfit.name is currentOutfit()>> <span class="grey"><<print _outfit.name>> (Equipped)</span> <<else>> <<link [["Wear "+_outfit.name|$passage]]>> <<if clothingInStorage(_store_location).length is 0>> <<storesave _store_location>> <</if>> <<set $wearoutfittext to _outfit.name + " clothes">> <<set $eventskip to 1>> <<set $wear_outfit to _index>> <<set $storeLocation to _args[0]>> <</link>> <</if>> <br> <</capture>> <</for>> <</widget>> <<widget "listsleepoutfits">> <<switch _args[0]>> <<case "Farm Bed">> <<set _passage to "Farm Bed">> <<set $wardrobe_location to "alexFarm">> <<set $storeLocation to "Farm Bed">> <<case "prison bed">> <<set _passage to "Prison Bed">> <<set $wardrobe_location to "prison">> <<set $storeLocation to "prison bed">> <<case "Robin Bed">> <<set _passage to "Robin Room Bed">> <<set $wardrobe_location to "wardrobe">> <<set $storeLocation to "bed">> <<case "Temple Bunk Bed">> <<set _passage to "Temple Bunk Bed">> <<set $wardrobe_location to "temple">> <<set $storeLocation to "Temple Bunk Bed">> <<case "Pirate Bed Lie">> <<set _passage to "Pirate Bed Lie">> <<set $wardrobe_location to "pirate">> <<set $storeLocation to "Pirate Bed Lie">> <<default>> <<set _passage to "Bed">> <<set $wardrobe_location to "wardrobe">> <<set $storeLocation to "bed">> <</switch>> <<wardrobeSelection true>> <<if $earSlime.alwaysSleepNaked is false>> <<for _index, $_outfit range $outfit>> <<if $_outfit.type.includes("sleep")>> <<if _passage is "Bed">> <<furnitureicon _bed.iconFile>> <<elseif _passage is "Prison Bed">> <<prisonicon "bed">> <<elseif _passage is "Asylum Bed">> <<bedicon "hospital">> <<elseif $location is "alex_cottage">> <<set _farmbed to ($loveInterest.primary is "Alex" or $loveInterest.secondary is "Alex") ? "alex" : "farm">> <<bedicon _farmbed>> <<else>> <<bedicon>> <</if>> <<capture _index>> <<set _outfitname to $_outfit.name + ($_outfit.colors is false ? "" : " [C]")>> <<link [["Wear "+_outfitname+" and climb in bed"|_passage]]>><<set $wear_outfit to _index>><<saveTempHairStyle>><</link>> <</capture>> <br> <</if>> <</for>> <<elseif $outfit.find(outfitSet => outfitSet.type.includes("sleep"))>> <<icon "cross.png" "infront">> <<if _passage is "Bed">> <<furnitureicon _bed.iconFile>> <<elseif _passage is "Prison Bed">> <<prisonicon "bed">> <<elseif _passage is "Asylum Bed">> <<bedicon "hospital">> <<else>> <<bedicon>> <</if>> <<if $possessed>> <span class="purple">The slime in your head is silent.</span> <br> <<else>> <span class="purple">The slime is not allowing you to sleep with anything on.</span> <br> <</if>> <</if>> <</widget>> <<widget "listswimoutfits">> <<set $wardrobe_location to _args[0]>> <<set _store_location to _args[1] || _args[0]>> <<set $_indent to _args[2] || false>> <<wardrobeSelection true>> <<for _index, _outfit range $outfit>> <<if (_outfit.location and _outfit.location isnot $wardrobe_location) or !_outfit.type.includes("swim")>> <<continue>> <</if>> <<capture _index _outfit>> <<if $_indent>><<ind>><</if>> <<if _outfit.name is currentOutfit()>> <span class="grey"><<print _outfit.name>> (Equipped)</span> <<else>> <<link [["Wear "+_outfit.name|$passage]]>> <<storesave _store_location>> <<set $wearoutfittext to _outfit.name>> <<set $eventskip to 1>> <<set $wear_outfit to _index>> <<set $storeLocation to _args[0]>> <</link>> <</if>> <br> <</capture>> <</for>> <</widget>> <<widget "listdancingclothes">> <<set _store_location to _args[0]>> <<set _slot to "under_upper">> <<for _index, _outfit range $wardrobe[_slot].sort((a, b) => (a.name > b.name) ? 1 : -1)>> <<if !_outfit.type.includes("dance")>> <<continue>> <</if>> <<capture _outfit>> <<if !$wardrobe.under_lower.find(item => item.variable is _outfit.variable)>> <span class="grey"><<print _outfit.name>> (Broken)</span> <br> <<elseif _outfit.name isnot _prevName>> <<set _prevName to _outfit.name>> <<if _outfit.name is $worn.under_upper.name>> <span class="grey"><<print _outfit.name>> (Equipped)</span> <<else>> <<link [["Wear "+_outfit.name|$passage]]>> <<if clothingInStorage(_store_location).length is 0>> <<storesave _store_location>> <<set $wearoutfittext to _outfit.name>> <</if>> <<set $eventskip to 1>> <<set _item_index to $wardrobe[_slot].indexOf(_outfit)>> <<generalWearFromWardrobe _slot _item_index>> <</link>> <</if>> <br> <</if>> <</capture>> <</for>> <</widget>> <<widget "radiooutfits">> <<for _index, $_outfit range $outfit>> <<if $_outfit.location and $_outfit.location isnot $wardrobe_location>> <<continue>> <</if>> <<capture _index>> <label>Wear $_outfit.name <<radiobutton "$wear_outfit" _index>></label> | <</capture>> <</for>> <label>Dress like you were <<radiobutton "$wear_outfit" "clotheson" checked>></label> <</widget>> <<widget "deleteoutfit">> <<if $delete_outfit is 1 and $wear_outfit isnot "none">> <<set $outfit.deleteAt($wear_outfit)>> <<set $wear_outfit to "none">> <</if>> <</widget>> <<widget "saveTempHairStyle">> <<set $tempSavedHairStyles to {hairtype:$hairtype, fringetype:$fringetype, hairposition:$hairposition}>> <</widget>> <<widget "loadTempHairStyle">> <<if $tempSavedHairStyles>> <<set $hairtype to $tempSavedHairStyles['hairtype']>> <<set $fringetype to $tempSavedHairStyles['fringetype']>> <<set $hairposition to $tempSavedHairStyles['hairposition']>> <<unset $tempSavedHairStyles>> <</if>> <</widget>> <<widget "wearoutfit">> <<set _selectedWardrobe to selectWardrobe()>> <<updateWornClothingLocation $wardrobe_location>> <<deleteoutfit>> <<overwriteoutfit>> <<set $delete_outfit to "none">> <<if $wear_outfit is "clotheson">> <<storeon $storeLocation>> <<elseif $wear_outfit isnot "none">> <<set _equip to setup.clothingLayer.all>> <<set _equipSkip to {"over_upper":false, "over_lower":false, "upper":false, "lower":false, "under_upper":false, "under_lower":false, "over_head":false, "head":false, "face":false, "neck":false, "hands":false, "handheld":false, "legs":false, "feet":false}>> <<set _storeItemSkip to {"over_upper":false, "over_lower":false, "upper":false, "lower":false, "under_upper":false, "under_lower":false, "over_head":false, "head":false, "face":false, "neck":false, "hands":false, "handheld":false, "legs":false, "feet":false}>> <<set _equipDamageValue to {"over_upper":3, "over_lower":3, "upper":3, "lower":3, "under_upper":3, "under_lower":3, "over_head":1, "head":1, "face":1, "neck":1, "hands":1, "handheld":1, "legs":1, "feet":1}>> <<set _corruptionEquipSkip to ["over_upper","over_lower","upper", "lower", "under_upper", "under_lower"]>> <<set _towels to ["towel top","large towel","towel skirt"]>> <<set _notEquipped to {}>> <<for $_slot range _equip>> /*Skip slots that have been equipped with*/ <<if _equipSkip[$_slot] is true>> <<continue>> <</if>> <<set $_incomingItemName to $outfit[$wear_outfit][$_slot]>> /*Skip slots that have not been defined*/ <<if $_incomingItemName is undefined>> <<continue>> <</if>> /*Check for items that are cursed*/ <<unset _preventItemEquip>> <<if $worn[$_slot].cursed is 1>> <<set _preventItemEquip to true>> <<elseif $worn[$_slot].outfitPrimary isnot undefined>> <<set _preventItemEquip to Object.entries($worn[$_slot].outfitPrimary).some(([slot, name]) => { if (!["broken", "split"].includes(name) and $worn[slot].cursed is 1) _preventItemEquip = true; })>> <</if>> <<set $_storeLocation to ($storeLocation ? $storeLocation : $wardrobe_location)>> <<if _preventItemEquip is true>> <<if $_incomingItemName is "naked">> /*Can't unequip cursed item */ <<set _notEquipped[$_slot] to {"name": setup.clothes[$_slot][clothesIndex($_slot,$worn[$_slot])].name, "reason": "cursed unequip"}>> <<else>> /*Can't swap cursed item for anything else */ <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "cursed slot"}>> <</if>> <<else>> <<if $_incomingItemName is "naked">> <<generalUndress $_storeLocation $_slot>> <<elseif _towels.includes($_incomingItemName)>> <<generalUndress $_storeLocation $_slot>> <<if $worn[$_slot].name is "naked">> <<switch $_incomingItemName>> <<case "towel top">> <<set $worn.upper to clone(setup.clothes.upper[3])>><<set $worn.upper.colour to clone($worn.upper.colour_options.random())>> <<case "large towel">> <<generalUndress $_storeLocation "lower">> <<if $worn.lower.name is "naked">> <<set $worn.upper to clone(setup.clothes.upper[14])>><<set $worn.upper.colour to clone($worn.upper.colour_options.random())>> <<set $worn.lower to clone(setup.clothes.lower[15])>><<set $worn.lower.colour to clone($worn.upper.colour)>> <<set _equipSkip.lower to true>> <</if>> <<case "towel skirt">> <<set $worn.lower to clone(setup.clothes.lower[3])>><<set $worn.lower.colour to clone($worn.lower.colour_options.random())>> <</switch>> <</if>> <<else>> <<set _foundEquip to null>><<set _lastResort to null>> <<unset _randomColour>> <<unset _randomColourAcc>> <<for $_equipIndex, $_wardrobeItem range _selectedWardrobe[$_slot]>> <<if $_incomingItemName isnot $_wardrobeItem.name or ($_wardrobeItem.outfitSecondary and !["broken", "split"].includes($_wardrobeItem.outfitSecondary[1]))>> <<continue>> <</if>> /* Check for saved colors in clothing set */ <<set $_outfitColors to $outfit[$wear_outfit].colors>> <<if $_outfitColors>> <<if $_outfitColors[$_slot][0] is 0 and setup.clothes[$_slot].find(item => item.name === $_wardrobeItem.name).colour_options.length>> <<set $_outfitColors[$_slot][0] to setup.clothes[$_slot].find(item => item.name === $_wardrobeItem.name).colour_options[0]>> <</if>> <<if $_outfitColors[$_slot][1] is 0 and setup.clothes[$_slot].find(item => item.name === $_wardrobeItem.name).accessory_colour_options.length>> <<set $_outfitColors[$_slot][1] to setup.clothes[$_slot].find(item => item.name === $_wardrobeItem.name).accessory_colour_options[0]>> <</if>> /* Start of checking for random colours */ <<set _randomColourListItem to $_wardrobeItem.name>> <<if $_outfitColors[$_slot][0] is "random" or $_outfitColors[$_slot][1] is "random">> <<set $_randomColourItems to _selectedWardrobe[$_slot].filter(item => item.name === T.randomColourListItem)>> /* Ensures that non-random colours are accounted for*/ <<if $_outfitColors[$_slot][0] and $_outfitColors[$_slot][0] isnot "random">> <<set _tempColour to $_outfitColors[$_slot][0]>> <<set $_randomColourItems to $_randomColourItems.filter(item => item.colour === T.tempColour)>> <<unset _tempColour>> <</if>> <<if $_outfitColors[$_slot][1] and $_outfitColors[$_slot][1] isnot "random">> <<set _tempColour to $_outfitColors[$_slot][1]>> <<set $_randomColourItems to $_randomColourItems.filter(item => item.accessory_colour === T.tempColour)>> <<unset _tempColour>> <</if>> <</if>> /* Picks the random colours*/ <<if $_outfitColors[$_slot][0] is "random" and !_randomColour>> <<set _randomColourList to []>> <<if $_randomColourItems and $_randomColourItems.length>> <<run $_randomColourItems.forEach(item => T.randomColourList.pushUnique(item.colour))>> <</if>> <<if _randomColourList.length>> <<set _randomColour to _randomColourList[random(0, _randomColourList.length - 1)]>> <<set $_randomColourItems to $_randomColourItems.filter(item => item.colour === T.randomColour)>> <</if>> <</if>> <<if $_outfitColors[$_slot][1] is "random" and !_randomColourAcc>> <<set _randomColourAccList to []>> <<if $_randomColourItems and $_randomColourItems.length>> <<run $_randomColourItems.forEach(item => T.randomColourAccList.pushUnique(item.accessory_colour))>> <</if>> <<if _randomColourAccList.length>> <<set _randomColourAcc to _randomColourAccList[random(0, _randomColourAccList.length - 1)]>> <</if>> <</if>> <<unset _randomColourListItem>> /* Skips over items that do not match the random colours */ <<if (!_randomColour or _randomColour isnot $_wardrobeItem.colour) and $_outfitColors[$_slot][0] isnot 0 and $_outfitColors[$_slot][0] isnot $_wardrobeItem.colour>> <<continue>> <</if>> <<if (!_randomColourAcc or _randomColourAcc isnot $_wardrobeItem.accessory_colour) and $_outfitColors[$_slot][1] isnot 0 and $_outfitColors[$_slot][1] isnot $_wardrobeItem.accessory_colour>> <<continue>> <</if>> /* End of checking for random colours */ <<set $_outfitCustomColors to $_outfitColors[$_slot+"custom"] || [undefined, undefined]>> <<if $_wardrobeItem.colour is "custom" and $_outfitColors[$_slot][0] isnot "random" and $_wardrobeItem.colourCustom isnot undefined and $_wardrobeItem.colourCustom isnot $_outfitCustomColors[0]>> /* this item is not a match, move on to the next item */ <<continue>> <</if>> <<if $_wardrobeItem.accessory_colour is "custom" and $_outfitColors[$_slot][1] isnot "random" and $_wardrobeItem.accessory_colourCustom isnot undefined and $_wardrobeItem.accessory_colourCustom isnot $_outfitCustomColors[1]>> <<continue>> <</if>> <</if>> /*Check for preggy restriction*/ <<if playerBellySize() gte 12 and $_wardrobeItem.type.includes("constricting")>> <<if $_wardrobeItem.type.includes("chest_bind")>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "constrictingChest"}>> <<else>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "constricting"}>> <</if>> <<break>> <</if>> /*Check for slime corruption*/ <<if _corruptionEquipSkip.includes($_slot) and $earSlime.corruption gte 10>> <<if $earSlime.forcedCommando isnot undefined and ($_slot is "under_lower" or ($_wardrobeItem.outfitPrimary and $_wardrobeItem.outfitPrimary.under_lower and !["broken","split"].includes($_wardrobeItem.outfitPrimary.under_lower)))>> <<if $_wardrobeItem.type.includes("naked") or (_earSlimeEnableSwimwear and $_wardrobeItem.type.includes("swim")) or (_earSlimeEnableDancewear and $_wardrobeItem.type.includes("dance"))>> <<elseif $earSlime.forcedCommando gt 0>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "corruption_slime_deny_commando"}>> <<break>> <<else>> <<run delete $earSlime.forcedCommando>> <</if>> <<elseif $_wardrobeItem.reveal lt earSlimeCorruptionClothes() and (["prison", "asylum"].includes($location) or !_allowSchoolClothes) and !$_wardrobeItem.type.includesAny("event")>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "corruption_slime_deny"}>> <<break>> <<elseif $earSlime.forcedDressing and $_wardrobeItem.gender isnot $earSlime.forcedDressing.type and $_wardrobeItem.gender isnot "n" and !$_wardrobeItem.type.includesAny("event")>> <<if $earSlime.forcedDressing.days gt 0>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "corruption_slime_deny_forcedDressing"}>> <<break>> <<else>> <<run delete $earSlime.forcedDressing>> <</if>> <</if>> <</if>> /*Finds the least damaged outfit if the current clothing item is the main part and sets it as a last resort in case an undamaged one isn't found*/ <<set _damage to 0>> <<if $_wardrobeItem.outfitPrimary isnot undefined>> <<set _outfitPrimaryWearOutfit to $_wardrobeItem.outfitPrimary>> /*Check for damaged parts*/ <<for $_outfitSlot, $_outfitPieceName range _outfitPrimaryWearOutfit>> <<if $_outfitPieceName is "broken" or $_outfitPieceName is "split">> <<set _damage += _equipDamageValue[$_outfitSlot]>> <</if>> <</for>> <<if _damage gt 0>> <<if _lastResort is null or _damage lt _lastResort.damage>> <<set _lastResort to { damage: clone(_damage), id: clone($_equipIndex) }>> <</if>> <<continue>> <</if>> <</if>> <<if _damage is 0>> <<set _foundEquip to {}>> <<set _foundEquip[$_slot] to clone($_equipIndex)>> <<break>> <</if>> <</for>> /*If the main outfit has not been found, use the last resort*/ <<if _foundEquip is null and _lastResort isnot null>> <<if !($worn[$_slot].name is $_incomingItemName and $worn[$_slot].one_piece is 1)>> <<set _foundEquip to {}>> <<set _foundEquip[$_slot] to _lastResort.id>> <</if>> <</if>> /*Ensure at this point, the main piece of clothing has been found*/ <<if _foundEquip isnot null>> /*Undress equip*/ <<generalUndress $_storeLocation $_slot>> /*Find all the outfit pieces now the main least damaged piece has been found if the clothing is part of an outfit*/ <<set $_foundPrimary to _selectedWardrobe[$_slot][_foundEquip[$_slot]]>> <<if $_foundPrimary and $_foundPrimary.outfitPrimary isnot undefined>> /*Check these values once, outside of the loop, so we don't continuously check them on every loop iteration*/ <<set $_primaryColourIsCustom to ($_foundPrimary.colour is "custom")>> <<set $_primaryAccColourIsCustom to ($_foundPrimary.accessory_colour is "custom")>> <<for $_outfitSlot, $_outfitPieceName range $_foundPrimary.outfitPrimary>> <<if $worn[$_outfitSlot].cursed is 1>> <<set _preventItemEquip to true>> <<break>> <</if>> <<if $_outfitPieceName is "broken" or $_outfitPieceName is "split">> <<continue>> <</if>> <<if !_storeItemSkip[$_outfitSlot]>> <<generalUndress $_storeLocation $_outfitSlot>> <</if>> <<set $_itemFound to false>> <<for _index, $_possiblePiece range _selectedWardrobe[$_outfitSlot]>> <<if $_outfitPieceName isnot $_possiblePiece.name>> <<continue>> <</if>> /*Skip broken and split pieces*/ <<if $_possiblePiece.outfitSecondary[1] is "broken" or $_possiblePiece.outfitSecondary[1] is "split">> <<continue>> <</if>> /*Skip items that don't have matching colours*/ <<if $_foundPrimary.colour isnot $_possiblePiece.colour or ($_possiblePiece.accessory isnot 0 and $_foundPrimary.accessory_colour isnot $_possiblePiece.accessory_colour)>> <<continue>> <</if>> /*Skip items that don't have matching custom colours*/ <<if $_primaryColourIsCustom and ($_foundPrimary.colourCustom is undefined or $_foundPrimary.colourCustom isnot $_possiblePiece.colourCustom)>> <<continue>> <</if>> <<if $_primaryAccColourIsCustom and ($_foundPrimary.accessory isnot 0 and $_foundPrimary.accessory_colourCustom is undefined or $_foundPrimary.accessory_colourCustom isnot $_possiblePiece.accessory_colourCustom)>> <<continue>> <</if>> /*Skip items that don't have matching patterns*/ <<if $_possiblePiece.pattern and $_possiblePiece.pattern isnot 0 and $_foundPrimary.pattern isnot $_possiblePiece.pattern>> <<continue>> <</if>> /*Found the correct item*/ <<set _foundEquip[clone($_outfitSlot)] to clone(_index)>> <<set _equipSkip[$_outfitSlot] to true>> <<set $_itemFound to true>> <</for>> <<if $_itemFound is false>> /*None were found, error in code/save?*/ <<set _notEquipped[$_outfitSlot] to {"name": $_incomingItemName, "reason": "not found piece"}>> <</if>> <</for>> <</if>> /*Equip all the clothing items*/ <<if !_preventItemEquip>> <<for $_outfitslot, _index range _foundEquip>> <<set $worn[$_outfitslot] to clone(_selectedWardrobe[$_outfitslot][_index])>> <<set $worn[$_outfitslot].lastTaken to $wardrobe_location>> <<set _selectedWardrobe[$_outfitslot].deleteAt(_index)>> <<run resetClothingState($_outfitslot)>> <</for>> /*If the worn item was a hoodie, make sure the hood is in the correct position*/ <<if $_slot is "upper" and $worn.upper.hoodposition and $worn.upper.outfitPrimary.head isnot "broken" and $worn.upper.outfitPrimary.head isnot "split">> <<if $worn.upper.hoodposition isnot outfitHoodPosition($outfit[$wear_outfit])>> <<toggleHood>> <<set _equipSkip["head"] to ($worn.upper.hoodposition is "up" ? true : false)>> <</if>> <</if>> <<else>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "cursed slot"}>> <</if>> <<else>> <<if $worn[$_slot].name is $_incomingItemName>> <<if !_notEquipped[$_slot]>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "not found replacement"}>> <</if>> /*If the worn item was a hoodie, make sure the hood is in the correct position*/ <<if $_slot is "upper" and $worn.upper.hoodposition and $worn.upper.outfitPrimary.head isnot "broken" and $worn.upper.outfitPrimary.head isnot "split" and $worn.upper.hoodposition isnot outfitHoodPosition($outfit[$wear_outfit])>> <<toggleHood>> <</if>> <<if $wardrobe_location isnot "wardrobe">> <<set _makeTempClothing to 1>> <<storeItem $wardrobe_location $_slot>> <</if>> <<else>> <<if !_notEquipped[$_slot]>> <<set _notEquipped[$_slot] to {"name": $_incomingItemName, "reason": "not found"}>> <</if>> <<if $wardrobe_location isnot "wardrobe" and $worn[$_slot].name isnot "naked">> <<set _makeTempClothing to 1>> <<storeItem $wardrobe_location $_slot>> <</if>> <</if>> <</if>> <</if>> <</if>> <</for>> <<if $outfit[$wear_outfit].hairStyle>> /*Update Hairstyle*/ <<set $_outfitHair to $savedHairStyles[$outfit[$wear_outfit].hairStyle]>> <<set $hairtype to $_outfitHair.hairtype>> <<set $fringetype to $_outfitHair.fringetype>> <<set $hairposition to $_outfitHair.hairposition>> <</if>> <</if>> <<if $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to "notWorn">> <</if>> <<if $wear_outfit isnot "none" and _notEquipped>> <<if Object.values(_notEquipped).length gt 0>> <<set _resultStrings to {}>> <<set _locationName to ($wardrobes[$wardrobe_location] is undefined ? "wardrobe" : $wardrobe_location)>> <<set _wardrobeName to $wardrobes[_locationName].name + (!$wardrobes[_locationName].name.includes("locker") ? " wardrobe" : "")>> <<run Object.entries(_notEquipped).forEach(([slot, notEquippedItem]) => { switch (notEquippedItem.reason) { case "not found": if (_resultStrings.notFound === undefined) { _resultStrings.notFound = { "start": "You were unable to find any ", "joiner": "or", "end": " in your " + _wardrobeName + ".", "names": [], "color": "purple" } } _resultStrings.notFound.names.push(notEquippedItem.name); break; case "not found replacement": if (_resultStrings.notFoundReplacement === undefined) { _resultStrings.notFoundReplacement = { "start": "You were unable to find any ", "joiner": "or", "end": " in your " + _wardrobeName + " to replace what you're already wearing.", "names": [], "color": "lewd" } } _resultStrings.notFoundReplacement.names.push(notEquippedItem.name); break; case "constricting": if (_resultStrings.constricting === undefined) { _resultStrings.constricting = { "start": "Your <<bellyDescription 'pc'>> is too large to wear your ", "joiner": "and", "end": ".", "names": [], "color": "red" } } _resultStrings.constricting.names.push(notEquippedItem.name); break; case "constrictingChest": if (_resultStrings.constrictingChest === undefined) { _resultStrings.constrictingChest = { "start": "Your pregnant body is too sensitive to wear your ", "joiner": "and", "end": ".", "names": [], "color": "red" } } _resultStrings.constrictingChest.names.push(notEquippedItem.name); break; case "corruption_slime_deny": if (_resultStrings.corruption_slime_deny === undefined) { _resultStrings.corruption_slime_deny = { "start": "You were unable to equip your ", "joiner": "and", "end": " as the slime in your ear did not permit it.", "names": [], "color": "red" } } _resultStrings.corruption_slime_deny.names.push(notEquippedItem.name); break; case "corruption_slime_deny_commando": if (_resultStrings.corruption_slime_deny_commando === undefined) { _resultStrings.corruption_slime_deny_commando = { "start": "You were unable to equip your ", "joiner": "and", "end": " as the slime in your ear is forcing you to go commando.", "names": [], "color": "red" } } _resultStrings.corruption_slime_deny_commando.names.push(notEquippedItem.name); break; case "corruption_slime_deny_forcedDressing": if (_resultStrings.corruption_slime_deny_forcedDressing === undefined) { _resultStrings.corruption_slime_deny_forcedDressing = { "start": "You were unable to equip your ", "joiner": "and", "end": ` as the slime in your ear is only permitting more ${$earSlime.forcedDressing.type is "f" ? "feminine" : "masculine"} clothing.`, "names": [], "color": "red" } } _resultStrings.corruption_slime_deny_forcedDressing.names.push(notEquippedItem.name); break; case "cursed slot": if (_resultStrings.cursed === undefined) { _resultStrings.cursed = { "start": "You were unable to equip your ", "joiner": "and", "end": " due to not being able to remove what you're already wearing.", "names": [], "color": "red" } } _resultStrings.cursed.names.push(notEquippedItem.name); break; case "cursed unequip": if (_resultStrings.cursedUnequip === undefined) { _resultStrings.cursedUnequip = { "start": "You were unable to unequip your ", "joiner": "and", "end": " due to not being able to remove it on your own.", "names": [], "color": "red" } } _resultStrings.cursedUnequip.names.push(notEquippedItem.name); break; case "not found piece": if (V.worn[slot].name === notEquippedItem.name) break; if (_resultStrings.notFoundPiece === undefined) { _resultStrings.notFoundPiece = { "start": "You were unable to fully equip your ", "joiner": "and", "end": " due to an unexpected issue (Error in save most likely). Discarding and replacing related items should deal with the issue.", "names": [], "color": "red" } } _resultStrings.notFoundPiece.names.push(notEquippedItem.name); break; } })>> <<for $_clothingStrings range _resultStrings>> <<if $_clothingStrings.names.length gt 0>> <<set _string to $_clothingStrings.start>> <<set _string += formatList($_clothingStrings.names, $_clothingStrings.joiner)>> <<set _string += $_clothingStrings.end>> <span @class="$_clothingStrings.color">_string</span> <br> <</if>> <</for>> <</if>> <</if>> <<set $wear_outfit to "none">> <<unset $storeLocation>> <</widget>> <<widget "overwriteoutfit">> <<if $delete_outfit is 2 and $wear_outfit isnot "none">> <<set _equip to setup.clothingLayer.all>> <<set _outfit to $outfit[$wear_outfit]>> <<for $_slot range _equip>> <<set _outfit[$_slot] to $worn[$_slot].name>> <<if _outfit.colors>> <<set _outfit.colors[$_slot] to [clone($worn[$_slot].colour),clone($worn[$_slot].accessory_colour)]>> <<if $worn[$_slot].colour is "custom" or $worn[$_slot].accessory_colour is "custom">> <<run _outfit.colors[$_slot+"custom"] to [clone($worn[$_slot].colourCustom),clone($worn[$_slot].accessory_colourCustom)]>> <</if>> <</if>> <</for>> <<set $wear_outfit to "none">> <</if>> <</widget>> <<widget "outfitEditor">> <<link "Filter Options">><<toggleclass "#outfitEditorFilter" "hidden">><</link>> | <<link "Help">><<toggleclass "#outfitEditorHelp" "hidden">><</link>> <div id="outfitEditorHelp" class="hidden"> All options change the settings the moment you change the option, however, they will only save or be updated in the passage only if you first change the passage (Leave the wardrobe or click on 'Update Wardrobe' at the bottom of this overlay). <br><br> Changing the clothing items may result in the colour settings being reset for that item. This is caused from going from an item with colour options to one that doesn't have any colour options. Just because you can change it to some item's doesn't mean you have access to every item. <br><br> Location is where the Outfit is unique to and will only show for that wardrobe. Please note, where it says 'No access', this is either based on the multiple wardrobe setting or may not be available till a later version of the game. In most cases the 'Orphanage' wardrobe will be shared when Multiple wardrobes is set to 'isolated only' or is disabled. <br><br> </div> <<if _outfitEditorFilter is undefined>> <<outfitEditorDefaultFilter>> <</if>> <<outfitEditorUpdateFilter>> <<set _subState to {}>> <div id="outfitEditorFilter" class="hidden"> <<outfitEditorFilter>> </div> <div id="outfitEditor"> <<outfitEditorList>> </div> <<link [[Update wardrobe|$passage]]>><</link>> <</widget>> <<widget "outfitEditorFilter">> <h4>Filter</h4> <label>Items Per Page: <<numberslider "$outfitEditorPerPage" $outfitEditorPerPage 5 20 1>></label> <br><br> Type: <label><<checkbox "_outfitEditorFilter.type.normal" false true autocheck>> Normal</label> | <label><<checkbox "_outfitEditorFilter.type.sleep" false true autocheck>> Sleep</label> | <label><<checkbox "_outfitEditorFilter.type.swim" false true autocheck>> Swim</label> | <label><<checkbox "_outfitEditorFilter.type.school" false true autocheck>> School (Only used by starter outfits, may be added later)</label> | <br><br> Location: <<for $_label, $_value range _outfitEditorFilter.location>> <<set $_name to $wardrobes[$_label] ? $wardrobes[$_label].name : $_label>> <<set $_var to "_outfitEditorFilter.location." + $_label>> <<capture $_var>> <label> <<checkbox $_var false true autocheck>> <<print $_name>> <<if (!$multipleWardrobes or ($multipleWardrobes is "isolated" and !$_value.isolated)) and $_label isnot "wardrobe">> (No access) <</if>> </label> | <</capture>> <</for>> <br><br> Colour Saved in Outfit: <label><<checkbox "_outfitEditorFilter.colors.notSaved" false true autocheck>> No</label> | <label><<checkbox "_outfitEditorFilter.colors.saved" false true autocheck>> Yes</label> | <br><br> <<link "Update Filter">> <<outfitEditorUpdateFilter>> <<replace "#outfitEditor">><<outfitEditorList>><</replace>> <</link>> | <<link "Reset Filter">> <<outfitEditorDefaultFilter>> <<outfitEditorPageSetup>> <<replace "#outfitEditorFilter">><<outfitEditorFilter>><</replace>> <<replace "#outfitEditor">><<outfitEditorList>><</replace>> <</link>> <br><br> <</widget>> <<widget "outfitEditorDefaultFilter">> <<if $outfitEditorPerPage is undefined>> <<set $outfitEditorPerPage to 10>> <</if>> <<set _outfitEditorFilter to { type:{ normal: true, sleep: true, swim: true, school: true, }, location:{ All: true, disabled: true, }, colors:{ notSaved: true, saved: true }, outfitIndex:[], }>> <<for $_label, $_value range $wardrobes>> <<if $_value.unlocked>> <<set _outfitEditorFilter.location[$_label] to true>> <</if>> <</for>> <<set _outfitEditorFilter.outfitIndex to []>> <<run $outfit.forEach((item, index) => {T.outfitEditorFilter.outfitIndex.push(index);})>> <</widget>> <<widget "outfitEditorUpdateFilter">> <<set _outfitEditorFilter.outfitIndex to []>> <<run $outfit.forEach((item, index) => { if(T.outfitEditorFilter.type[item.type[0]]){ if((T.outfitEditorFilter.location.All && item.type[0].location === undefined) || T.outfitEditorFilter.location[item.type[0].location]){ if((!item.colors && T.outfitEditorFilter.colors.notSaved) || (item.colors && T.outfitEditorFilter.colors.saved)){ T.outfitEditorFilter.outfitIndex.push(index); } } } })>> <<outfitEditorPageSetup>> <</widget>> <<widget "outfitEditorPageSetup">> <<set _outfitEditorPages to { page:1, perPage:$outfitEditorPerPage }>> <<set _outfitEditorPages.maxPages to Math.ceil(_outfitEditorFilter.outfitIndex.length / _outfitEditorPages.perPage)>> <</widget>> <<widget "outfitEditorList">> <<outfitEditorPageControls>> <div id="outfitEditorList"> <<set $_start to (_outfitEditorPages.page - 1) * _outfitEditorPages.perPage>> <<for $_i to $_start; $_i lt $_start + _outfitEditorPages.perPage; $_i++>> <<set _index to _outfitEditorFilter.outfitIndex[$_i]>> <<if !$outfit[_index]>> <<break>> <</if>> <div @id="'outfitItem-' + _index" class="outfitEditorItem"> <<outfitEditorItem _index>> </div> <</for>> </div> <<outfitEditorPageControls>> <</widget>> <<widget "outfitEditorPageControls">> <<if _outfitEditorPages.page gt 1>> <<link "Previous">> <<set _outfitEditorPages.page-->> <<replace "#outfitEditor">><<outfitEditorList>><</replace>> <</link>> | <<else>> Previous | <</if>> Page <<print _outfitEditorPages.page>>/<<print _outfitEditorPages.maxPages>> | <<if _outfitEditorPages.page lt _outfitEditorPages.maxPages and _outfitEditorPages.maxPages gt 1>> <<link "Next">> <<set _outfitEditorPages.page++>> <<replace "#outfitEditor">><<outfitEditorList>><</replace>> <</link>> <<else>> Next <</if>> <</widget>> <<widget "outfitEditorItem">> <<capture _args[0]>> <<set _subState[_args[0]] to "">> <div class="name"> <<set $_name to "$outfit["+_args[0]+"].name">> <label>Name: <<textbox $_name $outfit[_args[0]].name>></label> <!--Runs too many times for some reason, needs to be improved--> <<run $(() => { $('.outfitEditorItem .name .macro-textbox').on('input change', e => { let index = e.target.name.replace(/\D/g,''); V.outfit[index].name = V.outfit[index].name.replace(/[^a-zA-Z\u4e00-\u9fa5 0-9.!()]+/g,"").substr(0,30); }).trigger('input change') })>> </div> <div> <<set $_type to "$outfit["+_args[0]+"].type[0]">> <label> Type: <<listbox $_type autoselect>> <<option "Normal" "normal">> <<option "Sleep" "sleep">> <<option "Swim" "swim">> <<option "School" "school">> <</listbox>> </label> </div> <div> <<set $_location to "$outfit["+_args[0]+"].location">> <<set $_locations to {}>> <<for $_label, $_value range $wardrobes>> <<if $_value.unlocked>> <<set _warning to "">> <<if (!$multipleWardrobes or ($multipleWardrobes is "isolated" and !$_value.isolated)) and $_label isnot "wardrobe">> <<set _warning to " (No access)">> <</if>> <<set $_locations[$_value.name + _warning] to $_label>> <</if>> <</for>> <label> Location: <<listbox $_location autoselect>> <<option "All" undefined>> <<option "Disabled" "disabled">> <<optionsfrom $_locations>> <</listbox>> </label> </div> <div> Items: <<link "View">> <<set _subId to "#outfitItemSub-" + _args[0]>> <<if _subState[_args[0]] is "itemEdit">> <<set _subState[_args[0]] to "">> <<replace _subId>><</replace>> <<else>> <<set _subState[_args[0]] to "itemEdit">> <<replace _subId>><<outfitEditorItemClothes _args[0]>><</replace>> <</if>> <</link>> </div> <div> Colours: <<print $outfit[_args[0]].colors ? "Enabled" : "Disabled">> | <<if $outfit[_args[0]].colors>> <<link "Disable">> <<set $outfit[_args[0]].colors to false>> <<set _id to "#outfitItem-" + _args[0]>> <<replace `_id`>><<outfitEditorItem _args[0]>><</replace>> <</link>> | <<link "Edit">> <<set _subId to "#outfitItemSub-" + _args[0]>> <<if _subState[_args[0]] is "colourView">> <<set _subState[_args[0]] to "">> <<replace _subId>><</replace>> <<else>> <<set _subState[_args[0]] to "colourView">> <<replace _subId>><<outfitEditorItemColour _args[0]>><</replace>> <</if>> <</link>> <<else>> <<link "Enable">> <<set $outfit[_args[0]].colors to {}>> <<set _outfitIndex to _args[0]>> <<for _label, _value range setup.clothes>> <<set _item to setup.clothes[_label].filter((item) => item.name === $outfit[_outfitIndex][_label])[0]>> <<set _colors to [0,0]>> <<if _item>> <<if _item.colour_options.length gt 0>> <<set _colors[0] to _item.colour_options[0]>> <</if>> <<if _item.accessory_colour_options.length gt 0>> <<set _colors[1] to _item.accessory_colour_options[0]>> <</if>> <</if>> <<set $outfit[_args[0]].colors[_label] to clone(_colors)>> <</for>> <<set _id to "#outfitItem-" + _args[0]>> <<replace `_id`>><<outfitEditorItem _args[0]>><</replace>> <</link>> <</if>> </div> <<if $savedHairStyles>> <div> <<set _savedHairStylesKeys to Object.keys($savedHairStyles)>> Hair Style: <<set $_hairStyle to "$outfit["+_args[0]+"].hairStyle">> <<listbox $_hairStyle autoselect>> <<option "Not set" undefined>> <<optionsfrom _savedHairStylesKeys>> <</listbox>> </div> <<else>> <div> Hair Style: No sets saved (Check mirror) </div> <</if>> <div @id="'outfitItemSub-' + _args[0]"></div> <</capture>> <</widget>> <<widget "outfitEditorItemClothes">> <<capture _args[0]>> <<for $_label, $_value range setup.clothes>> <<set $_itemName to $outfit[_args[0]][$_label]>> <<if $_itemName and !setup.clothingLayer.over.includes($_label)>> <label class="outfitEditorItemClothes"> <<set $_options to []>> <<for $_value2 range $_value>> <<run $_options.push($_value2.name)>> <</for>> <<print $_label>> - <<set $_var to "$outfit[" + _args[0] + "]['" + $_label + "']">> <<listbox `$_var` autoselect>> <<optionsfrom $_options>> <</listbox>> <!--Runs too many times for some reason, needs to be improved--> <<run $(() => { $('.outfitEditorItemClothes select').on('input change', e => { let outfitIndex = e.target.name.replace(/\D/g,''); if(!V.outfit[outfitIndex].colors) return; let target = e.target.name.match(/[a-zA-Z]+/g); let slot = target[2] + (target[3] !== undefined ? '_' + target[3] : ''); let item = setup.clothes[slot].filter((item) => item.name === V.outfit[outfitIndex][slot])[0]; if(item !== undefined){ if(item.colour_options.length > 0 && V.outfit[outfitIndex].colors[slot][0] === 0){ V.outfit[outfitIndex].colors[slot][0] = item.colour_options[0]; } else if(item.colour_options.length === 0 && V.outfit[outfitIndex].colors[slot][0] !== 0) { V.outfit[outfitIndex].colors[slot][0] = 0; } if(item.accessory_colour_options.length > 0 && V.outfit[outfitIndex].colors[slot][1] === 0){ V.outfit[outfitIndex].colors[slot][0] = item.accessory_colour_options[0]; } else if(item.accessory_colour_options.length === 0 && V.outfit[outfitIndex].colors[slot][1] !== 0) { V.outfit[outfitIndex].colors[slot][1] = 0; } } }).trigger('input change') })>> </label> <br> <</if>> <</for>> <</capture>> <</widget>> <<widget "outfitEditorItemColour">> <<capture _args[0]>> <<for $_label, $_value range setup.clothes>> <<set _colourLabel to $_label>> <<set _colourOutfit to _args[0]>> <<set $_item to setup.clothes[$_label].filter((item) => item.name === $outfit[_colourOutfit][_colourLabel])[0]>> <<if $_item>> <<if $_item.colour_options.length gt 0 or $_item.accessory_colour_options.length gt 0>> <<print $_label>> - <<print $_item.name>>: <<if $_item.colour_options.length gt 0>> <<set $_colour_options to "$outfit["+_args[0]+"].colors['"+$_label+"'][0]">> <<listbox `$_colour_options` autoselect>> <<optionsfrom $_item.colour_options>> <<option "random">> <</listbox>> <</if>> <<if $_item.accessory_colour_options.length gt 0>> <<set $_accessory_colour_options to "$outfit["+_args[0]+"].colors['"+$_label+"'][1]">> <<listbox `$_accessory_colour_options` autoselect>> <<optionsfrom $_item.accessory_colour_options>> <<option "random">> <</listbox>> <</if>> <br> <</if>> <</if>> <</for>> <</capture>> <</widget>><<widget "dancestripeffects">> <<outfitChecks>> <<switch $danceaction>> <<case "stripOverOutfit">> <<if $worn.upper.name isnot "naked" and $worn.lower.name isnot "naked">> You gracefully remove your $worn.over_upper.name, exposing your <<outfit>>. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 3>><<set $audienceexcitement += 3>><<set $audiencemod += 1>><<arousal 100>><<overupperstrip>><<exhibitionism1>> <<elseif $worn.upper.name isnot "naked">> <<if !$worn.under_lower.type.includes("naked")>> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_lower.name. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<overupperstrip>><<exhibitionism3>> <<else>> You gracefully remove your $worn.over_upper.name, exposing your <<genitals 1>>. <<if $worn.upper.type.includes("naked")>> You shiver with excitement, your body laid totally bare. <<else>> Your <<allTops>> makes your naked lower half feel particularly conspicuous. <</if>> <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<overupperstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<elseif $worn.lower.name isnot "naked">> <<if !$worn.under_upper.type.includes("naked")>> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_upper.name. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<overupperstrip>><<exhibitionism3>> <<else>> <<if $player.breastsize gte 3>> You gracefully remove your $worn.over_upper.name, exposing your $worn.lower.name and <<breasts>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<overupperstrip>><<exhibitionism4>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<if $player.sex is "m">> You gracefully remove your $worn.over_upper.name, exposing your $worn.lower.name and <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.over_upper.name, exposing your $worn.lower.name and <<breasts>>. You feel your nipples harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<overupperstrip>><<exhibitionism4>> <<else>> You gracefully remove your $worn.over_upper.name, exposing your $worn.lower.name and <<breasts>>. You feel your nipples harden in response to being revealed. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<overupperstrip>><<exhibitionism3>> <</if>> <</if>> <<else>> <<if !$worn.under_upper.type.includes("naked") and !$worn.under_lower.type.includes("naked")>> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_upper.name and $worn.under_lower.name. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<overupperstrip>><<exhibitionism3>> <<elseif !$worn.under_lower.type.includes("naked")>> <<if $player.breastsize gte 3>> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_lower.name and <<breasts>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<overupperstrip>><<exhibitionism4>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<if $player.sex is "m">> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_lower.name and <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_lower.name and <<breasts>>. You feel your nipples harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<overupperstrip>><<exhibitionism4>> <<else>> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_lower.name and <<breasts>>. You feel your nipples harden in response to being revealed. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<overupperstrip>><<exhibitionism3>> <</if>> <<elseif !$worn.under_upper.type.includes("naked")>> You gracefully remove your $worn.over_upper.name, exposing your <<genitals 1>>. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<overupperstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <<else>> You gracefully remove your $worn.over_upper.name, exposing your <<genitals 1>>. You shiver with excitement, your body laid totally bare. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<overupperstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <</if>> <<set $danceaction to 0>> <<case "stripOverUpper">> <<if $worn.upper.name isnot "naked">> You gracefully remove your $worn.over_upper.name, exposing your $worn.upper.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 3>><<set $audienceexcitement += 3>><<set $audiencemod += 1>><<arousal 100>><<overupperstrip>><<exhibitionism1>> <<elseif !$worn.under_upper.type.includes("naked")>> You gracefully remove your $worn.over_upper.name, exposing your $worn.under_upper.name. Only one garment protects your chest from the hungry eyes surrounding you. <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 100>><<overupperstrip>><<exhibitionism1>> <<else>> <<if $player.breastsize gte 3>> You gracefully remove your $worn.over_upper.name, exposing your <<breasts>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<overupperstrip>><<exhibitionism4>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<if $player.sex is "m">> You gracefully remove your $worn.over_upper.name, exposing your <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.over_upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<overupperstrip>><<exhibitionism4>> <<else>> You gracefully remove your $worn.over_upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 300>><<overupperstrip>><<exhibitionism1>> <</if>> <</if>> <<set $danceaction to 0>> <<case "stripOverLower">> <<if $worn.lower.name isnot "naked">> You gracefully remove your $worn.over_lower.name, exposing your $worn.lower.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 3>><<set $audienceexcitement += 3>><<set $audiencemod += 1>><<arousal 100>><<overlowerstrip>><<exhibitionism1>> <<elseif !$worn.under_lower.type.includes("naked")>> You gracefully remove your $worn.over_lower.name, exposing your $worn.under_lower.name. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<overlowerstrip>><<exhibitionism3>> <<else>> You gracefully remove your $worn.over_lower.name, exposing your <<genitals 1>>. <<if $worn.upper.type.includes("naked") or $worn.over_upper.type.includes("naked")>> You shiver with excitement, your body laid totally bare. <<else>> Your <<allTops>> makes your naked lower half feel particularly conspicuous. <</if>> <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<overlowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<set $danceaction to 0>> <<case "stripOutfit">> <<if !$worn.under_upper.type.includes("naked") and !$worn.under_lower.type.includes("naked")>> <<if $player.breastsize gte 3 or $player.gender_appearance isnot "m">> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Being seen in your underwear excites you. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 500>><<exhibitionism4>> <<else>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Being seen in your underwear excites you. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<exhibitionism3>> <</if>> <<elseif !$worn.under_lower.type.includes("naked")>> <<if $player.breastsize gte 3>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<exhibitionism4>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<if $player.sex is "m">> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. You feel your <<nipples>> harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<exhibitionism4>> <<else>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<exhibitionism3>> <</if>> <<else>> You gracefully remove your $worn.upper.name, exposing your nude form. You shiver with excitement, your <<genitals 1>> laid totally bare. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<upperstrip>><<lowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<set $danceaction to 0>> <<case "stripUpper">> <<if !$worn.under_upper.type.includes("naked")>> <<if $player.breastsize gte 3 or $player.gender_appearance isnot "m">> You gracefully remove your $worn.upper.name, exposing your $worn.under_upper.name. Only one garment protects your chest from the hungry eyes surrounding you. <<set $audiencearousal += 4>><<set $audienceexcitement += 4>><<set $audiencemod += 2>><<arousal 200>><<upperstrip>><<exhibitionism3>> <<else>> You gracefully remove your $worn.upper.name, exposing your $worn.under_upper.name. Only one garment protects your chest from the hungry eyes surrounding you. <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 100>><<upperstrip>><<exhibitionism1>> <</if>> <<else>> <<if $player.breastsize gte 3>> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<upperstrip>><<exhibitionism4>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<if $player.sex is "m">> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<upperstrip>><<exhibitionism4>> <<else>> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 300>><<upperstrip>><<exhibitionism1>> <</if>> <</if>> <<set $danceaction to 0>> <<case "stripLower">> <<if $worn.over_lower.name isnot "naked">> You gracefully remove your $worn.lower.name from below your $worn.over_lower.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 3>><<set $audienceexcitement += 3>><<set $audiencemod += 1>><<arousal 100>><<lowerstrip>><<exhibitionism1>> <<elseif !$worn.under_lower.type.includes("naked")>> You gracefully remove your $worn.lower.name, exposing your $worn.under_lower.name. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<lowerstrip>><<exhibitionism3>> <<else>> You gracefully remove your $worn.lower.name, exposing your <<genitals 1>>. <<if $worn.upper.type.includes("naked") or $worn.over_upper.type.includes("naked")>> You shiver with excitement, your body laid totally bare. <<else>> Your <<allTops>> makes your naked lower half feel particularly conspicuous. <</if>> <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<lowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<set $danceaction to 0>> <<case "stripUnderOutfit">> You gracefully remove your $worn.under_upper.name, exposing your <<genitals 1>>. You shiver with excitement, now laid totally bare. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <<set $danceaction to 0>> <<case "stripUnderUpper">> <<if (!$worn.upper.type.includes("naked") and $worn.upper.open is 1) and $worn.over_upper.type.includes("naked")>> You gracefully remove your $worn.under_upper.name from beneath your $worn.upper.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 3>><<set $audienceexcitement += 3>><<set $audiencemod += 1>><<arousal 100>><<underupperstrip>><<exhibitionism1>> <<elseif $player.breastsize gte 3>> You gracefully remove your $worn.under_upper.name, <<if $worn.under_upper.type.includes("naked")>>despite them not concealing your <<breasts>> at all.<<else>>exposing your <<breasts>>. The exhibition of your breasts makes them feel raw and sensitive.<</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism4>> <<elseif $player.gender_appearance isnot "m" and $worn.under_lower.gender isnot "m">> <<set $danceaction to 0>> <<if $player.sex is "m">> You gracefully remove your $worn.under_upper.name, <<if $worn.under_upper.type.includes("naked")>>despite them not concealing your <<breasts>> at all, you feel more exposed.<<else>>exposing your <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd.<</if>> <<else>> You gracefully remove your $worn.under_upper.name, <<if $worn.under_upper.type.includes("naked")>>despite them not concealing your <<breasts>> at all, you feel more exposed.<<else>>exposing your <<breasts>>. You feel your nipples harden in response to being revealed.<</if>> <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism4>> <<else>> You gracefully remove your $worn.under_upper.name, <<if $worn.under_upper.type.includes("naked")>>despite them not concealing your <<breasts>> at all, you feel more exposed.<<else>>exposing your <<breasts>>. You feel your nipples harden in response to being revealed.<</if>> <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 300>><<underupperstrip>><<exhibitionism1>> <</if>> <<set $danceaction to 0>> <<case "stripUnderLower">> <<if $worn.under_lower.type.includes("naked")>> <<if (!$worn.lower.type.includes("naked") or !$worn.over_lower.type.includes("naked"))>> You gracefully remove your $worn.under_lower.name from beneath your <<allBottoms>>. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<else>> You gracefully remove your $worn.under_lower.name, despite having your <<genitals 1>> exposed already. <</if>> <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<underlowerstrip>><<exhibitionism3>> <<elseif !$worn.lower.type.includes("naked") or !$worn.over_lower.type.includes("naked")>> You gracefully remove your $worn.under_lower.name from beneath your <<allBottoms>>. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<underlowerstrip>><<exhibitionism3>> <<else>> You gracefully remove your $worn.under_lower.name, exposing your <<genitals 1>>. You shiver with excitement, your body laid totally bare. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<underlowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<set $danceaction to 0>> <</switch>> <!--Old clothing actions below, to be removed at a later date--> <<if $danceaction is "outfitstripbreasts">><<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<exhibitionism4>> <</if>> <<if $danceaction is "outfitstripchest">><<set $danceaction to 0>> <<if $player.sex is "m">> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. You feel your <<nipples>> harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<exhibitionism4>> <</if>> <<if $danceaction is "outfitstripunderbreasts">><<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Being seen in your underwear excites you. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 500>><<exhibitionism4>> <</if>> <<if $danceaction is "outfitstripunderchest">><<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Being seen in your underwear excites you. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<exhibitionism3>> <</if>> <<if $danceaction is "outfitstripunder">> <<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your <<upperstrip>><<lowerstrip>><<underoutfit>>. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<exhibitionism3>> <</if>> <<if $danceaction is "outfitstripnude">> <<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your nude form. You shiver with excitement, your <<genitals 1>> laid totally bare. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<upperstrip>><<lowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<if $danceaction is "upperstripbreasts">> <<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<upperstrip>><<exhibitionism4>> <</if>> <<if $danceaction is "upperstripunderbreasts">> <<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your $worn.under_upper.name. Only one garment protects your chest from the hungry eyes surrounding you. <<set $audiencearousal += 4>><<set $audienceexcitement += 4>><<set $audiencemod += 2>><<arousal 200>><<upperstrip>><<exhibitionism2>> <</if>> <<if $danceaction is "upperstripunderchest">> <<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your $worn.under_upper.name. Only one garment protects your chest from the hungry eyes surrounding you. <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 100>><<upperstrip>><<exhibitionism1>> <</if>> <<if $danceaction is "upperstripfchest">> <<set $danceaction to 0>> <<if $player.sex is "m">> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<upperstrip>><<exhibitionism4>> <</if>> <<if $danceaction is "upperstripmchest">> <<set $danceaction to 0>> You gracefully remove your $worn.upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 300>><<upperstrip>><<exhibitionism1>> <</if>> <<if $danceaction is "underoutfitstripbreasts">> <<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. The exhibition makes you feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism4>> <</if>> <<if $danceaction is "underoutfitstripchest">> <<set $danceaction to 0>> <<if $player.sex is "m">> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. You feel your buds harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism4>> <</if>> <<if $danceaction is "underoutfitstripunder">> <<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<underupperstrip>><<exhibitionism3>> <</if>> <<if $danceaction is "underoutfitstripnude">> <<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name, exposing your nude form. You shiver with excitement, your <<genitals 1>> laid totally bare. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<underupperstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<if $danceaction is "underoutfitstriptop">> <<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name, exposing your <<genitals 1>>. You shiver with excitement, now laid totally bare. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<if $danceaction is "underupperstripbreasts">> <<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. The exhibition of your breasts makes them feel raw and sensitive. <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism4>> <</if>> <<if $danceaction is "underupperstripfchest">> <<set $danceaction to 0>> <<if $player.sex is "m">> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. Your feminine countenance makes your revealed chest feel especially lewd. <<else>> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <</if>> <<set $audiencearousal += 8>><<set $audienceexcitement += 8>><<set $audiencemod += 3>><<arousal 300>><<underupperstrip>><<exhibitionism4>> <</if>> <<if $danceaction is "underupperstripmchest">> <<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name, exposing your <<breasts>>. You feel your nipples harden in response to being revealed. <<set $audiencearousal += 2>><<set $audienceexcitement += 2>><<set $audiencemod += 1>><<arousal 300>><<underupperstrip>><<exhibitionism1>> <</if>> <<if $danceaction is "lowerstripunder">><<set $danceaction to 0>> You gracefully remove your $worn.lower.name, exposing your $worn.under_lower.name. Being seen in your underwear excites you. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<lowerstrip>><<exhibitionism3>> <</if>> <<if $danceaction is "lowerstripnude">><<set $danceaction to 0>> You gracefully remove your $worn.lower.name, exposing your <<genitals 1>>. <<if $worn.upper.type.includes("naked")>> You shiver with excitement, your body laid totally bare. <<else>> Your $worn.upper.name makes your naked lower half feel particularly conspicuous. <</if>> <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<lowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<if $danceaction is "underupperstripopen">><<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name from beneath your $worn.upper.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 3>><<set $audienceexcitement += 3>><<set $audiencemod += 1>><<arousal 100>><<underupperstrip>><<exhibitionism1>> <</if>> <<if $danceaction is "underoutfitstripopen">><<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name from beneath your $worn.upper.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 9>><<set $audienceexcitement += 9>><<set $audiencemod += 3>><<arousal 500>><<underupperstrip>><<exhibitionism3>> <</if>> <<if $danceaction is "understripskirt">><<set $danceaction to 0>> You gracefully remove your $worn.under_lower.name from beneath your $worn.lower.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 6>><<set $audienceexcitement += 6>><<set $audiencemod += 2>><<arousal 300>><<underlowerstrip>><<exhibitionism3>> <</if>> <<if $danceaction is "underoutfitstripskirt">><<set $danceaction to 0>> You gracefully remove your $worn.under_upper.name from beneath your $worn.upper.name. You're careful not to give too much away, but such a lewd gesture thrills you nonetheless. <<set $audiencearousal += 9>><<set $audienceexcitement += 9>><<set $audiencemod += 3>><<arousal 500>><<underlowerstrip>><<exhibitionism3>> <</if>> <<if $danceaction is "understripnude">><<set $danceaction to 0>> You gracefully remove your $worn.under_lower.name, exposing your <<genitals 1>>. You shiver with excitement, your body laid totally bare. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<underlowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <<if $danceaction is "understripclothed">><<set $danceaction to 0>> You gracefully remove your $worn.under_lower.name, exposing your <<genitals 1>>. You shiver with excitement, your body laid totally bare. <<set $audiencearousal += 10>><<set $audienceexcitement += 10>><<set $audiencemod += 4>><<arousal 300>><<underlowerstrip>><<exhibitionism5>> <<dance_crossdress_reveal>> <</if>> <</widget>> <<widget "danceStripActionObject">> <<set _danceExhibition to { "overOutfit":null, "over_upper":null, "over_lower":null, "middleOutfit":null, "upper":null, "lower":null, "underOutfit":null, "under_upper":null, "under_lower":null, }>> <<set _exhibitionObject to { 1:[1,0], 2:[2,15], 3:[3,35], 4:[4,55], 5:[5,75] }>> <<if _overOutfit>> <<if $worn.upper.name isnot "naked" and $worn.lower.name isnot "naked">> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[1])>> <<elseif $worn.upper.name isnot "naked">> <<if !$worn.under_lower.type.includes("naked")>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[3])>> <<else>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[5])>> <</if>> <<elseif $worn.lower.name isnot "naked">> <<if !$worn.under_upper.type.includes("naked")>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[3])>> <<else>> <<if $player.breastsize gte 3>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[4])>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[4])>> <<else>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[3])>> <</if>> <</if>> <<else>> <<if !$worn.under_upper.type.includes("naked") and !$worn.under_lower.type.includes("naked")>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[3])>> <<elseif $worn.under_lower.name isnot "naked">> <<if $player.breastsize gte 3>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[4])>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[4])>> <<else>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[3])>> <</if>> <<elseif !$worn.under_upper.type.includes("naked")>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[5])>> <<else>> <<set _danceExhibition.overOutfit to clone(_exhibitionObject[5])>> <</if>> <</if>> <<elseif _overOutfit is false>> <<if !$worn.over_upper.type.includes("naked")>> <<if $worn.upper.name isnot "naked">> <<set _danceExhibition.over_upper to clone(_exhibitionObject[1])>> <<elseif !$worn.under_upper.type.includes("naked")>> <<set _danceExhibition.over_upper to clone(_exhibitionObject[3])>> <<else>> <<if $player.breastsize gte 3>> <<set _danceExhibition.over_upper to clone(_exhibitionObject[4])>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<set _danceExhibition.over_upper to clone(_exhibitionObject[4])>> <<else>> <<set _danceExhibition.over_upper to clone(_exhibitionObject[1])>> <</if>> <</if>> <</if>> <<if !$worn.over_lower.type.includes("naked")>> <<if $worn.lower.name isnot "naked">> <<set _danceExhibition.over_lower to clone(_exhibitionObject[1])>> <<elseif !$worn.under_lower.type.includes("naked")>> <<set _danceExhibition.over_lower to clone(_exhibitionObject[3])>> <<else>> <<set _danceExhibition.over_lower to clone(_exhibitionObject[5])>> <</if>> <</if>> <</if>> <<if _middleOutfit and $worn.over_upper.type.includes("naked") and $worn.over_lower.type.includes("naked")>> <<if !$worn.under_upper.type.includes("naked") and !$worn.under_lower.type.includes("naked")>> <<if $player.breastsize gte 3 or $player.gender_appearance isnot "m">> <<set _danceExhibition.middleOutfit to clone(_exhibitionObject[4])>> <<else>> <<set _danceExhibition.middleOutfit to clone(_exhibitionObject[3])>> <</if>> <<elseif !$worn.under_lower.type.includes("naked")>> <<if $player.breastsize gte 3>> <<set _danceExhibition.middleOutfit to clone(_exhibitionObject[4])>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<set _danceExhibition.middleOutfit to clone(_exhibitionObject[4])>> <<else>> <<set _danceExhibition.middleOutfit to clone(_exhibitionObject[4])>> <</if>> <<else>> <<set _danceExhibition.middleOutfit to clone(_exhibitionObject[5])>> <</if>> <<elseif _middleOutfit is false>> <<if !$worn.upper.type.includes("naked") and $worn.over_upper.type.includes("naked")>> <<if !$worn.under_upper.type.includes("naked")>> <<if $player.breastsize gte 3 or $player.gender_appearance isnot "m">> <<set _danceExhibition.upper to clone(_exhibitionObject[3])>> <<else>> <<set _danceExhibition.upper to clone(_exhibitionObject[1])>> <</if>> <<else>> <<if $player.breastsize gte 3>> <<set _danceExhibition.upper to clone(_exhibitionObject[4])>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<set _danceExhibition.upper to clone(_exhibitionObject[4])>> <<else>> <<set _danceExhibition.upper to clone(_exhibitionObject[1])>> <</if>> <</if>> <</if>> <<if !$worn.lower.type.includes("naked") and ($worn.over_lower.type.includes("naked") or setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1)>> <<if $worn.over_lower.name isnot "naked">> <<set _danceExhibition.lower to clone(_exhibitionObject[3])>> <<elseif !$worn.under_lower.type.includes("naked")>> <<set _danceExhibition.lower to clone(_exhibitionObject[3])>> <<else>> <<set _danceExhibition.lower to clone(_exhibitionObject[5])>> <</if>> <</if>> <</if>> <<if _underOutfit and $worn.over_upper.type.includes("naked") and $worn.over_lower.type.includes("naked") and $worn.upper.type.includes("naked") and $worn.lower.type.includes("naked")>> <<set _danceExhibition.underOutfit to clone(_exhibitionObject[5])>> <<elseif _underOutfit is false>> <<if $worn.under_upper.name isnot "naked" and $worn.over_upper.type.includes("naked")>> <<if (!$worn.upper.type.includes("naked") and $worn.upper.open is 1) and $worn.over_upper.type.includes("naked")>> <<set _danceExhibition.under_upper to clone(_exhibitionObject[1])>> <<elseif $player.breastsize gte 3>> <<set _danceExhibition.under_upper to clone(_exhibitionObject[4])>> <<elseif $player.gender_appearance isnot "m" and $worn.under_lower.gender isnot "m">> <<set _danceExhibition.under_upper to clone(_exhibitionObject[4])>> <<else>> <<set _danceExhibition.under_upper to clone(_exhibitionObject[1])>> <</if>> <</if>> <<if $worn.under_lower.name isnot "naked" and ((setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 or $worn.over_lower.type.includes("naked")) and (setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")))>> <<if $worn.under_lower.type.includes("naked")>> <<set _danceExhibition.under_lower to clone(_exhibitionObject[3])>> <<elseif !$worn.lower.type.includes("naked") or !$worn.over_lower.type.includes("naked")>> <<set _danceExhibition.under_lower to clone(_exhibitionObject[3])>> <<else>> <<set _danceExhibition.under_lower to clone(_exhibitionObject[5])>> <</if>> <</if>> <</if>> <</widget>> <<widget "dancestripactions">> <<outfitChecks>> <<danceStripActionObject>> <br><br> <<if _danceExhibition isnot undefined>> <<if _danceExhibition.overOutfit isnot null>> <<if $exhibitionism gte _danceExhibition.overOutfit[1]>> <label> <span class="meek">Strip $worn.over_upper.name</span> <<print '<<combatexhibitionist'+_danceExhibition.overOutfit[0]+'>>'>> <<radiobutton "$danceaction" "stripOverOutfit">> </label> | <</if>> <</if>> <<if _danceExhibition.over_upper isnot null>> <<if $exhibitionism gte _danceExhibition.over_upper[1]>> <label> <span class="meek">Strip $worn.over_upper.name</span> <<print '<<combatexhibitionist'+_danceExhibition.over_upper[0]+'>>'>> <<radiobutton "$danceaction" "stripOverUpper">> </label> | <</if>> <</if>> <<if _danceExhibition.over_lower isnot null>> <<if $exhibitionism gte _danceExhibition.over_lower[1]>> <label> <span class="meek">Strip $worn.over_lower.name</span> <<print '<<combatexhibitionist'+_danceExhibition.over_lower[0]+'>>'>> <<radiobutton "$danceaction" "stripOverLower">> </label> | <</if>> <</if>> <<if _danceExhibition.middleOutfit isnot null and $worn.upper.cursed isnot 1>> <<if $exhibitionism gte _danceExhibition.middleOutfit[1]>> <label> <span class="meek">Strip $worn.upper.name</span> <<print '<<combatexhibitionist'+_danceExhibition.middleOutfit[0]+'>>'>> <<radiobutton "$danceaction" "stripOutfit">> </label> | <</if>> <</if>> <<if _danceExhibition.upper isnot null and $worn.upper.cursed isnot 1>> <<if $exhibitionism gte _danceExhibition.upper[1]>> <label> <span class="meek">Strip $worn.upper.name</span> <<print '<<combatexhibitionist'+_danceExhibition.upper[0]+'>>'>> <<radiobutton "$danceaction" "stripUpper">> </label> | <</if>> <</if>> <<if _danceExhibition.lower isnot null and $worn.lower.cursed isnot 1>> <<if $exhibitionism gte _danceExhibition.lower[1]>> <label> <span class="meek">Strip $worn.lower.name</span> <<print '<<combatexhibitionist'+_danceExhibition.lower[0]+'>>'>> <<radiobutton "$danceaction" "stripLower">> </label> | <</if>> <</if>> <<if _danceExhibition.underOutfit isnot null>> <<if $exhibitionism gte _danceExhibition.underOutfit[1]>> <label> <span class="meek">Strip $worn.under_upper.name</span> <<print '<<combatexhibitionist'+_danceExhibition.underOutfit[0]+'>>'>> <<radiobutton "$danceaction" "stripUnderOutfit">> </label> | <</if>> <</if>> <<if _danceExhibition.under_upper isnot null>> <<if $exhibitionism gte _danceExhibition.under_upper[1]>> <label> <span class="meek">Strip $worn.under_upper.name</span> <<print '<<combatexhibitionist'+_danceExhibition.under_upper[0]+'>>'>> <<radiobutton "$danceaction" "stripUnderUpper">> </label> | <</if>> <</if>> <<if _danceExhibition.under_lower isnot null>> <<if $exhibitionism gte _danceExhibition.under_lower[1]>> <label> <span class="meek">Strip $worn.under_lower.name</span> <<print '<<combatexhibitionist'+_danceExhibition.under_lower[0]+'>>'>> <<radiobutton "$danceaction" "stripUnderLower">> </label> | <</if>> <</if>> <</if>> <<if $debug is 1>> <br><br> Old Clothing Controls <br><br> <<if _middleOutfit>> <<if !$worn.under_lower.type.includes("naked")>> <<if !$worn.under_upper.type.includes("naked")>> <<if $player.breastsize gte 3 or $player.gender_appearance isnot "m">> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "outfitstripunderbreasts">></label> | <</if>> <<else>> <<if hasSexStat("exhibitionism", 3)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist3>> <<radiobutton "$danceaction" "outfitstripunderchest">></label> | <</if>> <</if>> <<else>> <<if $player.breastsize gte 3>> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "outfitstripbreasts">></label> | <</if>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "outfitstripchest">></label> | <</if>> <<else>> <<if hasSexStat("exhibitionism", 3)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist3>> <<radiobutton "$danceaction" "outfitstripunder">></label> | <</if>> <</if>> <</if>> <<else>> <<if hasSexStat("exhibitionism", 5)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist5>> <<radiobutton "$danceaction" "outfitstripnude">></label> | <</if>> <</if>> <</if>> <<if !$worn.upper.type.includes("naked") and _middleOutfit is false>> <<if !$worn.under_upper.type.includes("naked")>> <<if $player.breastsize gte 3 or $player.gender_appearance isnot "m">> <<if hasSexStat("exhibitionism", 2)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist2>> <<radiobutton "$danceaction" "upperstripunderbreasts">></label> | <</if>> <<else>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist1>> <<radiobutton "$danceaction" "upperstripunderchest">></label> | <</if>> <<else>> <<if $player.breastsize gte 3>> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "upperstripbreasts">></label> | <</if>> <<elseif $player.gender_appearance isnot "m" and $worn.lower.gender isnot "m">> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "upperstripfchest">></label> | <</if>> <<else>> <label><span class="meek">Strip $worn.upper.name</span> <<combatexhibitionist1>> <<radiobutton "$danceaction" "upperstripmchest">></label> | <</if>> <</if>> <</if>> <<if !$worn.lower.type.includes("naked") and _middleOutfit is false>> <<if !$worn.under_lower.type.includes("naked")>> <<if hasSexStat("exhibitionism", 3)>> <label><span class="meek">Strip $worn.lower.name</span> <<combatexhibitionist3>> <<radiobutton "$danceaction" "lowerstripunder">></label> | <</if>> <<else>> <<if hasSexStat("exhibitionism", 5)>> <label><span class="meek">Strip $worn.lower.name</span> <<combatexhibitionist5>> <<radiobutton "$danceaction" "lowerstripnude">></label> | <</if>> <</if>> <</if>> <<if _underOutfit>> <<if !$worn.lower.type.includes("naked") and !$worn.upper.type.includes("naked")>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if hasSexStat("exhibitionism", 3)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist3>> <<radiobutton "$danceaction" "underoutfitstripskirt">></label> | <</if>> <<elseif $worn.upper.open is 1>> <<if hasSexStat("exhibitionism", 3)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist3>> <<radiobutton "$danceaction" "underoutfitstripopen">></label> | <</if>> <</if>> <<elseif !$worn.lower.type.includes("naked")>> <<if $player.breastsize gte 3>> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "underoutfitstripbreasts">></label> | <</if>> <<elseif $player.gender_appearance isnot "m" and $worn.under_lower.gender isnot "m">> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "underoutfitstripchest">></label> | <</if>> <<else>> <<if hasSexStat("exhibitionism", 3)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist3>> <<radiobutton "$danceaction" "underoutfitstripunder">></label> | <</if>> <</if>> <<else>> <<if hasSexStat("exhibitionism", 5)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist5>> <<radiobutton "$danceaction" "underoutfitstripnude">></label> | <</if>> <</if>> <</if>> <<if !$worn.under_upper.type.includes("naked") and _underOutfit is false>> <<if !$worn.upper.type.includes("naked") and $worn.upper.open is 1>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist1>> <<radiobutton "$danceaction" "underupperstripopen">></label> | <<elseif $player.breastsize gte 3>> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "underupperstripbreasts">></label> | <</if>> <<elseif $player.gender_appearance isnot "m" and $worn.under_lower.gender isnot "m">> <<if hasSexStat("exhibitionism", 4)>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist4>> <<radiobutton "$danceaction" "underupperstripfchest">></label> | <</if>> <<else>> <label><span class="meek">Strip $worn.under_upper.name</span> <<combatexhibitionist1>> <<radiobutton "$danceaction" "underupperstripmchest">></label> | <</if>> <</if>> <<if !$worn.under_lower.type.includes("naked") and _underOutfit is false>> <<if !$worn.lower.type.includes("naked") and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if hasSexStat("exhibitionism", 3)>> <label><span class="meek">Strip $worn.under_lower.name</span> <<combatexhibitionist3>> <<radiobutton "$danceaction" "understripskirt">></label> | <</if>> <<elseif $worn.lower.type.includes("naked")>> <<if hasSexStat("exhibitionism", 5)>> <label><span class="meek">Strip $worn.under_lower.name</span> <<combatexhibitionist5>> <<radiobutton "$danceaction" "understripnude">></label> | <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "dance_stage_cum">> <<if $dance_stage_cum is undefined>> <<set $dance_stage_cum to 0>> <</if>> <<if _args[0]>> <<set $dance_stage_cum += _args[0]>> <</if>> <</widget>> <<widget "dance_private_init">> <<if $dance_place isnot 0>> <<saveNPC $dance_place chosen_npc>> <<saveNPC 0 zero_npc>> <<clearsinglenpc $dance_place>> <<clearsinglenpc 0>> <<loadNPC 0 chosen_npc>> <<loadNPC $dance_place zero_npc>> <<clearNPC zero_npc>> <<clearNPC chosen_npc>> <</if>> <<set $enemyno to 1>> <<unset $corruptionDancing>> <<set $phase to 0>> <<person1>> <</widget>><<widget "img">> <<if !_thermoDisable>> <<thermometer>> <</if>> <div id="imgInv"> <<if $condoms>> <div><<condomsSidebar>></div> <<else>> <div></div> <</if>> <<if $spraymax>> <div><<peppersprays>></div> <</if>> </div> <div id="img"> <<canvasimg "mainCanvas">> </div> <div id="characterTooltip"></div> <</widget>><<widget "baseClothingStrings">> <<set _worn = $worn[_args[0]]>> <<set _class to 'anim-idle-2f' + (_worn.colour_sidebar and typeof(_worn.colour) == "string" ? ' clothes-'+_worn.colour.replace(/ /g, '-'):'')>> <<set _classAcc to 'anim-idle-2f ' + (_worn.accessory_colour_sidebar and typeof(_worn.accessory_colour) == "string" ? ' clothes-'+_worn.accessory_colour.replace(/ /g, '-') :'')>> <<set _style to (_worn.colourCustom ? _worn.colourCustom :'')>> <<set _styleAcc to (_worn.accessory_colourCustom ? _worn.accessory_colourCustom :'')>> <</widget>> <<widget "baseClothingImg">> <<if $worn[_args[0]].name isnot "naked">> <<baseClothingStrings _args[0]>> <div @class="'clothes-div layer-'+_args[0]"> <<if $worn[_args[0]].mainImage isnot 0>> <img @class="_class" @src="'img/clothes/'+[_args[0]]+'/' + $worn[_args[0]].variable + '/' + 'full.png'" @style="_style"> <</if>> <<if $worn[_args[0]].accessory is 1>> <img @class="_classAcc" @src="'img/clothes/'+[_args[0]]+'/' + $worn[_args[0]].variable + '/' + 'acc.png'" @style="_styleAcc"> <</if>> </div> <<if $worn[_args[0]].back_img is 1>> <div @class="'clothes-div layer-'+_args[0]+'-back'"> <img @class="$worn[_args[0]].back_img_colour is 'secondary' ? _classAcc : _class" @src="'img/clothes/'+[_args[0]]+'/' + $worn[_args[0]].variable + '/' + 'back.png'" @style="_styleAcc"> </div> <</if>> <</if>> <</widget>> <<widget "neckimg">> <<if $worn.neck.name isnot "naked">> <<if $worn.neck.name is "necktie">> <<baseClothingStrings "neck">> <<if $worn.upper.has_collar is 1>> <<set _tieimg = "full_nocollar">> <<else>> <<set _tieimg = "full">> <</if>> <div @class="'clothes-div layer-neck'"> <img @class="_class" @src="'img/clothes/neck/' + $worn.neck.variable + '/' + _tieimg + '.png'" @style="_style"> <img @class="_classAcc" @src="'img/clothes/neck/' + $worn.neck.variable + '/' + 'acc.png'" @style="_styleAcc"> <<if $worn.neck.leash is 1>> <img @class="_class" @src="'img/clothes/neck/collar/leash.png'"> <</if>> </div> <<else>> <<baseClothingImg "neck">> <</if>> <</if>> <</widget>> <<widget "handsimg">> <<if $worn.hands.name isnot "naked">> <<baseClothingStrings "hands">> <div @class="'clothes-div layer-hands'"> <<if $worn.hands.mainImage isnot 0>> <img @class="_class" @src="'img/clothes/hands/' + $worn.hands.variable + '/' + 'full.png'" @style="_style"> <</if>> <<if $worn.hands.leftImage is 1 and $leftarm isnot "bound" and $leftarm isnot "grappled" and $leftarm isnot "behind">> <<set _leftImage to "left">> <<if _coverLeft is true>> <<run _leftImage += "_cover">> <</if>> <img @class="_class" @src="'img/clothes/hands/' + $worn.hands.variable + '/' + _leftImage + '.png'" @style="_style"> <<if $worn.hands.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/hands/' + $worn.hands.variable + '/' + _leftImage + '_acc.png'" @style="_styleAcc"> <</if>> <</if>> <<if $worn.hands.rightImage is 1 and $rightarm isnot "bound" and $rightarm isnot "grappled" and $rightarm isnot "behind">> <<set _rightImage to "right">> <<if _coverRight is true>> <<run _rightImage += "_cover">> <</if>> <img @class="_class" @src="'img/clothes/hands/' + $worn.hands.variable + '/' + _rightImage + '.png'" @style="_style"> <<if $worn.hands.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/hands/' + $worn.hands.variable + '/' + _rightImage + '_acc.png'" @style="_styleAcc"> <</if>> <</if>> </div> <</if>> <</widget>> <<widget "underupperimg">> <<if $worn.under_upper.name isnot "naked">> <<baseClothingStrings "under_upper">> <<switch $underupperwetstage>> <<case 1>><<set _underUpperWetness to " clothes-damp">> <<case 2>><<set _underUpperWetness to " clothes-wet">> <<case 3>><<set _underUpperWetness to " clothes-drenshed">> <<default>><<set _underUpperWetness to "">> <</switch>> <<if $worn.under_upper.integrity lte (clothingData('under_upper',$worn.under_upper,'integrity_max') / 10) * 2>> <<set _imgName to "tattered">> <<elseif $worn.under_upper.integrity lte (clothingData('under_upper',$worn.under_upper,'integrity_max') / 10) * 5>> <<set _imgName to "torn">> <<elseif $worn.under_upper.integrity lte (clothingData('under_upper',$worn.under_upper,'integrity_max') / 10) * 9>> <<set _imgName to "frayed">> <<else>> <<set _imgName to "full">> <</if>> <div @class="'clothes-div layer-under_upper' + _underUpperWetness"> <<if $worn.under_upper.mainImage isnot 0>> <img @class="_class" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + _imgName + '.png'" @style="_style"> <</if>> <<if setup.clothes.under_upper[clothesIndex('under_upper', $worn.under_upper)].breast_img is 1>> <img @class="_class" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + (Math.min(_breastSize, 5)) + '.png'" @style="_style"> <</if>> <<if $worn.under_upper.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + 'acc' + ($worn.under_upper.accessory_integrity_img ? '_' + _imgName : '') + '.png'" @style="_styleAcc"> <</if>> <<if $worn.under_upper.breast_acc_img is 1>> <img @class="_classAcc" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + (Math.min(_breastSize, 5)) + '_acc.png'" @style="_styleAcc"> <</if>> </div> <<set _sleeveClass to { "": _class, "primary": _class, "no": "", "secondary": _classAcc }[$worn.under_upper.sleeve_colour||""]>> <<if _coverRight isnot undefined and $worn.under_upper.sleeve_img is 1>> <div @class="'clothes-div layer-rightarmunderclothes' + _underUpperWetness"> <<if _coverRight is true>> <img @class="_sleeveClass" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + 'right_cover.png'" @style="_style"> <<else>> <img @class="_sleeveClass" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + 'right.png'" @style="_style"> <</if>> </div> <</if>> <<if _coverLeft isnot undefined and $worn.under_upper.sleeve_img is 1>> <div @class="'clothes-div layer-leftarmunderclothes' + _underUpperWetness"> <<if _coverLeft is true>> <img @class="_sleeveClass" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + 'left_cover.png'" @style="_style"> <<else>> <img @class="_sleeveClass" @src="'img/clothes/under_upper/' + $worn.under_upper.variable + '/' + 'left.png'" @style="_style"> <</if>> </div> <</if>> <</if>> <</widget>> <<widget "underlowerimg">> <<if $worn.under_lower.name isnot "naked">> <<baseClothingStrings "under_lower">> <<switch $underlowerwetstage>> <<case 1>><<set _underlowerWetness to " clothes-damp">> <<case 2>><<set _underlowerWetness to " clothes-wet">> <<case 3>><<set _underlowerWetness to " clothes-drenshed">> <<default>><<set _underlowerWetness to "">> <</switch>> <<if $worn.under_lower.integrity lte (clothingData('under_lower',$worn.under_lower,'integrity_max') / 10) * 2>> <<set _imgName to "tattered">> <<elseif $worn.under_lower.integrity lte (clothingData('under_lower',$worn.under_lower,'integrity_max') / 10) * 5>> <<set _imgName to "torn">> <<elseif $worn.under_lower.integrity lte (clothingData('under_lower',$worn.under_lower,'integrity_max') / 10) * 9>> <<set _imgName to "frayed">> <<else>> <<set _imgName to "full">> <</if>> <<if $worn.under_lower.mainImage isnot 0 and $worn.under_lower.high_img is 1>> <div @class="'clothes-div layer-under_lower-high' + _underlowerWetness"> <img @class="_class" @src="'img/clothes/under_lower/' + $worn.under_lower.variable + '/' + _imgName + '.png'" @style="_style"> </div> <</if>> <div @class="'clothes-div layer-under_lower' + _underlowerWetness"> <<if $worn.under_lower.mainImage isnot 0 and $worn.under_lower.high_img isnot 1>> <img @class="_class" @src="'img/clothes/under_lower/' + $worn.under_lower.variable + '/' + _imgName + '.png'" @style="_style"> <</if>> <<if $worn.under_lower.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/under_lower/' + $worn.under_lower.variable + '/' + 'acc.png'" @style="_styleAcc"> <</if>> </div> <<if $worn.under_lower.penis_img is 1 and $player.penisExist>> <div @class="'clothes-div layer-under_lower-top' + _underlowerWetness"> <img @class="_class" @src="'img/clothes/under_lower/' + $worn.under_lower.variable + '/' + 'penis.png'" @style="_style"> <<if $worn.under_lower.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/under_lower/' + $worn.under_lower.variable + '/' + 'acc_penis.png'" @style="_styleAcc"> <</if>> </div> <</if>> <</if>> <</widget>> <<widget "lowerimg">> <<if $worn.lower.name isnot "naked">> <<baseClothingStrings "lower">> <<switch $lowerwetstage>> <<case 1>><<set _lowerWetness to " clothes-damp">> <<case 2>><<set _lowerWetness to " clothes-wet">> <<case 3>><<set _lowerWetness to " clothes-drenshed">> <<default>><<set _lowerWetness to "">> <</switch>> <<if $worn.lower.integrity lte (clothingData('lower',$worn.lower,'integrity_max') / 10) * 2>> <<set _imgName to "tattered">> <<elseif $worn.lower.integrity lte (clothingData('lower',$worn.lower,'integrity_max') / 10) * 5>> <<set _imgName to "torn">> <<elseif $worn.lower.integrity lte (clothingData('lower',$worn.lower,'integrity_max') / 10) * 9>> <<set _imgName to "frayed">> <<else>> <<set _imgName to "full">> <</if>> <<if $worn.lower.mainImage isnot 0 and $worn.lower.high_img is 1>> <div @class="'clothes-div layer-lower-high' + _lowerWetness"> <img @class="_class" @src="'img/clothes/lower/' + $worn.lower.variable + '/' + _imgName + '.png'" @style="_style"> </div> <</if>> <div @class="'clothes-div layer-lower' + _lowerWetness"> <<if $worn.lower.mainImage isnot 0 and $worn.lower.high_img isnot 1>> <img @class="_class" @src="'img/clothes/lower/' + $worn.lower.variable + '/' + _imgName + '.png'" @style="_style"> <</if>> <<if $worn.lower.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/lower/' + $worn.lower.variable + '/' + 'acc' + ($worn.lower.accessory_integrity_img ? '_' + _imgName : '') + '.png'" @style="_styleAcc"> <</if>> </div> <<if $worn.lower.back_img is 1>> <div @class="'clothes-div layer-back-lower' + _lowerWetness"> <img @class="$worn.lower.back_img_colour is 'secondary' ? _classAcc : _class" @src="'img/clothes/lower/' + $worn.lower.variable + '/' + 'back.png'" @style="_style"> </div> <</if>> <</if>> <</widget>> <<widget "overlowerimg">> <<if $worn.over_lower.name isnot "naked">> <<baseClothingStrings "over_lower">> <<if $worn.over_lower.integrity lte (clothingData('over_lower',$worn.over_lower,'integrity_max') / 10) * 2>> <<set _imgName to "tattered">> <<elseif $worn.over_lower.integrity lte (clothingData('over_lower',$worn.over_lower,'integrity_max') / 10) * 5>> <<set _imgName to "torn">> <<elseif $worn.over_lower.integrity lte (clothingData('over_lower',$worn.over_lower,'integrity_max') / 10) * 9>> <<set _imgName to "frayed">> <<else>> <<set _imgName to "full">> <</if>> <div class="layer-over_lower"> <<if $worn.over_lower.mainImage isnot 0>> <img @class="_class" @src="'img/clothes/over_lower/' + $worn.over_lower.variable + '/' + _imgName + '.png'" @style="_style"> <</if>> <<if $worn.over_lower.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/over_lower/' + $worn.over_lower.variable + '/' + 'acc.png'" @style="_styleAcc"> <</if>> </div> <<if $worn.over_lower.back_img is 1>> <div class="layer-back-lower"> <img @class="$worn.over_lower.back_img_colour is 'secondary' ? _classAcc : _class" @src="'img/clothes/over_lower/' + $worn.over_lower.variable + '/' + 'back.png'" @style="_style"> </div> <</if>> <</if>> <</widget>> <<widget "genitalsimg">> <<if $worn.genitals.name isnot "naked">> <<set _genitalsColour = ($worn.genitals.colour ? " clothes-"+$worn.genitals.colour.replace(/ /g, '-') : "")>> <div class="layer-genitals"> <<if $worn.genitals.mainImage isnot 0 and !setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].hideUnderLower.includes($worn.under_lower.name)>> <<if $worn.genitals.name is "chastity cage" and $parasite.penis.name is "urchin">> <<if $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 2>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'tattered_urchin.png'" @style="$worn.genitals.colourCustom"> <<elseif $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 5>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'torn_urchin.png'" @style="$worn.genitals.colourCustom"> <<elseif $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 9>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'frayed_urchin.png'" @style="$worn.genitals.colourCustom"> <<else>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'full_urchin.png'" @style="$worn.genitals.colourCustom"> <</if>> <<elseif $worn.genitals.name is "chastity cage" and $parasite.penis.name is "slime">> <<if $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 2>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'tattered_slime.png'" @style="$worn.genitals.colourCustom"> <<elseif $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 5>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'torn_slime.png'" @style="$worn.genitals.colourCustom"> <<elseif $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 9>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'frayed_slime.png'" @style="$worn.genitals.colourCustom"> <<else>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'full_slime.png'" @style="$worn.genitals.colourCustom"> <</if>> <<else>> <<if $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 2>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'tattered.png'" @style="$worn.genitals.colourCustom"> <<elseif $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 5>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'torn.png'" @style="$worn.genitals.colourCustom"> <<elseif $worn.genitals.integrity lte (clothingData('genitals',$worn.genitals,'integrity_max') / 10) * 9>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'frayed.png'" @style="$worn.genitals.colourCustom"> <<else>> <img @class="'anim-idle-2f' + _genitalsColour" @src="'img/clothes/genitals/' + $worn.genitals.variable + '/' + 'full.png'" @style="$worn.genitals.colourCustom"> <</if>> <</if>> <</if>> </div> <</if>> <</widget>> <<widget "upperimg">> <<if $worn.upper.name isnot "naked">> <<baseClothingStrings "upper">> <<switch $upperwetstage>> <<case 1>><<set _upperWetness to " clothes-damp">> <<case 2>><<set _upperWetness to " clothes-wet">> <<case 3>><<set _upperWetness to " clothes-drenshed">> <<default>><<set _upperWetness to "">> <</switch>> <<set _tucked = $upperTucked and !setup.clothes.upper[clothesIndex('upper', $worn.upper)].notuck and $worn.upper.outfitPrimary is undefined ? " tucked" : "">> <<set $_hoodDown to $worn.upper.hoodposition is "down" ? "_down" : "">> <<set $_altPosition to $worn.upper.altposition is "alt" ? "_alt" : "">> <div @class="'clothes-div layer-upper' + _tucked + _upperWetness"> <<if $worn.upper.mainImage isnot 0>> <<if $worn.upper.integrity lte (clothingData('upper',$worn.upper,'integrity_max') / 10) * 2>> <<set _imgName to "tattered">> <<elseif $worn.upper.integrity lte (clothingData('upper',$worn.upper,'integrity_max') / 10) * 5>> <<set _imgName to "torn">> <<elseif $worn.upper.integrity lte (clothingData('upper',$worn.upper,'integrity_max') / 10) * 9>> <<set _imgName to "frayed">> <<else>> <<set _imgName to "full">> <</if>> <img @class="_class" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + _imgName + $_hoodDown + $_altPosition + '.png'" @style="_style"> <</if>> <<if setup.clothes.upper[clothesIndex('upper', $worn.upper)].breast_img is 1>> <img @class="_class" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + (Math.min(_breastSize, 5)) + $_altPosition + '.png'" @style="_style"> <</if>> <<if $worn.upper.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + 'acc' + ($worn.upper.accessory_integrity_img ? '_' + _imgName : '') + $_hoodDown + $_altPosition + '.png'" @style="_styleAcc"> <</if>> <<if $worn.upper.breast_acc_img is 1>> <img @class="_classAcc" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + (Math.min(_breastSize, 5)) + '_acc.png'" @style="_styleAcc"> <</if>> </div> <<set _sleeveClass to { "": _class, "primary": _class, "no": "", "secondary": _classAcc }[$worn.upper.sleeve_colour||""]>> <<set _altPosition to setup.clothes.upper[clothesIndex('upper', $worn.upper)].altposition is 'alt' ? '_alt' : '' >> <<set _sleeveState to setup.clothes.upper[clothesIndex('upper', $worn.upper)].altsleeve is 'alt' ? '_rolled.png' : '.png'>> <<if _coverRight isnot undefined and setup.clothes.upper[clothesIndex('upper', $worn.upper)].sleeve_img is 1>> <div @class="'clothes-div layer-rightarmclothes' + _upperWetness"> <<if _coverRight is true>> <img @class="_sleeveClass" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + 'right_cover' + _altPosition + _sleeveState" @style="_style"> <<else>> <img @class="_sleeveClass" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + 'right' + _altPosition + _sleeveState" @style="_style"> <</if>> </div> <</if>> <<if _coverLeft isnot undefined and setup.clothes.upper[clothesIndex('upper', $worn.upper)].sleeve_img is 1>> <div @class="'clothes-div layer-leftarmclothes' + _upperWetness"> <<if _coverLeft is true>> <img @class="_sleeveClass" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + 'left_cover' + _altPosition + _sleeveState" @style="_style"> <<else>> <img @class="_sleeveClass" @src="'img/clothes/upper/' + $worn.upper.variable + '/' + 'left' + _altPosition + _sleeveState" @style="_style"> <</if>> </div> <</if>> <</if>> <</widget>> <<widget "overupperimg">> <<if $worn.over_upper.name isnot "naked">> <<baseClothingStrings "over_upper">> <<if $worn.over_upper.integrity lte (clothingData('over_upper',$worn.over_upper,'integrity_max') / 10) * 2>> <<set _imgName to "tattered">> <<elseif $worn.over_upper.integrity lte (clothingData('over_upper',$worn.over_upper,'integrity_max') / 10) * 5>> <<set _imgName to "torn">> <<elseif $worn.over_upper.integrity lte (clothingData('over_upper',$worn.over_upper,'integrity_max') / 10) * 9>> <<set _imgName to "frayed">> <<else>> <<set _imgName to "full">> <</if>> <div class="layer-over_upper"> <<if $worn.over_upper.mainImage isnot 0>> <img @class="_class" @src="'img/clothes/over_upper/' + $worn.over_upper.variable + '/' + _imgName + '.png'" @style="_style"> <</if>> <<if setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].breast_img is 1>> <img @class="_class" @src="'img/clothes/over_upper/' + $worn.over_upper.variable + '/' + (Math.min(_breastSize, 5)) + '.png'" @style="_style"> <</if>> <<if $worn.over_upper.accessory is 1>> <img @class="_classAcc" @src="'img/clothes/over_upper/' + $worn.over_upper.variable + '/' + 'acc.png'" @style="_styleAcc"> <</if>> </div> <<set _sleeveClass to { "": _class, "primary": _class, "no": "", "secondary": _classAcc }[$worn.over_upper.sleeve_colour||""]>> <<if _coverRight isnot undefined and setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].sleeve_img is 1>> <div class="layer-rightarmoverclothes"> <<if _coverRight is true>> <img @class="_sleeveClass" @src="'img/clothes/over_upper/' + $worn.over_upper.variable + '/' + 'right_cover.png'" @style="_style"> <<else>> <img @class="_sleeveClass" @src="'img/clothes/over_upper/' + $worn.over_upper.variable + '/' + 'right.png'" @style="_style"> <</if>> </div> <</if>> <<if _coverLeft isnot undefined and setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].sleeve_img is 1>> <div class="layer-leftarmoverclothes"> <<if _coverLeft is true>> <img @class="_sleeveClass" @src="'img/clothes/over_upper/' + $worn.over_upper.variable + '/' + 'left_cover.png'" @style="_style"> <<else>> <img @class="_sleeveClass" @src="'img/clothes/over_upper/' + $worn.over_upper.variable + '/' + 'left.png'" @style="_style"> <</if>> </div> <</if>> <</if>> <</widget>> <<widget "imgOpacity">> <<if _underUpperOpacity is undefined>> <<set _opacity to 1>> <<if !$worn.under_upper.type.includes("swim")>> <<if $underupperwetstage gte 3>> <<set _opacity = Math.clamp(_opacity - 0.5, 0, 1)>> <<elseif $underupperwetstage gte 2>> <<set _opacity = Math.clamp(_opacity - 0.25, 0, 1)>> <</if>> <</if>> <<set _underUpperOpacity to " opacity("+_opacity+")">> <</if>> <<if _underLowerOpacity is undefined>> <<set _opacity to 1>> <<if !$worn.under_lower.type.includes("swim")>> <<if $underlowerwetstage gte 3>> <<set _opacity = Math.clamp(_opacity - 0.5, 0, 1)>> <<elseif $underlowerwetstage gte 2>> <<set _opacity = Math.clamp(_opacity - 0.25, 0, 1)>> <</if>> <</if>> <<set _underLowerOpacity to " opacity("+_opacity+")">> <</if>> <<if _lowerOpacity is undefined>> <<set _opacity to 1>> <<if !$worn.lower.type.includes("swim")>> <<if $lowerwetstage gte 3>> <<set _opacity = Math.clamp(_opacity - 0.5, 0, 1)>> <<elseif $lowerwetstage gte 2>> <<set _opacity = Math.clamp(_opacity - 0.25, 0, 1)>> <</if>> <</if>> <<set _lowerOpacity to " opacity("+_opacity+")">> <</if>> <<if _upperOpacity is undefined>> <<set _opacity to 1>> <<if !$worn.upper.type.includes("swim")>> <<if $upperwetstage gte 3>> <<set _opacity = Math.clamp(_opacity - 0.5, 0, 1)>> <<elseif $upperwetstage gte 2>> <<set _opacity = Math.clamp(_opacity - 0.25, 0, 1)>> <</if>> <</if>> <<set _upperOpacity to " opacity("+_opacity+")">> <</if>> <</widget>> <<widget "player-base-body">> <div id="img"> <<canvas-player-base-body>> </div> <</widget>><<widget "clothing_data">> <<set setup.clothes to {}>> <<set setup.moddedClothes to {}>> <<run initOverUpper()>> <<run initOverLower()>> <<run initUpper()>> <<run initLower()>> <<run initUnderUpper()>> <<run initUnderLower()>> <<run initGenitals()>> <<run initOverHead()>> <<run initHead()>> <<run initFace()>> <<run initNeck()>> <<run initHands()>> <<run initHandheld()>> <<run initLegs()>> <<run initFeet()>> <<set _allClothes to []>> <<run allClothesSetup()>> <<set setup.clothes_all_slots to ["over_upper", "over_lower", "upper", "lower", "under_upper", "under_lower","over_head", "head", "face", "neck", "hands", "handheld", "legs", "feet", "genitals"]>> <!-- Throw an error if any clothing item has an index which is not correct for its position in its array. --> <<run Object.keys(setup.clothes).forEach(slot => { if(slot === 'all') return false; setup.clothes[slot].forEach((item, i) => { if (item.index !== i) throw new Error("The index of "+item.name+" should be "+i+", not "+item.index) }) })>> <!-- Find all unique traits (types) clothes can have --> <<set setup.clothingTraits = [...new Set(Object.keys(setup.clothes).flatMap(x => setup.clothes[x]).flatMap(x => x.type))]>> <<init_npc_clothes>> <</widget>> <<widget "clothing_arrays">> <<script>> V.clothes = {}; V.store = {}; V.wardrobe = { space: 20 }; V.outfitTmp = {}; V.carried = {}; V.worn = {}; const worn = {}; for (let slot of setup.clothes_all_slots) { V.store[slot] = []; V.wardrobe[slot] = []; V.carried[slot] = clone(setup.clothes[slot][0]); V.worn[slot] = clone(setup.clothes[slot][0]); /* create a proxy that will forward the calls to V.worn[slot], but also pull extra properties from setup.clothes if necessary. writing to C.worn.slot.property will only affect V.worn.slot.property. please, AVOID calling C.worn.slot without properties!! */ worn[slot] = new Proxy ( { /* direct proxy to V.worn is impossible due to the latter getting re-created every passage, so we use empty object instead */ }, { get(nil, prop) { return prop in V.worn[slot] ? V.worn[slot][prop] : setup.clothes[slot][clothesIndex(slot, V.worn[slot])][prop]; }, set(nil, prop, val) { return V.worn[slot][prop] = val }, } ); }; /* freeze worn to prevent proxies from being overwritten */ Object.freeze(worn); C.worn = worn; V.outfit = [{ index: 0, name: "Pyjamas", over_upper: "naked", over_lower: "naked", upper: "pyjama shirt", lower: "pyjama bottoms", under_upper: "naked", under_lower: "naked", over_head: "naked", head: "naked", face: "naked", neck: "naked", hands: "naked", handheld: "naked", legs: "naked", feet: "naked", type: ["sleep"], colors: false }]; <</script>> <<wardrobesUpdate>> <</widget>> <<widget "clothinginit">> <<clothing_arrays>> <<set $upperoff to 0>> <<set $loweroff to 0>> <<set $underloweroff to 0>> <<set $underupperoff to 0>> <<set $upperwet to 0>> <<set $lowerwet to 0>> <<set $underlowerwet to 0>> <<set $underupperwet to 0>> <<set $upperwetstage to 0>> <<set $lowerwetstage to 0>> <<set $underupperwetstage to 0>> <<set $underlowerwetstage to 0>> <<set $waterwash to 0>> <<set $wear_over_upper to "none">> <<set $wear_over_lower to "none">> <<set $wear_upper to "none">> <<set $wear_lower to "none">> <<set $wear_under_upper to "none">> <<set $wear_under_lower to "none">> <<set $wear_over_head to "none">> <<set $wear_head to "none">> <<set $wear_face to "none">> <<set $wear_neck to "none">> <<set $wear_hands to "none">> <<set $wear_handheld to "none">> <<set $wear_legs to "none">> <<set $wear_feet to "none">> <<set $wear_genitals to "none">> <<set $wear_outfit to "none">> <</widget>> <<widget "givestartclothing">> <<set $worn.over_upper to clone(setup.clothes.over_upper[0])>> <<set $worn.over_lower to clone(setup.clothes.over_lower[0])>> <<set $worn.upper to clone(setup.clothes.upper[0])>> <<set $worn.lower to clone(setup.clothes.lower[0])>> <<set $worn.under_upper to clone(setup.clothes.under_upper[0])>> <<set $worn.under_lower to clone(setup.clothes.under_lower[0])>> <<set $worn.over_head to clone(setup.clothes.over_head[0])>> <<set $worn.head to clone(setup.clothes.head[0])>> <<set $worn.face to clone(setup.clothes.face[0])>> <<set $worn.neck to clone(setup.clothes.neck[0])>> <<set $worn.hands to clone(setup.clothes.hands[0])>> <<set $worn.handheld to clone(setup.clothes.handheld[0])>> <<set $worn.legs to clone(setup.clothes.legs[0])>> <<set $worn.feet to clone(setup.clothes.feet[0])>> <<if $player.gender is "m">> <<set _clothesType to "male">> <<elseif $player.gender is "f">> <<set _clothesType to "female">> <<else>> <<if $player.gender_body is "m" or ($player.gender_body is "a" and $player.breastsize lte 3)>> <<set _clothesType to "male">> <<else>> <!-- if $player.gender_body is "f" or ($player.gender_body is "a" and $player.breastsize gt 3)) --> <<set _clothesType to "female">> <</if>> <</if>> <<if $background is "crossdresser">> <<set _clothesType to ($player.sex is "m" ? "female" : "male")>> <</if>> <<if _clothesType is "female">> <<set $outfit.push( {index: $outfit.length, name: "Everyday", over_upper: "naked", over_lower: "naked", upper: "sundress", lower: "sundress skirt", under_upper: "naked", under_lower: "plain panties", over_head: "naked", head: "naked", face: "naked", neck: "naked", handheld: "naked", hands: "naked", legs: "girl's gym socks", feet: "school shoes", type: ["normal"], colors: false }, {index: $outfit.length, name: "School", over_upper: "naked", over_lower: "naked", upper: "school shirt", lower: "school skirt", under_upper: "naked", under_lower: "plain panties", over_head: "naked", head: "hairpin", face: "naked", neck: "naked", handheld: "backpack", hands: "naked", legs: "girl's gym socks", feet: "school shoes", type: ["school"], colors: false }, {index: $outfit.length, name: "Swimwear", over_upper: "naked", over_lower: "naked", upper: "naked", lower: "naked", under_upper: "school swimsuit", under_lower: "school swimsuit bottom", over_head: "naked", head: "naked", face: "naked", neck: "naked", handheld: "naked", hands: "naked", legs: "naked", feet: "naked", type: ["swim"], colors: false } )>> <<set $worn.upper to clone(setup.clothes.upper[1])>> <<set $worn.upper.colour to "white">> <<set $worn.lower to clone(setup.clothes.lower[1])>> <<set $worn.lower.colour to "white">> <<set $worn.under_lower to clone(setup.clothes.under_lower[1])>> <<set $worn.under_lower.colour to "pale white">> <<set $worn.legs to clone(setup.clothes.legs[3])>> <<set $worn.head = clone(setup.clothes.head[1])>> <<set $worn.feet = clone(setup.clothes.feet[1])>> <<if $player.breastsize lte 3>> <<set $wardrobe.under_upper.push(clone(setup.clothes.under_upper[12]))>> <<set $wardrobe.under_upper.last().colour to "pale white">> <<else>> <<set $worn.under_upper = clone(setup.clothes.under_upper[12])>> <<set $worn.under_upper.colour to "pale white">> <<set $outfit[1].under_upper = "plain bra">> <<set $outfit[2].under_upper = "plain bra">> <</if>> <<set $wardrobe.upper.push(clone(setup.clothes.upper[5]))>> <<set $wardrobe.upper.last().colour to "white">> <<set $wardrobe.upper.last().accessory_colour to "light blue">> <<set $wardrobe.lower.push(clone(setup.clothes.lower[7]))>> <<set $wardrobe.lower.last().colour to "black">> <<set $wardrobe.upper.push(clone(setup.clothes.upper[2]))>> <<set $wardrobe.upper.last().colour to "blue">> <<set $wardrobe.lower.push(clone(setup.clothes.lower[2]))>> <<set $wardrobe.lower.last().colour to "blue">> <<set $wardrobe.under_upper.push(clone(setup.clothes.under_upper[2]))>> <<set $wardrobe.under_upper.last().colour to "blue">> <<set $wardrobe.under_lower.push(clone(setup.clothes.under_lower[6]))>> <<set $wardrobe.under_lower.last().colour to "blue">> <<set $wardrobe.handheld.push(clone(setup.clothes.handheld[8]))>> <<set $wardrobe.handheld.last().colour to "purple">> <<else>> <<set $outfit.push( {index: $outfit.length, name: "Everyday", over_upper: "naked", over_lower: "naked", upper: "t-shirt", lower: "shorts", under_upper: "naked", under_lower: "briefs", over_head: "naked", head: "naked", face: "naked", neck: "naked", handheld: "naked", hands: "naked", legs: "boy's gym socks", feet: "school shoes", type: ["normal"], colors: false }, {index: $outfit.length, name: "School", over_upper: "naked", over_lower: "naked", upper: "school shirt", lower: "school shorts", under_upper: "naked", under_lower: "briefs", over_head: "naked", head: "naked", face: "naked", neck: "naked", handheld: "backpack", hands: "naked", legs: "boy's gym socks", feet: "school shoes", type: ["school"], colors: false }, {index: $outfit.length, name: "Swimwear", over_upper: "naked", over_lower: "naked", upper: "naked", lower: "naked", under_upper: "naked", under_lower: "school swim shorts", over_head: "naked", head: "naked", face: "naked", neck: "naked", handheld: "naked", hands: "naked", legs: "naked", feet: "naked", type: ["swim"], colors: false } )>> <<set $worn.upper to clone(setup.clothes.upper[4])>> <<set $worn.upper.colour to "tangerine">> <<set $worn.lower to clone(setup.clothes.lower[5])>> <<set $worn.lower.colour to "blue">> <<set $worn.under_lower to clone(setup.clothes.under_lower[4])>> <<set $worn.under_lower.colour to "black">> <<set $worn.legs to clone(setup.clothes.legs[2])>> <<set $worn.feet = clone(setup.clothes.feet[1])>> <<set $wardrobe.upper.push(clone(setup.clothes.upper[5]))>> <<set $wardrobe.upper.last().colour to "white">> <<set $wardrobe.upper.last().accessory_colour to "light blue">> <<set $wardrobe.lower.push(clone(setup.clothes.lower[6]))>> <<set $wardrobe.lower.last().colour to "black">> <<set $wardrobe.upper.push(clone(setup.clothes.upper[2]))>> <<set $wardrobe.upper.last().colour to "blue">> <<set $wardrobe.lower.push(clone(setup.clothes.lower[2]))>> <<set $wardrobe.lower.last().colour to "blue">> <<set $wardrobe.under_lower.push(clone(setup.clothes.under_lower[7]))>> <<set $wardrobe.under_lower.last().colour to "blue">> <<set $wardrobe.under_lower.last().accessory_colour to "white">> <<set $wardrobe.head.push(clone(setup.clothes.head[1]))>> <<set $wardrobe.handheld.push(clone(setup.clothes.handheld[8]))>> <<set $wardrobe.handheld.last().colour to "blue">> <</if>> <!-- strip the unneeded vars from starting clothes --> <<run clothesDataTrimmerLoop()>> <</widget>> <<widget "init_npc_clothes">> <<set _npcClothesItems to { "upper": { "shirt": {name:"shirt", integrity_max:100, word:"a", action:"lift"}, "naked": {name:"naked", integrity_max:100, word:"n", action:"none"}, "school shirt": {name:"school shirt", integrity_max:100, word:"a", action:"unbutton"}, "school blouse": {name:"school blouse", integrity_max:100, word:"a", action:"unbutton"}, "dress shirt": {name:"dress shirt", integrity_max:100, word:"a", action:"unbutton"}, "school blazer": {name:"school blazer", integrity_max:100, word:"a", action:"pull"}, "teacher's uniform": {name:"teacher's uniform", integrity_max:100, word:"a", action:"unbutton"}, "swim shirt": {name:"swim shirt", integrity_max:100, word:"a", action:"lift"}, "school swimsuit top": {name:"school swimsuit top", integrity_max:100, word:"a", action:"pull"}, "bikini top": {name:"bikini top", integrity_max:100, word:"a", action:"pull"}, "microkini top": {name:"microkini top", integrity_max:100, word:"a", action:"pull"}, "diving suit": {name:"diving suit", integrity_max:100, word:"a", action:"unzip"}, "sailor shirt": {name:"sailor shirt", integrity_max:100, word:"a", action:"unbutton"}, "hi-vis jacket": {name:"hi-vis jacket", integrity_max:100, word:"a", action:"unzip"}, "denim shirt": {name:"denim shirt", integrity_max:100, word:"a", action:"unbutton"}, "hoodie": {name:"hoodie", integrity_max:100, word:"a", action:"lift"}, "vest": {name:"vest", integrity_max:100, word:"a", action:"lift"}, "police shirt": {name:"police shirt", integrity_max:100, word:"a", action:"unbutton"}, "uniform shirt": {name:"uniform shirt", integrity_max:100, word:"a", action:"unbutton"}, "monk robe top": {name:"monk robe top", integrity_max:100, word:"a", action:"open"}, "nun robe top": {name:"nun robe top", integrity_max:100, word:"a", action:"open"}, "robe top": {name:"robe top", integrity_max:100, word:"a", action:"open"}, "black robe top": {name:"black robe top", integrity_max:100, word:"a", action:"open"}, "jumpsuit shirt": {name:"jumpsuit shirt", integrity_max:100, word:"a", action:"unzip"}, "tuxedo shirt": {name:"tuxedo shirt", integrity_max:100, word:"a", action:"unbutton"}, "evening gown top": {name:"evening gown top", integrity_max:100, word:"a", action:"pull"}, "ballgown top": {name:"ballgown top", integrity_max:100, word:"a", action:"pull"}, "gothic jacket and vest": {name:"gothic jacket and vest", integrity_max:100, word:"a", action:"unbutton"}, "gothic gown top": {name:"gothic gown top", integrity_max:100, word:"a", action:"pull"}, "business suit top": {name:"business suit top", integrity_max:100, word:"a", action:"unbutton"}, "t-shirt": {name:"t-shirt", integrity_max:100, word:"a", action:"lift"}, "sundress top": {name:"sundress top", integrity_max:100, word:"a", action:"pull"}, "tracksuit top": {name:"tracksuit top", integrity_max:100, word:"a", action:"unzip"}, "peacoat": {name:"peacoat", integrity_max:100, word:"a", action:"unbutton"}, "turtleneck": {name:"turtleneck", integrity_max:100, word:"a", action:"lift"}, "collared shirt": {name:"collared shirt", integrity_max:100, word:"a", action:"unbutton"}, "blazer": {name:"blazer", integrity_max:100, word:"a", action:"lift"}, "sports jersey": {name:"sports jersey", integrity_max:100, word:"a", action:"lift"}, "sweater vest": {name:"sweater vest", integrity_max:100, word:"a", action:"lift"}, "v neck": {name:"v neck", integrity_max:100, word:"a", action:"lift"}, "tank top": {name:"tank top", integrity_max:100, word:"a", action:"pull"}, "blouse": {name:"blouse", integrity_max:100, word:"a", action:"lift"}, "crop top": {name:"crop top", integrity_max:100, word:"a", action:"pull"}, "tank top": {name:"tank top", integrity_max:100, word:"a", action:"pull"}, "bra": {name:"bra", integrity_max:100, word:"a", action:"undo"}, "puffer jacket": {name:"puffer jacket", integrity_max:100, word:"a", action:"unzip"}, "trenchcoat": {name:"trenchcoat", integrity_max:100, word:"a", action:"open"}, "coat": {name:"coat", integrity_max:100, word:"a", action:"open"}, "hoodie": {name:"hoodie", integrity_max:100, word:"a", action:"lift"}, "sweater": {name:"sweater", integrity_max:100, word:"a", action:"lift"}, "rain coat": {name:"rain coat", integrity_max:100, word:"a", action:"unzip"}, "flannel": {name:"flannel", integrity_max:100, word:"a", action:"unbutton"}, "woolen jumper": {name:"woolen jumper", integrity_max:100, word:"a", action:"lift"}, "fleece jumper": {name:"fleece jumper", integrity_max:100, word:"a", action:"lift"}, "jacket": {name:"jacket", integrity_max:100, word:"a", action:"unzip"}, "camo jacket": {name:"camo jacket", integrity_max:100, word:"a", action:"unzip"}, "trench coat": {name:"trench coat", integrity_max:100, word:"a", action:"open"}, "leather vest": {name:"leather vest", integrity_max:100, word:"a", action:"open"}, "leather harness": {name:"leather harness", integrity_max:100, word:"a", action:"open"}, "bathrobe": {name:"bathrobe", integrity_max:100, word:"a", action:"open"}, "lab coat": {name:"lab coat", integrity_max:100, word:"a", action:"unbutton"}, "security vest": {name:"security vest", integrity_max:100, word:"a", action:"unbutton"}, "doctor's coat": {name:"doctor's coat", integrity_max:100, word:"a", action:"unbutton"}, "nurse's coat": {name:"nurse's coat", integrity_max:100, word:"a", action:"unbutton"}, "patient gown": {name:"patient gown", integrity_max:100, word:"a", action:"pull"}, "jumpsuit top": {name:"jumpsuit top", integrity_max:100, word:"a", action:"unzip"}, "coverall top": {name:"coverall top", integrity_max:100, word:"a", action:"unzip"}, "dance shirt": {name:"dance shirt", integrity_max:100, word:"a", action:"pull"}, "shirtless suit": {name:"shirtless suit", integrity_max:100, word:"a", action:"open"}, "low-neck dress": {name:"low-neck dress", integrity_max:100, word:"a", action:"pull"}, "riding top": {name:"riding top", integrity_max:100, word:"a", action:"unbutton"}, "shadbelly coat": {name:"shadbelly coat", integrity_max:100, word:"a", action:"unbutton"}, "ramshackle hunting coat": {name:"ramshackle hunting coat", integrity_max:100, word:"a", action:"unbutton"}, "ruined suit": {name:"ruined suit", integrity_max:100, word:"a", action:"open"}, "grey sweater": {name:"grey sweater", integrity_max:100, word:"a", action:"lift"}, "grey cardigan": {name:"grey cardigan", integrity_max:100, word:"a", action:"open"}, "leather jacket": {name:"leather jacket", integrity_max:100, word:"a", action:"open"}, "jacaranda vest": {name:"jacaranda vest", integrity_max:100, word:"a", action:"pull"}, "blossoming growths": {name:"blossoming growths", integrity_max:100, word:"n", action:"pull"}, "leaf shirt": {name:"leaf shirt", integrity_max:100, word:"a", action:"pull"}, "leaf corset": {name:"leaf corset", integrity_max:100, word:"a", action:"pull"}, "pine top": {name:"pine top", integrity_max:100, word:"a", action:"pull"}, "plant top": {name:"plant top", integrity_max:100, word:"a", action:"pull"}, "sundress": {name:"sundress", integrity_max:100, word:"a", action:"lift"}, "tuxedo": {name:"tuxedo", integrity_max:100, word:"a", action:"unbutton"}, "gothic gown": {name:"gothic gown", integrity_max:100, word:"a", action:"pull"}, "kimono": {name:"kimono", integrity_max:100, word:"a", action:"pull"}, "christmas top": {name:"christmas top", integrity_max:100, word:"a", action:"pull"}, "ribbons": {name:"ribbons", integrity_max:100, word:"n", action:"unwrap"}, "pyjama shirt": {name:"pyjama shirt", integrity_max:100, word:"a", action:"lift"}, "ghost sheet": {name:"ghost sheet", integrity_max:100, word:"a", action:"lift"}, "vampire jacket": {name:"vampire jacket", integrity_max:100, word:"a", action:"open"}, "witch dress": {name:"witch dress", integrity_max:100, word:"a", action:"pull"}, "flowing robe": {name:"flowing robe", integrity_max:100, word:"a", action:"lift"} }, "lower": { "naked": {name:"naked", integrity_max:100, word:"n", action:"none"}, "trousers": {name:"trousers", integrity_max:100, word:"n", action:"pull"}, "skirt": {name:"skirt", integrity_max:100, word:"a", action:"lift"}, "school shorts": {name:"school shorts", integrity_max:100, word:"n", action:"pull"}, "school skirt": {name:"school skirt", integrity_max:100, word:"a", action:"lift"}, "short school skirt": {name:"short school skirt", integrity_max:100, word:"a", action:"lift"}, "school trousers": {name:"school trousers", integrity_max:100, word:"n", action:"pull"}, "long school skirt": {name:"long school skirt", integrity_max:100, word:"a", action:"lift"}, "teacher's slacks": {name:"teacher's slacks", integrity_max:100, word:"n", action:"unzip"}, "school swim shorts": {name:"school swim shorts", integrity_max:100, word:"n", action:"pull"}, "school swimsuit bottoms": {name:"school swimsuit bottoms", integrity_max:100, word:"n", action:"aside"}, "swim shorts": {name:"swim shorts", integrity_max:100, word:"n", action:"pull"}, "board shorts": {name:"board shorts", integrity_max:100, word:"n", action:"pull"}, "bikini bottoms": {name:"bikini bottoms", integrity_max:100, word:"n", action:"pull"}, "microkini bottoms": {name:"microkini bottoms", integrity_max:100, word:"n", action:"pull"}, "diving suit bottoms": {name:"diving suit bottoms", integrity_max:100, word:"n", action:"unzip"}, "sailor trousers": {name:"sailor trousers", integrity_max:100, word:"n", action:"unzip"}, "cargo trousers": {name:"cargo trousers", integrity_max:100, word:"n", action:"pull"}, "police trousers": {name:"police trousers", integrity_max:100, word:"n", action:"unzip"}, "police skirt": {name:"police skirt", integrity_max:100, word:"a", action:"lift"}, "uniform trousers": {name:"uniform trousers", integrity_max:100, word:"n", action:"unzip"}, "monk robes": {name:"monk robes", integrity_max:100, word:"n", action:"aside"}, "nun robe skirt": {name:"nun robe skirt", integrity_max:100, word:"a", action:"lift"}, "robes": {name:"robes", integrity_max:100, word:"n", action:"aside"}, "black robes": {name:"black robes", integrity_max:100, word:"n", action:"aside"}, "jumpsuit bottoms": {name:"jumpsuit bottoms", integrity_max:100, word:"n", action:"unzip"}, "tuxedo trousers": {name:"tuxedo trousers", integrity_max:100, word:"n", action:"unzip"}, "evening gown": {name:"evening gown", integrity_max:100, word:"a", action:"lift"}, "ballgown skirt": {name:"ballgown skirt", integrity_max:100, word:"a", action:"lift"}, "breeches": {name:"breeches", integrity_max:100, word:"a", action:"pull"}, "gothic trousers": {name:"gothic trousers", integrity_max:100, word:"n", action:"unzip"}, "gothic gown": {name:"gothic gown", integrity_max:100, word:"a", action:"lift"}, "business trousers": {name:"business trousers", integrity_max:100, word:"n", action:"unzip"}, "sundress skirt": {name:"sundress skirt", integrity_max:100, word:"a", action:"lift"}, "tracksuit bottoms": {name:"tracksuit bottoms", integrity_max:100, word:"n", action:"pull"}, "slacks": {name:"slacks", integrity_max:100, word:"n", action:"unzip"}, "jeans": {name:"jeans", integrity_max:100, word:"n", action:"unbutton"}, "khakis": {name:"khakis", integrity_max:100, word:"n", action:"unzip"}, "jeans": {name:"jeans", integrity_max:100, word:"n", action:"unzip"}, "shorts": {name:"shorts", integrity_max:100, word:"n", action:"pull"}, "miniskirt": {name:"miniskirt", integrity_max:100, word:"a", action:"lift"}, "boyshorts": {name:"boyshorts", integrity_max:100, word:"n", action:"pull"}, "panties": {name:"panties", integrity_max:100, word:"n", action:"pull"}, "boxers": {name:"boxers", integrity_max:100, word:"n", action:"unbutton"}, "briefs": {name:"briefs", integrity_max:100, word:"n", action:"pull"}, "jorts": {name:"jorts", integrity_max:100, word:"n", action:"pull"}, "sweatpants": {name:"sweatpants", integrity_max:100, word:"n", action:"pull"}, "rain bottoms": {name:"rain bottoms", integrity_max:100, word:"n", action:"pull"}, "camo bottoms": {name:"camo bottoms", integrity_max:100, word:"n", action:"unzip"}, "assless chaps": {name:"assless chaps", integrity_max:100, word:"n", action:"pull"}, "hot pants": {name:"hot pants", integrity_max:100, word:"n", action:"pull"}, "leather trousers": {name:"leather trousers", integrity_max:100, word:"n", action:"pull"}, "bathrobe": {name:"bathrobe", integrity_max:100, word:"a", action:"lift"}, "lab trousers": {name:"lab trousers", integrity_max:100, word:"n", action:"unzip"}, "security trousers": {name:"security trousers", integrity_max:100, word:"n", action:"unzip"}, "white trousers": {name:"white trousers", integrity_max:100, word:"n", action:"pull"}, "white skirt": {name:"white skirt", integrity_max:100, word:"a", action:"lift"}, "gown skirt": {name:"gown skirt", integrity_max:100, word:"a", action:"lift"}, "jumpsuit trousers": {name:"jumpsuit trousers", integrity_max:100, word:"n", action:"pull"}, "coverall bottoms": {name:"coverall bottoms", integrity_max:100, word:"n", action:"unzip"}, "dance shorts": {name:"dance shorts", integrity_max:100, word:"n", action:"pull"}, "formal trousers": {name:"formal trousers", integrity_max:100, word:"n", action:"pull"}, "cropped dress skirt": {name:"cropped dress skirt", integrity_max:100, word:"a", action:"lift"}, "riding trousers": {name:"riding trousers", integrity_max:100, word:"n", action:"pull"}, "chapette breeches": {name:"chapette breeches", integrity_max:100, word:"n", action:"pull"}, "torn hunting trousers": {name:"torn hunting trousers", integrity_max:100, word:"n", action:"pull"}, "ruined trousers": {name:"ruined trousers", integrity_max:100, word:"n", action:"pull"}, "dark trousers": {name:"dark trousers", integrity_max:100, word:"n", action:"pull"}, "torn jeans": {name:"torn jeans", integrity_max:100, word:"n", action:"unbutton"}, "bloomers": {name:"bloomers", integrity_max:100, word:"n", action:"lift"}, "bell flower dress": {name:"bell flower dress", integrity_max:100, word:"a", action:"lift"}, "lotus skirt": {name:"lotus skirt", integrity_max:100, word:"a", action:"lift"}, "leaf skirt": {name:"leaf skirt", integrity_max:100, word:"a", action:"lift"}, "evergreen dress": {name:"evergreen dress", integrity_max:100, word:"a", action:"lift"}, "plant skirt": {name:"plant skirt", integrity_max:100, word:"a", action:"lift"}, "kimono bottoms": {name:"kimono bottoms", integrity_max:100, word:"n", action:"lift"}, "christmas bottoms": {name:"christmas bottoms", integrity_max:100, word:"n", action:"pull"}, "ribbons": {name:"ribbons", integrity_max:100, word:"n", action:"unwrap"}, "pyjama bottoms": {name:"pyjama bottoms", integrity_max:100, word:"n", action:"pull"}, "ghost sheet": {name:"ghost sheet", integrity_max:100, word:"a", action:"lift"}, "vampire trousers": {name:"vampire trousers", integrity_max:100, word:"n", action:"pull"}, "witch dress skirt": {name:"witch dress skirt", integrity_max:100, word:"a", action:"lift"}, "flowing robe": {name:"flowing robe", integrity_max:100, word:"a", action:"lift"} } }>> <<set setup.npcClothesSets to [ {name: "naked", type: "naked", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("naked", "naked"), desc: "naked"}, {name: "maleDefault", type: "default", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("shirt", "trousers"), desc: "shirt and trousers"}, {name: "femaleDefault", type: "default", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("shirt", "skirt"), desc: "shirt and skirt"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "maleSchool", type: "school", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("school shirt", "school shorts"), desc: "school uniform"}, {name: "femaleSchool", type: "school", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("school shirt", "school skirt"), desc: "school uniform"}, {name: "femaleSchoolShort", type: "school", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("school shirt", "short school skirt"), desc: "school uniform"}, {name: "maleSchoolLong", type: "school", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("school blouse", "school trousers"), desc: "school uniform"}, {name: "femaleSchoolLong", type: "school", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("school blouse", "long school skirt"), desc: "school uniform"}, {name: "maleSchoolDress", type: "school", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("dress shirt", "school trousers"), desc: "school uniform"}, {name: "femaleSchoolDress", type: "school", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("dress shirt", "school skirt"), desc: "school uniform"}, {name: "maleSchoolBlazer", type: "school", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("school blazer", "school trousers"), desc: "school uniform"}, {name: "femaleSchoolBlazer", type: "school", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("school blazer", "long school skirt"), desc: "school uniform"}, {name: "teacher", type: "teacher", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("teacher's uniform", "teacher's slacks"), desc: "teacher's uniform"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "maleSchoolSwim", type: "schoolSwim", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("naked", "school swim shorts"), desc: "school swimsuit"}, {name: "maleSchoolSwimShirt", type: "schoolSwim", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("swim shirt", "school swim shorts"), desc: "school swimsuit"}, {name: "femaleSchoolSwim", type: "schoolSwim", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("school swimsuit top", "school swimsuit bottoms"), desc: "school swimsuit"}, {name: "maleSwim1", type: "beach", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("naked", "swim shorts"), desc: "swimsuit"}, {name: "maleSwim2", type: "beach", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("naked", "board shorts"), desc: "swimsuit"}, {name: "femaleSwim1", type: "beach", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("bikini top", "bikini bottoms"), desc: "bikini"}, {name: "femaleSwim2", type: "beach", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("microkini top", "microkini bottoms"), desc: "microkini"}, {name: "neutralSwim", type: "beach", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("swim shirt", "board shorts"), desc: "swimsuit"}, {name: "divingSuit", type: "beachDive", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("diving suit", "diving suit bottoms"), desc: "diving suit"}, {name: "sailor", type: "sailor", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("sailor shirt", "sailor trousers"), desc: "sailor outfit"}, {name: "docker1", type: "docker", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("hi-vis jacket", "cargo trousers"), desc: "hi-vis jacket and cargo trousers"}, {name: "docker2", type: "docker", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("denim shirt", "jeans"), desc: "denim shirt and jeans"}, {name: "docker3", type: "docker", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("hoodie", "cargo trousers"), desc: "hoodie and cargo trousers"}, {name: "docker4", type: "docker", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("vest", "jeans"), desc: "vest and jeans"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "malePolice", type: "police", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("police shirt", "police trousers"), desc: "police uniform"}, {name: "femalePolice", type: "police", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("police shirt", "police skirt"), desc: "police uniform"}, {name: "neutralPolice", type: "police", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("uniform shirt", "uniform trousers"), desc: "police uniform"}, {name: "maleRobe", type: "temple", gender: "m", outfit: 1, clothes: npcAssignClothesToSet("monk robe top", "monk robes"), desc: "robe"}, {name: "femaleRobe", type: "temple", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("nun robe top", "nun robe skirt"), desc: "robe"}, {name: "neutralRobe", type: "temple", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("robe top", "robes"), desc: "robe"}, {name: "neutralRobeBlack", type: "templeBlack", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("black robe top", "black robes"), desc: "black robe"}, {name: "prisonJumpsuit", type: "prison", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("jumpsuit shirt", "jumpsuit bottoms"), desc: "prison jumpsuit"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "maleFormal1", type: "formal", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("tuxedo shirt", "tuxedo trousers"), desc: "tuxedo"}, {name: "femaleFormal1", type: "formal", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("evening gown top", "evening gown"), desc: "formal gown"}, {name: "femaleFormal2", type: "formal", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("ballgown top", "ballgown skirt"), desc: "ballgown"}, {name: "neutralFormal", type: "formal", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("dress shirt", "breeches"), desc: "dress shirt and breeches"}, {name: "maleFormalRare", type: "formalRare", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("gothic jacket and vest", "gothic trousers"), desc: "gothic suit"}, {name: "femaleFormalRare", type: "formalRare", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("gothic gown top", "gothic gown"), desc: "gothic gown"}, {name: "business", type: "business", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("business suit top", "business trousers"), desc: "business suit"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "maleTown1", type: "town", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("t-shirt", "shorts"), desc: "t-shirt and shorts"}, {name: "femaleTown1", type: "town", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("sundress top", "sundress skirt"), desc: "sundress"}, {name: "maleTown2", type: "town", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("shirt", "trousers"), desc: "shirt and trousers"}, {name: "femaleTown2", type: "town", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("shirt", "skirt"), desc: "shirt and skirt"}, {name: "townTrack", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("tracksuit top", "tracksuit bottoms"), desc: "tracksuit"}, {name: "townCoat", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("peacoat", "slacks"), desc: "peacoat and slacks"}, {name: "townTurtleneck", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("turtleneck", "jeans"), desc: "turtleneck and jeans"}, {name: "townCollar", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("collared shirt", "khakis"), desc: "collared shirt and khakis"}, {name: "townBlazer", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("blazer", "trousers"), desc: "blazer and trousers"}, {name: "townJersey", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("sports jersey", "trousers"), desc: "sports jersey and trousers"}, {name: "townSweaterVest", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("sweater vest", "khakis"), desc: "sweater vest and khakis"}, {name: "townVNeck", type: "town", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("v neck", "jeans"), desc: "v neck shirt and jeans"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "maleWarm1", type: "warm", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("t-shirt", "shorts"), desc: "t-shirt and shorts"}, {name: "femaleWarm1", type: "warm", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("sundress top", "sundress skirt"), desc: "sundress"}, {name: "maleWarm2", type: "warm", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("tank top", "shorts"), desc: "tank top and shorts"}, {name: "femaleWarm2", type: "warm", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("blouse", "skirt"), desc: "blouse and skirt"}, {name: "maleWarmShirtless", type: "warm", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("naked", "shorts"), desc: "shorts"}, {name: "femaleWarmCrop", type: "warm", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("crop top", "miniskirt"), desc: "crop top and miniskirt"}, {name: "femaleWarmTank", type: "warm", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("tank top", "boyshorts"), desc: "tank top and boyshorts"}, {name: "neutralWarmBlazer", type: "warm", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("blazer", "shorts"), desc: "blazer and shorts"}, {name: "neutralWarmJersey", type: "warm", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("sports jersey", "jorts"), desc: "sports jersey and jorts"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "coldPuffer", type: "cold", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("puffer jacket", "slacks"), desc: "puffer jacket"}, {name: "coldTrench", type: "cold", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("trenchcoat", "jeans"), desc: "trenchcoat"}, {name: "coldCoat", type: "cold", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("coat", "jeans"), desc: "coat"}, {name: "coldHoodie", type: "cold", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("hoodie", "sweatpants"), desc: "hoodie"}, {name: "coldSweater", type: "cold", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("sweater", "sweatpants"), desc: "sweater and sweatpants"}, {name: "rainCoat", type: "rain", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("rain coat", "rain bottoms"), desc: "rain coat"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "wildsFlannel", type: "wilds", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("flannel", "jeans"), desc: "flannel and jeans"}, {name: "wildsWJumper", type: "wilds", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("woolen jumper", "khakis"), desc: "woolen jumper"}, {name: "wildsFJumper", type: "wilds", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("fleece jumper", "khakis"), desc: "fleece jumper"}, {name: "wildsJacket", type: "wilds", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("jacket", "khakis"), desc: "jacket and khakis"}, {name: "forestCamo", type: "forest", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("camo jacket", "camo bottoms"), desc: "camouflaged hunting outfit"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "brothelTrench", type: "brothel", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("trench coat", "assless chaps"), desc: "trench coat"}, {name: "brothelVest", type: "brothel", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("leather vest", "hot pants"), desc: "leather vest"}, {name: "brothelHarness", type: "brothel", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("leather harness", "leather trousers"), desc: "leather harness"}, {name: "bathrobe", type: "spa", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("bathrobe", "bathrobe"), desc: "bathrobe"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "compoundLab", type: "compoundLab", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("lab coat", "lab trousers"), desc: "lab coat"}, {name: "security", type: "security", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("security vest", "security trousers"), desc: "security uniform"}, {name: "doctor", type: "hospital", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("doctor's coat", "white trousers"), desc: "doctor uniform"}, {name: "nurse", type: "hospital", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("nurse's coat", "white skirt"), desc: "nurse uniform"}, {name: "patient", type: "patient", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("patient gown", "gown skirt"), desc: "patient gown"}, {name: "jumpsuit", type: "worker", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("jumpsuit top", "jumpsuit trousers"), desc: "jumpsuit"}, {name: "coveralls", type: "worker", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("coverall top", "coverall bottoms"), desc: "coveralls"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "maleUndies", type: "undies", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("naked", "briefs"), desc: "briefs"}, {name: "femaleUndies", type: "undies", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("bra", "panties"), desc: "bra and panties"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "dance", type: "dance_studio", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("dance shirt", "dance shorts"), desc: "dance uniform"}, {name: "maleBriar", type: "Briar", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("shirtless suit", "formal trousers"), desc: "shirtless suit"}, {name: "femaleBriar", type: "Briar", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("low-neck dress", "cropped dress skirt"), desc: "plunging neckline dress"}, {name: "riding", type: "riding", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("riding top", "riding trousers"), desc: "riding outfit"}, {name: "ridingFormal", type: "Remy", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("shadbelly coat", "chapette breeches"), desc: "formal riding outfit"}, {name: "Eden", type: "Eden", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("ramshackle hunting coat", "torn hunting trousers"), desc: "hunting outfit"}, {name: "Morgan", type: "Morgan", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("ruined suit", "ruined trousers"), desc: "ruined outfit"}, {name: "maleLandry", type: "Landry", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("grey sweater", "dark trousers"), desc: "grey sweater"}, {name: "femaleLandry", type: "Landry", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("grey cardigan", "dark trousers"), desc: "grey cardigan"}, {name: "Whitney", type: "Whitney", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("leather jacket", "torn jeans"), desc: "leather jacket"}, {name: "AlexJorts", type: "Alex", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("flannel", "jorts"), desc: "flannel and jorts"}, {name: "AlexSkirt", type: "Alex", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("flannel", "skirt"), desc: "flannel and skirt"}, {name: "maleAlexSleep", type: "Alex", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("t-shirt", "boxers"), desc: "t-shirt and boxers"}, {name: "femaleAlexSleep", type: "Alex", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("t-shirt", "boyshorts"), desc: "t-shirt and boyshorts"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "malePlantSpring", type: "plantSpring", gender: "m", outfit: 1, clothes: npcAssignClothesToSet("jacaranda vest", "bloomers"), desc: "mass of leafy coverings"}, {name: "femalePlantSpring", type: "plantSpring", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("blossoming growths", "bell flower dress"), desc: "mass of leafy coverings"}, {name: "plantSummer", type: "plantSummer", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("leaf shirt", "lotus skirt"), desc: "mass of leafy coverings"}, {name: "plantAutumn", type: "plantAutumn", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("leaf corset", "leaf skirt"), desc: "mass of leafy coverings"}, {name: "plantWinter", type: "plantWinter", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("pine top", "evergreen dress"), desc: "mass of leafy coverings"}, {name: "plantGeneric", type: "plant", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("plant top", "plant skirt"), desc: "plant top and skirt"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "robinGiftShirt", type: "robinGift", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("shirt", "shorts"), desc: "shirt and shorts"}, {name: "robinGiftSundress", type: "robinGift", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("sundress", "sundress skirt"), desc: "sundress"}, {name: "robinGiftTux", type: "robinGift", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("tuxedo", "tuxedo trousers"), desc: "tuxedo"}, {name: "robinGiftGown", type: "robinGift", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("gothic gown", "gothic gown"), desc: "gothic gown"}, {name: "robinGiftKimono", type: "robinGift", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("kimono", "kimono bottoms"), desc: "kimono"}, {name: "robinGiftChristmas", type: "robinGift", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("christmas top", "christmas bottoms"), desc: "christmas outfit"}, {name: "robinLewdRibbons", type: "robinRibbons", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("ribbons", "ribbons"), desc: "mass of ribbons"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "pyjamas", type: "sleep", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("pyjama shirt", "pyjama bottoms"), desc: "pyjama shirt and bottoms"}, {name: "ghost", type: "halloween", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("ghost sheet", "ghost sheet"), desc: "ghost costume"}, {name: "vampire", type: "halloween", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("vampire jacket", "vampire trousers"), desc: "vampire costume"}, {name: "witch", type: "halloween", gender: "f", outfit: 1, clothes: npcAssignClothesToSet("witch dress", "witch dress skirt"), desc: "witch costume"}, {name: "moonRobe", type: "Wraith", gender: "n", outfit: 1, clothes: npcAssignClothesToSet("flowing robe", "flowing robe"), desc: "flowing robe"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "sweater", type: "sweater", gender: "n", outfit: 0, clothes: npcAssignClothesToSet("sweater", "jeans"), desc: "sweater and jeans"}, /*--------------------------------------------------------------------------------------------------------------------------------------------------*/ {name: "maleDefault", type: "default", gender: "m", outfit: 0, clothes: npcAssignClothesToSet("shirt", "trousers"), desc: "shirt and trousers"}, {name: "femaleDefault", type: "default", gender: "f", outfit: 0, clothes: npcAssignClothesToSet("shirt", "skirt"), desc: "shirt and skirt"} ]>> <</widget>><<widget "charLightCombat">> <<if $options.characterLightEnabled and $options.images is 1 and $options.combatImages is 1>> <<set _position = _args[0] || "">> <<set _props = _args[1] || []>> <<if _position == "doggy">> <<if _props.includes("haybale") or _props.includes("milk")>> <<set _heightOffset = "225px">> <<elseif _props.includes("bench")>> <<set _heightOffset = "240px">> <<elseif _props.includes("table")>> <<set _heightOffset = "277px">> <</if>> <<elseif _position == "missionary">> <<if _props.includes("haybale") or _props.includes("milk")>> <<set _heightOffset = "225px">> <<elseif _props.includes("bench")>> <<set _heightOffset = "228px">> <<elseif _props.includes("table")>> <<set _heightOffset = "265px">> <</if>> <</if>> <div @class="'char-light-combat ' + _position" @style="'--light-intensity: ' + $options.lightCombat + (_heightOffset ? '; --height-offset: ' + _heightOffset : '')"></div> <</if>> <</widget>>/* Written for a bit of fun over a couple of hours, feel free to mod it in or re-work it. Follow the comments to run in the game. Lollipop Scythe */ /*Run at the start of the game and in version update*/ <<widget "portalPantiesSetup">> <<if $portalPanties is undefined>> <<set $portalPanties to { toPass: 0, totalPassed: 0, cooldown: 0, state: { mouth: null, anus: null, vagina: null, }, ownPenisOrgasms: { mouth: 0, anus: 0, vagina: 0, }, portalPenisOrgasms: { mouth: 0, anus: 0, vagina: 0, }, message: { started: [], continued: [], disappeared: [], finished: [], } }>> <</if>> <</widget>> /* Place '<<portalPantiesPass $pass>>' within <<widget "pass">> */ <<widget "portalPantiesPass">> <<if $event or playerChastity("hidden")>>/*Prevents it from running during events or if the player has a chastity belt*/ <<elseif $worn.under_lower.type.includes("Portal")>> <<set $portalPanties.totalPassed += _args[0]>> <<if $portalPanties.cooldown gte 0 and _args[0] gt 0>> <<set $portalPanties.cooldown to Math.clamp($portalPanties.cooldown - _args[0], 0, 1440)>> <</if>> <<if ["mouth","anus","vagina"].find((location) => $portalPanties.state[location])>> <<set $portalPanties.toPass to Math.clamp($portalPanties.toPass + _args[0], 0, 1440)>> <</if>> <<set $_penisLocation to ["mouth","anus","vagina"].find((location) => $portalPanties.state[location] and $portalPanties.state[location].owner is "pc")>> <<if $portalPanties.cooldown is 0>> /* Attempt to fill a hole */ <<set $_free to []>> <<if !$portalPanties.state.mouth>><<run $_free.push("mouth")>><</if>> <<if !$portalPanties.state.anus>><<run $_free.push("anus")>><</if>> <<if !$portalPanties.state.vagina>><<run $_free.push("vagina")>><</if>> <<set $_playersPPFree to $player.penisExist and $player.penissize gte 0 and !playerChastity("cage") and !$_penisLocation>> <<set $_toFill to $_free[random(0, $_free.length - 1)]>> <<if $_toFill>> <<portalPantiesFillHole $_toFill $_playersPPFree>> <</if>> /* Sets the cooldown, 1440 is 1 day */ <<if between($portalPanties.totalPassed, 0, 1440 * 2)>> <<set $portalPanties.cooldown to 720>> <<elseif between($portalPanties.totalPassed, 1440 * 2, 1440 * 5)>> <<set $portalPanties.cooldown to 360>> <<elseif between($portalPanties.totalPassed, 1440 * 5, 1440 * 10)>> <<set $portalPanties.cooldown to 180>> <<elseif between($portalPanties.totalPassed, 1440 * 10, 1440 * 20)>> <<set $portalPanties.cooldown to 90>> <<else>> <<set $portalPanties.cooldown to 30>> <</if>> <</if>> /*Runs the 'fucking' effect */ <<if $player.vaginaExist>> <<portalPantiesFuck "vagina" `$_penisLocation === "vagina" ? 2 : 1`>> <</if>> <<portalPantiesFuck "anus" `$_penisLocation === "anus" ? 2 : 1`>> <<portalPantiesFuck "mouth" `$_penisLocation === "mouth" ? 2 : 1`>> <<set $portalPanties.toPass to 0>> <<else>> /*Stop the effect if it should no longer apply */ <<set $portalPanties.cooldown to 0>> <<set $portalPanties.toPass to 0>> <<portalPantiesClear "vagina">> <<portalPantiesClear "anus">> <<portalPantiesClear "mouth">> <</if>> <</widget>> <<widget "portalPantiesFillHole">> <<if !$portalPanties.state[_args[0]]>> <<set $portalPanties.state[_args[0]] to { owner: _args[1] ? "pc" : "portal", size: _args[1] ? $player.penissize : random(1,4), timer: _args[1] ? null : random(5,15), type: _args[1] ? "human" : "human", new: true, tempRemoval: false, }>> <</if>> <</widget>> <<widget "portalPantiesFuck">> <<if $portalPanties.state[_args[0]] and !$portalPanties.state[_args[0]].new and !$portalPanties.state[_args[0]].tempRemoval>> <<switch _args[0]>> <<case "vagina">><<arousal `$portalPanties.toPass * _args[1] * 100` "vagina">> <<case "anus">><<arousal `$portalPanties.toPass * _args[1] * 100` "anus">> <<case "mouth">><<arousal `$portalPanties.toPass * _args[1] * 100` "oral">> <</switch>> <<if $portalPanties.state[_args[0]].timer>> <<set $portalPanties.state[_args[0]].timer -= $portalPanties.toPass>> <</if>> <</if>> <</widget>> <<widget "portalPantiesClear">> <<set $portalPanties.state[_args[0]] to null>> <</widget>> /* Place '<<portalPantiesDisplay>>' within '<<widget "effects">>' */ <<widget "portalPantiesDisplay">><<silently>> <<if $worn.under_lower.type.includes("Portal")>> <<if $player.vaginaExist>> <<portalPantiesDisplayItem "vagina">> <</if>> <<portalPantiesDisplayItem "anus">> <<portalPantiesDisplayItem "mouth">> <</if>> <</silently>><<portalPantiesDisplayMessage>> <</widget>> <<widget "portalPantiesDisplayItem">> <<if $portalPanties.state[_args[0]]>> <<set $_disabled to !!$event or !!$NPCList.name>> <<if $_disabled and !$portalPanties.state[_args[0]].tempRemoval and !$portalPanties.state[_args[0]].new>> <<set $portalPanties.message.disappeared.push(_args[0])>> <<set $portalPanties.state[_args[0]].tempRemoval to true>> <<elseif $_disabled>> <<elseif !$_disabled and $portalPanties.state[_args[0]].tempRemoval and !$portalPanties.state[_args[0]].new>> <<set $portalPanties.state[_args[0]].tempRemoval to false>> <<elseif $portalPanties.state[_args[0]].new>> <<set $portalPanties.message.started.push(_args[0])>> <<set $portalPanties.state[_args[0]].new to false>> <<else>> <<set $portalPanties.message.continued.push(_args[0])>> <<if $portalPanties.state[_args[0]].owner is "pc">> <<else>> <<if $portalPanties.state[_args[0]].timer lte 0>> <<set $portalPanties.message.finished.push(_args[0])>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "portalPantiesDisplayMessage">> <<penetrationPainCalculate>> <<set _awareOfPenis to $awareness gte 300>> <<set $_started to $portalPanties.message.started>> <<set $_continued to $portalPanties.message.continued>> <<set $_finished to $portalPanties.message.finished>> <<set $_disappeared to $portalPanties.message.disappeared>> <<set $_startedPlayerPenis to $_started.find((location) => $portalPanties.state[location] and $portalPanties.state[location].owner is "pc")>> <<set $_continuedPlayerPenis to $_continued.find((location) => $portalPanties.state[location] and $portalPanties.state[location].owner is "pc")>> <<set $_penisLocation to ["mouth","anus","vagina"].find((location) => $portalPanties.state[location] and $portalPanties.state[location].owner is "pc")>> <<if $_started.length>> You feel <<if _awareOfPenis>> <<print ($_started.length gt 1) ? "foreign penises" : "a foreign penis">> <<else>> <<print ($_started.length gt 1) ? "foreign objects" : "a foreign object">> <</if>> penetrate your <<print formatList($_started)>><<if $_startedPlayerPenis>>, while your penis is enveloped by <<if _awareOfPenis>>a <<print $_penisLocation>><<else>>something<</if>><</if>>. <</if>> <<if $_continued.length>> <<if !$_started.length>> <<if _awareOfPenis>> The foreign penis<<print ($_continued.length gt 1) ? "es" : "">> <<else>> The foreign object<<print ($_continued.length gt 1) ? "s" : "">> <</if>> <<else>> <<print ($_continued.length gt 1) ? "Those" : "The one">> <</if>> in your <<print formatList($_continued)>> <<print ($_continued.length gt 1) ? "are" : "is">> constantly thrusting into you<<if $_continuedPlayerPenis>>, while your penis is forced <<if _awareOfPenis>>to thrust into a <<print $_penisLocation>><<else>>in and out of something<</if>><</if>>.<<garousal>> <br> <</if>> <<if $_finished.length>> The one in your <<print formatList($_finished)>> releases something then disappears. <<for $_item range $_finished>> <<portalPantiesPortalCum $_item>> <</for>> <br> <</if>> <<if $_disappeared.length>> You feel the foreign <<if _awareOfPenis>> The foreign penis<<print ($_disappeared.length gt 1) ? "es" : "">> <<else>> The foreign object<<print ($_disappeared.length gt 1) ? "s" : "">> <</if>> in your <<print formatList($_disappeared)>> disappear suddenly, leaving you feeling empty. <br> <</if>> <<set _firstItem to true>> <<for $_item range $portalPanties.message.started>> <<portalPantiesDisplayVirginity $_item>> <</for>> <<if $_penisLocation>> <<portalPantiesDisplayVirginity "penis">> <</if>> <<set $portalPanties.message.started to []>> <<set $portalPanties.message.continued to []>> <<set $portalPanties.message.finished to []>> <<set $portalPanties.message.disappeared to []>> <</widget>> /*Every widget below here might need to be checked for issues, didn't spent too long on it */ <<widget "portalPantiesDisplayVirginity">><<silently>> <<switch _args[0]>> <<case "vagina">> <<if $player.virginity.vaginal is true>> <<takeVirginity "Portal Panties" "vaginal">> <<run console.log($vaginalPain, $portalPanties.state[_args[0]].size, $vaginalPain * (1.5 / (5 - ($portalPanties.state[_args[0]].size))))>> <<pain `$vaginalPain * $portalPanties.state[_args[0]].size`>> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <<set $_text_output to "<span class='red'>Despite your lack of a hymen, you feel <<if _awareOfPenis>>a penis<<else>>something<</if>> inside you change as your virginity and purity are taken.</span><<fallenTransform>><<ggpain>>">> <<else>> <<if $portalPanties.state[_args[0]].size is 4>> <<set $_text_output to "<span class='red'>Your hymen obliterated, you whimper as your <<pussy>> struggles to accommodate the <<if _awareOfPenis>>penis<<else>>object<</if>>.</span><<fallenTransform>><<ggpain>>">> <<else>> <<set $_text_output to "<span class='red'>Your hymen is torn as your vaginal virginity is taken by the <<if _awareOfPenis>>penis<<else>>object<</if>>.</span><<fallenTransform>><<ggpain>>">> <</if>> <</if>> <</if>> <<case "anus">> <<if $player.virginity.anal is true>> <<takeVirginity "Portal Panties" "anal">> <<pain `$analPain * (1.5 / (5 - ($portalPanties.state[_args[0]].size)))`>> <<if $portalPanties.state[_args[0]].size is 4>> <<set $_text_output to "<span class='red'>You whimper as your virgin anus struggles to accommodate the <<if _awareOfPenis>>penis<<else>>object<</if>>, violating you in a way you hadn't conceived of.</span><<ggpain>>">> <<else>> <<set $_text_output to "<span class='red'>Your anus virginity is taken, the <<if _awareOfPenis>>penis<<else>>object<</if>> violating you in a way you hadn't conceived of.</span><<ggpain>>">> <</if>> <</if>> <<case "mouth">> <<if $player.virginity.oral is true>> <<takeVirginity "Portal Panties" "oral">> <<set $_text_output to "<span class='red'>The <<if _awareOfPenis>>penis<<else>>object<</if>> in your mouth tastes strange.</span><<ggpain>>">> <</if>> <<case "penis">> <<if $player.virginity.penile is true>> <<set $_text_output to "<span class='red'>Your penis virginity is taken.</span><<fallenTransform>>">> <</if>> <</switch>> <</silently>><<if _firstItem>><br><<set _firstItem to false>><</if>><<print $_text_output>> <</widget>> <<widget "portalPantiesPortalCum">> <<switch _args[0]>> <<case "mouth">> <<oralejacstat>><<ejacstat>><<cumswallow $portalPanties.state[_args[0]].type undefined "forced">> <<set $portalPanties.portalPenisOrgasms.mouth++>> <<portalPantiesClear _args[0]>> <<case "anus">> <<recordSperm `{target: "pc", spermOwner: $portalPanties.state[_args[0]].owner, spermType: $portalPanties.state[_args[0]].type, genital: "anus"}`>> <<portalPantiesClear "anus">> <<analejacstat>><<ejacstat>><<set $hunger -= 200>><<set $thirst -= 200>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<set $portalPanties.portalPenisOrgasms.anus++>> <<portalPantiesClear _args[0]>> <<case "vagina">> <<recordSperm `{target: "pc", spermOwner: $portalPanties.state[_args[0]].owner, spermType: $portalPanties.state[_args[0]].type}`>> <<portalPantiesClear _args[0]>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<set $portalPanties.portalPenisOrgasms.vagina++>> <<portalPantiesClear _args[0]>> <</switch>> <</widget>> /* Place within '<<widget "orgasm">>' '<<elseif ["mouth","anus","vagina"].find((location) => $portalPanties.state[location] and $portalPanties.state[location].owner is "pc")>> <<portalPantiesPlayerCum>>' */ <<widget "portalPantiesPlayerCum">> <<if $portalPanties.state.mouth and $portalPanties.state.mouth.owner is "pc">> <span class="pink">You are overcome by sensation. A surge of cum erupts from your penis and goes straight into your mouth.</span> <<oralejacstat>><<ejacstat>><<cumswallow "human" undefined "selfForced">> <<portalPantiesClear "mouth">> <<set $portalPanties.ownPenisOrgasms.mouth++>> <<elseif $portalPanties.state.anus and $portalPanties.state.anus.owner is "pc">> <span class="pink">You are overcome by sensation. A surge of cum erupts from your penis and goes straight into your anus.</span> <<recordSperm `{target: "pc", spermOwner: "pc", spermType: "human", genital: "anus"}`>> <<portalPantiesClear "anus">> <<analejacstat>><<ejacstat>><<set $hunger -= 200>><<set $thirst -= 200>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<set $portalPanties.ownPenisOrgasms.anus++>> <<elseif $portalPanties.state.vagina and $portalPanties.state.vagina.owner is "pc">> <span class="pink">You are overcome by sensation. A surge of cum erupts from your penis and goes straight into your <<pussy>>.</span> <<recordSperm `{target: "pc", spermOwner: "pc", spermType: "human"}`>> <<portalPantiesClear "vagina">> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<set $portalPanties.ownPenisOrgasms.vagina++>> <</if>> <</widget>> /* Place within '<<widget "cumswallow">>' '<<elseif _args[2] is "forced">> <<if $ejactrait gte 1>> You swallow it, its <<print either("strong", "bitter", "sweet", "creamy", "sharp", "salty")>> taste pleasing. <<else>> You're forced to swallow it. <</if>> <<set $hunger -= 200>> <<set $thirst -= 200>> <<bodyliquid "mouth" "semen" 1>> <<elseif _args[2] is "selfForced">> <<if $ejactrait gte 1>> You swallow the cum, enjoying its personal taste. <<else>> You're forced to swallow the cum. <</if>> <<set $hunger -= 200>> <<set $thirst -= 200>> <<bodyliquid "mouth" "semen" 1>>' */<div id="clothingShop-div" class="main-shop-div"> <<schoolShop-main>> </div><<widget "schoolShop-main">> <<set $outside to 0>><<set $location to "school">><<effects>> <<set $shopName = "school">> <<if $tryOn.autoReset isnot false>><<tryOnReset>><</if>> <<if $school_shop_intro isnot 1>> <<set $school_shop_intro to 1>> Sydney nods, leading you to the other end of the counter. Shirts, trousers, and skirts hang from circular stands, while swimsuits stay compactly folded on shelves. <br><br> "You can find just about anything that matches the dress code here," <<he>> says, gesturing to the wall behind <<him>>. "There's also a small changing room, right this way. N-no one will peek, don't worry." <<His>> face turns red. <br><br> <<link [[Next|School Library Shop]]>><<endevent>><</link>> <br> <<else>> Around the corner from the rental counter is a small area reserved for school-sanctioned clothing. Shirts, trousers, and skirts hang from circular stands, while swimsuits stay compactly folded on shelves. <br><br> <<if $schoolShopAction is undefined>> <<set $schoolShopAction to []>> <</if>> <<run statusCheck("Sydney")>> <<if $schoolShopAction.includes("wear") or $schoolShopAction.includes("try") or $schoolShopAction.includes("under")>> <<if random(1,10) is 1>> You hear Sydney speaking outside. "Um, the changing room is currently occupied! Sorry." <<elseif !$daily.sydney.peek and random(1,10) is 2 and (_sydneyStatus.includes("corrupt") or _sydneyStatus.includes("Lust"))>> <<set $daily.sydney.peek to true>><<set $sydneySeen.pushUnique("changing room")>> You hear the curtain shift behind you. You quickly turn around and hear a gasp. <span class="lewd">Sydney's face disappears behind the curtain.</span> <<stress 3>><<gstress>><<npcincr Sydney lust 1>><<glust>><<arousal 50>><<garousal>> <<else>> Sydney patiently waits for you outside the changing room. <</if>> <<else>> Sydney patiently waits for you. <</if>> <br><br> <div id="tryonstats-div"><<tryOnStats>></div> <<unset $shopListStartCount>> <<unset $clothes_choice>> <<set $shopPage = 0>> <span>Warmth:</span> <<warmthscale>> <div id="warmth-description"> <<warmth_description>> </div> <br><br> <<clothingcategoryicon "all">> <<link "View All">><<replace "#clothingShop-div">><<AllShop>><</replace>><</link>> <br><br> <<if $debug is 1>> <<clothingcategoryicon "overoutfit">> <<link "View Over Outfits">><<replace "#clothingShop-div">><<OverOutfitShop>><</replace>><</link>> <br><br> <</if>> /* *<<clothingcategoryicon "outfit">> *<<link "View Outfits">><<replace "#clothingShop-div">><<OutfitShop>><</replace>><</link>> *<br> */ <<clothingcategoryicon "upper">> <<link "View Tops">><<replace "#clothingShop-div">><<TopShop>><</replace>><</link>> <br> <<clothingcategoryicon "lower">> <<link "View Bottoms">><<replace "#clothingShop-div">><<BottomShop>><</replace>><</link>> <br><br> <<clothingcategoryicon "underoutfit">> <<link "View Under Outfits">><<replace "#clothingShop-div">><<UnderOutfitShop>><</replace>><</link>> <br> <<clothingcategoryicon "underupper">> <<link "View Under Tops">><<replace "#clothingShop-div">><<UnderTopShop>><</replace>><</link>> <br> <<clothingcategoryicon "underlower">> <<link "View Under Bottoms">><<replace "#clothingShop-div">><<UnderBottomShop>><</replace>><</link>> <br><br> <<clothingcategoryicon "head">> <<link "View Head Accessories">><<replace "#clothingShop-div">><<HeadShop>><</replace>><</link>> <br> <<clothingcategoryicon "face">> <<link "View Face Accessories">><<replace "#clothingShop-div">><<FaceShop>><</replace>><</link>> <br> /* *<<clothingcategoryicon "neck">> *<<link "View Neck Accessories">><<replace "#clothingShop-div">><<NeckShop>><</replace>><</link>> *<br>*/ <<clothingcategoryicon "handheld">> <<link "View Handheld Items">><<replace "#clothingShop-div">><<HandheldShop>><</replace>><</link>> <br> <<clothingcategoryicon "hand">> <<link "View Hand Accessories">><<replace "#clothingShop-div">><<HandsShop>><</replace>><</link>> <br> <<clothingcategoryicon "legs">> <<link "View Legwear">><<replace "#clothingShop-div">><<LegsShop>><</replace>><</link>> <br> <<clothingcategoryicon "feet">> <<link "View Shoes">><<replace "#clothingShop-div">><<FeetShop>><</replace>><</link>> <br><br> <<run linkifyDivs('.button-back-to-shop')>> <<if $tryOn.value gt 0 and $tryOn.value lte $money>> <<sendItemsToDropdown>> <<link "Buy clothes and send to wardrobe">> <<buyTryOnClothes "wardrobe">> <<updatesidebarmoney>> <<updatesidebarimg>> <<updatesidebardescription>> <<updateallure>> <<updatewarmthscale>> <<updatewarmthdescription>> <<updateclothingshop>> <</link>> <br> <<elseif $tryOn.value is 0>> <<getouticon>><<link [[Leave|Library Rental Counter]]>><<shopClothingFilterReset>><<ShowUnderEquip "normal">><<endnpc>><<unset $clothes_choice>><<set $tryOn.autoReset to true>><<set $eventskip to 1>><<unset $tempDisable>><<shopCommandoCheck>><<endevent>><</link>> <br><br> <</if>> <</if>> <</widget>><div id="clothingShop-div" class="main-shop-div"> <<forestShop-main>> </div><<widget "forestShop-intro">> <<npc Gwylan>><<person1>> You enter the strange building. The interior is dark and crowded by tall shelves, holding all manner of items. <br><br> The quiet is broken by a scraping, then a thud. A mousy <<personsimple>> holding a stepladder appears at the end of the closest aisle. <<if $gwylan_rescue is 1>> It's Gwylan. <br><br> "You came!" <<else>> <br><br> "A customer!" <</if>> <<he>> says, dropping the ladder and walking over. <<He>> wipes <<his>> hands on <<his>> apron. "Welcome to my shop." <<if $gwylan_rescue is 1 and $gwylan_aborted gte 1>> <br><br> <<gwylanRescueApologyShop "Intro">> <<set $gwylan_aborted to 0>> <<elseif $gwylan_rescue isnot 1>> <br><br> <<He>> looks about your age, with mousy hair and a hint of freckles. "I'm older than I look," <<he>> says, as if reading your mind. "I'm Gwylan." <<He>> reaches forward, lifts your hand, and shakes it in both <<his>> own. "Pleased to meet you. I sell-" <<He>> pauses. "My grand<<father>> sells-" Another pause. "I sell knick-knacks here. Things you won't find in normal shops. Even I don't know what I have in stock!" <<He>> sounds proud. <br><br> "I hope you find something you like," <<he>> says, picking the ladder back up. "But don't worry if you don't. My grand<<father>> would say the objects here hide from people they don't want to be bought by." <<He>> laughs. "I could believe it." <</if>> <br><br> <<link [[Next|Forest Shop]]>><<endevent>><</link>> <br> <</widget>> <<widget "forestShop-text">> You are in the forest shop. The interior is dark and crowded by tall shelves, holding all manner of items. Most are useless knick-knacks, but some interest you. <br><br> <<if $gwylan_aborted gte 1>> <<gwylanRescueApologyShop>> <<set $gwylan_aborted to 0>> <<else>> You hear Gwylan shuffling somewhere in the gloom. <</if>> <<if $robin_in_forest_shop>> Robin is busy admiring the costumes. <<if !$halloween_robin_costume or $halloween_robin_costume is "ghost">> <br><br> <<link [[Talk to Robin|Robin Forest Costume Intro]]>><<forestShop-leave>><<clothingReset>><</link>> <</if>> <</if>> <</widget>> <<widget "forestShop-leave">> <<shopClothingFilterReset>><<unset $clothes_choice>><<ShowUnderEquip "normal">><<ShowUnderEquip "over">> <<set $tryOn.autoReset to true>><<set $eventskip to 1>><<unset $tempDisable>><<shopCommandoCheck>> <</widget>> <<widget "forestShop-main">> <<set $outside to 0>><<set $location to "forest_shop">><<effects>> <<set $shopName = "forest">> <<if $tryOn.autoReset isnot false>><<tryOnReset>><</if>> <<specialClothesUpdate>> <<if $forest_shop_intro isnot 1>> <<set $forest_shop_intro to 1>> <<forestShop-intro>> <<else>> <<forestShop-text>> <br><br> <div id="tryonstats-div"><<tryOnStats>></div> <<unset $shopListStartCount>> <<unset $clothes_choice>> <<set $shopPage = 0>> <span>Warmth:</span> <<warmthscale>> <div id="warmth-description"> <<warmth_description>> </div> <br><br> <<if $christmas_gift_robin is undefined and $christmas is 1 and C.npc.Robin.init is 1>> <<checkforloveinterests>> <<if isLoveInterest("Robin")>><<gifticon "love">><<else>><<gifticon "christmas">><</if>><<link [[Find a gift for Robin (0:10)|Forest Christmas Robin]]>><<pass 10>><</link>> <br> <</if>> <<if isPubfameTaskAccepted("gwylan")>> <<if $pubfame.gwylan.snowglobe isnot 1>> <<ind>><<link [[Look for the snow globe (0:20)|Forest Snowglobe]]>><<pass 20>><</link>> <<elseif $money gte 2000>> <<ind>><<link [[Purchase the snow globe (£20)|Forest Snowglobe Buy]]>><<money -2000>><</link>> <</if>> <br> <</if>> <<clothingcategoryicon "all">> <<link "View All">><<replace "#clothingShop-div">><<AllShop>><</replace>><</link>> <br><br> <<clothingcategoryicon "outfit">> <<link "Look behind the dark screen">><<replace "#clothingShop-div">><<OutfitShop>><</replace>><</link>> <br> <<clothingcategoryicon "upper">> <<link "Look in the antique wardrobe">><<replace "#clothingShop-div">><<TopShop>><</replace>><</link>> <br> <<clothingcategoryicon "lower">> <<link "Look on the strange ironing board">><<replace "#clothingShop-div">><<BottomShop>><</replace>><</link>> <br> <<clothingcategoryicon "underoutfit">> <<link "Look in the moldering hutch">><<replace "#clothingShop-div">><<UnderOutfitShop>><</replace>><</link>> <br> <<clothingcategoryicon "underupper">> <<link "Look on the rusted hangers">><<replace "#clothingShop-div">><<UnderTopShop>><</replace>><</link>> <br> <<clothingcategoryicon "underlower">> <<link "Look in the dusky drawer">><<replace "#clothingShop-div">><<UnderBottomShop>><</replace>><</link>> <br> <<clothingcategoryicon "head">> <<link "Look on the spindly hat stand">><<replace "#clothingShop-div">><<HeadShop>><</replace>><</link>> <br> <<clothingcategoryicon "face">> <<link "Look on the gnarled wall">><<replace "#clothingShop-div">><<FaceShop>><</replace>><</link>> <br> <<clothingcategoryicon "neck">> <<link "Look in the glowing box">><<replace "#clothingShop-div">><<NeckShop>><</replace>><</link>> <br> <<clothingcategoryicon "handheld">> <<link "Look in the rusty umbrella stand">><<replace "#clothingShop-div">><<HandheldShop>><</replace>><</link>> <br> <<clothingcategoryicon "hand">> <<link "Look in the tilted vanity">><<replace "#clothingShop-div">><<HandsShop>><</replace>><</link>> <br> <<clothingcategoryicon "legs">> <<link "Look in the worn stocking">><<replace "#clothingShop-div">><<LegsShop>><</replace>><</link>> <br> <<clothingcategoryicon "feet">> <<link "Look beneath the decaying rack">><<replace "#clothingShop-div">><<FeetShop>><</replace>><</link>> <br><br> <<run linkifyDivs('.button-back-to-shop')>> <<if $tryOn.value gt 0 and $tryOn.value lte $money>> <<sendItemsToDropdown>> <<link "Buy clothes">><<buyTryOnClothes "wear">><<updateclothingshop>><</link>> <br> <<link "Buy clothes and send to wardrobe">> <<buyTryOnClothes "wardrobe">> <<updatesidebarmoney>> <<updatesidebarimg>> <<updatesidebardescription>> <<updateallure>> <<updatewarmthscale>> <<updatewarmthdescription>> <<updateclothingshop>> <</link>> <br> <<elseif $tryOn.value is 0>> <<if $robin_in_forest_shop>> <<getouticon>><<link [[Leave with Robin (0:10)|Robin Forest Shop Home]]>><<endnpc "Gwylan">><<forestShop-leave>><<pass 10>><</link>> <<else>> <<getouticon>><<link [[Leave|Forest]]>><<endnpc "Gwylan">><<forestShop-leave>><</link>> <</if>> <</if>> <</if>> <</widget>><<effects>> You search through an assortment of strange clothes, before finding a Christmas-themed outfit in Robin's size. There's a price tag: "£80". <br><br> <<if $money gte 8000>> <<gifticon "christmas hat">><<link [[Buy it|Forest Christmas Robin Buy]]>><<set $christmas_gift_robin to "christmas_unwrapped">><</link>> <br> <</if>> <<getouticon>><<link [[Leave|Forest Shop]]>><</link>> <br><<effects>> You hand Gwylan the cash. <<if $christmas_wrap is undefined>>Now you just need wrapping paper. <span class="gold">You can buy some at the shopping centre.</span><<else>>You can wrap it in your room.<</if>> <br><br> <<link [[Next|Forest Shop]]>><</link>> <br><<effects>><<npc Gwylan>> You prowl around the shop, looking under cloaks, on top of shelves and behind dressing racks. There's a vague sense of organisation, but things are scattered around anyway, so it could be anywhere. You find a few snow globes, but none with anything written on the bottom. <br><br> "Are you looking for something in particular?" Gwylan says from beside you, startling you. <<He>> hadn't made a sound in <<his>> approach. "I know that look in your eye. You have something in mind." <br> <<if $speech_attitude is "meek">> "I'm trying to find a snow globe," you say. <<elseif $speech_attitude is "bratty">> "Yeah, there's a snow globe I'm looking for," you say. <<else>> "I'm looking for a specific snow globe," you say. <</if>> <br> <<He>> grins. "There's plenty of snow globes around, if that's the case." <br> You shake your head. "I need a specific one. It has something written on the bottom." <br><br> Gwylan thinks for a second. "I think I know which one you're talking about. Hold on." <<switch random(1,5)>> <<case 1>> <<He>> flips up a trapdoor in the floor a few feet away and pulls a snow globe out of a hidden compartment. You stare in bemusement. <<case 2>> <<He>> beelines for the shoe section, rummages through the sandals and pulls a snow globe out from the pile. You stare in bemusement. <<case 3>> <<He>> pushes a witch dress out of the way and enters what appears to be a hidden maintenance room. <<He>> emerges holding a snow globe. You stare in bemusement. <<case 4>> <<He>> quickly exits the shop. You see <<him>> reaching into a nearby bush before the door fully closes. <<He>> quickly enters again, holding a snow globe. You stare, bewildered. <<case 5>> <<He>> walks over to a shelf full of snow globes and plucks one out of the bunch. You resist the urge to groan. How did you miss that shelf? <</switch>> <br><br> <<He>> walks back to you and shows you the bottom. There's a string of random letters and numbers you can't understand. "This the one?" You nod. "Good! That'll be £20." <br><br> <<if $money gte 2000>> <<link [[Purchase the snow globe (£20)|Forest Snowglobe Buy]]>><<money -2000>><</link>> <<else>> You can't afford it. <</if>> <br> <<link [[Back|Forest Shop]]>><<set $pubfame.gwylan.snowglobe to 1>><<endevent>><</link>><<effects>><<npc Gwylan>><<wearProp "snowglobe">> You hand over the money to Gwylan, and <<he>> hands you the snow globe. "Don't know how you knew there'd be something on the bottom," <<he>> says. "I bet it was looking for you, just as much as you were looking for it!" <br><br> <<pubfameComplete "gwylan">> <<link [[Next|Forest Shop]]>><<endevent>><</link>><<widget "specialClothesEffectsSetup">> <<if $specialClothesEffects is undefined>> <<set $specialClothesEffects to { bimbo: { progress: 0, total: 0, message: 0 }, pimp: { progress: 0, total: 0, message: 0 }, }>> <</if>> <</widget>> <<widget "lustfulCheck">> <<for _type range ["bimbo", "pimp"]>> <<if $worn[_args[0]].type.includes(_type)>> <<set $specialClothesEffects[_type].progress++>> <</if>> <</for>> <</widget>> <<widget "lustfulUpdate">> <<if $specialClothesEffects.bimbo.progress gt 0 || $specialClothesEffects.pimp.progress gt 0>> <<if $specialClothesEffects.bimbo.progress gt 0 and $specialClothesEffects.pimp.progress gt 0>> <<set _type to $player.gender_appearance is "f" ? "bimbo" : "pimp">> <<else>> <<set _type to $specialClothesEffects.bimbo.progress gt 0 ? "bimbo" : "pimp">> <</if>> <<set _lustful to $specialClothesEffects[_type]>> <</if>> <<if _lustful>> <<set $breastgrowthtimer += (_type is "bimbo" ? -1 : 1) * _lustful.progress * 5>> <<set $bottomgrowthtimer += (_type is "bimbo" ? -1 : 1) * _lustful.progress * 5>> <<if $player.penisExist>> <<set $penisgrowthtimer += (_type is "bimbo" ? 1 : -1) * _lustful.progress * 5>> <</if>> <<if _lustful.total lt 10000>> <<set _lustful.total += _lustful.progress>> <</if>> <<set $specialClothesEffects.bimbo.progress to 0>> <<set $specialClothesEffects.pimp.progress to 0>> <<if _lustful.total gte 400 and _lustful.message is 0>> <<set _lustful.message to 1>><<set _skipEvent to true>> <<if (_type is "bimbo" and $player.gender_body is "m") || (_type is "pimp" and $player.gender_body is "f")>> <<set $player.gender_body to "a">> <</if>> <<run $timeMessages.pushUnique(_type is "bimbo" ? "bimboMessage1" : "pimpMessage1")>> <<elseif _lustful.total lt 400 and _lustful.message is 1>> <<set _lustful.message to 0>> <</if>> <<if _lustful.total gte 800 and _lustful.message is 1 and _skipEvent isnot true>> <<set _lustful.message to 2>><<set _skipEvent to true>> <<if _type is "bimbo" and $player.gender_body isnot "f">> <<set $player.gender_body to "f">> <<elseif _type is "pimp" and $player.gender_body isnot "m">> <<set $player.gender_body to "m">> <</if>> <<run $timeMessages.pushUnique(_type is "bimbo" ? "bimboMessage2" : "pimpMessage2")>> <<elseif _lustful.total lt 800 and _lustful.message is 2>> <<set _lustful.message to 1>> <</if>> <<if _lustful.total gte 1200 and _lustful.message is 2 and _skipEvent isnot true>> <<set _lustful.message to 3>> <<if !$backgroundTraits.includes("lustful")>> <<run $backgroundTraits.pushUnique("lustful")>> <</if>> <<arousal 10000>> <<run $timeMessages.pushUnique("bimboMessage3")>> <<elseif _lustful.total lt 1200 and _lustful.message is 3>> <<set _lustful.message to 2>> <</if>> <</if>> <</widget>> <<widget "heelsUpdate">> <<if $worn.feet.type.includes("heels")>> <<if currentSkillValue("feetskill") lt $worn.feet.reveal>> <<set $tiredness += (($worn.feet.reveal - currentSkillValue("feetskill")) / 150)>> <</if>> <</if>> <</widget>><<widget "storeactions">> <<set _temp_strip to _args[0]>> <<exposure>> <<outfitChecks>> <<otherOutfitChecks>> <<if $action_unclad_over_outfit is 1>> <<unset $action_unclad_over_outfit>> <<if $worn.upper.name isnot "naked" and $worn.lower.name isnot "naked">> You remove your $worn.over_upper.name. <<elseif _temp_strip is "wolfcave">> You remove your $worn.over_upper.name. They may be animals, but stripping in front of them makes a chill run through your spine. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.over_upper.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.over_upper.name. Despite being alone, doing this in a public space makes a chill run through your spine. <br> <</if>> <<overupperundress _temp_strip>> <</if>> <<if $action_unclad_over_upper is 1>> <<unset $action_unclad_over_upper>> <<if $worn.upper.name isnot "naked">> You remove your $worn.over_upper.name. <<elseif _temp_strip is "wolfcave">> You remove your $worn.over_upper.name. They may be animals, but stripping in front of them makes your <<nipples>> erect and your newly-exposed skin tingle. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.over_upper.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.over_upper.name. Despite being alone, doing this in a public space makes your <<nipples>> erect and your newly-exposed skin tingle. <br> <</if>> <<overupperundress _temp_strip>> <</if>> <<if $action_unclad_over_lower is 1>> <<unset $action_unclad_over_lower>> <<if $worn.lower.name isnot "naked">> You remove your $worn.over_lower.name. <<elseif _temp_strip is "wolfcave">> You remove your $worn.over_lower.name. They may be animals, but stripping in front of them makes you shiver delightfully. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.over_lower.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.over_lower.name. Despite being alone, doing this in a public space makes you shiver delightfully. <br> <</if>> <<overlowerundress _temp_strip>> <</if>> <<if $action_unclad_outfit is 1>> <<unset $action_unclad_outfit>> <<if _temp_strip is "wolfcave">> You remove your $worn.upper.name. They may be animals, but stripping in front of them makes a chill run through your spine. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.upper.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.upper.name. Despite being alone, doing this in a public space makes a chill run through your spine. <br> <</if>> <<upperundress _temp_strip>> <</if>> <<if $action_unclad_upper is 1>> <<unset $action_unclad_upper>> <<if _temp_strip is "wolfcave">> You remove your $worn.upper.name. They may be animals, but stripping in front of them makes your <<nipples>> erect and your newly-exposed skin tingle. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.upper.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.upper.name. Despite being alone, doing this in a public space makes your <<nipples>> erect and your newly-exposed skin tingle. <br> <</if>> <<upperundress _temp_strip>> <</if>> <<if $action_unclad_lower is 1>> <<unset $action_unclad_lower>> <<if _temp_strip is "wolfcave">> You remove your $worn.lower.name. They may be animals, but stripping in front of them makes you shiver delightfully. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.lower.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.lower.name. Despite being alone, doing this in a public space makes you shiver delightfully. <br> <</if>> <<lowerundress _temp_strip>> <</if>> <<if $action_unclad_under_outfit is 1>> <<unset $action_unclad_under_outfit>> <<if _temp_strip is "wolfcave">> You remove your $worn.under_upper.name. They may be animals, but stripping in front of them makes a chill run through your spine. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.under_upper.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.under_upper.name. Despite being alone, doing this in a public space makes a chill run through your spine. <br> <</if>> <<underupperundress _temp_strip>><<underlowerundress _temp_strip>> <</if>> <<if $action_unclad_under_upper is 1>> <<unset $action_unclad_under_upper>> <<if _temp_strip is "wolfcave">> You remove your $worn.under_upper.name. They may be animals, but stripping in front of them makes your skin and <<genitals 1>> tingle. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.under_upper.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.under_upper.name. Despite being alone, doing this in a public space makes your skin and <<genitals 1>> tingle. <br> <</if>> <<underupperundress _temp_strip>> <</if>> <<if $action_unclad_under_lower is 1>> <<unset $action_unclad_under_lower>> <<if _temp_strip is "wolfcave">> You remove your $worn.under_lower.name. They may be animals, but stripping in front of them makes your skin and <<genitals 1>> tingle. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.under_lower.name.<<if $bird.activity is "bathe">> The <<beasttype>> doesn't seem to mind your exposure.<</if>> <br> <<else>> You check to make sure no one is around, then slowly remove your $worn.under_lower.name. Despite being alone, doing this in a public space makes your skin and <<genitals 1>> tingle. <br> <</if>> <<underlowerundress _temp_strip>> <</if>> <<if $action_unclad_legs is 1>> <<unset $action_unclad_legs>> <<if _temp_strip is "wolfcave">> You remove your $worn.legs.name. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.legs.name<<if $worn.feet.type.includes("naked")>> and dip your feet into the water<</if>>.<<if $bird.activity is "bathe">> The <<beasttype>> looks at your legs, then at <<bhis>> own quizzically.<</if>> <<else>> You remove your $worn.legs.name. <br> <</if>> <<legsundress _temp_strip>> <</if>> <<if $action_unclad_feet is 1>> <<unset $action_unclad_feet>> <<if _temp_strip is "wolfcave">> You remove your $worn.feet.name. You're glad you aren't the only one barefoot here. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.feet.name<<if $worn.legs.type.includes("naked")>> and dip your feet into the water<</if>>.<<if $bird.activity is "bathe" and $monster is 1>> The <<beasttype>> almost looks envious of your ability to hide your "talons".<</if>> <<else>> You remove your $worn.feet.name. <br> <</if>> <<feetundress _temp_strip>> <</if>> <<if $action_unclad_neck is 1>> <<unset $action_unclad_neck>> <<if _temp_strip is "wolfcave">> You remove your $worn.neck.name. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.neck.name. <<else>> You remove your $worn.neck.name. <br> <</if>> <<neckundress _temp_strip>> <</if>> <<if $action_unclad_over_head is 1>> <<unset $action_unclad_over_head>> <<if _temp_strip is "wolfcave">> You remove your $worn.over_head.name. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.over_head.name. <<else>> You remove your $worn.over_head.name. <br> <</if>> <<overheadundress _temp_strip>> <</if>> <<if $action_unclad_head is 1>> <<unset $action_unclad_head>> <<if _temp_strip is "wolfcave">> You remove your $worn.head.name. <br> <<elseif _temp_strip is "birdtower">> You remove your $worn.head.name. <<else>> You remove your $worn.head.name. <br> <</if>> <<headundress _temp_strip>> <</if>> <<if $action_unclad_face is 1>> <<unset $action_unclad_face>> You remove your $worn.face.name. <br> <<faceundress _temp_strip>> <</if>> <<if $action_unclad_handheld is 1>> <<unset $action_unclad_handheld>> <<if _temp_strip isnot "lockers" and _temp_strip isnot "lockers2">> You put down your $worn.handheld.name. <br> <</if>> <<handheldundress _temp_strip>> <</if>> <<if $action_unclad_hands is 1>> <<unset $action_unclad_hands>> <<if _temp_strip is "wolfcave">> You remove your $worn.hands.name. You try to think up a pun about being "bear handed", but then remember you're surrounded by wolves, not bears. <br> <<else>> You remove your $worn.hands.name. <br> <</if>> <<handsundress _temp_strip>> <</if>> <<for _active_clothes range Object.keys($store)>> <<for _i to 0; _i lt $store[_active_clothes].length; _i++>> <<if $store[_active_clothes][_i].location is _temp_strip>> <<set _temp_clothes_present to 1>> <</if>> <</for>> <</for>> <<if _temp_clothes_present is 1 and _temp_strip isnot "lakeshore" and _temp_strip isnot "lockers" and _temp_strip isnot "lockers2">> <br> <<dressasyouwereicon>><<link [[Get dressed|$passage]]>><<storeon _temp_strip "noreplace">><<set $eventskip to 1>><</link>> <br> <</if>> /*Just in case some items are removed*/ <<outfitChecks>> <<otherOutfitChecks>> <<set _stripOptions to {}>> <!-- set up the checks --> <<set _over_upper_protected to $worn.over_upper.exposed lt 2 or $player.gender_appearance_without_overwear isnot "f"; _over_lower_protected to $worn.over_lower.exposed lt 2 and !setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt; _upper_protected to $worn.upper.exposed lt 2 or $player.gender_appearance_without_overwear isnot "f"; _lower_protected to $worn.lower.exposed lt 2 and !setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt; _under_upper_protected to !$worn.under_upper.exposed or $player.gender_appearance_without_overwear isnot "f"; _under_lower_protected to !$worn.under_lower.exposed; >> <<if _temp_strip isnot "lockers" and _temp_strip isnot "lockers2">> <<if !$worn.over_upper.cursed and !$worn.over_lower.cursed and _overOutfit>> <!-- over outfit can be stripped --> <<if hasSexStat("exhibitionism", 2) or ((_lower_protected or _under_lower_protected) and (_upper_protected or _under_upper_protected))>> <!-- pc will still be protected after stripping (or won't care) --> <<set _stripOptions[$worn.over_upper.name] to "stripOverOutfit">> <</if>> <</if>> <<if !$worn.over_upper.cursed and $worn.over_upper.name isnot "naked" and !_overOutfit>> <!-- over_upper can be stripped --> <<if hasSexStat("exhibitionism", 2) or _upper_protected or _under_upper_protected>> <<set _stripOptions[$worn.upper.name] to "stripOverUpper">> <</if>> <</if>> <<if !$worn.over_lower.cursed and $worn.over_lower.name isnot "naked" and !_overOutfit>> <!-- over_lower can be stripped --> <<if hasSexStat("exhibitionism", 3) or _lower_protected or _under_lower_protected>> <<set _stripOptions[$worn.over_lower.name] to "stripOverLower">> <</if>> <</if>> <<if !$worn.upper.cursed and !$worn.lower.cursed and _middleOutfit>> <<if hasSexStat("exhibitionism", 2) or ((_over_lower_protected or _under_lower_protected) and (_over_upper_protected or _under_upper_protected))>> <<set _stripOptions[$worn.upper.name] to "stripOutfit">> <</if>> <</if>> <<if $worn.upper.cursed isnot 1 and $worn.upper.name isnot "naked" and !_middleOutfit>> <<if hasSexStat("exhibitionism", 2) or _over_upper_protected or _under_upper_protected>> <<set _stripOptions[$worn.upper.name] to "stripUpper">> <</if>> <</if>> <<if !$worn.lower.cursed and $worn.lower.name isnot "naked" and !_middleOutfit>> <<if hasSexStat("exhibitionism", 3) or _over_lower_protected or _under_lower_protected>> <<set _stripOptions[$worn.lower.name] to "stripLower">> <</if>> <</if>> <<if !$worn.under_upper.cursed and !$worn.under_lower.cursed and _underOutfit>> <<if hasSexStat("exhibitionism", 2) or ((_over_lower_protected or _lower_protected) and (_over_upper_protected or _upper_protected))>> <<set _stripOptions[$worn.under_upper.name] to "stripUnderOutfit">> <</if>> <</if>> <<if !$worn.under_upper.cursed and $worn.under_upper.name isnot "naked" and !_underOutfit>> <<if hasSexStat("exhibitionism", 2) or _over_upper_protected or _upper_protected>> <<set _stripOptions[$worn.under_upper.name] to "stripUnderUpper">> <</if>> <</if>> <<if !$worn.under_lower.cursed and $worn.under_lower.name isnot "naked" and !_underOutfit>> <<if hasSexStat("exhibitionism", 3) or _over_lower_protected or _lower_protected>> <<set _stripOptions[$worn.under_lower.name] to "stripUnderLower">> <</if>> <</if>> <<if !$worn.legs.cursed and !_otherOutfits.legs and $worn.legs.name isnot "naked">> <<set _stripOptions[$worn.legs.name] to "stripLegs">> <</if>> <<if !$worn.feet.cursed and !_otherOutfits.feet and $worn.feet.name isnot "naked">> <<set _stripOptions[$worn.feet.name] to "stripFeet">> <</if>> <<if !$worn.neck.cursed and !_otherOutfits.neck and $worn.neck.name isnot "naked">> <<set _stripOptions[$worn.neck.name] to "stripNeck">> <</if>> <<if !$worn.over_head.cursed and !_otherOutfits.over_head and $worn.over_head.name isnot "naked">> <<set _stripOptions[$worn.over_head.name] to "stripOverHead">> <</if>> <<if !$worn.head.cursed and !_otherOutfits.head and $worn.head.name isnot "naked">> <<set _stripOptions[$worn.head.name] to "stripHead">> <</if>> <<if !$worn.face.cursed and !_otherOutfits.face and $worn.face.name isnot "naked">> <<set _stripOptions[$worn.face.name] to "stripFace">> <</if>> <<if !$worn.hands.cursed and !_otherOutfits.hands and $worn.hands.name isnot "naked">> <<set _stripOptions[$worn.hands.name] to "stripHands">> <</if>> <</if>> <<if !$worn.handheld.cursed and !_otherOutfits.handheld and $worn.handheld.name isnot "naked">> <<set _stripOptions[$worn.handheld.name] to "stripHandheld">> <</if>> <<if Object.keys(_stripOptions).length gt 0>> <<if _temp_strip isnot "lockers" and _temp_strip isnot "lockers2">> Remove<<if _temp_strip isnot "birdtower">> and hide<</if>> your... <<listbox "$storeActions">> <<optionsfrom _stripOptions>> <</listbox>> <<link [[Confirm|$passage]]>> <<set $eventskip to 1>> <<switch $storeActions>> <<case "stripOverOutfit">><<set $action_unclad_over_outfit to 1>> <<case "stripOverUpper">><<set $action_unclad_over_upper to 1>> <<case "stripOverLower">><<set $action_unclad_over_lower to 1>> <<case "stripOutfit">><<set $action_unclad_outfit to 1>> <<case "stripUpper">><<set $action_unclad_upper to 1>> <<case "stripLower">><<set $action_unclad_lower to 1>> <<case "stripUnderOutfit">><<set $action_unclad_under_outfit to 1>> <<case "stripUnderUpper">><<set $action_unclad_under_upper to 1>> <<case "stripUnderLower">><<set $action_unclad_under_lower to 1>> <<case "stripLegs">><<set $action_unclad_legs to 1>> <<case "stripFeet">><<set $action_unclad_feet to 1>> <<case "stripNeck">><<set $action_unclad_neck to 1>> <<case "stripOverHead">><<set $action_unclad_over_head to 1>> <<case "stripHead">><<set $action_unclad_head to 1>> <<case "stripFace">><<set $action_unclad_face to 1>> <<case "stripHands">><<set $action_unclad_hands to 1>> <<case "stripHandheld">><<set $action_unclad_handheld to 1>> <<default>> <</switch>> <</link>> <br><br> <<elseif (_temp_strip is "lockers" and clothingInStorage("lockers").length is 0 and clothingInStorage("lockers2").length is 0)>> <br> <<lockericon>> <<link [[`Put your ${$worn.handheld.name} in your locker`|$passage]]>> <<set $eventskip to 1>> <<set $action_unclad_handheld to 1>> <</link>> <br> <</if>> <</if>> <<exposure>> <</widget>><<widget "wardrobewear">> <!-- Note: Don't use $_ in this widget, because this widget gets <<replace>>'d into the passage body --> <<if $wardrobes[$wardrobe_location] is undefined>> <span class="red">A wardrobe error occurred, please report. The default wardrobe will be shown in place of the intended wardrobe.</span> <br> <!--$wardrobe_location should always point to a specific wardrobe inside of $wardrobes--> wardrobe_location: <<print $wardrobe_location>> <br> passage: <<print $passage>> <br><br> <<wardrobeSelection true>> <</if>> <<set _selectedWardrobe to selectWardrobe()>> <<wardrobeSanityCheck>> <<if $clothingShop.stolenClothes gt 0>> <<set $clothingShop.stolenClothes to 0>> <span class="gold">You place the clothes you recently stole from the shop in your wardrobe.</span> <br> <</if>> <<if $adultShop isnot undefined and $adultShop.stolenClothes gt 0>> <<set $adultShop.stolenClothes to 0>> <span class="gold">You place the clothes you recently stole from the adult shop in your wardrobe.</span> <br> <</if>> <<if _wearAction is "strip">> You remove your clothing. <br><br> <<undress $wardrobe_location>> <</if>> <<wearoutfit>> <<if $randomWear>> <<randomWear>> <</if>> <<set _equip to ["over_upper", "over_lower", "upper", "lower", "under_upper", "under_lower", "over_head", "head", "face", "neck", "hands", "handheld", "legs", "feet", "genitals"]>> <<set _slimePrevent to ["upper", "lower", "under_upper", "under_lower"]>> <<set _towelCheck to ["upper", "lower"]>> <<set _equipSkip to {"over_upper":false, "over_lower":false, "upper":false, "lower":false, "under_upper":false, "under_lower":false, "over_head":false, "head":false, "face":false, "neck":false, "hands":false, "handheld":false, "legs":false, "feet":false, "genitals":false}>> <<set _eIndextemNames to []>> <<for _slot range _equip>> <<unset _outfitPieceIds>> <<unset _item>> <<if _equipSkip[_slot] is true>> <<continue>> <</if>> <<if !Object.keys($worn).includes(_slot)>> <<continue>> <<else>> <<set _wearId to V["wear_"+_slot]>> <</if>> <<if _wearId is "none">> <<continue>> <</if>> <<if $wardrobeOption is "wear" or ["strip","towel","large_towel"].includes(_wearId)>> /*Checks for cursed equip*/ <<unset _cursedPrevent>> <<set _wornOutfitPrimary to $worn[_slot].outfitPrimary>> <<if $worn[_slot].cursed is 1>> You try to remove the <<print $worn[_slot].name>>, but fail. <<cursedtext $worn[_slot].name>> <br> <<set _cursedPrevent to true>> <</if>> <<if _wornOutfitPrimary isnot undefined>> <<for $_outfitPieceSlot, $_outfitPieceName range _wornOutfitPrimary>> <<if $worn[$_outfitPieceSlot].cursed is 1 and _cursedPrevent isnot true>> <<capture $_outfitPieceSlot>> <<cursedtext $worn[$_outfitPieceSlot].name>> <</capture>> <<set _cursedPrevent to true>> <</if>> <</for>> <</if>> <<if _cursedPrevent is true>> <<continue>> <</if>> /*Strips equip and puts it in the wardrobe*/ <<if _wearId is "strip" and $worn[_slot].name isnot "naked">> You remove the <<print $worn[_slot].name>>. <<generalUndress $wardrobe_location _slot>> <br> <<if _wornOutfitPrimary isnot undefined>> <<for $_outfitPieceSlot, $_outfitPieceName range _wornOutfitPrimary>> <<if $_outfitPieceName isnot "broken" and $_outfitPieceName isnot "split" and $worn[$_outfitPieceSlot].name isnot "naked">> You remove the <<print $worn[$_outfitPieceSlot].name>>. <<generalUndress $wardrobe_location $_outfitPieceSlot>> <</if>> <</for>> <</if>> <<continue>> <</if>> <<unset _wornOutfitPrimary>> /*Strips equip, puts it in the wardrobe and equips a towl*/ <<if _wearId is "towel" and _towelCheck.includes(_slot)>> <<generalUndress $wardrobe_location _slot>> <<set $worn[_slot] to clone(setup.clothes[_slot][3])>><<set $worn[_slot].colour to clone($worn[_slot].colour_options.random())>> <<if _slot is "upper">> You tie a towel around your chest. <<else>> You tie a towel around your waist. <</if>> <br><br> <<continue>> <</if>> <<if _wearId is "large_towel" and _slot is "upper">> <<generalUndress $wardrobe_location "upper">><<generalUndress $wardrobe_location "lower">> <<set $worn.upper to clone(setup.clothes.upper[14])>><<set $worn.upper.colour to clone($worn.upper.colour_options.random())>> <<set $worn.lower to clone(setup.clothes.lower[15])>><<set $worn.lower.colour to clone($worn.upper.colour)>> You tie a large towel around your chest. <br><br> <<continue>> <</if>> <</if>> /*Find the item to equip*/ <<if _wearId gte 0>> <<set _item to _selectedWardrobe[_slot][_wearId]>> <<else>> <<continue>> <</if>> /*Prevent equip when preggy*/ <<if playerBellySize() gte 12 and _item.type.includes("constricting") and $wardrobeOption is "wear">> <<if _item.type.includes("chest_bind")>> <span class="red">Your pregnant body is too sensitive to wear your _item.name.</span> <<else>> <span class="red">Your <<bellyDescription "pc">> is too large to wear your _item.name.</span> <</if>> <br> <<continue>> <</if>> /*Prevent equip when the ear slime doesn't allow it*/ <<if _slimePrevent.includes(_slot) and $wardrobeOption is "wear" and $earSlime.corruption gte 10>> <<if $earSlime.forcedCommando isnot undefined and (_slot is "under_lower" or (_item.outfitPrimary and _item.outfitPrimary.under_lower and !["broken","split"].includes(_item.outfitPrimary.under_lower)))>> <<if _item.type.includes("naked") or (_earSlimeEnableSwimwear and _item.type.includes("swim")) or (_earSlimeEnableDancewear and _item.type.includes("dance"))>> <<elseif $earSlime.forcedCommando gt 0>> <span class="red">You are unable to equip your _item.name, as the slime in your ear is forcing you to go commando.</span> <br> <<continue>> <<else>> <<run delete $earSlime.forcedCommando>> <</if>> <<elseif _item.reveal lt earSlimeCorruptionClothes() and (["prison", "asylum"].includes($location) or !_allowSchoolClothes) and !_item.type.includesAny("event")>> <span class="red">You were unable to equip your _item.name as the slime in your ear did not permit it.</span> <br> <<continue>> <<elseif $earSlime.forcedDressing and _item.gender isnot $earSlime.forcedDressing.type and _item.gender isnot "n" and !_item.type.includesAny("event")>> <<if $earSlime.forcedDressing.days gt 0>> <span class="red">You are unable to equip your _item.name, as the slime in your ear is only permitting more <<print $earSlime.forcedDressing.type is "f" ? "feminine" : "masculine">> clothing.</span> <br> <<continue>> <<else>> <<run delete $earSlime.forcedDressing>> <</if>> <</if>> <</if>> /*Finds any outfit pieces and records the Ids*/ <<set _outfitPieceIds to {}>> <<if _item.outfitPrimary isnot undefined>> <<for $_outfitPieceSlot, $_outfitPieceName range _item.outfitPrimary>> <<if $_outfitPieceName is "broken" or $_outfitPieceName is "split">> <<continue>> <</if>> <<for $_outfitPieceId, $_wardrobeItem range _selectedWardrobe[$_outfitPieceSlot]>> <<if $_wardrobeItem.name isnot $_outfitPieceName>> <<continue>> <</if>> <<if _item.colour isnot $_wardrobeItem.colour or ($_wardrobeItem.accessory isnot 0 and _item.accessory_colour isnot $_wardrobeItem.accessory_colour) or ($_wardrobeItem.pattern and _item.pattern and $_wardrobeItem.pattern isnot 0 and _item.pattern isnot $_wardrobeItem.pattern)>> <<continue>> <</if>> <<if $_wardrobeItem.outfitSecondary[1] isnot _item.name>> <<continue>> <</if>> <<set _matched to 0>> <<if $_wardrobeItem.colour isnot "custom" or (_item.colourCustom isnot undefined and _item.colourCustom is $_wardrobeItem.colourCustom)>> <<set _matched++>> <</if>> <<if $_wardrobeItem.accessory is 0 or $_wardrobeItem.accessory_colour isnot "custom" or (_item.accessory_colourCustom isnot undefined and _item.accessory_colourCustom is $_wardrobeItem.accessory_colourCustom)>> <<set _matched++>> <</if>> <<if _matched is 2>> <<set _outfitPieceIds[$_outfitPieceSlot] to $_outfitPieceId>> <<set _equipSkip[$_outfitPieceSlot] to true>> <<break>> <</if>> <</for>> <</for>> <</if>> <<if $wardrobeOption is "delete">> /*Delete the relating items*/ <<for $_outfitSlot, $_outfitId range _outfitPieceIds>> <<set _selectedWardrobe[$_outfitSlot].deleteAt($_outfitId)>> <</for>> You discard the <<print _item.name>>. <<set _selectedWardrobe[_slot].deleteAt(_wearId)>> <br> <<elseif $wardrobeOption is "repair">> <<set _item.integrity to clothingData(_slot,_item,'integrity_max')>> <<set $_timeSpent to 5>> /*Repair the relating items*/ <<for $_outfitSlot, $_outfitId range _outfitPieceIds>> <<set _selectedWardrobe[$_outfitSlot][$_outfitId].integrity to clothingData($_outfitSlot,_selectedWardrobe[$_outfitSlot][$_outfitId],'integrity_max')>> <<set $_timeSpent += 5>> <</for>> <<pass $_timeSpent>> You repair the <<print _item.name>>. <br> <<elseif $wardrobeOption is "separateOutfits" and Object.values(_outfitPieceIds).length gt 0>> <<for $_outfitSlot, $_outfitId range _outfitPieceIds>> <<set _selectedWardrobe[$_outfitSlot][$_outfitId].outfitSecondary[1] to "split">> <<set _selectedWardrobe[$_outfitSlot][$_outfitId].one_piece to "split">> <<set _item.outfitPrimary[$_outfitSlot] to "split">> <</for>> <<set _item.one_piece to "split">> You cut up the <<print _item.name>>. <<pass 10>> <br> <<elseif $wardrobeOption is "transfer" and _wardrobeTransfer isnot $wardrobe_location and _wardrobeTransfer isnot undefined>> <<unset _slotsFull>> /*Set the target wardrobe*/ <<set _wardrobeTransferObject to selectWardrobe(_wardrobeTransfer)>> /*Make sure there is enough space*/ <<if _wardrobeTransferObject[_slot].length gt _wardrobeTransferObject.space>> <<set _slotsFull to true>> <</if>> <<for $_outfitSlot, $_outfitId range _outfitPieceIds>> <<if _wardrobeTransferObject[$_outfitSlot].length gt _wardrobeTransferObject.space>> <<set _slotsFull to true>> <</if>> <</for>> <<if !_slotsFull>> You transferred the <<print _item.name>> to the <<print $wardrobes[_wardrobeTransfer].name>> storage. /*Transfer everything*/ <<run transferClothing(_slot,_wearId,_wardrobeTransfer)>> <<for $_outfitSlot, $_outfitId range _outfitPieceIds>> <<run transferClothing($_outfitSlot,$_outfitId,_wardrobeTransfer)>> <</for>> <<else>> You were unable to transfer the <<print _item.name>> to the <<print $wardrobes[_wardrobeTransfer].name>> wardrobe due to lack of space there. <</if>> <<elseif $wardrobeOption is "wear">> /*Equip the relating items*/ <<generalUndress $wardrobe_location _slot>> <<for $_outfitSlot, $_outfitId range _outfitPieceIds>> <<generalUndress $wardrobe_location $_outfitSlot>> <<set $worn[$_outfitSlot] to clone(_selectedWardrobe[$_outfitSlot][$_outfitId])>> <<set $worn[$_outfitSlot].lastTaken to $wardrobe_location>> <<set _selectedWardrobe[$_outfitSlot].deleteAt($_outfitId)>> <<run resetClothingState($_outfitSlot)>> <</for>> <<set $worn[_slot] to clone(_item)>> <<set $worn[_slot].lastTaken to clone($wardrobe_location)>> <<run resetClothingState(_slot)>> <<set _eIndextemNames.push(_item.name)>> <<set _selectedWardrobe[_slot].deleteAt(_wearId)>> <</if>> <</for>> <<if $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to "notWorn">> <</if>> <<if $wardrobeOption is "wear" and _eIndextemNames.length gte 1>> You put on the <<print formatList(_eIndextemNames)>>. <</if>> <<if _wearAction is "dry">> <<dry>> You squeeze the water from your clothes. <<effectswater>> <br><br> <</if>> <<unset _wearAction>> <<set $wear_over_upper to "none">> <<set $wear_over_lower to "none">> <<set $wear_upper to "none">> <<set $wear_lower to "none">> <<set $wear_under_upper to "none">> <<set $wear_under_lower to "none">> <<set $wear_over_head to "none">> <<set $wear_head to "none">> <<set $wear_face to "none">> <<set $wear_neck to "none">> <<set $wear_hands to "none">> <<set $wear_handheld to "none">> <<set $wear_legs to "none">> <<set $wear_feet to "none">> <<set $wear_genitals to "none">> <<set $wear_outfit to "none">> <<exposure>> <</widget>> <<widget "wardrobe">> <<set _inWardrobe to true>> <div id="action-popup">Don't look here.</div> <<unset $tempDisable>> <hr> <span>Warmth:</span> <<warmthscale>> <div id="warmth-description"> <<warmth_description>> </div> <br> <div id="clotheson"><<clotheson>></div> /*Fixes perma pulled aside clothes introduced by 0.2.3.0 bug.*/ <<if $upperwet gte 1 or $lowerwet gte 1 or $underlowerwet gte 1 or $underupperwet gte 1>> <div class="wardrobe-dry"> <<link "Dry your clothes">> <<set _wearAction to "dry">> <<updatewardrobe>> <<if $upperwet lt 1 and $lowerwet lt 1 and $underlowerwet lt 1 and $underupperwet lt 1>> <<remove ".wardrobe-dry">> <</if>> <</link>> <br> </div> <</if>> <div class="wardrobe-action"> <<link "Strip all">> <<set _wearAction to "strip">> <<updatewardrobe>> <</link>> </div> | <div class="wardrobe-action"> <<link "Wear random clothes">> <<set $randomWear to true>> <<updatewardrobe>> <</link>> </div> | <div class="wardrobe-action"> <<link "Configure random">><<toggleclass "#randomClothingConfigure" "hidden">><</link>> </div> | <<if $options.images and ($uncomfortable.underwear or $uncomfortable.nude)>> <div class="wardrobe-action"> <span id="wardrobe-cover" @class="$dontHide ? '' : 'hidden'"> <<link "Cover yourself">> <<dontHideRevert>> <<toggleclass "#wardrobe-cover" "hidden">> <<toggleclass "#wardrobe-dontCover" "hidden">> <<updatesidebarimg>> <</link>> </span> <span id="wardrobe-dontCover" @class="$dontHide ? 'hidden' : ''"> <<link "Don't cover yourself">> <<dontHideForNow>> <<toggleclass "#wardrobe-cover" "hidden">> <<toggleclass "#wardrobe-dontCover" "hidden">> <<updatesidebarimg>> <</link>> </span> </div> | <</if>> <div id="randomClothingConfigure" class="hidden"> <<if $randomEquipConfigure is undefined>> <<set $randomEquipConfigure to {face: true, feet: true, head: true, hands: true, legs: true, lower: true, neck: true, under_lower: true, under_upper: true, upper: true}>> <</if>> <<for _slot range Object.keys($randomEquipConfigure)>> <<capture _slot>> <label><<checkbox "$randomEquipConfigure[_slot]" false true autocheck>> <<print _slot.replace("_"," ")>></label><br> <</capture>> <</for>> </div> <br><br> <<if $location is "home" or $location is "town">> <<if $tailorMonthlyService is "repair">> __Wardrobe Repair Crate__ <br> There is a small crate ready for sending clothes to be repaired. <br> <<link [[Add damaged items and send|Wardrobe Repair Crate]]>> <<set $wardrobeReturnLink to $passage>> <<set $crateContents to "damaged">> <</link>> <br> <<link [[Add outfits and send|Wardrobe Repair Crate]]>> <<set $wardrobeReturnLink to $passage>> <<set $crateContents to "outfits">> <</link>> <br> <<link [[Add all items and send|Wardrobe Repair Crate]]>> <<set $wardrobeReturnLink to $passage>> <<set $crateContents to "all">> <</link>> <br><br> <<link [[Cancel the request|$passage]]>><<set $tailorMonthlyService to 1>><</link>> <br><br> <<elseif $tailorMonthlyService is "discard">> __Wardrobe Sale Crate__ There is a small crate ready for sending clothes to be sold. <br> <<link [[Add outfits and send|Wardrobe Sale Crate]]>> <<set $wardrobeReturnLink to $passage>> <<set $crateContents to "outfits">> <</link>> <br> <<link [[Add all items and send|Wardrobe Sale Crate]]>> <<set $wardrobeReturnLink to $passage>> <<set $crateContents to "all">> <</link>> <br><br> <<link [[Cancel the request|$passage]]>><<set $tailorMonthlyService to 1>><</link>> <br><br> <</if>> <<if $wardrobeRepair is undefined>> <<elseif $wardrobeRepair.timeLeft is 0>> The clothes sent to the tailor have been repaired and added back into your wardrobe. <<wardrobeGetRepairedClothes>> <br><br> <</if>> <</if>> __Clothing sets__ <br> <div id="listoutfits"><<listoutfits>></div> <hr> __Clothing__ <br> <<dynamic "wardrobeLinks" "wardrobeLinks">> <<dynamic "wardrobeContents" "wardrobeList">> <br> <<set $upperoff to 0>> <<set $loweroff to 0>> <<set $underloweroff to 0>> <<set $underupperoff to 0>> <<exposure>> <!-- Code responsible for brief highlighting of links in wardrobe when you click them --> <<run $(document).on('mousedown', '.wardrobe-action a', (e) => { let target = $(e.currentTarget).parent(); target.addClass('notransition action-flash'); setTimeout(() => { target.removeClass('notransition action-flash') }, 100); })>> <</widget>> <<widget "wardrobeContents">> <<if $lastWardrobeSlot is "NewOutfit">> <<wardrobeNewOutfit>> <<else>> <<wardrobeList $lastWardrobeSlot>> <</if>> <</widget>> <<widget "wardrobeLinks">> <<set _wardrobeLinks=[ { id: 'over_head', label: 'Over Head', disabled: !$debug }, { id: 'over_upper', label: 'Over Upper', disabled: !$debug }, { id: 'over_lower', label: 'Over Lower', disabled: !$debug }, { id: 'head', label: 'Head' }, { id: 'face', label: 'Face' }, { id: 'neck', label: 'Neck' }, { id: 'upper', label: 'Upper' }, { id: 'lower', label: 'Lower' }, { id: 'under_upper', label: 'Under Upper' }, { id: 'under_lower', label: 'Under Lower' }, { id: 'hands', label: 'Hands' }, { id: 'handheld', label: 'Handheld' }, { id: 'legs', label: 'Legs' }, { id: 'feet', label: 'Feet' }, ]>> <<for _i = 0; _i < _wardrobeLinks.length; _i++>> <<set _wardrobeLink=_wardrobeLinks[_i]>> <<if !_wardrobeLink.disabled>> <a @class="($lastWardrobeSlot is _wardrobeLink.id ? 'selected' : '')" @id="Dynamic.eventBinder(_wardrobeLink.id)" onclick="(id) => $lastWardrobeSlot = id" >_wardrobeLink.label</a><<if _i < _wardrobeLinks.length - 1>> | <</if>> <</if>> <</for>> <</widget>> <<widget "wardrobeClothingOptions">> <br> <<if $wardrobeOption is undefined or $wardrobeOption is 0>><<set $wardrobeOption to "wear">><</if>> <<if $wardrobeRepeat isnot true or ($wardrobeOption is "repair" and $location isnot "home")>><<set $wardrobeOption to "wear">><</if>> <label><<radiobutton "$wardrobeOption" "wear" autocheck>> Wear</label> | <label><<radiobutton "$wardrobeOption" "delete" autocheck>> Discard</label> | <<if $sewingKit is 1 and $location is "home">> <label><<radiobutton "$wardrobeOption" "repair" autocheck>> Repair (0:05 per piece)</label> | <</if>> <label><<radiobutton "$wardrobeOption" "separateOutfits" autocheck>> Separate Outfits (0:10)</label> | <<if $multipleWardrobes is "all" and !$wardrobes[$wardrobe_location].isolated>> <label><<radiobutton "$wardrobeOption" "transfer" autocheck>> Transfer:</label> <<set _options to {}>> <<for _label, _value range $wardrobes>> <<if _value.unlocked and _label isnot $wardrobe_location and !$wardrobes[_label].isolated>> <<set _options[_value.name] to _label>> <</if>> <</for>> <<listbox "_wardrobeTransfer" autoselect>> <<optionsfrom _options>> <</listbox>> | <</if>> <label><<checkbox "$wardrobeRepeat" false true autocheck>> Repeat Actions</label> <<if $wardrobeOption is "delete" and $wardrobeRepeat is true>> <h2 class="red">Discard On Repeat</h2> <<else>> <br><br> <</if>> <</widget>> <<widget "wardrobeNewOutfit">> <br> Add new set: <br> Name: <input id="outfitName" type="text" value="Custom" maxlength="30" onfocus="V.tempDisable = true;"> <br> Type: <label>Everyday <<radiobutton "$outfit_type" 0 checked>></label> | <label>Sleep<<radiobutton "$outfit_type" "sleep">></label> | <label>Swimming<<radiobutton "$outfit_type" "swim">></label> <br> <label> Save Clothes Colours in Set <<checkbox "_saveColor" false true autocheck>> </label> <br> <<if $multipleWardrobes>> <label> Make clothes set unique to this wardrobe <<checkbox "_saveLocation" false true autocheck>> </label> <br> <</if>> <<if $savedHairStyles>> <div> <<set _savedHairStylesKeys to Object.keys($savedHairStyles)>> Hair Style: <<listbox "_hairStyle" autoselect>> <<option "Not set" undefined>> <<optionsfrom _savedHairStylesKeys>> <</listbox>> <mouse class="tooltip linkBlue">(?)<span>'Not set' will not change the current hairstyle.</span></mouse> </div> <<else>> <div> Hair Style: No sets saved (Check mirror) </div> <</if>> <br> <div class="wardrobe-action"> <<link "Add current clothes as new set">> <<set $outfit_name to document.getElementById("outfitName").value.replace(/[^a-zA-Z\u4e00-\u9fa5 0-9.!()]+/g,"")>> <<set _newOutfit to { index: $outfit.length, name: $outfit_name, over_upper: clone($worn.over_upper.name), over_lower: clone($worn.over_lower.name), upper: clone($worn.upper.name), lower: clone($worn.lower.name), under_upper: clone($worn.under_upper.name), under_lower: clone($worn.under_lower.name), over_head: clone($worn.over_head.name), head: clone($worn.head.name), face: clone($worn.face.name), neck: clone($worn.neck.name), hands: clone($worn.hands.name), handheld: clone($worn.handheld.name), legs: clone($worn.legs.name), feet: clone($worn.feet.name), genitals: clone($worn.genitals.name), type: ["normal"], colors: false }>> <<if $outfit_name is "" or $outfit_name is "Custom">><<set $outfit_name to "Custom " + $outfit.length>><</if>> <<set _newOutfit.name to $outfit_name>> <<if $outfit_type>> <<set _newOutfit.type[0] to $outfit_type>> <</if>> <<if _saveColor>> <<set _equip to ["over_upper", "over_lower", "upper", "lower", "under_upper", "under_lower", "over_head", "head", "face", "neck", "hands", "handheld", "legs", "feet"]>> <<set _colors to {}>> <<for _slot range _equip>> <<set _colors[_slot] to [$worn[_slot].colour, $worn[_slot].accessory_colour]>> <<if $worn[_slot].colour is "custom" or $worn[_slot].accessory_colour is "custom">> <<run _colors[_slot+"custom"] to [$worn[_slot].colourCustom, $worn[_slot].accessory_colourCustom]>> <</if>> <</for>> <<set _newOutfit.colors to _colors>> <<else>> <<set _newOutfit.colors to false>> <</if>> <<if _saveLocation>> <<set _newOutfit.location to $wardrobe_location>> <</if>> <<if _hairStyle>> <<set _newOutfit.hairStyle to _hairStyle>> <</if>> <<set $outfit.push(_newOutfit)>> <<updatewardrobe "outfits">> <</link>> </div> <</widget>> <<widget "wardrobeintegrity">><<silently>> <<set _eIndextem to _args[0]>> <<set _eIndexntegrityMax to clothingData(_args[1],_eIndextem,'integrity_max')>> <<if _eIndextem.integrity gt (_eIndexntegrityMax * 9 / 10)>> <<set $_output to "">> <<elseif _eIndextem.integrity gt (_eIndexntegrityMax * 5 / 10)>> <<set $_output to "<span>(frayed)</span>">> <<elseif _eIndextem.integrity gt (_eIndexntegrityMax * 2 / 10)>> <<set $_output to "<span>(torn)</span>">> <<else>> <<set $_output to "<span>(tattered)</span>">> <</if>> <</silently>><<print $_output>><</widget>> <<widget "toggleHoodLink">> <div class="toggleHoodLink"> <<link `($worn.upper.hoodposition is "down" ? "Pull hood up" : "Pull hood down")`>> <<toggleHood _args[0]>> <<updatesidebarimg>> <<if _args[0] isnot "shop">> <<updatewardrobe>> <</if>> <<run $(".toggleHoodLink .link-internal").html($worn.upper.hoodposition is "down" ? "Pull hood up" : "Pull hood down")>> <<run Links.generateLinkNumbers($(".passage"))>> <</link>> </div> <</widget>> <<widget "toggleHood">> /* If hood is up, put it down and free up the head slot*/ <<if $worn.upper.hoodposition is "up" and $worn.head.hood is 1 and $worn.upper.outfitPrimary.head is $worn.head.name>> <<run delete $worn.upper.outfitPrimary.head>> <<set $worn.upper.hoodposition to "down">> <<if _args[0] is "shop" and $tryOn.ownedStored.head.name isnot $worn.head.name and !($tryOn.ownedStored.head.outfitSecondary and $tryOn.ownedStored.head.outfitSecondary[1] isnot "broken" and $tryOn.ownedStored.head.outfitSecondary[1] isnot "split")>> <<set $worn.head to clone($tryOn.ownedStored.head)>> <<else>> <<set $worn.head to clone(setup.clothes.head[0])>> <</if>> <<if _args[0] is "shop" and $tryOn.tryingOn.upper is null>> <<updateOwned "upper">> <<updateOwned "head">> <</if>> /* If hood is down, put it back up and remove anything on the head if necessary */ <<elseif $worn.upper.hoodposition is "down">> <<if !$worn.head.cursed>> /* No cursed head items yet, but if one is made, should probably have some popup saying this was prevented */ <<if $worn.head.outfitSecondary and $worn.head.outfitSecondary[1] isnot "broken" and $worn.head.outfitSecondary[1] isnot "split">> <<if $worn.head.hood is 1 and $worn.head.outfitSecondary[1] is $worn.upper.name and $worn.head.colour is $worn.upper.colour and $worn.head.accessory_colour is $worn.upper.accessory_colour and $worn.head.colourCustom is $worn.upper.colourCustom and $worn.head.accessory_colourCustom is $worn.upper.accessory_colourCustom>> <<set $worn.upper.outfitPrimary.head to clone(setup.clothes.upper[$worn.upper.index].outfitPrimary.head)>> <<set $worn.upper.hoodposition to "up">> <</if>> <<else>> <<if _args[0] is "shop">> /*If in a shop, make sure the head item is accounted for first*/ <<if $tryOn.tryingOn.head isnot null>> <<shopbuyv2 "head" "return" null>>/*return if trying on*/ <</if>> <<if $tryOn.tryingOn.upper is null and $worn.head.name isnot "naked">> <<generalUndress $wardrobe_location "head">>/*send back to wardrobe if already owned*/ <</if>> <<elseif $worn.head.name isnot "naked">> <<generalUndress $wardrobe_location "head">> <</if>> <<set $worn.upper.outfitPrimary.head to clone(setup.clothes.upper[$worn.upper.index].outfitPrimary.head)>> <<set $worn.upper.hoodposition to "up">> /* re-create the hood using colors from the hoodie */ <<set $_hoodIndex to setup.clothes.head.findIndex(x => x.name === $worn.upper.outfitPrimary.head)>> <<set $worn.head to clone(setup.clothes.head[$_hoodIndex])>> <<set $worn.head.colour to $worn.upper.colour>> <<if $worn.head.colour is "custom">> <<set $worn.head.colourCustom to $worn.upper.colourCustom>> <</if>> <<set $worn.head.accessory_colour to $worn.upper.accessory_colour>> <<if $worn.head.accessory_colour is "custom">> <<set $worn.head.accessory_colourCustom to $worn.upper.accessory_colourCustom>> <</if>> <<if _args[0] is "shop" and $tryOn.tryingOn.upper is null>> <<updateOwned "upper">> <</if>> <</if>> <</if>> <<elseif $worn.upper.hoodposition is undefined and setup.clothes.upper[$worn.upper.index].hoodposition isnot undefined>> <<set $worn.upper.hoodposition to "up">> <</if>> <</widget>> <<widget "toggleUpperTuck">> <<set _linkOption1 to _args[0] || `Untuck from ${$worn.lower.name}`>> <<set _linkOption2 to _args[1] || `Tuck into ${$worn.lower.name}`>> <div class="toggleUpperTuck"> <<link `($upperTucked ? _linkOption1 : _linkOption2)`>> <<set $upperTucked to +!$upperTucked>> <<updatesidebarimg>> <<run $(".toggleUpperTuck .link-internal").html($upperTucked ? _linkOption1 : _linkOption2)>> <<run Links.generateLinkNumbers($(".passage"))>> <</link>> </div> <</widget>> <<widget "toggleLowerTuck">> <<set _linkOption1 to _args[0] || `Untuck from ${$worn.feet.name}`>> <<set _linkOption2 to _args[1] || `Tuck into ${$worn.feet.name}`>> <div class="toggleLowerTuck"> <<link `($lowerTucked ? _linkOption1 : _linkOption2)`>> <<set $lowerTucked to +!$lowerTucked>> <<updatesidebarimg>> <<run $(".toggleLowerTuck .link-internal").html($lowerTucked ? _linkOption1 : _linkOption2)>> <<run Links.generateLinkNumbers($(".passage"))>> <</link>> </div> <</widget>> <<widget "toggleLeash">> <<if ["collar", "free use collar", "leather collar", "spiked collar"].includes($worn.neck.name)>> <<link "Attach Leash">> <<attach_leash true true>> <<updatesidebarimg>> <<replace "#wardrobeLeash">><<toggleLeash>><</replace>> <</link>> <<elseif ["collar with leash", "free use collar with leash", "leather collar with leash", "spiked collar with leash"].includes($worn.neck.name)>> <<link "Detach Leash">> <<detach_leash true true>> <<updatesidebarimg>> <<replace "#wardrobeLeash">><<toggleLeash>><</replace>> <</link>> <</if>> <</widget>> <<widget "toggleAltLink">><<silently>> <<switch _args[0]>> <<case "upper">> <<switch $worn.upper.variable>> <<case "schoolcardigan">><<set _altLink to ["Tie cardigan around waist", "Wear cardigan normally"]>> <<case "brownleather" "blackleather" "leathercropjacket" "winterjacket">><<set _altLink to ["Zip jacket", "Unzip jacket"]>> <<case "waistcoat" "waistcoatlapel" "blazershirt">><<set _altLink to ["Tuck in", "Untuck"]>> <<case "dress" "buttondown" "oversizedbuttondown">><<set _altLink to ["Unbutton shirt", "Button up shirt"]>> <<case "catsuit">><<set _altLink to ["Unzip", "Zip"]>> <<case "kimono" "kimonomini">><<set _altLink to ["Loosen", "Tighten"]>> <<default>><<exit>> <</switch>> <<case "neck">> <<switch $worn.neck.variable>> <<case "suspenders">><<set _altLink to ["Lower suspenders", "Wear suspenders normally"]>> <<case "tie">><<set _altLink to ["Loosen", "Tighten"]>> <<default>><<exit>> <</switch>> <<case "face">> <<if $worn.face.type.includes("cool") or $worn.face.type.includes("glasses")>> <<switch $worn.face.variable>> <<case "monocle">><<set _altLink to ["Cover left eye", "Cover right eye"]>> <<default>><<set _altLink to ["Push on head", "Wear normally"]>> <</switch>> <<else>> <<switch $worn.face.variable>> <<case "medical eyepatch" "eyepatch">><<set _altLink to ["Cover left eye", "Cover right eye"]>> <<case "swimgoggles">><<set _altLink to ["Push on head", "Wear normally"]>> <<default>><<exit>> <</switch>> <</if>> <<default>><<exit>> <</switch>> <</silently>> <span @class="_args[0]"> <<capture _args[0] _altLink>> <<link `($worn[_args[0]].altposition is "none" ? _altLink[0] : _altLink[1])`>> <<toggleAltPosition _args[0]>> <<updatesidebarimg>> <<if _args[1] is "wardrobe">> <<updatewardrobe>> <</if>> <<run $(".toggleAltLink ." + _args[0] + " .link-internal").html($worn[_args[0]].altposition is "none" ? _altLink[0] : _altLink[1])>> <<run Links.generateLinkNumbers($(".passage"))>> <</link>> <</capture>> </span> <</widget>> <<widget "toggleAltPosition">> /*Changes sprite to an alternate image*/ <<if $worn[_args[0]].altposition is undefined and setup.clothes[_args[0]][$worn[_args[0]].index].altposition isnot undefined>> <<set $worn[_args[0]].altposition to "none">> <<else>> <<set $worn[_args[0]].altposition to ($worn[_args[0]].altposition is "none" ? "alt" : "none")>> <</if>> <</widget>> <<widget "toggleAltSleeve">> <<set _inDefaultState to _args[0] || "Roll up sleeves">> <<set _inAltState to _args[1] || "Unroll sleeves">> <div class="toggleAltSleeve"> <<link `($worn.upper.altsleeve is "none" ? _inDefaultState : _inAltState)`>> <<set $worn.upper.altsleeve to ($worn.upper.altsleeve is "none" ? "alt" : "none")>> <<updatesidebarimg>> <<run $(".toggleAltSleeve .link-internal").html($worn.upper.altsleeve is "none" ? _inDefaultState : _inAltState)>> <<run Links.generateLinkNumbers($(".passage"))>> <</link>> </div> <</widget>> <<widget "toggleFaceLayer">> /*changes z-index */ <<set _linkOption1 to "Move hair in front">> <<set _linkOption2 to "Tuck hair behind">> <div class="toggleFaceLayer"> <<link `($facelayer is "front" ? _linkOption2 : _linkOption1)`>> <<set $facelayer to ($facelayer is "front" ? "back" : "front")>> <<updatesidebarimg>> <<if _args[0] is "wardrobe">> <<updatewardrobe>> <</if>> <<run $(".toggleFaceLayer .link-internal").html($facelayer is "front" ? _linkOption2 : _linkOption1)>> <<run Links.generateLinkNumbers($(".passage"))>> <</link>> </div> <br> <</widget>> <<widget "wardrobeList">> <<wardrobeClothingOptions>> <<set _wardrobe_list to _args[0]>> <<if !Object.keys($worn).includes(_wardrobe_list)>> An error occurred to 'widget "wardrobeList"', please report if you did not edit the save data manually in any way. <<else>> <<set _wear to "wear_"+_wardrobe_list>> <<set _outfitTypes to setup.clothingLayer.torso_inner>> <<set _loweroutfitCheck to setup.clothingLayer.lower>> __<<print _wardrobe_list[0].toUpperCase() + _wardrobe_list.substring(1)>>__ <i>_selectedWardrobe[_wardrobe_list].length / _selectedWardrobe.space</i> <<if _wardrobe_list is "upper">>(Outfits will also take a lower slot)<</if>> <<if _wardrobe_list is "under_upper">>(Outfits will also take an under lower slot)<</if>> <br> Order by: /*Undefined error for unknown reason*/ /*<a @onclick="`wikifier('wardrobeListReorder', '`+ $lastWardrobeSlot + `', 'name');`">Name</a> |*/ <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'name');">Name</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'color');">Colour</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'lewd');">Lewd</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'integrity');">Integrity</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'warmth');">Warmth</a></div> | <<if _outfitTypes.includes(_wardrobe_list)>> <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'outfit');">Outfit Status</a></div> | <</if>> <br> Inverse Order by: <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'name', true);">Name</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'color', true);">Colour</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'lewd', true);">Lewd</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'integrity', true);">Integrity</a></div> | <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'warmth', true);">Warmth</a></div> | <<if _outfitTypes.includes(_wardrobe_list)>> <div class="wardrobe-action"><a onclick="wikifier('wardrobeListReorder', V.lastWardrobeSlot, 'outfit', true);">Outfit Status</a></div> | <</if>> <br><br> Currently equipped: <<if $worn[_wardrobe_list].name is "naked">> nothing <br> <<else>> <<set _wornItem to $worn[_wardrobe_list]>> <<set _wornItemData to setup.clothes[_wardrobe_list][clothesIndex(_wardrobe_list,_wornItem)]>> <<clothingicon _wornItem _wardrobe_list>> <<print _wornItemData.name_cap>> <<if _wornItem.colour and _wornItem.colour isnot 0>> <span @class="_wornItem.colour?.replace(' ','-')"> <<if _wornItem.pattern and ![0, "plain"].includes(_wornItem.pattern) and _wornItemData.pattern_options?.length gt 1>> (_wornItem.colour _wornItem.pattern) <<else>> (_wornItem.colour) <</if>> </span> <<elseif _wornItem.pattern and _wornItem.pattern isnot 0 and _wornItemData.pattern_options?.length gt 1>> <span @class="_wornItem.pattern?.replace(' ','-')">(_wornItem.pattern)</span> <</if>> <<if _wornItem.outfitPrimary isnot undefined>> <<set _keys to Object.keys(_wornItem.outfitPrimary)>> <<set _broken to 0>> <<for _j to 0; _j lt _keys.length; _j++>> <<if _wornItem.outfitPrimary[_keys[_j]] is "broken">> <<set _broken++>> <</if>> <</for>> <<if _broken is 0>> <span class="gold">(Outfit)</span> <<elseif _broken lt _keys.length>> <span class="red">(Partly Broken)</span> <<else>> <span class="red">(Broken)</span> <</if>> <<if _wornItem.one_piece is "split">> <span class="separated-indicator">(Separated)</span> <</if>> <</if>> <<if _wornItem.outfitSecondary isnot undefined>> <<if _wornItem.outfitSecondary[1] is "broken">> <span class="red">(Broken)</span> <<else>> <span class="gold">(Outfit)</span> <<if _wornItem.one_piece is "split">> <span class="separated-indicator">(Separated)</span> <</if>> <</if>> <</if>> <<wardrobeintegrity _wornItem _wardrobe_list>> <a onclick="document.getElementById('wardrobeItemDetails').classList.toggle('hidden')">Extra Info</a> <br> <div id="wardrobeItemDetails" class="hidden"> <<if _wornItem.plural is 1>> <<integrity `clothingData(_wardrobe_list,_wornItem,'integrity_max')` "cap">> <<else>> A <<integrity `clothingData(_wardrobe_list,_wornItem,'integrity_max')`>> <</if>> and <<reveal _wornItem.reveal>> <<print _wornItem.name>>. <<if _wornItem.gender is "m">> <span class="lblue">For boys ♂.</span> <<elseif _wornItem.gender is "f">> <span class="pink">For girls ♀.</span> <</if>> <<print _wornItemData.description>> <br> <<print setup.WeatherDescriptions.clothingWarmth(getTrueWarmth(_wornItem))>> <br><br> <<set _temp_choice to $worn[_wardrobe_list]>> <<shoptraits>> </div> <<if isConnectedToHood(_wardrobe_list)>> <!-- If selected item is a hood or selected item has a secondary hood piece --> <div class="no-numberify"><<toggleHoodLink>></div> <</if>> <<if _wardrobe_list is "upper" and $worn.lower.name isnot "naked" and !_wornItemData.notuck and V.worn.upper.outfitPrimary is undefined>> <div class="no-numberify"><<toggleUpperTuck>></div> <<elseif _wardrobe_list is "lower" and $worn.feet.name isnot "naked" and !_wornItemData.notuck and !setup.clothes.feet[clothesIndex("feet",$worn.feet)].notuck>> <div class="no-numberify"><<toggleLowerTuck>></div> <</if>> <<if _wardrobe_list is "upper" and $worn.upper.name isnot "naked" and _wornItemData.altsleeve>> <div class="no-numberify toggleAltSleeve"><<toggleAltSleeve>></div> <</if>> <div class="no-numberify toggleAltLink"><<toggleAltLink _wardrobe_list "wardrobe">></div> <<if _wardrobe_list is "neck">> <div id="wardrobeLeash" class="no-numberify"><<toggleLeash>></div> <</if>> <<if _wardrobe_list is "face">> <div class="no-numberify toggleAltLink"><<toggleFaceLayer "wardrobe">></div> <</if>> <</if>> <br> <<if $worn[_wardrobe_list].name isnot "naked">> <div class="wardrobeItem wardrobe-action no-numberify"><<wearlink_norefresh "Strip" 'strip'>></div> <</if>> <<if _wardrobe_list is "upper">> <div class="wardrobeItem wardrobe-action no-numberify"><<wearlink_norefresh "Large towel" 'large_towel'>></div> <</if>> <<if _wardrobe_list is "upper" or _wardrobe_list is "lower">> <div class="wardrobeItem wardrobe-action no-numberify"><<wearlink_norefresh "Towel" 'towel'>></div> <</if>> <<for _i to 0; _i lt _selectedWardrobe[_wardrobe_list].length; _i++>> <<set _item to _selectedWardrobe[_wardrobe_list][_i]>> <<set _itemData to setup.clothes[_wardrobe_list][clothesIndex(_wardrobe_list,_item)]>> <<if _item.outfitSecondary isnot undefined>> <<if _item.outfitSecondary[1] isnot "broken" and _item.outfitSecondary[1] isnot "split">> <<continue>> <</if>> <</if>> <div class="wardrobeItem wardrobe-action no-numberify"> <<clothingicon _item _wardrobe_list>> <<wearlink_norefresh _itemData.name_cap _i>> <<if _item.gender is "m">> <span class="blue">♂</span> <<elseif _item.gender is "f">> <span class="pink">♀</span> <<else>> <</if>> <<if _item.colour and _item.colour isnot 0>> <span @class="_item.colour?.replace(' ','-')"> <<if _item.pattern and ![0, "plain"].includes(_item.pattern) and _itemData.pattern_options?.length gt 1>> (_item.colour _item.pattern) <<else>> (_item.colour) <</if>> </span> <<elseif _item.pattern and _item.pattern isnot 0 and _itemData.pattern_options?.length gt 1>> <span @class="_item.pattern?.replace(' ','-')">(_item.pattern)</span> <</if>> <<if _item.outfitPrimary isnot undefined>> <<set _keys to Object.keys(_item.outfitPrimary)>> <<set _broken to 0>> <<for _j to 0; _j lt _keys.length; _j++>> <<if _item.outfitPrimary[_keys[_j]] is "broken">> <<set _broken++>> <</if>> <</for>> <<if _broken is 0>> <span class="gold">(Outfit)</span> <<elseif _broken lt _keys.length>> <span class="red">(Partly Broken)</span> <<else>> <span class="red">(Broken)</span> <</if>> <<if _item.one_piece is "split">> <span class="separated-indicator">(Separated)</span> <</if>> <</if>> <<if _item.outfitSecondary isnot undefined>> <<if _item.one_piece is "split">> <span class="separated-indicator">(Separated)</span> <<else>> <span class="red">(Broken)</span> <</if>> <</if>> <<wardrobeintegrity _item _wardrobe_list>> <<reveal _item.reveal>> | <span class="cold-resist-icon noDivider"><<print getTrueWarmth(_item)>></span> </div> <</for>> <div style="clear:both;"></div> <</if>> <</widget>> <<widget "wearlink_norefresh">> <<capture _args[1] _args[2]>> <<link _args[0]>> <<if _args[2]>> <<set V[_args[2]] = _args[1]>> <<else>> <<set V[_wear] = _args[1]>> <</if>> <<updatewardrobe undefined _args[2]>> <</link>> <</capture>> <</widget>> <<widget "updatewardrobe">> <<if window.scrollY > 130>> <<run $('#action-popup, #wardrobewear').html(new Wikifier(null, "<<wardrobewear>>").output)>> <<run $('#action-popup').css('transform', 'translateY(0)'); setTimeout(() => { $('#action-popup').css('transform', 'translateY(-100%)') }, 3200);>> <<else>> <<run $('#wardrobewear').html(new Wikifier(null, "<<wardrobewear>>").output)>> <</if>> <<run $('#wardrobewear').addClass('notransition flash'); setTimeout(() => { $('#wardrobewear').removeClass('notransition flash') }, 100);>> <<updatesidebarimg>> <<updatesidebardescription>> <<updateallure>> <<updatewarmthscale>> <<updatewarmthdescription>> <<if _args[0] == "outfits">> <<replace "#listoutfits">><<listoutfits>><</replace>> <</if>> <<replace '#clotheson'>><<clotheson>><</replace>> <<if $('#wardrobeList')[0]>><<replace '#wardrobeList'>><<wardrobeContents>><</replace>><</if>> <<if $('#oldWardrobeListDisplay')[0]>> <<if _args[1]>> <<set $_slot to _args[1].slice(5)>> <<switch $_slot>> <<case "upper">> <<replace '#clothingBox-upper'>> <<oldWardrobeList "upper" "outfits">> <<oldWardrobeList "upper" "non-outfits">> <</replace>> <<replace '#clothingBox-lower'>> <<oldWardrobeList "lower">> <</replace>> <<case "under_upper">> <<replace '#clothingBox-under_upper'>> <<oldWardrobeList "under_upper" "outfits">> <<oldWardrobeList "under_upper" "non-outfits">> <</replace>> <<replace '#clothingBox-under_lower'>> <<oldWardrobeList "under_lower">> <</replace>> <<default>> <<replace `'#clothingBox-' + $_slot`>><<oldWardrobeList $_slot>><</replace>> <</switch>> <<replace '#wardrobeMinorOptions'>><<oldWardrobeMinorOptions>><</replace>> <<else>> <<replace '#oldWardrobeListDisplay'>><<oldWardrobeListDisplay>><</replace>> <</if>> <</if>> <<exposure>> <<run $('#wardrobeExits').html(new Wikifier(null, "<<wardrobeExits>>").output)>> <<numberify ".passage">> <<run updateMoment()>> <</widget>> <<widget "oldWardrobeMinorOptions">> <div id="wardrobeMinorOptions"> <<if $worn.lower.name isnot "naked" and $worn.upper.outfitPrimary is undefined and !setup.clothes.upper[clothesIndex('upper', $worn.upper)].notuck>> <<set $_linkOption1 to `Untuck your ${$worn.upper.name}`>> <<set $_linkOption2 to `Tuck your ${$worn.upper.name} into your ${$worn.lower.name}`>> <<toggleUpperTuck $_linkOption1 $_linkOption2>> <</if>> <<if $worn.head.hood>> <!-- If selected item is a hood or selected item has a secondary hood piece --> <<toggleHoodLink>> <</if>> <<if ["collar", "free use collar", "leather collar", "spiked collar", "collar with leash", "free use collar with leash", "leather collar with leash", "spiked collar with leash"].includes($worn.neck.name)>> <div id="wardrobeLeash" class="no-numberify"><<toggleLeash>></div> <</if>> </div> <</widget>> <<widget "oldWardrobeListDisplay">> <<wardrobeClothingOptions>> <<oldWardrobeMinorOptions>> <br> <<if $debug is 1>> <<oldWardrobeList "over_upper">> <<oldWardrobeList "over_lower">> <</if>> <div id="clothingBox-upper"> <<oldWardrobeList "upper" "outfits">> <<oldWardrobeList "upper" "non-outfits">> </div> <div id="clothingBox-lower"> <<oldWardrobeList "lower">> </div> <div id="clothingBox-under_upper"> <<oldWardrobeList "under_upper" "outfits">> <<oldWardrobeList "under_upper" "non-outfits">> </div> <div id="clothingBox-under_lower"> <<oldWardrobeList "under_lower">> </div> <<if $debug is 1>> <<oldWardrobeList "over_head">> <</if>> <div id="clothingBox-head"><<oldWardrobeList "head">></div> <div id="clothingBox-face"><<oldWardrobeList "face">></div> <div id="clothingBox-neck"><<oldWardrobeList "neck">></div> <div id="clothingBox-hands"><<oldWardrobeList "hands">></div> <div id="clothingBox-handheld"><<oldWardrobeList "handheld">></div> <div id="clothingBox-legs"><<oldWardrobeList "legs">></div> <div id="clothingBox-feet"><<oldWardrobeList "feet">></div> <div style="clear:both;"></div> <<wardrobeNewOutfit>> <</widget>> <<widget "oldWardrobeList">> <<set _wardrobe_list to _args[0]>> <<set _showType to _args[1]>> <<if !Object.keys($worn).includes(_wardrobe_list)>> An error occurred to 'widget "oldWardrobeList"', please report if you did not edit the save data manually in any way. <<else>> <<set _wear to "wear_"+_wardrobe_list>> <div class="clothingBox"> __<<print _wardrobe_list[0].toUpperCase() + _wardrobe_list.substring(1) + (_showType is "outfits" ? " Outfits" : "")>>__ <i>_selectedWardrobe[_wardrobe_list].length / _selectedWardrobe.space</i> <br><br> <div> <ul> <<if $worn[_wardrobe_list].name isnot "naked">> <li class="no-numberify"><<wearlink_norefresh "Strip" 'strip' _wear>></li> <</if>> <<if _wardrobe_list is "upper" and _showType is "outfits">> <li class="no-numberify"><<wearlink_norefresh "Large towel" 'large_towel' _wear>></li> <</if>> <<if (_wardrobe_list is "upper" or _wardrobe_list is "lower") and _showType isnot "outfits">> <li class="no-numberify"><<wearlink_norefresh "Towel" 'towel' _wear>></li> <</if>> <<for _i to 0; _i lt _selectedWardrobe[_wardrobe_list].length; _i++>> <<set _item to _selectedWardrobe[_wardrobe_list][_i]>> <<if _item.outfitSecondary isnot undefined>> <<if _item.outfitSecondary[1] isnot "broken" and _item.outfitSecondary[1] isnot "split">> <<continue>> <</if>> <</if>> <<if (_item.outfitPrimary isnot undefined and _showType is "non-outfits") or (_item.outfitPrimary is undefined and _showType is "outfits")>> <<continue>> <</if>> <li class="no-numberify">/*<<clothingicon _item>>*/<<wearlink_norefresh setup.clothes[_wardrobe_list][clothesIndex(_wardrobe_list,_item)].name_cap _i _wear>> <<if _item.colour isnot 0>> <span @class="_item.colour?.replace(' ','-')">(_item.colour)</span> <</if>> <<wardrobeintegrity _item _wardrobe_list>> </li> <</for>> </ul> </div></div> <</if>> <</widget>> <<widget "wardrobeListReorder">> <<if _args[0] and _args[1]>> <<set _slot to _args[0]>> <<set _orderType to _args[1]>> <<set _descending to _args[2]>> <<set _wardrobeItems to clone(_selectedWardrobe[_slot])>> <<set _newWardrobeItems to []>> <<switch _orderType>> <<case "name">> <<set _itemNames to []>> <<for _i to 0; _i lt _wardrobeItems.length; _i++>> <<run _itemNames.pushUnique(_wardrobeItems[_i].name)>> <</for>> <<if _descending>> <<set _sortedItemNames to _itemNames.sort(function(a, b){return b.localeCompare(a)})>> <<else>> <<set _sortedItemNames to _itemNames.sort()>> <</if>> <<for _i to 0; _i lt _sortedItemNames.length; _i++>> <<for _j to 0; _j lt _wardrobeItems.length; _j++>> <<if _wardrobeItems[_j].name is _sortedItemNames[_i]>> <<run _newWardrobeItems.push(clone(_wardrobeItems[_j]))>> <</if>> <</for>> <</for>> <<case "color">> <<set _itemColors to []>> <<for _i to 0; _i lt _wardrobeItems.length; _i++>> <<run _itemColors.pushUnique(_wardrobeItems[_i].colour)>> <</for>> <<if _descending>> <<set _sortedItemColors to _itemColors.sort(function(a, b){ if(a === 0){ return 0; } if(b === 0){ return 0; } return b.localeCompare(a); })>> <<else>> <<set _sortedItemColors to _itemColors.sort()>> <</if>> <<for _i to 0; _i lt _sortedItemColors.length; _i++>> <<for _j to 0; _j lt _wardrobeItems.length; _j++>> <<if _wardrobeItems[_j].colour is _sortedItemColors[_i]>> <<run _newWardrobeItems.push(clone(_wardrobeItems[_j]))>> <</if>> <</for>> <</for>> <<case "integrity">> <<set _itemIntegrity to []>> <<for _i to 0; _i lt _wardrobeItems.length; _i++>> <<run _itemIntegrity.pushUnique((_wardrobeItems[_i].integrity / clothingData(_slot,_wardrobeItems[_i],'integrity_max')))>> <</for>> <<if _descending>> <<set _sortedItemIntegrity to _itemIntegrity.sort()>> <<else>> <<set _sortedItemIntegrity to _itemIntegrity.sort(function(a, b){return b-a})>> <</if>> <<for _i to 0; _i lt _sortedItemIntegrity.length; _i++>> <<for _j to 0; _j lt _wardrobeItems.length; _j++>> <<if (_wardrobeItems[_j].integrity / clothingData(_slot,_wardrobeItems[_j],'integrity_max')) is _sortedItemIntegrity[_i]>> <<run _newWardrobeItems.push(clone(_wardrobeItems[_j]))>> <</if>> <</for>> <</for>> <<case "warmth">> <<set _itemWarmth to []>> <<for _i to 0; _i lt _wardrobeItems.length; _i++>> <<run _itemWarmth.pushUnique(_wardrobeItems[_i].warmth)>> <</for>> <<if _descending>> <<set _sortedItemWarmth to _itemWarmth.sort()>> <<else>> <<set _sortedItemWarmth to _itemWarmth.sort(function(a, b){return b-a})>> <</if>> <<for _i to 0; _i lt _sortedItemWarmth.length; _i++>> <<for _j to 0; _j lt _wardrobeItems.length; _j++>> <<if _wardrobeItems[_j].warmth is _sortedItemWarmth[_i]>> <<run _newWardrobeItems.push(clone(_wardrobeItems[_j]))>> <</if>> <</for>> <</for>> <<case "outfit">> <<if _descending>> <<set _status to ["broken","split",0,1]>> /* NO SPLIT ADDED */ <<else>> <<set _status to [1,0,"split","broken"]>> /* NO SPLIT ADDED */ <</if>> <<for _i to 0; _i lt _status.length; _i++>> <<for _j to 0; _j lt _wardrobeItems.length; _j++>> <<if _wardrobeItems[_j].one_piece is _status[_i]>> <<run _newWardrobeItems.push(clone(_wardrobeItems[_j]))>> <</if>> <</for>> <</for>> <<case "lewd">> <<set _itemReveal to []>> <<for _i to 0; _i lt _wardrobeItems.length; _i++>> <<run _itemReveal.pushUnique(_wardrobeItems[_i].reveal)>> <</for>> <<if _descending>> <<set _sortedItemReveal to _itemReveal.sort((a, b) => a - b)>> <<else>> <<set _sortedItemReveal to _itemReveal.sort((a, b) => b - a)>> <</if>> <<for _i to 0; _i lt _sortedItemReveal.length; _i++>> <<for _j to 0; _j lt _wardrobeItems.length; _j++>> <<if _wardrobeItems[_j].reveal is _sortedItemReveal[_i]>> <<run _newWardrobeItems.push(clone(_wardrobeItems[_j]))>> <</if>> <</for>> <</for>> <</switch>> <<if _newWardrobeItems isnot []>> <<set _selectedWardrobe[_slot] to clone(_newWardrobeItems)>> <</if>> <<run Dynamic.render()>> <</if>> <</widget>> <<widget "wardrobeSanityCheck">> /*Fixes invisible outfit bottoms caused by bugs in previous versions*/ <<if $runWardrobeSanityChecker is true>> <<set $lastWardrobeSanityCheck to $saveVersions.last()>> /*Update _equip as required*/ <<set _equip to ["lower", "under_lower", "head"]>> <<for _slot range _equip>> <<set _eIndextemIndex to {}>> <<for _eIndex to 0; _eIndex lt _selectedWardrobe[_slot].length; _eIndex++>> <<if _selectedWardrobe[_slot][_eIndex].outfitSecondary is undefined>> <<continue>> <</if>> <<if _selectedWardrobe[_slot][_eIndex].outfitSecondary[1] is "broken" or _selectedWardrobe[_slot][_eIndex].outfitSecondary[1] is "split">> <<continue>> <</if>> /*Prep*/ <<set $_markBroken to true>> <<set $_found to false>> <<set _eIndextem to _selectedWardrobe[_slot][_eIndex]>> <<set $_outfitSecondary to _selectedWardrobe[_slot][_eIndex].outfitSecondary>> <<if _eIndextemIndex[$_outfitSecondary[0]] is undefined>> <<set _eIndextemIndex[$_outfitSecondary[0]] to []>> <</if>> /*Look for a primary piece that matches*/ <<for _iIndex to 0; _iIndex lt _selectedWardrobe[$_outfitSecondary[0]].length; _iIndex++>> <<if _selectedWardrobe[$_outfitSecondary[0]][_iIndex].name isnot $_outfitSecondary[1]>> <<continue>> <</if>> <<if _eIndextemIndex[$_outfitSecondary[0]].includes(_iIndex)>> <<continue>> <</if>> <<if _selectedWardrobe[$_outfitSecondary[0]][_iIndex].colour is _eIndextem.colour and (_eIndextem.accessory is 0 or _selectedWardrobe[$_outfitSecondary[0]][_iIndex].accessory is 0 or _selectedWardrobe[$_outfitSecondary[0]][_iIndex].accessory_colour is _eIndextem.accessory_colour)>> <<if _eIndextem.colour isnot "custom" and (_eIndextem.accessory is 0 or _selectedWardrobe[$_outfitSecondary[0]][_iIndex].accessory is 0 or _eIndextem.accessory_colour isnot "custom")>> <<set $_markBroken to false>> <<run _eIndextemIndex[$_outfitSecondary[0]].push(clone(_iIndex))>> <<break>> <<elseif _eIndextem.colourCustom is _selectedWardrobe[$_outfitSecondary[0]][_iIndex].colourCustom and (_eIndextem.accessory is 0 or _selectedWardrobe[$_outfitSecondary[0]][_iIndex].accessory is 0 or _eIndextem.accessory_colourCustom is _selectedWardrobe[$_outfitSecondary[0]][_iIndex].accessory_colourCustom)>> <<set $_markBroken to false>> <<run _eIndextemIndex[$_outfitSecondary[0]].push(clone(_iIndex))>> <<break>> <</if>> <</if>> <</for>> <<if $_markBroken is true>> /*Mark as broken*/ <<set _selectedWardrobe[_slot][_eIndex].outfitSecondary[1] to "broken">> <<set _selectedWardrobe[_slot][_eIndex].one_piece to "broken">> <<set _selectedWardrobe[_slot][_eIndex].set to clone(_slot)>> <<set _selectedWardrobe[_slot][_eIndex].sanityCheck to true>> <</if>> <</for>> <</for>> <<set $runWardrobeSanityChecker to false>> <</if>> <<if $worn.handheld.type.includes("prop")>> <<error { message: `Removed a prop that should have been destroyed: '${$worn.handheld.name}'. Please report the location where this prop was equipped.` }>> <<handheldruined true>> <<handheldon>> <</if>> <</widget>> <<widget "wardrobeGetRepairedClothes">> <<set _equip to setup.clothingLayer.all>> <<set _takenAway to 0>> <<for _eIndex to 0; _eIndex lt _equip.length; _eIndex++>> <<if $wardrobeRepair[_equip[_eIndex]] is undefined>> <<continue>> <</if>> <<for _iIndex to 0; _iIndex lt $wardrobeRepair[_equip[_eIndex]].length; _iIndex++>> <<if _selectedWardrobe[_equip[_eIndex]].length gte _selectedWardrobe.space>> <<set _takenAway++>> <<continue>> <</if>> <<if $wardrobeRepair[_equip[_eIndex]][_iIndex][5]>> <<sendToWardrobeFromDefault "wardrobe" _equip[_eIndex] `$wardrobeRepair[_equip[_eIndex]][_iIndex][0]` `$wardrobeRepair[_equip[_eIndex]][_iIndex][1]` `$wardrobeRepair[_equip[_eIndex]][_iIndex][3]`>> <<set _selectedWardrobe[_equip[_eIndex]].last().one_piece to "split">> <<if _selectedWardrobe[_equip[_eIndex]].last().outfitPrimary>> <<for $_label, $_value range _selectedWardrobe[_equip[_eIndex]].last().outfitPrimary>> <<set _selectedWardrobe[_equip[_eIndex]].last().outfitPrimary[$_label] to "split">> <</for>> <<elseif _selectedWardrobe[_equip[_eIndex]].last().outfitSecondary>> <<set _selectedWardrobe[_equip[_eIndex]].last().outfitSecondary[1] to "split">> <</if>> <<else>> <<sendToWardrobeFromDefault "wardrobe" _equip[_eIndex] `$wardrobeRepair[_equip[_eIndex]][_iIndex][0]` `$wardrobeRepair[_equip[_eIndex]][_iIndex][1]` `$wardrobeRepair[_equip[_eIndex]][_iIndex][3]`>> <</if>> <<if $wardrobeRepair[_equip[_eIndex]][_iIndex][2] isnot undefined and $wardrobeRepair[_equip[_eIndex]][_iIndex][2] isnot null>> /*colourCustom*/ <<set _selectedWardrobe[_equip[_eIndex]].last().colourCustom to $wardrobeRepair[_equip[_eIndex]][_iIndex][2]>> <<if _selectedWardrobe[_equip[_eIndex]].last().outfitPrimary isnot undefined and _selectedWardrobe[_equip[_eIndex]].last().one_piece isnot "split">> <<for $_label, $_value range _selectedWardrobe[_equip[_eIndex]].last().outfitPrimary>> <<if _selectedWardrobe[$_label].last()?.name is $_value>> <<set _selectedWardrobe[$_label].last().colourCustom to $wardrobeRepair[_equip[_eIndex]][_iIndex][2]>> <</if>> <</for>> <</if>> <</if>> <<if $wardrobeRepair[_equip[_eIndex]][_iIndex][4] isnot undefined and $wardrobeRepair[_equip[_eIndex]][_iIndex][4] isnot null>> /*accessory_colourCustom*/ <<set _selectedWardrobe[_equip[_eIndex]].last().accessory_colourCustom to $wardrobeRepair[_equip[_eIndex]][_iIndex][4]>> <<if _selectedWardrobe[_equip[_eIndex]].last().outfitPrimary isnot undefined and _selectedWardrobe[_equip[_eIndex]].last().one_piece isnot "split">> <<for $_label, $_value range _selectedWardrobe[_equip[_eIndex]].last().outfitPrimary>> <<if _selectedWardrobe[$_label].last()?.name is $_value>> <<set _selectedWardrobe[$_label].last().colourCustom to $wardrobeRepair[_equip[_eIndex]][_iIndex][2]>> <</if>> <</for>> <</if>> <</if>> <</for>> <</for>> <<if _takenAway gt 0>> <br> The driver thanks you for the donation of _takenAway items due to you not having enough space. <</if>> <<unset $wardrobeRepair>> <</widget>> <<widget "randomWear">> <<set $wardrobeOption to "wear">> <<set $_equip to []>> <<set _equipped to []>> <<for $_slot, $_value range $randomEquipConfigure>> <<if $_value>> <<generalUndress $wardrobe_location $_slot>> <<run $_equip.push($_slot)>> <</if>> <</for>> <<for $_slot range $_equip>> <<if !_equipped.includes($_slot) and $worn[$_slot].name is "naked">> <<set _eIndexds to _selectedWardrobe[$_slot].map((item, index) => { if (!item.outfitSecondary or item.outfitSecondary[1] is "broken" or item.outfitSecondary[1] is "split") return index; }).filter(Boolean)>> <<if _eIndexds.length gt 0>> <<set _eIndexd to _eIndexds.random()>> <<set $_selectedItem to _selectedWardrobe[$_slot][_eIndexd]>> <<run _equipped.pushUnique($_slot)>> <<if $_selectedItem.outfitPrimary isnot undefined>> <<run Object.entries($_selectedItem.outfitPrimary).forEach((slot,value) => { if (value !== "broken" && value !== "split") _equipped.pushUnique(slot) })>> <</if>> <<set V["wear_" + $_slot] to _eIndexd>> <<unset _eIndexd>> <</if>> <</if>> <</for>> <<unset $randomWear>> <</widget>> <<widget "warmth_description">> <<print setup.WeatherDescriptions.shop()>> <br> Your clothing warmth is currently <span class="orange"><<print Weather.BodyTemperature.getWarmth()>></span>. <br> <<set $_minWarmth to getTargetWarmth(36.4)>> <<set $_maxWarmth to getTargetWarmth(37.6)>> To be comfortable you'll need <<if $_minWarmth and $_maxWarmth>> a clothing warmth between <span class="orange"><<print getTargetWarmth(36.5)>></span> and <span class="orange"><<print getTargetWarmth(37.5)>></span>. <<elseif $_minWarmth>> at least a clothing warmth of <span class="orange"><<print getTargetWarmth(36.5)>></span>. <<elseif $_maxWarmth>> at most a clothing warmth of <span class="orange"><<print getTargetWarmth(37.5)>></span>. <<else>> to stay indoors. <</if>> <hr /> <</widget>> <<widget "wardrobeSelection">> <<if !$multipleWardrobes or !$wardrobes[$wardrobe_location]>> <<set $wardrobe_location to "wardrobe">> <<elseif $forceWardrobeLocation>> <<set $wardrobe_location to $forceWardrobeLocation>> <<elseif $multipleWardrobes is "isolated" and !$wardrobes[$wardrobe_location].isolated>> <<set $wardrobe_location to "wardrobe">> <</if>> <<if $debug and $multipleWardrobes and !_args[0]>> <div class="no-numberify">Debug: <<for _label, _value range $wardrobes>> <<if _value.unlocked is undefined>> <<elseif $wardrobe_location is _label>> <span class="gold"><<print _value.name>></span> | <<else>> <<capture _label>><<link [[_value.name|$passage]]>><<set $forceWardrobeLocation to _label>><</link>> |<</capture>> <</if>> <</for>> </div> <br> <</if>> <</widget>> <<widget "cleanupOnWardrobeExit">> <<unset $saveColor>><<unset $wardrobeRepeat>><<unset $tempDisable>><<set $delete_outfit to "none">><<unset $forceWardrobeLocation>><<set $dontHide to false>> <</widget>> <<widget "wardrobeExits">> <!-- Note: Don't use $_ in this widget, because this widget gets <<replace>>'d into the passage body --> <!-- this widget doesn't make sense because these links ALWAYS depend on the passage this widget is called from, so there's no reason to make it a widget --> <<switch $passage>> <<case "Wardrobe">> <<link [[Close wardrobe|Bedroom]]>><<cleanupOnWardrobeExit>><</link>> <<case "Changing Room">> <<if $exposed lte 1>> <<getouticon>><<link [[Leave|Beach]]>><<cleanupOnWardrobeExit>><</link>> <<elseif hasSexStat("exhibitionism", 5)>> <<sneakicon>><<link [[Sneak outside|Beach Changing Room Sneak]]>><<cleanupOnWardrobeExit>><</link>><<exhibitionist5>> <<else>> You can't go out like this! <</if>> <<case "Sydney Beach Changing Room">> <<set _earSlimeEnableSwimwear to true>> <<if $exposed lte 1>> <<getouticon>><<link [[Leave|Sydney Beach Swimsuit]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't go out like this! <</if>> <<case "Sydney Beach Changing Room Leave">> <<set _earSlimeEnableSwimwear to true>> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked")>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<elseif $exposed lte 1>> <<getouticon>><<link [[Leave|Sydney Beach Leave]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't go out like this! <</if>> <<case "Eden Wardrobe">> <<if isLoveInterest("Eden") or hasSexStat("exhibitionism", 5) or $exposed lte 0 or (hasSexStat("exhibitionism", 4) and $exposed lte 1)>> <<link [[Done|Eden Cabin]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't remain undressed like this! <</if>> <<case "Eden Night Wardrobe">> <<if isLoveInterest("Eden") or hasSexStat("exhibitionism", 5) or $exposed lte 0 or (hasSexStat("exhibitionism", 4) and $exposed lte 1)>> <<link [[Done|Eden Cabin Bed]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't remain undressed like this! <</if>> <<case "Asylum Wardrobe">> <<if hasSexStat("exhibitionism", 5) or $exposed lte 0 or (hasSexStat("exhibitionism", 4) and $exposed lte 1)>> <<link [[Done|Asylum Cell]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't remain undressed like this! <</if>> <<case "Farm Wardrobe">> <<if hasSexStat("exhibitionism", 5) or $exposed lte 0 or (hasSexStat("exhibitionism", 4) and $exposed lte 1)>> <<link [[Done|Farm Bedroom]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't remain undressed like this! <</if>> <<case "Strip Club Wardrobe">> <<if hasSexStat("exhibitionism", 4) or $exposed lte 0 or (hasSexStat("exhibitionism", 2) and $exposed lte 1)>> <<link [[Step away|Strip Club Dressing Room]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't go out like this! <</if>> <<case "Brothel Wardrobe">> <<if hasSexStat("exhibitionism", 4) or $exposed lte 0 or (hasSexStat("exhibitionism", 2) and $exposed lte 1)>> <<link [[Step away|Brothel Dressing Room]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't go out like this! <</if>> <<case "School Pool Wardrobe">> <<if $changingRoomGender is "boys">> <<getouticon>><<link [[Leave|School Boy Changing Room]]>><<cleanupOnWardrobeExit>><</link>> <<else>> <<getouticon>><<link [[Leave|School Girl Changing Room]]>><<cleanupOnWardrobeExit>><</link>> <</if>> <<case "Farm Assault Wardrobe">> <<if hasSexStat("exhibitionism", 5) or $exposed lte 0 or (hasSexStat("exhibitionism", 4) and $exposed lte 1)>> <<link [[Done|Farm Assault Intro]]>><<cleanupOnWardrobeExit>><</link>> <<else>> You can't remain undressed like this! <</if>> <<case "Prison Wardrobe">> <<link [[Close|Prison Cell]]>><<cleanupOnWardrobeExit>><</link>> <<case "Temple Wardrobe">> <<link [[Close|Temple Bunk]]>><<cleanupOnWardrobeExit>><</link>> <<case "Pirate Wardrobe">> <<link [[Close|Pirate Bed]]>><<cleanupOnWardrobeExit>><</link>> <<case "Office Agency Changing Room">> <<if $exposed lte 1>> <<getouticon>><<link [[Leave|Office Agency]]>><<cleanupOnWardrobeExit>><</link>> <<elseif hasSexStat("exhibitionism", 4)>> <<sneakicon>><<link [[Sneak outside|Office Agency Streak]]>><<cleanupOnWardrobeExit>><</link>><<exhibitionist4>> <<else>> You can't go out like this! <</if>> <<case "Bird Tower Wardrobe">> <<link [[Close|Bird Tower]]>><<cleanupOnWardrobeExit>><</link>> <</switch>> <br><br> <</widget>> <<widget "underwearTypeText">><<silently>> <<if $worn.under_lower.name is "naked">> <<elseif $worn.under_lower.type.includes("swim")>> <<set $_text_output to "swimwear">> <<elseif $worn.under_lower.type.includes("dance")>> <<set $_text_output to "dancewear">> <<else>> <<set $_text_output to "underwear">> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>><<effects>> <<set $wardrobe_location to "wardrobe">> <<wardrobeSelection>> You look in your wardrobe. <br><br> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>><<location "changingroom">> <<set $wardrobe_location to "changingRoom">> <<set _earSlimeEnableSwimwear to true>> <<wardrobeSelection>> You are in a small wooden changing room. <br><br> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> You look through the cupboard containing your clothes. There's an old dressing screen for privacy. <br><br> <<set $wardrobe_location to "edensCabin">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> You look through the cupboard containing your clothes. <br><br> <<set $wardrobe_location to "asylum">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> You look through the rustic wardrobe. <br><br> <<set $wardrobe_location to "alexFarm">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> <<set $wardrobe_location to "stripClub">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> <<set $wardrobe_location to "brothel">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> <<wardrobeSelection>> <<set _earSlimeEnableSwimwear to true>> You stand in front of your open locker. <br><br> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> You look through the cupboard containing your clothes. <br><br> <<set $wardrobe_location to "temple">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> You look through the cupboard containing your clothes. <br><br> <<set $wardrobe_location to "pirate">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>><<location "officeBuilding">> <<set $wardrobe_location to "officeBuilding">> <<wardrobeSelection>> You are in the small storage room sanctioned for temps to use for changing. <br><br> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> You look through the wardrobe you built. <br><br> <<set $wardrobe_location to "birdTower">> <<wardrobeSelection>> <div id="wardrobewear"><<wardrobewear>></div> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>>Are you prepared to add all your <<if $crateContents is "all">> clothes <<else>> outfits <</if>> to the crate and send them to be sold? Might be best to go shopping shortly after. <br><br> <<set _value to 0>> <<for _label, _items range $wardrobe>> <<for _i to 0; _i lt _items.length; _i++>> <<if setup.clothes[_label][clothesIndex(_label,_items[_i])].shop.length is 0>> <<continue>> <</if>> <<if _items[_i].outfitSecondary isnot undefined>> <<continue>> <</if>> <<if _items[_i].outfitPrimary is undefined and $crateContents is "outfits">> <<continue>> <</if>> <<set _value += Math.floor(getClothingCost(_items[_i], _label) * (_items[_i].integrity / clothingData(_label,_items[_i],'integrity_max')) / 3)>> <</for>> <</for>> It will earn you <<printmoney `_value + 5000`>>. <br><br> <<link [[Yes|Wardrobe Sale Crate Result]]>><</link>> <br> <<link [[No|$wardrobeReturnLink]]>> <<unset $wardrobeReturnLink>> <<unset $crateContents>> <</link>><<set $tailorMonthlyService to 7>> <<set _value to 0>> <<set _equip to setup.clothingLayer.all>> <<for _eIndex to 0; _eIndex lt _equip.length; _eIndex++>> <<set _toDelete to []>> <<for _iIndex to 0; _iIndex lt $wardrobe[_equip[_eIndex]].length; _iIndex++>> <<if setup.clothes[_equip[_eIndex]][clothesIndex(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex])].shop.length is 0>> <<continue>> <</if>> <<if $wardrobe[_equip[_eIndex]][_iIndex].outfitPrimary is undefined and $crateContents is "outfits">> <<continue>> <</if>> <<set _value += Math.floor(tailorClothingCost($wardrobe[_equip[_eIndex]][_iIndex],_equip[_eIndex]) * ($wardrobe[_equip[_eIndex]][_iIndex].integrity / clothingData(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex],'integrity_max')) / 3)>> <<run _toDelete.push(clone(_iIndex))>> <</for>> <<for _iIndex to $wardrobe[_equip[_eIndex]].length; _iIndex gte 0; _iIndex-->> <<if _toDelete.includes(_iIndex)>> <<run $wardrobe[_equip[_eIndex]].deleteAt(_iIndex)>> <</if>> <</for>> <</for>> The driver takes the crate away, leaving <<printmoney `_value + 5000`>> in its place. <<money `Math.floor(_value + 5000)` "tailor">> <br><br> <<link [[Continue|$wardrobeReturnLink]]>> <<unset $wardrobeReturnLink>> <<unset $crateContents>> <</link>>Are you prepared to add all your <<if $crateContents is "all">> clothes <<elseif $crateContents is "damaged">> damaged clothes <<else>> outfits <</if>> to the crate and send them to be repaired? Might be best to go shopping shortly after. <br><br> <<set _value to 0>> /* recalculated with adding lower or upper halves when missing */ <<for _label, _items range $wardrobe>> <<for _i to 0; _i lt _items.length; _i++>> <<if isNaN(clothingData(_label,_items[_i],'integrity_max'))>><<continue>><</if>> <<if (_items[_i].outfitPrimary is undefined and _items[_i].outfitSecondary is undefined and $crateContents is "outfits") or (_items[_i].integrity gt clothingData(_label,_items[_i],'integrity_max'))>> <<continue>> <</if>> <<if $crateContents is "damaged" and _items[_i].one_piece isnot "broken" and (_items[_i].outfitPrimary isnot undefined or _items[_i].outfitSecondary isnot undefined)>> <<continue>> <</if>> <<set _value += Math.floor(tailorClothingCost(_items[_i],_label) * (1 - (_items[_i].integrity / clothingData(_label,_items[_i],'integrity_max'))) * 1.25)>> <</for>> <</for>> It will cost you <<if _value gt 5000>> <<printmoney `_value - 5000`>>. <<else>> nothing. <</if>> <br><br> <<if $money gte _value>> <<link [[Yes|Wardrobe Repair Crate Result]]>><</link>> <<else>> Not enough money. <</if>> <br> <<link [[No|$wardrobeReturnLink]]>> <<unset $wardrobeReturnLink>> <<unset $crateContents>> <</link>><<set $tailorMonthlyService to 7>> <<set $wardrobeRepair to {timeLeft: 1}>> <<set _equip to setup.clothingLayer.all>> <<set _value to 0>> <<for _eIndex to 0; _eIndex lt _equip.length; _eIndex++>> <<set _toDelete to []>> <<for _iIndex to 0; _iIndex lt $wardrobe[_equip[_eIndex]].length; _iIndex++>> <<if isNaN(clothingData(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex],'integrity_max'))>><<continue>><</if>> <<if $wardrobe[_equip[_eIndex]][_iIndex].integrity is clothingData(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex],'integrity_max') and $wardrobe[_equip[_eIndex]][_iIndex].one_piece isnot "broken" and $crateContents is "damaged">> <<continue>> <</if>> <<if $crateContents is "damaged" and $wardrobe[_equip[_eIndex]][_iIndex].one_piece isnot "broken" and ($wardrobe[_equip[_eIndex]][_iIndex].outfitPrimary isnot undefined or $wardrobe[_equip[_eIndex]][_iIndex].outfitSecondary isnot undefined)>> <<continue>> <</if>> <<if ($wardrobe[_equip[_eIndex]][_iIndex].outfitPrimary is undefined and $wardrobe[_equip[_eIndex]][_iIndex].outfitSecondary is undefined and $crateContents is "outfits") or ($wardrobe[_equip[_eIndex]][_iIndex].integrity gt clothingData(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex],'integrity_max'))>> <<continue>> <</if>> <<set _value += Math.floor(tailorClothingCost($wardrobe[_equip[_eIndex]][_iIndex],_equip[_eIndex]) * (1 - ($wardrobe[_equip[_eIndex]][_iIndex].integrity / clothingData(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex],'integrity_max'))) * 1.25)>> <<if $wardrobeRepair[_equip[_eIndex]] is undefined>> <<set $wardrobeRepair[_equip[_eIndex]] to []>> <</if>> <<if $wardrobe[_equip[_eIndex]][_iIndex].outfitSecondary and $wardrobe[_equip[_eIndex]][_iIndex].one_piece is "broken">> /* If a secondary part of an outfit is broken adds the primary part so the complete outfit will be repaired */ <<set _upperSlot to $wardrobe[_equip[_eIndex]][_iIndex].outfitSecondary[0]>> <<set _upperItem to setup.clothes[_upperSlot].findIndex(x => x.name === setup.clothes[_equip[_eIndex]][clothesIndex(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex])].outfitSecondary[1])>> <<if $wardrobeRepair[_upperSlot] is undefined>> <<set $wardrobeRepair[_upperSlot] to []>> <</if>> <<set _itemStats to [ clone(_upperItem), clone($wardrobe[_equip[_eIndex]][_iIndex].colour), clone($wardrobe[_equip[_eIndex]][_iIndex].colourCustom), clone($wardrobe[_equip[_eIndex]][_iIndex].accessory_colour), clone($wardrobe[_equip[_eIndex]][_iIndex].accessory_colourCustom), false ]>> <<run $wardrobeRepair[_upperSlot].push(clone(_itemStats))>> <<run _toDelete.push(clone(_iIndex))>> <<else>> <<set _splitted to ($wardrobe[_equip[_eIndex]][_iIndex].one_piece === "split" ? true : false)>> <<set _itemStats to [ clone(clothesIndex(_equip[_eIndex],$wardrobe[_equip[_eIndex]][_iIndex])), clone($wardrobe[_equip[_eIndex]][_iIndex].colour), clone($wardrobe[_equip[_eIndex]][_iIndex].colourCustom), clone($wardrobe[_equip[_eIndex]][_iIndex].accessory_colour), clone($wardrobe[_equip[_eIndex]][_iIndex].accessory_colourCustom), clone(_splitted) ]>> <<run $wardrobeRepair[_equip[_eIndex]].push(clone(_itemStats))>> <<run _toDelete.push(clone(_iIndex))>> <</if>> <</for>> <<for _iIndex to $wardrobe[_equip[_eIndex]].length; _iIndex gte 0; _iIndex-->> <<if _toDelete.includes(_iIndex)>> <<run $wardrobe[_equip[_eIndex]].deleteAt(_iIndex)>> <</if>> <</for>> <</for>> <<if _value gt 5000>> <<money `-(_value - 5000)` "tailor">> The driver takes <<printmoney `_value - 5000`>> and the crate away. <<else>> The driver takes the crate away. <</if>> <br><br> <<link [[Continue|$wardrobeReturnLink]]>> <<unset $wardrobeReturnLink>> <<unset $crateContents>> <</link>>/*The "generalWear" widget works in the same way as the "...wear" widgets, however, the argument are as follows; slot, item index, colour, accessory_colour*/ <<widget "generalWear">> <<if $worn[_args[0]].cursed is 1>> <<elseif _args[0] and _args[1]>> <<set $_slot to _args[0]>> <<unset _strip_restrict>><<unset _cursedPrevent>> /*Check the current worn outfit related items for being locked on the character*/ <<set _outfitPrimaryWear to setup.clothes[$_slot][_args[1]].outfitPrimary>> <<if _outfitPrimaryWear isnot undefined>> <<for _outfitSlot, _value range _outfitPrimaryWear>> <<if $worn[_outfitSlot].cursed is 1>> <<set _cursedPrevent to true>> <</if>> <</for>> <</if>> <<if _cursedPrevent isnot true>> /*Primary Piece*/ <<if $worn[$_slot].name isnot "naked">> <<generalUndress `clothesReturnLocation($worn[$_slot])` $_slot>> <</if>> <<equipClothesItemFromDefault $_slot _args[1] _args[2] _args[3] _args[4]>> /*Outfit pieces*/ <<if _outfitPrimaryWear isnot undefined>> <<set _colour to $worn[$_slot].colour>> <<set _accessory_colour to $worn[$_slot].accessory_colour>> <<set _pattern to $worn[$_slot].pattern>> <<for _outfitSlot, _outfitName range _outfitPrimaryWear>> <<if $worn[_outfitSlot].name isnot "naked">> <<generalUndress `clothesReturnLocation($worn[_outfitSlot])` _outfitSlot>> <</if>> <<set _pieceId to setup.clothes[_outfitSlot].findIndex(item => item.name is _outfitName)>> <<if _pieceId isnot -1>> <!-- findIndex() returns -1 if no index is found --> <<equipClothesItemFromDefault _outfitSlot _pieceId _colour _accessory_colour _pattern>> <<else>> <!-- Error --> <</if>> <</for>> <</if>> <</if>> <<unset _outfitPrimaryWear>> <</if>> <</widget>> <!-- args: slot, item index, colour, accessory_colour, pattern --> <<widget "equipClothesItemFromDefault">> <<set $_slot to _args[0]>> <<set $_item to clone(setup.clothes[$_slot][_args[1]])>> <<set $_item.lastTaken to clone($wardrobes.shopReturn)>> <<if $_item.colour_options.length gt 0>> <<if _args[2]>> <<set $_item.colour to _args[2]>> <<if $_item.colour is "custom">> <<set $_item.colourCustom to customColour($customColors.color.primary, $customColors.saturation.primary, $customColors.brightness.primary, $customColors.contrast.primary, $customColors.sepia.primary)>> <</if>> <<else>> <<set _colorOption to clone($_item.colour_options)>> <<run _colorOption.delete("custom")>> <<set $_item.colour to _colorOption.random()>> <</if>> <</if>> <<if $_item.accessory_colour_options.length gt 0 and $_item.accessory_colour_sidebar>> <<if _args[3]>> <<set $_item.accessory_colour to _args[3]>> <<if $_item.accessory_colour is "custom">> <<set $_item.accessory_colourCustom to customColour($customColors.color.secondary, $customColors.saturation.secondary, $customColors.brightness.secondary, $customColors.contrast.secondary, $customColors.sepia.secondary)>> <</if>> <<else>> <<set _accessoryColorOption to clone($_item.accessory_colour_options)>> <<run _accessoryColorOption.delete("custom")>> <<set $_item.accessory_colour to _accessoryColorOption.random()>> <</if>> <</if>> <<if $_item.pattern_options?.length gt 0>> <<if _args[4]>> <<set $_item.pattern to _args[4]>> <<else>> <<set _patternOption to clone($_item.pattern_options)>> <<set $_item.pattern to _patternOption.random()>> <</if>> <</if>> <<set $worn[$_slot] to $_item>> <<run clothesDataTrimmer($worn[$_slot])>> <</widget>> /*The "...wear" widgets give the player character new clothing. They take the index of the item you want to provide as the first argument, and the colour of the item as an optional second argument. The third argument defines the secondary colour, optionally. Only the upper half is required in the case of outfits. Currently worn clothes are sent to wardrobe.*/ <<widget "overupperwear">> <<generalWear "over_upper" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "overlowerwear">> <<generalWear "over_lower" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "upperwear">> <<generalWear "upper" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "lowerwear">> <<generalWear "lower" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "underupperwear">> <<generalWear "under_upper" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "underlowerwear">> <<generalWear "under_lower" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "genitalswear">> <<generalWear "genitals" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "overheadwear">> <<generalWear "over_head" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "headwear">> <<generalWear "head" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "facewear">> <<generalWear "face" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "neckwear">> <<generalWear "neck" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "leash">>/*Always replaces neckwear, even if cursed. */ <<if $worn.neck.cursed is 1>> <<set $worn.neck.type.push("broken")>> <<neckruined>> <</if>> <<generalWear "neck" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "handswear">> <<generalWear "hands" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "handheldwear">> <<generalWear "handheld" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "legswear">> <<generalWear "legs" _args[0] _args[1] _args[2] _args[3]>> <</widget>> <<widget "feetwear">> <<generalWear "feet" _args[0] _args[1] _args[2] _args[3]>> <</widget>> /*The "generalSend" widget works in the same way as the "...send" widgets, however, the argument are as follows; Location, slot, item index, colour, accessory_colour, pattern*/ <<widget "generalSend">> <<set $_selectedWardrobe to (_args[0] is "wardrobe" or !(_args[0] in $wardrobes) ? $wardrobe : $wardrobes[_args[0]])>> <<set $_outfitPrimary to setup.clothes[_args[1]][_args[2]].outfitPrimary>> <<if _args[0]>> <<sendToWardrobeFromDefault _args[0] _args[1] _args[2] _args[3] _args[4] _args[5]>> <<if $_outfitPrimary isnot undefined>> <<set $_outfitPiece to $_selectedWardrobe[_args[1]].last()>> <<set _colour to $_outfitPiece.colour>> <<set _colourCustom to $_outfitPiece.colourCustom>> <<set _accessory_colour to $_outfitPiece.accessory_colour>> <<set _accessory_colourCustom to $_outfitPiece.accessory_colourCustom>> <<set _pattern to $_outfitPiece.pattern>> <<for $_label, $_value range $_outfitPrimary>> <<set _pieceId to setup.clothes[$_label].findIndex(item => item.name is $_value)>> <<if _pieceId isnot -1>> <!-- findIndex() returns -1 if no index is found --> <<if (!_hoodDown or $_label isnot "head") and _pieceId.one_piece isnot "split">> /*If hood is down, don't make a hood. If an upper part of an outfit is separated don't add a lower part*/ <<sendToWardrobeFromDefault _args[0] $_label _pieceId _colour _accessory_colour _pattern>> <</if>> <<else>> <!-- Error --> <</if>> <</for>> <</if>> <</if>> <</widget>> <<widget "carriedSend">> <<if _args[0] is "wardrobe" or Object.keys($wardrobes).includes(_args[0])>> <<set $_undressSlot to _args[1]>> <<set $_outfitPrimaryUndress to $carried[$_undressSlot].outfitPrimary>> <<set _slots to []>> <<set $_selectedWardrobe to selectWardrobe()>> <<if $_outfitPrimaryUndress isnot undefined>> <<for _labelUndress, _valueUndress range $_outfitPrimaryUndress>> <<if _valueUndress isnot "broken" and _valueUndress isnot "split">> <<if !setup.wardrobeSkip.includes($carried[_labelUndress].name) and $carried[_labelUndress].name is _valueUndress>> <<set $_selectedWardrobe[_labelUndress].push(clone($carried[_labelUndress]))>> <<run _slots.push(_labelUndress)>> <</if>> <<set $carried[_labelUndress] to clone(setup.clothes[_labelUndress][0])>> <</if>> <</for>> <</if>> <<if !setup.wardrobeSkip.includes($carried[$_undressSlot].name)>> <<set $_selectedWardrobe[$_undressSlot].push(clone($carried[$_undressSlot]))>> <</if>> <<set $carried[$_undressSlot] to clone(setup.clothes[$_undressSlot][0])>> <<run _slots.push($_undressSlot)>> <</if>> <</widget>> <<widget "sendToWardrobeFromDefault">> <<set $_location to _args[0]>> <<set $_slot to _args[1]>> <<set $_selectedWardrobe to ($_location is "wardrobe" or !($_location in $wardrobes) ? $wardrobe : $wardrobes[$_location])>> <<set $_selectedWardrobe[$_slot].push(clone(setup.clothes[$_slot][_args[2]]))>> <<set $_item to $_selectedWardrobe[$_slot].last()>> <<if $_item.colour_options.length gt 0>> <<if _args[3]>> <<set $_item.colour to _args[3]>> <<if $_item.colour is "custom">> <<if _colourCustom isnot undefined>> <<set $_item.colourCustom to _colourCustom>> <<unset _colourCustom>> <<else>> <<set $_item.colourCustom to customColour($customColors.color.primary, $customColors.saturation.primary, $customColors.brightness.primary, $customColors.contrast.primary, $customColors.sepia.primary)>> <</if>> <</if>> <<else>> <<set $_item.colour to clone($_item.colour_options.random())>> <</if>> <</if>> <<if $_item.accessory_colour_options.length gt 0 and $_item.accessory_colour_sidebar>> <<if _args[4]>> <<set $_item.accessory_colour to _args[4]>> <<if $_item.accessory_colour is "custom">> <<if _accessory_colourCustom isnot undefined>> <<set $_item.accessory_colourCustom to _accessory_colourCustom>> <<unset _accessory_colourCustom>> <<else>> <<set $_item.accessory_colourCustom to customColour($customColors.color.secondary, $customColors.saturation.secondary, $customColors.brightness.secondary, $customColors.contrast.secondary, $customColors.sepia.secondary)>> <</if>> <</if>> <<else>> <<set $_item.accessory_colour to clone($_item.accessory_colour_options.random())>> <</if>> <</if>> <<if $_item.pattern_options and $_item.pattern_options.length gt 0>> <<if _args[5]>> <<set $_item.pattern to _args[5]>> <<else>> <<set $_item.pattern to clone($_item.pattern_options[0])>> <</if>> <</if>> <<if _hoodDown and $_item.hoodposition isnot undefined>> <<set $_item.hoodposition to "down">> <<run delete $_item.outfitPrimary.head>> <</if>> <<run clothesDataTrimmer($_item)>> <</widget>> /*The "...send" widgets give the player character new clothing. They take the index of the item you want to provide as an argument, the location you want to send it to as a second argument, (such as "wardrobe",) and the colour of the item as an optional third argument. Fourth argument defines the secondary colour, if present. Fifth argument defines the pattern, if present. Only the upper half is required in the case of outfits. They differ from the "...wear" widgets in that they send clothes to your wardrobe, rather than put them on your character.*/ <<widget "overuppersend">> <<generalSend _args[1] "over_upper" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "overlowersend">> <<generalSend _args[1] "over_lower" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "uppersend">> <<generalSend _args[1] "upper" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "lowersend">> <<generalSend _args[1] "lower" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "underuppersend">> <<generalSend _args[1] "under_upper" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "underlowersend">> <<generalSend _args[1] "under_lower" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "genitalssend">> <<generalSend _args[1] "genitals" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "overheadsend">> <<generalSend _args[1] "over_head" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "headsend">> <<generalSend _args[1] "head" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "facesend">> <<generalSend _args[1] "face" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "necksend">> <<generalSend _args[1] "neck" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "handssend">> <<generalSend _args[1] "hands" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "handheldsend">> <<generalSend _args[1] "handheld" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "legssend">> <<generalSend _args[1] "legs" _args[0] _args[2] _args[3] _args[4]>> <</widget>> <<widget "feetsend">> <<generalSend _args[1] "feet" _args[0] _args[2] _args[3] _args[4]>> <</widget>> /*The "...strip" widgets remove the player character's clothing. The clothing remains with the player character, ready to be put back on.*/ <<widget "strip">> <<overupperstrip>> <<overlowerstrip>> <<upperstrip>> <<lowerstrip>> <<underupperstrip>> <<if playerHasStrapon() and _args[0] isnot undefined>> <!-- keep wearing the strap-on --> <<else>> <<underlowerstrip>> <</if>> <<headstrip>> <<facestrip>> <<neckstrip>> <<handsstrip>> <<handheldstrip>> <<legsstrip>> <<feetstrip>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> <<widget "clothesstrip">> <<overupperstrip>> <<overlowerstrip>> <<upperstrip>> <<lowerstrip>> <<underupperstrip>> <<underlowerstrip>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> <<widget "shavestrip">> <<overupperstrip>> <<overlowerstrip>> <<upperstrip>> <<lowerstrip>> <<underlowerstrip>> <<legsstrip>> <<feetstrip>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> <<widget "generalStrip">> <<if _args[0]>> <<unset _stripSlot>> /*Checks if the current slot is part of an outfit and switches to the main piece if that is the case*/ <<if $worn[_args[0]].outfitSecondary isnot undefined>> <<if $worn[$worn[_args[0]].outfitSecondary[0]].name is $worn[_args[0]].outfitSecondary[1]>> <<set _stripSlot to $worn[_args[0]].outfitSecondary[0]>> <</if>> <</if>> <<if _stripSlot is undefined>> <<set _stripSlot to _args[0]>> <</if>> <<if $worn[_stripSlot].cursed is 1>> <<elseif $worn[_stripSlot].name isnot "naked">> <<unset _cursedPrevent>> /*Check the current worn outfit related items for being locked on the character*/ <<set _outfitPrimaryStrip to $worn[_stripSlot].outfitPrimary>> <<if _outfitPrimaryStrip isnot undefined>> <<for _labelStrip, _valueStrip range _outfitPrimaryStrip>> <<if $worn[_labelStrip].cursed is 1 and $worn[_labelStrip].name is _valueStrip>> <<set _cursedPrevent to true>> <</if>> <</for>> <</if>> <<if _cursedPrevent isnot true>> <<set V[_stripSlot.replace(/_/g,"")+'last'] to $worn[_stripSlot].name>> <<set $carried[_stripSlot] to clone($worn[_stripSlot])>> <<set $worn[_stripSlot] to clone(setup.clothes[_stripSlot][0])>> <<if _outfitPrimaryStrip isnot undefined>> <<for _labelStrip, _valueStrip range _outfitPrimaryStrip>> <<if $worn[_labelStrip].name is _valueStrip>> <<set V[_labelStrip.replace(/_/g,"")+'last'] to $worn[_labelStrip].name>> <<set $carried[_labelStrip] to clone($worn[_labelStrip])>> <<set $worn[_labelStrip] to clone(setup.clothes[_labelStrip][0])>> <</if>> <</for>> <</if>> <</if>> <<unset _outfitPrimaryStrip>> <</if>> <</if>> <</widget>> <<widget "overupperstrip">> <<generalStrip "over_upper">> <</widget>> <<widget "overlowerstrip">> <<generalStrip "over_lower">> <</widget>> <<widget "upperstrip">> <<generalStrip "upper">> <</widget>> <<widget "lowerstrip">> <<generalStrip "lower">> <</widget>> <<widget "underupperstrip">> <<generalStrip "under_upper">> <</widget>> <<widget "underlowerstrip">> <<generalStrip "under_lower">> <</widget>> <<widget "overheadstrip">> <<generalStrip "over_head">> <</widget>> <<widget "headstrip">> <<generalStrip "head">> <</widget>> <<widget "facestrip">> <<generalStrip "face">> <</widget>> <<widget "neckstrip">> <<generalStrip "neck">> <</widget>> <<widget "handsstrip">> <<generalStrip "hands">> <</widget>> <<widget "handheldstrip">> <<generalStrip "handheld">> <</widget>> <<widget "legsstrip">> <<generalStrip "legs">> <</widget>> <<widget "feetstrip">> <<generalStrip "feet">> <</widget>> /* temporarily equips a handheld "prop" for visual effect in scenes. props can be cleared earlier in a scene via <<handheldon>> or <<clotheson>>, and are cleared in <<endevent>> */ <<widget "wearProp">> <<if _args[0].includes('|')>> <<set _prop to _args[0].split('|')>> <<set _var to _prop[0]>> <<set _colour to _prop[1] || 0>> <<set _pattern to _prop[2] || 0>> <<else>> <<set _var to _args[0]>> <<set _colour to _args[1] || 0>> <<set _pattern to _args[2] || 0>> <</if>> <<set _propIndex to (setup.clothes.handheld.findIndex(item => item.variable is _var) || 0)>> <<if $worn.handheld.type.includes("prop")>> <<handheldon>> <</if>> <<set $propEquipped to 1>> <<handheldstrip>> <<if _propIndex gt 1>> <<handheldwear _propIndex _colour 0 _pattern>> <<else>> <<run Errors.report("Invalid prop variable: " + _args[0])>> <</if>> <</widget>> /*Returns all carried clothes back to the wardrobe*/ <<widget "returnCarried">> <<if _args[0] is "wardrobe" or $wardrobes[_args[0]] is undefined>> <<set $_selectedWardrobe to $wardrobe>> <<else>> <<set $_selectedWardrobe to $wardrobes[_args[0]]>> <</if>> <<run Object.keys($carried).forEach(slot => { if (!setup.wardrobeSkip.includes($carried[slot].name)) { let location = clothesReturnLocation($carried[slot]); if(location === "wardrobe" || !$wardrobes[location].unlocked){ $wardrobe[slot].push(clone($carried[slot])); } else { $wardrobes[location][slot].push(clone($carried[slot])); } } $carried[slot] = clone(setup.clothes[slot][0]); })>> <</widget>> /*The "dontHideForNow" widget makes the player character not cover themselves even when self-conscious*/ /*Use "dontHideRevert" widget to go back to normal behaviour*/ <<widget "dontHideForNow">> <<set $dontHideNormal to $dontHide>> <<set $dontHide to true>> <</widget>> <<widget "dontHideRevert">> <<set $dontHide to $dontHideNormal>> <</widget>> /*The "...ruined" widgets destroy the player character's current clothing, whether worn or carried.*/ <<widget "ruined">> <<overupperruined>> <<overlowerruined>> <<upperruined>> <<lowerruined>> <<underupperruined>> <<underlowerruined>> <<headruined>> <<faceruined>> <<neckruined>> <<handsruined>> <<legsruined>> <<feetruined>> <<handheldruined>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> <<widget "clothesruined">> <<overupperruined>> <<overlowerruined>> <<upperruined>> <<lowerruined>> <<underupperruined>> <<underlowerruined>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> <<widget "overruined">> <<overupperruined>> <<overlowerruined>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> <<widget "middleruined">> <<upperruined>> <<lowerruined>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> <<widget "underruined">> <<underupperruined>> <<underlowerruined>> <<setKnowsAboutPregnancyCurrentLoaded>> <</widget>> /*_args[0] = slot name*/ /*_args[1] = true for ruin all pieces of an outfit*/ /*_args[2] = "worn" or "carried" to destroy just that category"*/ <<widget "generalRuined">> <<set _destroyWorn to !_args[2] || _args[2] is "worn">> <<set _destroyCarry to !_args[2] || _args[2] is "carried">> <<if _args[0]>> <<set $eventskipoverrule to 1>> <<if $worn[_args[0]].cursed is 1 and !$worn[_args[0]].type.includes("broken") and !$worn[_args[0]].type.includes("split") or ($worn[_args[0]].name is "naked" and $carried[_args[0]].name is "naked")>> <<else>> <<if _destroyWorn>> <<switch _args[0]>> <<case "upper">> <<set $upperwet to 0>><<set $upperwetstage to 0>> <<if $worn.upper.type.includes("binding") and _unbind_check isnot 1>> <<unbind>> <</if>> <<case "lower">><<set $lowerwet to 0>><<set $lowerwetstage to 0>> <<case "under_upper">><<set $underupperwet to 0>><<set $underupperwetstage to 0>> <<case "under_lower">><<set $underlowerwet to 0>><<set $underlowerwetstage to 0>> <<if $worn.under_lower.type.includes("strap-on")>> <<set $penisstate to "none">><<set $penisuse to "none">> <<if $penistarget isnot undefined and typeof $penistarget is "number">> <<set $NPCList[$penistarget].penis to 0>> <</if>> <</if>> <</switch>> /* In case you lose the gold chastity belt before donating it */ <<if $worn[_args[0]].name is "gold chastity belt" and $gold_chastity_held isnot true and ($museumAntiques.antiques.antiquegoldchastitybelt is "found" or $museumAntiques.antiques.antiquegoldchastitybelt is "talk")>> <<museumAntiqueStatus "antiquegoldchastitybelt" "notFound">> <</if>> <</if>> /*Re-buy*/ <<if _args[0] isnot "genitals" and $clothingrebuy is 1 and !_noRebuy>> <<if _destroyCarry && $carried[_args[0]].name isnot "naked" and $carried[_args[0]].cursed isnot 1>> <<generalRuinedRebuy _args[0] $carried>> <</if>> <<if _destroyWorn && $worn[_args[0]].name isnot "naked" and $worn[_args[0]].cursed isnot 1>> <<generalRuinedRebuy _args[0] $worn>> <</if>> <</if>> <<unset _noRebuy>> /*Other Pieces*/ <<if _destroyCarry>> <<set _outfitPrimaryRuined to $carried[_args[0]].outfitPrimary>> <<if _outfitPrimaryRuined isnot undefined>> <<for _labelRuined, _valueRuined range _outfitPrimaryRuined>> <<if $carried[_labelRuined].outfitSecondary isnot undefined>> <<if $carried[_labelRuined].outfitSecondary[1] is $carried[_args[0]].name>> <<set $carried[_labelRuined].outfitSecondary[1] to "broken">> <<set $carried[_labelRuined].one_piece to "broken">> <<set $carried[_labelRuined].set to _labelRuined>> <<if _args[1]>> <<generalRuined _labelRuined>> <<elseif _labelRuined is "head" and $carried.head.hood>> <<headruined>> <<elseif _labelRuined is "over_head" and $carried.over_head.hood>> <<overheadruined>> <</if>> <</if>> <</if>> <</for>> <</if>> <<unset _outfitPrimaryRuined>> <</if>> <<if _destroyWorn>> <<set _outfitPrimaryRuined to $worn[_args[0]].outfitPrimary>> <<if _outfitPrimaryRuined isnot undefined>> <<for _labelRuined, _valueRuined range _outfitPrimaryRuined>> <<if $worn[_labelRuined].outfitSecondary isnot undefined>> <<if $worn[_labelRuined].outfitSecondary[1] is $worn[_args[0]].name>> <<set $worn[_labelRuined].outfitSecondary[1] to "broken">> <<set $worn[_labelRuined].one_piece to "broken">> <<set $worn[_labelRuined].set to _labelRuined>> <<if _args[1]>> <<generalRuined _labelRuined>> <<elseif _labelRuined is "head" and $worn.head.hood>> <<headruined>> <<elseif _labelRuined is "over_head" and $worn.over_head.hood>> <<overheadruined>> <</if>> <</if>> <</if>> <</for>> <</if>> <<unset _outfitPrimaryRuined>> <</if>> /*Main Outfit Piece*/ <<if _destroyCarry>> <<set _outfitSecondaryRuined to $carried[_args[0]].outfitSecondary>> <<if _outfitSecondaryRuined isnot undefined>> <<if $carried[_outfitSecondaryRuined[0]].name is _outfitSecondaryRuined[1] and $carried[_outfitSecondaryRuined[0]].outfitPrimary isnot undefined>> <<if $carried[_outfitSecondaryRuined[0]].outfitPrimary[_args[0]] is $carried[_args[0]].name>> <<if _args[1]>> <<generalRuined _outfitSecondaryRuined[0] _args[1]>> <<else>> <<set $carried[_outfitSecondaryRuined[0]].outfitPrimary[_args[0]] to "broken">> <<set $carried[_outfitSecondaryRuined[0]].one_piece to "broken">> <</if>> <</if>> <</if>> <</if>> <<unset _outfitSecondaryRuined>> <</if>> <<if _destroyWorn>> <<set _outfitSecondaryRuined to $worn[_args[0]].outfitSecondary>> <<if _outfitSecondaryRuined isnot undefined>> <<if $worn[_outfitSecondaryRuined[0]].name is _outfitSecondaryRuined[1] and $worn[_outfitSecondaryRuined[0]].outfitPrimary isnot undefined>> <<if $worn[_outfitSecondaryRuined[0]].outfitPrimary[_args[0]] is $worn[_args[0]].name>> <<if _args[1]>> <<generalRuined _outfitSecondaryRuined[0] _args[1]>> <<else>> <<set $worn[_outfitSecondaryRuined[0]].outfitPrimary[_args[0]] to "broken">> <<set $worn[_outfitSecondaryRuined[0]].one_piece to "broken">> <</if>> <</if>> <</if>> <</if>> <<unset _outfitSecondaryRuined>> <</if>> <<if _destroyWorn>> <<set $worn[_args[0]] to clone(setup.clothes[_args[0]][0])>> <</if>> <<if _destroyCarry>> <<set $carried[_args[0]] to clone(setup.clothes[_args[0]][0])>> <</if>> <</if>> <</if>> <</widget>> /*_args[0] - slot, _args[1] - $worn or $carried*/ <<widget "generalRuinedRebuy">> <<if _args[0] and _args[1]>> <<set $_slot to _args[0]>> <<set $_item to _args[1][$_slot]>> <<if $_slot is "lower">> <<switch clothesIndex($_slot,$_item)>> <<case 107>> <<set $_setupItem to setup.clothes[$_slot][106]>> <<set $_item.pattern to "plaid">> <<case 103>> <<set $_setupItem to setup.clothes[$_slot][27]>> <<set $_item.pattern to "plaid">> <<case 104>> <<set $_setupItem to setup.clothes[$_slot][28]>> <<set $_item.pattern to "plaid">> <<case 105>> <<set $_setupItem to setup.clothes[$_slot][6]>> <<set $_item.pattern to "plaid">> <<default>><<set $_setupItem to setup.clothes[$_slot][clothesIndex($_slot,$_item)]>> <</switch>> <<else>> <<set $_setupItem to setup.clothes[$_slot][clothesIndex($_slot,$_item)]>> <</if>> <<set $_return to clothesReturnLocation($_item,"rebuy")>> <<if $_setupItem.shop.length isnot 0 and $_item.one_piece isnot "broken" and $_setupItem.cursed isnot 1>> /* NO SPLIT ADDED */ /*If item is half of an outfit, rebuy the primary half instead by redefining the variables defined above*/ <<if $_item.outfitSecondary isnot undefined and $_item.outfitSecondary[1] isnot "broken" and $_item.outfitSecondary[1] isnot "split">> <<set $_slot to $_item.outfitSecondary[0]>> <<set $_item to _args[1][$_slot]>> <<set $_setupItem to setup.clothes[$_slot][clothesIndex($_slot,$_item)]>> <</if>> <<set $_cost to Math.trunc(tailorClothingCost($_item, $_slot) * 1.5)>> <<set _hoodDown to $_item.hoodposition is "down">> <<if $_item.colourCustom isnot undefined>><<set _colourCustom to $_item.colourCustom>><</if>> <<if $_item.accessory_colourCustom isnot undefined>><<set _accessory_colourCustom to $_item.accessory_colourCustom>><</if>> <<if $_item.outfitSecondary isnot undefined and $_item.outfitSecondary[1] is "broken">> /* NO SPLIT ADDED */ <<elseif $money gte $_cost>> <<generalSend $_return $_slot $_setupItem.index $_item.colour $_item.accessory_colour $_item.pattern>> <<if $_item.one_piece is "split">> <<set $_selectedWardrobe to selectWardrobe($_return, "return")>> <<set $_selectedWardrobe[$_slot].last().one_piece to "split">> <<if $_item.outfitPrimary>> <<for $_rangeSlot, $_value range $_selectedWardrobe[$_slot].last().outfitPrimary>> <<set $_selectedWardrobe[$_slot].last().outfitPrimary[$_rangeSlot] to "split">> <</for>> <<elseif $_item.outfitSecondary>> <<set $_selectedWardrobe[$_slot].last().outfitSecondary[1] to "split">> <</if>> <</if>> <<money `-$_cost` "clothes">> <<run $rebuy_success.push([clone($_item.name), $_return])>> <<set $effectsmessage to 1>> <<else>> <<run $rebuy_failure.push(clone($_item.name))>> <<set $effectsmessage to 1>> <</if>> <<unset _hoodDown>> <</if>> <</if>> <</widget>> <<widget "overupperruined">> <<set _noRebuy to _args[0]>> <<generalRuined "over_upper">> <</widget>> <<widget "overlowerruined">> <<set _noRebuy to _args[0]>> <<generalRuined "over_lower">> <</widget>> <<widget "upperruined">> <<set _noRebuy to _args[0]>> <<if $worn.upper.name is "naked" and $worn.under_upper.type.includes("covered")>> <<generalRuined "under_upper">> <<else>> <<generalRuined "upper">> <</if>> <</widget>> <<widget "lowerruined">> <<set _noRebuy to _args[0]>> <<if $worn.lower.name is "naked" and $worn.under_lower.type.includes("covered")>> <<generalRuined "under_lower">> <<else>> <<generalRuined "lower">> <</if>> <</widget>> <<widget "underupperruined">> <<set _noRebuy to _args[0]>> <<if $worn.under_lower.type.includes("naked")>> <<set $_exposedType to $worn.under_lower.exposedType>> <</if>> <<generalRuined "under_upper">> <<if $_exposedType and $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to $_exposedType>> <</if>> <</widget>> <<widget "underlowerruined">> <<set _noRebuy to _args[0]>> <<if $worn.under_lower.type.includes("naked")>> <<set $_exposedType to $worn.under_lower.exposedType>> <</if>> <<generalRuined "under_lower">> <<if _args[1] and $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to _args[1]>> <<elseif $_exposedType and $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to $_exposedType>> <<elseif !$_exposedType>> <<set $worn.under_lower.exposedType to "ruined">> <</if>> <</widget>> <<widget "genitalsruined">> <<set _noRebuy to _args[0]>> <<generalRuined "genitals">> <</widget>> <<widget "overheadruined">> <<set _noRebuy to _args[0]>> <<generalRuined "over_head">> <</widget>> <<widget "headruined">> <<set _noRebuy to _args[0]>> <<generalRuined "head">> <</widget>> <<widget "faceruined">> <<set _noRebuy to _args[0]>> <<generalRuined "face">> <</widget>> <<widget "neckruined">> <<set _noRebuy to _args[0]>> <<generalRuined "neck">> <</widget>> <<widget "handsruined">> <<set _noRebuy to _args[0]>> <<generalRuined "hands">> <</widget>> <<widget "handheldruined">> <<set _noRebuy to _args[0]>> <<if _args[1] is true>> /* only destroy prop */ <<if $propEquipped is 1>> <<generalRuined "handheld" true "worn">> <<set $propEquipped to 0>> <</if>> <<else>> <<generalRuined "handheld">> <</if>> <</widget>> <<widget "legsruined">> <<set _noRebuy to _args[0]>> <<generalRuined "legs">> <</widget>> <<widget "feetruined">> <<set _noRebuy to _args[0]>> <<generalRuined "feet">> <</widget>> /*The "...on" widgets put on clothing removed with the "...strip" widgets.*/ <<widget "outfiton">> <<for $_slot range setup.clothingLayer.torso_inner>> <<generalOn $_slot>> <</for>> <</widget>> <<widget "clotheson">> <<for $_slot range setup.clothingLayer.all>> <<generalOn $_slot>> <</for>> <<buttplugon>> <<outfitChecks>> <<if !(_fullyNaked)>> You fix your clothing<<if $rightarm isnot "bound" and $worn.handheld.name isnot "naked">> and <<= $worn.handheld.name.includes("balloon") ? "retrieve" : "pick up">> your $worn.handheld.name<</if>>.<br><br> <<elseif $rightarm isnot "bound" and $worn.handheld.name isnot "naked">> You <<= $worn.handheld.name.includes("balloon") ? "retrieve" : "pick up">> your $worn.handheld.name.<br><br> <</if>> <<exposure>> <<if _args[0] is "towel">> <<towelup>> <<elseif ["seaweed", "plant"].includes(_args[0])>> <<plantup _args[0]>> <</if>> <<if $exposed gte 1>> You are conscious of your <<nudity>>. <br><br> <</if>> <</widget>> <<widget "generalOn">> <<if _args[0]>> /*Checks if the current slot is part of an outfit and switches to the main piece if that is the case*/ <<if $carried[_args[0]].outfitSecondary isnot undefined and $carried[$carried[_args[0]].outfitSecondary[0]].name is $carried[_args[0]].outfitSecondary[1]>> <<set $_slot to $carried[_args[0]].outfitSecondary[0]>> <<else>> <<set $_slot to _args[0]>> <</if>> <<set _slots to []>> <<if $propEquipped is 1>> <<set _noRebuy to true>> <<generalRuined "handheld" true "worn">> <<set $propEquipped to 0>> <</if>> <<if $carried[$_slot].name isnot "naked">> <<if $worn[$_slot].cursed is 1>> <<carriedSend "wardrobe" $_slot>> <<else>> <<set _slots.pushUnique($_slot)>> <<set $worn[$_slot] to clone($carried[$_slot])>> <<set $carried[$_slot] to clone(setup.clothes[$_slot][0])>> <!-- set this slot to "naked" --> <<set _outfitPrimaryOn to $worn[$_slot].outfitPrimary or []>> <<for $_outfitPieceSlot, $_outfitPieceName range _outfitPrimaryOn>> <<if $carried[$_outfitPieceSlot].name is $_outfitPieceName>> <<set $worn[$_outfitPieceSlot] to clone($carried[$_outfitPieceSlot])>> <<set $carried[$_outfitPieceSlot] to clone(setup.clothes[$_outfitPieceSlot][0])>> <!-- set this slot to "naked" --> <<set _slots.pushUnique($_outfitPieceSlot)>> <</if>> <</for>> <<unset _outfitPrimaryOn>> <</if>> <</if>> <<run _slots.pushUnique($_slot)>> <!-- Ensure that this slot's state is properly reset --> /*Resets status of existing clothing*/ <<run _slots.forEach(slot => resetClothingState(slot))>> <<if _slots.includes("under_lower") and $worn.under_lower.type.includes("strap-on")>> <<run patchStraponsWearStatus()>> <</if>> <</if>> <</widget>> <<widget "overupperon">> <<generalOn "over_upper">> <</widget>> <<widget "overloweron">> <<generalOn "over_lower">> <</widget>> <<widget "upperon">> <<generalOn "upper">> <</widget>> <<widget "loweron">> <<generalOn "lower">> <</widget>> <<widget "underupperon">> <<generalOn "under_upper">> <</widget>> <<widget "underloweron">> <<generalOn "under_lower">> <</widget>> <<widget "overheadon">> <<generalOn "over_head">> <</widget>> <<widget "headon">> <<generalOn "head">> <</widget>> <<widget "faceon">> <<generalOn "face">> <</widget>> <<widget "neckon">> <<generalOn "neck">> <</widget>> <<widget "handson">> <<generalOn "hands">> <</widget>> <!-- [0] - if truthy, only run if player has a prop --> <<widget "handheldon">> <<if _args[0]>> <<if $propEquipped is 1 and $worn.handheld.type.includes("prop")>> <<generalOn "handheld">> <<set $propEquipped to 0>> <</if>> <<else>> <<generalOn "handheld">> <</if>> <</widget>> <<widget "legson">> <<generalOn "legs">> <</widget>> <<widget "feeton">> <<generalOn "feet">> <</widget>> <<widget "buttplugon">> <<if $worn.butt_plug isnot undefined and $worn.butt_plug.state is "removed">> <<set $worn.butt_plug.state to "worn">> <</if>> <</widget>> <<widget "clothesontowel">> <<clotheson "towel">> <</widget>> <<widget "clothesonplant">> <<clotheson "plant">> <</widget>> /*The "...steal" widgets destroy clothing carried by the PC, and output text describing the event. If argument is "strip", then they'll also take clothes worn by the PC.*/ <<widget "steal">> <<set _temp_steal to _args[0]>> <<for $_slot range setup.clothingLayer.body>> <<generalSteal $_slot _temp_steal>> <</for>> <</widget>> <<widget "stealclothes">> <<set _temp_steal to _args[0]>> <<for $_slot range setup.clothingLayer.torso_inner>> <<generalSteal $_slot _temp_steal>> <</for>> <</widget>> <<widget "generalSteal">> <<if _args[0]>> <<set $_wornTarget to $worn[_args[0]]>> <<set $_carriedTarget to $carried[_args[0]]>> <<if $_wornTarget.name isnot "naked" and $_wornTarget.cursed isnot 1 and _args[1] is "strip">> <<if $stealtextskip isnot 1>> <<if $enemyno gte 2>>They tear<<else>><<He>> tears<</if>> your <<print $_wornTarget.name>> off your body. <br> <</if>> <<generalRuined _args[0]>> <<elseif $_carriedTarget.name isnot "naked">> <<if $stealtextskip isnot 1>> <<if $enemyno gte 2>>They keep<<else>><<He>> keeps<</if>> your <<print $_carriedTarget.name>> as a souvenir. <br> <</if>> <<if $_carriedTarget.outfitSecondary isnot undefined>> <<if $carried[$_carriedTarget.outfitSecondary[0]].name is $_carriedTarget.outfitSecondary[1]>> <<generalSteal $_carriedTarget.outfitSecondary[0]>> <</if>> <</if>> <<set _outfitPrimarySteal to $_carriedTarget.outfitPrimary>> <<if _outfitPrimarySteal isnot undefined>> <<for _labelSteal, _valueSteal range _outfitPrimarySteal>> <<if $carried[_labelSteal].name is _valueSteal>> <<generalRuined _labelSteal>> <</if>> <</for>> <</if>> <<unset _outfitPrimarySteal>> <<generalRuined _args[0]>> <</if>> <</if>> <</widget>> <<widget "overuppersteal">> <<generalSteal "over_upper" _args[0]>> <</widget>> <<widget "overlowersteal">> <<generalSteal "over_lower" _args[0]>> <</widget>> <<widget "uppersteal">> <<generalSteal "upper" _args[0]>> <</widget>> <<widget "lowersteal">> <<generalSteal "lower" _args[0]>> <</widget>> <<widget "underuppersteal">> <<if $worn.under_lower.type.includes("naked")>> <<set $_exposedType to $worn.under_lower.exposedType>> <</if>> <<generalSteal "under_upper" _args[0]>> <<if $_exposedType and $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to $_exposedType>> <</if>> <</widget>> <<widget "underlowersteal">> <<if $worn.under_lower.type.includes("naked")>> <<set $_exposedType to $worn.under_lower.exposedType>> <</if>> <<generalSteal "under_lower" _args[0]>> <<if _args[1] and $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to _args[1]>> <<elseif $_exposedType and $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to $_exposedType>> <<else>> <<set $worn.under_lower.exposedType to "stolen">> <</if>> <</widget>> <<widget "overheadsteal">> <<generalSteal "over_head" _args[0]>> <</widget>> <<widget "headsteal">> <<generalSteal "head" _args[0]>> <</widget>> <<widget "facesteal">> <<generalSteal "face" _args[0]>> <</widget>> <<widget "necksteal">> <<generalSteal "neck" _args[0]>> <</widget>> <<widget "handssteal">> <<generalSteal "hands" _args[0]>> <</widget>> <<widget "handheldsteal">> <<generalSteal "handheld" _args[0]>> <</widget>> <<widget "legssteal">> <<generalSteal "legs" _args[0]>> <</widget>> <<widget "feetsteal">> <<generalSteal "feet" _args[0]>> <</widget>> /*The "...undress" widgets remove the player character's clothing. Where they end up depends on the argument supplied. "wardrobe" sends it to the bedroom wardrobe. Other arguments store the clothing elsewhere in the world. The "...storeon" widgets can retrieve those clothes.*/ <<widget "undress">> <<set $_location to _args[0]>> <<for $_slot range setup.clothingLayer.all>> <<generalUndress $_location $_slot>> <</for>> <</widget>> <<widget "undressKeepFace">> <<set $_location to _args[0]>> <<for $_slot range setup.clothingLayer.all.except("face")>> <<generalUndress $_location $_slot>> <</for>> <</widget>> <<widget "undressSleep">> <<set $_location to _args[0]>> <<saveTempHairStyle>> <<for $_slot range setup.clothes_all_slots>> <<if $worn[$_slot].type.includes("eerie")>> <<set _makeTempClothing to 1>> <<storeItem $_location $_slot>> <<continue>> <</if>> <<generalUndress $_location $_slot>> <</for>> <<if $worn.under_lower.type.includes("naked")>> <<set $worn.under_lower.exposedType to "notWorn">> <</if>> <</widget>> <<widget "undressOverClothes">> <<set $_location to _args[0]>> <<for $_slot range setup.clothingLayer.over>> <<generalUndress $_location $_slot>> <</for>> <</widget>> <<widget "undressclothes">> <<set $_location to _args[0]>> <<for $_slot range setup.clothingLayer.torso>> <<generalUndress $_location $_slot>> <</for>> <</widget>> <<widget "undressmid">> <<set $_location to _args[0]>> <<generalUndress $_location "upper">> <<generalUndress $_location "lower">> <</widget>> /*The "generalWear" widget works in the same way as the "...wear" widgets, however, the argument are as follows; Location, slot*/ <<widget "generalUndress">> <<if _args[0] and _args[1]>> <<if _args[1] == "under_lower" and $worn.under_lower.type.includes("strap-on")>> <<run window.wardrobeStripStraponException($worn.under_lower.name)>> <<else>> <<if _storeItemSkip is undefined>> <<set _storeItemSkip to {"over_upper":false, "over_lower":false, "upper":false, "lower":false, "under_upper":false, "under_lower":false, "over_head":false, "head":false, "face":false, "neck":false, "hands":false, "handheld":false, "legs":false, "feet":false, "butt_plug":true}>> <</if>> <<unset _undressSlot>> /*Checks if the current slot is part of an outfit and switches to the main piece if that is the case*/ <<if $worn[_args[1]].outfitSecondary isnot undefined>> <<if $worn[$worn[_args[1]].outfitSecondary[0]].name is $worn[_args[1]].outfitSecondary[1]>> <<set _undressSlot to $worn[_args[1]].outfitSecondary[0]>> <</if>> <</if>> <<if _undressSlot is undefined>> <<set _undressSlot to _args[1]>> <</if>> <<unset $_cursedPrevent>> <<set _outfitPrimaryUndress to $worn[_undressSlot].outfitPrimary>> <<if _outfitPrimaryUndress isnot undefined>> <<for _labelUndress, _valueUndress range _outfitPrimaryUndress>> <<if $worn[_labelUndress].cursed is 1 and $worn[_labelUndress].name is _valueUndress>> <<set $_cursedPrevent to true>> <</if>> <</for>> <</if>> <<if $_cursedPrevent isnot true and _strip_restrict isnot 1 and $worn[_undressSlot].cursed isnot 1>> <<set _slots to []>> <<if _args[0] is "wardrobe" or Object.keys($wardrobes).includes(_args[0])>> <<set $_selectedWardrobe to selectWardrobe()>> <<if _outfitPrimaryUndress isnot undefined>> <<for _labelUndress, _valueUndress range _outfitPrimaryUndress>> <<if _valueUndress isnot "broken" and _valueUndress isnot "split">> <<if !setup.wardrobeSkip.includes($worn[_labelUndress].name) and $worn[_labelUndress].name is _valueUndress>> <<set $_selectedWardrobe[_labelUndress].push(clone($worn[_labelUndress]))>> <<run _slots.push(_labelUndress)>> <</if>> <<set $worn[_labelUndress] to clone(setup.clothes[_labelUndress][0])>> <</if>> <</for>> <</if>> <<if !setup.wardrobeSkip.includes($worn[_undressSlot].name)>> <<set $_selectedWardrobe[_undressSlot].push(clone($worn[_undressSlot]))>> <</if>> <<set $worn[_undressSlot] to clone(setup.clothes[_undressSlot][0])>> <<run _slots.push(_undressSlot)>> <<elseif _args[0] and !_storeItemSkip[_undressSlot]>> <<if $worn[_undressSlot].name isnot "naked">> <<if _outfitPrimaryUndress isnot undefined>> <<for _labelUndress, _valueUndress range _outfitPrimaryUndress>> <<if $worn[_labelUndress].outfitSecondary isnot undefined>> <<if $worn[_labelUndress].outfitSecondary[1] is $worn[_undressSlot].name>> <<storeItem _args[0] _labelUndress>> <<run _slots.push(_labelUndress)>> <<set _storeItemSkip[_labelUndress] to true>> <</if>> <</if>> <</for>> <</if>> <<storeItem _args[0] _undressSlot>> <<run _slots.push(_undressSlot)>> <<elseif $outfit[$wear_outfit] and $outfit[$wear_outfit][_undressSlot] isnot "naked">> <<set _makeTempClothing to 1>> <<storeItem _args[0] _undressSlot>> <</if>> <</if>> <<if _slots.includes("upper")>> <<set $upperwet to 0>><<set $upperwetstage to 0>> <</if>> <<if _slots.includes("lower")>> <<set $lowerwet to 0>><<set $lowerwetstage to 0>> <</if>> <<if _slots.includes("under_upper")>> <<set $underupperwet to 0>><<set $underupperwetstage to 0>> <</if>> <<if _slots.includes("under_lower")>> <<set $underlowerwet to 0>><<set $underlowerwetstage to 0>> <</if>> <</if>> <<unset _outfitPrimaryUndress>> <</if>> <</if>> <<unset _strip_restrict>> <</widget>> <<widget "storeItem">> <<set $_slot to _args[1]>> <<set $_item to $store[$_slot].find(item => item.location is _args[0])>> <<if $_item>> <<if $_item.outfitPrimary isnot undefined>> <<for _labelStore, _unused range $_item.outfitPrimary>> <<set $_itemPair to $store[_labelStore].find(item => item.location is _args[0])>> <<if $_itemPair and $_itemPair.outfitSecondary isnot undefined and $_itemPair.outfitSecondary[1] is $_item.name>> <<if !setup.wardrobeSkip.includes($_itemPair.name)>> <<set $wardrobe[_labelStore].push(clone($_itemPair))>> <</if>> <<set $store[_labelStore].delete($_itemPair)>> <</if>> <</for>> <</if>> <<if !setup.wardrobeSkip.includes($_item.name) and $_item.temp is undefined>> <<set $wardrobe[$_slot].push(clone($_item))>> <</if>> <<set $store[$_slot].delete($_item)>> <</if>> <<if _makeTempClothing is 1>> <<set _temp_clothing to clone($worn[$_slot].name is "naked" ? {name: "naked"} : clone($worn[$_slot]))>> <<set _temp_clothing.temp to 1>> <<set _temp_clothing.location to _args[0]>> <<set $store[$_slot].push(clone(_temp_clothing))>> <<unset _makeTempClothing>> <<else>> <<set $store[$_slot].push(clone($worn[$_slot]))>> <<set $store[$_slot].last().location to _args[0]>> <<set $worn[$_slot] to clone(setup.clothes[$_slot][0])>> <</if>> <</widget>> <<widget "overupperundress">> <<generalUndress _args[0] "over_upper">> <</widget>> <<widget "overlowerundress">> <<generalUndress _args[0] "over_lower">> <</widget>> <<widget "upperundress">> <<generalUndress _args[0] "upper">> <</widget>> <<widget "lowerundress">> <<generalUndress _args[0] "lower">> <</widget>> <<widget "underupperundress">> <<generalUndress _args[0] "under_upper">> <</widget>> <<widget "underlowerundress">> <<generalUndress _args[0] "under_lower">> <</widget>> <<widget "genitalsundress">> <<generalUndress _args[0] "genitals">> <</widget>> <<widget "overheadundress">> <<generalUndress _args[0] "over_head">> <</widget>> <<widget "headundress">> <<generalUndress _args[0] "head">> <</widget>> <<widget "faceundress">> <<generalUndress _args[0] "face">> <</widget>> <<widget "neckundress">> <<generalUndress _args[0] "neck">> <</widget>> <<widget "handsundress">> <<generalUndress _args[0] "hands">> <</widget>> <<widget "handheldundress">> <<generalUndress _args[0] "handheld">> <</widget>> <<widget "legsundress">> <<generalUndress _args[0] "legs">> <</widget>> <<widget "feetundress">> <<generalUndress _args[0] "feet">> <</widget>> /* Returns stored items that are a part of an outfit (wear_outfit) to the wardrobe so that they can be used by another outfit. */ /* args[0] specifies the location identifier */ <<widget "storereturn">> <<if !isNaN($wear_outfit) and _args[0] isnot undefined>> <<for $_slot range setup.clothingLayer.all>> <<set $_name to $outfit[$wear_outfit][$_slot]>> <<set $_item to $store[$_slot].find(item => item.location is _args[0])>> <<generalStoreon _args[0] $_slot "check">> <<if _store_check and $_item isnot undefined and $_name isnot "naked" and $_name isnot undefined>> <<if $store[$_slot].length gt 0 and $_name is $_item.name>> <<if !setup.wardrobeSkip.includes($_item.name)>> <<set $wardrobe[$_slot].push(clone($_item))>> <</if>> <<set $store[$_slot].deleteAt($store[$_slot].indexOf($_item))>> <</if>> <</if>> <</for>> <</if>> <</widget>> /* Unequips items, then saves a copy of stored items to a temporary variable */ /* args[0] specifies the location identifier */ <<widget "storesave">> <<if _args[0] isnot undefined>> <<undress _args[0]>> <<set $outfitTmp[_args[0]] to {}>> <<for $_slot range setup.clothingLayer.all>> <<if $store[$_slot].length gt 0>> <<set $_copy to $store[$_slot].find(item => item.location is _args[0])>> <<if $_copy isnot undefined and $_copy.name isnot "naked" and $_copy.name isnot undefined>> <<set $outfitTmp[_args[0]][$_slot] to clone($_copy)>> <</if>> <</if>> <</for>> <</if>> <</widget>> /* Loads a list of stored items previously saved by 'storesave', and tries to equip it on the player */ /* If the items have been removed from storage, it checks if the player is currently wearing them, and will not unequip them if so */ /* args[0] specifies the location identifier */ <<widget "storeload">> <<if $propEquipped is 1>><<handheldon>><</if>> <<if _args[0] isnot undefined and $outfitTmp[_args[0]] isnot undefined and Object.keys($outfitTmp[_args[0]]).length gt 0>> <<if _args[1] isnot undefined>> <<set $_item to $outfitTmp[_args[0]][_args[1]]>> <<storeloaditem $_item _args[1]>> <<run delete V.outfitTmp[_args[0][_args[1]]]>> <<if Object.keys(V.outfitTmp[_args[0]]).length is 0>> <<run delete V.outfitTmp[_args[0]]>> <</if>> <<else>> /* Check if any worn items are cursed */ <<set _cursedSlots to Object.keys($worn).filter(slot => $worn[slot].cursed)>> /* Check if any of the outfit items can't be worn, run multiple times to check for nested outfits, or when the curses status is found later */ <<set _runtime to 2>> <<for _i to 0; _i lte _runtime; _i++>> <<run Object.entries($outfitTmp[_args[0]]).forEach(([slot, item]) => { let cursedLength = T.cursedSlots.length; let cursed = T.cursedSlots.includes(slot); if (item.outfitSecondary && !["broken", "split"].includes(item.outfitSecondary[1])) { if (T.cursedSlots.includes(item.outfitSecondary[0])) { T.cursedSlots.pushUnique(slot); cursed = true; } if (cursed) T.cursedSlots.pushUnique(item.outfitSecondary[0]); } if (item.outfitPrimary) { Object.entries(item.outfitPrimary).forEach(([slot2, itemName]) => { if (!["broken", "split"].includes(itemName)) { if (T.cursedSlots.includes(slot2)) { T.cursedSlots.pushUnique(slot); cursed = true; } if (cursed) T.cursedSlots.pushUnique(slot2); } }); } /* Found a new item effected by a cursed slot, run again */ if (cursedLength < T.cursedSlots.length) T.runtime++; })>> <</for>> <<for $_slot range setup.clothingLayer.all>> <<set $_item to $outfitTmp[_args[0]][$_slot]>> <<if $_item is undefined or $worn[$_slot].name isnot $_item.name>> <<generalStrip $_slot>> <<returnCarried>> <</if>> <<if $_item isnot undefined>> <<set $_storedIndex to $store[$_slot].findIndex(item => item.name is $_item.name and item.location is _args[0])>> <<if $_storedIndex isnot -1>> <<if ($worn[$_slot].name is "naked" and !_cursedSlots.includes($_slot)) or (!_cursedSlots.includes($_slot) and _args[0] is "lockers")>> <<set $worn[$_slot] to clone($store[$_slot][$_storedIndex])>> <<set $worn[$_slot].location to 0>> <<set $store[$_slot].deleteAt($_storedIndex)>> /* dry the clothes */ <<set V[$_slot.replace(/_/g, "") + "wet"] to 0>> <<set V[$_slot.replace(/_/g, "") + "wetstage"] to 0>> <<else>> /* Send the item to the wardrobe, as the item was not unequipped by generalStrip */ <<if ["asylum", "prison"].includes($location)>> <<set $_selectedWardrobe to $wardrobes[$location]>> <<elseif $multipleWardrobes is "all" and $worn[$_slot].lastTaken isnot undefined>> <<set $_selectedWardrobe to $wardrobes[$worn[$_slot].lastTaken]>> <</if>> <<if $_selectedWardrobe isnot "wardrobe" and $wardrobes[$_selectedWardrobe]>> <<set $_selectedWardrobe to $wardrobes[$_selectedWardrobe]>> <<else>> <<set $_wardrobe to $wardrobe>> <</if>> <<run $_wardrobe[$_slot].push(clone($store[$_slot][$_storedIndex]))>> <<run $store[$_slot].deleteAt($_storedIndex)>> <</if>> <</if>> <</if>> <</for>> <<run delete V.outfitTmp[_args[0]]>> <</if>> <<elseif _args[0] isnot undefined and clothingInStorage(_args[0]).length gt 0>> <<storeon _args[0] "noreplace">> <</if>> <</widget>> <<widget "storeloaditem">> <<set $_item to _args[0]>> <<set $_slot to _args[1]>> <<if $_item isnot undefined>> <<set $_stored to $store[$_slot].find(item => item.name is $_item.name)>> <<if $_stored>> <<set $worn[$_slot] to clone($_item)>> <<set $worn[$_slot].location to 0>> <<set $store[$_slot].deleteAt($store[$_slot].indexOf($_stored))>> /* dry the clothes */ <<set V[$_slot.replace(/_/g, "") + "wet"] to 0>> <<set V[$_slot.replace(/_/g, "") + "wetstage"] to 0>> <</if>> <</if>> <</widget>> /* The "storeon..." widgets retrieve the clothing stored with the "...undress" widgets, that weren't put in a wardrobe. */ /* Requires the same argument that was used to store the clothing in order to correctly identify. Optionally accepts a second argument. */ /* Inputting "delete" will destroy the stored item, rather than wear it. */ /* Inputting "check" will set _store_check to 1, for when you want to check whether or not an item exists in a given location. */ /* Inputting "return" will return the item to the wardrobe */ <<widget "storeon">> <<set _equipSkip to {"over_upper":false, "over_lower":false, "upper":false, "lower":false, "under_upper":false, "under_lower":false, "over_head":false, "head":false, "face":false, "neck":false, "hands":false, "handheld":false, "legs":false, "feet":false}>> <<set _store_temp to _args[0]>> <<set _store_option to _args[1] or 0>> <<for $_slot range setup.clothingLayer.all>> <<generalStoreon _store_temp $_slot _store_option>> <</for>> <</widget>> <<widget "generalStoreon">> <<if _args[0] and _args[1]>> <<set $_location to _args[0]>> <<set $_slot to _args[1]>> <<if $store[$_slot] is undefined>>/* Slot not found */<<exit>><</if>> <<set $_item to $store[$_slot].find(item => item.location is $_location)>> <<if $_item isnot undefined>> <<set $_index to $store[$_slot].indexOf($_item)>> <<if $worn[$_slot].cursed is 1>> <<elseif _equipSkip isnot undefined and _equipSkip[$_slot] is true>> <<if $_item.temp is undefined>> <<set $_selectedWardrobe to $wardrobe>> <<if $multipleWardrobes>> <<if ["asylum", "prison"].includes($location)>> <<set $_selectedWardrobe to $wardrobes[$location]>> <<elseif $multipleWardrobes is "all" and $worn[$_slot].lastTaken isnot undefined>> <<set $_selectedWardrobe to $wardrobes[$worn[$_slot].lastTaken]>> <</if>> <</if>> <<set $_selectedWardrobe[$_slot].push(clone($_item))>> <</if>> <<set $store[$_slot].deleteAt($_index)>> <<else>> <<if _args[2] is "wardrobe" or $wardrobes[_args[2]] isnot undefined>> <<if !setup.wardrobeSkip.includes($_item.name) and $_item.temp is undefined>> <<set $_location to clothesReturnLocation($_item)>> <<set $_selectedWardrobe to ($_location is "wardrobe" ? $wardrobe : $wardrobes[$_location])>> <<set $_selectedWardrobe[$_slot].push(clone($_item))>> <</if>> <<set $store[$_slot].deleteAt($_index)>> <<elseif _args[2] is "delete">> <<set $store[$_slot].deleteAt($_index)>> <<elseif _args[2] is "return">> <<if !setup.wardrobeSkip.includes($_item.name) and $_item.temp is undefined>> <<set $wardrobe[$_slot].push(clone($_item))>> <</if>> <<set $store[$_slot].deleteAt($_index)>> <<run delete V.outfitTmp[_args[0]]>> <<elseif _args[2] is "check">> <<set _store_check to 1>> <<else>> <<set $_location to clothesReturnLocation($worn[$_slot])>> <<generalUndress $_location $_slot>> <<if $_item.name isnot "naked">> <<if $_item.temp is undefined>> <<set $worn[$_slot] to clone($_item)>> <<set $worn[$_slot].location to 0>> <<else>> <<searchWardrobeForItem $_slot $_index>> <<generalWearFromWardrobe $_slot _wardrobeId>> <</if>> <</if>> <<set $store[$_slot].deleteAt($_index)>> <</if>> <</if>> /* todo: find a way to save naked into outfits */ <</if>> <</if>> <</widget>> <<widget "storeonoverupper">> <<generalStoreon _args[0] "over_upper" _args[1]>> <</widget>> <<widget "storeonoverlower">> <<generalStoreon _args[0] "over_lower" _args[1]>> <</widget>> <<widget "storeonupper">> <<generalStoreon _args[0] "upper" _args[1]>> <</widget>> <<widget "storeonlower">> <<generalStoreon _args[0] "lower" _args[1]>> <</widget>> <<widget "storeonunderupper">> <<generalStoreon _args[0] "under_upper" _args[1]>> <</widget>> <<widget "storeonunderlower">> <<generalStoreon _args[0] "under_lower" _args[1]>> <</widget>> <<widget "storeonoverhead">> <<generalStoreon _args[0] "over_head" _args[1]>> <</widget>> <<widget "storeonhead">> <<generalStoreon _args[0] "head" _args[1]>> <</widget>> <<widget "storeonface">> <<generalStoreon _args[0] "face" _args[1]>> <</widget>> <<widget "storeonneck">> <<generalStoreon _args[0] "neck" _args[1]>> <</widget>> <<widget "storeonhands">> <<generalStoreon _args[0] "hands" _args[1]>> <</widget>> <<widget "storeonhandheld">> <<generalStoreon _args[0] "handheld" _args[1]>> <</widget>> <<widget "storeonlegs">> <<generalStoreon _args[0] "legs" _args[1]>> <</widget>> <<widget "storeonfeet">> <<generalStoreon _args[0] "feet" _args[1]>> <</widget>> <<widget "dry">> <<set $upperwet to 0>><<set $lowerwet to 0>><<set $underlowerwet to 0>><<set $underupperwet to 0>> <</widget>> <<widget "dry_full">> <<dry>> <<set $upperwetstage to 0>><<set $lowerwetstage to 0>><<set $underupperwetstage to 0>><<set $underlowerwetstage to 0>> <</widget>> /*The "searchWardrobeForItem" widget searches the wardrobe for an item that matches a given item stored somewhere else, the argument are as follows; slot, item index.*/ <<widget "searchWardrobeForItem">> <<set _slot to _args[0]>> <<set _wearId to _args[1]>> <<unset _wardrobeId>><<unset _item>><<unset _brokenId>><<unset _secondChoice>> <<set $_selectedWardrobe to selectWardrobe()>> <<if _wearId gte 0>> <<set _item to $store[_slot][_wearId]>> <</if>> <<for _j to 0; _j lt $_selectedWardrobe[_slot].length; _j++>> <<set $_selectedItem to $_selectedWardrobe[_slot][_j]>> <<if _item.name is $_selectedItem.name and _item.colour is $_selectedItem.colour and _item.accessory_colour is $_selectedItem.accessory_colour>> <<set _matched to (_item.colour isnot "custom") + (_item.accessory is 0 or _item.accessory_colour isnot "custom")>> <<if _item.colourCustom isnot undefined and _item.colourCustom is $_selectedItem.colourCustom>> <<set _matched++>> <</if>> <<if _item.accessory_colourCustom isnot undefined and _item.accessory_colourCustom is $_selectedItem.accessory_colourCustom>> <<set _matched++>> <</if>> <<if _matched is 2>> <<if $_selectedItem.outfitPrimary isnot undefined>> <<set _matched to 0>> <<for _labelWW, _valueWW range $_selectedItem.outfitPrimary>> <<if _item.outfitPrimary[_labelWW] is _valueWW>> <<set _matched++>> <</if>> <</for>> <<if _matched is Object.keys($_selectedItem.outfitPrimary).length>> <<set _wardrobeId to _j>> <<break>> <<else>> <<set _secondChoice to _j>> <</if>> <<else>> <<set _wardrobeId to _j>> <<break>> <</if>> <</if>> <</if>> <</for>> <<if _wardrobeId is undefined and _secondChoice isnot undefined>> <<set _wardrobeId to clone(_secondChoice)>> <</if>> <</widget>> /*The "generalWearFromWardrobe" widget allows the player to equip a specific item from the wardrobe, the argument are as follows; slot, item index.*/ <<widget "generalWearFromWardrobe">> <<set _slot to _args[0]>> <<set _wearId to _args[1]>> <<set _slimePrevent to setup.clothingLayer.torso_inner>> <<set $_selectedWardrobe to selectWardrobe()>> <<unset _cursedPrevent>><<unset _outfitPieceIds>><<unset _item>> <<set _wornOutfitPrimary to $worn[_slot].outfitPrimary>> <<if $worn[_slot].cursed is 1>> You try to remove the <<print $worn[_slot].name>>, but fail. <<cursedtext $worn[_slot].name>> <br> <<set _cursedPrevent to true>> <</if>> <<if _wornOutfitPrimary isnot undefined>> <<for _labelWW, _valueWW range _wornOutfitPrimary>> <<if $worn[_labelWW].cursed is 1 and _cursedPrevent isnot true>> <<capture _labelWW>> <<cursedtext $worn[_labelWW].name>> <</capture>> <<set _cursedPrevent to true>> <</if>> <</for>> <</if>> <<if _cursedPrevent isnot true>> <<if _wearId gte 0>> <<set _item to $_selectedWardrobe[_slot][_wearId]>> <</if>> /*Prevent equip when preggy*/ <<if _wearId gte 0 and playerBellySize() gte 12 and _item.type.includes("constricting")>> <<if _item.type.includes("chest_bind")>> <span class="red">Your pregnant body is too sensitive to wear your _item.name.</span> <<else>> <span class="red">Your <<bellyDescription "pc">> is too large to wear your _item.name.</span> <</if>> <br> <<continue>> <</if>> /*Prevent equip when the ear slime doesn't allow it*/ <<if _wearId gte 0 and _slimePrevent.includes(_slot) and $earSlime.corruption gte 10>> <<if _item.reveal lt earSlimeCorruptionClothes() and (["prison", "asylum"].includes($location) or !_allowSchoolClothes) and !_item.type.includesAny("event")>> <span class="red">You were unable to equip your _item.name as the slime in your ear did not permit it.</span> <br> <<continue>> <</if>> <</if>> /*Finds any outfit pieces and records the Ids*/ <<if _item isnot undefined>> <<set _outfitPrimary to _item.outfitPrimary>> <<if _outfitPrimary isnot undefined>> <<set _outfitPieceIds to {}>> <<for _labelWW, _valueWW range _outfitPrimary>> <<if _valueWW isnot "broken" and _valueWW isnot "split">> <<for _j to 0; _j lt $_selectedWardrobe[_labelWW].length; _j++>> <<if $_selectedWardrobe[_labelWW][_j].name is _valueWW and _item.colour is $_selectedWardrobe[_labelWW][_j].colour and _item.accessory_colour is $_selectedWardrobe[_labelWW][_j].accessory_colour>> <<if $_selectedWardrobe[_labelWW][_j].outfitSecondary[1] isnot _item.name>> <<continue>> <</if>> <<set _matched to 0>> <<if $_selectedWardrobe[_labelWW][_j].colour isnot "custom">> <<set _matched++>> <<elseif _item.colourCustom isnot undefined and $_selectedWardrobe[_labelWW][_j].colourCustom isnot undefined>> <<if _item.colourCustom is $_selectedWardrobe[_labelWW][_j].colourCustom>> <<set _matched++>> <</if>> <</if>> <<if $_selectedWardrobe[_labelWW][_j].accessory is 0 or $_selectedWardrobe[_labelWW][_j].accessory_colour isnot "custom">> <<set _matched++>> <<elseif _item.accessory_colourCustom isnot undefined and $_selectedWardrobe[_labelWW][_j].accessory_colourCustom isnot undefined>> <<if _item.accessory_colourCustom is $_selectedWardrobe[_labelWW][_j].accessory_colourCustom>> <<set _matched++>> <</if>> <</if>> <<if _matched is 2>> <<set _outfitPieceIds[clone(_labelWW)] to clone(_j)>> <<if _equipSkip isnot undefined>> <<set _equipSkip[_labelWW] to true>> <</if>> <<break>> <</if>> <</if>> <</for>> <</if>> <</for>> <<if Object.keys(_outfitPieceIds).length is 0>> <<unset _outfitPieceIds>> <</if>> <</if>> <</if>> <<unset _outfitPrimary>> <<if _wearId gte 0>> /*Equip the relating items*/ <<generalUndress $wardrobe_location _slot>> <<if _outfitPieceIds isnot undefined>> <<for _labelWW, _valueWW range _outfitPieceIds>> <<generalUndress $wardrobe_location `clone(_labelWW)`>> <<set $worn[clone(_labelWW)] to clone($_selectedWardrobe[clone(_labelWW)][clone(_valueWW)])>> <<set $worn[clone(_labelWW)].lastTaken to "wardrobe">> <<set $_selectedWardrobe[_labelWW].deleteAt(_valueWW)>> <</for>> <</if>> <<set $worn[_slot] to clone($_selectedWardrobe[_slot][_wearId])>> <<set $worn[_slot].lastTaken to "wardrobe">> <<set $_selectedWardrobe[_slot].deleteAt(_wearId)>> <</if>> <</if>> <</widget>> <<widget "outfitChecksExposed">> <<set _underNakedExposed to ($worn.under_lower.exposed isnot 0 and $worn.under_upper.exposed isnot 0)>> <<set _middleNakedExposed to ($worn.lower.exposed isnot 0 and $worn.upper.exposed isnot 0)>> <<set _overNakedExposed to ($worn.over_lower.exposed isnot 0 and $worn.over_upper.exposed isnot 0)>> <<set _toplessExposed to ($worn.over_upper.exposed isnot 0 and $worn.upper.exposed isnot 0 and $worn.under_upper.exposed isnot 0)>> <<set _bottomlessExposed to ($worn.over_lower.exposed isnot 0 and $worn.lower.exposed isnot 0 and $worn.under_lower.exposed isnot 0)>> <<set _fullyNakedExposed to (_toplessExposed and _bottomlessExposed)>> <</widget>> <<widget "otherOutfitChecks">> <<set _otherOutfits to { over_head:false, head:false, neck:false, face:false, hands:false, handheld:false, legs:false, feet:false, genitals:false, }>> <<for $_label, $_value range _otherOutfits>> <<if $worn[$_label].outfitSecondary is undefined>> <<elseif $worn[$_label].outfitSecondary[1] is "broken" or $worn[$_label].outfitSecondary[1] is "split">> <<else>> <<set _otherOutfits[$_label] to true>> <</if>> <</for>> <</widget>> <<widget "noClothingCheck">> <<set _nude to Object.keys($worn).every(slot => ["butt_plug", "genitals"].includes(slot) or $worn[slot].name is "naked")>> <</widget>> <<widget "updateWornClothingLocation">> <<if $wardrobes[_args[0]]>> <<for $_label, $_value range $worn>> <<if typeof $_value is "object">> <<set $_value.lastTaken to _args[0]>> <<else>> <!-- Expanded error handling here to help with understanding an intermittent issue. If a bug is squashed relating to an undefined $worn entry, this error handler may become redundant. --> <<error { message : `Expected an object in $worn[${$_label}].`, source : `Location: ${Utils.GetStack()}.\nLabel: ${$_label}. Value: ${$_value}. Wardrobe: ${_args[0]}.` }>> <</if>> <</for>> <</if>> <</widget>> <<widget "damageClothing">> <<if _args[0] is "face" and _args[1]>> <<set $worn.face.integrity -= _args[1]>> <<if $worn.face.integrity lt 0>> <<set $_mask to $worn.face.name>> <<faceruined>><<set $worn.face.type.push("broken")>> <span class="red">Your $_mask is torn to shreds!</span> <</if>> <</if>> <</widget>> <<widget "damageFaceCover">> <<if _args[1] and _args[1] is "struggle" and $worn.face.cursed isnot 1>> <<set $worn.face.integrity -= _args[0]>> <<elseif _args[0] and $worn.face.cursed isnot 1>> <<set $worn.face.integrity -= _args[0]>> <<if $worn.face.integrity lte 0>> <span class="red">Your $worn.face.name is torn to shreds!</span> <<faceruined>><<set $worn.face.type.push("broken")>> <</if>> <</if>> <</widget>> <<widget "getDressedList">> <<set _slots to []>> <<for _slot range setup.clothes_all_slots>> <<if $carried[_slot].name isnot "naked">> <<if $carried[_slot].outfitSecondary>> <<if $carried[_slot].outfitSecondary[0].name is $carried[_slot].outfitSecondary[1]>> <<set _slots.pushUnique(_slot)>> <</if>> <<else>> <<set _slots.pushUnique(_slot)>> <</if>> <</if>> <</for>> <<for _item range _slots>> <<capture _item, _slots>> <<link [[`Put on your ${$carried[_item].name}`|$passage]]>> <<if $worn.upper.outfitSecondary and $worn.upper.outfitSecondary[0] is $worn.upper.outfitSecondary[1] and _item is "upper" or _item is "lower">> <<upperruined>> <</if>> <<run _slots.delete(_item)>> <<generalOn _item $carried[_item].index>> <</link>> <</capture>> <br> <</for>> <br> <<if _slots.length gt 1>> <<link [[Get fully dressed|$passage]]>><<clotheson>><</link>> <br> <</if>> <</widget>> <<widget "peppersprays">> <<if $options.pepperSprayDisplay isnot "none">> <div tooltip="<span class='def'>Pepper sprays: $spray / $spraymax</span>" id="pepper-sprays" class="pepper-sprays"> <!-- Compact style (dots) --> <<if $spraymax gt 1 and ($options.pepperSprayDisplay is "compact" or $spraymax gt 7)>> <div class="pepper-sprays-dots"> <<for _i to 1; _i lte $spraymax; _i++>> <<if $spray gte _i>> <div class="pepper-spray-dot-full"></div> <<else>> <div class="pepper-spray-dot-empty"></div> <</if>> <</for>> </div> <!-- "Sprays" style (up to 7 sprays, or 5 if renderer is "both") --> <<else>> <<for _i to 1; _i lte $spraymax; _i++>> <<if $spray gte _i>> <img draggable="false" src="img/ui/pepperspray.png"> <<else>> <img draggable="false" src="img/ui/emptyspray.png"> <</if>> <</for>> <</if>> </div> <</if>> <</widget>> <<widget "condomsSidebar">> <<if $condomLvl gte 1 and $options.condomsDisplay isnot "none" and $condoms isnot null and $condoms isnot undefined>> <div tooltip="<span class='meek'>Total condoms: $condoms</span>" id="condoms-sidebar" class="condoms-sidebar"> <img draggable="false" src="img/ui/condom.png"> </div> <div id="condoms-sidebar-text" class="condoms-sidebar-text"> $condoms x </div> <</if>> <</widget>><<widget "actionsanustopenis">> <<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">> <!-- Do Nothing --> <<elseif $NPCList[_j].stance isnot "topface">> <<if $anusactiondefault is "anustopenis">> | <label><span class="sub">Straddle <<his>> penis</span> <<radiobutton "$anusaction" "anustopenis" checked>><<analdifficulty>> <<combatpromiscuous5>></label> <<else>> | <label><span class="sub">Straddle <<his>> penis</span> <<radiobutton "$anusaction" "anustopenis">><<analdifficulty>> <<combatpromiscuous5>></label> <</if>> <<break>> <</if>> <</if>> <</for>> <</widget>> <<widget "actionsanustopenisnew">> <<if $NPCList[$anustarget].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>> <!-- Do Nothing --> <<elseif $NPCList[$anustarget].stance isnot "topface" and ($enemytype isnot "man" or ($NPCList[$anustarget].location.genitals is 0 and $NPCList[$anustarget].location.head isnot "genitals"))>> <<set _penis to (npcHasStrapon($anustarget) ? "strap-on" : "penis")>> <<if $NPCList[$anustarget].chastity.penis.includes("chastity")>> <<set _anusaction["Straddle " + $NPCList[$anustarget].pronouns.his + " " + $NPCList[$anustarget].chastity.penis] to "anustopenis">> <<else>> <<set _anusaction["Straddle " + $NPCList[$anustarget].pronouns.his + " " + _penis] to "anustopenis">> <</if>> <</if>> <</if>> <</widget>> <<widget "actionsanuspenisfuck">> <<if $combattype is "train">> <<set _end to $enemyno-1>> <<else>> <<set _end to 0>> <</if>> <<if playerChastity("anus")>> <!-- Do Nothing --> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.lower.anus_exposed is 1>> <<for _j = $enemyno-1; _j gte _end; _j-->> <<if $NPCList[_j].penis is "anusentrance" or $NPCList[_j].penis is "anusimminent">> <<if $consensual is 1 and $promiscuity lte 74 and $enemytype is "man" or $consensual is 1 and $deviancy lte 74 and $enemytype isnot "man">> <!-- Do Nothing --> <<else>> <<if $anusactiondefault is "anuspenisfuck">> | <label><span class="sub">Envelop <<his>> penis</span> <<radiobutton "$anusaction" "anuspenisfuck" checked>> <<combatpromiscuous5>><<analvirginitywarning>><<NPCvirginitywarning $NPCList[_j].fullDescription "penile">></label> <<else>> | <label><span class="sub">Envelop <<his>> penis</span> <<radiobutton "$anusaction" "anuspenisfuck">> <<combatpromiscuous5>><<analvirginitywarning>><<NPCvirginitywarning $NPCList[_j].fullDescription "penile">></label> <</if>> <<break>> <</if>> <</if>> <</for>> <</if>> <</widget>> <<widget "actionsanuspenisfucknew">> <<if playerChastity("anus")>> <!-- Do Nothing --> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.lower.anus_exposed is 1>> <<if $NPCList[$anustarget].penis is "anusentrance" or $NPCList[$anustarget].penis is "anusimminent">> <<if $consensual is 1 and (($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore) or $NPCList[$anustarget].chastity.penis.includes("chastity")>> <!-- Do Nothing --> <<else>> <<set _penis to (npcHasStrapon($anustarget) ? "strap-on" : "penis")>> <<set _anusaction["Envelop " + $NPCList[$anustarget].pronouns.his + " " + _penis] to "anuspenisfuck">> <</if>> <</if>> <</if>> <</widget>> <<widget "actionsanuspenisdoublefuck">> <<if playerChastity("anus")>> <!-- Do Nothing --> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.lower.anus_exposed is 1>> <<if $consensual is 1 and (($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore) or $awareness lt 300>> <!-- Do Nothing --> <<else>> <<if $NPCList[$anustarget].penis is "anusdouble" or $NPCList[$anustarget].penis is "anusimminentdouble" or $NPCList[$anustarget].chastity.penis.includes("chastity")>> <<set _anusaction["Envelop " + $NPCList[$anusdoubletarget].pronouns.his + " " + $NPCList[$anusdoubletarget].penisdesc] to "anuspenisdoublefuck">> <<elseif $NPCList[$anusdoubletarget].penis is "anusdouble" or $NPCList[$anusdoubletarget].penis is "anusimminentdouble" or $NPCList[$anusdoubletarget].chastity.penis.includes("chastity")>> <<set _anusaction["Envelop " + $NPCList[$anustarget].pronouns.his + " " + $NPCList[$anustarget].penisdesc] to "anuspenisdoublefuck">> <<elseif !($NPCList[$anustarget].chastity.penis.includes("chastity") and $NPCList[$anusdoubletarget].chastity.penis.includes("chastity"))>> <<set _anusaction["Envelop both their penises"] to "anuspenisdoublefuck">> <</if>> <</if>> <</if>> <</widget>> <<widget "actionsanusMouthEntrance">> <<if $NPCList[$anustarget].mouth is "anusentrance">> <<if $consensual is 1 and $promiscuity lt 0 and !$promiscuityIgnore>> <<else>> <<set _anusaction["Press your butt against " + $NPCList[$anustarget].pronouns.his + " mouth"] to "bottombay">> <</if>> <<set _anusaction["Rub against " + $NPCList[$anustarget].pronouns.his + " face"] to "othermouthtease">> <</if>> <</widget>> <<widget "actionsanusMouthImminent">> <<if $NPCList[$anustarget].mouth is "anusimminent">> <<set _anusaction["Rub against " + $NPCList[$anustarget].pronouns.his + " lips"] to "othermouthrub">> <<set _anusaction["Pull away"] to "othermouthescape">> <</if>> <</widget>> <<widget "actionsanusMouthPenetration">> <<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 _anusaction["Cooperate"] to "othermouthcooperate">> <<else>> <<set _anusaction["Hump"] to "othermouthcooperate">> <</if>> <</widget>> <<widget "actionsanusHandEntrance">> <<if $NPCList[$anustarget].lefthand is "anusentrance" or $NPCList[$anustarget].righthand is "anusentrance">> <<if $consensual is 1 and $promiscuity lt 0 and !$promiscuityIgnore>> <<else>> <<set _anusaction["Clench your buttcheeks against " + $NPCList[$anustarget].pronouns.his + " hand"] to "bottomhandbay">> <</if>> <<set _anusaction["Rub your butthole against " + $NPCList[$anustarget].pronouns.his + " fingers"] to "handtease">> <</if>> <</widget>> <<widget "actionsanusHandPenetration">> <<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 _anusaction["Cooperate"] to "handcooperate">> <<else>> <<set _anusaction["Take it"] to "handtake">> <<set _anusaction["Hump"] to "handcooperate">> <</if>> <</widget>> <<widget "actionsanusPenisEntrance">> <<actionsanuspenisfucknew>> <<if $consensual is 1 and ($promiscuity lte 54 and $enemytype is "man" or $deviancy lte 54 and $enemytype isnot "man") and !$promiscuityIgnore>> <<else>> <<set _anusaction["Keep it away with your cheeks"] to "penischeeks">> <</if>> <<if $vaginause is 0 and !playerChastity("vagina")>> <<set _anusaction["Offer your pussy instead"] to "penispussy">> <</if>> <<if $vaginaldoubledisable is "f" and $awareness gt 300 and $vaginause is "penis" and $NPCList[$vaginatarget].penissize gte 2 and $NPCList[$anustarget].penissize gte 2 and !playerChastity("vagina") and !["legLock","legLocked"].includes($feetuse)>> <<set _anusaction["Offer double vaginal instead"] to "penispussydouble">> <</if>> <<set _anusaction["Tease the tip"] to "penistease">> <<if $analdoubledisable is "f" and _secondtarget is true and ($vaginause is 0 or ($vaginause isnot 0 and $vaginause isnot "penisdouble")) and $awareness gte 300 and !["legLock","legLocked"].includes($feetuse)>> <<if $npc.includes($NPCList[$anusdoubletarget].fullDescription)>> <<set _anusaction["Straddle " + $NPCList[$anusdoubletarget].fullDescription + "'s " + $NPCList[$anusdoubletarget].penisdesc] to "anustopenisdouble">> <<else>> <<set _anusaction["Straddle the " + $NPCList[$anusdoubletarget].fullDescription + "'s " + $NPCList[$anusdoubletarget].penisdesc] to "anustopenisdouble">> <</if>> <</if>> <</widget>> <<widget "actionsanusPenisImminent">> <<actionsanuspenisfucknew>> <<set _anusaction["Rub"] to "rub">> <<if ($consensual is 0 or (hasSexStat("promiscuity", 4) and $enemytype is "man") or (hasSexStat("deviancy", 4) and $enemytype isnot "man")) and currentSkillValue("analskill") gte 800>> <<set _anusaction["Edge " + $NPCList[$anustarget].pronouns.him] to "penisEdging">> <</if>> <<set _anusaction["Pull away"] to "escape">> <</widget>> <<widget "actionsanusPenisPenetration">> <<set _anusaction["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 _anusaction["Cooperate"] to "cooperate">> <<else>> <<set _anusaction["Fuck"] to "cooperate">> <</if>> <<if ($consensual is 0 or (hasSexStat("promiscuity", 4) and $enemytype is "man") or (hasSexStat("deviancy", 4) and $enemytype isnot "man")) and currentSkillValue("analskill") gte 800>> <<set _anusaction["Edge " + $NPCList[$anustarget].pronouns.him] to "penisEdging">> <</if>> <<if !playerIsPregnant() and canBeMPregnant() and $sexStats.vagina.menstruation.currentState isnot "recovering" and !$player.vaginaExist and playerPregnancyPossibleWith($NPCList[$anustarget]) and $enemyarousal gte $enemyarousalmax and $demon gte 6 and $demonbuild gte 90>> <<if playerAwareTheyCanBePregnant()>> <<set _anusaction["Force Impregnation"] to "forceImpregnation">> <<else>> <<set _anusaction["?????"] to "forceImpregnation">> <</if>> <</if>> <<if _secondtarget is true and ($vaginause is 0 or ($vaginause isnot 0 and $vaginause isnot "penisdouble")) and $awareness gte 300 and !["legLock","legLocked"].includes($feetuse)>> <<if $npc.includes($NPCList[$anusdoubletarget].fullDescription)>> <<set _anusaction["Straddle " + $NPCList[$anusdoubletarget].fullDescription + "'s " + $NPCList[$anusdoubletarget].penisdesc] to "anustopenisdouble">> <<else>> <<set _anusaction["Straddle the " + $NPCList[$anusdoubletarget].fullDescription + "'s " + $NPCList[$anusdoubletarget].penisdesc] to "anustopenisdouble">> <</if>> <</if>> <</widget>> <<widget "actionsanusPenisDoubleEntrance">> <<actionsanuspenisdoublefuck>> <<set _anusaction["Tease"] to "penisdoubletease">> <<if $vaginause is 0 and !playerChastity("vagina")>> <<set _anusaction["Offer your pussy instead"] to "penispussydap">> <</if>> <</widget>> <<widget "actionsanusPenisDoubleImminent">> <<actionsanuspenisdoublefuck>> <<set _anusaction["Rub"] to "rub">> <<if ($consensual is 0 or (hasSexStat("promiscuity", 5) and $enemytype is "man") or (hasSexStat("deviancy", 5) and $enemytype isnot "man")) and currentSkillValue("analskill") gte 800>> <<set _anusaction["Edge them"] to "penisDoubleEdging">> <</if>> <<set _anusaction["Pull away"] to "doubleescape">> <</widget>> <<widget "actionsanusPenisDoublePenetration">> <<set _anusaction["Take it"] to "doubletake">> <<if $consensual is 0 or ($promiscuity lte 74 and $enemytype is "man" and !$promiscuityIgnore) or ($deviancy lte 74 and $enemytype isnot "man" and !$promiscuityIgnore)>> <<set _anusaction["Cooperate"] to "doublecooperate">> <<else>> <<set _anusaction["Fuck"] to "doublecooperate">> <<if $NPCList[$anustarget].penis isnot "anusdouble" or $NPCList[$anusdoubletarget].penis isnot "anusdouble">> <<set _anusaction["Envelop the second penis"] to "anuspenisdoublefuck">> <</if>> <</if>> <<if ($consensual is 0 or (hasSexStat("promiscuity", 5) and $enemytype is "man") or (hasSexStat("deviancy", 4) and $enemytype isnot "man")) and currentSkillValue("analskill") gte 800>> <<set _anusaction["Edge them"] to "penisDoubleEdging">> <</if>> <</widget>> <<widget "actionsanusFaceAgainstAnus">> <<set _anusaction["Rub"] to "otherMouthAnusRub">> <<set _anusaction["Stop"] to "otherMouthAnusStop">> <</widget>> <<widget "actionsanusHandAgainstAnus">> <<set _anusaction["Rub"] to "handAnusRub">> <<set _anusaction["Stop"] to "handAnusStop">> <</widget>> <<widget "actionsanusPenisAgainstAnus">> <<set _anusaction["Rub"] to "otherAnusRub">> <<set _anusaction["Stop"] to "otherAnusStop">> <</widget>><<widget "effectsanustopenis">> <<if $anusaction is "anustopenis">> <<personselect $anustarget>> <<set $anusaction to 0>><<submission 10>><<analskilluse>><<combatpromiscuity5>> <<if $anususe is 0>> <<if combatSkillCheck("anal", $anustarget)>> <<if $NPCList[$anustarget].penis is 0>> <<submission 2>><<set $anususe to "penis">><<set $NPCList[$anustarget].penis to "anusentrance">><<set $anusstate to "entrance">><<set $anusactiondefault to "penistease">> <<if $leftarm is "anus">> <<set $leftarm to 0>> <</if>> <<if $rightarm is "anus">> <<set $rightarm to 0>> <</if>> <span class="lblue">You straddle <<combatperson>> and press <<his>> <<npcPenis $anustarget>> with your <<bottom>>.</span> <<if $NPCList[$anustarget].type is "plant" and $NPCList[$anustarget].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<if $NPCList[$anustarget].condom and $NPCList[$anustarget].condom.willUse is true and $NPCList[$anustarget].condom.worn is false and !$NPCList[$anustarget].penisdesc.includes("strap-on")>> <<if $NPCList[$anustarget].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[$anustarget].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$anustarget].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc $anustarget>> on <<his>> penis.</span> <<equipNPCCondom $anustarget>> <</if>> <</if>> <<if $enemytype is "beast">><<set $NPCList[$anustarget].stance to "top">><</if>> <<set $NPCList[$anustarget].location.genitals to "genitals">> <<else>> <span class="blue">You try to straddle <<combatperson>> with your <<bottom>>, but the phallus is already occupied.</span><<set $anusactiondefault to "anustopenis">> <</if>> <<else>> <span class="blue">You try to straddle <<combatperson>> with your <<bottom>> but <<ohe>> pushes you off.</span><<set $anusactiondefault to "anustopenis">> <</if>> <</if>> <</if>> <</widget>> <<widget "effectsanuspenisfuck">> <<if $anusaction is "anuspenisfuck" and ["anusentrance","anusimminent"].includes($NPCList[$anustarget].penis)>> <<set $anusaction to 0>><<submission 20>><<analskilluse>><<combatpromiscuity5>> <<if $anusWetness + (currentSkillValue("analskill") / 10) gte ($NPCList[$anustarget].penissize * 15) + random(1, 40) or random(1, 2) is 2>> <<set $anusactiondefault to "cooperate">> <<if $player.virginity.anal isnot true>> <<set $NPCList[$anustarget].penis to "anus">> <<anus_lube_text>> <span class="pink">you <<analtext>> push against <<personselect $anustarget>><<combatpersons>> $NPCList[$anustarget].penisdesc, taking it deep into your <<bottom>>.</span> <<switch $NPCList[$anustarget].penissize>> <<case 5>> <span class="lewd">You'd moan, but the sheer size drives all breath from your body.</span> <<case 4>> <span class="lewd">You shiver as your ass stretches to accommodate <<his>> cock.</span> <<case 1>> <span class="lewd">It's so small you can barely feel it.</span> <<default>> <span class="lewd">You shiver as the phallus invades your body.</span> <</switch>> <<sex 30 "anus" $anustarget>><<takeNPCVirginity $anustarget "penile">><<analstat>><<raped>><<anusraped>><<set $anusstate to "penetrated">> <<elseif $player.virginity.anal is true>> <<set $NPCList[$anustarget].penis to "anus">> <<anus_lube_text>> <span class="pink">you <<analtext>> push against <<personselect $anustarget>><<combatpersons>> $NPCList[$anustarget].penisdesc, taking it deep into</span> <span class="red">your virgin <<bottom>>.</span> <<switch $NPCList[$anustarget].penissize>> <<case 5>><span class="red">You'd scream, but the sheer size of the invading phallus drives out all thought and breath.</span> <<case 4>><span class="red">You scream as your ass struggles to accommodate <<his>> cock.</span> <<case 1>><span class="red">It may be the first time your <<bottom>> has been violated so, but <<his>> cock is so small you can barely feel it.</span> <<default>><span class="red">You gasp as your <<bottom>> is violated for the first time.</span> <</switch>> <<sex 100 "anus" $anustarget>><<takeVirginity $NPCList[$anustarget].fullDescription "anal">><<takeNPCVirginity $anustarget "penile">><<bruise anus>><<analstat>><<violence 30>><<raped>><<anusraped>><<set $anusstate to "penetrated">><<set $speechanusvirgin to 1>> <</if>> <<else>> You <<analtext>> press your <<bottom>> against <<personselect $anustarget>><<combatpersons>> $NPCList[$anustarget].penisdesc, <span class="blue">but fail to envelop.</span> <<His>> penis angles away and rubs between your cheeks. <<sex 20 "anus" $anustarget>><<analstat>><<set $anusactiondefault to "anuspenisfuck">> <</if>> <</if>> <</widget>> <<widget "effectsanustopenisdouble">> <<if $anusaction is "anustopenisdouble">><<set $anusaction to 0>><<submission 10>><<analskilluse>><<combatpromiscuity5>> <<if combatSkillCheck("anal", $anusdoubletarget)>> <<submission 2>><<set $anususe to "penisdouble">><<set $NPCList[$anusdoubletarget].penis to "anusentrancedouble">><<set $anusstate to "doubleentrance">> <<if $NPCList[$anustarget].penis is "anusimminent">> <<set $NPCList[$anustarget].penis to "anusimminentdouble">> <<set $anusstate to "doubleimminent">> <<elseif $NPCList[$anustarget].penis is "anusentrance">> <<set $NPCList[$anustarget].penis to "anusentrancedouble">> <<set $anusstate to "doubleentrance">> <<else>> <<set $NPCList[$anustarget].penis to "anusdouble">> <<set $anusstate to "doublepenetrated">> <</if>> <<if $leftarm is "anus">> <<set $leftarm to 0>> <</if>> <<if $rightarm is "anus">> <<set $rightarm to 0>> <</if>> <span class="lblue">You straddle <<personselect $anusdoubletarget>><<combatperson>> and press <<his>> <<npcPenis $anusdoubletarget>> with your <<bottom>>, joining <<personselect $anustarget>><<combatpersons>> <<npcPenisSimple $anustarget>>.</span> <<if $NPCList[$anusdoubletarget].condom and $NPCList[$anusdoubletarget].condom.willUse is true and $NPCList[$anusdoubletarget].condom.worn is false and !$NPCList[$anusdoubletarget].penisdesc.includes("strap-on")>> <<if $NPCList[$anusdoubletarget].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[$anusdoubletarget].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$anusdoubletarget].condom.willUse to false>> <<else>> <span class="green"><<He>> puts <<condomDesc $anusdoubletarget>> on <<his>> penis.</span> <<equipNPCCondom $anusdoubletarget>> <</if>> <</if>> <<if $enemytype is "beast">><<set $NPCList[$anusdoubletarget].stance to "top">><</if>> <<set $NPCList[$anusdoubletarget].location.genitals to "genitals">><<set $anusactiondefault to "penisdoubletease">> <<else>> <span class="blue">You try to straddle <<personselect $anusdoubletarget>><<combatperson>> but <<ohe>> pushes you off.</span><<set $anusactiondefault to "anustopenisdouble">> <</if>> <</if>> <</widget>> <<widget "effectsanuspenisdoublefuck">> <<if $anusaction is "anuspenisdoublefuck">> <<set $anusaction to 0>><<submission 20>><<analskilluse>><<combatpromiscuity5>> <<set _doublepenissize to $NPCList[$anustarget].penissize>> <<set _npcA to $anustarget>> <<set _npcB to $anusdoubletarget>> <<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 $anusWetness + (currentSkillValue("analskill") / 10) gte (_doublepenissize * 15) + random(1, 40) or random(1, 3) is 2>> <<set $anusactiondefault to "doublecooperate">> <<if $player.virginity.anal isnot true>> <<set $NPCList[$anustarget].penis to "anusdouble">> <<set $NPCList[$anusdoubletarget].penis to "anusdouble">> <<anus_lube_text>> <span class="pink">you <<analtext>> push against the $NPCList[$anustarget].fullDescription's $NPCList[$anustarget].penisdesc and the $NPCList[$anusdoubletarget].fullDescription's $NPCList[$anusdoubletarget].penisdesc, taking them deep into your <<bottom>>.</span> <<switch _doublepenissize>> <<case 5>> <span class="lewd">You'd moan, but the sheer size of both cocks drives all breath from your body.</span> <<case 4>> <span class="lewd">You shiver as your ass stretches to accommodate both cocks.</span> <<default>> <span class="lewd">You shiver as the phalluses invade your body.</span> <</switch>> <<sex 15 "anus" $anustarget>><<sex 15 "anus" $anusdoubletarget>><<takeNPCVirginity $anustarget "penile">><<takeNPCVirginity $anusdoubletarget "penile">><<analstat>><<analdoublestat>><<raped>><<anusraped>><<set $anusstate to "doublepenetrated">> <<elseif $player.virginity.anal is true>> <<set $NPCList[$anustarget].penis to "anusdouble">> <<set $NPCList[$anusdoubletarget].penis to "anusdouble">> <<anus_lube_text>> <span class="pink">you <<analtext>> push against the $NPCList[_npcA].fullDescription's $NPCList[_npcA].penisdesc and the $NPCList[_npcB].fullDescription's $NPCList[_npcB].penisdesc, taking them deep into</span> <span class="red">your virgin <<bottom>>.</span> <<switch _doublepenissize>> <<case 5>><span class="red">You'd scream, but the sheer size of the invading phalluses drive out all thought and breath.</span> <<case 4>><span class="red">You scream as your ass struggles to accommodate both cocks.</span> <<default>><span class="red">You gasp as your <<bottom>> is violated for the first time.</span> <</switch>> <<set _mydesc to ($NPCList[$anustarget].fullDescription + " and " + $NPCList[$anusdoubletarget].fullDescription)>> <<sex 50 "anus" $anustarget>><<sex 50 "anus" $anusdoubletarget>><<takeVirginity `[$anustarget, $anusdoubletarget]` "anal">><<takeNPCVirginity $anustarget "penile">><<takeNPCVirginity $anusdoubletarget "penile">><<bruise anus>><<analstat>><<analdoublestat>><<violence 30>><<raped>><<anusraped>><<set $anusstate to "doublepenetrated">><<set $speechanusvirgin to 1>> <</if>> <span class="pink">Your nipples harden while your body shivers from taking two cocks.</span> <<else>> You <<analtext>> press your <<bottom>> against their cocks, <span class="blue">but fail to envelop.</span> Their penises angle away and rubs between your cheeks. <<sex 10 "anus" $anustarget>><<sex 10 "anus" $anusdoubletarget>><<analstat>><<analdoublestat>><<set $anusactiondefault to "anuspenisdoublefuck">> <</if>> <</if>> <</widget>><<widget "feetgrab">> <<if $combattype is "train">> <<set _end to $enemyno-1>> <<else>> <<set _end to 0>> <</if>> <<set _xx to $enemyno-1>> <<if _xx is -1>> <<set _stanceCheck to 0>> <<else>> <<set _stanceCheck to $NPCList[_xx].stance>> <</if>> <<if $consensual is 1 and $promiscuity lte 34 and $enemytype is "man" or $consensual is 1 and $deviancy lte 34 and $enemytype isnot "man">> <!-- Do Nothing --> <<elseif _stanceCheck isnot "topface">> <<for _j = $enemyno-1; _j gte _end; _j-->> <<if $NPCList[_j].penis is 0>> <<if $feetactiondefault is "grab">> | <label><span class="sub">Grab <<his>> penis</span> <<radiobutton "$feetaction" "grab" checked>><<feetdifficulty>> <<combatpromiscuous3>></label> <<else>> | <label><span class="sub">Grab <<his>> penis</span> <<radiobutton "$feetaction" "grab">><<feetdifficulty>> <<combatpromiscuous3>></label> <</if>> <<break>> <</if>> <</for>> <<for _j = $enemyno-1; _j gte _end; _j-->> <<if $NPCList[_j].vagina is 0>> <<if $feetactiondefault is "vaginagrab">> | <label><span class="sub">Press your feet against <<his>> pussy</span> <<radiobutton "$feetaction" "vaginagrab" checked>><<feetdifficulty>> <<combatpromiscuous3>></label> <<else>> | <label><span class="sub">Press your feet against <<his>> pussy</span> <<radiobutton "$feetaction" "vaginagrab">><<feetdifficulty>> <<combatpromiscuous3>></label> <</if>> <<break>> <</if>> <</for>> <</if>> <</widget>> <<widget "feetgrabnew">> <<if $feettarget isnot "self">> <<set _stanceCheck to $NPCList[$feettarget].stance>> <<set $_penis to (npcHasStrapon($feettarget) ? "strap-on" : "penis")>> <<if $consensual is 1 and ($promiscuity lte 34 and $enemytype is "man" or $deviancy lte 34 and $enemytype isnot "man") and !$promiscuityIgnore>> <!-- Do Nothing --> <<elseif _stanceCheck isnot "topface">> <<if $NPCList[$feettarget].penis is 0>> <<if $NPCList[$feettarget].chastity.penis.includes("chastity")>> <<set _feetaction["Press your foot on " + $NPCList[$feettarget].pronouns.his + " " + $NPCList[$feettarget].chastity.penis] to "grab">> <<elseif !($leftleg isnot 0 or $rightleg isnot 0)>> <<set _feetaction["Grab "+ $NPCList[$feettarget].pronouns.his + " " + $_penis] to "grab">> <</if>> <</if>> <<if $NPCList[$feettarget].vagina is 0>> <<if $NPCList[$feettarget].chastity.vagina.includes("chastity")>> <<set _feetaction["Press your feet against " + $NPCList[$feettarget].pronouns.his + " " + $NPCList[$feettarget].chastity.vagina] to "vaginagrab">> <<else>> <<set _feetaction["Press your feet against " + $NPCList[$feettarget].pronouns.his + " pussy"] to "vaginagrab">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "feetKick">> <<if $feettarget isnot "self">> <<if $consensual isnot 1 and ($fightTargets is undefined or $fightTargets.includes($feettarget))>> <<set _feetaction["Kick"] to "kick">> <</if>> <</if>> <</widget>> <<widget "feetGrabRub">> <<set _feetaction["Rub"] to "grabrub">> <<set _feetaction["Stop"] to "stop">> <</widget>> <<widget "feetOthervagina">> <<set _feetaction["Rub"] to "vaginagrabrub">> <<set _feetaction["Stop"] to "stop">> <</widget>> <<widget "feetRunClothed">> /* Commented for lack of effect <<if $NPCList[$feettarget].vagina is "clothed" or $NPCList[$feettarget].penis is "clothed">> <<set _feetaction["Rub " + $NPCList[$feettarget].pronouns.his + " crotch"] to "rub">> <</if>>*/ <</widget>> <<widget "feetshoes">> <<if $feettarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if !$worn.feet.type.includes("shackle") and !$worn.feet.type.includes("naked")>> <<set _feetaction["Kick off your shoes"] to "feetshoes">> <</if>> <</if>> <</widget>> <<widget "feetsocks">> <<if $feettarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if $worn.feet.type.includes("shackle") or $worn.feet.type.includes("naked")>> <<if $worn.legs.state is "ankles">> <<set _feetaction["Kick off your legwear"] to "feetsocks">> <<elseif $worn.legs.state is "thighs">> <<set _feetaction["Peel down your legwear"] to "feetsocks">> <</if>> <</if>> <</if>> <</widget>> <<widget "legLock">> <<if $feettarget isnot "self">> <<if ($vaginastate is "penetrated" or $anusstate is "penetrated") and ($NPCList[$feettarget].penis is "vagina" or $NPCList[$feettarget].penis is "anus") and $leglocktarget is undefined>> <<if ($consensual is 0 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 94) or ($consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 34 and !$promiscuityIgnore)>> <!-- Do Nothing --> <<else>> <<if $position is "missionary">> <<set _feetaction["Leg lock " + $NPCList[$feettarget].pronouns.him] to "legLock">> <<else>> <<set _feetaction["Push back against " + $NPCList[$feettarget].pronouns.him] to "legLock">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "legLocked">> <<if $position is "missionary">> <<set _feetaction["Maintain the leg lock"] to "legLocked">> <<set _feetaction["Release"] to "legRelease">> <<else>> <<set _feetaction["Keep pushing back"] to "legLocked">> <<set _feetaction["Stop"] to "legRelease">> <</if>> <</widget>><<widget "leftdefault">> <<if $lefttarget isnot "self" and $punishmentposition isnot "gloryhole">> <<set _leftaction["Stroke"] to "leftchest">> <<if $consensual isnot 1 and ($fightTargets is undefined or $fightTargets.includes($lefttarget))>> <<set _leftaction["Punch"] to "lefthit">> <</if>> <</if>> <<if $lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<set _leftaction["Hold behind back"] to "behind">> <<leftcoverface>> <</if>> <</widget>> <<widget "leftcoverface">> <<set _leftaction["Cover your face"] to "leftcoverface">> <</widget>> <<widget "leftcamerapose">> <<if $audiencecamera1 isnot 0>> <<set _leftaction["Pose for camera"] to "leftcamerapose">> <</if>> <</widget>> <<widget "lefthandpull">> <<if $lefttarget isnot "self">> <<if ($NPCList[$lefttarget].lefthand and $NPCList[$lefttarget].lefthand.startsWith("penis")) or ($NPCList[$lefttarget].righthand and $NPCList[$lefttarget].righthand.startsWith("penis"))>> <<set _leftaction["Take " + $NPCList[$lefttarget].pronouns.his + " hand off your penis"] to "handpullpenis">> <</if>> <<if ($NPCList[$lefttarget].lefthand and $NPCList[$lefttarget].lefthand.startsWith("vagina")) or ($NPCList[$lefttarget].righthand and $NPCList[$lefttarget].righthand.startsWith("vagina"))>> <<set _leftaction["Take " + $NPCList[$lefttarget].pronouns.his + " hand off your pussy"] to "handpullvagina">> <</if>> <<if ($NPCList[$lefttarget].lefthand and $NPCList[$lefttarget].lefthand.startsWith("anus")) or ($NPCList[$lefttarget].righthand and $NPCList[$lefttarget].righthand.startsWith("anus"))>> <<set _leftaction["Take " + $NPCList[$lefttarget].pronouns.his + " hand off your ass"] to "handpullanus">> <</if>> <</if>> <</widget>> <<widget "leftgrabnew">> <<if $lefttarget isnot "self">> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.penis is 0>> <<set $_penis to (npcHasStrapon($lefttarget) ? "strap-on" : "penis")>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 34 and !$promiscuityIgnore>> <!-- Do Nothing --> <<else>> <<if $_target.chastity.penis.includes("chastity")>> <<set _leftaction["Tease " + $_target.pronouns.his + " " + $_penis + " through " + $_target.pronouns.his + " " + $_target.chastity.penis] to "leftgrab">> <<else>> <<set _leftaction["Grab " + $_target.pronouns.his + " " + $_penis] to "leftgrab">> <</if>> <</if>> <<if $_target.chastity.penis.includes("chastity")>> <<set _leftaction["Stroke " + $_target.pronouns.his + " " + $_penis + " through " + $_target.pronouns.his + " " + $_target.chastity.penis] to "leftstroke">> <<else>> <<set _leftaction["Stroke "+ $_target.pronouns.his + " " + $_penis] to "leftstroke">> <</if>> <</if>> <</if>> <</widget>> <<widget "leftplaynew">> <<if $lefttarget isnot "self">> <<set $_target to $NPCList[$lefttarget]>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 34 and !$promiscuityIgnore>> <!-- Do Nothing --> <<else>> <<if $_target.vagina is 0>> <<if $_target.chastity.vagina.includes("chastity")>> <<set _leftaction["Play with " + $_target.pronouns.his + " pussy through " + $_target.pronouns.his + " " + $_target.chastity.vagina] to "leftplay">> <<else>> <<set _leftaction["Play with " + $_target.pronouns.his + " pussy"] to "leftplay">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "leftclothesnew">> <<if $lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if $worn.over_upper.state is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base and $worn.over_upper.state_top is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base and !$worn.over_upper.type.includes("naked")>> <<set _leftaction["Displace your "+$worn.over_upper.name] to "over_upper">> <</if>> <<if $worn.upper.state is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base and $worn.upper.state_top is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base and !$worn.upper.type.includes("naked")>> <<set _leftaction["Displace your "+$worn.upper.name] to "upper">> <</if>> <<if $worn.under_upper.state is setup.clothes.under_upper[clothesIndex('under_upper', $worn.under_upper)].state_base and $worn.under_upper.state_top is setup.clothes.under_upper[clothesIndex('under_upper', $worn.under_upper)].state_top_base and !$worn.under_upper.type.includes("naked")>> <<set _leftaction["Displace your "+$worn.under_upper.name] to "under_upper">> <</if>> <<if $worn.over_lower.state is setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt isnot 1 and !$worn.over_lower.type.includes("naked")>> <<set _leftaction["Displace your "+$worn.over_lower.name] to "over_lower">> <<elseif setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 and $worn.over_lower.skirt_down is 1>> <<set _leftaction["Displace your "+$worn.over_lower.name] to "over_lower">> <</if>> <<if $worn.lower.state is setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt isnot 1 and !$worn.lower.type.includes("naked")>> <<set _leftaction["Displace your "+$worn.lower.name] to "lower">> <<elseif setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 and $worn.lower.skirt_down is 1>> <<set _leftaction["Displace your "+$worn.lower.name] to "lower">> <</if>> <<if $worn.under_lower.state is setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].state_base and !$worn.under_lower.type.includes("naked") and !($penisstate isnot 0 and playerHasStrapon())>> <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<set _leftaction["Displace your "+$worn.under_lower.name] to "under_lower">> <</if>> <</if>> <<if $worn.under_lower.state is setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].state_base and !$worn.under_lower.type.includes("naked") and !playerHasStrapon()>> <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<set _leftaction["Pull your "+$worn.under_lower.name+" to the side"] to "under_lower_to_the_side">> <</if>> <</if>> <<if $worn.face.state is setup.clothes.face[clothesIndex('face', $worn.face)].state_base and !$worn.face.type.includes("naked") and $worn.face.type.includes("mask")>> <<set _leftaction["Displace your "+$worn.face.name] to "mask">> <</if>> <</if>> <</widget>> <<widget "leftspraynew">> <<if $lefttarget isnot "self">> <<if $consensual isnot 1 and $spray gte 1 and $NPCList.some(npc => npc.health >= 0 && (!$fightTargets || $fightTargets.includes(npc.index)))>> <<set _leftaction["Pepper spray"] to "spray">> <</if>> <</if>> <</widget>> <<widget "leftstealnew">> <<if $lefttarget isnot "self" and !($stealtarget.includes($lefttarget)) and $NPCList[$lefttarget].clothes?.set isnot "naked">> <<if (currentSkillValue('skulduggery') gte 200 or $easySteal is 1) and $enemytype is "man" and $abomination isnot 1 and !($npcrow.includes($lefttarget)) and $water isnot 1 and $punishmentposition isnot "gloryhole">> <<set $skulduggerydifficulty to (1000 - ($enemyarousal / $enemyarousalmax * 400) - $skulduggery - $enemytrust + $enemyanger) * $stealdifficulty>> <<if $easySteal is 1>><<set $skulduggerydifficulty to 0>><</if>> /*Missing <<skulduggerydifficulty>><<combatcrime>>*/ <<if !isNaN($lefttarget) and $NPCList[$lefttarget] and $NPCList[$lefttarget].clothes and $NPCList[$lefttarget].clothes.set is "naked">> <<elseif $stealstateleft is undefined>> <<set _leftaction["Steal"] to "steal">> <<elseif $stealstateleft is 2>> <<set _leftaction["Take " + $NPCList[$lefttarget].pronouns.his + " belongings"] to "steal">> <<else>> <<set _leftaction["Commit to stealing"] to "steal">> <</if>> <</if>> <</if>> <</widget>> <<widget "leftpenwhacknew">> <<if $lefttarget isnot "self">> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.lefthand and ($_target.lefthand is "pen" or $_target.lefthand.startsWith("pen_")) or $_target.righthand and ($_target.righthand is "pen" or $_target.righthand.startsWith("pen_"))>> <<set _leftaction["Whack the writing tool away"] to "penwhack">> <</if>> <</if>> <</widget>> <<widget "leftshacklewhack">> <<if $lefttarget isnot "self">> <<if $NPCList[$lefttarget].lefthand is "shackle_entrance" or $NPCList[$lefttarget].lefthand is "shackle_imminent" or $NPCList[$lefttarget].righthand is "shackle_entrance" or $NPCList[$lefttarget].righthand is "shackle_imminent">> <<set _leftaction["Whack away the shackles"] to "shacklewhack">> <</if>> <</if>> <</widget>> <<widget "lefthypnosiswhack">> <<if $lefttarget isnot "self">> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.lefthand and ($_target.lefthand is "hypnosis" or $_target.lefthand.startsWith("hypnosis_")) or $_target.righthand and ($_target.righthand is "hypnosis" or $_target.righthand.startsWith("hypnosis_"))>> <<set _leftaction["Whack the hypnotic instrument away"] to "hypnosiswhack">> <</if>> <</if>> <</widget>> <<widget "leftdildowhack">> <<if $lefttarget isnot "self">> <<if $NPCList[$lefttarget].lefthand is "dildo" or $NPCList[$lefttarget].righthand is "dildo">> <<if getSexToysofType("all").includes($NPCList[$lefttarget].lefttool)>> <<set _leftaction["Whack the "+ $NPCList[$lefttarget].lefttool +" away"] to "dildowhack">> <<elseif getSexToysofType("all").includes($NPCList[$lefttarget].righttool)>> <<set _leftaction["Whack the "+ $NPCList[$lefttarget].righttool +" away"] to "dildowhack">> <</if>> <</if>> <</if>> <</widget>> <<widget "leftFixAndCoverActions">> <<if ($worn.lower.vagina_exposed is 1 and $worn.under_lower.vagina_exposed is 1) or $leftactiondefault is "leftcovervaginalewd">> <<if $NPCList[0].state is "stalk" and $NPCList[0].legs isnot "run">> <<if $vaginause is "cover">> <<if $leftactiondefault is "leftcovervaginalewd" or $rightactiondefault is "rightcovervaginalewd">> <<set _leftaction["Keep playing with your pussy"] to "leftcovervaginalewd">> <<else>> <<set _leftaction["Keep covering your pussy"] to "leftcovervaginameek">> <</if>> <<elseif $vaginause is 0>> <<set _leftaction["Cover your pussy"] to "leftcovervaginameek">> <</if>> <<elseif $lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1 or $NPCList[0].state is "stalk">> <<if $vaginause is "cover">> <<if $leftactiondefault is "leftcovervaginalewd" or $rightactiondefault is "rightcovervaginalewd">> <<set _leftaction["Keep playing with your pussy"] to "leftcovervaginalewd">> <<else>> <<set _leftaction["Keep covering your pussy"] to "leftcovervagina">> <</if>> <<elseif $vaginause is 0>> <<set _leftaction["Cover your pussy"] to "leftcovervagina">> <</if>> <</if>> <</if>> <<if ($worn.lower.vagina_exposed is 1 and $worn.under_lower.vagina_exposed is 1) or $leftactiondefault is "leftcoverpenislewd">> <<set _penis to playerHasStrapon() ? "strap-on" : (playerChastity("penis") ? $worn.genitals.name : "penis")>> <<set _straponDisplaced to (!playerHasStrapon() && $worn.under_lower.type.includes("strap-on"))>> <<if $NPCList[0].state is "stalk" and $NPCList[0].legs isnot "run">> <<if $penisuse is "cover">> <<if $leftactiondefault is "leftcoverpenislewd" or $rightactiondefault is "rightcoverpenislewd">> <<set _leftaction["Keep playing with your " + _penis] to "leftcoverpenislewd">> <<else>> <<set _leftaction["Keep covering your " + _penis] to "leftcoverpenismeek">> <</if>> <<elseif $penisuse is 0>> <<if !_straponDisplaced>> <<set _leftaction["Cover your " + _penis] to "leftcoverpenismeek">> <</if>> <</if>> <<elseif $lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1 or $NPCList[0].state is "stalk">> <<if $penisuse is "cover">> <<if $leftactiondefault is "leftcoverpenislewd" or $rightactiondefault is "rightcoverpenislewd">> <<set _leftaction["Keep playing with your " + _penis] to "leftcoverpenislewd">> <<else>> <<set _leftaction["Keep covering your " + _penis] to "leftcoverpenis">> <</if>> <<elseif $penisuse is 0>> <<if !_straponDisplaced>> <<set _leftaction["Cover your " + _penis] to "leftcoverpenis">> <</if>> <</if>> <</if>> <</if>> <<if ($worn.lower.anus_exposed is 1 and $worn.under_lower.anus_exposed is 1) or $leftactiondefault is "leftcoveranuslewd">> <<if $NPCList[0].state is "stalk" and $NPCList[0].legs isnot "run">> <<if $anususe is "cover">> <<if $leftactiondefault is "leftcoveranuslewd" or $rightactiondefault is "rightcoveranuslewd">> <<set _leftaction["Keep playing with your ass"] to "leftcoveranuslewd">> <<else>> <<set _leftaction["Keep covering your ass"] to "leftcoveranusmeek">> <</if>> <<else>> <<set _leftaction["Cover your ass"] to "leftcoveranusmeek">> <</if>> <<elseif $lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1 or $NPCList[0].state is "stalk">> <<if $anususe is "cover">> <<if $leftactiondefault is "leftcoveranuslewd" or $rightactiondefault is "rightcoveranuslewd">> <<set _leftaction["Keep playing with your ass"] to "leftcoveranuslewd">> <<else>> <<set _leftaction["Keep covering your ass"] to "leftcoveranus">> <</if>> <<else>> <<set _leftaction["Cover your ass"] to "leftcoveranus">> <</if>> <</if>> <</if>> <<if $lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if $worn.under_lower.name isnot "naked">> <<if $worn.under_lower.state is "thighs" or $worn.under_lower.state is "knees" or $worn.under_lower.state is "ankles">> <<set _leftaction["Pull up your " + $worn.under_lower.name] to "leftunderpull">> <</if>> <</if>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if $worn.lower.skirt_down is 0>> <<if $worn.lower.state is "waist">> <<set _leftaction["Cover your crotch with your " + $worn.lower.name] to "leftskirtpull">> <</if>> <</if>> <</if>> <<if $worn.lower.name isnot "naked">> <<if $worn.upper.set is $worn.lower.set>> <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base and $worn.upper.state is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base and $worn.upper.state_top is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base>> <<set _leftaction["Fix your " + $worn.lower.name] to "leftlowerpull">> <</if>> <<elseif $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base>> <<set _leftaction["Fix your " + $worn.lower.name] to "leftlowerpull">> <</if>> <</if>> <<if $worn.over_lower.name isnot "naked">> <<if $worn.over_upper.set is $worn.over_lower.set>> <<if $worn.over_lower.state isnot setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base and $worn.over_upper.state is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base and $worn.over_upper.state_top is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base>> <<set _leftaction["Fix your " + $worn.over_lower.name] to "leftoverlowerpull">> <</if>> <<elseif $worn.over_lower.state isnot setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base>> <<set _leftaction["Fix your " + $worn.over_lower.name] to "leftoverlowerpull">> <</if>> <</if>> <<if $worn.upper.name isnot "naked">> <<if $worn.upper.state isnot setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base or $worn.upper.state_top isnot setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base>> <<set _leftaction["Fix your " + $worn.upper.name] to "leftupperpull">> <</if>> <</if>> <<if $worn.over_upper.name isnot "naked">> <<if $worn.over_upper.state isnot setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base or $worn.over_upper.state_top isnot setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base>> <<set _leftaction["Fix your " + $worn.over_upper.name] to "leftoverupperpull">> <</if>> <</if>> <</if>> <</widget>> <<widget "leftchoke">> <<if $lefttarget isnot "self">> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.lefthand is "throat" or $_target.righthand is "throat">> <<if $consensual == 1>> <<set _leftaction["Press " + $_target.pronouns.his + " hand to your neck"] to "keepchoke">> <<set _leftaction["Take " + $_target.pronouns.his + " hand off your neck"] to "stopchoke">> <<else>> <<set _leftaction["Pull " + $_target.pronouns.his + " hand off your neck"] to "stopchokenoncon">> <</if>> <</if>> <</if>> <</widget>> <<widget "leftCondom">> <<if $lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if !["othermouthentrance","othermouthimminent","othermouth","penetrated","otheranus"].includes($penisstate) and $player.penisExist and $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 and !playerChastity("penis")>> <<if !$player.condom and $condoms gt 0 and $parasite.penis.name is undefined>> <<set _leftaction["Put on a condom (" + $condoms + " left)"] to "peniscondom">> <</if>> <<if $player.condom>> <<set _leftaction["Remove your condom"] to "penisremovecondom">> <</if>> <</if>> <</if>> <</widget>> <<widget "leftNPCCondom">> <<if $lefttarget isnot "self">> <<set $_target to $NPCList[$lefttarget]>> <<if wearingCondom($lefttarget)>> <<if ($consensual is 0 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 94) and playerPregnancyPossibleWith($_target)>> <!-- Do Nothing --> <<else>> <<set _leftaction["Remove " + $_target.pronouns.his + " condom"] to "npcremovecondom">> <</if>> <<elseif $prayerRoom or $NPCList[$lefttarget].fullDescription is "Ivory Wraith">> <!-- Do Nothing --> <<elseif !$_target.condom and $condoms gte 1 and ($_target.condomCanGive or $condomlvl is 1)>> <<set _leftaction["Give " + $_target.pronouns.him + " a condom (" + $condoms + " left)"] to "npcgivecondom">> <</if>> <</if>> <</widget>> <<widget "leftUndressOther">> <<if $lefttarget isnot "self">> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.penis is "clothed" or $_target.vagina is "clothed" or $_target.chest is "clothed">> <<if ($consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 14 and !$promiscuityIgnore) or $punishmentposition is "gloryhole">> <!-- Do Nothing --> <<else>> <<set _leftaction["Undress:"] to "leftUndressOther">> <<set _undressLeftTargets to {"Nothing":"rest"}>> <<set $_doText to ($consensual isnot 1 ? "try to " : "")>> <<if $_target.penis is "clothed" or $_target.vagina is "clothed">> <<silently>><<npcUndressText $NPCList[$lefttarget] "lower">><</silently>> <<set _undressLeftTargets[($_doText + _actionText + " " + $_target.pronouns.his + " " + $_target.clothes.lower.name).toUpperFirst()] to "lower">> <</if>> <<if $_target.chest is "clothed">> <<silently>><<npcUndressText $NPCList[$lefttarget] "upper">><</silently>> <<set _undressLeftTargets[($_doText + _actionText + " " + $_target.pronouns.his + " " + $_target.clothes.upper.name).toUpperFirst()] to "upper">> <</if>> <</if>> <</if>> <</if>> <</widget>><<widget "rightdefault">> <<if $righttarget isnot "self" and $punishmentposition isnot "gloryhole">> <<set _rightaction["Stroke"] to "rightchest">> <<if $consensual isnot 1 and ($fightTargets is undefined or $fightTargets.includes($righttarget))>> <<set _rightaction["Punch"] to "righthit">> <</if>> <</if>> <<if $righttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<set _rightaction["Hold behind back"] to "behind">> <<rightcoverface>> <</if>> <</widget>> <<widget "rightcoverface">> <<set _rightaction["Cover your face"] to "rightcoverface">> <</widget>> <<widget "rightcamerapose">> <<if $audiencecamera1 isnot 0>> <<set _rightaction["Pose for camera"] to "rightcamerapose">> <</if>> <</widget>> <<widget "righthandpull">> <<if $righttarget isnot "self">> <<if ($NPCList[$righttarget].lefthand and $NPCList[$righttarget].lefthand.startsWith("penis")) or ($NPCList[$righttarget].righthand and $NPCList[$righttarget].righthand.startsWith("penis"))>> <<set _rightaction["Take " + $NPCList[$righttarget].pronouns.his + " hand off your penis"] to "handpullpenis">> <</if>> <<if ($NPCList[$righttarget].lefthand and $NPCList[$righttarget].lefthand.startsWith("vagina")) or ($NPCList[$righttarget].righthand and $NPCList[$righttarget].righthand.startsWith("vagina"))>> <<set _rightaction["Take " + $NPCList[$righttarget].pronouns.his + " hand off your pussy"] to "handpullvagina">> <</if>> <<if ($NPCList[$righttarget].lefthand and $NPCList[$righttarget].lefthand.startsWith("anus")) or ($NPCList[$righttarget].righthand and $NPCList[$righttarget].righthand.startsWith("anus"))>> <<set _rightaction["Take " + $NPCList[$righttarget].pronouns.his + " hand off your ass"] to "handpullanus">> <</if>> <</if>> <</widget>> <<widget "rightgrabnew">> <<if $righttarget isnot "self">> <<set $_target to $NPCList[$righttarget]>> <<if $_target.penis is 0>> <<set $_penis to (npcHasStrapon($righttarget) ? "strap-on" : "penis")>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 34 and !$promiscuityIgnore>> <!-- Do Nothing --> <<else>> <<if $_target.chastity.penis.includes("chastity")>> <<set _rightaction["Tease " + $_target.pronouns.his + " " + $_penis + " through " + $_target.pronouns.his + " " + $_target.chastity.penis] to "rightgrab">> <<else>> <<set _rightaction["Grab " + $_target.pronouns.his + " " + $_penis] to "rightgrab">> <</if>> <</if>> <<if $_target.chastity.penis.includes("chastity")>> <<set _rightaction["Stroke " + $_target.pronouns.his + " " + $_penis + " through " + $_target.pronouns.his + " " + $_target.chastity.penis] to "rightstroke">> <<else>> <<set _rightaction["Stroke " + $_target.pronouns.his + " " + $_penis] to "rightstroke">> <</if>> <</if>> <</if>> <</widget>> <<widget "rightplaynew">> <<if $righttarget isnot "self">> <<set $_target to $NPCList[$righttarget]>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 34 and !$promiscuityIgnore>> <!-- Do Nothing --> <<else>> <<if $_target.vagina is 0>> <<if $_target.chastity.vagina.includes("chastity")>> <<set _rightaction["Play with " + $_target.pronouns.his + " pussy through " + $_target.pronouns.his + " " + $_target.chastity.vagina] to "rightplay">> <<else>> <<set _rightaction["Play with " + $_target.pronouns.his + " pussy"] to "rightplay">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "rightclothesnew">> <<if $righttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if $worn.over_upper.state is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base and $worn.over_upper.state_top is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base and !$worn.over_upper.type.includes("naked")>> <<set _rightaction["Displace your "+$worn.over_upper.name] to "over_upper">> <</if>> <<if $worn.upper.state is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base and $worn.upper.state_top is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base and !$worn.upper.type.includes("naked")>> <<set _rightaction["Displace your "+$worn.upper.name] to "upper">> <</if>> <<if $worn.under_upper.state is setup.clothes.under_upper[clothesIndex('under_upper', $worn.under_upper)].state_base and $worn.under_upper.state_top is setup.clothes.under_upper[clothesIndex('under_upper', $worn.under_upper)].state_top_base and !$worn.under_upper.type.includes("naked")>> <<set _rightaction["Displace your "+$worn.under_upper.name] to "under_upper">> <</if>> <<if $worn.over_lower.state is setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt isnot 1 and !$worn.over_lower.type.includes("naked")>> <<set _rightaction["Displace your "+$worn.over_lower.name] to "over_lower">> <<elseif setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 and $worn.over_lower.skirt_down is 1>> <<set _rightaction["Displace your "+$worn.over_lower.name] to "over_lower">> <</if>> <<if $worn.lower.state is setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt isnot 1 and !$worn.lower.type.includes("naked")>> <<set _rightaction["Displace your "+$worn.lower.name] to "lower">> <<elseif setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 and $worn.lower.skirt_down is 1>> <<set _rightaction["Displace your "+$worn.lower.name] to "lower">> <</if>> <<if $worn.under_lower.state is setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].state_base and !$worn.under_lower.type.includes("naked") and !($penisstate isnot 0 and playerHasStrapon())>> <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<set _rightaction["Displace your "+$worn.under_lower.name] to "under_lower">> <</if>> <</if>> <<if $worn.under_lower.state is setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].state_base and !$worn.under_lower.type.includes("naked") and !playerHasStrapon()>> <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<set _rightaction["Pull your "+$worn.under_lower.name+" to the side"] to "under_lower_to_the_side">> <</if>> <</if>> <<if $worn.face.state is setup.clothes.face[clothesIndex('face', $worn.face)].state_base and !$worn.face.type.includes("naked") and $worn.face.type.includes("mask")>> <<set _rightaction["Displace your "+$worn.face.name] to "mask">> <</if>> <</if>> <</widget>> <<widget "rightspraynew">> <<if $righttarget isnot "self">> <<if $consensual isnot 1 and $spray gte 1 and $NPCList.some(npc => npc.health >= 0 && (!$fightTargets || $fightTargets.includes(npc.index)))>> <<set _rightaction["Pepper spray"] to "spray">> <</if>> <</if>> <</widget>> <<widget "rightstealnew">> <<if $righttarget isnot "self" and !($stealtarget.includes($righttarget)) and $NPCList[$righttarget].clothes?.set isnot "naked">> <<if (currentSkillValue('skulduggery') gte 200 or $easySteal is 1) and $enemytype is "man" and $abomination isnot 1 and !($npcrow.includes($righttarget)) and $water isnot 1 and $punishmentposition isnot "gloryhole">> <<set $skulduggerydifficulty to (1000 - ($enemyarousal / $enemyarousalmax * 400) - $skulduggery - $enemytrust + $enemyanger) * $stealdifficulty>> <<if $easySteal is 1>><<set $skulduggerydifficulty to 0>><</if>> /*Missing <<skulduggerydifficulty>><<combatcrime>>*/ <<if !isNaN($righttarget) and $NPCList[$righttarget] and $NPCList[$righttarget].clothes and $NPCList[$righttarget].clothes.set is "naked">> <<elseif $stealstateright is undefined>> <<set _rightaction["Steal"] to "steal">> <<elseif $stealstateright is 2>> <<set _rightaction["Take " + $NPCList[$righttarget].pronouns.his + " belongings"] to "steal">> <<else>> <<set _rightaction["Commit to stealing"] to "steal">> <</if>> <</if>> <</if>> <</widget>> <<widget "rightpenwhacknew">> <<if $righttarget isnot "self">> <<set $_target to $NPCList[$righttarget]>> <<if $_target.lefthand and ($_target.lefthand is "pen" or $_target.lefthand.startsWith("pen_")) or $_target.righthand and ($_target.righthand is "pen" or $_target.righthand.startsWith("pen_"))>> <<set _rightaction["Whack the writing tool away"] to "penwhack">> <</if>> <</if>> <</widget>> <<widget "rightshacklewhack">> <<if $righttarget isnot "self">> <<if $NPCList[$righttarget].lefthand is "shackle_entrance" or $NPCList[$righttarget].lefthand is "shackle_imminent" or $NPCList[$righttarget].righthand is "shackle_entrance" or $NPCList[$righttarget].righthand is "shackle_imminent">> <<set _rightaction["Whack away the shackles"] to "shacklewhack">> <</if>> <</if>> <</widget>> <<widget "righthypnosiswhack">> <<if $righttarget isnot "self">> <<set $_target to $NPCList[$righttarget]>> <<if $_target.righthand and ($_target.righthand is "hypnosis" or $_target.righthand.startsWith("hypnosis_")) or $_target.righthand and ($_target.righthand is "hypnosis" or $_target.righthand.startsWith("hypnosis_"))>> <<set _rightaction["Whack the hypnotic instrument away"] to "hypnosiswhack">> <</if>> <</if>> <</widget>> <<widget "rightdildowhack">> <<if $righttarget isnot "self">> <<if $NPCList[$righttarget].lefthand is "dildo" or $NPCList[$righttarget].righthand is "dildo">> <<if getSexToysofType("all").includes($NPCList[$righttarget].lefttool)>> <<set _rightaction["Whack the "+ $NPCList[$righttarget].lefttool +" away"] to "dildowhack">> <<elseif getSexToysofType("all").includes($NPCList[$righttarget].righttool)>> <<set _rightaction["Whack the "+ $NPCList[$righttarget].righttool +" away"] to "dildowhack">> <</if>> <</if>> <</if>> <</widget>> <<widget "rightFixAndCoverActions">> <<if ($worn.lower.vagina_exposed is 1 and $worn.under_lower.vagina_exposed is 1) or $rightactiondefault is "rightcovervaginalewd">> <<if $NPCList[0].state is "stalk" and $NPCList[0].legs isnot "run">> <<if $vaginause is "cover">> <<if $leftactiondefault is "leftcovervaginalewd" or $rightactiondefault is "rightcovervaginalewd">> <<set _rightaction["Keep playing with your pussy"] to "rightcovervaginalewd">> <<else>> <<set _rightaction["Keep covering your pussy"] to "rightcovervaginameek">> <</if>> <<elseif $vaginause is 0>> <<set _rightaction["Cover your pussy"] to "rightcovervaginameek">> <</if>> <<elseif $righttarget is "self" or $options.targetYourself is false or _targetnumber is 1 or $NPCList[0].state is "stalk">> <<if $vaginause is "cover">> <<if $leftactiondefault is "leftcovervaginalewd" or $rightactiondefault is "rightcovervaginalewd">> <<set _rightaction["Keep playing with your pussy"] to "rightcovervaginalewd">> <<else>> <<set _rightaction["Keep covering your pussy"] to "rightcovervagina">> <</if>> <<elseif $vaginause is 0>> <<set _rightaction["Cover your pussy"] to "rightcovervagina">> <</if>> <</if>> <</if>> <<if ($worn.lower.vagina_exposed is 1 and $worn.under_lower.vagina_exposed is 1) or $rightactiondefault is "rightcoverpenislewd">> <<set _penis to playerHasStrapon() ? "strap-on" : (playerChastity("penis") ? $worn.genitals.name : "penis")>> <<set _straponDisplaced to (!playerHasStrapon() && $worn.under_lower.type.includes("strap-on"))>> <<if $NPCList[0].state is "stalk" and $NPCList[0].legs isnot "run">> <<if $penisuse is "cover">> <<if $leftactiondefault is "leftcoverpenislewd" or $rightactiondefault is "rightcoverpenislewd">> <<set _rightaction["Keep playing with your " + _penis] to "rightcoverpenislewd">> <<else>> <<set _rightaction["Keep covering your " + _penis] to "rightcoverpenismeek">> <</if>> <<elseif $penisuse is 0>> <<if !_straponDisplaced>> <<set _rightaction["Cover your " + _penis] to "rightcoverpenismeek">> <</if>> <</if>> <<elseif $righttarget is "self" or $options.targetYourself is false or _targetnumber is 1 or $NPCList[0].state is "stalk">> <<if $penisuse is "cover">> <<if $leftactiondefault is "leftcoverpenislewd" or $rightactiondefault is "rightcoverpenislewd">> <<set _rightaction["Keep playing with your " + _penis] to "rightcoverpenislewd">> <<else>> <<set _rightaction["Keep covering your " + _penis] to "rightcoverpenis">> <</if>> <<elseif $penisuse is 0>> <<if !_straponDisplaced>> <<set _rightaction["Cover your " + _penis] to "rightcoverpenis">> <</if>> <</if>> <</if>> <</if>> <<if ($worn.lower.anus_exposed is 1 and $worn.under_lower.anus_exposed is 1) or $rightactiondefault is "rightcoveranuslewd">> <<if $NPCList[0].state is "stalk" and $NPCList[0].legs isnot "run">> <<if $anususe is "cover">> <<if $leftactiondefault is "leftcoveranuslewd" or $rightactiondefault is "rightcoveranuslewd">> <<set _rightaction["Keep playing with your ass"] to "rightcoveranuslewd">> <<else>> <<set _rightaction["Keep covering your ass"] to "rightcoveranusmeek">> <</if>> <<else>> <<set _rightaction["Cover your ass"] to "rightcoveranusmeek">> <</if>> <<elseif $righttarget is "self" or $options.targetYourself is false or _targetnumber is 1 or $NPCList[0].state is "stalk">> <<if $anususe is "cover">> <<if $leftactiondefault is "leftcoveranuslewd" or $rightactiondefault is "rightcoveranuslewd">> <<set _rightaction["Keep playing with your ass"] to "rightcoveranuslewd">> <<else>> <<set _rightaction["Keep covering your ass"] to "rightcoveranus">> <</if>> <<else>> <<set _rightaction["Cover your ass"] to "rightcoveranus">> <</if>> <</if>> <</if>> <<if $righttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if $worn.under_lower.name isnot "naked">> <<if $worn.under_lower.state is "thighs" or $worn.under_lower.state is "knees" or $worn.under_lower.state is "ankles">> <<set _rightaction["Pull up your " + $worn.under_lower.name] to "rightunderpull">> <</if>> <</if>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if $worn.lower.skirt_down is 0>> <<if $worn.lower.state is "waist">> <<set _rightaction["Cover your crotch with your " + $worn.lower.name] to "rightskirtpull">> <</if>> <</if>> <</if>> <<if $worn.lower.name isnot "naked">> <<if $worn.upper.set is $worn.lower.set>> <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base and $worn.upper.state is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base and $worn.upper.state_top is setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base>> <<set _rightaction["Fix your " + $worn.lower.name] to "rightlowerpull">> <</if>> <<elseif $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base>> <<set _rightaction["Fix your " + $worn.lower.name] to "rightlowerpull">> <</if>> <</if>> <<if $worn.over_lower.name isnot "naked">> <<if $worn.over_upper.set is $worn.over_lower.set>> <<if $worn.over_lower.state isnot setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base and $worn.over_upper.state is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base and $worn.over_upper.state_top is setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base>> <<set _rightaction["Fix your " + $worn.over_lower.name] to "rightoverlowerpull">> <</if>> <<elseif $worn.over_lower.state isnot setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base>> <<set _rightaction["Fix your " + $worn.over_lower.name] to "rightoverlowerpull">> <</if>> <</if>> <<if $worn.upper.name isnot "naked">> <<if $worn.upper.state isnot setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base or $worn.upper.state_top isnot setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base>> <<set _rightaction["Fix your " + $worn.upper.name] to "rightupperpull">> <</if>> <</if>> <<if $worn.over_upper.name isnot "naked">> <<if $worn.over_upper.state isnot setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base or $worn.over_upper.state_top isnot setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base>> <<set _rightaction["Fix your " + $worn.over_upper.name] to "rightoverupperpull">> <</if>> <</if>> <</if>> <</widget>> <<widget "rightchoke">> <<if $righttarget isnot "self">> <<set $_target to $NPCList[$righttarget]>> <<if $_target.lefthand is "throat" or $_target.righthand is "throat">> <<if $consensual == 1>> <<set _rightaction["Press " + $_target.pronouns.his + " hand to your neck"] to "keepchoke">> <<set _rightaction["Take " + $_target.pronouns.his + " hand off your neck"] to "stopchoke">> <<else>> <<set _rightaction["Pull " + $_target.pronouns.his + " hand off your neck"] to "stopchokenoncon">> <</if>> <</if>> <</if>> <</widget>> <<widget "rightCondom">> <<if $righttarget is "self" or $options.targetYourself is false or _targetnumber is 1>> <<if !["othermouthentrance","othermouthimminent","othermouth","penetrated","otheranus"].includes($penisstate) and $player.penisExist and $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 and !playerChastity("penis")>> <<if !$player.condom and $condoms gt 0 and $parasite.penis.name is undefined>> <<set _rightaction["Put on a condom (" + $condoms + " left)"] to "peniscondom">> <</if>> <<if $player.condom>> <<set _rightaction["Remove your condom"] to "penisremovecondom">> <</if>> <</if>> <</if>> <</widget>> <<widget "rightNPCCondom">> <<if $righttarget isnot "self">> <<set $_target to $NPCList[$righttarget]>> <<if wearingCondom($righttarget)>> <<if ($consensual is 0 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 94) and playerPregnancyPossibleWith($_target)>> <!-- Do Nothing --> <<else>> <<set _rightaction["Remove " + $_target.pronouns.his + " condom"] to "npcremovecondom">> <</if>> <<elseif $prayerRoom or $NPCList[$righttarget].fullDescription is "Ivory Wraith">> <!-- Do Nothing --> <<elseif !$_target.condom and $condoms gte 1 and ($_target.condomCanGive or $condomlvl lte 1)>> <<set _rightaction["Give " + $_target.pronouns.him + " a condom (" + $condoms + " left)"] to "npcgivecondom">> <</if>> <</if>> <</widget>> <<widget "rightUndressOther">> <<if $righttarget isnot "self">> <<set $_target to $NPCList[$righttarget]>> <<if $_target.penis is "clothed" or $_target.vagina is "clothed" or $_target.chest is "clothed">> <<if ($consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 14 and !$promiscuityIgnore) or $punishmentposition is "gloryhole">> <!-- Do Nothing --> <<else>> <<set _rightaction["Undress:"] to "rightUndressOther">> <<set _undressRightTargets to {"Nothing":"rest"}>> <<set $_doText to ($consensual isnot 1 ? "try to " : "")>> <<if $_target.penis is "clothed" or $_target.vagina is "clothed">> <<silently>><<npcUndressText $NPCList[$righttarget] "lower">><</silently>> <<set _undressRightTargets[($_doText + _actionText + " " + $_target.pronouns.his + " " + $_target.clothes.lower.name).toUpperFirst()] to "lower">> <</if>> <<if $_target.chest is "clothed">> <<silently>><<npcUndressText $NPCList[$righttarget] "upper">><</silently>> <<set _undressRightTargets[($_doText + _actionText + " " + $_target.pronouns.his + " " + $_target.clothes.upper.name).toUpperFirst()] to "upper">> <</if>> <</if>> <</if>> <</if>> <</widget>>/* this is for widgets done in a generic way to cover either hand in either old or new style */ <<widget "handsstrugglefreebodypart">> <<if $consensual isnot 1>> <<set _hand to _args[0]>> <<set _style to _args[1]>> <<if _hand is "right">> <<set _default to $rightactiondefault>> <<set _actionVariable to "$rightaction">> <<set _actions to _rightaction>> <<else>> <<set _default to $leftactiondefault>> <<set _actionVariable to "$leftaction">> <<set _actions to _leftaction>> <</if>> <<if (_hand is "left" and $lefttarget isnot "self") or (_hand is "right" and $righttarget isnot "self")>> <<if ["breasts", "nipple", "otheranus"].includes($mouthstate) or ["lefthand", "righthand", "facesit"].includes($mouthuse)>> <<if _style is "old">> | <label><span class="brat">Free your face</span><<radiobutton _actionVariable "freeface" `_default is "freeface" ? 'checked' : ''`>></label> <<else>> <<set _actions["Free your face"] to "freeface">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "combathandhold">> <<set $_heldhand to _args[0]>> <<if $enemytype isnot "beast" and $consensual is 1>> <<if $_heldhand is "righthand" and $righttarget isnot "self">> <<if $NPCList[$righttarget].lefthand is 0 or $NPCList[$righttarget].lefthand is "idle">> <<set _rightaction["Hold " + $NPCList[$righttarget].pronouns.his + " hand"] to "righthandholdnew">> <</if>> <<elseif $_heldhand is "lefthand" and $lefttarget isnot "self">> <<if $NPCList[$lefttarget].righthand is 0 or $NPCList[$lefttarget].righthand is "idle">> <<set _leftaction["Hold " + $NPCList[$lefttarget].pronouns.his + " hand"] to "lefthandholdnew">> <</if>> <</if>> <</if>> <</widget>> <<widget "combathandguide">> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lt 15 and !$promiscuityIgnore>> <!-- Do Nothing --> <<else>> <<set _handGuideOptions to {}>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<set $_anus_exposed to $worn.over_lower.anus_exposed gte 1 and ($worn.lower.anus_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.anus_exposed gte 1 and $worn.genitals.anus_exposed gte 1>> <<if $_genitals_exposed>> <<if $penisuse is 0>> <<set _handGuideOptions["your penis"] to "penis">> <</if>> <<if $vaginause is 0>> <<set _handGuideOptions["your pussy"] to "pussy">> <</if>> <</if>> <<if $anususe is 0 and $_anus_exposed>> <<set _handGuideOptions["your ass"] to "ass">> <</if>> <<if Object.keys(_handGuideOptions).length gt 0>> <<if _args[0] is "left">> <<set _leftaction["Guide " + $NPCList[$lefttarget].pronouns.him + " to"] to "handguide">> <<else>> <<set _rightaction["Guide " + $NPCList[$righttarget].pronouns.him + " to"] to "handguide">> <</if>> <</if>> <</if>> <</widget>> <<widget "removeButtplug">> <<if _args[0] and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1) and playerHasButtPlug() and !playerChastity("anus")>> <<if _args[0] is "left">> <<if ($worn.over_lower.exposed gte 1 and $worn.lower.exposed gte 1) or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked") and !["othermouthImminent","othermouth","imminent","doubleimminent","penetrated","doublepenetrated"].includes($anusstate)>> <<set _leftaction["Remove your "+$worn.butt_plug.name] to "removebuttplug">> <</if>> <</if>> <<if _args[0] is "right">> <<if ($worn.over_lower.exposed gte 1 and $worn.lower.exposed gte 1) or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked") and !["othermouthImminent","othermouth","imminent","doubleimminent","penetrated","doublepenetrated"].includes($anusstate)>> <<set _rightaction["Remove your "+$worn.butt_plug.name] to "removebuttplug">> <</if>> <</if>> <</if>> <</widget>> <<widget "combatMasturbate">> <<if _args[0] isnot undefined>> <<if ($worn.over_lower.exposed gte 1 and $worn.lower.exposed gte 1) or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<if _args[0] is "left">> <<if hasSexStat("promiscuity", 2) and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $player.penisExist and $penisuse is 0 and !playerChastity("penis")>> <<set _leftaction["Stroke your penis"] to "leftmasturbatepenis">> <</if>> <<if $player.vaginaExist and $vaginause is 0 and !playerChastity("vagina")>> <<set _leftaction["Play with your pussy"] to "leftmasturbatepussy">> <</if>> <<if hasSexStat("promiscuity", 3) and $awareness gte 200 and $anususe is 0 and !playerChastity("anus")>> <<set _leftaction["Play with your anus"] to "leftmasturbateanus">> <</if>> <</if>> <</if>> <<if _args[0] is "right">> <<if hasSexStat("promiscuity", 2) and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $player.penisExist and $penisuse is 0 and !playerChastity("penis")>> <<set _rightaction["Stroke your penis"] to "rightmasturbatepenis">> <</if>> <<if $player.vaginaExist and $vaginause is 0 and !playerChastity("vagina")>> <<set _rightaction["Play with your pussy"] to "rightmasturbatepussy">> <</if>> <<if hasSexStat("promiscuity", 3) and $awareness gte 200 and $anususe is 0 and !playerChastity("anus")>> <<set _rightaction["Play with your anus"] to "rightmasturbateanus">> <</if>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "applyLube">> <<if _args[0] is "left" and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _items to window.listUniqueCarriedSextoys()>> <<for _i = 0; _i < _items.length; _i++>> <<if _items[_i].type.includes("lube")>> <<set _hasLube to true>> <<break>> <</if>> <</for>> <<if _hasLube is true>> <<if $worn.over_lower.vagina_exposed isnot 0 and $worn.lower.vagina_exposed isnot 0 and $worn.under_lower.vagina_exposed isnot 0 and $worn.genitals.vagina_exposed isnot 0>> <<if !["othermouthentrance","othermouthimminent","othermouth","penetrated","otheranus"].includes($penisstate) and $player.penisExist>> <<set $_penis to (!playerHasStrapon() ? "penis" : "strap-on")>> <<set _leftaction["Lubricate your " + $_penis] to "lubepenis">> <</if>> <<if !["othermouthimminent","othermouth","imminent","penetrated","doubleimminent","doublepenetrated"].includes($vaginastate) and $player.vaginaExist>> <<set _leftaction["Lubricate your pussy"] to "lubepussy">> <</if>> <</if>> <<if $worn.over_lower.anus_exposed isnot 0 and $worn.lower.anus_exposed isnot 0 and $worn.under_lower.anus_exposed isnot 0 and $worn.genitals.anus_exposed isnot 0>> <<if !["othermouthimminent","othermouth","imminent","penetrated","doubleimminent","doublepenetrated"].includes($anusstate)>> <<set _leftaction["Lubricate your anus"] to "lubeanus">> <</if>> <</if>> <</if>> <</if>> <<if _args[0] is "right" and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _items to window.listUniqueCarriedSextoys()>> <<for _i; _i < _items.length; _i++>> <<if _items[_i].type.includes("lube")>> <<set _hasLube to true>> <<break>> <</if>> <</for>> <<if _hasLube is true>> <<if $worn.over_lower.vagina_exposed isnot 0 and $worn.lower.vagina_exposed isnot 0 and $worn.under_lower.vagina_exposed isnot 0 and $worn.genitals.vagina_exposed isnot 0>> <<if !["othermouthentrance","othermouthimminent","othermouth","penetrated","otheranus"].includes($penisstate) and $player.penisExist>> <<set _rightaction["Lubricate your penis"] to "lubepenis">> <</if>> <<if !["othermouthimminent","othermouth","imminent","penetrated","doubleimminent","doublepenetrated"].includes($vaginastate) and $player.vaginaExist>> <<set _rightaction["Lubricate your pussy"] to "lubepussy">> <</if>> <</if>> <<if $worn.over_lower.anus_exposed isnot 0 and $worn.lower.anus_exposed isnot 0 and $worn.under_lower.anus_exposed isnot 0 and $worn.genitals.anus_exposed isnot 0>> <<if !["othermouthimminent","othermouth","imminent","penetrated","doubleimminent","doublepenetrated"].includes($anusstate)>> <<set _rightaction["Lubricate your anus"] to "lubeanus">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "heldSexToy">> <<if _args[0] isnot undefined>> <<if _args[0] is "left">> /* rest */ <<set _leftaction["Rest"] to "heldSexToy">> /* Drop sex toy */ <<set _leftaction["Drop your "+$currentSexToyLeft.name] to "dildoDrop">> /* NPC fuck */ <<if $lefttarget isnot undefined and $lefttarget isnot "self">> <<if $NPCList[$lefttarget].vagina isnot "none" and $NPCList[$lefttarget].vagina is 0 and $currentSexToyLeft.type.includes("dildo")>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to "+$NPCList[$lefttarget].pronouns.his+" pussy"] to "dildoOtherPussyTease">> <</if>> <<if $NPCList[$lefttarget].penis isnot "none" and $NPCList[$lefttarget].penis is 0 and !npcHasStrapon($lefttarget) and $currentSexToyLeft.type.includes("stroker")>> <<set _leftaction["Move your " + $currentSexToyLeft.name + " to " + $NPCList[$lefttarget].pronouns.his + " penis"] to "strokerOtherPenisTease">> <</if>> <<if $analdisable is "f" and $NPCList[$lefttarget].vagina isnot "none" and $NPCList[$lefttarget].vagina is 0 and $currentSexToyLeft.type.includes("dildo")>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to "+$NPCList[$lefttarget].pronouns.his+" anus"] to "dildoOtherAnusTease">> <</if>> <<if $analdisable is "f" and $NPCList[$lefttarget].penis isnot "none" and $NPCList[$lefttarget].penis is 0 and $currentSexToyLeft.type.includes("dildo")>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to "+$NPCList[$lefttarget].pronouns.his+" anus"] to "dildoOtherAnusTease">> <</if>> <</if>> /* Masturbate */ <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<if hasSexStat("promiscuity", 3) and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $player.vaginaExist and $currentSexToyLeft.type.includes("dildo")>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to your pussy"] to "dildoSelfPussyEntrance">> <</if>> <<if $analdisable is "f" and $currentSexToyLeft.type.includes("dildo")>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to your anus"] to "dildoSelfAnusEntrance">> <</if>> <<if $player.penisExist and $currentSexToyLeft.type.includes("stroker")>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to your penis"] to "strokerSelfPenisEntrance">> <</if>> <</if>> <</if>> <</if>> <<if _args[0] is "right">> /* rest */ <<set _rightaction["Rest"] to "heldSexToy">> /* Drop sex toy */ <<set _rightaction["Drop your "+$currentSexToyRight.name] to "dildoDrop">> /* NPC fuck */ <<if $righttarget isnot undefined and $righttarget isnot "self">> <<if $NPCList[$righttarget].vagina isnot "none" and $NPCList[$righttarget].vagina is 0 and $currentSexToyRight.type.includes("dildo")>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to "+$NPCList[$righttarget].pronouns.his+" pussy"] to "dildoOtherPussyTease">> <</if>> <<if $NPCList[$righttarget].penis isnot "none" and $NPCList[$righttarget].penis is 0 and !npcHasStrapon($righttarget) and $currentSexToyRight.type.includes("stroker")>> <<set _rightaction["Move your " + $currentSexToyRight.name + " to " + $NPCList[$righttarget].pronouns.his + " penis"] to "strokerOtherPenisTease">> <</if>> <<if $analdisable is "f" and $NPCList[$righttarget].vagina isnot "none" and $NPCList[$righttarget].vagina is 0 and $currentSexToyRight.type.includes("dildo")>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to "+$NPCList[$righttarget].pronouns.his+" anus"] to "dildoOtherAnusTease">> <</if>> <<if $analdisable is "f" and $NPCList[$righttarget].penis isnot "none" and $NPCList[$righttarget].penis is 0 and $currentSexToyRight.type.includes("dildo")>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to "+$NPCList[$righttarget].pronouns.his+" anus"] to "dildoOtherAnusTease">> <</if>> <</if>> /* Masturbate */ <<if $worn.lower.state isnot setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<if hasSexStat("promiscuity", 3) and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $player.vaginaExist and $currentSexToyRight.type.includes("dildo")>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to your pussy"] to "dildoSelfPussyEntrance">> <</if>> <<if $analdisable is "f" and $currentSexToyRight.type.includes("dildo")>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to your anus"] to "dildoSelfAnusEntrance">> <</if>> <<if $player.penisExist and $currentSexToyRight.type.includes("stroker")>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to your penis"] to "strokerSelfPenisEntrance">> <</if>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "dildoSelfPussyEntrance">> <<if _args[0] isnot undefined>> <<if _args[0] is "left">> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<if hasSexStat("promiscuity", 3) and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_genitals_exposed and $vaginause is 0>> <<set _leftaction["Push your " + $currentSexToyLeft.name + " in"] to "dildoSelfPussy">> <</if>> <<if $_genitals_exposed and $anususe is 0>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to your anus"] to "dildoSelfAnusEntrance">> <</if>> <</if>> <<set _leftaction["Tease your pussy"] to "dildoSelfPussyEntrance">> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDrop">> <</if>> <<if _args[0] is "right">> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<if hasSexStat("promiscuity", 3) and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_genitals_exposed and $vaginause is 0>> <<set _rightaction["Push your " + $currentSexToyRight.name + " in"] to "dildoSelfPussy">> <</if>> <<if $_genitals_exposed and $anususe is 0>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to your anus"] to "dildoSelfAnusEntrance">> <</if>> <</if>> <<set _rightaction["Tease your pussy"] to "dildoSelfPussyEntrance">> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDrop">> <</if>> <</if>> <</widget>> <<widget "dildoSelfAnusEntrance">> <<if _args[0] isnot undefined>> <<if _args[0] is "left">> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<set $_anus_exposed to $worn.over_lower.anus_exposed gte 1 and ($worn.lower.anus_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.anus_exposed gte 1 and $worn.genitals.anus_exposed gte 1>> <<if hasSexStat("promiscuity", 3) and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_anus_exposed and $anususe is 0>> <<set _leftaction["Push your " + $currentSexToyLeft.name + " in"] to "dildoSelfAnus">> <</if>> <<if $_genitals_exposed and $vaginause is 0>> <<set _leftaction["Move your "+$currentSexToyLeft.name+" to your pussy"] to "dildoSelfPussyEntrance">> <</if>> <</if>> <<set _leftaction["Tease your anus"] to "dildoSelfAnusEntrance">> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDrop">> <</if>> <<if _args[0] is "right">> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<set $_anus_exposed to $worn.over_lower.anus_exposed gte 1 and ($worn.lower.anus_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.anus_exposed gte 1 and $worn.genitals.anus_exposed gte 1>> <<if hasSexStat("promiscuity", 3) and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_anus_exposed and $anususe is 0>> <<set _rightaction["Push your " + $currentSexToyRight.name + " in"] to "dildoSelfAnus">> <</if>> <<if $_genitals_exposed and $vaginause is 0>> <<set _rightaction["Move your "+$currentSexToyRight.name+" to your pussy"] to "dildoSelfPussyEntrance">> <</if>> <</if>> <<set _rightaction["Tease your anus"] to "dildoSelfAnusEntrance">> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDrop">> <</if>> <</if>> <</widget>> <<widget "strokerSelfPenisEntrance">> <<if _args[0] isnot undefined>> <<if _args[0] is "left">> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<if hasSexStat("promiscuity", 3) and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_genitals_exposed and $penisuse is 0>> <<set _leftaction["Penetrate your " + $currentSexToyLeft.name] to "strokerSelfPenis">> <</if>> <</if>> <<set _leftaction["Tease your penis"] to "strokerSelfPenisEntrance">> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDrop">> <</if>> <<if _args[0] is "right">> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<if hasSexStat("promiscuity", 3) and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_genitals_exposed and $penisuse is 0>> <<set _rightaction["Penetrate your " + $currentSexToyRight.name] to "strokerSelfPenis">> <</if>> <</if>> <<set _rightaction["Tease your penis"] to "strokerSelfPenisEntrance">> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDrop">> <</if>> <</if>> <</widget>><<widget "effectshandsclothes">> /* Unified each clothing action for both hands. To add conditionals for both hands, use: if $leftaction is $rightaction as a block inside */ <<if $leftaction is "over_upper" or $rightaction is "over_upper">> <<if $leftaction is "over_upper">><<set $leftaction to 0>><<set $leftactiondefault to "rest">><</if>> <<if $rightaction is "over_upper">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><</if>> <<if $worn.over_upper.name is "naked">> You clutch the tattered remains of your clothing. <<elseif $worn.over_upper.open is 1>> <<set $worn.over_upper.exposed to 2>><<set $worn.over_upper.state_top to "midriff">> <<if $worn.upper.exposed lt 2>> You pull down your $worn.over_upper.name. <<elseif $player.breastsize gte 3>> You pull down your $worn.over_upper.name <span class="lewd">and your <<breasts>> flop out.</span> <<else>> You pull down your $worn.over_upper.name, <span class="lewd">exposing your <<breasts>>.</span> <</if>> <<overupperstrip>> <<else>> <<set $worn.over_upper.exposed to 2>><<set $worn.over_upper.state to "chest">> <<if $worn.upper.exposed lt 2>> You pull up your $worn.over_upper.name. <<elseif $player.breastsize gte 3>> You pull up your $worn.over_upper.name <span class="lewd">and your <<breasts>> flop out.</span> <<else>> You pull up your $worn.over_upper.name, <span class="lewd">exposing your <<breasts>>.</span> <</if>> <<overupperstrip>> <</if>> <</if>> <<if $leftaction is "upper" or $rightaction is "upper">> <<if $leftaction is "upper">><<set $leftaction to 0>><<set $leftactiondefault to "rest">><</if>> <<if $rightaction is "upper">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><</if>> <<if $worn.upper.name is "naked">> You clutch the tattered remains of your clothing. <<elseif $worn.upper.open is 1>> <<set $worn.upper.exposed to 2>><<set $worn.upper.state_top to "midriff">> <<if $player.breastsize gte 3>> You pull down your $worn.upper.name <span class="lewd">and your <<breasts>> flop out.</span> <<else>> You pull down your $worn.upper.name, <span class="lewd">exposing your <<breasts>>.</span> <</if>> <<upperstrip>> <<else>> <<set $worn.upper.exposed to 2>><<set $worn.upper.state to "chest">> <<if $player.breastsize gte 3>> You pull up your $worn.upper.name <span class="lewd">and your <<breasts>> flop out.</span> <<else>> You pull up your $worn.upper.name, <span class="lewd">exposing your <<breasts>>.</span> <</if>> <<upperstrip>> <</if>> <</if>> <<if $leftaction is "under_upper" or $rightaction is "under_upper">> <<if $leftaction is "under_upper">><<set $leftaction to 0>><<set $leftactiondefault to "rest">><</if>> <<if $rightaction is "under_upper">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><</if>> <<if $worn.under_upper.name is "naked">> You clutch the tattered remains of your clothing. <<elseif $worn.under_upper.open is 1>> <<set $worn.under_upper.exposed to 2>><<set $worn.under_upper.state_top to "midriff">> <<if $player.breastsize gte 3>> You pull down your $worn.under_upper.name <span class="lewd">and your <<breasts>> flop out.</span> <<else>> You pull down your $worn.under_upper.name, <span class="lewd">exposing your <<breasts>>.</span> <</if>> <<underupperstrip>> <<else>> <<set $worn.under_upper.exposed to 2>><<set $worn.under_upper.state to "chest">> <<if $player.breastsize gte 3>> You pull up your $worn.under_upper.name <span class="lewd">and your <<breasts>> flop out.</span> <<else>> You pull up your $worn.under_upper.name, <span class="lewd">exposing your <<breasts>>.</span> <</if>> <<underupperstrip>> <</if>> <</if>> /* Todo: over_lower here, but I don't know what the conditions should be. Please remove this comment when it's been fixed. */ <<if $leftaction is "lower" or $rightaction is "lower">> <<if $leftaction is "lower">><<set $leftaction to 0>><<set $leftactiondefault to "rest">><</if>> <<if $rightaction is "lower">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><</if>> <<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>> <<if $worn.lower.name is "naked">> You clutch the tattered remains of your clothing. <<elseif setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<set $worn.lower.skirt_down to 0>> You lift up your $worn.lower.name, <span class="lewd">exposing your <<undies>>.</span> <<lowerstrip>> <<else>> <<set $worn.lower.state to "thighs">> You pull down your $worn.lower.name, <span class="lewd">exposing your <<undies>>.</span> <<lowerstrip>> <</if>> <</if>> <<if $leftaction is "under_lower" or $rightaction is "under_lower">> <<if $leftaction is "under_lower">><<set $leftaction to 0>><<set $leftactiondefault to "rest">><</if>> <<if $rightaction is "under_lower">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><</if>> <<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.vagina_exposed to 1>><<set $worn.under_lower.exposed to 2>> <<set $worn.under_lower.state to "thighs">> /* Strapon code is here, if needed to move to the genital-clothing section */ /*<<if playerHasStrapon()>> <<if $playerPenisSizeBackup isnot undefined>> <<set $player.penissize to $playerPenisSizeBackup>> <</if>> <</if>>*/ <<if $worn.under_lower.name is "naked">> You clutch the tattered remains of your clothing. <<elseif $worn.lower.exposed gte 2>> You pull down your $worn.under_lower.name, <span class="lewd">exposing your <<genitals>>.</span> <<underlowerstrip>> <<else>> You pull down your $worn.under_lower.name under your $worn.lower.name. <<underlowerstrip>> <</if>> <</if>> <<if $leftaction is "under_lower_to_the_side" or $rightaction is "under_lower_to_the_side">> <<if $leftaction is "under_lower_to_the_side">><<set $leftaction to 0>><<set $leftactiondefault to "rest">><</if>> <<if $rightaction is "under_lower_to_the_side">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><</if>> <<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.vagina_exposed to 1>><<set $worn.under_lower.exposed to 2>> <<set $worn.under_lower.state to "totheside">> <<if $worn.under_lower.name is "naked">> You clutch the tattered remains of your clothing. <<elseif $worn.lower.exposed gte 2>> You pull your $worn.under_lower.name to the side, <span class="lewd">exposing your <<genitals>>.</span> <<else>> You pull your $worn.under_lower.name to the side under your $worn.lower.name. <</if>> <</if>> <<if $leftaction is "mask" or $rightaction is "mask">> <<if $leftaction is "mask">><<set $leftaction to 0>><<set $leftactiondefault to "rest">><</if>> <<if $rightaction is "mask">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><</if>> <<if $worn.face.name is "naked">> You clutch the tattered remains of your mask. <<else>> You pull down your $worn.face.name, <span class="lewd">revealing your face.</span> <</if>> <<facestrip>> <</if>> <</widget>> <<widget "effectsspray">> <<if $leftaction is "spray" and $rightaction is "spray">> <<set $leftactiondefault to "lefthit">><<set $rightactiondefault to "righthit">><<set $leftaction to 0>><<set $rightaction to 0>> <<if $spray gte 2>> <<set _baseDamage to 400>> <<set $spraystat += 2>><<spray -2>><<set $speechspray to 1>> <<if $enemytype is "beast">> You hold the spray in both hands, and unload a full blast in the <<beasttypes>> face. It whimpers. <<elseif $NPCList[0].fullDescription is "Ivory Wraith">> You hold the spray in both hands, and unload a full blast in the figure's face. <span class="red">It doesn't even blink.</span> <<elseif $enemyno gte 2>> You hold the spray in both hands, and unload a full blast at the <<group>>. They clutch their faces. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <<else>> You hold the spray in both hands, and unload a full blast at the assailant. <<He>> clutches <<his>> face. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <</if>> <<effectssprayFree>> <<elseif $spray gte 1>> <<set _baseDamage to 200>> <<set $spraystat += 1>><<spray -1>><<set $speechspray to 1>> <<if $enemytype is "beast">> You spray the <<beasttype>> in the face. It whimpers. <<elseif $NPCList[0].fullDescription is "Ivory Wraith">> You spray the figure in the face. <span class="red">It doesn't even blink.</span> <<elseif $enemyno gte 2>> You spray the <<group>>. They clutch their faces. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <<else>> You spray the assailant. <<He>> clutches <<his>> face. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <</if>> <<effectssprayFree>> <<else>> <<if $enemytype is "beast">> You try to spray the <<beasttype>> in the face. Nothing comes out. <<elseif $enemyno gte 2>> You try to spray the <<group>>. Nothing comes out. <<else>> You try to spray the assailant. Nothing comes out. <</if>> <</if>> <<elseif $leftaction is "spray">> <<set $leftactiondefault to "lefthit">><<set $leftaction to 0>> <<if $spray gte 1>> <<set _baseDamage to 200>> <<set $spraystat += 1>><<spray -1>><<set $speechspray to 1>> <<if $enemytype is "beast">> You spray the <<beasttype>> in the face. It whimpers. <<elseif $NPCList[0].fullDescription is "Ivory Wraith">> You spray the figure in the face. <span class="red">It doesn't even blink.</span> <<elseif $enemyno gte 2>> You spray the <<group>>. They clutch their faces. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <<else>> You spray the assailant. <<He>> clutches <<his>> face. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <</if>> <<effectssprayFree>> <<else>> <<if $enemytype is "beast">> You try to spray the <<beasttype>> in the face. Nothing comes out. <<elseif $enemyno gte 2>> You try to spray the <<group>>. Nothing comes out. <<else>> You try to spray the assailant. Nothing comes out. <</if>> <</if>> <<elseif $rightaction is "spray">> <<set $rightactiondefault to "righthit">><<set $rightaction to 0>> <<if $spray gte 1>> <<set _baseDamage to 200>> <<set $spraystat += 1>><<spray -1>><<set $speechspray to 1>> <<if $enemytype is "beast">> You spray the <<beasttype>> in the face. It whimpers. <<elseif $NPCList[0].fullDescription is "Ivory Wraith">> You spray the figure in the face. <span class="red">It doesn't even blink.</span> <<elseif $enemyno gte 2>> You spray the <<group>>. They clutch their faces. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <<else>> You spray the assailant. <<He>> clutches <<his>> face. <<if !$npc.includes("Eden") and !$npc.includes("Morgan") and !$npc.includes("Kylar") and !$abomination and !["island"].includes($location)>> <<ggcrime "assault">><<crimeUp 500 "assault">> <</if>> <</if>> <<effectssprayFree>> <<else>> <<if $enemytype is "beast">> You try to spray the <<beasttype>> in the face. Nothing comes out. <<elseif $enemyno gte 2>> You try to spray the <<group>>. Nothing comes out. <<else>> You try to spray the assailant. Nothing comes out. <</if>> <</if>> <</if>> <<if _baseDamage>> <<set _totalDamage to 0>> <<set _npctodefeat to []>> <<for _npctodamage to 0; _npctodamage lt $enemynomax; _npctodamage++>> <<if $NPCList[_npctodamage].active is "active" and $NPCList[_npctodamage].stance isnot "defeated" and (!$fightTargets or $fightTargets.includes(_npctodamage))>> <<set _enemydivide to $fightTargets ? $enemyno-$fightTargets.length : $enemyno>> /* Divide damage by all current active enemies. */ <<set _thedamage to _baseDamage/_enemydivide>> <<if $NPCList[_npctodamage].fullDescription is "Ivory Wraith">> <<set _thedamage to (_thedamage / 4)>> <</if>> <<set $NPCList[_npctodamage].health -= _thedamage>> <<set _totalDamage += _thedamage>> <<if $enemyno gte 2 and $NPCList[_npctodamage].health lte 0>> <<set _npctodefeat.push(_npctodamage)>> <</if>> <</if>> <</for>> <<for $_defeatcontroller to 0; $_defeatcontroller lt _npctodefeat.length; $_defeatcontroller++>> <<if $enemyno gte 2>> <<defeatnpc _npctodefeat[$_defeatcontroller]>> <</if>> <</for>> <<set $enemyhealth -= _totalDamage>> <</if>> <</widget>> <<widget "effectssprayFree">><<silently>> <<if $prof_spray_message>> <<set $_text_output to "Your spray was accurate. You didn't need to use a full cartridge, saving ammo.">> <<unset $prof_spray_message>> <</if>> <</silently>><<if $_text_output>><span class="green"><<print $_text_output>></span><</if>> <</widget>> <<widget "effectssteal">> <<if $leftaction is "steal" and $rightaction is "steal" and $lefttarget is $righttarget>> <<set $leftaction to 0>><<set $rightaction to 0>> <<set $leftactiondefault to "steal">><<set $rightactiondefault to "steal">> <<if $easySteal isnot 1>><<set $skulduggerydifficulty += 400>><</if>><<skulduggerycheck>> <<unset $stealstateleft>><<unset $stealstateright>> <<personselect $lefttarget>> <<if $skulduggerysuccess is 1>> <<set $stealtarget += $lefttarget>><<set $stealdifficulty += 0.2>> You rummage through the <<persons>> <<wallet $lefttarget>>. <<encountersteal>> <<set $leftactiondefault to "rest">><<set $rightactiondefault to "rest">> <<else>> <<brat 30 $lefttarget>><<set $speechsteal to 1>> You rummage inside the <<persons>> <<wallet $lefttarget>>. <<He>> notices and shifts <<his>> valuables away from your hands. <</if>> <</if>> <<if $leftaction is "steal">> <<set $leftactiondefault to "steal">><<set $leftaction to 0>><<skulduggerycheck>> <<personselect $lefttarget>> <<if $skulduggerysuccess is 1>> <<if $stealstateleft is undefined>> <<set $stealstateleft to 0>> You run your hand over the <<persons>> skin, until it rests on <<his>> <<wallet $lefttarget>>. <<elseif $stealstateleft is 0>> <<set $stealstateleft to 1>> You open the <<persons>> <<wallet $lefttarget>>. <<elseif $stealstateleft is 1>> <<set $stealstateleft to 2>> You rummage through the <<persons>> <<wallet $lefttarget>>. <<else>> <<unset $stealstateleft>><<set $stealtarget += $lefttarget>><<set $stealdifficulty += 0.2>> You sneak your hand into the <<persons>> <<wallet $lefttarget>>. <<encountersteal>><<set $leftactiondefault to "rest">> <</if>> <<else>> <<brat 30 $lefttarget>><<set $speechsteal to 1>> <<if $stealstateleft is undefined>> You run your hand over the <<persons>> skin, until it rests on <<his>> <<wallet $lefttarget>>. <<He>> isn't fooled. <<He>> shifts <<his>> valuables away from you. <<elseif $stealstateleft is 0>> You try to open the <<persons>> <<wallet $lefttarget>>. <<He>> notices and shifts <<his>> valuables away. <<elseif $stealstateleft is 1>> You rummage through the <<persons>> <<wallet $lefttarget>>. <<He>> notices and shifts <<his>> valuables away. <<else>> You sneak your hand into the <<persons>> <<wallet $lefttarget>>. <<He>> notices and shifts <<his>> valuables away. <</if>> <<unset $stealstateleft>> <</if>> <</if>> <<if $rightaction is "steal">> <<set $rightaction to 0>><<set $rightactiondefault to "steal">><<skulduggerycheck>> <<personselect $righttarget>> <<if $skulduggerysuccess is 1>> <<if $stealstateright is undefined>> <<set $stealstateright to 0>> You run your hand over the <<persons>> skin, until it rests on <<his>> <<wallet $righttarget>>. <<elseif $stealstateright is 0>> <<set $stealstateright to 1>> You open the <<persons>> <<wallet $righttarget>>. <<elseif $stealstateright is 1>> <<set $stealstateright to 2>> You rummage through the <<persons>> <<wallet $righttarget>>. <<else>> <<unset $stealstateright>><<set $stealtarget += $righttarget>><<set $stealdifficulty += 0.2>> You sneak your hand into the <<persons>> <<wallet $righttarget>>. <<encountersteal>><<set $rightactiondefault to "rest">> <</if>> <<else>> <<brat 30 $righttarget>><<set $speechsteal to 1>> <<if $stealstateright is undefined>> You run your hand over the <<persons>> skin, until it rests on <<his>> <<wallet $righttarget>>. <<He>> isn't fooled. <<He>> shifts <<his>> valuables away from you. <<elseif $stealstateright is 0>> You try to open the <<persons>> <<wallet $righttarget>>. <<He>> notices and shifts <<his>> valuables away. <<elseif $stealstateright is 1>> You rummage through the <<persons>> <<wallet $righttarget>>. <<He>> notices and shifts <<his>> valuables away. <<else>> You sneak your hand into the <<persons>> <<wallet $righttarget>>. <<He>> notices and shifts <<his>> valuables away. <</if>> <<unset $stealstateright>> <</if>> <</if>> <</widget>> <<widget "effectspenwhack">> <!--todo: maybe add some botched tattoos if pen is too close --> <<if $leftaction is "penwhack">> <<set $leftaction to 0>> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.lefthand and ($_target.lefthand is "pen" or $_target.lefthand.startsWith("pen_"))>> You whack the <<print $_target.lefttool>> from the <<personselect $lefttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Kylar" and C.npc.Kylar.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $lefttarget>> <<else>> Anger flashes across <<his>> face. <<brat 5 $lefttarget>> <</if>> <<brat 5 $lefttarget>><<set $_target.lefthand to 0>><<set $_target.lefttool to 0>> <<elseif $_target.righthand and ($_target.righthand is "pen" or $_target.righthand.startsWith("pen_"))>> You whack the <<print $_target.righttool>> from the <<personselect $lefttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Kylar" and C.npc.Kylar.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $lefttarget>> <<else>> Anger flashes across <<his>> face. <<brat 5 $lefttarget>> <</if>> <<brat 5 $lefttarget>><<set $_target.righthand to 0>><<set $_target.righttool to 0>> <</if>> <</if>> <<if $rightaction is "penwhack">> <<set $rightaction to 0>> <<set $_target to $NPCList[$righttarget]>> <<if $_target.lefthand and ($_target.lefthand is "pen" or $_target.lefthand.startsWith("pen_"))>> You whack the <<print $_target.lefttool>> from the <<personselect $righttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Kylar" and C.npc.Kylar.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $righttarget>> <<else>> Anger flashes across <<his>> face. <<brat 5 $righttarget>> <</if>> <<brat 5 $righttarget>><<set $_target.lefthand to 0>><<set $_target.lefttool to 0>> <<elseif typeof($_target.righthand) is "string" and ($_target.righthand is "pen" or $_target.righthand.startsWith("pen_"))>> You whack the <<print $_target.righttool>> from the <<personselect $righttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Kylar" and C.npc.Kylar.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $righttarget>> <<else>> Anger flashes across <<his>> face. <<brat 5 $righttarget>> <</if>> <<brat 5 $righttarget>><<set $_target.righthand to 0>><<set $_target.righttool to 0>> <</if>> <</if>> <</widget>> <<widget "effectsshacklewhack">> <<if $leftaction is "shacklewhack">> <<set $leftaction to 0>> <<personselect $lefttarget>> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.lefthand is "shackle_entrance" or $_target.lefthand is "shackle_imminent">> <<combat-reset-hand "left">> <<elseif $_target.righthand is "shackle_entrance" or $_target.righthand is "shackle_imminent">> <<combat-reset-hand "right">> <</if>> You whack the shackles from the <<persons>> hands. <<He>> clenches <<his>> fist. <<brat 10 $lefttarget>> <</if>> <<if $rightaction is "shacklewhack">> <<set $rightaction to 0>> <<personselect $righttarget>> <<set $_target to $NPCList[$righttarget]>> <<if $_target.lefthand is "shackle_entrance" or $_target.lefthand is "shackle_imminent">> <<combat-reset-hand "left">> <<elseif $_target.righthand is "shackle_entrance" or $_target.righthand is "shackle_imminent">> <<combat-reset-hand "right">> <</if>> You whack the shackles from the <<persons>> hands. <<He>> clenches <<his>> fist. <<brat 10 $righttarget>> <</if>> <</widget>> <<widget "effectshypnosiswhack">> <<if $leftaction is "hypnosiswhack">> <<set $leftaction to 0>> <<personselect $lefttarget>> <<set $_target to $NPCList[$lefttarget]>> <<if $_target.lefthand is "hypnosis" or $_target.lefthand is "hypnosis_scream" or $_target.lefthand is "hypnosis_cover" or $_target.lefthand is "hypnosis_orgasm" or $_target.lefthand is "hypnosis_masochism">> You whack the <<print $_target.lefttool>> from the <<personselect $lefttarget>><<persons>> hand. <<combat-reset-hand "left">><<set $_target.lefttool to 0>> <<elseif $_target.righthand is "hypnosis" or $_target.righthand is "hypnosis_scream" or $_target.righthand is "hypnosis_cover" or $_target.righthand is "hypnosis_orgasm" or $_target.righthand is "hypnosis_masochism">> You whack the <<print $_target.righttool>> from the <<personselect $lefttarget>><<persons>> hand. <<combat-reset-hand "right">><<set $_target.righttool to 0>> <</if>> <<brat 10 $lefttarget>> <</if>> <<if $rightaction is "hypnosiswhack">> <<set $rightaction to 0>> <<personselect $righttarget>> <<set $_target to $NPCList[$righttarget]>> <<if $_target.lefthand is "hypnosis" or $_target.lefthand is "hypnosis_scream" or $_target.lefthand is "hypnosis_cover" or $_target.lefthand is "hypnosis_orgasm" or $_target.lefthand is "hypnosis_masochism">> You whack the <<print $_target.lefttool>> from the <<personselect $righttarget>><<persons>> hand. <<combat-reset-hand "left">><<set $_target.lefttool to 0>> <<elseif $_target.righthand is "hypnosis" or $_target.righthand is "hypnosis_scream" or $_target.righthand is "hypnosis_cover" or $_target.righthand is "hypnosis_orgasm" or $_target.righthand is "hypnosis_masochism">> You whack the <<print $_target.righttool>> from the <<personselect $righttarget>><<persons>> hand. <<combat-reset-hand "right">><<set $_target.righttool to 0>> <</if>> <<brat 10 $righttarget>> <</if>> <</widget>> <<widget "effectsdildowhack">> <<if $leftaction is "dildowhack">> <<set $leftaction to 0>> <<set $_target to $NPCList[$lefttarget]>> <<if typeof($_target.lefthand) is "string" and $_target.lefthand.includes("dildo")>> You whack the <<print $_target.lefttool>> from the <<personselect $lefttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Kylar" and C.npc.Kylar.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $lefttarget>> <<elseif $consensual is 1>> Disappointment flashes across <<his>> face. <<brat 2 $lefttarget>> <<else>> Anger flashes across <<his>> face. <<brat 5 $lefttarget>> <</if>> <<brat 5 $lefttarget>><<set $_target.lefthand to 0>><<set $_target.lefttool to 0>> <<elseif typeof($_target.righthand) is "string" and $_target.righthand.includes("dildo")>> You whack the <<print $_target.righttool>> from the <<personselect $lefttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Robin" and C.npc.Robin.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $lefttarget>> <<elseif $consensual is 1>> Disappointment flashes across <<his>> face. <<else>> Anger flashes across <<his>> face. <<brat 5 $lefttarget>> <</if>> <<brat 5 $lefttarget>><<set $_target.righthand to 0>><<set $_target.righttool to 0>> <</if>> <</if>> <<if $rightaction is "dildowhack">> <<set $rightaction to 0>> <<set $_target to $NPCList[$righttarget]>> <<if typeof($_target.lefthand) is "string" and $_target.lefthand.includes("dildo")>> You whack the <<print $_target.lefttool>> from the <<personselect $righttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Robin" and C.npc.Robin.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $righttarget>> <<elseif $consensual is 1>> Disappointment flashes across <<his>> face. <<brat 2 $righttarget>> <<else>> Anger flashes across <<his>> face. <<brat 5 $righttarget>> <</if>> <<brat 5 $righttarget>><<set $_target.lefthand to 0>><<set $_target.lefttool to 0>> <<elseif typeof($_target.righthand) is "string" and $_target.righthand.includes("dildo")>> You whack the <<print $_target.righttool>> from the <<personselect $righttarget>><<persons>> hand. <<if $_target.fullDescription is "Sydney" or ($_target.fullDescription is "Robin" and C.npc.Robin.rage lte 35) or $_target.type is "plant">> <<He>> pouts at you. <<brat 2 $righttarget>> <<elseif $consensual is 1>> Disappointment flashes across <<his>> face. <<brat 2 $righttarget>> <<else>> Anger flashes across <<his>> face. <<brat 5 $righttarget>> <</if>> <<brat 5 $righttarget>><<set $_target.righthand to 0>><<set $_target.righttool to 0>> <</if>> <</if>> <</widget>> <<widget "effectshandsfreeface">> <<if $leftaction is "freeface" or $rightaction is "freeface">> <<if $leftaction is "freeface" and $rightaction is "freeface">> <<set $leftaction to 0>><<set $leftactiondefault to "freeface">> <<set $rightaction to 0>><<set $rightactiondefault to "freeface">> <<set _freestrength to 2.5>> You try to use both hands to free your face, <<elseif $leftaction is "freeface">> <<set $leftaction to 0>><<set $leftactiondefault to "freeface">> <<set _freestrength to 1>> You try to use your hand to free your face, <<elseif $rightaction is "freeface">> <<set $rightaction to 0>><<set $rightactiondefault to "freeface">> <<set _freestrength to 1>> You try to use your hand to free your face, <</if>> <<set _npc to $NPCList[$mouthtarget]>><<personselect $mouthtarget>> <<set _nectarDifficulty to Math.clamp($drugged, 0, 500) + Math.clamp($nectar_addiction, 0, 500)>> <<willpowerdifficulty _nectarDifficulty $willpowermax "silent">> <<if (($mouthuse is "facesit" and $mouthstate is "vagina") or ["nipple","breasts"].includes($mouthstate)) and (_npc.type is "plant") and !$willpowerSuccess>> <span class="red">but you can't tear yourself from the sweet nectar.</span> <<if $mouthstate is "nipple">> You desperately suck <<his>> _npc.breastdesc. <<elseif $mouthstate is "breasts">> You push your face back into <<his>> _npc.breastdesc. <<else>> You desperately lick the pussy pressing into your face. <</if>> <<willpower 1>> <<else>> <<if (1000 - ($rng * 10) - ((currentSkillValue('physique') / $physiquemax * 100) * _freestrength) + ($enemyanger * 0.5)) lte (200 + $enemytrust)>> <span class="green"> <<if $mouthuse is "facesit">> <<print either( "and manage to wrestle <<him>> off of your face.", "and lift <<his>> hips enough for you to escape out from under <<him>>.", "and manage to tip <<him>> off of your face." )>> <<set _npc.vagina to 0>><<set _npc.location.genitals to 0>> <<elseif $mouthstate is "nipple">> <<print either( "and manage to extricate your mouth from <<his>> _npc.breastdesc.", "and push <<his>> nipple out of your mouth, pushing away <<his>> _npc.breastdesc.", "and manage to shove <<his>> _npc.breastdesc out of your face, freeing your mouth." )>> <<set _npc.chest to 0>><<set _npc.location.head to 0>> <<if _npc.lefthand is "head_nipples">> <<set _npc.lefthand to 0>> <</if>> <<if _npc.righthand is "head_nipples">> <<set _npc.righthand to 0>> <</if>> <<elseif $mouthstate is "breasts">> <<print either( "and manage to free your face from <<if _npc.breastsize gte 6>>in between <</if>><<his>> _npc.breastsdesc.", "and wriggle out from <<if _npc.breastsize gte 6>>in between <</if>><<his>> _npc.breastsdesc.", "and <<if _npc.breastsize lt 6>>shove<<else>>heave<</if>> <<his>> _npc.breastsdesc away from your face." )>> <<set _npc.chest to 0>><<set _npc.location.head to 0>> <<if _npc.lefthand is "head_breasts">> <<set _npc.lefthand to 0>> <</if>> <<if _npc.righthand is "head_breasts">> <<set _npc.righthand to 0>> <</if>> <<elseif ["lefthand", "righthand"].includes($mouthuse)>> <<print either( "and manage to wrench <<his>> hand off of your mouth.", "and wrestle <<his>> hand away from your face.", "and twist out of <<his>> grip, freeing your mouth." )>> <<if _npc.lefthand is "mouth">> <<set _npc.lefthand to 0>> <</if>> <<if _npc.righthand is "mouth">> <<set _npc.righthand to 0>> <</if>> <<elseif $mouthstate is "otheranus">> <<print either( "and push <<his>> ass away from your face.", "and manage to shove <<his>> ass from off of your face.", "and wrestle <<him>> and <<his>> ass away from your mouth." )>> <<if _npc.penis is "mouthotheranus">> <<set _npc.penis to 0>> <</if>> <<if _npc.vagina is "mouthotheranus">> <<set _npc.vagina to 0>> <</if>> <<set _npc.location.genitals to 0>> <</if>> </span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $mouthaction to 0>><<set $head to 0>> <<brat 4>><<brat 1>> <<else>> <span class="red"> <<if $mouthuse is "facesit">> <<if $rng % 4 == 0 and (_npc.lefthand is 0 or _npc.righthand is 0)>> <<if _npc.lefthand is 0>> <<set _npc.lefthand to "arms">> <<else>> <<set _npc.righthand to "arms">> <</if>> <<if $leftactiondefault is "freeface">> <<set $leftarm to "grappled">> <</if>> <<if $rightactiondefault is "freeface">> <<set $rightarm to "grappled">> <</if>> <<if _freestrength is 1>> however, <<he>> seizes your arm and traps it against <<his>> thigh. <<else>> however, <<he>> grabs your arms and pins them against <<his>> thighs. <</if>> <<else>> <<print either( "but you can't budge <<his>> weight from off of your face.", "but <<he>> settles <<himself>> down more firmly on your face.", "but <<he>> adjusts <<his>> position and sits down harder." )>> <</if>> <<elseif $mouthstate is "nipple">> <<if $rng % 4 == 0>> however, <<he>> shoves <<his>> _npc.breastdesc forcefully into your face, forcing <<his>> nipple further into your protesting mouth. <<violence 3>> <<else>> <<print either( "but cannot remove <<his>> _npc.breastdesc from your mouth.", "but <<his>> nipple remains firmly plugged into your mouth.", "but aren't able to push <<his>> _npc.breastdesc out of your mouth." )>> <</if>> <<elseif $mouthstate is "breasts">> <<if $rng % 4 == 0>> <<if _npc.breastsize gte 6>> however, <<he>> more firmly squashes your face between <<his>> _npc.breastsdesc. <<violence 4>><<bruise face>> <<else>> however, <<he>> more firmly shoves your face against <<his>> _npc.breastsdesc. <<violence 1>> <</if>> <<else>> <<print either( "but cannot escape <<his>> _npc.breastsdesc.", "but <<his>> _npc.breastsdesc continue to <<if _npc.breastsize gte 6>>engulf<<else>>press against<</if>> your face.", "but aren't able to push <<his>> _npc.breastsdesc away from your face." )>> <</if>> <<elseif ["lefthand", "righthand"].includes($mouthuse)>> <<if $rng % 4 == 0>> but <<he>> more firmly clamps down on your mouth, digging <<his>> nails into your face in <<his>> effort to keep hold. <<violence 3>><<bruise face>> <<else>> <<print either( "but you can't pull <<his>> hand away.", "but <<his>> hand stays firm over your mouth.", "but you can't prise <<his>> hand from off of your mouth." )>> <</if>> <<elseif $mouthstate is "otheranus">> <<if $rng % 4 == 0>> but <<he>> swats your hand away and cuffs you around the head. <<violence 1>><<bruise face>> <<else>> <<print either( "but you aren't able to move <<him>> away.", "but <<his>> ass remains pressed against your lips.", "but you can't keep <<him>> away from your face." )>> <</if>> <</if>> </span> <<brat 2>> <</if>> <</if>> <</if>> <</widget>> <<widget "effectshandpull">> <<if $leftaction is "handpullpenis" or $rightaction is "handpullpenis">> <<if $leftaction is "handpullpenis" and $rightaction is "handpullpenis">> <<set $leftaction to 0>><<set $leftactiondefault to "handpullpenis">> <<set $rightaction to 0>><<set $rightactiondefault to "handpullpenis">> <<personselect $lefttarget>><<set $_handPullDifficulty to 500>> <<elseif $leftaction is "handpullpenis">> <<set $leftaction to 0>><<set $leftactiondefault to "handpullpenis">> <<personselect $lefttarget>><<set $_handPullDifficulty to 1000>> <<else>> <<set $rightaction to 0>><<set $rightactiondefault to "handpullpenis">> <<personselect $righttarget>><<set $_handPullDifficulty to 1000>> <</if>> <<brat 1>> <<if combatSkillCheck("hand", _n, $NPCList[_n].fullDescription, $_handPullDifficulty)>> You grasp <<combatpersons>> wrist, <<if $penisstate is "otherhand">> <span class="green">and pry <<his>> fingers off your <<penis>>.</span> <<else>> <span class="green">and pull it off your crotch.</span> <</if>> <<if $NPCList[_n].lefthand and $NPCList[_n].lefthand.startsWith("penis")>> <<combat-reset-hand "left">> <<else>> <<combat-reset-hand "right">> <</if>> <<set $penisuse to 0>><<set $penisstate to 0>> <<else>> You try to grab <<combatpersons>> wrist, <<if $penisstate is "otherhand">> <span class="red">but <<he>> tightens <<his>> grip in retaliation.</span> <<else>> <span class="red">but <<he>> swats your hand away and resumes <<his>> stroking.</span> <</if>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <<violence 1>> <</if>> <</if>> <<if $leftaction is "handpullvagina" or $rightaction is "handpullvagina">> <<if $leftaction is "handpullvagina" and $rightaction is "handpullvagina">> <<set $leftaction to 0>><<set $leftactiondefault to "handpullvagina">> <<set $rightaction to 0>><<set $rightactiondefault to "handpullvagina">> <<personselect $lefttarget>><<set $_handPullDifficulty to 500>> <<elseif $leftaction is "handpullvagina">> <<set $leftaction to 0>><<set $leftactiondefault to "handpullvagina">> <<personselect $lefttarget>><<set $_handPullDifficulty to 1000>> <<else>> <<set $rightaction to 0>><<set $rightactiondefault to "handpullvagina">> <<personselect $righttarget>><<set $_handPullDifficulty to 1000>> <</if>> <<brat 1>> <<if combatSkillCheck("hand", _n, $NPCList[_n].fullDescription, $_handPullDifficulty)>> You grasp <<combatpersons>> wrist, <<if $vaginastate is "otherhand">> <span class="green">and pry <<his>> fingers out of your <<pussy>>.</span> <<else>> <span class="green">and pull it off your crotch.</span> <</if>> <<if $NPCList[_n].lefthand and $NPCList[_n].lefthand.startsWith("vagina")>> <<combat-reset-hand "left">> <<else>> <<combat-reset-hand "right">> <</if>> <<set $vaginause to 0>><<set $vaginastate to 0>> <<else>> You try to grab <<combatpersons>> wrist, <<if $vaginastate is "otherhand">> <span class="red">but <<he>> jams <<his>> fingers deeper in retaliation.</span> <<else>> <span class="red">but <<he>> swats your hand away and resumes <<his>> stroking.</span> <</if>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <<violence 1>> <</if>> <</if>> <<if $leftaction is "handpullanus" or $rightaction is "handpullanus">> <<if $leftaction is "handpullanus" and $rightaction is "handpullanus">> <<set $leftaction to 0>><<set $leftactiondefault to "handpullanus">> <<set $rightaction to 0>><<set $rightactiondefault to "handpullanus">> <<personselect $lefttarget>><<set $_handPullDifficulty to 500>> <<elseif $leftaction is "handpullanus">> <<set $leftaction to 0>><<set $leftactiondefault to "handpullanus">> <<personselect $lefttarget>><<set $_handPullDifficulty to 1000>> <<else>> <<set $rightaction to 0>><<set $rightactiondefault to "handpullanus">> <<personselect $righttarget>><<set $_handPullDifficulty to 1000>> <</if>> <<brat 1>> <<if combatSkillCheck("hand", _n, $NPCList[_n].fullDescription, $_handPullDifficulty)>> You grasp <<combatpersons>> wrist, <<if $anusstate is "otherhand">> <span class="green">and pry <<his>> fingers out of your asshole.</span> <<else>> <span class="green">and pull it off your <<bottom>>.</span> <</if>> <<if $NPCList[_n].lefthand and $NPCList[_n].lefthand.startsWith("anus")>> <<combat-reset-hand "left">> <<else>> <<combat-reset-hand "right">> <</if>> <<set $anususe to 0>><<set $anusstate to 0>> <<else>> You try to grab <<combatpersons>> wrist, <<if $anusstate is "otherhand">> <span class="red">but <<he>> jams <<his>> fingers deeper in retaliation.</span> <<else>> <span class="red">but <<he>> swats your hand away and resumes <<his>> stroking.</span> <</if>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <<violence 1>> <</if>> <</if>> <</widget>> <<widget "hand_section">> <!-- This widget is for NPC hands. --> <!-- Section for widgets that have special output when both hands are performing the same action. --> <!-- These widgets should set _bothHandsUsed to true when they are done if you want them to only run once. --> <<if $NPCList[_n].lefthand is $NPCList[_n].righthand>> <<set $_bothHandsUsed to true>> <<switch $NPCList[_n].lefthand>> <<case "throat">> <<combat-hand-on-throat>> <<case "mask">> <<combat-hand-on-mask "both" "hands">> <<case "genitals">> <<combat-hand-on-chastity "both">> <<default>> <<set $_bothHandsUsed to false>> <</switch>> <</if>> <<if !$_bothHandsUsed>> <<if random(0,1) is 1>> <<hand_section_two "left">> <<hand_section_two "right">> <<else>> <<hand_section_two "right">> <<hand_section_two "left">> <</if>> <</if>> <</widget>> <<widget "hand_section_two">> <<rng>> <<set $_hand to _args[0]>> <<set $_npcHand to $NPCList[_n][$_hand + "hand"]>> <!-- Note for future coders: this is an EXCEPTION, because there are a LOT of pen_x states, and this is the best way to handle it. --> <!-- If you are adding new states, add them to the switch. Do your BEST to NOT ADD EXTRA CODE TO THIS WIDGET outside of the switch. --> <<if $_npcHand isnot 0 and $_npcHand.startsWith("pen_")>> <<set $_penbodypart to $_npcHand.slice(4)>> <<set $_npcHand to "pen_">> <</if>> <<switch $_npcHand>> <<case "none" "idle">> <<case "spank">> <<combat-spank $_hand>> <<case "handhold">> <<combat-hand-on-hand $_hand>> <<case "arms">> <<combat-hand-on-arms $_hand>> <<case "leftarm">> <<combat-hand-on-one-arm $_hand "left">> <<case "rightarm">> <<combat-hand-on-one-arm $_hand "right">> <<case "vaginaentrance">> <<combat-hand-on-vaginaentrance $_hand>> <<case "penisentrance">> <<combat-hand-on-penisentrance $_hand>> <<case "vagina">> <<combat-hand-on-vagina $_hand>> <<case "penis">> <<combat-hand-on-penis $_hand>> <<case "anusentrance">> <<combat-hand-on-anusentrance $_hand>> <<case "anus">> <<combat-hand-on-anus $_hand>> <<case "bottom">> <<combat-hand-on-bottom $_hand>> <<case "throat">> <<combat-hand-on-throat $_hand>> <<case "mouth">> <<combat-hand-on-mouth $_hand>> <<case "hair">> <<combat-hand-on-hair $_hand>> <<case "genitals">> <<combat-hand-on-chastity $_hand>> <<case "underlowerclothes">> <<combat-hand-on-clothes "under_lower" $_hand>> <<case "underupperclothes">> <<combat-hand-on-clothes "under_upper" $_hand>> <<case "lowerclothes">> <<combat-hand-on-clothes "lower" $_hand>> <<case "upperclothes">> <<combat-hand-on-clothes "upper" $_hand>> <<case "overlowerclothes">> <<combat-hand-on-clothes "over_lower" $_hand>> <<case "overupperclothes">> <<combat-hand-on-clothes "over_upper" $_hand>> <<case "head_nipples">> <<combat-hand-on-head_nipples $_hand>> <<case "head_breasts">> <<combat-hand-on-head_breasts $_hand>> <<case "mask">> <<combat-hand-on-mask $_hand "hand">> <<case "pen">> <<bodywriting_npc_bodypart $_hand $NPCList[_n][$_hand + "tool"]>> <<case "pen_">> <<combat-pen-on-bodypart $_hand $_penbodypart>> <<case "lube">> <<combat-hand-on-lube $_hand>> <<case "shoes">> <<combat-hand-on-shoes $_hand>> <<case "socks">> <<combat-hand-on-socks $_hand>> <<case "shackle_imminent">> <<combat-hand-on-shackle $_hand>> <<case "shackle_entrance">> <<combat-hand-on-shackle-imminent $_hand>> <<case "dildo_reveal">> <<combat-reveal-sextoy $_hand>> <<case "dildo">> <<combat-hand-on-sextoy $_hand>> <<case "stroker">> <<combat-stroker-on-penisentrance $_hand>> <<case "vaginadildo">> <<combat-dildo-on-vagina $_hand>> <<case "anusdildo">> <<combat-dildo-on-anus $_hand>> <<case "penisdildo">> <<combat-dildo-on-penis $_hand>> <<case "penisstroker">> <<combat-stroker-on-penis $_hand>> <<case "buttplug">> <<combat-hand-on-buttplug $_hand>> <<case "hypnosis">> <<combat-hand-hypnosis $_hand>> <<case "hypnosis_scream">> <<combat-hand-hypnosis-scream $_hand>> <<case "hypnosis_cover">> <<combat-hand-hypnosis-cover $_hand>> <<case "hypnosis_orgasm">> <<combat-hand-hypnosis-orgasm $_hand>> <<case "hypnosis_masochism">> <<combat-hand-hypnosis-masochism $_hand>> <<case 0>> <<combat-set-hand-start $_hand>> <<default>> <<run console.error("NPC hand action unaccounted for! Hand: " + $_hand + " Value: " + $_npcHand)>> <<run throw new Error("NPC hand action unaccounted for! Hand: " + $_hand + " Value: " + $_npcHand)>> <</switch>> <</widget>> <<widget "effectsremovebuttplug">> <<if !playerChastity("anus")>> <<if $leftaction is "removebuttplug" and playerHasButtPlug()>> <<set $leftaction to 0>> You remove your $worn.butt_plug.name, exposing your anus. <<set $worn.butt_plug.state to "removed">> <<elseif $rightaction is "removebuttplug" and playerHasButtPlug()>> <<set $rightaction to 0>> You remove your $worn.butt_plug.name, exposing your anus. <<set $worn.butt_plug.state to "removed">> <</if>> <</if>> <</widget>> <<widget "effectsPickupSexToy">> /* Start with a sex toy: Before combat do this: <<set $leftarm to "heldSexToy">><<set $currentSexToyLeft to clone(setup.sextoys[0])>> */ /* That will effectively mimic this widget so that a player starts combat holding a dildo(setup.sextoys[0]) */ <<if $leftaction is "pickupSexToy" and $rightaction is "pickupSexToy" and $selectedItemRight.name is $selectedItemLeft.name>> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to "heldSexToy">> <<set $currentSexToyRight to $selectedItemRight>><<set $dildoreveal to 1>> You retrieve your $currentSexToyRight.name and hold it with your right hand. <<else>> <<if $leftaction is "pickupSexToy" and $selectedItemLeft>> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to "heldSexToy">> <<set $currentSexToyLeft to $selectedItemLeft>><<set $dildoreveal to 1>> You retrieve your $currentSexToyLeft.name with your left hand. <</if>> <<if $rightaction is "pickupSexToy" and $selectedItemRight>> <<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to "heldSexToy">> <<set $currentSexToyRight to $selectedItemRight>><<set $dildoreveal to 1>> You retrieve your $currentSexToyRight.name with your right hand. <</if>> <</if>> <</widget>> <<widget "effectsDropSexToy">> <<if $leftaction is "dildoDrop" and $rightaction is "dildoDrop">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>><<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop your sex toys. <<unset $currentSexToyLeft>><<unset $currentSexToyRight>> <<else>> <<if $leftaction is "dildoDrop">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>> You drop your $currentSexToyLeft.name in your left hand. <<unset $currentSexToyLeft>> <</if>> <<if $rightaction is "dildoDrop">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop your $currentSexToyRight.name in your right hand. <<unset $currentSexToyRight>> <</if>> <</if>> <<if $leftaction is "dildoDropLeft" and $rightaction is "dildoDropRight">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>><<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop your sex toys. <<unset $currentSexToyLeft>><<unset $currentSexToyRight>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if ["leftDildo","leftDildoTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["leftDildo","leftDildoTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <<if ["rightDildo","rightDildoTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["rightDildo","rightDildoTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <<else>> <<if $leftaction is "dildoDropLeft">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>> You drop your $currentSexToyLeft.name in your left hand. <<unset $currentSexToyLeft>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if $NPCList[$_i].vagina is "leftDildo">> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if $NPCList[$_i].penis is "leftDildo">> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <</if>> <<if $rightaction is "dildoDropRight">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop your $currentSexToyRight.name in your right hand. <<unset $currentSexToyRight>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if $NPCList[$_i].vagina is "rightDildo">> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if $NPCList[$_i].penis is "rightDildo">> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <</if>> <</if>> <<if $leftaction is "dildoDropAnusLeft" and $rightaction is "dildoDropAnusRight">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>><<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop your sex toys. <<unset $currentSexToyLeft>><<unset $currentSexToyRight>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if ["leftDildoAnus","leftDildoAnusTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["leftDildoAnus","leftDildoAnusTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <<if ["rightDildoAnus","rightDildoAnusTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["rightDildoAnus","rightDildoAnusTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <<else>> <<if ["dildoDropAnusLeft","dildoDropAnusTeaseLeft"].includes($leftaction)>> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>> You drop your $currentSexToyLeft.name in your left hand. <<unset $currentSexToyLeft>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if ["leftDildoAnus","leftDildoAnusTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["leftDildoAnus","leftDildoAnusTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <</if>> <<if ["dildoDropAnusRight","dildoDropAnusTeaseRight"].includes($rightaction)>> <<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop your $currentSexToyRight.name in your right hand. <<unset $currentSexToyRight>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if ["rightDildoAnus","rightDildoAnusTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["rightDildoAnus","rightDildoAnusTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <</if>> <</if>> <<if $leftaction is "strokerDropLeft" and $rightaction is "strokerDropRight">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>><<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop your sex toys. <<unset $currentSexToyLeft>><<unset $currentSexToyRight>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if ["leftStroker","leftStrokerTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["leftStroker","leftStrokerTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <<if ["rightStroker","rightStrokerTease"].includes($NPCList[$_i].vagina)>> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if ["rightStroker","rightStrokerTease"].includes($NPCList[$_i].penis)>> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <<else>> <<if $leftaction is "strokerDropLeft">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $leftarm to 0>> You drop the $currentSexToyLeft.name in your left hand. <<unset $currentSexToyLeft>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if $NPCList[$_i].vagina is "leftStroker">> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if $NPCList[$_i].penis is "leftStroker">> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <<if $penisuse is "strokerSelfPenis">> <<set $penisuse to 0>><<set $penisstate to 0>> <</if>> <</if>> <<if $rightaction is "strokerDropRight">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">><<set $rightarm to 0>> You drop the $currentSexToyRight.name in your right hand. <<unset $currentSexToyRight>> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if $NPCList[$_i].vagina is "rightStroker">> <<set $NPCList[$_i].vagina to 0>> <</if>> <<if $NPCList[$_i].penis is "rightStroker">> <<set $NPCList[$_i].penis to 0>> <</if>> <</for>> <<if $penisuse is "strokerSelfPenis">> <<set $penisuse to 0>><<set $penisstate to 0>> <</if>> <</if>> <</if>> <</widget>> <<widget "effectsCoverVagina">> <<if _args[1] is "lewd">> <<set $_hypnosis to "lewd">> <<elseif $uncomfortable.hypnosis is false and $hypnosis_traits.cover gte random(1,5)>> <<set $_hypnosis to "accepted">> <<elseif $hypnosis_traits.cover gte 1 and $willpower lt random(1, (200 * $hypnosis_traits.cover))>> <<set $_hypnosis to "forced">> <</if>> <<switch _args[0]>> <<case "both">> <<set $_hands to "hands">> <<set $leftactiondefault to $leftaction>> <<set $rightactiondefault to $rightaction>> <<set $leftaction to 0>><<set $rightaction to 0>> <<if $_hypnosis is "forced">> <<set $leftarm to 0>><<set $rightarm to 0>><<set $vaginause to 0>> <<set $leftactiondefault to "leftstopvagina">> <<set $rightactiondefault to "rightstopvagina">> <<elseif $_hypnosis>> <<set $leftarm to "vagina">><<set $rightarm to "vagina">><<set $vaginause to "cover">> <<set $leftactiondefault to "leftcovervaginalewd">> <<set $rightactiondefault to "rightcovervaginalewd">> <<else>> <<meek 2>><<set $leftarm to "vagina">><<set $rightarm to "vagina">><<set $vaginause to "cover">><<set $speechcovervagina to 1>> <</if>> <<case "left">> <<set $_hands to _args[0] + " hand">> <<set $leftactiondefault to $leftaction>> <<set $leftaction to 0>> <<if $_hypnosis is "forced">> <<set $leftarm to 0>><<if !$rightactiondefault.includes("leftcovervagina")>><<set $vaginause to 0>><</if>> <<set $leftactiondefault to "leftstopvagina">> <<elseif $_hypnosis>> <<set $leftarm to "vagina">><<set $vaginause to "cover">> <<set $leftactiondefault to "leftcovervaginalewd">> <<else>> <<meek 1>><<set $leftarm to "vagina">><<set $vaginause to "cover">><<set $speechcovervagina to 1>> <</if>> <<case "right">> <<set $_hands to _args[0] + " hand">> <<set $rightactiondefault to $rightaction>> <<set $rightaction to 0>> <<if $_hypnosis is "forced">> <<set $rightarm to 0>><<if !$leftactiondefault.includes("leftcovervagina")>><<set $vaginause to 0>><</if>> <<set $rightactiondefault to "rightstopvagina">> <<elseif $_hypnosis>> <<set $rightarm to "vagina">><<set $vaginause to "cover">> <<set $rightactiondefault to "rightcovervaginalewd">> <<else>> <<meek 1>><<set $rightarm to "vagina">><<set $vaginause to "cover">><<set $speechcovervagina to 1>> <</if>> <</switch>> <<if playerChastity("vagina")>> <<set $_genital to $worn.genitals.name>> <<else>> <<set $_genital to "pussy">> <</if>> <<if _args[1] is "lewd">> <<if $worn.genitals.name is "chastity parasite">> You squeeze your chastity parasite, enjoying the waves of pleasure moving through your body. <<if _args[0] is "both">> <<arousal 500 "genitals">> <<else>> <<arousal 250 "genitals">> <</if>> <<if !$stalk_end>> <<submission 5>><<set _stalkNoRunning to "chastity parasite">> <</if>> <<elseif playerChastity("vagina")>> You caress your inner thighs. <<elseif _args[0] is "both">> You tease your pussy, spreading it open with <<print $_hands>>. <<else>> You tease your pussy with your <<print $_hands>>, pointing at it. <</if>> <<submission 1>><<set $speechcamerapose to 1>> <<elseif $_hypnosis>> <<hypnosisicon>> You intend to cover your vagina, <<if $_hypnosis is "accepted">> but a lewd thought intrudes <span class="lewd">and your mind immediately accepts it.</span> <<else>> <span class="pink">but the thought is snatched from your mind, and replaced with another.</span> <</if>> <<if $worn.genitals.name is "chastity parasite">> You gently squeeze your chastity parasite, it sends a wave of pleasure through your body. <<if _args[0] is "both">> <<arousal 400 "genitals">> <<else>> <<arousal 200 "genitals">> <</if>> <<if !$stalk_end>> <<meek 5>><<set _stalkNoRunning to "chastity parasite">> <</if>> <<elseif playerChastity("vagina")>> You gently caress your inner thighs. <<elseif _args[0] is "both">> You gently tease your pussy, spreading it open with <<print $_hands>>. <<else>> You gently tease your pussy with your <<print $_hands>>, pointing at it. <</if>> <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>> <<if $_hypnosis is "forced" and $daily.stalkWillpower lt 20>> <<gwillpower>><<willpower 1>> <<set $daily.stalkWillpower to ($daily.stalkWillpower or 0) + 1>> <</if>> <<hypnosisicon>> <<else>> You <<if $hypnosis_traits.cover gte 1>> <span class="green">resist intrusive thoughts</span> and <</if>> <<if ($worn.lower.name is "towel skirt" or $worn.lower.name is "large towel bottom") and $worn.lower.state is "waist">> cover your <<print $_genital>> with your <<print $_hands>>, tugging the towel further over it. <<else>> cover your <<print $_genital>> with your <<print $_hands>>. <</if>> <</if>> <</widget>> <<widget "effectsCoverPenis">> <<if _args[1] is "lewd">> <<set $_hypnosis to "lewd">> <<elseif $uncomfortable.hypnosis is false and $hypnosis_traits.cover gte random(1,5)>> <<set $_hypnosis to "accepted">> <<elseif $hypnosis_traits.cover gte 1 and $willpower lt random(1, (200 * $hypnosis_traits.cover))>> <<set $_hypnosis to "forced">> <</if>> <<switch _args[0]>> <<case "both">> <<set $_hands to "hands">> <<set $leftactiondefault to $leftaction>> <<set $rightactiondefault to $rightaction>> <<set $leftaction to 0>><<set $rightaction to 0>> <<if $_hypnosis is "forced">> <<set $leftarm to 0>><<set $rightarm to 0>><<set $penisuse to 0>> <<set $leftactiondefault to "leftstopcoverpenis">> <<set $rightactiondefault to "rightstopcoverpenis">> <<elseif $_hypnosis>> <<set $leftarm to "coverpenis">><<set $rightarm to "coverpenis">><<set $penisuse to "cover">> <<set $leftactiondefault to "leftcoverpenislewd">> <<set $rightactiondefault to "rightcoverpenislewd">> <<else>> <<meek 2>><<set $leftarm to "coverpenis">><<set $rightarm to "coverpenis">><<set $penisuse to "cover">><<set $speechcoverpenis to 1>> <</if>> <<case "left">> <<set $_hands to _args[0] + " hand">> <<set $leftactiondefault to $leftaction>> <<set $leftaction to 0>> <<if $_hypnosis is "forced">> <<set $leftarm to 0>><<set $rightarm to 0>><<if !$leftactiondefault.includes("leftcoverpenis")>><<set $penisuse to 0>><</if>> <<set $leftactiondefault to "leftstopcoverpenis">> <<set $rightactiondefault to "rightstopcoverpenis">> <<elseif $_hypnosis>> <<set $leftarm to "coverpenis">><<set $rightarm to "coverpenis">><<set $penisuse to "cover">> <<set $leftactiondefault to "leftcoverpenislewd">> <<set $rightactiondefault to "rightcoverpenislewd">> <<else>> <<meek 1>><<set $leftarm to "coverpenis">><<set $penisuse to "cover">><<set $speechcoverpenis to 1>> <</if>> <<case "right">> <<set $_hands to _args[0] + " hand">> <<set $rightactiondefault to $rightaction>> <<set $rightaction to 0>> <<if $_hypnosis is "forced">> <<set $rightarm to 0>><<if !$leftactiondefault.includes("leftcoverpenis")>><<set $penisuse to 0>><</if>> <<set $rightactiondefault to "rightstopcoverpenis">> <<elseif $_hypnosis>> <<set $rightarm to "coverpenis">><<set $penisuse to "cover">> <<set $rightactiondefault to "rightcoverpenislewd">> <<else>> <<meek 1>><<set $rightarm to "coverpenis">><<set $penisuse to "cover">><<set $speechcoverpenis to 1>> <</if>> <</switch>> <<if playerChastity("penis")>> <<set $_genital to $worn.genitals.name>> <<else>> <<set $_genital to "penis">> <</if>> <<if _args[1] is "lewd">> <<if $worn.genitals.name is "chastity parasite">> You squeeze your chastity parasite, enjoying the waves of pleasure moving through your body. <<if _args[0] is "both">> <<arousal 500 "genitals">> <<else>> <<arousal 250 "genitals">> <</if>> <<if !$stalk_end>> <<submission 5>><<set _stalkNoRunning to "chastity parasite">> <</if>> <<elseif playerChastity("penis")>> You caress your inner thighs. <<elseif _args[0] is "both">> You tease your penis, tracing a finger down the length with one hand and circling the tip with another. <<else>> You tease your penis with your left hand, tracing a finger down the length. <</if>> <<submission 1>><<set $speechcamerapose to 1>> <<elseif $_hypnosis>> <<hypnosisicon>> You intend to cover your penis, <<if $_hypnosis is "accepted">> but a lewd thought intrudes <span class="lewd">and your mind immediately accepts it.</span> <<else>> <span class="pink">but the thought is snatched from your mind, and replaced with another.</span> <</if>> <<if $worn.genitals.name is "chastity parasite">> You gently squeeze your chastity parasite, it sends a wave of pleasure through your body. <<if _args[0] is "both">> <<arousal 400 "genitals">> <<else>> <<arousal 200 "genitals">> <</if>> <<if !$stalk_end>> <<meek 5>><<set _stalkNoRunning to "chastity parasite">> <</if>> <<elseif playerChastity("penis")>> You gently caress your inner thighs. <<elseif _args[0] is "both">> You gently tease your penis, tracing a finger down the length with one hand and circling the tip with another. <<else>> You gently tease your penis with your left hand, tracing a finger down the length. <</if>> <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>> <<if $_hypnosis is "forced" and $daily.stalkWillpower lt 20>> <<gwillpower>><<willpower 1>> <<set $daily.stalkWillpower to ($daily.stalkWillpower or 0) + 1>> <</if>> <<hypnosisicon>> <<else>> You <<if $hypnosis_traits.cover gte 1>> <span class="green">resist intrusive thoughts</span> and <</if>> <<if ($worn.lower.name is "towel skirt" or $worn.lower.name is "large towel bottom") and $worn.lower.state is "waist">> cover your <<print $_genital>> with your <<print $_hands>>, tugging the towel further over it. <<else>> cover your <<print $_genital>> with your <<print $_hands>>. <</if>> <</if>> <</widget>> <<widget "effectsCoverAnus">> <<if _args[1] is "lewd">> <<set $_hypnosis to "lewd">> <<elseif $uncomfortable.hypnosis is false and $hypnosis_traits.cover gte random(1,5)>> <<set $_hypnosis to "accepted">> <<elseif $hypnosis_traits.cover gte 1 and $willpower lt random(1, (200 * $hypnosis_traits.cover))>> <<set $_hypnosis to "forced">> <</if>> <<switch _args[0]>> <<case "both">> <<set $_hands to "hands">> <<set $leftactiondefault to $leftaction>> <<set $rightactiondefault to $rightaction>> <<set $leftaction to 0>><<set $rightaction to 0>> <<if $_hypnosis is "forced">> <<set $leftarm to 0>><<set $rightarm to 0>><<set $anususe to 0>> <<set $leftactiondefault to "leftstopanus">> <<set $rightactiondefault to "rightstopanus">> <<elseif $_hypnosis>> <<set $leftarm to "anus">><<set $rightarm to "anus">><<set $anususe to "cover">> <<set $leftactiondefault to "leftcoveranuslewd">> <<set $rightactiondefault to "rightcoveranuslewd">> <<else>> <<meek 2>><<set $leftarm to "anus">><<set $rightarm to "anus">><<set $anususe to "cover">> <</if>> <<case "left">> <<set $_hands to _args[0] + " hand">> <<set $leftactiondefault to $leftaction>> <<set $leftaction to 0>> <<if $_hypnosis is "forced">> <<set $leftarm to 0>><<set $rightarm to 0>><<if !$rightactiondefault.includes("leftcoveranus")>><<set $anususe to 0>><</if>> <<set $leftactiondefault to "leftstopanus">> <<elseif $_hypnosis>> <<set $leftarm to "anus">><<set $anususe to "cover">> <<set $leftactiondefault to "leftcoveranuslewd">> <<else>> <<meek 2>><<set $leftarm to "anus">><<set $anususe to "cover">> <</if>> <<case "right">> <<set $_hands to _args[0] + " hand">> <<set $rightactiondefault to $rightaction>> <<set $rightaction to 0>> <<if $_hypnosis is "forced">> <<set $rightarm to 0>><<if !$leftactiondefault.includes("leftcoveranus")>><<set $anususe to 0>><</if>> <<set $rightactiondefault to "rightstopanus">> <<elseif $_hypnosis>> <<set $rightarm to "anus">><<set $anususe to "cover">> <<set $rightactiondefault to "rightcoveranuslewd">> <<else>> <<meek 2>><<set $rightarm to "anus">><<set $anususe to "cover">> <</if>> <</switch>> <<if _args[1] is "lewd">> <<if _args[0] is "both">> You grope your <<bottom>>, spreading your cheeks apart with both hands. <<else>> You grope your <<bottom>> with your <<print $_hands>>, giving it small slaps. <</if>> <<submission 1>><<set $speechcamerapose to 1>> <<elseif $_hypnosis>> <<hypnosisicon>> You intend to cover your ass <<if $_hypnosis is "accepted">> but a lewd thought intrudes <span class="lewd">and your mind immediately accepts it.</span> <<else>> <span class="pink">but the thought is snatched from your mind, and replaced with another.</span> <</if>> <<if _args[0] is "both">> You grope your <<bottom>>, spreading your cheeks apart with both hands. <<else>> You grope your <<bottom>> with your <<print $_hands>>, giving it a small slap. <</if>> <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>> <<if $_hypnosis is "forced" and $daily.stalkWillpower lt 20>> <<gwillpower>><<willpower 1>> <<set $daily.stalkWillpower to ($daily.stalkWillpower or 0) + 1>> <</if>> <<hypnosisicon>> <<else>> You <<if $hypnosis_traits.cover gte 1>> <span class="green">resist intrusive thoughts</span> and <</if>> <<if ($worn.lower.name is "towel skirt" or $worn.lower.name is "large towel bottom") and $worn.lower.state is "waist">> cover your ass with your <<print $_hands>>, tugging the towel further over it. <<else>> cover your ass with your <<print $_hands>>. <</if>> <</if>> <</widget>><<widget "breastFlavorText">> <<set _j to ($NPCList.findIndex(x => x.chest is "mouthentrance"))>> <<if _j gte 0>> <<personselect _j>> Your head is pressed <<print ($NPCList[_j].breastsize gte 6?"between":"against")>> <<if $enemyno gte 2>> the <<persons>> <<else>> <<his>> <</if>> $NPCList[_j].breastsdesc. <<elseif $debug or $options.debugdisable is "f">> Errors.report("breastFlavorText failed to find correct index, ignoring") <</if>> <</widget>> <<widget "nippleFlavorText">> <<set _j to ($NPCList.findIndex(x => x.chest is "mouth"))>> <<if _j gte 0>> <<personselect _j>> Your head is pressed against <<if $enemyno gte 2>> the <<persons>> <<else>> <<his>> <</if>> <<if $NPCList[_j].lactation is 1 and $breastfeedingdisable is "f">> leaking <</if>> $NPCList[_j].breastdesc. <<elseif $debug or $options.debugdisable is "f">> Errors.report("nippleFlavorText failed to find correct index, ignoring") <</if>> <</widget>> <<widget "facesitFlavorText">> <<if $enemyno lt 2>> <<person1>> <<if $npc.length isnot 0 and $NPCList[0].name_known is 1>> <<print $npc[0]>> <<else>> <<He>> <</if>> <<else>> <<if $mouthstate is "anal">> <<selectNpcWithPartInPosition "vagina" "facesitanal">> <<else>> <<selectNpcWithPartInPosition "vagina" "facesit">> <</if>> <<if $npcrow.includes(_j)>> <<print $npc[$npcrow.indexOf(_j)]>> <<else>> The <<person>> <</if>> <</if>> <<if $mouthstate is "anal">> sits on your mouth. <<else>> sits on your face. <</if>> <</widget>><<widget "oral">> <<if $combattype is "train">> <<set _end to $enemyno-1>> <<else>> <<set _end to 0>> <</if>> <<set _xx to $enemyno-1>> <<if _xx is -1>> <<set _stanceCheck to 0>> <<else>> <<set _stanceCheck to $NPCList[_xx].stance>> <</if>> <<if $consensual is 1 and $promiscuity lte 54 and $enemytype is "man" or $consensual is 1 and $deviancy lte 54 and $enemytype isnot "man">> <!-- Do Nothing --> <<elseif _stanceCheck is "top">> <!-- Do Nothing --> <<else>> <<for _j = $enemyno-1; _j gte _end; _j-->> <<if $NPCList[_j].penis is 0>> <<if $mouthactiondefault is "mouth">> | <label><span class="sub">Move your lips to <<his>> penis</span> <<radiobutton "$mouthaction" "mouth" checked>><<oraldifficulty>> <<combatpromiscuous4>></label> <<else>> | <label><span class="sub">Move your lips to <<his>> penis</span> <<radiobutton "$mouthaction" "mouth">><<oraldifficulty>> <<combatpromiscuous4>></label> <</if>> <<break>> <</if>> <</for>> <<for _j = $enemyno-1; _j gte _end; _j-->> <<if $NPCList[_j].vagina is 0>> <<if $mouthactiondefault is "othervagina">> | <label><span class="sub">Move your mouth to <<his>> pussy</span><<radiobutton "$mouthaction" "othervagina" checked>><<oraldifficulty>> <<combatpromiscuous4>></label> <<else>> | <label><span class="sub">Move your mouth to <<his>> pussy</span><<radiobutton "$mouthaction" "othervagina">><<oraldifficulty>> <<combatpromiscuous4>></label> <</if>> <<break>> <</if>> <</for>> <</if>> <<if $consensual is 1 and $promiscuity lte 34>> <!-- Do Nothing --> <<elseif !$gloryhole>> <<for _j = $enemyno-1; _j gte _end; _j-->> <<if $NPCList[_j].chest is 0>> <<if $mouthactiondefault is "movetochest">> | <label><span class="sub">Move your lips to <<his>> chest</span> <<radiobutton "$mouthaction" "movetochest" checked>><<oraldifficulty>> <<combatpromiscuous3>></label> <<else>> | <label><span class="sub">Move your lips to <<his>> chest</span> <<radiobutton "$mouthaction" "movetochest">><<oraldifficulty>> <<combatpromiscuous3>></label> <</if>> <<break>> <</if>> <</for>> <</if>> <</widget>> <<widget "oralnew">> <<set _stanceCheck to $NPCList[$mouthtarget].stance>> <<if $consensual is 1 and ($promiscuity lte 54 and $enemytype is "man" or $deviancy lte 54 and $enemytype isnot "man") and !$promiscuityIgnore>> <!-- Do Nothing --> <<elseif _stanceCheck is "top">> <!-- Do Nothing --> <<else>> <<if $NPCList[$mouthtarget].penis is 0 and ($enemytype isnot "man" or ($NPCList[$mouthtarget].location.genitals is 0 and $NPCList[$mouthtarget].location.head isnot "head")) and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<if $NPCList[$mouthtarget].chastity.penis.includes("chastity")>> <<set _mouthaction["Move your head to " + $NPCList[$mouthtarget].pronouns.his + " " + $NPCList[$mouthtarget].chastity.penis] to "mouth">> <<elseif npcHasStrapon($mouthtarget)>> <<set _mouthaction["Move your lips to " + $NPCList[$mouthtarget].pronouns.his + " strap-on"] to "mouth">> <<else>> <<set _mouthaction["Move your lips to " + $NPCList[$mouthtarget].pronouns.his + " penis"] to "mouth">> <</if>> <</if>> <<if $NPCList[$mouthtarget].vagina is 0 and ($enemytype isnot "man" or ($NPCList[$mouthtarget].location.genitals is 0 and $NPCList[$mouthtarget].location.head isnot "head")) and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<if $NPCList[$mouthtarget].chastity.vagina.includes("chastity")>> <<set _mouthaction["Move your head to " + $NPCList[$mouthtarget].pronouns.his + " " + $NPCList[$mouthtarget].chastity.vagina] to "othervagina">> <<else>> <<set _mouthaction["Move your mouth to " + $NPCList[$mouthtarget].pronouns.his + " pussy"] to "othervagina">> <</if>> <</if>> <</if>> <<if $consensual is 1 and ($promiscuity lte 34 and $enemytype is "man" or $deviancy lte 34 and $enemytype isnot "man") and !$promiscuityIgnore>> <!-- Do Nothing --> <<elseif _stanceCheck is "topface">> <!-- Do Nothing --> <<elseif !$gloryhole>> <<if $NPCList[$mouthtarget].chest is 0 and $NPCList[$mouthtarget].location.genitals isnot "head" and $NPCList[$mouthtarget].location.head isnot "head" and $NPCList[$mouthtarget].location.head isnot "genitals" and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Move your lips to " + $NPCList[$mouthtarget].pronouns.his + " chest"] to "movetochest">> <</if>> <</if>> <</widget>> <<widget "oralswallow">> <!-- Below if-or statement is super-clumsy but not sure how to shorten NG --> <<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 $NPCList[0].penis is "mouthentrance" or $NPCList[0].penis is "mouthimminent" or $NPCList[1].penis is "mouthentrance" or $NPCList[1].penis is "mouthimminent" or $NPCList[2].penis is "mouthentrance" or $NPCList[2].penis is "mouthimminent" or $NPCList[3].penis is "mouthentrance" or $NPCList[3].penis is "mouthimminent" or $NPCList[4].penis is "mouthentrance" or $NPCList[4].penis is "mouthimminent" or $NPCList[5].penis is "mouthentrance" or $NPCList[5].penis is "mouthimminent">> <<if $mouthactiondefault is "mouth">> | <label><span class="sub">Take <<his>> penis into your mouth</span> <<radiobutton "$mouthaction" "swallow" checked>><<oralvirginitywarning>> <<combatpromiscuous5>></label> <<else>> | <label><span class="sub">Take <<his>> penis into your mouth</span> <<radiobutton "$mouthaction" "swallow">><<oralvirginitywarning>> <<combatpromiscuous5>></label> <</if>> <</if>> <</if>> <</widget>> <<widget "oralswallownew">> <<if $consensual is 1 and ($promiscuity lte 74 and $enemytype is "man" or $deviancy lte 74 and $enemytype isnot "man") and !$promiscuityIgnore>> <<else>> <<set $_pp to (npcHasStrapon($mouthtarget) ? "strap-on" : "penis")>> <<set $_npc to $NPCList[$mouthtarget]>> <<set $_facetype to $worn.face.type>> <<if !$_npc.chastity.penis.includes("chastity") and ($_npc.penis is "mouthentrance" or $_npc.penis is "mouthimminent") and !$_facetype.includes("covered") and !$_facetype.includes("gag")>> <<set _mouthaction["Take " + $NPCList[$mouthtarget].pronouns.his + " " + $_pp + " into your mouth"] to "swallow">> <</if>> <</if>> <</widget>> <<widget "combatApologise">> <<if $enemyanger gte 20 and $underwater lte 0>> <<set _mouthaction["Apologise"] to "apologise">> <</if>> <</widget>> <<widget "combatPenisEntrance">> <<if !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Kiss"] to "peniskiss">> <</if>> <<if $consensual is 1 and ($promiscuity lte 34 and $enemytype is "man" or $deviancy lte 34 and $enemytype isnot "man") and !$promiscuityIgnore>> <<elseif $chestuse is 0>> <<set _mouthaction["Grab between breasts"] to "grasp">> <</if>> <<if $head isnot "grappled" and $head isnot "bound">> <<set _mouthaction["Pull away"] to "pullaway">> <</if>> <<oralswallownew>> <<speak>> <</widget>> <<widget "combatPenisImminent">> <<if !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Lick"] to "lick">> <</if>> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("oralskill") gte 800>> <<set _mouthaction["Edge"] to "oraledge">> <</if>> <<set _mouthaction["Pull away"] to "pullaway">> <<oralswallownew>> <<speak>> <</widget>> <<widget "combatPenisPenetrated">> <<if $enemyarousal gte $enemyarousalmax and $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) gte 75>> <<set _mouthaction["Swallow"] to "ejacswallow">> <<else>> <<set _mouthaction["Suck"] to "suck">> <</if>> <<if ($consensual is 0 or (($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore ) and $enemyarousal lte $enemyarousalmax) and currentSkillValue("oralskill") gte 800>> <<set _mouthaction["Edge"] to "oraledge">> <</if>> <<if $consensual isnot 1 and ($fightTargets is undefined or $fightTargets.includes($mouthtarget))>> <<set _mouthaction["Bite"] to "bite">> <</if>> <<if $head isnot "grappled" and $head isnot "bound">> <<if $enemyarousal gte $enemyarousalmax and $consensual is 1>> <<set _mouthaction["Spit"] to "ejacspit">> <<else>> <<set _mouthaction["Pull away"] to "pullaway">> <</if>> <</if>> <</widget>> <<widget "combatOthervagina">> <<set _mouthaction["Lick"] to "vaginalick">> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("oralskill") gte 800>> <<set _mouthaction["Edge"] to "oraledge">> <</if>> <<if $consensual isnot 1 and ($fightTargets is undefined or $fightTargets.includes($mouthtarget))>> <<set _mouthaction["Bite"] to "bitepussy">> <</if>> <<if $head isnot "grappled" and $head isnot "bound" and $mouthuse isnot "facesit">> <<set _mouthaction["Pull away"] to "pullawayvagina">> <</if>> <</widget>> <<widget "combatMouthOtherAnus">> <<if !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Lick ass"] to "anallick">> <<if $submissive gte 1150>> <<set _mouthaction["Kiss ass"] to "analkiss">> <</if>> <</if>> <<if $consensual is 1 and $head isnot "grappled" and $head isnot "bound" and $mouthuse isnot "facesit">> <<set _mouthaction["Pull away"] to "analpull">> <</if>> <</widget>> <<widget "combatBreast">> <<if !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Suck"] to "breastsuck">> <<set _mouthaction["Lick"] to "breastlick">> <<set _mouthaction["Keep your mouth closed"] to "breastclosed">> <</if>> <<if $consensual is 1 or $head isnot "breasts">> <<set _mouthaction["Pull away"] to "breastpull">> <</if>> <</widget>> <<widget "combatNipple">> <<set _mouthaction["Suck"] to "breastsuck">> <<set _mouthaction["Keep your mouth closed"] to "breastclosed">> <<if $consensual is 1 or $head isnot "breasts">> <<set _mouthaction["Pull away"] to "breastpull">> <</if>> <<if $consensual isnot 1 and ($fightTargets is undefined or $fightTargets.includes($mouthtarget))>> <<set _mouthaction["Bite"] to "breastbite">> <</if>> <</widget>><<widget "actionspenistovaginanew">> <<if !playerChastity("penis") or playerHasStrapon()>> <<set $_target to $NPCList[$penistarget]>> <<if $_target.vagina is 0>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 74 and !$promiscuityIgnore>> <!-- Do Nothing --> <<elseif $_target.stance isnot "topface" and ($enemytype isnot "man" or ($_target.location.genitals is 0 and $_target.location.head isnot "genitals"))>> <<if $_target.chastity.vagina.includes("chastity")>> <<set _penisaction["Press against " + $_target.pronouns.his + " " + $_target.chastity.vagina] to "penistovagina">> <<else>> <<set _penisaction["Press against " + $_target.pronouns.his + " pussy"] to "penistovagina">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "actionspenistopenisfucknew">> <<set $_target to $NPCList[$penistarget]>> <<if $_target.penis is "penisentrance" or $_target.penis is "penisimminent">> <<if $consensual is 1 and (($enemytype is "man" ? $promiscuity : $deviancy) lte 54 and !$promiscuityIgnore) or $_target.chastity.penis.includes("chastity")>> <!-- Do Nothing --> <<else>> <<set _pp to "">> <<if $_target.chastity.penis.includes("chastity")>> <<set _pp to "caged penis">> <<elseif npcHasStrapon($penistarget)>> <<set _pp to "strap-on cock">> <<else>> <<set _pp to "penis">> <</if>> <<if playerHasStrapon()>> <<set _penisaction["Push your strap-on against " + $_target.pronouns.his + " " + _pp] to "penistopenisfuck">> <<elseif playerChastity("penis")>> <<set _penisaction["Push your " + $worn.genitals.name +" against " + $_target.pronouns.his + " " + _pp] to "penistopenisfuck">> <<else>> <<set _penisaction["Push your penis against " + $_target.pronouns.his + " " + _pp] to "penistopenisfuck">> <</if>> <</if>> <</if>> <</widget>> <<widget "actionspenistopenis">> <<set $_target to $NPCList[$penistarget]>> <<if $_target.penis is 0>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 54 and !$promiscuityIgnore>> <!-- Do Nothing --> <<elseif $_target.stance isnot "topface" and ($enemytype isnot "man" or ($_target.location.genitals is 0 and $_target.location.head isnot "genitals"))>> <<if $_target.chastity.penis.includes("chastity")>> <<set _penisaction["Frot " + $_target.pronouns.his + " " + $_target.chastity.penis] to "penistopenis">> <<elseif npcHasStrapon($penistarget)>> <<set _penisaction["Frot " + $_target.pronouns.his + " strap-on"] to "penistopenis">> <<else>> <<set _penisaction["Frot " + $_target.pronouns.his + " penis"] to "penistopenis">> <</if>> <</if>> <</if>> <</widget>> <<widget "actionspenisPenisEntrance">> <<if $consensual is 0 or (($enemytype is "man" ? $promiscuity : $deviancy) lte 54 and !$promiscuityIgnore)>> <<set _penisaction["Cooperate"] to "otherpenisrub">> <<else>> <<set _penisaction["Rub"] to "otherpenisrub">> <</if>> <<if $thighuse is 0>> <<set _penisaction["Try to keep it away with your thighs"] to "penisthighs">> <</if>> <<if $analdisable is "f" and $anususe is 0 and !playerChastity("anus")>> <<set _penisaction["Offer your anus instead"] to "penisanus">> <</if>> <<if $vaginause is 0 and !playerChastity("vagina")>> <<set _penisaction["Offer your pussy instead"] to "penispussy">> <</if>> <<if $vaginaldoubledisable is "f" and $awareness gt 300 and $vaginause is "penis" and $NPCList[$vaginatarget].penissize gte 2 and $NPCList[$penistarget].penissize gte 2 and !playerChastity("vagina") and !["legLock","legLocked"].includes($feetuse)>> <<set _penisaction["Offer double vaginal instead"] to "penispussydouble">> <</if>> <<if $analdoubledisable is "f" and $awareness gt 300 and $anususe is "penis" and !playerChastity("anus") and $NPCList[$anustarget].penissize gte 2 and $NPCList[$penistarget].penissize gte 2 and !["legLock","legLocked"].includes($feetuse)>> <<set _penisaction["Offer double anal instead"] to "penisanusdouble">> <</if>> <</widget>> <<widget "actionspenisPenisImminent">> <<if $consensual is 0 or (!$promiscuityIgnore and ($enemytype is "man" ? $promiscuity : $deviancy) lte 54)>> <<set _penisaction["Cooperate"] to "otherpenisrub">> <<else>> <<set _penisaction["Rub"] to "otherpenisrub">> <</if>> <<if $analdisable is "f" and $anususe is 0 and !playerChastity("anus")>> <<set _penisaction["Offer your anus instead"] to "penisanus">> <</if>> <<if $vaginause is 0 and !playerChastity("vagina")>> <<set _penisaction["Offer your pussy instead"] to "penispussy">> <</if>> <<if $vaginaldoubledisable is "f" and $awareness gt 300 and $vaginause is "penis" and $NPCList[$vaginatarget].penissize gte 2 and $NPCList[$penistarget].penissize gte 2 and !playerChastity("vagina") and !["legLock","legLocked"].includes($feetuse)>> <<set _penisaction["Offer double vaginal instead"] to "penispussydouble">> <</if>> <<if $analdoubledisable is "f" and $awareness gt 300 and $anususe is "penis" and !playerChastity("anus") and $NPCList[$anustarget].penissize gte 2 and $NPCList[$penistarget].penissize gte 2 and !["legLock","legLocked"].includes($feetuse)>> <<set _penisaction["Offer double anal instead"] to "penisanusdouble">> <</if>> <<set _penisaction["Pull away"] to "fencingescape">> <</widget>> <<widget "actionspenistoanusnew">> <<set $_target to $NPCList[$penistarget]>> <<if !playerChastity("penis") or playerHasStrapon()>> <<if $_target.stance isnot "topface">> <<if $_target.vagina is 0 or $_target.penis is 0>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 74 and !$promiscuityIgnore>> <!-- Do Nothing --> <<elseif $enemytype isnot "man" or ($_target.location.genitals is 0 and $_target.location.head isnot "genitals")>> <<if $_target.chastity.anus.includes("shield")>> <<set _penisaction["Rub against " + $_target.pronouns.his + " " + $_target.chastity.anus] to "penistoanus">> <<else>> <<set _penisaction["Press against " + $_target.pronouns.his + " ass"] to "penistoanus">> <</if>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "actionspenisvaginafucknew">> <<if (!playerChastity("penis") or playerHasStrapon()) and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1>> <<set $_target to $NPCList[$penistarget]>> <<if $_target.vagina is "penisentrance" or $_target.vagina is "penisimminent">> <<if $consensual is 1 and (($enemytype is "man" ? $promiscuity : $deviancy) lte 74 and !$promiscuityIgnore) or $_target.chastity.vagina.includes("chastity")>> <!-- Do Nothing --> <<else>> <<set _penisaction["Penetrate " + $_target.pronouns.his + " pussy"] to "penisvaginafuck">> <</if>> <</if>> <</if>> <</widget>> <<widget "actionspenisanusfucknew">> <<if (!playerChastity("penis") or playerHasStrapon()) and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1>> <<set $_target to $NPCList[$penistarget]>> <<if $_target.vagina is "otheranusentrance" or $_target.vagina is "otheranusimminent" or $_target.penis is "otheranusentrance" or $_target.penis is "otheranusimminent">> <<if $_target.chastity.anus.includes("shield") or ($consensual is 1 and !$promiscuityIgnore and ($enemytype is "man" ? $promiscuity : $deviancy) lte 74)>> <!-- Do Nothing --> <<else>> <<set _penisaction["Penetrate " + $_target.pronouns.his + " ass"] to "penisanusfuck">> <</if>> <</if>> <</if>> <</widget>> <<widget "actionspenisMouthEntrance">> <<set $_target to $NPCList[$penistarget]>> <<if $_target.mouth is "penisentrance">> <<if $consensual is 1 and !$promiscuityIgnore and ($enemytype is "man" ? $promiscuity : $deviancy) lte 54>> <<else>> <<set _penisaction["Press your thigh against " + $_target.pronouns.his + " mouth"] to "thighbay">> <</if>> <<set _penisaction["Rub against " + $_target.pronouns.his + " face"] to "othermouthtease">> <</if>> <</widget>> <<widget "actionspenisMouthImminent">> <<set $_target to $NPCList[$penistarget]>> <<if $_target.mouth is "penisimminent">> <<set _penisaction["Rub against " + $_target.pronouns.his + " lips"] to "othermouthrub">> <<set _penisaction["Pull away"] to "othermouthescape">> <</if>> <</widget>> <<widget "actionspenisMouthPenetration">> <<if $consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) lte 54>> <<set _penisaction["Cooperate"] to "othermouthcooperate">> <<else>> <<set _penisaction["Fuck"] to "othermouthcooperate">> <</if>> <<set _penisaction["Pull out"] to "pullOut">> <</widget>> <<widget "actionspenisPussyEntrance">> <<actionspenisvaginafucknew>> <<if $consensual is 1 and !$promiscuityIgnore and ($enemytype is "man" ? $promiscuity : $deviancy) lte 54>> <<else>> <<set _penisaction["Frot against the clit"] to "bay">> <</if>> <<set _penisaction["Tease"] to "tease">> <</widget>> <<widget "actionspenisPussyImminent">> <<actionspenisvaginafucknew>> <<set _penisaction["Rub"] to "rub">> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55) and currentSkillValue("penileskill") gte 800>> <<set _penisaction["Edge " + $NPCList[$penistarget].pronouns.him] to "vaginaEdging">> <</if>> <<set _penisaction["Pull away"] to "escape">> <</widget>> <<widget "actionspenisPussyPenetration">> <<set _penisaction["Take it"] to "take">> <<if $consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) lte 54>> <<set _penisaction["Cooperate"] to "cooperate">> <<else>> <<set _penisaction["Fuck"] to "cooperate">> <</if>> <<if !npcIsPregnant($NPCList[$penistarget].fullDescription) and NPCPregnancyPossibleWithPlayer($NPCList[$penistarget]) and $arousal gte $arousalmax - 1000 and $demon gte 6 and $demonbuild gte 90>> <<set _penisaction["Force Impregnation"] to "forceImpregnation">> <</if>> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55) and currentSkillValue("penileskill") gte 800>> <<set _penisaction["Edge " + $NPCList[$penistarget].pronouns.him] to "vaginaEdging">> <</if>> <<set _penisaction["Pull out"] to "pullOut">> <</widget>> <<widget "actionspenisPenisFencing">> <<if $consensual is 0 or (($enemytype is "man" ? $promiscuity : $deviancy) lte 54 and !$promiscuityIgnore)>> <<set _penisaction["Cooperate"] to "fencingcooperate">> <<else>> <<set _penisaction["Rub"] to "fencingcooperate">> <</if>> <<set _penisaction["Take it"] to "fencingtake">> <<set _penisaction["Pull away"] to "fencingescape">> <<if $analdoubledisable is "f" and $awareness gt 300 and $anususe is "penis" and $NPCList[$anustarget].penissize gte 2 and $NPCList[$penistarget].penissize gte 2 and !["legLock","legLocked"].includes($feetuse)>> <<if !($consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 74 and !$promiscuityIgnore)>> <<set _penisaction["Offer double anal instead"] to "penisanusdouble">> <</if>> <</if>> <</widget>> <<widget "actionspenisAnusEntrance">> <<actionspenisanusfucknew>> <<if $consensual is 1 and ($enemytype is "man" ? $promiscuity : $deviancy) lte 54 and !$promiscuityIgnore>> <<else>> <<set _penisaction["Frot against the ass"] to "otheranusbay">> <</if>> <<set _penisaction["Tease"] to "otheranustease">> <</widget>> <<widget "actionspenisAnusImminent">> <<actionspenisanusfucknew>> <<set _penisaction["Rub"] to "otheranusrub">> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55) and currentSkillValue("penileskill") gte 800>> <<set _penisaction["Edge " + $NPCList[$penistarget].pronouns.him] to "otheranusEdging">> <</if>> <<set _penisaction["Pull away"] to "otheranusescape">> <</widget>> <<widget "actionspenisAnusPenetration">> <<set _penisaction["Take it"] to "otheranustake">> <<if $consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) lte 54>> <<set _penisaction["Cooperate"] to "otheranuscooperate">> <<else>> <<set _penisaction["Fuck"] to "otheranuscooperate">> <</if>> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55) and currentSkillValue("penileskill") gte 800>> <<set _penisaction["Edge " + $NPCList[$penistarget].pronouns.him] to "otheranusEdging">> <</if>> <<set _penisaction["Pull out"] to "pullOut">> <</widget>> <<widget "actionspenisAgainstAss">> <<set _penisaction["Rub"] to "otheranusrub">> <<set _penisaction["Stop"] to "otheranusstop">> <</widget>> <<widget "actionspenisAgainstClit">> <<set _penisaction["Rub"] to "clitrub">> <<set _penisaction["Stop"] to "stop">> <</widget>><<widget "effectspenistovagina">> <<if $penisaction is "penistovagina">> <<personselect $penistarget>> <<set $penisaction to 0>><<submission 10>><<penileskilluse>><<combatpromiscuity5>> <<if combatSkillCheck("penile", $penistarget)>> <<if $NPCList[$penistarget].vagina is 0>> <<set $_target to $NPCList[$penistarget]>> <<set $_target.vagina to "penisentrance">> <<submission 2>> <<set $penisuse to "othervagina">><<set $penisstate to "entrance">> <<if $leftarm is "coverpenis">> <<set $leftarm to 0>> <</if>> <<if $rightarm is "coverpenis">> <<set $rightarm to 0>> <</if>> <span class="lblue">You press your <<penis>> against <<combatpersons>> <<npcVagina $penistarget>>.</span> <<if $NPCList[$penistarget].condom and $NPCList[$penistarget].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$penistarget].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc $penistarget>> on your <<penis>>.</span> <<equipNPCCondom $penistarget "player">> <</if>> <</if>> <<if $enemytype is "beast">><<set $_target.stance to "top">><</if>> <<set $_target.location.genitals to "genitals">> <<else>> <span class="blue">You try to press your <<penis>> against <<combatpersons>> <<npcVagina $penistarget>>, but the entrance is already occupied.</span><<set $penisactiondefault to "penistovagina">> <</if>> <<else>> <span class="blue">You try to press your <<penis>> against <<combatpersons>> <<npcVagina $penistarget>> but <<he>> pushes you away.</span><<set $penisactiondefault to "penistovagina">> <</if>> <</if>> <</widget>> <<widget "effectspenistoanus">> <<if $penisaction is "penistoanus">> <<personselect $penistarget>> <<set $penisaction to 0>><<submission 10>><<penileskilluse>><<combatpromiscuity5>> <<if combatSkillCheck("penile", $penistarget)>> <<if ($NPCList[$penistarget].vagina is 0 or $NPCList[$penistarget].vagina is "none") and ($NPCList[$penistarget].penis is 0 or $NPCList[$penistarget].penis is "none")>> <<set $_target to $NPCList[$penistarget]>> <<if $_target.vagina isnot "none">> <<set $_target.vagina to "otheranusentrance">> <</if>> <<if $_target.penis isnot "none">> <<set $_target.penis to "otheranusentrance">> <</if>> <<submission 2>> <<set $penisuse to "otheranus">><<set $penisstate to "otheranusentrance">><<set $penisactiondefault to "otheranustease">> <<if $leftarm is "coverpenis">> <<set $leftarm to 0>> <</if>> <<if $rightarm is "coverpenis">> <<set $rightarm to 0>> <</if>> <span class="lblue">You press your <<penis>> against <<combatpersons>> ass.</span> <<if $enemytype is "beast">><<set $_target.stance to "top">><</if>> <<set $_target.location.genitals to "genitals">> <<else>> <span class="blue">You try to press your <<penis>> against <<combatpersons>> <<npcAnus $penistarget>>, but your position won't let you.</span> <<set $penisactiondefault to "penistoanus">> <<if $NPCList[$penistarget].condom and $NPCList[$penistarget].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$penistarget].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc $penistarget>> on your <<penis>>.</span> <<equipNPCCondom $penistarget "player">> <</if>> <</if>> <</if>> <<else>> <span class="blue">You try to press your <<penis>> against <<combatpersons>> <<npcAnus $penistarget>> but <<he>> pushes you away.</span> <<set $penisactiondefault to "penistoanus">> <<if $NPCList[$penistarget].condom and $NPCList[$penistarget].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$penistarget].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc $penistarget>> on your <<penis>>.</span> <<equipNPCCondom $penistarget "player">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "effectspenisvaginafuck">> <<if $penisaction is "penisvaginafuck" and (playerPenisSize() gte 0 or $arousal gte $arousalmax * (3 / 4))>> <<personselect $penistarget>> <<set $penisaction to 0>><<submission 20>><<penileskilluse>><<combatpromiscuity5>> <<if random(0,1) is 1 or ($penisWetness + (currentSkillValue("penileskill") / 10)) gte (playerPenisSize() * 15) + random(1, 40)>> <<set $_target to $NPCList[$penistarget]>> <<set $_target.vagina to "penis">><<set $penisactiondefault to "cooperate">> <<if playerHasStrapon()>> <<penis_lube_text>> <span class="pink">you <<peniletext>> thrust deep into <<combatpersons>> pussy.</span> <<sex 30 "genitals" $penistarget>> <<elseif $player.virginity.penile isnot true>> <<penis_lube_text>> <span class="pink">you <<peniletext>> thrust deep into <<combatpersons>> pussy.</span> <<sex 30 "genitals" $penistarget>> <<raped>><<penisraped>> <<elseif $player.virginity.penile is true>> <<penis_lube_text>> <span class="pink">you <<peniletext>> thrust your virgin penis into <<combatpersons>> pussy.</span> <span class="red">You feel your foreskin separate from your glans, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<sex 100 "genitals" $penistarget>><<violence 30>><<bruise penis>><<set $speechpenisvirgin to 1>> <<raped>><<penisraped>> <</if>> <<penilestat>> <<set $penisstate to "penetrated">> <<takeVirginity $_target.fullDescription "penile">> <<takeNPCVirginity $penistarget "vaginal">> <<else>> You <<peniletext>> press your <<penis>> against <<combatpersons>> pussy, <span class="blue">but fail to penetrate,</span> instead angling away and rubbing past <<his>> clit. <<sex 20 "genitals" $penistarget>><<penilestat>><<set $penisactiondefault to "penisvaginafuck">> <</if>> <<elseif $penisaction is "penisvaginafuck">> <<personselect $penistarget>> <<set $penisaction to 0>><<set $penisactiondefault to "penisvaginafuck">> <span class="red">You fail to penetrate <<combatpersons>> pussy.</span> Such a tiny penis is hard to wield. You need to be more aroused. <</if>> <</widget>> <<widget "effectspenisanusfuck">> <<if $penisaction is "penisanusfuck" and (playerPenisSize() gte 0 or $arousal gte ($arousalmax / 4) * 3)>> <<personselect $penistarget>> <<set $penisaction to 0>><<submission 20>><<penileskilluse>><<combatpromiscuity5>> <<if random(0,1) is 1 or ($penisWetness + (currentSkillValue("penileskill") / 10)) gte (playerPenisSize() * 15) + random(1, 40)>> <<set $_target to $NPCList[$penistarget]>> <<if $_target.vagina is "otheranusentrance" or $_target.vagina is "otheranusimminent">> <<set $_target.vagina to "otheranus">> <</if>> <<if $_target.penis is "otheranusentrance" or $_target.penis is "otheranusimminent">> <<set $_target.penis to "otheranus">> <</if>> <<set $penisactiondefault to "otheranuscooperate">> <<if playerHasStrapon()>> <<penis_lube_text>> <span class="pink">you <<peniletext>> thrust deep into <<combatpersons>> ass.</span> <<sex 30 "genitals" $penistarget>> <<elseif $player.virginity.penile isnot true>> <<penis_lube_text>> <span class="pink">you <<peniletext>> thrust deep into <<combatpersons>> ass.</span> <<sex 30 "genitals" $penistarget>> <<penilestat>><<raped>><<penisraped>> <<elseif $player.virginity.penile is true>> <<penis_lube_text>> <span class="pink">you <<peniletext>> thrust your virgin penis into <<combatpersons>> ass.</span> <span class="red">You feel your foreskin separate from your glans, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<sex 100 "genitals" $penistarget>><<violence 30>><<bruise penis>><<set $speechpenisvirgin to 1>> <<penilestat>><<raped>><<penisraped>> <</if>> <<set $penisstate to "otheranus">> <<takeVirginity $_target.fullDescription "penile">> <<takeNPCVirginity $penistarget "anal">> <<else>> You <<peniletext>> press your <<penis>> against <<combatpersons>> ass, <span class="blue">but fail to penetrate,</span> instead angling away and rubbing between <<his>> cheeks. <<sex 20 "genitals" $penistarget>><<penilestat>><<set $penisactiondefault to "penisanusfuck">> <</if>> <<elseif $penisaction is "penisanusfuck">> <<personselect $penistarget>> <<set $penisaction to 0>><<set $penisactiondefault to "penisanusfuck">> <span class="red">You fail to penetrate <<combatpersons>> ass.</span> Such a tiny penis is hard to wield. You need to be more aroused. <</if>> <</widget>> <<widget "effectspenistopenis">> <<if $penisaction is "penistopenis">> <<personselect $penistarget>> <<set $penisaction to 0>><<submission 5>><<penileskilluse>><<combatpromiscuity5>> <<if combatSkillCheck("penile", $penistarget)>> <<if $NPCList[$penistarget].penis is 0>> <<set $_target to $NPCList[$penistarget]>> <<submission 5>><<set $penisuse to "otherpenis">><<set $penisstate to "otherpenisentrance">> <<set $_target.penis to "penisentrance">><<set $penisactiondefault to "otherpenisrub">> <<if $leftarm is "coverpenis">> <<set $leftarm to 0>> <</if>> <<if $rightarm is "coverpenis">> <<set $rightarm to 0>> <</if>> <span class="lblue">You caress <<combatpersons>> <<npcPenisSimple $penistarget>> with your <<penisSimple>><<if playerChastity("penis")>>, through your $worn.genitals.name<</if>>.</span> <<if $enemytype is "beast">> <<set $_target.stance to "top">> <</if>> <<set $_target.location.genitals to "genitals">> <<else>> <span class="blue">You try to press your <<penis>> against <<combatpersons>> <<npcPenisSimple $penistarget>>, but the phallus is already occupied.</span><<set $penisactiondefault to "penistopenis">> <</if>> <<else>> <span class="blue">You try to move your <<penis>> nearer <<combatpersons>> <<npcPenisSimple $penistarget>>, but <<ohe>> pushes you off.</span><<set $penisactiondefault to "penistopenis">> <</if>> <</if>> <</widget>> <<widget "effectspenistopenisfuck">> <<if $penisaction is "penistopenisfuck" and ["penisentrance", "penisimminent"].includes($NPCList[$penistarget].penis)>> <<personselect $penistarget>> <<set $penisaction to 0>><<submission 5>><<penileskilluse>><<combatpromiscuity5>> <<if combatSkillCheck("penile", $penistarget)>> <<submission 5>><<set $penisuse to "otherpenis">><<set $penisstate to "otherpenis">> <<set $NPCList[$penistarget].penis to "penis">><<set $penisactiondefault to "fencingcooperate">> <span class="blue">You press <<combatpersons>> <<npcPenisSimple $penistarget>> with your penis<<if playerChastity("penis")>>, through your $worn.genitals.name<</if>>.</span> <<else>> <span class="blue">You try to press your <<penis>> against <<combatpersons>>, but <<ohe>> keeps you away.</span> <<set $penisactiondefault to "penistopenisfuck">> <</if>> <</if>> <</widget>><<widget "speak">> <<if $underwater lte 0>> <<if $enemyno gte 2>> <<set _pron to "them">> <<else>> <<switch $pronoun>> <<case "m">><<set _pron to "him">> <<case "f">><<set _pron to "her">> <<case "i">><<set _pron to "it">> <</switch>> <</if>> <<set _askActions to {"Nothing":"rest"}>> <<if !$gloryhole and $gamemode isnot "soft">> <<seductiondifficulty true>> <<set _diffText to " " + clone(_text_output)>> <<else>> <<set _diffText to "">> <</if>> <<if $consensual is 1>> <<if $wolfgirl gte 2>> <<set _mouthaction["Growl"] to "growl">> <</if>> <<if $noFinish isnot 1>> <<set _askActions["to stop" + _diffText] to "finish">> <</if>> <<if $enemytype is "man" and !$npcSub>> <<if $player.vaginaExist and $vaginalchastity is 0 and $novaginal is 0>> <<if $vaginastate is "penetrated" or $vaginastate is "doublepenetrated">> <<set _askActions["to pull out of your pussy immediately" + _diffText] to "novaginal">> <<else>> <<set _askActions["to not put anything in your pussy" + _diffText] to "novaginal">> <</if>> <</if>> <<if $player.penisExist and $penilechastity is 0 and $nopenile is 0>> <<if $penisstate is "penetrated">> <<set _askActions["to withdraw your penis immediately" + _diffText] to "nopenile">> <<else>> <<set _askActions["to not put your penis in anything" + _diffText] to "nopenile">> <</if>> <</if>> <<if $analchastity is 0 and $noanal is 0>> <<if $anusstate is "penetrated" or $anusstate is "doublepenetrated">> <<set _askActions["to pull out of your anus immediately" + _diffText] to "noanal">> <<else>> <<set _askActions["to not put anything in your anus" + _diffText] to "noanal">> <</if>> <</if>> <<if $asphyxiaLvl gte 1 and $nochoke isnot 1 and !$gloryhole>> <<set _askActions["to not choke you" + _diffText] to "nochoke">> <</if>> <</if>> <<set $_npcname to $npc[$npcrow.indexOf($mouthtarget)]>> <<if ["Robin","Kylar","Alex","Avery","Whitney","Eden","Sydney"].includes($_npcname) and !npcHasStrapon($mouthtarget) and [0, "clothed"].includes($NPCList[$mouthtarget].vagina)>> <<if ["Avery","Whitney"].includes($_npcname) or $npc[$npcrow.indexOf($mouthtarget)] is $_npcname and checkIfNPCHasCategorySextoy($_npcname,"strap-on").length > 0>> <<set _askActions["to wear a strap-on"] to "wearStrapon">> <</if>> <</if>> <<if npcHasStrapon($mouthtarget) and $NPCList[$mouthtarget].penis is 0>> <<set _askActions["to remove "+$NPCList[$mouthtarget].pronouns.his+" strap-on"] to "removeStrapon">> <</if>> <<else>> <<set _mouthaction["Scream"] to "scream">> <<set _mouthaction["Plead"] to "plead">> <<if $wolfgirl gte 2>> <<set _mouthaction["Growl"] to "growl">> <</if>> <<if $angel gte 6 and $angelforgive isnot 1>> <<set _mouthaction["Forgive"] to "forgive">> <</if>> <<if $fallenangel gte 4 and $angelforgive isnot 1 and $enemytype is "man">> <<set _mouthaction["Disparage"] to "disparage">> <</if>> <<if $submissive lte 850>> <<if $fightTargets is undefined>> <<set _mouthaction["Demand"] to "demand">> <</if>> <</if>> <</if>> <<if $worn.over_upper.name isnot "naked" and $worn.over_upper.cursed isnot 1 or $worn.upper.name isnot "naked" and $worn.upper.cursed isnot 1 or $worn.under_upper.name isnot "naked" and $worn.under_upper.cursed isnot 1>> <<if $noupper isnot 1 and $noupperasked isnot 1 and $enemytype is "man" and !$npcSub and !$gloryhole>> <<set _askActions["to leave your top on" + _diffText] to "noupper">> <</if>> <</if>> <<if $submissive gte 1150 and !$robinRentEvent>> <<set _mouthaction["Moan"] to "moan">> <</if>> <<if !$npcSub and $asphyxiaLvl gte 1 and $consensual is 1 and $enemytype is "man" and ($choketrait or ($chokeorgasm gte 1 and $submissive gt 850) or ($awarelevel gte 2 and $submissive gte 1150)) and !$gloryhole>> <<set _askActions["to choke you"] to "askchoke">> <</if>> <<if $consensual is 1 and $masochism_level gte 1 or $masochism_level gte 3>> <<set _askActions["to be more rough"] to "askrough">> <</if>> <<if $enemytype is "man" and !$NPCList[$mouthtarget].condomAsk and $condomLvl gte 1 and !$abomination and $NPCList[$mouthtarget].fullDescription isnot "Ivory Wraith">> <<if ($NPCList[$mouthtarget].penis is "none" or $NPCList[$mouthtarget].penisdesc.includes("strap-on")) and (!$player.penisExist or $crossdressing gte 1)>> /*Prevent condoms in situations where none can be equipped*/ <<else>> <<if !wearingCondom($mouthtarget)>> <<set _askActions["to use a condom"] to "condoms">> <</if>> <<set _askActions["to not use a condom"] to "noCondoms">> <</if>> <</if>> <<if $enemytype is "man" and !$pullOutAsk and !$NPCList[$mouthtarget].condom and !$abomination and $NPCList[$mouthtarget].fullDescription isnot "Ivory Wraith">> <<if $NPCList[$mouthtarget].penis.toString().includes("vagina") or $NPCList[$mouthtarget].penis.toString().includes("anus")>> <<set _askActions["to pull out before finishing"] to "askPullOut">> <</if>> <</if>> <<if $robinRentEvent is 1 and $combatPhase is "pay">> <<if $money gte $rentmoney + ($babyRent or 0)>> <<set _mouthaction["Pay Bailey"] to "pay">> <<else>> <<set _mouthaction["Tell Bailey you can't afford it"] to "pay">> <</if>> <</if>> <<if $worn.face.name isnot "naked" and $worn.face.type.includes("mask") and $consensual is 1 and $enemytype is "man" and !$npcSub and !$gloryhole and $nomaskasked isnot 1>> <<set _askActions["to leave your mask on" + _diffText] to "nomask">> <</if>> <<set _askValues to Object.values(_askActions)>> <<if _askValues.length gt 0>> <<set _mouthaction["Ask "+_pron+""] to "ask">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, $defaultsType, "askActions")>> <<set $askAction to _actionsSet.find(action => _askValues.includes(action)) || _askValues[0]>> <<switch $askAction>> <<case "askchoke" "condoms" "noCondoms">><<set $askActionColour to "sub">> <<default>><<set $askActionColour to "brat">> <</switch>> <</if>> <<if $awarelevel gte 2 and $enemytype is "man">> <<if $consensual is 1>> <<set _mouthaction["Tease " + $NPCList[$mouthtarget].pronouns.his] to "mock">> <<else>> <<set _mouthaction["Mock " + $NPCList[$mouthtarget].pronouns.his] to "mock">> <</if>> <</if>> <</if>> <</widget>> <<widget "replaceAskColour">> <<switch $askAction>> <<case "askchoke" "condoms" "noCondoms">> <<if $options.combatControls.includes("adio")>> <<addclass "#askLabel" "sub">><<removeclass "#askLabel" "brat">> <<else>> <<addclass "#askDifficulty" "subList">><<removeclass "#askDifficulty" "bratList">> <</if>> <<case "askchoke" "askPullOut">> <<default>> <<if $options.combatControls.includes("adio")>> <<addclass "#askLabel" "brat">><<removeclass "#askLabel" "sub">> <<else>> <<addclass "#askDifficulty" "bratList">><<removeclass "#askDifficulty" "subList">> <</if>> <</switch>> <</widget>><<widget "actionsmouththighrub">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $enemyanger gte (($enemyangermax / 5) * 2)>> You <<thightext>> press your thigh into the <<beasttypes>> mouth, keeping it at bay. It bites down a little harder than you would like, you hope it doesn't consider you food. <<else>> You <<thightext>> press your thigh into the <<beasttypes>> mouth, keeping it at bay. <</if>> <<else>> <<if $enemyanger gte (($enemyangermax / 5) * 2)>> You <<thightext>> press your thigh into the <<beasttypes>> mouth, keeping it at bay. It bites down a little harder than you would like, you hope it doesn't consider you food. <<else>> You <<thightext>> press your thigh into the <<beasttypes>> mouth, keeping it at bay. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<thightext>> keep your shaking thigh pressed against <<their _args[0]>> mouth. <<else>> You <<thightext>> keep your trembling thigh pressed against <<their _args[0]>> mouth. <</if>> <<else>> <<if $pain gte 40>> You <<thightext>> keep your quivering thigh pressed against <<their _args[0]>> mouth. <<else>> You <<thightext>> keep your thigh pressed against <<their _args[0]>> mouth. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthpenistease">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<peniletext>> and carefully rub the <<beasttypes>> tongue with your <<penis>>. <<else>> You <<peniletext>> rub the <<beasttypes>> tongue with your <<penis>>. <</if>> <<else>> <<if $pain gte 40>> You <<peniletext>> and carefully prod the <<beasttypes>> tongue with your <<penis>>. <<else>> You <<peniletext>> prod the <<beasttypes>> tongue with your <<penis>>. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<peniletext>> rub your <<penis>> against <<their _args[0]>> tongue. <<else>> You <<peniletext>> slap your <<penis>> against <<their _args[0]>> tongue. <</if>> <<else>> <<if $pain gte 40>> You <<peniletext>> rub your <<penis>> against <<their _args[0]>> cheek. <<else>> You <<peniletext>> slap your <<penis>> against <<their _args[0]>> cheek. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthpenisrub">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<peniletext>> and carefully rub the <<beasttypes>> tongue with your <<penis>>. <<else>> You <<peniletext>> rub the <<beasttypes>> tongue with your <<penis>>. <</if>> <<else>> <<if $pain gte 40>> You <<peniletext>> and carefully prod the <<beasttypes>> tongue with your <<penis>>. <<else>> You <<peniletext>> prod the <<beasttypes>> tongue with your <<penis>>. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<peniletext>> rub the tip of your <<penis>> between <<their _args[0]>> lips. <<else>> You <<peniletext>> caress <<their _args[0]>> lips with your <<penis>>. <</if>> <<else>> <<if $pain gte 40>> You <<peniletext>> circle <<their _args[0]>> lips with the tip of your <<penis>>. <<else>> You <<peniletext>> prod <<their _args[0]>> lips with the tip of your <<penis>>. <</if>> <</if>> <</if>> <</widget>> <<widget "penises">> <!-- possible alternatives: ...--> <<if $arousal gte ($arousalmax / 5) * 4>> shafts <<elseif $arousal gte ($arousalmax / 5) * 3>> boners <<elseif $arousal gte ($arousalmax / 5) * 2>> dicks <<elseif $arousal gte $arousalmax / 5>> glandes <<else>> penises <</if>> <</widget>> <<widget "pussies">> <!-- possible alternatives: muffs, twats, slits, snatches, vulvas ...--> <<if $arousal gte ($arousalmax / 5) * 4>> clits <<elseif $arousal gte ($arousalmax / 5) * 3>> cunts <<elseif $arousal gte ($arousalmax / 5) * 2>> pussies <<elseif $arousal gte $arousalmax / 5>> quims <<else>> vaginas <</if>> <</widget>> <<widget "actionsothervaginavaginarub">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<vaginaltext>> and carefully rub the <<beasttypes>> pussy with your own. <<else>> You <<vaginaltext>> rub the <<beasttypes>> pussy with your own. <</if>> <<else>> <<if $pain gte 40>> You <<vaginaltext>> and carefully kiss the <<beasttypes>> pussy with your own. <<else>> You <<vaginaltext>> kiss the <<beasttypes>> pussy with your own. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<vaginaltext>> rub your <<pussies>> together. <<else>> You <<vaginaltext>> knead your <<pussies>> together. <</if>> <<else>> <<if $pain gte 40>> You <<vaginaltext>> rub your <<pussy>> against <<their _args[0]>> own. <<else>> You <<vaginaltext>> kiss <<their _args[0]>> pussy with your own. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsotherpenispenisrub">> /* fencing */ <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<peniletext>> and carefully rub the <<beasttypes>> penis with your <<penis>>. <<else>> You <<peniletext>> rub the <<beasttypes>> penis with your <<penis>>. <</if>> <<else>> <<if $pain gte 40>> You <<peniletext>> and carefully caress the <<beasttypes>> penis with your <<penis>>. <<else>> You <<peniletext>> caress the <<beasttypes>> penis with your <<penis>>. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<peniletext>> rub your <<penises>> together. <<else>> You <<peniletext>> knead your <<penises>> together. <</if>> <<else>> <<if $pain gte 40>> You <<peniletext>> rub your <<penis>> against <<their _args[0]>> own. <<else>> You <<peniletext>> caress <<their _args[0]>> penis with your own. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthpenisthrust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> mouth. Driven by instinct, you <<peniletext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> mouth. You <<peniletext>> push back against the movements. <<else>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> mouth. You <<peniletext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is hungrily enveloped by <<their _args[0]>> mouth. Driven by instinct, you <<peniletext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is hungrily enveloped by <<their _args[0]>> mouth. You <<peniletext>> push back against the movements. <<else>> Your <<penis>> is hungrily enveloped by <<their _args[0]>> mouth. You <<peniletext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is rhythmically engulfed and regurgitated by <<their _args[0]>> mouth. Driven by instinct, you <<peniletext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is rhythmically engulfed and regurgitated by <<their _args[0]>> mouth. You <<peniletext>> push back against the movements. <<else>> Your <<penis>> is rhythmically engulfed and regurgitated by <<their _args[0]>> mouth. You <<peniletext>> push back, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionsothermouthpenisescape">> <<if $enemytype is "beast">> <<if $enemyanger lte 20>> <span class="blue">You shift your pelvis, moving your <<penis>> away from the <<beasttypes>> mouth before it can envelop you.</span> It doesn't give up however. <<elseif $enemyanger lte 100>> <span class="blue">You shift your pelvis, moving your <<penis>> away from the beast's incessant probing before it can envelop you.</span> It snarls in frustration. <<else>> <span class="blue">You shift your pelvis, moving your <<penis>> away from the beast's savage probing before it can envelop you.</span> <</if>> <<else>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<penis>> away from <<their _args[0]>> mouth.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<penis>> away from <<their _args[0]>> mouth.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<penis>> away from <<their _args[0]>> mouth.</span> <</if>> <</if>> <</widget>> <<widget "actionsothermouthvaginatease">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<vaginaltext>> and carefully rub the <<beasttypes>> tongue with your <<pussy>>. <<else>> You <<vaginaltext>> rub the <<beasttypes>> tongue with your <<pussy>>. <</if>> <<else>> <<if $pain gte 40>> You <<vaginaltext>> and carefully kiss the <<beasttypes>> tongue with your <<pussy>>. <<else>> You <<vaginaltext>> kiss the <<beasttypes>> tongue with your <<pussy>>. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<vaginaltext>> rub your <<pussy>> against <<their _args[0]>> tongue. <<else>> You <<vaginaltext>> smooch <<their _args[0]>> tongue with your <<pussy>>. <</if>> <<else>> <<if $pain gte 40>> You <<vaginaltext>> rub your <<pussy>> against <<their _args[0]>> cheek. <<else>> You <<vaginaltext>> kiss <<their _args[0]>> cheek with your <<pussy>>. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthvaginarub">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<vaginaltext>> and carefully rub the <<beasttypes>> tongue with your <<pussy>>. <<else>> You <<vaginaltext>> rub the <<beasttypes>> tongue with your <<pussy>>. <</if>> <<else>> <<if $pain gte 40>> You <<vaginaltext>> and carefully kiss the <<beasttypes>> tongue with your <<pussy>>. <<else>> You <<vaginaltext>> kiss the <<beasttypes>> tongue with your <<pussy>>. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<vaginaltext>> your <<pussy>> against <<their _args[0]>> tongue. <<else>> You <<vaginaltext>> caress <<their _args[0]>> tongue with your <<pussy>>. <</if>> <<else>> <<if $pain gte 40>> You <<vaginaltext>> kiss <<their _args[0]>> tongue with your <<pussy>>. <<else>> You <<vaginaltext>> rub <<their _args[0]>> lips with your <<pussy>>. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthvaginathrust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is ruthlessly fucked by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. Driven by instinct, you <<vaginaltext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is ruthlessly fucked by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. You <<vaginaltext>> push back against the movements. <<else>> Your <<pussy>> is ruthlessly fucked by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. You <<vaginaltext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is hungrily penetrated by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. Driven by instinct, you <<vaginaltext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is hungrily penetrated by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. You <<vaginaltext>> push back against the movements. <<else>> Your <<pussy>> is hungrily penetrated by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. You <<vaginaltext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is rhythmically invaded by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. Driven by instinct, you <<vaginaltext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is rhythmically invaded by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. You <<vaginaltext>> push back against the movements. <<else>> Your <<pussy>> is rhythmically invaded by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your labia. You <<vaginaltext>> push back, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionsothermouthvaginaescape">> <<if $enemytype is "beast">> <<if $enemyanger lte 20>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the <<beasttypes>> mouth before it can penetrate you.</span> It doesn't give up however. <<elseif $enemyanger lte 100>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's incessant probing before it can penetrate you.</span> It snarls in frustration. <<else>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's savage probing before it can penetrate you.</span> <</if>> <<else>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from <<their _args[0]>> mouth.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from <<their _args[0]>> mouth.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<pussy>> away from <<their _args[0]>> mouth.</span> <</if>> <</if>> <</widget>> <<widget "actionsmouthbottomrub">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $enemyanger gte (($enemyangermax / 5) * 2)>> You <<bottomtext>> press your <<bottom>> into the <<beasttypes>> mouth, keeping it at bay. It bites down a little harder than you would like. You hope it doesn't consider you food. <<else>> You <<bottomtext>> press your <<bottom>> into the <<beasttypes>> mouth, keeping it at bay. <</if>> <<else>> <<if $enemyanger gte (($enemyangermax / 5) * 2)>> You <<bottomtext>> press your <<bottom>> into the <<beasttypes>> mouth, keeping it at bay. It bites down a little harder than you would like. You hope it doesn't consider you food. <<else>> You <<bottomtext>> press your <<bottom>> into the <<beasttypes>> mouth, keeping it at bay. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<bottomtext>> keep your shaking <<bottom>> pressed against <<their _args[0]>> mouth. <<else>> You <<bottomtext>> keep your trembling <<bottom>> pressed against <<their _args[0]>> mouth. <</if>> <<else>> <<if $pain gte 40>> You <<bottomtext>> keep your quivering <<bottom>> pressed against <<their _args[0]>> mouth. <<else>> You <<bottomtext>> keep your <<bottom>> pressed against <<their _args[0]>> mouth. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthanustease">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<analtext>> and carefully rub the <<beasttypes>> lips with your <<bottom>>. <<else>> You <<analtext>> rub the <<beasttypes>> lips with your <<bottom>>. <</if>> <<else>> <<if $pain gte 40>> You <<analtext>> and carefully rub the <<beasttypes>> face with your <<bottom>>. <<else>> You <<analtext>> rub the <<beasttypes>> face with your <<bottom>>. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<analtext>> rub your <<bottom>> against <<their _args[0]>> lips. <<else>> You <<analtext>> rub <<their _args[0]>> face with your <<bottom>>. <</if>> <<else>> <<if $pain gte 40>> You <<analtext>> rub your <<bottom>> against <<their _args[0]>> cheek. <<else>> You <<analtext>> rub <<their _args[0]>> cheek with your <<bottom>>. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthanusrub">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<analtext>> and carefully rub your anus against the <<beasttypes>> tongue. <<else>> You <<analtext>> rub your anus against the <<beasttypes>> tongue. <</if>> <<else>> <<if $pain gte 40>> You <<analtext>> and carefully rub your <<bottom>> against the <<beasttypes>> tongue. <<else>> You <<analtext>> rub your <<bottom>> against the <<beasttypes>> tongue. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<analtext>> your anus against <<their _args[0]>> tongue. <<else>> You <<analtext>> caress <<their _args[0]>> tongue with your anus. <</if>> <<else>> <<if $pain gte 40>> You <<analtext>> rub <<their _args[0]>> tongue with your <<bottom>>. <<else>> You <<analtext>> rub <<their _args[0]>> lips with your <<bottom>>. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsothermouthanusthrust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<bottom>> is ruthlessly fucked by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<bottom>> is ruthlessly fucked by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. You <<analtext>> push back against the movements. <<else>> Your <<bottom>> is ruthlessly fucked by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<bottom>> is hungrily penetrated by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<bottom>> is hungrily penetrated by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. You <<analtext>> push back against the movements. <<else>> Your <<bottom>> is hungrily penetrated by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<bottom>> is rhythmically invaded by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<bottom>> is rhythmically invaded by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. You <<analtext>> push back against the movements. <<else>> Your <<bottom>> is rhythmically invaded by <<their _args[0]>> tongue as <<their _args[0]>> lips knead your anus. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionshandanustease">> <<if $enemytype is "beast">> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<analtext>> and carefully rub the <<beasttypes>> fingers with your <<bottom>>. <<else>> You <<analtext>> rub the <<beasttypes>> fingers with your <<bottom>>. <</if>> <<else>> <<if $pain gte 40>> You <<analtext>> and carefully rub the <<beasttypes>> fingers with your <<bottom>>. <<else>> You <<analtext>> rub the <<beasttypes>> fingers with your <<bottom>>. <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 40>> You <<analtext>> rub your <<bottom>> against <<their _args[0]>> fingers. <<else>> You <<analtext>> rub <<their _args[0]>> fingers with your <<bottom>>. <</if>> <<else>> <<if $pain gte 40>> You <<analtext>> rub your <<bottom>> against <<their _args[0]>> hand. <<else>> You <<analtext>> rub <<their _args[0]>> hand with your <<bottom>>. <</if>> <</if>> <</if>> <</widget>> <<widget "actionshandanusthrust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<bottom>> is ruthlessly fucked by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<bottom>> is ruthlessly fucked by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. You <<analtext>> push back against the movements. <<else>> Your <<bottom>> is ruthlessly fucked by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<bottom>> is hungrily penetrated by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<bottom>> is hungrily penetrated by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. You <<analtext>> push back against the movements. <<else>> Your <<bottom>> is hungrily penetrated by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<bottom>> is rhythmically invaded by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<bottom>> is rhythmically invaded by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. You <<analtext>> push back against the movements. <<else>> Your <<bottom>> is rhythmically invaded by <<their _args[0]>> hand as <<their _args[0]>> finger pounds your anus. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionshandanustake">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is ruthlessly finger-fucked. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is ruthlessly finger-fucked. <<else>> Your anus is ruthlessly finger-fucked. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is relentlessly pounded by <<their _args[0]>> finger. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is relentlessly pounded by <<their _args[0]>> finger. <<else>> Your anus is relentlessly pounded by <<their _args[0]>> finger. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus yields to the repeated insertions of <<their _args[0]>> finger. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus yields to the repeated insertions of <<their _args[0]>> finger. <<else>> Your anus yields to the repeated insertions of <<their _args[0]>> finger. <</if>> <</if>> <</widget>> <<widget "actionsothermouthanusescape">> <<if $enemytype is "beast">> <<if $enemyanger lte 20>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from the <<beasttypes>> mouth before it can penetrate you.</span> It doesn't give up however. <<elseif $enemyanger lte 100>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from the beast's incessant probing before it can penetrate you.</span> It snarls in frustration. <<else>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from the beast's savage probing before it can penetrate you.</span> <</if>> <<else>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from <<their _args[0]>> mouth.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from <<their _args[0]>> mouth.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<bottom>> away from <<their _args[0]>> mouth.</span> <</if>> <</if>> <</widget>> <<widget "actionspenisstroke">> <<if $enemytype is "beast">> You gingerly caress the beast's penis. <<else>> <<if _args[1] isnot undefined>> <<set $_target to "two">> <<elseif _args[0] isnot undefined>> <<set $_target to _args[0]>> <<else>> <<set $_target to 0>> <</if>> <<if $consensual is 1>> <<if $arousal lte ($arousalmax / 5) * 3>> You reach for <<someones $_target>> penis and gently caress its length. <<else>> You eagerly reach for <<someones $_target>> penis and caress its length. <</if>> <<else>> You gingerly rub <<someones $_target>> penis. <</if>> <</if>> <</widget>> <<widget "actionsStroke">> <<if _args.length lte 0>> <<error { message : "Missing parameters for <<actionsStroke>> ", source : "Called from: " + Utils.GetStack() }>> <</if>> <<if $enemytype is "beast">> You pat the <<beasttype>> on the head. <<else>> You ?stroke <<if _args.length is 2 and _args[0] isnot _args[1]>> the <<personselect _args[0]>><<persons>> and the <<personselect _args[1]>><<persons>> <<elseif $enemyno lte 1>> <<personselect _args[0]>><<his>> <<else>> the <<personselect _args[0]>><<persons>> <</if>> skin. <</if>> <</widget>> <<widget "actionshit">> <<if _args[0] is "both">> <<set _hand to "hands">> <<set $_target to $lefttarget>> <<else>> <<set _hand to "hand">> <<if _args[0] isnot undefined>> <<set $_target to _args[0]>> <<else>> <<set $_target to 0>> <</if>> <</if>> <<if $enemytype is "beast">> <<if $pain lte 20>> You smack the <<beasttype>> with your _hand. <<elseif $pain lte 60>> You fight through pain and smack the <<beasttype>> with your _hand. <<else>> Pained and terrified, you flail at the <<beasttype>>. <</if>> <<else>> <<if $pain lte 20>> You strike <<someone $_target>> with your _hand. <<elseif $pain lte 60>> You fight through the pain and strike at <<someone $_target>> with your _hand. <<else>> Pained and terrified, you flail in self-defence. <</if>> <</if>> <</widget>> <<widget "actionsclitstroke">> <<if $consensual is 1>> <<if $arousal lte ($arousalmax / 5) * 3>> You <<handtext>> stroke <<their _args[0]>> clitoris between your fingers. <<else>> Eager, you <<handtext>> fondle <<their _args[0]>> clitoris between your fingers. <</if>> <<else>> Hoping to mollify, you <<handtext>> stroke <<their _args[0]>> clitoris between your fingers. <</if>> <</widget>> <<widget "actionshandedge">> <<if $arousal gte ($arousalmax / 5) * 4>> <<print either( "It's a struggle to keep still, but you <<handtext>>", "With a trembling hand, you <<handtext>>", "Your hand twitches as you <<handtext>>" )>> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<print either( "Warmth creeps up your arm as you <<handtext>>", "Despite the rising heat, you <<handtext>>", "You steady your hand and <<handtext>>" )>> <<else>> You <<handtext>> <</if>> <<if _args[1].includes("penis")>> <<print either( "pinch <<his>> shaft between your fingers,", "trail a finger around <<his>> groin,", "thumb the tip of <<his>> cock," )>> <<else>> <<print either( "press <<his>> lips between your fingers,", "trail a finger around <<his>> labia,", "ease your palm against <<his>> clit," )>> <</if>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<print either( "holding <<him>> on the brink of an orgasm.", "waving relief just out of <<his>> reach.", "torturing <<his>> yearning body." )>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<print either( "slowly coaxing <<him>> to climax.", "letting <<his>> arousal swell.", "keeping <<him>> on edge." )>> <<else>> <<print either( "controlling <<his>> arousal.", "curbing <<his>> arousal.", "stirring pleasure." )>> <</if>> <</widget>> <<widget "actionskick">> <<if $enemytype is "beast">> <<if $pain lte 20>> You kick the <<beasttype>>. <<elseif $pain lte 60>> You try to kick the <<beasttype>> away from you. <<else>> You desperately try to kick the <<beasttype>> away. <</if>> <<else>> <<if $leftarm is "grappled" or $rightarm is "grappled">> You struggle against the attacker's grasp, kicking shins while trying to twist free. <<else>> <<if $pain lte 20>> Defiant, you lash out with your feet. <<elseif $pain lte 60>> Though hurt, you lash out with your feet. <<else>> You lash out in desperation. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsfeetrub">> <<if $enemytype is "beast">> You fondle <<their>> penis with your toes. <<else>> <<if _args[0] isnot undefined>> <<set $_target to _args[0]>> <<else>> <<set $_target to 0>> <</if>> <<if $consensual is 1>> <<if $arousal lte ($arousalmax / 5) * 3>> You fondle <<someones $_target>> penis with your toes. <<else>> You eagerly stroke <<someones $_target>> penis with your toes. <</if>> <<else>> You stroke <<someones $_target>> penis with your toes. <</if>> <</if>> <</widget>> <<widget "actionsgrabrub">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<feettext>> hold <<his>> penis between your feet as <<he>> furiously humps against them. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<feettext>> hold the penis between your feet as <<he>> humps against them. <<else>> You <<feettext>> hold and rub the penis between your feet. <</if>> <<else>> <<if $consensual is 1>> <<if $arousal lte ($arousalmax / 5) * 3>> You keep <<their _args[0]>> penis held firmly between your feet as you <<feettext>> stroke and fondle the glans with your toes. <<else>> You <<feettext>> hold and rub <<their _args[0]>> penis between your feet. <</if>> <<else>> You <<feettext>> occupy <<their _args[0]>> penis with your feet, rubbing the glans between your toes. <</if>> <</if>> <</widget>> <<widget "actionsfeetpussy">> <<if $consensual is 1>> <<if $arousal lte ($arousalmax / 5) * 3>> You <<feettext>> fondle <<their _args[0]>> vulva with your toes. <<else>> You <<feettext>> stroke <<their _args[0]>> vulva with your toes. <</if>> <<else>> You <<feettext>> press your feet against <<their _args[0]>> pelvis and fondle <<their _args[0]>> pussy with your toes. <</if>> <</widget>> <<widget "actionskiss">> <<if $enemytype is "beast">> You kiss the <<beasttype>> on the head. <<else>> <<if _args[0] isnot undefined>> <<set $_target to _args[0]>> <<else>> <<set $_target to 0>> <</if>> <<if $consensual is 1>> <<if $arousal lte ($arousalmax / 5) * 3>> You flutter your lips against <<someones $_target>> skin. <<else>> You kiss <<someones $_target>> skin, tongue first. <</if>> <<else>> You press your lips against <<someones $_target>> skin. <</if>> <</if>> <</widget>> <<widget "actionsgrowl">> <<if $enemytype is "beast">> You growl and bare your fangs at the <<beasttype>>. <<else>> You growl and bare your fangs. <</if>> <</widget>> <<widget "actionsplead">> <<checkforloveinterests>> <<if $robinRentEvent is 1 and ["Robin","pay","still"].includes($combatPhase)>> You <<voice "plead">>. <<switch random(1,5)>> <<case 1>> "Not Robin! Stop!" <<case 2>> "Let Robin go, please!" <<case 3>> "You can't! Let <<nnpc_him "Robin">> go!" <<case 4>> "Please, Bailey, don't!" <<case 5>> <<if isLoveInterest("Robin")>> "Don't take <<nnpc_him "Robin">> away from me!" <<else>> "Don't hurt <<nnpc_him "Robin">>!" <</if>> <</switch>> <<elseif $enemytype is "beast">> You <<voice "plead">>. <<if _loveInterest is "Eden" and $location is "forest" and random(0,100) lte 15>> "Please..." You gaze in the direction of Eden's cabin. <<if $npc.includes("Black Wolf")>> <br> The Black Wolf seems to notice, and releases a low growl. <</if>> <<elseif $vaginastate is "imminent" or $vaginastate is "doubleimminent">> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "No! I don't want to lose my virginity to a <<beasttype>>!" <<else>> "Why are you poking me there? Stop!" <</if>> <<else>> "No, don't put it in!" <</if>> <<elseif $penisstate is "imminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "No! I don't want to lose my virginity to a <<beasttype>>!" <<else>> "Stop pushing my private place like that, you're making me feel strange." <</if>> <<else>> "Please don't put it in!" <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "No! I don't want to lose my virginity to a <<beasttype>>!" <<else>> "Stop pushing my private place like that, you're making me feel strange." <</if>> <<else>> "Please don't put it in!" <</if>> <<elseif $anusstate is "imminent" or $anusstate is "doubleimminent">> <<if $player.virginity.anal is true>> <<if $awarelevel gte 1>> "Why are you poking me there? What do you want?" <<else>> "Don't poke me there, it's dirty!" <</if>> <<else>> "No, not there! I don't want it!" <</if>> <<elseif $vaginastate is "penetrated" or $vaginastate is "doublepenetrated">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, just take it out!" <<else>> "P-please... s-someone help..." <</if>> <<elseif $penisstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, just take it out!" <<else>> "P-please... s-someone help..." <</if>> <<elseif $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, just take it out!" <<else>> "P-please... s-someone help..." <</if>> <<elseif $anusstate is "penetrated" or $anusstate is "doublepenetrated">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, just take it out!" <<else>> "P-please... s-someone help..." <</if>> <<elseif $vaginastate is "othermouthimminent" or $vaginastate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "Stop, it tickles." <<case 1>> "Please don't eat me." <<case 2>> "Stop licking there!" <<case 3>> "I'm not food!" <<case 4>> "Your tongue is too slimy." <<case 5>> "Your tongue is making me feel funny." <<default>> "S-stop. That's not for a <<beasttype>> to lick." <</switch>> <<elseif $vaginastate is "othermouth">> <<switch $speechcycle>> <<case 0>> "It's all squirmy." <<case 1>> "Please take your tongue out." <<case 2>> "There's no food in there." <<case 3>> "S-stop. That's not for <<beasttype>> tongues." <<case 4>> "Get it out!" <<case 5>> "Please stop licking inside me!" <<default>> "I-is it tasty? Please stop." <</switch>> <<elseif $penisstate is "othermouthimminent" or $penisstate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "Stop, it tickles." <<case 1>> "Please don't eat me." <<case 2>> "Stop licking there!" <<case 3>> "I'm not food!" <<case 4>> "Your tongue is too slimy." <<case 5>> "Your tongue is making me feel funny." <<default>> "S-stop. That's not for a <<beasttype>> to lick." <</switch>> <<elseif $penisstate is "othermouth">> <<switch $speechcycle>> <<case 0>> "Your mouth's too slimy." <<case 1>> "Please don't bite me." <<case 2>> "I don't wanna go in your mouth." <<case 3>> "S-stop. That's not for <<beasttype>> tongues." <<case 4>> "Let me go!" <<case 5>> "That's not food!" <<default>> "Please don't move your tongue like that." <</switch>> <<elseif $anusstate is "othermouthimminent" or $anusstate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "Stop, it tickles." <<case 1>> "Please don't eat me." <<case 2>> "Stop licking there!" <<case 3>> "I'm not food!" <<case 4>> "Your tongue is too slimy." <<case 5>> "Your tongue is making me feel funny." <<default>> "S-stop. That's not for a <<beasttype>> to lick." <</switch>> <<elseif $anusstate is "othermouth">> <<switch $speechcycle>> <<case 0>> "It's all squirmy." <<case 1>> "Please take your tongue out." <<case 2>> "There's no food in there." <<case 3>> "S-stop. That's not for <<beasttype>> tongues." <<case 4>> "Get it out!" <<case 5>> "Please stop licking inside me!" <<default>> "I-is it tasty? Please stop." <</switch>> <<elseif $exposed gte 2>> <<switch random(1,5)>> <<case 1>> "W-why are you looking at me like that?" <<case 2>> "That's not for you!" <<case 3>> "D-don't look." <<case 4>> "No, don't look at me!" <<case 5>> "Please be a good <<beasttype>>, you're scaring me." <</switch>> <<elseif $awarelevel gte 1>> <<if $pain lte 20>> "You're a good <<beasttype>> right? You'll let me go?" <<elseif $pain lte 60>> "Why are you hurting me? I'm not a threat!" <<else>> "It hurts! Why are you doing this? Let me go!" <</if>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> "You're a good <<beasttype>> right? You'll let me go?" <<case 2>> "What are you doing? I haven't been mean to you!" <<case 3>> "I don't like this, leave me alone!" <</switch>> <<elseif $pain lte 60>> "You're hurting me!" <<else>> "P-please stop hurting me!" <</if>> <</if>> <<else>> <<if _loveInterest isnot undefined and random(0, 100) lte 15>> <<set $speechnamedrop to $npc.includes(_loveInterest) ? 0 : 1>> <<if $speechnamedrop is 0>> You speak. <<else>> You <<voice "plead">>. <</if>> <<rng>> <<switch _loveInterest>> <<case "Robin">> <<if $npc.includes("Robin")>> "Robin, please stop!" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Please, no! I'm saving that for Robin!" <<else>> "Please stop poking me there, I only let Robin do that!" <</if>> <<else>> "B...but, I only let Robin do this!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "I'm sorry, Robin..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please just take it out! I only want Robin!" <<else>> "Robin... help me..." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "I'm sorry, Robin..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please just get off me! I only want Robin!" <<else>> "Robin... help me..." <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Please don't look! Only Robin can see me like this!" <<case 2>> "Please, Robin will be heartbroken..." <<case 3>> "Stop staring... I only want Robin..." <</switch>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Please no! I'm already taken by Robin!"<<else>>"Leave me alone! I only want Robin!"<</if>> <<case 2>> "Why are you doing this? Let me go back to Robin!" <<case 3>> "Robin needs me, please just let me go..." <</switch>> <<elseif $pain lte 60>> "Robin never hurts me like this..." <<else>> "No... I need to get back to Robin..." <</if>> <</if>> <<case "Kylar">> <<if $npc.includes("Kylar")>> "Kylar... I thought you loved me..." <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Please, I wanted Kylar to be the one to take me!" <<else>> "Only Kylar is allowed to do this, please stop!" <</if>> <<else>> "Kylar hurts people who violate me... please stop..." <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Forgive me, Kylar..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please take it out! Kylar will be so upset about this!" <<else>> "S-Save me, Kylar..." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Forgive me, Kylar..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please take it out! Kylar will be so upset about this!" <<else>> "S-Save me, Kylar..." <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "I only want Kylar to see me like this..." <<case 2>> "Please, I only let Kylar take my clothes!" <<case 3>> "Kylar will be mad at me for this!" <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<if $pain lte 20>> <<if $awarelevel gte 1>> "B-But, I'm already taken by Kylar!" <<else>> "I want Kylar to hold me..." <</if>> <<elseif $rng lte 70>> "Kylar will be so upset..." <<else>> "N...no, Kylar will be jealous!" <</if>> <<elseif $pain lte 60>> "Kylar hurts people who touch me, please stop for your own sake!" <<else>> "K...Kylar... help me..." <</if>> <</if>> <<if $location is "school" and $speechnamedrop is 1 and Time.schoolDay>> <<status -1>><<lcool>> <</if>> <<case "Whitney">> <<if $npc.includes("Whitney")>> "Please be gentle, Whitney..." <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "I'm saving that for Whitney! Please don't steal this from me!" <<else>> "Only Whitney can hold me like this! Please stop!" <</if>> <<else>> "No... that only belongs to Whitney..." <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "I'm sorry, Whitney..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Whitney will give me hell for this, please get it out!" <<else>> "Whitney... please help me..." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "I'm sorry, Whitney..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Whitney will give me hell for this, please get off!" <<else>> "Whitney... please help me..." <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "But only Whitney can strip me!" <<case 2>> "At least Whitney gives me a choice..." <<case 3>> "I only want to be seen like this if it's Whitney doing it! Please stop!" <</switch>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Please, I'm only Whitney's toy!"<<else>>"My bully treats me better than you..."<</if>> <<case 2>> "I only let someone special bully me. Please stop." <<case 3>> "Everyone knows I'm Whitney's property, so please stop!" <</switch>> <<elseif $pain lte 60>> "Please, I only like it when Whitney hits me!" <<else>> "Not even Whitney beats me this much!" <</if>> <</if>> <<if $location is "school" and Time.schoolDay>> <<status 1>><<gcool>> <</if>> <<case "Eden">> <<if $npc.includes("Eden")>> "N...not so rough, Eden..." <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "I wanted to share this moment with Eden! Please don't take my virginity!" <<else>> "N...No! Eden! Help me!" <</if>> <<else>> "Please, I only let Eden take me! Don't!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "I... was only supposed to be Eden's prey..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "I can only do this with Eden! Take it out! Please!" <<else>> "Eden... please save me..." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "I... was only supposed to be Eden's prey..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "I can only do this with Eden! Get off me! Please!" <<else>> "Eden... please save me..." <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "I'm cold... I want to go back to the cabin with Eden..." <<case 2>> "I only want Eden to see me like this..." <<case 3>> "Please don't look! I'm for Eden, not you!" <</switch>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"I'm Eden's mate, not yours! Let me go!"<<else>>"I'm Eden's companion, not yours! Let me go!"<</if>> <<case 2>> "I want to go back to the cabin with Eden... please..." <<case 3>> "Eden warned me about people like you..." <</switch>> <<elseif $pain lte 60>> "Please... my heart belongs in the forest with Eden..." <<else>> "No! Eden will smell you on me! Please stop!" <</if>> <</if>> <<case "Black Wolf">> <<if $npc.includes("Black Wolf")>> "Gently, please..." <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "I was saving this for my wolf! Please no!" <<else>> "Only the wolves know how to be gentle with me down there! Please stop!" <</if>> <<else>> "Please, I only let my pack down there..." <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "It's so uncomfortable! Please stop, I only want the wolves!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please just take it out! That's for my wolves!" <<else>> "The big wolf will save me..." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "It's so uncomfortable! Please stop, I only want the wolves!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please get off! That's for my wolves!" <<else>> "The big wolf will save me..." <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Not even the wolves stare this much... please stop looking..." <<case 2>> "You're creepier than the wolves... no more..." <<case 3>> "Y-You won't find any meat here... I belong to the wolves!" <</switch>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"I only want the wolves as mates, please leave me alone!"<<else>>"I only let the big wolf play rough with me, please stop!"<</if>> <<case 2>> "Please let me go, I want to go back to my wolves!" <<case 3>> "Let me go... I want to go back to the wolf cave..." <</switch>> <<elseif $pain lte 60>> "Please stop hurting me! The wolves are more gentle than this!" <<else>> "You're more of an animal... than my wolf..." <</if>> <</if>> <<famebestiality $enemyno>> <<case "Avery">> <<if $npc.includes("Avery")>> "Was this all the date was for...?" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "I only wanted Avery to take my virginity! Please don't!" <<else>> "Avery will save me..." <</if>> <<else>> "Please no! That's Avery's!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "I'm so sorry, Avery..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Avery will punish me for this! Please just take it out!" <<else>> "Save me, Avery..." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "I'm so sorry, Avery..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Avery will punish me for this! Please just get off!" <<else>> "Save me, Avery..." <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Avery takes me on a date first... please look away..." <<case 2>> "No! You can't look! Only Avery can see me like this!" <<case 3>> "Avery will be so upset... please..." <</switch>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Avery can screw us both up for this, so please stop!"<<else>>"I only want Avery..."<</if>> <<case 2>> "I need to keep Avery's trust, please stop!" <<case 3>> "My heart belongs to Avery! I don't want this, please just stop!" <</switch>> <<elseif $pain lte 60>> "Avery... Please help me..." <<else>> "You're scarier... than Avery..." <</if>> <</if>> <<case "Great Hawk">> <<if $npc.includes("Great Hawk")>> "Y-you're going to take care of me, right?" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Please stop! I'm saving myself for my <<hawkText>> spouse!" <<else>> "Only my <<hawkText>> can touch me. Please let me go..." <</if>> <<else>> "You can't! I only want my <<hawkText>> to do this!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "I don't like this! That's the <<hawkText>>'s place!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Stop! Just let me go back to my <<hawkText>>!" <<else>> "No! I'm only for the Great Hawk!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "I don't like this! That's the <<hawkText>>'s place!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Stop! Just let me go back to my <<hawkText>>!" <<else>> "No! I'm only for the Great Hawk!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "M-My <<hawkText>> respects my body. Please stop staring." <<case 2>> "My body's for my <<hawkText>>. Stop staring, please!" <<case 3>> "You're scaring me with that look. My body is for the Great Hawk!" <</switch>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"My <<hawkText>> knows how to treat a mate, please let me go!"<<else>>"Nobody can do this to me except for my <<hawkText>>, get off of me!"<</if>> <<case 2>> "I can't cheat on the Great Hawk, please stop!" <<case 3>> "My heart belongs to the Great Hawk! I don't want this, please just stop!" <</switch>> <<elseif $pain lte 60>> "It hurts! I want my <<hawkText>>'s touch!" <<else>> "You're hurting me more than my <<hawkText>>'s talons!" <</if>> <</if>> <<famebestiality $enemyno>> <<case "Alex">> <<if $npc.includes("Alex")>> "Alex, control yourself!" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "N-not there, that's for Alex!" <<else>> "Don't poke me there, that's Alex's spot!" <</if>> <<else>> "That's Alex's territory!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "I'm sorry, Alex..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Take it out right now, or I'll tell Alex!" <<else>> "Help me, Alex." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "I'm sorry, Alex..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Take it out right now, or I'll tell Alex!" <<else>> "Help me, Alex." <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "That's for Alex's eyes only!" <<case 2>> "Alex won't be pleased with where you're looking." <<case 3>> "Stop staring, or Alex will be angry." <</switch>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Don't you dare. That's Alex's!"<<else>>"Leave me alone, or I'll tell Alex!"<</if>> <<case 2>> "Alex will come to my rescue, then you'll be sorry!" <<case 3>> "Alex will find out about you." <</switch>> <<elseif $pain lte 60>> "Alex will punish you for this." <<else>> "Alex, h-help me. Please." <</if>> <</if>> <<case "Sydney">> <<run statusCheck("Sydney")>> <<if $npc.includes("Sydney")>> <<if _sydneyStatus.includes("corrupt")>> "I thought... you said lust was a sin..." <<else>> "I'm sorry, I'll be pure! Please stop!" <</if>> <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $templePromised is "Sydney">> <<if (($player.virginity.vaginal is true or $player.virginity.temple is true) and $vaginastate is "imminent") or (($player.virginity.penile is true and $player.virginity.temple is true) and ($penisstate is "imminent" or $penisstate is "otheranusimminent"))>> <<if $awarelevel gte 1>> "Please, not that! I'm bound to Sydney, you can't!" <<else>> "I'm bound to Sydney! Please don't take that away!" <</if>> <<else>> "Don't, that's only for Sydney!" <</if>> <<else>> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "Please, not that! I want it to be with Sydney, you can't!" <<else>> "I love Sydney! Don't take this from <<nnpc_him "Sydney">>!" <</if>> <<else>> "Don't! I only want to do it with Sydney!" <</if>> <</if>> <<elseif $vaginastate is "penetrated" or $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $templePromised is "Sydney">> <<if $arousal lte $arousalmax / 5>> "What have you done..." <<elseif $arousal lte ($arousalmax / 5) * 4>> "I'm sorry, Sydney, I'm so sorry..." <<else>> "S-Sydney... It was supposed to be you..." <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> "Please take it out, don't defile me!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "I'm sorry, Sydney..." <<else>> "S-Sydney... It was supposed to be you..." <</if>> <</if>> <<elseif $anusstate is "penetrated">> <<if $templePromised is "Sydney">> <<if $arousal lte $arousalmax / 5>> "Take it out! That's for Sydney!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "The temple might not care, but I know Sydney does!" <<else>> "S-Sydney... It was supposed to be you..." <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> "Take it out! I want it to be Sydney!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "I wanted it to be with Sydney..." <<else>> "S-Sydney... It was supposed to be you..." <</if>> <</if>> <<elseif $exposed gte 2>> <<if $templePromised is "Sydney">> <<switch random(1,3)>> <<case 1>> "Don't look! Only Sydney can see me like this!" <<case 2>> "I'm bound to Sydney! Please leave me alone!" <<case 3>> "Stop... I'm supposed to be with Sydney..." <</switch>> <<else>> <<switch random(1,3)>> <<case 1>> "Don't look! I only want Sydney to see me like this!" <<case 2>> "I want to be with Sydney! Please leave me alone..." <<case 3>> "Stop... I'm supposed to be with Sydney..." <</switch>> <</if>> <<else>> <<if $templePromised is "Sydney">> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Sydney and I are one! Please don't ruin that!"<<else>>"I'm bound to Sydney! Please don't take that away!"<</if>> <<case 2>> "Sydney's the one for me, so please leave." <<case 3>> "I want Sydney to hold me..." <</switch>> <<elseif $pain lte 60>> "The temple sanctioned me and Sydney's union, so leave me alone!" <<else>> "S-Sydney... I need a saviour..." <</if>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Sydney's the one I want! Please leave me alone!"<<else>>"I want to be with Sydney! Please don't!"<</if>> <<case 2>> "Sydney's the one for me, so please leave." <<case 3>> "I want Sydney to hold me..." <</switch>> <<elseif $pain lte 60>> "Sydney's the one I want to be with, so leave me alone!" <<else>> "S-Sydney... I need a saviour..." <</if>> <</if>> <</if>> <<default>> <</switch>> <<else>> You <<voice "plead">>. <<if $npc.includes("Robin")>> <<if $robinmist>> "Robin, please! You can fight it!" <<else>> "N...not you, too..." <</if>> <<elseif $vaginastate is "imminent">> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "Please don't put it in, I'm a virgin!" <<else>> "Please stop poking me there, that's my private place!" <</if>> <<else>> "Please don't put it in!" <</if>> <<elseif $penisstate is "imminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Please don't put it in, I'm a virgin!" <<else>> "Stop pushing my private place like that, you're making me feel strange." <</if>> <<else>> "Please don't put it in!" <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Please don't put it in, I'm a virgin!" <<else>> "Stop pushing my private place like that, you're making me feel strange." <</if>> <<else>> "Please don't put it in!" <</if>> <<elseif $anusstate is "imminent">> <<if $player.virginity.anal is true>> <<if $awarelevel gte 1>> "Why are you poking me there? Please stop." <<else>> "Don't poke me there, it's dirty!" <</if>> <<else>> "No, not there! I don't want it!" <</if>> <<elseif $vaginastate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, I-I'll do what you ask, just take it out!" <<else>> "I c-can't... h-help it. P-please stop." <</if>> <<elseif $penisstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, I-I'll do what you ask, just take it out!" <<else>> "I c-can't... h-help it. P-please stop." <</if>> <<elseif $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, I-I'll do what you ask, just take it out!" <<else>> "I c-can't... h-help it. P-please stop." <</if>> <<elseif $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Take it out, take it out!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Please, I-I'll do what you ask, just take it out!" <<else>> "I c-can't... h-help it. P-please stop." <</if>> <<elseif $exposed gte 2 and $rng gte 51>> <<switch random(1,5)>> <<case 1>> "That's my private place! Don't look!" <<case 2>> "Please don't look at me like that, it's scary." <<case 3>> "I don't like being exposed like this, please stop looking." <<case 4>> "No, don't look at me!" <<case 5>> "Please don't stare at me." <</switch>> <<elseif $awarelevel gte 1>> <<if $pain lte 20>> "Please, just let me go." <<elseif $pain lte 60>> "You're hurting me, please stop!" <<else>> "It hurts! Why are you doing this? Let me go!" <</if>> <<else>> <<if $pain lte 20>> <<switch random(1,3)>> <<case 1>> "Please stop touching me, you're making me feel all funny." <<case 2>> "Stop, I promise I haven't done anything wrong!" <<case 3>> "You're making me feel strange. Please stop." <</switch>> <<elseif $pain lte 60>> "Please no, you're hurting me!" <<else>> "P-please stop hurting me!" <</if>> <</if>> <</if>> <</if>> <</widget>> <!-- Ideally, the parameters here should be replaced when the way the Great Hawk is generated changes. --> <<widget "hawkText">><<silently>> <<if ($monsterchance gte $rng and $hallucinations gte 1) or ($monsterchance gte $rng and $monsterhallucinations is "f") or ($greathawkmonster is 2) or ($bestialitydisable is "t")>> <<set _text_output to "harpy">> <<else>> <<set _text_output to "hawk">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "checkforloveinterests">> <<set _loveInterest to Object.values($loveInterest).filter(li => li isnot "None").random()>> <</widget>> <<widget "askrough">> <<if $speech_attitude is "meek">> You <<voice "plead">> for rougher treatment. <<switch $speechcycle>> <<case 0>> "Hit me harder. I deserve it." <<case 1>> "Beat me. Make me your bitch." <<case 2>> "Show me my place." <<case 3>> "Treat me like dirt." <<case 4>> "Make me squeal." <<case 5>> "Fuck me up." <<default>> "Treat me like the worthless pig I am." <</switch>> <<elseif $speech_attitude is "bratty">> You <<voice "demand">> for rougher treatment. <<switch $speechcycle>> <<case 0>> "Hit me harder, you wuss." <<case 1>> "That all you got?" <<case 2>> "Give me your best shot." <<case 3>> "Fuck me up, I dare you." <<case 4>> "This the best you can do?" <<case 5>> "Beat me. Or are you too weak?" <<default>> "Beat me harder, or I'll beat you." <</switch>> <<else>> You <<voice "moan">> for rougher treatment. <<switch $speechcycle>> <<case 0>> "You can be harder. I can take it." <<case 1>> "Smack me harder." <<case 2>> "Treat me like rubbish." <<case 3>> "Show me how strong you are." <<case 4>> "Make me feel worthless." <<case 5>> "Harder!" <<default>> "Beat me. I'm tough enough." <</switch>> <</if>> <</widget>> <<widget "actionsmoan">> <<checkforloveinterests>> You <<voice "moan">>. <<if $npc.includes(_loveInterest) and random(0,100) lte 45>> <<switch _loveInterest>> <<case "Robin">> <<if C.npc.Robin.dom gte 70>> "You know just how to turn me on." <<else>> "I'm gonna melt, you're making me so happy." <</if>> <<case "Sydney">> <<run statusCheck("Sydney")>> <<if !_sydneyChastity>> <<if _sydneyStatus.includes("corrupt")>> "You're the most delicious sin of all." <<else>> "Forever, as one." <</if>> <<else>> "You make me so lustful." <</if>> <<case "Whitney">> "Use me, Whitney. I'm yours." <<case "Black Wolf">> <<if $wolfpackleader is 1>> "Good <<nnpc_gendery "Black Wolf">>. Keep going." <<else>> "<<print ($pregnancyspeechdisable is "f" ? "Breed" : "Fuck")>> me, alpha!" <</if>> <<case "Great Hawk">> "You're not a terror. You're all I need." <<case "Eden">> "I belong to you, and you alone." <<case "Avery">> "You're worth more than any payout." <<case "Alex">> "I couldn't ask for a better partner." <<case "Kylar">> "You're the only one I need, Kylar." <</switch>> <<elseif $enemytype is "beast">> <<if $vaginastate is "imminent">> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "You want to <<print ($pregnancyspeechdisable is "f" ? "breed with" : "fuck")>> me? But it's my first time." <<else>> "Why are you poking my pussy? Silly <<beasttype>>!" <</if>> <<else>> "You want to put it in? Be gentle with me." <</if>> <<elseif $penisstate is "imminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "You want to <<print ($pregnancyspeechdisable is "f" ? "breed with" : "fuck")>> me? But it's my first time." <<else>> "Why are you poking my penis? Silly <<beasttype>>!" <</if>> <<else>> "You want to put it in? Be gentle with me." <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "You want to <<print ($pregnancyspeechdisable is "f" ? "breed with" : "fuck")>> me? But it's my first time." <<else>> "Why are you poking my willy? Silly <<beasttype>>!" <</if>> <<else>> "You want to put it in? Be gentle with me." <</if>> <<elseif $anusstate is "imminent">> <<if $player.virginity.anal is true>> <<if $awarelevel gte 1>> "You want to <<print ($pregnancyspeechdisable is "f" ? "breed with" : "fuck")>> me? Please be gentle, that hole hasn't been used before." <<else>> "Why are you poking my bottom? Silly <<beasttype>>!" <</if>> <<else>> "You want to put it in? Be gentle with me." <</if>> <<elseif $vaginastate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "A <<beasttypes>> cock is inside me, mating with me." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Good <<beasttype>>. <<print ($pregnancyspeechdisable is "f" ? "B-breed" : "F-fuck")>> me with your <<beasttype>> cock." <<else>> "I-I'm gonna cum, from a <<beasttype>> f-fucking my pussy." <</if>> <<elseif $penisstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "A <<beasttype>> is swallowing my cock, mating with me." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Good <<beasttype>>. I'll fill you with my s-seed." <<else>> "I-I'm gonna cum... from a <<beasttype>> mating with me." <</if>> <<elseif $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "A <<beasttype>> is swallowing my cock, mating with me." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Good <<beasttype>>. I'll fill you with my s-seed." <<else>> "I-I'm gonna cum... from a <<beasttype>> mating with me." <</if>> <<elseif $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "A <<beasttypes>> cock is inside my ass, mating with me." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Good <<beasttype>>. F-fill my ass with your seed." <<else>> "I-I'm gonna cum... from a <<beasttype>> fucking my ass." <</if>> <<elseif $vaginastate is "othermouthimminent" or $vaginastate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "I taste good, don't I." <<case 1>> "T-take me with your tongue." <<case 2>> "Your mouth is warm." <<case 3>> "What are you waiting for? Have a taste." <<case 4>> "I think <<beasttype>> tongues are the best." <<case 5>> "Your tongue is making me feel funny." <<default>> "L-lick harder." <</switch>> <<elseif $vaginastate is "othermouth">> <<switch $speechcycle>> <<case 0>> "It's all squirmy and slimy." <<case 1>> "That's it. F-fill me with your <<beasttype>> tongue." <<case 2>> "H-harder. Lick me harder." <<case 3>> "A <<beasttype>> is filling me." <<case 4>> "M-more!" <<case 5>> "I-I'm being fucked by a <<beasttypes>> tongue." <<default>> "I-is it tasty? Please don't stop." <</switch>> <<elseif $penisstate is "othermouthimminent" or $penisstate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "I taste good, don't I." <<case 1>> "T-take me with your tongue." <<case 2>> "Your mouth is warm." <<case 3>> "What are you waiting for? Have a taste." <<case 4>> "I think <<beasttype>> tongues are the best." <<case 5>> "Your tongue is making me feel funny." <<default>> "L-lick harder." <</switch>> <<elseif $penisstate is "othermouth">> <<switch $speechcycle>> <<case 0>> "It's all squirmy and slimy." <<case 1>> "That's it. W-wrap around me with your <<beasttype>> tongue." <<case 2>> "H-harder. Lick me harder." <<case 3>> "I'm inside a <<beasttype>>." <<case 4>> "M-more!" <<case 5>> "I-I'm being fucked by a <<beasttypes>> mouth." <<default>> "I-is it tasty? Please don't stop." <</switch>> <<elseif $anusstate is "othermouthimminent" or $anusstate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "I taste good, don't I." <<case 1>> "T-take me with your tongue." <<case 2>> "Your mouth is warm." <<case 3>> "What are you waiting for? Have a taste." <<case 4>> "I think <<beasttype>> tongues are the best." <<case 5>> "Your tongue is making me feel funny." <<default>> "L-lick harder." <</switch>> <<elseif $anusstate is "othermouth">> <<switch $speechcycle>> <<case 0>> "It's all squirmy and slimy." <<case 1>> "That's it. F-fill me with your <<beasttype>> tongue." <<case 2>> "H-harder. Lick me harder." <<case 3>> "A <<beasttype>> is filling me." <<case 4>> "M-more!" <<case 5>> "I-I'm being fucked by a <<beasttypes>> tongue." <<default>> "I-is it tasty? Please don't stop." <</switch>> <<elseif $exposed gte 2>> <<switch random(1,5)>> <<case 1>> "You like what you see?" <<case 2>> "Do I look tasty?" <<case 3>> "I-I'm all exposed in front of a <<beasttype>>. What will it do with me?" <<case 4>> "Look closer, I want you to see everything." <<case 5>> "You can do more than just look, you know." <</switch>> <<else>> <<if $awarelevel gte 1>> <<if $arousal lte $arousalmax / 5>> "Good <<beasttype>>. Please be gentle with me." <<elseif $arousal lte ($arousalmax / 5) * 3>> "You want to <<print ($pregnancyspeechdisable is "f" ? "breed with" : "fuck")>> me? I'm flattered." <<else>> "<<print ($pregnancyspeechdisable is "f" ? "B-breed" : "F-fuck")>> me. Make me your <<beasttype>> bitch." <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> "Good <<beasttype>>. Please be gentle with me." <<case 2>> "You're tickling me!" <<case 3>> "Do you want to be friends, <<beasttype>>?" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "You're making me feel strange." <<else>> "Y-you're m-making me feel strange." <</if>> <</if>> <</if>> <<else>> <<if $vaginastate is "imminent">> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "Please be gentle with my pussy, it's my first time." <<else>> "Poking me there is making me feel funny!" <</if>> <<else>> "Please stop teasing me, my pussy aches for you!" <</if>> <<elseif $penisstate is "imminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Please be gentle with my penis, it's my first time." <<else>> "My willy feels funny when you make it poke you there!" <</if>> <<else>> "Please hurry and swallow me, I can't take any teasing!" <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Please be gentle with my penis, It's my first time." <<else>> "My willy feels funny when you make it poke you there!" <</if>> <<else>> "Please hurry and swallow me, I can't take any teasing!" <</if>> <<elseif $anusstate is "imminent">> <<if $player.virginity.anal is true>> <<if $awarelevel gte 1>> "I don't know why you like my ass so much, but it's making me feel good." <<else>> "You're making my bottom tickle!" <</if>> <<else>> "I can't wait for you to fill my ass." <</if>> <<elseif $vaginastate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "That's it, fill my pussy." <<elseif $arousal lte ($arousalmax / 5) * 4>> "You're making my pussy feel so good!" <<else>> "D-don't stop... I'm gonna c-cum." <</if>> <<elseif $penisstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "It's so warm inside you." <<elseif $arousal lte ($arousalmax / 5) * 4>> "T-take all of me!" <<else>> "D-don't stop... I'm gonna c-cum." <</if>> <<elseif $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "It's so warm inside you." <<elseif $arousal lte ($arousalmax / 5) * 4>> "T-take all of me!" <<else>> "D-don't stop... I'm gonna c-cum." <</if>> <<elseif $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "That's it, fill my ass up." <<elseif $arousal lte ($arousalmax / 5) * 4>> "K-keep going." <<else>> "D-don't stop... I'm gonna c-cum." <</if>> <<elseif $exposed gte 2 and $rng gte 51>> <<if not $gloryhole>> <<switch random(0,4)>> <<case 0>> "You like what you see?" <<case 1>> "I'm unwrapped and ready for you." <<case 2>> "I-I'm all exposed and vulnerable. What will you do with me?" <<case 3>> "Y-you can see everything." <<case 4>> "You can do more than just look." <</switch>> <<else>> <<switch random(0,4)>> <<case 0>> "I'm naked over here. Too bad you can't see me!" <<case 1>> "I'm all naked on this side." <<case 2>> "I-I'm all exposed and vulnerable at the other side. Wouldn't you love to see?" <<case 3>> "Such a shame you can't see my naked body." <<case 4>> "You don't know what you're missing by not seeing me!" <</switch>> <</if>> <<else>> <<if $awarelevel gte 1>> <<if not $gloryhole>> <<if $arousal lte $arousalmax / 5>> "I'm all yours." <<elseif $arousal lte ($arousalmax / 5) * 3>> "You're making me feel so good!" <<else>> "I'm gonna c-cum!" <</if>> <<else>> <<if $enemyno is 1 and $NPCList[0].penis !== "none" and random(0,4) !== 0>> <<set _dick to either('dick','penis')>> <<elseif $enemyno is 1 and $NPCList[0].vagina isnot "none" and random(0,4) isnot 0>> <<set _dick to either('cunt', 'quim', 'pussy', 'vagina')>> <<else>> <<set _dick to 0>> <</if>> <<switch random(0,1)>> <<case 0>> <<set _anonymous to 'gloryhole'>> <<set _Anonymous to 'Gloryhole'>> <<set _An_anonymous to 'A gloryhole'>> <<case 1>> <<set _anonymous to 'anonymous'>> <<set _Anonymous to 'Anonymous'>> <<set _An_anonymous to 'An anonymous'>> <</switch>> <<if _dick>> <<if $arousal lte $arousalmax / 5>> <<if $speech_attitude is "meek">> <<switch random(0,3)>> <<case 0>> "I'm here to please your _dick." <<case 1>> "I'll make your _dick feel good." <<case 2>> "I will serve your _dick." <<case 3>> "I love pleasuring your _dick." <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(0,2)>> <<case 0>> "_Anonymous _dick is just what I need." <<case 1>> "_An_anonymous _dick is just the toy I need!" <<case 2>> "This _anonymous _dick is all mine." <</switch>> <<else>> <<switch random(0,1)>> <<case 0>> "Let me take care of your _dick." <<case 0>> "I'll take care of your _dick." <</switch>> <</if>> <<elseif $arousal lte ($arousalmax / 5) * 2>> <<switch random(0,2)>> <<case 0>> "_Anonymous _dick is so exciting!" <<case 1>> "_Anonymous _dick is such a turn on!" <<case 2>> "_Anonymous _dick is so much fun!" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> <<switch random(0,3)>> <<case 0>> "Who knew _anonymous _dick could feel so good?" <<case 1>> "This feels so good!" <<case 2>> "I love _anonymous _dick!" <<case 4>> "K-keep... d-doing... t-that!" <</switch>> <<else>> <<switch random(0,2)>> <<case 0>> "S-so close... to c-cumming!" <<case 1>> "Almost... that _dick... S-so g-good... Almost c-cumming!" <<case 2>> "I'm gonna c-cum!" <</switch>> <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> <<if $speech_attitude is "meek">> <<switch random(0,3)>> <<case 0>> "I'm here to please you." <<case 1>> "I'll make you feel good." <<case 2>> "I will serve you." <<case 3>> "I love pleasuring you." <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(0,2)>> <<case 0>> "Just what I need." <<case 1>> "Such a nice plaything!" <<case 2>> "This is all mine." <</switch>> <<else>> <<switch random(0,1)>> <<case 0>> "Let me take care of you." <<case 0>> "I'll take care of you." <</switch>> <</if>> <<elseif $arousal lte ($arousalmax / 5) * 2>> <<switch random(0,2)>> <<case 0>> "Gloryholes are so exciting!" <<case 1>> "Gloryholes are such a turn on!" <<case 2>> "Gloryholes are so much fun!" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> <<switch random(0,3)>> <<case 0>> "Who knew a gloryhole could feel so good?" <<case 1>> "This feels so good!" <<case 2>> "I love this gloryhole!" <<case 3>> "K-keep... d-doing... t-that!" <</switch>> <<else>> <<switch random(0,2)>> <<case 0>> "So close... t-to... c-cumming!" <<case 1>> "Almost... S-so g-good... A-almost cumming!" <<case 2>> "I'm gonna c-cum!" <</switch>> <</if>> <</if>> <</if>> <<else>> <<if $arousal lte $arousalmax / 5 and not $gloryhole>> <<switch random(1,3)>> <<case 1>> "You're making me feel funny." <<case 2>> "Will you take care of me?" <<case 3>> "You're very strong!" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "You're making me feel strange. Don't stop." <<else>> "D-don't... s-stop..." <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "actionschoke">> You <<voice "moan">>. <<if $awarelevel gte 2 or $choketrait is 1>> <<set _daddy to $enemyno is 1 and $NPCList[0].pronoun is 'm' and $submissive gte 1150 and random(1, 4) is 1>> <<switch $speechcycle>> <<case 0>> "Choke me<<if _daddy>>, daddy<</if>>." <<case 1>> "Put your hand on my neck, please." <<case 2>> "Harder<<if _daddy>>, daddy<</if>>! Choke me harder!" <<case 3>> "<<if _daddy>>Daddy, I<<else>>I<</if>> want you to choke me." <<case 4>> "Please, squeeze my throat!" <<case 5>> "Grab my neck<<if _daddy>>, daddy<</if>>." <<default>> "Choke me hard." <</switch>> <<else>> <<switch $speechcycle>> <<case 0>> "Can you put your hand on my neck?" <<case 1>> "Hold me by the neck, please." <<case 2>> "Put your hand on my neck, please." <<case 3>> "Last time it felt funny to have my neck squeezed. Can you do it, please?" <<case 4>> "Can you take my neck? I want to feel it again." <<case 5>> "Put your hand here, please." <<default>> "Hold me here, it feels good." <</switch>> <</if>> <</widget>> <<widget "actionsdemand">> <<checkforloveinterests>> <<if $robinRentEvent is 1 and ["Robin","pay","still"].includes($combatPhase)>> You <<voice "demand">>. <<switch random(1,5)>> <<case 1>> "Let Robin go right now!" <<case 2>> "Let <<nnpc_him "Robin">> go, Bailey!" <<case 3>> "I'm not letting you take <<nnpc_him "Robin">> away!" <<case 4>> "Get off of me! Let me help Robin!" <<case 5>> <<if isLoveInterest("Robin")>> "Don't you dare touch <<nnpc_him "Robin">> ever again!" <<else>> "Don't you dare hurt <<nnpc_him "Robin">>!" <</if>> <</switch>> <<elseif $enemytype is "beast">> You <<voice "demand">>. <<if _loveInterest is "Eden" and $location is "forest" and random(0,100) lte 15>> <<switch random(0,1)>> <<case 0>> "I know someone that will skin you alive for this!" <<case 1>> "Eden will have your hide for this, you damned <<beasttype>>." <</switch>> <<if $npc.includes("Black Wolf")>> <br> The Black Wolf seems especially agitated by your words. <</if>> <<elseif $vaginastate is "imminent">> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "There's no way I'm letting a filthy <<beasttype>> take my virginity!" <<else>> "Stop poking me there, stupid <<beasttype>>." <</if>> <<else>> "I'm not letting a <<beasttype>> fuck me. Get off!" <</if>> <<elseif $penisstate is "imminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "There's no way I'm letting a filthy <<beasttype>> take my virginity!" <<else>> "Stop poking me there, stupid <<beasttype>>." <</if>> <<else>> "I'm not letting a <<beasttype>> fuck me. Get off!" <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "There's no way I'm letting a filthy <<beasttype>> ass take my virginity!" <<else>> "Stop poking me there, stupid <<beasttype>>." <</if>> <<else>> "I'm not letting a <<beasttype>> fuck me. Get off!" <</if>> <<elseif $anusstate is "imminent">> <<if $player.virginity.anal is true>> <<if $awarelevel gte 1>> "What do you think you're doing back there? Stop it!" <<else>> "Stop poking my bottom. Stupid <<beasttype>>." <</if>> <<else>> "Get the fuck away from my ass!" <</if>> <<elseif $vaginastate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Take your filthy <<beasttype>> cock out of my pussy right now!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off of me you fucking <<beasttype>>, I'm not your toy!" <<else>> "I-I'm not gonna cum from a stupid <<beasttype>> fucking me... I'm not..." <</if>> <<elseif $penisstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Release me this instant, stupid <<beasttype>>!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off of me you fucking <<beasttype>>, I'm not your toy!" <<else>> "I-I'm not gonna cum from a stupid <<beasttype>> fucking me... I'm not..." <</if>> <<elseif $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Release me this instant, stupid <<beasttype>>!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off of me you fucking <<beasttype>>, I'm not your toy!" <<else>> "I-I'm not gonna cum from a stupid <<beasttype>> fucking me... I'm not..." <</if>> <<elseif $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Get your filthy <<beasttype>> cock out of my ass right now!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off of me you fucking <<beasttype>>, I'm not your toy!" <<else>> "I-I'm not gonna cum from a stupid <<beasttype>> fucking my ass... I'm not..." <</if>> <<elseif $vaginastate is "othermouthimminent" or $vaginastate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "Get your disgusting tongue away from me!" <<case 1>> "No <<beasttype>> tongue belongs anywhere near me." <<case 2>> "Eww, get away!" <<case 3>> "I'm not gonna be licked by a dumb <<beasttypes>> tongue." <<case 4>> "Your tongue is slimy and horrible." <<case 5>> "Get that tongue away from my pussy." <<default>> "Don't you dare lick me there." <</switch>> <<elseif $vaginastate is "othermouth">> <<switch $speechcycle>> <<case 0>> "Take your <<beasttype>> tongue out of me this instant!" <<case 1>> "I'm not for tasting." <<case 2>> "It's all slimy and disgusting." <<case 3>> "Hurry up and have your fill." <<case 4>> "No <<beasttype>> deserves to taste me there." <<case 5>> "I can't believe a <<beasttype>> is licking me in such a place." <<default>> "Stop licking me there!" <</switch>> <<elseif $penisstate is "othermouthimminent" or $penisstate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "Get your disgusting tongue away from me!" <<case 1>> "No <<beasttype>> tongue belongs anywhere near me." <<case 2>> "Eww, get away!" <<case 3>> "I'm not gonna be licked by a dumb <<beasttypes>> tongue." <<case 4>> "Your tongue is slimy and horrible." <<case 5>> "Get that tongue away from my dick." <<default>> "Don't you dare lick me there." <</switch>> <<elseif $penisstate is "othermouth">> <<switch $speechcycle>> <<case 0>> "Get your <<beasttype>> mouth away from me this instant!" <<case 1>> "I'm not for tasting." <<case 2>> "It's all slimy and disgusting." <<case 3>> "Hurry up and have your fill." <<case 4>> "No <<beasttype>> deserves to taste me there." <<case 5>> "I can't believe a <<beasttype>> is licking me in such a place." <<default>> "Stop licking me there!" <</switch>> <<elseif $anusstate is "othermouthimminent" or $anusstate is "othermouthentrance">> <<switch $speechcycle>> <<case 0>> "Get your disgusting tongue away from me!" <<case 1>> "No <<beasttype>> tongue belongs anywhere near me." <<case 2>> "Eww, get away!" <<case 3>> "I'm not gonna be licked by a dumb <<beasttypes>> tongue." <<case 4>> "Your tongue is slimy and horrible." <<case 5>> "Get that tongue away from my rear." <<default>> "Don't you dare lick me there." <</switch>> <<elseif $anusstate is "othermouth">> <<switch $speechcycle>> <<case 0>> "Take your <<beasttype>> tongue out of me this instant!" <<case 1>> "I'm not for tasting." <<case 2>> "It's all slimy and disgusting." <<case 3>> "Hurry up and have your fill." <<case 4>> "No <<beasttype>> deserves to taste me there." <<case 5>> "I can't believe a <<beasttype>> is licking me in such a place." <<default>> "Stop licking me there!" <</switch>> <<elseif $exposed gte 2>> <<switch random(0,4)>> <<case 0>> "Get away from my private place!" <<case 1>> "You like what you see, <<beasttype>>? I'll make you pay for it." <<case 2>> "Don't you dare look, filthy creature." <<case 3>> "I might be exposed, but I'm not afraid of you!" <<case 4>> "You like what you see? Of course you do, stupid <<beasttype>>." <</switch>> <<elseif $awarelevel gte 1>> <<if $arousal lte $arousalmax / 5>> "Stupid <<beasttype>>. Get away from me." <<elseif $arousal lte ($arousalmax / 5) * 3>> "Get the fuck away from me, right now!" <<else>> "Y-you'll pay for this, stupid <<beasttype>>." <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> "Stupid <<beasttype>>. Shoo!" <<case 2>> "I don't want to play with you. Go away." <<case 3>> "Go away, you're filthy." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "I want you to go away, isn't that clear?" <<else>> "I-I hate you, stupid <<beasttype>>." <</if>> <</if>> <<else>> <<if $npc.includes("Bailey")>> You <<voice "demand">>. <<if $rng lte 15>> <<if $awarelevel gte 1>> "I'm not letting you auction us off like whores!" <<else>> "What do you want from me?!" <</if>> <<elseif $rng lte 30>> <<if $robinmissing isnot 0>> "What the fuck did you do to Robin?" <<elseif C.npc.Robin.trauma gte 60>> "It's your fault Robin is hurt!" <<elseif $robindebtknown is 1>> "No more extortion!" <<else>> "You're a monster!" <</if>> <<elseif $rng lte 45>> "You're worse than the rapists you cater to." <<elseif $rng lte 60>> "You're a shit caretaker." <<elseif $rng lte 75>> "You're going to pay for what you've done." <<elseif $pain gte 40>> "You abusive, vindictive fuck!" <<else>> "I'm not going without a fight!" <</if>> <<elseif _loveInterest isnot undefined and random(0,100) lte 15>> <<set $speechnamedrop to $npc.includes(_loveInterest) ? 0 : 1>> <<if $speechnamedrop is 0>> You speak. <<else>> You <<voice "demand">>. <</if>> <<rng>> <<switch _loveInterest>> <<case "Robin">> <<if $npc.includes("Robin")>> "Robin, stop! I don't want this!" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Robin is the only one that deserves my virginity!" <<else>> "Get away from my special place! I'll only let Robin have it!" <</if>> <<else>> "H-Hey! That's for Robin, not you, asshole!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Robin's the one I love! You could never satisfy me!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get out! That's for Robin!" <<else>> "I-I'm not cheating on Robin, you piece of...!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Robin's the one I love! You could never satisfy me!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off of me! That's for Robin!" <<else>> "I-I'm not cheating on Robin, you piece of...!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Robin's earned my body. You haven't. Look away. Now!" <<case 2>> "At least Robin holds my hand before trying to see me naked." <<case 3>> "Don't you dare look! This body is for Robin!" <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Fuck off, I already belong to Robin!"<<else>>"You're mean! I only want Robin!"<</if>> <<case 2>> "I'm not going to break Robin's heart!" <<case 3>> "Robin needs me, let me go!" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "Even Robin is better at touching me than you are." <<else>> "Only Robin can... make me feel like this! Not you!" <</if>> <</if>> <<case "Kylar">> <<if $npc.includes("Kylar")>> "I'm not in the mood for your shit right now, Kylar." <<elseif $vaginastate is "imminent">> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "If you make me bleed, Kylar will make you bleed!" <<else>> "That's my special place. Only Kylar's allowed there!" <</if>> <<else>> "Kylar will find you if you violate me!" <</if>> <<elseif $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "I'm saving myself for Kylar! If you steal this from me, we'll never forgive you!" <<else>> "That's my special place. Only Kylar's allowed there!" <</if>> <<else>> "Kylar will find you if you violate me!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Pathetic. You could never make me happy like Kylar does." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get out! You don't know who you're going to piss off by doing this." <<else>> "I-I'd never cheat on Kylar, you piece of...!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Pathetic. You could never make me happy like Kylar does." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get the fuck off of me! You don't know who you're going to piss off by doing this." <<else>> "I-I'd never cheat on Kylar, you piece of...!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Only Kylar deserves to see my body like this. Don't you dare look!" <<case 2>> "My body belongs to Kylar. Clothes too. Now fuck off." <<case 3>> "Kylar did something pretty nasty to the last person that saw me naked, you know." <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Kylar will fuck you up badly for this."<<else>>"I know someone who can hurt you. Badly!"<</if>> <<case 2>> "I won't break Kylar's heart. I'll break your face instead." <<case 3>> "Kylar likes to cut people who mess with me. Better leave." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "No one is scarier than Kylar, especially not you." <<else>> "Kylar will... hurt you for this...!" <</if>> <</if>> <<if $location is "school" and $speechnamedrop is 1 and Time.schoolDay>> <<status -1>><<lcool>> <</if>> <<case "Whitney">> <<if $npc.includes("Whitney")>> "You can't just fuck me whenever you want, Whitney!" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Whitney will kill me if you take my virginity! Don't!" <<else>> "I only let Whitney touch my special place! Stop!" <</if>> <<else>> "PROPERTY! OF! WHITNEY!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Oh, please. Whitney fucks me way harder! This is nothing." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get out! Whitney will beat us both to a pulp for this!" <<else>> "Whitney will... end you...!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Oh, please. Whitney fucks me way harder! This is nothing." <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get out! Whitney will beat us both to a pulp for this!" <<else>> "Whitney will... end you...!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Just because I get naked for Whitney doesn't mean you can grab me!" <<case 2>> "I only strip for Whitney. Eyes off." <<case 3>> "I'm going to make sure Whitney gets you for this, pervert!" <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"I'm Whitney's slut, not yours!"<<else>>"Only Whitney can play rough with me! Get away!"<</if>> <<case 2>> "I'm taken, and Whitney doesn't share with people like you." <<case 3>> "I'm Whitney's property, and you're trespassing." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "I'm Whitney's pet! You're just a lonely freak!" <<else>> "Only... Whitney can make me...!" <</if>> <</if>> <<if $location is "school" and Time.schoolDay>> <<status 1>><<gcool>> <</if>> <<case "Eden">> <<if $npc.includes("Eden")>> "I'm not your prey today, leave me alone." <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Eden will be the one to take me, not you!" <<else>> "I only trust Eden with that! Get away!" <</if>> <<else>> "If you violate me, Eden will kill you!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "You may think you're a predator, but to Eden, you're nothing but prey!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get out! I belong to the <<nnpc_title "Eden">>!" <<else>> "Y...you're trespassing on Eden's... AAH! Property!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "You may think you're a predator, but to Eden, you're nothing but prey!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off of me! I belong to the <<nnpc_title "Eden">>!" <<else>> "Y...you're trespassing on Eden's... AAH! Property!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Look while you still can, pervert. Eden will hunt you down for this." <<case 2>> "Eden will use your hide to make me new clothes!" <<case 3>> "I have to get back to the cabin... and tell Eden what you've done!" <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"I am Eden's mate! You'll regret this!"<<else>>"I am Eden's companion! You'll regret this!"<</if>> <<case 2>> "You're so bad at this. I'm having a hard time pretending you're Eden." <<case 3>> "Eden was right about you people. Nothing but animals!" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "You might have my body, but my heart is in the forest with Eden!" <<else>> "Go ahead. Mark me with your scent. It will only make Eden's hunt that much easier." <</if>> <</if>> <<case "Black Wolf">> <<if $npc.includes("Black Wolf")>> "Down. DOWN!" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "My wolf is more worthy of my virginity than you!" <<else>> "Only the big wolf is allowed to touch me there!" <</if>> <<else>> "If you violate me, my pack will be jealous. Maybe they'll come for you next!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "No knot, no interest." <<elseif $arousal lte ($arousalmax / 5) * 4>> "What's the point of your lousy dick if it doesn't even get stuck?" <<else>> "Y...your dick could never satisfy me the way the wolves do!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Nothing like the wolves. Just give it up already." <<elseif $arousal lte ($arousalmax / 5) * 4>> "How does it feel knowing a wolf is a better fuck than you?" <<else>> "The wolves are the only ones that deserve my seed!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Ugh! The wolves don't stare as much! You're creepy!" <<case 2>> "Get your eyes off of me, only my wolf can lust after me!" <<case 3>> "This body was only meant for the wolf pack. Look away!" <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Only the wolves can <<print ($pregnancyspeechdisable is "f" ? "breed with" : "fuck")>> me!"<<else>>"Leave me alone! I only cuddle with the wolves!"<</if>> <<case 2>> "A wolf pack treats me with more courtesy than you." <<case 3>> "How is it that a wolf is more romantic than you?" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "Let go! I belong in the forest with my wolves!" <<else>> "I'll howl, and my big bad wolf will come. You'll be sorry then!" <</if>> <</if>> <<famebestiality $enemyno>> <<case "Avery">> <<if $npc.includes("Avery")>> "You don't pay me enough to treat me like this!" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "I'm saving myself for Avery, fuck off!" <<else>> "I only let Avery touch me there!" <</if>> <<else>> "H-Hey! That's for Avery, not you!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "At least Avery pays me to do this!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get out! Avery owns me!" <<else>> "Avery will give me hell for this, just stop!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "At least Avery pays me to do this!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off of me! Avery owns me!" <<else>> "Avery will give me hell for this, just stop!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Unlike Avery, you haven't paid to see me naked. Fuck off." <<case 2>> "At least Avery takes me to dinner first. Get your eyes off of me!" <<case 3>> "Don't you dare look! This body is for Avery!" <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Does the name Avery sound familiar, asshole? I can make sure you never work in this town again!"<<else>>"I only want Avery! Go away!"<</if>> <<case 2>> "I won't betray Avery's trust!" <<case 3>> "You could take notes from Avery on how to be romantic. Fuck off." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "I'll just close my eyes and pretend you're Avery, you're boring me." <<else>> "At least... Avery takes me on a date first...!" <</if>> <</if>> <<case "Great Hawk">> <<if $npc.includes("Great Hawk")>> "Stop pecking me!" <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "Stop! I'm saving my virginity for my <<hawkText>> spouse!" <<else>> "Only my <<hawkText>> spouse gets to touch me in those areas!" <</if>> <<else>> "The Great Hawk has <<nnpc_his "Great Hawk">> eye on you." <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "I'm not seeing any talons on you. I'm disappointed." <<elseif $arousal lte ($arousalmax / 5) * 4>> "I'd prefer feathery dicks, thanks." <<else>> "They didn't call <<nnpc_him "Great Hawk">> the "Great" Hawk for nothing. You're pathetic." <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Cloacas are my area of expertise, not this." <<elseif $arousal lte ($arousalmax / 5) * 4>> "You're nothing compared to my <<hawkText>> spouse." <<else>> "I was meant to make babies with my <<hawkText>> spouse, so kindly get the fuck off of me!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "Ugh, the Great Hawk doesn't even stare this much! You're creepy!" <<case 2>> "My eyes are up here. Is your name the 'Great Hawk'?" <<case 3>> "This body is preserved for the Great Hawk only." <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"I have a <<hawkText>> spouse already. NOT. AVAILABLE."<<else>>"I live like a <<if $player.gender_appearance is "m">>king<<else>>queen<</if>> in a castle with a lovely <<hawkText>> spouse, why should I bother with you?"<</if>> <<case 2>> "A <<hawkText>> treats me better than you." <<case 3>> "At least bring me a ring first before you have your way with me, like the Great Hawk." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "You'd better keep your eyes on the sky, the Great Hawk will be after you for this!" <<else>> "I'll scream, and the Great Hawk will come swooping in. You just watch!" <</if>> <</if>> <<famebestiality $enemyno>> <<case "Alex">> <<if $npc.includes("Alex")>> "Alex, you idiot! Control yourself." <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $player.virginity.vaginal is true and $player.virginity.penile is true>> <<if $awarelevel gte 1>> "My virginity belongs to Alex!" <<else>> "Get away from my special place! It's for Alex!" <</if>> <<else>> "That's Alex's territory, not yours!" <</if>> <<elseif $vaginastate is "penetrated" or $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Alex is much better than you!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Wait until Alex hears. You'll get smacked down!" <<else>> "I'm not doing this because I want to, Alex!" <</if>> <<elseif $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Alex is much better than you!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Wait until Alex hears. You'll get smacked down!" <<else>> "I'm not doing this because I want to, Alex!" <</if>> <<elseif $exposed gte 2>> <<switch random(1,3)>> <<case 1>> "This body is for Alex, and Alex alone." <<case 2>> "Alex has more respect for my body." <<case 3>> "Alex, save me from these filthy eyes." <</switch>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"Fuck off, or I'll tell Alex!"<<else>>"Alex will find out, and beat you!"<</if>> <<case 2>> "I'm not going to betray Alex!" <<case 3>> "I'm Alex's partner, not yours!" <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "You're nothing compared to Alex." <<else>> "I-I only feel like this because I'm thinking about Alex!" <</if>> <</if>> <<case "Sydney">> <<run statusCheck("Sydney")>> <<if $npc.includes("Sydney")>> <<if _sydneyStatus.includes("corrupt")>> "I miss when you were pure. At least you didn't pull shit like this." <<else>> "What sort of punishment is this? Get off me!" <</if>> <<elseif $vaginastate is "imminent" or $penisstate is "imminent" or $penisstate is "otheranusimminent">> <<if $templePromised is "Sydney">> <<if (($player.virginity.vaginal is true or $player.virginity.temple is true) and $vaginastate is "imminent") or (($player.virginity.penile is true and $player.virginity.temple is true) and ($penisstate is "imminent" or $penisstate is "otheranusimminent"))>> <<if $awarelevel gte 1>> "I'm bound to Sydney, not you! Get off me!" <<else>> "You can't! Me and Sydney are bound as one!" <</if>> <<else>> "Sydney's the only one that can defile me!" <</if>> <<else>> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "I love Sydney, not you! Get off me!" <<else>> "You can't! Me and Sydney are meant to be!" <</if>> <<else>> "Sydney's the only one that can please me!" <</if>> <</if>> <<elseif $vaginastate is "penetrated" or $penisstate is "penetrated" or $penisstate is "otheranus">> <<if $templePromised is "Sydney">> <<if $arousal lte $arousalmax / 5>> "This means nothing! Sydney and I are still one!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Sydney and I are bound, and you're NOT part of it!" <<else>> "You won't... break our bond...!" <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> "This means nothing! Sydney and I are still together!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Sydney and I are together, and you're NOT part of it!" <<else>> "You won't... break our love...!" <</if>> <</if>> <<elseif $anusstate is "penetrated">> <<if $templePromised is "Sydney">> <<if $arousal lte $arousalmax / 5>> "The temple doesn't care about that, but I do! Back off!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Every part of me is Sydney's, even there!" <<else>> "You won't... break our bond...!" <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> "The temple doesn't care about that, but I do! Back off!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "I'm saving everything for Sydney, even there!" <<else>> "You won't... break our love...!" <</if>> <</if>> <<elseif $exposed gte 2>> <<if $templePromised is "Sydney">> <<switch random(1,3)>> <<case 1>> "I'm all for Sydney! Get away!" <<case 2>> "The temple joined Sydney and I, and you're NOT part of it!" <<case 3>> "See this? This belongs to Sydney, not you." <</switch>> <<else>> <<switch random(1,3)>> <<case 1>> "I'm all for Sydney! Get away!" <<case 2>> "Sydney's the one I love! This is for <<nnpc_him "Sydney">>!" <<case 3>> "See this? I'm saving this for Sydney, not you." <</switch>> <</if>> <<else>> <<if $templePromised is "Sydney">> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"You damned sinner."<<else>>"You filthy sinner."<</if>> <<case 2>> "I won't break my promise to Sydney!" <<case 3>> "Don't even look at me. Your eyes make me feel impure." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "You'll burn for doing this to me! The temple will make sure!" <<else>> "My promise to Sydney... you won't make me break it...!" <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> <<if $awarelevel gte 1>>"You poor, damned soul."<<else>>"You poor, wretched soul."<</if>> <<case 2>> "I won't betray Sydney's trust!" <<case 3>> "Don't even look at me. You're not Sydney." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "You'll pay for doing this to me! The temple will make sure!" <<else>> "Our love... you won't take it from me and Sydney...!" <</if>> <</if>> <</if>> <<default>> <</switch>> <<else>> You <<voice "demand">>. <<if $npc.includes("Robin")>> <<if $robinmist>> "Robin, stop! This isn't like you!" <<else>> "Robin, get a hold of yourself!" <</if>> <<elseif $vaginastate is "imminent">> <<if $player.virginity.vaginal is true>> <<if $awarelevel gte 1>> "If you take my virginity I'll never forgive you." <<else>> "That's my special place. You're not allowed there!" <</if>> <<else>> "Get that disgusting thing away from me!" <</if>> <<elseif $penisstate is "imminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "If you take my virginity I'll never forgive you." <<else>> "That's my special place. You're not allowed there!" <</if>> <<else>> "Get that disgusting thing away from me!" <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $player.virginity.penile is true>> <<if $awarelevel gte 1>> "If you take my virginity I'll never forgive you." <<else>> "That's my special place. You're not allowed there!" <</if>> <<else>> "Get your disgusting ass away from me!" <</if>> <<elseif $anusstate is "imminent">> <<if $player.virginity.anal is true>> <<if $awarelevel gte 1>> "I don't know what you think you're doing, but you're gonna get the fuck away from me this instant." <<else>> "I don't know why you're poking my bottom, but stop right now!" <</if>> <<else>> "Get away from my ass, pervert!" <</if>> <<elseif $vaginastate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Get out of my pussy right now!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off me, rapist scum!" <<else>> "I-If you make me c-cum, I'll never forgive you." <</if>> <<elseif $penisstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Get off my penis right now!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off me, rapist scum!" <<else>> "I-If you make me c-cum, I'll never forgive you." <</if>> <<elseif $penisstate is "otheranus">> <<if $arousal lte $arousalmax / 5>> "Get off my penis right now!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get your ass off me, rapist scum!" <<else>> "I-If you make me c-cum, I'll never forgive you." <</if>> <<elseif $anusstate is "penetrated">> <<if $arousal lte $arousalmax / 5>> "Get out of my ass right now!" <<elseif $arousal lte ($arousalmax / 5) * 4>> "Get off me, rapist scum!" <<else>> "I-If you make me c-cum, I'll never forgive you." <</if>> <<elseif $exposed gte 2 and $rng gte 51>> <<switch random(0,4)>> <<case 0>> "Get away from my private place!" <<case 1>> "You like what you see, you useless fuck? I'll make you pay for it." <<case 2>> "Don't you dare look, rapist piece of shit." <<case 3>> "I might be exposed, but I'm not afraid of you!" <<case 4>> "You like what you see? Of course you do, pervert." <</switch>> <<elseif $awarelevel gte 1>> <<if $arousal lte $arousalmax / 5>> "Get away from me, pervert." <<elseif $arousal lte ($arousalmax / 5) * 3>> "Stop touching me right now or I'll make you pay!" <<else>> "I-I'm not gonna cum... I'm not." <</if>> <<else>> <<if $arousal lte $arousalmax / 5>> <<switch random(1,3)>> <<case 1>> "Go away!" <<case 2>> "I don't like you, get away from me." <<case 3>> "Stop touching me." <</switch>> <<elseif $arousal lte ($arousalmax / 5) * 3>> "Leave me alone." <<else>> "I-It's your fault I feel strange. Go away!" <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "actionsmock">> <<set $mockcycle to $mockcycle gt -1 ? ($mockcycle + 1) % 5 : 0>> <<if $mockaction is "penis">> <<if $vaginause is "penis">> <<if $vaginastate is "penetrated">> <<switch $mockcycle>> <<case 0>> "I can barely feel it," <<case 1>> "The last cock was much larger," <<case 2>> "Is it even in yet?" <<case 3>> "Don't you have something bigger?" <<case 4>> "How disappointing," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "I bet the thought of entering my pussy is driving you mad," <<case 1>> "I'm not sure you're big enough," <<case 2>> "What are you waiting for?" <<case 3>> "I bet you cum before you get it in," <<case 4>> "Do you even know how to use that thing?" <</switch>> <</if>> <<elseif $anususe is "penis">> <<if $anusstate is "penetrated">> <<switch $mockcycle>> <<case 0>> "I can barely feel it," <<case 1>> "The last cock was much larger," <<case 2>> "Is it even in yet?" <<case 3>> "Don't you have something bigger?" <<case 4>> "How disappointing," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "I bet the thought of entering my ass is driving you mad," <<case 1>> "I'm not sure you're big enough," <<case 2>> "What are you waiting for?" <<case 3>> "I bet you cum before you get it in," <<case 4>> "Do you even know how to use that thing?" <</switch>> <</if>> <<else>> <<switch $mockcycle>> <<case 0>> "How disappointing," <<case 1>> "You're pathetic," <<case 2>> "Is that all you've got?" <<case 3>> "Your little thing doesn't frighten me," <<case 4>> "Your cock is so small," <</switch>> <</if>> <<elseif $mockaction is "vagina">> <<if $penisuse is "othervagina">> <<if $penisstate is "penetrated">> <<switch $mockcycle>> <<case 0>> "You're confident for someone getting pounded," <<case 1>> "I'm gonna fill your womb," <<case 2>> "Your pussy feels weird," <<case 3>> "I think you've had one too many cocks in you," <<case 4>> "What's it like getting fucked like this?" <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "You're such a slut," <<case 1>> "I don't think you're ready for my cock," <<case 2>> "You think you can handle it?" <<case 3>> "I bet you try to ride every cock you see," <<case 4>> "You're very eager to take me inside you," <</switch>> <</if>> <<else>> <<switch $mockcycle>> <<case 0>> "You're so wet already," <<case 1>> "You're eager to get fucked," <<case 2>> "I bet your pussy has had lots of use," <<case 3>> "You might be too wide for me," <<case 4>> "Your pussy looks weird," <</switch>> <</if>> <<elseif $mockaction is "skill">> <<if $vaginause is "penis">> <<if $vaginastate is "penetrated">> <<switch $mockcycle>> <<case 0>> "At least you're trying," <<case 1>> "You're boring me," <<case 2>> "Your cock is so clumsy," <<case 3>> "Do you even know how to use that thing?" <<case 4>> "Is this your first time?" <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "Careful where you point that," <<case 1>> "You won't last long," <<case 2>> "I bet this is new to you," <<case 3>> "You're not good enough for my pussy," <<case 4>> "I don't expect much," <</switch>> <</if>> <<elseif $anususe is "penis">> <<if $anusstate is "penetrated">> <<switch $mockcycle>> <<case 0>> "At least you're trying," <<case 1>> "You're boring me," <<case 2>> "Your cock is so clumsy," <<case 3>> "Do you even know how to use that thing?" <<case 4>> "Is this your first time?" <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "Careful where you point that," <<case 1>> "You won't last long," <<case 2>> "I bet this is new to you," <<case 3>> "You're not good enough for my ass," <<case 4>> "I don't expect much," <</switch>> <</if>> <<elseif $penisuse is "othervagina" or $penisuse is "otheranus">> <<if $penisstate is "penetrated" or $penisstate is "otheranus">> <<switch $mockcycle>> <<case 0>> "At least you're trying," <<case 1>> "You're not making me cum," <<case 2>> "Move your hips more. Do I have to do everything?" <<case 3>> "Do you even know what you're doing?" <<case 4>> "Is this your first time?" <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "Careful where you point that," <<case 1>> "You won't last long," <<case 2>> "I doubt you know how handle it," <<case 3>> "You're not good enough for my penis," <<case 4>> "I don't expect much," <</switch>> <</if>> <<else>> <<switch $mockcycle>> <<case 0>> "At least you're trying," <<case 1>> "Wake me when it's over," <<case 2>> "I'd be better off using my hand," <<case 3>> "You don't know what you're doing, do you?" <<case 4>> "You're bad at this," <</switch>> <</if>> <<elseif $mockaction is "weak">> <<if $vaginause is "penis">> <<if $vaginastate is "penetrated">> <<switch $mockcycle>> <<case 0>> "Tired already?" <<case 1>> "I don't normally let such weaklings inside me," <<case 2>> "Careful you don't have a heart attack," <<case 3>> "You're too weak to keep this up," <<case 4>> "You're wearing out fast," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "I don't think you're strong enough to push it in," <<case 1>> "It goes in when I say so," <<case 2>> "You gonna faint on me?" <<case 3>> "I could keep you away forever," <<case 4>> "If you want my pussy, you'll need to work harder than that," <</switch>> <</if>> <<elseif $anususe is "penis">> <<if $anusstate is "penetrated">> <<switch $mockcycle>> <<case 0>> "Tired already?" <<case 1>> "I don't normally let such weaklings inside me," <<case 2>> "Careful you don't have a heart attack," <<case 3>> "You're too weak to keep this up," <<case 4>> "You're wearing out fast," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "I don't think you're strong enough to push it in," <<case 1>> "It goes in when I say so," <<case 2>> "You gonna faint on me?" <<case 3>> "I could keep you away forever," <<case 4>> "If you want my ass, you'll need to work harder than that," <</switch>> <</if>> <<elseif $penisuse is "othervagina" or $penisuse is "otheranus">> <<if $penisstate is "penetrated" or $penisstate is "otheranus">> <<switch $mockcycle>> <<case 0>> "Tired already?" <<case 1>> "I don't normally fuck such weaklings," <<case 2>> "Careful you don't have a heart attack," <<case 3>> "You're too weak to keep this up," <<case 4>> "You're wearing out fast," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "I don't think you're strong enough to push it in," <<case 1>> "It goes in when I say so," <<case 2>> "You gonna faint on me?" <<case 3>> "I could keep you away forever," <<case 4>> "If you want my penis, you'll need to work harder than that," <</switch>> <</if>> <<else>> <<switch $mockcycle>> <<case 0>> "You're so weak," <<case 1>> "This is only happening because I let it," <<case 2>> "I'm doing this out of pity," <<case 3>> "You couldn't even force someone to fuck you," <<case 4>> "Is that all you've got?" <</switch>> <</if>> <<elseif $mockaction is "looks">> <<if $vaginause is "penis">> <<if $vaginastate is "penetrated">> <<switch $mockcycle>> <<case 0>> "At least don't make me look at your face," <<case 1>> "You could only ever get someone to fuck you through force," <<case 2>> "Hurry up. I don't want to look at you any more," <<case 3>> "I hope I don't have to fuck anyone as ugly as you again," <<case 4>> "I hope you're enjoying this. It's more than you deserve," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "The thought of someone so revolting fucking me is making me queasy," <<case 1>> "You want me to pity fuck you?" <<case 2>> "I don't want any part of your disgusting body inside me," <<case 3>> "I've never fucked anyone as ugly as you," <<case 4>> "I look too good for you," <</switch>> <</if>> <<elseif $anususe is "penis">> <<if $anusstate is "penetrated">> <<switch $mockcycle>> <<case 0>> "At least don't make me look at your face," <<case 1>> "You could only ever get someone to fuck you through force," <<case 2>> "Hurry up. I don't want to look at you any more," <<case 3>> "I hope I don't have to fuck anyone as ugly as you again," <<case 4>> "I hope you're enjoying this. It's more than you deserve," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "The thought of someone so revolting fucking me is making me queasy," <<case 1>> "You want me to pity fuck you?" <<case 2>> "I don't want any part of your disgusting body inside me," <<case 3>> "I've never fucked anyone as ugly as you," <<case 4>> "I look too good for you," <</switch>> <</if>> <<elseif $penisuse is "othervagina" or $penisuse is "otheranus">> <<if $penisstate is "penetrated" or $penisstate is "otheranus">> <<switch $mockcycle>> <<case 0>> "At least don't make me look at your face," <<case 1>> "You could only ever get someone to fuck you through force," <<case 2>> "Hurry up. I don't want to look at you any more," <<case 3>> "I hope I don't have to fuck anyone as ugly as you again," <<case 4>> "I hope you're enjoying this. It's more than you deserve," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "The thought of someone so revolting fucking me is making me queasy," <<case 1>> "You want me to pity fuck you?" <<case 2>> "I don't want any part of me inside your disgusting body," <<case 3>> "I've never fucked anyone as ugly as you," <<case 4>> "I look too good for you," <</switch>> <</if>> <<else>> <<switch $mockcycle>> <<case 0>> "I'm out of your league," <<case 1>> "I don't want to see your face again," <<case 2>> "You're plain, at best," <<case 3>> "Ew, gross," <<case 4>> "Your body looks weird," <</switch>> <</if>> <<else>> <<if $vaginause is "penis">> <<if $vaginastate is "penetrated">> <<switch $mockcycle>> <<case 0>> "I hope you're happy defiling me like this," <<case 1>> "You're ravaging an innocent <<girl>>. Shame on you," <<case 2>> "You'll be punished for this," <<case 3>> "You're a bad person to be doing such things to my pussy," <<case 4>> "You're so cruel," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "Are you really going to defile my innocent pussy?" <<case 1>> "Do you like being rough with <<girls>> like me?" <<case 2>> "You might hurt me with that," <<case 3>> "Do you still think you're a good person?" <<case 4>> "My pussy might not be able to take it," <</switch>> <</if>> <<elseif $anususe is "penis">> <<if $anusstate is "penetrated">> <<switch $mockcycle>> <<case 0>> "I hope you're happy defiling me like this," <<case 1>> "You're ravaging an innocent <<girl>>. Shame on you," <<case 2>> "You'll be punished for this," <<case 3>> "You're a bad person to be doing such things to my ass," <<case 4>> "You're so cruel," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "Are you really going to defile my innocent ass?" <<case 1>> "Do you like being rough with <<girls>> like me?" <<case 2>> "You might hurt me with that," <<case 3>> "Do you still think you're a good person?" <<case 4>> "My ass might not be able to take it," <</switch>> <</if>> <<elseif $penisuse is "othervagina" or $penisuse is "otheranus">> <<if $penisstate is "penetrated" or $penisstate is "otheranus">> <<switch $mockcycle>> <<case 0>> "I hope you're happy defiling me like this," <<case 1>> "You're ravaging an innocent <<girl>>. Shame on you," <<case 2>> "You'll be punished for this," <<case 3>> "You're a bad person to be doing such things to my penis," <<case 4>> "You're so cruel," <</switch>> <<else>> <<switch $mockcycle>> <<case 0>> "Are you really going to defile my innocent penis?" <<case 1>> "Do you like being rough with <<girls>> like me?" <<case 2>> "You might hurt me with that," <<case 3>> "Do you still think you're a good person?" <<case 4>> "My penis might not be able to take it," <</switch>> <</if>> <<else>> <<switch $mockcycle>> <<case 0>> "You're so mean," <<case 1>> "Are you really the sort of person who treats innocent <<girls>> this way?" <<case 2>> "What you're doing is wrong," <<case 3>> "How will you live with yourself?" <<case 4>> "You're a bad person," <</switch>> <</if>> <</if>> you say in a <<if $consensual is 1>>teasing<<else>>mocking<</if>> tone. <<personselect $mouthtarget>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif $mockaction is $NPCList[$mouthtarget].insecurity>> <<if $consensual is 1>> <span class="teal"><<He $mouthtarget>> breathes faster as you speak.</span> <<else>> <span class="teal"><<He $mouthtarget>> winces at your words.</span> <<gcombatcontrol>> <</if>> <<else>> <span class="pink"><<He $mouthtarget>> isn't impressed by your words.</span> <</if>> <</widget>> <<widget "actionspeniskiss">> You <<oraltext>> kiss the tip of <<their _args[0]>> $NPCList[_n].penisdesc. <<if $NPCList[$mouthtarget].type is "plant">> <span class="pink">You lap up sweet nectar with your tongue.</span> <<nectarfed 8>> <</if>> <</widget>> <<widget "actionspenislick">> You <<oraltext>> lick <<their _args[0]>> $NPCList[_n].penisdesc. <<if $NPCList[$mouthtarget].type is "plant">> <span class="pink">You lap up sweet nectar with your tongue.</span> <<nectarfed 8>> <</if>> <</widget>> <<widget "actionspenissuck">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<oraltext>> suck the penis invading your mouth as the <<beasttype>> pounds furiously. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<oraltext>> suck the penis invading your mouth as the <<beasttype>> humps your face excitedly. <<else>> You <<oraltext>> suck the penis penetrating your mouth. <</if>> <<else>> <<set _penis to npcHasStrapon($mouthtarget) ? "strap-on" : "penis">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<oraltext>> suck the _penis invading your mouth as <<theowner>> thrusts against you. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<oraltext>> suck the _penis invading your mouth as <<theowner>> grinds against you. <<else>> You <<oraltext>> suck the _penis penetrating your mouth. <</if>> <</if>> <<if $NPCList[$mouthtarget].type is "plant">> <span class="pink">Sweet nectar drips into your mouth.</span> <<nectarfed 12>> <</if>> <</widget>> <<widget "actionspussylick">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<oraltext>> lick the pussy pressing against your mouth as <<theowner>> rubs against you. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<oraltext>> lick the pussy pressing against your mouth as <<theowner>> grinds against you. <<else>> You <<oraltext>> lick the pussy pressing against your mouth. <</if>> <<if $NPCList[$mouthtarget].type is "plant">> <span class="pink">You lap up sweet nectar with your tongue.</span> <<nectarfed 8>> <</if>> <</widget>> <<widget "actionsoraledge">> <<if $arousal gte ($arousalmax / 5) * 4>> Your lips quiver as you <<oraltext>> <<elseif $arousal gte ($arousalmax / 5) * 2>> You suppress a moan and <<oraltext>> <<else>> You <<oraltext>> <</if>> <<if $mouthuse.includes("penis")>> <<if $mouthstate is "imminent">> <<print either( "tease <<his>> $NPCList[$mouthtarget].penisdesc against your lips,", "roll your tongue against the base of <<his>> shaft,", "alternate between slow and sharp licks," )>> <<else>> <<print either( "vary your bobbing against <<his>> cock,", "slow <<his>> thrusts with your tongue,", "purse your lips around <<his>> shaft," )>> <</if>> <<else>> <<print either( "alternate between slow and sharp licks,", "press your tongue to <<his>> clit,", "blow on <<his>> clit," )>> <</if>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<print either( "holding <<him>> on the brink of an orgasm.", "waving relief just out of <<his>> reach.", "torturing <<his>> yearning body." )>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<print either( "slowly coaxing <<him>> to climax.", "letting <<his>> arousal swell.", "keeping <<him>> on edge." )>> <<else>> <<print either( "controlling <<his>> arousal.", "curbing <<his>> arousal.", "stirring pleasure." )>> <</if>> <</widget>> <<widget "actionsAnalLick">> <<print either( "You <<oraltext>> lick up and down the crack of the ass pressing down on your mouth", "You <<oraltext>> insert a tongue into the anus pressed against your mouth", "You <<oraltext>> tease the anus resting on your mouth with your tongue", "You <<oraltext>> lap at the asshole resting on your mouth with your tongue", "You move your tongue <<oraltext>> across the ass crack pressed on your face" )>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> as <<theowner>> slowly rubs their ass against your face in response. <</if>> <</widget>> <<widget "actionsAnalKiss">> <<print either( "You kiss one of the ass cheeks pressing down on your face.", "You begin kissing the ass crack pressed against your mouth.", "You kiss the anus pressing down against your mouth.", "You deliver a series of kisses on the asshole resting on your mouth.", "You repeatedly kiss the ass crack that is pressing on your face." )>> <</widget>> <<widget "actionskissback">> <<personselect $mouthtarget>> <<if $mouthstate is "kissentrance">> You gently brush your lips against <<hers>>. <<if $player.virginity.kiss is true>> <<set $speechkissvirgin to 1>> <</if>> <<if $NPCList[$mouthtarget].mouth is "kissentrance">> <<if $npcrow.includes($mouthtarget)>> <<takeKissVirginityNamed `$npc[$npcrow.indexOf($mouthtarget)]` true>> <<else>> <<takeKissVirginity $NPCList[$mouthtarget]>> <</if>> <</if>> <<elseif $mouthstate is "kissimminent">> <<if $arousal lte $arousalmax / 5>> You kiss <<him>> back, softly. <<elseif $arousal lte ($arousalmax / 5) * 4>> You kiss <<him>> back, parting <<his>> lips with your own. <<else>> You kiss <<him>> back, parting <<his>> lips with your tongue. <</if>> <<if $NPCList[$mouthtarget].type is "plant">> <span class="pink">Sweet nectar drips from <<his>> tongue and fills your mouth.</span> <<nectarfed 20>> <</if>> <<elseif $mouthstate is "kiss">> You kiss <<him>> back, caressing <<his>> tongue with your own. <<if $NPCList[$mouthtarget].type is "plant">> <span class="pink">Sweet nectar drips from <<his>> tongue and fills your mouth.</span> <<nectarfed 20>> <</if>> <</if>> <</widget>> <<widget "actionshandbite">> <<if $transformationParts.traits.fangs isnot "disabled">> <<print either( "Your fangs tear into their hand.", "Your fangs dig deep into their hand.", "You tear at the hand with your fangs.", "You sink your fangs into the hand.", "You puncture the hand with your fangs.", )>> <<else>> <<print either( "You bite the hand gagging you.", "You gnaw at the hand gagging you.", "You sink your teeth into their hand.", "You chomp at their hand.", "You crunch their hand with your teeth.", )>> <</if>> <</widget>> <<widget "actionscheekrub">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<bottomtext>> rub the penis between your cheeks as the <<beasttype>> pounds furiously. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<bottomtext>> rub the penis between your cheeks as the <<beasttype>> humps back excitedly. <<else>> You <<bottomtext>> rub the penis between your cheeks. <</if>> <<else>> <<set _penis to npcHasStrapon($anustarget) ? "strap-on" : "penis">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<bottomtext>> rub the _penis between your cheeks as <<theowner>> thrusts against you. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<bottomtext>> rub the _penis between your cheeks as <<theowner>> thrusts against you. <<else>> You <<bottomtext>> rub the _penis between your cheeks. <</if>> <</if>> <</widget>> <<widget "actionsthighrub">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<thightext>> rub the penis between your thighs as the <<beasttype>> pounds furiously. You jerk in shock whenever it incidentally rubs against your <<genitals>>. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<thightext>> rub the penis between your thighs as the <<beasttype>> humps back excitedly. You jerk in shock whenever it incidentally rubs against your <<genitals>>. <<else>> You <<thightext>> rub the penis between your thighs. You jerk in shock whenever it incidentally rubs against your <<genitals>>. <</if>> <<else>> <<set _penis to npcHasStrapon($thightarget) ? "strap-on" : "penis">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<thightext>> rub the _penis between your thighs as <<theowner>> thrusts against you. You jerk in shock whenever it incidentally rubs against your <<genitals>>. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<thightext>> rub the _penis between your thighs as <<theowner>> thrusts against you. You jerk in shock whenever it incidentally rubs against your <<genitals>>. <<else>> You <<thightext>> rub the _penis between your thighs. You jerk in shock whenever it incidentally rubs against your <<genitals>>. <</if>> <</if>> <</widget>> <<widget "actionspenistip">> You <<vaginaltext>> kiss the tip of <<their _args[0]>> $NPCList[_n].penisdesc with your <<pussy>>. <</widget>> <<widget "actionspenisdoubletip">> You <<vaginaltext>> kiss the tip of <<their>> phalluses with your <<pussy>>. <</widget>> <<widget "actionspenisrub">> You <<vaginaltext>> rub back against the <<= npcHasStrapon($vaginatarget) ? "strap-on" : "penis">> probing your <<pussy>>. <</widget>> <<widget "actionstribtease">>/*Unused*/ You <<vaginaltext>> tease the pussy with your own. <</widget>> <<widget "actionspenisride">><<silently>> <<pussy>> <<set _pussy to _text_output>> <<set _otheraction to "">> <<if $enemytype is "beast">> <<beasttype>> <<set _beasttype to _text_output>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "The _beasttype savagely hammers in and out of your _pussy.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "The _beasttype relentlessly pounds your _pussy.">> <<else>> <<set _otheraction to "The _beasttype rhythmically fucks your _pussy.">> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "Your _pussy is ruthlessly fucked.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "Your _pussy is relentlessly pounded.">> <<else>> <<set _otheraction to "Your _pussy yields to the repeated insertions.">> <</if>> <</if>> <<vaginaltext>> <<set _vaginaltext to _text_output>> <<set _youraction to "">> <<set _islewd to ($enemytype is "man" ? $promiscuity : $deviancy) gte 55>> <<set _isverylewd to ($enemytype is "man" ? $promiscuity : $deviancy) gte 75>> <<if $consensual is 0 or currentSkillValue("vaginalskill") lt 600 and not _islewd>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven by instinct, you _vaginaltext push back as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _vaginaltext push back against the movements.">> <<else>> <<if $consensual is 0>> <<set _youraction to "You _vaginaltext push back, trying to reduce your discomfort.">> <<else>> <<set _youraction to "You _vaginaltext push back, trying to enjoy it.">> <</if>> <</if>> <<elseif currentSkillValue("vaginalskill") lt 800 or not _isverylewd>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _enjoying to either("enjoying", "savouring", "delighting in", "relishing", "revelling in")>> <<set _youraction to "Driven by instinct, you _vaginaltext rock your pelvis back and forth, _enjoying every moment as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _vaginaltext hump in sync with the movement.">> <<else>> <<set _youraction to "You _vaginaltext hump back against the movement.">> <</if>> <<else>> <<set _penis to "penis">> <<if $NPCList[$vaginatarget].penis is "vagina" and $NPCList[$vaginatarget].location.genitals is "genitals">> <<set _penis to $NPCList[$vaginatarget].penisdesc>> <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _eagerclimax to either("You're eager to climax", "You look forward to climaxing", "You yearn to climax", "You crave climaxing", "You want to climax")>> <<set _youraction to "Lust taking over, you _vaginaltext rock your pelvis back and forth and squeeze the penis hard as you approach your peak. _eagerclimax with a _penis inside you.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _vaginaltext rock your pelvis back and forth, while also squeezing the _penis each time it slides into you.">> <<else>> <<set _eagerfor to either("eager for", "hungry for", "yearning", "craving", "keen on", "hungering for")>> <<set _youraction to "You _vaginaltext hump back in rhythm, _eagerfor the pleasure you know is coming.">> <</if>> <</if>> <</silently>>_otheraction _youraction<</widget>> <<widget "actionspenisedging">><<silently>> <<if $vaginastate is "imminent">> <<set _otheraction to "">> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven partly by instinct, you <<vaginaltext>> rub your <<pussy>> against their penis to control their arousal as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You <<vaginaltext>> rub your <<pussy>> against their penis to control their arousal.">> <<else>> <<set _youraction to "You <<vaginaltext>> rub your <<pussy>> against their penis to control their arousal, trying to reduce your discomfort.">> <</if>> <<else>> <<pussy>> <<set _pussy to _text_output>> <<set _otheraction to "">> <<if $enemytype is "beast">> <<beasttype>> <<set _beasttype to _text_output>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "The _beasttype savagely hammers in and out of your _pussy.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "The _beasttype relentlessly pounds your _pussy.">> <<else>> <<set _otheraction to "The _beasttype rhythmically fucks your _pussy.">> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "Your _pussy is ruthlessly fucked.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "Your _pussy is relentlessly pounded.">> <<else>> <<set _otheraction to "Your _pussy yields to the repeated insertions.">> <</if>> <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven partly by instinct, you <<vaginaltext>> move your <<pussy>> to control their arousal as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You <<vaginaltext>> move your <<pussy>> to control their arousal.">> <<else>> <<set _youraction to "You <<vaginaltext>> move your <<pussy>> to control their arousal, trying to reduce your discomfort.">> <</if>> <</if>> <</silently>>_otheraction _youraction<</widget>> <<widget "actionspenistake">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely hammers in and out of your <<pussy>>. <<else>> The <<beasttype>> savagely hammers in and out of your <<pussy>>. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly pounds your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your <<pussy>>. <<else>> The <<beasttype>> relentlessly pounds your <<pussy>>. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically fucks your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically fucks your <<pussy>>. <<else>> The <<beasttype>> rhythmically fucks your <<pussy>>. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is ruthlessly fucked. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is ruthlessly fucked. <<else>> Your <<pussy>> is ruthlessly fucked. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is relentlessly pounded. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is relentlessly pounded. <<else>> Your <<pussy>> is relentlessly pounded. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> yields to the repeated insertions. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> yields to the repeated insertions. <<else>> Your <<pussy>> yields to the repeated insertions. <</if>> <</if>> <</if>> <</widget>> <<widget "actionspenisdoubleride">> <!-- double vaginal --> <<silently>><<pussy>><<set _pussy to _text_output>><</silently>> <<set _otheraction to "">> <<set _npcA to (_n is $vaginatarget ? $vaginatarget : $vaginadoubletarget)>> <<set _npcB to (_n is $vaginatarget ? $vaginadoubletarget : $vaginatarget)>> /* State 1 is out of sync, state 2 is in sync */ <<set _dvp to ($NPCList[_npcB].penis isnot "vaginadouble" or $NPCList[_npcA].penis isnot "vaginadouble" ? 1 : 2)>> <<if _dvp is 2>> <<if $enemytype is "beast">> <!-- future proofing for beasts, text has not been updated --> <<beasttype>> <<set _beasttype to _text_output>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "The _beasttype savagely hammers in and out of your _pussy.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "The _beasttype relentlessly pounds your _pussy.">> <<else>> <<set _otheraction to "The _beasttype rhythmically fucks your _pussy.">> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "Your _pussy is ruthlessly fucked by both cocks.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "Your _pussy is relentlessly pounded by both cocks.">> <<else>> <<set _otheraction to "Your _pussy yields to the repeated insertions by both cocks.">> <</if>> <</if>> <<silently>><<vaginaltext>><<set _vaginaltext to _text_output>><</silently>> <<set _youraction to "">> <<set _islewd to ($enemytype is "man" ? $promiscuity : $deviancy) gte 55>> <<set _isverylewd to ($enemytype is "man" ? $promiscuity : $deviancy) gte 75>> <<if $consensual is 0 or currentSkillValue("vaginalskill") lt 600 or not _islewd>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven by instinct, you _vaginaltext push back against their cocks as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _vaginaltext push back against the movements of both cocks.">> <<else>> <<if $consensual is 0>> <<set _youraction to "You _vaginaltext push back against both cocks, trying to reduce your discomfort.">> <<else>> <<set _youraction to "You _vaginaltext push back against both cocks, trying to enjoy it.">> <</if>> <</if>> <<elseif currentSkillValue("vaginalskill") lt 800 or not _isverylewd>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _enjoying to either("enjoying", "savouring", "delighting in", "relishing", "revelling in")>> <<set _youraction to "Driven by instinct, you _vaginaltext rock your pelvis back and forth against both cocks, _enjoying every moment as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _vaginaltext hump both cocks in sync with the movements.">> <<else>> <<set _youraction to "You _vaginaltext hump both cocks back against the movements.">> <</if>> <<else>> <<set _penis to "penis">> <<if $NPCList[$vaginatarget].penis is "vagina" and $NPCList[$vaginatarget].location.genitals is "genitals">> <<set _penis to $NPCList[$vaginatarget].penisdesc>> <</if>> <<set _penisB to "penis">> <<if $NPCList[$vaginadoubletarget].penis is "vagina" and $NPCList[$vaginadoubletarget].location.genitals is "genitals">> <<set _penisB to $NPCList[$vaginatarget].penisdesc>> <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _eagerclimax to either("You're eager to climax", "You look forward to climaxing", "You yearn to climax", "You crave climaxing", "You want to climax")>> <<set _youraction to "Lust taking over, you _vaginaltext rock your pelvis back and forth and squeeze the penises hard as you approach your peak. _eagerclimax with two cocks inside you.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _vaginaltext rock your pelvis back and forth, while also squeezing <<combatperson $vaginatarget>>'s _penis and <<combatperson $vaginadoubletarget>>'s _penisB each time they slide into you.">> <<else>> <<set _eagerfor to either("eager for", "hungry for", "yearning", "craving", "keen on", "hungering for")>> <<set _youraction to "You _vaginaltext hump back in rhythm, _eagerfor the pleasure you know is coming.">> <</if>> <</if>> _otheraction _youraction <<else>> <<actionspenisride>> <</if>> <</widget>> <<widget "actionspenisdoubleedging">> <!-- double vaginal --> <<set _dvp to 1>> <<set _npcA to $vaginatarget>> <<set _npcB to $vaginadoubletarget>> /* State 1 is out of sync, state 2 is in sync */ <<set _dvp to ($NPCList[_npcB].penis isnot "vaginadouble" or $NPCList[_npcA].penis isnot "vaginadouble" ? 1 : 2)>> <<if _dvp is 2>> <<if $vaginastate is "doubleimminent">> <<set _otheraction to "">> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven partly by instinct, you <<vaginaltext>> rub your ass against their penises to control their arousal as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You <<vaginaltext>> rub your <<bottom>> against their penises to control their arousal.">> <<else>> <<set _youraction to "You <<vaginaltext>> rub your <<bottom>> against their penises to control their arousal, trying to reduce your discomfort.">> <</if>> <<else>> <<silently>><<pussy>><<set _pussy to _text_output>><</silently>> <<set _otheraction to "">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "Your _pussy is ruthlessly fucked by both cocks.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "Your _pussy is relentlessly pounded by both cocks.">> <<else>> <<set _otheraction to "Your _pussy yields to the repeated insertions by both cocks.">> <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven partly by instinct, you <<vaginaltext>> move your <<pussy>> to control their arousal as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You <<vaginaltext>> move your <<pussy>> to control their arousal.">> <<else>> <<set _youraction to "You <<vaginaltext>> move your <<pussy>> to control their arousal, trying to reduce your discomfort.">> <</if>> <</if>> _otheraction _youraction <<else>> <<actionspenisedging>> <</if>> <</widget>> <<widget "actionspenisdoubletake">> <!-- double vaginal --> <<set _dvp to "f">> <<set _npcA to (_n is $vaginatarget ? $vaginatarget : $vaginadoubletarget)>> <<set _npcB to (_n is $vaginatarget ? $vaginadoubletarget : $vaginatarget)>> /* State 1 is out of sync, state 2 is in sync */ <<set _dvp to ($NPCList[_npcA].penis isnot "vaginadouble" and $NPCList[_npcB].penis isnot "vaginadouble" ? 1 : 2)>> <<if $enemytype is "beast">> <!-- future proofing for beasts, text has not been updated --> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely hammers in and out of your <<pussy>>. <<else>> The <<beasttype>> savagely hammers in and out of your <<pussy>>. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly pounds your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your <<pussy>>. <<else>> The <<beasttype>> relentlessly pounds your <<pussy>>. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically fucks your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically fucks your <<pussy>>. <<else>> The <<beasttype>> rhythmically fucks your <<pussy>>. <</if>> <</if>> <<else>> <<if _dvp is 2>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is ruthlessly fucked by both cocks. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is ruthlessly fucked by both cocks. <<else>> Your <<pussy>> is ruthlessly fucked by both cocks. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is relentlessly pounded by both cocks. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is relentlessly pounded by both cocks. <<else>> Your <<pussy>> is relentlessly pounded by both cocks. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> yields to the repeated insertions by both cocks. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> yields to the repeated insertions by both cocks. <<else>> Your <<pussy>> yields to the repeated insertions by both cocks. <</if>> <</if>> <<else>> <<actionspenistake>> <</if>> <</if>> <</widget>> <<widget "actionstribtake">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely rubs against your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely rubs against your <<pussy>>. <<else>> The <<beasttype>> savagely rubs against your <<pussy>>. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly thrusts against your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly thrusts against your <<pussy>>. <<else>> The <<beasttype>> relentlessly thrusts against your <<pussy>>. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically rubs against your <<pussy>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically rubs against your <<pussy>>. <<else>> The <<beasttype>> rhythmically rubs against your <<pussy>>. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is ruthlessly rubbed. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is ruthlessly rubbed. <<else>> Your <<pussy>> is ruthlessly rubbed. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is relentlessly rubbed. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is relentlessly rubbed. <<else>> Your <<pussy>> is relentlessly rubbed. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<pussy>> is squished and pressed by repeated pressure. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<pussy>> is squished and pressed by repeated pressure. <<else>> Your <<pussy>> is squished and pressed by repeated pressure. <</if>> <</if>> <</if>> <</widget>> <<widget "actionstribcooperate">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven by instinct, you <<vaginaltext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<vaginaltext>> thrust into the wet pussy pressed against yours. <<else>> You <<vaginaltext>> hump the wet pussy pressed against yours. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven by instinct, you <<vaginaltext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<vaginaltext>> thrust into the moist pussy pressed against yours. <<else>> You <<vaginaltext>> hump the moist pussy pressed against yours. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your body shakes as you <<vaginaltext>> rub against the pussy. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<vaginaltext>> thrust against the pussy. <<else>> You <<vaginaltext>> press back against the pussy. <</if>> <</if>> <</widget>> <<widget "actionstribedge">> <<if $arousal gte ($arousalmax / 5) * 4>> Driven partly by instinct, you <<vaginaltext>> <<elseif $arousal gte ($arousalmax / 5) * 2>> You steady your shaky legs and <<vaginaltext>> <<else>> You <<vaginaltext>> <</if>> <<if $vaginastate is "othervaginaimminent">> <<print either( "thrust your <<pussy>> just shy of <<hers>>,", "pull back in time with <<his>> thrusts,", "clench your thighs over <<his>> pussy," )>> <<else>> <<print either( "weave your <<pussy>> away at the apex of each thrust,", "graze <<his>> pussy with yours,", "press against <<his>> clit," )>> <</if>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<print either( "holding <<him>> on the brink of an orgasm.", "waving relief just out of <<his>> reach.", "torturing <<his>> yearning body." )>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<print either( "slowly coaxing <<him>> to climax.", "letting <<his>> arousal swell.", "keeping <<him>> on edge." )>> <<else>> <<print either( "controlling <<his>> arousal.", "curbing <<his>> arousal.", "stirring pleasure." )>> <</if>> <</widget>> <<widget "actionsfencingtake">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely rubs against your <<penis>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely rubs against your <<penis>>. <<else>> The <<beasttype>> savagely rubs against your <<penis>>. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly thrusts against your <<penis>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly thrusts against your <<penis>>. <<else>> The <<beasttype>> relentlessly thrusts against your <<penis>>. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically rubs against your <<penis>>. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically rubs against your <<penis>>. <<else>> The <<beasttype>> rhythmically rubs against your <<penis>>. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is ruthlessly rubbed. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is ruthlessly rubbed. <<else>> Your <<penis>> is ruthlessly rubbed. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is relentlessly rubbed. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is relentlessly rubbed. <<else>> Your <<penis>> is relentlessly rubbed. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is squished and pressed by repeated pressure. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is squished and pressed by repeated pressure. <<else>> Your <<penis>> is squished and pressed by repeated pressure. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsfencingcooperate">> <<set _penis to npcHasStrapon($penistarget) ? "strap-on" : "penis">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven by instinct, you <<peniletext>> rub back against the _penis as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<peniletext>> thrust against the slick _penis pressed against your <<penis>>. <<else>> You <<peniletext>> hump the slick _penis pressed against your <<penis>>. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven by instinct, you <<peniletext>> rub your <<penises>> together as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<peniletext>> thrust against the dripping _penis pressed against your <<penis>>. <<else>> You <<peniletext>> hump the dripping _penis pressed against your <<penis>>. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your body shakes as you <<peniletext>> rub against the _penis. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<peniletext>> thrust against the _penis. <<else>> You <<peniletext>> press back against the _penis. <</if>> <</if>> <<set $penisstate to "otherpenis">> <</widget>> <<widget "actionsclitrub">> You <<peniletext>> frot your <<penisSimple>> against <<their _args[0]>> clit. <</widget>> <<widget "actionspussyrub">> You <<peniletext>> rub your <<penisSimple>> against <<their _args[0]>> pussy. <</widget>> <<widget "actionspussytease">> You <<peniletext>> rub your <<penisSimple>> against <<their _args[0]>> labia. <</widget>> <<widget "actionspussythrust">><<silently>> <<hisselect _args[0]>><<set _their to _text_output>> <<his>><<set _her to _text_output>> <<penis>><<set _penis to _text_output>> <<set _otheraction to "">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "Your _penis is ruthlessly fucked by _their pussy.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "Your _penis is hungrily devoured by _their pussy.">> <<else>> <<set _otheraction to "Your _penis is rhythmically swallowed and regurgitated by _their pussy.">> <</if>> <<peniletext>><<set _skillfully to _text_output>> <<set _youraction to "">> <<set _islewd to ($enemytype is "man" ? $promiscuity : $deviancy) gte 55>> <<set _isverylewd to ($enemytype is "man" ? $promiscuity : $deviancy) gte 75>> <<if $consensual is 0 or currentSkillValue("penileskill") lt 600 or not _islewd>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven by instinct, you _skillfully push back as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _skillfully push back against _her movements.">> <<else>> <<set _youraction to "You _skillfully push back, trying to reduce your discomfort.">> <</if>> <<elseif currentSkillValue("penileskill") lt 800 or not _isverylewd>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven by instinct, you _skillfully thrust your _penis deep and hard into _their pussy, as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _skillfully push back in sync with _her movements.">> <<else>> <<set _youraction to "You _skillfully hump back in sync with _her movements.">> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if playerPenisSize() gte 2>> <<set _hammering to either("hammering deep into", "pounding", "bottoming out in", "battering", "driving deep and hard into", "thrusting deep into", "slamming the bottom of")>> <<set _youraction to "Driven by instinct, you _skillfully quicken the pace, your _penis _hammering _their pussy as you approach your peak.">> <<else>> <<set _hammering to either("hammering hard into", "pounding", "battering", "pushed fully into", "thrusting fast and hard into")>> <<set _youraction to "Driven by instinct, you _skillfully quicken the pace, your _penis _hammering _their pussy as you approach your peak.">> <</if>> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You _skillfully thrust your _penis deep into _their pussy, in sync with _her movements.">> <<else>> <<set _youraction to "You _skillfully slide your _penis in and out of _their pussy, in sync with _her movements.">> <</if>> <</if>> <</silently>>_otheraction _youraction<</widget>> <<widget "actionspussyedging">><<silently>> <<if $penisstate is "imminent">> <<set _otheraction to "">> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven partly by instinct, you <<peniletext>> rub your <<penis>> against their pussy to control their arousal as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You <<peniletext>> rub your <<penis>> against their pussy to control their arousal.">> <<else>> <<set _youraction to "You <<peniletext>> rub your <<penis>> against their pussy to control their arousal, trying to reduce your discomfort.">> <</if>> <<else>> <<hisselect _args[0]>><<set _their to _text_output>> <<his>><<set _her to _text_output>> <<penis>><<set _penis to _text_output>> <<set _otheraction to "">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _otheraction to "Your _penis is ruthlessly fucked by _their pussy.">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _otheraction to "Your _penis is hungrily devoured by _their pussy.">> <<else>> <<set _otheraction to "Your _penis is rhythmically swallowed and regurgitated by _their pussy.">> <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _youraction to "Driven partly by instinct, you <<peniletext>> move your <<penis>> to control _her arousal as you approach your peak.">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _youraction to "You <<peniletext>> move your <<penis>> to control _her arousal.">> <<else>> <<set _youraction to "You <<peniletext>> move your <<penis>> to control _her arousal, trying to reduce your discomfort.">> <</if>> <</if>> <</silently>>_otheraction _youraction<</widget>> <<widget "actionspussytake">> <<set $_pussyDesc to (_args[0] is "tentacles" ? $tentaclePenis : "pussy")>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> $_pussyDesc. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> $_pussyDesc. <<else>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> $_pussyDesc. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is hungrily devoured by <<their _args[0]>> $_pussyDesc. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is hungrily devoured by <<their _args[0]>> $_pussyDesc. <<else>> Your <<penis>> is hungrily devoured by <<their _args[0]>> $_pussyDesc. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> $_pussyDesc. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> $_pussyDesc. <<else>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> $_pussyDesc. <</if>> <</if>> <</widget>> <<widget "actionsotheranusrub">> You <<peniletext>> frot your <<penis>> against <<their _args[0]>> ass. <</widget>> <<widget "actionsotheranustease">> You <<peniletext>> tease <<their _args[0]>> anus with your <<penis>>. <</widget>> <<widget "actionsotheranusthrust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> ass. Driven by instinct, you <<peniletext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> ass. You <<peniletext>> push back against the movements. <<else>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> ass. You <<peniletext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is hungrily devoured by <<their _args[0]>> ass. Driven by instinct, you <<peniletext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is hungrily devoured by <<their _args[0]>> ass. You <<peniletext>> push back against the movements. <<else>> Your <<penis>> is hungrily devoured by <<their _args[0]>> ass. You <<peniletext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> ass. Driven by instinct, you <<peniletext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> ass. You <<peniletext>> push back against the movements. <<else>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> ass. You <<peniletext>> push back, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionsotheranusedging">> <<if $penisstate is "imminent">> <<if $arousal gte ($arousalmax / 5) * 4>> Driven partly by instinct, you <<peniletext>> rub your <<penis>> against their ass to control their arousal as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<peniletext>> rub your <<penis>> against their ass to control their arousal. <<else>> You <<peniletext>> rub your <<penis>> against their ass to control their arousal, trying to reduce your discomfort. <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> ass. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> Your <<penis>> is hungrily devoured by <<their _args[0]>> ass. <<else>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> ass. <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven partly by instinct, you <<peniletext>> move your <<penis>> to control their arousal as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<peniletext>> move your <<penis>> to control their arousal. <<else>> You <<peniletext>> move your <<penis>> to control their arousal, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionsotheranustake">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> ass. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> ass. <<else>> Your <<penis>> is ruthlessly fucked by <<their _args[0]>> ass. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is hungrily devoured by <<their _args[0]>> ass. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is hungrily devoured by <<their _args[0]>> ass. <<else>> Your <<penis>> is hungrily devoured by <<their _args[0]>> ass. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> ass. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> ass. <<else>> Your <<penis>> is rhythmically swallowed and regurgitated by <<their _args[0]>> ass. <</if>> <</if>> <</widget>> <<widget "actionsStrokerCooperate">> <<set $_stroker to ($NPCList[$penistarget].lefthand is "penisstroker" ? $NPCList[$penistarget].lefttool : $NPCList[$penistarget].righttool)>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven by instinct, you <<peniletext>> thrust into the $_stroker as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<peniletext>> thrust into the $_stroker on your <<penis>>. <<else>> You <<peniletext>> hump the $_stroker on your <<penis>>. <</if>> <</widget>> <<widget "actionsStrokerRest">> <<set $_stroker to ($NPCList[$penistarget].lefthand is "penisstroker" ? $NPCList[$penistarget].lefttool : $NPCList[$penistarget].righttool)>> Your <<penis>> is fucked by the $_stroker. <</widget>> <<widget "actionsanusrub">> You <<analtext>> move your hips, rubbing your <<bottom>> against <<their _args[0]>> penis. <</widget>> <<widget "actionsanusthrust">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely hammers in and out of your anus. You <<analtext>> push back against its movements. <<else>> The <<beasttype>> savagely hammers in and out of your anus. You <<analtext>> move with it, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly pounds your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. You <<analtext>> push back against its movements. <<else>> The <<beasttype>> relentlessly pounds your anus. You <<analtext>> move with it, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically fucks your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically fucks your anus. You <<analtext>> push back against its movements. <<else>> The <<beasttype>> rhythmically fucks your anus. You <<analtext>> move with it, trying to reduce your discomfort. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is ruthlessly fucked. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is ruthlessly fucked. You <<analtext>> push back against the movements. <<else>> Your anus is ruthlessly fucked. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is relentlessly pounded. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is relentlessly pounded. You <<analtext>> push back against the movements. <<else>> Your anus is relentlessly pounded. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus yields to the repeated insertions. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus yields to the repeated insertions. You <<analtext>> push back against the movements. <<else>> Your anus yields to the repeated insertions. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsanusedging">> <<if $anusstate is "imminent">> <<if $arousal gte ($arousalmax / 5) * 4>> Driven partly by instinct, you <<analtext>> rub against their penis to control their arousal as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<analtext>> rub against their penis to control their arousal. <<else>> You <<analtext>> rub against their penis to control their arousal, trying to reduce your discomfort. <</if>> <<else>> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. <<else>> The <<beasttype>> rhythmically fucks your anus. <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> Your anus is ruthlessly fucked. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> Your anus is relentlessly pounded. <<else>> Your anus yields to the repeated insertions. <</if>> <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven partly by instinct, you <<analtext>> move to control their arousal as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<analtext>> move to control their arousal. <<else>> You <<analtext>> move to control their arousal, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionsanustake">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely hammers in and out of your anus. <<else>> The <<beasttype>> savagely hammers in and out of your anus. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly pounds your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. <<else>> The <<beasttype>> relentlessly pounds your anus. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically fucks your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically fucks your anus. <<else>> The <<beasttype>> rhythmically fucks your anus. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is ruthlessly fucked. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is ruthlessly fucked. <<else>> Your anus is ruthlessly fucked. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is relentlessly pounded. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is relentlessly pounded. <<else>> Your anus is relentlessly pounded. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus yields to the repeated insertions. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus yields to the repeated insertions. <<else>> Your anus yields to the repeated insertions. <</if>> <</if>> <</if>> <</widget>> <<widget "actionsanusdoublethrust">> /* State 1 is out of sync, state 2 in in sync */ <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <<set _dap to 2>> <<else>> <<set _dap to 1>> <</if>> <<if $enemytype is "beast">> /* Beasts are only encountered individually. This is futureproofing */ <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely hammers in and out of your anus. You <<analtext>> push back against its movements. <<else>> The <<beasttype>> savagely hammers in and out of your anus. You <<analtext>> move with it, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly pounds your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. You <<analtext>> push back against its movements. <<else>> The <<beasttype>> relentlessly pounds your anus. You <<analtext>> move with it, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically fucks your anus. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically fucks your anus. You <<analtext>> push back against its movements. <<else>> The <<beasttype>> rhythmically fucks your anus. You <<analtext>> move with it, trying to reduce your discomfort. <</if>> <</if>> <<else>> <<if _dap is 2>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is ruthlessly fucked by both cocks. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is ruthlessly fucked by both cocks. You <<analtext>> push back against the movements. <<else>> Your anus is ruthlessly fucked by both cocks. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is relentlessly pounded by both cocks. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is relentlessly pounded by both cocks. You <<analtext>> push back against the movements. <<else>> Your anus is relentlessly pounded by both cocks. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus yields to the repeated insertions by both cocks. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus yields to the repeated insertions by both cocks. You <<analtext>> push back against the movements. <<else>> Your anus yields to the repeated insertions by both cocks. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is ruthlessly fucked. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is ruthlessly fucked. You <<analtext>> push back against the movements. <<else>> Your anus is ruthlessly fucked. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is relentlessly pounded. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is relentlessly pounded. You <<analtext>> push back against the movements. <<else>> Your anus is relentlessly pounded. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus yields to the repeated insertions. Driven by instinct, you <<analtext>> push back as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus yields to the repeated insertions. You <<analtext>> push back against the movements. <<else>> Your anus yields to the repeated insertions. You <<analtext>> push back, trying to reduce your discomfort. <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "actionsanusdoubleedging">> /* State 1 is out of sync, state 2 in in sync */ <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <<set _dap to 2>> <<else>> <<set _dap to 1>> <</if>> <<if $anusaction is "doubleimminent">> <<if $arousal gte ($arousalmax / 5) * 4>> Driven partly by instinct, you <<analtext>> rub against their penises to control their arousal as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<analtext>> rub against their penises to control their arousal. <<else>> You <<analtext>> rub against their penises to control their arousal, trying to reduce your discomfort. <</if>> <<else>> <<if _dap is 2>> <<if $enemytype is "beast">> /* Beasts are only encountered individually. This is futureproofing */ <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. <<else>> The <<beasttype>> rhythmically fucks your anus. <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> Your anus is ruthlessly fucked by both cocks. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> Your anus is relentlessly pounded by both cocks. <<else>> Your anus yields to the repeated insertions by both cocks. <</if>> <</if>> <<else>> <<if $enemytype is "beast">> /* Beasts are only encountered individually. This is futureproofing */ <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. <<else>> The <<beasttype>> rhythmically fucks your anus. <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> Your anus is ruthlessly fucked. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> Your anus is relentlessly pounded. <<else>> Your anus yields to the repeated insertions. <</if>> <</if>> <</if>> <<if $arousal gte ($arousalmax / 5) * 4>> Driven partly by instinct, you <<analtext>> move to control their arousal as you approach your peak. <<elseif $arousal gte ($arousalmax / 5) * 2>> You <<analtext>> move to control the arousal of both cocks. <<else>> You <<analtext>> move to control the arousal of both cocks, trying to reduce your discomfort. <</if>> <</if>> <</widget>> <<widget "actionsanusdoubletake">> /* State 1 is out of sync, state 2 in in sync */ <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <<set _dap to 2>> <<else>> <<set _dap to 1>> <</if>> <<if _dap is 2>> /* Beasts are only encountered individually. This is futureproofing */ <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely hammers in and out of your anus. <<else>> The <<beasttype>> savagely hammers in and out of your anus. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly pounds your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. <<else>> The <<beasttype>> relentlessly pounds your anus. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically fucks your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically fucks your anus. <<else>> The <<beasttype>> rhythmically fucks your anus. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is ruthlessly destroyed by both cocks. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is ruthlessly fucked by both cocks. <<else>> Your anus is ruthlessly fucked by both cocks. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is relentlessly slammed by both cocks. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is relentlessly pounded by both cocks. <<else>> Your anus is relentlessly pounded by both cocks. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus yields to the repeated insertions by both cocks. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus yields to the repeated insertions by both cocks. <<else>> Your anus yields to the repeated insertions by both cocks. <</if>> <</if>> <</if>> <<else>> <<if $enemytype is "beast">> /* Beasts are only encountered individually. This is futureproofing */ <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> savagely hammers in and out of your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> savagely hammers in and out of your anus. <<else>> The <<beasttype>> savagely hammers in and out of your anus. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> relentlessly pounds your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> relentlessly pounds your anus. <<else>> The <<beasttype>> relentlessly pounds your anus. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> The <<beasttype>> rhythmically fucks your anus. <<elseif $arousal gte ($arousalmax / 5) * 2>> The <<beasttype>> rhythmically fucks your anus. <<else>> The <<beasttype>> rhythmically fucks your anus. <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is ruthlessly fucked. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is ruthlessly fucked. <<else>> Your anus is ruthlessly fucked. <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus is relentlessly slammed. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus is relentlessly pounded. <<else>> Your anus is relentlessly pounded. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> Your anus yields to the repeated insertions. <<elseif $arousal gte ($arousalmax / 5) * 2>> Your anus yields to the repeated insertions. <<else>> Your anus yields to the repeated insertions. <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "actionsshaftrub">> <<if $enemytype is "beast">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> You <<handtext>> hold <<his>> penis in your hand as <<he>> furiously humps against it. <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> You <<handtext>> hold the penis in your hand as <<he>> humps against it. <<else>> You <<handtext>> hold and rub the penis in your hand. <</if>> <<else>> <<if $consensual is 1>> <<if $arousal lte ($arousalmax / 5) * 3>> You keep <<their _args[0]>> penis held firmly in your hand as you <<handtext>> stroke and work the shaft. <<else>> You <<handtext>> hold and rub <<their _args[0]>> shaft in your hand. <</if>> <<else>> You <<handtext>> occupy <<their _args[0]>> penis with your hand, working the shaft with your fingers. <</if>> <</if>> <</widget>> <<widget "actionsvaginaescape">> <<if $enemytype is "beast">> <<if $enemyanger lte 20>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's probing before it can penetrate you.</span> It doesn't give up however. <<elseif $enemyanger lte 100>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's incessant probing before it can penetrate you.</span> It snarls in frustration. <<else>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's savage probing before it can penetrate you.</span> It frenziedly tries to regain purchase, furious at its attempt to <<if $pregnancyspeechdisable is "f">>breed<<else>>fuck<</if>> being impeded. <</if>> <<else>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from <<their _args[0]>> penis.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from <<their _args[0]>> penis.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<pussy>> away from <<their _args[0]>> penis.</span> <</if>> <</if>> <</widget>> <<widget "actionsvaginadoubleescape">> <<set $_penises to "penises">> <<if npcHasStrapon($vaginatarget) and npcHasStrapon($vaginadoubletarget)>> <<set $_penises to "strap-ons">> <<elseif npcHasStrapon($vaginatarget) and !npcHasStrapon($vaginadoubletarget) or !npcHasStrapon($vaginatarget) and npcHasStrapon($vaginadoubletarget)>> <<set $_penises to "cocks">> <</if>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from their $_penises.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from their $_penises.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<pussy>> away from their $_penises.</span> <</if>> <</widget>> <<widget "actionstribescape">> <<if $enemytype is "beast">> <<if $enemyanger lte 20>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's.</span> It doesn't give up however. <<elseif $enemyanger lte 100>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's.</span> It snarls in frustration. <<else>> <span class="blue">You shift your pelvis, moving your <<pussy>> away from the beast's.</span> It desperately tries to regain purchase, furious at your refusal. <</if>> <<else>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<pussy>> away.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<pussy>> away.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<pussy>> away.</span> <</if>> <</if>> <</widget>> <<widget "actionsfencingescape">> <<if $enemytype is "beast">> <<if $enemyanger lte 20>> <span class="blue">You shift your pelvis, moving your <<penis>> away from the beast's.</span> It doesn't give up however. <<elseif $enemyanger lte 100>> <span class="blue">You shift your pelvis, moving your <<penis>> away from the beast's.</span> It snarls in frustration. <<else>> <span class="blue">You shift your pelvis, moving your <<penis>> away from the beast's.</span> It desperately tries to regain purchase, furious at your refusal. <</if>> <<else>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<penis>> away.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<penis>> away.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<penis>> away.</span> <</if>> <</if>> <</widget>> <<widget "actionspenisescape">> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<penis>> away from <<their _args[0]>> pussy.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<penis>> away from <<their _args[0]>> pussy.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<penis>> away from <<their _args[0]>> pussy.</span> <</if>> <</widget>> <<widget "actionsotheranusescape">> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<penis>> away from <<their _args[0]>> ass.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<penis>> away from <<their _args[0]>> ass.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<penis>> away from <<their _args[0]>> ass.</span> <</if>> <</widget>> <<widget "actionsanusescape">> <<if $enemytype is "beast">> <<if $enemyanger lte 20>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from the beast's probing before it can penetrate you.</span> It doesn't give up however. <<elseif $enemyanger lte 100>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from the beast's incessant probing before it can penetrate you.</span> It snarls in frustration. <<else>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from the beast's savage probing before it can penetrate you.</span> It frenziedly tries to regain purchase, furious at its attempt to <<if $pregnancyspeechdisable is "f">>breed<<else>>fuck<</if>> being impeded. <</if>> <<else>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from <<their _args[0]>> penis.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from <<their _args[0]>> penis.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<bottom>> away from <<their _args[0]>> penis.</span> <</if>> <</if>> <</widget>> <<widget "actionsanusdoubleescape">> <<set $_penises to "penises">> <<if npcHasStrapon($anustarget) and npcHasStrapon($anusdoubletarget)>> <<set $_penises to "strap-ons">> <<elseif npcHasStrapon($anustarget) and !npcHasStrapon($anusdoubletarget) or !npcHasStrapon($anustarget) and npcHasStrapon($anusdoubletarget)>> <<set $_penises to "cocks">> <</if>> <<if $pain lte 20>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from <<their>> $_penises.</span> <<elseif $pain lte 60>> <span class="blue">You shift your pelvis, moving your <<bottom>> away from <<their>> $_penises.</span> <<else>> <span class="blue">You shift your pelvis in desperation, moving your <<bottom>> away from <<their>> $_penises.</span> <</if>> <</widget>> <<widget "actionsconfront">> <<if $angel gte 6 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> "Please don't debase yourself," you say. "The angels are watching." <<case 2>> "I'll forgive you if you hurt me," you say. "But the demons won't." <<case 3>> You mumble a quiet prayer. <</switch>> <<elseif $fallenangel gte 2 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> "You're going to hurt me too," you laugh. "Aren't you?" <<case 2>> "D-don't touch me," you say. "Not now. Not again." <<case 3>> "D-don't hurt me," you say. "Please don't." <</switch>> <<elseif $demon gte 6 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> "Are you going to 'prey' on me?" you ask with a smirk. "Delicious." <<case 2>> "Couldn't keep your eyes off," you say. "Don't worry. I'm used to it." <<case 3>> "Try it," you say. "I'm hungry." <</switch>> <<elseif $wolfgirl gte 6 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> "Come closer," you say. "I dare you." You run your tongue over your exposed fangs. <<case 2>> You growl. <<case 3>> "I might be alone," you say. "But a lone wolf is still dangerous." <</switch>> <<elseif $cat gte 6 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> "I'm not helpless," you say. "Try me." You run your tongue over your exposed fangs. <<case 2>> You hiss. <<case 3>> "Come closer," you say. "I'm itching to use these claws." <</switch>> <<elseif $cow gte 6 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> "I'm not helpless," you say. "Keep away, or I'll charge you down." <<case 2>> "I know I'm a prize," you say. "But you'll be sorry if you try anything." <<case 3>> "Always after my milk," you tut. "But you haven't earned it." <</switch>> <<elseif $harpy gte 6 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> You screech. <<case 2>> "Don't try anything," you say. "My mate won't be happy, and I'll remember you." <<case 3>> "I'll peck you if you get too close," you say. "Don't think I won't." <</switch>> <<elseif $fox gte 6 and random(1, 2) is 2>> <<switch random(1, 3)>> <<case 1>> "Feeling lucky?" you ask. "Fuck around and find out." You run your tongue over your exposed fangs. <<case 2>> You yip threateningly. <<case 3>> "Don't touch my tail," you say. "Or any other part of me." <</switch>> <<elseif $anxiety gte 1 and $controlled is 0>> <<switch random(1, 3)>> <<case 1>> You try to speak, but terror seizes your voice. <<case 2>> You can't find the words. Your heart thunders in your chest. <<case 3>> Fear consumes your thoughts. <</switch>> <<gstress>><<stress 6>> <<else>> <<set _rng to random(1, 5)>> <<if $speech_attitude is "meek">> <<switch _rng>> <<case 1>> "St-stay back," you say. "I-I can defend myself." <<case 2>> "Please don't come closer," you say. <<case 3>> "Don't hurt me," you say. "Please don't." <<case 4>> "You'll get in trouble if you touch me," you say. <<case 5>> "Don't try anything," you say. "P-people know I'm here." <</switch>> <<elseif $speech_attitude is "bratty">> <<switch _rng>> <<case 1>> "Stay the fuck away," you say. "Or I'll make you sorry." <<case 2>> "Touch me and I'll kick your ass," you say. <<case 3>> "What you looking at?" you ask. <<case 4>> "Keep walking," you say. "Or I'll break your face." <<case 5>> "Don't even think about it," you say. "I've dealt with worse scum than you." <</switch>> <<else>> <<switch _rng>> <<case 1>> "Keep your distance," you say. "Or you'll be sorry." <<case 2>> "Don't touch me," you say. "Or you'll be in trouble." <<case 3>> "Don't try anything," you say. <<case 4>> "I know how to look after myself," you say. "Don't you dare." <<case 5>> "Keep moving," you say. "I'm not defenceless." <</switch>> <</if>> <</if>> <</widget>> <<widget "actionsconfrontNNPC">> <<if $wraith and $wraith.mimic>> <<set $_npc to $wraith.mimic>> <<else>> <<set $_npc to $NPCList[0].fullDescription>> <</if>> <<if isLoveInterest($_npc) and random(1)>> <<if $speech_attitude is "meek">> "I-is that you, <<print $_npc>>?" you ask. <<elseif $speech_attitude is "bratty">> "What do you want, <<print $_npc>>?" you demand. <<else>> "<<print $_npc>>?" you say. <</if>> <<else>> <<switch $_npc>> <<case "Whitney">> <<if $whitneyromance is 1>> <<if $speech_attitude is "meek">> <<switch random(1, 3)>> <<case 3>> You gulp. "You're not gonna pick on me, are you?" <<case 2>> "You wouldn't hurt your <<girlfriend>>," you stutter. "R-right?" <<case 1>> "Be gentle, Whitney..." you plead. <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(1, 3)>> <<case 3>> "Don't think you can walk all over me because we're dating," you say. <<case 2>> "I'm no one's property," you say. "Least of all yours." <<case 1>> "I know you didn't come all this way to chat," you say. <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>> "You wouldn't hurt your <<girlfriend>>," you say. <<case 2>> "I know what you want," you sigh. <<case 1>> "I'm not a toy," you say. <</switch>> <</if>> <<else>> <<if $speech_attitude is "meek">> <<switch random(1, 3)>> <<case 3>> You hang your head. "Just... not too rough." <<case 2>> "Please," you say. "Leave me alone!" <<case 1>> "I won't be bullied," you mumble. <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(1, 3)>> <<case 3>> "Careful," you warn. "There're no teachers around to save you." <<case 2>> "Why don't you crawl back to your loser friends?" you say. <<case 1>> "Trying anything and I'll kick your ass," you say. <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>> "I'm not gonna let you pick on me," you say. <<case 2>> "What're you trying to prove?" you say. <<case 1>> "Don't you dare," you say. <</switch>> <</if>> <</if>> <<case "Eden">> <<if $syndromeeden is 1>> <<if $speech_attitude is "meek">> <<switch random(1, 3)>> <<case 3>> You look down. "Are you mad at me...?" <<case 2>> "Eden, you're scaring me," you whimper. <<case 1>> You gulp. "Wh-why are you looking at me like I'm prey?" <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(1, 3)>> <<case 3>> "What the hell are you doing here?" you demand. <<case 2>> "I'll come home when I wanna come home," you say. <<case 1>> "Quit staring like I'm a piece of meat," you demand. <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>> "You're a ways from home," you say. <<case 2>> "What are you doing out here?" you ask. <<case 1>> "How long have you been following me?" you ask. <</switch>> <</if>> <<else>> <<if $speech_attitude is "meek">> <<switch random(1, 3)>> <<case 3>> "Go away!" you cry. "You're scary!" <<case 2>> "Please don't shoot!" you cry. <<case 1>> "I'm not an animal!" you cry. <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(1, 3)>> <<case 3>> "I'm nobody's prey," you growl. <<case 2>> "Run home to your dirty old shack," you bark. <<case 1>> "Come any closer," you say. "And I'll stick that gun <<if $analdisable is "f">>up your ass<<else>>down your throat<</if>>." <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>> "Put the gun down," you say. <<case 2>> "Go back to chasing deer," you say. <<case 1>> "I'm not some helpless animal," you say. <</switch>> <</if>> <</if>> <<case "Ivory Wraith">> <<if $wraith.state is "haunt" and $wraithPrison and $wraithPrison.vision>> <<if $speech_attitude is "meek">> <<switch random(1, 3)>> <<case 3>> You cry. "I'm sorry! Just leave me alone!" <<case 2>> "Why can't you just let it go?" you ask. <<case 1>> You look down. "Please stop haunting me." <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(1, 3)>> <<case 3>> "I don't have your stupid necklace," you say. <<case 2>> "Here we stand, give it back," you mock. "Fuck off." <<case 1>> "Go back to the lake!" you shout. <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>> "Is this about the necklace?" you ask. <<case 2>> "Why are you so obsessed with me?" you ask. <<case 1>> You sigh. "You again." <</switch>> <</if>> <<else>> <<if $speech_attitude is "meek">> <<switch random(1, 3)>> <<case 3>> You cry. "You're scary!" <<case 2>> "Why are you... floating?" you ask. <<case 1>> You try to speak, but your throat seizes as its <<wraithEyes>> eyes bore into you. <</switch>> <<elseif $speech_attitude is "bratty">> <<switch random(1, 3)>> <<case 3>> "Go away, you pale freak," you spit. <<case 2>> "Never knew thin air could be so ugly," you mock. <<case 1>> "What even are you?" you say. "Weird fucking creature." <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>> "I'm not some sacrificial lamb," you say. <<case 2>> "I'm not afraid of you," you <<if $controlled>>say<<else>>lie<</if>>. <<case 1>> "I won't let you haunt me," you say. <</switch>> <</if>> <</if>> <<default>> <<actionsconfront>> <</switch>> <</if>> <</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">> <!-- Do Nothing --> <<elseif $NPCList[_j].stance isnot "topface">> <<if $vaginaactiondefault is "vaginatopenis">> | <label><span class="sub">Straddle <<his>> penis</span> <<radiobutton "$vaginaaction" "vaginatopenis" checked>><<vaginaldifficulty>> <<combatpromiscuous5>></label> <<else>> | <label><span class="sub">Straddle <<his>> penis</span> <<radiobutton "$vaginaaction" "vaginatopenis">><<vaginaldifficulty>> <<combatpromiscuous5>></label> <</if>> <<break>> <</if>> <</if>> <</for>> <</widget>> <<widget "actionsvaginatovagina">> <<if $combattype is "train">> <<set _end to $enemyno-1>> <<else>> <<set _end to 0>> <</if>> <<if !playerChastity("vagina")>> <<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">> <!-- Do Nothing --> <<elseif $NPCList[_j].stance isnot "topface">> <<if $vaginaactiondefault is "vaginatovagina">> | <label><span class="sub">Straddle <<his>> pussy</span> <<radiobutton "$vaginaaction" "vaginatovagina" checked>><<vaginaldifficulty>> <<combatpromiscuous5>></label> <<else>> | <label><span class="sub">Straddle <<his>> pussy</span> <<radiobutton "$vaginaaction" "vaginatovagina">><<vaginaldifficulty>> <<combatpromiscuous5>></label> <</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 !playerChastity("vagina")>> <<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">> <!-- Do Nothing --> <<elseif $NPCList[_j].stance isnot "topface">> <<if $vaginaactiondefault is "vaginatovaginafuck">> | <label><span class="sub">Push your pussy against theirs</span> <<radiobutton "$vaginaaction" "vaginatovaginafuck" checked>><<vaginaldifficulty>> <<combatpromiscuous5>></label> <<else>> | <label><span class="sub">Push your pussy against theirs</span> <<radiobutton "$vaginaaction" "vaginatovaginafuck">><<vaginaldifficulty>> <<combatpromiscuous5>></label> <</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>> <!-- Do Nothing --> <<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">> <<elseif npcHasStrapon($vaginatarget)>> <<set _vaginaaction["Straddle " + $NPCList[$vaginatarget].pronouns.his + " strap-on"] 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>> <!-- Do Nothing --> <<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")>> <!-- Do Nothing --> <<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 !playerChastity("vagina") 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">> <!-- Do Nothing --> <<else>> <<if $vaginaactiondefault is "vaginapenisfuck">> | <label><span class="sub">Envelop <<his>> penis</span> <<radiobutton "$vaginaaction" "vaginapenisfuck" checked>> <<combatpromiscuous5>><<vaginalvirginitywarning>><<NPCvirginitywarning $NPCList[_j].fullDescription "penile">></label> <<else>> | <label><span class="sub">Envelop <<his>> penis</span> <<radiobutton "$vaginaaction" "vaginapenisfuck">> <<combatpromiscuous5>><<vaginalvirginitywarning>><<NPCvirginitywarning $NPCList[_j].fullDescription "penile">></label> <</if>> <<break>> <</if>> <</if>> <</for>> <</if>> <</widget>> <<widget "actionsvaginapenisfucknew">> <<if !playerChastity("vagina") 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")>> <!-- Do Nothing --> <<else>> <<set _penis to (npcHasStrapon($vaginatarget) ? "strap-on" : "penis")>> <<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>> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("vaginalskill") gte 800>> <<set _vaginaaction["Edge"] to "tribedge">> <</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 !playerChastity("anus")>> <<set _vaginaaction["Offer your anus instead"] to "penisanus">> <</if>> <<if $analdoubledisable is "f" and $awareness gt 300 and $anususe is "penis" and !playerChastity("anus")>> <<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) and !["legLock","legLocked"].includes($feetuse)>> <<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 and !["legLock","legLocked"].includes($feetuse)>> <<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 (hasSexStat("promiscuity", 4) and $enemytype is "man") or (hasSexStat("deviancy", 4) and $enemytype isnot "man")) and currentSkillValue("vaginalskill") gte 800>> <<set _vaginaaction["Edge " + $NPCList[$vaginatarget].pronouns.him] 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 (hasSexStat("promiscuity", 4) and $enemytype is "man") or (hasSexStat("deviancy", 4) and $enemytype isnot "man")) and currentSkillValue("vaginalskill") gte 800>> <<set _vaginaaction["Edge " + $NPCList[$vaginatarget].pronouns.him] to "penisEdging">> <</if>> <<if !playerIsPregnant() and $sexStats.vagina.menstruation.currentState isnot "recovering" and playerPregnancyPossibleWith($NPCList[$vaginatarget]) and $enemyarousal gte $enemyarousalmax and $demon gte 6 and $demonbuild gte 90>> <<set _vaginaaction["Force impregnation"] to "forceImpregnation">> <</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 and !["legLock","legLocked"].includes($feetuse)>> <<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>> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("vaginalskill") gte 800>> <<set _vaginaaction["Edge"] to "tribedge">> <</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 !playerChastity("anus")>> <<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 (hasSexStat("promiscuity", 4) and $enemytype is "man") or (hasSexStat("deviancy", 4) and $enemytype isnot "man")) and currentSkillValue("vaginalskill") gte 800>> <<set _vaginaaction["Edge them"] to "penisDoubleEdging">> <</if>> <<if $anususe is 0 and !playerChastity("anus")>> <<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 (hasSexStat("promiscuity", 4) and $enemytype is "man") or (hasSexStat("deviancy", 4) and $enemytype isnot "man")) and currentSkillValue("vaginalskill") gte 800>> <<set _vaginaaction["Edge them"] to "penisDoubleEdging">> <</if>> <</widget>> <<widget "actionsvaginapenisdoublefuck">> <<if !playerChastity("vagina") 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")>> <!-- Do Nothing --> <<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>><<widget "effectsvaginatopenis">> <<if $vaginaaction is "vaginatopenis">> <<personselect $vaginatarget>> <<set $vaginaaction to 0>><<submission 10>><<vaginalskilluse>><<combatpromiscuity5>> <<if $vaginause is 0>> <<if combatSkillCheck("vaginal", $vaginatarget)>> <<if $NPCList[$vaginatarget].penis is 0>> <<submission 2>><<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 $NPCList[$vaginatarget].condom and $NPCList[$vaginatarget].condom.willUse is true and $NPCList[$vaginatarget].condom.worn is false and !$NPCList[$vaginatarget].penisdesc.includes("strap-on")>> <<if $NPCList[$vaginatarget].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[$vaginatarget].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$vaginatarget].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc $vaginatarget>> on <<his>> penis.</span> <<equipNPCCondom $vaginatarget>> <</if>> <</if>> <span class="lblue">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>>.</span> <<if $NPCList[$vaginatarget].type is "plant" and $NPCList[$vaginatarget].penissize gte 4 and canImpregnateParasite("vagina")>> <span class="red">Something about it scares you.</span> <</if>> <<if $enemytype is "beast">><<set $NPCList[$vaginatarget].stance to "top">><</if>> <<set $NPCList[$vaginatarget].location.genitals to "genitals">> <<else>> <span class="blue">You try to straddle <<combatpersons>> $NPCList[$vaginatarget].penisdesc, but the phallus is already occupied.</span><<set $vaginaactiondefault to "vaginatopenis">> <</if>> <<else>> <span class="blue">You try to straddle <<combatperson>> but <<ohe>> pushes you off.</span><<set $vaginaactiondefault to "vaginatopenis">> <</if>> <</if>> <</if>> <</widget>> <<widget "effectsvaginatovagina">> <<if $vaginaaction is "vaginatovagina">> <<personselect $vaginatarget>> <<set $vaginaaction to 0>><<submission 5>><<vaginalskilluse>><<combatpromiscuity5>> <<if combatSkillCheck("vaginal", $vaginatarget)>> <<if $NPCList[$vaginatarget].vagina is 0>> <<set $vaginause to "othervagina">><<set $vaginastate to "othervaginaentrance">><<set $NPCList[$vaginatarget].vagina to "vaginaentrance">><<submission 5>><<set $vaginaactiondefault to "othervaginarub">> <<if $leftarm is "vagina">> <<set $leftarm to 0>> <</if>> <<if $rightarm is "vagina">> <<set $rightarm to 0>> <</if>> <span class="lblue">You kiss <<combatpersons>> pussy with your own<<if $NPCList[$vaginatarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$vaginatarget].chastity.vagina<</if>>.</span> <<if $enemytype is "beast">><<set $NPCList[$vaginatarget].stance to "top">><</if>> <<set $NPCList[$vaginatarget].location.genitals to "genitals">> <<else>> <span class="blue">You try to move your <<pussy>> nearer <<combatpersons>>, but the entrance is already occupied.</span><<set $vaginaactiondefault to "vaginatovagina">> <</if>> <<else>> <span class="blue">You try to move your <<pussy>> nearer <<combatpersons>>, but <<ohe>> pushes you off.</span><<set $vaginaactiondefault to "vaginatovagina">> <</if>> <</if>> <</widget>> <<widget "effectsvaginatovaginafuck">> <<if $vaginaaction is "vaginatovaginafuck" and $NPCList[$vaginatarget].vagina.toString().includes("vagina")>> <<set $vaginaaction to 0>><<submission 5>><<vaginalskilluse>><<combatpromiscuity5>> <<if combatSkillCheck("vaginal", $vaginatarget)>> <<submission 5>><<set $vaginause to "othervagina">><<set $vaginastate to "othervagina">><<set $NPCList[$vaginatarget].vagina to "vagina">><<set $vaginaactiondefault to "tribcooperate">> <span class="blue">You press <<personselect $vaginatarget>><<combatpersons>> pussy with your own.</span> <<else>> <span class="blue">You try to press your <<pussy>> against <<personselect $vaginatarget>><<combatpersons>>, but <<ohe>> keeps you away.</span><<set $vaginaactiondefault to "vaginatovaginafuck">> <</if>> <</if>> <</widget>> <<widget "effectsvaginapenisfuck">> <<if $vaginaaction is "vaginapenisfuck" and $NPCList[$vaginatarget].penis.toString().includes("vagina")>> <<set $vaginaaction to 0>><<submission 20>><<vaginalskilluse>><<combatpromiscuity5>> <<if $vaginaWetness + (currentSkillValue("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>> <span class="pink">you <<vaginaltext>> push against <<personselect $vaginatarget>><<combatpersons>> $NPCList[$vaginatarget].penisdesc, taking it deep into your <<pussy>>.</span> <<switch $NPCList[$vaginatarget].penissize>> <<case 5>> <span class="lewd">The sheer size of it forces the breath from your body.</span> <<case 4>> <span class="lewd">You shudder as your <<pussy>> stretches to accommodate <<his>> cock.</span> <<case 1>> <span class="lewd">It's so small you can barely feel it.</span> <<default>> <span class="lewd"></span> <</switch>> <<sex 30 "genitals" $vaginatarget>><<vaginalstat>><<raped>><<vaginaraped>><<takeVirginity $NPCList[$vaginatarget].fullDescription "vaginal">><<takeNPCVirginity $vaginatarget "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>> <span class="pink">you <<vaginaltext>> push against <<personselect $vaginatarget>><<combatpersons>> $NPCList[$vaginatarget].penisdesc, taking it deep into your virgin pussy.</span> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <<switch $NPCList[$vaginatarget].penissize>> <<case 5>> The sheer size forces all thought from your mind. <span class="red">Your hymen is obliterated, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 50>> <<case 4>> <span class="red">Your hymen is destroyed, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 40>> <<case 1>> <span class="red">You feel your hymen tear despite its size, <<virginitylosttext $NPCList[_n].fullDescription>></span> <span class="green"> While technically no longer a virgin, you can barely feel it.</span> <<violence 20>> <<default>> <span class="red">You feel your hymen tear, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 30>> <</switch>> <</if>> <<sex 100 "genitals" $vaginatarget>><<bruise vagina>><<vaginalstat>><<raped>><<vaginaraped>><<takeVirginity $NPCList[$vaginatarget].fullDescription "vaginal">><<takeNPCVirginity $vaginatarget "penile">><<set $vaginastate to "penetrated">><<set $speechvaginavirgin to 1>> <</if>> <<else>> You <<vaginaltext>> press your <<pussy>> against <<personselect $vaginatarget>><<combatpersons>> <<print $NPCList[$vaginatarget].penisdesc>>, <span class="blue">but fail to envelop.</span> <<His>> penis angles away and rubs against your <<if $player.penisExist>><<penis>><<else>>clit<</if>>. <<sex 20 "genitals" $vaginatarget>><<set $vaginaactiondefault to "vaginapenisfuck">> <</if>> <</if>> <</widget>> <<widget "effectsvaginatopenisdouble">> <<if $vaginaaction is "vaginatopenisdouble" and $NPCList[$vaginadoubletarget].penis is 0>> <<set $vaginaaction to 0>><<submission 10>><<vaginalskilluse>><<set $vaginaactiondefault to "vaginatopenisdouble">><<combatpromiscuity5>> <<if combatSkillCheck("vaginal", $vaginadoubletarget)>> <<submission 2>><<set $vaginause to "penisdouble">><<set $NPCList[$vaginadoubletarget].penis to "vaginaentrancedouble">><<set $vaginastate to "doubleentrance">> <<if $NPCList[$vaginatarget].penis is "vaginaimminent">> <<set $NPCList[$vaginatarget].penis to "vaginaimminentdouble">> <<set $vaginastate to "doubleimminent">> <<elseif $NPCList[$vaginatarget].penis is "vaginaentrance">> <<set $NPCList[$vaginatarget].penis to "vaginaentrancedouble">> <<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 $NPCList[$vaginadoubletarget].condom and $NPCList[$vaginadoubletarget].condom.willUse is true and $NPCList[$vaginadoubletarget].condom.worn is false and !$NPCList[$vaginadoubletarget].penisdesc.includes("strap-on")>> <<if $NPCList[$vaginadoubletarget].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[$vaginadoubletarget].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$vaginadoubletarget].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc $vaginadoubletarget>> on <<his>> penis.</span> <<equipNPCCondom $vaginadoubletarget>> <</if>> <</if>> <span class="lblue">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>>.</span> <<if $enemytype is "beast">><<set $NPCList[$vaginadoubletarget].stance to "top">><</if>> <<set $NPCList[$vaginadoubletarget].location.genitals to "genitals">> <<else>> <span class="blue">You try to straddle <<personselect $vaginadoubletarget>><<combatperson>> but <<ohe>> pushes you off.</span> <</if>> <</if>> <</widget>> <<widget "effectsvaginapenisdoublefuck">> <<if $vaginaaction is "vaginapenisdoublefuck">> <<set $vaginaaction to 0>><<submission 20>><<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 + (currentSkillValue("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>> <span class="pink">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>>.</span> <<switch _doublepenissize>> <<case 5>> <span class="lewd">The sheer size of them forces the breath from your body.</span> <<case 4>> <span class="lewd">You shudder as your <<pussy>> stretches to accommodate their cocks.</span> <<default>> <span class="lewd"></span> <</switch>> <span class="pink">Your nipples harden while your body shivers from taking two cocks.</span> <<set _mydesc to ($NPCList[_npcA].fullDescription + " and " + $NPCList[_npcB].fullDescription)>> <<sex 15 "genitals" $vaginatarget>><<sex 15 "genitals" $vaginadoubletarget>><<vaginalstat>><<vaginaldoublestat>><<raped>><<vaginaraped>><<set $vaginastate to "doublepenetrated">> <<takeVirginity `[_npcA, _npcB]` "vaginal">><<takeNPCVirginity _npcA "penile">><<takeNPCVirginity _npcB "penile">> <<elseif $player.virginity.vaginal is true>> <<set $NPCList[_npcA].penis to "vaginadouble">> <<set $NPCList[_npcB].penis to "vaginadouble">> <<vagina_lube_text>> <span class="pink">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.</span> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <<switch _doublepenissize>> <<case 5>> The sheer size of their cocks forces all thought from your mind. <span class="red">Your hymen is obliterated, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 50>> <<case 4>> <span class="red">Your hymen is destroyed by both cocks, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 40>> <<default>> <span class="red">You feel your hymen tear from both cocks, <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 30>> <</switch>> <</if>> <span class="pink">Your nipples harden while your body shivers from taking two cocks.</span> <<set _mydesc to ($NPCList[_npcA].fullDescription + " and " + $NPCList[_npcB].fullDescription)>> <<sex 50 "genitals" $vaginatarget>><<sex 50 "genitals" $vaginadoubletarget>><<bruise vagina>><<vaginalstat>><<vaginaldoublestat>><<raped>><<vaginaraped>><<takeVirginity `[_npcA, _npcB]` "vaginal">><<takeNPCVirginity _npcA "penile">><<takeNPCVirginity _npcB "penile">><<set $vaginastate to "doublepenetrated">><<set $speechvaginavirgin to 1>> <</if>> <<else>> You <<vaginaltext>> press your <<pussy>> against <<personselect $vaginatarget>><<combatpersons>> <<print $NPCList[$vaginatarget].penisdesc>>, <span class="blue">but fail to envelop.</span> <<His>> penis angles away and rubs against your <<if $player.penisExist>><<penis>><<else>>clit<</if>>. <<sex 10 "genitals" $vaginatarget>><<sex 10 "genitals" $vaginadoubletarget>><<set $vaginaactiondefault to "vaginapenisdoublefuck">> <</if>> <</if>> <</widget>><<widget "actionsman">> <<exposure>> <<set $face to 0>> <<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>> <<animateCombat>> <div @class="($debugLines ? 'debugLines-actionsman' : '')"> <<fetishPregnancyImg>> <<if $traumafocus gte 1 and $traumafocusintro isnot 1>> <<set $traumafocusintro to 1>> <i>As you gain focus, you become more and more likely to escape your helpless state of dissociation.</i> <br><br> <</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>> <span class="green">Your lucidity returns.</span> <<ltrauma>> <br> <span class="red">The weight of reality crashes down on you.</span> <br><br> <</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")>> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and !$possessed>> <<if $options.images is 1 and $options.combatImages is 1 and $consensual is 1 and $position_lock isnot 1>> <<if $position is "doggy">> | <label>Roll over <<radiobutton "$bodyaction" "missionary">></label> <<elseif $position is "missionary" and !["facesit", "anal"].includes($mouthuse)>> | <label>Roll over <<radiobutton "$bodyaction" "doggy">></label> <</if>> <<if $position isnot "stalk">> | <label>Rest <<radiobutton "$bodyaction" "rest" checked>></label> <br> <</if>> <</if>> <</if>> <<if $options.combatControls isnot "disabled">> <<generateActionsMan>> <</if>> <br> <</if>> <br><br> <<set $face to 0>> </div> /*Due to how combat is setup, this is the best location for it*/ <<setupMidOrgasm>> <<set _combatend to ($alarm is 1 and $rescue gte 1) or ($enemyhealth lte 0) or ($enemyarousal gte $enemyarousalmax) or ($finish is 1) >> <!-- Lose consciousness if it has been 20+ seconds since PC ran out of air --> <<if $suffocating gte 2 and $suffocated isnot 1 and !_combatend>> <<set $previousPassage = $passage>> <<set $suffocationPhase to 1>> <<set $suffocated to 1>> <<set $nextPassage to "Man combat suffocated">> <</if>> <<if $debug is 1 and $combatDemoDebugText isnot 0>> <div id="combatDebug"> __Debug__ <br> Enemy Health: $enemyhealth -- Enemy Health Max: $enemyhealthmax <br> Enemy number: $enemyno -- Enemy max number: $enemynomax <br><br> <<for _i to 0; _i lt $enemynomax; _i++>> #<<print _i>>: $NPCList[_i].fullDescription <br> Head Location: $NPCList[_i].location.head -- Genitals Location: $NPCList[_i].location.genitals <br> Active: $NPCList[_i].active -- Stance: $NPCList[_i].stance -- Health: $NPCList[_i].health <br> 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. */ <br> Left Hand: $NPCList[_i].lefthand -- Right Hand: $NPCList[_i].righthand <br><br> <</for>> </div> <</if>> <</widget>>/*Please read dev comments before making changes*/ /*Be careful with changing names around, they are intentional as can get re-used when the user uses the controls, leading to errors if incorrect*/ /*Generates the required divs and calls each type of action*/ <<widget "generateActionsMan">> <br> <<if $defaultsType is undefined>> <<getCombatDefaultsType>> <</if>> <<if $position isnot "stalk">> <div id="replaceAction"> <<replaceActionLink>> </div> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <</if>> <<if !$stalk_end>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<leftActionInit>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<rightActionInit>> </div> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<feetActionInit>> </div> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInit>> </div> <<if $player.penisExist or $worn.genitals.type.includes("strap-on") or playerHasStrapon()>> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInit>> </div> <</if>> <<if $player.vaginaExist>> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInit>> </div> <</if>> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInit>> </div> <<if $chestuse isnot 0>> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInit>> </div> <</if>> <<if $thighuse isnot 0>> <div id="thighaction" @class="$options.combatControls + 'Control'"> <<thighActionInit>> </div> <</if>> </div> <</if>> <</widget>> /*Generates the required values for defaults to be setup based on the situation*/ <<widget "getCombatDefaultsType">> <<if $consensual == 1>> <<set $defaultsCombatType = "consensual">> <<else>> <<set $defaultsCombatType = "rape">> <</if>> <<switch $enemytype>> <<case "man">> <<if $NPCNameList.includes($NPCList[0].fullDescription)>> <<if $actionDefaults[$NPCList[0].fullDescription] isnot undefined>> <<set $defaultsType to $NPCList[0].fullDescription>> <<else>> <<set $defaultsType to "Acquaintances">> <</if>> <<else>> <<set $defaultsType to "Strangers">> <</if>> <<case "beast">><<set $defaultsType to "Animals">> <<case "tentacles" "vore">> <<set $defaultsType to "Tentacles">> <<set $regrab = DefaultActions.get($defaultsCombatType, 'Tentacles', 'regrab', $actionDefaults, 0)[0]>> <<default>><<set $defaultsType to "Everyone">> <</switch>> <</widget>> <<widget "getCombatDefaultsTypeClear">> <<unset $defaultsType>> <<unset $defaultsCombatType>> <<unset $replaceAction>> <<unset $regrab>> <</widget>> <<widget "replaceActionLink">> <<if $replaceAction isnot "Alternative">> <a onclick="wikifier('replaceAction','Alternative')">Switch to Alternative Actions</a> | <</if>> <<if $replaceAction isnot "Submissive">> <a onclick="wikifier('replaceAction','Submissive')">Switch to Submissive Actions</a> | <</if>> <<if $replaceAction isnot "Defiant">> <a onclick="wikifier('replaceAction','Defiant')">Switch to Defiant Actions</a> | <</if>> <<if $replaceAction isnot undefined>> <a onclick="wikifier('replaceAction','Normal')">Switch to Normal Actions</a> | <</if>> <br> <</widget>> <<widget "replaceAction">> <<set $_rape to ($actionDefaults || {}).rape || {}>> <<set $_consent to ($actionDefaults || {}).consensual || {}>> <<switch _args[0]>> <<case "Alternative">> <<if $_rape.Alternative === undefined || $_consent.Alternative === undefined>> <<setupDefaults>> <</if>> <<set $defaultsType to "Alternative">> <<set $replaceAction to "Alternative">> <<case "Submissive">> <<if $_rape.Submissive === undefined || $_consent.Submissive === undefined>> <<setupDefaults>> <</if>> <<set $defaultsType to "Submissive">> <<set $replaceAction to "Submissive">> <<case "Defiant">> <<if $_rape.Defiant === undefined || $_consent.Defiant === undefined>> <<setupDefaults>> <</if>> <<set $defaultsType to "Defiant">> <<set $replaceAction to "Defiant">> <<case "Normal">> <<getCombatDefaultsType>> <<unset $replaceAction>> <</switch>> <<safereplace #replaceAction>><<replaceActionLink _replace>><</safereplace>> <<safereplace #leftaction>><<leftActionInit true>><</safereplace>> <<safereplace #rightaction>><<rightActionInit true>><</safereplace>> <<safereplace #feetaction>><<feetActionInit true>><</safereplace>> <<safereplace #mouthaction>><<mouthActionInit true>><</safereplace>> <<if $player.penisExist or $worn.genitals.type.includes("strap-on") or playerHasStrapon()>> <<safereplace #penisaction>><<penisActionInit true>><</safereplace>> <</if>> <<if $player.vaginaExist>> <<safereplace #vaginaaction>><<vaginaActionInit true>><</safereplace>> <</if>> <<safereplace #anusaction>><<anusActionInit true>><</safereplace>> <<if $chestuse isnot 0>> <<safereplace #chestaction>><<chestActionInit true>><</safereplace>> <</if>> <<if $thighuse isnot 0>> <<safereplace #thighaction>><<thighActionInit true>><</safereplace>> <</if>> <</widget>> /*This takes two arguments and one optional argument*/ /*_arg[0] is the name of the body part*/ /*_arg[1] is the list of targets*/ /*_arg[2] is optional and used if a special receiver is needed*/ <<widget "targetListBox">> <<set _onChangeString to "actionsreplace('" + _args[0] + "')">> <<set _listBoxReceiver to _args[2] === undefined ? "$" + _args[0] + "target" : _args[2]>> <label> Target: <span @onchange=_onChangeString> <<listbox _listBoxReceiver autoselect>> <<optionsfrom _args[1]>> <</listbox>> </span> </label> <</widget>> /*Each set of actions are based on the same set of rules*/ /*Setup by getting the situation that the player is in. i.e Their left hand is hold onto a penis*/ /*This is then followed up in getting the options that are available to the player, this would be from <<leftActions>>*/ /*in the case for the left hand. An object will be provide that contain moves in the form of {"actionName":"actionValue"}*/ /*actionName will be shown to the player, actionValue will be used to do the action*/ /*After the list of actions is setup, as long as there is more than one provide it will continue on to setting up the defaults*/ /*This will use the object setup in "base-system\attitudes.twee"*/ /*To provide extra information to the player, widgets such as `<<leftactionDifficulty>> can be used to display extra*/ /*information to the player such as "<<handdifficulty>>"" or "<<skulduggerydifficulty>><<combatcrime>>"*/ /*This will use the previous "actionValue"*/ /*Move colors will be provided through "combatListColor" found in "03-JavaScript\ingame.js"*/ /*These again use the "actionValue"*/ <<widget "leftActionInit">> <<switch $leftarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">Your left arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0 and !$possessed>> <<set _leftOptions to "pain">> <span class="red">Your left arm is free, but hurts to move.</span> <<elseif $dissociation gte 2 and !$possessed>> <<set _leftOptions to "unreal">> <span class="pink">Your left arm is free, but doesn't feel real.</span> <<elseif $possessed>> <<set _leftOptions to "possessed">> Your left arm is free, <span class="pink">but not under your control.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1 and $stealstateleft is undefined>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "free">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and $stealstateleft is undefined>> <br> <<targetListBox "left" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $lefttarget to _firsttarget>> <</if>> <</if>> <<case "penis">> <<set _leftOptions to "penis">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "leftarm">><<set $lefttarget to $index>>Your left hand is <<if $NPCList[$index] and $NPCList[$index].chastity.penis.includes("chastity")>>teasing<<else>>holding<</if>> <<personselect $index>><<combatpersons>> $NPCList[$index].penisdesc<<if $NPCList[$index].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$index].chastity.penis<</if>>.</span> <<case "grappled">> <<if $orgasmdown gte 1>> <<set _leftOptions to "bothBound">> <span class="lewd">Your left arm jerks against their grip.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "bothBound">> <span class="red">Your left arm is held in a painful grip.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "bothBound">> <span class="pink">Your left arm lies limp in their grip.</span> <<elseif $possessed>> <<set _leftOptions to "possessedBound">> Your left arm writhes in their grip, unbidden. <<else>> <<set _leftOptions to "grappled">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left arm is being held down.</span> <</if>> <<case "bound">> <<set _leftOptions to "bothBound">> <<if $orgasmdown gte 1>> <span class="lewd">Your left arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your left arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your left arm lies limp in its bonds.</span> <<elseif $possessed>> Your left arm writhes in its bounds, unbidden. <<else>> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your arms are helplessly bound.</span> <</if>> <<case "othervagina">> <<set _leftOptions to "pussy">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')"><<selectNpcWithPartInPosition "vagina" "leftarm">><<set $lefttarget to $index>>Your left hand is <<if $NPCList[$index].chastity.vagina.includes("chastity")>>teasing<<else>>stroking<</if>> <<personselect $index>><<combatpersons>> pussy<<if $NPCList[$index].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$index].chastity.vagina<</if>>.</span> <<case "vagina">> <<set _leftOptions to "coverVagina">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is protecting your <<pussy>>.</span> <<case "coverpenis">> <<set _leftOptions to "coverPenis">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is protecting your <<penis>>.</span> <<case "anus">> <<set _leftOptions to "coverAss">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is protecting your <<bottom>>.</span> <<case "behind">> <<set _leftOptions to "behind">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is behind your back.</span> <<case "handheld">> <<set _leftOptions to "handheld">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is being held.</span> <<case "heldSexToy">> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "heldSexToy">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is holding the <<print $currentSexToyLeft.name>>.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "left" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $lefttarget to _firsttarget>> <</if>> <<case "dildoSelfPussyEntrance">> <<set _leftOptions to "dildoSelfPussyEntrance">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is holding the <<print $currentSexToyLeft.name>> above your <<pussy>>.</span> <<case "dildoSelfPussy">> <<set _leftOptions to "dildoSelfPussy">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand fucks your <<pussy>> with the <<print $currentSexToyLeft.name>>.</span> <<case "dildoSelfAnusEntrance">> <<set _leftOptions to "dildoSelfAnusEntrance">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is holding the <<print $currentSexToyLeft.name>> above your anus.</span> <<case "dildoSelfAnus">> <<set _leftOptions to "dildoSelfAnus">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand fucks your <<bottom>> with the <<print $currentSexToyLeft.name>>.</span> <<case "strokerSelfPenisEntrance">> <<set _leftOptions to "strokerSelfPenisEntrance">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is holding the <<print $currentSexToyLeft.name>> above your <<penisSimple>>.</span> <<case "strokerSelfPenis">> <<set _leftOptions to "strokerSelfPenis">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand fucks your <<penisSimple>> with the <<print $currentSexToyLeft.name>></span> <<case "dildoOtherPussyTease">> <<set _leftOptions to "dildoOtherPussyTease">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is <<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>>teasing<<else>>stroking<</if>> <<combatpersons>> pussy<<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.vagina<</if>> with your $currentSexToyLeft.name.</span> <<case "dildoOtherPussyFuck">> <<set _leftOptions to "dildoOtherPussyFuck">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')"><<selectNpcWithPartInPosition "vagina" "leftDildo">><<set $lefttarget to $index>>Your left hand fucks the <<combatpersons>> pussy with the $currentSexToyLeft.name.</span> <<case "dildoOtherAnusTease">> <<set _leftOptions to "dildoOtherAnusTease">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is <<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>>teasing<<else>>stroking<</if>> <<combatpersons>> ass<<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.vagina<</if>> with your $currentSexToyLeft.name.</span> <<case "dildoOtherAnusFuck">> <<set _leftOptions to "dildoOtherAnusFuck">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')"><<selectNpcWithPartInPositionAnus "leftDildoAnus">><<set $lefttarget to $index>>Your left hand fucks <<combatpersons>> ass with the $currentSexToyLeft.name.</span> <<case "strokerOtherPenisTease">> <<set _leftOptions to "strokerOtherPenisTease">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is <<if $NPCList[$lefttarget].chastity.penis.includes("chastity")>>teasing<<else>>stroking<</if>> <<combatpersons>> <<npcPenisSimple $lefttarget>><<if $NPCList[$lefttarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.penis<</if>> with your $currentSexToyLeft.name.</span> <<case "strokerOtherPenisFuck">> <<set _leftOptions to "strokerOtherPenisFuck">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand fucks <<combatpersons>> <<npcPenisSimple $lefttarget>> with the $currentSexToyLeft.name.</span> <<case "struggle">> <<set $_changetype to true>><<leftActionInitStruggle>> <<case "swarmgrappled">> <<set $_changetype to true>><<leftActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<leftActionInitMachine>> <<default>> <<set $_changetype to true>><<leftActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<if $lastOptions.left isnot _leftOptions>> <<set _leftGold to true>> <</if>> <<leftActions>> <<if Object.keys(_leftaction).length gt 0>> <<assignCombatDefaults "left" _args[0]>> <<generateCombatAction _leftaction "leftaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="leftactionDifficulty"> <<leftactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.left to clone(_leftOptions)>> <</if>> <</widget>> <<widget "leftactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $leftaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "leftwork" "leftclit">><<handdifficulty>> <<case "leftplay" "leftgrab">><<handdifficulty>> <<combatpromiscuous3>> <<case "handedge">> <<combatpromiscuous4>> <<case "steal">><<skulduggerydifficulty>><<combatcrime "petty">> <<case "spray">>Remaining: $spray / $spraymax <<case "lefthandholdnew">><<handholdingvirginitywarning>><<NPCvirginitywarning $NPCList[$lefttarget].fullDescription "handholding">> <<case "leftUndressOther">> <<if Object.keys(_undressLeftTargets).length gt 1>> <<listbox "$undressLeftTarget">> <<optionsfrom _undressLeftTargets>> <</listbox>> <<handdifficulty>> <<combatpromiscuous2>> <</if>> <<case "leftmasturbatepussy">> <<combatpromiscuous2>> <<case "leftmasturbatepenis">> <<combatpromiscuous2>> <<case "leftmasturbateanus">> <<combatpromiscuous3>> <<case "pickupSexToy">> <<if Object.keys(_itemsLeft).length gte 1>> <<listbox "$selectedItemLeft" autoselect>> <<optionsfrom _itemsLeft>> <</listbox>> <</if>> <<combatpromiscuous3>> <<case "handguide">> <<if Object.keys(_handGuideOptions).length gt 0>> <<listbox "$handGuideLeft" autoselect>> <<optionsfrom _handGuideOptions>> <</listbox>> <</if>> <<handdifficulty>> <<combatpromiscuous2>> <<case "peniscondom">><<handdifficulty>> <<case "penisremovecondom">><<handdifficulty>> <<case "npcremovecondom">><<handdifficulty>> <<if $consensual is 0 and playerPregnancyPossibleWith($NPCList[$lefttarget])>><<combatpromiscuous6>><</if>> <</switch>> <</widget>> <<widget "leftActions">> /*Generate Actions*/ <<set _leftaction to {}>> <<if $position is "stalk">> <<if $leftarm isnot "bound">> <<set _leftaction["Clench"] to "clench">> <<set _leftaction["Fold"] to "fold">> <<leftFixAndCoverActions>> <<leftcoverface>> <<left_pursuit_grab>> <</if>> <<else>> <<switch _leftOptions>> <<case "free">> <<set _leftaction["Rest"] to "rest">> <<leftdefault>> <<leftgrabnew>> <<leftplaynew>> <<combatMasturbate "left">> <<applyLube "left">> <<leftclothesnew>> <<removeButtplug "left">> <<leftspraynew>> <<leftstealnew>> <<leftpenwhacknew>> <<combathandhold "lefthand">> <<leftFixAndCoverActions>> <<leftchoke>> <<leftCondom>> <<leftNPCCondom>> <<leftshacklewhack>> <<lefthypnosiswhack>> <<handsstrugglefreebodypart "left">> <<leftUndressOther>> <<leftdildowhack>> <<pickupSexToy "left">> <<leftcamerapose>> <<lefthandpull>> <<case "handheld">> <<if $consensual is 1>> <<set _leftaction["Keep holding"] to "lefthandholdkeep">> <</if>> <<combathandguide "left">> <<set _leftaction["Stop"] to "lefthandholdstop">> <<case "penis">> <<if $NPCList[$lefttarget].chastity.penis.includes("chastity")>> <<set _leftaction["Tease " + $NPCList[$lefttarget].pronouns.him] to "leftwork">> <<else>> <<set _leftaction["Work " + $NPCList[$lefttarget].pronouns.his + " shaft"] to "leftwork">> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("handskill") gte 800>> <<set _leftaction["Edge"] to "handedge">> <</if>> <</if>> <<set _leftaction["Stop"] to "leftstoppenis">> <<case "grappled">> <<set _leftaction["Rest"] to "rest">> <<set _leftaction["Struggle"] to "leftstruggle">> <<case "bothBound">> <<case "pussy">> <<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>> <<set _leftaction["Tease " + $NPCList[$lefttarget].pronouns.him] to "leftclit">> <<else>> <<set _leftaction["Rub " + $NPCList[$lefttarget].pronouns.his + " clit"] to "leftclit">> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("handskill") gte 800>> <<set _leftaction["Edge"] to "handedge">> <</if>> <</if>> <<set _leftaction["Stop"] to "leftothervaginastop">> <<case "coverVagina">> <<set _leftaction["Keep covering"] to "leftcovervagina">> <<set _leftaction["Stop"] to "leftstopvagina">> <<case "coverPenis">> <<set _leftaction["Keep covering"] to "leftcoverpenis">> <<set _leftaction["Stop"] to "leftstopcoverpenis">> <<case "coverAss">> <<set _leftaction["Keep covering"] to "leftcoveranus">> <<set _leftaction["Stop"] to "leftstopanus">> <<case "behind">> <<set _leftaction["Keep behind"] to "behind">> <<set _leftaction["Stop"] to "stopbehind">> <<case "orgasm">> <<set _leftaction["Fold"] to "leftfold">> <<set _leftaction["Grip"] to "leftgrip">> <<case "pain">> <<set _leftaction["Struggle"] to "leftstruggleweak">> <<set _leftaction["Protect"] to "leftprotect">> <<case "unreal">> <<set _leftaction["Poke yourself"] to "leftpoke">> <<set _leftaction["Keep your arms out of the way"] to "leftcurl">> <<case "possessed">> <<set _leftaction["Accept it"] to "leftacceptW">> <<set _leftaction["Hold it still"] to "leftresistW">> <<case "possessedBound">> <<set _leftaction["Struggle"] to "leftstruggleW">> <<set _leftaction["Hold it still"] to "leftstillW">> <<case "heldSexToy">> <<heldSexToy "left">> <<case "dildoSelfPussyEntrance">> <<dildoSelfPussyEntrance "left">> <<case "dildoSelfPussy">> <<set _leftaction["Fuck your pussy with your "+$currentSexToyLeft.name] to "dildoSelfPussy">> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDrop">> <<case "dildoSelfAnusEntrance">> <<if $analdisable is "f">> <<dildoSelfAnusEntrance "left">> <</if>> <<case "dildoSelfAnus">> <<set _leftaction["Fuck your ass with your "+$currentSexToyLeft.name] to "dildoSelfAnus">> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDrop">> <<case "strokerSelfPenisEntrance">> <<strokerSelfPenisEntrance "left">> <<case "strokerSelfPenis">> <<set _leftaction["Fuck your penis with your "+$currentSexToyLeft.name] to "strokerSelfPenis">> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "strokerDrop">> <<case "dildoOtherPussyTease">> <<if $NPCList[$lefttarget].vagina is 0>> /*<<set _leftaction["Tease " + $NPCList[$righttarget].pronouns.his + " pussy"] to "dildoOtherPussyTease">>*/ /* Kept in case someone wants to make this happen in the future */ <<set _leftaction["Fuck " + $NPCList[$lefttarget].pronouns.his + " pussy with your "+$currentSexToyLeft.name] to "dildoOtherPussyFuck">> <</if>> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDropLeft">> <<case "dildoOtherPussyFuck">> <<if $NPCList[$lefttarget].vagina is "leftDildo">> <<set _leftaction["Fuck " + $NPCList[$lefttarget].pronouns.his + " pussy with your "+$currentSexToyLeft.name] to "dildoOtherPussyFuck">> <</if>> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDropLeft">> <<case "dildoOtherAnusTease">> <<if $NPCList[$lefttarget].vagina is 0 or $NPCList[$lefttarget].penis is 0>> <<set _leftaction["Fuck " + $NPCList[$lefttarget].pronouns.his + " ass with your "+$currentSexToyLeft.name] to "dildoOtherAnusFuck">> <</if>> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDropAnusLeft">> <<case "dildoOtherAnusFuck">> <<if $NPCList[$lefttarget].vagina is "leftDildoAnus" or $NPCList[$lefttarget].penis is "leftDildoAnus">> <<set _leftaction["Fuck " + $NPCList[$lefttarget].pronouns.his + " ass with your "+$currentSexToyLeft.name] to "dildoOtherAnusFuck">> <</if>> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "dildoDropAnusLeft">> <<case "strokerOtherPenisTease">> <<if $NPCList[$lefttarget].penis is 0 or $NPCList[$lefttarget].penis is "leftStroker">> <<set _leftaction["Fuck " + $NPCList[$lefttarget].pronouns.his + " penis with your "+$currentSexToyLeft.name] to "strokerOtherPenisFuck">> <</if>> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "strokerDropLeft">> <<case "strokerOtherPenisFuck">> <<if $NPCList[$lefttarget].penis is "leftStroker">> <<set _leftaction["Fuck " + $NPCList[$lefttarget].pronouns.his + " penis with your "+$currentSexToyLeft.name] to "strokerOtherPenisFuck">> <</if>> <<set _leftaction["Drop your " + $currentSexToyLeft.name] to "strokerDropLeft">> <</switch>> <</if>> <</widget>> <<widget "rightActionInit">> <<switch $rightarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">Your right arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0 and !$possessed>> <<set _rightOptions to "pain">> <span class="red">Your right arm is free, but hurts to move.</span> <<elseif $dissociation gte 2 and !$possessed>> <<set _rightOptions to "unreal">> <span class="pink">Your right arm is free, but doesn't feel real.</span> <<elseif $possessed>> <<set _rightOptions to "possessed">> Your right arm is free, <span class="pink">but not under your control.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1 and $stealstateright is undefined>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "free">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and $stealstateright is undefined>> <br> <<targetListBox "right" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $righttarget to _firsttarget>> <</if>> <</if>> <<case "penis">> <<set _rightOptions to "penis">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "rightarm">><<set $righttarget to $index>>Your right hand is <<if $NPCList[$index].chastity.penis.includes("chastity")>>teasing<<else>>holding<</if>> <<personselect $index>><<combatpersons>> $NPCList[$index].penisdesc<<if $NPCList[$index].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$index].chastity.penis<</if>>.</span> <<case "grappled">> <<if $orgasmdown gte 1>> <<set _rightOptions to "bothBound">> <span class="lewd">Your right arm jerks against their grip.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "bothBound">> <span class="red">Your right arm is held in a painful grip.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "bothBound">> <span class="pink">Your right arm lies limp in their grip.</span> <<elseif $possessed>> <<set _rightOptions to "possessedBound">> Your right arm writhes in their grip, unbidden. <<else>> <<set _rightOptions to "grappled">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right arm is being held down.</span> <</if>> <<case "bound">> <<set _rightOptions to "bothBound">> <<if $orgasmdown gte 1>> <span class="lewd">Your right arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your right arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your right arm lies limp in its bonds.</span> <<elseif $possessed>> Your right arm writhes in its bounds, unbidden. <<else>> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your arms are helplessly bound.</span> <</if>> <<case "othervagina">> <<set _rightOptions to "pussy">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')"><<selectNpcWithPartInPosition "vagina" "rightarm">><<set $righttarget to $index>>Your right hand is <<if $NPCList[$index].chastity.vagina.includes("chastity")>>teasing<<else>>stroking<</if>> <<combatpersons>> pussy<<if $NPCList[$index].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$index].chastity.vagina<</if>>.</span> <<case "vagina">> <<set _rightOptions to "coverVagina">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is protecting your <<pussy>>.</span> <<case "coverpenis">> <<set _rightOptions to "coverPenis">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is protecting your <<penis>>.</span> <<case "anus">> <<set _rightOptions to "coverAss">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is protecting your <<bottom>>.</span> <<case "behind">> <<set _rightOptions to "behind">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is behind your back.</span> <<case "handheld">> <<set _rightOptions to "handheld">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is being held.</span> <<case "heldSexToy">> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "heldSexToy">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is holding the $currentSexToyRight.name.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "right" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $righttarget to _firsttarget>> <</if>> <<case "dildoSelfPussyEntrance">> <<set _rightOptions to "dildoSelfPussyEntrance">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is holding the <<print $currentSexToyRight.name>> above your <<pussy>>.</span> <<case "dildoSelfPussy">> <<set _rightOptions to "dildoSelfPussy">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand fucks your <<pussy>> with the <<print $currentSexToyRight.name>>.</span> <<case "dildoSelfAnusEntrance">> <<set _rightOptions to "dildoSelfAnusEntrance">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is holding the <<print $currentSexToyRight.name>> above your anus.</span> <<case "dildoSelfAnus">> <<set _rightOptions to "dildoSelfAnus">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand fucks your <<bottom>> with the <<print $currentSexToyRight.name>>.</span> <<case "strokerSelfPenisEntrance">> <<set _rightOptions to "strokerSelfPenisEntrance">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is holding the <<print $currentSexToyRight.name>> above your <<penisSimple>>.</span> <<case "strokerSelfPenis">> <<set _rightOptions to "strokerSelfPenis">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand fucks your <<penisSimple>> with the <<print $currentSexToyRight.name>></span> <<case "dildoOtherPussyTease">> <<set _rightOptions to "dildoOtherPussyTease">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is <<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>>teasing<<else>>stroking<</if>> <<combatpersons>> pussy<<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.vagina<</if>> with your $currentSexToyRight.name.</span> <<case "dildoOtherPussyFuck">> <<set _rightOptions to "dildoOtherPussyFuck">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')"><<selectNpcWithPartInPosition "vagina" "rightDildo">><<set $righttarget to $index>>Your right hand fucks <<combatpersons>> pussy with the $currentSexToyRight.name.</span> <<case "dildoOtherAnusTease">> <<set _rightOptions to "dildoOtherAnusTease">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is <<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>>teasing<<else>>stroking<</if>> <<combatpersons>> ass<<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.vagina<</if>> with your $currentSexToyRight.name.</span> <<case "dildoOtherAnusFuck">> <<set _rightOptions to "dildoOtherAnusFuck">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')"><<selectNpcWithPartInPositionAnus "rightDildoAnus">><<set $righttarget to $index>>Your right hand fucks <<combatpersons>> ass with the $currentSexToyRight.name.</span> <<case "strokerOtherPenisTease">> <<set _rightOptions to "strokerOtherPenisTease">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is <<if $NPCList[$righttarget].chastity.penis.includes("chastity")>>teasing<<else>>stroking<</if>> <<combatpersons>> <<npcPenisSimple $righttarget>><<if $NPCList[$righttarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.penis<</if>> with your $currentSexToyRight.name.</span> <<case "strokerOtherPenisFuck">> <<set _rightOptions to "strokerOtherPenisFuck">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand fucks <<combatpersons>> <<npcPenisSimple $righttarget>> with the $currentSexToyRight.name.</span> <<case "struggle">> <<set $_changetype to true>><<rightActionInitStruggle>> <<case "swarmgrappled">> <<set $_changetype to true>><<rightActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<rightActionInitMachine>> <<default>> <<set $_changetype to true>><<rightActionInitTentacle>> <</switch>> <<if $lastOptions.right isnot _rightOptions>> <<set _rightGold to true>> <</if>> <<if $_changetype isnot true>> <<rightActions>> <<if Object.keys(_rightaction).length gt 0>> <<assignCombatDefaults "right" _args[0]>> <<generateCombatAction _rightaction "rightaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="rightactionDifficulty"> <<rightactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.right to clone(_rightOptions)>> <</if>> <</widget>> <<widget "rightactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $rightaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "rightwork" "rightclit">><<handdifficulty>> <<case "rightplay" "rightgrab">><<handdifficulty>> <<combatpromiscuous3>> <<case "handedge">> <<combatpromiscuous4>> <<case "steal">><<skulduggerydifficulty>><<combatcrime "petty">> <<case "spray">>Remaining: $spray / $spraymax <<case "righthandholdnew">><<handholdingvirginitywarning>><<NPCvirginitywarning $NPCList[$righttarget].fullDescription "handholding">> <<case "rightUndressOther">> <<if Object.keys(_undressRightTargets).length gt 1>> <<listbox "$undressRightTarget">> <<optionsfrom _undressRightTargets>> <</listbox>> <<handdifficulty>> <<combatpromiscuous2>> <</if>> <<case "rightmasturbatepussy">> <<combatpromiscuous2>> <<case "rightmasturbatepenis">> <<combatpromiscuous2>> <<case "rightmasturbateanus">> <<combatpromiscuous3>> <<case "pickupSexToy">> <<if Object.keys(_itemsRight).length gte 1>> <<listbox "$selectedItemRight" autoselect>> <<optionsfrom _itemsRight>> <</listbox>> <</if>> <<combatpromiscuous3>> <<case "handguide">> <<if Object.keys(_handGuideOptions).length gt 0>> <<listbox "$handGuideRight" autoselect>> <<optionsfrom _handGuideOptions>> <</listbox>> <</if>> <<handdifficulty>> <<combatpromiscuous2>> <<case "peniscondom">><<handdifficulty>> <<case "penisremovecondom">><<handdifficulty>> <<case "npcremovecondom">><<handdifficulty>> <<if $consensual is 0 and playerPregnancyPossibleWith($NPCList[$righttarget])>><<combatpromiscuous6>><</if>> <</switch>> <</widget>> <<widget "rightActions">> /*Generate Actions*/ <<set _rightaction to {}>> <<if $position is "stalk">> <<if $rightarm isnot "bound">> <<set _rightaction["Clench"] to "clench">> <<set _rightaction["Fold"] to "fold">> <<rightFixAndCoverActions>> <<rightcoverface>> <<right_pursuit_grab>> <</if>> <<else>> <<switch _rightOptions>> <<case "free">> <<set _rightaction["Rest"] to "rest">> <<rightdefault>> <<rightgrabnew>> <<rightplaynew>> <<combatMasturbate "right">> <<applyLube "right">> <<rightclothesnew>> <<removeButtplug "right">> <<rightspraynew>> <<rightstealnew>> <<rightpenwhacknew>> <<combathandhold "righthand">> <<rightFixAndCoverActions>> <<rightchoke>> <<rightCondom>> <<rightNPCCondom>> <<rightshacklewhack>> <<righthypnosiswhack>> <<handsstrugglefreebodypart "right">> <<rightUndressOther>> <<rightdildowhack>> <<pickupSexToy "right">> <<rightcamerapose>> <<righthandpull>> <<case "handheld">> <<if $consensual is 1>> <<set _rightaction["Keep holding"] to "righthandholdkeep">> <</if>> <<combathandguide "right">> <<set _rightaction["Stop"] to "righthandholdstop">> <<case "penis">> <<if $NPCList[$righttarget].chastity.penis.includes("chastity")>> <<set _rightaction["Tease " + $NPCList[$righttarget].pronouns.him] to "rightwork">> <<else>> <<set _rightaction["Work " + $NPCList[$righttarget].pronouns.his + " shaft"] to "rightwork">> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("handskill") gte 800>> <<set _rightaction["Edge"] to "handedge">> <</if>> <</if>> <<set _rightaction["Stop"] to "rightstoppenis">> <<case "grappled">> <<set _rightaction["Rest"] to "rest">> <<set _rightaction["Struggle"] to "rightstruggle">> <<case "bothBound">> <<case "pussy">> <<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>> <<set _rightaction["Tease " + $NPCList[$righttarget].pronouns.him] to "rightclit">> <<else>> <<set _rightaction["Rub " + $NPCList[$righttarget].pronouns.his + " clit"] to "rightclit">> <<if ($consensual is 0 or ($enemytype is "man" ? $promiscuity : $deviancy) gte 55 or $promiscuityIgnore) and currentSkillValue("handskill") gte 800>> <<set _rightaction["Edge"] to "handedge">> <</if>> <</if>> <<set _rightaction["Stop"] to "rightothervaginastop">> <<case "coverVagina">> <<set _rightaction["Keep covering"] to "rightcovervagina">> <<set _rightaction["Stop"] to "rightstopvagina">> <<case "coverPenis">> <<set _rightaction["Keep covering"] to "rightcoverpenis">> <<set _rightaction["Stop"] to "rightstopcoverpenis">> <<case "coverAss">> <<set _rightaction["Keep covering"] to "rightcoveranus">> <<set _rightaction["Stop"] to "rightstopanus">> <<case "behind">> <<set _rightaction["Keep behind"] to "behind">> <<set _rightaction["Stop"] to "stopbehind">> <<case "orgasm">> <<set _rightaction["Fold"] to "rightfold">> <<set _rightaction["Grip"] to "rightgrip">> <<case "pain">> <<set _rightaction["Struggle"] to "rightstruggleweak">> <<set _rightaction["Protect"] to "rightprotect">> <<case "unreal">> <<set _rightaction["Poke yourself"] to "rightpoke">> <<set _rightaction["Keep your arms out of the way"] to "rightcurl">> <<case "possessed">> <<set _rightaction["Accept it"] to "rightacceptW">> <<set _rightaction["Hold it still"] to "rightresistW">> <<case "possessedBound">> <<set _rightaction["Struggle"] to "rightstruggleW">> <<set _rightaction["Hold it still"] to "rightstillW">> <<case "heldSexToy">> <<heldSexToy "right">> <<case "dildoSelfPussyEntrance">> <<dildoSelfPussyEntrance "right">> <<case "dildoSelfPussy">> <<set _rightaction["Fuck your pussy with your "+$currentSexToyRight.name] to "dildoSelfPussy">> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDrop">> <<case "dildoSelfAnusEntrance">> <<if $analdisable is "f">> <<dildoSelfAnusEntrance "right">> <</if>> <<case "dildoSelfAnus">> <<set _rightaction["Fuck your ass"] to "dildoSelfAnus">> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDropAnus">> <<case "strokerSelfPenisEntrance">> <<strokerSelfPenisEntrance "right">> <<case "strokerSelfPenis">> <<set _rightaction["Fuck your penis with your "+$currentSexToyRight.name] to "strokerSelfPenis">> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "strokerDrop">> <<case "dildoOtherPussyTease">> <<if $NPCList[$righttarget].vagina is 0>> /*<<set _rightaction["Tease " + $NPCList[$righttarget].pronouns.his + " pussy"] to "dildoOtherPussyTease">>*/ /* Kept in case someone wants to make this happen in the future. */ <<set _rightaction["Fuck " + $NPCList[$righttarget].pronouns.his + " pussy with your "+$currentSexToyRight.name] to "dildoOtherPussyFuck">> <</if>> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDropRight">> <<case "dildoOtherPussyFuck">> <<if $NPCList[$righttarget].vagina is "rightDildo">> <<set _rightaction["Fuck " + $NPCList[$righttarget].pronouns.his + " pussy with your "+$currentSexToyRight.name] to "dildoOtherPussyFuck">> <</if>> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDropRight">> <<case "dildoOtherAnusTease">> <<if $NPCList[$righttarget].vagina is 0 or $NPCList[$righttarget].penis is 0>> <<set _rightaction["Fuck " + $NPCList[$righttarget].pronouns.his + " ass with your "+$currentSexToyRight.name] to "dildoOtherAnusFuck">> <</if>> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDropAnusRight">> <<case "dildoOtherAnusFuck">> <<if $NPCList[$righttarget].vagina is "rightDildoAnus" or $NPCList[$righttarget].penis is "rightDildoAnus">> <<set _rightaction["Fuck " + $NPCList[$righttarget].pronouns.his + " ass with your "+$currentSexToyRight.name] to "dildoOtherAnusFuck">> <</if>> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "dildoDropAnusRight">> <<case "strokerOtherPenisTease">> <<if $NPCList[$righttarget].penis is 0 or $NPCList[$righttarget].penis is "rightStroker">> <<set _rightaction["Fuck " + $NPCList[$righttarget].pronouns.his + " penis with your "+$currentSexToyRight.name] to "strokerOtherPenisFuck">> <</if>> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "strokerDropRight">> <<case "strokerOtherPenisFuck">> <<if $NPCList[$righttarget].penis is "rightStroker">> <<set _rightaction["Fuck " + $NPCList[$righttarget].pronouns.his + " penis with your "+$currentSexToyRight.name] to "strokerOtherPenisFuck">> <</if>> <<set _rightaction["Drop your " + $currentSexToyRight.name] to "strokerDropRight">> <</switch>> <</if>> <</widget>> <<widget "feetActionInit">> <<if $dissociation lte 1 and ($pain lt 100 or $willpowerpain is undefined or $possessed)>> <<switch $feetuse>> <<case 0>> <<if $possessed>> <<set _feetOptions to "possessed">> Your legs are free, <span class="pink">but you can't feel them beneath you.</span> <<elseif $orgasmdown gte 1>> <<set _feetOptions to "orgasm">> <span class="lewd">Your legs are free, but you can't stop the spasms.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistall["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<if !(($leftleg is "grappled" and $rightleg is "grappled") or ($leftleg is "bound" and $rightleg is "bound"))>> <<targetListBox "feet" _targetlistall>> <</if>> <</if>> <<if $leftleg is 0 and $rightleg is 0>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your legs are free.</span> <<elseif $leftleg is 0>> <<set _feetOptions to "leftFree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your left leg is free.</span> <<elseif $rightleg is 0>> <<set _feetOptions to "rightFree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your right leg is free.</span> <<elseif $leftleg is "grappled" and $rightleg is "grappled">> <<set _feetOptions to "grappled">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your legs are entangled and forced apart, leaving you less able to protect your <<genitals>>.</span> <<elseif $leftleg is "bound" and $rightleg is "bound">> <<set _feetOptions to "bound">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your legs are bound and forced apart, leaving you less able to protect your <<genitals>>.</span> <<else>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your feet are free.</span> <</if>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and _feetOptions.toLowerCase().includes("free")>> <br> <<targetListBox "feet" _targetlistall>> <</if>> <<if _targetnumber is 1>> <<set $feettarget to _firsttarget>> <</if>> <</if>> <<case "penis">> <<set _feetOptions to "penis">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "feet">><<set $feettarget to $index>>Your feet are <<if $NPCList[$feettarget].chastity.penis.includes("chastity")>>pressed against<<else>>holding<</if>> <<combatpersons>> <<npcPenis $feettarget>>.</span> <<case "othervagina">> <<set _feetOptions to "othervagina">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')"><<selectNpcWithPartInPosition "vagina" "feet">><<set $feettarget to $index>>Your feet are <<if $NPCList[$feettarget].chastity.vagina.includes("chastity")>>pressed against<<else>>holding back<</if>> <<combatpersons>> <<npcVagina $feettarget>>.</span> <<case "bound">> <<if $possessed>> Your legs thrash in their shackles, unbidden. <<elseif $orgasmdown gte 1>> <span class="lewd">Your legs thrash against their bindings.</span> <<else>> <<set _feetOptions to "bound">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your legs are bound.</span> <</if>> <<case "walk">> <<set _feetOptions to "walk">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">You are walking.</span> <<case "strut">> <<set _feetOptions to "strut">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">You are strutting.</span> <<case "run">> <<set _feetOptions to "run">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">You are running.</span> <<case "none">> <<set _feetOptions to "unusable">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your feet are free but unusable in this position.</span> <<case "mechgrappled">> <<set $_changetype to true>><<feetActionInitMachine>> <<case "legLock">> <<if $orgasmdown gte 1>> <<set _feetOptions to "orgasmLegLock">> <span class="lewd"><<if $position is "missionary">>Your legs clench around<<else>>You push back against<</if>> $NPCList[$leglocktarget].pronouns.him even harder as you climax.</span> <<else>> <<set _feetOptions to "legLocked">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your legs are locked around <<personselect $leglocktarget>><<combatperson>>.</span> <</if>> <<default>> <<set $_changetype to true>><<feetActionInitTentacle>> <</switch>> <<if $lastOptions.feet isnot _feetOptions>> <<set _feetGold to true>> <</if>> <<if $_changetype isnot true>> <<feetActions>> <<if Object.keys(_feetaction).length gt 0>> <<assignCombatDefaults "feet" _args[0]>> <<generateCombatAction _feetaction "feetaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="feetactionDifficulty"> <<feetactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.feet to clone(_feetOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#feetaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "feetactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $feetaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "grab" "vaginagrab">><<feetdifficulty>><<combatpromiscuous3>> <<case "legLock">><<thighdifficulty>><<if $consensual is 0>><<combatpromiscuous6>><<else>><<combatpromiscuous3>><</if>> <<case "legLocked">><<if _feetOptions isnot "orgasmLegLock">><<thighdifficulty>><</if>> <<case "run">><<if $NPCList[0].legs is "run">><<stalk_athletics_difficulty>><</if>> <<case "hide">><<if $NPCList[0].state is "stalk">><<stalk_skulduggery_difficulty>><</if>> <</switch>> <</widget>> <<widget "feetActions">> /*Generate Actions*/ <<set _feetaction to {}>> <<if $position is "stalk">> <<feet_walk>> <<feet_strut>> <<feet_run>> <<feet_hobble>> <<feet_stand>> <<feet_hide>> <<feet_confront>> <<else>> <<set _feetaction["Rest"] to "rest">> <<switch _feetOptions>> <<case "free">> <<feetgrabnew>> <<feetKick>> <<feetshoes>> <<feetsocks>> <<legLock>> <<case "leftfree" "rightFree">> <<feetgrabnew>> <<feetKick>> <<case "penis">> <<feetGrabRub>> <<case "othervagina">> <<feetOthervagina>> <<case "legLocked">> <<run delete _feetaction["Rest"]>> <<legLocked>> <<case "orgasm">> <<run delete _feetaction["Rest"]>> <<set _feetaction["Hold still"] to "feetHold">> <<set _feetaction["Curl toes"] to "feetCurl">> <<legLock>> <<case "orgasmLegLock">> <<run delete _feetaction["Rest"]>> <<set _feetaction["No escape!"] to "legLocked">> <<case "possessed">> <<set _feetaction to {}>> <<set _feetaction["Accept it"] to "feetacceptW">> <<set _feetaction["Hold it still"] to "feetresistW">> <</switch>> <</if>> <</widget>> <<widget "mouthActionInit">> <<if $robinRentEvent is 1 and ["pay","still"].includes($combatPhase)>> <<set _mouthGold to true>> <</if>> <<if $orgasmdown gte 1>> <<if $mouthuse is 0>> <<set _mouthOptions to "orgasm">> <span class="lewd">Your mouth is free, but involuntary moans and cries prevent speaking.</span> <<else>> <<timed 100ms>> <<run jQuery("#mouthaction").remove();>> <</timed>> <</if>> <<elseif $pain gte 100 and $willpowerpain is 0 and !$possessed>> <<if $mouthuse is 0>> <<set _mouthOptions to "pain">> <span class="red">Your mouth is free, but involuntary sobs and cries prevent speaking.</span> <<else>> <<timed 100ms>> <<run jQuery("#mouthaction").remove();>> <</timed>> <</if>> <<elseif $dissociation gte 2 and !$possessed>> <<if $mouthuse is 0>> <<set _mouthOptions to "unreal">> <span class="pink">Your mouth is free, but you don't know why.</span> <<else>> <<timed 100ms>> <<run jQuery("#mouthaction").remove();>> <</timed>> <</if>> <<elseif $possessed>> <<if $mouthuse is 0>> <<set _mouthOptions to "possessed">> Your mouth is free, <span class="pink">but unfamiliar words spill from your tongue.</span> <<elseif $mouthuse is "lefthand" or $mouthuse is "righthand">> <<set _mouthOptions to "possessedBound">> Your mouth is blocked, muffling the foreign words that well up within you. <<else>> <<timed 100ms>> <<run jQuery("#mouthaction").remove();>> <</timed>> <</if>> <<else>> <<switch $mouthuse>> <<case 0>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "mouth" _targetlist>> <</if>> <<set _mouthOptions to "free">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "mouth" _targetlist>> <</if>> <<if _targetnumber is 1>> <<set $mouthtarget to _firsttarget>> <</if>> <<case "othervagina">> <<set _mouthOptions to "othervagina">><<selectNpcWithPartInPosition "vagina" "mouth">><<set $mouthtarget to $index>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<combatPersons>> pussy presses against your lips.</span> <<case "kiss">> <<set _mouthOptions to "kiss">> <<switch $mouthstate>> <<case "kissentrance">> <<selectNpcWithPartInPosition "mouth" "kissentrance">><<set $mouthtarget to $index>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is about to be pressed by <<combatpersons>>.</span> <<if $player.virginity.kiss is true>><span class="red">Your first kiss is about to be taken.</span><</if>> <<case "kissimminent">> <<selectNpcWithPartInPosition "mouth" "kissimminent">><<set $mouthtarget to $index>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is pressed by <<combatpersons>>.</span> <<case "kiss">> <<selectNpcWithPartInPosition "mouth" "kiss">><<set $mouthtarget to $index>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is engulfed by <<combatpersons>>.</span> <</switch>> <<case "facesit">> <<switch $mouthstate>> <<case "vagina">> <<set _mouthOptions to "facesit">><<selectNpcWithPartInPosition "vagina" "facesit">> <<case "anal">> <<set _mouthOptions to "otheranus">><<selectNpcWithPartInPosition "vagina" "facesitanal">> <</switch>><<set $mouthtarget to $index>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<facesitFlavorText>></span> <<case "gagged">> <<set _mouthOptions to "gagged">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is helplessly gagged.</span> <<case "tentacle">> <<set $_changetype to true>><<mouthActionInitTentacle>> <<case "struggle">> <<set $_changetype to true>><<mouthActionInitStruggle>> <<default>> <<switch $mouthstate>> <<case "entrance">> <<set _mouthOptions to "penisEntrance">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "mouthentrance">><<set $mouthtarget to $index>><<combatPersons>> <<npcPenis $index>> hovers in front of your mouth.</span> <<case "imminent">> <<set _mouthOptions to "penisImminent">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "mouthimminent">><<set $mouthtarget to $index>><<combatPersons>> <<npcPenis $index>> presses against your lips.</span> <<case "penetrated">> <<set _mouthOptions to "penisPenetrated">> <<if $enemyarousal gte $enemyarousalmax>> <span class="gold"><<selectNpcWithPartInPosition "penis" "mouth">><<set $mouthtarget to $index>><<combatPersons>> <<npcPenis $index>> spasms in your mouth.</span> <<else>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "mouth">><<set $mouthtarget to $index>><<combatPersons>> <<npcPenis $index>> penetrates your mouth.</span> <</if>> <<case "gagged">> <<set _mouthOptions to "gagged">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is helplessly gagged.</span> <<case "breasts">> <<set _mouthOptions to "breasts">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<breastFlavorText>></span><<set $mouthtarget to $index>> <<case "nipple">> <<set _mouthOptions to "nipple">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<nippleFlavorText>></span><<set $mouthtarget to $index>> <<case "otheranus">> <<set _mouthOptions to "otheranus">><<selectNpcWithPartInPosition "penis" "mouthotheranus">><<set $mouthtarget to $index>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')"><<combatPersons>> ass presses against your lips.</span> <<default>> <<if $mouthuse is "righthand" or $mouthuse is "lefthand">> <<set _mouthOptions to $mouthuse>> <<if $mouthuse is "righthand">> <<selectNpcWithPartInPosition "hand" "mouth">> <<else>> <<selectNpcWithPartInPosition "lefthand" "mouth">> <</if>><<set $mouthtarget to $index>> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is blocked by <<combatpersons>> hand, muffling any noise you make.</span> <<else>> <<set _mouthOptions to "blocked">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">Your mouth is blocked, muffling any noise you make.</span> <</if>> <</switch>> <</switch>> <</if>> <<if $lastOptions.mouth isnot _mouthOptions>> <<set _mouthGold to true>> <</if>> <<if $_changetype isnot true>> <<mouthActions>> <<if Object.keys(_mouthaction).length gt 0>> <<assignCombatDefaults "mouth" _args[0]>> <<generateCombatAction _mouthaction "mouthaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="mouthactionDifficulty"> <<mouthactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.mouth to clone(_mouthOptions)>> <</if>> <</widget>> <<widget "mouthactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $mouthaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "mouth" "othervagina">><<oraldifficulty>> <<combatpromiscuous4>> <<case "oraledge">> <<combatpromiscuous4>> <<case "movetochest">><<oraldifficulty>> <<combatpromiscuous3>> <<case "ejacswallow">><<oraldifficulty>> <<combatpromiscuous5>> <<case "ejacspit">><<oraldifficulty>> <<case "swallow">><<oralvirginitywarning>> <<combatpromiscuous5>> <<case "grasp">><<chestdifficulty>> <<combatpromiscuous3>> <<case "kisslips">><<oraldifficulty>> <<combatpromiscuous1>> <<case "pullaway" "pullawaykiss">><<oraldifficulty>> <<case "finish">><<if !$gloryhole and $gamemode isnot "soft">><<seductiondifficulty>><</if>> <<case "novaginal">><<if !$gloryhole and $gamemode isnot "soft">><<seductiondifficulty>><</if>> <<case "nopenile">><<if !$gloryhole and $gamemode isnot "soft">><<seductiondifficulty>><</if>> <<case "noanal">><<if !$gloryhole and $gamemode isnot "soft">><<seductiondifficulty>><</if>> <<case "noupper">><<if !$gloryhole and $gamemode isnot "soft">><<seductiondifficulty>><</if>> <<case "mock">> <<listbox "$mockaction">> <<option "ethics" "ethics" `$mockaction is "ethics" ? "selected" : ""`>> <<option "looks" "looks" `$mockaction is "looks" ? "selected" : ""`>> <<option "strength" "weak" `$mockaction is "weak" ? "selected" : ""`>> <<option "skill" "skill" `$mockaction is "skill" ? "selected" : ""`>> <<option "penis" "penis" `$mockaction is "penis" ? "selected" : ""`>> <<option "pussy" "vagina" `$mockaction is "vagina" ? "selected" : ""`>> <</listbox>> <<run $(() => { $('#listbox-mockaction').on('change', () => $('#listbox-mockaction').parent().click()) })>> <<case "ask">> <<switch $askAction>> <<case "askchoke" "condoms" "noCondoms">> <<set $_label to "subList">> <<default>> <<set $_label to "bratList">> <</switch>> <div id="askDifficulty" @class="($options.combatControls is 'radio' ? '' : $_label)" style="display:inline;"> <<listbox "$askAction" autoselect>> <<optionsfrom _askActions>> <</listbox>> </div> <<if _runOnce isnot true>><<updateAskColour>><<set _runOnce to true>><</if>> <<run $(() => { $('#askDifficulty select').on('change', () => $('#askDifficulty').click()) })>> <</switch>> <</widget>> <<widget "mouthActions">> /*Generate Actions*/ <<set _mouthaction to {}>> <<if !(["orgasm", "pain", "unreal", "possessed"].includes(_mouthOptions))>> <<set _mouthaction["Rest"] to "rest">> <</if>> <<if $position is "stalk">> <<head_turn>> <<head_down>> <<head_up>> <<else>> <<switch _mouthOptions>> <<case "free">> <<if $head isnot "grappled" and $head isnot "bound">> <<if !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<if $chestuse is "penis">> <<set _mouthaction["Kiss"] to "peniskiss">> <<else>> <<set _mouthaction["Kiss " + $NPCList[$mouthtarget].pronouns.his + " skin"] to "kissskin">> <</if>> <<if $NPCList[$mouthtarget].mouth is 0 and $enemytype isnot "beast" and $NPCList[$mouthtarget].location.genitals isnot "head" and $consensual is 1 and !$gloryhole>> <<set _mouthaction["Move your lips to " + $NPCList[$mouthtarget].pronouns.hers] to "kisslips">> <</if>> <</if>> <</if>> <<oralnew>> <<speak>> <<combatApologise>> <<case "othervagina" "facesit">> <<combatOthervagina>> <<case "otheranus">> <<combatMouthOtherAnus>> <<case "kiss">> <<set _mouthaction["Kiss"] to "kissback">> <<if $head isnot "grappled" and $head isnot "bound">> <<set _mouthaction["Pull away"] to "pullawaykiss">> <</if>> <<if $consensual isnot 1 and ($fightTargets is undefined or $fightTargets.includes($mouthtarget))>> <<set _mouthaction["Headbutt"] to "headbutt">> <</if>> <<if $mouthstate isnot "kiss" and $mouthstate isnot "kissimminent">> <<speak>> <</if>> <<case "gagged">> <<case "penisEntrance">> <<combatPenisEntrance>> <<case "penisImminent">> <<combatPenisImminent>> <<case "penisPenetrated">> <<combatPenisPenetrated>> <<case "breasts">> <<combatBreast>> <<case "nipple">> <<combatNipple>> <<case "lefthand" "righthand">> <<if $fightTargets is undefined or $fightTargets.includes($mouthtarget)>> <<set _mouthaction["Bite"] to "handbite">> <</if>> <<case "orgasm">> <<set _mouthaction["Stifle"] to "stifleorgasm">> <<set _mouthaction["Let it out"] to "letoutorgasm">> <<case "pain">> <<set _mouthaction["Stifle"] to "stifle">> <<set _mouthaction["Let it out"] to "letout">> <<case "unreal">> <<set _mouthaction["Try to speak"] to "speak">> <<set _mouthaction["Make soft noises"] to "noises">> <<case "possessed">> <<set _mouthaction["Accept it"] to "mouthacceptW">> <<set _mouthaction["Clamp your mouth shut"] to "mouthresistW">> <<case "possessedBound">> <<set _mouthaction["Bite"] to "handbiteW">> <<set _mouthaction["Clamp your mouth shut"] to "handcloseW">> <</switch>> <</if>> <</widget>> <<widget "penisActionInit">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and !$possessed>> <<switch $penisstate>> <<case 0>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "penis" _targetlist>> <</if>> <<set _penisOptions to "free">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')">Your <<penis>> is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "penis" _targetlist>> <</if>> <<if _targetnumber is 1>> <<set $penistarget to _firsttarget>> <</if>> <<case "othermouthentrance">> <<set _penisOptions to "mouthEntrance">><<selectNpcWithPartInPosition "mouth" "penisentrance">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')">You feel breath on your <<penis>>.</span> <<case "othermouthimminent">> <<set _penisOptions to "mouthImminent">><<selectNpcWithPartInPosition "mouth" "penisimminent">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<combatPersons>> lips press against the tip of your <<penis>>.</span> <<case "othermouth">> <<set _penisOptions to "mouthPenetration">><<selectNpcWithPartInPosition "mouth" "penis">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<combatPersons>> mouth envelops your <<penis>>.</span> <<case "entrance">> <<set _penisOptions to "pussyEntrance">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPosition "vagina" "penisentrance">><<set $penistarget to $index>><<combatPersons>> <<npcVagina $penistarget>> hovers near your <<penis>>.</span> <<case "imminent">> <<set _penisOptions to "pussyImminent">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPosition "vagina" "penisimminent">><<set $penistarget to $index>><<combatPersons>> <<npcVagina $penistarget>> presses against your <<penis>>.</span> <<case "penetrated">> <<set _penisOptions to "pussyPenetration">><<selectNpcWithPartInPosition "vagina" "penis">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<combatPersons>> vagina envelops your <<penis>>.</span> <<case "otheranusentrance">> <<set _penisOptions to "anusEntrance">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPositionAnus "otheranusentrance">><<set $penistarget to $index>><<combatPersons>> <<npcAnus $penistarget>> hovers near your <<penis>>.</span> <<case "otheranusimminent">> <<set _penisOptions to "anusImminent">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPositionAnus "otheranusimminent">><<set $penistarget to $index>><<combatPersons>> <<npcAnus $penistarget>> presses against your <<penis>>.</span> <<case "otheranus">> <<set _penisOptions to "anusPenetration">><<selectNpcWithPartInPositionAnus "otheranus">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<combatPersons>> ass envelops your <<penis>>.</span> <<case "otherpenisentrance">> <<set _penisOptions to "penisEntrance">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "penisentrance">><<set $penistarget to $index>><<combatPersons>> <<npcPenisSimple $penistarget>> hovers near your <<penis>>.</span> <<case "otherpenisimminent">> <<set _penisOptions to "penisImminent">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "penisimminent">><<set $penistarget to $index>><<combatPersons>> <<npcPenisSimple $penistarget>> threatens your <<penis>>.</span> <<case "otherpenis">> <<set _penisOptions to "penisPenetration">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "penis">><<set $penistarget to $index>><<combatPersons>> <<npcPenisSimple $penistarget>> presses against your <<penis>>.</span> <<case "otherhandentrance">> <<set _penisOptions to "otherHandEntrance">><<selectNpcWithPartInPosition "hand" "penisentrance">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<combatPersons>> fingers brush against your shaft.</span> <<case "otherhand">> <<set _penisOptions to "otherHand">><<selectNpcWithPartInPosition "hand" "penis">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<combatPerson>> holds your penis.</span> <<case "strokerSelfPenis">> <<set _penisOptions to "strokerSelfPenis">> <<if $currentSexToyLeft isnot undefined and $currentSexToyLeft.type.includes("stroker")>> <<set $_stroker to $currentSexToyLeft.name>> <<else>> <<set $_stroker to $currentSexToyRight.name>> <</if>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')">Your $_stroker envelops your <<penis>>.</span> <<case "stroker">> <<set _penisOptions to "strokerPenetration">><<selectNpcWithPartInPosition "hand" "penisstroker">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<combatPersons>> stroker envelops your <<penis>>.</span> <<case "tentacleentrance" "tentacleimminent" "tentacle" "tentacledeep" "tentaclerub">> <<set $_changetype to true>><<penisActionInitTentacle>> <<case "struggle" "struggle_pen">> <<set $_changetype to true>><<penisActionInitStruggle>> <<default>> <<switch $penisuse>> <<case "clit">> <<set _penisOptions to "penisAgainstClit">><<selectNpcWithPartInPosition "vagina" "frot">><<set $penistarget to $index>> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')">You press your <<penis>> against <<his>> <<if $enemytype is "beast">><<beasttype>> pussy<<else>>clit<</if>>.</span> <<case "otheranusrub">> <<set _penisOptions to "penisAgainstAss">> <span @class="($lastOptions.penis isnot _penisOptions or _penisGold is true ?'gold':'')"><<selectNpcWithPartInPositionAnus "otheranusfrot">><<set $penistarget to $index>>You hold your <<penis>> between <<his>> ass cheeks<<if $NPCList[$penistarget].chastity.anus.includes("shield")>>, teasing through <<his>> $NPCList[$penistarget].chastity.anus<</if>>.</span> <</switch>> <</switch>> <<if $lastOptions.penis isnot _penisOptions>> <<set _penisGold to true>> <</if>> <<if $_changetype isnot true>> <<penisActions>> <<if Object.keys(_penisaction).length gt 0>> <<assignCombatDefaults "penis" _args[0]>> <<generateCombatAction _penisaction "penisaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="penisactionDifficulty"> <<penisactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.penis to clone(_penisOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#penisaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "penisactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $penisaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "penistovagina" "penistoanus">><<peniledifficulty>> <<combatpromiscuous5>> <<case "penisvaginafuck" "penisanusfuck">><<combatpromiscuous5>> <<penilevirginitywarning>><<if _diffAction is "penisvaginafuck">><<NPCvirginitywarning $NPCList[_n].fullDescription "vaginal">><<else>><<NPCvirginitywarning $NPCList[_n].fullDescription "anal">><</if>> <<case "thighbay">><<thighdifficulty>> <<combatpromiscuous1>> <<case "bay">><<peniledifficulty>> <<combatpromiscuous4>> <<case "otheranusbay">><<peniledifficulty>> <<combatpromiscuous4>> <<case "clitrub" "otheranusrub">><<peniledifficulty>> <<case "vaginaEdging" "otheranusEdging">><<combatpromiscuous4>> <<case "penistopenis" "penistopenis">><<peniledifficulty>> <<combatpromiscuous4>> <<case "penistopenisfuck">><<combatpromiscuous4>> <<case "penisthighs">><<thighdifficulty>> <<combatpromiscuous4>> <<case "penisanus">><<analdifficulty>> <<case "penisanusdouble">><<analdifficulty>><<combatpromiscuous5>><<combataware 4>> <<case "pullOut">><<peniledifficulty>> <<case "forceImpregnation">><span class="red">- Demon</span> <</switch>> <</widget>> <<widget "penisActions">> /*Generate Actions*/ <<set _penisaction to {}>> <<if $position is "stalk">> <<else>> <<switch _penisOptions>> <<case "free">> <<set _penisaction["Rest"] to "rest">> <<actionspenistovaginanew>> <<actionspenistoanusnew>> <<actionspenistopenis>> <<case "mouthEntrance">> <<set _penisaction["Rest"] to "rest">> <<actionspenisMouthEntrance>> <<case "mouthImminent">> <<set _penisaction["Rest"] to "rest">> <<actionspenisMouthImminent>> <<case "mouthPenetration">> <<actionspenisMouthPenetration>> <<case "pussyEntrance">> <<set _penisaction["Rest"] to "rest">> <<actionspenisPussyEntrance>> <<case "pussyImminent">> <<set _penisaction["Rest"] to "rest">> <<actionspenisPussyImminent>> <<case "pussyPenetration">> <<actionspenisPussyPenetration>> <<case "anusEntrance">> <<set _penisaction["Rest"] to "rest">> <<actionspenisAnusEntrance>> <<case "anusImminent">> <<set _penisaction["Rest"] to "rest">> <<actionspenisAnusImminent>> <<case "anusPenetration">> <<actionspenisAnusPenetration>> <<case "penisAgainstClit">> <<actionspenisAgainstClit>> <<case "penisAgainstAss">> <<actionspenisAgainstAss>> <<case "penisEntrance">> <<set _penisaction["Rest"] to "rest">> <<actionspenistopenisfucknew>> <<actionspenisPenisEntrance>> <<case "penisImminent">> <<set _penisaction["Rest"] to "rest">> <<actionspenistopenisfucknew>> <<actionspenisPenisImminent>> <<case "penisPenetration">> <<actionspenisPenisFencing>> <<case "otherHandEntrance">> <<set _penisaction["Rest"] to "rest">> <<case "otherHand">> <<set _penisaction["Rest"] to "rest">> <<case "strokerSelfPenis">> <<set _penisaction["Rest"] to "rest">> <<case "strokerPenetration">> <<set _penisaction["Rest"] to "strokerRest">> <<set _penisaction["Cooperate"] to "strokerCooperate">> <</switch>> <</if>> <</widget>> <<widget "vaginaActionInit">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and !$possessed>> <<switch $vaginastate>> <<case 0>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "vagina" _targetlist>> <</if>> <<set _vaginaOptions to "free">> <span @class="($lastOptions.vagina isnot _vaginaOptions ?'gold':'')">Your <<pussy>> is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "vagina" _targetlist>> <</if>> <<if _targetnumber is 1>> <<set $vaginatarget to _firsttarget>> <</if>> <<case "othermouthentrance">> <<set _vaginaOptions to "mouthEntranch">><<selectNpcWithPartInPosition "mouth" "vaginaentrance">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')">You feel breath on your <<pussy>>.</span> <<case "othermouthimminent">> <<set _vaginaOptions to "mouthImminent">><<selectNpcWithPartInPosition "mouth" "vaginaimminent">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<combatPersons>> lips press against your labia.</span> <<case "othermouth">> <<set _vaginaOptions to "mouthPenetrated">><<selectNpcWithPartInPosition "mouth" "vagina">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<combatPersons>> tongue penetrates your <<pussy>>.</span> <<case "entrance">> <<set _vaginaOptions to "penisEntrance">> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "vaginaentrance">><<set $vaginatarget to $index>><<combatPersons>> <<npcPenis $vaginatarget>> hovers near your <<pussy>>.</span> <<if $vaginaldoubledisable is "f">> <<getDoubleTargetList>> <</if>> <<if _secondtarget is true>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>><br><</if>> <<if $vaginadoubletarget is undefined>> <<set $vaginadoubletarget to _firstdoubletarget>> <</if>> <<targetListBox "vagina" _doubletargetlist "$vaginadoubletarget">> <</if>> <<case "imminent">> <<set _vaginaOptions to "penisImminent">> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "vaginaimminent">><<set $vaginatarget to $index>><<combatPersons>> <<npcPenis $vaginatarget>> presses against your <<pussy>>.</span> <<if $vaginaldoubledisable is "f">> <<getDoubleTargetList>> <</if>> <<if _secondtarget is true>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>><br><</if>> <<if $vaginadoubletarget is undefined>> <<set $vaginadoubletarget to _firstdoubletarget>> <</if>> <<targetListBox "vagina" _doubletargetlist "$vaginadoubletarget">> <</if>> <<case "penetrated">> <<set _vaginaOptions to "penisPenetrated">> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<selectNpcWithPartInPosition "penis" "vagina">><<set $vaginatarget to $index>><<combatPersons>> <<npcPenis $vaginatarget>> penetrates your <<pussy>>.</span> <<if $vaginaldoubledisable is "f">> <<getDoubleTargetList>> <</if>> <<if _secondtarget is true>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>><br><</if>> <<if $vaginadoubletarget is undefined>> <<set $vaginadoubletarget to _firstdoubletarget>> <</if>> <<targetListBox "vagina" _doubletargetlist "$vaginadoubletarget">> <</if>> <<case "othervaginaentrance">> <<set _vaginaOptions to "vaginaEntrance">><<selectNpcWithPartInPosition "vagina" "vaginaentrance">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<combatPersons>> pussy hovers near yours.</span> <<case "othervaginaimminent">> <<set _vaginaOptions to "vaginaImminent">><<selectNpcWithPartInPosition "vagina" "vaginaimminent">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<combatPersons>> pussy threatens yours.</span> <<case "othervagina">> <<set _vaginaOptions to "vaginaPenetrated">><<selectNpcWithPartInPosition "vagina" "vagina">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<combatPersons>> pussy presses against yours.</span> <<case "doubleentrance">> <<set _vaginaOptions to "penisDoubleEntrance">> <<set $_npcA to ($NPCList[$vaginatarget].penis is "vaginaentrancedouble" ? $vaginatarget : $vaginadoubletarget)>> <<set $_npcB to ($NPCList[$vaginatarget].penis is "vaginaentrancedouble" ? $vaginadoubletarget : $vaginatarget)>> <<if $NPCList[$vaginatarget].penis is "vaginaentrancedouble" and $NPCList[$vaginadoubletarget].penis is "vaginaentrancedouble">> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')">Their cocks hover near your <<pussy>>.</span> <<elseif ($NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginaentrancedouble") or ($NPCList[$vaginatarget].penis is "vaginaentrancedouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble")>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"> <<personselect $_npcA>><<combatPersons>> <<npcPenisSimple $_npcA>> presses against your ?vulva while <<personselect $_npcB>><<combatpersons>> <<npcPenisSimple $_npcB>> hovers nearby. </span> <<else>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')">Their cocks hover near your <<pussy>>.</span> <</if>> <<case "doubleimminent">> <<set _vaginaOptions to "penisDoubleImminent">> <<set $_npcA to ($NPCList[$vaginatarget].penis is "vaginaimminentdouble" ? $vaginatarget : $vaginadoubletarget)>> <<set $_npcB to ($NPCList[$vaginatarget].penis is "vaginaimminentdouble" ? $vaginadoubletarget : $vaginatarget)>> <<if $NPCList[$vaginatarget].penis is "vaginaimminentdouble" and $NPCList[$vaginadoubletarget].penis is "vaginaimminentdouble">> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')">Their cocks press against your <<pussy>>.</span> <<elseif ($NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginaimminentdouble") or ($NPCList[$vaginatarget].penis is "vaginaimminentdouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble")>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"> <<personselect $_npcA>><<combatPersons>> <<npcPenisSimple $_npcA>> penetrates your vagina while <<personselect $_npcB>><<combatpersons>> <<npcPenisSimple $_npcB>> presses against your ?vulva. </span> <<else>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"> <<personselect $_npcA>><<combatPersons>> <<npcPenisSimple $_npcA>> presses against your ?vulva while <<personselect $_npcB>><<combatpersons>> <<npcPenisSimple $_npcB>> hovers nearby. </span> <</if>> <<case "doublepenetrated">> <<set _vaginaOptions to "penisDoublePenetration">> <<set $_npcA to ($NPCList[$vaginatarget].penis is "vaginadouble" ? $vaginatarget : $vaginadoubletarget)>> <<set $_npcB to ($NPCList[$vaginatarget].penis is "vaginadouble" ? $vaginadoubletarget : $vaginatarget)>> <<if $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')">Their cocks penetrate your <<pussy>>.</span> <<elseif ($NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginaimminentdouble") or ($NPCList[$vaginatarget].penis is "vaginaimminentdouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble")>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"> <<personselect $_npcA>><<combatPersons>> <<npcPenisSimple $_npcA>> penetrates your vagina while <<personselect $_npcB>><<combatpersons>> <<npcPenisSimple $_npcB>> presses against your ?vulva. </span> <<else>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"> <<personselect $_npcA>><<combatPersons>> <<npcPenisSimple $_npcA>> penetrates your vagina while the other hovers nearby. </span> <</if>> <<case "otherhandentrance">> <<set _vaginaOptions to "otherHandEntrance">><<selectNpcWithPartInPosition "hand" "vaginaentrance">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<combatPersons>> fingers press against your ?vulva.</span> <<case "otherhand">> <<set _vaginaOptions to "otherHand">><<selectNpcWithPartInPosition "hand" "vaginaentrance">><<set $vaginatarget to $index>> <span @class="($lastOptions.vagina isnot _vaginaOptions or _vaginaGold is true ?'gold':'')"><<combatPerson>> fingers your pussy.</span> <<case "tentacleentrance" "tentacleimminent" "tentacle" "tentacledeep" "tentaclerub">> <<set $_changetype to true>><<vaginaActionInitTentacle>> <<case "struggle" "struggle_pen">> <<set $_changetype to true>><<vaginaActionInitStruggle>> <</switch>> <<if $lastOptions.vagina isnot _vaginaOptions>> <<set _vaginaGold to true>> <</if>> <<if $_changetype isnot true>> <<vaginaActions>> <<if Object.keys(_vaginaaction).length gt 0>> <<assignCombatDefaults "vagina" _args[0]>> <<generateCombatAction _vaginaaction "vaginaaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="vaginaactionDifficulty"> <<vaginaactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.vagina to clone(_vaginaOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#vaginaaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "vaginaactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $vaginaaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "vaginatopenis" "vaginatopenis">><<vaginaldifficulty>> <<combatpromiscuous5>> <<case "vaginatovagina" "vaginatovagina">><<vaginaldifficulty>> <<combatpromiscuous5>> <<case "vaginapenisfuck">><<combatpromiscuous5>> <<vaginalvirginitywarning>><<NPCvirginitywarning $NPCList[_n].fullDescription "penile">> <<case "vaginatovaginafuck">><<combatpromiscuous5>> <<case "thighbay">><<thighdifficulty>> <<combatpromiscuous1>> <<case "penisthighs">><<thighdifficulty>> <<combatpromiscuous4>> <<case "penisanus">><<analdifficulty>> <<case "penisanusdvp">><<analdifficulty>> <<case "penisanusdouble">><<analdifficulty>> <<combatpromiscuous5>> <<combataware 4>> <<case "penisDoubleEdging">><<combatpromiscuous5>> <<combataware 4>> <<case "vaginatopenisdouble">><<vaginaldifficulty>> <<combatpromiscuous5>> <<combataware 4>> <<case "vaginapenisdoublefuck">><<vaginaldifficulty>> <<combatpromiscuous5>> <<combataware 4>> <<vaginalvirginitywarning>><<NPCvirginitywarning $NPCList[_n].fullDescription "penile">> <<case "penisEdging" "tribedge">><<combatpromiscuous4>> <<case "forceImpregnation">><span class="red">- Demon</span> <</switch>> <</widget>> <<widget "vaginaActions">> /*Generate Actions*/ <<set _vaginaaction to {}>> <<if $position is "stalk">> <<else>> <<switch _vaginaOptions>> <<case "free">> <<set _vaginaaction["Rest"] to "rest">> <<actionsvaginatopenisnew>> <<actionsvaginatovaginanew>> <<case "mouthEntranch">> <<set _vaginaaction["Rest"] to "rest">> <<actionsvaginaMouthEntrance>> <<case "mouthImminent">> <<set _vaginaaction["Rest"] to "rest">> <<actionsvaginaMouthImminent>> <<case "mouthPenetrated">> <<actionsvaginaMouthPenetrated>> <<case "penisEntrance">> <<set _vaginaaction["Rest"] to "rest">> <<actionsvaginaPenisEntrance>> <<case "penisImminent">> <<set _vaginaaction["Rest"] to "rest">> <<actionsvaginaPenisImminent>> <<case "penisPenetrated">> <<actionsvaginaPenisPenetrated>> <<case "vaginaEntrance">> <<actionsTribRest>> <<actionsvaginatovaginafucknew>> <<actionsvaginaVaginaEntrance>> <<case "vaginaImminent">> <<actionsTribRest>> <<actionsvaginatovaginafucknew>> <<actionsvaginaVaginaImminent>> <<case "vaginaPenetrated">> <<actionsvaginaVagina>> <<case "penisDoubleEntrance">> <<set _vaginaaction["Rest"] to "rest">> <<actionsvaginapenisdoublefuck>> <<actionsvaginaPenisDoubleEntrance>> <<case "penisDoubleImminent">> <<set _vaginaaction["Rest"] to "rest">> <<actionsvaginapenisdoublefuck>> <<actionsvaginaPenisDoubleImminent>> <<case "penisDoublePenetration">> <<actionsvaginaPenisDoublePenetrated>> <<case "otherHandEntrance">> <<set _vaginaaction["Rest"] to "rest">> <<case "otherHand">> <<set _vaginaaction["Rest"] to "rest">> <</switch>> <</if>> <</widget>> <<widget "anusActionInit">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and !$possessed>> <<if $bottomuse is "mouth">> <<set _anusOptions to "faceAgainstAnus">><<selectNpcWithPartInPosition "mouth" "bottom">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">You press your <<bottom>> against <<combatpersons>> face.</span> <<elseif $bottomuse is "penis">> <<set _anusOptions to "penisAgainstAnus">><<selectNpcWithPartInPosition "penis" "cheeks">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">You hold <<combatpersons>> <<npcPenis $anustarget>> between your buttocks.</span> <<elseif $bottomuse is "hand">> <<set _anusOptions to "handAgainstAnus">><<selectNpcWithPartInPosition "hand" "bottom">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">You rub your clenched buttcheeks against <<combatpersons>> hand.</span> <<else>> <<switch $anusstate>> <<case 0>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "anus" _targetlist>> <</if>> <<set _anusOptions to "free">> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">Your <<bottom>> is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "anus" _targetlist>> <</if>> <<if _targetnumber is 1>> <<set $anustarget to _firsttarget>> <</if>> <<case "othermouthentrance">> <<set _anusOptions to "mouthEntrance">><<selectNpcWithPartInPosition "mouth" "anusentrance">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">You feel breath on your <<bottom>>.</span> <<case "othermouthimminent">> <<set _anusOptions to "mouthImminent">><<selectNpcWithPartInPosition "mouth" "anusimminent">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> lips press against your anus<<andButtPlug>>.</span> <<case "othermouth">> <<set _anusOptions to "mouthPenetration">><<selectNpcWithPartInPosition "mouth" "anus">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> tongue penetrates your <<bottom>>.</span> <<case "handentrance">> <<set _anusOptions to "handEntrance">><<selectNpcWithPartInPosition "hand" "anusentrance">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">You feel <<combatpersons>> hand on your <<bottom>>.</span> <<case "hand">> <<set _anusOptions to "handPenetration">><<selectNpcWithPartInPosition "hand" "anus">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> finger penetrates your <<bottom>>.</span> <<case "entrance">> <<set _anusOptions to "penisEntrance">><<selectNpcWithPartInPosition "penis" "anusentrance">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> <<npcPenis $anustarget>> hovers near your <<bottom>><<andButtPlug>>.</span> <<if $analdoubledisable is "f">> <<getDoubleTargetList>> <</if>> <<if _secondtarget is true>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>><br><</if>> <<if $anusdoubletarget is undefined>> <<set $anusdoubletarget to _firstdoubletarget>> <</if>> <<targetListBox "anus" _doubletargetlist "$anusdoubletarget">> <</if>> <<case "imminent">> <<set _anusOptions to "penisImminent">><<selectNpcWithPartInPosition "penis" "anusimminent">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> <<npcPenis $anustarget>> presses against your anus<<andButtPlug>>.</span> <<case "penetrated">> <<set _anusOptions to "penisPenetration">><<selectNpcWithPartInPosition "penis" "anus">><<set $anustarget to $index>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> <<npcPenisSimple $anustarget>> penetrates your anus.</span> <<if $analdoubledisable is "f">> <<getDoubleTargetList>> <</if>> <<if _secondtarget is true>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>><br><</if>> <<if $anusdoubletarget is undefined>> <<set $anusdoubletarget to _firstdoubletarget>> <</if>> <<targetListBox "anus" _doubletargetlist "$anusdoubletarget">> <</if>> <<case "doubleentrance">> <<set _anusOptions to "penisDoubleEntrance">> <<if $NPCList[$anustarget].penis is "anusentrancedouble" and $NPCList[$anusdoubletarget].penis is "anusentrancedouble">> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">Their cocks hover near your <<bottom>><<andButtPlug>>.</span> <<elseif ($NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusentrancedouble") or ($NPCList[$anustarget].penis is "anusentrancedouble" and $NPCList[$anusdoubletarget].penis is "anusdouble")>> <<selectNpcWithPartInPosition "penis" "anusdouble">> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> <<npcPenisSimple $anusdoubletarget>> penetrates your anus while the other penis hovers nearby.</span> <<else>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">Their cocks hover near your <<bottom>><<andButtPlug>>.</span> <</if>> <<case "doubleimminent">> <<set _anusOptions to "penisDoubleImminent">> <<if $NPCList[$anustarget].penis is "anusimminentdouble" and $NPCList[$anusdoubletarget].penis is "anusimminentdouble">> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">Their cocks press against your anus<<andButtPlug>>.</span> <<elseif ($NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusimminentdouble") or ($NPCList[$anustarget].penis is "anusimminentdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble")>> <<selectNpcWithPartInPosition "penis" "anusdouble">> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> <<npcPenisSimple $anusdoubletarget>> penetrates your anus while the other penis presses against the entrance.</span> <<else>> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">Their cocks press against your anus<<andButtPlug>>.</span> <</if>> <<case "doublepenetrated">> <<set _anusOptions to "penisDoublePenetration">> <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')">Their cocks penetrate your anus.</span> <<else>> <<selectNpcWithPartInPosition "penis" "anus">> <span @class="($lastOptions.anus isnot _anusOptions or _anusGold ?'gold':'')"><<combatPersons>> cock penetrates your anus while the other hovers nearby.</span> <</if>> <<case "tentacleentrance" "tentacleimminent" "tentacle" "tentacledeep" "tentaclerub">> <<set $_changetype to true>><<anusActionInitTentacle>> <<case "struggle" "struggle_pen">> <<set $_changetype to true>><<anusActionInitStruggle>> <</switch>> <</if>> <<if $lastOptions.anus isnot _anusOptions>> <<set _anusGold to true>> <</if>> <<if $_changetype isnot true>> <<anusActions>> <<if Object.keys(_anusaction).length gt 0>> <<assignCombatDefaults "anus" _args[0]>> <<generateCombatAction _anusaction "anusaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="anusactionDifficulty"> <<anusactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.anus to clone(_anusOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#anusaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "anusactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $anusaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "wiggle">><<seductiondifficulty>> <<case "bottombay">><<bottomdifficulty>> <<combatpromiscuous1>> <<case "bottomhandbay">><<bottomdifficulty>> <<combatpromiscuous1>> <<case "penischeeks">><<analdifficulty>> <<combatpromiscuous4>> <<case "anustopenis">><<analdifficulty>> <<combatpromiscuous5>> <<case "anuspenisfuck">><<combatpromiscuous5>> <<analvirginitywarning>><<NPCvirginitywarning $NPCList[_n].fullDescription "penile">> <<case "otherAnusRub" "otherMouthAnusRub">> <<analdifficulty>> <<case "penisEdging">><<combatpromiscuous4>> <<case "penispussy">><<vaginaldifficulty>> <<case "penispussydap">><<vaginaldifficulty>> <<combatpromiscuous5>> <<combataware 4>> <<case "penispussydouble">><<vaginaldifficulty>> <<combatpromiscuous5>> <<combataware 4>> <<case "penisDoubleEdging">><<combatpromiscuous5>> <<combataware 4>> <<case "anustopenisdouble">><<analdifficulty>> <<combatpromiscuous5>> <<combataware 4>> <<case "anuspenisdoublefuck">><<combatpromiscuous5>> <<combataware 4>> <<analvirginitywarning>><<NPCvirginitywarning $NPCList[_n].fullDescription "penile">> <<case "forceImpregnation">><span class="red">- Demon</span> <</switch>> <</widget>> <<widget "anusActions">> /*Generate Actions*/ <<set _anusaction to {}>> <<if $position is "stalk">> <<set _anusaction["Rest"] to "rest">> <<bottom_wiggle>> <<else>> <<switch _anusOptions>> <<case "free">> <<set _anusaction["Rest"] to "rest">> <<actionsanustopenisnew>> <<case "mouthEntrance">> <<set _anusaction["Rest"] to "rest">> <<actionsanusMouthEntrance>> <<case "mouthImminent">> <<set _anusaction["Rest"] to "rest">> <<actionsanusMouthImminent>> <<case "mouthPenetration">> <<actionsanusMouthPenetration>> <<case "handEntrance">> <<set _anusaction["Rest"] to "rest">> <<actionsanusHandEntrance>> <<case "handPenetration">> <<actionsanusHandPenetration>> <<case "handAgainstAnus">> <<actionsanusHandAgainstAnus>> <<case "penisEntrance">> <<set _anusaction["Rest"] to "rest">> <<actionsanusPenisEntrance>> <<case "penisImminent">> <<set _anusaction["Rest"] to "rest">> <<actionsanusPenisImminent>> <<case "penisPenetration">> <<actionsanusPenisPenetration>> <<case "faceAgainstAnus">> <<actionsanusFaceAgainstAnus>> <<case "penisAgainstAnus">> <<actionsanusPenisAgainstAnus>> <<case "penisDoubleEntrance">> <<set _anusaction["Rest"] to "rest">> <<actionsanusPenisDoubleEntrance>> <<case "penisDoubleImminent">> <<set _anusaction["Rest"] to "rest">> <<actionsanusPenisDoubleImminent>> <<case "penisDoublePenetration">> <<actionsanusPenisDoublePenetration>> <</switch>> <</if>> <</widget>> <<widget "chestActionInit">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and !$possessed>> <<switch $chestuse>> <<case "penis">> <<set _chestOptions to "penis">><<selectNpcWithPartInPosition "penis" "chest">><<set $chesttarget to $index>> <span @class="($lastOptions.chest isnot _chestOptions ?'gold':'')"><<combatPersons>> <<npcPenisSimple $chesttarget>> rests <<print ($player.breastsize is 0 ?"against":"between")>> your <<breasts>>.</span> <<case "tentaclerub">> <<set $_changetype to true>><<chestActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<chestActions>> <<if Object.keys(_chestaction).length gt 0>> <<if $chestactiondefault is 0>> <<set $chestactiondefault to Object.values(_chestaction)[0]>> <</if>> <<set $chestaction to $chestactiondefault>> <<generateCombatAction _chestaction "chestaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="chestactionDifficulty"> <<chestactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.chest to clone(_chestOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#chestaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "chestactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $chestaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "rub">><<chestdifficulty>> <</switch>> <</widget>> <<widget "chestActions">> /*Generate Actions*/ <<set _chestaction to {}>> /*<<set _chestaction["Rest"] to "rest">>*/ <<if $position is "stalk">> <<else>> <<switch _chestOptions>> <<case "penis">> <<set _chestaction["Rub"] to "rub">> <<set _chestaction["Stop"] to "stop">> <</switch>> <</if>> <</widget>> <<widget "thighActionInit">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and !$possessed>> <<switch $thighuse>> <<case "mouth">> <<set _thighOptions to "mouth">><<selectNpcWithPartInPosition "mouth" "thigh">><<set $thightarget to $index>> <span @class="($lastOptions.thigh isnot _thighOptions ?'gold':'')">You press your thigh against <<combatpersons>> mouth.</span> <<case "penis">> <<set _thighOptions to "penis">><<selectNpcWithPartInPosition "penis" "thighs">><<set $thightarget to $index>> <span @class="($lastOptions.thigh isnot _thighOptions ?'gold':'')">You hold <<combatpersons>> penis between your thighs.</span> <</switch>> <<thighactions>> <<if Object.keys(_thighaction).length gt 0>> <<if $thighactiondefault is 0>> <<set $thighactiondefault to Object.values(_thighaction)[0]>> <</if>> <<set $thighaction to $thighactiondefault>> <<generateCombatAction _thighaction "thighaction">> /*Checks/Difficulty*/ <<if $options.combatControls.includes("ists")>> <div id="thighactionDifficulty"> <<thighactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.thigh to clone(_thighOptions)>> <<else>> <<timed 100ms>> <<run jQuery("#thighaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "thighactionDifficulty">> <<if _args[0] is undefined>> <<set _diffAction to $thighaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "rub" "othermouthrub">><<thighdifficulty>> <</switch>> <</widget>> <<widget "thighactions">> /*Generate Actions*/ <<set _thighaction to {}>> /*<<set _thighaction["Rest"] to "rest">>*/ <<if $position is "stalk">> <<else>> <<switch _thighOptions>> <<case "mouth">> <<set _thighaction["Rub"] to "othermouthrub">> <<set _thighaction["Stop"] to "othermouthstop">> <<case "penis">> <<set _thighaction["Rub"] to "rub">> <<set _thighaction["Stop"] to "stop">> <</switch>> <</if>> <</widget>> <<widget "resetLastOptions">> <<set $lastOptions to { "left":"", "right":"", "feet":"", "mouth":"", "penis":"", "vagina":"", "anus":"", "chest":"", "thigh":"", "cheek":"", }>> <</widget>> <<widget "getTargetList">><<silently>> <<unset _firsttarget>> <<set _targetlist to {}>><<set _targetnumber to 0>> <<if $NPCList.some( x => Object.values(x).includes("active"))>> <<set _repeatcontroller to []>> <<for _namecontroller = 0; _namecontroller lt $enemynomax; _namecontroller++>> <<if $NPCList[0].type isnot "human" and $NPCList[0].type isnot "plant">> <<set _namecontroller to $active_enemy>> <<set _targetlist[$NPCList[_namecontroller].type] to _namecontroller>><<set _targetnumber += 1>> <<if _firsttarget is undefined>> <<set _firsttarget to _namecontroller>> <</if>> <<if $options.targetYourself is true>> <<set _targetYourself to true>> <</if>> <<break>> <<elseif $NPCList[_namecontroller].active is "active" and $NPCList[_namecontroller].stance isnot "defeated">> <<if $NPCList[_namecontroller].fullDescription is "Ivory Wraith">> <<set _smoltext to "pale figure">> <<set $_wraithbreak to true>> <<else>> <<set _smoltext to $NPCList[_namecontroller].fullDescription>> <</if>> <<targetrepeatcontroller>> <<set _repeatcontroller[_namecontroller] to _smoltext>> <<if !($npc.includes($NPCList[_namecontroller].fullDescription)) and $NPCList[_namecontroller].name_known isnot 1>> <<set _smoltext to "the " + _smoltext>> <</if>> <<set _targetlist[_smoltext] to _namecontroller>><<set _targetnumber += 1>> <<if _firsttarget is undefined>> <<set _firsttarget to _namecontroller>> <</if>> <<if $options.targetYourself is true>> <<set _targetYourself to true>> <</if>> <<if $_wraithbreak is true>> <<break>> <</if>> <</if>> <</for>> <</if>> <<set _targetlistall to clone(_targetlist)>> <<if $tentacles.active gte 1>> <<set _targetlistall[$tentacles[0].type.toUpperFirst()+"s"] to "tentacles">><<set _targetnumber += 1>> <</if>> <<if $swarm.type isnot 0>> <<set _targetlistall[$swarm.type.toUpperFirst()] to "swarm">><<set _targetnumber += 1>> <<if $options.targetYourself is true>> <<set _targetYourself to true>> <</if>> <</if>> <<if $struggle isnot undefined>> <<if $struggle.done lt $struggle.number>> <<set _targetlistall[$struggle.creature.toUpperFirst()+"s"] to "struggle">><<set _targetnumber += 1>> <</if>> <</if>> <<if $machine isnot undefined>> <<set _targetlistall["Machine"] to "machine">><<set _targetnumber += 1>> <</if>> <<set _targetlistarms to clone(_targetlistall)>> <<if $vorecreature isnot 0>> <<if $vorestage gt 0>> <<set _targetlistarms["the "+ $vorecreature.toUpperFirst()] to "vore">><<set _targetnumber += 1>> <</if>> <</if>> <</silently>><</widget>> <<widget "getDoubleTargetList">><<silently>> <<unset _firstdoubletarget>> <<if $consensual is 1 and (((hasSexStat("promiscuity", 5) and $enemytype is "man") or (hasSexStat("deviancy", 5) and $enemytype isnot "man")) and $awareness gte 300 or ($promiscuityIgnore is 1))>> <<set _doubletargetlist to {}>><<set _secondtarget to false>> <<set _repeatcontroller to []>> <<for _namecontroller = 0; _namecontroller lt $enemynomax; _namecontroller++>> <<if $NPCList[_namecontroller].active is "active" and $NPCList[_namecontroller].stance isnot "defeated" and $NPCList[_namecontroller].penis is 0 and !($NPCList[_namecontroller].chastity.penis.includes("chastity"))>> <<set _smoltext to $NPCList[_namecontroller].fullDescription>> <<targetrepeatcontroller>> <<set _repeatcontroller[_namecontroller] to _smoltext>> <<if !($npc.includes($NPCList[_namecontroller].fullDescription))>> <<set _smoltext to "the " + _smoltext>> <</if>> <<set _doubletargetlist[_smoltext] to _namecontroller>><<set _secondtarget to true>> <<if _firstdoubletarget is undefined>> <<set _firstdoubletarget to _namecontroller>> <</if>> <</if>> <</for>> <</if>> <</silently>><</widget>> <<widget "getPussyTargetList">><<silently>> <<unset _firstpussytarget>> <<if $consensual is 1 and (((hasSexStat("promiscuity", 5) and $enemytype is "man") or (hasSexStat("deviancy", 5) and $enemytype isnot "man")) and $awareness gte 300 or ($promiscuityIgnore is 1))>> <<set _pussytargetlist to {}>><<set _pussytarget to false>> <<set _repeatcontroller to []>> <<for _namecontroller = 0; _namecontroller lt $enemynomax; _namecontroller++>> <<if $NPCList[_namecontroller].active is "active" and $NPCList[_namecontroller].stance isnot "defeated" and $NPCList[_namecontroller].vagina is 0 and !($NPCList[_namecontroller].vagina.penis.includes("chastity"))>> <<set _smoltext to $NPCList[_namecontroller].fullDescription>> <<targetrepeatcontroller>> <<set _repeatcontroller[_namecontroller] to _smoltext>> <<if !($npc.includes($NPCList[_namecontroller].fullDescription))>> <<set _smoltext to "the " + _smoltext>> <</if>> <<set _pussytargetlist[_smoltext] to _namecontroller>><<set _pussytarget to true>> <</if>> <</for>> <</if>> <</silently>><</widget>> <<widget "targetrepeatcontroller">> <<set _smollertext to _smoltext>> <<for _repeatnamecontroller = 0; _repeatnamecontroller lte _namecontroller; _repeatnamecontroller++>> <<if _repeatcontroller[_repeatnamecontroller] is _smollertext>> <<if _smollertext.includes("fifth") is true>> <<set _smollertext to "last "+_smoltext>> <<elseif _smollertext.includes("fourth") is true>> <<set _smollertext to "fifth "+_smoltext>> <<elseif _smollertext.includes("third") is true>> <<set _smollertext to "fourth "+_smoltext>> <<elseif _smollertext.includes("second") is true>> <<set _smollertext to "third "+_smoltext>> <<else>> <<set _smollertext to "second "+_smoltext>> <</if>> <</if>> <</for>> <<set _smoltext to _smollertext>> <</widget>> <<widget "leftActionInitSelf">> <<switch $leftarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">Your left arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "pain">> <span class="red">Your left arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "unreal">> <span class="pink">Your left arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "free">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "left" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $lefttarget to _firsttarget>> <</if>> <</if>> <<case "vagina">> <<set _leftOptions to "coverVagina">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is protecting your <<pussy>>.</span> <<case "coverpenis">> <<set _leftOptions to "coverPenis">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is protecting your <<penis>>.</span> <<case "anus">> <<set _leftOptions to "coverAss">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is protecting your <<bottom>>.</span> <<case "behind">> <<set _leftOptions to "behind">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is behind your back.</span> <<case "heldSexToy">> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "heldSexToy">> <span @class="($lastOptions.left isnot _leftOptions or _leftGold is true ?'gold':'')">Your left hand is holding the <<print $currentSexToyLeft.name>>.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "left" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $lefttarget to _firsttarget>> <</if>> <</switch>> <<if $lastOptions.left isnot _leftOptions>> <<set _leftGold to true>> <</if>> <<leftActionsSelf>> <<if Object.keys(_leftaction).length gt 0>><<if $options.combatControls.includes("adio")>><br><</if>> <<assignCombatDefaults "left" _args[0]>> <<generateCombatAction _leftaction "leftaction" "Self">> <<if $options.combatControls.includes("ists")>> <div id="leftactionDifficulty"> <<leftactionDifficulty>> </div> <div id="leftactionDifficultySelf"> <<leftactionDifficultySelf>> </div> <</if>><<if $options.combatControls.includes("adio")>><br><br><</if>>/* Seems to render no effect..? */ <</if>> <<set $lastOptions.left to clone(_leftOptions)>> <</widget>> <<widget "leftactionDifficultySelf">>/* Here we go again. */ <<if _args[0] is undefined>> <<set _diffAction to $leftaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "leftmasturbatepussy">> <<combatpromiscuous2>> <<case "leftmasturbatepenis">> <<combatpromiscuous2>> <<case "leftmasturbateanus">> <<combatpromiscuous3>> <<case "pickupSexToy">> <<if Object.keys(_itemsLeft).length gte 1>> <<listbox "$selectedItemLeft" autoselect>> <<optionsfrom _itemsLeft>> <</listbox>> <</if>> <<combatpromiscuous3>> <</switch>> <</widget>> <<widget "leftActionsSelf">> <<set _leftaction to {}>> <<switch _leftOptions>> <<case "free">> <<set _leftaction["Rest"] to "rest">> <<if $rightarm is "swarmgrappled">> <<set _leftaction["Free your right arm"] to "leftfree">> <</if>> <<if Object.values(_targetlistarms).includes("swarm")>> <<if _swarmamounts.genital[0] lte 0 and _swarmamounts.genital[1] lte 0>> <<genitals>> <<set _leftaction["Cover your " + _text_output] to "frontcoverleft">> <</if>> <<if _swarmamounts.butt[0] lte 0 and _swarmamounts.butt[1] lte 0>> <<set _leftaction["Cover your butt"] to "frontcoverleft">> <</if>> <<if _swarmamounts.chest lte 0>> <<set _leftaction["Cover your chest"] to "frontcoverleft">> <</if>> <<if $water is 1 and $vorecreature is 0 and ($consensual isnot 1 or $gamemode is "soft")>> <<set _leftaction["Swim to safety"] to "swim">> <</if>> <</if>> <<if Object.values(_targetlistarms).includes(0) or Object.values(_targetlistarms).includes(1) or Object.values(_targetlistarms).includes(2) or Object.values(_targetlistarms).includes(3) or Object.values(_targetlistarms).includes(4) or Object.values(_targetlistarms).includes(5)>>/* placeholder for the future */ <<leftdefault>> <<combatMasturbate "left">> <<applyLube "left">> <<leftclothesnew>> <<leftFixAndCoverActions>> <<leftCondom>> <<removeButtplug "left">> <<pickupSexToy "left">> <</if>> <<case "coverVagina">> <<set _leftaction["Keep covering"] to "leftcovervagina">> <<set _leftaction["Stop"] to "leftstopvagina">> <<case "coverPenis">> <<set _leftaction["Keep covering"] to "leftcoverpenis">> <<set _leftaction["Stop"] to "leftstopcoverpenis">> <<case "coverAss">> <<set _leftaction["Keep covering"] to "leftcoveranus">> <<set _leftaction["Stop"] to "leftstopanus">> <<case "behind">> <<set _leftaction["Keep behind"] to "behind">> <<set _leftaction["Stop"] to "stopbehind">> <<case "orgasm">> <<set _leftaction["Fold"] to "leftfold">> <<set _leftaction["Grip"] to "leftgrip">> <<case "pain">> <<set _leftaction["Struggle"] to "leftstruggleweak">> <<set _leftaction["Protect"] to "leftprotect">> <<case "unreal">> <<set _leftaction["Poke yourself"] to "leftpoke">> <<set _leftaction["Keep your arms out of the way"] to "leftcurl">> <<case "heldSexToy">> <<heldSexToy "left">> <</switch>> <</widget>> <<widget "rightActionInitSelf">> <<switch $rightarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">Your right arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "pain">> <span class="red">Your right arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "unreal">> <span class="pink">Your right arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "free">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "right" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $righttarget to _firsttarget>> <</if>> <</if>> <<case "vagina">> <<set _rightOptions to "coverVagina">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is protecting your <<pussy>>.</span> <<case "coverpenis">> <<set _rightOptions to "coverPenis">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is protecting your <<penis>>.</span> <<case "anus">> <<set _rightOptions to "coverAss">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is protecting your <<bottom>>.</span> <<case "behind">> <<set _rightOptions to "behind">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is behind your back.</span> <<case "heldSexToy">> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "heldSexToy">> <span @class="($lastOptions.right isnot _rightOptions or _rightGold is true ?'gold':'')">Your right hand is holding the $currentSexToyRight.name.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>><br> <<targetListBox "right" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $righttarget to _firsttarget>> <</if>> <</switch>> <<if $lastOptions.right isnot _rightOptions>> <<set _rightGold to true>> <</if>> <<rightActionsSelf>> <<if Object.keys(_rightaction).length gt 0>><<if $options.combatControls.includes("adio")>><br><</if>> <<assignCombatDefaults "right" _args[0]>> <<generateCombatAction _rightaction "rightaction" "Self">> <<if $options.combatControls.includes("ists")>> <div id="rightactionDifficulty"> <<rightactionDifficulty>> </div> <div id="rightactionDifficultySelf"> <<rightactionDifficultySelf>> </div> <</if>><<if $options.combatControls.includes("adio")>><br><br><</if>>/* Seems to render no effect..? */ <</if>> <<set $lastOptions.right to clone(_rightOptions)>> <</widget>> <<widget "rightactionDifficultySelf">>/* This was unexpected. */ <<if _args[0] is undefined>> <<set _diffAction to $rightaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch _diffAction>> <<case "rightmasturbatepussy">> <<combatpromiscuous2>> <<case "rightmasturbatepenis">> <<combatpromiscuous2>> <<case "rightmasturbateanus">> <<combatpromiscuous3>> <<case "pickupSexToy">> <<if Object.keys(_itemsRight).length gte 1>> <<listbox "$selectedItemRight" autoselect>> <<optionsfrom _itemsRight>> <</listbox>> <</if>> <<combatpromiscuous3>> <</switch>> <</widget>> <<widget "rightActionsSelf">> <<set _rightaction to {}>> <<switch _rightOptions>> <<case "free">> <<set _rightaction["Rest"] to "rest">> <<if $leftarm is "swarmgrappled">> <<set _rightaction["Free your right arm"] to "rightfree">> <</if>> <<if Object.values(_targetlistarms).includes("swarm")>> <<if _swarmamounts.genital[0] lte 0 and _swarmamounts.genital[1] lte 0>> <<genitals>> <<set _rightaction["Cover your " + _text_output] to "frontcoverright">> <</if>> <<if _swarmamounts.butt[0] lte 0 and _swarmamounts.butt[1] lte 0>> <<set _rightaction["Cover your butt"] to "frontcoverright">> <</if>> <<if _swarmamounts.chest lte 0>> <<set _rightaction["Cover your chest"] to "frontcoverright">> <</if>> <<if $water is 1 and $vorecreature is 0 and ($consensual isnot 1 or $gamemode is "soft")>> <<set _rightaction["Swim to safety"] to "swim">> <</if>> <</if>> <<if Object.values(_targetlistarms).includes(0) or Object.values(_targetlistarms).includes(1) or Object.values(_targetlistarms).includes(2) or Object.values(_targetlistarms).includes(3) or Object.values(_targetlistarms).includes(4) or Object.values(_targetlistarms).includes(5)>>/* placeholder for the future */ <<rightdefault>> <<combatMasturbate "right">> <<applyLube "right">> <<rightclothesnew>> <<rightFixAndCoverActions>> <<rightCondom>> <<removeButtplug "right">> <<pickupSexToy "right">> <</if>> <<case "coverVagina">> <<set _rightaction["Keep covering"] to "rightcovervagina">> <<set _rightaction["Stop"] to "rightstopvagina">> <<case "coverPenis">> <<set _rightaction["Keep covering"] to "rightcoverpenis">> <<set _rightaction["Stop"] to "rightstopcoverpenis">> <<case "coverAss">> <<set _rightaction["Keep covering"] to "rightcoveranus">> <<set _rightaction["Stop"] to "rightstopanus">> <<case "behind">> <<set _rightaction["Keep behind"] to "behind">> <<set _rightaction["Stop"] to "stopbehind">> <<case "orgasm">> <<set _rightaction["Fold"] to "rightfold">> <<set _rightaction["Grip"] to "rightgrip">> <<case "pain">> <<set _rightaction["Struggle"] to "rightstruggleweak">> <<set _rightaction["Protect"] to "rightprotect">> <<case "unreal">> <<set _rightaction["Poke yourself"] to "rightpoke">> <<set _rightaction["Keep your arms out of the way"] to "rightcurl">> <<case "heldSexToy">> <<heldSexToy "right">> <</switch>> <</widget>> <<widget "feetActionInitSelf">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<if $feetuse is 0>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistall["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "feet" _targetlistall>> <</if>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your feet are free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and _feetOptions is "free">> <br> <<targetListBox "feet" _targetlistall>> <</if>> <<if _targetnumber is 1>> <<set $feettarget to _firsttarget>> <</if>> <</if>> <<if $lastOptions.feet isnot _feetOptions>> <<set _feetGold to true>> <</if>> <<feetActionsSelf>> <<if Object.keys(_feetaction).length gt 0>><<if $options.combatControls.includes("adio")>><br><</if>> <<assignCombatDefaults "feet" _args[0]>> <<generateCombatAction _feetaction "feetaction" "Self">> <<if $options.combatControls.includes("ists")>> <div id="feetactionDifficulty"> <<feetactionDifficulty>> </div> <</if>><<if $options.combatControls.includes("adio")>><br><</if>>/* Seems to render no effect..? */ <</if>> <<set $lastOptions.feet to clone(_feetOptions)>> <<else>> <<timed 100ms>> <<run jQuery("#feetaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "feetactionDifficultySelf">> /* Good thing I caught it before anyone else. */ <!-- Does nothing --> <</widget>> <<widget "feetActionsSelf">> <<set _feetaction to {}>> <<set _feetaction["Rest"] to "rest">> <<if Object.values(_targetlistarms).includes("swarm")>> <<if $water is 1 and $vorecreature is 0 and currentSkillValue('swimmingskill') gt 700 and $consensual isnot 1>> <<set _feetaction["Swim to safety"] to "swim">> <</if>> <</if>> <<if Object.values(_targetlistarms).includes("struggle")>> <<set _feetaction["Dodge"] to "evade">> <<set _feetaction["Plant"] to "plant">> <</if>> <<if $water isnot 1>> <<feetshoes>> <<feetsocks>> <</if>> <</widget>> /* To be used as an example of how to merge all combats in 1 */ <<widget "actionsOmni">> <<exposure>> <<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>> <<animateCombat>> <<if $traumafocus gte 1 and $traumafocusintro isnot 1>> <<set $traumafocusintro to 1>> <i>As you gain focus, you become more and more likely to escape your helpless state of dissociation.</i> <br><br> <</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>> <span class="green">Your lucidity returns.</span> <<ltrauma>> <br> <span class="red">The weight of reality crashes down on you.</span> <br><br> <</if>> <<if $underwater isnot 1>> <<oxygen 50>> <</if>> <<willpowerpain>> <<willpowerorgasm>> <<actioncarry>> <<actioncarrydrop>> <<combatstate>> <<carryblock>> <<if $trance lte 0 and $panicparalysis is 0 and ($panicviolence is 0 or $position is "stalk")>> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and ["man", "plant", "beast"].includes($enemytype)>> <<if $options.images is 1 and $options.combatImages is 1 and $consensual is 1 and $position_lock isnot 1>> <<if $position is "doggy">> | <label>Roll over <<radiobutton "$bodyaction" "missionary">></label> <<elseif $position is "missionary">> | <label>Roll over <<radiobutton "$bodyaction" "doggy">></label> <</if>> <<if $position isnot "stalk">> | <label>Rest <<radiobutton "$bodyaction" "rest" checked>></label> <br> <</if>> <</if>> <</if>> <<if $swarm and $swarm.name>> <<set _swarmsteady to $swarm["steady"].toUpperFirst()>> <<set _swarmamounts to $swarm.amount>> <</if>> <<generateActionsOmni>> <br> <</if>> <<setupMidOrgasm>> <br><br> <</widget>> /* To be used as an example of how to merge all combats in 1 */ <<widget "generateActionsOmni">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <<if _targetnumber gte 1>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<switch $lefttarget>> <<case "self">> <<leftActionInitSelf>> <<case "tentacles">> <<leftActionInitTentacle>> <<case "vore">> <<leftActionInitVore>> <<case "swarm">> <<leftActionInitSwarm>> <<case "struggle">> <<leftActionInitStruggle>> <<case "machine">> <<leftActionInitMachine>> <<default>> <<if Object.values(_targetlistarms)[0] is "tentacles">> <<leftActionInitTentacle>> <<elseif Object.values(_targetlistarms)[0] is "vore">> <<leftActionInitVore>> <<elseif Object.values(_targetlistarms)[0] is "swarm">> <<leftActionInitSwarm>> <<elseif Object.values(_targetlistarms)[0] is "struggle">> <<leftActionInitStruggle>> <<elseif Object.values(_targetlistarms)[0] is "machine">> <<leftActionInitMachine>> <<else>> <<leftActionInit>> <</if>> <</switch>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<switch $righttarget>> <<case "self">> <<rightActionInitSelf>> <<case "tentacles">> <<rightActionInitTentacle>> <<case "vore">> <<rightActionInitVore>> <<case "swarm">> <<rightActionInitSwarm>> <<case "struggle">> <<rightActionInitStruggle>> <<case "machine">> <<rightActionInitMachine>> <<default>> <<if Object.values(_targetlistarms)[0] is "tentacles">> <<rightActionInitTentacle>> <<elseif Object.values(_targetlistarms)[0] is "vore">> <<rightActionInitVore>> <<elseif Object.values(_targetlistarms)[0] is "swarm">> <<rightActionInitSwarm>> <<elseif Object.values(_targetlistarms)[0] is "struggle">> <<rightActionInitStruggle>> <<elseif Object.values(_targetlistarms)[0] is "machine">> <<rightActionInitMachine>> <<else>> <<rightActionInit>> <</if>> <</switch>> </div> <<if Object.values(_targetlistall).length gte 1>> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<switch $feettarget>> <<case "self">> <<feetActionInitSelf>> <<case "tentacles">> <<feetActionInitTentacle>> <<case "swarm">> <<feetActionInitSwarm>> <<case "struggle">> <<feetActionInitStruggle>> <<case "machine">> <<feetActionInitMachine>> <<default>> <<if Object.values(_targetlistall)[0] is "tentacles">> <<feetActionInitTentacle>> <<elseif Object.values(_targetlistall)[0] is "swarm">> <<feetActionInitSwarm>> <<elseif Object.values(_targetlistall)[0] is "struggle">> <<feetActionInitStruggle>> <<elseif Object.values(_targetlistall)[0] is "machine">> <<feetActionInitMachine>> <<else>> <<feetActionInit>> <</if>> <</switch>> </div> <</if>> <<if Object.values(_targetlist).length gte 1>> <<switch $mouthtarget>> <<case "tentacles">> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInitTentacle>> </div> <<case "struggle">> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInitStruggle>> </div> <<default>> <<if !($dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined))>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInit>> </div> <<elseif Object.values(_targetlist)[0] isnot "tentacles" and Object.values(_targetlist)[0] isnot "struggle">> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInit>> </div> <<else>> <<if $mouthuse is "struggle" and $struggle.mouth.creature>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInitStruggle>> </div> <<elseif $mouthstate isnot 0>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInitTentacle>> </div> <</if>> <</if>> <</switch>> <<if $player.penisExist or $worn.genitals.type.includes("strap-on") or playerHasStrapon()>> <<switch $penistarget>> <<case "tentacles">> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInitTentacle>> </div> <<case "struggle">> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInitStruggle>> </div> <<default>> <<if Object.values(_targetlist)[0] isnot "tentacles" and Object.values(_targetlist)[0] isnot "struggle">> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInit>> </div> <<else>> <<if $penisuse is "struggle">> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInitStruggle>> </div> <<elseif $penisstate isnot 0>> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInitTentacle>> </div> <</if>> <</if>> <</switch>> <</if>> <<if $player.vaginaExist>> <<switch $vaginatarget>> <<case "tentacles">> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInitTentacle>> </div> <<case "struggle">> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInitStruggle>> </div> <<default>> <<if Object.values(_targetlist)[0] isnot "tentacles" and Object.values(_targetlist)[0] isnot "struggle">> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInit>> </div> <<else>> <<if $vaginause is "struggle">> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInitStruggle>> </div> <<elseif $vaginastate isnot 0>> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInitTentacle>> </div> <</if>> <</if>> <</switch>> <</if>> <<switch $anustarget>> <<case "tentacles">> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInitTentacle>> </div> <<case "struggle">> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInitStruggle>> </div> <<default>> <<if Object.values(_targetlist)[0] isnot "tentacles" and Object.values(_targetlist)[0] isnot "struggle">> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInit>> </div> <<else>> <<if $anususe is "struggle">> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInitStruggle>> </div> <<elseif $anusstate isnot 0>> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInitTentacle>> </div> <</if>> <</if>> <</switch>> <<if $chestuse isnot "struggle">> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInitStruggle>> </div> <<elseif $chestuse is "tentaclerub">> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInitTentacle>> </div> <<elseif $chestuse is "penis">> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInit>> </div> <</if>> <<if $thighuse isnot 0>> <div id="thighaction" @class="$options.combatControls + 'Control'"> <<thighActionInit>> </div> <</if>> <</if>> </div> <</if>> <</widget>><<widget "audiencecamera">> <<exposure>> <<if $audienceselector is 1>> <<set $audiencedesc to "excited">> <<set $audiencecamera to $audiencecamera1>> <<elseif $audienceselector is 2>> <<set $audiencedesc to "blushing">> <<set $audiencecamera to $audiencecamera2>> <<elseif $audienceselector is 3>> <<set $audiencedesc to "eager">> <<set $audiencecamera to $audiencecamera3>> <<elseif $audienceselector is 4>> <<set $audiencedesc to "lusty">> <<set $audiencecamera to $audiencecamera4>> <<elseif $audienceselector is 5>> <<set $audiencedesc to "avid">> <<set $audiencecamera to $audiencecamera5>> <<elseif $audienceselector is 6>> <<set $audiencedesc to "vigorous">> <<set $audiencecamera to $audiencecamera6>> <</if>> <<rng>> <<if $swarm and $swarm.amount and $swarm.amount.active and $swarm.amount.active[0] gt 0 and $rng gte 50>> <<audiencecameraswarm>> <<elseif $rng gte 81 and $facepic isnot 1>> <<set $facepic to 1>> The $audiencedesc $audiencecamera points <<ahis>> camera at your face. A light flashes as <<ahe>> takes a picture. <<if $vaginastate is "penetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> cumming with an animal dick in <<pher>> cunt! I can't believe it." <<else>> "A <<beasttype>> is fucking you in public and you're having an orgasm. I don't know how you stand the shame." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "<<print ($position is "doggy" ? "You're pushing back against" : "Your legs are wrapped around")>> a <<beasttype>>, don't pretend you have any dignity." <<else>> "This bitch wants to get <<bred>> even more than I want to see it!" <</if>> <<else>> <<if $face is "covered">> "You're fucking a <<beasttype>>, don't pretend you have any dignity." <<else>> "So glad I was here to see this <<bitch>> get <<bred>>." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "It's normal to cum while your pussy is filled, you don't need to be shy." <<else>> "Look how cute <<pshe>> looks when <<pshe>> cums. Fuck <<pher>> pussy harder." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "Don't pretend to be shy, you're literally <<print ($position is "doggy" ? "pushing against <<personselect $vaginatarget>><<him>>" : "pulling <<personselect $vaginatarget>><<him>> in")>>." <<else>> "You're loving this, aren't you? Look at your legs, look at your face." <</if>> <<else>> <<if $face is "covered">> "Don't be shy, I want to see your face while your pussy is ravaged." <<else>> "Your face looks so cute while your pussy is pounded." <</if>> <</if>> <</if>> <<elseif $vaginastate is "imminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pshe>> cumming already? <<pShes>> such a <<beasttype>> slut." <<else>> "Just the thought of that <<beasttype>> dick entering is enough to make <<phim>> cum." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when the <<beasttype>> fucks you." <<else>> "I want a picture of <<pher>> expression when it fucks <<phim>> proper." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pshe>> cumming already?" <<else>> "Just the anticipation is enough to make <<phim>> cum." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when it goes in." <<else>> "I want a picture of <<pher>> expression when it goes in." <</if>> <</if>> <</if>> <<elseif $vaginastate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pshe>> cumming already?" <<else>> "Just the anticipation is enough to make <<phim>> cum." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when it goes in." <<else>> "I want a picture of <<pher>> expression when it goes in." <</if>> <</if>> <<elseif $penisstate is "penetrated">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "It's normal to cum while your penis is ravaged, you don't need to be shy." <<else>> "Look how cute <<pshe>> looks when <<pshe>> cums. Fuck <<phim>> harder." <</if>> <<else>> <<if $face is "covered">> "Don't be shy, I want to see your face while your penis is ravaged." <<else>> "Look how cute <<pshe>> looks with <<pher>> penis being pounded. Fuck <<phim>> harder." <</if>> <</if>> <<elseif $penisstate is "imminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pshe>> cumming already?" <<else>> "Just the anticipation is enough to make <<phim>> cum." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when it goes in." <<else>> "I want to snap a picture of <<pher>> expression when it goes in." <</if>> <</if>> <<elseif $penisstate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pshe>> cumming already?" <<else>> "Just the anticipation is enough to make <<phim>> cum." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when it goes in." <<else>> "I want to snap a picture of <<pher>> expression when it goes in." <</if>> <</if>> <<elseif $penisstate is "otheranus">> <<if playerHasStrapon()>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Move your hands, I want to see what you look like while cumming." <<else>> "I think you're making <<phim>> cum. Fuck <<phim>> harder." <</if>> <<else>> <<if $face is "covered">> "You're shy about fucking someone's ass? That's adorable." <<else>> "Look how cute <<pshe>> looks with <<pher>> strap-on being pounded. Fuck harder." <</if>> <</if>> <<elseif $orgasmdown gte 1>> <<if $face is "covered">> "Move your hands, I want to see what you look like while cumming in someone's ass." <<else>> "I think your ass is making <<phim>> cum. Fuck <<phim>> harder." <</if>> <<else>> <<if $face is "covered">> "You're shy about fucking someone's ass? That's adorable." <<else>> "Look how cute <<pshe>> looks with <<pher>> penis being pounded. Fuck <<phim>> harder." <</if>> <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Don't be shy, let the camera see your orgasm face." <<else>> "Just pressing your ass against <<pher>> dick is making <<phim>> cum." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when it goes in." <<else>> "<<pShes>> blushing! How cute." <</if>> <</if>> <<elseif $penisstate is "otheranusentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Don't be shy, let the camera see your orgasm face." <<else>> "Just pressing your ass against <<pher>> dick is making <<phim>> cum." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when it goes in." <<else>> "<<pShes>> blushing! How cute." <</if>> <</if>> <<elseif $anusstate is "penetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You're cumming with a <<beasttype>> balls-deep in your ass, how much dignity is covering your face preserving?" <<else>> "I got a nice picture of <<pher>> <<beasttype>> fucker orgasm face." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "Show us your needy ass-fucked <<beasttype>> bitch face!" <<else>> "I don't know about you, but I think <<pshe>> really likes that <<beasttype>>." <</if>> <<else>> <<if $face is "covered">> "Come on, let's see your face. I want to see how you look having your ass fucked by a <<beasttype>>." <<else>> "<<pShe>> looks so cute having <<pher>> ass fucked by that <<beasttype>>." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You're cumming while having your ass fucked, how much dignity is covering your face preserving?" <<else>> "I got a nice picture of <<pher>> orgasm face." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "So what if you cover your face? Everyone can see you <<print ($position is "doggy" ? "pushing into <<personselect $anustarget>><<him>>" : "wrapping your legs")>>, buttslut." <<else>> "Your ass must be loving this, the way you're <<print ($position is "doggy" ? "pushing back" : "locking your legs")>>." <</if>> <<else>> <<if $face is "covered">> "Come on, let's see your face. I want to see how you look having your ass fucked." <<else>> "<<pShe>> looks so cute having <<pher>> ass ravaged." <</if>> <</if>> <</if>> <<elseif $anusstate is "imminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can cover your face if you want, we can all tell you're cumming hard for that <<beasttype>>." <<else>> "<<pShes>> cumming this hard with the <<beasttype>> pressing just the tip into <<pher>> ass." <</if>> <<else>> <<if $face is "covered">> "Don't be shy, I want a good picture of your face when your ass is skewered by that <<beasttype>>." <<else>> "Smile for the camera like a good <<beasttype>> <<bitch>>, you slut." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can cover your face if you want, we can all tell you're cumming hard." <<else>> "<<pShes>> cumming this hard with just the tip pressing into <<pher>> ass." <</if>> <<else>> <<if $face is "covered">> "Don't be shy, I want a good picture of your face when your ass is skewered." <<else>> "Smile for the camera like a good anal slut." <</if>> <</if>> <</if>> <<elseif $anusstate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can cover your face if you want, we can all tell you're cumming hard." <<else>> "<<pShes>> cumming this hard with just the tip pressing into <<pher>> ass." <</if>> <<else>> <<if $face is "covered">> "Don't be shy, I want a good picture of your face when your ass is skewered." <<else>> "Smile for the camera like a good anal slut." <</if>> <</if>> <<elseif $mouthstate is "penetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Look at how cute <<pshe>> looks cumming while slurping on that <<beasttype>> dick. <<pShes>> so shy about it too." <<else>> "Look at how cute <<pshe>> looks cumming while slurping on that <<beasttype>> dick." <</if>> <<else>> <<if $face is "covered">> "Move your hand <<bitch>>, you're getting in the way of the action." <<else>> "Do you like the taste of <<beasttype>> dick?" <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Look at how cute <<pshe>> looks cumming while slurping on a dick. <<pShes>> so shy about it too." <<else>> "Look at how cute <<pshe>> looks cumming while slurping on a dick." <</if>> <<else>> <<if $face is "covered">> "Move your hand <<bitch>>, you're getting in the way of the action." <<else>> "Such a nice shot of your face being fucked." <</if>> <</if>> <</if>> <<elseif $mouthstate is "imminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cover your face all you want, we know you love it." <<else>> "<<pShes>> cumming already, <<pshe>> just can't wait for the <<beasttype>> dick." <</if>> <<else>> <<if $face is "covered">> "Move <<pher>> hand, I want to catch the look on <<pher>> face when it starts fucking <<pher>> mouth." <<else>> "I want to catch the look on <<pher>> face when it starts fucking <<pher>> mouth." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cover your face all you want, we know you love it." <<else>> "<<pShes>> cumming already, now's the time to give <<phim>> a taste of dick." <</if>> <<else>> <<if $face is "covered">> "Move <<pher>> hand, I want to catch the look on <<pher>> face when you start fucking <<pher>> mouth." <<else>> "I want to catch the look on <<pher>> face when you start fucking <<pher>> mouth." <</if>> <</if>> <</if>> <<elseif $mouthstate is "entrance">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cover your face all you want, we know you love it." <<else>> "<<pShes>> cumming already, <<pshe>> just can't wait for the <<beasttype>> dick." <</if>> <<else>> <<if $face is "covered">> "Move <<pher>> hand, I want to catch the look on <<pher>> face when it starts fucking <<pher>> mouth." <<else>> "I want to catch the look on <<pher>> face when it starts fucking <<pher>> mouth." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cover your face all you want, we know you love it." <<else>> "<<pShes>> cumming already, now's the time to give <<phim>> a taste of dick." <</if>> <<else>> <<if $face is "covered">> "Move <<pher>> hand, I want to catch the look on <<pher>> face when you start fucking <<pher>> mouth." <<else>> "I want to catch the look on <<pher>> face when you start fucking <<pher>> mouth." <</if>> <</if>> <</if>> <<elseif $mouthstate is "othervagina">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> cumming from getting a face full of <<beasttype>> pussy. No wonder <<pshes>> shy about it." <<else>> "<<pShes>> cumming from getting a face full of <<beasttype>> pussy. Wow." <</if>> <<else>> <<if $face is "covered">> "Don't be shy. I bet you love eating <<beasttype>> pussy." <<else>> "Can't believe <<pshes>> got <<pher>> face all up in <<beasttype>> pussy." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Don't be shy. Let's see your face as you get off on eating that pussy." <<else>> "<<pShes>> cumming just from being all up in that pussy." <</if>> <<else>> <<if $face is "covered">> "<<pShes>> hiding <<pher>> face so we can't see how much <<pshe>> loves having a face full of pussy." <<else>> "Rub it in <<pher>> face. I bet <<pshe>> loves having <<pher>> face used." <</if>> <</if>> <</if>> <<elseif $mouthuse is "facesit" and $mouthstate is "vagina">> <<if $orgasmdown gte 1>> <<switch random(3)>> <<case 0>> "Look how much <<pshes>> loving being sat on." <<case 1>> "Aw. You almost can't see <<pher>> orgasm face whilst it's being sat on." <<case 2>> "That pussy isn't hiding how excited <<pshe>> looks. <<pShes>> cumming from face sitting." <<case 3>> "Wait until I show my friends how much <<pshe>> loves having <<pher>> face sat on." <</switch>> <<else>> <<if $enemyanger gte 30>> <<switch random(2)>> <<case 0>> "<<pShes>> really getting buried in there." <<case 1>> "Aw, <<pher>> face is going red! Keep sitting on <<phim>>!" <<case 2>> "You liking your face being sat on, slut?" <</switch>> <<else>> <<switch random(2)>> <<case 0>> "The best seat in the house." <<case 1>> "<<pHer>> face looks like the perfect throne." <<case 2>> "You look like you're enjoying it under there." <</switch>> <</if>> <</if>> <<elseif $mouthuse is "facesit" and $mouthstate is "anal">> <<if $orgasmdown gte 1>> <<if $mouthactiondefault is "anallick">> <<switch random(2)>> <<case 0>> "<<pShes>> cumming just from licking ass. Good <<girl>>." <<case 1>> "Look! <<pShes>> been driven to orgasm by the taste of that ass in <<pher>> mouth." <<case 2>> "<<pShe>> just came from licking ass. I need to share this." <</switch>> <<elseif $mouthactiondefault is "analkiss">> <<switch random(2)>> <<case 0>> "Kissing ass made <<phim>> cum. What a submissive <<slut>>." <<case 1>> "Cumming just from kissing ass? You were made to do that, bitch!" <<case 2>> "<<pShes>> cumming off of kissing ass. Make <<phim>> do it more!" <</switch>> <<else>> "That ass in your mouth was good enough to make you cum? Don't deny it!" <</if>> <<elseif $enemyanger gte 30>> <<switch random(2)>> <<case 0>> "Be a good slut and eat that ass." <<case 1>> "Go on, kiss that ass, you know you deserve to, slut." <<case 2>> "<<pShes>> getting squashed under that ass, and I bet <<pshes>> loving it." <</switch>> <<else>> <<switch random(2)>> <<case 0>> "Bet this pervy <<bitch>> is loving having <<pher>> mouth sat on." <<case 1>> "Hope that ass tastes good." <<case 2>> "<<pShes>> got a face full of ass. Wait until I show this around." <</switch>> <</if>> <<elseif $vaginastate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can't hide it, having your pussy licked is too much for you." <<else>> "Look at <<phim>> squirm! Your tongue's too much for <<phim>>." <</if>> <<else>> <<if $face is "covered">> "What's the matter? Ashamed of having your pussy licked?" <<else>> "Tongue-fuck <<phim>> harder, I want to see <<phim>> squirm." <</if>> <</if>> <<elseif $vaginastate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can't hide your orgasm from the camera." <<else>> "<<pShes>> cumming, it might be too much for <<phim>> if you tongue-fuck <<phim>> now. Do it." <</if>> <<else>> <<if $face is "covered">> "Don't be shy, you like having your pussy eaten don't you." <<else>> "You like having your pussy eaten, don't you." <</if>> <</if>> <<elseif $vaginastate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can't hide your orgasm from the camera." <<else>> "<<pShes>> cumming, it might be too much for <<phim>> if you tongue-fuck <<phim>> now. Do it." <</if>> <<else>> <<if $face is "covered">> "Don't be shy, you like having your pussy eaten don't you." <<else>> "You like having your pussy eaten, don't you." <</if>> <</if>> <<elseif $penisstate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Don't be shy, it's normal to cum while having your penis sucked." <<else>> "I got the perfect picture of <<pher>> orgasm face." <</if>> <<else>> <<if $face is "covered">> "<<pShes>> embarrassed about having <<pher>> penis sucked! How adorable." <<else>> "Suck <<phim>> harder, I want to see how cute <<pshe>> looks." <</if>> <</if>> <<elseif $penisstate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> cumming already, sucking now might be too much for <<phim>>. Do it." <<else>> "<<pShes>> cumming already, sucking now might be too much for <<phim>>. Do it." <</if>> <<else>> <<if $face is "covered">> "Move your hand, I want to see your expression when your penis starts getting sucked." <<else>> "I can't wait to see <<pher>> expression when you start sucking." <</if>> <</if>> <<elseif $penisstate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> cumming already, sucking now might be too much for <<phim>>. Do it." <<else>> "<<pShes>> cumming already, sucking now might be too much for <<phim>>. Do it." <</if>> <<else>> <<if $face is "covered">> "Move your hand, I want to see your expression when your penis starts getting sucked." <<else>> "I can't wait to see <<pher>> expression when you start sucking." <</if>> <</if>> <<elseif $anusstate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "No point hiding your face, we can all tell you're a pervert." <<else>> "This slut likes having <<pher>> ass eaten." <</if>> <<else>> <<if $face is "covered">> "Move your hand <<bitch>>, I want to see how you feel about having your ass eaten." <<else>> "Probe <<pher>> ass harder, I think <<pshe>> likes it." <</if>> <</if>> <<elseif $anusstate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "No point hiding your face, we can all tell you're a pervert." <<else>> "This slut likes having <<pher>> ass eaten." <</if>> <<else>> <<if $face is "covered">> "Move your hand <<bitch>>, I want to see how you feel about having your ass eaten." <<else>> "Probe <<pher>> ass harder, I think <<pshe>> likes it." <</if>> <</if>> <<elseif $anusstate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "No point hiding your face, we can all tell you're a pervert." <<else>> "This slut likes having <<pher>> ass eaten." <</if>> <<else>> <<if $face is "covered">> "Move your hand <<bitch>>, I want to see how you feel about having your ass eaten." <<else>> "Probe <<pher>> ass harder, I think <<pshe>> likes it." <</if>> <</if>> <<elseif $mouthstate is "kiss">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pShe>> cumming from being kissed? Is that pure or lewd?" <<else>> "<<pShes>> cumming from being kissed! Is that pure or lewd?" <</if>> <<else>> <<if $face is "covered">> "<<pShes>> shy about being kissed, how adorable." <<else>> "Such a romantic image." <</if>> <</if>> <<elseif $mouthstate is "kissimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pShe>> cumming from being kissed? Is that pure or lewd?" <<else>> "<<pShes>> cumming from being kissed! Is that pure or lewd?" <</if>> <<else>> <<if $face is "covered">> "<<pShes>> shy about being kissed, how adorable." <<else>> "Such a romantic image." <</if>> <</if>> <<elseif $mouthstate is "kissentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pShe>> cumming from thinking about being kissed? Is that pure or lewd?" <<else>> "<<pShes>> cumming from the thought of being kissed! Is that pure or lewd?" <</if>> <<else>> <<if $face is "covered">> "<<pShes>> shy about getting a kiss, how adorable." <<else>> "Such a romantic image." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $enemytype is "beast">> <<if $face is "covered">> "Are you ashamed to be cumming for that <<beasttype>>?" <<else>> "That <<beasttype>> can really make you cum hard, and I have proof." <</if>> <<else>> <<if $face is "covered">> "You can hide your face, but not your orgasm." <<else>> "Your orgasm face is so cute, and I have proof." <</if>> <</if>> <<else>> <<if $face is "covered">> <<if $pain gte 80>> "Hide your face if you want, we can see your tears." <<elseif $pain gte 40>> "You can't hide your tears from the camera." <<else>> "Don't be shy, let the camera see that pretty face of yours." <</if>> <<else>> <<if $pain gte 80>> "<<pShes>> crying. How pathetic." <<elseif $pain gte 40>> "Don't be upset. Smile for the camera." <<else>> "Smile, <<girl>>." <</if>> <</if>> <</if>> <</if>> <<elseif $rng gte 61 and $breastpic isnot 1>> <<set $breastpic to 1>> The $audiencedesc $audiencecamera points <<ahis>> camera at your <<chest>>. A light flashes as <<ahe>> takes a picture. <<rng>> <<if $player.breastsize is 0>> <<if $player.gender_appearance is "m">> <<if $worn.upper.exposed gte 2>> <<if $rng gte 67>> "Boys have such cute nipples." <<elseif $rng gte 33>> "That sleek chest of yours is a thing of beauty." <<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> "<<pHer>> hard nipples tell all. This <<girl>> loves two hard cocks up the ass!" <<else>> "Don't be shy, there's nothing lewd about your boy nipples." <</if>> <<else>> <<if $rng gte 67>> "Get his top off, I wanna see that fine chest." <<elseif $rng gte 33>> "I wish I could take a picture of what's under his top." <<else>> "Even clothed I can tell you have a lovely chest." <</if>> <</if>> <<else>> <<if $worn.upper.exposed gte 2>> <<if $rng gte 67>> "Your flat chest looks delicious." <<elseif $rng gte 33>> "<<pHer>> chest is so flat <<pshe>> could pass as a boy." <<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> "<<pHer>> boy nipples are so hard! This flat <<bitch>> loves two hard cocks up the ass!" <<elseif $rng gte 20 and $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">> "<<pHer>> nipples are so hard! This flat <<bitch>> loves a double pussy pounding!" <<else>> "It's important I take pictures of her cute chest. I'll need them later." <</if>> <<else>> <<if $rng gte 67>> "I can't wait to see under her top." <<elseif $rng gte 33>> "Do other girls tease you for your flat chest?" <<else>> "Don't worry, you're cute even without boobs." <</if>> <</if>> <</if>> <<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">> <<elseif $player.breastsize lte 5>> <<if $player.gender_appearance is "m">> <<if $worn.upper.exposed gte 2>> <<if $rng gte 67>> "Your flabby chest is almost like a girl's." <<elseif $rng gte 33>> "Look at those little tits. I bet the other boys pick on you." <<else>> "Don't be shy, there's nothing lewd about your boy nipples, even if they look like a girl's." <</if>> <<else>> <<if $rng gte 67>> "Get his top off, I wanna see that fine chest." <<elseif $rng gte 33>> "I wish I could take a picture of what's under his top." <<else>> "Even clothed I can tell you have a lovely chest." <</if>> <</if>> <<else>> <<if $worn.upper.exposed gte 2>> <<if $rng gte 67>> "Her tiny breasts are so cute." <<elseif $rng gte 33>> "Now however large your breasts grow, I'll have evidence of when they were small and cute." <<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> "<<pHer>> nipples are so hard! This <<bitch>> loves double stuffing!" <<elseif $rng gte 20 and $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">> "<<pHer>> nipples are so hard! This <<bitch>> loves double stuffing!" <<else>> "Don't be ashamed of your small breasts, they're adorable." <</if>> <<else>> <<if $rng gte 67>> "I can see the shape of <<pher>> tiny breasts beneath <<pher>> $worn.upper.name." <<elseif $rng gte 33>> "Get <<pher>> top off, I want a picture of <<pher>> breasts." <<else>> "I can't wait to see <<pher>> little breasts, I bet they're superb." <</if>> <</if>> <</if>> <<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">> <<elseif $player.breastsize lte 7>> <<if $worn.upper.exposed gte 2>> <<if $rng gte 67>> "Your breasts are very photogenic." <<elseif $rng gte 33>> "Your breasts are mesmerising." <<else>> "This picture of your breasts will come in handy." <</if>> <<else>> <<if $rng gte 67>> "Get <<pher>> top off, I want a picture of <<pher>> breasts." <<elseif $rng gte 33>> "Don't be embarrassed, it's not like your breasts are exposed yet." <<else>> "Even clothed I can tell how lovely <<pher>> breasts are." <</if>> <</if>> <<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">> <<elseif $player.breastsize lte 10>> <<if $worn.upper.exposed gte 2>> <<if $rng gte 67>> "<<pHer>> breasts flop about so beautifully." <<elseif $rng gte 33>> "Those are some impressive mammaries." <<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> "I love how <<pher>> milkers jiggle as their cocks ravage <<pher>> slut ass!" <<elseif $rng gte 20 and $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">> "I love how <<pher>> milkers flop about as their cocks wreck this slut's pussy!" <<else>> "Don't be ashamed, you should be proud of such large breasts." <</if>> <<else>> <<if $rng gte 67>> "Are <<pher>> breasts really as large as they seem? Only one way to find out." <<elseif $rng gte 33>> "Get <<pher>> top off, I want a picture of <<pher>> large breasts for later use." <<else>> "Breasts that large are lewd even under clothes." <</if>> <</if>> <<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">> <<else>> <<if $worn.upper.exposed gte 2>> <<if $rng gte 67>> "Those are some gigantic udders." <<elseif $rng gte 33>> "You could feed every baby in town with those." <<else>> "Glad I got photographic proof, no one would believe how big they were otherwise." <</if>> <<else>> <<if $rng gte 67>> "You can't fake breasts this large, surely." <<elseif $rng gte 33>> "Get <<pher>> top off, I want a picture of these massive things." <<else>> "Breasts this huge are lewd even under clothes." <</if>> <</if>> <<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">> <</if>> <<elseif $rng gte 41 and $bottompic isnot 1>> <<set $bottompic to 1>> The $audiencedesc $audiencecamera points <<ahis>> camera at your <<bottom>>. A light flashes as <<ahe>> takes a picture. <<rng>> <<if $anusstate is "penetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> "I got a nice close-up of the <<beasttype>> ravaging <<pher>> ass while <<pshe>> cums." <<elseif $leglocktarget isnot undefined>> "I got a nice close-up of <<phim>> <<print ($position is "doggy" ? "pushing <<pher>> ass onto" : "wrapping <<pher>> legs around")>> the <<beasttype>>." <<else>> "I got a nice close-up of the <<beasttype>> ravaging <<pher>> ass." <</if>> <<else>> <<if $orgasmdown gte 1>> "I got a nice close-up of <<pher>> ass getting fucked. Look at <<phim>> shake." <<elseif $leglocktarget isnot undefined>> "I got a nice close-up of <<phim>> <<print ($position is "doggy" ? "pressing back" : "locking <<pher>> legs")>> as <<pher>> ass gets fucked." <<else>> "I got a nice close-up of <<pher>> ass getting fucked." <</if>> <</if>> <<elseif $anusstate is "imminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> "<<pShes>> already cumming, I wonder how <<pshe>> would take a proper anal fucking from that <<beasttype>>." <<else>> "I want to catch the moment it starts fucking <<phim>> proper." <</if>> <<else>> <<if $orgasmdown gte 1>> "<<pShes>> already cumming, I wonder how <<pshe>> would take a proper anal fucking." <<else>> "I want to catch the moment it goes in <<pher>> ass." <</if>> <</if>> <<elseif $anusstate is "entrance">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> "I think it's gonna fuck <<pher>> slut ass!" <<else>> "I think it's gonna fuck <<pher>> ass!" <</if>> <<else>> <<if $orgasmdown gte 1>> "I hope you're going all-in on this little slut's ass." <<else>> "I hope you're going all-in on <<pher>> ass." <</if>> <</if>> <<elseif $anusstate is "othermouth">> <<if $orgasmdown gte 1>> "<<pShes>> responding to having <<pher>> ass eaten." <<else>> "You're really getting in there." <</if>> <<elseif $anusstate is "othermouthimminent">> <<if $orgasmdown gte 1>> "What does <<pher>> cumming ass taste like?" <<else>> "How's <<pshe>> taste?" <</if>> <<elseif $anusstate is "othermouthentrance">> <<if $orgasmdown gte 1>> "It might be too much for <<phim>>. I can't wait." <<else>> "You're actually gonna eat <<pher>> ass?" <</if>> <<elseif $anusstate isnot 0 and $anusstate.startsWith("double")>> <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <<if $orgasmdown gte 1>> "This is the money shot! Look at <<phim>> shake with two cocks in <<pher>> ass!" <<else>> <<set _myrng to random(1,2)>> <<switch _myrng>> <<case 1>> "I got a nice close-up of <<pher>> ass getting double fucked. Super slut!" <<case 2>> "Yes that's it, take both those cocks you dirty slut! The camera loves you!" <</switch>> <</if>> <<else>> <<if $orgasmdown gte 1>> "<<pShes>> already cumming, I wonder how <<pshe>> would take a proper double anal fucking." <<else>> "I want to catch the moment both cocks go in <<pher>> ass." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1>> <<if $rng gte 67>> "I got a nice shot of <<pher>> bare ass." <<elseif $rng gte 33>> "I've never seen such a spankable ass." <<else>> "<<pHer>> orgasm is making <<pher>> ass shake beautifully." <</if>> <<else>> <<if $rng gte 67>> "<<pShes>> such a lewd <<girl>>, <<pshe>> needs to be punished." <<elseif $rng gte 33>> "Get <<pher>> clothes off while <<pshe>> spasms, I want a clear shot of <<pher>> ass." <<else>> "<<pHer>> ass is so lewd, even clothed." <</if>> <</if>> <<else>> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1>> <<if $rng gte 67>> "Are you embarrassed about your ass being exposed like this?" <<elseif $rng gte 33>> "I got a great shot of <<pher>> ass." <<else>> "<<pHer>> naked ass is so lewd." <</if>> <<else>> <<if $rng gte 67>> "This <<girl>> has a fine ass." <<elseif $rng gte 33>> "Bare <<pher>> ass, I want a better picture." <<else>> "Even clothed <<pher>> ass looks good." <</if>> <</if>> <</if>> <</if>> <<elseif $rng gte 21 and $genitalpic isnot 1>> <<set $genitalpic to 1>> The $audiencedesc $audiencecamera points <<ahis>> camera at your <<privates>>. A light flashes as <<ahe>> takes a picture. <<rng>> <<if $vaginastate is "penetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> "I got a nice shot of <<phim>> shuddering on that dick." <<elseif playerBellyVisible() and $pregnancyspeechdisable is "f">> "Even when <<pshes>> already knocked up, <<pshe>> just can't help but be <<bred>> like a bitch!" <<elseif $leglocktarget isnot undefined>> "Look at <<phim>> <<print ($position is "doggy" ? "push <<pherself>> back into" : "wrap <<pher>> legs around")>> the <<beasttype>>! Deviant bitch!" <<else>> "Wow, <<pher>> pussy is really getting pounded by that <<beasttype>>." <</if>> <<else>> <<if $orgasmdown gte 1>> "I got a nice shot of <<phim>> shuddering on that dick." <<elseif playerBellyVisible() and $pregnancyspeechdisable is "f">> "Well, if <<pshe>> wasn't pregnant before, <<pshe>>'d be getting pretty close to it now..." <<elseif $leglocktarget isnot undefined>> "<<pShes>> begging for you to come inside! Give <<phim>> what <<pshe>> wants!" <<else>> "Wow, <<pher>> pussy is really getting a pounding." <</if>> <</if>> <<elseif $vaginastate is "imminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> "<<pHer>> <<bitch>> pussy is twitching and it's not even in yet. <<pShe>> can't wait to be <<bred>>." <<else>> "I hope I catch the moment <<pher>> pussy is first violated." <</if>> <<else>> <<if $orgasmdown gte 1>> "<<pHer>> pussy is twitching and it's not even in yet. Such a slut." <<else>> "I hope I catch the moment <<pher>> pussy is first violated." <</if>> <</if>> <<elseif $vaginastate is "entrance">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> "<<pShes>> cumming from such little stimulation, fucking a <<beasttype>> might break <<phim>> fully." <<else>> "Your pussy is about to get the treatment it deserves." <</if>> <<else>> <<if $orgasmdown gte 1>> "<<pShes>> cumming from such little stimulation, fucking <<pher>> pussy might break <<phim>> fully." <<else>> "Your pussy is about to get the treatment it deserves." <</if>> <</if>> <<elseif $vaginastate isnot 0 and $vaginastate.startsWith("double")>> <<if $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">> <<if $orgasmdown gte 1>> "This is the money shot! Look at <<phim>> shake with two cocks in <<pher>> pussy!" <<else>> <<set _myrng to random(1,2)>> <<switch _myrng>> <<case 1>> "I got a nice close-up of <<pher>> pussy getting double fucked. Super slut!" <<case 2>> "Yes that's it, take both those cocks you dirty slut! The camera loves you!" <</switch>> <</if>> <<else>> <<if $orgasmdown gte 1>> "<<pShes>> already cumming, I wonder how <<pshe>> would take a proper double pussy fucking." <<else>> "I want to catch the moment both cocks go in <<pher>> cunt!" <</if>> <</if>> <<elseif $penisstate is "penetrated">> <<if playerHasStrapon()>> "Wow, look at the pussy pounding that strap-on!" <<elseif $orgasmdown gte 1>> "I got a nice shot of <<phim>> shuddering in that pussy." <<else>> "Wow, <<pher>> penis is really getting a pounding." <</if>> <<elseif $penisstate is "imminent">> <<if playerHasStrapon()>> "I need to catch the moment <<pher>> strap-on penetrates!" <<elseif $orgasmdown gte 1>> "<<pHer>> penis is twitching and it's not even in yet. Such a slut." <<else>> "I hope I catch the moment <<pher>> penis is first violated." <</if>> <<elseif $penisstate is "entrance">> <<if playerHasStrapon()>> "Hope <<pshe>> knows how to use that thing!" <<elseif $orgasmdown gte 1>> "<<pShes>> cumming from such little stimulation, fucking <<phim>> might break <<phim>> fully." <<else>> "Your penis is about to get the treatment it deserves." <</if>> <<elseif $penisstate is "otheranus">> <<if playerHasStrapon()>> "I got a nice shot of <<pher>> strap-on pounding that ass!" <<elseif $orgasmdown gte 1>> "I got a nice shot of <<phim>> shuddering in that ass." <<else>> "Wow, <<pher>> penis is really getting a pounding." <</if>> <<elseif $penisstate is "otheranusimminent">> <<if playerHasStrapon()>> "Hope <<pshe>> knows how to use that thing!" <<elseif $orgasmdown gte 1>> "<<pHer>> penis is twitching and it's not even in yet. Such a slut." <<else>> "I hope I catch the moment <<pher>> penis is first violated." <</if>> <<elseif $penisstate is "otheranusentrance">> <<if playerHasStrapon()>> "I hope to see <<pher>> toy ruin that ass." <<elseif $orgasmdown gte 1>> "<<pShes>> cumming from such little stimulation, fucking <<phim>> might break <<phim>> fully." <<else>> "Your penis is about to get the treatment it deserves." <</if>> <<elseif $vaginastate is "othermouth">> <<if $orgasmdown gte 1>> "<<pHer>> pussy is twitching so delightfully." <<else>> "You're really getting your tongue in there." <</if>> <<elseif $vaginastate is "othermouthimminent">> <<if $orgasmdown gte 1>> "Does <<pher>> pussy juice taste good?" <<else>> "Does <<pher>> pussy taste good?" <</if>> <<elseif $vaginastate is "othermouthentrance">> <<if $orgasmdown gte 1>> "Does <<pher>> pussy juice taste good?" <<else>> "Does <<pher>> pussy taste good?" <</if>> <<elseif $penisstate is "othermouth">> <<if playerHasStrapon()>> "Wow, you're really mouth-fucking <<pher>> strap-on!" <<elseif $orgasmdown gte 1>> "Does <<pher>> cum taste good?" <<else>> "I can tell <<pshes>> cumming into your mouth." <</if>> <<elseif $penisstate is "othermouthimminent">> <<if playerHasStrapon()>> "That's right, swallow that toy." <<elseif $orgasmdown gte 1>> "Take <<phim>> into your mouth already, I want to see <<phim>> squirm more." <<else>> "Does <<pher>> penis taste good?" <</if>> <<elseif $penisstate is "othermouthentrance">> <<if playerHasStrapon()>> "I want to see you swallow <<pher>> toy." <<elseif $orgasmdown gte 1>> "Take <<phim>> into your mouth already, I want to see <<phim>> squirm more." <<else>> "Does <<pher>> penis taste good?" <</if>> <<elseif $speechmasturbate gte 1 and random(0,1) is 1>> <<if $rng lt 34>> "Look at this <<bitch>> getting <<pherself>> off!" <<elseif $rng lte 67>> "I got a good shot of <<phim>> playing with <<pherself>>!" <<else>> "Watching <<phim>> play with <<pherself>> makes me so horny." <</if>> <<else>> <<if $orgasmdown gte 1>> <<if !($worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2)>> "Are those spasms from cumming?" <<else>> <<if playerChastity()>> <<if $rng gte 67>> "Cumming while wearing a $worn.genitals.name, you must be a slut" <<elseif $rng gte 33>> "Someone unlock or break that chastity device, it's ruining a good photo." <<else>> "Are those spasms from cumming?" <</if>> <<elseif playerHasStrapon()>> "Are those spasms from cumming?" <<elseif $player.penisExist>> <<if $orgasmcount lt 24>> <<if $rng gte 67>> "I got a shot of <<pher>> cum flying through the air." <<elseif $rng gte 33>> "Look at <<phim>> squirt!" <<else>> "I caught <<phim>> cumming on camera. How shameful." <</if>> <<else>> <<if $rng gte 67>> "I got a shot of <<phim>> cumming, but nothing came out." <<elseif $rng gte 33>> "This <<girl>> can't even cum properly, pathetic." <<else>> "<<pHer>> orgasm is disappointingly dry. I got it on camera at least." <</if>> <</if>> <<else>> <<if $vaginause is "cover">> "Move your hand, I want a clear shot of your pussy while you cum." <<else>> "I got a perfect shot of <<pher>> pussy twitching in climax." <</if>> <</if>> <</if>> <<else>> <<if playerChastity("hidden") and $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>> <<if $rng gte 90 and ($anusstate is "penetrated" or $anusstate is "doublepenetrated")>> "Should have gotten yourself an anal shield. Too late now." <<elseif $rng gte 75>> "As if that will help you stay pure." <<elseif $rng gte 50>> "Someone break that device, <<pshe>> can't have a good time like that." <<elseif $rng gte 25>> "Shame I can't see what's under that device." <<else>> "Such a shame, I was looking forward to playing with it." <</if>> <<elseif playerChastity("cage") and $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>> <<if $penisuse is "cover">> <<if $rng gte 67>> "Move your hand, I want to see your penis." <<elseif $rng gte 33>> "Aww, <<pshes>> shy." <<else>> "Someone move <<pher>> hand out the way, I want a shot of <<pher>> penis." <</if>> <<else>> <<switch $player.penissize>> <<case 4>> <<if $rng gte 67>> "<<pShes>> huge! <<if playerHasStrapon()>>Bet you wish you had the key rather than the strapon!<<else>>How could it be locked up?<</if>>" <<elseif $rng gte 33>> "Is your freakishly big cock locked up because you hurt someone with it?" <<else>> "I've never seen such a huge cock. Real shame it can't be played with." <</if>> <<insecurity "penis_big" 1>><<ginsecurity "penis_big">> <<case 3>> <<if $rng gte 67>> "<<pShes>> bigger than I expected.<<if playerHasStrapon()>> At least <<pshe>> has a strapon.<</if>>" <<elseif $rng gte 33>> "Don't be shy, you should be proud of your penis, even if it's locked up tight." <<else>> "<<pHer>> penis is the perfect size. Real shame it can't be played with." <</if>> <<insecurity "penis_big" 1>><<ginsecurity "penis_big">> <<case 2>> <<if $rng gte 67>> "I got a great picture of <<pher>> cute and locked up penis<<if playerHasStrapon()>> hidden behind <<pher>> strapon<</if>>." <<elseif $rng gte 33>> "Don't be shy, everyone should know how beautiful your locked up penis is." <<else>> "If you don't want your caged penis photographed, you shouldn't act like a slut." <</if>> <<case 1 2>> <<if $rng gte 67>> "<<pShes>> so small!" <<elseif $rng gte 33>> "Such a small and cute penis. Almost a shame it's locked up." <<else>> "I thought <<pher>> penis would be bigger even when locked up." <</if>> <<insecurity "penis_small" 1>><<ginsecurity "penis_small">> <<case 0>> <<if $rng gte 67>> "<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder <<pshes>> wearing a strapon<</if>>!" <<elseif $rng gte 33>> "I can't believe it's so tiny! Almost a shame it's locked up." <<else>> "I've never seen such a pathetic penis." <</if>> <<insecurity "penis_small" 2>><<ginsecurity "penis_small">> <<case -1>> <<if $rng gte 67>> "<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder <<pshes>> wearing a strapon<</if>>!" <<elseif $rng gte 33>> "Did it get locked up because of how small it is?" <<else>> "Such a shame the pathetic penis is all locked up.<<if playerHasStrapon()>> Bet you love using your strapon.<</if>>" <</if>> <<insecurity "penis_small" 3>><<ginsecurity "penis_small">> <<case -2>> <<if $rng gte 67>> "I thought that was a locked up clit!<<if playerHasStrapon()>> No wonder <<pshes>> wearing a strapon.<</if>>" <<elseif $rng gte 33>> "Clearly deserved to be locked up for being so useless!<<if playerHasStrapon()>> Bet you love using your strapon.<</if>>" <<else>> "Is there even anything locked up in there?<<if playerHasStrapon()>> Almost missed it due to your strapon.<</if>>" <</if>> <<insecurity "penis_small" 4>><<ginsecurity "penis_small">> <</switch>> <</if>> <<elseif $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>> <<if $player.penisExist>> <<if $penisuse is "cover">> <<if $rng gte 67>> "Move your hand, I want to see your penis." <<elseif $rng gte 33>> "Aww, <<pshes>> shy." <<else>> "Someone move <<pher>> hand out the way, I want a shot of <<pher>> penis." <</if>> <<else>> <<switch $player.penissize>> <<case 4>> <<if $rng gte 67>> "<<pShes>> huge<<if playerHasStrapon()>>, why would you even wear a strapon<</if>>!" <<elseif $rng gte 33>> "<<pHer>> penis is freakishly big." <<else>> "I've never seen such a huge cock." <</if>> <<insecurity "penis_big" 1>><<ginsecurity "penis_big">> <<case 3>> <<if $rng gte 67>> "<<pShes>> bigger than I expected.<<if playerHasStrapon()>> <<pShe>> should get rid of <<pher>> strapon.<</if>>" <<elseif $rng gte 33>> "Don't be shy, you should be proud of your penis." <<else>> "<<pHer>> penis is the perfect size.<<if playerHasStrapon()>> You should get rid of your strapon.<</if>>" <</if>> <<insecurity "penis_big" 1>><<ginsecurity "penis_big">> <<case 2>> <<if $rng gte 67>> "I got a great picture of <<pher>> cute penis<<if playerHasStrapon()>> hidden behind <<pher>> strapon<</if>>." <<elseif $rng gte 33>> "Don't be shy, everyone should know how beautiful your penis is." <<else>> "If you don't want your penis photographed, you shouldn't act like a slut." <</if>> <<case 1>> <<if $rng gte 67>> "<<pShes>> so small!" <<elseif $rng gte 33>> "Such a small and cute penis." <<else>> "I thought <<pher>> penis would be bigger." <</if>> <<insecurity "penis_small" 1>><<ginsecurity "penis_small">> <<case 0>> <<if $rng gte 67>> "<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!" <<elseif $rng gte 33>> "I can't believe it's so tiny!" <<else>> "I've never seen such a pathetic penis." <</if>> <<insecurity "penis_small" 2>><<ginsecurity "penis_small">> <<case -1>> <<if $rng gte 67>> "<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!" <<elseif $rng gte 33>> "It's like a large clit. Have you considered putting it in a cage?" <<else>> "I've never seen such a useless penis<<if playerHasStrapon()>>, bet you love using your strapon<</if>>." <</if>> <<insecurity "penis_small" 3>><<ginsecurity "penis_small">> <<case -2>> <<if $rng gte 67>> "I thought that was a clit<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!" <<elseif $rng gte 33>> "Could anyone even feel anything if you fucked them with it?" <<else>> "I've never seen such a useless penis. Why isn't it in a cage?" <</if>> <<insecurity "penis_small" 4>><<ginsecurity "penis_small">> <</switch>> <</if>> <<else>> <<if $vaginause is "cover">> <<if $rng gte 67>> "Move your hand, I want to see your pussy." <<elseif $rng gte 33>> "Aww, <<pshes>> shy." <<else>> "Someone move <<pher>> hand out the way, I want a shot of <<pher>> pussy." <</if>> <<else>> <<if $rng gte 67>> "I got a great picture of <<pher>> cute pussy." <<elseif $rng gte 33>> "Don't be shy, everyone should know how beautiful your pussy is." <<else>> "If you don't want your pussy photographed, you shouldn't act like a slut." <</if>> <</if>> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<if $penisuse is "cover">> <<if $rng gte 67>> "Move your hand, I want to see your bulge." <<elseif $rng gte 33>> "Aww, <<pshes>> shy." <<else>> "Someone move <<pher>> hand out the way, I want a shot of <<pher>> bulge." <</if>> <<else>> <<if !calculatePenisBulge()>> <<if $rng gte 67>> "Where is the bulge, don't tell me <<pshes>> actually a girl." <<elseif $rng gte 33>> "Is your penis so small that it doesn't form a bulge?" <<else>> "I was expecting a bulge, but I don't see it." <</if>> <<elseif $rng gte 67>> "I got a great picture of <<pher>> cute bulge." <<elseif $rng gte 33>> "Don't be shy, everyone should know how beautiful your bulge is." <<else>> "If you don't want your bulge photographed, you shouldn't act like a slut." <</if>> <</if>> <<else>> <<if $vaginause is "cover">> <<if $rng gte 67>> "Sure, pretend you're not a slut." <<elseif $rng gte 33>> "Aww, <<pshes>> shy." <<else>> "What's that wet spot under <<pher>> hand?" <</if>> <<else>> <<if $rng gte 67>> "I got a great picture of <<pher>> pretty legs." <<elseif $rng gte 33>> "Rip those clothes off. I wanna see <<pher>> pussy." <<else>> "Bet this slut can't wait to show off <<pher>> pussy." <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<elseif $bodypic isnot 1>> <<set $bodypic to 1>> The $audiencedesc $audiencecamera leans back so <<ahis>> camera can take in the whole scene. A light flashes as <<ahe>> takes a picture. <<if $vaginastate is "penetrated" or $vaginastate is "doublepenetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cover your face if you want, you're still a <<beasttypes>> bitch." <<else>> "The <<beasttypes>> fucked <<phim>> to orgasm, and I have proof." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "You can hide your bitch face, but your bitch legs can't lie!" <<elseif $speechcamerapose is 1>> "That's it, smile for the camera while getting <<bred>>!" <<else>> "Good <<beasttype>>, show this bitch <<pher>> place. <<pShes>> letting you." <</if>> <<else>> <<if $face is "covered">> "Stop hiding your face and smile for the camera." <<elseif $speechcamerapose is 1>> "That's it, pose like the <<beasttype>> bitch you are!" <<else>> "Good <<beasttype>>, show this bitch <<pher>> place." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cover your face if you want, it just makes the scene hotter." <<else>> "You've fucked <<phim>> to orgasm. Keep going." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "Stop covering your face. <<print ($position is "doggy" ? "We know you're loving this!" : "Wrap your arms around <<personselect $vaginatarget>><<him>> too!")>>" <<elseif $speechcamerapose is 1>> "That's it, smile for the camera while <<print ($position is "doggy" ? "pushing into <<personselect $vaginatarget>><<him>>" : "locking your legs")>> like a whore!" <<else>> "This slut's wide open for you." <</if>> <<else>> <<if $face is "covered">> "Stop hiding your face and smile for the camera." <<elseif $speechcamerapose is 1>> "That's it, pose like the slut you are!" <<else>> "Show this slut what <<pshes>> good for." <</if>> <</if>> <</if>> <<elseif $vaginastate is "imminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cumming already? It isn't even fucking you yet." <<else>> "Your cunt belongs to that <<beasttype>> now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "This slut is about to be taken by a <<beasttype>>, and is still concerned about looking good." <<else>> "Your cunt belongs to that <<beasttype>> now." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> pussy isn't being fucked yet <<pshes>> still cumming." <<else>> "There's no escaping now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "I wanna see you hold that pose as the cock enters you." <<else>> "What are you waiting for? Fuck <<phim>> now." <</if>> <</if>> <</if>> <<elseif $vaginastate is "entrance">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cumming already? It isn't even fucking you yet." <<else>> "Your cunt belongs to that <<beasttype>> now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "In good spirits for someone about to get fucked by a <<beasttype>>." <<else>> "Your cunt belongs to that <<beasttype>> now." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> pussy isn't being fucked yet <<pshes>> still cumming." <<else>> "There's no escaping now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "I hope <<pshe>> holds that pose as it goes in." <<else>> "What are you waiting for? Fuck <<phim>> now." <</if>> <</if>> <</if>> <<elseif $vaginastate is "doubleentrance" or $vaginastate is "doubleimminent">> /* Neither dick in */ <<if $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis isnot "vaginadouble" and $NPCList[$vaginadoubletarget].penis isnot "vaginadouble">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> pussy isn't being fucked yet <<pshes>> still cumming." <<else>> "There's no escaping now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when both dicks go in." <<elseif $speechcamerapose is 1>> "I'd like to see <<phim>> keep this pose when both cocks go in." <<else>> "What are you waiting for? Fuck <<phim>> now." <</if>> <</if>> /* One dick in, the other at entrance */ <<elseif $vaginadoubletarget isnot undefined and (($NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis isnot "vaginadouble") or ($NPCList[$vaginatarget].penis isnot "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble"))>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> pussy is cumming at the thought of double dicking!" <<else>> "About to get double stuffed now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when both dicks go in." <<elseif $speechcamerapose is 1>> "Just the thought of a double dicking is making this slut lose <<pher>> mind." <<else>> "What are you waiting for? Double fuck <<phim>> now." <</if>> <</if>> <</if>> <<elseif $penisstate is "penetrated">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Cover your face if you want, it just makes the scene hotter." <<else>> "You've fucked <<phim>> to orgasm. Keep going." <</if>> <<else>> <<if $face is "covered">> "Stop hiding your face and smile for the camera." <<elseif $speechcamerapose is 1>> "That's it, pose like a slut while that pussy ravages you." <<else>> "Show this fucktoy what <<pshes>> good for." <</if>> <</if>> <<elseif $penisstate is "imminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> penis isn't being fucked, yet <<pshes>> still cumming." <<else>> "There's no escaping now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "Fuck <<phim>> now, while <<pshes>> posing like a slut." <<else>> "What are you waiting for? Fuck <<phim>> now." <</if>> <</if>> <<elseif $penisstate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> penis isn't being fucked, yet <<pshes>> still cumming." <<else>> "There's no escaping now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "That's it, make sure you give a good fucking." <<else>> "What are you waiting for? Fuck <<phim>> now." <</if>> <</if>> <<elseif $penisstate is "otheranus">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Look at <<pher>> body writhe." <<else>> "You've fucked <<phim>> to orgasm. Keep going." <</if>> <<else>> <<if $face is "covered">> "<<pShes>> so shy and cute." <<elseif $speechcamerapose is 1>> "This fucktoy knows what <<pshes>> good for." <<else>> "Show this fucktoy what <<pshes>> good for." <</if>> <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> penis isn't being fucked, yet <<pshes>> still cumming." <<else>> "There's no escaping now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "I wonder if <<pshe>>'ll be able to hold this pose as it goes in." <<else>> "What are you waiting for? Fuck <<phim>> now." <</if>> <</if>> <<elseif $penisstate is "otheranusentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pHer>> penis isn't being fucked, yet <<pshes>> still cumming." <<else>> "There's no escaping now, slut." <</if>> <<else>> <<if $face is "covered">> "Stop covering your face, I want to capture your expression when it goes in." <<elseif $speechcamerapose is 1>> "That's the look of an eager slut, if I've ever seen one." <<else>> "What are you waiting for? Fuck <<phim>> now." <</if>> <</if>> <<elseif $anusstate is "penetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You're cumming with a <<beasttypes>> dick in your ass, how much dignity do you think you're protecting?" <<else>> "That's right, cum on that animal dick. Show the world what a <<bitch>> you are." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "Good <<beasttype>>. Don't stop until <<pshe>> can't stand." <<elseif $speechcamerapose is 1>> "This bitch knows where she belongs: with <<beasttype>> cock in <<pher>> ass." <<else>> "Good <<beasttype>>, show this bitch <<pher>> place. <<pShes>> letting you." <</if>> <<else>> <<if $face is "covered">> "Good <<beasttype>>, fuck this <<bitch>> hard." <<elseif $speechcamerapose is 1>> "That's the look of an eager <<bitch>>, if I've ever seen one." <<else>> "Good <<beasttype>>, show this <<girl>> <<pher>> place." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You're cumming with a dick in your ass, how much dignity do you think you're protecting?" <<else>> "That's right, cum on that dick. Show the world what a huge slut you are." <</if>> <<elseif $leglocktarget isnot undefined>> <<if $face is "covered">> "Fuck <<pher>> ass until <<pshe>> goes limp!" <<elseif $speechcamerapose is 1>> "That's it, smile for the camera while <<print ($position is "doggy" ? "pushing against <<personselect $anustarget>><<him>>" : "locking your legs")>>!" <<else>> "Ravage <<phim>> harder. I don't think <<pshe>>'ll complain." <</if>> <<else>> <<if $face is "covered">> "Fuck <<phim>> harder!" <<elseif $speechcamerapose is 1>> "That's the look of an eager slut, if I've ever seen one." <<else>> "Keep ravaging this <<girl>>'s ass, I want more pictures." <</if>> <</if>> <</if>> <<elseif $anusstate is "imminent" or $anusstate is "doubleimminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You love it, don't pretend otherwise." <<else>> "This <<bitch>> can't help it." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when your ass is violated." <<elseif $speechcamerapose is 1>> "Look at how eager this <<bitch>> is." <<else>> "Good <<beasttype>>, make <<phim>> your bitch." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can't hide your orgasm from us." <<else>> "This <<bitch>> can't help it." <</if>> <<else>> <<if $face is "covered">> "Move your hands, I want to see your expression when your ass is violated." <<elseif $speechcamerapose is 1>> "Will you still be so confident with that thing inside you, I wonder?" <<else>> "Fuck <<phim>>, make <<phim>> squirm." <</if>> <</if>> <</if>> <<elseif $anusstate is "entrance" or $anusstate is "doubleentrance">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can't hide your orgasm from us." <<else>> "This <<bitch>> can't help it." <</if>> <<else>> <<if $face is "covered">> "A good fucking will teach this <<bitch>> <<pher>> place." <<elseif $speechcamerapose is 1>> "I love how confident this <<bitch>> is." <<else>> "I think it's gonna fuck <<phim>>, I can't wait to get a picture." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You can't hide your orgasm from us." <<else>> "This <<bitch>> can't help it." <</if>> <<else>> <<if $face is "covered">> "This <<girl>> needs to learn <<pher>> place." <<elseif $speechcamerapose is 1>> "I love how confident this slut is." <<else>> "Fuck <<phim>>, make <<phim>> squirm." <</if>> <</if>> <</if>> <<elseif $anusstate is "doublepenetrated">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "You're cumming with two dicks in your ass, how much dignity do you think you're protecting?" <<else>> "That's right, cum on those dicks. Show the world what a huge slut you are." <</if>> <<else>> <<if $face is "covered">> "Fuck <<phim>> harder! This <<bitch>> can take both of you!" <<elseif $speechcamerapose is 1>> "What a champ." <<else>> "Keep ruining this <<girl>>'s ass, I want more pictures." <</if>> <</if>> <<elseif $mouthstate is "penetrated">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "It's amazing what <<pshe>> can fit in there." <<else>> "I hope it cums down <<pher>> throat while <<pshe>> orgasms." <</if>> <<else>> <<if $face is "covered">> "I doubt the <<beasttype>> cares which hole it fucks." <<elseif $speechcamerapose is 1>> "This <<bitch>> is addicted to <<beasttype>> cum, look at <<phim>>." <<else>> "You like the taste of <<beasttype>> dick, don't you." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "It's amazing what <<pshe>> can fit in there." <<else>> "I hope you cum down <<pher>> throat while <<pshe>> orgasms." <</if>> <<else>> <<if $face is "covered">> "No hole is off-limits." <<elseif $speechcamerapose is 1>> "Bet you can't wait for that tasty cum." <<else>> "Is that dick tasty? Don't answer with your mouth full." <</if>> <</if>> <</if>> <<elseif $mouthstate is "imminent">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Move <<pher>> hands, I want the camera to see who this <<bitch>> is." <<else>> "You'll look great cumming with a mouthful of <<beasttype>> dick." <</if>> <<else>> <<if $face is "covered">> "Don't stop there, show this <<bitch>> how much <<pshes>> worth." <<elseif $speechcamerapose is 1>> "Go on, suck it!" <<else>> "I want to see this <<bitch>> get a mouthful." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Move <<pher>> hands, I want the camera to see who this slut is." <<else>> "You'll look great cumming with a mouthful of dick." <</if>> <<else>> <<if $face is "covered">> "Don't stop there, show this <<bitch>> how much <<pshes>> worth." <<elseif $speechcamerapose is 1>> "Don't blow your load before getting it in, this <<bitch>> is thirsty." <<else>> "I want to see this <<bitch>> get a mouthful." <</if>> <</if>> <</if>> <<elseif $mouthstate is "entrance">> <<if $enemytype is "beast">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Move <<pher>> hands, I want the camera to see who this <<bitch>> is." <<else>> "You'll look great cumming with a mouthful of <<beasttype>> dick." <</if>> <<else>> <<if $face is "covered">> "Don't stop there, show this <<bitch>> how much <<pshes>> worth." <<elseif $speechcamerapose is 1>> "What an absolute piece of fuckmeat." <<else>> "I want to see this <<bitch>> get a mouthful." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Move <<pher>> hands, I want the camera to see who this slut is." <<else>> "You'll look great cumming with a mouthful of dick." <</if>> <<else>> <<if $face is "covered">> "Don't stop there, show this <<bitch>> how much <<pshes>> worth." <<elseif $speechcamerapose is 1>> "You can't wait for that tasty cock, can you?" <<else>> "I want to see this <<bitch>> get a mouthful." <</if>> <</if>> <</if>> <<elseif $mouthuse is "facesit">> <<if $orgasmdown gte 1>> <<switch random(2)>> <<case 0>> "This slut really loves having <<pher>> face sat on. <<pShes>> cumming." <<case 1>> "Such a submissive little bitch, if <<pshe>> gets off on having <<pher>> face abused like this." <<case 2>> "<<pShes>> getting off on being sat on. Sit on <<phim>> harder!" <</switch>> <<elseif $enemyanger gte 30>> <<switch random(4)>> <<case 0>> "Smother that loser's face under you." <<case 1>> "Put <<phim>> in <<pher>> place, beneath you." <<case 2>> "Go on, fuck <<pher>> face." <<case 3>> "Smother that slut in pussy and ass." <<case 4>> "Show that fucktoy <<pher>> place." <</switch>> <<else>> <<switch random(2)>> <<case 0>> "At least this slut knows <<pher>> place." <<case 1>> "Sit that ass down on <<pher>> face." <<case 2>> "I love seeing a <<girl>> get <<pher>> face sat on." <</switch>> <</if>> <<elseif $vaginastate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Careful not to suffocate <<phim>>, I want more pictures first." <<else>> "<<pShes>> cumming, guess <<pshe>> is just a fucktoy." <</if>> <<else>> <<if $face is "covered">> "That's it, put <<pher>> mouth to work." <<elseif $speechcamerapose is 1>> "Look at <<phim>> putting on a good face." <<else>> "Is that pussy tasty? Don't answer with your mouth full." <</if>> <</if>> <<elseif $vaginastate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Move <<pher>> hands, I want the camera to see who this slut is." <<else>> "You'll look great cumming with a mouthful of cunt." <</if>> <<else>> <<if $face is "covered">> "Don't stop there, show this <<bitch>> how much <<pshes>> worth." <<elseif $speechcamerapose is 1>> "This <<bitch>> looks like a right tart." <<else>> "Put <<pher>> <<bitch>> mouth to work." <</if>> <</if>> <<elseif $vaginastate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Move <<pher>> hands, I want the camera to see who this slut is." <<else>> "You'll look great cumming with a mouthful of cunt." <</if>> <<else>> <<if $face is "covered">> "Don't stop there, show this <<bitch>> how much <<pshes>> worth." <<elseif $speechcamerapose is 1>> "Bet you'll like the taste." <<else>> "Put <<pher>> <<bitch>> mouth to work." <</if>> <</if>> <<elseif $penisstate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> shy about cumming into your mouth, how cute." <<else>> "This <<girl>> is clearly enjoying it, don't stop." <</if>> <<else>> <<if $face is "covered">> "<<pShes>> shy about having <<pher>> dick sucked, how cute." <<elseif $speechcamerapose is 1>> "Look at <<phim>> love it." <<else>> "Smile for the camera, <<girl>>, you should be happy about having your penis sucked." <</if>> <</if>> <<elseif $penisstate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "I hope you milk <<phim>> dry." <<else>> "Aren't you worried you'll get cum on your face?" <</if>> <<else>> <<if $face is "covered">> "Lick <<phim>> good and proper." <<elseif $speechcamerapose is 1>> "I bet <<pshe>>'ll look even cuter when cumming." <<else>> "I hope I get a shot of <<phim>> cumming on your face." <</if>> <</if>> <<elseif $penisstate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "I hope you milk <<phim>> dry." <<else>> "Aren't you worried you'll get cum on your face?" <</if>> <<else>> <<if $face is "covered">> "Lick <<phim>> good and proper." <<elseif $speechcamerapose is 1>> "Lick <<phim>> dry." <<else>> "I hope I get a shot of <<phim>> cumming on your face." <</if>> <</if>> <<elseif $penisstate is "otherpenis">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Hiding <<pher>> face while cumming on that dick. Cute!" <<else>> "Look at <<pher>> cum squirting, it's covering that dick!" <</if>> <<else>> <<if $face is "covered">> "Yes, smash those <<penises>> together!" <<elseif $speechcamerapose is 1>> "It's nice to see you pose." <<else>> "I hope I get a good shot of <<phim>> cumming over that cock!" <</if>> <</if>> <<elseif $anusstate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> embarrassed! How adorable." <<else>> "Cumming with someone's tongue in your ass, you're a lewd <<girl>> aren't you." <</if>> <<else>> <<if $face is "covered">> "I can't get a clear shot of <<pher>> face with <<pher>> hands in the way." <<elseif $speechcamerapose is 1>> "Not even embarrassed!" <<else>> "Another nice picture of this slut." <</if>> <</if>> <<elseif $anusstate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> embarrassed! How adorable." <<else>> "<<pShes>> cumming already, be careful not to make <<phim>> faint." <</if>> <<else>> <<if $face is "covered">> "I don't know what you think covering your face achieves." <<elseif $speechcamerapose is 1>> "Great pose." <<else>> "Are you gonna lick <<phim>> out? I need a picture of that." <</if>> <</if>> <<elseif $anusstate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "<<pShes>> embarrassed! How adorable." <<else>> "<<pShes>> cumming already, be careful not to make <<phim>> faint." <</if>> <<else>> <<if $face is "covered">> "I don't know what you think covering your face achieves." <<elseif $speechcamerapose is 1>> "Keep that pose while you're licked out." <<else>> "Are you gonna lick <<phim>> out? I need a picture of that." <</if>> <</if>> <<elseif $mouthstate is "kiss">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Don't hide your pretty face." <<else>> "Is that kiss really so pleasurable or is <<pshe>> cumming?" <</if>> <<else>> <<if $face is "covered">> "How cute and romantic." <<elseif $speechcamerapose is 1>> "This <<girl>> loves it." <<else>> "How romantic." <</if>> <</if>> <<elseif $mouthstate is "kissimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Don't hide your pretty face." <<else>> "Is that kiss really so pleasurable or is <<pshe>> cumming?" <</if>> <<else>> <<if $face is "covered">> "How cute and romantic." <<elseif $speechcamerapose is 1>> "This'll look so cute." <<else>> "How romantic." <</if>> <</if>> <<elseif $mouthstate is "kissentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Is <<pshe>> shaking because <<pshes>> shy?" <<else>> "<<pShes>> shaking in anticipation." <</if>> <<else>> <<if $face is "covered">> "How cute and romantic." <<elseif $speechcamerapose is 1>> "What a pro." <<else>> "How romantic." <</if>> <</if>> <<elseif playerBellyVisible() and $pregnancyspeechdisable is "f">> <<if $orgasmdown gte 1>> <<if $face is "covered">> "Afraid someone will recognise you, pregnant <<bitch>>?" <<else>> "No wonder this <<bitch>> is pregnant, look at <<phim>> go!" <</if>> <<else>> <<if $face is "covered">> "The pregnant slut is shy!" <<elseif $speechcamerapose is 1>> "I feel so bad for <<pher>> baby daddy." <<else>> "I got a nice picture of that baby bump." <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> "What a slut." <<else>> "I hope <<pher>> convulsions come across in the picture." <</if>> <<else>> <<if $face is "covered">> <<if $pain gte 80>> "I think <<pshes>> hurt. Don't stop." <<elseif $pain gte 40>> "Don't bother hiding your tears, we can all see." <<else>> "Move your hands <<bitch>>, I want a picture of your face." <</if>> <<elseif $speechcamerapose is 1>> <<if $pain gte 80>> "Posing through the pain. What a trooper." <<elseif $pain gte 40>> "Putting on a brave face, are we?" <<else>> "This slut knows what the cameras like." <</if>> <<else>> <<if $pain gte 80>> "Now everyone will know how pathetic you are." <<elseif $pain gte 40>> "That's a nice shot. Are those tears?" <<else>> "Can't wait to share this with my friends." <</if>> <</if>> <</if>> <</if>> <</if>> <<if $face isnot "covered">> <<if $exposed is 1>> <<fameexhibitionism 1 "pic">> <<elseif $exposed gte 2>> <<fameexhibitionism 2 "pic">> <</if>> <<if playerBellyVisible()>> <<famepregnancy 1 "pic">> <</if>> <<if $sexavoid is 0 or $rapeavoid is 0>> <<if $consensual is 1>> <<famesex 1 "pic">> <<else>> <<famerape 1 "pic">> <</if>> <<if $enemytype is "beast">> <<famebestiality 1 "pic">> <</if>> <</if>> <</if>> <</widget>> <<widget "ahis">> <<if $audiencecamera is "man">> his <<elseif $audiencecamera is "boy">> his <<elseif $audiencecamera is "woman">> her <<elseif $audiencecamera is "girl">> her <</if>> <</widget>> <<widget "ahe">> <<if $audiencecamera is "man">> he <<elseif $audiencecamera is "boy">> he <<elseif $audiencecamera is "woman">> she <<elseif $audiencecamera is "girl">> she <</if>> <</widget>> <<widget "audiencespeech">> <<set $audiencemember to 0>> <<rng>> <<if $audienceforceboy is 1>> <<set $audiencemember to "boy">> <<elseif $audienceforcegirl is 1>> <<set $audiencemember to "girl">> <<elseif $location is "school" or $location is "pool" or $audienceforceteen is 1>> <<if maleChance() is 0>> <<set $audiencemember to "girl">> <<elseif maleChance() is 100>> <<set $audiencemember to "boy">> <<elseif $rng gte 50>> <<set $audiencemember to "boy">> <<else>> <<set $audiencemember to "girl">> <</if>> <<else>> <<if maleChance() is 0>> <<set $audiencemember to "woman">> <<elseif maleChance() is 100>> <<set $audiencemember to "man">> <<elseif $rng gte 50>> <<set $audiencemember to "man">> <<else>> <<set $audiencemember to "woman">> <</if>> <</if>> <<rng>> <<if $rng gte 91 and $audiencecamera6 is 0>> <span class="pink">A $audiencemember pulls out a phone and points the camera at you.</span> <<if $audiencecamera1 is 0>> <<set $audiencecamera1 to $audiencemember>> <<elseif $audiencecamera2 is 0>> <<set $audiencecamera2 to $audiencemember>> <<elseif $audiencecamera3 is 0>> <<set $audiencecamera3 to $audiencemember>> <<elseif $audiencecamera4 is 0>> <<set $audiencecamera4 to $audiencemember>> <<elseif $audiencecamera5 is 0>> <<set $audiencecamera5 to $audiencemember>> <<elseif $audiencecamera6 is 0>> <<set $audiencecamera6 to $audiencemember>> <</if>> <<else>> <<if $vaginastate is "penetrated">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $vaginastate is "imminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $vaginastate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "penetrated">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "imminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "otheranus">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "otheranusimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "otheranusentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $anusstate is "penetrated">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $anusstate is "imminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $anusstate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $mouthstate is "penetrated">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $mouthstate is "imminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $mouthstate is "entrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $vaginastate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $vaginastate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $vaginastate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $penisstate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $anusstate is "othermouth">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $anusstate is "othermouthimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $anusstate is "othermouthentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $mouthstate is "kiss">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $mouthstate is "kissimminent">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<elseif $mouthstate is "kissentrance">> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <<else>> <<if $orgasmdown gte 1>> <<if $face is "covered">> <<else>> <</if>> <<else>> <<if $face is "covered">> <<else>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "audience">> <div @class="($debugLines ? 'debugLines-audience' : '')"> <<set $audiencepresent to 1>> <<if $enemyanger gte 100>> <<if $enemyarousal gte (($enemyarousalmax / 10) * 8)>> The audience is skittish but crowds around, as if you're a rare and dangerous animal. <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> Most of the audience keeps their distance, afraid you'll lash out. <<else>> The audience keeps their distance, afraid you'll lash out. <</if>> <br> <<elseif $enemyanger gte 60>> <<if $enemyarousal gte (($enemyarousalmax / 10) * 8)>> The audience crowds around, their eagerness at odds with their caution. <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> The audience watches from a safe distance. The more daring among them inch closer. <<else>> The audience watches from a safe distance. <</if>> <br> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 10) * 8)>> The audience crowds around, excited to see what happens next. <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> The excited audience crowds around. <<else>> The audience watches with interest. <</if>> <br> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 10) * 8)>> The audience crowds around, vying for a good vantage. <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> The audience watches with interest. Some push through the crowd for a better vantage. <<else>> The audience watches with interest. <</if>> <br> <</if>> <<if $location isnot "prison">> <<if $audiencecamera1 isnot 0>> <<set $audienceselector to 1>> <<audiencecamera>> <br> <</if>> <<if $audiencecamera2 isnot 0>> <<set $audienceselector to 2>> <<audiencecamera>> <br> <</if>> <<if $audiencecamera3 isnot 0>> <<set $audienceselector to 3>> <<audiencecamera>> <br> <</if>> <<if $audiencecamera4 isnot 0>> <<set $audienceselector to 4>> <<audiencecamera>> <br> <</if>> <<if $audiencecamera5 isnot 0>> <<set $audienceselector to 5>> <<audiencecamera>> <br> <</if>> <<if $audiencecamera6 isnot 0>> <<set $audienceselector to 6>> <<audiencecamera>> <br> <</if>> <<set $facepic to 0>> <<set $breastpic to 0>> <<set $bottompic to 0>> <<set $genitalpic to 0>> <<set $bodypic to 0>> <<if $audiencecamera1 isnot 0 and $face is "covered">> <span class="teal">At least your face is hidden.</span> <br> <</if>> <<audiencespeech>> /*<br> commented out due to excess space they caused*/ <<if $rng - $enemyanger + (($enemyarousalmax / $enemyarousal) * 100) gte 0>> <<audiencespeech>> /*<br>*/ <</if>> <<if $rng - $enemyanger + (($enemyarousalmax / $enemyarousal) * 100) gte 20>> <<audiencespeech>> /*<br>*/ <</if>> <<if $rng - $enemyanger + (($enemyarousalmax / $enemyarousal) * 100) gte 40>> <<audiencespeech>> /*<br>*/ <</if>> <<if $rng - $enemyanger + (($enemyarousalmax / $enemyarousal) * 100) gte 60>> <<audiencespeech>> /*<br>*/ <</if>> <<if $rng - $enemyanger + (($enemyarousalmax / $enemyarousal) * 100) gte 80>> <<audiencespeech>> /*<br>*/ <</if>> <</if>> </div> <</widget>><<widget "audiencecameraswarm">> <<if _audienceswarminitcount is undefined or _audienceswarminitcount gte $audienceselector>> <<set _audienceswarminitcount to $audienceselector>> <<set _audienceswarmcarry to {"drya":{}}>> <<else>> <<set _audienceswarminitcount to $audienceselector>> <</if>> <<set _tmpcam to "none">> <<set _tmpsmoving to "creeping">> <<set _tmppspot to "">> <<set _tmpproof to "t">> <<if $swarm.type is "slimes" or $swarm.type is "pale slimes">> <<set _tmpsmoving to "slurping">> <<elseif $swarm.type is "worms">> <<set _tmpsmoving to "wiggling">> <<elseif $swarm.type is "snakes" or $swarm.type is "eels">> <<set _tmpsmoving to "slithering">> <</if>> <<rng>> <<if $rng gte 81 and $facepic isnot 1>> <<set $facepic to 1>> The $audiencedesc $audiencecamera points <<ahis>> camera at your face. A light flashes as <<ahe>> takes a picture. <br> <<set _tmpcam to "face">> <<elseif $rng gte 41 and $bottompic isnot 1>> <<set $bottompic to 1>> The $audiencedesc $audiencecamera points <<ahis>> camera at your <<bottom>>. A light flashes as <<ahe>> takes a picture. <br> <<set _tmpcam to "bottom">> <<elseif $rng gte 21 and $genitalpic isnot 1>> <<set $genitalpic to 1>> The $audiencedesc $audiencecamera points <<ahis>> camera at your <<genitals>>. A light flashes as <<ahe>> takes a picture. <br> <<set _tmpcam to "front">> <<elseif $bodypic isnot 1>> <<set $bodypic to 1>> The $audiencedesc $audiencecamera leans back so <<ahis>> camera can take in the whole scene. A light flashes as <<ahe>> takes a picture. <br> <<set _tmpcam to "full">> <</if>> <<if $swarm.amount.genital[1] gt 0 and _tmpcam is "front">> <<set _tmppspot to "gi">> <<elseif $swarm.amount.genital[0] gt 0 and _tmpcam is "front">> <<set _tmppspot to "g">> <<elseif $swarm.amount.butt[1] gt 0 and _tmpcam is "bottom">> <<set _tmppspot to "bi">> <<elseif $swarm.amount.butt[0] gt 0 and _tmpcam is "bottom">> <<set _tmppspot to "b">> <<elseif $swarm.amount.genital[1] gt 0 or $swarm.amount.butt[1] gt 0>> <<set _tmppspot to "i">> <<else>> <<set _tmppspot to "o">> <</if>> <<if _audienceswarmcarry.drya[_tmppspot] is undefined>> <<set _audienceswarmcarry.drya[_tmppspot] to "t">> <<set _tmpmark to "!">> <<set _tmporgasm to "">> <<if $orgasmdown gte 1>> <<if $orgasmcount gt 3>> <<aHe>> is yelling again: "You're a real <<print either("slut", "dirty slut", "bitch", "whore", "worthless slut", "extreme pervert")>> cumming again from these <<print $swarm.type>> <<set _tmporgasm to "<span class=\"pink\"> cumming hard</span> ">> <<set _tmpmark to "?">> <<else>> Suddenly <<ahe>> yells at you: "You're such a <<print either("slut", "whore", "pervert")>> cumming from these <<print $swarm.type>> <<set _tmporgasm to "<span class=\"pink\"> cumming</span> ">> <</if>> <<else>> <<if _tmpcam is "none">> The $audiencedesc $audiencecamera exclaims "I love how <<else>> <<aHe>> says "I love how <</if>> <<if $swarm.amount.active[0] lte 4>> the squirming <<print $swarm.type>> are <<elseif $swarm.amount.active[0] lte 8>> the swarming <<print $swarm.type>> are <<else>> the milling mass of <<print $swarm.type>> are <</if>> <</if>> <<print _tmpsmoving>> <<if _tmppspot is "g">> over your <<genitals>><<print _tmpmark>>" <<elseif _tmppspot is "gi">> over your <<genitals>><<print _tmpmark>>" <<elseif _tmppspot is "b">> over your <<bottom>><<print _tmpmark>>" <<elseif _tmppspot is "bi">> <span class="red"> inside your <<bottom>></span><<print _tmpmark>>" <<elseif _tmppspot is "i">> <span class="red">inside your body<<print _tmpmark>></span>" <<set _tmpproof to "f">> <<else>> over you<<print _tmpmark>>" <<set _tmpproof to "f">> <</if>> <<if _tmpcam is "face">> proudly <<ahe>> looks at <<ahis>> phone: "I've got a nice closeup of <<pher>> face<<print _tmporgasm>><<if _tmpproof is "t">> to prove it."<<else>>."<</if>> <<elseif _tmpcam is "bottom">> proudly <<ahe>> displays <<ahis>> phone: "I've got a nice closeup of <<pher>> <<bottom>><<print _tmporgasm>><<if _tmpproof is "t">> to prove it!"<<else>>."<</if>> <<elseif _tmpcam is "front">> proudly <<ahe>> holds up <<ahis>> phone: "I've got a nice closeup of <<pher>> <<genitals>><<print _tmporgasm>><<if _tmpproof is "t">> to prove it!"<<else>>."<</if>> <<elseif _tmpcam is "full">> proudly <<ahe>> shows the pictures on <<ahis>> phone: "I've got the pictures of this slut to prove it." <<set _tmpproof to "f">> <</if>> <</if>> <</widget>> <<widget "aHe">> <<if $audiencecamera is "man">> He <<elseif $audiencecamera is "boy">> He <<elseif $audiencecamera is "woman">> She <<elseif $audiencecamera is "girl">> She <</if>> <</widget>><<widget "generateBEAST">> <!-- NEW Args are NPC#(1-6), Type, Gender--> <!-- Example: <<generateBEAST 1 dog m>> would generate NPC 1 as male dog --> <!-- Example: <<generateBEAST 2 wolf f>> would generate NPC 2 as female wolf --> <<set _n to _args[0]-1>> <!-- Checks if endevent was properly used after the last event --> <<checkEventNPC _n>> <<set _type to _args[1]>> <<set _gen to _args[2]>> <<set _beast_genitals to _args[3]>> <<set _beast_monster to _args[4]>> <!-- Check that Type is known --> <<if !$BeastList.includes(_type)>> <span class="red">ERROR: generateBEAST unknown type</span> <</if>> <!-- Set gender and pronoun, random if unspecified --> <<if _gen is "m" or _gen is "f">> <<set $NPCList[_n].gender to _gen>><<set $NPCList[_n].pronoun to _gen>> <<elseif !isNaN(_generate_partner) and $NPCList[_generate_partner].gender isnot undefined>> <!-- This determines if the couple is homo or not. The generated NPC's partner is, by default, the NPC directly before them in NPCList. The partner can be selected manually with an argument. --> <<set $NPCList[_n].gender to maleChance($NPCList[_generate_partner].pronoun) gte random(1, 100) ? "m" : "f">> <<set $NPCList[_n].pronoun to $NPCList[_n].gender>> <<unset _generate_partner>> <<else>> <<if random(1, 100) lte beastMaleChance()>> <<set $NPCList[_n].gender to "m">><<set $NPCList[_n].pronoun to "m">> <<else>> <<set $NPCList[_n].gender to "f">><<set $NPCList[_n].pronoun to "f">> <</if>> <</if>> <<set $NPCList[_n].adult to 1>> <<set $NPCList[_n].lefthand to "none">> <<set $NPCList[_n].righthand to "none">> <<set $NPCList[_n].mouth to 0>> <<set $NPCList[_n].stance to "approach">> <<set $NPCList[_n].chastity to {penis:"", vagina:"", anus:""}>> <<generatePronouns $NPCList[_n]>> <<set $NPCList[_n].location to { head: 0, genitals: 0, }>> <<if $NPCList[_n].pregnancy is undefined>> <<set $NPCList[_n].pregnancy to 0>> <</if>> <<set $NPCList[_n].pregnancyAvoidance to random(0,50)>> <<if $enemyno lt 6>><<set $enemyno += 1>><</if>> <<beastattribute _n _type>> <<run EventSystem.push($passage, _n, $timeStamp)>> <</widget>> <<widget "beastattribute">> <!-- NEW Set Beast attributes. $arg[0] calls NPC number to be generated, arg[1] sets beast type --> <<nounderwearcheck>> <<set _n to _args[0]>> <<set _type to _args[1]>> <!-- Set genitals active --> <<set _gen to $NPCList[_n].gender>> <<set $NPCList[_n].vagina to "none">> <<set $NPCList[_n].penis to "none">> <<if _beast_genitals is "penis">> <<set $NPCList[_n].penis to 0>> <<elseif _beast_genitals is "vagina">> <<set $NPCList[_n].vagina to 0>> <<elseif ["m", "f", "h"].includes(_gen)>> <<switch _gen>> <<case "m">> <<set $NPCList[_n].penis to 0>> <<case _gen "f">> <<set $NPCList[_n].vagina to 0>> <<case _gen "h">> <<set $NPCList[_n].penis to 0>> <<set $NPCList[_n].vagina to 0>> <</switch>> <</if>> <<npcClothesType $NPCList[_n] "naked">> <<set $NPCList[_n].chest to "none">> <<set $NPCList[_n].insecurity to "none">> <!-- Select Beast Description/Strength/Genital pairing --> <!-- v2.7 $BeastList is 0-7: "dog", "cat", "pig", "wolf", "dolphin", "lizard", "bear", "creature" --> <!-- v2.13 "horse" added to $BeastList --> <<set _h to [200,150,200,300,200,250,500,300,200,500,225,150,400,300,350]>> <!-- Health Max per type --> <<set _t to ["dog","cat","pig","wolf","dolphin","lizard","bear","boar","creature","horse","fox","hawk","cow","spider","snake"]>> <!-- Name of each type --> <<set _d to [["large"], ["large"], ["fat"], ["enormous", "girthy", "huge", "mighty", "hefty", "colossal", "humongous", "large"], ["bottlenose"], ["scaly"], ["brown"], ["hairy"], ["strange"], ["huge"], ["large"], ["fierce"], ["huge"], ["slimy"], ["scaly"] ]>> <!-- Descriptor of each type --> <<set _pd to ["knotted penis","spiked penis","penis","knotted penis","strange penis","penis","penis","penis","penis","equine cock","knotted penis","avian cock","bovine cock","arachnid penis","serpent penis"]>> <!-- Descriptor of Penises --> /% <<set _cla to [1,1,1,1,0,1,1,1]>> %/ <<set _ps to [2,2,2,3,2,2,3,3,2,5,2,2,4,2,2]>> <!-- Size of penises --> <<set _i to $BeastList.indexOf(_type)>> <<set $NPCList[_n].healthmax to _h[_i]>> <<set $NPCList[_n].health to $NPCList[_n].healthmax>> <<set $NPCList[_n].description to _d[_i].pluck()>> <<set $NPCList[_n].type to _t[_i]>> <!-- <<set $NPCList[_n].claws to _cla[_i]>> --> <<set $NPCList[_n].breastsize to 0>> <<set $NPCList[_n].breastsdesc to "nipples">> <<set $NPCList[_n].breastdesc to "nipple">> <<set $NPCList[_n].monster to 0>> <!-- Default to assuming not a monster --> <<set $NPCList[_n].claws to "claws">> <!-- Check for beast-type specific changes --> <<if $NPCList[_n].type is "horse">> <<set $NPCList[_n].hair to either("appaloosa","bay","black","brown","buckskin","chestnut","cremello","dun","grey","overo","palomino","piebald","roan","skewbald","spotted","tobiano")>> <<set $NPCList[_n].claws to "hooves">> <!-- Horses have hooves --> <<elseif $NPCList[_n].type is "cow">> <<if $NPCList[_n].gender is "m">> <<set $NPCList[_n].type to "bull">> <!-- male cows are called bulls (or bullboys for monsters) --> <</if>> <<set $NPCList[_n].claws to "hooves">> <!-- Cattle have hooves --> <<elseif $NPCList[_n].type is "dolphin">> <<set $NPCList[_n].claws to "flippers">> <!-- Dolphins have flippers --> <<elseif $NPCList[_n].type is "hawk">> <<set $NPCList[_n].claws to "talons">> <!-- Hawks have talons --> <<elseif $NPCList[_n].type is "pig" or $NPCList[_n].type is "boar">> <<set $NPCList[_n].claws to "hooves">> <!-- Pigs and boars have hooves --> <</if>> <!-- Monster generation code --> <<rng>> <!-- Set hallucination creatures to always be monsters. Shadow types could be .monster = "shadow" --> <<if $NPCList[_n].type is "creature" and !_tower_creature>> <<set $NPCList[_n].monster to "monster">> <<elseif _beast_monster isnot "beast" and ($monsterchance gte $rng and ($hallucinations gte 1 or $monsterhallucinations is "f")) or (_beast_monster is "monster") or ($bestialitydisable is "t" and $NPCList[0].monster is "monster")>> <<set $NPCList[_n].monster to "monster">> <<if ["dog","pig","wolf","dolphin","boar","fox","hawk","cow","snake"].includes($NPCList[_n].type)>> <!-- Remove claws from many monster types --> <<run delete $NPCList[_n].claws>> <!-- It can't have claws - using undefined to maintain back compat with previous saves mid-combat ($claws) --> <</if>> <<if $NPCList[_n].type is "horse">> <<set $NPCList[_n].type to "centaur">> <<elseif $NPCList[_n].type is "hawk">> <<set $NPCList[_n].type to "harpy">> <<elseif $NPCList[_n].gender is "f">> <<set $NPCList[_n].type to $NPCList[_n].type + "girl">> <<else>> <<set $NPCList[_n].type to $NPCList[_n].type + "boy">> <</if>> <</if>> <<if $NPCList[_n].monster is "monster">> <<set $NPCList[_n].lefthand to 0>> <<set $NPCList[_n].righthand to 0>> <!-- female monster people mammals have an accessible chest and might be able to lactate. --> <<if $NPCList[_n].pronoun is "f" and ["catgirl", "doggirl", "wolfgirl", "beargirl", "foxgirl", "cowgirl", "harpy"].includes($NPCList[_n].type)>> <<set $NPCList[_n].chest to 0>> <<if ["beargirl", "cowgirl"].includes($NPCList[_n].type)>> <!-- Bigger monsters = Bigger booba --> <<set $_breastMin to [0,0,0,0,2,2,2,2,2,5,5,5,5,5,5,5,8,8,9,10,12]>> <<set $_breastMax to [4,4,4,4,4,4,7,7,8,9,9,9,9,12,10,11,10,11,11,12,12]>> <<else>> <<set $_breastMin to [0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,5,5,8,3,10,12]>> <<set $_breastMax to [4,4,4,4,4,4,7,7,7,7,8,8,8,8,8,11,11,12,10,12,12]>> <</if>> <<set _brdes to ["nipple","budding","tiny","small","pert","modest","full","large","ample","massive","huge","gigantic","enormous"]>> <<set _brlvl to random(0,20)>> <!-- select a random index in the arrays --> <<if $breast_mod gte $_breastMin[_brlvl]>><<set $_breastMin[_brlvl] to $breast_mod>><</if>> <<if $breast_mod gte $_breastMax[_brlvl]>><<set $_breastMax[_brlvl] to $breast_mod>><</if>> <<if $breast_mod lt 0>> <<set $_breastMin[_brlvl] to Math.clamp($_breastMin[_brlvl]+$breast_mod, 0, 12)>> <<set $_breastMax[_brlvl] to Math.clamp($_breastMax[_brlvl]+$breast_mod, 0, 12)>> <</if>> <<set _rngbr to random($_breastMin[_brlvl], $_breastMax[_brlvl])>> <<set $NPCList[_n].breastsize to _rngbr>> <<switch _rngbr>> <<case 0>> <<set $NPCList[_n].breastsdesc to "nipples">> <<set $NPCList[_n].breastdesc to "nipple">> <<default>> <<set $NPCList[_n].breastsdesc to _brdes[_rngbr]+" breasts">> <<set $NPCList[_n].breastdesc to _brdes[_rngbr]+" breast">> <</switch>> <<if random(1, 100) gte 61 or $NPCList[_n].type is "cowgirl">> <<set $NPCList[_n].lactation to 1>> <<else>> <<set $NPCList[_n].lactation to 0>> <</if>> <</if>> <<if random(1, 100) lte $blackchance>> <<set $NPCList[_n].skincolour to "black">> <<else>> <<set $NPCList[_n].skincolour to "white">> <</if>> <</if>> <<set $NPCList[_n].fullDescription to $NPCList[_n].description + " ">> <<if $NPCList[_n].monster is 0>> <<if $NPCList[_n].type isnot "cow" and $NPCList[_n].type isnot "bull">> <<if $NPCList[_n].pronoun is "m">> <<set $NPCList[_n].fullDescription += "male ">> <<elseif $NPCList[_n].pronoun is "f">> <<set $NPCList[_n].fullDescription += "female ">> <</if>> <</if>> <</if>> <<set $NPCList[_n].fullDescription += $NPCList[_n].type>> <<if $NPCList[_n].type.includes("fox")>> <<generate_npc_skills>> <<generate_beast_traits>> <<if $NPCList[_n].traits.includes("cowardly")>> <<set $NPCList[_n].skills.security += 200>> <<set $NPCList[_n].skills.security to Math.clamp($NPCList[_n].skills.security, 1, 1000)>> <<elseif $NPCList[_n].traits.includes("territorial")>> <<set $NPCList[_n].healthmax += 125>> <<set $NPCList[_n].health += 125>> <<set $NPCList[_n].skills.security += 100>> <<set $NPCList[_n].skills.security to Math.clamp($NPCList[_n].skills.security, 1, 1000)>> <<elseif $NPCList[_n].traits.includes("clever")>> <<set $NPCList[_n].skills.security += 150>> <<set $NPCList[_n].skills.security to Math.clamp($NPCList[_n].skills.security, 1, 1000)>> <<set $NPCList[_n].skills.athletics += 100>> <<set $NPCList[_n].skills.athletics to Math.clamp($NPCList[_n].skills.athletics, 1, 1000)>> <<elseif $NPCList[_n].traits.includes("friendly")>> <<set $NPCList[_n].healthmax -= 75>> <<set $NPCList[_n].health -= 75>> <<elseif $NPCList[_n].traits.includes("clumsy")>> <<set $NPCList[_n].skills.security -= 200>> <<set $NPCList[_n].skills.security to Math.clamp($NPCList[_n].skills.security, 1, 1000)>> <<set $NPCList[_n].skills.athletics -= 200>> <<set $NPCList[_n].skills.athletics to Math.clamp($NPCList[_n].skills.athletics, 1, 1000)>> <</if>> <</if>> <!-- Gender-swap monsters if needed --> <<if $NPCList[_n].monster is "monster" and _beast_genitals is undefined>> <<set $NPCList[_n].penis to "none">> <<set $NPCList[_n].vagina to "none">> <<rng>> <<if $NPCList[_n].gender is "m">> <<if $rng lte $cbchance and $debugEnableHerms>> <<set $NPCList[_n].penis to 0>> <<set $NPCList[_n].vagina to 0>> <<elseif $rng lte $cbchance>> <<set $NPCList[_n].vagina to 0>> <<else>> <<set $NPCList[_n].penis to 0>> <</if>> <<elseif $NPCList[_n].gender is "f">> <<if $rng lte $dgchance and $debugEnableHerms>> <<set $NPCList[_n].vagina to 0>> <<set $NPCList[_n].penis to 0>> <<elseif $rng lte $dgchance>> <<set $NPCList[_n].penis to 0>> <<else>> <<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <</if>> <<if $NPCList[_n].penis isnot "none">> <<set $NPCList[_n].penisdesc to _pd[_i]>> <<set $NPCList[_n].penissize to _ps[_i]>> <<else>> <<set $NPCList[_n].penisdesc to "none">> <<set $NPCList[_n].penissize to 0>> <</if>> <</widget>> <!-- rng is rolled right after this widget runs, so it shouldn't need correction unless this widget is manually called somewhere outside of beast generation --> <<widget "generate_beast_traits">> <<set $NPCList[_n].traits to []>> <<if $location is "moor" and $moor>> <<rng 10>> <<if $moor gte 51>> <!-- High moor --> <<switch $rng>> <<case 1 2 3 4 5>><<set $NPCList[_n].traits.push("territorial")>> <<default>><<set $NPCList[_n].traits.push("clever")>> <</switch>> <<elseif $moor gte 21>> <!-- Mid moor --> <<switch $rng>> <<case 1 2>><<set $NPCList[_n].traits.push("cowardly")>> <<case 3 4>><<set $NPCList[_n].traits.push("territorial")>> <<case 5 6>><<set $NPCList[_n].traits.push("clever")>> <<case 7 8>><<set $NPCList[_n].traits.push("friendly")>> <<default>><<set $NPCList[_n].traits.push("clumsy")>> <</switch>> <<else>> <!-- Low moor --> <<switch $rng>> <<case 1 2 3>><<set $NPCList[_n].traits.push("cowardly")>> <<case 4>><<set $NPCList[_n].traits.push("territorial")>> <<case 5>><<set $NPCList[_n].traits.push("clever")>> <<case 6 7 8>><<set $NPCList[_n].traits.push("friendly")>> <<default>><<set $NPCList[_n].traits.push("clumsy")>> <</switch>> <</if>> <<else>> <<rng 5>> <<switch $rng>> <<case 1>><<set $NPCList[_n].traits.push("cowardly")>> <<case 2>><<set $NPCList[_n].traits.push("territorial")>> <<case 3>><<set $NPCList[_n].traits.push("clever")>> <<case 4>><<set $NPCList[_n].traits.push("friendly")>> <<case 5>><<set $NPCList[_n].traits.push("clumsy")>> <</switch>> <</if>> <</widget>> <!-- Dolphin generate calls --> <<widget "generatedolphin1">> <<generateBEAST 1 dolphin>> <</widget>> <<widget "generatedolphin2">> <<generateBEAST 2 dolphin>> <</widget>> <<widget "generatedolphin3">> <<generateBEAST 3 dolphin>> <</widget>> <<widget "generatedolphin4">> <<generateBEAST 4 dolphin>> <</widget>> <<widget "generatedolphin5">> <<generateBEAST 5 dolphin>> <</widget>> <<widget "generatedolphin6">> <<generateBEAST 6 dolphin>> <</widget>> <!-- Dog generate calls --> <<widget "generatedog1">> <<generateBEAST 1 dog>> <</widget>> <<widget "generatedog2">> <<generateBEAST 2 dog>> <</widget>> <<widget "generatedog3">> <<generateBEAST 3 dog>> <</widget>> <<widget "generatedog4">> <<generateBEAST 4 dog>> <</widget>> <<widget "generatedog5">> <<generateBEAST 5 dog>> <</widget>> <<widget "generatedog6">> <<generateBEAST 6 dog>> <</widget>> <!-- Wolf generate calls --> <<widget "generatewolf1">> <<generateBEAST 1 wolf>> <</widget>> <<widget "generatewolf2">> <<generateBEAST 2 wolf>> <</widget>> <<widget "generatewolf3">> <<generateBEAST 3 wolf>> <</widget>> <<widget "generatewolf4">> <<generateBEAST 4 wolf>> <</widget>> <<widget "generatewolf5">> <<generateBEAST 5 wolf>> <</widget>> <<widget "generatewolf6">> <<generateBEAST 6 wolf>> <</widget>> <!-- Cat generate calls --> <<widget "generatecat1">> <<generateBEAST 1 cat>> <</widget>> <<widget "generatecat2">> <<generateBEAST 2 cat>> <</widget>> <<widget "generatecat3">> <<generateBEAST 3 cat>> <</widget>> <<widget "generatecat4">> <<generateBEAST 4 cat>> <</widget>> <<widget "generatecat5">> <<generateBEAST 5 cat>> <</widget>> <<widget "generatecat6">> <<generateBEAST 6 cat>> <</widget>> <!-- Pig generate calls --> <<widget "generatepig1">> <<generateBEAST 1 pig>> <</widget>> <<widget "generatepig2">> <<generateBEAST 2 pig>> <</widget>> <<widget "generatepig3">> <<generateBEAST 3 pig>> <</widget>> <<widget "generatepig4">> <<generateBEAST 4 pig>> <</widget>> <<widget "generatepig5">> <<generateBEAST 5 pig>> <</widget>> <<widget "generatepig6">> <<generateBEAST 6 pig>> <</widget>> <!-- Boar generate calls --> <<widget "generateboar1">> <<generateBEAST 1 boar>> <</widget>> <<widget "generateboar2">> <<generateBEAST 2 boar>> <</widget>> <<widget "generateboar3">> <<generateBEAST 3 boar>> <</widget>> <<widget "generateboar4">> <<generateBEAST 4 boar>> <</widget>> <<widget "generateboar5">> <<generateBEAST 5 boar>> <</widget>> <<widget "generateboar6">> <<generateBEAST 6 boar>> <</widget>> <!-- Lizard generate calls --> <<widget "generatelizard1">> <<generateBEAST 1 lizard>> <</widget>> <<widget "generatelizard2">> <<generateBEAST 2 lizard>> <</widget>> <<widget "generatelizard3">> <<generateBEAST 3 lizard>> <</widget>> <<widget "generatelizard4">> <<generateBEAST 4 lizard>> <</widget>> <<widget "generatelizard5">> <<generateBEAST 5 lizard>> <</widget>> <<widget "generatelizard6">> <<generateBEAST 6 lizard>> <</widget>> <!-- Bear generate calls --> <<widget "generatebear1">> <<generateBEAST 1 bear>> <</widget>> <<widget "generatebear2">> <<generateBEAST 2 bear>> <</widget>> <<widget "generatebear3">> <<generateBEAST 3 bear>> <</widget>> <<widget "generatebear4">> <<generateBEAST 4 bear>> <</widget>> <<widget "generatebear5">> <<generateBEAST 5 bear>> <</widget>> <<widget "generatebear6">> <<generateBEAST 6 bear>> <</widget>> <!-- creature generate calls --> <<widget "generatecreature1">> <<generateBEAST 1 creature>> <</widget>> <<widget "generatecreature2">> <<generateBEAST 2 creature>> <</widget>> <<widget "generatecreature3">> <<generateBEAST 3 creature>> <</widget>> <<widget "generatecreature4">> <<generateBEAST 4 creature>> <</widget>> <<widget "generatecreature5">> <<generateBEAST 5 creature>> <</widget>> <<widget "generatecreature6">> <<generateBEAST 6 creature>> <</widget>> <!-- creature fox calls --> <<widget "generatefox1">> <<generateBEAST 1 fox>> <</widget>> <<widget "generatefox2">> <<generateBEAST 2 fox>> <</widget>> <<widget "generatefox3">> <<generateBEAST 3 fox>> <</widget>> <<widget "generatefox4">> <<generateBEAST 4 fox>> <</widget>> <<widget "generatefox5">> <<generateBEAST 5 fox>> <</widget>> <<widget "generatefox6">> <<generateBEAST 6 fox>> <</widget>> <!-- creature spider calls --> <<widget "generatespider1">> <<generateBEAST 1 spider>> <</widget>> <<widget "generatespider2">> <<generateBEAST 2 spider>> <</widget>> <<widget "generatespider3">> <<generateBEAST 3 spider>> <</widget>> <<widget "generatespider4">> <<generateBEAST 4 spider>> <</widget>> <<widget "generatespider5">> <<generateBEAST 5 spider>> <</widget>> <<widget "generatespider6">> <<generateBEAST 6 spider>> <</widget>> <!-- creature snake calls --> <<widget "generatesnake1">> <<generateBEAST 1 snake>> <</widget>> <<widget "generatesnake2">> <<generateBEAST 2 snake>> <</widget>> <<widget "generatesnake3">> <<generateBEAST 3 snake>> <</widget>> <<widget "generatesnake4">> <<generateBEAST 4 snake>> <</widget>> <<widget "generatesnake5">> <<generateBEAST 5 snake>> <</widget>> <<widget "generatesnake6">> <<generateBEAST 6 snake>> <</widget>><!-- DEV NOTES NG v2.7 Beast to NPC notes. The <<beast>> widget is analogous to <<man>> (which calls <<man-combat>>) widget, otherwise combat is identical. --> <!-- All beasts use $pronoun = "i". This will need to be commonised to m/f like other NPCs so will require cleanup. --> <!-- $semenpuddle is unique to beast combat, and only works in context of train combat. Effect is captured in this widget and could be expanded to man-combat --> <!-- $player.penisExist and $player.vaginaExist are PC variables, should really be converted to gender / pronoun checks for PC... fix later --> <!-- "Growling" should convert to widget to capture other beast types (squawking, yowling, roaring, etc.), as well as a "whimpering" Dom/Pain. "Jaws" "Claws" "Teeth"--> <!-- The "man" widget sets the gang combat dynamic (and handle gender surprise), then calls man-combat for each combatant. "beast" skips this step and sets up next combatant as part of attack calls during events. --> <!-- This could be reworked with "man" becoming "gang-combat" and new "train-combat" which can call either "man-combat" or "beast-combat" (renamed from "beast") with looping function put into "train-attack". Gender surprise can be worked into "train-attack" --> <!-- SKIPPED .claws (0, 1) replacing $claws. Claws are rarely removed (only for dolphins). This could be revisited depending on new beast types added --> <!-- This is no longer the case see beast-generation.twee --> <!-- TODO New widgets: growling, whimpering, jaws, claws, teeth --> <!-- TODO Create train-combat functionality for human NPCs --> <!-- Any instances of .location used are to prevent weirdness with monsterperson chest play.--> <<widget "beast">> <div @class="($debugLines ? 'debugLines-beast' : '')"> <<outfitChecks>> <<set _n to $active_enemy>> <<if $NPCList[_n].pronoun is "m">> <<set $pronoun to "m">> <<elseif $NPCList[_n].pronoun is "f">> <<set $pronoun to "f">> <<else>> <<set $pronoun to "i">> <</if>> <<if $hypnosis_deviancy_check is undefined>> <<set $hypnosis_deviancy_check to 1>> <<if $hypnosis_traits.deviancy gte random(1, 5) and $NPCList[_n].stance is "approach">> <<if $uncomfortable.hypnosis is false>> <<hypnosisicon>>A primal urge swells within you. <span class="purple">You drop to your knees, and give a provocative wiggle.</span><<hypnosisicon>> <span class="pink">The <<beasttype>> takes advantage of your display.</span> <<if $rng gte 71 and $position isnot "wall" and $NPCList[_n].location.head is 0>> <<set $NPCList[_n].stance to "topface">><<set $NPCList[_n].mouth to 0>> <<else>> <<set $NPCList[_n].stance to "top">><<set $head to "grappled">><<set $NPCList[_n].mouth to 0>> <</if>> <<elseif $willpower lt random(1, 1000)>> <<hypnosisicon>>A primal urge swells within you. <span class="purple">You drop to your knees, and give a provocative wiggle.</span><<hypnosisicon>> <span class="pink">The <<beasttype>> takes advantage of your display.</span> <<if $rng gte 71 and $position isnot "wall" and $NPCList[_n].location.head is 0>> <<set $NPCList[_n].stance to "topface">><<set $NPCList[_n].mouth to 0>> <<else>> <<set $NPCList[_n].stance to "top">><<set $head to "grappled">><<set $NPCList[_n].mouth to 0>> <</if>> <<else>> You feel a primal urge swell within you, <span class="teal">but you ignore the resulting impulse.</span><<gwillpower>><<willpower 2>> <</if>> <</if>> <</if>> <<if $NPCList[_n].stance is "top">> <<if $NPCList[_n].type is "horse" or $NPCList[_n].type is "centaur">> <<if $position is "wall">> The $NPCList[_n].type rears above your restrained body in a mating posture. <<else>> The $NPCList[_n].type rears above you in a mating posture. <</if>> <<else>> The $NPCList[_n].type has you pinned in a mating posture. <<if $semenpuddle gte 4>> <<if $water is 0>> The semen on the ground makes your knees slip with every thrust. <<else>> <</if>> <</if>> <</if>> <</if>> <<if $NPCList[_n].stance is "topface">> The $NPCList[_n].type has you pinned from the front. <<if $semenpuddle gte 4>> <<if $water is 0>> The semen on the ground makes you slip with every thrust. <<else>> <</if>> <</if>> <</if>> <<if $NPCList[_n].stance is "approach">> <<if $enemyanger gte 120>> <<if $NPCList[_n].type is "hawk">> The $NPCList[_n].type shrieks at you. <<else>> The $NPCList[_n].type bares <<bhis>> teeth at you. <</if>> <<elseif $enemyanger gte 80>> <<if $NPCList[_n].type is "hawk">> The $NPCList[_n].type beats <<bhis>> wings. <<else>> The $NPCList[_n].type bares <<bhis>> teeth at you. <</if>> <<elseif $enemyanger gte 40>> <<if $water is 1>> The $NPCList[_n].type swims around you in a circle. <<elseif $NPCList[_n].type is "hawk">> The $NPCList[_n].type hops back and forth. <<else>> The $NPCList[_n].type paces back and forth. <</if>> <<else>> <<if $water is 1>> The $NPCList[_n].type swims near you. <<else>> The $NPCList[_n].type bears down on you. <</if>> <</if>> <</if>> <<if $NPCList[_n].monster is "monster">> <!-- HAND SECTION --> <<hand_section>> /* End Hand Section */ <!-- CHEST START --> <<chest_section>> <</if>> <<if $NPCList[_n].mouth is "hair">> <<if $enemyanger + $rng lte 50>> <span class="blue"><<bHe>> releases your hair.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $mouthuse isnot "breasts">> <<bHe>> pulls on your hair, jerking your head back. <<violence 1>> <</if>> <</if>> <<beastclothing>> <<if $NPCList[_n].mouth is "neck">> <<if $enemyanger + $rng lte 100>> <span class="teal"><<bHe>> releases your neck from <<bhis>> <<beast_jaws_text>>.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $enemyanger + $rng lte 200>> <<bHe>> continues to hold you down by the neck. <<violence 3>><<bruise neck>><<hitstat>> <<else>> <<bHe>> tightens <<bhis>> <<beast_jaws_text>>. You can't breathe! <<violence 10>><<bruise neck>><<bruise neck>><<hitstat>> <</if>> <</if>> <<rng>> /*TODO: Adjust to correct for herm characters*/ <<if $NPCList[_n].penis is "thighs">> <<if $player.vaginaExist>> <<if $rng gte 101>> <span class="blue"><<bHe>> angles <<bhis>> $NPCList[_n].penisdesc towards your <<pussy>>.</span> <<set $thighuse to 0>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">><<set $thighactiondefault to "thighs">><<set $vaginatarget to _n>> <<else>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc between your thighs and <<pussy>>. <<sex 5 "genitals">> <</if>> <<else>> <<if $rng gte 101>> <<bHe>> moves <<bhis>> penis out from between your thighs. <<set $thighuse to 0>><<set $NPCList[_n].penis to 0>><<set $thighactiondefault to "thighs">> <<else>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc between your thighs. <<sex 5 "anus">> <</if>> <</if>> <</if>> <<if $NPCList[_n].penis is "vagina">> <<set _pain to $vaginalPain>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> fucks your <<pussy>> with a violent intensity. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> continues fucking your <<pussy>>. Each thrust feels deeper than the last. <<else>> Wanting to prove dominance <<bhe>> pounds your <<pussy>> with deep and deliberate thrusts. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> You feel <<bhis>> $NPCList[_n].penisdesc throb as <<bhe>> pounds away at your <<pussy>>. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> violates your <<pussy>> with increasing eagerness. <<else>> <<bHe>> fucks your <<pussy>> with deep and deliberate thrusts. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> fucks your <<pussy>>, eager to fill you with seed. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> pounds your <<pussy>> without relenting. <<else>> <<bHe>> continues thrusting into your <<pussy>>. <</if>> <</if>> <<sex 30 "genitals">><<bruise vagina>><<violence 2>><<pain _pain>> <</if>> <<rng>> <<if $NPCList[_n].penis is "vaginaimminent" and !playerChastity("vagina")>> <<set _pain to $vaginalPain>> <<if $player.virginity.vaginal isnot true>> <<if $NPCList[_n].penissize gte 5>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> The sheer size drives thought from your mind. <<sex 30 "genitals">><<set _pain *= 3>><<pain _pain>> <<elseif $NPCList[_n].penissize gte 4>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <<sex 30 "genitals">><<set _pain *= 2>><<pain _pain>> <<else>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <<sex 30 "genitals">><<pain _pain>> <</if>> <<sex 30 "genitals">><<takeVirginity $NPCList[_n].fullDescription "vaginal">><<violence 2>> <<elseif $player.virginity.vaginal is true>> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <<switch $NPCList[_n].penissize>> <<case 5>> <span class="red"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your virgin pussy,</span><span class="red"> obliterating your hymen and forever robbing you of your purity. You'd scream, but the sheer size seizes your breath and thought.</span> <<violence 200>><<set _pain *= 3>><<pain _pain>> <<case 4>> <span class="red"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your virgin pussy,</span><span class="red"> obliterating your hymen and forever robbing you of your purity. You scream out as your <<pussy>> struggles to accommodate <<bhis>> cock.</span> <<violence 200>><<set _pain *= 2>><<pain _pain>> <<case 1>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your virgin pussy,</span><span class="red"> breaking your hymen and forever robbing you of your purity.</span><span class="green"> While technically no longer a virgin, you can barely feel it.</span> <<violence 25 4 4>> <<default>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your virgin pussy,</span><span class="red"> breaking your hymen and forever robbing you of your purity.</span> <<violence 100>><<pain _pain>> <</switch>> <</if>> <<sex 100 "genitals">><<takeVirginity $NPCList[_n].fullDescription "vaginal">> <</if>> <<vaginalstat>><<set $NPCList[_n].penis to "vagina">><<bruise vagina>><<takeNPCVirginity _n "penile">><<bruise vagina>><<raped>><<vaginaraped>><<set $vaginastate to "penetrated">> <</if>> <<rng>> <!-- DEBUG syntax issue with this IF statement set v2.7 (???) NG --> <<if $NPCList[_n].penis is "vaginaentrance">> <<if $worn.over_lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.over_lower.name. <<sex 5 "genitals">><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.lower.name. <<sex 5 "genitals">><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 1 and playerChastity("vagina")>> <<if $NPCList[_n].penissize gte 5>> <<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc against your $worn.genitals.name, desperate to <<if $pregnancyspeechdisable is "f">>breed<<else>>fuck<</if>> the <<pussy>> beneath. <<bHe>> <<beast_growls_text>> in pain, but <span class="pink">the device feels looser after each push.</span> <<sex 10 "genitals">><<set $worn.genitals.integrity -= 240>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>> <<else>> <<bHe>> thrusts against your $worn.genitals.name, desperate to <<if $pregnancyspeechdisable is "f">>breed<<else>>fuck<</if>> the <<pussy>> beneath. <<bHe>> hurts <<bhimself>> against the hard material and withdraws, <<beast_growling_text>>. <<set $NPCList[_n].penis to 0>><<set $vaginause to 0>><<set $vaginastate to 0>><<sex 20 "genitals">><<set $worn.genitals.integrity -= 40>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>> <</if>> <<elseif $worn.under_lower.vagina_exposed is 0>> <<if $NPCList[_n].penissize gte 5>> <<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.under_lower.name, <span class="purple">tearing the fabric.</span> <<sex 10 "genitals">><<set $worn.under_lower.integrity -= 40>> <<else>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.under_lower.name. <<sex 5 "genitals">><<set $worn.under_lower.integrity -= 10>> <</if>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $vaginaWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(1, 2) is 2>> <<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your <<pussy>>. <<vagina_lube_text>> <span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<sex 20 "genitals">><<set $NPCList[_n].penis to "vaginaimminent">><<set $vaginastate to "imminent">> <<else>> <<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your <<pussy>>, <span class="blue">but fails to penetrate,</span> instead angling away and rubbing against your <<if $player.penisExist>><<penis>><<else>>clit<</if>>. <<sex 5 "genitals">> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3>> Precum leaks from the tip, <span class="blue">lubricating your pussy.</span> <<bodyliquid "vaginaoutside" "semen">> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "cheeks">> <<if $rng gte 101>> <span class="blue"><<bHe>> angles <<bhis>> $NPCList[_n].penisdesc toward your anus.</span> <<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $bottomuse to 0>><<set $cheekactiondefault to "cheeks">><<set $anustarget to _n>> <<else>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc between your cheeks. <<submission 3>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "leftarm">> <<if $rng lte 101>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your hand. <<submission 1>> <<else>> <span class="purple"><<bHe>> moves <<bhis>> $NPCList[_n].penisdesc away from your hand.</span> <<set $NPCList[_n].penis to 0>><<set $leftarm to 0>><<set $leftcarry to "leftgrab">><<set $leftactiondefault to "leftgrab">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "rightarm">> <<if $rng lte 101>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your hand. <<submission 1>> <<else>> <span class="purple"><<bHe>> moves <<bhis>> $NPCList[_n].penisdesc away from your hand.</span> <<set $NPCList[_n].penis to 0>><<set $rightarm to 0>><<set $rightcarry to "rightgrab">><<set $rightactiondefault to "rightgrab">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "botharm">> <<if $rng lte 101>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your hands. <<submission 2>> <<else>> <span class="purple"><<bHe>> moves <<bhis>> penis away from your hands.</span> <<set $NPCList[_n].penis to 0>><<set $leftarm to 0>><<set $rightarm to 0>><<set $leftcarry to "leftgrab">><<set $rightcarry to "rightgrab">><<set $leftactiondefault to "leftgrab">><<set $rightactiondefault to "rightgrab">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "feet">> <<if $rng lte 101>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your feet. <<submission 1>> <<else>> <span class="purple"><<bHe>> moves <<bhis>> penis away from your feet.</span> <<set $NPCList[_n].penis to 0>><<set $feetuse to 0>><<set $feetactiondefault to "feetgrab">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anus">> <<set _pain to $analPain>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> fucks your <<bottom>> with a violent intensity. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> continues fucking your <<bottom>>. Each thrust feels deeper than the last. <<else>> Wanting to prove dominance <<bhe>> pounds your <<bottom>> with deep and deliberate thrusts. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> You feel <<bhis>> $NPCList[_n].penisdesc throb as <<bhe>> pounds away at your <<bottom>>. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> violates your <<bottom>> with increasing eagerness. <<else>> <<bHe>> fucks your <<bottom>> with deep and deliberate thrusts. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> fucks your <<bottom>>, eager to fill you with seed. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> pounds your <<bottom>> and shows no sign of relenting. <<else>> <<bHe>> continues thrusting into your <<bottom>>. <</if>> <</if>> <<sex 30 "anus">><<bruise anus>><<violence 1>><<pain _pain>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anusimminent" and !playerChastity("anus")>> <<set _pain to $analPain>> <<if $player.virginity.anal isnot true>> <<if $NPCList[_n].penissize gte 5>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<bottom>>.</span> The sheer size pushes all thought from your mind. <<set _pain *= 3>><<pain _pain>> <<elseif $NPCList[_n].penissize gte 4>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<bottom>>.</span> It's almost too big to handle. <<set _pain *= 2>><<pain _pain>> <<else>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<bottom>>.</span> <<pain _pain>> <</if>> <<sex 30 "anus">><<violence 1 1 1 0>> <<elseif $player.virginity.anal is true>> <<switch $NPCList[_n].penissize>> <<case 5>> <span class="pink"><<bHe>> forces <<bhis>> $NPCList[_n].penisdesc deep into your <<bottom>>,</span><span class="red"> violating you in a way you hadn't conceived of. You'd scream, but the sheer size sends your body into momentary shock.</span> <<violence 200>><<set _pain *= 3>><<pain _pain>> <<case 4>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<bottom>>,</span><span class="red"> violating you in a way you hadn't conceived of. You scream out as your <<bottom>> struggles to accommodate <<bhis>> cock.</span> <<violence 200>><<set _pain *= 2>><<pain _pain>> <<case 1>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<bottom>>,</span><span class="red"> violating you in a way you hadn't conceived of.</span><span class="green"> While technically no longer a virgin, you can barely feel it.</span> <<violence 25 8 8>> <<default>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc deep into your <<bottom>>,</span><span class="red"> violating you in a way you hadn't conceived of.</span> <<violence 200>><<pain _pain>> <</switch>> <<sex 100 "anus">><<takeVirginity $NPCList[_n].fullDescription "anal">> <</if>> <<analstat>><<set $NPCList[_n].penis to "anus">><<bruise anus>><<takeNPCVirginity _n "penile">><<raped>><<anusraped>><<set $anusstate to "penetrated">> <</if>> <<rng>> <<if $NPCList[_n].penis is "anusentrance">> <<if $worn.over_lower.anus_exposed is 0>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.over_lower.name. <<sex 5 "anus">><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.anus_exposed is 0>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.lower.name. <<sex 5 "anus">><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.anus_exposed is 1>> <<rng>> <<if $worn.under_lower.anus_exposed is 1 and playerChastity("anus")>> <<if $NPCList[_n].penissize gte 5>> <<bHe>> thrusts against your $worn.genitals.name, desperate to violate the <<bottom>> beneath. <<bHe>> <<beast_growls_text>> in pain, <span class="purple">but each thrust leaves the device a little looser.</span> <<sex 10 "anus">><<set $worn.genitals.integrity -= 240>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>> <<else>> <<bHe>> thrusts against your $worn.genitals.name, desperate to violate the <<bottom>> beneath. <<bHe>> hurts <<bhimself>> against the hard material and withdraws, <<beast_growling_text>>. <<set $NPCList[_n].penis to 0>><<set $anususe to 0>><<set $anusstate to 0>><<sex 20 "anus">><<set $worn.genitals.integrity -= 40>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>> <</if>> <<elseif $worn.under_lower.anus_exposed is 0>> <<if $NPCList[_n].penissize gte 6>> <<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.under_lower.name, <span class="purple">tearing the fabric.</span> <<sex 10 "anus">><<set $worn.under_lower.integrity -= 40>> <<else>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.under_lower.name. <<sex 5 "anus">><<set $worn.under_lower.integrity -= 10>> <</if>> <<elseif playerHasButtPlug() and $worn.under_lower.anus_exposed is 1>> <<bHe>> thrusts against your $worn.butt_plug.name, desperate to violate your <<bottom>>. <<bHe>> withdraws, <<beast_growling_text>>. <<set $NPCList[_n].penis to 0>><<set $anususe to 0>><<set $anusstate to 0>><<sex 20 "anus">><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>> <<elseif $worn.under_lower.anus_exposed is 1>> <<if $anusWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(1, 2) is 2>> <<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your <<bottom>>. <<anus_lube_text>> <span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<sex 20 "anus">><<set $NPCList[_n].penis to "anusimminent">><<set $anusstate to "imminent">> <<else>> <<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your <<bottom>>, <span class="blue">but fails to penetrate,</span> instead angling away and rubbing between your cheeks. <<sex 5 "anus">> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "mouth">> <<if $enemyanger gte random(1, 100)>> <<if currentSkillValue("oralskill") gte random(1, 1200)>> <<bHe>> shoves <<bhis>> $NPCList[_n].penisdesc down your throat, <span class="blue">but you manage to gasp between <<bhis>> thrusts.</span> <<else>> <span class="pink">You gag as <<bhe>> thrusts <<bhis>> $NPCList[_n].penisdesc down your throat.</span> <<oxygen -150>> <<if $oxygen gte 900>> <span class="blue">You struggle for breath.</span> <<elseif $oxygen gte 600>> <span class="purple">You can't breathe!</span> <<violence 10>> <<elseif $oxygen gte 300>> <span class="pink">You feel light-headed.</span> <<violence 20>> <<elseif $oxygen gte 1>> <span class="pink">You see stars.</span> <<violence 40>> <<else>> <span class="red">You are suffocating.</span> <<violence 100>> <</if>> <</if>> <<submission 10>><<bruise face>><<bruise neck>><<violence 1>><<set $speechmouthpenetrated to 1>> <<elseif $rng gte 81 and $NPCList[_n].stance isnot "topface">> <span class="purple"><<bHe>> withdraws <<bhis>> penis from your mouth.</span> <<sex 30 "mouth">><<set $NPCList[_n].penis to "mouthimminent">><<bruise face>><<violence 1>><<set $mouthstate to "imminent">> <<elseif $rng gte 1>> <<bHe>> continues thrusting into your wet mouth. <<submission 10>><<bruise face>><<violence 1>> <<if $NPCList[_n].penissize gte 4>> <<switch random(1, 4)>> <<case 1>> It's a struggle not to gag as the $NPCList[_n].penisdesc fills you. <<case 2>> <span class="pink"> Saliva drools down your chin as you struggle to keep your lips wrapped around <<bhis>> $NPCList[_n].penisdesc.</span> <<set $hygiene += 500>><<bodyliquid "face" "goo">> <<default>> <</switch>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "mouthimminent">> <<if $rng gte 81 and $NPCList[_n].stance isnot "topface">> <span class="blue"><<bHe>> stops pressing <<bhis>> penis into your mouth.</span> <<set $NPCList[_n].penis to "mouthentrance">><<submission 5>><<set $mouthstate to "entrance">> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<switch random(0,2)>> <<case 0 1>> <<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your $worn.face.name. <<damageFaceCover 2>> <<case 2>> <span class="lblue"><<bHe>> moves <<bhis>> penis away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <</switch>> <<elseif $rng lte 20>> <<if $player.virginity.oral isnot true>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc into your mouth.</span> <<submission 10>> <<elseif $player.virginity.oral is true>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc into your mouth.</span><span class="red"> It tastes strange.</span> <<submission 30>><<takeVirginity $NPCList[_n].fullDescription "oral">> <</if>> <<oralstat>><<set $NPCList[_n].penis to "mouth">><<bruise face>><<violence 1>><<raped>><<set $mouthstate to "penetrated">> <<elseif $rng gte 21>> <<if $mouthsubmit is 1>> <<bHe>> allows you to pleasure <<bhis>> $NPCList[_n].penisdesc with your mouth. <<submission 5>> <<else>> <<if $player.virginity.oral isnot true>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc into your mouth.</span> <<submission 10>> <<elseif $player.virginity.oral is true>> <span class="pink"><<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc into your mouth.</span><span class="red"> It tastes strange.</span> <<submission 30>><<takeVirginity $NPCList[_n].fullDescription "oral">> <</if>> <<oralstat>><<set $NPCList[_n].penis to "mouth">><<bruise face>><<violence 1>><<raped>><<set $mouthstate to "penetrated">> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "mouthentrance">> <<if $pullaway is 1 and $rng gte 51>> <<bHis>> $NPCList[_n].penisdesc hovers only inches from your face. <<elseif $rng gte 81 and $NPCList[_n].stance isnot "topface">> <span class="lblue"><<bHe>> moves <<bhis>> penis away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<switch random(0,2)>> <<case 0 1>> <<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your $worn.face.name. <<damageFaceCover 2>> <<case 2>> <span class="lblue"><<bHe>> moves <<bhis>> penis away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <</switch>> <<elseif $rng gte 1>> <span class="purple"><<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your lips.</span> <<set $NPCList[_n].penis to "mouthimminent">><<submission 5>><<set $mouthstate to "imminent">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otherfrot">> <<if $rng gte 101>> <span class="blue"><<bHe>> shifts <<bhis>> ass and presses <<bhis>> anus against your <<penis>>.</span> <<set $penisuse to "otheranus">><<set $NPCList[_n].penis to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<else>> <<bHe>> <<beast_growls_text>> and rubs <<bhis>> ass against your <<penis>>. <<sex 5 "genitals">><<set $enemyanger += 5>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otheranus">> <<if $rng gte 101>> <span class="purple"><<bHe>> moves <<bhis>> pelvis away, releasing your <<penis>> from <<bhis>> anus.</span> <<sex 30 "genitals">><<set $NPCList[_n].penis to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<elseif $rng gte 1>> <<if $enemyanger gte 100>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> <<beast_growls_text>> and fucks your <<penis>> with <<bhis>> ass, <<bhis>> movements violent and erratic. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> <<beast_growls_text>> as <<bhe>> pushes back against your <<penisSimple>>. <<else>> <<bHe>> <<beast_growls_text>> and fucks your <<penis>> with rough movements. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> You feel <<bhis>> ass twitch around your length as <<bhe>> pushes back. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> continues to push against your <<penis>>. <<else>> <<bHe>> fucks your <<penis>>, taking as much of you into <<bhis>> ass as <<bhe>> can. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> continues pushing against your <<penis>>, <<bhis>> anus viciously pounding your length. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> continues pushing against your <<penis>>, <<bhis>> anus rhythmically pounding your length. <<else>> <<bHe>> pushes against your <<penis>> with steady movements. <</if>> <</if>> <<sex 30 "genitals">><<set $speechotheranuspenetrated to 1>><<set $enemyanger += 10>> <<if playerHasStrapon()>><<violence 2 1 1 0>> <<else>><<bruise penis>><<violence 2>><</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otheranusimminent">> <<if $rng gte 101>> <span class="blue"><<bHe>> stops pressing <<bhis>> ass against your <<penis>>.</span> <<set $NPCList[_n].penis to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<elseif $rng gte 1>> <<if $nopenile is 0>><<set $penisactiondefault to "otheranustake">> <<if (playerPenisSize() is -1 and $arousal lte ($arousalmax / 10) * 9) or (playerPenisSize() is -2 and $arousal lte ($arousalmax / 20) * 19)>> <<bHe>> presses <<bhis>> ass against your <<penis>>, trying to force an erection. <<set $enemyanger += 5>><<arousal 300 "genitals">><<set $speechotheranuswithhold to 1>> <<else>> <<if playerHasStrapon() or $player.virginity.penile isnot true>> <span class="pink"><<bHe>> eases your <<penis>> into <<bhis>> ass, swallowing you to the base.</span> <<sex 30 "genitals">><<set $speechotheranuspenetrated to 1>> <<if playerHasStrapon()>><<violence 2 1 1 0>> <<else>><<bruise penis>><<violence 2>><<raped>><<penisraped>><<takeTempleVirginity $NPCList[_n].fullDescription "penile">><</if>> <<elseif $player.virginity.penile is true>> <span class="pink"><<bHe>> eases your virgin penis into <<bhis>> ass,</span><span class="red"> separating your foreskin from your glans and forever robbing you of your purity.</span> <<sex 100 "genitals">><<takeVirginity $NPCList[_n].fullDescription "penile">><<bruise penis>><<violence 100>><<raped>><<penisraped>><<set $speechpenisvirgin to 1>> <</if>> <<penilestat>><<takeNPCVirginity _n "anal">><<set $NPCList[_n].penis to "otheranus">><<set $penisstate to "otheranus">> <</if>> <<else>> Respecting your wishes, <<bhe>> does not envelop your <<penis>> with <<bhis>> ass, instead teasing the tip of your glans. <<sex 15 "genitals">><<set $speechotheranuswithhold to 1>><<set $enemyanger += 10>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otheranusentrance">> <<if $rng gte 101>> <span class="lblue"><<bHe>> moves <<bhis>> ass away from your <<penis>>.</span> <<set $NPCList[_n].penis to 0>><<set $penisuse to 0>><<set $penisstate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> ass against your <<penis>> through your $worn.over_lower.name. <<sex 5 "genitals">><<set $worn.over_lower.integrity -= 10>><<set $speechotheranusentrance to 1>><<set $enemyanger += 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> ass against your <<penis>> through your $worn.lower.name. <<sex 5 "genitals">><<set $worn.lower.integrity -= 10>><<set $speechotheranusentrance to 1>><<set $enemyanger += 10>> <<elseif $worn.lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> ass against your <<penis>> through your $worn.under_lower.name. <<sex 5 "genitals">><<set $worn.under_lower.integrity -= 10>><<set $speechotheranusentrance to 1>><<set $enemyanger += 10>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 51>> <<if $worn.genitals.name is "chastity parasite">> <<bHe>> rubs <<bhis>> ass against your $worn.genitals.name, <span class="lewd">leaving you feeling more aroused.</span> <<arousal 100 "genitals">> <<sex 25 "genitals">><<set $worn.genitals.integrity -= 10>><<set $enemyanger += 5>> <<elseif $nopenile is 0 and playerChastity("penis")>> <<bHe>> rubs <<bhis>> ass against your <<penis>> through your $worn.genitals.name trying to force <<bhis>> way through. <<sex 20 "genitals">><<set $worn.genitals.integrity -= 40>><<set $enemyanger += 10>> <<elseif $nopenile is 1>> <span class="purple"><<bHe>> presses <<bhis>> ass against your <<penis>>.</span> <<sex 20 "genitals">><<set $NPCList[_n].penis to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<else>> <<if $penisWetness gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2>> <<bHe>> presses <<bhis>> ass against your <<penis>>. <<penis_lube_text>> <span class="pink">your tip is pushed inside, a thrust away from being enveloped.</span> <<sex 20 "genitals">><<set $NPCList[_n].penis to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<else>> <<bHe>> presses <<bhis>> ass against your <<penis>>, <span class="blue">but fails to gain purchase.</span> <<sex 5 "genitals">> <</if>> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("penis")>> <<bHe>> <<beast_growls_text>> and rubs against your <<penis>>. <<sex 10 "genitals">><<set $enemyanger += 10>> <<else>> <<bHe>> <<beast_growls_text>> and rubs against your $worn.genitals.name<<if $worn.genitals.name is "chastity parasite">>, <span class="lewd">making you feel more aroused.</span><<arousal 100 "genitals">><<else>>.<</if>> <<sex 10 "genitals">><<set $enemyanger += 10>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "penisentrance">> <<if $rng gte 51 and playerChastity("penis")>> <<He>> caresses <<his>> penis against your $worn.genitals.name. <<sex 10 "genitals">><<set $NPCList[_n].penis to "penisimminent">><<set $penisstate to "otherpenisimminent">> <<elseif $rng gte 51>> <span class="purple"><<bHe>> caresses your <<penis>> with <<bhis>> own, hinting at what's to come.</span> <<sex 10 "genitals">><<set $NPCList[_n].penis to "penisimminent">><<set $penisstate to "otherpenisimminent">> <<else>> <<if playerChastity("penis")>> <<He>> hovers <<his>> $NPCList[_n].penisdesc closer to your $worn.genitals.name. <<else>> <<bHe>> hovers <<bhis>> $NPCList[_n].penisdesc close to your <<penis>>. <</if>> <<sex 5 "genitals">> <</if>> <<elseif $NPCList[_n].penis is "penisimminent">> <<bHe>> thrusts forward, <span class="pink"> <<if $enemyarousal gte (($enemyarousalmax / 10) * 7)>> savagely fencing <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> smashing <<else>> pressing <</if>> <<if playerChastity("penis")>> <<bhis>> $NPCList[_n].penisdesc against your $worn.genitals.name. <<set $worn.genitals.integrity -= 10>><<set $speechchastity to 1>> <<elseif random(0,1) is 1>> <<bhis>> $NPCList[_n].penisdesc against yours. <<else>> <<bhis>> $NPCList[_n].penisdesc against your <<penis>>. <</if>> </span> <<sex 10 "genitals">><<set $NPCList[_n].penis to "penis">><<set $penisstate to "otherpenis">> <<elseif $NPCList[_n].penis is "penis">> <<if $rng gte 1>> <<if playerChastity("penis")>> <<if $enemyarousal gte $enemyarousalmax * 0.8>> <<bHe>> slams <<bhis>> $NPCList[_n].penisdesc against your $worn.genitals.name with a bestial fervour as <<bhe>> approaches orgasm. <<elseif $enemyarousal gte $enemyarousalmax * 0.6>> <<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc against your $worn.genitals.name with increasing fervour. <<elseif $enemyarousal gte $enemyarousalmax * 0.4>> <<bHe>> savagely fences your $worn.genitals.name and <<his>> $NPCList[_n].penisdesc together. <<else>> <<bHe>> kneads your $worn.genitals.name and <<his>> $NPCList[_n].penisdesc together. <</if>> <<if $enemyarousal gte $enemyarousalmax * 0.6 and $worn.genitals.name is "chastity parasite">> <span class="purple"><<His>> precum coats your $worn.genitals.name,</span> <span class="lewd">the parasite sending a wave of pleasure through your <<penis>>.</span> <<arousal 400 "genitals">><<if !$earSlime.defyCooldown and $earSlime.vibration lt 120>><<set $earSlime.vibration += 10>><</if>> <<set $worn.genitals.integrity -= 5>> <<elseif $enemyarousal gte $enemyarousalmax * 0.6>> <span class="purple">Your precum mingles.</span><<purity -1>> <<set $worn.genitals.integrity -= 10>> <</if>> <<if $worn.genitals.name is "chastity parasite">><<arousal 100 "genitals">><</if>> <<set $worn.genitals.integrity -= 5>><<set $speechchastity to 1>> <<elseif $enemyarousal gte $enemyarousalmax * 0.8>> <<bHe>> slams <<bhis>> penis against yours with a bestial fervour as <<bhe>> approaches orgasm. <<if $penisWetness gte 45 and !playerHasStrapon()>> <span class="purple">Your precum mingles.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.6>> <<bHe>> thrusts <<bhis>> penis against yours with increasing fervour. <<if $penisWetness gte 45 and !playerHasStrapon()>> <span class="purple">Your precum mingles.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.4>> <<bHe>> savagely fences your <<penises>> together. <<elseif $enemyarousal gte $enemyarousalmax * 0.2>> <<bHe>> thrusts <<bhis>> penis against your <<penis>>. <<else>> <<bHe>> kneads your <<penises>> together. <</if>> <<sex 20 "genitals">><<set $speechpenispenis to 1>> <<else>> <span class="lblue"><<bHe>> moves <<bhis>> penis away from yours.</span> <<set $penisuse to 0>><<set $NPCList[_n].penis to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "frot">> <<if $player.penisExist>> <<if $rng gte 101>> <span class="blue"><<bHe>> angles <<bhis>> pussy toward your <<penis>>.</span> <<set $NPCList[_n].vagina to "vaginaentrance">><<set $penisuse to "othervagina">><<set $penisstate to "entrance">><<set $penisactiondefault to "bay">> <<else>> <<bHe>> frots <<bhis>> pussy against your <<penis>>. <<sex 5 "genitals">> <</if>> <<else>> <<if $rng gte 101>> <<bHe>> lift <<bhis>> pussy away from your <<penis>>. <<set $thighuse to 0>><<set $NPCList[_n].penis to 0>><<set $penisactiondefault to "bay">> <<else>> <<bHe>> frots <<bhis>> pussy against your <<penis>>. <<sex 5 "genitals">> <</if>> <</if>> <</if>> <<if $NPCList[_n].vagina is "penis">> <<if $enemyanger gte 100>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> fucks your <<penis>> with a violent intensity. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> continues fucking your <<penis>>. Each thrust feels deeper than the last. <<else>> Wanting to prove dominance <<bhe>> pounds your <<penis>> with deep and deliberate thrusts. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> You feel <<bhis>> pussy throb as <<bhe>> pounds away at your <<penis>>. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> violates your <<penis>> with increasing eagerness. <<else>> <<bHe>> fucks your <<penis>> with deep and deliberate thrusts. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> fucks your <<penis>>, eager for your seed. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> pounds your <<penis>> without relenting. <<else>> <<bHis>> pussy continues swallowing your <<penis>>. <</if>> <</if>> <<sex 30 "genitals">> <<if playerHasStrapon()>><<violence 2 1 1 0>> <<else>><<bruise penis>><<violence 2>><</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "penisimminent">> <<if (playerPenisSize() is -1 and $arousal lte ($arousalmax / 10) * 9) or (playerPenisSize() is -2 and $arousal lte ($arousalmax / 20) * 19)>> <<bHe>> presses <<bhis>> pussy against your <<penis>>, trying to force an erection. <<set $enemyanger += 5>><<arousal 300 "genitals">><<set $speechpeniswithhold to 1>> <<else>> <<if playerHasStrapon() or $player.virginity.penile isnot true>> <span class="pink"><<bHe>> takes your <<penis>> deep into <<bhis>> <<pussy>>.</span> <<sex 30 "genitals">> <<if playerHasStrapon()>><<violence 2 1 1 0>> <<else>><<bruise penis>><<violence 2>><<raped>><<penisraped>><<takeTempleVirginity $NPCList[_n].fullDescription "penile">><</if>> <<elseif $player.virginity.penile is true>> <span class="pink"><<bHe>> takes your <<penis>> deep into <<bhis>> pussy,</span><span class="red"> separating your foreskin from your glans and forever robbing you of your purity.</span> <<sex 100 "genitals">><<takeVirginity $NPCList[_n].fullDescription "penile">><<bruise penis>><<violence 100>><<raped>><<penisraped>> <</if>> <<penilestat>><<set $NPCList[_n].vagina to "penis">><<takeNPCVirginity _n "vaginal">><<set $penisstate to "penetrated">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "penisentrance">> <<if $worn.over_lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> pussy against your <<penis>> through your $worn.over_lower.name. <<sex 5 "genitals">><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> pussy against your <<penis>> through your $worn.lower.name. <<sex 5 "genitals">><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 1 and playerChastity("penis")>> <<bHe>> thrusts against your $worn.genitals.name, desperate to <<if $pregnancyspeechdisable is "f">>breed<<else>>fuck<</if>> with the <<penis>> beneath. <<bHe>> hurts <<bhimself>> against the hard material and withdraws, <<beast_growling_text>>. <<set $NPCList[_n].vagina to 0>><<set $penisuse to 0>><<set $penisstate to 0>><<sex 20 "genitals">><<set $worn.genitals.integrity -= 10>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>> <<elseif $worn.under_lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> pussy against your <<penis>> through your $worn.under_lower.name. <<sex 5 "genitals">><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 51>> <<if $penisWetness gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2>> <<bHe>> pushes <<bhis>> pussy against your <<penis>>. <<penis_lube_text>> <span class="pink">your tip is pushed inside, a thrust away being enveloped.</span> <<sex 20 "genitals">><<set $NPCList[_n].vagina to "penisimminent">><<set $penisstate to "imminent">> <<else>> <<bHe>> pushes <<bhis>> pussy against your <<penis>>, <span class="blue">but fails to gain purchase.</span> <<sex 5 "genitals">> <<if random(1, 3) is 3>> Lewd fluids drips from <<bhis>> pussy, <span class="blue">lubricating you.</span> <</if>> <</if>> <<elseif $rng gte 1>> <<bHe>> rubs <<bhis>> pussy against your <<penis>>. <<sex 5 "genitals">> <</if>> <</if>> <</if>> <</if>> <<if $NPCList[_n].vagina is "mouth">> <<if $enemyanger gte 100>> <<bHe>> covers your mouth with <<bhis>> pussy, making it difficult to breathe. <<violence 3>><<bruise face>><<set $speechvaginamouth to 1>> <<else>> <<if $mouthsubmit is 1>> <<if $rng gte 1>> <<bHe>> rubs <<bhis>> pussy against your lips. <<if $enemyarousal gte (($enemyarousalmax / 5) * 3)>> You can taste <<bhis>> juices. <</if>> <<sex 3 "mouth">><<set $speechvaginamouth to 1>> <<else>> <<bHe>> moves <<bhis>> pussy away from your face. <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <<else>> <<if $rng gte 1>> <<bHe>> rubs <<bhis>> pussy against your lips. <<if $enemyarousal gte (($enemyarousalmax / 5) * 3)>> You can taste <<bhis>> juices. <</if>> <<sex 3 "mouth">><<set $speechvaginamouth to 1>> <<else>> <<bHe>> moves <<bhis>> pussy away from your face. <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "vaginaentrance">> <<if $rng gte 51>> <span class="purple"><<bHe>> kisses your <<pussy>> with <<bhis>> own, hinting at what's to come.</span> <<sex 10 "genitals">><<set $NPCList[_n].vagina to "vaginaimminent">><<set $vaginastate to "othervaginaimminent">> <<else>> <<bHe>> hovers <<bhis>> pussy close to yours. <<sex 5 "genitals">> <</if>> <<elseif $NPCList[_n].vagina is "vaginaimminent">> <<bHe>> thrusts forward, <span class="pink"> <<if $enemyarousal gte (($enemyarousalmax / 10) * 7)>> squelching <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> smashing <<else>> pressing <</if>> <<bhis>> pussy against yours.</span> <<sex 10 "genitals">><<set $NPCList[_n].vagina to "vagina">><<set $vaginastate to "othervagina">> <<elseif $NPCList[_n].vagina is "vagina">> <<if $rng gte 1>> <<if $enemyarousal gte $enemyarousalmax * 0.8>> <<bHe>> slams <<bhis>> pussy into yours with a bestial fervour as <<bhe>> approaches orgasm. <<if $vaginaWetness gte 45>> <span class="purple">Your juices mingle.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.6>> <<bHe>> thrusts <<bhis>> pussy against yours with increasing fervour. <<if $vaginaWetness gte 45>> <span class="purple">Your juices mingle.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.4>> <<bHe>> smashes your pussies together. <<elseif $enemyarousal gte $enemyarousalmax * 0.2>> <<bHe>> thrusts <<bhis>> pussy against yours. <<else>> <<bHe>> kneads your pussies together. <</if>> <<sex 20 "genitals">><<set $speechvaginavagina to 1>> <<else>> <span class="lblue"><<bHe>> moves <<bhis>> pussy away from yours.</span> <<set $vaginause to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<if $NPCList[_n].vagina is "leftarm">> <<if $rng gte 1>> <<bHe>> rubs <<bhis>> pussy against your fingers. <<submission 2>> <<else>> <<bHe>> moves your hand away from <<bhis>> pussy. <<set $leftarm to 0>><<set $NPCList[_n].vagina to 0>><<set $leftactiondefault to "leftplay">> <</if>> <</if>> <<if $NPCList[_n].vagina is "rightarm">> <<if $rng gte 1>> <<bHe>> rubs <<bhis>> pussy against your fingers. <<submission 2>> <<else>> <<bHe>> moves your hand away from <<bhis>> pussy. <<set $rightarm to 0>><<set $NPCList[_n].vagina to 0>><<set $rightactiondefault to "rightplay">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "feet">> <<if $rng gte 1>> <<bHe>> rubs <<bhis>> pussy against your feet. <<submission 2>> <<else>> <<bHe>> moves your feet away from <<bhis>> pussy. <<set $feetuse to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otherfrot">> <<if $rng gte 101>> <span class="blue"><<bHe>> shifts <<bhis>> ass and presses <<bhis>> anus against your <<penis>>.</span> <<set $penisuse to "otheranus">><<set $NPCList[_n].vagina to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<else>> <<bHe>> <<beast_growls_text>> and rubs <<bhis>> ass against your <<penis>>. <<sex 5 "genitals">><<set $enemyanger += 5>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otheranus">> <<if $rng gte 101>> <span class="purple"><<bHe>> moves <<bhis>> pelvis away, releasing your <<penis>> from <<bhis>> anus.</span> <<sex 30 "genitals">><<set $NPCList[_n].vagina to "otheranusimminent">><<bruise penis>><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<elseif $rng gte 1>> <<if $enemyanger gte 100>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> <<beast_growls_text>> and fucks your <<penis>> with <<bhis>> ass, <<bhis>> movements violent and erratic. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> <<beast_growls_text>> as <<bhe>> pushes back against your penis. <<else>> <<bHe>> <<beast_growls_text>> and fucks your <<penis>> with rough movements. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> You feel <<bhis>> ass twitch around your length as <<bhe>> pushes back. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> continues to push against your <<penis>>. <<else>> <<bHe>> fucks your <<penis>>, taking as much of you into <<bhis>> ass as <<bhe>> can. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<bHe>> continues pushing against your <<penis>>, <<bhis>> anus viciously pounding your length. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<bHe>> continues pushing against your <<penis>>, <<bhis>> anus rhythmically pounding your length. <<else>> <<bHe>> pushes against your <<penis>> with steady movements. <</if>> <</if>> <<sex 30 "genitals">><<set $speechotheranuspenetrated to 1>><<set $enemyanger += 10>> <<if playerHasStrapon()>><<violence 2 1 1 0>> <<else>><<bruise penis>><<violence 2>><</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otheranusimminent">> <<if $rng gte 101>> <span class="blue"><<bHe>> stops pressing <<bhis>> ass against your <<penis>>.</span> <<set $NPCList[_n].vagina to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<elseif $rng gte 1>> <<if $nopenile is 0>><<set $penisactiondefault to "otheranustake">> <<if ((playerPenisSize() is -1 and $arousal lte ($arousalmax / 10) * 9) or (playerPenisSize() is -2 and $arousal lte ($arousalmax / 20) * 19))>> <<bHe>> presses <<bhis>> ass against your <<penis>>, trying to force an erection. <<set $enemyanger += 5>><<arousal 300 "genitals">><<set $speechotheranuswithhold to 1>> <<else>> <<if playerHasStrapon() or $player.virginity.penile isnot true>> <span class="pink"><<bHe>> eases your <<penis>> into <<bhis>> ass, swallowing you to the base.</span> <<sex 30 "genitals">><<set $speechotheranuspenetrated to 1>> <<if playerHasStrapon()>><<violence 2 1 1 0>> <<else>><<bruise penis>><<violence 2>><<raped>><<penisraped>><<takeTempleVirginity $NPCList[_n].fullDescription "penile">><</if>> <<elseif $player.virginity.penile is true>> <span class="pink"><<bHe>> eases your virgin penis into <<bhis>> ass,</span><span class="red"> separating your foreskin from your glans and forever robbing you of your purity.</span> <<sex 100 "genitals">><<takeVirginity $NPCList[_n].fullDescription "penile">><<bruise penis>><<violence 100>><<raped>><<penisraped>><<set $speechpenisvirgin to 1>> <</if>> <<penilestat>><<set $NPCList[_n].vagina to "otheranus">><<takeNPCVirginity _n "anal">><<set $penisstate to "otheranus">> <</if>> <<else>> Respecting your wishes, <<bhe>> does not envelop your <<penis>> with <<bhis>> ass, instead teasing the tip of your glans. <<sex 15 "genitals">><<set $speechotheranuswithhold to 1>><<set $enemyanger += 10>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otheranusentrance">> <<if $rng gte 101>> <span class="lblue"><<bHe>> moves <<bhis>> ass away from your <<penis>>.</span> <<set $NPCList[_n].vagina to 0>><<set $penisuse to 0>><<set $penisstate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> ass against your <<penis>> through your $worn.over_lower.name. <<sex 5 "genitals">><<set $worn.over_lower.integrity -= 10>><<set $speechotheranusentrance to 1>><<set $enemyanger += 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> ass against your <<penis>> through your $worn.lower.name. <<sex 5 "genitals">><<set $worn.lower.integrity -= 10>><<set $speechotheranusentrance to 1>><<set $enemyanger += 10>> <<elseif $worn.lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<bHe>> rubs <<bhis>> ass against your <<penis>> through your $worn.under_lower.name. <<sex 5 "genitals">><<set $worn.under_lower.integrity -= 10>><<set $speechotheranusentrance to 1>><<set $enemyanger += 10>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 71>> <<if $worn.genitals.name is "chastity parasite">> <<bHe>> rubs <<bhis>> ass against your $worn.genitals.name, <span class="lewd">leaving you feeling more aroused.</span> <<arousal 100 "genitals">> <<sex 25 "genitals">><<set $worn.genitals.integrity -= 5>><<set $enemyanger += 5>> <<elseif $nopenile is 0 and playerChastity("penis")>> <<bHe>> rubs <<bhis>> ass against your $worn.genitals.name trying to get to your <<penis>>. <<sex 20 "genitals">><<set $worn.genitals.integrity -= 10>><<set $enemyanger += 5>> <<elseif $nopenile is 1>> <span class="purple"><<bHe>> presses <<bhis>> ass against your <<penis>>.</span> <<sex 20 "genitals">><<set $NPCList[_n].vagina to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<else>> <<if $penisWetness gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2>> <<bHe>> presses <<bhis>> ass against your <<penis>>. <<penis_lube_text>> <span class="pink">your tip is pushed inside, a thrust away from being enveloped.</span> <<sex 20 "genitals">><<set $NPCList[_n].vagina to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<else>> <<bHe>> presses <<bhis>> ass against your <<penis>>, <span class="blue">but fails to gain purchase.</span> <<sex 5 "genitals">> <</if>> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("penis")>> <<bHe>> <<beast_growls_text>> and rubs against your <<penis>>. <<sex 10 "genitals">><<set $enemyanger += 10>> <<else>> <<bHe>> <<beast_growls_text>> and rubs against your $worn.genitals.name<<if $worn.genitals.name is "chastity parasite">>, <span class="lewd">making you feel more aroused.</span><<arousal 100 "genitals">><<else>>.<</if>> <<sex 10 "genitals">><<set $enemyanger += 10>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "penis">> <<if $rng gte 101>> <span class="purple"><<bHe>> moves <<bhis>> head back, releasing your <<penis>> from <<bhis>> mouth.</span> <<sex 30 "genitals">><<set $NPCList[_n].mouth to "penisimminent">><<set $penisstate to "othermouthimminent">> <<elseif $rng gte 1>> <<if $enemyarousal lte ($enemyarousalmax / 5)>> <<bHe>> caresses your shaft with <<bhis>> long tongue. <<sex 30 "genitals">> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 2)>> <<bHe>> wraps <<bhis>> tongue around your <<penis>> and licks the tip. <<sex 30 "genitals">> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 3)>> <<bHe>> laps at your glans. <<sex 30 "genitals">> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<bHe>> takes your <<penis>> deep into <<bhis>> mouth while <<bhis>> tongue teases your testes. <<sex 30 "genitals">> <<else>> <<bHe>> buries your <<penis>> deep into <<bhis>> mouth, hot tongue leaving no inch of it unexplored. <<sex 30 "genitals">> <</if>> <</if>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "penisimminent">> <<if $rng gte 101>> <span class="blue"><<bHe>> stops pressing <<bhis>> lips against your <<penis>>.</span> <<set $NPCList[_n].mouth to "penisentrance">><<set $penisstate to "othermouthentrance">> <<elseif $rng gte 1>> <<if $worn.genitals.name is "chastity parasite">> <<bHe>> licks your $worn.genitals.name, <span class="lewd">the parasite sending a wave of pleasure through your <<penis>>.</span> Your reaction causes <<bhim>> to continue. <<arousal 400 "genitals">><<if !$earSlime.defyCooldown and $earSlime.vibration lt 120>><<set $earSlime.vibration += 10>><</if>> <<sex 30 "genital">> <<elseif $nopenile is 0 and playerChastity("penis")>> <<bHe>> licks around your $worn.genitals.name probing for a way past. <<bHe>> salivates in anticipation. <<sex 20 "genitals">><<set $worn.genitals.integrity -= 10>><<set $enemyanger += 5>> <<elseif $nopenile is 1 and playerChastity("penis")>> <<bHe>> licks around your $worn.genitals.name. <<bHe>> salivates in anticipation. <<sex 25 "genitals">> <<elseif $nopenile is 0>> <<if playerHasStrapon() or $player.virginity.penile isnot true or $virginitytest isnot 1>> <span class="pink"><<bHe>> pulls your <<penis>> into <<bhis>> mouth with <<bhis>> tongue.</span> <<sex 30 "genitals">> <<violence 1 1 1 `+playerHasStrapon()`>> <<elseif $player.virginity.penile is true>> <span class="pink"><<bHe>> pulls your virgin penis into <<bhis>> mouth with <<bhis>> tongue,</span><span class="red"> separating your foreskin from your glans and forever robbing you of your purity.</span> <<sex 100 "genitals">><<takeVirginity $NPCList[_n].fullDescription "penile">><<violence 100>> <</if>> <<penilestat>><<takeNPCVirginity _n "oral">><<set $NPCList[_n].mouth to "penis">><<set $penisstate to "othermouth">> <<if $virginitytest is 1 and !playerHasStrapon()>><<bruise penis>><<raped>><<penisraped>><</if>> <<else>> Respecting your wishes, <<bhe>> does not envelop your <<penis>> with <<bhis>> mouth, instead licking it with a primal thirst. <<sex 15 "genitals">> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "penisentrance">> <<if $rng gte 101>> <span class="lblue"><<bHe>> moves <<bhis>> head away from your <<penis>>.</span> <<set $NPCList[_n].mouth to 0>><<set $penisuse to 0>><<set $penisstate to 0>> <<if $NPCList[_n].vagina is "othermouth">> <<set $NPCList[_n].vagina to 0>> <</if>> <<if $NPCList[_n].penis is "othermouth">> <<set $NPCList[_n].penis to 0>> <</if>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<bHe>> pushes the outline of your <<penis>> with <<bhis>> long tongue through your $worn.over_lower.name, eager to taste the skin beneath. <<sex 5 "genitals">><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> pushes the outline of your <<penis>> with <<bhis>> long tongue through your $worn.lower.name, eager to taste the skin beneath. <<sex 5 "genitals">><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<bHe>> traces the outline of your <<penis>> with <<bhis>> long tongue through your $worn.under_lower.name, eager to taste the skin beneath. <<sex 5 "genitals">><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 71>> <<if $worn.genitals.name is "chastity parasite">> <<bHe>> licks your $worn.genitals.name, <span class="lewd">the parasite sending a wave of pleasure through your <<penis>>.</span> Your reaction causes <<bhim>> to continue. <<arousal 400 "genitals">><<if !$earSlime.defyCooldown and $earSlime.vibration lt 120>><<set $earSlime.vibration += 10>><</if>> <<sex 30 "genital">> <<elseif $nopenile is 0 and playerChastity("penis")>> <<bHe>> starts to lick around your $worn.genitals.name. <<sex 20 "genitals">><<set $NPCList[_n].mouth to "penisimminent">><<set $penisstate to "othermouthimminent">> <<elseif $nopenile is 1>> <span class="purple"><<bHe>> starts to pull your <<penis>> into <<bhis>> mouth with <<bhis>> tongue.</span> <<sex 20 "genitals">><<set $NPCList[_n].mouth to "penisimminent">><<set $penisstate to "othermouthimminent">> <<else>> <span class="purple"><<bHe>> starts to pull your <<penis>> into <<bhis>> mouth with <<bhis>> tongue.</span> <<bHe>> salivates in anticipation. <<sex 20 "genitals">><<set $NPCList[_n].mouth to "penisimminent">><<set $penisstate to "othermouthimminent">> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("penis")>> <<bHe>> licks and teases your <<penis>> with <<bhis>> long tongue. <<sex 10 "genitals">> <<else>> <<bHe>> licks and teases you around your $worn.genitals.name with <<bhis>> long tongue<<if $worn.genitals.name is "chastity parasite">>, <span class="lewd">making you feel more aroused.</span><<arousal 100 "genitals">><<else>>.<</if>> <<sex 10 "genitals">> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if $NPCList[_n].mouth is "vagina">> <<if $rng gte 101>> <span class="purple"><<bHe>> retracts <<bhis>> tongue from your <<pussy>>.</span> <<sex 30 "genitals">><<set $NPCList[_n].mouth to "vaginaimminent">><<bruise vagina>><<violence 1>><<set $vaginastate to "othermouthimminent">> <<elseif $rng gte 1>> <<if $enemyarousal lte ($enemyarousalmax / 5)>> <<bHe>> tastes your vagina with <<bhis>> tongue. <<sex 30 "genitals">><<bruise vagina>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 2)>> <<bHe>> fills your vagina with <<bhis>> long tongue, twisting and caressing inside you. <<sex 30 "genitals">><<bruise vagina>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 3)>> <<bHis>> agile tongue explores and teases your <<pussy>>. <<sex 30 "genitals">><<bruise vagina>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<bHe>> runs <<bhis>> tongue over your <<pussy>>, then presses against it, pushing deep inside you. <<bHe>> pulls out again, and pants. <<sex 30 "genitals">><<bruise vagina>><<violence 1>> <<else>> <<beast_Jaws_text>> latched onto your pelvis, <<bhe>> fucks your <<pussy>> with <<bhis>> tongue. <<bHis>> breath becomes more rapid. <<sex 30 "genitals">><<bruise vagina>><<violence 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "vaginaimminent">> <<if $rng gte 101>> <span class="blue"><<bHe>> stops pressing <<bhis>> tongue against your <<pussy>>.</span> <<set $NPCList[_n].mouth to "vaginaentrance">><<set $vaginastate to "othermouthentrance">> <<elseif $rng gte 1>> <<if $novaginal is 0 and playerChastity("vagina")>> <<bhe>> uses <<bhis>> tongue to lick around your $worn.genitals.name while feeling for a way past. <<sex 20 "genitals">><<set $worn.genitals.integrity -= 10>><<set $enemyanger += 5>> <<elseif $novaginal is 1 and playerChastity("vagina")>> <<bhe>> uses <<bhis>> tongue to lick around your $worn.genitals.name. <<sex 25 "genitals">> <<elseif $novaginal is 0>> <<if $player.virginity.vaginal isnot true or $virginitytest isnot 1>> <span class="pink"><<bHe>> pushes <<bhis>> long tongue into your <<pussy>>, thirsting for a taste.</span> <<sex 30 "genitals">><<violence 1>> <<elseif $player.virginity.vaginal is true>> <span class="pink"><<bHe>> pushes <<bhis>> long tongue into your virgin pussy,</span><span class="red"> breaking your hymen and forever robbing you of your purity.</span> <<sex 100 "genitals">><<takeVirginity $NPCList[_n].fullDescription "vaginal">><<violence 100>> <</if>> <<vaginalstat>><<set $NPCList[_n].mouth to "vagina">><<bruise vagina>><<set $vaginastate to "othermouth">> <<if $virginitytest is 1>><<raped>><<vaginaraped>><</if>> <<else>> Respecting your wishes, <<bhe>> does not penetrate your <<pussy>> with <<bhis>> tongue, instead licking your labia with a primal thirst. <<sex 15 "genitals">> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "vaginaentrance">> <<if $rng gte 101>> <span class="lblue"><<bHe>> moves <<bhis>> head away from your <<pussy>>.</span> <<set $NPCList[_n].mouth to 0>><<set $vaginause to 0>><<set $vaginastate to 0>> <<if $NPCList[_n].vagina is "othermouth">> <<set $NPCList[_n].vagina to 0>> <</if>> <<if $NPCList[_n].penis is "othermouth">> <<set $NPCList[_n].penis to 0>> <</if>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<bHe>> licks your <<pussy>> with <<bhis>> tongue through your $worn.over_lower.name, eager for a taste of the skin beneath. <<sex 5 "genitals">><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> licks your <<pussy>> with <<bhis>> tongue through your $worn.lower.name, eager for a taste of the skin beneath. <<sex 5 "genitals">><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<bHe>> licks your <<pussy>> with <<bhis>> tongue through your $worn.under_lower.name. <<sex 5 "genitals">><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 71>> <<if $novaginal is 0 and playerChastity("vagina")>> <span class="purple"><<bHe>> pushes <<bhis>> long tongue against your $worn.genitals.name near your <<pussy>>.</span> <<sex 20 "genitals">><<set $NPCList[_n].mouth to "vaginaimminent">><<set $vaginastate to "othermouthimminent">> <<elseif $novaginal is 1>> <span class="purple"><<bHe>> pushes <<bhis>> long tongue against your <<pussy>>.</span> <<sex 20 "genitals">><<set $NPCList[_n].mouth to "vaginaimminent">><<set $vaginastate to "othermouthimminent">> <<else>> <span class="purple"><<bHe>> pushes <<bhis>> long tongue against your <<pussy>>, about to penetrate.</span> <<bHe>> salivates in anticipation. <<sex 20 "genitals">><<set $NPCList[_n].mouth to "vaginaimminent">><<set $vaginastate to "othermouthimminent">> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("vagina")>> <<bHe>> laps at your <<if $player.penisExist>><<penis>><<else>>clit<</if>> and labia with <<bhis>> long tongue. <<sex 10 "genitals">> <<else>> <<bHe>> laps around your $worn.genitals.name with <<bhis>> long tongue. <<sex 10 "genitals">> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if $NPCList[_n].mouth is "bottom">> <<bHe>> licks your <<bottom>><<if playerHasButtPlug()>> and prods your $worn.butt_plug.name with <<bhis>> tongue<</if>>. <<neutral 5 _n>> <</if>> <<if $NPCList[_n].mouth is "anus">> <<if $rng gte 101>> <span class="purple"><<bHe>> retracts <<bhis>> tongue from your anus.</span> <<sex 30 "anus">><<set $NPCList[_n].mouth to "anusimminent">><<bruise anus>><<violence 1>><<set $anusstate to "othermouthimminent">> <<elseif $rng gte 1>> <<if $enemyarousal lte ($enemyarousalmax / 5)>> <<bHe>> slides <<bhis>> long tongue in and out of your anus. <<sex 30 "anus">><<bruise anus>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 2)>> <<bHe>> fills your <<bottom>> with <<bhis>> long tongue, twisting and caressing inside you. <<sex 30 "anus">><<bruise anus>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 3)>> <<bHis>> agile tongue twists and teases inside your <<bottom>>. <<sex 30 "anus">><<bruise anus>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<bHe>> stretches <<bhis>> tongue deep inside your <<bottom>>, enjoying your taste. <<sex 30 "anus">><<bruise anus>><<violence 1>> <<else>> <<bHe>> fucks your <<bottom>> with <<bhis>> long tongue. <<sex 30 "anus">><<bruise anus>><<violence 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "anusimminent">> <<if $rng gte 101>> <span class="blue"><<bHe>> stops pressing <<bhis>> tongue against your anus.</span> <<set $NPCList[_n].mouth to "anusentrance">><<set $anusstate to "othermouthentrance">> <<elseif $rng gte 1>> <<if $noanal is 0 and playerChastity("anus")>> <<bhe>> uses <<bhis>> tongue to lick around your $worn.genitals.name while feeling for a way past. <<sex 25 "anus">><<set $worn.genitals.integrity -= 10>><<set $enemyanger += 5>> <<elseif $noanal is 1 and playerChastity("anus")>> <<bhe>> uses <<bhis>> tongue to lick around your $worn.genitals.name. <<sex 30 "anus">> <<elseif $noanal is 0>> <<if $player.virginity.anal isnot true or $virginitytest isnot 1>> <span class="pink"><<bHe>> pushes <<bhis>> long tongue into your anus.</span> <<sex 30 "anus">> <<elseif $player.virginity.anal is true>> <span class="pink"><<bHe>> pushes <<bhis>> long tongue into your virgin anus,</span><span class="red"> violating you in a way you hadn't conceived of.</span> <<sex 100 "anus">><<takeVirginity $NPCList[_n].fullDescription "anal">><<violence 100>> <</if>> <<analstat>><<set $NPCList[_n].mouth to "anus">><<bruise anus>><<violence 1>><<set $anusstate to "othermouth">> <<if $virginitytest is 1>><<raped>><<anusraped>><</if>> <<else>> Respecting your wishes, <<bhe>> does not penetrate your <<bottom>> with <<bhis>> tongue, instead licking your opening. <<sex 15 "anus">> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "anusentrance">> <<if $rng gte 101>> <span class="lblue"><<bHe>> moves <<bhis>> head away from your <<bottom>>.</span> <<set $NPCList[_n].mouth to 0>><<set $anususe to 0>><<set $anusstate to 0>> <<if $NPCList[_n].vagina is "othermouth">> <<set $NPCList[_n].vagina to 0>> <</if>> <<if $NPCList[_n].penis is "othermouth">> <<set $NPCList[_n].penis to 0>> <</if>> <<elseif $rng gte 1>> <<if $worn.over_lower.anus_exposed is 0>> <<bHe>> circles <<bhis>> long tongue around your anus through your $worn.over_lower.name. <<sex 5 "anus">><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.anus_exposed is 0>> <<bHe>> circles <<bhis>> long tongue around your anus through your $worn.lower.name. <<sex 5 "anus">><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.anus_exposed is 1>> <<rng>> <<if $worn.under_lower.anus_exposed is 0>> <<bHe>> circles <<bhis>> long tongue around your anus through your $worn.under_lower.name. <<sex 5 "anus">><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.anus_exposed is 1>> <<if $rng gte 71>> <<if $noanal is 0 and playerChastity("anus")>> <span class="purple"><<bHe>> presses <<bhis>> tongue against your $worn.genitals.name near your anus.</span> <<sex 20 "anus">><<set $NPCList[_n].mouth to "anusimminent">><<set $anusstate to "othermouthimminent">> <<elseif $noanal is 1>> <span class="purple"><<bHe>> presses <<bhis>> tongue against your anus.</span> <<sex 20 "anus">><<set $NPCList[_n].mouth to "anusimminent">><<set $anusstate to "othermouthimminent">> <<else>> <span class="purple"><<bHe>> presses <<bhis>> long tongue against your anus, preparing to penetrate you.</span> <<bHe>> salivates in anticipation. <<sex 20 "anus">><<set $NPCList[_n].mouth to "anusimminent">><<set $anusstate to "othermouthimminent">> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("anus")>> <<bHe>> prods and licks your <<bottom>>. <<sex 10 "anus">> <<else>> <<bHe>> prods and licks your <<bottom>> near your $worn.genitals.name <<sex 10 "anus">> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].stance is "approach">> <<if $NPCList[_n].mouth is 0>> <<if $NPCList[_n].monster is "monster" and random(1, 5) is 5 and $speechdisable isnot 1>> <<beastspeech _n>> <<elseif $enemyanger + $rng lte 20 and $NPCList[_n].location.head is 0>> <<if $NPCList[_n].penis is 0 or $NPCList[_n].vagina is 0>> Curious, <<bhe>> sniffs your groin. <<neutral 5>><<enemyarousal 10>> <<else>> Curious, <<bhe>> sniffs your face. <<neutral 1>><<enemyarousal 10>> <</if>> <<elseif $enemyanger + $rng lte 40 and $NPCList[_n].location.head is 0>> <<beastlick>> <<elseif $enemyanger + $rng lte 160 and $NPCList[_n].location.head is 0>> <<if $worn.over_lower.name isnot "naked" or $worn.lower.name isnot "naked">> <<if setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 and $worn.over_lower.skirt_down is 1>> <span class="blue"><<bHe>> lifts up your $worn.over_lower.name with <<bhis>> <<beast_teeth_text>>.</span> <<set $worn.lower.skirt_down to 0>><<set $worn.over_lower.vagina_exposed to 1>><<set $worn.over_lower.anus_exposed to 1>><<set $worn.over_lower.exposed to 2>><<set $worn.over_lower.integrity -= 10>> <<elseif setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 and $worn.lower.skirt_down is 1>> <span class="blue"><<bHe>> lifts up your $worn.lower.name with <<bhis>> <<beast_teeth_text>>.</span> <<set $worn.lower.skirt_down to 0>><<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>><<set $worn.lower.integrity -= 10>> <<elseif $worn.over_lower.exposed isnot 2>> <span class="purple"><<bHe>> grabs your $worn.over_lower.name with <<bhis>> <<beast_teeth_text>>.</span> <<set $NPCList[_n].mouth to "overlowerclothes">><<violence 1>> <<elseif $worn.lower.exposed isnot 2>> <span class="purple"><<bHe>> grabs your $worn.lower.name with <<bhis>> <<beast_teeth_text>>.</span> <<set $NPCList[_n].mouth to "lowerclothes">><<violence 1>> <<elseif $worn.under_lower.name isnot "naked">> <span class="purple"><<bHe>> grabs your $worn.under_lower.name with <<bhis>> <<beast_teeth_text>>.</span> <<set $NPCList[_n].mouth to "underlowerclothes">><<violence 1>> <<else>> <<beastlick>> <</if>> <<elseif $worn.under_lower.name isnot "naked">> <span class="purple"><<bHe>> grabs your $worn.under_lower.name with <<bhis>> <<beast_teeth_text>>.</span> <<set $NPCList[_n].mouth to "underlowerclothes">><<violence 1>> <<else>> <<beastlick>> <</if>> <<elseif $enemyanger + $rng lte 200>> <<bHe>> <<beast_growls_text>> menacingly. <<violence 1>> <<else>> <<if $NPCList[_n].penis is 0 or $NPCList[_n].vagina is 0>> <<if $NPCList[_n].claws is "claws">> <!-- Removed $claws --> <<bHe>> bites and claws at your thighs. <<else>> <<bHe>> bites your thighs. <</if>> <<violence 20>><<bruise thigh>><<bruise thigh>><<set $worn.lower.integrity -= 20>><<set $worn.under_lower.integrity -= 20>><<hitstat>><<set $enemyanger -= 20>> <<else>> <<bHe>> bites and claws at your <<breasts>>. <<violence 20>><<bruise chest>><<bruise chest>><<set $worn.upper.integrity -= 20>><<hitstat>><<set $enemyanger -= 20>><<playWithBreasts>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is 0 or $NPCList[_n].vagina is 0>> <<if $enemyarousal gte (($enemyarousalmax / 10) * 3)>> <<if $speechgrowl is 1 and $pounce_delay isnot 1>> <<set $pounce_delay to 1>> <<if $water is 0>> <<bHe>> looks about to jump at you, <span class="teal">but your threat keeps <<bhim>> at bay,</span> for now. <<else>> <<bHe>> looks about to approach, <span class="teal">but your threat keeps <<bhim>> at bay,</span> for now. <</if>> <<else>> <<if $NPCList[_n].gender is "f" and !$player.penisExist>> <<if $rng gte 51 and $position isnot "wall" and $NPCList[_n].location.head is 0>> <<if $water is 0>> <span class="blue"><<bHe>> jumps on top of you, mounting your face and pinning you down.</span> <<set $NPCList[_n].stance to "topface">><<violence 5>><<set $NPCList[_n].mouth to 0>> <<else>> <span class="blue"><<bHe>> swims right up to you, pressing <<bhis>> <<if $NPCList[_n].penis isnot "none">>penis<<else>>pussy<</if>> against your face.</span> <<set $NPCList[_n].stance to "topface">><<violence 5>><<set $NPCList[_n].mouth to 0>> <</if>> <<else>> <<if $water is 0>> <span class="blue"><<bHe>> jumps on top of you and pins you down.</span> <<set $NPCList[_n].stance to "top">><<violence 5>><<set $head to "grappled">><<set $NPCList[_n].mouth to 0>> <<else>> <span class="blue"><<bHe>> swims right up to you, pressing <<bhis>> body against yours.</span> <<set $NPCList[_n].stance to "top">><<violence 5>><<set $head to "grappled">><<set $NPCList[_n].mouth to 0>> <</if>> <</if>> <<else>> <<if $rng gte 71 and $position isnot "wall" and $NPCList[_n].location.head is 0>> <<if $water is 0>> <span class="blue"><<bHe>> jumps on top of you, mounting your face and pinning you down.</span> <<set $NPCList[_n].stance to "topface">><<violence 5>><<set $NPCList[_n].mouth to 0>> <<else>> <span class="blue"><<bHe>> swims right up to you, pressing <<bhis>> <<if $NPCList[_n].penis isnot "none">>penis<<else>>pussy<</if>> against your face.</span> <<set $NPCList[_n].stance to "topface">><<violence 5>><<set $NPCList[_n].mouth to 0>> <</if>> <<else>> <<if $water is 0>> <span class="blue"><<bHe>> jumps on top of you and pins you down.</span> <<set $NPCList[_n].stance to "top">><<violence 5>><<set $head to "grappled">><<set $NPCList[_n].mouth to 0>> <<else>> <span class="blue"><<bHe>> swims right up to you, pressing <<bhis>> body against yours.</span> <<set $NPCList[_n].stance to "top">><<violence 5>><<set $head to "grappled">><<set $NPCList[_n].mouth to 0>> <</if>> <</if>> <</if>> <</if>> <<else>> <</if>> <</if>> <<elseif $NPCList[_n].stance is "top">> <<if $NPCList[_n].mouth is 0>> <<if $NPCList[_n].monster is "monster" and random(1, 5) is 5 and $speechdisable isnot 1>> <<beastspeech _n>> <<elseif ($enemyanger + $rng) lte 20 and $position isnot "wall" and $NPCList[_n].location.head isnot "head">> <<bHe>> licks your face. <<neutral 2>> <<elseif ($enemyanger + $rng) lte 40 and $position isnot "wall" and $NPCList[_n].location.head isnot "head">> <<bHe>> licks your neck. <<neutral 2>> <<elseif $enemyanger + $rng lte 60 and $NPCList[_n].location.head isnot "head">> <<if $worn.upper.name isnot "naked">> <<bHe>> tears at your $worn.upper.name. <<neutral 3>><<set $worn.upper.integrity -= 10>> <<elseif $NPCList[_n].gender is "m">> <<bHe>> <<if $NPCList[_n].claws isnot undefined>>presses <<bhis>> <<print $NPCList[_n].claws>> into your back<<else>>bites your back<</if>>. <!-- Removed $claws and <<beast_claws_text>> --> <<neutral 3>> <<else>> <<bHe>> licks your <<breasts>>. <<neutral 3 "breasts">><<playWithBreasts>> <</if>> <<elseif ($enemyanger + $rng) lte 100 and $position isnot "wall">> <<bHe>> grabs your hair in <<bhis>> <<beast_teeth_text>>. <<set $NPCList[_n].mouth to "hair">><<neutral 3>> <<elseif $enemyanger + $rng lte 120>> <<bHe>> <<beast_growls_text>> with menacing intent. <<violence 1>> <<elseif ($enemyanger + $rng) lte 140 and $position isnot "wall" and $NPCList[_n].location.head isnot "head">> <<bHe>> bites your face. <<violence 5>><<bruise face>><<hitstat>> <<elseif ($enemyanger + $rng) lte 160 and $position isnot "wall" and $NPCList[_n].location.head isnot "head">> <<bHe>> bites your neck. <<violence 5>><<bruise neck>><<hitstat>> <<elseif $position isnot "wall" and $NPCList[_n].location.head isnot "head">> <<bHe>> grabs your neck in <<bhis>> <<beast_teeth_text>>. <<violence 5>><<bruise neck>><<set $NPCList[_n].mouth to "neck">><<hitstat>> <<elseif $NPCList[_n].location.head isnot "head">> <<bHe>> bites your waist. <<violence 5>><<bruise tummy>><<hitstat>> <</if>> <</if>> <<if $NPCList[_n].penis is 0>> <<rng>> <<if $rng lte 25>> <<bHe>> humps your rear frantically, rubbing <<bhis>> $NPCList[_n].penisdesc against your back. <<neutral 5 "bottom">> <<elseif $rng lte 50>> <<bHe>> humps your rear frantically, rubbing <<bhis>> $NPCList[_n].penisdesc between your thighs. <<neutral 3 "genitals">> <<elseif $rng lte 75>> <<if $anususe is 0 and $analdisable is "f">> <span class="blue"><<bHis>> $NPCList[_n].penisdesc gains purchase between your <<bottom>> cheeks.</span> <<sex 5 "anus">><<bruise anus>><<violence 1>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $anusstate to "entrance">> <<else>> <<bHis>> $NPCList[_n].penisdesc rubs against your <<bottom>>. <<neutral 5 "anus">> <</if>> <<elseif $rng lte 100>> <<if $player.vaginaExist and $vaginause is 0 and (!$player.penisExist or random(0,100) lt 75)>> <span class="blue"><<bHe>> humps your rear frantically, gaining purchase in front of your <<pussy>>.</span> <<sex 5 "genitals">><<bruise vagina>><<violence 1>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">><<set $vaginatarget to _n>> <<elseif $player.penisExist and $penisuse is 0 and !playerChastity("penis") and (!$player.vaginaExist or $vaginause is 0)>> <<bHe>> humps your rear frantically, rubbing against your <<penis>>. <<sex 5 "genitals">> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<else>> <<bHe>> humps your rear frantically, rubbing <<bhis>> $NPCList[_n].penisdesc between your thighs. <<neutral 3 "genitals">> <</if>> <</if>> <<elseif $NPCList[_n].vagina is 0>> <<rng>> <<if $rng lte 25>> <<bHe>> humps between your legs, rubbing <<bhis>> pussy against your <<if playerChastity()>>$worn.genitals.name.<<else>><<genitals>>.<</if>> <<neutral 5 "genitals">> <<elseif $rng lte 50>> <<bHe>> humps between your legs, rubbing <<bhis>> pussy against your <<if playerChastity()>>$worn.genitals.name.<<else>><<genitals>>.<</if>> <<sex 3 "genitals">> <<elseif $rng lte 100>> <<if ($player.vaginaExist and $vaginause is 0 and playerChastity("vagina")) or ($player.penisExist and $penisuse is 0 and playerChastity("penis"))>> <<bHe>> humps between your legs, rubbing <<bhis>> pussy against your $worn.genitals.name. <<sex 3 "genitals">> <<elseif $player.penisExist and $penisuse is 0 and (!$player.vaginaExist or random(0,100) lt 75) and !playerChastity("penis")>> <span class="blue"><<bHe>> humps between your legs, gaining purchase on the tip of your <<penis>>.</span> <<sex 5 "genitals">><<set $NPCList[_n].vagina to "penisentrance">><<set $penisuse to "othervagina">><<set $penisstate to "entrance">><<set $penistarget to _n>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<elseif $player.vaginaExist and $vaginause is 0 and (!$player.penisExist or $penisuse is 0) and !playerChastity("vagina")>> <span class="blue"><<bHe>> humps between your legs, brushing your <<pussy>> with <<bhis>> own.</span> <<sex 5 "genitals">><<bruise vagina>><<violence 1>><<set $NPCList[_n].vagina to "vaginaentrance">><<set $vaginause to "othervagina">><<set $vaginastate to "othervaginaentrance">><<set $vaginatarget to _n>> <<else>> <<bHe>> humps between your legs, rubbing <<bhis>> pussy against your <<genitals>>. <<sex 3 "genitals">> <</if>> <</if>> <</if>> <<elseif $NPCList[_n].stance is "topface">> <<if $NPCList[_n].mouth is 0>> <<if $NPCList[_n].monster is "monster" and random(1, 5) is 5 and $speechdisable isnot 1>> <<beastspeech _n>> <<elseif ($enemyanger + $rng) lte 25 and $position isnot "wall">> <<if playerChastity()>> <<bHe>> licks around your $worn.genitals.name with a hot tongue. <<neutral 4 "genitals">> <<elseif $player.vaginaExist>> <<bHe>> licks your labia with a hot tongue. <<neutral 4 "genitals">> <<else>> <<bHe>> licks your testes with a hot tongue. <<neutral 4 "genitals">> <</if>> <<elseif ($enemyanger + $rng) lte 50 and $position isnot "wall">> <<bHe>> buries <<bhis>> wet tongue between your <<bottom>> cheeks, licking and probing. <<neutral 3 "bottom">> <<elseif ($enemyanger + $rng) lte 75 and $position isnot "wall">> <<if playerChastity()>> <<bHe>> desperately tries to force <<bhis>> tongue around your $worn.genitals.name. <br> <<sex 3 "genitals">> <<elseif $player.penisExist>> <<bHe>> licks and <span class="blue">wraps <<bhis>> tongue around your <<penis>>.</span> <br> <<sex 3 "genitals">><<set $NPCList[_n].mouth to "penisentrance">><<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $penistarget to _n>> <<else>> <<bHe>> licks and <span class="blue">wiggles <<bhis>> tongue against your <<pussy>>.</span> <br> <<sex 3 "genitals">><<set $NPCList[_n].mouth to "vaginaentrance">><<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $vaginatarget to _n>> <</if>> <<elseif ($enemyanger + $rng) lte 100 and $position isnot "wall" and $analingusdisablereceiving is "f">> <<bHe>> buries <<bhis>> wet tongue between your <<bottom>> cheeks, <span class="blue">and prods your <<if playerChastity()>>$worn.genitals.name<<elseif playerHasButtPlug()>>$worn.butt_plug.name<<else>>opening<</if>>.</span> <br> <<sex 3 "anus">><<set $NPCList[_n].mouth to "anusentrance">><<set $anususe to "othermouth">><<set $anusstate to "othermouthentrance">><<set $anustarget to _n>> <<elseif ($enemyanger + $rng) lte 125 and $position isnot "wall">> <<bHe>> <<beast_growls_text>>, <<bhis>> breath hot on your <<if playerChastity()>>$worn.genitals.name.<<else>><<genitals>>.<</if>> <<sex 1 "genitals">> <<elseif ($enemyanger + $rng) lte 150 and $position isnot "wall">> <<bHe>> nips your <<bottom>> in warning. <<bruise bottom>><<violence 1>> <<elseif ($enemyanger + $rng) lte 175 and $position isnot "wall">> <<bHe>> bites your thigh. <<bruise thigh>><<violence 2>> <<else>> <<bHe>> bites your <<bottom>> cheek. <<bruise bottom>><<violence 4>> <</if>> <</if>> <<if $NPCList[_n].penis is 0>> <<if ($enemyanger + $rng) lte 25>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your cheek. <<neutral 3>> <<elseif ($enemyanger + $rng) lte 50>> <<bHe>> pokes <<bhis>> $NPCList[_n].penisdesc against your face. <<neutral 3>> <<elseif ($enemyanger + $rng) lte 75 and ($worn.face.type.includes("gag") or $worn.face.type.includes("covered"))>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your $worn.face.name. <<damageFaceCover 1>> <<neutral 3>> <<elseif ($enemyanger + $rng) lte 75>> <<bHe>> rubs <<bhis>> $NPCList[_n].penisdesc against your lips. <<neutral 3 "mouth">> <<elseif ($enemyanger + $rng) lte 100>> <<if !$worn.face.type.includes("gag") and !$worn.face.type.includes("covered")>> <span class="blue"><<bHe>> pushes <<bhis>> $NPCList[_n].penisdesc against your lips.</span> <<sex 3 "mouth">><<set $NPCList[_n].penis to "mouthentrance">><<set $mouthuse to "penis">><<set $mouthstate to "entrance">><<set $mouthtarget to _n>> <<else>> <<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc against the $worn.face.name covering your mouth. <<neutral 5 "mouth">> <<damageFaceCover 3>> <</if>> <<else>> <<if !$worn.face.type.includes("gag") and !$worn.face.type.includes("covered")>> <span class="purple"><<bHe>> shoves <<bhis>> $NPCList[_n].penisdesc between your lips.</span> <<sex 3 "mouth">><<set $NPCList[_n].penis to "mouthimminent">><<set $mouthuse to "penis">><<set $mouthstate to "imminent">><<set $mouthtarget to _n>> <<else>> <<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc against the $worn.face.name covering your mouth. <<neutral 5 "mouth">> <<damageFaceCover 3>> <</if>> <</if>> <</if>> <<if $NPCList[_n].vagina is 0>> <<if ($enemyanger + $rng) lte 25>> <<bHe>> rubs <<bhis>> pussy against your cheek. <<neutral 3>> <<elseif ($enemyanger + $rng) lte 50>> <<bHe>> rubs <<bhis>> pussy against your nose. <<neutral 3>> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<bHe>> pushes <<bhis>> ?vulva against your mask. <<damageFaceCover 2>> <<elseif ($enemyanger + $rng) lte 75>> <<bHe>> rubs <<bhis>> pussy against your lips. <<neutral 3 "mouth">> <<elseif ($enemyanger + $rng) lte 100>> <span class="blue"><<bHe>> pushes <<bhis>> pussy against your lips.</span> <<sex 3 "mouth">><<set $NPCList[_n].vagina to "mouth">><<set $mouthuse to "othervagina">><<set $mouthstate to "othervagina">><<set $mouthtarget to _n>> <<else>> <span class="purple"><<bHe>> shoves <<bhis>> pussy against your lips.</span> <<sex 3 "mouth">><<set $NPCList[_n].vagina to "mouth">><<set $mouthuse to "othervagina">><<set $mouthstate to "othervagina">><<set $mouthtarget to _n>> <</if>> <</if>> <</if>> <<set _bstindex to ($enemyno -2)>> <<set _next_beast to $combatTrain.total_length - $combatTrain.length + 1>> <<set _next_next_beast to $combatTrain.total_length - $combatTrain.length + 2>> <<if $combatTrain.length is 1>> <br> A <<print $combatTrain.beastTypes[_next_beast]>> awaits <<bhisnext>> turn. <<elseif $combatTrain.length is 2>> <br> A <<print $combatTrain.beastTypes[_next_beast]>> awaits <<bhisnext>> turn next, along with one other <<print $combatTrain.beastTypes[_next_next_beast]>>. <<elseif $combatTrain.length gte 3>> <br> A <<print $combatTrain.beastTypes[_next_beast]>> awaits <<bhisnext>> turn next, along with <<number $combatTrain.length-1>> other <<if $bestialitydisable is "f">>beasts<<else>>monsters<</if>>. <</if>> <<manend>><<set $pullaway to 0>> </div> <</widget>> <<widget "beastlick">> <<if $NPCList[_n].penis is 0 or $NPCList[_n].vagina is 0>> <<if playerChastity()>> <<if $vaginause is "cover">> <<bHe>> licks your hand, trying to taste the $worn.genitals.name beneath. <<if $arousal gte ($arousalmax / 5) * 4>> <<bHe>> laps up the juices that leak through your fingers. <<elseif $arousal gte $arousalmax / 5>> <<bHis>> tongue probes around and between your fingers, searching for a weak spot. <<else>> <<bHe>> tries to force <<bhis>> tongue between your fingers. <</if>> <<elseif $worn.over_lower.vagina_exposed is 0>> <<neutral 10 "genitals">> <<bHe>> licks your $worn.over_lower.name, trying to taste the $worn.genitals.name beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.over_lower.integrity -= 5>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> licks your $worn.lower.name, trying to taste the $worn.genitals.name beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.lower.integrity -= 5>> <<elseif $worn.under_lower.vagina_exposed is 0>> <<bHe>> licks your $worn.under_lower.name, trying to taste the $worn.genitals.name beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.under_lower.integrity -= 5>> <<else>> <<neutral 15 "genitals">> <<bHe>> licks your $worn.genitals.name. <<if $orgasmdown gte 1>> The feeling of vibrations from <<bhis>> tongue as you cum is maddening, but <<bhe>> doesn't relent. <<elseif $arousal gte ($arousalmax / 5) * 4>> The feeling of vibrations from <<bhis>> tongue on your sensitive flesh makes you jerk and spasm. <<elseif $arousal gte $arousalmax / 5>> <<bHis>> hot breath and tongue elicit shameful feelings. <<else>> You try to shift your crotch to escape this violation, but <<bhe>> persists. <</if>> <<set $worn.genitals.integrity -= 5>> <</if>> <<elseif $player.vaginaExist>> <<if $vaginause is "cover">> <<bHe>> licks your hand, trying to taste the <<pussy>> beneath. <<if $arousal gte ($arousalmax / 5) * 4>> <<bHe>> laps up the juices that leak through your fingers. <<elseif $arousal gte $arousalmax / 5>> <<bHis>> tongue probes around and between your fingers, searching for a weak spot. <<else>> <<bHe>> tries to force <<bhis>> tongue between your fingers. <</if>> <<elseif $worn.over_lower.vagina_exposed is 0>> <<neutral 10 "genitals">> <<bHe>> licks your $worn.over_lower.name, trying to taste the <<pussy>> beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.over_lower.integrity -= 5>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> licks your $worn.lower.name, trying to taste the <<pussy>> beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.lower.integrity -= 5>> <<elseif $worn.under_lower.vagina_exposed is 0>> <<bHe>> licks your $worn.under_lower.name, trying to taste the <<pussy>> beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.under_lower.integrity -= 5>> <<else>> <<neutral 15 "genitals">> <<bHe>> licks your bare pussy. <<if $orgasmdown gte 1>> The feeling of <<bhis>> tongue as you cum is maddening, but <<bhe>> doesn't relent. <<elseif $arousal gte ($arousalmax / 5) * 4>> The feeling of <<bhis>> tongue on your sensitive flesh makes your pelvis jerk and spasm. <<elseif $arousal gte $arousalmax / 5>> <<bHis>> hot breath and tongue elicit shameful feelings. <<else>> You try to shift your crotch to escape this violation, but <<bhe>> persists. <</if>> <</if>> <<elseif $player.penisExist>> <<if $penisuse is "cover">> <<bHe>> licks your hand, trying to taste the <<penis>> beneath. <<if $arousal gte ($arousalmax / 5) * 4>> <<bHe>> laps up the juices that leak through your fingers. <<elseif $arousal gte $arousalmax / 5>> <<bHis>> tongue probes around and between your fingers, searching for a weak spot. <<else>> <<bHe>> tries to force <<bhis>> tongue between your fingers. <</if>> <<elseif $worn.over_lower.vagina_exposed is 0>> <<neutral 10 "genitals">> <<bHe>> licks your $worn.over_lower.name, trying to taste the <<penis>> beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.over_lower.integrity -= 5>> <<elseif $worn.lower.vagina_exposed is 0>> <<bHe>> licks your $worn.lower.name, trying to taste the <<penis>> beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.lower.integrity -= 5>> <<elseif $worn.under_lower.vagina_exposed is 0>> <<bHe>> licks your $worn.under_lower.name, trying to taste the <<penis>> beneath. <<if $orgasmdown gte 1>> <<bHe>> laps up your leaking juices as you squirm. <<elseif $arousal gte ($arousalmax / 5) * 4>> You're shamed by how good it feels. <<elseif $arousal gte $arousalmax / 5>> The incessant probing makes your groin heat up. <<else>> You try to shift your crotch away, but <<bhe>> persists. <</if>> <<set $worn.under_lower.integrity -= 5>> <<else>> <<neutral 15 "genitals">> <<bHe>> licks your bare penis. <<if $orgasmdown gte 1>> The feeling of <<bhis>> tongue as you cum is maddening, but <<bhe>> doesn't relent. <<elseif $arousal gte ($arousalmax / 5) * 4>> The feeling of <<bhis>> tongue on your sensitive flesh makes your pelvis jerk and spasm. <<elseif $arousal gte $arousalmax / 5>> <<bHis>> hot breath and tongue elicit shameful feelings. <<else>> You try to shift your crotch to escape this violation, but <<bhe>> persists. <</if>> <</if>> <</if>> <<else>> <<if $enemyanger gte 100>> <<bHe>> nips your neck. <<elseif $enemyanger gte 20>> <<bHe>> licks your neck. <<else>> <<bHe>> licks your face. <</if>> <</if>> <<neutral 1>><<enemyarousal 10>> <</widget>><<widget "beastclothing">> <<outfitChecks>> <<rng>> <<if $NPCList[_n].mouth is "overlowerclothes">> <<if $NPCList[_n].stance is "top">> <<set $NPCList[_n].mouth to 0>> <<else>> <<if $worn.over_lower.name is "naked">> <span class="purple"><<bHe>> spits out the ruined fabric.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $overlowerstruggle is 1>> <<set $overlowerstruggle to 0>> <<bHe>> tugs at your $worn.over_lower.name, but you keep <<him>> from stripping you. <<set $overlowerstruggle to 0>><<neutral 1>><<set $worn.over_lower.integrity -= 5>> <<elseif $rng gte 91>> <span class="blue"><<bHe>> releases your $worn.over_lower.name from <<bhis>> mouth.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $rng lte 90>> <<if _overOutfit>> <<if $worn.over_upper.open is 1>> <<if $worn.over_upper.state_top is "chest">> <<bHe>> tugs your $worn.over_lower.name, pulling down your $worn.over_upper.name and <span class="lewd">revealing your <<breasts>>.</span> <<set $worn.over_upper.state_top to "midriff">><<set $worn.over_upper.exposed to 2>><<neutral 3>><<set $speechbreasts to 1>> <<if $worn.over_upper.state is "chest">> <<set $worn.over_upper.state to "midriff">> <</if>> <<if $worn.over_lower.state is "chest">> <<set $worn.over_lower.state to "midriff">> <</if>> <<elseif $worn.over_upper.state_top is "midriff">> <<bHe>> tugs your $worn.over_lower.name, pulling down your $worn.over_upper.name passed your midriff. <<set $worn.over_upper.state_top to "waist">><<neutral 1>> <<if $worn.over_upper.state is "midriff">> <<set $worn.over_upper.state to "waist">> <</if>> <<if $worn.over_lower.state is "midriff">> <<set $worn.over_lower.state to "waist">> <</if>> <<elseif $worn.over_upper.state_top is "waist">> <<bHe>> pulls your $worn.over_upper.name down to your thighs, revealing your <<if $worn.lower.state is "waist">> $worn.lower.name <<neutral 2>> <<elseif $worn.under_lower.state is "waist">> $worn.under_lower.name <<neutral 2>> <<else>> <span class="lewd"><<genitals>>.</span> <<neutral 5>><<set $speechgenitals to 1>> <</if>> <<set $worn.over_upper.state_top to "thighs">><<set $worn.over_upper.state to "thighs">><<set $worn.over_lower.vagina_exposed to 1>><<set $worn.over_lower.anus_exposed to 1>><<set $worn.over_lower.exposed to 2>> <<if $worn.over_lower.state is "waist">> <<set $worn.over_lower.state to "thighs">> <</if>> <<elseif $worn.over_upper.state_top is "thighs">> <<bHe>> pulls your $worn.over_upper.name down to your knees. <<set $worn.over_upper.state_top to "knees">><<set $worn.over_upper.state to "knees">><<neutral 1>> <<if $worn.over_lower.state is "thighs">> <<set $worn.over_lower.state to "knees">> <</if>> <<elseif $worn.over_upper.state_top is "knees">> <<bHe>> pulls your $worn.over_upper.name down to your ankles. <<set $worn.over_upper.state_top to "ankles">><<set $worn.over_upper.state to "ankles">><<neutral 1>> <<if $worn.over_lower.state is "knees">> <<set $worn.over_lower.state to "ankles">> <</if>> <<elseif $worn.over_upper.state_top is "ankles">> <span class="purple"><<bHe>> pulls your $worn.over_upper.name off the bottom of your legs.</span> <<neutral 5>><<set $worn.over_upper.state_top to 0>><<set $worn.over_upper.state to 0>><<overupperstrip>> <<if $worn.over_lower.state is "ankles">> <<set $worn.over_lower.state to 0>><<overlowerstrip>> <</if>> <</if>> <<else>> <<bHe>> tugs on your $worn.over_lower.name, tugging your $worn.over_upper.name against your shoulders. You hear a tearing sound. <<set $worn.over_lower.integrity -= 20>><<neutral 1>> <</if>> <<elseif _overOutfit isnot true>> <<if $worn.over_lower.state is "waist">> <<bHe>> pulls down your $worn.over_lower.name, exposing your <<if $worn.lower.state is "waist">> $worn.lower.name. <<elseif $worn.under_lower.state is "waist">> $worn.under_lower.name. <<else>> <span class="lewd"><<genitals>>.</span> <<neutral 5>><<set $speechgenitals to 1>> <</if>> <<set $worn.over_lower.state to "thighs">><<set $worn.over_lower.vagina_exposed to 1>><<set $worn.over_lower.anus_exposed to 1>><<set $worn.over_lower.exposed to 2>> <<elseif $worn.over_lower.state is "thighs">> <<bHe>> pulls your $worn.over_lower.name down to your knees. <<set $worn.over_lower.state to "knees">><<neutral 1>> <<elseif $worn.over_lower.state is "knees">> <<bHe>> pulls your $worn.over_lower.name down to your ankles. <<set $worn.over_lower.state to "ankles">><<neutral 1>> <<elseif $worn.over_lower.state is "ankles">> <span class="purple"><<bHe>> pulls your $worn.over_lower.name off your legs.</span> <<overlowerstrip>> <<set $NPCList[_n].mouth to 0>><<neutral 3>><<clothesstripstat>> <</if>> <<else>> <<bHe>> tugs on your $worn.over_lower.name, you hear the fabric tear. <<neutral 1>><<set $worn.over_lower.integrity -= 20>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "lowerclothes">> <<if $NPCList[_n].stance is "top">> <<set $NPCList[_n].mouth to 0>> <<else>> <<if $worn.lower.name is "naked">> <span class="purple"><<bHe>> spits out the ruined fabric.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $lowerstruggle is 1>> <<set $lowerstruggle to 0>> <<bHe>> tugs at your $worn.lower.name, but you keep <<him>> from stripping you. <<set $lowerstruggle to 0>><<neutral 1>><<set $worn.lower.integrity -= 5>> <<elseif $rng gte 91>> <span class="blue"><<bHe>> releases your $worn.lower.name from <<bhis>> mouth.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $rng lte 90>> <<if _middleOutfit>> <<if $worn.upper.open is 1>> <<if $worn.upper.state_top is "chest">> <<bHe>> tugs your $worn.lower.name, pulling down your $worn.upper.name and <span class="lewd">revealing your <<breasts>>.</span> <<set $worn.upper.state_top to "midriff">><<set $worn.upper.exposed to 2>><<neutral 3>><<set $speechbreasts to 1>> <<if $worn.upper.state is "chest">> <<set $worn.upper.state to "midriff">> <</if>> <<if $worn.lower.state is "chest">> <<set $worn.lower.state to "midriff">> <</if>> <<elseif $worn.upper.state_top is "midriff">> <<bHe>> tugs your $worn.lower.name, pulling down your $worn.upper.name passed your midriff. <<set $worn.upper.state_top to "waist">><<neutral 1>> <<if $worn.upper.state is "midriff">> <<set $worn.upper.state to "waist">> <</if>> <<if $worn.lower.state is "midriff">> <<set $worn.lower.state to "waist">> <</if>> <<elseif $worn.upper.state_top is "waist">> <<bHe>> pulls your $worn.upper.name down to your thighs, revealing your <<if $worn.under_lower.state is "waist">> $worn.under_lower.name <<neutral 2>> <<else>> <span class="lewd"><<genitals>>.</span> <<neutral 5>><<set $speechgenitals to 1>> <</if>> <<set $worn.upper.state_top to "thighs">><<set $worn.upper.state to "thighs">><<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>> <<if $worn.lower.state is "waist">> <<set $worn.lower.state to "thighs">> <</if>> <<elseif $worn.upper.state_top is "thighs">> <<bHe>> pulls your $worn.upper.name down to your knees. <<set $worn.upper.state_top to "knees">><<set $worn.upper.state to "knees">><<neutral 1>> <<if $worn.lower.state is "thighs">> <<set $worn.lower.state to "knees">> <</if>> <<elseif $worn.upper.state_top is "knees">> <<bHe>> pulls your $worn.upper.name down to your ankles. <<set $worn.upper.state_top to "ankles">><<set $worn.upper.state to "ankles">><<neutral 1>> <<if $worn.lower.state is "knees">> <<set $worn.lower.state to "ankles">> <</if>> <<elseif $worn.upper.state_top is "ankles">> <span class="purple"><<bHe>> pulls your $worn.upper.name off the bottom of your legs.</span> <<neutral 5>><<set $worn.upper.state_top to 0>><<set $worn.upper.state to 0>><<upperstrip>> <<if $worn.lower.state is "ankles">> <<set $worn.lower.state to 0>><<lowerstrip>> <</if>> <</if>> <<else>> <<bHe>> tugs on your $worn.lower.name, tugging your $worn.upper.name against your shoulders. You hear a tearing sound. <<set $worn.lower.integrity -= 20>><<neutral 1>> <</if>> <<elseif _middleOutfit isnot true>> <<if $worn.lower.state is "waist">> <<bHe>> pulls down your $worn.lower.name, exposing your <<if $worn.under_lower.state is "waist">> $worn.under_lower.name. <<neutral 2>> <<else>> <span class="lewd"><<genitals>>.</span> <<neutral 5>><<set $speechgenitals to 1>> <</if>> <<set $worn.lower.state to "thighs">><<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>> <<elseif $worn.lower.state is "thighs">> <<bHe>> pulls your $worn.lower.name down to your knees. <<set $worn.lower.state to "knees">><<neutral 1>> <<elseif $worn.lower.state is "knees">> <<bHe>> pulls your $worn.lower.name down to your ankles. <<set $worn.lower.state to "ankles">><<neutral 1>> <<elseif $worn.lower.state is "ankles">> <span class="purple"><<bHe>> pulls your $worn.lower.name off your legs.</span> <<lowerstrip>> <<set $NPCList[_n].mouth to 0>><<neutral 3>><<clothesstripstat>> <</if>> <<else>> <<bHe>> tugs on your $worn.lower.name, you hear the fabric tear. <<neutral 1>><<set $worn.lower.integrity -= 20>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "underlowerclothes">> <<if $worn.under_lower.name is "naked">> <span class="purple"><<bHe>> spits out the ruined fabric.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $rng gte 91 or ($worn.under_lower.type.includes("strap-on") and $penisstate isnot 0)>> <span class="blue"><<bHe>> releases your $worn.under_lower.name from <<bhis>> mouth.</span> <<set $NPCList[_n].mouth to 0>> <<elseif $underlowerstruggle is 1>> <<bHe>> tugs on your $worn.under_lower.name, but you keep <<him>> from stripping you. <<set $underlowerstruggle to 0>><<set $speechstripstruggle to 1>><<neutral 1>><<set $worn.under_lower.integrity -= 5>> <<elseif $rng lte 90>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if $worn.under_lower.state is "waist">> <<bHe>> pulls your $worn.under_lower.name down your thighs, <span class="lewd">revealing your <<genitals>>.</span> <<set $worn.under_lower.state to "thighs">><<neutral 5>><<set $worn.under_lower.vagina_exposed to 1>><<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.exposed to 1>><<set $speechgenitals to 1>> <<elseif $worn.under_lower.state is "thighs">> <<bHe>> pulls your $worn.under_lower.name down to your knees. <<set $worn.under_lower.state to "knees">><<neutral 1>> <<elseif $worn.under_lower.state is "knees">> <<bHe>> pulls your $worn.under_lower.name down to your ankles. <<set $worn.under_lower.state to "ankles">><<neutral 1>> <<elseif $worn.under_lower.state is "ankles">> <span class="purple"><<bHe>> pulls your $worn.under_lower.name off your legs.</span> <<underlowerstrip>><<neutral 3>><<set $NPCList[_n].mouth to 0>><<clothesstripstat>> <</if>> <<elseif $worn.lower.state isnot "waist">> <<if $worn.under_lower.state is "waist">> <<bHe>> pulls your $worn.under_lower.name down your thighs, <span class="lewd">revealing your <<genitals>>.</span> <<set $worn.under_lower.state to "thighs">><<neutral 5>><<set $worn.under_lower.vagina_exposed to 1>><<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.exposed to 1>><<set $speechgenitals to 1>> <<elseif $worn.under_lower.state is "thighs">> <<bHe>> pulls your $worn.under_lower.name down to your knees. <<set $worn.under_lower.state to "knees">><<neutral 1>> <<elseif $worn.under_lower.state is "knees">> <<bHe>> pulls your $worn.under_lower.name down to your ankles. <<set $worn.under_lower.state to "ankles">><<neutral 5>> <<elseif $worn.under_lower.state is "ankles">> <span class="purple"><<bHe>> pulls your $worn.under_lower.name off your legs.</span> <<underlowerstrip>><<neutral 3>><<set $NPCList[_n].mouth to 0>><<clothesstripstat>> <</if>> <</if>> <</if>> <</if>> <<if $oxygen lt $oxygenmax and $underwater isnot 1 and _strangle is 1>> <<unset _strangle>> <br>Air: <<oxygencaption>> <</if>> <</widget>> <<widget "bhisnext">> <<if $combatTrain.monsters[_next_beast] is "monster">> <<if $combatTrain.pronouns[_next_beast] is "m">> <<print "his">> <<else>> <<print "her">> <</if>> <<else>> <<print "its">> <</if>> <</widget>><<widget "actionspain">> <<if $leftarm is 0>> Your left arm is free, but hurts to move. <br> <<if $leftactiondefault is "leftstruggleweak">> | <label><span class="brat">Struggle</span> <<radiobutton "$leftaction" "leftstruggleweak" checked>></label> <<else>> | <label><span class="brat">Struggle</span> <<radiobutton "$leftaction" "leftstruggleweak">></label> <</if>> <<if $leftactiondefault is "leftprotect">> | <label><span class="meek">Protect</span> <<radiobutton "$leftaction" "leftprotect" checked>></label> <<else>> | <label><span class="meek">Protect</span> <<radiobutton "$leftaction" "leftprotect">></label> <</if>> <br> <<elseif $leftarm is "grappled">> Your left arm is held in a painful grip. <br> <<elseif $leftarm is "bound">> Your left arm is held in a painful bind. <br> <</if>> <<if $rightarm is 0>> <br> Your right arm is free, but hurts to move. <br> <<if $rightactiondefault is "rightstruggleweak">> | <label><span class="brat">Struggle</span> <<radiobutton "$rightaction" "rightstruggleweak" checked>></label> <<else>> | <label><span class="brat">Struggle</span> <<radiobutton "$rightaction" "rightstruggleweak">></label> <</if>> <<if $rightactiondefault is "rightprotect">> | <label><span class="meek">Protect</span> <<radiobutton "$rightaction" "rightprotect" checked>></label> <<else>> | <label><span class="meek">Protect</span> <<radiobutton "$rightaction" "rightprotect">></label> <</if>> <br> <<elseif $rightarm is "grappled">> Your right arm is held in a painful grip. <br> <<elseif $rightarm is "bound">> Your right arm is held in a painful bind. <br> <</if>> <<if $mouthuse is 0>> <br> Your mouth is free, but involuntary sobs and cries prevent speaking. <br> <<if $mouthactiondefault is "stifle">> | <label><span class="brat">Stifle</span> <<radiobutton "$mouthaction" "stifle" checked>></label> <<else>> | <label><span class="brat">Stifle</span> <<radiobutton "$mouthaction" "stifle">></label> <</if>> <<if $mouthactiondefault is "letout">> | <label><span class="meek">Let it out</span> <<radiobutton "$mouthaction" "letout" checked>></label> <<else>> | <label><span class="meek">Let it out</span> <<radiobutton "$mouthaction" "letout">></label> <</if>> <br> <</if>> <</widget>><<widget "effectspain">> <<if $leftaction is "leftstruggleweak" and $rightaction is "rightstruggleweak">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftstruggleweak">><<set $rightactiondefault to "rightstruggleweak">> <<if $position is "stalk">> You fight through the pain and try to push yourself to your feet, but have too little strength. <<else>> You fight through the pain and try to push them away, but have too little strength. <</if>> <<brat 2>><<set _br to true>> <</if>> <<if $leftaction is "leftstruggleweak">> <<set $leftaction to 0>><<set $leftactiondefault to "leftstruggleweak">> <<if $position is "stalk">> You fight through the pain and try to push yourself to your feet with your left arm, but have too little strength. <<else>> You fight through the pain and push them with your left arm, but have too little strength. <</if>> <<brat 1>><<set _br to true>> <</if>> <<if $rightaction is "rightstruggleweak">> <<set $rightaction to 0>><<set $rightactiondefault to "rightstruggleweak">> <<if $position is "stalk">> You fight through the pain and try to push yourself to your feet with your right arm, but have too little strength. <<else>> You fight through the pain and push them with your right arm, but have too little strength. <</if>> <<brat 1>><<set _br to true>> <</if>> <<if $leftaction is "leftprotect" and $rightaction is "rightprotect">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftprotect">><<set $rightactiondefault to "rightprotect">> You shield the tender parts of your body, protecting them from further harm. <<lpain>><<meek 2>><<pain -2>><<set _br to true>> <</if>> <<if $leftaction is "leftprotect">> <<set $leftaction to 0>><<set $leftactiondefault to "leftprotect">> You clutch a tender spot on your body with your left hand, protecting it from harm. <<lpain>><<meek 1>><<pain -1>><<set _br to true>> <</if>> <<if $rightaction is "rightprotect">> <<set $rightaction to 0>><<set $rightactiondefault to "rightprotect">> You clutch a tender spot on your body with your right hand, protecting it from harm. <<lpain>><<meek 1>><<pain -1>><<set _br to true>> <</if>> <<if _br is true>> <br> <</if>> <<if $mouthaction is "stifle">> <<set $mouthaction to 0>><<set $mouthactiondefault to "stifle">> You try to control your breath and stifle your sobs. You're mostly successful. <<lpain>><<pain -1>> <</if>> <<if $mouthaction is "letout">> <<set $mouthaction to 0>><<set $mouthactiondefault to "letout">><<set _sound to 1>> You don't hold back your tears. Your sobs are punctuated by cries and whimpers. <<lstress>><<meek 1>><<stress -2>> <</if>> <<painclamp>> <</widget>><<widget "actionsorgasm">> <<if $leftarm is 0>> Your left arm is free, but you can't stop the spasms. <br> <<if $leftactiondefault is "leftfold">> | <label><span class="brat">Fold</span> <<radiobutton "$leftaction" "leftfold" checked>></label> <<else>> | <label><span class="brat">Fold</span> <<radiobutton "$leftaction" "leftfold">></label> <</if>> <<if $leftactiondefault is "leftgrip">> | <label><span class="meek">Grip</span> <<radiobutton "$leftaction" "leftgrip" checked>></label> <<else>> | <label><span class="meek">Grip</span> <<radiobutton "$leftaction" "leftgrip">></label> <</if>> <br> <<elseif $leftarm is "grappled">> Your left arm jerks against their grip. <br> <<elseif $leftarm is "bound">> Your left arm jerks against its bonds. <br> <</if>> <<if $rightarm is 0>> <br> Your right arm is free, but you can't stop the spasms. <br> <<if $rightactiondefault is "rightfold">> | <label><span class="brat">Fold</span> <<radiobutton "$rightaction" "rightfold" checked>></label> <<else>> | <label><span class="brat">Fold</span> <<radiobutton "$rightaction" "rightfold">></label> <</if>> <<if $rightactiondefault is "rightgrip">> | <label><span class="meek">Grip</span> <<radiobutton "$rightaction" "rightgrip" checked>></label> <<else>> | <label><span class="meek">Grip</span> <<radiobutton "$rightaction" "rightgrip">></label> <</if>> <br> <<elseif $rightarm is "grappled">> Your right arm jerks against their grip. <br> <<elseif $rightarm is "bound">> Your right arm jerks against its bonds. <br> <</if>> <<if $mouthuse is 0>> <br> Your mouth is free, but involuntary moans and cries prevent speaking. <br> <<if $mouthactiondefault is "stifleorgasm">> | <label><span class="brat">Stifle</span> <<radiobutton "$mouthaction" "stifleorgasm" checked>></label> <<else>> | <label><span class="brat">Stifle</span> <<radiobutton "$mouthaction" "stifleorgasm">></label> <</if>> <<if $mouthactiondefault is "letoutorgasm">> | <label><span class="meek">Let it out</span> <<radiobutton "$mouthaction" "letoutorgasm" checked>></label> <<else>> | <label><span class="meek">Let it out</span> <<radiobutton "$mouthaction" "letoutorgasm">></label> <</if>> <br> <</if>> <</widget>><<widget "effectsorgasm">> <<if $leftaction is "leftfold" and $rightaction is "rightfold">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftfold">><<set $rightactiondefault to "rightfold">> You try to conceal your orgasm by folding your arms in front of you, keeping them as still as possible. <<brat 2>> <<set _br to true>> <</if>> <<if $leftaction is "leftfold">> <<set $leftaction to 0>><<set $leftactiondefault to "leftfold">> You fold your left arm in front of you to keep it as still as possible. <<brat 1>> <<set _br to true>> <</if>> <<if $rightaction is "rightfold">> <<set $rightaction to 0>><<set $rightactiondefault to "rightfold">> You fold your right arm in front of you to keep it as still as possible. <<brat 1>> <<set _br to true>> <</if>> <<if $leftaction is "leftgrip" and $rightaction is "rightgrip">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftgrip">><<set $rightactiondefault to "rightgrip">> <<if $position is "stalk">> You steady yourself against a brick wall as your body trembles. <<else>> You grip whatever you can for purchase as your body trembles. <</if>> <<larousal>><<meek 2>><<arousal -300>> <<set _br to true>> <</if>> <<if $leftaction is "leftgrip">> <<set $leftaction to 0>><<set $leftactiondefault to "leftgrip">> <<if $position is "stalk">> You steady yourself against a brick wall with your left hand as your body trembles. <<else>> You grip whatever you can with your left hand as your body trembles. <</if>> <<larousal>><<meek 1>><<arousal -300>> <<set _br to true>> <</if>> <<if $rightaction is "rightgrip">> <<set $rightaction to 0>><<set $rightactiondefault to "rightgrip">> <<if $position is "stalk">> You steady yourself against a brick wall with your right hand as your body trembles. <<else>> You grip whatever you can with your right hand as your body trembles. <</if>> <<larousal>><<meek 1>><<arousal -300>> <<set _br to true>> <</if>> <<if _br is true>> <br> <</if>> <<if $mouthaction is "stifleorgasm">> <<set $mouthaction to 0>><<set $mouthactiondefault to "stifleorgasm">> You scowl, hoping your gasps are taken as exasperation. <<brat 1>> <</if>> <<if $mouthaction is "letoutorgasm">> <<set $mouthaction to 0>><<set $mouthactiondefault to "letoutorgasm">><<set _sound to 1>> You don't hold back, letting gasps and moans escape as they will. <<larousal>><<meek 1>><<arousal -300>> <</if>> <<if $feetaction is "feetHold">> <br> <<set $feetaction to 0>><<set $feetactiondefault to "feetHold">> <<if _leg_position is "up" or _feet_pos isnot "">> You try to keep your legs still. <<else>> You weakly try to shut your legs. <</if>> <<brat 1>> <</if>> <<if $feetaction is "feetCurl">> <br> <<set $feetaction to 0>><<set $feetactiondefault to "feetCurl">> <<if $consensual is 1>> You curl your toes, relishing in the orgasm. <<else>> You curl your toes, letting the orgasm take you. <</if>> <<larousal>><<meek 1>><<arousal -100>> <</if>> <</widget>><<widget "actionsdissociation">> <<if $leftarm is 0>> Your left arm is free, but doesn't feel real. <br> <<if $leftactiondefault is "leftpoke">> | <label>Poke yourself <<radiobutton "$leftaction" "leftpoke" checked>></label> <<else>> | <label>Poke yourself <<radiobutton "$leftaction" "leftpoke">></label> <</if>> <<if $leftactiondefault is "leftcurl">> | <label><span class="meek">Keep your arms out of the way</span> <<radiobutton "$leftaction" "leftcurl" checked>></label> <<else>> | <label><span class="meek">Keep your arms out of the way</span> <<radiobutton "$leftaction" "leftcurl">></label> <</if>> <br> <<elseif $leftarm is "grappled">> Your left arm lies limp in their grip. <br> <<elseif $leftarm is "bound">> Your left arm lies limp in its bonds. <br> <</if>> <<if $rightarm is 0>> <br> Your right arm is free, but doesn't feel real. <br> <<if $rightactiondefault is "rightpoke">> | <label>Poke yourself <<radiobutton "$rightaction" "rightpoke" checked>></label> <<else>> | <label>Poke yourself <<radiobutton "$rightaction" "rightpoke">></label> <</if>> <<if $rightactiondefault is "rightcurl">> | <label><span class="meek">Keep your arms out of the way</span> <<radiobutton "$rightaction" "rightcurl" checked>></label> <<else>> | <label><span class="meek">Keep your arms out of the way</span> <<radiobutton "$rightaction" "rightcurl">></label> <</if>> <br> <<elseif $rightarm is "grappled">> Your right arm lies limp in their grip. <br> <<elseif $rightarm is "bound">> Your right arm lies limp in its bonds. <br> <</if>> <<if $mouthuse is 0>> <br> Your mouth is free, but you don't know why. <br> <<if $mouthactiondefault is "speak">> | <label>Try to speak <<radiobutton "$mouthaction" "speak" checked>></label> <<else>> | <label>Try to speak <<radiobutton "$mouthaction" "speak">></label> <</if>> <<if $mouthactiondefault is "noises">> | <label><span class="meek">Make soft noises</span> <<radiobutton "$mouthaction" "noises" checked>></label> <<else>> | <label><span class="meek">Make soft noises</span> <<radiobutton "$mouthaction" "noises">></label> <</if>> <</if>> <</widget>><<widget "effectsdissociation">> <<if $leftaction == "leftcurl" && $rightaction == "rightcurl">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftcurl">><<set $rightactiondefault to "rightcurl">> You hold your arms to the side and curl your fingers. <<meek 2>> <<set _br to true>> <</if>> <<if $leftaction == "leftcurl">> <<set $leftaction to 0>><<set $leftactiondefault to "leftcurl">> You hold your left arm to the side and curl your fingers. <<meek 1>> <<set _br to true>> <</if>> <<if $rightaction == "rightcurl">> <<set $rightaction to 0>><<set $rightactiondefault to "rightcurl">> You hold your right arm to the side and curl your fingers. <<meek 1>> <<set _br to true>> <</if>> <<if $leftaction == "leftpoke" && $rightaction == "rightpoke">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftpoke">><<set $rightactiondefault to "rightpoke">> You poke yourself. Is this real? <<note "+ Focus" "green">> <<set $traumafocus += 2>> <<set _br to true>> <</if>> <<if $leftaction == "leftpoke">> <<set $leftaction to 0>><<set $leftactiondefault to "leftpoke">> You poke yourself with your left hand. <<note "+ Focus" "green">> <<set $traumafocus += 1>> <<set _br to true>> <</if>> <<if $rightaction == "rightpoke">> <<set $rightaction to 0>><<set $rightactiondefault to "rightpoke">> You poke yourself with your right hand. <<note "+ Focus" "green">> <<set $traumafocus += 1>> <<set _br to true>> <</if>> <<if _br is true>> <br> <</if>> <<if $mouthaction == "noises">> <<set $mouthaction to 0>><<set $mouthactiondefault to "noises">> You make some soft noises. They sound nice. <<meek 1>> <</if>> <<if $mouthaction == "speak">> <<set $mouthaction to 0>><<set $mouthactiondefault to "speak">> You make some noises that resemble words. <<note "+ Focus" "green">> <<set $traumafocus += 1>> <</if>> <</widget>><<widget "actionspossessed">> <<if !$leftactiondefault>> <<set $leftactiondefault to "leftacceptW">> <</if>> <<if !$rightactiondefault>> <<set $rightactiondefault to "rightacceptW">> <</if>> <<if !$feetactiondefault>> <<set $feetactiondefault to "feetacceptW">> <</if>> <<if !$mouthactiondefault>> <<set $mouthactiondefault to "mouthacceptW">> <</if>> <<if $leftarm is 0>> Your left arm is free, <span class="pink">but not under your control</span>. <br> <<if $leftactiondefault is "leftacceptW">> | <label><span class="wraith">Accept it</span> <<radiobutton "$leftaction" "leftacceptW" checked>></label> <<else>> | <label><span class="wraith">Accept it</span> <<radiobutton "$leftaction" "leftacceptW">></label> <</if>> <<if $leftactiondefault is "leftresistW">> | <label><span class="brat">Hold it still</span> <<radiobutton "$leftaction" "leftresistW" checked>></label> <<else>> | <label><span class="brat">Hold it still</span> <<radiobutton "$leftaction" "leftresistW">></label> <</if>> <br> <<elseif $leftarm is "grappled">> Your left arm writhes in their grip, unbidden. <br> <<set $leftactiondefault to ["leftacceptW","leftstruggleW"].includes($leftactiondefault) ? "leftstruggleW" : "leftstillW">> <<if $leftactiondefault is "leftstruggleW">> | <label><span class="wraith">Struggle</span> <<radiobutton "$leftaction" "leftstruggleW" checked>></label> <<else>> | <label><span class="wraith">Struggle</span> <<radiobutton "$leftaction" "leftstruggleW">></label> <</if>> <<if $leftactiondefault is "leftstillW">> | <label><span class="brat">Hold it still</span> <<radiobutton "$leftaction" "leftstillW" checked>></label> <<else>> | <label><span class="brat">Hold it still</span> <<radiobutton "$leftaction" "leftstillW">></label> <</if>> <br> <<elseif $leftarm is "bound">> Your left arm writhes in its bounds, unbidden. <br> <</if>> <<if $rightarm is 0>> <br> Your right arm is free, <span class="pink">but not under your control</span>. <br> <<if $rightactiondefault is "rightacceptW">> | <label><span class="wraith">Accept it</span> <<radiobutton "$rightaction" "rightacceptW" checked>></label> <<else>> | <label><span class="wraith">Accept it</span> <<radiobutton "$rightaction" "rightacceptW">></label> <</if>> <<if $rightactiondefault is "rightresistW">> | <label><span class="brat">Hold it still</span> <<radiobutton "$rightaction" "rightresistW" checked>></label> <<else>> | <label><span class="brat">Hold it still</span> <<radiobutton "$rightaction" "rightresistW">></label> <</if>> <br> <<elseif $rightarm is "grappled">> <br> Your right arm writhes in their grip, unbidden. <br> <<set $rightactiondefault to ["rightacceptW","rightstruggleW"].includes($rightactiondefault) ? "rightstruggleW" : "rightstillW">> <<if $rightactiondefault is "rightstruggleW">> | <label><span class="wraith">Struggle</span> <<radiobutton "$rightaction" "rightstruggleW" checked>></label> <<else>> | <label><span class="wraith">Struggle</span> <<radiobutton "$rightaction" "rightstruggleW">></label> <</if>> <<if $rightactiondefault is "rightstillW">> | <label><span class="brat">Hold it still</span> <<radiobutton "$rightaction" "rightstillW" checked>></label> <<else>> | <label><span class="brat">Hold it still</span> <<radiobutton "$rightaction" "rightstillW">></label> <</if>> <br> <<elseif $rightarm is "bound">> <br> Your right arm writhes in its bounds, unbidden. <br> <</if>> <<if $feetuse is 0>> <br> Your legs are free, <span class="pink">but you can't feel them beneath you</span>. <br> <<if $feetactiondefault is "feetacceptW">> | <label><span class="wraith">Accept it</span> <<radiobutton "$feetaction" "feetacceptW" checked>></label> <<else>> | <label><span class="wraith">Accept it</span> <<radiobutton "$feetaction" "feetacceptW">></label> <</if>> <<if $feetactiondefault is "feetresistW">> | <label><span class="brat">Hold them still</span> <<radiobutton "$feetaction" "feetresistW" checked>></label> <<else>> | <label><span class="brat">Hold them still</span> <<radiobutton "$feetaction" "feetresistW">></label> <</if>> <br> <<elseif $feetuse is "bound">> <br> Your legs thrash in their shackles, unbidden. <br> <</if>> <<if $mouthuse is 0>> <br> Your mouth is free, <span class="pink">but unfamiliar words spill from your tongue</span>. <br> <<if $mouthactiondefault is "mouthacceptW">> | <label><span class="wraith">Accept it</span> <<radiobutton "$mouthaction" "mouthacceptW" checked>></label> <<else>> | <label><span class="wraith">Accept it</span> <<radiobutton "$mouthaction" "mouthacceptW">></label> <</if>> <<if $mouthactiondefault is "mouthresistW">> | <label><span class="brat">Clamp your mouth shut</span> <<radiobutton "$mouthaction" "mouthresistW" checked>></label> <<else>> | <label><span class="brat">Clamp your mouth shut</span> <<radiobutton "$mouthaction" "mouthresistW">></label> <</if>> <<elseif $mouthuse is "lefthand" or $mouthuse is "righthand">> <br> Your mouth is blocked, muffling the foreign words that well up within you. <br> <<set $mouthactiondefault to ["mouthacceptW","handbiteW"].includes($mouthactiondefault) ? "handbiteW" : "handcloseW">> <<if $mouthactiondefault is "handbiteW">> | <label><span class="wraith">Bite</span> <<radiobutton "$mouthaction" "handbiteW" checked>></label> <<else>> | <label><span class="wraith">Bite</span> <<radiobutton "$mouthaction" "handbiteW">></label> <</if>> <<if $mouthactiondefault is "handcloseW">> | <label><span class="brat">Clamp your mouth shut</span> <<radiobutton "$mouthaction" "handcloseW" checked>></label> <<else>> | <label><span class="brat">Clamp your mouth shut</span> <<radiobutton "$mouthaction" "handcloseW">></label> <</if>> <</if>> <</widget>><<widget "effectspossessed">> <<set $enemyanger to 200>><<set $willpowerSuccess to 0>> <<dynamicblock id=control-caption>> <<controlcaption>> <</dynamicblock>> <<if $combatBegun is 1>> <<set _resist to 0>> <<if $leftaction isnot "leftresistW" and $rightaction isnot "rightresistW" and $feetaction isnot "feetresistW" and $mouthaction isnot "mouthresistW">> <span class="pink">You let it take you.</span> <<pain -2>><<stress -12>><<sub 2>><<lpain>><<llstress>><<set $wraith.will += 30>> <<else>> <<if $leftaction is "leftresistW" and $rightaction is "rightresistW" and $feetaction is "feetresistW">> <<set _resist to 3>> <<elseif $leftaction is "leftresistW" and $rightaction is "rightresistW" or $leftaction is "leftresistW" and $feetaction is "feetresistW" or $rightaction is "rightresistW" and $feetaction is "feetresistW">> <<set _resist to 2>> <<else>> <<set _resist to 1>> <</if>> <<set _wraithWill to Math.floor(1 + $wraith.will)>> <<willpowerdifficulty 1 _wraithWill true>> <<if $willpowerSuccess>> <<set _resistSuccess to 1>> <span class="green"> You fight for control. <<if ($leftaction is "leftresistW" or $leftaction is "leftstillW") and ($rightaction is "rightresistW" or $rightaction is "rightstillW") and $feetaction is "feetresistW">> Your body locks up. <<elseif $feetaction is "feetresistW" and ($leftaction is "leftresistW" or $leftaction is "leftstillW" or $rightaction is "rightresistW" or $rightaction is "rightstillW")>> Your arm and legs lock up. <<elseif ($leftaction is "leftresistW" or $leftaction is "leftstillW") and ($rightaction is "rightresistW" or $rightaction is "rightstillW")>> Your arms lock up. <<elseif $feetaction is "feetresistW">> Your legs lock up. <<elseif $leftaction is "leftresistW" or $leftaction is "leftstillW" or $rightaction is "rightresistW" or $rightaction is "rightstillW">> Your arm locks up. <</if>> <<if $mouthaction is "handcloseW">> You clamp your mouth shut. <</if>> </span> <<if $mouthaction is "mouthresistW">> <<set $willpowerSuccess to 0>> <<silently>><<willpowerdifficulty _wraithWill/3 _wraithWill*1.2>><</silently>> <<if $willpowerSuccess>> <<set _mouthSuccess to 1>><<set _resist++>> <span class="green">You clamp your mouth shut.</span> <<else>> <span class="purple">You can't stop the stream of words coming from your mouth, though.</span> <</if>> <</if>> <<pain _resist>><<stress _resist>><<trauma _resist>><<def 2>><<gpain>><<gtrauma>><<gstress>><<if _resist is 4>><<ggcontrol>><<else>><<gcontrol>><</if>><<set $wraith.will -= Math.floor(currentSkillValue('willpower') / 24)*_resist>> <<set $control += Math.floor(currentSkillValue('willpower') / 24)*_resist>> <<else>> <span class="red">Your body does not obey.</span> <<stress 6>><<trauma 6>><<willpower 1>><<def 1>><<gtrauma>><<gstress>><<gwillpower>><<set $wraith.will -= Math.floor(currentSkillValue('willpower') / 40)*_resist>> <</if>> <</if>> <br><br> <<else>> <<set $combatBegun to 1>> <</if>> <<if $leftaction is "leftresistW" and $rightaction is "rightresistW" and _resistSuccess>> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftresistW">><<set $rightactiondefault to "rightresistW">> You hold your arms firm to your side. <</if>> <<if $leftaction is "leftacceptW" or $leftaction is "leftresistW" and !_resistSuccess>> <<set $_wraithDamage to 1>> <<if $leftaction is "leftacceptW">><<set $_wraithDamage ++>><</if>> <<set $_wraithDamage += Math.floor(C.npc["Ivory Wraith"].lust / 10)>> <<set $leftactiondefault to $leftaction>><<set $leftaction to 0>><<set _target to random(1,$enemyno)-1>> You <<print either("punch","slap","scratch","claw","chop","strike")>> with your left hand. <<defiance $_wraithDamage _target>> <</if>> <<if $leftaction is "leftresistW" and _resistSuccess>> <<set $leftaction to 0>><<set $leftactiondefault to "leftresistW">> You hold your left arm firm to your side. <</if>> <<if $leftaction is "leftstruggleW" or $rightaction is "rightstruggleW" or (($leftaction is "leftresistW" or $rightaction is "rightresistW") and !_resistSuccess)>> <<set $leftaction to 0>><<set $leftactiondefault to "leftstruggleW">><<set $rightaction to 0>><<set $leftactiondefault to "leftstruggleW">> You struggle to free your arms. <<set $speechstruggle to 1>> <<if currentSkillValue('physique') gte random(1, 48000)>> <span class="pink">You manage to wrench your arms free.</span> <<set $leftarm to 0>><<set $rightarm to 0>> <<for _s = 0; _s lt $NPCList.length; _s++>> <<if $NPCList[_s].lefthand is "arms">> <<set $NPCList[_s].lefthand to 0>> <<break>> <</if>> <<if $NPCList[_s].righthand is "arms">> <<set $NPCList[_s].righthand to 0>> <<break>> <</if>> <</for>> <<else>> <span class="lblue">Your arms remain grasped.</span> <</if>> <</if>> <<if $leftaction is "leftstillW" and $rightaction is "rightstillW" and _resistSuccess>> You hold your arms as still as you can in their grasp. <</if>> <<if $rightaction is "rightacceptW" or $rightaction is "rightresistW" and !_resistSuccess>> <<set $_wraithDamage to 1>> <<if $rightaction is "rightacceptW">><<set $_wraithDamage ++>><</if>> <<set $_wraithDamage += Math.floor(C.npc["Ivory Wraith"].lust / 10)>> <<set $rightactiondefault to $rightaction>><<set $rightaction to 0>><<set _target to random(1,$enemyno)-1>> You <<print either("punch","slap","scratch","claw","chop","strike")>> with your right hand. <<defiance $_wraithDamage _target>> <</if>> <<if $rightaction is "rightresistW" and _resistSuccess>> <<set $rightaction to 0>><<set $rightactiondefault to "rightresistW">> You hold your right arm firm to your side. <</if>> <<if $feetaction is "feetacceptW" or $feetaction is "feetresistW" and !_resistSuccess>> <<set $_wraithDamage to 1>> <<if $feetaction is "feetacceptW">><<set $_wraithDamage ++>><</if>> <<set $_wraithDamage += Math.floor(C.npc["Ivory Wraith"].lust / 10)>> <<set $feetactiondefault to $feetaction>><<set $feetaction to 0>><<set _target to random(1,$enemyno)-1>> You <<print either("awkwardly","viciously","rapidly","jerkily","cruelly","<<feettext>>")>> lash out with your feet. <<defiance $_wraithDamage _target>> <</if>> <<if $feetaction is "feetresistW" and _resistSuccess>> <<set $feetaction to 0>><<set $feetactiondefault to "feetresistW">> You plant your legs into the ground. <</if>> <<if $mouthaction is "mouthacceptW" or $mouthaction is "mouthresistW" and !_mouthSuccess>> <<set $_wraithDamage to 1>> <<if $mouthaction is "mouthacceptW">><<set $_wraithDamage ++>><</if>> <<set $mouthactiondefault to $mouthaction>><<set $mouthaction to 0>> <<speechWraith>> <<defiance $_wraithDamage>> <</if>> <<if $mouthaction is "mouthresistW" and _mouthSuccess>> <<set $mouthaction to 0>><<set $mouthactiondefault to "mouthresistW">> Words well up in your mouth, but you swallow them down. <</if>> <<if $mouthaction is "handbiteW" or $mouthaction is "handcloseW" and !_resistSuccess>> <<set $mouthactiondefault to $mouthaction>><<set $mouthaction to 0>> <<actionshandbite>> <<for _s = 0; _s lt $NPCList.length; _s++>> <<if $NPCList[_s].lefthand is "mouth">> <<set $NPCList[_s].lefthand to 0>> <</if>> <<if $NPCList[_s].righthand is "mouth">> <<set $NPCList[_s].righthand to 0>> <</if>> <span class="teal"><<He _s>> flinches away in pain, freeing your mouth.</span> <<defiance 1 _s>> <<break>> <</for>> <<set $mouthuse to 0>> <</if>> <<if $mouthaction is "handcloseW" and _resistSuccess>> <<set $mouthaction to 0>><<set $mouthactiondefault to "handcloseW">> You keep your mouth closed against the hand pressing against it. <</if>> <</widget>><<widget "effectsman">> <div @class="($debugLines ? 'debugLines-effectsman' : '')"> <!-- "FOR" loops work by counting backward from highest numbered combatant to lowest e.g. 5 to 0. --> <!-- In case of train combat, count stops after 1, e.g. 5 to 5. --> <!-- Lots of further opportunity to reduce code using <<for>><</for>> loops with NPC objects NG 2.8--> /* * Switched all instances of skill checks, that simply repeat themselves with a different variable, for the JS function combatSkillCheck() * The function can be found at "game/03-JavaScript/ingame.js". It takes one required argument and three optional arguments. * Argument 0 is for the skill being used. For simplycity at writing, you only pass the important part of the skill, E.g. "hand", or "feet", or "oral". * Argument 1 (optional) is used for the target of that action. This is used to future-proof the possibility of using the target's specific arousal/trust/anger in calculation. * Argument 2 (optional) is the base difficulty used for the action. Most actions use 1000 base difficulty, which is the default if left blank, but some actions take different chances (like undressing). * Argument 3 (optional) is the extra multiplier for the arousal side. This is only used in undressing so far, but might as well add it as an option. */ <<pain -0.25>> <<if $enemyno gte 2>> <<set $pronoun to "n">> <<else>> <<switch $NPCList[0].pronoun>> <<case "m">> <<set $pronoun to "m">> <<case "f">> <<set $pronoun to "f">> <<case "i">> <<set $pronoun to "i">> <<case "n">> <<set $pronoun to "n">> <<case "t">> <<set $pronoun to "t">> <</switch>> <</if>> <<for _i = 0; _i < $enemynomax; _i++>> <<set $NPCList[_i].intro to 1>> <</for>> <<if $trance gte 1 or $dissociation gte 2>> <<if $position is "stalk">> You wander in a daze, unaware of your surroundings. <<else>> You stare straight ahead, your body passive and compliant. <</if>> <</if>> <<if $underwater is 1>> <<set $underwatertime += 1>> <<if $underwatertime lte 5>> You are underwater, and cannot speak. <<elseif $underwatertime lte 10>> <span class="blue">You are underwater, and cannot breathe.</span> <<gstress>><<stress 1>> <<elseif $underwatertime lte 15>> <span class="purple">You are underwater, and cannot breathe.</span> <<gstress>><<stress 2>> <<elseif $underwatertime lte 20>> <span class="pink">You are underwater, and cannot breathe.</span> <<gtrauma>><<gstress>><<stress 4>><<trauma 2>> <<else>> <span class="red">You are suffocating beneath the water.</span> <<pain 20 1>><<gtrauma>><<gstress>><<gpain>><<stress 6>><<trauma 4>> <br><br> <</if>> <</if>> <<if $position is "wall">> <<if $walltype is "pillory">> You are trapped in a pillory with your posterior stuck out and unprotected. <<elseif $walltype is "cleanpillory">> You are trapped in a pillory with your posterior stuck out and unprotected. <<elseif $walltype is "horse_pillory">> Your legs and neck are shackled by cold iron, preventing movement. <<elseif $walltype is "front">> You are trapped in a wall, vulnerable from the waist up. <<else>> You are trapped in a $walltype with your posterior stuck out in the open. <</if>> <</if>> <<effectspain>> <<effectsorgasm>> <<effectsdissociation>> <<if $possessed>> <<effectspossessed>> <</if>> <<effectsspray>> <<effectshandsclothes>> <<effectssteal>> <<effectspenwhack>> <<effectsshacklewhack>> <<effectshypnosiswhack>> <<effectshandsfreeface>> <<effectshandpull>> <<effectsdildowhack>> <<if $bodyaction is "doggy">> <<set $bodyaction to 0>> You roll onto your knees. <<set $position to "doggy">> <<elseif $bodyaction is "missionary">> <<set $bodyaction to 0>> You roll onto your back. <<set $position to "missionary">> <</if>> /*** * ███ ███████ ██ ██ ███████ * ██ ██ ██ ██ ███ ███ ██ * ██ ██ █████ ██ █ ██ ███████ * ███████ ██ ██ ██ ██ ██ * ██ ██ ██ ██ ██ ██ ███████ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<if $leftaction is "lefthandholdkeep" and $rightaction is "righthandholdkeep">> <<set $leftaction to 0>><<set $leftactiondefault to "lefthandholdkeep">> <<set $rightaction to 0>><<set $rightactiondefault to "righthandholdkeep">> You hold <<someones $lefttarget>> hands in your own. <<submission 4>> <</if>> <<if $leftaction is "lefthandholdnew">> <<set $leftaction to 0>><<set $leftactiondefault to "lefthandholdnew">> <<if combatSkillCheck("hand", $lefttarget)>> <<set $NPCList[$lefttarget].righthand to "handhold">> You take <<someones $lefttarget>> left hand in your own. <<set $leftarm to "handheld">><<set $leftactiondefault to "lefthandholdkeep">> <<submission 1>> <<if isLoveInterest($NPCList[$lefttarget].fullDescription)>> <<takeHandholdingVirginity $NPCList[$lefttarget] "romantic">> <<else>> <<takeHandholdingVirginity $NPCList[$lefttarget]>> <</if>> <<else>> You reach for <<someones $lefttarget>> left hand, but <<he>> moves away. <</if>> <</if>> <<if $leftaction is "lefthandholdkeep">> <<set $leftaction to 0>><<set $leftactiondefault to "lefthandholdkeep">> You hold <<someones $lefttarget>> hand in your own. <<submission 2>> <</if>> <<if $leftaction is "lefthandholdstop">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> You let go of <<someones $lefttarget>> right hand. <<set $leftarm to 0>> <<if $npcSub>> <<set $NPCList[$lefttarget].righthand to "idle">> <<else>> <<set $NPCList[$lefttarget].righthand to 0>> <</if>> <</if>> <<if $rightaction is "righthandholdnew">> <<set $rightaction to 0>><<set $rightactiondefault to "righthandholdnew">> <<if combatSkillCheck("hand", $righttarget)>> <<set $NPCList[$righttarget].lefthand to "handhold">> <<set $rightarm to "handheld">> You take <<hisselect $righttarget>> right hand in your own. <<set $rightarm to "handheld">><<set $leftactiondefault to "righthandholdkeep">> <<submission 1>> <<if isLoveInterest($NPCList[$righttarget].fullDescription)>> <<takeHandholdingVirginity $NPCList[$righttarget] "romantic">> <<else>> <<takeHandholdingVirginity $NPCList[$righttarget]>> <</if>> <<else>> You reach for <<someones $righttarget>> right hand, but <<he>> moves away. <</if>> <</if>> <<if $rightaction is "righthandholdkeep">> <<set $rightaction to 0>><<set $rightactiondefault to "righthandholdkeep">> You hold <<someones $righttarget>> hand in your own. <<submission 2>> <</if>> <<if $rightaction is "righthandholdstop">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> You let go of <<someones $righttarget>> left hand. <<set $rightarm to 0>> <<if $npcSub>> <<set $NPCList[$righttarget].lefthand to "idle">> <<else>> <<set $NPCList[$righttarget].lefthand to 0>> <</if>> <</if>> <<if $leftaction is "handguide">> <<set $leftaction to 0>><<set $leftactiondefault to "handguide">><<combatpromiscuity2>> <<if combatSkillCheck("hand", $lefttarget)>> <<if $rightaction is "handguide" and $handGuideLeft is $handGuideRight>> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <</if>> <<switch $handGuideLeft>> <<case "penis">> You lower <<someones $lefttarget>> hand to your <<penis>>. <<set $NPCList[$lefttarget].righthand to "penisentrance">><<set $penisuse to 1>><<set $penisstate to "otherhandentrance">> <<case "pussy">> You lower <<someones $lefttarget>> hand to your <<pussy>>. <<set $NPCList[$lefttarget].righthand to "vaginaentrance">><<set $vaginause to 1>><<set $vaginastate to "otherhandentrance">> <<case "ass">> You press <<someones $lefttarget>> hand against your <<bottom>>. <<set $NPCList[$lefttarget].righthand to "anusentrance">><<set $anususe to "handentrance">><<set $anusstate to "handentrance">> <<default>> <</switch>> <<set $leftactiondefault to "rest">><<set $leftarm to 0>><<submission 1>> <<else>> You try to guide <<someones $lefttarget>> hand to <<switch $handGuideRight>> <<case "penis">>your <<penis>>, <<case "pussy">>your <<pussy>>, <<case "ass">>your <<bottom>>, <<default>> <</switch>> <<if $enemyanger gte random(30, 100)>> <span class="purple">but <<he>> wrenches it out of your grasp.</span> <<set $leftactiondefault to "rest">><<set $leftarm to 0>> <<set $NPCList[$lefttarget].righthand to 0>><<violence 2>> <<else>> but <<his>> grip is too tight. <</if>> <</if>> <</if>> <<if $rightaction is "handguide">> <<set $rightaction to 0>><<set $rightactiondefault to "handguide">><<combatpromiscuity2>> <<if combatSkillCheck("hand", $righttarget)>> <<switch $handGuideRight>> <<case "penis">> You lower <<someones $lefttarget>> hand to your <<penis>>. <<set $NPCList[$righttarget].lefthand to "penisentrance">><<set $penisuse to 1>><<set $penisstate to "otherhandentrance">> <<case "pussy">> Your lower <<someones $lefttarget>> hand to your <<pussy>>. <<set $NPCList[$righttarget].lefthand to "vaginaentrance">><<set $vaginause to 1>><<set $vaginastate to "otherhandentrance">> <<case "ass">> You press <<someones $lefttarget>> hand against your <<bottom>>. <<set $NPCList[$righttarget].lefthand to "anusentrance">><<set $anususe to "handentrance">><<set $anusstate to "handentrance">> <</switch>> <<set $rightactiondefault to "rest">><<set $rightarm to 0>><<submission 1>> <<else>> You try to guide <<someones $lefttarget>> hand to <<switch $handGuideRight>> <<case "penis">>your <<penis>>, <<case "pussy">>your <<pussy>>, <<case "ass">>your <<bottom>>, <</switch>> <<if $enemyanger gte random(30, 100)>> <span class="purple">but <<he>> wrenches it out of your grasp.</span> <<set $rightactiondefault to "rest">><<set $rightarm to 0>> <<set $NPCList[$righttarget].lefthand to 0>><<violence 2>> <<else>> but <<his>> grip is too tight. <</if>> <</if>> <</if>> <<if $leftaction is "leftgrab">> <<set $leftaction to 0>><<set $leftactiondefault to "leftgrab">><<handskilluse>><<combatpromiscuity3>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 1>><<handstat>> <<if $NPCList[$lefttarget].penis is 0>> <<set $leftactiondefault to "leftwork">><<set $NPCList[$lefttarget].penis to "leftarm">><<set $leftarm to "penis">> <span class="lblue">You <<handtext>> <<if $NPCList[$lefttarget].chastity.penis.includes("chastity")>>fondle<<else>>grab<</if>> <<hisselect $lefttarget>> $NPCList[$lefttarget].penisdesc<<if $NPCList[$lefttarget].chastity.penis.includes("chastity")>> through <<hisselect $lefttarget>> $NPCList[$lefttarget].chastity.penis<</if>> with your left hand.</span> <<else>> <span class="blue">You try to grab <<hisselect $lefttarget>> $NPCList[$lefttarget].penisdesc with your left hand, but the phallus is already occupied.</span> <</if>> <<else>> You try to grab <<someones $lefttarget>> penis with your left hand, but <<he>> moves it away. <</if>> <</if>> <<if $rightaction is "rightgrab">> <<set $rightaction to 0>><<set $rightactiondefault to "rightgrab">><<handskilluse>><<combatpromiscuity3>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 1>><<handstat>> <<if $NPCList[$righttarget].penis is 0>> <<set $NPCList[$righttarget].penis to "rightarm">><<set $rightarm to "penis">> <span class="lblue">You <<handtext>> <<if $NPCList[$righttarget].chastity.penis.includes("chastity")>>fondle<<else>>grab<</if>> <<hisselect $righttarget>> $NPCList[$righttarget].penisdesc<<if $NPCList[$righttarget].chastity.penis.includes("chastity")>> through <<hisselect $righttarget>> $NPCList[$righttarget].chastity.penis<</if>> with your right hand.</span> <<else>> <span class="blue">You try to grab <<hisselect $righttarget>> $NPCList[$righttarget].penisdesc with your right hand, but the phallus is already occupied.</span> <</if>> <<else>> You try to grab <<someones $righttarget>> penis with your right hand, but <<he>> moves it away. <</if>> <</if>> <<if $leftaction is "leftstroke" and $rightaction is "rightstroke">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftstroke">><<set $rightactiondefault to "rightstroke">> <<submission 2>><<actionspenisstroke $lefttarget $righttarget>><<handskilluse>><<handskilluse>> <</if>> <<if $leftaction is "leftstroke">> <<set $leftaction to 0>><<set $leftactiondefault to "leftstroke">><<submission 1>><<actionspenisstroke $lefttarget>><<handskilluse>> <</if>> <<if $rightaction is "rightstroke">> <<set $rightaction to 0>><<set $rightactiondefault to "rightstroke">><<submission 1>><<actionspenisstroke $righttarget>><<handskilluse>> <</if>> <<if $leftaction is "leftwork">> <<set $leftaction to 0>><<set $leftactiondefault to "leftwork">><<handskilluse>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 3>><<actionsshaftrub $lefttarget>> <<elseif $NPCList[$lefttarget].penis is "leftarm">> <<set $leftactiondefault to "leftgrab">> <<set $leftarm to 0>><<set $NPCList[$lefttarget].penis to 0>> <span class="blue">You try to rub <<hisselect $lefttarget>> shaft, but <<he>> moves away.</span> <</if>> <</if>> <<if $rightaction is "rightwork">> <<set $rightaction to 0>><<set $rightactiondefault to "rightwork">><<handskilluse>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 3>><<actionsshaftrub $righttarget>> <<elseif $NPCList[$righttarget].penis is "rightarm">> <<set $rightactiondefault to "rightgrab">> <<set $rightarm to 0>><<set $NPCList[$righttarget].penis to 0>> <span class="blue">You try to rub <<hisselect $righttarget>> shaft, but <<he>> moves away.</span> <</if>> <</if>> <<if $leftaction is "handedge">> <<personselect $lefttarget>><<actionshandedge $lefttarget $leftarm>><<set $leftaction to 0>><<set $leftactiondefault to "handedge">> <<submission 5>><<sexControl 5 `currentSkillValue("handskill")` $lefttarget>><<handskilluse>> <</if>> <<if $rightaction is "handedge">> <<personselect $righttarget>><<actionshandedge $righttarget $rightarm>><<set $rightaction to 0>><<set $rightactiondefault to "handedge">> <<submission 5>><<sexControl 5 `currentSkillValue("handskill")` $righttarget>><<handskilluse>> <</if>> <<if $leftaction is "leftstoppenis" and $NPCList[$lefttarget].penis is "leftarm">> <<set $leftaction to 0>><<set $leftactiondefault to "leftstoppenis">><<submission 3>><<set $leftarm to 0>> <<set $NPCList[$lefttarget].penis to 0>>You let go of <<hisselect $lefttarget>> penis. <</if>> <<if $rightaction is "rightstoppenis" and $NPCList[$righttarget].penis is "rightarm">> <<set $rightaction to 0>><<set $rightactiondefault to "rightstoppenis">><<submission 3>><<set $rightarm to 0>> <<set $NPCList[$righttarget].penis to 0>>You let go of <<hisselect $righttarget>> penis. <</if>> <<if $leftaction is "leftstruggle" and $rightaction is "rightstruggle" and !$abomination and $lefttarget is $righttarget>> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftstruggle">><<set $rightactiondefault to "rightstruggle">> You struggle with all your might. <<defiance 2 $lefttarget>><<set $speechstruggle to 1>> <<if currentSkillValue('physique') gte random(1, 32000) and !$robinRentEvent>> <span class="teal">You manage to twist your arms free.</span> <<defiance 5 $lefttarget>> <<set $leftarm to 0>><<set $rightarm to 0>> <<if $NPCList[$lefttarget].lefthand is "arms">> <<set $NPCList[$lefttarget].lefthand to 0>> <</if>> <<if $NPCList[$lefttarget].righthand is "arms">> <<set $NPCList[$lefttarget].righthand to 0>> <</if>> <<else>> <span class="purple">Your arms remain grasped.</span> <</if>> <</if>> <<if $leftaction is "leftstruggle" and !$abomination>> <<set $leftaction to 0>><<set $leftactiondefault to "leftstruggle">> You struggle. <<set $speechstruggle to 1>><<defiance 1 $lefttarget>> <<if currentSkillValue('physique') gte random(1, 64000) and !$robinRentEvent>> <span class="teal">You manage to twist your arms free.</span> <<defiance 5 $lefttarget>> <<set $leftarm to 0>><<set $rightarm to 0>> <<if $NPCList[$lefttarget].lefthand is "arms">> <<set $NPCList[$lefttarget].lefthand to 0>> <</if>> <<if $NPCList[$lefttarget].righthand is "arms">> <<set $NPCList[$lefttarget].righthand to 0>> <</if>> <<else>> <span class="purple">Your arms remain grasped.</span> <</if>> <</if>> <<if $rightaction is "rightstruggle" and !$abomination>> <<set $rightaction to 0>><<set $rightactiondefault to "rightstruggle">> You struggle. <<defiance 1 $righttarget>><<set $speechstruggle to 1>> <<if currentSkillValue('physique') gte random(1, 64000) and !$robinRentEvent>> <span class="teal">You manage to twist your arms free.</span> <<defiance 5 $righttarget>> <<set $leftarm to 0>><<set $rightarm to 0>> <<if $NPCList[$righttarget].lefthand is "arms">> <<set $NPCList[$righttarget].lefthand to 0>> <</if>> <<if $NPCList[$righttarget].righthand is "arms">> <<set $NPCList[$righttarget].righthand to 0>> <</if>> <<else>> <span class="purple">Your arms remain grasped.</span> <</if>> <</if>> <<if $leftaction is "rest" and $rightaction is "rest">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "rest">><<set $rightactiondefault to "rest">> You rest your arms. <</if>> <<if $leftaction is "rest">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> You rest your left arm. <</if>> <<if $rightaction is "rest">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> You rest your right arm. <</if>> <<if $leftaction is "behind" and $rightaction is "behind">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "behind">><<set $rightactiondefault to "behind">> You hold your arms behind your back in a compliant gesture. <<meek 2>><<set $leftarm to "behind">><<set $rightarm to "behind">> <</if>> <<if $leftaction is "behind">> <<set $leftaction to 0>><<set $leftactiondefault to "behind">> You hold your left arm behind your back in a compliant gesture. <<meek 1>><<set $leftarm to "behind">> <</if>> <<if $rightaction is "behind">> <<set $rightaction to 0>><<set $rightactiondefault to "behind">> You hold your right arm behind your back in a compliant gesture. <<meek 1>><<set $rightarm to "behind">> <</if>> <<if $leftaction is "stopbehind" and $rightaction is "stopbehind">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "rest">><<set $rightactiondefault to "rest">> You move your arms in front of you. <<set $leftarm to 0>><<set $rightarm to 0>> <</if>> <<if $leftaction is "stopbehind">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> You move your left arm in front of you. <<set $leftarm to 0>> <</if>> <<if $rightaction is "stopbehind">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> You move your right arm in front of you. <<set $rightarm to 0>> <</if>> <<if $leftaction is "leftchest" and $rightaction is "rightchest">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftchest">> <<set $rightactiondefault to "rightchest">><<actionsStroke $lefttarget $righttarget>><<submission 2>> <</if>> <<if $leftaction is "leftchest">> <<set $leftaction to 0>><<set $leftactiondefault to "leftchest">><<actionsStroke $lefttarget>><<submission 1>> <</if>> <<if $rightaction is "rightchest">> <<set $rightaction to 0>><<set $rightactiondefault to "rightchest">><<actionsStroke $righttarget>><<submission 1>> <</if>> <<if $leftaction is "lefthit" and $rightaction is "righthit" and $lefttarget is $righttarget>> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "lefthit">> <<set $rightactiondefault to "righthit">><<actionshit both>><<defiance 5 $lefttarget>><<set $speechhit to 1>><<set $attackstat += 2>> <</if>> <<if $leftaction is "lefthit">> <<set $leftaction to 0>><<set $leftactiondefault to "lefthit">> <<if ($parasite.left_ear.name is "slime" and random(1, 3) is 3) or ($parasite.right_ear.name is "slime" and random(1, 3) is 3) or ($earSlime.growth gte 50 and random(1, 3) is 3)>> <<if $earSlime.growth gte (currentSkillValue('willpower') / 10) and random(0,100) gte $earSlime.growth / 3>> You try to hit the <<if $enemytype is "beast">><<beasttype>><<else>><<personselect $lefttarget>><<person>><</if>> with your left hand, <span class="red">but the slime immobilises your limb.</span> <<if $earSlime.growth gt 50>><<set $earSlime.defyCooldown++>><</if>> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10) and random(0,100) gte 50>> You try to hit the <<if $enemytype is "beast">><<beasttype>><<else>><<personselect $lefttarget>><<person>><</if>> with your left hand, <span class="red">but the slime distracts you, so you miss.</span> <<gwillpower>><<willpower 1>> <<else>> The slime tries to prevent you from hitting the <<if $enemytype is "beast">><<beasttype>><<else>><<personselect $lefttarget>><<person>><</if>>, <span class="green">but you make contact regardless.</span> <<actionshit $lefttarget>><<defiance 2 $lefttarget>><<set $speechhit to 1>><<set $attackstat += 1>> <</if>> <<else>> <<actionshit $lefttarget>><<defiance 2 $lefttarget>><<set $speechhit to 1>><<set $attackstat += 1>> <</if>> <</if>> <<if $rightaction is "righthit">> <<set $rightaction to 0>><<set $rightactiondefault to "righthit">><<personselect $righttarget>> <<if ($parasite.left_ear.name is "slime" and random(1, 3) is 3) or ($parasite.right_ear.name is "slime" and random(1, 3) is 3) or ($earSlime.growth gte 50 and random(1, 3) is 3)>> <<if $earSlime.growth gte (currentSkillValue('willpower') / 10) and random(0,100) gte $earSlime.growth / 3>> You try to hit the <<if $enemytype is "beast">><<beasttype>><<else>><<person>><</if>> with your right hand, <span class="red">but the slime immobilises your limb.</span> <<if $earSlime.growth gt 50>><<set $earSlime.defyCooldown++>><</if>> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10) and random(0,100) gte 50>> You try to hit the <<if $enemytype is "beast">><<beasttype>><<else>><<person>><</if>> with your right hand, <span class="red">but the slime distracts you, so you miss.</span> <<gwillpower>><<willpower 1>> <<else>> The slime tries to prevent you from hitting the <<if $enemytype is "beast">><<beasttype>><<else>><<personselect $righttarget>><<person>><</if>>, <span class="green">but you make contact regardless.</span> <<actionshit $righttarget>><<defiance 2 $righttarget>><<set $speechhit to 1>><<set $attackstat += 1>> <</if>> <<else>> <<actionshit $righttarget>><<set $speechhit to 1>><<defiance 2 $righttarget>><<set $attackstat += 1>> <</if>> <</if>> <<if $leftaction is "leftcamerapose" and $rightaction is "rightcamerapose">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftcamerapose">><<set $rightactiondefault to "rightcamerapose">> <<neutral 4>> You make peace signs for the cameras. <<set $speechcamerapose to 1>> <<elseif $leftaction is "leftcamerapose">> <<set $leftaction to 0>><<set $leftactiondefault to "leftcamerapose">> <<neutral 2>> You make a peace sign with your left hand. <<set $speechcamerapose to 1>> <<elseif $rightaction is "rightcamerapose">> <<set $rightaction to 0>><<set $rightactiondefault to "rightcamerapose">> <<neutral 2>> You make a peace sign with your right hand. <<set $speechcamerapose to 1>> <</if>> <<cover_end>>/*Resets $face and other variables that are covered */ <<if $leftaction is "leftcoverface" and $rightaction is "rightcoverface">> <<if $uncomfortable.hypnosis is false and $hypnosis_traits.cover gte random(1,5)>> <<hypnosisicon>> You intend to cover your face, but a lewd thought intrudes <span class="lewd">and your mind immediately accepts it.</span> You stroke your face with your hands, winking and teasing around your lips. <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>> <<hypnosisicon>> <<elseif $hypnosis_traits.cover gte 1 and $willpower lt random(1, (200 * $hypnosis_traits.cover))>> <<hypnosisicon>> You intend to cover your face, <span class="pink">but the thought is snatched from your mind, and replaced with another.</span> You stroke your face with your hands, winking and teasing around your lips. <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>><<willpower 1>> <<hypnosisicon>> <<else>> You <<if $hypnosis_traits.cover gte 1>> <span class="green">resist intrusive thoughts</span> and <</if>> cover your face with your hands. <<set $speechcoverface to 1>><<set $face to "covered">><<neutral 2>> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftcoverface">><<set $rightactiondefault to "rightcoverface">> <</if>> <<elseif $leftaction is "leftcoverface">> <<if $uncomfortable.hypnosis is false and $hypnosis_traits.cover gte random(1,5)>> <<hypnosisicon>> You intend to cover your face, but a lewd thought intrudes <span class="lewd">and your mind immediately accepts it.</span> You stroke your face with your left hand, winking and teasing around your lips. <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>> <<hypnosisicon>> <<elseif $hypnosis_traits.cover gte 1 and $willpower lt random(1, (200 * $hypnosis_traits.cover))>> <<hypnosisicon>> You intend to cover your face, <span class="pink">but the thought is snatched from your mind, and replaced with another.</span> You stroke your face with your left hand, winking and teasing around your lips. <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>><<willpower 1>> <<hypnosisicon>> <<else>> You <<if $hypnosis_traits.cover gte 1>> <span class="green">resist intrusive thoughts</span> and <</if>> cover your face with your left hand. <<set $speechcoverface to 1>><<set $face to "covered">><<neutral 1>> <<set $leftaction to 0>><<set $leftactiondefault to "leftcoverface">> <</if>> <<elseif $rightaction is "rightcoverface">> <<if $uncomfortable.hypnosis is false and $hypnosis_traits.cover gte random(1,5)>> <<hypnosisicon>> You intend to cover your face, but a lewd thought intrudes <span class="lewd">and your mind immediately accepts it.</span> You stroke your face with your right hand, winking and teasing around your lips. <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>> <<hypnosisicon>> <<elseif $hypnosis_traits.cover gte 1 and $willpower lt random(1, (200 * $hypnosis_traits.cover))>> <<hypnosisicon>> You intend to cover your face, <span class="pink">but the thought is snatched from your mind, and replaced with another.</span> You stroke your face with your right hand, winking and teasing around your lips. <<submission 1>><<set $speechcamerapose to 1>><<hypnotised 1>><<willpower 1>> <<hypnosisicon>> <<else>> You <<if $hypnosis_traits.cover gte 1>> <span class="green">resist intrusive thoughts</span> and <</if>> cover your face with your right hand. <<set $speechcoverface to 1>><<set $face to "covered">><<neutral 1>> <<set $rightaction to 0>><<set $rightactiondefault to "rightcoverface">> <</if>> <</if>> /* Vagina Cover */ <<if $leftaction is "leftcovervaginalewd" and $rightaction is "rightcovervaginalewd">> <<effectsCoverVagina "both" "lewd">> <<elseif $leftaction is "leftcovervaginalewd">> <<effectsCoverVagina "left" "lewd">> <<elseif $rightaction is "rightcovervaginalewd">> <<effectsCoverVagina "right" "lewd">> <</if>> <<if $leftaction is "leftcovervaginameek" and $rightaction is "rightcovervaginameek">> <<effectsCoverVagina "both" "meek">> <<elseif $leftaction is "leftcovervaginameek">> <<effectsCoverVagina "left" "meek">> <<elseif $rightaction is "rightcovervaginameek">> <<effectsCoverVagina "right" "meek">> <</if>> <<if $leftaction is "leftcovervagina" and $rightaction is "rightcovervagina">> <<effectsCoverVagina "both">> <<elseif $leftaction is "leftcovervagina">> <<effectsCoverVagina "left">> <<elseif $rightaction is "rightcovervagina">> <<effectsCoverVagina "right">> <</if>> /* Penis Cover */ <<if $leftaction is "leftcoverpenislewd" and $rightaction is "rightcoverpenislewd">> <<effectsCoverPenis "both" "lewd">> <<elseif $leftaction is "leftcoverpenislewd">> <<effectsCoverPenis "left" "lewd">> <<elseif $rightaction is "rightcoverpenislewd">> <<effectsCoverPenis "right" "lewd">> <</if>> <<if $leftaction is "leftcoverpenismeek" and $rightaction is "rightcoverpenismeek">> <<effectsCoverPenis "both" "meek">> <<elseif $leftaction is "leftcoverpenismeek">> <<effectsCoverPenis "left" "meek">> <<elseif $rightaction is "rightcoverpenismeek">> <<effectsCoverPenis "right" "meek">> <</if>> <<if $leftaction is "leftcoverpenis" and $rightaction is "rightcoverpenis">> <<effectsCoverPenis "both">> <<elseif $leftaction is "leftcoverpenis">> <<effectsCoverPenis "left">> <<elseif $rightaction is "rightcoverpenis">> <<effectsCoverPenis "right">> <</if>> /* Anus Cover */ <<if $leftaction is "leftcoveranuslewd" and $rightaction is "rightcoveranuslewd">> <<effectsCoverAnus "both" "lewd">> <<elseif $leftaction is "leftcoveranuslewd">> <<effectsCoverAnus "left" "lewd">> <<elseif $rightaction is "rightcoveranuslewd">> <<effectsCoverAnus "right" "lewd">> <</if>> <<if $leftaction is "leftcoveranusmeek" and $rightaction is "rightcoveranusmeek">> <<effectsCoverAnus "both" "meek">> <<elseif $leftaction is "leftcoveranusmeek">> <<effectsCoverAnus "left" "meek">> <<elseif $rightaction is "rightcoveranusmeek">> <<effectsCoverAnus "right" "meek">> <</if>> <<if $leftaction is "leftcoveranus" and $rightaction is "rightcoveranus">> <<effectsCoverAnus "both">> <<elseif $leftaction is "leftcoveranus">> <<effectsCoverAnus "left">> <<elseif $rightaction is "rightcoveranus">> <<effectsCoverAnus "right">> <</if>> <<if $leftaction is "leftstopvagina" and $rightaction is "rightstopvagina">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftstopvagina">><<set $rightactiondefault to "rightstopvagina">> You stop shielding your pussy with your hands. <<set $leftarm to 0>><<set $rightarm to 0>><<set $vaginause to 0>><<meek 2>> <</if>> <<if $leftaction is "leftstopcoverpenis" and $rightaction is "rightstopcoverpenis">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftstopcoverpenis">><<set $rightactiondefault to "rightstopcoverpenis">> You stop shielding your penis with your hands. <<set $leftarm to 0>><<set $rightarm to 0>><<set $penisuse to 0>><<meek 2>> <</if>> <<if $leftaction is "leftstopanus" and $rightaction is "rightstopanus">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftstopanus">><<set $rightactiondefault to "rightstopanus">> You stop shielding your <<bottom>> with your hands. <<set $leftarm to 0>><<set $rightarm to 0>><<set $anususe to 0>><<meek 2>> <</if>> <<if $leftaction is "leftstopvagina">> <<set $leftaction to 0>><<set $leftactiondefault to "leftstopvagina">> You stop covering your pussy with your left hand. <<set $leftarm to 0>> <<if $rightarm isnot "vagina">> <<set $vaginause to 0>> <</if>><<meek 1>> <</if>> <<if $leftaction is "leftstopcoverpenis">> <<set $leftaction to 0>><<set $leftactiondefault to "leftstopcoverpenis">> You stop covering your penis with your left hand. <<set $leftarm to 0>> <<if $rightarm isnot "coverpenis">> <<set $penisuse to 0>> <</if>> <<meek 1>> <</if>> <<if $leftaction is "leftstopanus">> <<set $leftaction to 0>><<set $leftactiondefault to "leftstopanus">> You stop covering your <<bottom>> with your left hand. <<set $leftarm to 0>> <<if $rightarm isnot "anus">> <<set $anususe to 0>> <</if>> <<meek 1>> <</if>> <<if $rightaction is "rightstopvagina">> <<set $rightaction to 0>><<set $rightactiondefault to "rightstopvagina">> You stop covering your vagina with your right hand. <<set $rightarm to 0>> <<if $leftarm isnot "vagina">> <<set $vaginause to 0>> <</if>> <<meek 1>> <</if>> <<if $rightaction is "rightstopcoverpenis">> <<set $rightaction to 0>><<set $rightactiondefault to "rightstopcoverpenis">> You stop covering your penis with your right hand. <<set $rightarm to 0>> <<if $leftarm isnot "coverpenis">> <<set $penisuse to 0>> <</if>> <<meek 1>> <</if>> <<if $rightaction is "rightstopanus">> <<set $rightaction to 0>><<set $rightactiondefault to "rightstopanus">> You stop covering you anus with your right hand. <<set $rightarm to 0>> <<if $leftarm isnot "anus">> <<set $anususe to 0>> <</if>> <<meek 1>> <</if>> <<if $leftaction is "leftclit">> <<set $leftaction to 0>><<set $leftactiondefault to "leftclit">><<handskilluse>> <<if combatSkillCheck("hand", $lefttarget)>> <<actionsclitstroke $lefttarget>><<submission 10>><<set $speechhandjobvagina to 1>> <<elseif $NPCList[$lefttarget].vagina is "leftarm">> <<set $leftarm to 0>><<set $leftactiondefault to "leftplay">> <<set $NPCList[$lefttarget].vagina to 0>><<personselect $lefttarget>> <span class="blue">You stroke <<hisselect $lefttarget>> clit, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> <<if $rightaction is "rightclit">> <<set $rightaction to 0>><<set $rightactiondefault to "rightclit">><<handskilluse>> <<if combatSkillCheck("hand", $righttarget)>> <<actionsclitstroke $righttarget>><<submission 10>><<set $speechhandjobvagina to 1>> <<elseif $NPCList[$righttarget].vagina is "rightarm">> <<set $rightarm to 0>><<set $rightactiondefault to "rightplay">> <<set $NPCList[$righttarget].vagina to 0>><<personselect $righttarget>> <span class="blue">You stroke <<hisselect $righttarget>> clit, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> <<if $leftaction is "leftothervaginastop" and $NPCList[$lefttarget].vagina is "leftarm">> <<set $leftaction to 0>><<set $leftactiondefault to "leftothervaginastop">> <<set $NPCList[$lefttarget].vagina to 0>><<set $leftarm to 0>> <span class="blue">You move your left hand away from <<hisselect $lefttarget>> pussy.</span> <</if>> <<if $rightaction is "rightothervaginastop" and $NPCList[$righttarget].vagina is "rightarm">> <<set $rightaction to 0>><<set $rightactiondefault to "rightothervaginastop">> <<set $NPCList[$righttarget].vagina to 0>><<set $rightarm to 0>> <span class="blue">You move your right hand away from <<hisselect $righttarget>> pussy.</span> <</if>> <<if $leftaction is "leftplay">> <<set $leftaction to 0>><<handskilluse>><<set $leftactiondefault to "leftplay">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 1>><<handstat>> <<if $NPCList[$lefttarget].vagina is 0>> <<set $leftactiondefault to "leftclit">><<set $NPCList[$lefttarget].vagina to "leftarm">><<set $leftarm to "othervagina">><<personselect $lefttarget>> <span class="lblue">You <<handtext>> grab <<hisselect $lefttarget>> pussy<<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.vagina<</if>> with your left hand.</span> <<else>> <span class="blue">You try to grab <<hisselect $lefttarget>> pussy with your left hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to grab <<hisselect $lefttarget>> pussy with your left hand, but <<he>> moves it away. <</if>> <</if>> <<if $rightaction is "rightplay">> <<set $rightaction to 0>><<handskilluse>><<set $rightactiondefault to "rightplay">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 1>><<handstat>> <<if $NPCList[$righttarget].vagina is 0>> <<set $rightactiondefault to "rightclit">><<set $NPCList[$righttarget].vagina to "rightarm">><<set $rightarm to "othervagina">><<personselect $righttarget>> <span class="lblue">You <<handtext>> grab <<hisselect $righttarget>> pussy<<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.vagina<</if>> with your right hand.</span> <<else>> <span class="blue">You try to grab <<hisselect $righttarget>> pussy with your right hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to grab <<hisselect $righttarget>> pussy with your right hand, but <<he>> moves it away. <</if>> <</if>> <<if $leftaction is "leftunderpull" and $rightaction is "rightunderpull">> <<set $leftaction to 0>><<set $rightaction to 0>><<brat 1>><<set $leftactiondefault to "leftunderpull">><<set $rightactiondefault to "rightunderpull">> <<if $worn.under_lower.name is "naked">> You clutch the tattered remains of your clothing. <<brat 2>> <<else>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "underlowerclothes" or $NPCList[_j].righthand is "underlowerclothes" or (_j is 0 and $NPCList[_j].mouth is "underlowerclothes")>> You struggle for control of your $worn.under_lower.name. <<brat 2>><<set $underlowerstruggle to 1>> <<break>> <</if>> <</for>> <<if $underlowerstruggle is 0>> <<if $worn.under_lower.state is "ankles">> <<set $worn.under_lower.state to "knees">> You pull your $worn.under_lower.name up to your knees. <<elseif $worn.under_lower.state is "knees">> <<set $worn.under_lower.state to "thighs">> You pull your $worn.under_lower.name up to your thighs. <<elseif $worn.under_lower.state is "thighs">> <<if $vaginause is 0 and $anususe is 0>> You pull your $worn.under_lower.name up to your waist. <<set $worn.under_lower.state to "waist">><<set $worn.under_lower.exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].exposed_base>> <<set $worn.under_lower.vagina_exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].vagina_exposed_base>> <<set $worn.under_lower.anus_exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].anus_exposed_base>> <<else>> You try to pull up your $worn.under_lower.name, but something is in the way. <</if>> <</if>> <</if>> <</if>> <</if>> <<if $leftaction is "leftunderpull">> <<set $leftaction to 0>><<brat 1>><<set $leftactiondefault to "leftunderpull">> <<if $worn.under_lower.name is "naked">> You clutch the tattered remains of your clothing. <<else>> <<if !$NPCList.some(npc => npc.lefthand !== "underlowerclothes" || npc.righthand !== "underlowerclothes" || npc.mouth !== "underlowerclothes")>> <<if $worn.under_lower.state is "ankles">> <<set $worn.under_lower.state to "knees">> You pull your $worn.under_lower.name up to your knees. <<elseif $worn.under_lower.state is "knees">> <<set $worn.under_lower.state to "thighs">> You pull your $worn.under_lower.name up to your thighs. <<elseif $worn.under_lower.state is "thighs">> <<if $vaginause is 0 and $anususe is 0>> You pull your $worn.under_lower.name up to your waist. <<set $worn.under_lower.state to "waist">><<set $worn.under_lower.exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].exposed_base>> <<set $worn.under_lower.vagina_exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].vagina_exposed_base>> <<set $worn.under_lower.anus_exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].anus_exposed_base>> <<else>> You try to pull up your $worn.under_lower.name, but something is in the way. <</if>> <</if>> <<else>> You try to pull up your $worn.under_lower.name, but one hand won't be enough. <<brat 1>> <</if>> <</if>> <</if>> <<if $rightaction is "rightunderpull">> <<set $rightaction to 0>><<brat 1>><<set $rightactiondefault to "rightunderpull">> <<if $worn.under_lower.name is "naked">> You clutch the tattered remains of your clothing. <<else>> <<if !$NPCList.some(npc => npc.lefthand !== "underlowerclothes" || npc.righthand !== "underlowerclothes" || npc.mouth !== "underlowerclothes")>> <<if $worn.under_lower.state is "ankles">> <<set $worn.under_lower.state to "knees">> You pull your $worn.under_lower.name up to your knees. <<elseif $worn.under_lower.state is "knees">> <<set $worn.under_lower.state to "thighs">> You pull your $worn.under_lower.name up to your thighs. <<elseif $worn.under_lower.state is "thighs">> <<if $vaginause is 0 and $anususe is 0>> You pull your $worn.under_lower.name up to your waist. <<set $worn.under_lower.state to "waist">><<set $worn.under_lower.exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].exposed_base>> <<set $worn.under_lower.vagina_exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].vagina_exposed_base>> <<set $worn.under_lower.anus_exposed to setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].anus_exposed_base>> <<else>> You try to pull up your $worn.under_lower.name, but one hand won't be enough. <</if>> <</if>> <<else>> You try to pull up your $worn.under_lower.name, but you aren't strong enough. <<brat 1>> <</if>> <</if>> <</if>> <<if $leftaction is "leftskirtpull" and $rightaction is "rightskirtpull">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftskirtpull">><<set $rightactiondefault to "rightskirtpull">><<brat 1>> <<if $worn.lower.name is "naked">> You clutch the tattered remains of your clothing. <<else>> You pull your $worn.lower.name down with both hands, covering your crotch. <<set $worn.lower.skirt_down to 1>><<set $worn.lower.vagina_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].vagina_exposed_base>> <<set $worn.lower.anus_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].anus_exposed_base>><<set $worn.lower.exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].exposed_base>> <</if>> <</if>> <<if $leftaction is "leftskirtpull">> <<set $leftaction to 0>><<set $leftactiondefault to "leftskirtpull">><<brat 1>> <<if $worn.lower.name is "naked">> You clutch the tattered remains of your clothing. <<else>> You pull your $worn.lower.name back down, covering your crotch. <<set $worn.lower.skirt_down to 1>><<set $worn.lower.vagina_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].vagina_exposed_base>> <<set $worn.lower.anus_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].anus_exposed_base>><<set $worn.lower.exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].exposed_base>> <</if>> <</if>> <<if $rightaction is "rightskirtpull">> <<set $rightaction to 0>><<set $rightactiondefault to "rightskirtpull">><<brat 1>> <<if $worn.lower.name is "naked">> You clutch the tattered remains of your clothing. <<else>> You pull your $worn.lower.name back down, covering your crotch. <<set $worn.lower.skirt_down to 1>><<set $worn.lower.vagina_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].vagina_exposed_base>> <<set $worn.lower.anus_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].anus_exposed_base>><<set $worn.lower.exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].exposed_base>> <</if>> <</if>> <<if $leftaction is "leftlowerpull" or $rightaction is "rightlowerpull">> <<set $_strength to 0>> <<if $leftaction is "leftlowerpull">> <<set $leftaction to 0>><<set $leftactiondefault to "leftlowerpull">><<set $_strength++>> <</if>> <<if $rightaction is "rightlowerpull">> <<set $rightaction to 0>><<set $rightactiondefault to "rightlowerpull">><<set $_strength++>> <</if>> <<brat 1>> <<if $worn.lower.name is "naked">> You clutch the tattered remains of your clothing. <<brat 2>> <<else>> <<if $underlowerstruggle is 0>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "lowerclothes" or $NPCList[_j].righthand is "lowerclothes" or (_j is 0 and $NPCList[_j].mouth is "lowerclothes")>> <<if $_strength is 2>> You struggle for control of your $worn.lower.name. <<brat 2>><<set $lowerstruggle to 1>><<set _lowerpull to "failed">> <<break>> <<else>> You try to pull up your $worn.lower.name, but you aren't strong enough. <<brat 1>><<set _lowerpull to "failed">> <<break>> <</if>> <</if>> <</for>> <<if _lowerpull isnot "failed">> <<if $vaginause isnot 0 and $vaginause isnot "none">> Your $worn.lower.name hang loosely, but you can't adjust <<lowerit>> while your <<pussy>> is threatened. <<elseif $penisuse isnot 0 and $penisuse isnot "none">> Your $worn.lower.name hang loosely, but you can't adjust <<lowerit>> while your <<penis>> is threatened. <<elseif $anususe isnot 0>> Your $worn.lower.name hang loosely, but you can't adjust <<lowerit>> while your <<bottom>> is threatened. <<else>> You fix your <<if $worn.over_lower.exposed gt 0>> $worn.lower.name, concealing your <<if $worn.under_lower.exposed gte 1>> <<genitals>>. <<else>> $worn.under_lower.name. <</if>> <<else>> $worn.lower.name. <</if>> <<brat 5>><<set $worn.lower.state to setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>><<set $worn.lower.skirt_down to 1>><</if>> <<set $worn.lower.vagina_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].vagina_exposed_base>> <<set $worn.lower.anus_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].anus_exposed_base>><<set $worn.lower.exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].exposed_base>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if $leftaction is "leftoverlowerpull" or $rightaction is "rightoverlowerpull">> <<set $_strength to 0>> <<if $leftaction is "leftoverlowerpull">> <<set $leftaction to 0>><<set $leftactiondefault to "leftoverlowerpull">><<set $_strength++>> <</if>> <<if $rightaction is "rightoverlowerpull">> <<set $rightaction to 0>><<set $rightactiondefault to "rightoverlowerpull">><<set $_strength++>> <</if>> <<brat 1>> <<if $worn.over_lower.name is "naked">> You clutch the tattered remains of your clothing. <<brat 2>> <<else>> <<if $underlowerstruggle is 0>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "overlowerclothes" or $NPCList[_j].righthand is "overlowerclothes" or (_j is 0 and $NPCList[_j].mouth is "overlowerclothes")>> <<if $_strength is 2>> You struggle for control of your $worn.over_lower.name. <<brat 2>><<set $overlowerstruggle to 1>><<set _overlowerpull to "failed">> <<break>> <<else>> You try to pull up your $worn.over_lower.name, but you aren't strong enough. <<brat 1>><<set _overlowerpull to "failed">> <<break>> <</if>> <</if>> <</for>> <<if _overlowerpull isnot "failed">> <<if $vaginause isnot 0 and $vaginause isnot "none">> Your $worn.over_lower.name hang loosely, but you can't adjust <<overlowerit>> while your <<pussy>> is threatened. <<elseif $penisuse isnot 0 and $penisuse isnot "none">> Your $worn.over_lower.name hang loosely, but you can't adjust <<overlowerit>> while your <<penis>> is threatened. <<elseif $anususe isnot 0>> Your $worn.over_lower.name hang loosely, but you can't adjust <<overlowerit>> while your <<bottom>> is threatened. <<else>> You fix your <<if $worn.lower.exposed gt 0>> $worn.over_lower.name, concealing your <<if $worn.under_lower.exposed gte 1>> <<genitals>>. <<else>> $worn.under_lower.name. <</if>> <<else>> $worn.over_lower.name. <</if>> <<brat 5>><<set $worn.over_lower.state to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base>> <<if setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1>><<set $worn.over_lower.skirt_down to 1>><</if>> <<set $worn.over_lower.vagina_exposed to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].vagina_exposed_base>> <<set $worn.over_lower.anus_exposed to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].anus_exposed_base>><<set $worn.over_lower.exposed to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].exposed_base>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if $leftaction is "leftupperpull" or $rightaction is "rightupperpull">> <<set $_strength to 0>> <<if $leftaction is "leftupperpull">> <<set $leftaction to 0>><<set $leftactiondefault to "leftupperpull">><<set $_strength++>> <</if>> <<if $rightaction is "rightupperpull">> <<set $rightaction to 0>><<set $rightactiondefault to "rightupperpull">><<set $_strength++>> <</if>> <<brat 1>> <<if $worn.upper.name is "naked">> You clutch the tattered remains of your clothing. <<else>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "upperclothes" or $NPCList[_j].righthand is "upperclothes" or (_j is 0 and $NPCList[_j].mouth is "upperclothes")>> <<if $_strength is 2>> You struggle for control of your $worn.upper.name. <<brat 2>><<set $upperstruggle to 1>><<set _upperpull to "failed">> <<break>> <<else>> You struggle for your $worn.upper.name, but you aren't strong enough. <<brat 1>><<set _upperpull to "failed">> <<break>> <</if>> <</if>> <</for>> <<if _upperpull isnot "failed">> <<if $vaginause isnot 0 and $vaginause isnot "none">> Your $worn.lower.name hang loosely, but you can't adjust <<lowerit>> while your <<pussy>> is threatened. <<elseif $penisuse isnot 0 and $penisuse isnot "none">> Your $worn.lower.name hang loosely, but you can't adjust <<lowerit>> while your <<penis>> is threatened. <<elseif $anususe isnot 0>> Your $worn.lower.name hang loosely, but you can't adjust <<lowerit>> while your <<bottom>> is threatened. <<elseif $worn.lower.set is $worn.upper.set>> You fix your <<if $worn.over_upper.exposed gt 0 or $worn.over_lower.exposed gt 0>> $worn.upper.name, concealing your <<if $worn.over_upper.exposed gt 0>><<breasts>> <<if $worn.over_lower.exposed gt 0>>and<</if>><</if>> <<if $worn.over_lower.exposed is 0>> <<elseif $worn.under_lower.exposed gte 1>> <<genitals>>. <<else>> $worn.under_lower.name. <</if>> <<else>> $worn.upper.name. <</if>> <<brat 5>><<set $worn.upper.state to setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base>><<set $worn.upper.state_top to setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base>> <<set $worn.upper.exposed to setup.clothes.upper[clothesIndex('upper', $worn.upper)].exposed_base>><<set $worn.lower.state to setup.clothes.lower[clothesIndex('lower', $worn.lower)].state_base>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>><<set $worn.lower.skirt_down to 1>><</if>><<set $worn.lower.vagina_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].vagina_exposed_base>> <<set $worn.lower.anus_exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].anus_exposed_base>><<set $worn.lower.exposed to setup.clothes.lower[clothesIndex('lower', $worn.lower)].exposed_base>> <<else>> You fix your $worn.upper.name, concealing your <<breasts>>. <<brat 5>><<set $worn.upper.state to setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_base>> <<set $worn.upper.state_top to setup.clothes.upper[clothesIndex('upper', $worn.upper)].state_top_base>><<set $worn.upper.exposed to setup.clothes.upper[clothesIndex('upper', $worn.upper)].exposed_base>> <</if>> <</if>> <</if>> <</if>> <<if $leftaction is "leftoverupperpull" or $rightaction is "rightoverupperpull">> <<set $_strength to 0>> <<if $leftaction is "leftoverupperpull">> <<set $leftaction to 0>><<set $leftactiondefault to "leftoverupperpull">><<set $_strength++>> <</if>> <<if $rightaction is "rightoverupperpull">> <<set $rightaction to 0>><<set $rightactiondefault to "rightoverupperpull">><<set $_strength++>> <</if>> <<brat 1>> <<if $worn.over_upper.name is "naked">> You clutch the tattered remains of your clothing. <<else>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "overupperclothes" or $NPCList[_j].righthand is "overupperclothes" or (_j is 0 and $NPCList[_j].mouth is "overupperclothes")>> <<if $_strength is 2>> You struggle for control of your $worn.over_upper.name. <<brat 2>><<set $overupperstruggle to 1>><<set _overupperpull to "failed">> <<break>> <<else>> You struggle for your $worn.over_upper.name, but you aren't strong enough. <<brat 1>><<set _overupperpull to "failed">> <<break>> <</if>> <</if>> <</for>> <<if _overupperpull isnot "failed">> <<if $vaginause isnot 0 and $vaginause isnot "none">> Your $worn.over_lower.name hang loosely, but you can't adjust <<overlowerit>> while your <<pussy>> is threatened. <<elseif $penisuse isnot 0 and $penisuse isnot "none">> Your $worn.over_lower.name hang loosely, but you can't adjust <<overlowerit>> while your <<penis>> is threatened. <<elseif $anususe isnot 0>> Your $worn.over_lower.name hang loosely, but you can't adjust <<overlowerit>> while your <<bottom>> is threatened. <<elseif $worn.over_lower.set is $worn.over_upper.set>> You fix your <<if $worn.upper.exposed gt 0 or $worn.lower.exposed gt 0>> $worn.over_upper.name, concealing your <<if $worn.upper.exposed gt 0>><<breasts>> <<if $worn.lower.exposed gt 0>>and<</if>><</if>> <<if $worn.lower.exposed is 0>> <<elseif $worn.under_lower.exposed gte 1>> <<genitals>>. <<else>> $worn.under_lower.name. <</if>> <<else>> $worn.over_upper.name. <</if>> <<brat 5>><<set $worn.over_upper.state to setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base>><<set $worn.over_upper.state_top to setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base>> <<set $worn.over_upper.exposed to setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].exposed_base>><<set $worn.over_lower.state to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].state_base>> <<if setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1>><<set $worn.over_lower.skirt_down to 1>><</if>><<set $worn.over_lower.vagina_exposed to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].vagina_exposed_base>> <<set $worn.over_lower.anus_exposed to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].anus_exposed_base>><<set $worn.over_lower.exposed to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].exposed_base>> <<else>> You fix your $worn.over_upper.name<<if $worn.upper.exposed gt 0>>, concealing your <<breasts>><</if>>. <<brat 5>><<set $worn.over_upper.state to setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_base>> <<set $worn.over_upper.state_top to setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].state_top_base>><<set $worn.over_upper.exposed to setup.clothes.over_upper[clothesIndex('over_upper', $worn.over_upper)].exposed_base>> <</if>> <</if>> <</if>> <</if>> <<unset $keepchoke>> <<if $leftaction is "keepchoke" or $rightaction is "keepchoke">> <<if $neckuse is "hand">> <<if $leftaction is "keepchoke">> <<personselect $lefttarget>> <<else>> <<personselect $righttarget>> <</if>> <<if $leftactioncarry is "keepchoke" or $rightactioncarry is "keepchoke">> You keep pressing <<his>> hand against your neck. <<else>> You reach out to <<his>> hand holding your neck and push it harder against your soft skin. <span class="sub"><<His>> grip tightens around your throat.</span> <</if>> <</if>> <<if $leftaction is "keepchoke">> <<set $leftaction to 0>><<set $leftactiondefault to "keepchoke">><<submission 1>> <</if>> <<if $rightaction is "keepchoke">> <<set $rightaction to 0>><<set $rightactiondefault to "keepchoke">><<submission 1>> <</if>> <<set $keepchoke = 1>> <</if>> <<if ["stopchoke", "stopchokenoncon"].includesAny($leftaction, $rightaction)>> <<if $consensual is 1>> <<if ["stopchoke", "stopchokenoncon"].includes($leftaction)>> <<set $leftaction to 0>><<set $leftactiondefault to "stopchoke">> <<brat 1 $lefttarget>><<personselect $lefttarget>> <</if>> <<if ["stopchoke", "stopchokenoncon"].includes($rightaction)>> <<set $rightaction to 0>><<set $rightactiondefault to "stopchoke">> <<brat 1 $righttarget>><<personselect $righttarget>> <</if>> <<if $neckuse is "hand">> You reach out to <<his>> hand on your neck and gently pull it away. <<He>> doesn't resist. <<unset $neckuse>> <<if $NPCList[_n].lefthand == "throat">> <<set $NPCList[_n].lefthand = 0>> <</if>> <<if $NPCList[_n].righthand == "throat">> <<set $NPCList[_n].righthand = 0>> <</if>> <</if>> <<else>> <<set _handsCount = 0>> <<if ["stopchoke", "stopchokenoncon"].includes($leftaction)>> <<set $leftaction to 0>><<set $leftactiondefault to "stopchokenoncon">> <<defiance 2 $lefttarget>><<personselect $lefttarget>> <<set _handsCount++>> <</if>> <<if ["stopchoke", "stopchokenoncon"].includes($rightaction)>> <<set $rightaction to 0>><<set $rightactiondefault to "stopchokenoncon">> <<defiance 2 $righttarget>><<personselect $righttarget>> <<set _handsCount++>> <</if>> <<if $neckuse is "hand">> You dig your nails into <<his>> hand around your throat and pull it. <<defiance 2 _n>><<set $speechstruggle to 1>> <<if currentSkillValue('physique') gte random(1, 60000/_handsCount)>> <span class="teal">You manage to rip <<his>> hand off your throat.</span> <<defiance 5 _n>> <<unset $neckuse>> <<gaspair>> <<if $leftactiondefault == "stopchokenoncon">> <<set $leftactiondefault to "rest">> <</if>> <<if $rightactiondefault == "stopchokenoncon">> <<set $rightactiondefault to "rest">> <</if>> <<if $NPCList[_n].lefthand == "throat">> <<set $NPCList[_n].lefthand = 0>> <</if>> <<if $NPCList[_n].righthand == "throat">> <<set $NPCList[_n].righthand = 0>> <</if>> <<elseif currentSkillValue('physique') gte random(1, 40000/_handsCount)>> <<His>> hand doesn't move, however <span class="blue">you manage to gasp for a bit of air when <<his>> grip weakens momentarily</span>. <<oxygen 200>> <<else>> <span class="purple"><<His>> hand remains on your throat.</span> <</if>> <</if>> <</if>> <</if>> <<if $rightaction is "rightUndressOther" and $leftaction is "leftUndressOther" and $lefttarget is $righttarget and $undressLeftTarget is $undressRightTarget>> <<if $undressLeftTarget is "rest">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "rest">><<set $rightactiondefault to "rest">> You rest your arms. <<else>> <<set $rightaction to 0>><<set $leftaction to 0>><<set $rightactiondefault to "rightUndressOther">><<set $leftactiondefault to "leftUndressOther">> <<handskilluse>><<combatpromiscuity2>><<brat 2 $righttarget>> <<set $_npc to $NPCList[$righttarget]>><<set $_clothesTarget to $undressRightTarget>> <<personselect $righttarget>> <<if combatSkillCheck("hand", $lefttarget, $NPCList[$lefttarget].fullDescription, 700, $_npc.clothes[$_clothesTarget].integrity)>> <!-- Using a switch to make it easier to add more NPC clothes types later --> <<switch $_clothesTarget>> <<case "upper">> <span class="lblue">You <<handtext>> <<npcUndressText $_npc $_clothesTarget>> with both hands, <<npcRevealText $_npc $_clothesTarget>>.</span> <<set $_npc.chest to 0>> <<case "lower">> <span class="lblue">You <<handtext>> <<npcUndressText $_npc $_clothesTarget>> with both hands, <<npcRevealText $_npc $_clothesTarget>>.</span> <<if $_npc.fullDescription is "Sydney">> <<sydneyExpose>> <</if>> <<if $_npc.penis is "clothed">> <<npcGenitalReaction $_npc>> <<set $_npc.penis to 0>> <</if>> <<if $_npc.vagina is "clothed">> <<set $_npc.vagina to 0>> <</if>> <<default>> You try to undress <<him>>, but grab nothing but the air. <span class="red">Improper clothes target: $_clothesTarget. Please report this bug.</span> <</switch>> <<else>> You try to <<npcUndressText $_npc $_clothesTarget>>, but <<he>> holds on to <<his>> clothes. <<set $_npc.clothes[$_clothesTarget].integrity -= Math.floor((currentSkillValue("handskill") / 100) * 1.5)>> <</if>> <</if>> <<unset $undressLeftTarget>><<unset $undressRightTarget>> <</if>> <<if $rightaction is "rightUndressOther">> <<if $undressRightTarget is "rest">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> You rest your right arm. <<else>> <<set $rightaction to 0>><<set $rightactiondefault to "rightUndressOther">><<handskilluse>><<combatpromiscuity2>><<brat 1 $righttarget>> <<set $_npc to $NPCList[$righttarget]>><<set $_clothesTarget to $undressRightTarget>> <<personselect $righttarget>> <<if combatSkillCheck("hand", $righttarget, $NPCList[$righttarget].fullDescription, 1000, $_npc.clothes[$_clothesTarget].integrity)>> <!-- Using a switch to make it easier to add more NPC clothes types later --> <<switch $_clothesTarget>> <<case "upper">> <span class="lblue">You <<handtext>> <<npcUndressText $_npc $_clothesTarget>>, <<npcRevealText $_npc $_clothesTarget>>.</span> <<set $_npc.chest to 0>> <<case "lower">> <span class="lblue">You <<handtext>> <<npcUndressText $_npc $_clothesTarget>>, <<npcRevealText $_npc $_clothesTarget>>.</span> <<if $_npc.fullDescription is "Sydney">> <<sydneyExpose>> <</if>> <<if $_npc.penis is "clothed">> <<npcGenitalReaction $_npc>> <<set $_npc.penis to 0>> <</if>> <<if $_npc.vagina is "clothed">> <<set $_npc.vagina to 0>> <</if>> <<default>> You try to undress <<him>>, but grab nothing but the air. <span class="red">Improper clothes target: $_clothesTarget. Please report this bug.</span> <</switch>> <<else>> You try to <<npcUndressText $_npc $_clothesTarget>>, but <<he>> holds on to <<his>> clothes. <<set $_npc.clothes[$_clothesTarget].integrity -= Math.floor(currentSkillValue("handskill") / 100)>> <</if>> <</if>> <<unset $undressRightTarget>> <</if>> <<if $leftaction is "leftUndressOther">> <<if $undressLeftTarget is "rest">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> You rest your left arm. <<else>> <<set $leftaction to 0>><<set $leftactiondefault to "leftUndressOther">><<handskilluse>><<combatpromiscuity2>><<brat 1 $lefttarget>> <<set $_npc to $NPCList[$lefttarget]>><<set $_clothesTarget to $undressLeftTarget>> <<personselect $lefttarget>> <<if combatSkillCheck("hand", $lefttarget, $NPCList[$lefttarget].fullDescription, 1000, $_npc.clothes[$_clothesTarget].integrity)>> <!-- Using a switch to make it easier to add more NPC clothes types later --> <<switch $_clothesTarget>> <<case "upper">> <span class="lblue">You <<handtext>> <<npcUndressText $_npc $_clothesTarget>>, <<npcRevealText $_npc $_clothesTarget>>.</span> <<set $_npc.chest to 0>> <<case "lower">> <span class="lblue">You <<handtext>> <<npcUndressText $_npc $_clothesTarget>>, <<npcRevealText $_npc $_clothesTarget>>.</span> <<if $_npc.fullDescription is "Sydney">> <<sydneyExpose>> <</if>> <<if $_npc.penis is "clothed">> <<npcGenitalReaction $_npc>> <<set $_npc.penis to 0>> <</if>> <<if $_npc.vagina is "clothed">> <<set $_npc.vagina to 0>> <</if>> <<default>> You try to undress <<him>>, but grab nothing but the air. <span class="red">Improper clothes target: $_clothesTarget. Please report this bug.</span> <</switch>> <<else>> You try to <<npcUndressText $_npc $_clothesTarget>>, but <<he>> holds on to <<his>> clothes. <<set $_npc.clothes[$_clothesTarget].integrity -= Math.floor(currentSkillValue("handskill") / 100)>> <</if>> <</if>> <<unset $undressLeftTarget>> <</if>> <<if $leftaction is "peniscondom" or $rightaction is "peniscondom">> <<if $leftaction is "peniscondom">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> <</if>> <<if $rightaction is "peniscondom">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <</if>> <<set _foundnpc to []>> <<run $NPCList.forEach((npc, index) => { if (npc.pregnancyAvoidance === 0) _foundnpc.push(index); })>> <<if _foundnpc.length>> <<personselect _foundnpc.random()>> <<set $_stop to true>> <</if>> <<if $_stop>> <<if combatSkillCheck("hand", $_s)>> <<combatPerson>> tries to stop you from putting the condom on, <span class="green">but you manage to do it anyways.</span> <<equipPlayerCondom>> <<else>> <<combatPerson>> <span class="red">stops you from putting the condom on.</span> <</if>> <<elseif $parasite.penis.name>> <span class="lewd">You can't put the condom on over the parasite.</span> <<else>> <<if !$player.condom>> You roll the condom over your penis. <<equipPlayerCondom>> <</if>> <</if>> <</if>> <<if $leftaction is "penisremovecondom" or $rightaction is "penisremovecondom">> <<if $leftaction is "penisremovecondom">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> <</if>> <<if $rightaction is "penisremovecondom">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <</if>> <<set _foundnpc to []>> <<run $NPCList.forEach((npc, index) => { if (npc.pregnancyAvoidance === 0) _foundnpc.push(index); })>> <<if _foundnpc.length>> <<personselect _foundnpc.random()>> <<set $_stop to true>> <</if>> <<if $_stop>> <<if combatSkillCheck("hand", $_s)>> <<combatPerson>> tries to stop you from removing your condom, <span class="green">but you manage to do it anyways.</span> <<removePlayerCondom>> <<else>> <<combatPerson>> <span class="red">stops you from removing your condom.</span> <</if>> <<else>> <<if $player.condom>> You quickly remove the condom from your penis. <<removePlayerCondom>> <</if>> <</if>> <</if>> <<if $leftaction is "npcremovecondom" or $rightaction is "npcremovecondom">> <<if $leftaction is "npcremovecondom" and $rightaction is "npcremovecondom">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">><<set $rightaction to 0>><<set $rightactiondefault to "rest">> <<if $lefttarget is $righttarget>> <<set $_target to $lefttarget>><<handskilluse>><<brat 2 $_target>> <<else>> <<set $_target to $lefttarget>><<set $_target2 to $righttarget>><<handskilluse>><<brat 1 $_target>><<brat 1 $_target2>> <</if>> <<elseif $leftaction is "npcremovecondom">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> <<set $_target to $lefttarget>><<handskilluse>><<brat 1 $_target>> <<elseif $rightaction is "npcremovecondom">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <<set $_target to $righttarget>><<handskilluse>><<brat 1 $_target>> <</if>> <<if $consensual is 0 and playerPregnancyPossibleWith($NPCList[$_target])>><<combatpromiscuity6>><</if>> <<personselect $_target>> <<set $_npc to $NPCList[$_target]>> <<if $_npc.pregnancyAvoidance gte 80>> <<if combatSkillCheck("hand", $_target)>> <<combatPerson>> tries to stop you from removing <<his>> condom, <span class="green">but you manage to do it anyways.</span> <<removeNPCCondom $_target>> <<else>> <<combatPerson>> <span class="red">stops you from removing <<his>> condom.</span> <</if>> <<else>> You stealthily remove the condom from <<combatpersons>> penis. <<removeNPCCondom $_target>> <</if>> <<if $_target2>> <<personselect $_target2>> <<set $_npc to $NPCList[$_target2]>> <<if $_npc.pregnancyAvoidance gte 80>> <<if combatSkillCheck("hand", $_target2)>> <<combatPerson>> tries to stop you from removing <<his>> condom, <span class="green">but you manage to do it anyways.</span> <<removeNPCCondom $_target2>> <<else>> <<combatPerson>> <span class="red">stops you from removing <<his>> condom.</span> <</if>> <<else>> You stealthily remove the condom from <<combatpersons>> penis. <<removeNPCCondom $_target2>> <</if>> <</if>> <</if>> <<if $leftaction is "npcgivecondom">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> <<set $_target to $lefttarget>><<meek 1 $_target>> <<personselect $_target>> <<set $_npc to $NPCList[$_target]>> <<if $NPCList[$_target].condomCanGive>> You give <<combatperson>> one of your condoms to use. <<giveNPCCondom $_target>> <</if>> <</if>> <<if $rightaction is "npcgivecondom">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <<set $_target to $righttarget>><<meek 1 $_target>> <<personselect $_target>> <<set $_npc to $NPCList[$_target]>> <<if $NPCList[$_target].condomCanGive>> You give <<combatperson>> one of your condoms to use. <<giveNPCCondom $_target>> <</if>> <</if>> <<if $leftaction is "leftmasturbatepussy">> <<set $leftaction to 0>><<set $leftactiondefault to "leftmasturbatepussy">> <<if $vaginause is 0 and !playerChastity("vagina")>> <<combatpromiscuity2>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1>> <<if $_genitals_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You run your fingers over your exposed <<pussy>> and shiver in anticipation. <<else>> You run your fingers over your exposed <<pussy>>. <</if>> <<addVaginalWetness 2>><<arousal 40 "masturbationVagina">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.lower.name. <<addVaginalWetness 1>><<arousal 20 "masturbationVagina">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.under_lower.name. <<addVaginalWetness 1>><<arousal 20 "masturbationVagina">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.genitals.name. <<addVaginalWetness 1>><<arousal 20 "masturbationVagina">> <<else>> You run your fingers over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<addVaginalWetness 0>><<arousal 5 "masturbationVagina">> <</if>> <<submission 3>><<set $speechmasturbate to 1>> <</if>> <</if>> <<if $rightaction is "rightmasturbatepussy">> <<set $rightaction to 0>><<set $rightactiondefault to "rightmasturbatepussy">> <<if $vaginause is 0 and !playerChastity("vagina")>> <<combatpromiscuity2>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1>> <<if $_genitals_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You run your fingers over your exposed <<pussy>> and shiver in anticipation. <<else>> You run your fingers over your exposed <<pussy>>. <</if>> <<addVaginalWetness 2>><<arousal 40 "masturbationVagina">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.lower.name. <<addVaginalWetness 1>><<arousal 20 "masturbationVagina">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.under_lower.name. <<addVaginalWetness 1>><<arousal 20 "masturbationVagina">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.genitals.name. <<addVaginalWetness 1>><<arousal 20 "masturbationVagina">> <<else>> You run your fingers over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<addVaginalWetness 0>><<arousal 5 "masturbationVagina">> <</if>> <<submission 3>><<set $speechmasturbate to 1>> <</if>> <</if>> <<if $leftaction is "leftmasturbatepenis">> <<set $leftaction to 0>><<set $leftactiondefault to "leftmasturbatepenis">> <<if $penisuse is 0 and !playerChastity("penis")>> <<combatpromiscuity2>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1>> <<if $_genitals_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You stroke your exposed <<penis>> and shiver in anticipation. <<else>> You stroke your exposed <<penis>>. <</if>> <<arousal 40 "masturbationPenis">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You stroke your <<penis>>, feeling its shape beneath your $worn.lower.name. <<arousal 20 "masturbationPenis">> <<elseif $worn.under_lower.vagina_exposed is 0>> You stroke your <<penis>>, feeling its shape beneath your $worn.under_lower.name. <<arousal 20 "masturbationPenis">> <<elseif $worn.genitals.vagina_exposed is 0>> You stroke your <<penis>>, feeling its shape beneath your $worn.genitals.name. <<arousal 20 "masturbationPenis">> <<else>> You stroke your <<penis>>, feeling its shape beneath your clothing. <<arousal 5 "masturbationPenis">> <</if>> <<submission 3>><<set $speechmasturbate to 1>> <</if>> <</if>> <<if $rightaction is "rightmasturbatepenis">> <<set $rightaction to 0>><<set $rightactiondefault to "rightmasturbatepenis">> <<if $penisuse is 0 and !playerChastity("penis")>> <<combatpromiscuity2>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1>> <<if $_genitals_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You stroke your exposed <<penis>> and shiver in anticipation. <<else>> You stroke your exposed <<penis>>. <</if>> <<arousal 40 "masturbationPenis">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You stroke your <<penis>>, feeling its shape beneath your $worn.lower.name. <<arousal 20 "masturbationPenis">> <<elseif $worn.under_lower.vagina_exposed is 0>> You stroke your <<penis>>, feeling its shape beneath your $worn.under_lower.name. <<arousal 20 "masturbationPenis">> <<elseif $worn.genitals.vagina_exposed is 0>> You stroke your <<penis>>, feeling its shape beneath your $worn.genitals.name. <<arousal 20 "masturbationPenis">> <<else>> You stroke your <<penis>>, feeling its shape beneath your clothing. <<arousal 5 "masturbationPenis">> <</if>> <<submission 3>><<set $speechmasturbate to 1>> <</if>> <</if>> <<if $leftaction is "leftmasturbateanus">> <<set $leftaction to 0>><<set $leftactiondefault to "leftmasturbateanus">> <<if $anususe is 0 and !playerChastity("anus")>> <<combatpromiscuity3>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1>> <<if $_genitals_exposed>> <<if playerHasButtPlug()>> <<if $arousal gt ($arousalmax/5)*4>> You pull your $worn.butt_plug.name in and out of your exposed anus and shiver in anticipation. <<else>> You pull your $worn.butt_plug.name in and out of your exposed anus. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You run your fingers in and out of your exposed anus and shiver in anticipation. <<else>> You run your fingers in and out of your exposed anus. <</if>> <</if>> <<arousal 40 "masturbationAnal">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name, feeling its shape beneath your $worn.lower.name. <<else>> You run your fingers over your anus, feeling its shape beneath your $worn.lower.name. <</if>> <<arousal 20 "masturbationAnal">> <<elseif $worn.under_lower.vagina_exposed is 0>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name, feeling its shape beneath your $worn.under_lower.name. <<else>> You run your fingers over your anus, feeling its shape beneath your $worn.under_lower.name. <</if>> <<arousal 20 "masturbationAnal">> <<elseif $worn.genitals.vagina_exposed is 0>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name, feeling its shape beneath your $worn.genitals.name. <<else>> You run your fingers over your anus, feeling its shape beneath your $worn.genitals.name. <</if>> <<arousal 20 "masturbationAnal">> <<else>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<else>> You run your fingers over your anus<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <</if>> <<arousal 5 "masturbationAnal">> <</if>> <<submission 3>><<set $speechmasturbate to 1>> <</if>> <</if>> <<if $rightaction is "rightmasturbateanus">> <<set $rightaction to 0>><<set $rightactiondefault to "rightmasturbateanus">> <<if $anususe is 0 and !playerChastity("anus")>> <<combatpromiscuity3>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1>> <<if $_genitals_exposed>> <<if playerHasButtPlug()>> <<if $arousal gt ($arousalmax/5)*4>> You pull your $worn.butt_plug.name in and out of your exposed anus and shiver in anticipation. <<else>> You pull your $worn.butt_plug.name in and out of your exposed anus. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You run your fingers in and out of your exposed anus and shiver in anticipation. <<else>> You run your fingers in and out of your exposed anus. <</if>> <</if>> <<arousal 40 "masturbationAnal">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name, feeling its shape beneath your $worn.lower.name. <<else>> You run your fingers over your anus, feeling its shape beneath your $worn.lower.name. <</if>> <<arousal 20 "masturbationAnal">> <<elseif $worn.under_lower.vagina_exposed is 0>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name, feeling its shape beneath your $worn.under_lower.name. <<else>> You run your fingers over your anus, feeling its shape beneath your $worn.under_lower.name. <</if>> <<arousal 20 "masturbationAnal">> <<elseif $worn.genitals.vagina_exposed is 0>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name, feeling its shape beneath your $worn.genitals.name. <<else>> You run your fingers over your anus, feeling its shape beneath your $worn.genitals.name. <</if>> <<arousal 20 "masturbationAnal">> <<else>> <<if playerHasButtPlug()>> You run your fingers over your $worn.butt_plug.name<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<else>> You run your fingers over your anus<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <</if>> <<arousal 5 "masturbationAnal">> <</if>> <<submission 3>><<set $speechmasturbate to 1>> <</if>> <</if>> <<effectsremovebuttplug>> <<effectsPickupSexToy>> <<effectsDropSexToy>> <<if $leftaction is "lubeanus" or $rightaction is "lubeanus">> <<if $leftaction is "lubeanus">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> <</if>> <<if $rightaction is "lubeanus">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <</if>> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> You squeeze your bottle of lube over your anus. <<bodyliquid "bottom" "goo">> <<useLube>> <<submission 3>> <</if>> <<if $leftaction is "lubepussy" or $rightaction is "lubepussy">> <<if $leftaction is "lubepussy">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> <</if>> <<if $rightaction is "lubepussy">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <</if>> You squeeze your bottle of lube over your pussy. <<bodyliquid "vaginaoutside" "goo">> <<useLube>> <<submission 3>> <</if>> <<if $leftaction is "lubepenis" or $rightaction is "lubepenis">> <<if $leftaction is "lubepenis">> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> <</if>> <<if $rightaction is "lubepenis">> <<set $rightaction to 0>><<set $rightactiondefault to "rest">> <</if>> <<set $leftaction to 0>><<set $leftactiondefault to "rest">> You squeeze your bottle of lube over your penis. <<bodyliquid "penis" "goo">> <<useLube>> <<submission 3>> <</if>> /* Combat sex toys */ <<if $leftaction is "dildoSelfPussyEntrance">> <<set $leftaction to 0>><<set $leftactiondefault to "dildoSelfPussyEntrance">><<set $leftarm to "dildoSelfPussyEntrance">><<combatpromiscuity3>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<set $_dildo to $selectedItemLeft.name>> <<if $_genitals_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You run your $_dildo over your exposed <<pussy>> and shiver in pleasure. <<else>> You run your $_dildo over your exposed <<pussy>>. <</if>> <<addVaginalWetness 2>><<arousal 40 "genitals">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.under_lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.genitals.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<else>> You run your $_dildo over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<addVaginalWetness 0>><<arousal 5 "genitals">> <</if>> <<submission 5>><<set $speechmasturbate to 1>> <</if>> <<if $rightaction is "dildoSelfPussyEntrance">> <<set $rightaction to 0>><<set $rightactiondefault to "dildoSelfPussyEntrance">><<set $rightarm to "dildoSelfPussyEntrance">><<combatpromiscuity3>> <<set $_genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<set $_dildo to $selectedItemRight.name>> <<if $_genitals_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You run your $_dildo over your exposed <<pussy>> and shiver in pleasure. <<else>> You run your $_dildo over your exposed <<pussy>>. <</if>> <<addVaginalWetness 2>><<arousal 40 "genitals">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.under_lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.genitals.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<else>> You run your $_dildo over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<addVaginalWetness 0>><<arousal 5 "genitals">> <</if>> <<submission 5>><<set $speechmasturbate to 1>> <</if>> <<if $leftaction is "dildoSelfPussy">> <<set $leftaction to 0>><<set $leftactiondefault to "dildoSelfPussy">><<set $leftarm to "dildoSelfPussy">> <<set $_dildo to $currentSexToyLeft.name>> <<if $player.virginity.vaginal is true>> <<if $arousal gt ($arousalmax/5)*4>> You gently fuck the entrance of your <<pussy>> with the $_dildo and shiver in pleasure. <<else>> You gently fuck the entrance of your <<pussy>> with the $_dildo. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You fuck your <<pussy>> with the $_dildo and shiver in pleasure. <<else>> You fuck your <<pussy>> with the $_dildo. <</if>> <</if>> <<addVaginalWetness 2>><<arousal 50 "genitals">><<submission 10>><<set $speechmasturbate to 1>> <</if>> <<if $rightaction is "dildoSelfPussy">> <<set $rightaction to 0>><<set $rightactiondefault to "dildoSelfPussy">><<set $rightarm to "dildoSelfPussy">> <<set $_dildo to $currentSexToyRight.name>> <<if $player.virginity.vaginal is true>> <<if $arousal gt ($arousalmax/5)*4>> You gently fuck the entrance of your <<pussy>> with the $_dildo and shiver in pleasure. <<else>> You gently fuck the entrance of your <<pussy>> with the $_dildo. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You fuck your <<pussy>> with the $_dildo and shiver in pleasure. <<else>> You fuck your <<pussy>> with the $_dildo. <</if>> <</if>> <<addVaginalWetness 2>><<arousal 50 "genitals">><<submission 10>><<set $speechmasturbate to 1>> <</if>> <<if $leftaction is "dildoSelfAnusEntrance">> <<set $leftaction to 0>><<set $leftactiondefault to "dildoSelfAnusEntrance">><<set $leftarm to "dildoSelfAnusEntrance">><<combatpromiscuity3>> <<set $_anus_exposed to $worn.over_lower.anus_exposed gte 1 and ($worn.lower.anus_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.anus_exposed gte 1 and $worn.genitals.anus_exposed gte 1>> <<set $_dildo to $currentSexToyLeft.name>> <<if $_anus_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You run your $_dildo over your exposed anus and shiver in pleasure. <<else>> You run your $_dildo over your exposed anus. <</if>> <<addVaginalWetness 2>><<arousal 40 "genitals">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your $_dildo over your anus, feeling its shape beneath your $worn.lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your $_dildo over your anus, feeling its shape beneath your $worn.under_lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your $_dildo over your anus, feeling its shape beneath your $worn.genitals.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<else>> You run your $_dildo over your anus<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<addVaginalWetness 0>><<arousal 5 "genitals">> <</if>> <<submission 5>><<set $speechmasturbate to 1>> <</if>> <<if $rightaction is "dildoSelfAnusEntrance">> <<set $rightaction to 0>><<set $rightactiondefault to "dildoSelfAnusEntrance">><<set $rightarm to "dildoSelfAnusEntrance">><<combatpromiscuity3>> <<set $_anus_exposed to $worn.over_lower.anus_exposed gte 1 and ($worn.lower.anus_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.anus_exposed gte 1 and $worn.genitals.anus_exposed gte 1>> <<set $_dildo to $currentSexToyRight.name>> <<if $_anus_exposed>> <<if $arousal gt ($arousalmax/5)*4>> You run your $_dildo over your exposed anus and shiver in pleasure. <<else>> You run your $_dildo over your exposed anus. <</if>> <<addVaginalWetness 2>><<arousal 40 "genitals">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your $_dildo over your anus, feeling its shape beneath your $worn.lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your $_dildo over your anus, feeling its shape beneath your $worn.under_lower.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your $_dildo over your anus, feeling its shape beneath your $worn.genitals.name. <<addVaginalWetness 1>><<arousal 20 "genitals">> <<else>> You run your $_dildo over your anus<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<addVaginalWetness 0>><<arousal 5 "genitals">> <</if>> <<submission 5>><<set $speechmasturbate to 1>> <</if>> <<if $leftaction is "dildoSelfAnus">> <<set $leftaction to 0>><<set $leftactiondefault to "dildoSelfAnus">><<set $leftarm to "dildoSelfAnus">> <<set $_dildo to $currentSexToyLeft.name>> <<if $player.virginity.anal is true>> <<if $arousal gt ($arousalmax/5)*4>> You gently fuck the entrance of your anus with the $_dildo and shiver in pleasure. <<else>> You gently fuck the entrance of your anus with the $_dildo. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You fuck your anus with the $_dildo and shiver in pleasure. <<else>> You fuck your anus with the $_dildo. <</if>> <</if>> <<arousal 50 "anus">><<submission 10>><<set $speechmasturbate to 1>> <</if>> <<if $rightaction is "dildoSelfAnus">> <<set $rightaction to 0>><<set $rightactiondefault to "dildoSelfAnus">><<set $rightarm to "dildoSelfAnus">> <<set $_dildo to $currentSexToyRight.name>> <<if $player.virginity.anal is true>> <<if $arousal gt ($arousalmax/5)*4>> You gently fuck the entrance of your anus with the $_dildo and shiver in pleasure. <<else>> You gently fuck the entrance of your anus with the $_dildo. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You fuck your anus with the $_dildo and shiver in pleasure. <<else>> You fuck your anus with the $_dildo. <</if>> <</if>> <<arousal 50 "anus">><<submission 10>><<set $speechmasturbate to 1>> <</if>> <<if $leftaction is "strokerSelfPenisEntrance">> <<set $leftaction to 0>><<set $leftactiondefault to "strokerSelfPenisEntrance">><<set $leftarm to "strokerSelfPenisEntrance">><<combatpromiscuity3>> <<set _genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<set _stroker to $selectedItemLeft.name>> <<if _genitals_exposed>> You run your _stroker over your exposed <<penis>>. <<arousal 40 "genitals">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.lower.name. <<arousal 20 "genitals">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.under_lower.name. <<arousal 20 "genitals">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.genitals.name. <<arousal 20 "genitals">> <<else>> You run your _stroker over your <<penis>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<arousal 5 "genitals">> <</if>> <<submission 2>><<set $speechmasturbate to 1>> <</if>> <<if $leftaction is "strokerSelfPenis">> <<set $leftaction to 0>><<set $leftactiondefault to "strokerSelfPenis">><<set $leftarm to "strokerSelfPenis">> <<set $penisuse to "strokerSelfPenis">><<set $penisstate to "strokerSelfPenis">><<set $penisactiondefault to "strokerSelfPenis">> <<set _stroker to $currentSexToyLeft.name>> <<if $player.virginity.penile is true>> <<if $arousal gt ($arousalmax/5)*4>> You gently fuck the glans of your <<penis>> with the _stroker and shiver in pleasure. <<else>> You gently fuck the glans of your <<penis>> with the _stroker. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You fuck your <<penis>> with the _stroker and shiver in pleasure. <<else>> You fuck your <<penis>> with the _stroker. <</if>> <</if>> <<arousal 50 "genitals">><<submission 5>><<set $speechmasturbate to 1>> <</if>> <<if $rightaction is "strokerSelfPenisEntrance">> <<set $rightaction to 0>><<set $rightactiondefault to "strokerSelfPenisEntrance">><<set $rightarm to "strokerSelfPenisEntrance">><<combatpromiscuity3>> <<set _genitals_exposed to $worn.over_lower.vagina_exposed gte 1 and ($worn.lower.vagina_exposed gte 1 or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt gte 1) and $worn.under_lower.vagina_exposed gte 1 and $worn.genitals.vagina_exposed gte 1>> <<set _stroker to $selectedItemRight.name>> <<if _genitals_exposed>> You run your _stroker over your exposed <<penis>>. <<arousal 40 "genitals">><<submission 2>> <<elseif $worn.lower.vagina_exposed is 0 and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt lt 1>> You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.lower.name. <<arousal 20 "genitals">> <<elseif $worn.under_lower.vagina_exposed is 0>> You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.under_lower.name. <<arousal 20 "genitals">> <<elseif $worn.genitals.vagina_exposed is 0>> You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.genitals.name. <<arousal 20 "genitals">> <<else>> You run your _stroker over your <<penis>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>. <<arousal 5 "genitals">> <</if>> <<submission 2>><<set $speechmasturbate to 1>> <</if>> <<if $rightaction is "strokerSelfPenis">> <<set $rightaction to 0>><<set $rightactiondefault to "strokerSelfPenis">><<set $rightarm to "strokerSelfPenis">> <<set $penisuse to "strokerSelfPenis">><<set $penisstate to "strokerSelfPenis">><<set $penisactiondefault to "strokerSelfPenis">> <<set _stroker to $currentSexToyRight.name>> <<if $player.virginity.penile is true>> <<if $arousal gt ($arousalmax/5)*4>> You gently fuck the glans of your <<penis>> with the _stroker and shiver in pleasure. <<else>> You gently fuck the glans of your <<penis>> with the _stroker. <</if>> <<else>> <<if $arousal gt ($arousalmax/5)*4>> You fuck your <<penis>> with the _stroker and shiver in pleasure. <<else>> You fuck your <<penis>> with the _stroker. <</if>> <</if>> <<arousal 50 "genitals">><<submission 5>><<set $speechmasturbate to 1>> <</if>> <<if $leftaction is "strokerDrop">> <<set $leftaction to 0>><<set $leftactiondefault to "strokerDrop">> <<set $penisuse to 0>><<set $penisstate to 0>><<set $leftarm to 0>> <span class="blue">You move your $currentSexToyLeft.name away from your penis.</span> <<set $currentSexToyLeft to 0>> <</if>> <<if $rightaction is "strokerDrop">> <<set $rightaction to 0>><<set $rightactiondefault to "strokerDrop">> <<set $penisuse to 0>><<set $penisstate to 0>><<set $rightarm to 0>> <span class="blue">You move your $currentSexToyRight.name away from your penis.</span> <<set $currentSexToyRight to 0>> <</if>> /* NPC pussy */ <<if $leftaction is "dildoOtherPussyFuck">> /* Note: deliberately does not take virginities */ <<set $leftaction to 0>><<set $leftactiondefault to "dildoOtherPussyFuck">><<handskilluse>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 10>><<set $speechdildovagina to 1>><<set $leftarm to "dildoOtherPussyFuck">><<set $NPCList[0].vagina to "leftDildo">> You <<handtext>> fuck <<their $lefttarget>> pussy with your $currentSexToyLeft.name in your left hand. <<elseif $NPCList[$lefttarget].vagina is "leftDildo">> <<set $leftarm to 0>><<set $leftactiondefault to "dildoOtherPussyTease">> <<set $NPCList[$lefttarget].vagina to 0>><<personselect $lefttarget>> <span class="blue">You try to fuck <<hisselect $lefttarget>> pussy with your $currentSexToyLeft.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> <<if $rightaction is "dildoOtherPussyFuck">> /* Note: deliberately does not take virginities */ <<set $rightaction to 0>><<set $rightactiondefault to "dildoOtherPussyFuck">><<handskilluse>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 10>><<set $speechdildovagina to 1>><<set $rightarm to "dildoOtherPussyFuck">><<set $NPCList[0].vagina to "rightDildo">> You <<handtext>> fuck <<their $righttarget>> pussy with your $currentSexToyRight.name in your right hand. <<elseif $NPCList[$righttarget].vagina is "rightDildo">> <<set $rightarm to 0>><<set $rightactiondefault to "dildoOtherPussyTease">> <<set $NPCList[$righttarget].vagina to 0>><<personselect $righttarget>> <span class="blue">You try to fuck <<hisselect $righttarget>> pussy with your $currentSexToyRight.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> <<if $leftaction is "othervaginadildostop" and $NPCList[$lefttarget].vagina is "leftdildo">> <<set $leftaction to 0>><<set $leftactiondefault to "othervaginadildostop">> <<set $NPCList[$lefttarget].vagina to 0>><<set $leftarm to 0>> <span class="blue">You move your $currentSexToyLeft.name away from <<hisselect $lefttarget>> pussy.</span> <</if>> <<if $rightaction is "othervaginadildostop" and $NPCList[$righttarget].vagina is "rightdildo">> <<set $rightaction to 0>><<set $rightactiondefault to "othervaginadildostop">> <<set $NPCList[$righttarget].vagina to 0>><<set $rightarm to 0>> <span class="blue">You move your $currentSexToyRight away from <<hisselect $righttarget>> pussy.</span> <</if>> <<if $leftaction is "dildoOtherPussyTease">> <<set $leftaction to 0>><<handskilluse>><<set $leftactiondefault to "dildoOtherPussyTease">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 1>><<sextoystat>> <<if $NPCList[$lefttarget].vagina is 0>> <<set $leftactiondefault to "dildoOtherPussyFuck">><<set $leftarm to "dildoOtherPussyTease">><<personselect $lefttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $lefttarget>> pussy<<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.vagina<</if>> with the $currentSexToyLeft.name in your left hand.</span> <<else>> <span class="blue">You try to tease <<hisselect $lefttarget>> pussy with the $currentSexToyLeft.name in your left hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to tease <<hisselect $lefttarget>> pussy with the $currentSexToyLeft.name in your left hand, but <<he>> moves it away. <</if>> <</if>> <<if $rightaction is "dildoOtherPussyTease">> <<set $rightaction to 0>><<handskilluse>><<set $rightactiondefault to "dildoOtherPussyTease">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 1>><<sextoystat>> <<if $NPCList[$righttarget].vagina is 0>> <<set $rightactiondefault to "dildoOtherPussyFuck">><<set $rightarm to "dildoOtherPussyTease">><<personselect $righttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $righttarget>> pussy<<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.vagina<</if>> with your right hand.</span> <<else>> <span class="blue">You try to tease <<hisselect $righttarget>> pussy with the $currentSexToyRight.name in your right hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to tease <<hisselect $righttarget>> pussy with the $currentSexToyRight.name in your right hand, but <<he>> moves it away. <</if>> <</if>> /* NPC Anus */ <<if $leftaction is "dildoOtherAnusFuck">> /* Note: deliberately does not take virginities */ <<set $leftaction to 0>><<set $leftactiondefault to "dildoOtherAnusFuck">><<handskilluse>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 10>><<set $speechdildoanus to 1>><<set $leftarm to "dildoOtherAnusFuck">> <<if $NPCList[$lefttarget].vagina isnot "none">> <<set $NPCList[$lefttarget].vagina to "leftDildoAnus">> <</if>> <<if $NPCList[$lefttarget].penis isnot "none">> <<set $NPCList[$lefttarget].penis to "leftDildoAnus">> <</if>> You <<handtext>> fuck <<their $lefttarget>> ass with your $currentSexToyLeft.name in your left hand. <<elseif $NPCList[$lefttarget].vagina is "leftDildoAnus">> <<set $leftarm to 0>><<set $leftactiondefault to "dildoOtherPussyTease">> <<set $NPCList[$lefttarget].vagina to 0>><<personselect $lefttarget>> <span class="blue">You try to fuck <<hisselect $lefttarget>> ass with your $currentSexToyLeft.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <<elseif $NPCList[$lefttarget].penis is "leftDildoAnus">> <<set $leftarm to 0>><<set $leftactiondefault to "dildoOtherPussyTease">> <<set $NPCList[$lefttarget].penis to 0>><<personselect $lefttarget>> <span class="blue">You try to fuck <<hisselect $lefttarget>> ass with your $currentSexToyLeft.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> <<if $rightaction is "dildoOtherAnusFuck">> /* Note: deliberately does not take virginities */ <<set $rightaction to 0>><<set $rightactiondefault to "dildoOtherAnusFuck">><<handskilluse>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 10>><<set $speechdildoanus to 1>><<set $rightarm to "dildoOtherAnusFuck">> <<if $NPCList[$righttarget].vagina isnot "none">> <<set $NPCList[$righttarget].vagina to "rightDildoAnus">> <</if>> <<if $NPCList[$righttarget].penis isnot "none">> <<set $NPCList[$righttarget].penis to "rightDildoAnus">> <</if>> You <<handtext>> fuck <<their $righttarget>> ass with your $currentSexToyRight.name in your right hand. <<elseif $NPCList[$righttarget].vagina is "rightDildoAnus">> <<set $rightarm to 0>><<set $rightactiondefault to "dildoOtherPussyTease">> <<set $NPCList[$righttarget].vagina to 0>><<personselect $righttarget>> <span class="blue">You try to fuck <<hisselect $righttarget>> ass with your $currentSexToyRight.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <<elseif $NPCList[$righttarget].penis is "leftDildoAnus">> <<set $rightarm to 0>><<set $rightactiondefault to "dildoOtherPussyTease">> <<set $NPCList[$righttarget].penis to 0>><<personselect $righttarget>> <span class="blue">You try to fuck <<hisselect $righttarget>> ass with your $currentSexToyRight.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> <<if $leftaction is "dildoAnusDrop" and $NPCList[$lefttarget].vagina is "leftdildoAnus">> <<set $leftaction to 0>><<set $leftactiondefault to "dildoAnusDrop">> <<set $NPCList[$lefttarget].vagina to 0>><<set $leftarm to 0>> <span class="blue">You move your $currentSexToyLeft.name away from <<hisselect $lefttarget>> ass.</span> <</if>> <<if $rightaction is "dildoAnusDrop" and $NPCList[$righttarget].vagina is "rightdildoAnus">> <<set $rightaction to 0>><<set $rightactiondefault to "dildoAnusDrop">> <<set $NPCList[$righttarget].vagina to 0>><<set $rightarm to 0>> <span class="blue">You move your $currentSexToyRight away from <<hisselect $righttarget>> ass.</span> <</if>> <<if $leftaction is "dildoAnusDrop" and $NPCList[$lefttarget].penis is "leftdildoAnus">> <<set $leftaction to 0>><<set $leftactiondefault to "dildoAnusDrop">> <<set $NPCList[$lefttarget].penis to 0>><<set $leftarm to 0>> <span class="blue">You move your $currentSexToyLeft.name away from <<hisselect $lefttarget>> ass.</span> <</if>> <<if $rightaction is "dildoAnusDrop" and $NPCList[$righttarget].penis is "rightdildoAnus">> <<set $rightaction to 0>><<set $rightactiondefault to "dildoAnusDrop">> <<set $NPCList[$righttarget].penis to 0>><<set $rightarm to 0>> <span class="blue">You move your $currentSexToyRight away from <<hisselect $righttarget>> ass.</span> <</if>> <<if $leftaction is "dildoOtherAnusTease">> <<set $leftaction to 0>><<handskilluse>><<set $leftactiondefault to "dildoOtherAnusTease">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 1>><<sextoystat>> <<if $NPCList[$lefttarget].vagina is 0>> <<set $leftactiondefault to "dildoOtherAnusFuck">><<set $NPCList[$lefttarget].vagina to "leftDildoAnus">><<set $leftarm to "dildoOtherAnusFuck">><<personselect $lefttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $lefttarget>> ass<<if $NPCList[$lefttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.vagina<</if>> with the $currentSexToyLeft.name in your left hand.</span> <<elseif $NPCList[$lefttarget].penis is 0>> <<set $leftactiondefault to "dildoOtherAnusFuck">><<set $NPCList[$lefttarget].penis to "leftDildoAnus">><<set $leftarm to "dildoOtherAnusFuck">><<personselect $lefttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $lefttarget>> ass<<if $NPCList[$lefttarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.penis<</if>> with the $currentSexToyLeft.name in your left hand.</span> <<else>> <span class="blue">You try to tease <<hisselect $lefttarget>> ass with the $currentSexToyLeft.name in your left hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to tease <<hisselect $lefttarget>> ass with the $currentSexToyLeft.name in your left hand, but <<he>> moves it away. <</if>> <</if>> <<if $rightaction is "dildoOtherAnusTease">> <<set $rightaction to 0>><<handskilluse>><<set $rightactiondefault to "dildoOtherAnusTease">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 1>><<sextoystat>> <<if $NPCList[$righttarget].vagina is 0>> <<set $rightactiondefault to "dildoOtherAnusFuck">><<set $NPCList[$righttarget].vagina to "rightDildoAnus">><<set $rightarm to "dildoOtherAnusFuck">><<personselect $righttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $righttarget>> ass<<if $NPCList[$righttarget].chastity.vagina.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.vagina<</if>> with your right hand.</span> <<elseif $NPCList[$righttarget].penis is 0>> <<set $rightactiondefault to "dildoOtherAnusFuck">><<set $NPCList[$righttarget].penis to "rightDildoAnus">><<set $rightarm to "dildoOtherAnusFuck">><<personselect $righttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $righttarget>> ass<<if $NPCList[$righttarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.penis<</if>> with your right hand.</span> <<else>> <span class="blue">You try to tease <<hisselect $righttarget>> ass with the $currentSexToyRight.name in your right hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to tease <<hisselect $righttarget>> ass with the $currentSexToyRight.name in your right hand, but <<he>> moves it away. <</if>> <</if>> /* NPC Penis stroker */ <<if $leftaction is "strokerOtherPenisTease">> <<set $leftaction to 0>><<handskilluse>><<set $leftactiondefault to "strokerOtherPenisTease">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 1>><<sextoystat>> <<if $NPCList[$lefttarget].penis is 0>> <<set $leftactiondefault to "strokerOtherPenisTease">><<set $NPCList[$lefttarget].penis to "leftStroker">><<set $leftarm to "strokerOtherPenisFuck">><<personselect $lefttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $lefttarget>> <<npcPenis $lefttarget>><<if $NPCList[$lefttarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$lefttarget].chastity.penis<</if>> with the $currentSexToyLeft.name in your left hand.</span> <<else>> <span class="blue">You try to tease <<hisselect $lefttarget>> <<npcPenis $lefttarget>> with the $currentSexToyLeft.name in your left hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to tease <<hisselect $lefttarget>> <<npcPenis $lefttarget>> with the $currentSexToyLeft.name in your left hand, but <<he>> moves it away. <</if>> <</if>> <<if $rightaction is "strokerOtherPenisTease">> <<set $rightaction to 0>><<handskilluse>><<set $rightactiondefault to "strokerOtherPenisTease">><<combatpromiscuity3>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 1>><<sextoystat>> <<if $NPCList[$righttarget].penis is 0>> <<set $rightactiondefault to "strokerOtherPenisTease">><<set $NPCList[$righttarget].penis to "rightStroker">><<set $rightarm to "strokerOtherPenisFuck">><<personselect $righttarget>> <span class="lblue">You <<handtext>> tease <<hisselect $righttarget>> <<npcPenis $righttarget>><<if $NPCList[$righttarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$righttarget].chastity.penis<</if>> with the $currentSexToyRight.name in your right hand.</span> <<else>> <span class="blue">You try to tease <<hisselect $righttarget>> <<npcPenis $righttarget>> with the $currentSexToyRight.name in your right hand, but the entrance is already occupied.</span> <</if>> <<else>> You try to tease <<hisselect $righttarget>> <<npcPenis $righttarget>> with the $currentSexToyRight.name in your right hand, but <<he>> moves it away. <</if>> <</if>> <<if $leftaction is "strokerOtherPenisFuck">> /* Note: deliberately does not take virginities */ <<set $leftaction to 0>><<set $leftactiondefault to "strokerOtherPenisFuck">><<handskilluse>> <<if combatSkillCheck("hand", $lefttarget)>> <<submission 10>><<set $speechstroker to 1>><<set $leftarm to "strokerOtherPenisFuck">><<set $NPCList[$lefttarget].penis to "leftStroker">> You <<handtext>> fuck <<their $lefttarget>> <<npcPenis $lefttarget>> with the $currentSexToyLeft.name in your left hand. <<elseif $NPCList[$lefttarget].penis is "leftStroker">> <<set $leftarm to 0>><<set $leftactiondefault to "strokerOtherPenisTease">> <<set $NPCList[$lefttarget].penis to 0>><<personselect $lefttarget>> <span class="blue">You try to fuck <<hisselect $lefttarget>> <<npcPenis $lefttarget>> with your $currentSexToyLeft.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> <<if $rightaction is "strokerOtherPenisFuck">> /* Note: deliberately does not take virginities */ <<set $rightaction to 0>><<set $rightactiondefault to "strokerOtherPenisFuck">><<handskilluse>> <<if combatSkillCheck("hand", $righttarget)>> <<submission 10>><<set $speechstroker to 1>><<set $rightarm to "strokerOtherPenisFuck">><<set $NPCList[$righttarget].penis to "rightStroker">> You <<handtext>> fuck <<their $righttarget>> <<npcPenis $righttarget>> with the $currentSexToyRight.name in your right hand. <<elseif $NPCList[$righttarget].penis is "rightStroker">> <<set $rightarm to 0>><<set $rightactiondefault to "strokerOtherPenisTease">> <<set $NPCList[$righttarget].penis to 0>><<personselect $righttarget>> <span class="blue">You try to fuck <<hisselect $righttarget>> <<npcPenis 0>> with your $currentSexToyRight.name, but <<he>> <<if $enemytype isnot "beast">>slaps your hand away<<else>>shifts way from you and growls<</if>>.</span> <</if>> <</if>> /*Stalked actions */ <<if !$stalk_end>> <<if $leftaction is "clench" and $rightaction is "clench">> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(300 - ($earSlime.defyCooldown * 20), 0, 300)) gte (currentSkillValue('willpower')/ 10) and hasSexStat("exhibitionism", 2)>> <<if ($player.penisExist or playerHasStrapon()) and (!$player.vaginaExist or $worn.genitals.name is "chastity parasite" or random(0,100) gte 50)>> <<set _slimeTarget to playerHasStrapon() ? "strap-on" : (playerChastity("penis") ? $worn.genitals.name : "penis")>> <<set _slimeWidget to "penis">> <<elseif $player.vaginaExist>> <<set _slimeTarget to "vagina">> <<set _slimeWidget to "vagina">> <<else>> <<set _slimeTarget to "butt">> <<set _slimeWidget to "anus">> <</if>> You try to clench your fists, <span class="red">but you suddenly find them moving towards your _slimeTarget.</span> You feel the slime steal your control away. <<switch _slimeWidget>> <<case "penis">><<effectsCoverPenis "both" "lewd">> <<case "vagina">><<effectsCoverVagina "both" "lewd">> <<case "anus">><<effectsCoverAnus "both" "lewd">> <</switch>> <<else>> <<set $leftactiondefault to "clench">><<set $leftaction to 0>><<set $rightactiondefault to "clench">><<set $rightaction to 0>><<brat 6>> You clench your fists. <</if>> <<elseif $leftaction is "clench">> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(300 - ($earSlime.defyCooldown * 20), 0, 300)) gte (currentSkillValue('willpower')/ 10) and hasSexStat("exhibitionism", 2)>> <<if ($player.penisExist or playerHasStrapon()) and (!$player.vaginaExist or $worn.genitals.name is "chastity parasite" or random(0,100) gte 50)>> <<set _slimeTarget to playerHasStrapon() ? "strap-on" : (playerChastity("penis") ? $worn.genitals.name : "penis")>> <<set _slimeWidget to "penis">> <<elseif $player.vaginaExist>> <<set _slimeTarget to "vagina">> <<set _slimeWidget to "vagina">> <<else>> <<set _slimeTarget to "butt">> <<set _slimeWidget to "anus">> <</if>> You try to clench your fists, <span class="red">but you suddenly find them moving towards your _slimeTarget.</span> You feel the slime steal your control away. <<switch _slimeWidget>> <<case "penis">><<effectsCoverPenis "left" "lewd">> <<case "vagina">><<effectsCoverVagina "left" "lewd">> <<case "anus">><<effectsCoverAnus "left" "lewd">> <</switch>> <<else>> <<set $leftactiondefault to "clench">><<set $leftaction to 0>><<brat 3>> You clench your left fist. <</if>> <<elseif $rightaction is "clench">> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(300 - ($earSlime.defyCooldown * 20), 0, 300)) gte (currentSkillValue('willpower')/ 10) and hasSexStat("exhibitionism", 2)>> <<if ($player.penisExist or playerHasStrapon()) and (!$player.vaginaExist or $worn.genitals.name is "chastity parasite" or random(0,100) gte 50)>> <<set _slimeTarget to playerHasStrapon() ? "strap-on" : (playerChastity("penis") ? $worn.genitals.name : "penis")>> <<set _slimeWidget to "penis">> <<elseif $player.vaginaExist>> <<set _slimeTarget to "vagina">> <<set _slimeWidget to "vagina">> <<else>> <<set _slimeTarget to "butt">> <<set _slimeWidget to "anus">> <</if>> You try to clench your fists, <span class="red">but you suddenly find them moving towards your _slimeTarget.</span> You feel the slime steal your control away. <<switch _slimeWidget>> <<case "penis">><<effectsCoverPenis "right" "lewd">> <<case "vagina">><<effectsCoverVagina "right" "lewd">> <<case "anus">><<effectsCoverAnus "right" "lewd">> <</switch>> <<else>> <<set $rightactiondefault to "clench">><<set $rightaction to 0>><<brat 3>> You clench your right fist. <</if>> <</if>> <<if $leftaction is "fold" and $rightaction is "fold">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "fold">><<set $rightactiondefault to "fold">> <<if $player.breastsize gte 3>> You fold your arms beneath your <<breasts>>. <<else>> You fold your arms in front of you. <</if>> <<meek 6>> <</if>> <<if $leftaction is "fold">> <<set $leftaction to 0>><<set $leftactiondefault to "fold">> <<if $player.breastsize gte 3>> You fold your left arm beneath your <<breasts>>. <<else>> You fold your left arm in front of you. <</if>> <<meek 3>> <</if>> <<if $rightaction is "fold">> <<set $rightaction to 0>><<set $rightactiondefault to "fold">> <<if $player.breastsize gte 3>> You fold your right arm beneath your <<breasts>>. <<else>> You fold your right arm in front of you. <</if>> <<meek 3>> <</if>> <<if $leftaction is "pursuit_grab" and $rightaction is "pursuit_grab">> <<set $leftaction to 0>><<set $leftactiondefault to "pursuit_grab">><<set $rightaction to 0>><<set $rightactiondefault to "pursuit_grab">> <<set $feetaction to "rest">> <<set $feetuse to 0>> You grasp the back of the <<persons>> shirt with both hands, <span class="green">and force <<him>> to stop.</span> <<He>> turns to face you. <<stalk_catch>> <</if>> <<if $leftaction is "pursuit_grab">> <<set $leftaction to 0>><<set $leftactiondefault to "pursuit_grab">> <<set $feetaction to "rest">> <<set $feetuse to 0>> You grasp the back of the <<persons>> shirt with your left hand, <span class="green">and force <<him>> to stop.</span> <<He>> turns to face you. <<stalk_catch>> <</if>> <<if $rightaction is "pursuit_grab">> <<set $rightaction to 0>><<set $rightactiondefault to "pursuit_grab">> <<set $feetaction to "rest">> <<set $feetuse to 0>> You grasp the back of the <<persons>> shirt with your right hand, <span class="green">and force <<him>> to stop.</span> <<He>> turns to face you. <<stalk_catch>> <</if>> <</if>> /*End of stalked actions */ /*** * ███████ ███████ ███████ ███████ * ██ ██ ██ ███ * ███████ ███████ ███████ ███ * ██ ██ ██ ███ * ██ ███████ ███████ ███ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<if $feetaction is "grab">> <<set $feetaction to 0>><<set $feetactiondefault to "grab">><<combatpromiscuity3>> <<if combatSkillCheck("feet", $feettarget)>> <<submission 2>> <<if $NPCList[$feettarget].penis is 0>> <<set $feetactiondefault to "grabrub">><<set $NPCList[$feettarget].penis to "feet">><<set $feetuse to "penis">><<feetstat>><<feetskilluse>> <span class="lblue">You <<feettext>> <<if $NPCList[$feettarget].chastity.penis.includes("chastity")>>rub your foot on <<hisselect $feettarget>> $NPCList[$feettarget].penisdesc through <<hisselect $feettarget>> $NPCList[$feettarget].chastity.penis<<else>>grab <<hisselect $feettarget>> $NPCList[$feettarget].penisdesc between your feet<</if>>.</span> <<else>> <span class="blue">You try to grab <<hisselect $feettarget>> $NPCList[$feettarget].penisdesc with your feet, but the phallus is already occupied.</span> <</if>> <<else>> You clumsily try to grab <<hisselect $feettarget>> penis between your feet, but fail. <<feetskilluse>><<submission 2>> <</if>> <</if>> <<if $feetaction is "rest">> <<set $feetaction to 0>><<set $feetactiondefault to "rest">>You rest your legs. <</if>> <<if $feetaction is "kick">> <<set $feetaction to 0>><<set $feetactiondefault to "kick">> <<if ($parasite.left_ear.name is "slime" and random(1, 3) is 3) or ($parasite.right_ear.name is "slime" and random(1, 3) is 3) or ($earSlime.growth gte 50 and random(1, 3) is 3)>> <<if $earSlime.growth gte (currentSkillValue('willpower') / 10) and random(0,100) gte $earSlime.growth / 3>> You try to kick the <<if $enemytype is "beast">><<beasttype>>,<<else>><<personselect $feettarget>><<person>>,<</if>> <span class="red">but the slime immobilises your legs.</span> <<if $earSlime.growth gt 50>><<set $earSlime.defyCooldown++>><</if>> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10) and random(0,100) gte 50>> You try to kick the <<if $enemytype is "beast">><<beasttype>>,<<else>><<personselect $feettarget>><<person>>,<</if>> <span class="red">but the slime distracts you, so you miss.</span> <<gwillpower>><<willpower 1>> <<else>> The slime tries to prevent you from kicking the <<if $enemytype is "beast">><<beasttype>><<else>><<personselect $feettarget>><<person>><</if>>, <span class="green">but you make contact regardless.</span> <<actionskick $feettarget>><<defiance 5 $feettarget>><<set $attackstat += 1>> <<if $worn.feet.type.includes("heels")>> Your high heels strengthen the blow! <<defiance 1 $feettarget>> <</if>> <</if>> <<else>> <<actionskick $feettarget>><<defiance 5 $feettarget>><<set $attackstat += 1>> <<if $worn.feet.type.includes("heels")>> Your high heels strengthen the blow! <<defiance 1 $feettarget>> <</if>> <</if>> <</if>> <<if $feetaction is "rub">> <<set $feetaction to 0>><<submission 1>><<actionsfeetrub $feettarget>> <</if>> <<rng>> <<if $feetaction is "grabrub">> <<feetskilluse>><<set $feetactiondefault to "grabrub">><<set $feetaction to 0>> <<if combatSkillCheck("feet", $feettarget)>> <<actionsgrabrub $feettarget>><<submission 2>> <<elseif $NPCList[$feettarget].penis is "feet">> <<set $feetactiondefault to "grab">><<personselect $feettarget>> <span class="blue">You try to rub <<hisselect $feettarget>> penis between your feet, but <<he>> moves away.</span> <<set $feetuse to 0>><<set $NPCList[$feettarget].penis to 0>><<set $NPCList[$feettarget].location.genitals to 0>> <</if>> <</if>> <<rng>> <<if $feetaction is "vaginagrab">> <<feetskilluse>><<set $feetaction to 0>><<set $feetactiondefault to "vaginagrab">><<combatpromiscuity3>> <<if combatSkillCheck("feet", $feettarget)>> <<submission 2>> <<if $NPCList[$feettarget].vagina is 0>> <<set $feetactiondefault to "vaginagrabrub">><<set $feetuse to "othervagina">><<set $NPCList[$feettarget].vagina to "feet">><<feetstat>><span class="lblue">You <<feettext>> press your feet against <<hisselect $feettarget>> pussy<<if $NPCList[$feettarget].chastity.vagina.includes("chastity")>> through <<hisselect $feettarget>> $NPCList[$feettarget].chastity.vagina<</if>>.</span> <<else>> <span class="blue">You to try press your feet against <<hisselect $feettarget>> pussy, but the entrance is already occupied.</span> <</if>> <<else>> You try to keep <<hisselect $feettarget>> pussy away with your feet, but <<he>> moves it away. <</if>> <</if>> <<rng>> <<if $feetaction is "vaginagrabrub">> <<set $feetaction to 0>><<feetskilluse>><<set $feetactiondefault to "vaginagrabrub">> <<if combatSkillCheck("feet", $feettarget)>> <<actionsfeetpussy $feettarget>><<submission 2>> <<elseif $NPCList[$feettarget].vagina is "feet">> <<set $feetactiondefault to "vaginagrab">><<personselect $feettarget>> <span class="blue">You try to keep <<hisselect $feettarget>> pussy away with your feet, but <<he>> moves away.</span> <<set $feetuse to 0>><<set $NPCList[$feettarget].vagina to 0>> <</if>> <</if>> <<if $feetaction is "stop">> <<set $feetaction to 0>><<set $feetactiondefault to "stop">> You move your feet away from <<his>> genitals. <<set $feetuse to 0>> <<if $NPCList[$feettarget].penis is "feet">> <<set $NPCList[$feettarget].penis to 0>> <</if>> <<if $NPCList[$feettarget].vagina is "feet">> <<set $NPCList[$feettarget].vagina to 0>> <</if>> <</if>> <<if $feetaction is "feetshoes">> <<set $feetaction to 0>> You kick off your $worn.feet.name. <<feetstrip>> <</if>> <<if $feetaction is "feetsocks">> <<set $feetaction to 0>> <<if $worn.legs.state is "thighs">> You peel your $worn.legs.name down your thighs with your toes. <<set $worn.legs.state to "ankles">> <<elseif $worn.legs.state is "ankles">> You kick off your $worn.legs.name. <<legsstrip>> <</if>> <</if>> <<if $feetaction is "legLock">> <<set $feetaction to 0>><<thighskilluse>><<set $feetactiondefault to "legLock">> <<if $consensual is 0>><<combatpromiscuity6>><<else>><<combatpromiscuity3>><</if>> <<set $_legLockDif to Math.floor((100 - $NPCList[$feettarget].pregnancyAvoidance) * 15)>> <<if combatSkillCheck("thigh", $feettarget, $NPCList[$feettarget].fullDescription, $_legLockDif)>> <<brat 2>><<sex 5 "genitals" $feettarget>><<set $feetactiondefault to "legLocked">><<set $feetuse to "legLock">><<set $leglocktarget to $feettarget>> <<set $speechleglock to 1>><<personselect $feettarget>> <<thighstat>><span class="lblue">You <<thightext>> <<if $position is "missionary">>wrap your legs around<<else>>push back against<</if>> <<combatperson $feettarget>>, preventing <<him>> from pulling out.</span> <<else>> You try to <<if $position is "missionary">>wrap your legs around<<else>>push back against<</if>> <<combatperson $feettarget>>, but <<he>> pulls your legs away. <</if>> <</if>> <<if $feetaction is "legLocked">> <<set $feetaction to 0>><<thighskilluse>><<set $feetactiondefault to "legLocked">> <<set $_legLockDif to Math.floor((100 - $NPCList[$feettarget].pregnancyAvoidance) * 10)>> <<if combatSkillCheck("thigh", $feettarget, $NPCList[$feettarget].fullDescription, $_legLockDif)>> <<brat 2>><<sex 5 "genitals" $feettarget>><<set $speechleglock to 1>><<personselect $feettarget>> <span class="lewd">You keep <<if $position is "missionary">>your legs wrapped around<<else>>pushing back against<</if>> <<combatperson $feettarget>>, giving <<him>> no chance to escape.</span> <<elseif $orgasmdown gte 1>> <<sex 5 "genitals" $feettarget>><<set $speechleglock to 1>><<personselect $feettarget>> <span class="lewd">You <<if $position is "missionary">>wrap your legs around<<else>>push back against<</if>> <<combatperson $feettarget>> even harder as you orgasm, preventing <<his>> escape. </span> <<else>> <<set $feetactiondefault to "legLock">><<set $feetuse to 0>><<unset $leglocktarget>> <span class="blue">You try to keep <<if $position is "missionary">>your legs wrapped around<<else>>pushing back against<</if>> <<combatperson $feettarget>>, but <<he>> manages to pry your legs away.</span> <</if>> <</if>> <<if $feetaction is "legRelease">> <<set $feetaction to 0>><<set $feetactiondefault to "legRelease">><<personselect $feettarget>> You <<if $position is "missionary">>release the leg lock<<else>>stop pushing back<</if>>, allowing <<combatperson $feettarget>> to escape. <<set $feetuse to 0>><<unset $leglocktarget>> <</if>> /*Stalked actions */ <<if !$stalk_end>> <<if $feetaction is "walk">> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(75 - ($earSlime.defyCooldown * 5), 0, 75)) gte (currentSkillValue('willpower')/ 10) and hasSexStat("exhibitionism", 2)>> You're walking, <span class="red">but you suddenly find yourself moving differently.</span> You feel the slime steal your control away. <<set $feetaction to "strut">> <<else>> <<set $feetaction to 0>><<set $feetactiondefault to "walk">> <<set $feetuse to "walk">> You keep walking, <<if $control gte ($controlmax * 0.8)>> your feet sure and steady. <<elseif $control gte ($controlmax * 0.6)>> putting one foot in front of the other. <<elseif $control gte ($controlmax * 0.4)>> though worried about the gaining footsteps. <<elseif $control gte ($controlmax * 0.2)>> doing your best to stay calm. <<else>> suppressing the urge to break into a run. <</if>> <<stalk_walk_events>> <</if>> <</if>> <<if $feetaction is "strut">> <<set $feetaction to 0>><<set $feetactiondefault to "strut">> <<set $feetuse to "strut">> You strut, <<if $control gte ($controlmax * 0.8)>> swaying your shoulders and hips. <<elseif $control gte ($controlmax * 0.6)>> putting one foot in front of the other. <<elseif $control gte ($controlmax * 0.4)>> though worried about the gaining footsteps. <<elseif $control gte ($controlmax * 0.2)>> doing your best to stay calm. <<else>> suppressing the urge to break into a run. <</if>> <<meek 3>> <<stalk_walk_events>> <</if>> <<if $feetaction is "run">> <<set $feetaction to 0>><<set $feetactiondefault to "run">> <<if _stalkNoRunning is "chastity parasite">> <<set $feetactiondefault to "walk">><<set $feetuse to "walk">> <<if $earSlime.growth gte 150>><<set $earSlime.defyCooldown++>><</if>> You attempt to run, <span class="lewd">but you find the pleasure you're feeling is too much to run.</span> <<stalk_walk_events>> <<elseif $earSlime.growth - random(0, Math.clamp(110 - ($earSlime.defyCooldown * 10), 0, 110)) gte (currentSkillValue('willpower')/ 10)>> <<if $earSlime.growth gt 50 and hasSexStat("exhibitionism", 2)>> <<set $feetactiondefault to "strut">><<set $feetuse to "strut">> You attempt to run, <span class="red">but you suddenly find yourself strutting.</span> You feel the slime steal your control away. <<meek 3>> <<else>> <<set $feetactiondefault to "walk">><<set $feetuse to "walk">> You attempt to run, <span class="red">but you find yourself being unable to move any quicker.</span> You feel the slime steal your control away. <</if>> <<if $daily.stalkWillpower lt 20>> <<gwillpower>><<willpower 1>> <<set $daily.stalkWillpower to ($daily.stalkWillpower or 0) + 1>> <</if>> <<stalk_walk_events>> <<elseif $NPCList[0].state is "pursuit">> <<if $feetuse isnot "run">> You break into a run, and chase the thief. <<stalk_run>> <<else>> You chase the thief. <</if>> <<run_text>> <<if $worn.feet.type.includes("heels")>> <<if currentSkillValue("feetskill") gte random(1, 1000)>> <<set _stalk_feet to true>> <<else>> <<set _stalk_feet to false>> <</if>> <<else>> <<set _stalk_feet to true>> <</if>> <<if currentSkillValue('athletics') gte random(1, $NPCList[0].skills.athletics)>> <<set _stalk_athletics to true>> <<else>> <<set _stalk_athletics to false>> <</if>> <<if _stalk_athletics and _stalk_feet>> <span class="teal">You catch up.</span> <<set $NPCList[0].distance -= 2>> <<else>> <span class="red"><<He>> outpaces you.</span> <br> <</if>> <<stalk_run_events>> <<else>> <<if $feetuse isnot "run">> You break into a run. <<if $NPCList[0].fullDescription is "Ivory Wraith" or $NPCList[0].bold * 2 gte random(1, 1000)>> The footsteps behind you speed up. <span class="red">You are being chased.</span> <<stalk_run>> <<if $worn.feet.type.includes("heels")>> <<if currentSkillValue("feetskill") gte random(1, 1000)>> <<set _stalk_feet to true>> <</if>> <<else>> <<set _stalk_feet to true>> <</if>> <<if currentSkillValue('athletics') gte random(1, $NPCList[0].skills.athletics)>> <<set _stalk_athletics to true>> <<else>> <<set _stalk_athletics to false>> <</if>> <<if _stalk_athletics and _stalk_feet>> <span class="teal">The footsteps fall behind.</span> <<set $NPCList[0].distance += 2>> <<else>> <span class="red">The footsteps get closer.</span> <</if>> <<else>> <span class="teal">No one pursues.</span> <<set $stalk_end to "escaped">> <</if>> <<else>> You keep running. <<run_text>> <<if $worn.feet.type.includes("heels")>> <<if currentSkillValue("feetskill") gte random(1, 1000)>> <<set _stalk_feet to true>> <</if>> <<else>> <<set _stalk_feet to true>> <</if>> <<if currentSkillValue('athletics') gte random(1, $NPCList[0].skills.athletics)>> <<set _stalk_athletics to true>> <<else>> <<set _stalk_athletics to false>> <</if>> <<if _stalk_athletics and _stalk_feet>> <span class="teal">The footsteps fall behind.</span> <<set $NPCList[0].distance += 2>> <<else>> <span class="red">The footsteps get closer.</span> <</if>> <</if>> <<if $NPCList[0].distance gte 5>> <span class="green">You leave them far behind,</span> and escape to safety. <<set $stalk_end to "escaped">> <<else>> <<stalk_run_events>> <</if>> <</if>> <</if>> <<if $feetaction is "stand">> <<set $feetaction to 0>><<set $feetactiondefault to "stand">> <<if $control gte ($controlmax * 0.8)>> You stand still, your feet firm. <<elseif $control gte ($controlmax * 0.6)>> You stand still, and take a deep breath. <<elseif $control gte ($controlmax * 0.4)>> Despite your nerves, you stand still. <<elseif $control gte ($controlmax * 0.2)>> You stand still, despite your fear. <<else>> Shaking with fear, you stand still. <</if>> <<set $NPCList[0].distance to 0>> <</if>> <<if $feetaction is "hobble">> <<set $feetaction to 0>><<set $feetactiondefault to "hobble">> <<if $leftleg is "bound" or $rightleg is "bound">> You hobble as fast as your bound legs will allow, <<else>> You hobble as fast as your inexperience with high heels will allow, <</if>> <<if $control gte ($controlmax * 0.8)>> your feet steady despite your predicament. <<elseif $control gte ($controlmax * 0.6)>> careful not to trip. <<elseif $control gte ($controlmax * 0.4)>> suppressing the growing fear of the footsteps behind you. <<elseif $control gte ($controlmax * 0.2)>> struggling to stay calm. <<else>> suppressing the urge to cower in terror. <</if>> <</if>> <<if $feetaction is "hide">> <<set $feetaction to 0>><<set $feetactiondefault to "hide">> <<set _difficulty to $NPCList[0].skills.security>> <<set _difficulty += $liquidcount * 20>> <<if currentSkillValue('skulduggery') gte random(1, _difficulty)>> <<set _hide_success to true>> <</if>> <<if $earSlime.growth - random(0, Math.clamp(75 - ($earSlime.defyCooldown * 5), 0, 75)) gte (currentSkillValue('willpower')/ 10)>> <<if $earSlime.growth gte 150>><<set $earSlime.defyCooldown++>><</if>> <<if $earSlime.growth gt 50 and hasSexStat("exhibitionism", 2)>> <<set $feetactiondefault to "strut">><<set $feetuse to "strut">> You attempt to hide, <span class="red">but you suddenly find yourself strutting.</span> You feel the slime steal your control away. <<meek 3>> <<else>> <<set $feetactiondefault to "walk">><<set $feetuse to "walk">> You attempt to hide, <span class="red">but you find yourself being unable to move any quicker.</span> You feel the slime steal your control away. <</if>> <<if $daily.stalkWillpower lt 20>> <<gwillpower>><<willpower 1>> <<set $daily.stalkWillpower to ($daily.stalkWillpower or 0) + 1>> <</if>> <<stalk_walk_events>> <<elseif _hide_success and $NPCList[0].state is "pursuit">> <<switch $location>> <<case forest lake>> You hide behind a tree, and hope that no one's watching. <<case moor>> You crouch behind a small ridge, and hope that no one's watching. <<default>> You dive down a small alley, and take cover behind a dumpster. <</switch>> <<set $stalk_end to "hide">> <<elseif !_hide_success and ($NPCList[0].fullDescription isnot "Ivory Wraith" and ($NPCList[0].legs is "run" or $NPCList[0].bold gte random(1, 1000)) or $NPCList[0].fullDescription is "Ivory Wraith" and C.npc["Ivory Wraith"].lust gte random(5,15))>> <<switch $location>> <<case alley>> You dive down a thin alley, and take cover behind a dumpster. You peek around the corner. You don't see anyone. <<case forest lake>> You run into a dense copse, and take cover behind a thick trunk. You peek around the side. You don't see anyone. <<case moor>> You crest a small ridge, and dive into a ditch. You look up, and don't see anyone. <<default>> You dive down a thin alley, and take cover behind a dumpster. You peek around the side. You don't see anyone. <</switch>> <span class="red">Then you feel a presence.</span> /* Prevents stalking mouth actions from appearing once the encounter starts */ <<set $mouthaction to 0>><<set $mouthactiondefault to "rest">> <<if $npcrow.includes(0)>> <<stalk_nnpc_text_attack $NPCList[0].fullDescription>> <<if !$stalk_assess>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <span class="red">A<<if $wraith.seen gte 3>> familiar<</if>> pale figure stares down at you, eyes flashing <<wraithEyes>>.</span> <<else>> <span class="pink">It's <<print $npc[$npcrow.indexOf(0)]>>.</span> <</if>> <</if>> <br><br> <<events_stalk_nnpc $NPCList[0].fullDescription>> <<else>> <br><br> <<events_stalk>> <</if>> <<else>> <<switch $location>> <<case alley>> You dive down a thin alley, and take cover behind a dumpster. <<if $NPCList[0].fullDescription isnot "Ivory Wraith">> <span class="green"><<if $enemyno gt 1>>They pass<<else>>The <<person>> passes<</if>> without looking your way.</span> <</if>> <<case forest lake>> You run into a dense copse, and take cover behind a thick trunk. You peek around the edge. <<if $NPCList[0].fullDescription isnot "Ivory Wraith">> <span class="green"><<if $enemyno gt 1>>They pass<<else>>The <<person>> passes<</if>> by without looking your way.</span> <</if>> <<case moor>> You crest a small ridge, and dive into a ditch. <<if $NPCList[0].fullDescription isnot "Ivory Wraith">> The <<if $enemyno gt 1>><<person1>><</if>><<person>> pauses at the top, <span class="green">then moves on without looking your way.</span> <</if>> <<default>> You dive down a thin alley, and take cover behind a dumpster. You peek around the side. <<if $NPCList[0].fullDescription isnot "Ivory Wraith">> <span class="green"><<if $enemyno gt 1>>They pass<<else>>The <<person>> passes<</if>> without looking your way.</span> <</if>> <</switch>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <<set $stalk_assess to true>> The pale figure cackles and <span class="teal">dissipates into a thick, cool mist</span>. Its voice echoes around you. <<switch random(1, 3)>> <<case 3>><<set _wraith_output to "You can only hide from yourself for so long.">> <<case 2>><<set _wraith_output to "As the sun rests below the horizon.">> <<case 1>><<set _wraith_output to "Before they lose their shine.">> <</switch>> "<span class="wraith"><<print _wraith_output>></span>" <<trauma 2>><<stress 4>><<gtrauma>><<gstress>> <</if>> <<set $stalk_end to "hide">> <</if>> <</if>> <<if $feetaction is "confront">> <<famescrap 1>> You swivel around, and come face to face with <<person1>> <<if $npcrow.includes(0)>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <<if $stalk_assess>> the pale figure. <<else>> a<<if $wraith.seen gte 3>> familiar<</if>> pale figure. <</if>> <<else>> <<if $stalk_assess>> <<if $enemyno gte 3>> <<print $NPCList[0].fullDescription>> and <<his>> companions. <<elseif $enemyno is 2>> <<print $NPCList[0].fullDescription>> and <<his>> companion. <<else>> <<print $NPCList[0].fullDescription>>. <</if>> <<else>> <<if $enemyno gte 3>> a <<personsimple>> and <<his>> companions. <<elseif $enemyno is 2>> a <<personsimple>> and <<his>> companion. <<else>> a <<personsimple>>. <</if>> <span class="pink">It's <<print $NPCList[0].fullDescription>>.</span> <</if>> <</if>> <<elseif $enemyno gte 3>> the <<person>> and <<his>> companions. <<elseif $enemyno is 2>> the <<person>> and <<his>> companion. <<else>> the <<person>>. <</if>> <<set $stalk_assess to true>> <<if $npcrow.includes(0)>> <<actionsconfrontNNPC>> <<else>> <<actionsconfront>> <</if>> <br><br> <<if $combatgoal is "confront">> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <<set $stalk_assess to true>> You blink. When you open your eyes, <span class="red">the pale figure is inches from your face.</span> <<else>> <span class="purple"><<He>> comes to a stop in front of you.</span> <</if>> <br><br> <<set $NPCList[0].distance to 0>> <<set $stalk_end to "confront">> <<elseif $NPCList[0].fullDescription isnot "Ivory Wraith" and $NPCList[0].bold * 2 gte random(1, 1000) or $NPCList[0].fullDescription is "Ivory Wraith" and C.npc["Ivory Wraith"].lust gte random(1,10)>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> You blink. When you open your eyes, <span class="red">the pale figure is inches from your face.</span> <<else>> <span class="red"><<He>> marches towards you.</span> <</if>> /* Prevents stalking mouth actions from appearing once the encounter starts */ <<set $mouthaction to 0>><<set $mouthactiondefault to "rest">> <<if $npcrow.includes(0)>> <<stalk_nnpc_text_attack $NPCList[0].fullDescription>> <<else>> <<if $NPCList[0].traits.includes("relaxed")>> "Best play along," <<he>> says. "It'll be easier for you." <<elseif $NPCList[0].traits.includes("sociable")>> "That's no way to talk to a <<if $pronoun is "m">>gentleman<<else>>lady<</if>> like me," <<he>> says. "I know how you can make it up to me." <<elseif $NPCList[0].traits.includes("brooding")>> "This is the way of the world," <<he>> says. "It'll be over soon." <<else>> "You're such a hot piece," <<he>> says. "You're gonna get jumped sooner or later. I might as well benefit." <</if>> <</if>> <br><br> <<set $NPCList[0].distance to 0>> <<stalk_img>> <br><br> <<stalk_attack>> <<else>> <<if $npcrow.includes(0)>> <<stalk_nnpc_text_threat $NPCList[0].fullDescription>> <<else>> <span class="green"><<He>> throws up <<his>> hands.</span> <<if $NPCList[0].traits.includes("relaxed")>> "Easy <<girl>>," <<he>> says, giving you a wide berth. "I didn't mean to frighten you." <<elseif $NPCList[0].traits.includes("sociable")>> "Damn <<girl>>," <<he>> says. "Am I that ugly?" <<He>> gives you a wide berth. <<elseif $NPCList[0].traits.includes("brooding")>> The <<person>> laughs. "The streets that rough for you?" <<he>> asks. "I'll give you space." <<else>> "I was only looking!" <<he>> says. "Wasn't gonna try anything, honest." <<He>> gives you a wide berth. <</if>> <br><br> <<He>> walks ahead. You feel a little silly. <</if>> <br><br> <<set $stalk_end to "passed">> <<set $NPCList[_n].distance to 1>> <</if>> <</if>> <</if>> /*End of stalked actions */ /*** * ██ ██ █████ ██ ██ ███████ ██ ██ * ███ ███ ██ ██ ██ ██ ███ ██ ██ * ██ █ ██ ██ ██ ██ ██ ███ ███████ * ██ ██ ██ ██ ██ ██ ███ ██ ██ * ██ ██ █████ █████ ███ ██ ██ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<if $mouthaction is "rest">> <<set $mouthaction to 0>><<set $mouthactiondefault to "rest">> <</if>> <<if $mouthaction is "kissskin">> <<set $mouthaction to 0>><<actionskiss $mouthtarget>><<submission 3>><<set $mouthactiondefault to "kissskin">> <</if>> <<if $mouthaction is "kisslips">> <<set $mouthaction to 0>><<set $mouthactiondefault to "kisslips">><<personselect $mouthtarget>><<combatpromiscuity1>> <<if combatSkillCheck("oral", $mouthtarget)>> You move your lips close to <<hers>>. <<set $mouthuse to "kiss">><<set $mouthstate to "kissentrance">> <<set $NPCList[$mouthtarget].mouth to "kissentrance">> <<set $NPCList[$mouthtarget].location.head = "head">> <<else>> You try to move your head closer to <<hers>>, but <<he>> moves away. <</if>> <</if>> <<if $mouthaction is "growl">> <<set $mouthaction to 0>><<set $mouthactiondefault to "growl">><<set _sound to 1>> <<if playerAwareTheyAreInHeat()>> <<set $speechgrowlheat to 1>> <<submission 2>> You try to growl, <span class="pink">but being in heat makes it sound like a lewd whine.</span> <<elseif playerRutMinArousal() or playerHeatMinArousal()>> <<set $speechgrowlrut to 1>> <<submission 2>> You try to growl, <span class="pink">but being in rut makes it sound like a lewd whine.</span> <<else>> <<set $speechgrowl to 1>> <<actionsgrowl>> <<brat 2>> <</if>> <</if>> <<if $mouthaction is "plead">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "plead with <<him>>">> <<else>> <<set $mouthactiondefault to "plead">> <<actionsplead>><<set $speechplead to 1>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words, but <<if $enemyno gte 2>>react<<else>>reacts<</if>> to your tone. <</if>> <<meek `1 + $englishtrait`>> <</if>> <</if>> <<if $mouthaction is "moan">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "say something sexy" 2>><<set $speechmoan to 1>> <<else>> <<set $mouthactiondefault to "moan">> <<actionsmoan>><<set $speechmoan to 1>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words, but <<if $enemyno gte 2>>react<<else>>reacts<</if>> to your tone. <</if>> <<submission `1 + $englishtrait`>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "askchoke" and $askedtochoke isnot 1>> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "ask to choke you" 1>> <<else>> <<set $askedtochoke to 1>> <<set $mouthactiondefault to 0>> <<actionschoke>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <</if>> <<submission `1 + $englishtrait`>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "askrough">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "ask to be rougher" 2>> <<else>> <<askrough>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <</if>> <<submission 1>><<set $enemyanger += (10 * $englishtrait)>><<set $speechaskrough to 1>> <</if>> <</if>> <<if $mouthaction is "demand">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "demand something">> <<else>> <<set $mouthactiondefault to "demand">> <<actionsdemand>><<set $speechdemand to 1>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words, but <<if $enemyno gte 2>>flinch<<else>>flinches<</if>> at your tone. <</if>> <<defiance `1 + $englishtrait`>> <</if>> <</if>> <<if $mouthaction is "mock" or $mouthaction is "disparage">> <<if $mouthaction is "disparage">> <<set _disparage to true>> <<else>> <<set _disparage to false>> <</if>> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "mock <<him>>">> <<else>> <<if _disparage is false>> <<set $mouthactiondefault to "mock">> <<else>> /*Fallen Angel disparage */ <<set $enemyanger += 50>> <<set $mockaction to $NPCList[$mouthtarget].insecurity>> <<set $angelforgive to 1>> <<set $mouthactiondefault to "rest">> <<set _disparage to false>> <</if>> <<actionsmock>><<set $speechdemand to 1>> <<brat `1 + $englishtrait` $mouthtarget>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<elseif $mockaction is $NPCList[$mouthtarget].insecurity>> <<if $consensual is 1>> <<submission `1 + $englishtrait` $mouthtarget>> <<else>> <<combatcontrol `1 + $englishtrait`>> <</if>> <</if>> <</if>> <</if>> <<if $mouthaction is "mouth">> <<set $mouthaction to 0>><<meek 1 $mouthtarget>><<set $mouthactiondefault to "mouth">><<combatpromiscuity4>> <<if $penisbitten is 1>> <<He>> smacks your head away from <<his>> penis. <<violence 5>> <<elseif combatSkillCheck("oral", $mouthtarget)>> <<set $mouthsubmit to 1>><<oralskilluse>> <<if $NPCList[$mouthtarget].penis is 0>> <<set $NPCList[$mouthtarget].penis to "mouthentrance">><<set $mouthactiondefault to "lick">><<set $mouthuse to "penis">><<set $mouthstate to "entrance">> <span class="lblue">You <<oraltext>> move your mouth to <<hisselect $mouthtarget>> <<npcPenis $mouthtarget>><<if !$npcSub>> and <<he>> waits expectantly<</if>>.</span> <<if $enemytype is "beast">><<set $NPCList[$mouthtarget].stance to "topface">><</if>> <<set $NPCList[$mouthtarget].location.genitals to "head">> <<else>> <span class="blue">You try to move your mouth to <<hisselect $mouthtarget>> <<npcPenis $mouthtarget>>, but the phallus is already occupied.</span> <</if>> <<else>> You try to move into a position where your mouth can take <<hisselect $mouthtarget>> penis, but <<he>> has other ideas. <<oralskilluse>> <</if>> <</if>> <<if $mouthaction is "swallow" and $NPCList[$mouthtarget].penis.toString().includes("mouth")>> <<set $mouthaction to 0>><<set $mouthactiondefault to "swallow">><<combatpromiscuity5>> <<set $NPCList[$mouthtarget].penis to "mouth">> <span class="pink">You take <<hisselect $mouthtarget>> $NPCList[$mouthtarget].penisdesc into your mouth.</span> <<switch $NPCList[$mouthtarget].penissize>> <<case 4>> <span class="pink"> You struggle to accommodate its girth.</span> <<case 1>> <span class="pink"> You struggle to keep your mouth on something so small.</span> <</switch>> <<if $player.virginity.oral isnot true>> <<if $NPCList[$mouthtarget].type is "plant">> <span class="pink"> It tastes sweet.</span> <</if>> <<submission 10>><<bruise face>><<oralstat>><<raped>><<set $mouthstate to "penetrated">><<set $speechmouthpenetrated to 1>> <<elseif $player.virginity.oral is true>> <<if $NPCList[$mouthtarget].type is "plant">> <span class="red">It tastes uncomfortably sweet.</span> <<else>> <span class="red">It tastes strange.</span> <</if>> <<submission 30>> <<takeVirginity $NPCList[$mouthtarget].fullDescription "oral">><<bruise face>><<oralstat>><<violence 1>><<raped>> <<set $mouthstate to "penetrated">><<set $speechmouthvirgin to 1>> <</if>> <</if>> <<if $mouthaction is "othervagina">> <<set $mouthaction to 0>><<meek 1 $mouthtarget>><<set $mouthactiondefault to "othervagina">><<combatpromiscuity4>> <<if $penisbitten is 1>> <<He>> smacks your head away from <<his>> pussy. <<violence 5>> <<elseif combatSkillCheck("oral", $mouthtarget)>> <<oralskilluse>> <<if $NPCList[$mouthtarget].vagina is 0>> <span class="lblue">You <<oraltext>> move your mouth to <<hisselect $mouthtarget>> <<npcVagina $mouthtarget>><<if !$npcSub>> and <<he>> waits expectantly<</if>>.</span> <<set $NPCList[$mouthtarget].vagina to "mouth">><<set $mouthstate to "othervagina">><<set $mouthuse to "othervagina">> <<if $enemytype is "beast">><<set $NPCList[$mouthtarget].stance to "topface">><</if>><<set $mouthactiondefault to "vaginalick">> <<set $NPCList[$mouthtarget].location.genitals to "head">> <<else>> <span class="blue">You try to move your mouth to <<hisselect $mouthtarget>> <<npcVagina $mouthtarget>>, but the entrance is already occupied.</span> <</if>> <<else>> You try to move into a position where your mouth can eat <<hisselect $mouthtarget>> pussy, but <<he>> has other ideas. <<oralskilluse>> <</if>> <</if>> <<if $mouthaction is "breastpull" and $NPCList[$mouthtarget].chest.toString().includes("mouth")>> <<set $mouthaction to 0>><<set $mouthactiondefault to "breastpull">><<personselect $mouthtarget>> You try to pull your head away from the chest pressing against your face. <<oralskilluse>><<brat 1 $mouthtarget>> <<set _nectarDifficulty to Math.clamp($drugged, 0, 500) + Math.clamp($nectar_addiction, 0, 500)>> <<willpowerdifficulty _nectarDifficulty $willpowermax "silent">> <<if $NPCList[$mouthtarget].type is "plant" and !$willpowerSuccess>> <span class="red">However, you can't tear yourself from the sweet nectar.</span> <<if $mouthstate is "nipple">> You desperately suck their $NPCList[$mouthtarget].breastdesc. <<else>> You push your face back into their $NPCList[$mouthtarget].breastdesc. <</if>> <<gwillpower>><<willpower 1>> <<else>> <<if combatSkillCheck("oral", $mouthtarget, $NPCList[$mouthtarget].fullDescription)>> <<set $mouthstate to 0>><<set $mouthuse to 0>> <<set $NPCList[$mouthtarget].chest to 0>> <<set $NPCList[$mouthtarget].location.head to 0>> <span class="green"><<He>> doesn't stop you.</span> <<if $NPCList[$mouthtarget].lefthand is "head_breasts" or $NPCList[$mouthtarget].lefthand is "head_nipples">> <<set $NPCList[$mouthtarget].lefthand to 0>> <</if>> <<if $NPCList[$mouthtarget].righthand is "head_breasts" or $NPCList[$mouthtarget].righthand is "head_nipples">> <<set $NPCList[$mouthtarget].righthand to 0>> <</if>> <<else>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <<violence 1>> <<if $mouthstate is "breasts">> <span class="red">However, <<he>> refuses to allow it,</span> instead pushing your head back against their chest. <<elseif $mouthstate is "nipple">> <span class="red">However, <<he>> refuses to allow it,</span> instead pushing your head back against their chest. <</if>> <</if>> <</if>> <</if>> <<if $mouthaction is "movetochest">> <<set $mouthaction to 0>><<meek 1 $mouthtarget>><<set $mouthactiondefault to "movetochest">><<combatpromiscuity3>> <<if $breastbitten is 1>> <<He>> smacks your head away from <<his>> chest. <<violence 5>> <<elseif combatSkillCheck("oral", $mouthtarget)>> <<if $NPCList[$mouthtarget].chest is 0>> <<set $mouthactiondefault to "breastlick">> <span class="lblue">You <<oraltext>> move your mouth to <<hisselect $mouthtarget>> $NPCList[$mouthtarget].breastsdesc.</span> <<if $NPCList[$mouthtarget].type is "plant" and $NPCList[$mouthtarget].pronoun is "f" and $breastfeedingdisable is "f">> <span class="purple">It carries a sweet scent.</span> <<elseif $NPCList[$mouthtarget].lactation is 1 and $breastfeedingdisable is "f">> <span class="purple">It carries a scent of milk.</span> <</if>> <<set $NPCList[$mouthtarget].chest to "mouthentrance">><<set $mouthstate to "breasts">><<set $mouthuse to "breasts">><<set $head to "breasts">><<oralskilluse>> <<set $NPCList[$mouthtarget].location.head to "head">> <<else>> <span class="blue">You try to move your mouth to <<someones $mouthtarget>> chest, but the place is already occupied.</span><<oralskilluse>> <</if>> <<else>> You try to move your mouth to <<someones $mouthtarget>> chest, but <<he>> has other ideas. <<oralskilluse>> <</if>> <</if>> <<if $mouthaction is "breastbite" and $NPCList[$mouthtarget].chest is "mouth">> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(50 - ($earSlime.defyCooldown * 5), 0, 50)) gte (currentSkillValue('willpower')/ 10)>> You try to bite down on the nipple, <span class="red">but find you're unable to.</span> You feel the slime steal your control away. <<set $mouthaction to "breastsuck">> <<if $earSlime.growth gte 100>><<set $earSlime.defyCooldown++>><</if>> <<else>> <<set $mouthaction to 0>><<set $mouthactiondefault to "breastbite">><<personselect $mouthtarget>> You bite down on the nipple, <<he>> <<if $enemytype is "man">>yelps<<elseif $enemytype is "beast">>growls<<else>>shrieks<</if>> and recoils in agony. <<defiance 20 $mouthtarget>><<attackstat>><<set $mouthuse to 0>><<set $breastbitten to 1>><<set $mouthstate to 0>> <<if $transformationParts.traits.fangs isnot "disabled">> <<defiance 40 $mouthtarget>> You lick your fangs clean. <</if>> <<if $head is "breasts">> <<set $head to 0>> <</if>> <<set $NPCList[$mouthtarget].chest to 0>> <<set $NPCList[$mouthtarget].location.head to 0>> <<if $NPCList[$mouthtarget].lefthand is "head_nipples">> <<set $NPCList[$mouthtarget].lefthand to 0>> <</if>> <<if $NPCList[$mouthtarget].righthand is "head_nipples">> <<set $NPCList[$mouthtarget].righthand to 0>> <</if>> <</if>> <</if>> <<if $mouthaction is "breastlick" and $NPCList[$mouthtarget].chest is "mouthentrance">> <<set $mouthactiondefault to "breastlick">><<set $mouthaction to 0>><<submission 3>> You lick <<hisselect $mouthtarget>> $NPCList[$mouthtarget].breastsdesc. <</if>> <<if $mouthaction is "breastclosed" and $NPCList[$mouthtarget].chest.toString().includes("mouth")>> <<set $mouthactiondefault to "breastclosed">><<set $mouthaction to 0>><<brat 3 $mouthtarget>> You keep your mouth closed. <<if $NPCList[$mouthtarget].type is "plant" and $NPCList[$mouthtarget].pronoun is "f" and $breastfeedingdisable is "f">> <span class="pink">Nectar leaks from <<hisselect $mouthtarget>> $NPCList[$mouthtarget].breastdesc.</span> <<elseif $NPCList[$mouthtarget].lactation is 1 and $breastfeedingdisable is "f">> <span class="pink">Milk leaks from <<hisselect $mouthtarget>> $NPCList[$mouthtarget].breastdesc.</span> <</if>> <</if>> <<if $mouthaction is "breastsuck" and $NPCList[$mouthtarget].chest.toString().includes("mouth")>> <<set $mouthactiondefault to "breastsuck">><<set $mouthaction to 0>><<submission 3>> <<set $mouthstate to "nipple">> <<set $NPCList[$mouthtarget].chest to "mouth">> You <<oraltext>> suck <<hisselect $mouthtarget>> $NPCList[$mouthtarget].breastdesc. <<if $NPCList[$mouthtarget].lefthand is "head_breasts">><<set $NPCList[$mouthtarget].lefthand to "head_nipples">><</if>> <<if $NPCList[$mouthtarget].righthand is "head_breasts">><<set $NPCList[$mouthtarget].righthand to "head_nipples">><</if>> <<if $breastfeedingdisable is "f" and $NPCList[$mouthtarget].type is "plant" and $NPCList[$mouthtarget].pronoun is "f">> <span class="purple">Sweet nectar fills your mouth.</span> <<nectarfed 15>><<set $speechheadsuckle to 1>><<submission 2>> <<elseif $breastfeedingdisable is "f" and $NPCList[$mouthtarget].lactation is 1>> <span class="purple">Sweet, creamy milk fills your mouth.</span> <<breastfed>><<set $speechheadsuckle to 1>><<submission 2>> <<else>> <<set $speechheadnipple to 1>> <</if>> <</if>> <<if $mouthaction is "scream">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "scream for help">> <<elseif $drugged gt 0 or $arousal gte $arousalmax * 0.9>> You try to scream for help, <span class="pink">but your arousal makes it sound like a lewd moan.</span> <<neutral 1>><<set $speechmoan to 1>> <<elseif $uncomfortable.hypnosis is false and $hypnosis_traits.scream gte random(1,5)>> <<hypnosisicon>> You intend to scream for help, but a lewd thought intrudes <span class="lewd">and your mind immediately accepts it.</span> <<hypnotised 1>> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<askrough>> <<submission 1>><<set $enemyanger += (10 * $englishtrait)>> <<hypnosisicon>> <<elseif $hypnosis_traits.scream gte 1 and $willpower lt random(1, (200 * $hypnosis_traits.scream))>> <<hypnosisicon>> You intend to scream for help, <span class="pink">but the thought is snatched from your mind, and replaced with another.</span> <<hypnotised 1>><<willpower 1>> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<askrough>> <<submission 1>><<set $enemyanger += (10 * $englishtrait)>> <<hypnosisicon>> <<elseif numberOfEarSlime() and $earSlime.growth gte (currentSkillValue('willpower')/ 10)>> You open your mouth to scream for help, <span class="lewd">but sudden arousal makes it sound like a lewd moan.</span> You feel the slime rapidly drug you. <<if $earSlime.growth gt 50>><<set $earSlime.defyCooldown++>><</if>> <<submission 1>><<set $speechmoan to 1>><<drugs 10>><<arousal 1000>> <<elseif numberOfEarSlime() and $earSlime.corruption gte (currentSkillValue('willpower')/ 10) and random(0,100) gte 50>> You open your mouth to scream for help, <span class="red">but your voice catches in your throat.</span> You feel the slime steal your focus away. <<gwillpower>><<willpower 1>> <<else>> <<if $hypnosis_traits.scream gte 1>> <span class="green">You resist intrusive thoughts,</span> and scream for help. <<else>> You scream for help. <</if>> <<if isLoveInterest("Eden") and $location is "forest" and !($npc.includes("Eden")) and (!$undergroundbrothel or !$undergroundbrothel.active)>> <<if $rng lte 50>> "Eden! Get them off of me!" <<else>> "Eden! Help!" <</if>> <</if>> <<brat 10>><<set $alarm to 1>><<set $mouthactiondefault to "scream">><<set $speechscream to 1>> <<if $NPCList[0].lefthand is 0 and $mouthuse is 0 and $position isnot "wall" and !$robinRentEvent>> <<set $NPCList[0].lefthand to "mouth">><<person1>><<He>> clasps <<his>> hand over your mouth to silence you. <<set $enemytrust -= 40>><<set $mouthuse to "lefthand">> <<elseif $NPCList[0].righthand is 0 and $mouthuse is 0 and $position isnot "wall" and !$robinRentEvent>> <<set $NPCList[0].righthand to "mouth">><<person1>><<He>> clasps <<his>> hand over your mouth to silence you. <<set $enemytrust -= 40>><<set $mouthuse to "righthand">> <</if>> <</if>> <</if>> <<if $mouthaction is "apologise">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "apologise">> <<elseif $enemytype is "beast">> You tell <<him>> you're sorry for being bad. <<set $mouthactiondefault to "plead">> <<if $apologised is 0>> <<if $monster is 1>> <<bHe>> growls. "Good. Now stay still." <<else>> While it doesn't understand you, your tone of voice has an impact. <</if>> <<set $apologised to 1>><<set $speechapologise to 1>> <<set $enemyanger -= 50 * (1 + $englishtrait)>> <<else>> <<bHe>> ignores you. <<set $speechapologiseno to 1>> <</if>> <<else>> <<if $robinmist>> You shout. "I'm sorry I wasn't there for you!" <<set $speechapologiseno to 1>> <<elseif $robinRentEvent is 1 and $combatPhase is "Robin">> You tell <<him>> you're sorry for not paying <<him>>. <<set $speechapologiseno to 1>> <<elseif $npc.includes("Ivory Wraith") and $wraithPrison and $wraithPrison.vision and !$wraithApologiseCooldown>> <<if $wraith.state is "haunt">> You tell <<him>> you're sorry for taking everything from <<him>>. <<else>> You tell <<him>> you're sorry for everything that's happened to <<him>>. <</if>> <<set $mouthactiondefault to "plead">> <<if $apologised is 0>> <<set $apologised to 1>><<set $speechapologise to 1>><<set $wraithApologise to true>><<set $wraithApologiseCooldown to true>> <<set $enemyanger -= 100 * (1 + $englishtrait)>> <<else>> <<He>> angrily claws at <<his>> neck. <<set $speechapologiseno to 1>> <</if>> <<else>> You tell <<him>> you're sorry for being bad. <<set $mouthactiondefault to "plead">> <<if $apologised is 0>> <<His>> face softens. <<set $apologised to 1>><<set $speechapologise to 1>> <<set $enemyanger -= 50 * (1 + $englishtrait)>> <<else>> <<He>> ignores you. <<set $speechapologiseno to 1>> <</if>> <</if>> <</if>> <</if>> <<if $mouthaction is "forgive">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze>> <<else>> <<set $mouthactiondefault to "plead">> <<set $trauma -= $traumagain>><<set $traumagain to 0>><<set $speechforgive to 1>><<set $angelforgive to 1>> <<traumaclamp>> <<if $enemytype is "beast">> "You don't know any better. You're just a <<beasttype>>," you say. "I forgive you." <<else>> "Even though you're doing such a horrible thing, don't worry," you say. "I forgive you." <</if>> <</if>> <</if>> <<if $mouthaction is "peniskiss">> <<set $mouthaction to 0>><<set $mouthactiondefault to "peniskiss">> <<actionspeniskiss `($chestuse is "penis" ? $chesttarget : $mouthtarget)`>> <<submission 3>><<oralskilluse>> <</if>> <<if $mouthaction is "lick">> <<set $mouthaction to 0>><<set $mouthactiondefault to "lick">><<actionspenislick $mouthtarget>><<submission 5>><<oralskilluse>> <</if>> <<if $mouthaction is "suck">> <<set $mouthaction to 0>><<set $mouthactiondefault to "suck">><<actionspenissuck $mouthtarget>><<submission 10>><<oralskilluse>> <</if>> <<if $mouthaction is "oraledge">> <<personselect $mouthtarget>><<actionsoraledge $mouthtarget>><<set $mouthaction to 0>><<set $mouthactiondefault to "oraledge">> <<submission 5>><<sexControl 5 `currentSkillValue("oralskill")` $mouthtarget>><<oralskilluse>> <</if>> <<if $mouthaction is "pullaway">> <<set $mouthaction to 0>><<set $mouthactiondefault to "pullaway">><<personselect $mouthtarget>> You try to pull your head away from the penis threatening your mouth. <<oralskilluse>><<brat 1 $mouthtarget>> <<set _nectarDifficulty to Math.clamp($drugged, 0, 500) + Math.clamp($nectar_addiction, 0, 500)>> <<willpowerdifficulty _nectarDifficulty $willpowermax "silent">> <<if $NPCList[$mouthtarget].type is "plant" and $mouthstate is "penetrated" and !$willpowerSuccess>> <span class="red">However, you can't tear yourself from the sweet nectar.</span> You desperately suck on the penis invading your mouth. <<willpower 1>> <<else>> <<if combatSkillCheck("oral", $mouthtarget, $NPCList[$mouthtarget].fullDescription)>> <<set $pullaway to 1>> <<if $NPCList[$mouthtarget].penis is "mouth">> <<set $NPCList[$mouthtarget].penis to "mouthimminent">><<set $mouthstate to "imminent">><span class="green"><<He>> doesn't stop you.</span> <<elseif $NPCList[$mouthtarget].penis is "mouthimminent">> <<set $NPCList[$mouthtarget].penis to "mouthentrance">><<set $mouthstate to "entrance">><span class="green"><<He>> doesn't stop you.</span> <<elseif $NPCList[$mouthtarget].penis is "mouthentrance">> <<set $NPCList[$mouthtarget].penis to 0>><<set $mouthstate to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[$mouthtarget].location.genitals to 0>> <span class="green"><<He>> doesn't stop you.</span> <</if>> <<else>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <<violence 1>> <<if $mouthstate is "penetrated">> <span class="red">However, <<he>> refuses to allow it,</span> forcing the phallus back into your mouth. <<elseif $mouthstate is "imminent">> <span class="red">However, <<he>> refuses to allow it,</span> instead pushing the penis against your lips. <<elseif $mouthstate is "entrance">> <span class="red">However, <<he>> refuses to allow it,</span> instead pushing the penis against your lips. <</if>> <</if>> <</if>> <</if>> <<if $mouthaction is "pullawayvagina" and ($NPCList[$mouthtarget].vagina is "mouth" or $NPCList[$mouthtarget].vagina is "facesit")>> <<set $mouthaction to 0>><<set $mouthactiondefault to "pullawayvagina">><<personselect $mouthtarget>><<set $mouthstate to 0>> <<if $consensual is 1>> You try to move your head away from the pussy. <<oralskilluse>><<brat 1 $mouthtarget>> <<else>> You try to pull your head away from the pussy threatening your mouth. <<oralskilluse>><<brat 1 $mouthtarget>> <</if>> <<oralskilluse>><<brat 1 $mouthtarget>> <<set _nectarDifficulty to Math.clamp($drugged, 0, 500) + Math.clamp($nectar_addiction, 0, 500)>> <<willpowerdifficulty _nectarDifficulty $willpowermax "silent">> <<if $NPCList[$mouthtarget].type is "plant" and !$willpowerSuccess>> <span class="red">However, you can't tear yourself from the sweet nectar.</span> You desperately lick the pussy pressing against your mouth. <<willpower 1>> <<else>> <<if combatSkillCheck("oral", $mouthtarget, $NPCList[$mouthtarget].fullDescription)>> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $pullaway to 1>> <<set $NPCList[$mouthtarget].vagina to 0>><span class="green"><<He>> doesn't stop you.</span> <<set $NPCList[$mouthtarget].location.genitals to 0>> <<else>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <span class="red">However, <<theowner>> refuses to allow it,</span> forcing it against your face. <<violence 1>> <</if>> <</if>> <</if>> <<if $mouthaction is "bite" and $NPCList[$mouthtarget].penis is "mouth">> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(50 - ($earSlime.defyCooldown * 5), 0, 50)) gte (currentSkillValue('willpower')/ 10)>> You try to bite down on the <<npcPenisSimple $mouthtarget>>, <span class="red">but find you're unable to.</span> You feel the slime steal your control away. <<set $mouthaction to 0>><<set $mouthactiondefault to "suck">><<actionspenissuck $mouthtarget>><<submission 10>><<oralskilluse>> <<if $earSlime.growth gte 100>><<set $earSlime.defyCooldown++>><</if>> <<else>> <<set $mouthaction to 0>><<set $mouthactiondefault to "bite">><<personselect $mouthtarget>> You bite down on <<his>> <<npcPenisSimple $mouthtarget>>, <<if npcHasStrapon($mouthtarget)>> but it has no effect. <<else>> <<he>> <<if $enemytype is "man">>yelps<<elseif $enemytype is "beast">>growls<<else>>shrieks<</if>> and recoils in agony. <<set $NPCList[$mouthtarget].penis to 0>><<set $NPCList[$mouthtarget].location.genitals to 0>> <<defiance 20 $mouthtarget>><<attackstat>><<control 15>><<set $mouthuse to 0>><<set $penisbitten to 1>><<set $mouthstate to 0>> <<if $transformationParts.traits.fangs isnot "disabled">> <<defiance 20 $mouthtarget>><<defiance 20 $mouthtarget>> You lick your fangs clean. <</if>> <</if>> <</if>> <</if>> <<if $mouthaction is "bitepussy" and ($NPCList[$mouthtarget].vagina is "mouth" or $NPCList[$mouthtarget].vagina is "facesit")>> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(50 - ($earSlime.defyCooldown * 5), 0, 50)) gte (currentSkillValue('willpower')/ 10)>> You try to bite down on <<hisselect $mouthtarget>> labia, <span class="red">but find you're unable to.</span> You feel the slime steal your control away. <<set $mouthaction to "vaginalick">> <<if $earSlime.growth gte 100>><<set $earSlime.defyCooldown++>><</if>> <<else>> <<set $mouthaction to 0>><<set $mouthactiondefault to "bitepussy">><<personselect $mouthtarget>> You bite down on <<hisselect $mouthtarget>> labia. <<He>> <<if $enemytype is "man">>yelps<<elseif $enemytype is "beast">>growls<<else>>shrieks<</if>> and recoils in agony. <<set $NPCList[$mouthtarget].vagina to 0>><<set $NPCList[$mouthtarget].location.genitals to 0>> <<defiance 20 $mouthtarget>><<attackstat>><<control 15>><<set $mouthuse to 0>><<set $penisbitten to 1>><<set $mouthstate to 0>><<set $speechhit to 1>> <<if $transformationParts.traits.fangs isnot "disabled">> <<defiance 40 $mouthtarget>> You lick your fangs clean. <</if>> <</if>> <</if>> <<if $mouthaction is "vaginalick" and ($NPCList[$mouthtarget].vagina is "mouth" or $NPCList[$mouthtarget].vagina is "facesit")>> <<set $mouthaction to 0>><<set $mouthactiondefault to "vaginalick">><<actionspussylick $mouthtarget>><<submission 10>><<oralskilluse>> <</if>> <<if $mouthaction is "pullawaykiss" and $NPCList[$mouthtarget].mouth.toString().includes("kiss")>> <<set $mouthaction to 0>><<set $mouthactiondefault to "pullawaykiss">><<personselect $mouthtarget>> You try to pull your head away from <<his>> lips. <<oralskilluse>><<brat 1 $mouthtarget>> <<set _nectarDifficulty to Math.clamp($drugged, 0, 500) + Math.clamp($nectar_addiction, 0, 500)>> <<willpowerdifficulty _nectarDifficulty $willpowermax "silent">> <<if $NPCList[$mouthtarget].type is "plant" and $mouthstate isnot "kissentrance" and !$willpowerSuccess>> <span class="red">However, you can't tear yourself from the sweet nectar.</span> <<if $mouthstate is "kissimminent">> You kiss <<him>> back, parting <<his>> lips with your tongue. <<elseif $mouthstate is "kiss">> You kiss <<him>> back, caressing <<his>> tongue with your own. <</if>> <<willpower 1>> <<else>> <<if combatSkillCheck("oral", $mouthtarget, $NPCList[$mouthtarget].fullDescription)>> <<set $mouthuse to 0>><<set $mouthstate to 0>> <<set $NPCList[$mouthtarget].mouth to 0>><span class="green"><<He>> doesn't stop you.</span> <<set $NPCList[$mouthtarget].location.head to 0>> <<else>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <<if $mouthstate is "kissentrance">> <span class="red">However, <<he>> refuses to allow it,</span> preventing you from moving away from their face. <<else>> <span class="red">However, <<he>> refuses to allow it,</span> kissing you more firmly. <</if>> <<violence 1>> <</if>> <</if>> <</if>> <<if $mouthaction is "kissback">> <<set $mouthaction to 0>><<set $mouthactiondefault to "kissback">><<actionskissback $mouthtarget>><<submission 2>><<oralskilluse>> <</if>> <<if $mouthaction is "anallick">> <<set $mouthaction to 0>><<set $mouthactiondefault to "anallick">><<actionsAnalLick $mouthtarget>><<submission 10>><<oralskilluse>> <</if>> <<if $mouthaction is "analkiss">> <<set $mouthaction to 0>><<set $mouthactiondefault to "analkiss">><<actionsAnalKiss $mouthtarget>><<submission 12>> <</if>> <<if $mouthaction is "analpull" and ($NPCList[$mouthtarget].penis is "mouthotheranus" or $NPCList[$mouthtarget].vagina is "mouthotheranus")>> <<set $mouthaction to 0>><<set $mouthactiondefault to "analpull">><<personselect $mouthtarget>> You try to pull away from the anus menacing your mouth. <<oralskilluse>><<brat 1 $mouthtarget>> <<if combatSkillCheck("oral", $mouthtarget, $NPCList[$mouthtarget].fullDescription)>> <span class="green"><<He>> doesn't stop you.</span> <<set $mouthstate to 0>><<set $mouthuse to 0>> <<if $NPCList[$mouthtarget].penis is "mouthotheranus">><<set $NPCList[$mouthtarget].penis to 0>><</if>> <<if $NPCList[$mouthtarget].vagina is "mouthotheranus">><<set $NPCList[$mouthtarget].vagina to 0>><</if>> <<set $NPCList[$mouthtarget].location.genitals to 0>> <<else>> <span class="red">However, <<combatperson>> refuses to allow it,</span> forcing your face into <<his>> ass. <<violence 1>> <<if $consensual is 1>> <<set $consensual to 0>><<molested>><<controlloss>> <</if>> <</if>> <</if>> <<rng>> <<if $mouthaction is "handbite">> <<if $earSlime.growth gt 50 and $earSlime.growth - random(0, Math.clamp(50 - ($earSlime.defyCooldown * 5), 0, 50)) gte (currentSkillValue('willpower')/ 10)>> You try to bite down on <<hisselect $mouthtarget>> hand, <span class="red">but find you're unable to.</span> You feel the slime steal your control away. <<set $mouthactiondefault to "rest">> <<if $earSlime.growth gte 100>><<set $earSlime.defyCooldown++>><</if>> <<else>> <<set $mouthaction to 0>><<set $mouthactiondefault to "handbite">><<personselect $mouthtarget>> <<actionshandbite $mouthtarget>> <<if $transformationParts.traits.fangs isnot "disabled">> <<defiance 6 $mouthtarget>> <<else>> <<defiance 2 $mouthtarget>> <</if>> <<if random(1, 5) gte 3 and ($transformationParts.traits.fangs isnot "disabled") or random(1, 5) gte 5>> <<set $mouthuse to 0>> <<if $NPCList[$mouthtarget].lefthand is "mouth">> <<set $NPCList[$mouthtarget].lefthand to 0>> <<control 15>> <span class="teal"><<He>> flinches away in pain, freeing your mouth.</span> <</if>> <<if $NPCList[$mouthtarget].righthand is "mouth">> <<set $NPCList[$mouthtarget].righthand to 0>> <<control 15>> <span class="teal"><<He>> flinches away in pain, freeing your mouth.</span> <</if>> <<else>> <<control -5>> <span class="purple">It remains over your mouth.</span> <</if>> <</if>> <</if>> <<if $mouthaction is "headbutt" and $NPCList[$mouthtarget].mouth.toString().includes("kiss")>> <<set $mouthaction to 0>><<set $mouthactiondefault to "headbutt">><<personselect $mouthtarget>> <<if $mouthstate is "kiss">> You disengage from the kiss, and headbutt <<him>> in retaliation. <<else>> You quickly rear back and headbutt <<him>>. <</if>> <<He>> <<if $enemytype is "beast">>yelps and backs off<<else>>yells and stumbles back, clutching <<his>> head<</if>>. <<if ($description is "faithful" or $description is "fallen") and $sydney.glasses is "glasses">> <<set $sydney.glasses to "playerbroken">> <span class="purple"><<His>> glasses shatter.</span> <</if>> <<defiance 10 $mouthtarget>><<attackstat>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<if $cow gte 2 and $demon gte 2>> <<defiance 10 $mouthtarget>><<defiance 10 $mouthtarget>> <</if>> <<if $demon gte 2>> <<defiance 10 $mouthtarget>> <<if $leftarm isnot "bound" or $rightarm isnot "bound">> You rub your horns. <</if>> <</if>> <<if $cow gte 2>> <<print either("That didn't hurt you at all!", "You remain unshaken by the blow.", "You're unharmed by the hit.")>> <<else>> <<pain 4>> <<if $pain lte 20>> Your own head immediately stings. <<elseif $pain lte 60>> Your ears begin to ring from the blow. <<else>> Your mind feels rattled by the impact. <</if>> <<gpain>> <</if>> <<set $head to 0>> <<set $NPCList[$mouthtarget].mouth to 0>> <<set $NPCList[$mouthtarget].location.head to 0>> <</if>> <<if $mouthaction is "grasp" and $NPCList[$mouthtarget].penis is "mouthentrance">> <<set $mouthaction to 0>><<set $mouthactiondefault to "grasp">><<chestskilluse>><<combatpromiscuity3>> <<if combatSkillCheck("chest", $mouthtarget)>> <<set $chestactiondefault to "rub">><<set $chestuse to "penis">><<cheststat>><<set $mouthstate to 0>><<set $mouthuse to 0>><<set $mouthactiondefault to "peniskiss">> <<set $NPCList[$mouthtarget].penis to "chest">><<personselect $mouthtarget>><<set $chesttarget to $mouthtarget>> <<if $breastcup is "none">> <span class="lblue">You <<chesttext>> squeeze your <<breasts>> together as best you can and try to grab <<hisselect $mouthtarget>> $NPCList[$mouthtarget].penisdesc between them. Your breasts are too small for it to be effective, but your cute attempt succeeds in charming <<him>>.</span> <<He>> rubs <<his>> penis against your chest. <<else>> <span class="lblue">You <<chesttext>> grab <<hisselect $mouthtarget>> $NPCList[$mouthtarget].penisdesc between your <<breasts>>.</span> <</if>> <<else>> <<if $player.breastsize is 0>> You squeeze your <<breasts>> together as best you can and try to grab <<his>> penis between them, to no avail. <<else>> You try to grab <<hisselect $mouthtarget>> penis between your <<breasts>>, but fail. <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "finish">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2 and $gamemode isnot "soft">> <<wheeze "tell <<him>> you want to stop">> <<else>> <<set $mouthactiondefault to "rest">><<brat 10>> You tell <<him>> you've had enough and want to stop. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif !$loveDrunk and $NPCList[0].type isnot "plant" and combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<set $finish to 1>> <<if $trueconsensual isnot 1 and $gamemode is "soft">> <<set $enemyhealth to -100>> <</if>> <<if $enemytype is "man" or $monster is 1>> <<if $enemyno gte 2>>They look<<else>><<He>> looks<</if>> disappointed, <span class="green">but <<if $enemyno gte 2>>comply<<else>>complies<</if>>.</span> <<else>> It can't speak, <span class="green">but understands your tone and complies.</span> <</if>> <<if $gamemode is "soft">> <<set $enemyhealth to -1000>> <</if>> <<else>> <<set $consensual to 0>> <<switch $enemytype>> <<case "plant">> <span class="red"><<He>> shakes <<his>> head happily.</span> <<case "beast">> Eager to <<if $pregnancyspeechdisable is "f">>breed<<else>>fuck<</if>>, <span class="red"><<bhe>> ignores your desire.</span> <<default>> <span class="red"><<if $enemyno gte 2>>They refuse!<<else>><<He>> refuses!<</if>></span> <</switch>> <<molested>><<controlloss>> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "novaginal">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> you don't want anything penetrating your vagina">> <<else>> <<set $mouthactiondefault to "rest">><<brat 5>><<if !$gloryhole and $gamemode isnot "soft">><<seductionskillusecombat>><</if>> <<if $player.virginity.vaginal is true>> You tell <<him>> you don't want anything penetrating your vagina, you are a virgin after all. <<else>> You tell <<him>> you don't want anything penetrating your vagina. <</if>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<set $novaginal to 1>><span class="green"><<if $enemyno gte 2>>They nod<<else>><<He_Short>> nods<</if>> in acknowledgement.</span> <<if $vaginastate is "doublepenetrated">> <<set $vaginastate to "doubleentrance">><<set $vaginaaction to 0>> <<if $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">> <<set $NPCList[$vaginatarget].penis to "vaginaentrancedouble">> <<set $NPCList[$vaginadoubletarget].penis to "vaginaentrancedouble">> <<combatPerson>> and <<personselect $vaginadoubletarget>><<combatperson>> withdraw their penises from your vagina. <</if>> <<elseif $vaginastate is "penetrated">> <<set $vaginastate to "entrance">><<set $vaginaaction to 0>> <<if $NPCList[$vaginatarget].penis is "vagina">> <<set $NPCList[$vaginatarget].penis to "vaginaentrance">> <<combatPerson>> withdraws <<his>> penis from your vagina. <</if>> <</if>> <<else>> <<set $consensual to 0>> <<if $NPCList[$mouthtarget].type is "plant">> <<He>> scoffs. <span class="red">"Are you kidding? That's the fun part!"</span> <<else>> They pause a moment before responding, <span class="red">"Stupid slut, you think you can tell me what to do?"</span> <</if>> <<molested>><<controlloss>> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "noanal">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> you don't want anything inside your anus">> <<else>> <<set $mouthactiondefault to "rest">><<brat 5>><<if !$gloryhole and $gamemode isnot "soft">><<seductionskillusecombat>><</if>> <<if $player.virginity.anal is true>> You tell <<him>> you don't want anything inside your anus, it's dirty there! <<else>> You tell <<him>> you don't want anything penetrating your anus. <</if>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<set $noanal to 1>><span class="green"><<if $enemyno gte 2>>They nod<<else>><<He_Short>> nods<</if>> in acknowledgement.</span> <<if $anusstate is "doublepenetrated">> <<set $anusstate to "doubleentrance">><<set $anusaction to 0>> <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <<set $NPCList[$anustarget].penis to "anusentrancedouble">> <<set $NPCList[$anusdoubletarget].penis to "anusentrancedouble">> <<combatPerson>> and <<personselect $anusdoubletarget>><<combatperson>> withdraw their penises from your vagina. <</if>> <<elseif $anusstate is "penetrated">> <<set $anusstate to "entrance">><<set $anusaction to 0>> <<if $NPCList[$anustarget].penis is "anus">> <<set $NPCList[$anustarget].penis to "anusentrance">> <<combatPerson>> withdraws <<his>> penis from your anus. <</if>> <</if>> <<else>> <<set $consensual to 0>> <<if $NPCList[$mouthtarget].type is "plant">> <<He>> scoffs. <span class="red">"Are you kidding? That's the fun part!"</span> <<else>> They pause a moment before responding, <span class="red">"Stupid slut, you think you can tell me what to do?"</span> <</if>> <<molested>><<controlloss>> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "nopenile">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> you don't want your penis put inside anything">> <<else>> <<set $mouthactiondefault to "rest">><<brat 5>><<if !$gloryhole and $gamemode isnot "soft">><<seductionskillusecombat>><</if>> <<if $player.virginity.penile is true>> You tell <<him>> you don't want your penis put inside anything, you are a virgin after all. <<else>> You tell <<him>> you don't want your penis put inside anything. <</if>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<set $nopenile to 1>><span class="green"><<if $enemyno gte 2>>They nod<<else>><<He_Short>> nods<</if>> in acknowledgement.</span> <<if $penisstate is "penetrated">> <<set $penisstate to "entrance">> <<if $NPCList[$penistarget].vagina is "penis">> <<personselect $penistarget>> <<set $NPCList[$penistarget].vagina to "penisentrance">>The <<person>> frees your penis from <<his>> vagina. <</if>> <</if>> <<if $penisstate is "otheranus">> <<set $penisstate to "otheranusentrance">> <<if $NPCList[$penistarget].penis is "otheranus">> <<personselect $penistarget>> <<set $NPCList[$penistarget].penis to "otheranusentrance">>The <<person>> frees your penis from <<his>> anus. <</if>> <</if>> <<if $penisstate is "othermouth">> <<set $penisstate to "othermouthentrance">> <<if $NPCList[$penistarget].mouth is "penis">> <<personselect $penistarget>> <<set $NPCList[$penistarget].mouth to "penisentrance">>The <<person>> slips your penis out of <<his>> mouth. <</if>> <</if>> <<else>> <<set $consensual to 0>> <<if $NPCList[$mouthtarget].type is "plant">> <<He>> scoffs. <span class="red">"Are you kidding? That's the fun part!"</span> <<else>> They pause a moment before responding, <span class="red">"Stupid slut, you think you can tell me what to do?"</span> <</if>> <<molested>><<controlloss>> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "noupper">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> to leave your top on">> <<else>> <<set $mouthactiondefault to "rest">><<brat 5 demanding>><<if !$gloryhole and $gamemode isnot "soft">><<seductionskillusecombat>><</if>><<unset $askAction>> <<set $noupperasked to 1>> You tell <<him>> to leave your top on. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif $combatgoal is "strip">> <span class="pink">"No," <<if $enemyno gte 2>>they laugh<<else>><<he>> laughs<</if>>. "You'll look better without it."</span> <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<set $noupper to 1>><span class="green"><<if $enemyno gte 2>>They nod<<else>><<He_Short>> nods<</if>> in acknowledgement.</span> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "overupperclothes">> <<personselect _j>> <<set $NPCList[_j].lefthand to 0>>The <<person>> releases your $worn.over_upper.name. <<elseif $NPCList[_j].lefthand is "upperclothes">> <<personselect _j>> <<set $NPCList[_j].lefthand to 0>>The <<person>> releases your $worn.upper.name. <<elseif $NPCList[_j].lefthand is "underupperclothes">> <<personselect _j>> <<set $NPCList[_j].lefthand to 0>>The <<person>> releases your $worn.under_upper.name. <</if>> <<if $NPCList[_j].righthand is "overupperclothes">> <<personselect _j>> <<set $NPCList[_j].righthand to 0>>The <<person>> releases your $worn.over_upper.name. <<elseif $NPCList[_j].righthand is "upperclothes">> <<personselect _j>> <<set $NPCList[_j].righthand to 0>>The <<person>> releases your $worn.upper.name. <<elseif $NPCList[_j].righthand is "underupperclothes">> <<personselect _j>> <<set $NPCList[_j].righthand to 0>>The <<person>> releases your $worn.under_upper.name. <</if>> <</for>> <<else>> <<set $consensual to 0>> <<if $NPCList[$mouthtarget].type is "plant">> <<He>> scoffs. <span class="red">"Are you kidding? That's the fun part!"</span> <<else>> They pause a moment before responding, <span class="red">"Stupid slut, you think you can tell me what to do?"</span> <</if>> <<molested>><<controlloss>> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "nomask">> <<set $mouthaction to 0>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> to leave your "+ $worn.face.name " on">> <<else>> <<set $mouthactiondefault to "rest">><<brat 5 demanding>><<if !$gloryhole and $gamemode isnot "soft">><<seductionskillusecombat>><</if>><<unset $askAction>> <<set $nomaskasked to 1>> You tell <<him>> to leave your $worn.face.name on. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif $combatgoal is "strip">> <span class="pink">"No," <<if $enemyno gte 2>>they laugh<<else>><<he>> laughs<</if>>. "You'll look better without it."</span> <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<set $nomask to 1>><span class="green"><<if $enemyno gte 2>>They nod<<else>><<He_Short>> nods<</if>> in acknowledgement.</span> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "mask">> <<personselect _j>> <<set $NPCList[_j].lefthand to 0>>The <<person>> releases your $worn.face.name. <</if>> <<if $NPCList[_j].righthand is "mask">> <<personselect _j>> <<set $NPCList[_j].righthand to 0>>The <<person>> releases your $worn.face.name. <</if>> <</for>> <<else>> <<set $consensual to 0>> <<if $NPCList[$mouthtarget].type is "plant">> <<He>> scoffs. <span class="red">"Are you kidding? That's the fun part!"</span> <<else>> They pause a moment before responding, <span class="red">"Stupid slut, you think you can tell me what to do?"</span> <</if>> <<molested>><<controlloss>> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "nochoke">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> you don't want to be choked">> <<else>> <<set $mouthactiondefault to "rest">><<brat 5>><<if !$gloryhole and $gamemode isnot "soft">><<seductionskillusecombat>><</if>> You tell <<him>> you don't want <<his>> hands around your neck. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<set $nochoke to 1>><span class="green"><<if $enemyno gte 2>>They nod<<else>><<He_Short>> nods<</if>> in acknowledgement.</span> <<if $neckuse is "hand">> <<unset $neckuse>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is "throat" or $NPCList[_j].righthand is "throat">> <<personselect _j>> <<if $NPCList[_j].lefthand is "throat">><<set $NPCList[_j].lefthand to 0>><</if>> <<if $NPCList[_j].righthand is "throat">><<set $NPCList[_j].righthand to 0>><</if>> The <<person>> releases your neck. <</if>> <</for>> <</if>> <<else>> <<set $consensual to 0>> <<if $NPCList[$mouthtarget].type is "plant">> <<He>> scoffs. <<if $NPCList[0].lefthand is 0 or $NPCList[0].righthand is 0>> <span class="red">"Are you kidding? That's the fun part! Here, look!"</span> <<else>> <span class="red">"Are you kidding? That's the fun part!"</span> <</if>> <<else>> They pause a moment before responding, <span class="red">"Stupid slut, you think you can tell me what to do?"</span> <</if>> <<molested>><<controlloss>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].lefthand is 0>> <<personselect _j>> <<set $NPCList[_j].lefthand to "throat">> <<set $neckuse to "hand">> <span class="red">The <<person>> immediately grabs your neck with <<his>> free hand.</span> <<break>> <<elseif $NPCList[_j].righthand is 0>> <<personselect _j>> <<set $NPCList[_j].lefthand to "throat">> <<set $neckuse to "hand">> <span class="red">The <<person>> immediately grabs your neck with <<his>> free hand.</span> <<break>> <</if>> <</for>> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "condoms">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<personselect $mouthtarget>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> to use a condom">> <<else>> <<set $mouthactiondefault to "rest">><<sub 2>> <<if $NPCList[$mouthtarget].condom and $NPCList[$mouthtarget].condom.willUse is true>><<set $_checkSkip to true>><</if>> <<if $consensual is 0>> <<set $_condomAskBaseDifficulty to 2000 + 10 * (100 - $NPCList[$mouthtarget].pregnancyAvoidance)>> <<set $_condomAskDifficultyMultiplier to 200>> <<else>> <<set $_condomAskBaseDifficulty to 1500 + 5 * (100 - $NPCList[$mouthtarget].pregnancyAvoidance)>> <<set $_condomAskDifficultyMultiplier to 100>> <</if>> <<if !$gloryhole and $gamemode isnot "soft" and !$npcrow.includes($mouthtarget) and !$_checkSkip>><<seductionskillusecombat>><</if>> <<set $NPCList[$mouthtarget].condomAsk to true>> You ask <<combatperson>> to use a condom. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription, $_condomAskBaseDifficulty, $_condomAskDifficultyMultiplier) or $gamemode is "soft" or $gloryhole or $npcrow.includes($mouthtarget) or $_checkSkip>> <<if !$npcrow.includes($mouthtarget)>> <<if $condomLvl is 1 or !$NPCList[$mouthtarget].condom>> <<set $NPCList[$mouthtarget].condomCanGive to true>> <<if $consensual is 0>> <<He_Short>> pauses a moment before responding. <<set _response to [ "I'll use one if you have one.", "I hope you brought one.", "I don't have one. Do you?", "Looks like I forgot mine at home.", "You better have one." ]>> <<else>> <<He_Short>> looks nervous for a moment. <<set _response to [ "I didn't bring one. Do you have one?" ]>> <</if>> <span class="blue">"<<print _response.pluck()>>"</span> <<elseif $NPCList[$mouthtarget].condom>> <<if $NPCList[$mouthtarget].condom.willUse is true>> <<if $consensual is 0>> <<He_Short>> nods. <<set _response to [ "I was going to, anyways.", "Don't tell me what to do, I would have anyways.", "You think I'd fuck you raw? Stupid slut." ]>> <<else>> <<He_Short>> nods. <<set _response to [ "I was planning on using one anyways." ]>> <</if>> <<if $pregnancyspeechdisable is "f">> <<if playerPregnancyPossibleWith($NPCList[$mouthtarget])>> <<run _response.pushUnique( "Do I look like I want a kid on my hands?", "I don't want to get you pregnant, slut.", "I'm not about to get a whore like you pregnant." )>> <<elseif NPCPregnancyPossibleWithPlayer($NPCList[$mouthtarget])>> <<run _response.pushUnique( "Do I look like I want a kid on my hands?", "I'm not about to let myself get pregnant.", "You're not putting a kid in me." )>> <</if>> <</if>> <span class="teal">"<<print _response.pluck()>>"</span> <<else>> <<set $NPCList[$mouthtarget].condom.willUse to true>> <<if $consensual is 0>> <<He_Short>> pauses a moment before responding. <<set _response to [ "Sure thing, slut.", "Yeah, you probably have something contagious.", "Fine, but I expect you to cooperate.", "Good idea, I don't want any evidence traced back to me." ]>> <<else>> <<He_Short>> nods in acknowledgement. <<set _response to [ "I brought one, just in case." ]>> <</if>> <<if $pregnancyspeechdisable is "f">> <<if playerPregnancyPossibleWith($NPCList[$mouthtarget])>> <<run _response.pushUnique( "I don't want a kid on my hands.", "I don't want to get you pregnant.", "Last thing I want is a brat with my name on it." )>> <<elseif NPCPregnancyPossibleWithPlayer($NPCList[$mouthtarget])>> <<run _response.pushUnique( "I don't want a kid on my hands.", "I'm not about to let myself get pregnant.", "You're not putting a kid in me." )>> <</if>> <</if>> <span class="green">"<<print _response.pluck()>>"</span> <</if>> <</if>> <<else>> /*Named NPC section*/ /*If the NPC does not have a condom, or NPC condoms are disabled*/ <<if $condomLvl is 1 or !$NPCList[$mouthtarget].condom>> /*If the NPC's pregnancyAvoidance is 50 or higher*/ <<if $NPCList[$mouthtarget].pregnancyAvoidance gte 50>> <<set $NPCList[$mouthtarget].condomCanGive to true>> <<set $_speech to "acceptGive">> <<else>> <<set $_speech to "reject">> <</if>> /*If the NPC brought their own condom */ <<elseif $NPCList[$mouthtarget].condom>> /*If the NPC was going to use the condom anyways*/ <<if $NPCList[$mouthtarget].condom.willUse is true>> <<set $_speech to "acceptHas">> <<else>> <<set $NPCList[$mouthtarget].condom.willUse to true>> <<set $_speech to "accept">> <</if>> <</if>> <<set $_npcn to $npc[$npcrow.indexOf($mouthtarget)]>> <<switch $_npcn>> <<case "Robin">> /*Default pregnancyAvoidance is 50. Will have a condom if NPC condoms are enabled.*/ <<switch $_speech>> <<case "accept">> <<He_Short>> nods. "Better to stay safe, right?" <<case "acceptGive">> <<He_Short>> nods. "Better to stay safe, right? <span class="blue">Do you have one?</span>" <<case "acceptHas">> <<He_Short>> nods. "Better to stay safe, right? <span class="teal">I have one.</span>" <<case "reject">> /*MEANT TO BE UNREACHABLE*/ <<He_Short>> refuses! "<span class="red">That orphan ass is mine!</span>" <</switch>> <<case "Kylar">> /*Default pregnancyAvoidance is 0, and any condoms they use will be sabotaged beforehand.*/ <<switch $_speech>> <<case "accept">> <<He_Short>> excitedly nods. <<if $awareness gte 300>> "O-of course! <span class="red">I even brought my own!</span>" <<else>> "O-of course! <span class="teal">I even brought my own!</span>" <</if>> <<case "acceptGive">> /*MEANT TO BE UNREACHABLE*/ <<He_Short>> sadly nods. "Okay, but only because you cheated and reached this debug line. <span class="blue">Do you have one?</span>" <<case "acceptHas">> <<He_Short>> excitedly nods. <<if $awareness gte 300>> "O-of course! <span class="red">I even brought my own!</span>" <<else>> "O-of course! <span class="teal">I even brought my own!</span>" <</if>> <<case "reject">> <<He_Short>> looks sad for a moment. <<if pregnancyCompatible("Kylar") and $pregnancyspeechdisable is "f">> "B-but why? We're going to have many children. <span class="lewd">We should start now</span>." <<else>> "B-but why? We don't need one! <span class="lewd">I want to do it raw.</span>" <</if>> <</switch>> <<case "Eden">> /*Default pregnancyAvoidance is 0, maybe increase after having 1 or 2 children?*/ <<switch $_speech>> <<case "accept">> <<He_Short>> looks annoyed. "<span class="green">Fine.</span><<if pregnancyCompatible("Eden") and $pregnancyspeechdisable is "f">> I don't need another mouth to feed<<else>> I guess cleanup would be a pain<</if>>." <<case "acceptGive">> <<He_Short>> looks annoyed. "<span class="blue">Fine, if you have one.</span><<if pregnancyCompatible("Eden") and $pregnancyspeechdisable is "f">> I don't need another mouth to feed<<else>> I guess cleanup would be a pain<</if>>." <<case "acceptHas">> <<He_Short>> looks annoyed. "<span class="teal">Fine, I have one lying around.</span> Don't blame me if it breaks, it's probably as old as you." <<case "reject">> <<He_Short>> sneers. "No. <span class="lewd">We're doing it my way.</span>" <</switch>> <<case "Whitney">> /*Default pregnancyAvoidance is 50*/ <<switch $_speech>> <<case "accept">> <<He_Short>> grins. "<span class="green">Sure thing, slut.</span>" <<case "acceptGive">> <<He_Short>> grins. "<span class="blue">Sure, if you have one.</span>" <<case "acceptHas">> <<He_Short>> grins. "<span class="teal">Yeah, yeah, I'm working on it.</span> Impatient <<bitch>>." <<case "reject">> <<He_Short>> grins. "Nah, <span class="lewd">I don't think you deserve it.</span>" <</switch>> <<case "Alex">> /*Default pregnancyAvoidance is 50, but always forgets to bring a condom.*/ <<switch $_speech>> <<case "accept">> /*MEANT TO BE UNREACHABLE*/ <<He_Short>> frowns, and digs through a pocket. <<His>> face lights up. "<span class="green">How the hell did this get here?</span> I never remember these." <<case "acceptGive">> <<He_Short>> perks up. "Oh, sure!" <<He_Short>> digs through a pocket, then frowns. "<span class="blue">I didn't think to bring one. Do you have one?</span>" <<case "acceptHas">> /*MEANT TO BE UNREACHABLE*/ <<He_Short>> frowns, and digs through a pocket. <<His>> face lights up. "<span class="teal">How the hell did this get here?</span> I never remember these." <<case "reject">> <<He_Short>> gives you a coy smile. <span class="lewd">Ask me when I'm sober.</span>" <</switch>> <<case "Sydney">> <<run statusCheck("Sydney")>> <<switch $_speech>> <<case "accept">> <<if _sydneyStatus.includes("corrupt")>> <<He_Short>> mockingly frowns, and sighs. "Fiiiiiiine." <<else>> <<He_Short>> nods. "We need to prevent the transfer of impure fluids." <</if>> <<case "acceptGive">> <<if _sydneyStatus.includes("corrupt")>> <<He_Short>> frowns. "Okay, but... <span class="blue">I didn't bring one.</span> Sorry." <<else>> <<He_Short>> nods, but pauses. "I don't... usually carry those... <span class="blue">do you have one?</span>" <</if>> <<case "acceptHas">> <<He_Short>> nods. "Way ahead of you. I've got one right..." <<He>> sticks a hand into <<his>> pocket. <<He_Short>> freezes, before feeling around some more. "Uh oh." <<He_Short>> checks <<his>> other pocket. "Aha! Right here!" <<case "reject">> You feel a hand tighten around your throat. "<span class="red">No.</span>" <</switch>> <<case "Morgan">> /*Default pregnancyAvoidance is random every encounter. I am so, so sorry.*/ <<switch $_speech>> <<case "accept">> <span class="green"><<He_Short>> excitedly nods.</span> "All sorts of nasty things these protect against! I even wear them on my fingers sometimes." <<case "acceptGive">> <<He_Short>> excitedly nods. "Look at my <<charles>>, always thinking of my safety! <span class="blue">Give one here.</span>" <<case "acceptHas">> <<He_Short>> excitedly nods. "Yes, <<charles>>, <span class="teal">I was going to use protection!</span> Be patient!" <<case "reject">> <span class="red"><<He_Short>> frowns, and growls.</span> "I will not fuck the bag! The government can't make me do it! I won't!" <</switch>> <<default>> /*Need a case for Wren*/ <<switch $_speech>> <<case "accept">> <span class="green"><<He_Short>> nods in acknowledgement.</span> <<case "acceptGive">> <<He_Short>> nods. "<span class="blue">If you have one.</span>" <<case "acceptHas">> <<He_Short>> nods. "<span class="teal">I was planning on using one anyways.</span>" <<case "reject">> <span class="red"><<He_Short>> refuses!</span> <</switch>> <</switch>> <</if>> <<npcCondomEquipImmediate $mouthtarget>> <<else>> <<if $consensual is 1>> <<set $consensual to 0>> <<molested>><<controlloss>> <</if>> <<set _response to [ "You're not in charge here, slut.", "I'm clean. You have nothing to worry about.", "Hah! You wish!" ]>> <<if $pregnancyspeechdisable is "f">> <<if playerPregnancyPossibleWith($NPCList[$mouthtarget])>> <<run _response.pushUnique( "You should feel lucky if I knock you up.", "Maybe I should just put a baby in you now.", "I could make you have my kids, and you wouldn't be able to do a damn thing." )>> <<elseif NPCPregnancyPossibleWithPlayer($NPCList[$mouthtarget])>> <<run _response.pushUnique( "I want your seed.", "No, you're going to give me kids.", "You don't have a choice. Make me a mother." )>> <</if>> <</if>> <<He_Short>> pauses a moment before responding. <span class="red">"<<print _response.pluck()>>"</span> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "noCondoms">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<personselect $mouthtarget>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> to not use a condom">> <<else>> <<if !$NPCList[$mouthtarget].condom or ($NPCList[$mouthtarget].condom and !$NPCList[$mouthtarget].condom.willUse) or $NPCList[$mouthtarget].pregnancyAvoidance gte 90>><<set $_checkSkip to true>><</if>> <<set $mouthactiondefault to "rest">><<sub 2>><<if !$gloryhole and $gamemode isnot "soft" and !$_checkSkip>><<seductionskillusecombat>><</if>> <<set $NPCList[$mouthtarget].condomAsk to true>> <<if wearingCondom($mouthtarget) or wearingCondom("player")>> You ask <<combatperson>> to remove the condom. <<else>> You tell <<combatperson>> you don't want to use a condom. <</if>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole or $npcrow.includes($mouthtarget) or $_checkSkip>> <<if !$npcrow.includes($mouthtarget)>> <<if $NPCList[$mouthtarget].pregnancyAvoidance lt 80 or ($condomLvl is 2 and !pregnancyCompatible($NPCList[$mouthtarget]))>> <<if !$player.condom and (!$NPCList[$mouthtarget].condom or $NPCList[$mouthtarget].condom.willUse is false)>> <<if !$NPCList[$mouthtarget].condom>> <<if $consensual is 0>> <<He_Short>> grins. <<set _response to [ "Didn't have one anyway.", "Do you think I carry around condoms?", "Ah, yes, let me get the condom I specifically put aside for when I want to molest someone. Oh, wait. Stupid whore.", "Condoms are expensive. Don't have one.", "I don't have one anyways, slut." ]>> <<else>> <<He_Short>> looks at you with a smug grin. <<set _response to [ "I didn't bring one, anyways." ]>> <</if>> <span class="blue">"<<print _response.pluck()>>"</span> <<else>> <<if $consensual is 0>> <<He_Short>> grins. <<set _response to [ "Wasn't gonna use one anyways, slut.", "These things are expensive, I wouldn't waste one on you.", "I prefer it raw, anyways." ]>> <<else>> <<He_Short>> looks at you with a smug grin. <<set _response to [ "I wasn't planning on using it, anyways." ]>> <</if>> <span class="teal">"<<print _response.pluck()>>"</span> <</if>> <<else>> <<if $NPCList[$mouthtarget].condom>> <<set $NPCList[$mouthtarget].condom.willUse to false>> <</if>> <<set _noCondom to true>> <<if $consensual is 0>> <<He_Short>> pauses a moment before responding. <<set _response to [ "Sure thing, slut.", "You like it bareback, eh?", "Fine, but I expect you to cooperate.", "You better be clean." ]>> <<else>> <<set _response to [ "It probably feels better raw.", "Alright, let's do it." ]>> <</if>> <<if $pregnancyspeechdisable is "f">> <<if playerPregnancyPossibleWith($NPCList[$mouthtarget])>> <<run _response.pushUnique( "Looking to get knocked up? Nice.", "I'll breed you good, slut.", "Maybe I'll put a baby in you." )>> <<elseif NPCPregnancyPossibleWithPlayer($NPCList[$mouthtarget])>> <<run _response.pushUnique( "Trying to knock me up? Nice.", "You'd better knock me up.", "Good. Put a baby in me." )>> <</if>> <</if>> <span class="lewd">"<<print _response.pluck()>>"</span> <</if>> <<else>> <<He_Short>> shakes <<his>> head. <<set _response to [ "Not taking that chance.", "Sorry, I'm being safe about this.", "Shut up, don't be stupid." ]>> <<if $pregnancyspeechdisable is "f">> <<if playerPregnancyPossibleWith($NPCList[$mouthtarget])>> <<run _response.pushUnique( "I'm not going to risk knocking you up.", "Look for someone else to be your baby daddy." )>> <<elseif NPCPregnancyPossibleWithPlayer($NPCList[$mouthtarget])>> <<run _response.pushUnique( "I'm not going to risk getting knocked up.", "Tempting, but no, I don't want to get pregnant.", )>> <</if>> <</if>> <span class="red">"<<print _response.pluck()>>"</span> <</if>> <<else>> /*Named NPC section*/ /*If the NPC does not have a condom, or NPC condoms are disabled*/ <<if !$NPCList[$mouthtarget].condom and !$player.condom>> <<set $_speech to "acceptNone">> /*If the NPC wasn't going to use one anyways*/ <<elseif (!$NPCList[$mouthtarget].condom or ($NPCList[$mouthtarget].condom and !$NPCList[$mouthtarget].condom.willUse)) and !$player.condom>> <<set $_speech to "acceptWont">> <<else>> /*Outcome dependant on pregnancyAvoidance*/ <<if $NPCList[$mouthtarget].pregnancyAvoidance lte 80>> <<if $NPCList[$mouthtarget].condom>> <<set $NPCList[$mouthtarget].condom.willUse to false>> <</if>> <<set _noCondom to true>> <<set $_speech to "accept">> <<else>> <<set $_speech to "reject">> <</if>> <</if>> <<set $_npcn to $npc[$npcrow.indexOf($mouthtarget)]>> <<switch $_npcn>> <<case "Robin">> <<switch $_speech>> <<case "accept">> <<He_Short>> nervously nods. "<span class="lewd">Are you sure this is safe?</span>" <<case "acceptNone">> <<He_Short>> nervously nods. "<span class="blue">I don't have one anyways...</span>" <<case "acceptWont">> <<He_Short>> nervously nods. "<span class="teal">I wasn't going to.</span>" <<case "reject">> <<He_Short>> refuses. "<span class="red">We can't be reckless!</span>" <</switch>> <<case "Kylar">> <<switch $_speech>> <<case "accept">> <<He_Short>> excitedly nods. "<span class="lewd">Good! No protection!</span>" <<case "acceptNone">> <<He_Short>> excitedly nods. "<span class="blue">Ah... all mine are broken anyways...</span>" <<He_Short>> quickly covers <<his>> mouth to shush <<himself>>. <<case "acceptWont">> <<He_Short>> excitedly nods. "<span class="teal">I would never dream of using one with you.</span>" <<case "reject">> /*MEANT TO BE UNREACHABLE*/ <<He_Short>> refuses. "<span class="red">I am suddenly out of character and no longer interested in breeding.</span>" <</switch>> <<case "Eden">> <<switch $_speech>> <<case "accept">> <<He_Short>> nods. "<span class="lewd">Natural is best.</span> I don't trust the flimsy rubbers they make in town." <<case "acceptNone">> <<He_Short>> nods. "<span class="blue">I don't keep any of those around.</span>" <<case "acceptWont">> <<He_Short>> nods. "<span class="teal">I wasn't going to use one.</span>" <<case "reject">> <<He_Short>> refuses. "<span class="red">We need to be safe for a while.</span>" <</switch>> <<case "Whitney">> <<switch $_speech>> <<case "accept">> <<He_Short>> nods. "<span class="lewd">You want it raw? Good.</span>" <<case "acceptNone">> <<He_Short>> nods. "<span class="blue">I didn't bring one.</span> I thought you'd want it raw." <<case "acceptWont">> <<He_Short>> nods. "<span class="teal">I wasn't going to use one anyways, slut.</span>" <<case "reject">> <<He_Short>> refuses. "<span class="red">You're not in charge, <<bitch>>.</span>" <</switch>> <<case "Alex">> <<switch $_speech>> <<case "accept">> <<He_Short>> puts <<his>> arms up triumphantly. "<span class="lewd">Woo, we're riding bareback!</span>" <<case "acceptNone">> <<He_Short>> looks down sheepishly. "<span class="blue">I forgot to bring one anyways.</span>" <<case "acceptWont">> <<He_Short>> looks down sheepishly. "<span class="teal">I forgot to bring one anyways.</span>" <<case "reject">> <<He_Short>> refuses. "<span class="red">I didn't forget for once, so we're gonna use it, damn it!</span>" <</switch>> <<case "Sydney">> <<run statusCheck("Sydney")>> <<switch $_speech>> <<case "accept" "acceptNone" "acceptWont">> <<if _sydneyStatus.includes("corrupt")>> <<He_Short>> grins. "<span class="lewd">Good. Fuck me raw.</span>" <<else>> <<He_Short>> flushes. "<span class="lewd">Oh, okay! If you're sure...</span>" <</if>> <<case "reject">> <<He_Short>> refuses. "<span class="red">We need to be safe! I can't let the temple down.</span>" <</switch>> <<case "Morgan">> You're not even sure if <<he>> heard you. <<default>> <<switch $_speech>> <<case "accept" "acceptNone" "acceptWont">> <span class="green"><<He_Short>> nods in acknowledgement.</span> <<case "reject">> <span class="red"><<He_Short>> refuses.</span> <</switch>> <</switch>> <</if>> <<if _noCondom>> /*Your penis*/ <<if wearingCondom("player")>> <<if $penisstate is "entrance" or $penisstate is "imminent" or $penisstate is "otheranusentrance" or $penisstate is "otheranusimminent">> <<if ($NPCList[$mouthtarget].vagina is "penis" or $NPCList[$mouthtarget].penis is "otheranus")>> <<personselect $mouthtarget>> <span class="green"><<He_Short>> rolls <<condomDesc "player" "the">> off your penis.</span> <<removeNPCCondom $mouthtarget "player">> <</if>> <</if>> <<if $penisstate is "penetrated">> <<if $NPCList[$mouthtarget].vagina is "penis">> <<personselect $mouthtarget>> <span class="green"><<He_Short>> briefly frees your penis from <<his>> vagina, rolls off <<condomDesc "player" "the">>, and slides it back in.</span> <<removeNPCCondom $mouthtarget "player">> <</if>> <</if>> <<if $penisstate is "otheranus">> <<if $NPCList[$mouthtarget].penis is "otheranus">> <<personselect $mouthtarget>> <span class="green"><<He_Short>> briefly frees your penis from <<his>> ass, rolls off <<condomDesc "player" "the">>, and slides it back in.</span> <<removeNPCCondom $mouthtarget "player">> <</if>> <</if>> <</if>> /*Their penis*/ <<if $vaginastate is "entrance" or $vaginastate is "imminent" or $vaginastate is "doubleentrance" or $vaginastate is "doubleimminent">> <<if ($NPCList[$mouthtarget].penis is "vaginaentrance" or $NPCList[$mouthtarget].penis is "vaginaimminent" or $NPCList[$mouthtarget].penis is "vaginaentrancedouble" or $NPCList[$mouthtarget].penis is "vaginaimminentdouble") and wearingCondom($mouthtarget)>> <<personselect $mouthtarget>> <span class="green"><<He_Short>> rolls <<condomDesc $mouthtarget "the">> off <<his>> penis.</span> <<removeNPCCondom $mouthtarget>> <</if>> <</if>> <<if $vaginastate is "penetrated" or $vaginastate is "doublepenetrated">> <<if ($NPCList[$mouthtarget].penis is "vagina" or $NPCList[$mouthtarget].penis is "vaginadouble") and wearingCondom($mouthtarget)>> <<personselect $mouthtarget>> <span class="green"><<He_Short>> briefly withdraws <<his>> penis from your vagina, rolls off <<condomDesc $mouthtarget "the">>, and slides it back in.</span> <<removeNPCCondom $mouthtarget>> <</if>> <</if>> <<if $anusstate is "entrance" or $anusstate is "imminent" or $anusstate is "doubleentrance" or $anusstate is "doubleimminent">> <<if ($NPCList[$anustarget].penis is "anusentrance" or $NPCList[$mouthtarget].penis is "anusimminent" or $NPCList[$mouthtarget].penis is "anusdoubleentrance" or $NPCList[$mouthtarget] is "anusdoubleimminent") and wearingCondom($mouthtarget)>> <<personselect $mouthtarget>> <span class="green"><<He_Short>> rolls <<condomDesc $mouthtarget "the">> off <<his>> penis.</span> <<removeNPCCondom $mouthtarget>> <</if>> <</if>> <<if $anusstate is "penetrated" or $anusstate is "doublepenetrated">> <<if ($NPCList[$mouthtarget].penis is "anus" or $NPCList[$mouthtarget].penis is "anusdouble") and wearingCondom($mouthtarget)>> <<personselect $mouthtarget>> <span class="green"><<He_Short>> briefly withdraws <<his>> penis from your anus, rolls off <<condomDesc $mouthtarget "the">>, and slides it back in.</span> <<removeNPCCondom $mouthtarget>> <</if>> <</if>> <</if>> <<else>> <<if $consensual is 1>> <<set $consensual to 0>> <<molested>><<controlloss>> <</if>> <<set _response to [ "Stupid slut, you think you can tell me what to do?", "You're not in charge here, slut.", "I'll do what I want, slut." ]>> <<He_Short>> pauses a moment before responding, "<span class="red"><<print _response.pluck()>></span>" <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "askPullOut">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<personselect $mouthtarget>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "tell <<him>> to pull out">> <<else>> <<set $pullOutAsk to true>> <<set $_npcn to $npc[$npcrow.indexOf($mouthtarget)]>> <<if $consensual is 0>> <<set $_pullOutAskBaseDifficulty to 1500 + 10 * (100 - $NPCList[$mouthtarget].pregnancyAvoidance)>> <<else>> <<set $_pullOutAskBaseDifficulty to 1000 + 5 * (100 - $NPCList[$mouthtarget].pregnancyAvoidance)>> <</if>> <<if $NPCList[$mouthtarget].pregnancyAvoidance gte 90 or $_npcn is "Kylar">><<set $_checkSkip to true>><</if>> <<set $mouthactiondefault to "rest">><<if !$gloryhole and $gamemode isnot "soft" and !$_checkSkip>><<seductionskillusecombat>><</if>> <<brat `Math.floor((100 - $NPCList[$mouthtarget].pregnancyAvoidance) / 20)`>> You ask <<combatperson>> to pull out and finish outside. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif $npc[$npcrow.indexOf($mouthtarget)] is "Kylar">> <<He_Short>> freezes for a moment. <span class="red">"No, my love."</span> <<elseif combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription, $_pullOutAskBaseDifficulty) or $gamemode is "soft" or $gloryhole or $_checkSkip>> <<set $pullOut to true>> <<if $consensual is 0>> <<He_Short>> pauses a moment before responding. <<set _response to [ "Sure thing, slut.", "Fine, but I expect you to cooperate.", "Good idea, I don't want any evidence traced back to me." ]>> <span class="green">"<<print _response.pluck()>>"</span> <<else>> <span class="green"><<He_Short>> nods in acknowledgement.</span> <</if>> <<else>> <<if $consensual is 1>> <<set $consensual to 0>> <<molested>><<controlloss>> <</if>> <<set _response to [ "Stupid slut, you think you can tell me what to do?", "You're not in charge here, slut.", "I'll do what I want, slut." ]>> <<if $pregnancyspeechdisable is "f" and $NPCList[$mouthtarget].penis is "vagina" and playerPregnancyPossibleWith($NPCList[$mouthtarget])>> <<run _response.pushUnique( "You should feel lucky if I knock you up.", "Maybe I should just put a baby in you now.", "I could make you have my kids, and you wouldn't be able to do a damn thing." )>> <</if>> <<He_Short>> pauses a moment before responding, <span class="red">"<<print _response.pluck()>>"</span> <</if>> <</if>> <</if>> <<if $mouthaction is "pay">> <<set $mouthaction to 0>><<set $mouthactiondefault to "rest">> <<if $money gte $rentmoney + ($babyRent or 0)>> <<set $speechpay to 1>> <<if $speech_attitude is "meek">> "S-stop!" you shout. "I'll pay you, so... j-just let Robin go." <<elseif $speech_attitude is "bratty">> "I'll pay you," you say through gritted teeth. "So get your hands off <<nnpc_him "Robin">>." <<else>> "Let go of <<nnpc_him "Robin">>!" you shout. "I have your money. I'll pay." <</if>> <<else>> <<set $speechpay to -1>> <<if $speech_attitude is "meek">> "S-stop!" you shout. "I don't have enough, b-but... just let <<nnpc_him "Robin">> go, please!" <<elseif $speech_attitude is "bratty">> "I don't have enough," you say through gritted teeth. "So get your hands off <<nnpc_him "Robin">>." <<else>> "Let go of <<nnpc_him "Robin">>!" you shout. "I don't have your money. I can't pay." <</if>> <</if>> <<control -10>><<lcontrol>> <</if>> <<if $mouthaction is "ask" and $askAction is "wearStrapon">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "ask <<him>> to wear <<his>> strap-on">><<meek 1>> <<else>> <<brat 5>> <<set $mouthactiondefault to "rest">> You ask <<him>> to wear <<his>> strap-on. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif ($npc[$npcrow.indexOf(_n)] is "Eden" and C.npc.Eden.love lte 100) or ($npc[$npcrow.indexOf(_n)] is "Whitney" and C.npc.Whitney.love lte 10)>> <<print either("I'll do what I want, bitch.","Shut up slut, I'm in control here.")>> <<violence 5>><<brat 2>> <<else>> <<personselect $mouthtarget>> <<He>> nods and moves to don <<his>> strap-on. <<npcstrapon $mouthtarget>> <<set $NPCList[$mouthtarget].penis to "strap-on">> <</if>> <</if>> <</if>> <<if $mouthaction is "ask" and $askAction is "removeStrapon">> <<set $mouthaction to 0>><<unset $askAction>><<set _sound to 1>> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and $asphyxiaLvl gte 2>> <<wheeze "ask <<him>> to remove <<his>> strap-on">><<brat 1>> <<else>> <<brat 5>><<set $mouthactiondefault to "rest">> You ask <<personselect $mouthtarget>><<combatperson>> to remove <<his>> strap-on. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <span class="red"><<if $enemyno gte 2>>They don't<<else>><<He>> doesn't<</if>> understand your words,</span> and <<if $enemyno gte 2>>ignore<<else>>ignores<</if>> them. <<elseif !$gloryhole and $gamemode isnot "soft">><<seductionskillusecombat>><</if>> <<if combatSkillCheck("seduction", $mouthtarget, $NPCList[$mouthtarget].fullDescription) or $gamemode is "soft" or $gloryhole>> <<He>> nods and removes <<his>> $NPCList[$mouthtarget].penisdesc. /* Remove their strap-on. If they have a penis, give them back their penis. */ <<set $_npcname to $npc[$npcrow.indexOf($mouthtarget)]>> <<set $_npctarget to C.npc[$_npcname]>> <<if ["Robin","Kylar","Alex","Avery","Whitney","Eden","Sydney"].includes($_npcname) and $_npctarget.penis isnot "none">> <<set $NPCList[$mouthtarget].penisdesc to $_npctarget.penisdesc>><<set $NPCList[$mouthtarget].penis to 0>> <<else>> <<set $NPCList[$mouthtarget].penis to "none">><<set $NPCList[$mouthtarget].vagina to 0>> <</if>> <<set $NPCList[$mouthtarget].strapon.state to "removed">> <<else>> <<if $consensual is 1>> <<set $consensual to 0>> <<molested>><<controlloss>> <</if>> They pause a moment before responding. <span class="red">"Stupid slut, you think you can tell me what to do?"</span> <</if>> <</if>> <</if>> /*Stalked actions */ <<if !$stalk_end>> <<if $mouthaction is "up">> <<set $mouthaction to 0>><<set $mouthactiondefault to "up">> <<if $control gte 100>> You keep your chin up, and head proud. <<elseif $control gte 80>> You keep you head up and eyes focused on the path ahead. <<elseif $control gte 60>> You keep your eyes fixed on the path ahead. <<elseif $control gte 40>> You keep your eyes ahead, resisting the urge to look around for threats. <<elseif $control gte 20>> You keep your head up, your eyes searching the path ahead for danger. <<else>> You keep your head up, but close your eyes in fear. <</if>> <<brat 3>> <</if>> <<if $mouthaction is "down">> <<set $mouthaction to 0>><<set $mouthactiondefault to "down">> <<if $control gte 100>> You look at the ground in front of you. <<elseif $control gte 80>> You watch the ground in front of you. <<elseif $control gte 60>> You keep your head down, hoping not to be noticed. <<elseif $control gte 40>> You keep your head down, and hope nothing is watching. <<elseif $control gte 20>> You keep your head down, and tell yourself the path is safe. <<else>> You bow your head in fear. <</if>> <<meek 3>> <</if>> <<if $mouthaction is "turn">> <<set $mouthaction to 0>><<set $mouthactiondefault to "turn">> You glance over your shoulder. <<if $stalk_assess>> <<if $npcrow.includes(0)>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> The pale figure continues to stalk you. <<else>> The pale figure continues to drift along. <</if>> <<else>> <<print $NPCList[0].fullDescription>> is still following you. <</if>> <<else>> The <<person1>><<person>> is still following you. <</if>> <<else>> <<if $npcrow.includes(0)>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> A<<if $wraith.seen gte 3>> familiar<</if>> pale figure lurks behind you, <span class="red">its eerie <<wraithEyes>> gaze locked on you.</span> <<else>> A<<if $wraith.seen gte 3>> familiar<</if>> pale figure drifts behind you, seeming unaware of your presence. <</if>> Its feet don't touch the ground, but you still hear footsteps. <<else>> You see a <<person1>><<personsimple>> following you. <span class="pink">It's <<print $NPCList[0].fullDescription>>.</span> <</if>> <<else>> You see a <<person1>><<person>> following you. <</if>> <</if>> <<if $npcrow.includes(0)>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> It <<else>> <<nnpc_He $NPCList[0].fullDescription>> <</if>> <<else>> <<He>> <</if>> moves with <<if $NPCList[0].skills.athletics gte 800>> <span class="pink">an energetic stride</span> <<elseif $NPCList[0].skills.athletics gte 600>> <span class="purple">a motivated pace</span> <<elseif $NPCList[0].skills.athletics gte 400>> <span class="blue">a calm gait</span> <<elseif $NPCList[0].skills.athletics gte 200>> <span class="lblue">a lazy ramble</span> <<else>> <span class="teal">a slothful shuffle</span> <</if>> and <<if $NPCList[0].skills.security gte 800>> <span class="pink">has a devious glint in <<his>> eyes.</span> <<elseif $NPCList[0].skills.security gte 600>> <span class="purple">looks focused.</span> <<elseif $NPCList[0].skills.security gte 400>> <span class="blue">looks relaxed.</span> <<elseif $NPCList[0].skills.security gte 200>> <span class="lblue">seems distracted.</span> <<else>> <span class="teal">appears to be daydreaming.</span> <</if>> <<if $enemyno is 2>> A <<person2>><<person>> follows <<person1>><<him>>. <<elseif $enemyno gte 3>> <<switch $enemyno>> <<case 6>>Five <<case 5>>Four <<case 4>>Three <<case 3>>Two <</switch>> others follow <<him>>. <</if>> <<set $stalk_assess to true>> <</if>> <</if>> /*End of stalked actions */ /*** * ███████ ██ ██ ███████ ███████ ██ ██ * ██ ██ ██ ██ ██ ██ ██ ██ * ███████ ██ ██ ███████ ███████ ███ * ██ ██ ██ ██ ██ ███ * ██ █████ ███████ ███████ ███ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<rng>> <<if $vaginaaction is "penisthighs" and $NPCList[$vaginatarget].penis is "vaginaentrance">> <<set $vaginaaction to 0>><<meek 1 $vaginatarget>><<thighskilluse>><<set $vaginaactiondefault to "penisthighs">><<combatpromiscuity4>> <<if combatSkillCheck("thigh", $vaginatarget)>> <<set $thighactiondefault to "rub">> <<personselect $vaginatarget>> <span class="lblue">You <<thightext>> grab <<hisselect $vaginatarget>> $NPCList[$vaginatarget].penisdesc between your thighs.</span> <<set $NPCList[$vaginatarget].penis to "thighs">><<set $thightarget to $vaginatarget>> <<set $vaginause to 0>><<set $thighuse to "penis">><<thighstat>><<sex 5 "genitals" $vaginatarget>><<set $vaginastate to 0>> <<else>> You try to hold <<hisselect $vaginatarget>> penis between your thighs, but <<he>> is intent on your pussy. <</if>> <</if>> <<rng>> <<effectsvaginatopenis>> <<rng>> <<effectsvaginatovagina>> <<rng>> <<effectsvaginapenisfuck>> <<rng>> <<effectsvaginatovaginafuck>> <<rng>> <<effectsvaginapenisdoublefuck>> <<rng>> <<effectsvaginatopenisdouble>> <<if $vaginaaction is "rest">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "rest">> <</if>> <<rng>> <<if $vaginaaction is "penisanus" and $NPCList[$vaginatarget].penis is "vaginaentrance">> <<if $anusstate isnot 0 and $anusstate is "entrance" or $anusstate is "imminent">> <<if $analdoubledisable is "f">> <<set $vaginaaction to "penisanusdouble">> <<else>> You give your <<bottom>> a little wiggle, but receive a slap. <<violence 2>><<hitstat>><<bruise bottom>> <</if>> <<elseif $anusstate isnot 0 and $anusstate.includes("double")>> You give your <<bottom>> a little wiggle, but receive a slap. "Settle down, <<bitch>>." <<violence 2>><<hitstat>><<bruise bottom>> <<else>> <<set $vaginaaction to 0>><<meek 5 $vaginatarget>><<analskilluse>><<set $vaginaactiondefault to "penisanus">> <<if combatSkillCheck("anal", $vaginatarget)>> <<personselect $vaginatarget>> <span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> <<npcPenisSimple $vaginatarget>> in front of your butt.</span> <<if $NPCList[$vaginatarget].type is "plant" and $NPCList[$vaginatarget].penissize gte 4 and canImpregnateParasite("vagina")>> <span class="red">Something about it scares you.</span> <</if>> <<submission 2>><<set $anususe to "penis">><<set $NPCList[$vaginatarget].penis to "anusentrance">><<set $vaginause to 0>><<set $anusstate to "entrance">><<set $vaginastate to 0>> <<else>> You give your <<bottom>> a little wiggle, but you just receive a slap. <<violence 2>><<hitstat>><<bruise bottom>> <</if>> <</if>> <</if>> <<rng>> <<if $vaginaaction is "penisanusdvp">> <<if $anusstate isnot 0 and $anusstate is "entrance" or $anusstate is "imminent">> <<if $analdoubledisable is "f" and random(0,2) isnot 0 and $awareness gte 300>> <<set $vaginaaction to "penisanusdouble">> <<else>> You give your <<bottom>> a little wiggle, but receive a slap. <<violence 2>><<hitstat>><<bruise bottom>> <</if>> <<elseif $anusstate isnot 0 and $anusstate.includes("double")>> You give your <<bottom>> a little wiggle, but receive a slap. "Settle down, <<bitch>>." <<violence 2>><<hitstat>><<bruise bottom>> <<else>> <<set $vaginaaction to 0>><<meek 5>><<analskilluse>><<set $vaginaactiondefault to "penisanusdvp">> <<set _npcA to ($NPCList[$vaginatarget].penis is "vaginaentrancedouble" ? $vaginatarget : $vaginadoubletarget)>> <<set _npcB to ($NPCList[$vaginatarget].penis is "vaginaentrancedouble" ? $vaginadoubletarget : $vaginatarget)>> <<if combatSkillCheck("anal", _npcA)>> <<if $NPCList[_npcB].penis is "vaginadouble">> <<set $NPCList[_npcB].penis to "vagina">> <<set $vaginastate to "penetrated">> <<elseif $NPCList[_npcB].penis is "vaginaimminentdouble">> <<set $NPCList[_npcB].penis to "vaginaimminent">> <<set $vaginastate to "imminent">> <<elseif $NPCList[_npcB].penis is "vaginaentrancedouble">> <<set $NPCList[_npcB].penis to "vaginaentrance">> <<set $vaginastate to "entrance">> <</if>> <<personselect _npcA>> <span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> penis in front of your butt.</span> <<if $NPCList[_npcA].type is "plant" and $NPCList[_npcA].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<submission 2>><<set $anususe to "penis">><<set $NPCList[_npcA].penis to "anusentrance">><<set $vaginause to "penis">><<set $anusstate to "entrance">> <<else>> You give your <<bottom>> a little wiggle, but you just receive a slap. <<violence 2>><<hitstat>><<bruise bottom>> <</if>> <</if>> <</if>> <<rng>> <<if $vaginaaction is "penisanusdouble">> <<set $vaginaaction to 0>><<meek 5 $vaginatarget>><<analskilluse>> <<if combatSkillCheck("anal", $vaginatarget) and $anususe is "penis">> <<personselect $vaginatarget>><<set $vaginaactiondefault to "rest">> <span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> penis to join the phallus in front of your butt.</span> <<submission 2>> <<set $anususe to "penisdouble">><<set $anusstate to "doubleentrance">><<set $vaginause to 0>><<set $vaginastate to 0>> <<set $NPCList[$vaginatarget].penis to "anusentrancedouble">> <<set $anusdoubletarget to $vaginatarget>> <<if $NPCList[$anustarget].penis is "anus">> <<set $NPCList[$anustarget].penis to "anusdouble">> <<set $anusstate to "doublepenetrated">> <<elseif $NPCList[$anustarget].penis is "anusimminent">> <<set $NPCList[$anustarget].penis to "anusimminentdouble">> <<set $anusstate to "doubleimminent">> <<elseif $NPCList[$anustarget].penis is "anusentrance">> <<set $NPCList[$anustarget].penis to "anusentrancedouble">> <<set $anusstate to "doubleentrance">> <<elseif $NPCList[$anustarget].penis is "cheeks">> <<set $NPCList[$anustarget].penis to "anusentrance">> <<set $bottomuse to 0>> /* Issues with ass cheeks likely stem from this culprit right here */ <</if>> <<set $NPCList[$anustarget].location.genitals to "genitals">> <<else>> You give your <<bottom>> a little wiggle, but you just receive a slap. <<violence 2>><<hitstat>><<bruise bottom>><<set $vaginaactiondefault to "penisanusdouble">> <</if>> <</if>> <<if $vaginaaction is "penistease">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "penistease">><<actionspenistip $vaginatarget>><<sex 5 "genitals" $vaginatarget>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "penisdoubletease">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "penistease">><<actionspenisdoubletip>><<sex 5 "genitals" $vaginatarget>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "doublecooperate">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "doublecooperate">><<actionspenisdoubleride>><<submission 20>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "penisDoubleEdging">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "penisDoubleEdging">><<actionspenisdoubleedging>><<submission 5>><<sexControl 5 `currentSkillValue("vaginalskill")`>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "doubletake">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "doubletake">><<actionspenisdoubletake>> <</if>> <<if $vaginaaction is "rub">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "rub">><<actionspenisrub $vaginatarget>><<sex 10 "genitals" $vaginatarget>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "cooperate">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "cooperate">><<actionspenisride $vaginatarget>><<submission 20>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "penisEdging">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "penisEdging">><<actionspenisedging $vaginatarget>><<submission 5>><<sexControl 5 `currentSkillValue("vaginalskill")` $vaginatarget>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "take">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "take">><<actionspenistake $vaginatarget>> <</if>> <<if $vaginaaction is "tribtease">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "tribtease">><<actionstribtease $vaginatarget>><<sex 10 "genitals">><<vaginalskilluse>> <</if>> <<if $vaginaaction is "tribcooperate">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "tribcooperate">><<actionstribcooperate $vaginatarget>><<submission 20>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "tribtake">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "tribtake">><<actionstribtake $vaginatarget>> <</if>> <<if $vaginaaction is "tribedge">> <<personselect $vaginatarget>><<actionstribedge $vaginatarget>><<set $vaginaaction to 0>><<set $vaginaactiondefault to "tribedge">> <<submission 5>><<sexControl 5 `currentSkillValue("vaginalskill")` $vaginatarget>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "tribrest">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "rest">> <</if>> <<if $vaginaaction is "tribescape">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "tribescape">><<actionstribescape $vaginatarget>><<brat 10 $vaginatarget>> <<if $vaginastate is "othervagina">> <<set $vaginastate to "othervaginaimminent">> <<else>> <<set $vaginastate to "othervaginaentrance">> <</if>> <<if $NPCList[$vaginatarget].vagina is "vagina">> <<set $NPCList[$vaginatarget].vagina to "vaginaimminent">> <<elseif $NPCList[$vaginatarget].vagina is "vaginaimminent">> <<set $NPCList[$vaginatarget].vagina to "vaginaentrance">> <</if>> <</if>> <<if $vaginaaction is "escape" and $NPCList[$vaginatarget].penis is "vaginaimminent">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "escape">><<actionsvaginaescape $vaginatarget>><<set $vaginause to "penis">><<set $vaginastate to "entrance">> <<set $NPCList[$vaginatarget].penis to "vaginaentrance">><<set $NPCList[$vaginatarget].speechvaginaescape to 1>> <<if $NPCList[$vaginatarget].penissize gte 5>> <<brat 35 $vaginatarget>> <<elseif $NPCList[$vaginatarget].penissize is 4>> <<brat 30 $vaginatarget>> <<elseif $NPCList[$vaginatarget].penissize is 3>> <<brat 25 $vaginatarget>> <<elseif $NPCList[$vaginatarget].penissize is 2>> <<brat 20 $vaginatarget>> <<elseif $NPCList[$vaginatarget].penissize is 1>> <<brat 15 $vaginatarget>> <<else>> <<brat 10 $vaginatarget>> <</if>> <</if>> <<if $vaginaaction is "doubleescape">> <<set $vaginaaction to 0>> <<set $vaginaactiondefault to "doubleescape">><<actionsvaginadoubleescape>><<brat 10>><<set $vaginause to "penisdouble">><<set $vaginastate to "doubleentrance">> <<set $enemyanger += 5>> <<set _otherNPCindex to "f">> <<set _actiontext to "You escape ">> <<set _npcA to $vaginatarget>> <<set _npcB to $vaginadoubletarget>> <<if $NPCList[_npcA].penis is "vaginaimminentdouble">> <<set $NPCList[_npcA].penis to "vaginaentrancedouble">><<set $NPCList[_npcA].speechvaginaescape to 1>> <<elseif $NPCList[_npcA].penis is "vaginaentrancedouble" and random(0,3) is 0>> /* Chance to drop one of them and switch to regular anal */ <<set _otherNPCindex to _npcB>><<set $NPCList[_npcA].location.genitals to 0>><<set $NPCList[_npcA].speechvaginaescape to 1>><<set $enemyanger += 15>> <<set $NPCList[_npcA].penis to 0>> <span class="green"> <<print _actiontext + ($npc_named isnot 1 ? "the " : "") + $NPCList[_npcA].fullDescription + "'s " + $NPCList[_npcA].penisdesc + ".">></span> <</if>> <<if $NPCList[_npcB].penis is "vaginaimminentdouble">> <<set $NPCList[_npcB].penis to "vaginaentrancedouble">><<set $NPCList[_npcB].speechvaginaescape to 1>> <<elseif $NPCList[_npcB].penis is "vaginaentrancedouble" and random(0,3) is 0>> /* Chance to drop one of them and switch to regular vaginal */ <<set _otherNPCindex to _npcA>><<set $NPCList[_npcB].location.genitals to 0>><<set $NPCList[_npcB].speechanusescape to 1>><<set $enemyanger += 15>> <<set $NPCList[_npcB].penis to 0>> <span class="green"> <<print _actiontext + ($npc_named isnot 1 ? "the " : "") + $NPCList[_npcB].fullDescription + "'s " + $NPCList[_npcB].penisdesc + ".">></span> <</if>> <<if _otherNPCindex isnot "f" and $NPCList[_otherNPCindex].penis isnot 0 and $NPCList[_otherNPCindex].penis.includes("double")>> <<set $vaginause to "penis">> <<switch $NPCList[_otherNPCindex].penis>> <<case "vaginadouble">> <<set $NPCList[_otherNPCindex].penis to "vagina">> <<set $vaginastate to "penetrated">> <<case "vaginaentrancedouble">> <<set $NPCList[_otherNPCindex].penis to "vaginaentrance">> <<set $vaginastate to "entrance">> <<case "vaginaimminentdouble">> <<set $NPCList[_otherNPCindex].penis to "vaginaimminent">> <<set $vaginastate to "imminent">> <</switch>> <</if>> <</if>> <<if $vaginaaction is "thighbay" and $NPCList[$vaginatarget].mouth is "vaginaentrance">> <<set $vaginaaction to 0>><<meek 1 $vaginatarget>><<thighskilluse>><<set $vaginaactiondefault to "thighbay">><<combatpromiscuity1>> <<if combatSkillCheck("thigh", $vaginatarget)>> <<set $thighactiondefault to "othermouthrub">> <<personselect $vaginatarget>> <span class="lblue">You <<thightext>> press your thigh against <<hisselect $vaginatarget>> mouth.</span> <<set $NPCList[$vaginatarget].mouth to "thigh">><<set $vaginause to 0>><<thighstat>><<neutral 5 $vaginatarget>><<set $vaginastate to 0>><<set $thighuse to "mouth">> <<else>> You try to keep the mouth menacing your <<pussy>> at bay by pressing your thigh against it, but <<theowner>> has other ideas. <</if>> <</if>> <<if $vaginaaction is "othervaginarub">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "othervaginarub">><<actionsothervaginavaginarub $vaginatarget>><<sex 10 "genitals">><<vaginalskilluse>> <</if>> <<if $vaginaaction is "othermouthtease">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "othermouthtease">><<actionsothermouthvaginatease $vaginatarget>><<sex 5 "genitals">><<vaginalskilluse>> <</if>> <<if $vaginaaction is "othermouthrub">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "othermouthrub">><<actionsothermouthvaginarub $vaginatarget>><<sex 10 "genitals">><<vaginalskilluse>> <</if>> <<if $vaginaaction is "othermouthcooperate">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "othermouthcooperate">><<actionsothermouthvaginathrust $vaginatarget>><<submission 20>><<vaginalskilluse>> <</if>> <<if $vaginaaction is "othermouthescape">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "othermouthescape">><<actionsothermouthvaginaescape $vaginatarget>><<brat 10 $vaginatarget>> <<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">> <<if $NPCList[$vaginatarget].mouth is "vaginaimminent">> <<set $NPCList[$vaginatarget].mouth to "vaginaentrance">> <</if>> <</if>> /*** * ███ ██ ██ ██ ██ ███████ * ██ ██ ███ ██ ██ ██ ██ * ██ ██ ██ █ ██ ██ ██ ███████ * ███████ ██ ███ ██ ██ ██ * ██ ██ ██ ██ █████ ███████ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<rng>> <<if $anusaction is "rest">> <<set $anusaction to 0>><<set $anusactiondefault to "rest">> <</if>> /*Stalked actions */ <<if !$stalk_end>> <<if $anusaction is "wiggle">> <<set $anusaction to 0>><<set $anusactiondefault to "wiggle">> <<if currentSkillValue('seductionskill') gte random(1, 1000)>> <<meek 2>> <<if $rng gte 81>> You wiggle your <<bottom>> in time with your steps, <<elseif $rng gte 61>> You sway your <<bottom>>, <<elseif $rng gte 41>> You shake your <<bottom>>, <<elseif $rng gte 21>> You add some bounce to your steps, lifting your <<bottom>> and <<else>> You emphasise your <<bottom>> with each step, <</if>> drawing attention to it. <<else>> <<meek 1>> <<if $rng gte 81>> You wiggle your <<bottom>>. <<elseif $rng gte 61>> You sway your <<bottom>>. <<elseif $rng gte 41>> You shake your <<bottom>>. <<elseif $rng gte 21>> You bounce your <<bottom>>. <<else>> You put emphasis on your <<bottom>>. <</if>> <</if>> <</if>> <</if>> /*End of stalked actions */ <<if $anusaction is "penischeeks" and $NPCList[$anustarget].penis is "anusentrance">> <<set $anusaction to 0>><<meek 1 $anustarget>><<bottomskilluse>><<set $anusactiondefault to "penischeeks">><<combatpromiscuity4>> <<if combatSkillCheck("bottom", $anustarget)>> <<set $cheekactiondefault to "rub">> <<personselect $anustarget>> <<set $NPCList[$anustarget].penis to "cheeks">><<bottomstat>><<submission 2>><<set $bottomuse to "penis">><<set $anususe to "penis">><<set $anusstate to "cheeks">> <span class="lblue">You <<bottomtext>> grab <<hisselect $anustarget>> $NPCList[$anustarget].penisdesc between your butt cheeks.</span> <<else>> You try to grab <<hisselect $anustarget>> penis between your cheeks, but <<he>> isn't interested. <</if>> <</if>> <<rng>> <<if $anusaction is "penispussy">> <!-- Check the player is not attempting to straddle and offer pussy at the same time. If so, switch to double or fail correctly --> <<if $vaginastate isnot 0 and !$vaginastate.includes("double") and ($vaginastate is "entrance" or $vaginastate is "imminent" or $vaginastate is "penetrated")>> <!-- Note that this action requires "penispussydouble" to come after "penispussy", else it will not work as expected --> <<if random(0,2) isnot 0 and $vaginaldoubledisable is "f">> <<set $anusaction to "penispussydouble">> <<else>> You spread your thighs, but fail to garner further interest. <</if>> <<elseif $vaginastate isnot 0 and $vaginastate.includes("double")>> You spread your thighs, but just receive a slap. "Settle down, <<bitch>>." <<violence 2>><<hitstat>><<bruise bottom>> <<elseif $NPCList[$anustarget].penis is "anusentrance">> <<set $anusaction to 0>><<meek 10 $anustarget>><<analskilluse>><<set $anusactiondefault to "penispussy">> <<if combatSkillCheck("vaginal", $anustarget)>> <<personselect $anustarget>> <<submission 2>><<set $vaginause to "penis">><<set $NPCList[$anustarget].penis to "vaginaentrance">><<set $anususe to 0>><<set $vaginastate to "entrance">><<set $anusstate to 0>><<set $vaginatarget to $anustarget>><<set $anustarget to 0>> <span class="lblue">You spread your thighs, giving clear access to your pussy, and <<combatperson>> takes advantage and moves <<his>> penis away from your butt.</span> <<else>> You spread your thighs, but fail to garner interest. <</if>> <</if>> <</if>> <<if $anusaction is "penispussydap">> <!-- Check the player is not attempting to straddle and offer pussy at the same time. If so, switch to double or fail correctly --> <<if $vaginastate isnot 0 and !$vaginastate.includes("double") and $vaginastate is "entrance">> <!-- Note that this action requires "penispussydouble" to come after "penispussy", else it will not work as expected --> <<if random(0,2) isnot 0 and $vaginaldoubledisable is "f" and $awareness gte 300>> <<set $anusaction to "penispussydouble">> <<else>> You spread your thighs, but fail to garner further interest. <</if>> <<elseif $vaginastate isnot 0 and $vaginastate.includes("double")>> You spread your thighs, but just receive a slap. "Settle down, <<bitch>>." <<violence 2>><<hitstat>><<bruise bottom>> <<else>> <<set $anusaction to 0>><<meek 10 $anustarget>><<analskilluse>><<set $anusactiondefault to "penispussy">> <<set _npcA to ($NPCList[$anustarget].penis is "anusentrancedouble" ? $anustarget : $anusdoubletarget)>> <<set _npcB to ($NPCList[$anustarget].penis is "anusentrancedouble" ? $anusdoubletarget : $anustarget)>> <<if combatSkillCheck("vaginal", _npcA)>> <<set $NPCList[_npcB].penis to $NPCList[_npcB].penis.replace("double", "")>> <<set $anusstate to $anusstate.replace("double", "")>> <<personselect _npcA>> <<submission 2 _npcA>><<set $vaginause to "penis">><<set $NPCList[_npcA].penis to "vaginaentrance">><<set $anususe to "penis">><<set $vaginastate to "entrance">><<set $vaginatarget to _npcA>> <span class="lblue">You spread your thighs, giving clear access to your pussy, and <<combatperson>> takes advantage and moves <<his>> penis away from your butt.</span> <<else>> You spread your thighs, but fail to garner interest. <</if>> <</if>> <</if>> <<rng>> <<if $anusaction is "penispussydouble">> <<set $anusaction to 0>><<meek 10>><<analskilluse>><<set $anusactiondefault to "penispussydouble">> <<if combatSkillCheck("vaginal", $anustarget) and $vaginause is "penis">> <<selectNpcWithPartInPosition "penis" "anusentrance">> <<personselect _j>> <<submission 2 _j>><<set $vaginause to "penisdouble">><<set $NPCList[_j].penis to "vaginaentrancedouble">><<set $anususe to 0>><<set $vaginastate to "double" + $vaginastate>><<set $anusstate to 0>> <span class="lblue">You spread your thighs, giving clear access to your pussy, and <<combatperson>> takes advantage and moves <<his>> penis away from your butt to join the phallus in front of your pussy.</span> <<if $NPCList[_j].type is "plant" and $NPCList[_j].penissize gte 4 and canImpregnateParasite("vagina")>> <span class="red">Something about it scares you.</span> <</if>> <<set $vaginadoubletarget to _j>> <<unset _npc>> <<set _npc to $NPCList[$NPCList.findIndex(npc => npc.penis isnot 0 and npc.penis.includes("vagina") and !npc.penis.includes("double"))]>> <<set _npc.penis to _npc.penis + "double">> <<else>> You spread your thighs, but fail to garner interest. <</if>> <</if>> <<rng>> <<effectsanustopenis>> <<rng>> <<effectsanuspenisfuck>> <<rng>> <<effectsanustopenisdouble>> <<rng>> <<effectsanuspenisdoublefuck>> <<if $anusaction is "bottombay" and $NPCList[$anustarget].mouth is "anusentrance">> <<set $anusaction to 0>><<meek 1 $anustarget>><<bottomskilluse>><<set $anusactiondefault to "bottombay">><<combatpromiscuity1>> <<if combatSkillCheck("bottom", $anustarget)>> <<set $cheekactiondefault to "othermouthrub">> <<personselect $anustarget>> <span class="lblue">You <<bottomtext>> press your <<bottom>> against <<hisselect $anustarget>> mouth.</span> <<set $NPCList[$anustarget].mouth to "bottom">><<set $anususe to 0>><<bottomstat>><<neutral 5 $anustarget>><<set $anusstate to 0>><<set $bottomuse to "mouth">> <<else>> You try to keep the mouth menacing your anus at bay by pressing your <<bottom>> against it, but <<theowner>> has other ideas. <</if>> <</if>> <<if $anusaction is "bottomhandbay">> <<set $anusaction to 0>><<meek 1 $anustarget>><<bottomskilluse>><<set $anusactiondefault to "bottomhandbay">><<combatpromiscuity1>> <<if combatSkillCheck("bottom", $anustarget)>> <<set $cheekactiondefault to "handrub">> <<personselect $anustarget>> <span class="lblue">You <<bottomtext>> rub your clenched <<bottom>> cheeks against <<hisselect $anustarget>> hand.</span> <<if $NPCList[$anustarget].lefthand is "anusentrance">> <<set $NPCList[$anustarget].lefthand to "bottom">><<set $anususe to 0>><<bottomstat>><<neutral 5 $anustarget>><<set $anusstate to 0>><<set $bottomuse to "hand">> <<else>> <<set $NPCList[$anustarget].righthand to "bottom">><<set $anususe to 0>><<bottomstat>><<neutral 5 $anustarget>><<set $anusstate to 0>><<set $bottomuse to "hand">> <</if>> <<else>> You try to keep the finger menacing your anus at bay by clenching your <<bottom>> cheeks, but <<theowner>> has other ideas. <</if>> <</if>> <<if $anusaction is "othermouthtease">> <<set $anusaction to 0>><<set $anusactiondefault to "othermouthtease">><<actionsothermouthanustease $anustarget>><<sex 5 "anus">><<analskilluse>> <</if>> <<if $anusaction is "othermouthrub">> <<set $anusaction to 0>><<set $anusactiondefault to "othermouthrub">><<actionsothermouthanusrub $anustarget>><<sex 10 "anus">><<analskilluse>> <</if>> <<if $anusaction is "othermouthcooperate">> <<set $anusaction to 0>><<set $anusactiondefault to "othermouthcooperate">><<actionsothermouthanusthrust $anustarget>><<submission 20>><<analskilluse>> <</if>> <<if $anusaction is "handtease">> <<set $anusaction to 0>><<set $anusactiondefault to "handtease">><<actionshandanustease $anustarget>><<sex 5 "anus">><<analskilluse>> <</if>> <<if $anusaction is "handcooperate">> <<set $anusaction to 0>><<set $anusactiondefault to "handcooperate">><<actionshandanusthrust $anustarget>><<submission 20>><<analskilluse>> <</if>> <<if $anusaction is "othermouthescape">> <<set $anusaction to 0>><<set $anusactiondefault to "othermouthescape">><<actionsothermouthanusescape $anustarget>><<brat 10 $anustarget>> <<set $anususe to "othermouth">><<set $anusstate to "othermouthentrance">> <<if $NPCList[$anustarget].mouth is "anusimminent">> <<set $NPCList[$anustarget].mouth to "anusentrance">> <</if>> <</if>> <<if $anusaction is "penistease">> <<set $anusactiondefault to "penistease">><<set $cheekaction to 0>> You <<analtext>> tease the tip of the penis with your <<bottom>>. <<sex 3 "anus">><<analskilluse>> <</if>> <<if $anusaction is "penisdoubletease">> <<set $anusactiondefault to "penisdoubletease">><<set $cheekaction to 0>> You <<analtext>> tease their <<penises>> with your <<bottom>>. <<sex 3 "anus">><<analskilluse>> <</if>> <<if $anusaction is "rub">> <<set $anusaction to 0>><<set $anusactiondefault to "rub">><<actionsanusrub $anustarget>><<sex 10 "anus">> <<analskilluse>> <</if>> <<if $anusaction is "cooperate">> <<set $anusaction to 0>><<set $anusactiondefault to "cooperate">><<actionsanusthrust $anustarget>><<submission 15>><<analskilluse>> <</if>> <<if $anusaction is "penisEdging">> <<set $anusaction to 0>><<set $anusactiondefault to "penisEdging">><<actionsanusedging $anustarget>><<submission 5>><<sexControl 5 `currentSkillValue("analskill")` $anustarget>><<analskilluse>> <</if>> <<if $anusaction is "take">> <<set $anusaction to 0>><<set $anusactiondefault to "take">><<actionsanustake $anustarget>> <</if>> <<if $anusaction is "handtake">> <<set $anusaction to 0>><<set $anusactiondefault to "handtake">><<actionshandanustake $anustarget>> <</if>> <<if $anusaction is "doubletake">> <<set $anusaction to 0>><<set $anusactiondefault to "doubletake">><<actionsanusdoubletake>> <</if>> <<if $anusaction is "escape">><<set $anusaction to 0>><<set $anusactiondefault to "escape">><<actionsanusescape $anustarget>><<brat 10 $anustarget>><<set $anususe to "penis">><<set $anusstate to "entrance">> <<if $NPCList[$anustarget].penis is "anusimminent">> <<set $NPCList[$anustarget].penis to "anusentrance">><<set $NPCList[$anustarget].speechanusescape to 1>> <</if>> <</if>> <<if $anusaction is "penisdoubletease">> <<set $anusactiondefault to "penisdoubletease">><<set $cheekaction to 0>> <<if $NPCList[$anustarget].penis is "anusentrancedouble" and $NPCList[$anusdoubletarget].penis isnot "anusentrancedouble">> You tease <<if !($npc.includes($NPCList[$anustarget].fullDescription))>>the <</if>>$NPCList[$anustarget].fullDescription's tip while rubbing your bowel walls against <<if !($npc.includes($NPCList[$anusdoubletarget].fullDescription))>>the <</if>>$NPCList[$anusdoubletarget].fullDescription's $NPCList[$anusdoubletarget].penisdesc. <<elseif $NPCList[$anustarget].penis isnot "anusentrancedouble" and $NPCList[$anusdoubletarget].penis is "anusentrancedouble">> You tease <<if !($npc.includes($NPCList[$anusdoubletarget].fullDescription))>>the <</if>>$NPCList[$anusdoubletarget].fullDescription's tip while rubbing your bowel walls against <<if !($npc.includes($NPCList[$anustarget].fullDescription))>>the <</if>>$NPCList[$anustarget].fullDescription's $NPCList[$anustarget].penisdesc. <<else>> You tease both the tips with your <<bottom>>.<<sex 6 "anus">> <</if>> <<analskilluse>> <</if>> <<if $anusaction is "doubleescape">> <<set $anusaction to 0>><<set $anusactiondefault to "doubleescape">><<actionsanusdoubleescape $anustarget $anusdoubletarget>><<brat 10 $anustarget $anusdoubletarget>><<set $anususe to "penisdouble">><<set $anusstate to "doubleentrance">> <<set $enemyanger += 5>> <<set _otherNPCindex to "f">> <<set _actiontext to "You escape ">> <<set _npcA to $anustarget>> <<set _npcB to $anusdoubletarget>> <<if $NPCList[_npcA].penis is "anusimminentdouble">> <<set $NPCList[$anustarget].penis to "anusentrancedouble">><<set $NPCList[$anustarget].speechanusescape to 1>> <<elseif $NPCList[_npcA].penis is "anusentrancedouble" and random(0,3) is 0>> /* Chance to drop one of them and switch to regular anal */ <<set _otherNPCindex to _npcB>><<set $NPCList[_npcA].location.genitals to 0>><<set $NPCList[_npcA].speechanusescape to 1>><<set $enemyanger += 15>> <<set $NPCList[_npcA].penis to 0>> <span class="green"> <<print _actiontext + ($npc_named isnot 1 ? "the " : "") + $NPCList[_npcA].fullDescription + "'s " + $NPCList[_npcA].penisdesc + ".">></span> <</if>> <<if $NPCList[_npcB].penis is "anusimminentdouble">> <<set $NPCList[_npcB].penis to "anusentrancedouble">><<set $NPCList[_npcB].speechanusescape to 1>> <<elseif $NPCList[_npcB].penis is "anusentrancedouble" and random(0,3) is 0>> /* Chance to drop one of them and switch to regular anal */ <<set _otherNPCindex to _npcA>><<set $NPCList[_npcB].location.genitals to 0>><<set $NPCList[_npcB].speechanusescape to 1>><<set $enemyanger += 15>> <<set $NPCList[_npcB].penis to 0>> <span class="green"> <<print _actiontext + ($npc_named isnot 1 ? "the " : "") + $NPCList[_npcB].fullDescription + "'s " + $NPCList[_npcB].penisdesc + ".">></span> <</if>> <<if _otherNPCindex isnot "f" and $NPCList[_otherNPCindex].penis isnot 0 and $NPCList[_otherNPCindex].penis.includes("double")>> <<set $anususe to "penis">> <<switch $NPCList[_otherNPCindex].penis>> <<case "anusdouble">> <<set $NPCList[_otherNPCindex].penis to "anus">> <<set $anusstate to "penetrated">> <<case "anusentrancedouble">> <<set $NPCList[_otherNPCindex].penis to "anusentrance">> <<set $anusstate to "entrance">> <<case "anusimminentdouble">> <<set $NPCList[_otherNPCindex].penis to "anusimminent">> <<set $anusstate to "imminent">> <</switch>> <</if>> <</if>> <<if $anusaction is "doublecooperate">> <<set $anusaction to 0>><<set $anusactiondefault to "doublecooperate">><<actionsanusdoublethrust $anustarget $anusdoubletarget>><<submission 15>><<analskilluse>> <</if>> <<if $anusaction is "penisDoubleEdging">> <<set $anusaction to 0>><<set $anusactiondefault to "penisDoubleEdging">><<actionsanusdoubleedging $anustarget $anusdoubletarget>><<submission 5>><<sexControl 5 `currentSkillValue("analskill")` $anustarget $anusdoubletarget>><<analskilluse>> <</if>> <<if $anusaction is "doubletake">> <<set $anusaction to 0>><<set $anusactiondefault to "doubletake">><<actionsanusdoubletake $anustarget $anusdoubletarget>> <</if>> <<if $cheekaction is "rub" or $anusaction is "otherAnusRub">> <<if $cheekaction is "rub">> <<set $cheekaction to 0>> <</if>> <<if $anusaction is "otherAnusRub">> <<set $anusaction to 0>> <</if>> <<bottomskilluse>><<set $cheekactiondefault to "rub">> <<if combatSkillCheck("bottom", $anustarget)>> <<actionscheekrub $anustarget>><<set $cheekactiondefault to "rub">><<submission 3>><<bottomstat>> <<elseif $NPCList[$anustarget].penis is "cheeks">> <<set $cheekactiondefault to "cheeks">> <<personselect $anustarget>> <<set $NPCList[$anustarget].penis to "anusentrance">><<set $bottomuse to 0>><<set $anusstate to "entrance">> <span class="blue">You try to rub <<hisselect $anustarget>> penis between your cheeks, but <<he>> is not interested.</span> <</if>> <</if>> <<if $cheekaction is "stop" or $anusaction is "otherAnusStop" and $NPCList[$anustarget].penis is "cheeks">> <<if $cheekaction is "stop">> <<set $cheekaction to 0>> <</if>> <<if $anusaction is "otherAnusStop">> <<set $anusaction to 0>> <</if>> <<set $cheekaction to 0>><<set $cheekactiondefault to "stop">> <<personselect $anustarget>> <<set $NPCList[$anustarget].penis to "anusentrance">><<set $bottomuse to 0>><<set $anusstate to "entrance">> <span class="blue">You stop holding <<hisselect $anustarget>> penis between your cheeks. <<He>> angles <<his>> $NPCList[$anustarget].penisdesc toward your anus.</span> <</if>> <<if $cheekaction is "handrub" or $anusaction is "bottomhandbay">> <<set $cheekaction to 0>><<set $cheekactiondefault to "handrub">><<bottomskilluse>> <<if combatSkillCheck("bottom", $anustarget)>> <<set $cheekactiondefault to "handrub">><<bottomstat>><<sex 5 "anus">> <<actionsmouthbottomrub $anustarget>> <<else>> <<if $anususe is 0>> <<set $anususe to "hand">><<set $anusstate to "handentrance">><<set $anusactiondefault to "bottomhandbay">><<set $bottomuse to 0>> <<if $NPCList[$anustarget].lefthand is "anusentrance" or $NPCList[$anustarget].lefthand is "anus">> <<personselect $anustarget>><<set $NPCList[$anustarget].lefthand to "anusentrance">> <<else>> <<personselect $anustarget>><<set $NPCList[$anustarget].righthand to "anusentrance">> <</if>> <span class="blue">You press your <<bottom>> against <<hisselect $anustarget>> hand, but instead <<he>> shoves <<his>> fingers between your cheeks.</span> <<else>> <<if $NPCList[$anustarget].penis is "hand">> <<set $NPCList[$anustarget].penis to 0>> <</if>> <<if $NPCList[$anustarget].vagina is "hand">> <<set $NPCList[$anustarget].vagina to 0>> <</if>> <span class="lblue">You clench your <<bottom>> cheeks against <<hisselect $anustarget>> hand, but <<he>> moves <<his>> hand away from you.</span> <<if $NPCList[$anustarget].lefthand is "anus" or $NPCList[$anustarget].lefthand is "anusentrance">> <<set $NPCList[$anustarget].lefthand to 0>><<set $bottomuse to 0>><<set $NPCList[$anustarget].location.lefthand to 0>> <<else>> <<set $NPCList[$anustarget].righthand to 0>><<set $bottomuse to 0>><<set $NPCList[$anustarget].location.righthand to 0>> <</if>> <</if>> <</if>> <</if>> <<if $cheekaction is "handstop" or $anusaction is "handAnusStop">> <<set $cheekaction to 0>><<set $cheekactiondefault to "stop">><<set $bottomuse to 0>> <<if $anususe is 0>> <<if $NPCList[$anustarget].lefthand is "anus" or $NPCList[$anustarget].lefthand is "anusentrance">> <<personselect $anustarget>><<set $NPCList[$anustarget].lefthand to "anusentrance">><<set $anusstate to "handentrance">><<set $anususe to "hand">> <<else>> <<personselect $anustarget>><<set $NPCList[$anustarget].righthand to "anusentrance">><<set $anusstate to "handentrance">><<set $anususe to "hand">> <</if>> <span class="blue">You stop clenching your <<bottom>> cheeks, allowing <<hisselect $anustarget>> hand to reach your crack.</span> <<else>> <<personselect $anustarget>> <<if $NPCList[$anustarget].penis is "hand">> <<set $NPCList[$anustarget].penis to 0>> <</if>> <<if $NPCList[$anustarget].vagina is "hand">> <<set $NPCList[$anustarget].vagina to 0>> <</if>> <<if $NPCList[$anustarget].lefthand is "anus" or $NPCList[$anustarget].lefthand is "anusentrance">> <<set $NPCList[$anustarget].lefthand to 0>><<set $NPCList[$anustarget].location.lefthand to 0>> <<else>> <<set $NPCList[$anustarget].righthand to 0>><<set $NPCList[$anustarget].location.righthand to 0>> <</if>> <span class="blue">You stop clenching your <<bottom>> cheeks, allowing <<hisselect $anustarget>> hand to reach your crack.</span> <</if>> <</if>> <<if $cheekaction is "othermouthrub" or $anusaction is "otherMouthAnusRub">> <<set $cheekaction to 0>><<set $cheekactiondefault to "othermouthrub">><<bottomskilluse>> <<if combatSkillCheck("bottom", $anustarget)>> <<set $cheekactiondefault to "othermouthrub">><<bottomstat>><<sex 5 "anus">> <<actionsmouthbottomrub $anustarget>> <<elseif $NPCList[$anustarget].mouth is "bottom">> <<if $anususe is 0>> <<set $anususe to "othermouth">><<set $anusstate to "othermouthentrance">><<set $anusactiondefault to "bottombay">><<set $bottomuse to 0>> <<personselect $anustarget>><<set $NPCList[$anustarget].mouth to "anusentrance">> <span class="blue">You press your <<bottom>> against <<hisselect $anustarget>> mouth, but instead <<he>> moves <<his>> head between your cheeks.</span> <<else>> <<if $NPCList[$anustarget].penis is "othermouth">> <<set $NPCList[$anustarget].penis to 0>> <</if>> <<if $NPCList[$anustarget].vagina is "othermouth">> <<set $NPCList[$anustarget].vagina to 0>> <</if>> <span class="lblue">You press your <<bottom>> against <<hisselect $anustarget>> mouth, but <<he>> moves <<his>> head away from you.</span> <<set $NPCList[$anustarget].mouth to 0>><<set $bottomuse to 0>><<set $NPCList[$anustarget].location.head to 0>> <</if>> <</if>> <</if>> <<if ($cheekaction is "othermouthstop" or $anusaction is "otherMouthAnusStop") and $NPCList[$anustarget].mouth is "bottom">> <<set $cheekaction to 0>><<set $cheekactiondefault to "stop">><<set $bottomuse to 0>> <<if $anususe is 0>> <<personselect $anustarget>><<set $NPCList[$anustarget].mouth to "anusentrance">><<set $anusstate to "othermouthentrance">><<set $anususe to "othermouth">> <span class="blue">You stop pressing your <<bottom>> against <<hisselect $anustarget>> mouth.</span> <<else>> <<personselect $anustarget>> <<if $NPCList[$anustarget].penis is "othermouth">> <<set $NPCList[$anustarget].penis to 0>> <</if>> <<if $NPCList[$anustarget].vagina is "othermouth">> <<set $NPCList[$anustarget].vagina to 0>> <</if>> <<set $NPCList[$anustarget].mouth to 0>><<set $NPCList[$anustarget].location.head to 0>> <span class="blue">You stop pressing your <<bottom>> against <<hisselect $anustarget>> mouth.</span> <</if>> <</if>> <<effectsinsertions>> /*** * ███████ ██ ██ ███████ █████ ██ ██ * ███ ██ ██ ███ ██ ██ ██ * ███ ███████ ███ ██ ████ ███████ * ███ ██ ██ ███ ██ ██ ██ ██ * ███ ██ ██ ███████ █████ ██ ██ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<if $thighaction is "rub">> <<set $thighaction to 0>><<thighskilluse>><<set $thighactiondefault to "rub">> <<if combatSkillCheck("thigh", $thightarget)>> <<set $thighactiondefault to "rub">><<actionsthighrub $thightarget>><<thighstat>><<sex 5 "genital" $thightarget>> <<elseif $NPCList[$thightarget].penis is "thighs">> <<set $thighactiondefault to "thighs">><<set $thighuse to 0>> <<if $vaginause is 0>><<set $vaginause to "penis">> <<personselect $thightarget>> <<set $NPCList[$thightarget].penis to "vaginaentrance">><<set $vaginastate to "entrance">> <span class="blue">You try to hold <<hisselect $thightarget>> penis between your thighs, but <<he>> instead angles it towards your <<genitals>>.</span> <<else>> <<personselect $thightarget>> <<set $NPCList[$thightarget].penis to 0>><<set $NPCList[$thightarget].location.genitals to 0>> <span class="blue">You try to hold <<hisselect $thightarget>> penis between your thighs, but <<he>> moves it away.</span> <</if>> <</if>> <</if>> <<if $thighaction is "stop" and $NPCList[$thightarget].penis is "thighs">> <<set $thighaction to 0>><<set $thighactiondefault to "stop">> You stop holding <<hisselect $thightarget>> penis between your thighs. <<set $thighuse to 0>> <<if $vaginause is 0>> <<personselect $thightarget>> <<set $NPCList[$thightarget].penis to "vaginaentrance">><<set $vaginastate to "entrance">><<set $vaginause to "penis">> <span class="blue"><<He>> angles towards your <<genitals>>.</span> <<else>> <<set $NPCList[$thightarget].penis to 0>><<set $NPCList[$thightarget].location.genitals to 0>> <</if>> <</if>> <<if $thighaction is "othermouthrub">> <<set $thighaction to 0>><<set $thighactiondefault to "othermouthrub">><<thighskilluse>> <<if combatSkillCheck("thigh", $thightarget)>> <<set $thighactiondefault to "othermouthrub">><<thighstat>><<sex 5 "genital" $thightarget>> <<actionsmouththighrub $thightarget>> <<elseif $NPCList[$thightarget].mouth is "thigh">> <<if $penisuse is 0 and (!$player.vaginaExist or $vaginause isnot 0 or random(0,100) gte 50)>> <<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $penisactiondefault to "thighbay">><<set $thighuse to 0>> <<personselect $thightarget>> <<set $NPCList[$thightarget].mouth to "penisentrance">> <span class="blue">You press your thigh against <<hisselect $thightarget>> mouth, but <<he>> would prefer the main course and moves <<his>> head closer to your <<penis>>.</span> <<elseif $vaginause is 0>> <<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $vaginaactiondefault to "thighbay">><<set $thighuse to 0>> <<personselect $thightarget>> <<set $NPCList[$thightarget].mouth to "vaginaentrance">> <span class="blue">You press your thigh against <<hisselect $thightarget>> mouth, but <<he>> would prefer the main course and moves <<his>> head closer to your <<pussy>>.</span> <<else>> <<personselect $thightarget>> <<if $NPCList[$thightarget].penis is "othermouth">> <<set $NPCList[$thightarget].penis to 0>> <</if>> <<if $NPCList[$thightarget].vagina is "othermouth">> <<set $NPCList[$thightarget].vagina to 0>> <</if>> <span class="lblue">You press your thigh against <<hisselect $thightarget>> mouth, but <<he>> moves <<his>> head away from you.</span> <<set $NPCList[$thightarget].mouth to 0>><<set $thighuse to 0>><<set $NPCList[$thightarget].location.head to 0>> <</if>> <</if>> <</if>> <<if $thighaction is "othermouthstop" and $NPCList[$thightarget].mouth is "thigh">> <<set $thighaction to 0>><<set $thighactiondefault to "stop">><<set $thighuse to 0>> <<if $penisuse is 0 and (!$player.vaginaExist or $vaginause isnot 0 or random(0,100) gte 50)>> <<personselect $thightarget>><<set $NPCList[$thightarget].mouth to "penisentrance">><<set $penisstate to "othermouthentrance">><<set $penisuse to "othermouth">> <span class="blue">You stop pressing your thigh against <<hisselect $thightarget>> mouth.</span> <<elseif $vaginause is 0>> <<personselect $thightarget>><<set $NPCList[$thightarget].mouth to "vaginaentrance">><<set $vaginastate to "othermouthentrance">><<set $vaginause to "othermouth">> <span class="blue">You stop pressing your thigh against <<hisselect $thightarget>> mouth.</span> <<else>> <<personselect $thightarget>> <<if $NPCList[$thightarget].penis is "othermouth">> <<set $NPCList[$thightarget].penis to 0>> <</if>> <<if $NPCList[$thightarget].vagina is "othermouth">> <<set $NPCList[$thightarget].vagina to 0>> <</if>> <<set $NPCList[$thightarget].mouth to 0>><<set $NPCList[$thightarget].location.head to 0>> <span class="blue">You stop pressing your thigh against <<hisselect $thightarget>> mouth.</span> <</if>> <</if>> /*** * ███████ ██████ ██ ██ ███████ ███████ * ██ ██ ██ ███ ██ ███ ██ * ███████ ██████ ██ █ ██ ███ ███████ * ██ ██ ██ ███ ███ ██ * ██ ██████ ██ ██ ███████ ███████ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<rng>> <<effectspenistovagina>> <<rng>> <<effectspenisvaginafuck>> <<rng>> <<effectspenisanusfuck>> <<rng>> <<effectspenistoanus>> <<rng>> <<effectspenistopenisfuck>> <<rng>> <<effectspenistopenis>> <<if $penisaction is "rest">> <<set $penisaction to 0>><<set $penisactiondefault to "rest">> <</if>> <<if $penisaction is "bay" and $NPCList[$penistarget].vagina is "penisentrance">> <<set $penisaction to 0>><<meek 1 $penistarget>><<penileskilluse>><<set $penisactiondefault to "bay">><<combatpromiscuity4>> <<if combatSkillCheck("penile", $penistarget)>> <<set $penisactiondefault to "rub">> <<personselect $penistarget>> <span class="lblue">You <<peniletext>> press your penis against <<hisselect $penistarget>> clit.</span> <<set $NPCList[$penistarget].vagina to "frot">><<set $penisuse to "clit">><<sex 5 "genitals" $penistarget>><<set $penisstate to "clit">> <<else>> You try to keep the vagina menacing your <<penis>> at bay by rubbing against the clit, but <<theowner>> has other ideas. <</if>> <</if>> <<if $penisaction is "clitrub">><<set $penisaction to 0>><<set $penisactiondefault to "rub">><<penileskilluse>> <<if combatSkillCheck("penile", $penistarget)>> <<set $penisactiondefault to "rub">><<sex 5 "genitals" $penistarget>> <<actionsclitrub $penistarget>> <<elseif $NPCList[$penistarget].vagina is "frot">> <<set $penisactiondefault to "bay">> <<set $penisuse to "othervagina">><<set $penisstate to "entrance">> <<personselect $penistarget>> <<set $NPCList[$penistarget].vagina to "penisentrance">> <span class="blue">You rub your <<penis>> against <<hisselect $penistarget>> clit, but <<he>> would prefer the main course and moves <<his>> labia closer to your tip.</span> <</if>> <</if>> <<if $penisaction is "stop" and $NPCList[$penistarget].vagina is "frot">> <<set $penisaction to 0>><<set $penisactiondefault to "stop">> <<personselect $penistarget>> <<set $NPCList[$penistarget].vagina to "penisentrance">><<set $penisstate to "entrance">><<set $penisuse to "othervagina">> <span class="blue">You stop rubbing <<hisselect $penistarget>> clit with your <<penis>>.</span> <</if>> <<if $penisaction is "tease">> <<set $penisaction to 0>><<set $penisactiondefault to "tease">><<actionspussytease $penistarget>><<sex 5 "genitals">><<penileskilluse>> <</if>> <<if $penisaction is "rub">> <<set $penisaction to 0>><<set $penisactiondefault to "rub">><<actionspussyrub $penistarget>><<sex 10 "genitals" $penistarget>><<penileskilluse>> <</if>> <<if $penisaction is "cooperate">> <<set $penisaction to 0>><<set $penisactiondefault to "cooperate">><<actionspussythrust $penistarget>><<submission 20>><<penileskilluse>> <</if>> <<if $penisaction is "forceImpregnation">> <<set _npcForceImpregnation to true>> <<set $penisaction to 0>><<set $penisactiondefault to "cooperate">><<actionspussythrust $penistarget>><<submission 30>><<penileskilluse>><<arousal 1000 "penis">> <</if>> <<if $penisaction is "vaginaEdging">> <<set $penisaction to 0>><<set $penisactiondefault to "vaginaEdging">><<actionspussyedging $penistarget>><<submission 5>><<sexControl 5 `currentSkillValue("penileskill")` $penistarget>><<penileskilluse>> <</if>> <<if $penisaction is "take">> <<set $penisaction to 0>><<set $penisactiondefault to "take">><<actionspussytake $penistarget>> <</if>> <<if $penisaction is "escape" and $NPCList[$penistarget].vagina is "penisimminent">> <<set $penisaction to 0>><<set $penisactiondefault to "escape">><<actionspenisescape $penistarget>><<brat 10 $penistarget>><<set $penisuse to "othervagina">><<set $penisstate to "entrance">> <<personselect $penistarget>> <<set $NPCList[$penistarget].vagina to "penisentrance">><<set $NPCList[$penistarget].speechpenisescape to 1>> <</if>> <<if $penisaction is "pullOut">> <<set $penisaction to 0>><<set $penisactiondefault to "pullOut">><<penileskilluse>> <<sex 5 "genitals">><<brat 10 $penistarget>> <<set $_pullOutDif to Math.floor((100 - $NPCList[$penistarget].pregnancyAvoidance) * 15)>> <<if $leftleg is "bound" or $rightleg is "bound">> You try to pull out, <span class="red">but your bound legs prevent you from doing so.</span> <<elseif combatSkillCheck("penile", $penistarget, $NPCList[$penistarget].fullDescription, $_pullOutDif)>> <<personselect $penistarget>> <<if $penisstate is "penetrated">> <<if $NPCList[$penistarget].pregnancyAvoidance lte 15>> As you try to pull out, <span class="red"><<combatperson>> locks <<his>> legs around you!</span> <<if currentSkillValue('physique') gte random(1, 64000)>> <<set $penisstate to "entrance">> <<if $NPCList[$penistarget].vagina is "penis">> <<set $NPCList[$penistarget].vagina to "penisentrance">>However, you're able to <span class="green"> force yourself free,</span> and <<peniletext>> pull your <<penis>> from <<his>> pussy. <</if>> <<else>> You're prevented from pulling out! <</if>> <<sex 5 "genitals">> <<else>> <<set $penisstate to "entrance">> <<if $NPCList[$penistarget].vagina is "penis">> <<set $NPCList[$penistarget].vagina to "penisentrance">><span class="lblue">You <<peniletext>> pull your <<penis>> from <<his>> pussy.</span> <</if>> <</if>> <</if>> <<if $penisstate is "otheranus">> <<set $penisstate to "otheranusentrance">> <<if $NPCList[$penistarget].penis is "otheranus">> <<set $NPCList[$penistarget].penis to "otheranusentrance">><span class="lblue">You <<peniletext>> pull your <<penis>> from <<his>> anus.</span> <</if>> <</if>> <<if $penisstate is "othermouth">> <<set $penisstate to "othermouthentrance">> <<if $NPCList[$penistarget].mouth is "penis">> <<set $NPCList[$penistarget].mouth to "penisentrance">><span class="lblue">You <<peniletext>> pull your <<penis>> from <<his>> mouth.</span> <</if>> <</if>> <<else>> <<personselect $penistarget>> You try to pull out, but <span class="red">can't move away from <<him>>.</span> <</if>> <<set $NPCList[$penistarget].speechpenisescape to 1>> <</if>> <<if $penisaction is "fencingtease">> <<set $penisaction to 0>><<set $penisactiondefault to "fencingtease">><<actionsfencingtease $penistarget>><<sex 10 "genitals" $penistarget>><<penileskilluse>> <</if>> <<if $penisaction is "fencingcooperate">> <<set $penisaction to 0>><<set $penisactiondefault to "fencingcooperate">><<actionsfencingcooperate $penistarget>><<submission 20>><<penileskilluse>> <</if>> <<if $penisaction is "fencingtake">> <<set $penisaction to 0>><<set $penisactiondefault to "fencingtake">><<actionsfencingtake $penistarget>> <</if>> <<if $penisaction is "fencingrest">> <<set $penisaction to 0>><<set $penisactiondefault to "rest">> <</if>> <<if $penisaction is "fencingescape">> <<set $penisaction to 0>><<set $penisactiondefault to "fencingescape">><<actionsfencingescape $penistarget>><<brat 10 $penistarget>> <<if $penisstate is "otherpenis">> <<set $penisstate to "otherpenisimminent">> <<else>> <<set $penisstate to "otherpenisentrance">> <</if>> <<if $NPCList[$penistarget].penis is "penis">> <<set $NPCList[$penistarget].penis to "penisimminent">> <<elseif $NPCList[$penistarget].penis is "penisimminent">> <<set $NPCList[$penistarget].penis to "penisentrance">> <</if>> <</if>> <<if $penisaction is "otherpenisrub">> <<set $penisaction to 0>><<set $penisactiondefault to "otherpenisrub">><<actionsotherpenispenisrub $penistarget>><<sex 10 "genitals" $penistarget>><<penileskilluse>> <</if>> <<if $penisaction is "thighbay" and $NPCList[$penistarget].mouth is "penisentrance">> <<set $penisaction to 0>><<meek 1 $penistarget>><<thighskilluse>><<set $penisactiondefault to "thighbay">><<combatpromiscuity1>> <<if combatSkillCheck("thigh", $penistarget)>> <<set $thighactiondefault to "othermouthrub">> <<personselect $penistarget>> <span class="lblue">You <<thightext>> press your thigh against <<hisselect $penistarget>> mouth.</span> <<set $NPCList[$penistarget].mouth to "thigh">><<set $penisuse to 0>><<thighstat>><<neutral 5 $penistarget>><<set $penisstate to 0>><<set $thighuse to "mouth">> <<else>> You try to keep the mouth menacing your <<penis>> at bay by pressing your thigh against it, but <<theowner>> has other ideas. <</if>> <</if>> <<if $penisaction is "othermouthtease">> <<set $penisaction to 0>><<set $penisactiondefault to "othermouthtease">><<actionsothermouthpenistease $penistarget>><<sex 5 "genitals">><<penileskilluse>> <</if>> <<if $penisaction is "othermouthrub">> <<set $penisaction to 0>><<set $penisactiondefault to "othermouthrub">><<actionsothermouthpenisrub $penistarget>><<sex 10 "genitals" $penistarget>><<penileskilluse>> <</if>> <<if $penisaction is "othermouthcooperate">> <<set $penisaction to 0>><<set $penisactiondefault to "othermouthcooperate">><<actionsothermouthpenisthrust $penistarget>><<submission 20>><<penileskilluse>> <</if>> <<if $penisaction is "othermouthescape">> <<set $penisaction to 0>><<set $penisactiondefault to "othermouthescape">><<actionsothermouthpenisescape $penistarget>><<brat 10 $penistarget>> <<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">> <<if $NPCList[$penistarget].mouth is "penisimminent">> <<set $NPCList[$penistarget].mouth to "penisentrance">> <</if>> <</if>> <<if $penisaction is "otheranusbay">> <<set $penisaction to 0>><<meek 1 $penistarget>><<penileskilluse>><<set $penisactiondefault to "otheranusbay">><<combatpromiscuity4>> <<if combatSkillCheck("penile", $penistarget)>> <<set $penisactiondefault to "otheranusrub">><<personselect $penistarget>> <<if $NPCList[$penistarget].vagina is "otheranusentrance">> <span class="lblue">You <<peniletext>> point your <<penis>> away from <<hisselect $penistarget>> anus, rubbing between <<his>> cheeks.</span> <<set $NPCList[$penistarget].vagina to "otheranusfrot">><<set $penisuse to "otheranusrub">><<sex 5 "genitals" $penistarget>><<set $penisstate to "otheranusrub">> <</if>> <<if $NPCList[$penistarget].penis is "otheranusentrance">> <span class="lblue">You <<peniletext>> point your <<penis>> away from <<hisselect $penistarget>> anus, rubbing between <<his>> cheeks.</span> <<set $NPCList[$penistarget].penis to "otheranusfrot">><<set $penisuse to "otheranusrub">><<sex 5 "genitals" $penistarget>><<set $penisstate to "otheranusrub">> <</if>> <<else>> You try to move your <<penis>> away from the anus pressing against it, but <<theowner>> has other ideas. <</if>> <</if>> <<if $penisaction is "otheranusrub">> <<set $penisaction to 0>><<set $penisactiondefault to "otheranusrub">><<penileskilluse>> <<if combatSkillCheck("penile", $penistarget)>> <<set $penisactiondefault to "otheranusrub">><<sex 5 "genitals" $penistarget>> <<actionsotheranusrub $penistarget>> <<else>> <<set $penisactiondefault to "otheranusbay">> <<set $penisuse to "otheranus">><<set $penisstate to "otheranusentrance">> <<personselect $penistarget>> <<if $NPCList[$penistarget].vagina is "otheranusfrot">> <<set $NPCList[$penistarget].vagina to "otheranusentrance">> <span class="blue">You rub your <<penisSimple>> between <<hisselect $penistarget>> cheeks, but <<he>> would prefer the main course and presses <<his>> anus against your tip.</span> <</if>> <<if $NPCList[$penistarget].penis is "otheranusfrot">> <<set $NPCList[$penistarget].penis to "otheranusentrance">> <span class="blue">You rub your <<penisSimple>> between <<hisselect $penistarget>> cheeks, but <<he>> would prefer the main course and presses <<his>> anus against your tip.</span> <</if>> <</if>> <</if>> <<if $penisaction is "otheranusstop">> <<set $penisaction to 0>><<set $penisactiondefault to "stop">> <<personselect $penistarget>> <<if $NPCList[$penistarget].vagina is "otheranusfrot">> <<set $NPCList[$penistarget].vagina to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $penisuse to "otheranus">> <span class="blue">You stop rubbing your <<penis>> between <<hisselect $penistarget>> cheeks.</span> <</if>> <<if $NPCList[$penistarget].penis is "otheranusfrot">> <<set $NPCList[$penistarget].penis to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $penisuse to "otheranus">> <span class="blue">You stop rubbing your <<penis>> between <<hisselect $penistarget>> cheeks.</span> <</if>> <</if>> <<if $penisaction is "otheranustease">> <<set $penisaction to 0>><<set $penisactiondefault to "otheranustease">><<actionsotheranustease $penistarget>><<sex 5 "genitals">><<penileskilluse>> <</if>> <<if $penisaction is "otheranuscooperate">> <<set $penisaction to 0>><<set $penisactiondefault to "otheranuscooperate">><<actionsotheranusthrust $penistarget>><<submission 20>><<penileskilluse>> <</if>> <<if $penisaction is "otheranusEdging">> <<set $penisaction to 0>><<set $penisactiondefault to "otheranusEdging">><<actionsotheranusedging $penistarget>><<submission 5>><<sexControl 5 `currentSkillValue("penileskill")` $penistarget>><<penileskilluse>> <</if>> <<if $penisaction is "otheranustake">> <<set $penisaction to 0>><<set $penisactiondefault to "otheranustake">><<actionsotheranustake $penistarget>> <</if>> <<if $penisaction is "otheranusescape">> <<set $penisaction to 0>><<set $penisactiondefault to "otheranusescape">><<actionsotheranusescape>><<brat 10 $penistarget>> <<set $penisuse to "otheranus">><<set $penisstate to "otheranusentrance">> <<if $NPCList[$penistarget].vagina is "otheranusimminent">> <<set $NPCList[$penistarget].vagina to "otheranusentrance">><<print '<<set $speechotheranusescape'+ ($penistarget + 1) +' to 1>>'>> <</if>> <<if $NPCList[$penistarget].penis is "otheranusimminent">> <<set $NPCList[$penistarget].penis to "otheranusentrance">><<print '<<set $speechotheranusescape'+ ($penistarget + 1) +' to 1>>'>> <</if>> <</if>> <<if $penisaction is "penisthighs"and $NPCList[$penistarget].penis is "penisentrance">> <<set $penisaction to 0>><<meek 1 $penistarget>><<thighskilluse>><<set $penisactiondefault to "penisthighs">><<combatpromiscuity4>> <<if combatSkillCheck("thigh", $penistarget)>> <<set $thighactiondefault to "rub">> <<personselect $penistarget>> <span class="lblue">You <<thightext>> grab <<hisselect $penistarget>> $NPCList[$penistarget].penisdesc between your thighs.</span> <<set $NPCList[$penistarget].penis to "thighs">><<set $thightarget to $penistarget>> <<set $penisuse to 0>><<set $thighuse to "penis">><<thighstat>><<sex 5 "genitals" $penistarget>><<set $penisstate to 0>> <<else>> You try to hold <<hisselect $penistarget>> penis between your thighs, but <<he>> is intent on your cock. <</if>> <</if>> <<if $penisaction is "penisanus" and ["penisentrance", "penisimminent"].includes($NPCList[$penistarget].penis)>> <<set $penisaction to 0>><<meek 5 $penistarget>><<analskilluse>><<set $penisactiondefault to "penisanus">> <<if combatSkillCheck("anal", $penistarget)>> <<personselect $penistarget>><<set $anustarget to $penistarget>> <span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> <<npcPenis $penistarget>> in front of your butt.</span> <<if $NPCList[$penistarget].type is "plant" and $NPCList[$penistarget].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<submission 2>><<set $anususe to "penis">><<set $NPCList[$penistarget].penis to "anusentrance">><<set $penisuse to 0>><<set $anusstate to "entrance">><<set $penisstate to 0>> <<else>> You give your <<bottom>> a little wiggle, but you just receive a slap. <<violence 2>><<hitstat>><<bruise bottom>> <</if>> <</if>> <<rng>> <<if $penisaction is "penisanusdouble">> <<set $penisaction to 0>><<meek 5 $penistarget>><<analskilluse>> <<if combatSkillCheck("anal", $penistarget) and $anususe is "penis">> <<personselect $penistarget>><<set $penisactiondefault to "rest">> <span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> penis to join the phallus in front of your butt.</span> <<submission 2>><<set $anususe to "penisdouble">><<set $NPCList[$penistarget].penis to "anusentrancedouble">><<set $penisuse to 0>><<set $anusstate to "doubleentrance">><<set $penisstate to 0>> <<set $anusdoubletarget to $penistarget>> <<if $NPCList[$anustarget].penis is "anus">> <<set $NPCList[$anustarget].penis to "anusdouble">> <<elseif $NPCList[$anustarget].penis is "anusimminent">> <<set $NPCList[$anustarget].penis to "anusimminentdouble">> <<elseif $NPCList[$anustarget].penis is "anusentrance">> <<set $NPCList[$anustarget].penis to "anusentrancedouble">> <<elseif $NPCList[$anustarget].penis is "cheeks">> <<set $NPCList[$anustarget].penis to "anusentrance">> <<set $bottomuse to 0>> /* Issues with ass cheeks likely stem from this culprit right here */ <</if>> <<set $NPCList[$anustarget].location.genitals to "genitals">> <<else>> You give your <<bottom>> a little wiggle, but you just receive a slap. <<violence 2>><<hitstat>><<bruise bottom>><<set $penisactiondefault to "penisanusdouble">> <</if>> <</if>> <<if $penisaction is "penispussy">> <!-- Check the player is not attempting to straddle and offer pussy at the same time. If so, switch to double or fail correctly --> <<if $vaginastate isnot 0 and !$vaginastate.includes("double") and ($vaginastate is "entrance" or $vaginastate is "imminent" or $vaginastate is "penetrated")>> <!-- Note that this action requires "penispussydouble" to come after "penispussy", else it will not work as expected --> <<if random(0,2) isnot 0 and $vaginaldoubledisable is "f">> <<set $penisaction to "penispussydouble">> <<else>> You spread your thighs, but fail to garner further interest. <</if>> <<elseif $vaginastate isnot 0 and $vaginastate.includes("double")>> You spread your thighs, but just receive a slap. "Settle down, <<bitch>>." <<violence 2>><<hitstat>><<bruise bottom>> <<elseif ["penisentrance", "penisimminent"].includes($NPCList[$penistarget].penis)>> <<set $penisaction to 0>><<meek 10 $penistarget>><<penileskilluse>><<set $penisactiondefault to "penispussy">> <<if combatSkillCheck("vaginal", $penistarget)>> <<personselect $penistarget>> <<submission 2>><<set $vaginause to "penis">><<set $NPCList[$penistarget].penis to "vaginaentrance">><<set $penisuse to 0>> <<set $vaginastate to "entrance">><<set $penisstate to 0>><<set $vaginatarget to $penistarget>><<set $penistarget to 0>> <span class="lblue">You spread your thighs, giving clear access to your pussy, and <<combatperson>> takes advantage and moves <<his>> penis away from your <<penis>>.</span> <<else>> You spread your thighs, but fail to garner interest. <</if>> <</if>> <</if>> <<rng>> <<if $penisaction is "penispussydouble">> <<set $penisaction to 0>><<meek 10>><<penileskilluse>><<set $penisactiondefault to "penispussydouble">> <<if combatSkillCheck("vaginal", $penistarget) and $vaginause is "penis">> <<for _j = 0; _j lt $enemyno; _j++>> <<if $NPCList[_j].penis is "penisentrance" or $NPCList[_j].penis is "penisimminent">> <<personselect _j>> <<submission 2>><<set $vaginause to "penisdouble">><<set $NPCList[_j].penis to "vaginaentrancedouble">><<set $penisuse to 0>><<set $vaginastate to "doubleentrance">><<set $penisstate to 0>> <span class="lblue">You spread your thighs, giving clear access to your pussy, and <<combatperson>> takes advantage and moves <<his>> penis away from your <<penis>> to join the phallus in front of your pussy.</span> <<set $vaginatarget to _n>> <<set $vaginadoubletarget to "f">> <<for _k = 0; _k lt $enemyno; _k++>> <<if $NPCList[_k].penis is "vagina">> <<set $NPCList[_k].penis to "vaginadouble">> <<set $vaginadoubletarget to _k>> <<break>> <<elseif $NPCList[_k].penis is "vaginaimminent">> <<set $NPCList[_k].penis to "vaginaimminentdouble">> <<set $vaginadoubletarget to _k>> <<break>> <<elseif $NPCList[_k].penis is "vaginaentrance">> <<set $NPCList[_k].penis to "vaginaentrancedouble">> <<set $vaginadoubletarget to _k>> <<break>> <</if>> <</for>> <<break>> <</if>> <</for>> <<else>> You spread your thighs, but fail to garner interest. <</if>> <</if>> <<if $penisaction is "strokerCooperate">> <<set $penisaction to 0>><<set $penisactiondefault to "strokerCooperate">><<actionsStrokerCooperate $penistarget>><<submission 20>> <</if>> <<if $penisaction is "strokerRest">> <<set $penisaction to 0>><<set $penisactiondefault to "strokerRest">><<actionsStrokerRest $penistarget>><<neutral 5>> <</if>> /*** * ██████ ██ ██ ███████ ███████ ███████ * ██ ██ ██ ██ ██ ███ * ██ ███████ ███████ ███████ ███ * ██ ██ ██ ██ ██ ███ * ██████ ██ ██ ███████ ███████ ███ * */ <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <<if $chestaction is "rub">> <<set $chestaction to 0>><<set $chestactiondefault to "rub">> <<if combatSkillCheck("chest", $chesttarget)>> <<if $player.breastsize is 0>> You <<chesttext>> rub your <<breasts>> against <<hisselect $chesttarget>> penis. <<else>> You <<chesttext>> rub <<hisselect $chesttarget>> penis between your <<breasts>>. <</if>> <<submission 3>><<chestskilluse>> <<elseif $NPCList[$chesttarget].penis is "chest">> <<set $chestuse to 0>><<personselect $chesttarget>> <<if $mouthuse is 0>> <<set $mouthactiondefault to "grasp">><<set $mouthstate to "entrance">><<set $mouthuse to "penis">> <<set $NPCList[$chesttarget].penis to "mouthentrance">> <span class="purple">You try to rub your <<breasts>> against <<hisselect $chesttarget>> $NPCList[$chesttarget].penisdesc, but <<he>> moves <<his>> penis to your mouth.</span> <<else>> <<set $NPCList[$chesttarget].penis to 0>> <span class="blue">You try to rub your <<breasts>> against <<hisselect $chesttarget>> penis, but <<he>> pulls away.</span> <</if>> <</if>> <</if>> <<if $chestaction is "stop" and $NPCList[$chesttarget].penis is "chest">> <<set $chestuse to 0>><<set $chestaction to 0>><<personselect $chesttarget>><<personselect $chesttarget>> <<if $mouthuse is 0>> <<set $mouthactiondefault to "grasp">><<set $mouthstate to "entrance">><<set $mouthuse to "penis">> <<set $NPCList[$chesttarget].penis to "mouthentrance">> <span class="purple">As you stop rubbing, <<combatperson>> moves <<his>> penis to your mouth.</span> <<else>> <<set $NPCList[$chesttarget].penis to 0>> <span class="blue">As you stop rubbing, <<combatperson>> pulls away.</span> <</if>> <</if>> <<set $NPCList[0].intro to 0>> <<set $NPCList[1].intro to 0>> <<set $NPCList[2].intro to 0>> <<set $NPCList[3].intro to 0>> <<set $NPCList[4].intro to 0>> <<set $NPCList[5].intro to 0>> <<combat_lewdity_text>> </div> <</widget>> <<widget "useLube">> <<set $_lube to $player.inventory.sextoys["lube"][0]>> <<set $_lube.uses -= 1>> <<run console.log("using lube? " + V.player.inventory.sextoys["lube"][0].name + " " + V.player.inventory.sextoys["lube"][0].uses)>> <<if $_lube.uses lte 0>> <<run V.player.inventory.sextoys["lube"].splice(0,1)>> <<run console.log("used up all the lube")>> You squeeze the last of the lube out of the bottle. <</if>> <</widget>> <<widget "wheeze">> <<set _action to _args[0] or "say something">> <<switch _args[1]>> <<case 1>> You try to _action, <span class="purple">but only a wheeze comes out because you are already being choked.</span> <<case 2>> You try to _action, <span class="lewd">but only a lewd moan comes out because the hand around your throat prevents you from talking.</span> <<default>> You try to _action, <span class="red">but only a choked wheeze comes out because of the hand squeezing your throat.</span><<gwillpower>><<willpower 1>> <<set $speechwheeze to 1>> <</switch>> <</widget>> <<widget "effectsinsertions">> /* Check anal toy insertions */ <<set _insertions to []>> <<for _i = 0; _i < $NPCList.length; _i++>> <<if $NPCList[_i].lefthand is "anusdildo">> <<personselect _i>> <<if $npc_named is 1>> <<set _npcDescription to $NPCList[_i].fullDescription>> <<else>> <<set _npcDescription to "the "+$NPCList[_i].fullDescription>> <</if>> <<set _insertions.push(_npcDescription + "'s " + $NPCList[_i].lefttool)>> <</if>> <<if $NPCList[_i].righthand is "anusdildo">> <<personselect _i>> <<if $npc_named is 1>> <<set _npcDescription to $NPCList[_i].fullDescription>> <<else>> <<set _npcDescription to "the "+$NPCList[_i].fullDescription>> <</if>> <<set _insertions.push(_npcDescription + "'s " + $NPCList[_i].righttool)>> <</if>> <</for>> <<if _insertions isnot undefined>> <<if _insertions.length gte 2>> Your anus is fucked by the sex toys<<if playerHasButtPlug()>>, rubbing against your $worn.butt_plug.name<</if>>. <<elseif _insertions.length is 1>> Your anus is fucked by _insertions[0]<<if playerHasButtPlug()>>, rubbing against your $worn.butt_plug.name<</if>>. <</if>> <</if>> /* Check vaginal toy insertions */ <<if $player.vaginaExist>> <<set _insertions to []>> <<for _i = 0; _i < $NPCList.length; _i++>> <<if $NPCList[_i].lefthand is "vaginadildo">> <<personselect _i>> <<if $npc_named is 1>> <<set _npcDescription to $NPCList[_i].fullDescription>> <<else>> <<set _npcDescription to "the "+$NPCList[_i].fullDescription>> <</if>> <<set _insertions.push(_npcDescription + "'s " + $NPCList[_i].lefttool)>> <</if>> <<if $NPCList[_i].righthand is "vaginadildo">> <<set _insertions.push($NPCList[_i].righttool)>> <</if>> <</for>> <<if _insertions isnot undefined>> <<if _insertions.length gte 2>> Your <<pussy>> is fucked by the sex toys. <<elseif _insertions.length is 1>> Your <<pussy>> is fucked by the _insertions[0]. <</if>> <</if>> <</if>> <<if $player.penisExist>> /* Dildo rubbing on penis */ <<for _i = 0; _i < $NPCList.length; _i++>> <<if $NPCList[_i].lefthand is "penisdildo">> Your <<penis>> is rubbed by the $NPCList[_i].lefttool. <<break>> <</if>> <<if $NPCList[_i].righthand is "penisdildo">> Your <<penis>> is rubbed by the $NPCList[_i].righttool. <<break>> <</if>> <</for>> <</if>> <</widget>><<widget "ejaculation-alex">> <<run statusCheck("Alex")>> <!-- Female ALEX (only have a pussy) --> <<if $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<if $consensual is 1>> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<switch random(1,5)>> <<case 1 2>> <<He>> groans and rubs <<his>> crotch against your face with <<his>> hips, small thighs shaking with orgasm. <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, body twitching uncontrollably. <<case 5>> <<He>> screams, cupping the back of your head in <<his>> hands and grinding <<his>> clit against your nose. <</switch>> <<elseif $NPCList[_nn].vagina is "leftarm">> <<switch random(1,5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, shaking <<his>> slim thighs together against your hand as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt spasming against your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 5>> <<He>> screams, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, knees knocking as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt spasming against your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 5>> <<He>> screams, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, releasing you and pulling back <<his>> hand, licking your wetness off <<his>> fingers. <<case 3 4>> <<He>> moans loudly and shakes, dripping ejaculate on the ground; <<he>> withdraws <<his>> hand and sighs. <<case 5>> <<He>> screams as <<he>> comes, soaking <<his>> own pussy and thighs in ejaculate. "I love pleasuring myself with you." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "leftDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyLeft.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "rightDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyRight.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "rightDildoAnus">> <<switch random(1, 4)>> <<case 1 2>> <<He>> moans as you knead <<his>> pussy, jamming your toes inside with <<his>> hands as <<he>> finishes cumming. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 3 4>> <<He>> shakes bodily as <<he>> cums, twitching underneath your feet and cumming between your toes. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you scissor your pussies together, moaning with pleasure. <<case 3 4>> <<He>> moans as <<he>> grinds downs hard on your <<pussy>> to finish, thin legs shaking as <<he>> cums. <<case 5>> <<He>> screams, cupping <<his>> hands under your shoulders as <<his>> entire body shakes. Ejaculate drenches your crotch as <<he>> squirts. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shudders with pleasure, exhaling warmly against your crotch as <<he>> comes, leaving you wet with saliva and your own fluids. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> nose into your crotch and giving you a long, final, wet lick. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 5>> <<He>> screams into your crotch as <<he>> cums, pinching <<his>> hands between <<his>> thighs and buckling over, ejaculate streaming down <<his>> thighs. <</switch>> <<elseif $NPCList[_nn].vagina is "otheranus" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].vagina is "otheranus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, driving <<his>> ass hard against you as <<he>> releases a final moan. "I don't know why, but I just can't get enough of this." <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> ass deeply with your cock and moaning. "I wouldn't mind going a little longer." <<case 5>> <<He>> screams and bucks into your crotch as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your legs. "Wish I could ride you all day." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "penis">> <<switch random(1, 5)>> <<case 1 2>> <<He>> grabs your shoulders with <<his>> small hands as <<he>> cums, bouncing down hard against your cock as <<he>> shudders with pleasure. "What about a second round, partner?" <<case 3 4>> <<He>> sighs as <<he>> cums, reddening and going into a full body convulsion. Ejaculate soaks your crotch. "Hope I didn't dry you out," <<he>> laughs. <<case 5>> <<He>> cries out and bucks on your lap as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your crotch and legs. "Now that was a hell of a ride." <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> cums on your <<penis>> as you rub against the entrance and moans with pleasure. "You're gonna drive me crazy with this." <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> bucks <<his>> ass against your cock as <<he>> cums. <<He>> frowns, "I do hope to get a real ride next time." <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> clit hard against your cock as <<he>> cums, ejaculating on your cock. "You're gonna drive me crazy with this." <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> Alex grabs your thighs as <<he>> finishes. <<He>> takes you deeper into <<his>> mouth, <<if $internalejac>> swallowing your cum in loud gulps. <<switch random(1,2)>> <<case 1>> "Always tastes better from the source," <<case 2>> "Couldn't ask for a tastier milk," <</switch>> <<else>> as if trying to milk you. <<if $internalejac>> "Now ain't you a hard bull to milk," <<else>> "You still owe me some of that milk," <</if>> <</if>> <<he>> says as <<he>> pulls <<his>> mouth away, cleaning your penis in the process. <<else>> <<He>> convulses in orgasmic bliss. <</if>> <<else>><!-- There should be non non-consensual Alex events --> <<He>> cries out as <<he>> orgasms. <<He>> stops moving save for ragged breathing. <</if>> <br><br> <</if>> <!-- Male ALEX --> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $consensual is 1>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif npcHasStrapon(_nn)>> <<He>> moans and shivers in orgasmic bliss, grinding the strap-on against <<his>> genitals. <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You giggle at the sight. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, pushing <<his>> crotch hard into yours as <<he>> cums and ejaculating onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groans as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. "Got some strong thighs, should be careful next time I service ya." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds you still by the hips with one hand and with the other on <<his>> cock, ejaculates onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy; <<he>> seems disappointed. <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your <<pussy>>; <<he>> looks disappointed. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. You feel warm as semen fills your vagina. "You really know how to milk a farmer dry." <<case 4 5 6>> <<He>> quiets and grabs your shoulders with <<his>> small hands, pulling you onto <<his>> cock as <<he>> cums. Semen fills your <<pussy>>, leaving you breathless. "Wanna go for another ride?" <<case 7>> <<He>> convulses and grinds down on your crotch as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <<case 4 5 6>> <<He>> grabs your thighs, pushing <<his>> crotch hard against your ass and ejaculating between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch. <<He>> seems pleased. "Maybe I should let you sit around more if it keeps your ass soft like that." <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> palms your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel warm semen dripping down your bottom. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and down your crotch. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your ass and drips down your crack; <<he>> seems disappointed. <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems upset. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and crotch. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts into your ass as <<he>> cums. You gasp as you feel semen filling you. <<case 4 5 6>> <<He>> wordlessly grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you moan with pleasure. <<case 7>> <<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. You're surprised at the amount; cum oozes from your ass and runs down your legs. <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your <<breasts>> together tight on <<his>> cock as <<he>> cums, ejaculating onto them. Your body feels slick with cum. <<case 4 5 6>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and quietly ejaculates on them. Your <<breasts>> feel cool as semen drips down them. "Now let's clean those off so I got a pair of nice pillows to sleep on tonight." <<case 7>> <<He>> puts <<his>> hand behind your neck and bears down on your <<breasts>>, grunting as <<he>> cums; semen shoots between your <<breasts>> and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>>. "You look so damn cute like that!" <</switch>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face. <<His>> face looks excited. <<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your face. Warm cum drips down your forehead and nose. <<He>> smiles and cleans you off. <<case 7>> <<He>> gasps and strokes <<his>> cock while aiming straight at your mouth. Thick ropes of cum cover your face and push past your closed lips into your mouth. You're impressed by the volume and <<he>> looks oddly pleased with <<himself>>. <<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<faceejacstat>><<ejacstat>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups the back of your head, ejaculating onto your lips as you barely brush against the tip of <<his>> penis; <<he>> seems disappointed with <<his>> lack of control. <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; <<he>> seems disappointed. <<case 7>> <<He>> cups your head but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<elseif $NPCList[_nn].penis is "mouth">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and holds the back of your head with the other, thrusting into your mouth as <<he>> cums. Ejaculate streams down your throat and fills your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> "You milked me dry, and thought you were not gonna have some?" <<case 4 5 6>> <<He>> grasps the base of <<his>> cock and moans, quietly ejaculating into your mouth. You feel warm cum fill your mouth and drip down your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> "Really like all my milk, I see..." <<case 7>> <<He>> palms your head, wildly thrusting <<his>> cock in your mouth as <<he>> cums. Semen streams down your throat, fills your mouth and covers your face as <<he>> flails. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> "<<if C.npc.Alex.dom gte 20>>Didn't think you could swallow it all<<else>>F-uck...You really did get all of it<</if>>." <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. "Kept teasing me like that, and now I got to wait for a round two to fuck your cute bottom." <</switch>> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <<case 4 5 6>> <<He>> quietly cums on your hands, slickening them with semen. <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. <<He>> laughs and apologises. <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your left hand and covering it with cum. <<case 4 5 6>> <<He>> quietly cums on your left hand. Semen drips down your fingers. "Aren't you gonna have some?" <<case 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. You're impressed by the volume. " I didn't realise that keeping those big mooing buggers around would come with some bonus perks." <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze. Your hand is covered in warm semen. <<case 4 5 6>> <<He>> quietly cums on your right hand. Semen cools on your fingers. "Aren't you gonna have some?" <<case 7>> <<He>> grunts and shoots thick ropes of semen onto your hands, making an impressive mess. You're impressed by the volume. "I didn't realise that keeping those big mooing buggers around would come with some bonus perks." <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 4)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. <<He>> laughs at the mess. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> cock and moans, ejaculating on the ground. <<case 3>> <<He>> strokes <<his>> penis and, aiming at your ass, ejaculates on your bottom. "That was fun!" <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating on your <<breasts>>. <<He>> laughs at the mess <<hes>> made. <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass, <<his>> ejaculate spraying on <<his>> own stomach. "I guess it's okay to let you be on top sometimes." <<case 4 5>> <<He>> whimpers as you pound <<his>> ass, moaning in pleasure as <<he>> ejaculates on the ground. You roll off <<him>>. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. "Next time, you'll be giving me a ride." <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Wasn't I rough enough?" <<he>> laughs. <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, grabbing your ass from behind and grinding your cock against <<his>> ass to finish. <<case 4 5>> <<He>> moans as you rub against <<his>> anus and ejaculates on the ground. <<He>> smiles contentedly. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <</switch>> <<elseif $NPCList[_nn].penis is "penis" and playerChastity("penis")>> <<He>> gasps as <<he>> shoots <<his>> cum over your $worn.genitals.name. <<He>> strokes your face. "You're so cute." <<elseif $NPCList[_nn].penis is "penis">> <<switch random(1, 7)>> <<case 1>> <<He>> cums as you knead your <<penises>> together, moaning with pleasure. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> cums as you rub your <<penises>> together, moaning with pleasure. <<He>> rubs <<his>> own cum all over your shaft. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 3>> <<He>> cums as you frot your <<penises>> together, shooting <<his>> impressive load over your <<penis>> and stomach. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4>> <<He>> moans as <<he>> grinds downs hard on your <<penis>> to finish, thin legs shaking as <<he>> cums. <<He>> uses the cum as lube, furiously milking out the last of <<his>> cum against your <<penis>>. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 5>> <<He>> giggles as <<he>> rubs hard against your <<penis>> to finish. <<He>> uses the cum as lube, furiously milking out the last of <<his>> semen against your <<penis>>. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 6>> <<He>> screams as <<he>> grinds hard against your <<penis>> to finish, thin legs shaking as <<he>> cums. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> screams, cupping <<his>> small hands under your shoulders as <<his>> entire body shakes; you are surprised by how strong <<he>> is. Ropes of semen drench your crotch as <<he>> cums. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<switch random(1, 7)>> <<case 1 2>> <<He>> cums before <<he>> can frot your <<penis>>, ejaculating on the outside. Semen coats your cock and tummy; <<he>> seems upset with <<himself>>. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 3 4>> <<He>> ejaculates onto your <<penis>> before <<he>> can frot your <<penises>> together, sending white streams of semen running down your <<penis>>; <<he>> seems disappointed. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 5>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<penis>> and ass. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 6 7>> <<He>> cums before your <<penises>> touch, covering you in <<his>> massive load. Semen coats your tummy, and crotch. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis" and $NPCList[_nn].vagina is "none" and $NPCList[_nn].penis isnot "none">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth, gasping against your cock. "God I love you so much." <<set $kylarSeen.pushUnique("saidLove")>> <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth. <<He>> backs away, "I'm sorry; I can't take anymore. Please forgive me." <<case 6 7>> <<He>> grabs you by the ass and drives your cock deeply into <<his>> throat, ejaculating on <<his>> chest as <<he>> throats your cock. <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <</if>> <<else>><!-- There should be non non-consensual Alex events --> <<He>> cries out as <<he>> orgasms. <<He>> stops moving save for ragged breathing. <</if>> <</widget>><<widget "ejaculation-eden">> <<set $ejaculating to 1>> <!-- Changing rows to future-proof the code: from $NPCList[0] to $NPCList[_nn], _nn being the main ejaculation loop handler --> <!-- Female EDEN --> <<if $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<if $consensual is 1>> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans as <<his>> hips thrust against your face, <<his>> thighs shaking with orgasm. <<case 3 4>> <<His>> blush deepens and mouth gapes as <<he>> cums, <<his>> body twitching all over. <<case 5>> <<He>> screams, cupping your head in <<his>> hand and thrusting against your face as <<he>> cums. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "leftarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, <<his>> thighs trembling against your hand as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums. You feel <<his>> pussy twitch against <<his>> hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 5>> <<He>> screams as <<he>> grasps your hand and fucks your fingers with <<his>> pussy. You feel <<his>> interior twitch. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<His>> knees tremble and <<he>> grasps your body for support as you finish with <<his>> pussy. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 3 4>> <<His>> blush deepen and <<his>> mouth gapes as <<he>> cums. You feel <<his>> pussy twitch. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 5>> <<He>> screams and grasps your hand before fucking <<his>> pussy with your fingers. You feel <<his>> insides twitch. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs and trembles as <<he>> cums, barely able to keep <<his>> fingers inside <<his>> pussy. <<case 3 4>> <<He>> moans shakes, <<his>> juices dripping on the ground. <<He>> withdraws <<his>> hand and sighs. <<case 5>> <<He>> screams as <<he>> cums, <<his>> juices soaking <<his>> pussy and thighs. "You might need to clean me up." <</switch>> <<elseif $NPCList[_nn].vagina is "leftDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> screams and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyLeft.name. "You might need to clean me up." <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "rightDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> screams and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyRight.name. "You might need to clean me up." <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> screams and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> screams and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "feet">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans as you knead <<his>> pussy with your feet. <<His>> body trembles in orgasm. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 3 4>> <<He>> shakes as <<he>> cums, <<his>> pussy twitching beneath your feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 5>> <<He>> screams as <<he>> cums. <<He>> shakes for a moment, then <<his>> whole body falls limp. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> screams as <<he>> cums against your $worn.genitals.name. "Next time," <<he>> says, panting. "I want to rub your pussy directly." <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans with pleasure as <<he>> cums. You feel <<his>> pussy twitch against yours. <<case 3 4>> <<He>> moans as your <<pussy>> rubs against <<his>>, legs shaking as <<he>> cums. <<case 5>> <<He>> screams, cupping <<his>> arms under your shoulders as <<his>> entire body shakes. You feel <<his>> pussy twitch against yours. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shudders with pleasure, exhaling against your crotch as <<he>> cums. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 3 4>> <<He>> gives your <<pussy>> a slow, savage lick. You feel it shake as <<he>> cums. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 5>> <<He>> screams and clutches <<his>> thighs as <<he>> cums, breathing hard on your <<pussy>>. <</switch>> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, driving <<his>> ass hard against your <<penis>>. <<case 3 4>> <<He>> shakes as <<he>> cums, <<his>> ass pounding your <<penis>> with savage intensity. <<case 5>> <<He>> screams and bucks against your <<penis>> as <<he>> cums. "I knew there was a reason I kept you around." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "penis">> <<switch random(1, 5)>> <<case 1 2>> <<He>> grasps your shoulders as <<he>> cums, driving <<his>> pussy down hard against your cock. <<He>> shudders with pleasure. "You're mine. Don't ever forget it." <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<case 3 4>> <<His>> blush deepens and <<his>> body convulses as <<he>> cums. <<His>> pussy twitches around your <<penis>>. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<case 5>> <<He>> screams and bucks against your lap as <<he>> cums, taking your <<penis>> as hard as <<he>> can. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> screams as <<he>> cums, <<his>> body shuddering against yours. "If you weren't wearing that thing," <<he>> says, panting. "I'd give you a proper seeing to." <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> You feel <<his>> pussy twitch against the tip of your <<penis>> as <<he>> cums. "Next time I'll give you a proper fucking." <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> bucks <<his>> ass against your cock as <<he>> cums, rubbing it between <<his>> cheeks. "Next time I want you to fuck me. I don't keep you around to toy with my ass." <<elseif $NPCList[_nn].vagina is "frot">> <<He>> rubs <<his>> clit against your cock as <<he>> cums, <<his>> whole body shuddering. <<He>> looks frustrated. "I want nothing more than to have that cock inside me. I deserve a medal for restraint." <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 4)>> <<case 1 2>> <<He>> cums as you fuck <<his>> mouth. You feel <<him>> tremble. <<case 3 4>> <<He>> cums with <<his>> lips still wrapped around your <<penis>>, and grasps your thighs with both hands. <</switch>> <<else>> <<He>> convulses in orgasmic bliss. <</if>> <<else>> <<if $NPCList[_nn].vagina is "footjob">> <<switch random(1, 5)>> <<case 1 2 3>> <<He>> gasps as <<he>> cums. <<He>> smiles as <<he>> recovers, resting <<his>> foot on your tummy. "That's a good <<girl>>." <<case 4 5>> <<He>> moans as <<he>> cums. <<He>> moves <<his>> foot away from your <<genitals>> to spare you the violent spasms. <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps your hair as <<he>> cums, pulling it tight. "If only you weren't locked up," <<he>> pants. "I'm gonna find out who has the key." <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans as <<he>> cums. You feel <<his>> pussy twitch against yours. <<case 3 4>> <<He>> moans as <<he>> grasps you by the throat and rubs <<his>> pussy hard against yours. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<case 5>> <<He>> screams, grasping your hair and mashing <<his>> body against yours. <<His>> whole body twitches with violent spasms. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<He>> grasps your hips and buries <<his>> face between your legs. <<His>> guttural moans reverberate through your <<genitals>>. <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<He>> moans as <<he>> cums. <<He>> <span class="pink">grasps your hair and pulls you close.</span> "Don't forget I'm the only one you're allowed to pleasure." <<elseif $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<if random(1)>> <<He>> shakes with arousal as <<he>> cums, <<his>> pussy trembling against your tongue. <<else>> <<He>> moans and grasps your hair, rubbing <<his>> pussy against you as <<his>> thighs shake with orgasm. <</if>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<He>> shakes as <<he>> cums, grasping your <<print ($player.ballsExist ? "balls" : "pussy")>> and taking your <<penis>> deep into <<his>> ass as <<he>> releases a final moan. <<elseif $NPCList[_nn].vagina is "penis">> <<He>> digs <<his>> nails into your shoulders as <<he>> cums, driving <<his>> pussy down hard against your cock. <<He>> shudders with pleasure. <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> grasps your hair as <<he>> cums, thrusting against your $worn.genitals.name. "If you weren't locked up," <<he>> says. "I wouldn't be able to stop myself ravaging you." <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> moans as <<he>> cums. You feel <<his>> pussy twitch against the tip of you <<penis>>. "I deserve a medal for restraint," <<he>> says. "Your cock is begging to be fucked." <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> grasps your hair as <<he>> cums. You feel <<him>> tremble against your $worn.genitals.name. "That chastity device," <<he>> says. "I can't wait to take you properly." <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> rubs <<his>> ass against your cock as <<he>> cums. "You're such a good tease," <<he>> pants. "Not having you inside me is almost unbearable." <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> grasps your hair as <<he>> cums, <<his>> body trembling against your $worn.genitals.name. "I'm gonna find that key," <<he>> says. "Then I'll give you a proper seeing to." <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grasps your throat, pulling you down and rubbing <<his>> clit against your cock as <<he>> cums. "I want to fuck your cock properly next time. Your teasing drives me mad." <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<He>> cums as you fuck <<his>> mouth, until <<he>> pulls away and gasps for air. "That's enough." <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles with orgasm. <<He>> pulls you close. "Good <<girl>>," <<he>> whispers. <<case 4 5 6>> <<He>> sighs as <<he>> cums, and gives your <<bottom>> a light spank. "You're my prized possession," <<he>> says. "Don't forget it." <<case 7>> <<He>> rubs <<his>> clit and screams as <<he>> cums, before lying back and panting, one arm over <<his>> eyes and the other grasping your hair. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "goo">> <</switch>> <</if>> <</if>> <br><br> <</if>> <!-- Male EDEN --> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $consensual is 1>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif npcHasStrapon(_nn)>> <<He>> moans and shivers in orgasmic bliss, grinding the strap-on against <<his>> genitals. <<elseif $NPCList[_nn].penis is "idle">> <<He>> moans as a wet patch forms on <<his>> trousers. You stifle a giggle at the sight. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> $NPCList[_nn].penisdesc out and ejaculating onto the back of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grasps your legs for purchase as <<he>> approaches <<his>> peak, before ejaculating between your thighs and onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> moans as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> moans as <<he>> cums, ejaculating over your $worn.genitals.name. "I'm gonna find the key holder," <<he>> gasps. "Then I'll give you a proper seeing to." <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds you still by the hips while <<his>> $NPCList[_nn].penisdesc rubs against your <<pussy>>. The sensation proves too much, and <<he>> ejaculates onto your labia. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc against your <<pussy>> and climaxes, sending white streams of semen onto your labia. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> moans as <<he>> cums, ejaculating over your $worn.genitals.name. "I'm gonna find whoever has the key," <<he>> gasps. "Then fuck you until you can't walk." <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on your labia. "I deserve a medal for restraint," <<he>> says. "Your unguarded pussy was right there, teasing me." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> tries to push <<his>> $NPCList[_nn].penisdesc into you as <<he>> approaches <<his>> peak, but <<his>> body's spasms betray <<him>>. <<He>> ejaculates, sending white streams of semen onto your labia. "Fuck," <<he>> says. "So close." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> grasps your hips for purchase and tries to bury <<his>> $NPCList[_nn].penisdesc in your <<pussy>>, but cums too soon. Thick ropes of semen cover your labia, and drip over your <<bottom>>. "You're almost too hot." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deep into your <<pussy>> as <<he>> cums. <<His>> $NPCList[_nn].penisdesc pulses as warm semen fills you. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> grasps your shoulders and pulls your body onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. Warm semen fills your <<pussy>>, leaving you breathless. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and pounds your crotch as <<he>> cums, sending thick waves of semen into your <<pussy>>. It drips down your thighs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> gasps as <<he>> cums, ejaculating over your $worn.genitals.name. "That fucking device," <<he>> gasps. "Your ass deserves such a pounding." <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, <<his>> $NPCList[_nn].penisdesc erupting over your <<bottom>>. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> grasps your thighs as <<he>> pushes <<his>> $NPCList[_nn].penisdesc against your <<bottom>> and ejaculates between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and moans as <<he>> cums, ejaculating a massive load that covers your <<bottom>>. "You're so fucking hot." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever has the key," <<he>> gasps. "Owes me an ass fucking." <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your <<bottom>> as <<he>> rubs <<his>> cock against it. <<He>> ejaculates, semen spurting over your cheeks. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> cums against your <<bottom>> with a shudder. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans as <<he>> cums against your <<bottom>>, sending thick ropes of semen onto your cheeks. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> moans as <<he>> cums, ejaculating over your $worn.genitals.name. "That ass will be ravaged," <<he>> gasps. "Once I get this thing off you." <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> tries to thrust into your <<bottom>> as <<he>> approaches <<his>> peak, but cums too soon. Semen splatters against your cheeks. "Fuck. Sometimes you're just too hot." <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> grasps your hips for purchase and tries to fuck your <<bottom>>, but is overcome by sensation and ejaculates over your cheeks. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<His>> $NPCList[_nn].penisdesc presses against your <<bottom>> as <<he>> cums. Thick ropes of semen erupt over your cheeks. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts <<his>> $NPCList[_nn].penisdesc deep into your <<bottom>> as <<he>> cums. You gasp as you take <<his>> entire length, <<his>> warm semen filling you. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> grasps your shoulders and pulls you against <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <<His>> cock twitches as it fills you. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and, with a final thrust, cums in your ass. Thick waves of semen pump into you. It drips down your thighs. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> thrusts between your <<breasts>> as <<he>> ejaculates, covering your chest in semen. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> rubs <<his>> penis against your <<breasts>>, and shudders into orgasm. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> grasps your neck as <<he>> bears down on your <<breasts>>, moaning as <<he>> cums. Semen erupts over your <<breasts>> and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>>. "I think you'll need a bath." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups your chin with one hand and pushes your lips against <<his>> $NPCList[_nn].penisdesc. The sensation proves too much, and <<he>> ejaculates over your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> presses <<his>> $NPCList[_nn].penisdesc against your cheek, and ejaculates over your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grasps your hair and rubs your face against <<his>> $NPCList[_nn].penisdesc. Thick ropes of cum cover your face and push past your closed lips. "You're so cute. My favourite possession." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your hair and tries to force <<his>> $NPCList[_nn].penisdesc past your lips, but cums too soon. Semen erupts onto your face. "Sometimes, I think you're too hot." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> tries to penetrate your mouth, but cums too early. It drips down your lips and chin. "I couldn't hold on long enough." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> shudders as <<he>> approaches <<his>> peak. <<He>> grasps your hair and tries to thrust <<his>> $NPCList[_nn].penisdesc into your mouth, but <<his>> body trembles too much. Thick ropes of cum cover your cheeks and chin. Some fluid makes it past your lips. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <!-- this is picking up women NPCs...? --> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your chin with one hand and hair with the other, thrusting <<his>> $NPCList[_nn].penisdesc deep into your mouth as <<he>> cums. Semen streams down your throat and fills your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 4 5 6>> <<He>> grasps the back of your head and moans, <<his>> $NPCList[_nn].penisdesc filling your mouth with semen. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> grasps the back of your head, <<his>> $NPCList[_nn].penisdesc violating your mouth with savage thrusts. Semen streams down your throat, then fills your mouth and covers your face as <<he>> pulls out. "It's your fault if I lose control. You have that effect on me." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums between your feet, ejaculating over them. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> cums between your feet, leaving them slick with semen. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> moans and attacks your feet with savage thrusts. <<His>> ejaculate arcs as high as your thighs. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, penis pulsing in your hands and covering them both in cum. "You're good with your hands." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> cums onto your hands, leaving them slick with semen. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> spasms, moans, and thrusts against your hands, thick streams of cum erupting from <<his>> $NPCList[_nn].penisdesc and splattering over your face. "You're a fine <<wife>>." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, <<his>> hot $NPCList[_nn].penisdesc ejaculating over your hand. "You should clean up. You can't work with a hand like that." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 4 5 6>> <<He>> cums onto your hand, slickening your fingers. "You can't work like that. You should wash up." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. "Sorry about the mess," <<he>> pants. "Go get cleaned up." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you work <<his>> shaft with your right hand. You give <<his>> $NPCList[_nn].penisdesc a final squeeze, and <<he>> shudders into orgasm, covering your hand in warm semen. "You should clean yourself up," <<he>> says. "You can't work like that." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> cums onto your hand, slickening your fingers. "You can't work like that. You should wash up." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> moans as thick ropes of semen erupt from <<his>> $NPCList[_nn].penisdesc, covering your hand. "Good job," <<he>> pants. "But make sure you clean up the mess." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 4)>> <<case 1>> <<He>> moans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. "Marking my territory. Trespassers will pay." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc as <<he>> approaches <<his>> peak. It erupts over your face. "You're a mess," <<he>> pants. "Get yourself cleaned up." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates over your <<bottom>>. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating onto your <<breasts>>. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you fuck <<his>> ass, <<his>> ejaculate spraying onto <<his>> own stomach. "You're such a good <<wife>>." <<case 4 5>> <<He>> whimpers as you pound <<his>> ass, moaning in pleasure as <<he>> ejaculates onto the ground. <<He>> comes to <<his>> senses, and looks a bit ashamed. "I let my guard down. I shouldn't let that happen. What if we're attacked?" <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. "I don't want you to ever leave." <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> moans as <<he>> cums, ejaculating over your $worn.genitals.name. "All the ways I would fuck you," <<he>> gasps. "If not for that chastity device." <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> reaches behind you and grasps your <<bottom>>, helping you thrust against <<his>> cheeks. You feel <<his>> body shudder in orgasm. "Next time," <<he>> gasps. "I want you to fuck my ass properly." <<case 4 5>> <<He>> moans and ejaculates onto the ground as you thrust against <<his>> ass. You leave <<him>> panting. <<case 6 7>> <<He>> sighs and ejaculates onto <<his>> own chest. <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth, gasping against your cock. "Don't forget," <<he>> says. "You're mine forever." <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth, leaving a pool beneath <<him>>. <<case 6 7>> <<He>> grasps your <<bottom>> and drives your <<penis>> deeper into <<his>> mouth. <<He>> trembles, and ejaculates onto <<his>> own chest. <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <</if>> <<if $NPCList[_nn].penis isnot "none" and !$NPCList[_nn].penisdesc.includes("strap-on") and _condomResult is "leaked">> Despite wearing a condom, it was too damaged to stop the cum. <</if>> <br><br> <<else>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a laugh at the pathetic display, but any mirth is soon driven from your mind by dread. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grasps your thighs and thrusts <<his>> $NPCList[_nn].penisdesc hard between them as <<his>> cum shoots onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> moans as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. "You're mine. Don't forget it." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums, ejaculating over your $worn.genitals.name. "My <<wife>> deserves to have <<pher>> womb filled," <<he>> says. "If only I could get this thing off." <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> thrusts against your clit and labia, <<his>> $NPCList[_nn].penisdesc twitching and erupting with semen. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc against your <<pussy>> with savage thrusts, each less coordinated than the last as <<he>> approaches <<his>> peak. <<He>> shudders into orgasm. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans as <<he>> rubs <<his>> $NPCList[_nn].penisdesc against your <<pussy>>. Thick ropes of semen cover your crotch and <<bottom>>. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> moans as <<he>> cums, ejaculating over your $worn.genitals.name. "If only I could find the key," <<he>> gasps. "I'd give that pussy a proper fucking." <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> tries to thrust into your <<pussy>>, but cums too soon, ejaculating onto your labia. <span class="red"><<He>> slaps your <<bottom>> in frustration.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> grasps your hips for purchase and tries to violate your <<pussy>>, but it's too late. <<His>> semen covers your labia. "Sometimes," <<he>> gasps. "It's like you're too hot." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans as <<he>> approaches <<his>> peak, <<his>> $NPCList[_nn].penisdesc twitching against your <<pussy>>. Thick ropes of semen shoot over your labia and <<bottom>>. "You should get cleaned up," <<he>> pants, shutting <<his>> eyes for a moment. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pulls your hair and thrusts <<his>> $NPCList[_nn].penisdesc deep into your <<pussy>> as <<he>> cums. <<He>> holds you there a moment as warm semen fills you. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> grasps your throat and pounds <<his>> $NPCList[_nn].penisdesc into you as <<he>> cums. Semen fills your <<pussy>> as you gasp for air. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses as <<he>> thrusts into your <<pussy>>, <<his>> pelvis rubbing against your <<clit>> and $NPCList[_nn].penisdesc sending thick waves of cum into your body. Semen drips down your thighs. "I need to train you to hold cum better." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, <<his>> $NPCList[_nn].penisdesc erupting semen over your <<bottom>>. <<He>> gives you a light spank. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> pinches your <<bottom>>, then grasps your hips and pulls you closer, ejaculating over your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your <<bottom>> cheeks together and moans as <<he>> cums, ejaculating a massive load. "You're a mess," <<he>> gasps. "Go clean up." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums, ejaculating over your $worn.genitals.name. "I'm going to ravage your ass," <<he>> says. "I just need to find the key." <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> <span class="blue">slaps your <<bottom>></span> and rubs <<his>> $NPCList[_nn].penisdesc against you. <<He>> trembles as <<he>> cums, semen splattering onto your cheeks. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise bottom>><<hitstat>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc between your <<bottom>> cheeks. You feel it twitch as <<he>> cums, followed by warm semen on your skin. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans as <<his>> $NPCList[_nn].penisdesc erupts between your <<bottom>> cheeks, covering it with thick ropes of semen. "I went easy on you," <<he>> pants. "I wonder how you'd have handled my entire length inside." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums, ejaculating over your $worn.genitals.name. "When I find the key," <<he>> pants. "Your ass is getting fucked hard." <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your hips for purchase and tries to drive <<his>> $NPCList[_nn].penisdesc into your <<bottom>>. <<He>> cums before <<he>> can make it, covering your cheeks with semen. <span class="red"><<He>> smacks your ass in frustration.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> tries to penetrate your <<bottom>> as <<he>> shudders into orgasm, but can't control <<his>> trembling body well enough. <<His>> cock slides wide, shooting white streams of semen over your cheeks. "You're such a tease," <<he>> gasps. "Next time I'm cumming inside." <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans as <<his>> $NPCList[_nn].penisdesc twitches against your <<bottom>>, covering it with thick ropes of semen. "I took it easy on you. Next time you're taking my whole cock." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, <<his>> $NPCList[_nn].penisdesc pounding your <<bottom>> without mercy. <<His>> entire length fills you, pumping warm semen deep within. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> grasps your shoulders and pulls you against <<his>> $NPCList[_nn].penisdesc as <<he>> cums, pushing <<his>> entire length into you. Semen fills you as you cry out. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and, with a final thrust, cums into your ass. Thick waves of semen pump into you. Semen drips over your thighs. "You're a mess," <<he>> gasps. "Go clean yourself up." <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc between your <<breasts>> as <<he>> cums, ejaculating onto them. "Don't forget who owns you." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> grasps your hair and forces you to look at <<him>>. <<He>> continues to rub <<his>> $NPCList[_nn].penisdesc between your <<breasts>>, until <<he>> shudders into orgasm. "I want you to look at me while performing your duties as my <<wife>>." Warm semen drips down your chest. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> grasps the back of your neck and mashes your face against <<his>> body as <<he>> cums. Semen shoots between your <<breasts>> and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>> as you gasp for air. "Remember. You need to be there for me whenever my cock needs servicing." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc against your lips, and shudders. Semen spurts from the tip, covering your face. "Don't forget I'm your master. Now go clean up." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> grasps your hair as <<he>> rubs <<his>> $NPCList[_nn].penisdesc against your face. <<He>> shudders, and ejaculates. "You're a mess," <<he>> gasps. "Go clean up." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grasps your hair tight in <<his>> fist as <<he>> rubs <<his>> $NPCList[_nn].penisdesc against your face. <span class="pink">You splutter and gag as thick ropes of cum push past your lips and into your mouth.</span> "You should have swallowed. Go clean up the mess." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds your hair at the nape your neck as cum erupts from <<his>> $NPCList[_nn].penisdesc. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> tries to push <<his>> $NPCList[_nn].penisdesc between your lips. The sensation is too much for <<him>>, and <<he>> cums early. "Fuck," <<he>> gasps, frustrated. "I wanted to feel your lips around me." <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> grasps the back of your head as <<his>> $NPCList[_nn].penisdesc presses against your mouth. <<He>> can't hold on any longer. <<He>> shudders as thick ropes of cum erupt onto your face, some pushing past your lips and into your mouth. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your chin with one hand and your hair with the other, shoving <<his>> $NPCList[_nn].penisdesc down your throat as <<he>> cums. You gag as <<his>> semen pumps into you, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 4 5 6>> <<He>> grasps your throat as <<his>> $NPCList[_nn].penisdesc trembles in your mouth. You gag as cum surges down your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<if !_ejacStressDisplay>><<gstress>><</if>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<case 7>> <<He>> grasps your hair with both hands, <<his>> $NPCList[_nn].penisdesc thrusting down your throat as <<he>> cums. Semen streams down your throat, then fills your mouth and covers your face as <<he>> pulls out. "I'm your protector," <<he>> pants. "You should show me respect." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and thrusts <<his>> $NPCList[_nn].penisdesc between them as <<he>> cums, leaving them slick with ejaculate. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> moans as <<he>> cums on your feet, leaving them slick with semen. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> moans as <<he>> thrusts <<his>> $NPCList[_nn].penisdesc between your feet. Semen shoots onto your legs. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, <<his>> $NPCList[_nn].penisdesc pulsing between your hands. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> cums on your hands, leaving them slick with semen. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> thrusts <<his>> $NPCList[_nn].penisdesc between your hands harder as <<he>> cums. Semen shoots through the air, splattering your face. "You're a mess," <<he>> gasps. "My fault, but you need to clean up." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sliding between your fingers and leaving them slick with semen. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 3 4>> <<He>> spasms as thick streams of semen erupt from <<his>> $NPCList[_nn].penisdesc. <<His>> convulsions send it sailing through the air. It splatters onto your face. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 6 7>> <<He>> spasms and moans as thick streams of cum shoot onto your <<breasts>>. "I need to train you to control cock better." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you work <<his>> shaft with your right hand. You give <<him>> a final squeeze, and <<he>> cums, <<his>> whole body shuddering. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5>> <<He>> spasms and moans, thick streams of cum shooting from <<his>> $NPCList[_nn].penisdesc and landing on your face. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<handejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 6 7>> <<He>> moans as <<he>> cums in your hand, <<his>> whole body trembling. "Good <<girl>>," <<he>> gasps. "See? Your duties aren't so difficult." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 5)>> <<case 1>> <<He>> moans as <<he>> works <<his>> shaft and, giving <<his>> $NPCList[_nn].penisdesc a final squeeze, ejaculates onto your tummy. "Don't forget. You're mine whenever I want you." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc and aims at your face, covering it with semen. "Your place is on your knees, servicing my cock. Don't forget it." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<bottom>>. "That's warm up for next time." <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and moans as <<he>> ejaculates onto your <<breasts>>. "Go clean up this mess." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 5>> <<He>> moans and shudders as cum flies all over your body. <<His>> muscles weakening, <<he>> leans on your shoulder for support. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<hairejacstat>><<set $hygiene += 500>><<bodyliquid "hair" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you fuck <<his>> ass, semen erupting from <<his>> $NPCList[_nn].penisdesc and pooling on the ground beneath <<him>>. "Don't think," <<he>> gasps, "that cumming from having your cock in my ass means I can't protect you." <<case 4 5>> <<He>> moans as you pound <<his>> ass, <<his>> ejaculate covering the ground beneath <<him>>. <<case 6 7>> <<He>> moans as you fuck <<his>> ass, <<his>> semen arcing onto <<his>> own chest. <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums, ejaculating over your $worn.genitals.name. "Once I get the key," <<he>> pants. "Your ass is gonna get ravaged." <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you fuck <<his>> cheeks. <<He>> reaches behind you and grasps your <<bottom>>, rubbing against you as <<he>> climaxes. <<He>> ejaculates onto the ground. "Fuck me properly next time," <<he>> pants. "Don't be shy." <<case 4 5>> <<He>> moans as you rub against <<his>> ass. <<His>> $NPCList[_nn].penisdesc erupts onto the ground in front of <<him>>. "You're a tease," <<he>> gasps. "I couldn't take the anticipation." <<case 6 7>> <<He>> sighs as <<his>> $NPCList[_nn].penisdesc ejaculates onto <<his>> own chest. "That was fine," <<he>> pants. "But next time, you're getting penetrated." <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth, <<his>> whole body shuddering as <<his>> semen shoots from <<his>> $NPCList[_nn].penisdesc and onto the floor beneath <<him>>. <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth. <<He>> pulls away. "I'm done. For now." <<case 6 7>> <<He>> grasps your <<print ($player.ballsExist ? "balls" : "pussy")>> and drives your cock down <<his>> throat. <<He>> ejaculates on <<his>> own chest as <<he>> shudders around your length. <</switch>> <<elseif $NPCList[_nn].penis isnot "none">> <<He>> shakes with arousal as <<he>> cums. <</if>> <<if $NPCList[_nn].penis isnot "none" and !$NPCList[_nn].penisdesc.includes("strap-on") and _condomResult is "leaked">> Despite wearing a condom, it was too damaged to stop the cum. <</if>> <br><br> <</if>> <!-- Finishing moves for consensual with low anger or non-consensual with damage or high anger --> <<if _args[0] isnot "short">> <<if $consensual is 1 and $enemyanger lte 0>> <<switch random(1, 5)>> <<case 1 2>> <<He>> strokes you, <span class="green">making you feel warm inside.</span> "I hope you know how much I need you here." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<case 3 4>> <<He>> strokes your hair, <span class="green">making you feel warm inside.</span> "Never ever leave me." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<case 5>> <<He>> brushes your cheek with <<his>> hand. "You're so <<if $player.gender_appearance is "m">>handsome<<else>>beautiful<</if>> it makes me hurt." <span class="green">Your face flushes with pleasure.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <</switch>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 7.5>> Overcome by anger, <<he>> <span class="red">punches you.</span> "I expect your compliance," <<he>> snarls. "Defy me again and I might leave you naked in the woods for the wolves." <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 8.5>> <<He>> pins your arms back and <span class="pink">slaps your face.</span> "You need to learn your place. For your own good. Don't resist me." <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 9.5>> <<He>> <span class="pink">slaps your face.</span> "You need a reminder. You're here for my pleasure. Don't fight it." <<gstress>><<gtrauma>><<gpain>><<violence 2>> <br><br> <</if>> <</if>> <</widget>><<widget "ejaculation-gloryhole">> <<set $ejaculating to 1>> <<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 $enemytype is "man">> <<set $NPCList[0].intro to 1>> <<else>> <<set $pronoun to "i">> <</if>> <!-- Gloryhole encounter assumes NPC cannot reach or see PC and vice versa. Assumes NPCs believe PC may have following combat. Assumes all other forms of finishing in place and encounters can be either consens or non-consens. Non-consens encounters assume PC is restrained to hole with no arms available, though genital encounters were left in place in case of future use--> <!-- Currently non-consens gloryhole is oral-only and so focus is on these cases; the rear-body non-consens is captured by $position="wall". As game changes this can be reviewed --> <!-- Consens gloryhole has all combat options available currently. --> /% DEBUG POS:$position POS2:$punishmentposition<br> %/ /% DEBUG NPCF $NPCList[0].vagina NPCM $NPCList[0].penis<br> %/ <!-- Female Gender NPC1 at WALL --> <<if $NPCList[0].gender is "f">> <<if $consensual is 1>> <<if $NPCList[0].vagina is "footjob">> <<He>> gasps as <<he>> cums. <br><br> <<elseif $NPCList[0].vagina is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums; ejaculate covers your feet. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with ejaculate. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 7>> <<He>> grunts and rubs <<his>> cunt on your feet as <<he>> cums, splattering your feet and legs with ejaculate. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[0].vagina is "leftarm" or $NPCList[0].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, shaking <<his>> thighs together against your hand as <<his>> body convulses. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 3 4>> <<He>> cums silently, cunt twitching against your hand uncontrollably. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 5>> <<He>> screams, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "leftDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyLeft.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "rightDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyRight.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[0].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans as <<he>> cums, dragging <<his>> wet pussy across yours. "That was so good." <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <<case 3 4>> <<He>> moans as <<he>> grinds downs hard on your <<pussy>>. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 5>> <<He>> screams, mashing <<his>> crotch against the wall. Ejaculate streams from <<his>> pussy, drenching your exposed legs. <<He>> giggles, "I hope I didn't make too much of a mess." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[0].vagina is "othermouth">> <<He>> shakes with arousal as <<he>> cums, withdrawing <<his>> face from the hole. <br><br> <<elseif $NPCList[0].vagina is "lefthand" or $NPCList[0].vagina is "righthand">> <<He>> moans as <<he>> cums. "You must enjoy being used like this." <br><br> <<elseif $NPCList[0].vagina is "mouthentrance" or $NPCList[0].vagina is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans and grinds <<his>> crotch against your face; you feel the wall shake as <<he>> cums on your mouth. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3 4>> <<He>> ejaculates on your face, rubbing <<his>> clit against your nose as <<he>> finished. You feel cum running down your nose and lips. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 5>> <<He>> rubs <<his>> clit rapidly, squirting your face through the hole with cum. You feel slime running down your face and neck. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "face" "goo" 2>> <</switch>> <<elseif $NPCList[0].vagina is "mouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans and grinds <<his>> crotch roughly against your mouth; you feel the wall shake as <<he>> cums into your waiting mouth. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3 4>> <<He>> ejaculates into your mouth, grinding <<his>> cunt against the wall as <<he>> finishes. You feel ejaculate running down your throat. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 5>> <<He>> rubs <<his>> clit rapidly, squirting into your open mouth. You feel cum running down your throat and dripping off your chin. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "face" "goo" 2>> <</switch>> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[0].vagina is "otheranus">> <<He>> shakes as <<he>> cums, driving your cock deeply into <<his>> ass as <<he>> releases a final moan. <br><br> <<elseif $NPCList[0].vagina is "penis">> <<He>> drives <<his>> pussy hard against your cock as <<he>> shudders with pleasure. <br><br> <<elseif $NPCList[0].vagina is "penisimminent" or $NPCList[0].vagina is "penisentrance">> <<if !playerHasStrapon()>> <<He>> moans as <<he>> cums on your throbbing cock. <<else>> <<He>> moans as <<he>> cums on your $worn.under_lower.name. <</if>> <br><br> <<elseif $NPCList[0].vagina is "otheranusfrot" or $NPCList[0].vagina is "otheranusentrance">> <<He>> swivels <<his>> ass against your cock as <<he>> cums. <br><br> <<elseif $NPCList[0].vagina is "frot">> <<He>> pushes against the wall, rubbing <<his>> clit hard against your cock as <<he>> cums. <br><br> <!-- Special case male PC with female NPC --> <<elseif $NPCList[0].mouth is "penis">> <<He>> cums as <<he>> sucks your <<penis>>, dropping away as <<he>> gasps for air. <br><br> <<else>> <<switch random(1, 3)>> <<case 1 2>> <<He>> groans and rubs <<his>> clit, spraying your face with ejaculate through the hole. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3>> <<He>> moans as <<he>> ejaculates onto <<his>> thighs. <br><br> <</switch>> <</if>> <<else>><!-- Start non-consensual --> <<if $NPCList[0].vagina is "mouthentrance" or $NPCList[0].vagina is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans and grinds <<his>> clit roughly against your restrained face; you feel the wall shake as <<he>> cums on your mouth. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3 4>> <<He>> ejaculates on your face, rubbing <<his>> clit against your nose as <<he>> finished. You feel goo running down your nose and lips. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 5>> <<He>> rubs <<his>> clit rapidly, squirting your face through the hole with cum. You try futilely to back away but your restraints hold you in place; you feel slime running down your face and neck. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "face" "goo" 2>> <</switch>> <<elseif $NPCList[0].vagina is "mouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans and grinds <<his>> crotch roughly against your tongue; you feel the wall shake as <<he>> cums into your waiting mouth. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3 4>> <<He>> ejaculates into your mouth, grinding <<his>> cunt against the wall as <<he>> finishes. You feel ejaculate running down your throat. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 5>> <<He>> rubs <<his>> clit rapidly, squirting into your open mouth. You try futilely to back away but your restraints hold you in place; you feel cum running down your throat and dripping off your chin. "I hope you were thirsty, you little slut." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "face" "goo" 2>> <</switch>> <<else>> <<switch random(1, 3)>> <<case 1 2>> <<He>> groans and rubs <<his>> clit, spraying your restrained face with ejaculate through the hole. Goo drips from your face and down the wall. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3>> <<He>> moans as <<he>> ejaculates onto <<his>> thighs. <<He>> reaches through the wall, <span class="purple"> shoving <<his>> fingers down your throat.</span> You gag and retch as <<he>> laughs. "Such a disgusting little piggy." <br><br> <</switch>> <</if>> <</if>> <</if>> <!-- Male Gender NPC1 at WALL --> <<if $NPCList[0].gender is "m">> <!-- Start simplified strap-on sub-case --> <<if $NPCList[0].penisdesc.includes("strap-on")>> <<if $consensual is 0>><!-- Non-consen strap-on case --> <<switch $NPCList[0].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<switch random(1, 3)>> <<case 1>> <<He>> shakes as <<he>> cums, slapping you across the ass with <<his>> $NPCList[0].penisdesc. <br><br> <<case 2>> <<He>> cums loudly, then spanks your ass with <<his>> $NPCList[0].penisdesc. "Something to remember me by, whore." <br><br> <<case 3>> <<He>> cums quietly, rubbing <<his>> $NPCList[0].penisdesc along your back. <br><br> <</switch>> <<case "mouth">> <<He>> cums loudly, shoving <<his>> $NPCList[0].penisdesc deep into your throat, making you gag. Tears stream down your face. <br><br> <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<switch random(1, 3)>> <<case 1>> <<He>> shakes as <<he>> cums, slapping you across the face with <<his>> $NPCList[0].penisdesc. <br><br> <<case 2>> <<He>> cums loudly, then laughs, wiping <<his>> $NPCList[0].penisdesc of on your hair. <br><br> <<case 3>> <<He>> cums silently, mouth agape, rubbing <<his>> $NPCList[0].penisdesc against your cheek. <br><br> <</switch>> <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit with the base of <<his>> $NPCList[0].penisdesc. <br><br> <</switch>> <<else>><!-- Consensual strap-on case --> <<switch $NPCList[0].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<He>> shakes as <<he>> cums, wiping <<his>> $NPCList[0].penisdesc off on your ass. <br><br> <<case "mouth">> <<He>> cums loudly, grinding <<his>> $NPCList[0].penisdesc against <<his>> own crotch with <<his>> hand as <<he>> cums. <br><br> <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<He>> cums silently, mouth agape, rubbing <<his>> $NPCList[0].penisdesc against your cheek. <br><br> <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit with the base of <<his>> $NPCList[0].penisdesc. <br><br> <</switch>> <</if>> <<elseif $consensual is 1>> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[0].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You laugh at the pathetic display. <br><br> <<elseif $NPCList[0].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs. You feel <<him>> wipe <<his>> cock clean on your ass. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> slams <<his>> crotch hard into your ass as <<he>> cums and ejaculates onto your tummy and the wall. <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy; cum drips coolly down your legs, pooling on the ground. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[0].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> groans as <<he>> ejaculates over your $worn.genitals.name. <<elseif $NPCList[0].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> ejaculates onto your <<pussy>>. You feel semen coating your outer lips and pooling around your knees. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending streams of semen running down your cunt; you can feel <<him>> flicking <<his>> cock dry on your ass. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[0].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> moans as <<he>> ejaculates onto your $worn.genitals.name. <<elseif $NPCList[0].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending warm streams of semen running down your cunt; <<he>> groans in disappointment. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<elseif $NPCList[0].penis is "vagina">><<creampie "self" "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> thrusts deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. Semen splashes inside your <<pussy>> as you drive back against <<him>>. <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[0] "human">> <<case 4 5 6>> <<He>> quiets and pounds <<his>> cock into you as <<he>> cums. Semen fills your <<pussy>> as you push back against the wall. <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[0] "human">> <<case 7>> <<He>> convulses and grinds on your cunt as <<he>> cums, smashing your <<clit>> and sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs, pooling around your knees. "I just love fucking faceless wet cunts." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[0] "human">> <</switch>> <<elseif $NPCList[0].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> smashes hard against the wall, ejaculating between your cheeks. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> grunts as <<he>> cums. You feel a flood of warm cum dripping down your ass and crotch. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[0].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> strokes <<his>> cock, ejaculating onto your $worn.genitals.name. <<elseif $NPCList[0].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> strokes <<his>> cock, ejaculating onto your bottom. Semen drips down your butt and into your crack. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel semen dripping down your crack. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums; you feel the splash of wet semen cover your ass and drip down your crotch. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[0].penis is "anusimminent" and playerChastity("anus")>> <<He>> strokes <<his>> cock and ejaculates onto your $worn.genitals.name. <<elseif $NPCList[0].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your wriggling ass, ejaculating on the outside. You feel semen coat your ass and drip warmly down your crack. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending streams of semen running down your crack; <<he>> groans, disappointed. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, you feel a flood of semen on your ass and crotch. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[0], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[0].penis is "anus">><<creampie "self" "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your ass as <<he>> cums. You groan as semen streams into your asshole. <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[0] "human">> <<case 4 5 6>> <<He>> pushes hard into your <<bottom>> as <<he>> cums, and you mash your <<bottom>> against the wall in response. Semen fills you as you moan with pleasure. <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[0] "human">> <<case 7>> <<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your ass and runs down your legs. "I can't see your face, but I bet you love being fucked in the ass." <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[0] "human">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[0].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, ejaculating onto your <<breasts>>. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and wordlessly ejaculates onto them. Your <<breasts>> cool as semen slides down your body. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> bears down on your <<breasts>>, grunting as <<he>> cums; semen shoots between your <<breasts>> and onto the wall. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[0].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, stroking <<his>> cock and ejaculating onto your face. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your face. Warm cum drips down your forehead and nose. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grips <<his>> cock tightly, working it while aiming though the hole straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your lips and into your mouth.</span> <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <<elseif $NPCList[0].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> gasps, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; <<he>> sounds frustrated. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 7>> <<He>> cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<He>> sounds frustrated. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <<elseif $NPCList[0].penis is "mouth">><<creampie "self" "mouth">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> unexpectedly shoves <<his>> cock down your throat as <<he>> cums. You gag as semen streams down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 4 5 6>> <<He>> puts <<his>> hands on the wall as <<he>> mashes <<his>> cock into your mouth, ejaculating with a moan. You gag as cum fills your mouth and drips down your chin. <br><br> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> wildly thrusts <<his>> cock down your throat as <<he>> cums, shaking the entire wall. <span class="pink">Semen streams down your throat,</span> fills your mouth and covers your face as <<he>> flails. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <<elseif $NPCList[0].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums; ejaculate covers your feet. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process, and pooling around your knees. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[0].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your hand and covering it with cum. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your hand. Semen drips down your fingers. "I'd rather fuck your mouth next time..." <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[0].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your hand and covering it with cum. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your hand. Semen drips down your fingers. "I'd rather fuck your mouth next time..." <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[0].penis is 0>> <<switch random(1, 3)>> <<case 1 2>> <<He>> groans and rubs <<his>> cock, spraying your face with ejaculate through the hole. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3>> <<He>> moans as <<he>> ejaculates onto the ground. <br><br> <</switch>> <<elseif $NPCList[0].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass. <br><br> <<case 4 5>> <<He>> moans as you pound <<his>> ass, and ejaculates on the ground. <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <br><br> <</switch>> <<elseif $NPCList[0].penis is "otheranusfrot" or $NPCList[0].penis is "otheranusentrance" or $NPCList[0].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks. <br><br> <<case 4 5>> <<He>> moans as you rub against <<his>> anus, and ejaculates on the ground; <<he>> seems disappointed. <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <br><br> <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[0].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as <<he>> pleasures you with <<his>> mouth. <br><br> <<case 4 5>> <<He>> cums on the ground, then stops abruptly. <br><br> <<case 6 7>> <<He>> pushes against the wall, shoving your cock into <<his>> throat; <<he>> ejaculates on <<his>> chest as <<he>> throats your cock. <br><br> <</switch>> <<elseif $NPCList[0].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums. <br><br> <</if>> <<else>><!-- Start non-consensual --> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[0].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a laugh at the pathetic display. <br><br> <<elseif $NPCList[0].penis is "mouthentrance">> <<switch $NPCList[0].penissize>> <<case 4>> <<He>> grips <<his>> $NPCList[0].penisdesc tightly, working it while aiming though the hole straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need to learn to swallow, bitch." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[0].type` null "large">> <br><br> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> shaft. It's all you can do to keep from laughing. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, stroking <<his>> $NPCList[0].penisdesc and ejaculating onto your face. "You must be so embarrassed being used like this." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[0].penisdesc and ejaculates onto your face. Warm cum drips down your forehead and nose. "I bet you enjoy being used like this." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<default>> <<He>> moans as <<he>> ejaculates onto your lips. <<He>> reaches through the wall, <span class="purple"> shoving <<his>> fingers down your throat.</span> You gag and retch as <<he>> laughs. "Next time I'm throating you bitch; better train up." <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <</switch>> <</switch>> <<elseif $NPCList[0].penis is "mouthimminent">> <<switch $NPCList[0].penissize>> <<case 4>> <<He>> cums before <<he>> can enter your mouth. Thick ropes of cum shoot from <<his>> $NPCList[0].penisdesc and cover your cheeks, chin, and into your waiting mouth. <<He>> sounds frustrated. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 1>> <<He>> cums before <<he>> can enter your mouth. A dribble of cum leaks from <<his>> $NPCList[0].penisdesc and onto your lower lip. You hear <<him>> stomp away, frustrated. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> gasps, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> $NPCList[0].penisdesc against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; frustrated, <<he>> wipes the cum off your chin and shoves it in your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<default>> <<He>> moans as <<he>> ejaculates onto your lips. <<He>> reaches through the wall, <span class="purple"> shoving <<his>> fingers down your throat.</span> You gag and retch as <<he>> laughs. "Next time I'm throating you bitch; better train up." <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <</switch>> <</switch>> <<elseif $NPCList[0].penis is "mouth">><<creampie "self" "mouth">> <<switch $NPCList[0].penissize>> <<case 4>> <<He>> thrusts down your throat, gagging you with <<his>> $NPCList[0].penisdesc as <<he>> cums and shaking the entire wall. <span class="pink">You whimper as semen streams down your throat,</span> and fills your mouth. "I bet you enjoy being tied up and face fucked." <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <<case 1>> <<He>> bears into the wall with <<his>> pelvis, try to shove <<his>> $NPCList[0].penisdesc as far into your mouth as possible. It's not much, and a tiny dribble of semen leaks from the tip. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> unexpectedly shoves <<his>> $NPCList[0].penisdesc down your throat as <<he>> cums. You gag and retch as unwanted semen streams down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 4 5 6>> <<He>> puts <<his>> hands on the wall as <<he>> mashes <<his>> $NPCList[0].penisdesc into your mouth, ejaculating with a moan. You gag as cum fills your mouth and drips down your chin. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 7>> <<He>> pinches the base of <<his>> $NPCList[0].penisdesc as <<he>> groans, shooting cum down the back of your throat. You gag as cum flows down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <</switch>> <<elseif $NPCList[0].penis is 0>> <<switch random(1, 3)>> <<case 1 2>> <<He>> groans and rubs <<his>> $NPCList[0].penisdesc, spraying your face with ejaculate through the hole. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3>> <<He>> moans as <<he>> ejaculates onto the ground. <<He>> reaches through the wall, <span class="purple"> shoving <<his>> fingers down your throat.</span> You gag and retch as <<he>> laughs. "Next time I'm throating you bitch; better train up." <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <</switch>> <<else>> <<He>> collapses in orgasmic bliss. <</if>> <</if>> <</if>> <!-- No finishing moves for gloryhole --> <</widget>><<widget "ejaculation-kylar">> <<set $ejaculating to 1>> <!-- Changing rows to future-proof the code: from $NPCList[0] to $NPCList[_nn], _nn being the main ejaculation loop handler --> <!-- Female KYLAR --> <<if wearingCondom("player") is "sabotaged" and $internalejac is 1 and $NPCList[_nn].vagina is "penis">> <<He>> convulses and moans, <<his>> pussy squeezing your cock. Kylar pulls back, bringing one hand to <<his>> pussy and parting <<his>> lips, only to show off your cum oozing out of <<his>> quim. "O-Oops," <<he>> says, trying to sound nervous. "W-well, I guess these things happen." <<His>> expression clearly betrays <<his>> true feelings. <<elseif $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<if $consensual is 1>> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans and rubs <<his>> crotch against your face with <<his>> hips, small thighs shaking with orgasm. <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, body twitching uncontrollably. <<case 5>> <<He>> screams, cupping the back of your head in <<his>> hands and grinding <<his>> clit against your nose. <</switch>> <<elseif $NPCList[_nn].vagina is "leftarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, shaking <<his>> slim thighs together against your hand as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt spasming against your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 5>> <<He>> screams, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, knees knocking as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt spasming against your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 5>> <<He>> screams, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, releasing you and pulling back <<his>> hand, licking your wetness off <<his>> fingers. <<case 3 4>> <<He>> moans loudly and shakes, dripping ejaculate on the ground; <<he>> withdraws <<his>> hand and sighs. <<case 5>> <<He>> screams as <<he>> comes, soaking <<his>> own pussy and thighs in ejaculate. "I love pleasuring myself with you." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "leftDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyLeft.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "rightDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyRight.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "feet">> <<switch random(1, 4)>> <<case 1 2>> <<He>> moans as you knead <<his>> pussy, jamming your toes inside with <<his>> hands as <<he>> finishes cumming. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 3 4>> <<He>> shakes bodily as <<he>> cums, twitching underneath your feet and cumming between your toes. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Th-there must be a skeleton key for chastity stuff," <<he>> says. "I'll work it out." <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you scissor your pussies together, moaning with pleasure. <<case 3 4>> <<He>> moans as <<he>> grinds downs hard on your <<pussy>> to finish, thin legs shaking as <<he>> cums. <<case 5>> <<He>> screams, cupping <<his>> small hands under your shoulders as <<his>> entire body shakes; you are surprised by how strong <<he>> is. Ejaculate drenches your crotch as <<he>> squirts. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shudders with pleasure, exhaling warmly against your crotch as <<he>> comes, leaving you wet with saliva and your own fluids. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> nose into your crotch and giving you a long, final, wet lick. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 5>> <<He>> screams into your crotch as <<he>> cums, pinching <<his>> hands between <<his>> thighs and buckling over, ejaculate streaming down <<his>> thighs. <</switch>> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, driving <<his>> ass hard against you as <<he>> releases a final moan. <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> ass deeply with your cock and moaning. <<case 5>> <<He>> screams and bucks into your crotch as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your legs. "I feel so good when I'm with you." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "penis">> <<switch random(1, 5)>> <<case 1 2>> <<He>> grabs your shoulders with <<his>> small hands as <<he>> cums, bouncing down hard against your cock as <<he>> shudders with pleasure. "You make me feel so good." <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<case 3 4>> <<He>> sighs as <<he>> cums, reddening and going into a full body convulsion. Ejaculate soaks your crotch. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<case 5>> <<He>> cries out and bucks on your lap as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your crotch and legs. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Th-there must be a skeleton key for chastity devices," <<he>> says. "I'll work it out. Then you can fill me." <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> cums on your <<penis>>. "Please fuck me next time. Please. I can't stand being teased like this. I need you inside me..." <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Th-there must be a skeleton key for chastity stuff," <<he>> says. "I'll work it out. Then you can fill me." <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> bucks <<his>> ass against your cock as <<he>> cums. <<He>> begins crying, "Why won't you fuck me? Don't you love me?" <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Th-there must be a skeleton key for chastity stuff," <<he>> says. "I'll work it out." <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> clit hard against your cock as <<he>> cums, ejaculating on your cock. <<He>> looks panicked, "Why didn't you penetrate me? Who else is there? You can tell me..." <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 4)>> <<case 1 2>> <<He>> cums as you fuck <<his>> mouth, smiling as <<he>> finishes. <<case 3 4>> <<He>> cums as you fuck <<his>> mouth, leaving your <<penis>> a slimy mess. "I love what you do to me." <</switch>> <<else>> <<He>> convulses in orgasmic bliss. <</if>> <<else>> <<if $NPCList[_nn].vagina is "footjob">> <<switch random(1, 5)>> <<case 1 2 3>> <<He>> gasps as <<he>> cums. Recovering, <<he>> smiles and stands over you, your <<lewdness>> on display below <<him>>. "There are so many ways I can pleasure you; we can explore all of them." <<case 4 5>> <<He>> laughs as <<he>> cums, removing <<his>> foot from your crotch. "It makes me feel so powerful pleasuring you like this." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Th-there must be a skeleton key for chastity stuff," <<he>> says. <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans as <<he>> cums, dragging <<his>> wet pussy across your ass and thighs. <<case 3 4>> <<He>> moans as <<he>> digs <<his>> nails into your shoulders and grinds downs hard on your <<pussy>>. You are surprised by <<his>> strength. <<case 5>> <<He>> screams, grabbing you by the hair and mashing <<his>> entire body against yours. Ejaculate streams from <<his>> pussy, drenching you. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your stomach. <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<He>> moans as <<he>> cums. <<He>> grabs you by the hair and pull <<his>> face close; you are surprised by <<his>> strength. "Don't forget I'm the only one allowed to pleasure you." <<elseif $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<He>> groans and cups your head, grinding <<his>> clit against your nose as <<his>> small thighs shake with orgasm. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<He>> shakes as <<he>> cums, reaching back and digging <<his>> nails into your thighs as <<he>> releases a final moan. <<elseif $NPCList[_nn].vagina is "penis">> <<He>> digs <<his>> small fingers into your shoulders as <<he>> cums, driving <<his>> pussy down hard against your cock as <<he>> shudders with pleasure. <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need you inside me. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> moans as <<he>> cums on your throbbing cock. <<He>> tears up, "Why didn't you fuck me? Who else is there? Tell me!" <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need you inside me. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> swivels <<his>> ass against your cock as <<he>> cums. <<He>> begins crying "Please fuck me next time. I swear I'll be good..." <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Th-there must be a skeleton key for chastity stuff," <<he>> says. <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> clit hard against your cock as <<he>> cums. "Why didn't you fuck me? Am I not good enough for you? Is there someone else? There better not be someone else." <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<He>> cums as you fuck <<his>> mouth, pushing away as <<he>> gasps for air. "I can't take anymore... please forgive me." <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles with orgasm. Pulling your face close <<he>> says, "I want you with me forever." <<case 4 5 6>> <<He>> sighs quietly as <<he>> cums, stroking your back. "You know I'd die without you, don't you?" <<case 7>> <<He>> rapidly rubs <<his>> clit and screams as <<he>> cums; <<his>> pussy squirting and dripping down to <<his>> knees. "I can't control myself when I'm with you." <</switch>> <</if>> <</if>> <</if>> <!-- Male KYLAR --> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $consensual is 1>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif _condomResult is "burst" and $NPCList[_nn].penis is "vagina">> <<if $position is "doggy">> <<He>> groans, placing both hands on your <<bottom>> and thrusting hard against your movements, filling your womb with warm semen and fully ignoring the broken condom. "O-oh no! What do we do now?" <<he>> says, trying to sound nervous, but the wide smile on <<his>> face betrays <<his>> feelings. <<else>> <<He>> holds you in place and keeps thrusting slowly until <<hes>> emptied every last drop inside you, fully ignoring the broken condom. "W-well, they say that no contraceptive method is one hundred percent effective," <<he>> says, trying to sound nervous, but the wide smile on <<his>> face betrays <<his>> feelings. <</if>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<elseif npcHasStrapon(_nn)>> <<He>> moans and shivers in orgasmic bliss, grinding the strap-on against <<his>> genitals. <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a giggle at the sight. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, pushing <<his>> crotch hard into yours as <<he>> cums and ejaculating onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to go inside you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds you still by the hips with one hand and with the other on <<his>> cock, ejaculates onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy; <<he>> seems upset with <<himself>>. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your <<pussy>>; <<he>> seems disappointed. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. You feel warm as semen fills your vagina. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> quiets and grabs your shoulders with <<his>> small hands, pulling you onto <<his>> cock as <<he>> cums. Semen fills your <<pussy>>, leaving you breathless. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and grinds down on your crotch as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> grabs your thighs, pushing <<his>> crotch hard against your ass and ejaculating between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch; <<he>> seems pleased. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel warm semen dripping down your bottom. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and down your crotch. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your ass and drips down your crack; <<he>> seems upset with <<himself>>. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems upset. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and crotch. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts into your ass as <<he>> cums. You gasp as you feel semen filling you. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> wordlessly grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you moan with pleasure. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. You're surprised at the amount; cum oozes from your ass and runs down your legs. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your <<breasts>> together tight on <<his>> cock as <<he>> cums, ejaculating onto them. Your body feels slick with cum. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and quietly ejaculates on them. Your <<breasts>> feel cool as semen drips down them. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> puts <<his>> hand behind your neck and bears down on your <<breasts>>, grunting as <<he>> cums; semen shoots between your <<breasts>> and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>>. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face. <<He>> says, "Oh my god I'm so sorry," but <<his>> face looks excited. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your face. Warm cum drips down your forehead and nose. <span class="green"><<He>> leans down and licks it off.</span> <<case 7>> <<He>> gasps and strokes <<his>> cock while aiming straight at your mouth. Thick ropes of cum cover your face and push past your closed lips into your mouth. You're impressed by the volume and <<he>> looks oddly pleased with <<himself>>. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups the back of your head, ejaculating onto your lips as you barely brush against the tip of <<his>> penis; <<he>> seems upset with <<his>> lack of control. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; <<he>> seems upset with <<himself>>. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> cups your head but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <!-- this is picking up women NPCs...? --> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and holds the back of your head with the other, thrusting into your mouth as <<he>> cums. Ejaculate streams down your throat and fills your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 4 5 6>> <<He>> grasps the base of <<his>> cock and moans, quietly ejaculating into your mouth. You feel warm cum fill your mouth and drip down your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> palms your head, wildly thrusting <<his>> cock in your mouth as <<he>> cums. Semen streams down your throat, fills your mouth and covers your face as <<he>> flails. "It's hard to control myself with you." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your hands, slickening them with semen. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. "Oh God, I'm so sorry," <<he>> says, but <<his>> face betrays <<his>> words. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your left hand and covering it with cum. "You make me feel so good." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your left hand. Semen drips down your fingers. "I love how you make me feel." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. You're impressed by the volume from such a small body. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze. Your hand is covered in warm semen. "You make me feel so special." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your right hand. Semen cools on your fingers. "I love how you make me feel." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> grunts and shoots thick ropes of semen onto your hands, making an impressive mess. You're impressed by the volume from such a small body. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 4)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. "I guess that's okay because you're mine." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> cock and moans, ejaculating on the ground. "You make me feel so good." <<case 3>> <<He>> strokes <<his>> penis and, aiming at your ass, ejaculates on your bottom. "I'm sorry, I just couldn't help myself." <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating on your <<breasts>>. <<He>> apologies and licks up the mess. <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass, <<his>> ejaculate spraying on <<his>> own stomach. "I love how you make me feel." <<case 4 5>> <<He>> whimpers as you pound <<his>> ass, moaning in pleasure as <<he>> ejaculates on the ground. You roll off <<him>>. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. "I want you to stay with me forever..." <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, grabbing your ass from behind and grinding your cock against <<his>> ass to finish. "Please fuck me properly next time. Please. I can't stand being teased. Please..." <<case 4 5>> <<He>> moans as you rub against <<his>> anus and ejaculates on the ground. <<He>> seems disappointed, "Why didn't you fuck me? Don't you love me? Am I not good enough for you?" <<case 6 7>> <<He>> sobs as <<he>> ejaculates onto <<his>> own chest and begins crying, "Why didn't you fuck me? Tell me what I can do to deserve your cock..." <</switch>> <<elseif $NPCList[_nn].penis is "penis" and playerChastity("penis")>> <<switch random(2)>> <<case 0>> <<He>> gasps as <<he>> shoots <<his>> impressive load all over your $worn.genitals.name. "Th-there must be a skeleton key for chastity stuff," <<he>> says. "I'll work it out." <<case 1>> <<He>> moans in ecstasy, drenching your $worn.genitals.name in ropes of hot cum. "N-no... we need to be together!" <<He>> gasps in frustration. <<case 2>> <<He>> screams in pleasure, showering your $worn.genitals.name in streams of sticky cum. <<He>> uses the milky fluid to finger paint love hearts on your cheek. "Mine." <</switch>> <<elseif $NPCList[_nn].penis is "penis">> <<switch random(1, 7)>> <<case 1>> <<He>> cums as you knead your <<penises>> together, moaning with pleasure. "God I love you so much!" <<set $kylarSeen.pushUnique("saidLove")>> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> cums as you rub your <<penises>> together, moaning with pleasure. <<He>> rubs <<his>> own cum all over your shaft. "Keep my s-smell on you." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 3>> <<He>> cums as you frot your <<penises>> together, shooting <<his>> impressive load over your <<penis>> and stomach. <<He>> wipes some of <<his>> cum on your lips. "Taste our love juices." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4>> <<He>> moans as <<he>> grinds downs hard on your <<penis>> to finish, thin legs shaking as <<he>> cums. <<He>> uses the cum as lube, furiously milking out the last of <<his>> cum against your <<penis>>. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 5>> <<He>> giggles as <<he>> rubs hard against your <<penis>> to finish. <<He>> uses the cum as lube, furiously milking out the last of <<his>> semen against your <<penis>>. "N-next time I want you to im-impregnate my ass." <<He>> smirks. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 6>> <<He>> screams as <<he>> grinds hard against your <<penis>> to finish, thin legs shaking as <<he>> cums. "N-next time I want you to fuck me." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> screams, cupping <<his>> small hands under your shoulders as <<his>> entire body shakes; you are surprised by how strong <<he>> is. Ropes of semen drench your crotch as <<he>> cums. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<switch random(1, 7)>> <<case 1 2>> <<He>> cums before <<he>> can frot your <<penis>>, ejaculating on the outside. Semen coats your cock and tummy; <<he>> seems upset with <<himself>>. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 3 4>> <<He>> ejaculates onto your <<penis>> before <<he>> can frot your <<penises>> together, sending white streams of semen running down your <<penis>>; <<he>> seems disappointed. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 5>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<penis>> and ass. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 6>> <<He>> whimpers as <<he>> ejaculates onto <<his>> own chest and begins crying. "W-why? Why didn't you fuck me? What can I do to deserve your cock?" <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> cums before your <<penises>> touch, covering you in <<his>> massive load. Semen coats your tummy, and crotch. <<He>> pants in your ear, "S-sorry for the mess. I love you so much." <<set $kylarSeen.pushUnique("saidLove")>> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth, gasping against your cock. "God I love you so much." <<set $kylarSeen.pushUnique("saidLove")>> <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth. <<He>> backs away, "I'm sorry; I can't take anymore. Please forgive me." <<case 6 7>> <<He>> grabs you by the ass and drives your cock deeply into <<his>> throat, ejaculating on <<his>> chest as <<he>> throats your cock. <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <</if>> <<if $NPCList[_nn].penis isnot "none" and !$NPCList[_nn].penisdesc.includes("strap-on") and _condomResult is "leaked">> Despite wearing a condom, it was too damaged to stop the cum. <</if>> <br><br> <<else>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a laugh at the pathetic display. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs, and wipes <<his>> cock clean on your ass. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, slamming <<his>> crotch hard into your ass as <<he>> cums and ejaculates onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <<He>> seems impressed with <<himself>>. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your hips, pulling you back and ejaculating onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<He>> seems impressed with the mess <<hes>> made. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy. <<He>> turns beet red in anger, small fists shaking, but does nothing. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your cunt; <<he>> pulls <<his>> own hair in frustration. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<He>> seems upset at first, but then smiles as <<he>> looks down on your <<lewdness>> covered in <<his>> cum. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your hair, pulling and thrusting deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. Semen splashes inside your cunt. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> quiets and pounds <<his>> cock into you as <<he>> cums. Semen fills your <<pussy>> as you gasp at the feeling of being filled against your will. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and grinds down on your cunt as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. <<He>> looks down at the mess <<hes>> made with satisfaction. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> palms your cheeks with <<his>> small hands and pulls you hard against <<him>>, ejaculating between your cheeks. You are surprised by <<his>> strength. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch. "You make me feel alive." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel semen dripping down your crack, and feel filthy inside. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and down your crotch. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your ass and drips down your crack; <<he>> seems furious, but at <<himself>>, shaking with anger. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems upset. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and crotch. <<He>> seems disappointed but smiles as <<he>> looks at your drenched ass. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you feel unwelcome semen streaming in your asshole. <<analejacstat>><<ejacstat>><<set $hygiene += 500>> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> wordlessly grabs your hair, pulling you hard onto <<his>> cock as <<he>> cums. Semen fills you as you cry out. "I know you'll come to love me as much as I love you." <<set $kylarSeen.pushUnique("saidLove")>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your ass and runs down your legs. "No one will ever love you as much as I do." <<set $kylarSeen.pushUnique("saidLove")>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your <<breasts>> together on <<his>> cock as <<he>> cums, ejaculating onto them. "I guess I'm marking my territory," <<he>> says with a smile. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and ejaculates onto them. Your <<breasts>> cool as semen slides down your body. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> puts <<his>> hand behind your neck, mashing your face against <<his>> body and bearing down on your <<breasts>>; semen shoots between and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>> as you gasp. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face. "It's okay because we belong to each other." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and palming your head, ejaculates onto your face. Warm cum drips down your forehead and nose. <<He>> licks it off your face. <<case 7>> <<He>> grasps your hair tightly in <<his>> small fist, stroking <<his>> cock while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "I'm sorry but it's your fault; you make me lose control of myself." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grips hair at the nape your neck, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <<His>> face reddens in silent anger. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; frustrated, <<he>> stamps <<his>> feet in tantrum. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> grasps your hair but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<He>> looks frustrated. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs you under the chin with one hand and by your hair with the other, shoving <<his>> cock down your throat as <<he>> cums. You gag and retch as unwanted semen streams down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 4 5 6>> <<He>> grabs you by the shoulder in one hand and grasps the base of <<his>> cock in the other, quietly ejaculating into your mouth. You gag as cum fills your mouth and drips down your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> palms your head, wildly thrusting <<his>> cock down your throat as <<he>> cums. <span class="pink">You whimper as semen streams down your throat,</span> fills your mouth and covers your face as <<he>> flails. "I just get so excited when you're with me." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. <<He>> seems impressed with the mess. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your hands, slickening them with semen. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. "I'm sorry but I guess it's okay because we belong to each other." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your left hand and covering it with cum. Grabbing your hand by the wrist, <<he>> licks it clean. <<case 3 4>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on keeping <<him>> occupied you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 6 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your chest in the process. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze; <<he>> flicks <<his>> cock clean on the ground. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on keeping <<him>> occupied you don't notice <<his>> penis is aimed at your chest, which is splattered with cum in the process. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<handejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 6 7>> <<He>> grunts and shoots thick ropes of semen onto your hand, making an impressive mess. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 5)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. "I love that we can do this together, don't you?" <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> cock and cums on the ground. <<case 3>> <<He>> strokes <<his>> penis and, aiming at your ass, ejaculates on your bottom. <<He>> looks at your <<lewdness>> covered in <<his>> ejaculate and smiles. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating on your <<breasts>>. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 5>> <<He>> moans and rubs <<his>> cock wildly, sending cum flying all over your body. "I'm sorry, but I just lose control when you're near me." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass; <<he>> catches <<his>> ejaculate in <<his>> hand and wipes it on your face. "I have to m-mark you as mine." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5>> <<He>> moans as you pound <<his>> ass, and ejaculates on the ground. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "I-I can't take this," <<he>> says. "I need to fill you. Th-there must be a skeleton key for chastity stuff." <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, digging <<his>> fingers into your ass from behind and grinding your cock against <<his>> ass to finish. "Why didn't you fuck me? Am I not good enough for you?" <<case 4 5>> <<He>> moans as you rub against <<his>> anus, and ejaculates on the ground. <<He>> begins crying, "Why don't you fuck me? Is there something wrong with me? Tell me so I can fix it!" <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <<He>> seems sad rather than spent. <</switch>> <<elseif $NPCList[_nn].penis is "penis" and playerChastity("penis")>> <<switch random(2)>> <<case 0>> <<He>> gasps as <<he>> shoots <<his>> impressive load all over your $worn.genitals.name. "Th-there must be a skeleton key for chastity stuff," <<he>> says. "I'll work it out." <<case 1>> <<He>> moans in ecstasy, drenching your $worn.genitals.name in ropes of hot cum. "N-no... we need to be together!" <<He>> gasps in frustration. <<case 2>> <<He>> screams in pleasure, showering your $worn.genitals.name in streams of sticky cum. <<He>> uses the milky fluid to finger paint love hearts on your cheek. "Mine." <</switch>> <<elseif $NPCList[_nn].penis is "penis">> <<switch random(1, 7)>> <<case 1>> <<He>> cums as you knead your <<penises>> together, moaning with pleasure. "God I love you so much!" <<set $kylarSeen.pushUnique("saidLove")>> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> cums as you rub your <<penises>> together, moaning with pleasure. <<He>> rubs <<his>> own cum all over your shaft. "Keep my s-smell on you." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 3>> <<He>> cums as you frot your <<penises>> together, shooting <<his>> impressive load over your <<penis>> and stomach. <<He>> wipes some of <<his>> cum on your lips. "Taste our love juices." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4>> <<He>> moans as <<he>> grinds downs hard on your <<penis>> to finish, thin legs shaking as <<he>> cums. <<He>> uses the cum as lube, furiously milking out the last of <<his>> cum against your <<penis>>. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 5>> <<He>> groans as <<he>> rubs hard against your <<penis>> to finish. <<He>> uses the cum as lube, furiously milking out the last of <<his>> semen against your <<penis>>. "Next time I want you to impregnate my ass," <<he>> hisses. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 6>> <<He>> screams as <<he>> grinds hard against your <<penis>> to finish, thin legs shaking as <<he>> cums. "N-next time I want you to fuck me." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> screams, cupping <<his>> small hands under your shoulders as <<his>> entire body shakes; you are surprised by how strong <<he>> is. Ropes of semen drench your crotch as <<he>> cums. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<switch random(1, 7)>> <<case 1 2>> <<He>> cums before <<he>> can frot your <<penis>>, ejaculating on the outside. Semen coats your cock and tummy; <<he>> seems upset with <<himself>>. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 3 4>> <<He>> ejaculates onto your <<penis>> before <<he>> can frot your <<penises>> together, sending white streams of semen running down your <<penis>>; <<he>> seems disappointed. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 5>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<penis>> and ass. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 6>> <<He>> whimpers as <<he>> ejaculates onto <<his>> own chest and begins crying. "W-why? Why didn't you fuck me? What can I do to deserve your cock?" <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> cums before your <<penises>> touch, covering you in <<his>> massive load. Semen coats your chest, tummy, and crotch. <<He>> licks your ear and whispers, "Look at you, covered in my cum. Mine now." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth; groaning as <<he>> ejaculates on the ground. "I'm sorry, I just can't take anymore." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth; <<he>> pulls away abruptly. "Please stop, I've had enough." <<case 6 7>> <<He>> grabs your ass in <<his>> hands, pulling your cock into <<his>> throat; <<he>> ejaculates on <<his>> chest as <<he>> throats your <<genitals>>. <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <</if>> <<if $NPCList[_nn].penis isnot "none" and !$NPCList[_nn].penisdesc.includes("strap-on") and _condomResult is "leaked">> Despite wearing a condom, it was too damaged to stop the cum. <</if>> <br><br> <</if>> <!-- Finishing moves for consensual with low anger or non-consensual with damage or high anger --> <<if _args[0] isnot "short">> <<if $consensual is 1 and $enemyanger lte 0>> <<switch random(1,5)>> <<case 1 2>> <<He>> caresses your cheek, <span class="green">making you feel warm inside.</span> "I h-hope you know you mean everything to me." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<case 3 4>> <<He>> strokes your hair, <span class="green">making you feel warm inside.</span> "Y-you're so perfect, everything I could ever wish for." Your face flushes with pleasure. <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<case 5>> <<He>> kisses your forehead, <span class="green">making you feel warm inside.</span> "B-being without you drives me crazy." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <</switch>> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 7.5>> <<He>> cups your chin with a shaking hand, <span class="red">and runs the edge of <<his>> knife across your cheek.</span> "One day I'll make you understand that you're mine, easy way or not." <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 8.5>> <span class="red"><<He>> pulls your hair,</span> bringing you inches closer to <<his>> face. "Please, my love, don't make me hurt you." <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <<elseif $consensual is 0 or $enemyhealth lte ($enemyhealthmax / 10) * 9.5>> <<He>> cups your chin with a shaking hand, <span class="red">forcing you to look at <<him>>.</span> "I want you to understand that I'm doing this because I love you." <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <</if>> <</if>> <</widget>><<widget "ejaculation-leighton">> <<set $ejaculating to 1>> <!-- Changing rows to future-proof the code: from $NPCList[0] to $NPCList[_nn], _nn being the main ejaculation loop handler --> <!-- Female LEIGHTON --> <<if $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<if $consensual is 1>> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<switch random(1, 4)>> <<case 1 2>> <<He>> groans and rubs <<his>> crotch against your face with <<his>> hips, thighs shaking with orgasm. <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, body twitching uncontrollably. <<case 5>> <<He>> cups your head in <<his>> hand and grinds <<his>> clit against your nose, covering your face in ejaculate. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "leftarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, shaking <<his>> thighs together against your hand as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt twitching against your hand uncontrollably. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 5>> <<He>> stifles a moan, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, knees shaking as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt twitching against your hand uncontrollably. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 5>> <<He>> stifles a moan, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, releasing you and pulling back <<his>> hand, licking your wetness off <<his>> fingers. <<case 3 4>> <<He>> moans loudly and shakes, dripping ejaculate on the ground; <<he>> withdraws <<his>> hand and sighs. <<case 5>> <<He>> shakes as <<he>> comes, soaking <<his>> own pussy and thighs in ejaculate; <<he>> removes <<his>> hand from your pussy and wipes it off on your face, chuckling. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "feet">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans as you knead <<his>> pussy, jamming your toes inside with <<his>> hands as <<he>> finishes cumming. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 3 4>> <<He>> shakes bodily as <<he>> cums, twitching underneath your feet and cumming between your toes. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 5>> <<He>> tenses as <<he>> comes, soaking your feet with ejaculate. You jump back in surprise, nearly slipping on your wet feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you scissor your pussies together, moaning with pleasure. <<case 3 4>> <<He>> moans as <<he>> grinds downs hard on your <<pussy>> to finish, legs shaking as <<he>> cums. <<case 5>> <<He>> cups <<his>> arms under your shoulders as <<his>> entire body shakes. Ejaculate streams from <<his>> pussy, drenching you. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth" and playerChastity("vagina")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "othermouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shudders with pleasure, exhaling warmly against your crotch as <<he>> comes, leaving you wet with saliva and your own fluids. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> nose into your crotch and giving you a long, final, wet lick. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 5>> <<He>> sighs into your crotch as <<he>> cums, pinching <<his>> hands between <<his>> thighs and buckling over, ejaculate streaming down <<his>> thighs. <</switch>> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus" and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "otheranus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, driving <<his>> ass hard against you as <<he>> releases a final moan. <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> ass deeply with your cock and moaning. <<case 5>> <<He>> bucks into your crotch as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your legs. "You've been taught well." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "penis">> <<switch random(1, 6)>> <<case 1 2>> <<He>> grabs your shoulders as <<he>> cums, driving <<his>> pussy down hard against your cock as <<he>> shudders with pleasure. "That was a wonderful performance." <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<case 3 4>> <<He>> sighs as <<he>> cums, reddening and going into a full body convulsion. Ejaculate soaks your crotch. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<case 5>> <<He>> bucks on your lap as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your crotch and legs. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> cums on your <<penis>>; "Next time I expect penetration." <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> bucks <<his>> ass against your cock as <<he>> cums. "Next time I expect you to properly service me, not toy with me." <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> clit hard against your cock as <<he>> cums, ejaculating on your cock. <<He>> looks frustrated, "Next time I expect a good fucking, or there will be consequences..." <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 4)>> <<case 1 2>> <<He>> cums as you fuck <<his>> mouth, pushing you off as <<he>> finishes. <<case 3 4>> <<He>> cums as you fuck <<his>> mouth, leaving your <<penis>> a slimy mess. "Such a mess; you should go jump in the shower." <</switch>> <<else>> <<He>> convulses in orgasmic bliss. <</if>> <<else>> <<if $NPCList[_nn].vagina is "footjob">> <<switch random(1, 5)>> <<case 1 2 3>> <<He>> gasps as <<he>> cums. Recovering, <<he>> smiles and moves <<his>> foot to your body, <span class="red">stepping down heavily as you gasp for breath.</span> "I hope you're learning that I own you." <<gtrauma>><<gstress>><<gpain>><<violence 6>><<bruise chest>><<hitstat>> <<case 4 5>> <<He>> cums, chuckling as <<he>> removes <<his>> foot from your crotch and rubs it against your face, covering your face in your own wetness. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans as <<he>> cums, dragging <<his>> wet pussy across your ass and thighs. <<case 3 4>> <<He>> moans as <<he>> grabs you by the throat and grinds downs hard on your <<pussy>>. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<case 5>> <<He>> grabs you by the hair, mashing <<his>> entire body against yours. Ejaculate streams from <<his>> pussy, drenching you. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<He>> moans as <<he>> cums. <<He>> <span class="pink">grabs you by the hair and pulls you close:</span> "I hope you're learning that I own you." <<elseif $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<He>> groans and grabs you by the hair, grinding <<his>> crotch roughly against your face as <<his>> thighs shake with orgasm. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<He>> shakes as <<he>> cums, grabbing you by the <<print ($player.ballsExist ? "balls" : "pussy")>> and dragging your cock deeply into <<his>> ass as <<he>> releases a final moan. <<elseif $NPCList[_nn].vagina is "penis">> <<He>> digs <<his>> nails painfully into your shoulders as <<he>> cums, driving <<his>> pussy down hard against your cock as <<he>> shudders with pleasure. <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> moans as <<he>> cums on your throbbing cock. "Next time I expect penetration, or there will be consequences." <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> swivels <<his>> ass against your cock as <<he>> cums. "Next time I expect to be fucked properly or I'll punish you." <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grabs you by the throat, pulling you down and grinding <<his>> clit hard against your cock as <<he>> cums. "Next time you need to penetrate me or I'll punish you." <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<He>> cums as you fuck <<his>> mouth, shoving you away as <<he>> gasps for air. "That's enough." <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles with orgasm. Pulling your face close <<he>> says, "I hope you're learning that you're subject to my desires." <<case 4 5 6>> <<He>> sighs quietly as <<he>> cums, smacking your ass. "Don't forget that I own you." <<case 7>> <<He>> rapidly rubs <<his>> clit, stifling a moan as <<he>> cums; <<his>> pussy squirting and covering you in ejaculate. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "goo">> <</switch>> <</if>> <</if>> <br><br> <</if>> <!-- Male LEIGHTON --> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $consensual is 1>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif npcHasStrapon(_nn)>> <<He>> moans and shivers in orgasmic bliss, grinding the strap-on against <<his>> genitals. <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a giggle at the sight. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, pushing <<his>> crotch hard into yours as <<he>> cums and ejaculating onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds you still by the hips with one hand and with the other on <<his>> cock, ejaculates onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy; <<he>> seems disappointed. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your <<pussy>>; <<he>> seems disappointed. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. "Quite a mess; you really should hit the showers." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. You feel warm as semen fills your vagina. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> quiets and grabs your shoulders, pulling you deeply onto <<his>> cock as <<he>> cums. Semen fills your <<pussy>>, leaving you breathless. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and grinds down on your crotch as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> grabs your thighs, pushing <<his>> crotch hard against your ass and ejaculating between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch; <<he>> seems pleased. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel warm semen dripping down your bottom. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and down your crotch. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your ass and drips down your crack; <<he>> seems disappointed. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems disappointed. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and crotch. <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deeply into your ass as <<he>> cums. You gasp as you take <<his>> entire length, and feel semen filling your insides. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> wordlessly grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you moan with pleasure. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. It's more than you can hold; cum oozes from your ass and runs down your legs. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your <<breasts>> together tight on <<his>> cock as <<he>> cums, ejaculating onto them. Your body feels slick with cum. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and quietly ejaculates on them. Your <<breasts>> feel cool as semen drips down them. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> puts <<his>> hand behind your neck and bears down on your <<breasts>>, grunting as <<he>> cums; semen shoots between your <<breasts>> and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>>. "Such a mess. You should hit the showers." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face; <<he>> chuckles at the resulting mess and hands you a tissue. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your face. Warm cum drips down your forehead and nose. <<He>> smiles and hands you a tissue. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grasps the top of your head, stroking <<his>> cock while aiming straight at your mouth. Thick ropes of cum cover your face and push past your closed lips into your mouth. "Tsk tsk. You really need to learn to swallow. Such a mess." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups the back of your head, ejaculating onto your lips as you barely brush against the tip of <<his>> penis; <<he>> seems disappointed. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; <<he>> seems disappointed. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grasps your hair but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <!-- this is picking up women NPCs...? --> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and by your hair with the other, thrusting deeply into your mouth as <<he>> cums. Ejaculate streams down your throat and fills your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 4 5 6>> <<He>> grasps the base of <<his>> cock and moans, quietly ejaculating into your mouth. You feel warm cum fill your mouth and drip down your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> grasps the back of your head, wildly thrusting <<his>> cock in your mouth as <<he>> cums. Semen streams down your throat, fills your mouth and drips down your chin. "Tsk tsk. You really need to learn to swallow." <<He>> hands you a tissue to clean up. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. "Such an enthusiastic student, using both hands." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your hands, slickening them with semen. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. <<He>> chuckles and hands you a tissue. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your left hand and covering it with cum. "Such a mess; you should wash your hands." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your left hand. Semen drips down your fingers. <<He>> hands you a tissue. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. <<He>> smiles and hands you a gym towel to clean up. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze. Your hand is covered in warm semen. "What messy fingers; you should go wash your hands." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your right hand. Semen cools on your fingers. <<He>> smiles and hands you a tissue. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> grunts and shoots thick ropes of semen onto your hands, making an impressive mess. <<He>> smiles and hands you a gym towel to clean up. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 4)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. "Such a fast learner." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> cock and aims at your face, covering it with semen. <<He>> smiles and hands you a tissue. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<He>> strokes <<his>> penis and, aiming at your ass, ejaculates on your bottom. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating on your <<breasts>>. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass, <<his>> ejaculate spraying on <<his>> own stomach. "Thanks, that's quite enough." <<case 4 5>> <<He>> whimpers as you pound <<his>> ass, moaning in pleasure as <<he>> ejaculates on the ground. You roll off <<him>>. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, grabbing your ass from behind and grinding your cock against <<his>> ass to finish. "Next time I expect penetration." <<case 4 5>> <<He>> moans as you rub against <<his>> anus and ejaculates on the ground. You roll off <<him>>. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis" and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth, gasping against your cock. "You're quite the talented student." <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth. <<He>> pushes you away, "Thanks, that's quite enough." <<case 6 7>> <<He>> grabs you by the ass and drives your cock deeply into <<his>> throat, ejaculating on <<his>> chest as <<he>> throats your cock. <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <</if>> <<if $NPCList[_nn].penis isnot "none" and !$NPCList[_nn].penisdesc.includes("strap-on") and _condomResult is "leaked">> Despite wearing a condom, it was too damaged to stop the cum. <</if>> <br><br> <<else>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a laugh at the pathetic display. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs, and wipes <<his>> cock clean on your ass. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, slamming <<his>> crotch hard into your ass as <<he>> cums and ejaculates onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. "You'll submit for my pleasure anytime I wish; don't forget it." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity()>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shoves <<his>> thumb into your ass, pulling you back and ejaculating onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt; flicking <<his>> cock dry on your body. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass; <<he>> dries <<his>> cock on your thighs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy; <span class="red"><<he>> spanks your ass angrily.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your cunt; <<he>> groans in disappointment. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. "I hope you're learning that you're mine any time I want you." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your hair, pulling and thrusting deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. Semen splashes inside your bruised cunt. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> quiets and grabs your throat, pounding <<his>> cock into you as <<he>> cums. Semen fills your <<pussy>> as you gasp for air. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and grinds down on your cunt as <<he>> cums, smashing your <<clit>> and sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. "With more training you'll learn to better control your body." <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass; giving you a parting smack on the butt. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> pinches the top of your cheeks with <<his>> hands and pulls you hard against <<him>>, ejaculating between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch. "You're a mess; perhaps I should throw you in the pool..." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> <span class="blue">slaps your asscheek with one hand</span> and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise bottom>><<hitstat>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel semen dripping down your crack, and feel filthy inside. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and down your crotch. "I restrained myself; next time you're taking the whole shaft." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your ass and drips down your crack; <span class="red"><<he>> spanks your ass angrily.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems disappointed. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and crotch. "I restrained myself. Next time you're taking my entire length." <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you take <<his>> entire length, and feel unwelcome semen streaming in your asshole. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> wordlessly grabs your hair, pulling you hard onto <<his>> cock as <<he>> cums. Semen fills you as you cry out, <<his>> girth stretching your anus. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your ass and runs down your legs. "Such a mess. With more training, you'll be able to better control yourself." <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your <<breasts>> together on <<his>> cock as <<he>> cums, ejaculating onto them. "I hope you're learning that you exist for my pleasure." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> grabs your hair to force you to look at <<him>> while <<he>> strokes the tip of <<his>> cock between your <<breasts>> and wordlessly ejaculates onto them. "I want you to look at me while I use you for my pleasure." Your <<breasts>> cool as semen slides down your body. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> puts <<his>> hand behind your neck, mashing your face against <<his>> body and bears down on your <<breasts>>; semen shoots between and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>> as you gasp for air. "You're mine to use for my pleasure." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face. "I hope you understand who the master is." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and holding you by the ears, quietly ejaculates onto your face. Warm cum drips down your forehead and nose. "Such a messy student; just look at you." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grasps your hair tightly in <<his>> fist, stroking <<his>> cock while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need more practice swallowing, you sloppy hoodlum." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grips hair at the nape your neck, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; frustrated, <<he>> wipes the cum off your face and shoves it in your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 7>> <<He>> grasps your hair but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<He>> looks frustrated. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs you under the chin with one hand and by your hair with the other, shoving <<his>> cock down your throat as <<he>> cums. You gag and retch as unwanted semen streams down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 4 5 6>> <<He>> grabs you by the throat in one hand and grasps the base of <<his>> cock in the other, quietly ejaculating into your mouth. You gag as cum fills your mouth and drips down your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<case 7>> <<He>> grasps your hair by the temples, wildly thrusting <<his>> cock down your throat as <<he>> cums. <span class="pink">You whimper as semen streams down your throat,</span> fills your mouth and covers your face as <<he>> flails. "Don't forget that you remain enrolled here at my pleasure." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. "Such a filthy wretch." <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your hands, slickening them with semen. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. "Such a messy <<girl>>." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your left hand and covering it with cum. Grabbing your hand by the wrist, <<he>> forces it into your mouth so you can taste <<him>>. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case 3 4>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on keeping <<him>> occupied you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 6 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your chest in the process. "I need to train you to control my cock better." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze; <<he>> flicks <<his>> cock clean on your face. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on keeping <<him>> occupied you don't notice <<his>> penis is aimed at your chest, which is splattered with cum in the process. "You're a mess; go clean up." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<handejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 6 7>> <<He>> grunts and shoots thick ropes of semen onto your hand, making an impressive mess. "Disgusting. Go clean yourself up." <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 5)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. "Don't forget you remain enrolled here at my pleasure." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> cock and aims at your face, covering it with semen. "Your proper place is on your knees servicing my cock; don't forget it." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<He>> strokes <<his>> penis and, aiming at your ass, ejaculates on your bottom. "A gift to remember me by." <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating on your <<breasts>>. "Such a messy pupil. Off you go, clean yourself up." <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 5>> <<He>> moans and rubs <<his>> cock wildly, sending cum flying all over your body; <<he>> wipes <<his>> penis clean in your hair. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<hairejacstat>><<set $hygiene += 500>><<bodyliquid "hair" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass; <<he>> catches <<his>> ejaculate in <<his>> hand and wipes it on your face. "I hope you're learning who owns you." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5>> <<He>> moans as you pound <<his>> ass, and ejaculates on the ground. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> tenses as <<he>> cums, ejaculating over your $worn.genitals.name. "Whoever put you in that had the right idea," <<he>> gasps. "If only I had a key." <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, digging <<his>> nails into your ass from behind and grinding your cock against <<his>> ass to finish. "I expect you to fuck me properly next time or you'll be punished." <<case 4 5>> <<He>> moans as you rub against <<his>> anus, and ejaculates on the ground; <<he>> seems disappointed. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. "That was fine, but next time you're bottom. Be ready." <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth; <<he>> catches <<his>> semen and rubs it into your stomach as <<he>> pushes you away. "I'm done now; off with you." <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth; <<he>> bites your cock, stopping you abruptly. "Enough, I'm finished." <<case 6 7>> <<He>> grabs you by the <<print ($player.ballsExist ? "balls" : "pussy")>> and painfully drives your cock into <<his>> throat; <<he>> ejaculates on <<his>> chest as <<he>> throats your cock. <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <</if>> <<if $NPCList[_nn].penis isnot "none" and !$NPCList[_nn].penisdesc.includes("strap-on") and _condomResult is "leaked">> Despite wearing a condom, it was too damaged to stop the cum. <</if>> <br><br> <</if>> <!-- Finishing moves for consensual with low anger or non-consensual with damage or high anger --> <<if _args[0] isnot "short">> <<if $consensual is 1 and $enemyanger lte 0>> <<switch random(1, 5)>> <<case 1 2>> <<He>> absently strokes you, <span class="green">making you feel warm inside.</span> "Such a willing pupil; I've much more to teach you." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <<case 3 4>> <<He>> strokes your hair, <span class="green">making you feel warm inside.</span> "I think you'll benefit from my attention." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <<case 5>> <<He>> brushes your cheek with <<his>> hand. "Such a <<if $player.gender_appearance is "m">>handsome<<else>>beautiful<</if>> student." <span class="green">Your face flushes with pleasure.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <</switch>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 7.5>> <<He>> <span class="red">angrily lashes your ass and thighs with <<his>> belt; you scream in pain, knees buckling under you.</span> "I expect your acquiescence. Fight with me like that and you can expect retribution." <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 8.5>> <<He>> pins your arms back and <span class="pink">spanks your ass repeatedly as you writhe in pain.</span> "I expect your submission to me; fighting me is unacceptable." <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 9.5>> <<He>> <span class="pink">slaps you across the ass.</span> "I expect obedience, not hostility." <<gstress>><<gtrauma>><<gpain>><<violence 2>> <br><br> <</if>> <</if>> <</widget>><<widget "ejaculation-pillory">> <<set $ejaculating to 1>> <!-- Female NPC1 at PILLORY --> <<if $NPCList[_nn].gender is "f">> <<if $consensual is 1>><!-- This is a catch-all; there are no consensual pillory encounters. --> <<He>> collapses in orgasmic bliss. <<else>> <<if $NPCList[_nn].vagina is "footjob">> <<He>> gasps as <<he>> cums. Recovering, <<he>> smiles and grinds <<his>> foot to your crotch. "I hope you enjoyed that." <<gtrauma>><<gstress>><<gpain>><<violence 6>><<bruise chest>><<hitstat>> <br><br> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans as <<he>> cums, dragging <<his>> wet pussy across your <<bottom>> and back of your thighs. "You must feel ashamed to have your <<lewdness>> on display like this." <br><br> <<case 3 4>> <<He>> moans as <<he>> grabs the pillory for leverage and grinds downs hard on your <<pussy>>. "This must be so embarrassing for you." <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <<case 5>> <<He>> screams, grabbing you by the thighs and mashing <<his>> crotch against your <<bottom>>. Ejaculate streams from <<his>> pussy, drenching you. "What a mess; you must be mortified." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. "You can clean that off later." <br><br> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<He>> moans as <<he>> cums. <<He>> <span class="pink">grabs you by the hair and whispers in your ear</span> "I bet you enjoy having your <<lewdness>> shown to a crowd." <br><br> <<elseif $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<He>> groans and grabs the pillory for leverage, grinding <<his>> crotch roughly against your restrained face as <<his>> thighs shake with orgasm. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<He>> shakes as <<he>> cums, grabbing you by the <<print ($player.ballsExist ? "balls" : "pussy")>> and dragging your <<penis>> deeply into <<his>> ass as <<he>> releases a final moan. <br><br> <<elseif $NPCList[_nn].vagina is "penis">> <<He>> digs <<his>> nails painfully into your legs as <<he>> cums, driving <<his>> pussy hard against your <<penis>> as <<he>> shudders with pleasure. <br><br> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> moans as <<he>> cums on your throbbing <<penis>>. <br><br> <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> swivels <<his>> ass against your <<penis>> as <<he>> cums. <br><br> <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grabs your legs and pulls you against <<his>> clit hard against your <<penis>> as <<he>> cums. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<He>> cums as <<he>> sucks your <<penis>>, dropping away as <<he>> gasps for air. <br><br> <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles with orgasm. Lifting your head up by the hair, <<he>> says, "I hope you're learning your lesson." <br><br> <<case 4 5 6>> <<He>> sighs quietly as <<he>> cums, smacking your <<bottom>>. "See you around, bitch." You feel embarrassed to have your <<lewdness>> on display. <br><br> <<case 7>> <<He>> rapidly rubs <<his>> clit and screams as <<he>> cums; <<his>> pussy squirting and covering you in ejaculate. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "goo">> <</switch>> <</if>> <</if>> <</if>> <!-- Male Gender NPC at PILLORY --> <<if $NPCList[_nn].gender is "m">> <!-- Start simplified strap-on sub-case --> <<if $NPCList[_nn].penisdesc.includes("strap-on")>> <<if $consensual is 0>><!-- Non-consen strap-on case --> <<switch $NPCList[_nn].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<switch random(1, 3)>> <<case 1>> <<He>> shakes as <<he>> cums, slapping you across the ass with <<his>> $NPCList[_nn].penisdesc. <br><br> <<case 2>> <<He>> cums loudly, then spanks your ass with <<his>> $NPCList[_nn].penisdesc. "Something to remember me by, whore." <br><br> <<case 3>> <<He>> cums quietly, rubbing <<his>> $NPCList[_nn].penisdesc along your back. <br><br> <</switch>> <<case "mouth">> <<He>> cums loudly, shoving <<his>> $NPCList[_nn].penisdesc deep into your throat, making you gag. Tears stream down your face. <br><br> <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<switch random(1, 3)>> <<case 1>> <<He>> shakes as <<he>> cums, slapping you across the face with <<his>> $NPCList[_nn].penisdesc. <br><br> <<case 2>> <<He>> cums loudly, then laughs, wiping <<his>> $NPCList[_nn].penisdesc of on your hair. <br><br> <<case 3>> <<He>> cums silently, mouth agape, rubbing <<his>> $NPCList[_nn].penisdesc against your cheek. <br><br> <</switch>> <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit with the base of <<his>> $NPCList[_nn].penisdesc. <br><br> <</switch>> <<else>><!-- Consensual strap-on case --> <<switch $NPCList[_nn].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<He>> shakes as <<he>> cums, wiping <<his>> $NPCList[_nn].penisdesc off on your ass. <br><br> <<case "mouth">> <<He>> cums loudly, grinding <<his>> $NPCList[_nn].penisdesc against <<his>> own crotch with <<his>> hand as <<he>> cums. <br><br> <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<He>> cums silently, mouth agape, rubbing <<his>> $NPCList[_nn].penisdesc against your cheek. <br><br> <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit with the base of <<his>> $NPCList[_nn].penisdesc. <br><br> <</switch>> <</if>> <<elseif $consensual is 1>><!-- This is a catch-all; there are no consensual pillory encounters. --> <<He>> collapses in orgasmic bliss. <<else>> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a laugh at the pathetic display. <br><br> <<elseif _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> $NPCList[_nn].penisdesc out and ejaculating onto the backs of your thighs, and wipes <<his>> cock clean on your <<bottom>>. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, slamming <<his>> crotch hard into your <<bottom>> as <<he>> cums and ejaculates onto your tummy. <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. "You must be so embarrassed to be seen in public covered with my cum." <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shoves <<his>> thumb into your ass and groans as <<he>> ejaculates onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt; flicking <<his>> cock dry on your <<bottom>>. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass; <<he>> dries <<his>> cock on your thighs. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy; <span class="red"><<he>> slaps you across the ass hard in anger</span> as you jerk in the restraints. <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your cunt; <<he>> groans in disappointment. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. "You must be so embarrassed to be seen in public with cum dripping down your legs." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and grinds down on your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. "Doesn't look like you can hold my load, you fragile cunt." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 1>> <<He>> moans as a dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto the outside of your <<genitals>>. <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs the pillory for leverage, pulling and thrusting deeply into your <<pussy>> as <<he>> cums, holding <<his>> $NPCList[_nn].penisdesc deep in your womb. Semen splashes inside your bruised cunt as your shoulders mash into the restraints. <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> quiets and grabs your hips, pounding <<his>> $NPCList[_nn].penisdesc into you as <<he>> cums. Semen fills your <<pussy>> as your body jerks in the restraints. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and grinds on your cunt as <<he>> cums, smashing your clit and sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. "I bet you enjoy being forced to show your <<lewdness>> to the whole town." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> $NPCList[_nn].penisdesc from your cheeks and ejaculating onto your <<bottom>> and giving you a parting smack on the butt. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> pinches the top of your cheeks with <<his>> hands and smashes you hard against the stocks, ejaculating between your cheeks. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your <<bottom>> and drips down your crotch. "Such a sloppy mess, and in public." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> <span class="blue">slaps your asscheek with one hand</span> and strokes <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise bottom>><<hitstat>> <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and quietly ejaculates onto your <<bottom>>. You feel semen dripping down your crack, and feel filthy inside. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<bottom>> and down your crotch. "I think you'd have enjoyed being fucked in the ass a bit too much." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your <<bottom>> and drips down your crack; <span class="red"><<he>> smacks your ass angrily.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<bottom>> before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems disappointed. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<bottom>> and crotch. "I bet you feel like a disgusting pig." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "You need to learn how to take a cock, you sloppy pig." <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <br><br> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto your <<bottom>>. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you take <<his>> entire length, and feel unwelcome semen streaming in your asshole. <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> grabs the stocks for better grip, pushing hard into your <<bottom>> as <<he>> cums, mashing your body into the pillory. Semen fills you as you cry out, <<his>> girth stretching your anus. <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "Ass fucked in public like the whore you are, with your <<lewdness>> for all to see." <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your <<breasts>> together on <<his>> $NPCList[_nn].penisdesc as <<he>> cums, ejaculating onto them. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> grabs your hair to force you to look at <<him>> while <<he>> strokes the tip of <<his>> $NPCList[_nn].penisdesc between your <<breasts>> and wordlessly ejaculates onto them. Your <<breasts>> cool as semen slides down your body. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> grabs the pillory for leverage and bears down on your <<breasts>>, grunting as <<he>> cums; semen shoots between your <<breasts>> and down the pillory. <<He>> laughs and <span class="purple">slaps <<his>> $NPCList[_nn].penisdesc across your helpless face to dry it off.</span> <<gtrauma>><<gstress>><<violence 1>><<bruise face>><<hitstat>> <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> grips <<his>> $NPCList[_nn].penisdesc tightly, working it while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need to learn to swallow, bitch." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and down your chin. It's all you can do to keep from laughing. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups your chin with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your face. "You must be so embarrassed to be showing your <<lewdness>> like this." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and, holding your hair, ejaculates onto your face. Warm cum drips down your forehead and nose. "I bet you enjoy being used like this in public." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grasps your hair tightly in <<his>> fist, stroking <<his>> $NPCList[_nn].penisdesc while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need to learn to swallow, bitch." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> grips <<his>> $NPCList[_nn].penisdesc tightly, working it while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need to learn to swallow, bitch." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and down your chin. It's all you can do to keep from laughing. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2>> <<He>> cups your chin with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your face. "You must be so embarrassed to be showing your <<lewdness>> like this." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and, holding your hair, ejaculates onto your face. Warm cum drips down your forehead and nose. "I bet you enjoy being used like this in public." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 5>> <<He>> grasps your hair tightly in <<his>> fist, stroking <<his>> $NPCList[_nn].penisdesc while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need to learn to swallow, bitch." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 6>> <<He>> grips hair at the top of your head, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> brushes <<his>> $NPCList[_nn].penisdesc against your face and ejaculates. Cum drips down your lips and chin; laughing, <<he>> wipes the cum off your face with <<his>> hand and shoves it in your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> grabs your hair and thrusts down your throat, gagging you with <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <span class="pink">You whimper as semen streams down your throat,</span> and fills your mouth. "I bet you enjoy being face fucked." <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <<case 1>> <<He>> bears into your face with <<his>> pelvis, try to shove <<his>> $NPCList[_nn].penisdesc as far into your mouth as possible. It's not much, and a tiny dribble of semen leaks from the tip. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs you under the chin with one hand and by your hair with the other, shoving <<his>> $NPCList[_nn].penisdesc down your throat as <<he>> cums. You gag and retch as unwanted semen streams down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 4 5 6>> <<He>> holds the pillory as <<he>> mashes <<his>> $NPCList[_nn].penisdesc into your mouth, ejaculating into your mouth with a moan. You gag as cum fills your mouth and drips down your chin. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 7>> <<He>> grasps your hair by the temples, wildly thrusting <<his>> $NPCList[_nn].penisdesc down your throat as <<he>> cums. <span class="pink">You whimper as semen streams down your throat,</span> fills your mouth and covers your face as <<he>> flails. "I bet you enjoy being face fucked in public, with your <<lewdness>> on display." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> $NPCList[_nn].penisdesc between your feet as <<he>> cums, splattering cum on your feet and legs in the process. "Too bad you can't clean that up." <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <!-- Removed hands outcomes --> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 4)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> $NPCList[_nn].penisdesc a final squeeze, ejaculates onto your back. "You enjoy being cum on in public, don't you?" <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> $NPCList[_nn].penisdesc and aims at your face, covering it with semen. "What a lovely cum dumpster you are." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<He>> strokes <<his>> penis and, aiming at your <<bottom>>, ejaculates on your bottom. "You must be so embarrassed to have your <<lewdness>> shown to all." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> moans and rubs <<his>> $NPCList[_nn].penisdesc wildly, sending cum flying all over your body; <<he>> wipes <<his>> penis clean in your hair. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<hairejacstat>><<set $hygiene += 500>><<bodyliquid "hair" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass; <<he>> catches <<his>> ejaculate in <<his>> hand and wipes it on your face. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5>> <<He>> moans as you pound <<his>> ass, and ejaculates on the ground. <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <br><br> <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "They didn't have to lock you up down there too," <<he>> says. "I could have had so much fun." <br><br> <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, digging <<his>> nails into your <<bottom>> from behind and grinding your <<penis>> against <<his>> ass to finish. <br><br> <<case 4 5>> <<He>> moans as you rub against <<his>> anus, and ejaculates on the ground; <<he>> seems disappointed. <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <br><br> <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth; <<he>> catches <<his>> semen and rubs it into your face. "Don't you look lovely now." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth; <<he>> bites your <<penis>>, stopping you abruptly. "I'm done now." <br><br> <<case 6 7>> <<He>> grabs you by the <<print ($player.ballsExist ? "balls" : "pussy")>> and painfully drives your <<penis>> into <<his>> throat; <<he>> ejaculates on <<his>> chest as <<he>> throats your <<penis>>. <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your back. <br><br> <<else>> <<He>> collapses into orgasmic bliss. <</if>> <</if>> <</if>> <!-- Finishing moves for damage --> <<if _args[0] isnot "short">> <<if $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 7.5>> <<He>> <span class="red">angrily punches your side, knocking the wind out of you.</span> "What are you thinking, trying to fight me when you're bound like this?" <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 8.5>> <<He>> <span class="pink">slaps you back and forth across the face.</span> "That'll teach you to fight with me." <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 9.5>> <<He>> <span class="pink">spits in your face.</span> "You seem to need reminding that you're helpless here, you cheeky cunt." <<gstress>><<gtrauma>><<gpain>><<violence 1>> <br><br> <</if>> <</if>> <</widget>><<widget "ejaculation-plant">> <<set $ejaculating to 1>> <!-- Changing rows to future-proof the code: from $NPCList[0] to $NPCList[_nn], _nn being the main ejaculation loop handler --> <<if $consensual is 1>> <<set _nectar to "nectar">> <<set _Nectar to "Nectar">> <<set _fizzyNectar to "Fizzy nectar">> <<else>> <<set _nectar to "unwanted nectar">> <<set _Nectar to "Unwanted nectar">> <<set _fizzyNectar to "Unwanted fizzy nectar">> <</if>> <!-- Female PLANT --> <<if $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans and rubs <<his>> crotch against your face with <<his>> hips, thighs shaking with orgasm. <<case 3 4>> <<His>> blush deepens and <<his>> body twitches as <<he>> cums. <<case 5>> <<He>> screams, cupping your head in <<his>> hand and rubbing <<his>> clit against your face. <</switch>> Some _nectar leaks into your mouth. <span class="purple">It tastes fizzy,</span> and makes your head spin. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<nectarfed 20>> <<elseif $NPCList[_nn].vagina is "leftarm" or $NPCList[_nn].vagina is "rightarm">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> grasps your arm with one hand and the back of your head with the other, moaning into your mouth as <<he>> convulses on your hand. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<his>> body convulses, <<his>> thighs trembling against your head. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your hand. <<case 5>> <<He>> moans, spraying nectar onto your hand. With a mischievous look, <<he>> pushes your hand into your mouth, filling it with _nectar. <span class="purple">It tastes fizzy,</span> and makes your head spin. "Got you." <<nectarfed 8>> <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "feet">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, spasming around your feet. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans and grasps your ankles as <<he>> cums. "I think I underestimated humans. You know how to work with what you've got!" <<case 3 4>> <<He>> grasps <<his>> $NPCList[_nn].breastsdesc as <<he>> cums against your feet. "Most plants don't like being underfoot. Guess I'm the exception!" <<case 5>> <<He>> screams as <<he>> cums, almost making you jump. <<His>> nectar runs over your feet. <</switch>> <</if>> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "nectar">> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, grinding against your $worn.genitals.name. <<else>> <<He>> screams as <<he>> cums against your $worn.genitals.name. "I hate metal," <<he>> gasps, looking down at it in disappointment. <</if>> <<elseif $NPCList[_nn].vagina is "vagina">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<if random(1)>> <<He>> screams into your mouth, <<his>> legs shaking. <<else>> <<He>> scissors your pussies together with a feverish passion, moaning into your mouth. <</if>> <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you scissor your pussies together, moaning with pleasure. <<case 3 4>> <<He>> wraps <<his>> legs around yours as <<his>> body shakes. "Man," <<he>> giggles. "Who needs vines, anyway?" <<case 5>> <<He>> moans and <<his>> legs shake as <<he>> cums against your <<pussy>>. <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shudders with pleasure and exhales against your crotch as <<he>> cums. "You're delicious," <<he>> whispers. <<case 3 4>> <<He>> trembles against your crotch as <<he>> cums, greedily lapping up your juices. <<case 5>> <<He>> screams into your crotch as <<he>> cums, <<his>> hands pressing firm into <<his>> thighs. <</switch>> <<elseif $NPCList[_nn].vagina is "facesit">> <<switch random(1,5)>> <<case 1 2>> <<He>> moans and rubs <<his>> crotch against your face, shuddering as <<he>> comes to orgasm. <<case 3 4>> <<He>> begins to erratically move on your face, losing all semblance of control as <<he>> cums, squirting in your mouth. <<case 5>> <<He>> gasps and shudders, pressing down on your face at the moment of orgasm. <</switch>> _Nectar squirts all over your face, and some leaks into your mouth. <span class="purple">It tastes fizzy,</span> and makes your head spin. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<nectarfed 20>><<bodyliquid "face" "nectar">> <<elseif $NPCList[_nn].vagina is "facesitanal">> <<switch random(1,5)>> <<case 1 2>> <<He>> moans and grinds <<his>> ass against your mouth, shaking as <<he>> comes to orgasm. <<case 3 4>> <<He>> begins to rhythmically press <<his>> ass against you, getting faster as <<he>> builds to a shuddering climax. <<case 5>> <<He>> gasps and shudders, pressing down on your face at the moment of orgasm. <</switch>> _Nectar squirts all over your face from <<his>> pussy. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "nectar">> <<elseif $NPCList[_nn].vagina is "otheranus">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<if random(1)>> <<He>> gasps into your mouth, thrusting <<himself>> on your <<penis>>. <<else>> <<He>> wraps <<his>> arms around your neck and <<his>> legs around your waist, moaning into your mouth as <<he>> cums. <</if>> <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, <<his>> ass pushing against you as <<he>> releases a final moan. <<case 3 4>> <<He>> shakes against your <<penis>> as <<he>> cums, moaning and grinding into you as deep as <<he>> can. <<case 5>> <<He>> bucks into your crotch as <<he>> cums, giggling. "Not my usual hole, but sweet fuck that felt good." <</switch>> <</if>> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "nectar">> <<elseif $NPCList[_nn].vagina is "penis">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<if random(1)>> <<He>> shudders around your <<penis>>, thrusting <<himself>> onto you. "You're way better than a vine," <<he>> murmurs into your mouth. <<else>> <<He>> wraps <<his>> arms around your neck and <<his>> legs around your waist, moaning into your mouth as <<he>> cums. <</if>> <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> throws <<his>> arms around your shoulders as <<he>> cums, driving <<his>> pussy down hard against your <<penis>>. "Your cock was made for me," <<he>> whispers. <<case 3 4>> <<He>> sighs as <<he>> cums, staring into your eyes. "I want to keep you here and do this every day." <<case 5>> <<He>> screams and pounds your <<penis>> with <<his>> pelvis as <<he>> cums, <<his>> whole body shaking. <</switch>> <</if>> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance" or $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, grinding against your $worn.genitals.name. <<else>> <<He>> screams as <<he>> cums against your $worn.genitals.name. "I hate metal," <<he>> gasps, looking down at it in disappointment. <</if>> <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance" or $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, but you can feel <<him>> frowning. "I wanted to fuck you," <<he>> murmurs in disappointment. <<else>> <<He>> groans as <<he>> cums against the tip of your <<penisSimple>>. "I wanted to fuck you," <<he>> gasps, looking down at it in disappointment. <</if>> <<elseif $NPCList[_nn].vagina is "frot">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> grinds <<his>> clit against your <<penis>> and moans into your mouth, shuddering against you. <<else>> <<He>> grinds <<his>> clit hard against your <<penis>> as <<he>> cums, ejaculating on your cock. "I still wish you penetrated me," <<he>> says, "but that was good." <</if>> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "nectar">> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you fuck <<his>> mouth, holding on to your thighs. <<He>> pulls away, smiling deliriously. <<case 3 4>> <<He>> holds on to your thighs for stability as <<he>> cums, not breaking the seal <<his>> lips have on your <<penis>> until it's over. <<case 5>> <<He>> screams in pleasure, impaling <<his>> throat on your <<penis>>. Once <<his>> orgasm passes, <<he>> licks your dick all over. <</switch>> Your <<penis>> is left sticky with nectar. <<bodyliquid "penis" "nectar">> <<elseif $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<switch random(1, 5)>> <<case 1 2>> <<He>> wraps <<his>> arms around your neck and mashes your lips together, moaning into your mouth. <<case 3 4>> <<He>> screams into your mouth as <<he>> cums, before pulling away breathlessly. "Best kiss I've ever had," <<he>> whispers. <<case 5>> <<He>> grabs your face and kisses you as <<he>> cums. Once the orgasm passes, <<he>> begins plastering your face with kisses, leaving syrupy sweet nectar all over your face. <<set $hygiene += 500>><<bodyliquid "face" "nectar">> <</switch>> <<elseif $NPCList[_nn].chest is "mouth" or $NPCList[_nn].chest is "mouthentrance" and $NPCList[_nn].pronoun is "f">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, smiling down at you. "Drink as much as you like. Drink until you can't think anymore." <<case 3 4>> <<He>> moans in pleasure, cradling you against <<his>> chest. "Don't let me stop you," <<he>> coos. "Go for as long as you like." <<case 5>> <<He>> grabs your head and pulls you against <<his>> $NPCList[_nn].breastsdesc, causing _nectar to squirt over your face. <<set $hygiene += 500>><<bodyliquid "face" "nectar">> <</switch>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, falling back and resting <<his>> arm over <<his>> eyes. <<case 3 4>> <<He>> moans as <<his>> $NPCList[_nn].breastsdesc shake as <<he>> cums. <<case 5>> <<He>> screams as <<he>> cums, nectar running down <<his>> thighs. <<He>> scoops some with a finger, dons a playful smile, then flicks it across your face. "Now you're messy, just like me!" <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "nectar">> <</switch>> <<else>> <<He>> convulses in orgasmic bliss. <</if>> <<else>> <!-- Male PLANT --> <<if $NPCList[_nn].penis is "idle">> <<He>> groans as nectar splurts from <<his>> $NPCList[_nn].penisdesc onto the ground. <<elseif $NPCList[_nn].penis is "thighs">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth, shuddering as <<his>> penis pumps nectar over your thighs. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> trembles as <<he>> cums. <<He>> pulls <<his>> $NPCList[_nn].penisdesc out and ejaculates onto the backs of your thighs. <<case 3 4>> <<He>> grasps your thighs and fucks them with a violent intensity as <<he>> cums, spraying nectar over your legs. <<case 5>> <<He>> moans as <<he>> cums, ejaculating a massive load that splatters nectar over your thighs and tummy. <<tummyejacstat>><<bodyliquid "tummy" "nectar">> <</switch>> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "nectar">> <</if>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, thrusting against your $worn.genitals.name. <<else>> <<He>> screams as <<he>> cums against your $worn.genitals.name. Nectar runs down your thighs. "I hate metal," <<he>> gasps, looking down at it in disappointment. <</if>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "nectar">><<bodyliquid "thigh" "nectar">> <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> leans into you and mashes <<his>> lips against yours, ejaculating sticky nectar onto the front of your vagina. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> holds you firm by the hip with one hand and holds <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your <<pussy>>. Nectar covers you and pools around your legs. <<case 3 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<pussy>> with a squeal, sending sticky streams of nectar running down your cunt. <<case 5>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending sticky ropes of nectar onto your <<pussy>> and <<bottom>>. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "nectar">> <</if>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, thrusting against your $worn.genitals.name. <<else>> <<He>> screams as <<he>> cums against your $worn.genitals.name. Nectar runs down your thighs. "I hate metal," <<he>> gasps, looking down at it in disappointment. <</if>> <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> speeds up and attempts to penetrate you, but collapses into an orgasm before <<he>> can. <<He>> moans in disappointment into your mouth. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating over your labia. Nectar drips into a pool beneath you. "Damn it! I should've been faster." <<case 3 4>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate, sending sticky streams of nectar running down your labia. "Oh, come on!" <<he>> whines. "Can I have a do-over?" <<case 5>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending sticky ropes of nectar onto your <<pussy>> and <<bottom>>. "I wish I could have cum inside you. I just made a mess instead." <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "nectar">> <</if>> <<elseif $NPCList[_nn].penis is "vagina">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar <<if canImpregnateParasite("vagina")>><span class="red">alongside something else </span><</if>>deep into your <<pussy>>. "You're way better than a vine," <<he>> murmurs into your mouth. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "nectar">> /* ToDo: Pregnancy, figure out how plantpeople interact with pregnancy <<recordVaginalSperm "pc" $NPCList[_nn] "plant">> */ <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "nectar">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "nectar">> <<impregnateParasite "vine" 400 "vagina">><<fertiliseParasites "vagina">> <<case 1>> <<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your <<pussy>>. You snicker into <<his>> mouth. "Shut up," <<he>> mumbles into yours. "Don't laugh." <<default>> <<if random(1)>> <<He>> squeals into your mouth as <<he>> cums, <<his>> $NPCList[_nn].penisdesc pumping nectar into your <<pussy>>. <<else>> <<He>> shudders as <<he>> cums, streams of nectar flooding into your <<pussy>>. <<He>> pulls away from you and licks <<his>> lips. "Can I keep you?" <</if>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "nectar">> /* ToDo: Pregnancy, figure out how plantpeople interact with pregnancy <<recordVaginalSperm "pc" $NPCList[_nn] "plant">> */ <</switch>> <<else>> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar <<if canImpregnateParasite("vagina")>><span class="red">alongside something else </span><</if>>deep into your <<pussy>>. "You're way better than a vine," <<he>> murmurs in your ear. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "nectar">> /* ToDo: Pregnancy, figure out how plantpeople interact with pregnancy <<recordVaginalSperm "pc" $NPCList[_nn] "plant">> */ <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "nectar">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "nectar">> <<impregnateParasite "vine" 400 "vagina">><<fertiliseParasites "vagina">> <<case 1>> <<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your <<pussy>>. You restrain a snicker. "Shut up," <<he>> mutters. "I-I have vines, okay? Don't laugh." <<default>> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans and thrusts deep into your <<pussy>> as <<he>> cums, holding <<his>> $NPCList[_nn].penisdesc against your womb. You feel warm as nectar fills you. <<case 3 4>> <<He>> grasps your shoulders, pulling you deeper onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. Nectar fills your <<pussy>>, leaving you breathless. <<case 5>> <<He>> squeals and thrusts into your <<pussy>> one final time, pumping nectar into your womb. "Can I keep you? We can do this every day." <</switch>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "nectar">> /* ToDo: Pregnancy, figure out how plantpeople interact with pregnancy <<recordVaginalSperm "pc" $NPCList[_nn] "plant">> */ <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "cheeks">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, spraying nectar over your <<bottom>>. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> trembles as <<he>> cums, withdrawing <<his>> $NPCList[_nn].penisdesc from your cheeks and ejaculating onto your <<bottom>>. <<case 3 4>> <<He>> grasps your thighs as <<he>> pushes <<his>> $NPCList[_nn].penisdesc against your <<bottom>> and ejaculates between your cheeks. <<case 5>> <<He>> squeezes your cheeks together and moans as <<he>> cums, sending out a massive load that covers your <<bottom>> and pools beneath you. <<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</switch>> <</if>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> squeals into your mouth as <<he>> cums, the tip of <<his>> penis bumping against your anal shield. <<else>> <<He>> moans and ejaculates onto your <<bottom>>. "I hope you can get this unstuck sometime," <<he>> mutters, poking your anal shield. "Poor <<girl>>." <</if>> <<elseif $NPCList[_nn].penis is "anusentrance">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> leans into you and mashes <<his>> lips against yours, ejaculating sticky nectar onto your <<bottom>>. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> holds your ass cheek with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other as <<he>> ejaculates onto your <<bottom>>. Nectar drips down, pooling beneath you. <<case 3 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<bottom>>, sending warm nectar dripping down your cheeks. <<He>> playfully pats your <<bottom>>. <<case 5>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending sticky ropes of nectar onto your <<bottom>>. It pools beneath you. <<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</if>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> squeals into your mouth as <<he>> cums, the tip of <<his>> penis bumping against your anal shield. <<else>> <<He>> moans and ejaculates onto your <<bottom>>. "I hope you can get this unstuck sometime," <<he>> mutters, poking your anal shield. "Poor <<girl>>." <</if>> <<elseif $NPCList[_nn].penis is "anusimminent">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> speeds up and attempts to penetrate you, but collapses into an orgasm before <<he>> can. <<He>> moans in disappointment into your mouth. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums before <<he>> can penetrate your anus, ejaculating over your labia. Nectar drips into a pool beneath you. "Damn it! I should've been faster." <<case 3 4>> <<He>> ejaculates onto your <<bottom>> before <<he>> can penetrate, sending sticky streams of nectar running down your cheeks. "Oh, come on!" <<he>> whines. "Can I have a do-over?" <<case 5>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending sticky ropes of nectar onto your <<pussy>> and <<bottom>>. "I wish I could have cum inside you. I just made a mess instead." <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</if>> <<elseif $NPCList[_nn].penis is "anus">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar <<if canImpregnateParasite("anus")>><span class="red">alongside something else </span><</if>>deep into your anus. "Something to remember me by," <<he>> murmurs, biting your lip. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "nectar">> <<impregnateParasite "vine" 400>><<fertiliseParasites>> <<case 1>> <<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your anus. "Shut up," <<he>> mumbles into your mouth. "Don't laugh." <<default>> <<if random(1)>> <<He>> squeals into your mouth as <<he>> cums, <<his>> $NPCList[_nn].penisdesc pumping nectar into your anus. <<else>> <<He>> shudders as <<he>> cums, streams of nectar flooding into your <<bottom>>. <<He>> pulls away from you and licks <<his>> lips. "Can I keep you?" <</if>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "nectar">> <</switch>> <<else>> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your ass. You gasp as sticky waves of nectar <<if canImpregnateParasite("anus")>><span class="red">alongside something else </span><</if>>pump into you. "Something to remember me by," <<he>> whispers huskily. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "nectar">> <<impregnateParasite "vine" 400>><<fertiliseParasites>> <<case 1>> <<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your anus. "Shut up," <<he>> mutters. "I-I have vines, okay? Don't laugh." <<default>> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans and thrusts deep into your <<bottom>> as <<he>> cums. You gasp as you take <<his>> entire length and nectar fills your insides. <<case 3 4>> <<He>> grasps your shoulders and pulls you back onto <<his>> $NPCList[_nn].penisdesc with a squeal. You feel nectar fill your <<bottom>>. <<case 5>> <<He>> squeals and thrusts into your <<bottom>> one final time, pumping nectar into your anus. "Can I keep you? We can do this every day." <</switch>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "nectar">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 5)>> <<case 1 2>> <<He>> grasps the back of your neck as <<he>> bears down on your <<breasts>>, moaning as <<he>> cums. <<if $position is "missionary">> _Nectar shoots between your <<breasts>> and covers your face, with some landing in your mouth. <span class="purple">It tastes fizzy,</span> and makes your head spin. "Pretty good, huh?" <<faceejacstat>><<nectarfed 8>><<bodyliquid "face" "nectar">> <<else>> _Nectar shoots between your <<breasts>> and covers your stomach. "Look at the mess I made," <<he>> giggles. <<tummyejacstat>><<bodyliquid "tummy" "nectar">> <</if>> <<case 3 4>> <<He>> rubs the tip of <<his>> $NPCList[_nn].penisdesc between your <<breasts>> as <<he>> cums. Sticky nectar runs down your chest. <<case 5>> <<He>> pushes your <<breasts>> together tight against <<his>> $NPCList[_nn].penisdesc as <<he>> cums, ejaculating onto them and leaving your chest slick. <</switch>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "nectar">> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> holds <<his>> $NPCList[_nn].penisdesc tight, working it while aiming straight at your face. <span class="pink">Thick ropes of _nectar cover your face, with some landing in your mouth.</span> <span class="purple">It tastes fizzy,</span> and makes your head spin. "Pretty good, huh?" <<faceejacstat>><<oralejacstat>><<ejacstat>><<set $hygiene += 500>><<nectarfed 8>><<bodyliquid "face" "nectar">><<bodyliquid "mouth" "nectar">> <<case 1>> <<He>> squeaks as a pathetic dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc and down your chin. "Shut up," <<he>> mutters. "I-I have vines, okay? Don't laugh." <<default>> <<switch random(1, 5)>> <<case 1 2>> <<He>> cups your chin with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your face. <<He>> spends a few moments stroking your cheek, smiling. <<case 3 4>> <<He>> arches <<his>> back and moans, ejaculating _nectar onto your face. "Now you taste as sweet as you look!" <<case 5>> <<He>> holds your cheek with <<his>> hand and holds your mouth open with <<his>>, splurting _nectar into your mouth. <span class="purple">It tastes fizzy,</span> and makes your head spin. "Pretty good, huh?" <<oralejacstat>><<nectarfed 8>><<bodyliquid "mouth" "nectar">> <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "nectar">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cups your hair, ejaculating onto your lips as you barely brush against the tip of <<his>> $NPCList[_nn].penisdesc. <<He>> seems disappointed. "Don't you want to taste me?" <<case 3 4>> <<He>> ejaculates onto your face before <<he>> can penetrate, sending sticky streams of nectar running down your cheeks. "Oh, come on!" <<he>> whines. "Can I have a do-over?" <<case 5>> <<He>> grasps your hair and tries to force <<his>> $NPCList[_nn].penisdesc into your mouth, but <<his>> spasms sabotage <<his>> efforts. Thick ropes of _nectar cover your face, and lands in your mouth. <span class="purple">It tastes fizzy,</span> and makes your head spin. "Man, I wanted to give you more." <<oralejacstat>><<nectarfed 8>><<bodyliquid "mouth" "nectar">> <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "nectar">> <<elseif $NPCList[_nn].penis is "mouth">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> holds your head in place and thrusts <<his>> $NPCList[_nn].penisdesc down your throat, filling your mouth with load after load of _nectar. <<case 1>> <<He>> ejaculates, and a thin dribble of _nectar leaks into your mouth. <<default>> <<switch random(1, 5)>> <<case 1 2>> <<He>> cups your chin with one hand and your hair with the other, thrusting deep into your mouth as <<he>> cums. _Nectar streams down your throat and fills your mouth. <<case 3 4>> <<He>> grasps the base of <<his>> $NPCList[_nn].penisdesc and moans as <<he>> ejaculates into your mouth. You feel _nectar drip down your throat. <<case 5>> <<He>> sighs and strokes you on the head as <<he>> cums, leaking _nectar into your mouth. <</switch>> <</switch>> <span class="purple">It tastes fizzy,</span> and makes your head spin. <<He>> grins. "Delicious, isn't it? It's all for you." <<elseif $NPCList[_nn].penis is "feet">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, spasming around your feet. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans and grasps your ankles as <<he>> cums. "I think I underestimated humans. You know how to work with what you've got!" <<case 3 4>> <<He>> arches <<his>> back as <<he>> cums against your feet. "Most plants don't like being underfoot. Guess I'm the exception!" <<case 5>> <<He>> screams as <<he>> cums, almost making you jump. <<His>> nectar runs over your feet. <</switch>> <</if>> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "nectar">> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> gasps into your mouth as you finish <<him>> off. Sticky _nectar coats your hands. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs in contentment as <<he>> cums on your hands. "Never gotten serviced like that before..." <<case 3 4>> <<He>> cums on your hands, slickening them with nectar. "I feel so special. Thank you!" <<case 5>> <<He>> spasms and moans, shooting thick streams of nectar and coating your hands. With a mischievous look, <<he>> pushes your hand into your mouth, filling it with _nectar. <span class="purple">It tastes fizzy,</span> and makes your head spin. "Got you." <<nectarfed 8>> <</switch>> <</if>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "nectar">><<bodyliquid "rightarm" "nectar">> <<elseif $NPCList[_nn].penis is "leftarm" or $NPCList[_nn].penis is "rightarm">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<if random(1)>> <<He>> moans into your mouth as you pump <<his>> length. Your hand gets covered in _nectar. <<else>> <<He>> wraps <<his>> arms around your neck as <<he>> cums, squealing into your mouth. _Nectar sprays out and coats your hand. <</if>> <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs in contentment as <<he>> cums on your hand. "Never gotten serviced like that before..." <<case 3 4>> <<He>> cums on your hand, slickening it with nectar. "I feel so special. Thank you!" <<case 5>> <<He>> spasms and moans, shooting thick streams of nectar and coating your hands. With a mischievous look, <<he>> pushes your hand into your mouth, filling it with _nectar. <span class="purple">It tastes fizzy,</span> and makes your head spin. "Got you." <<nectarfed 8>> <</switch>> <</if>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<if $NPCList[_nn].penis is "leftarm">><<bodyliquid "leftarm" "nectar">><<else>><<bodyliquid "rightarm" "nectar">><</if>> <<elseif $NPCList[_nn].penis is "otheranus">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<if random(1)>> <<He>> gasps into your mouth, thrusting <<himself>> on your <<penis>>. _Nectar sprays onto your stomach. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "nectar">> <<else>> <<He>> wraps <<his>> arms around your neck and <<his>> legs around your waist, moaning into your mouth as <<he>> cums. Nectar sprays onto <<his>> own stomach. <</if>> <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, <<his>> ass pushing against you as <<he>> releases a final moan. _Nectar sprays from <<his>> penis onto your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "nectar">> <<case 3 4>> <<He>> shakes against your <<penis>> as <<he>> cums, moaning and grinding into you as deep as <<he>> can. <<He>> ejaculates nectar onto the ground. <<case 5>> <<He>> bucks into your crotch as <<he>> cums, panting. "Not usually the one to take it, but sweet fuck that felt good." <</switch>> <</if>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, grinding <<his>> ass against your $worn.genitals.name. <<else>> <<He>> screams as <<he>> cums against your $worn.genitals.name. "I hate metal," <<he>> gasps, looking down at it in disappointment. <</if>> <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> speeds up and attempts to impale <<his>> ass on your <<penis>>, but collapses into an orgasm before <<he>> can. <<He>> moans in disappointment into your mouth. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums before <<he>> can force you inside <<him>>, ejaculating nectar onto the ground. "Damn it! I should've been faster." <<case 3 4>> <<He>> convulses in orgasmic bliss before you can penetrate, sending sticky streams of nectar out of <<his>> penis. "Oh, come on!" <<he>> whines. "Can I have a do-over?" <<case 5>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending sticky ropes of nectar onto the ground. "Would it have killed you to fuck me properly?" <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "nectar">> <</switch>> <</if>> <<elseif ($NPCList[_nn].penis is "penis" or $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent") and playerChastity("penis")>> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans into your mouth as <<he>> cums, grinding <<his>> <<penis>> against your $worn.genitals.name. <<else>> <<He>> screams as <<he>> cums against your $worn.genitals.name. "I hate metal," <<he>> gasps, looking down at it in disappointment. <</if>> <<elseif $NPCList[_nn].penis is "penis" or $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<He>> moans in ecstasy, kneading <<his>> penis against yours as <<he>> cums. <<else>> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you knead your penises together, moaning with pleasure. <<case 3 4>> <<He>> wraps <<his>> legs around yours as <<his>> body shakes. "Man," <<he>> giggles. "Who needs vines, anyway?" <<case 5>> <<He>> moans and <<his>> legs shake as <<he>> cums against your <<penis>>. <</switch>> Nectar coats your <<penis>>. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "nectar">> <</if>> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you fuck <<his>> mouth, holding on to your thighs. <<He>> pulls away, smiling deliriously. <<case 3 4>> <<He>> holds on to your thighs for stability as <<he>> cums, not breaking the seal <<his>> lips have on your <<penis>> until it's over. <<case 5>> <<He>> screams in pleasure, impaling <<his>> throat on your <<penis>>. Once <<his>> orgasm passes, <<he>> licks your dick all over. <</switch>> Your <<penis>> is left sticky with nectar. <<bodyliquid "penis" "nectar">> <<elseif $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <<switch random(1, 5)>> <<case 1 2>> <<He>> wraps <<his>> arms around your neck and mashes your lips together, moaning into your mouth. <<case 3 4>> <<He>> screams into your mouth as <<he>> cums, before pulling away breathlessly. "Best kiss I've ever had," <<he>> whispers. <<case 5>> <<He>> grabs your face and kisses you as <<he>> cums. Once the orgasm passes, <<he>> begins plastering your face with kisses, leaving syrupy sweet nectar all over your face. <<set $hygiene += 500>><<bodyliquid "face" "nectar">> <</switch>> <<elseif $NPCList[_nn].chest is "mouth" or $NPCList[_nn].chest is "mouthentrance" and $NPCList[_nn].pronoun is "f">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, smiling down at you. "Drink as much as you like. Drink until you can't think anymore." <<case 3 4>> <<He>> moans in pleasure, cradling you against <<his>> chest. "Don't let me stop you," <<he>> coos. "Go for as long as you like." <<case 5>> <<He>> grabs your head and pulls you against <<his>> $NPCList[_nn].breastsdesc, causing _nectar to squirt over your face. <<set $hygiene += 500>><<bodyliquid "face" "nectar">> <</switch>> <<else>> <<He>> convulses in orgasmic bliss. <</if>> <</if>> <!-- Additional notes for kissing or suckling finishes --> <<if ($NPCList[_nn].chest is "mouth" or $NPCList[_nn].chest is "mouthentrance") and $NPCList[_nn].pronoun is "f">> _Nectar leaks from <<his>> nipple into your mouth. <span class="purple">It tastes fizzy,</span> and makes your head spin. <<nectarfed 20>> <<elseif $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> <span class="purple">_fizzyNectar floods your mouth</span> and makes your head spin. <<nectarfed 30>> <</if>> <br><br> <!-- Retracting the vines --> <<if $tentacledisable is "f">> <<tentacles>> <</if>> <!-- Finishing moves for if the player didn't cum. Plantpeople don't really care about making their partners cum, they only care about the semen. --> <<if _args[0] isnot "short">> <<if $orgasmcurrent is 0 and !playerChastity("penis") and ($consensual is 1 or $pain gte 100)>> "Hey," <<he>> says. "You didn't cum. That's not fair, is it?" <<if $penisuse is "tentacle">> <<if $player.condom>> <<removePlayerCondom>> <<He>> removes your condom as the <<else>> The <</if>> $tentaclePenis <<slithers>> back to your <<penis>> and opens at the tip. "You'll cum," <<he>> whispers to you. "You'll give me your seed. I'll make sure of it." <<if $consensual is 0>> With how much pain you're in, you can't do anything to stop <<him>>. <</if>> <br><br> The $tentaclePenis caresses and kneads your length, swallowing you to the base. Slick nectar leaks around your penis, <span class="lewd">magnifying your sensitivity</span>. <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> The <<person>> leans back in and presses <<his>> lips to yours, swirling <<his>> tongue in your mouth and smearing more nectar around your lips. <span class="purple">Your mind swims.</span> <<nectarfed 15>> <<else>> The <<person>> leans in and plants kisses all along your face and neck, smearing you with more nectar. <<bodyliquid "face" "nectar">> <</if>> <br><br> You can't take any more. <<orgasm>> <<if $semen_amount lte (($semen_volume / 24) * 6) or $orgasmcount gte 24>> "Huh?" <<He>> blinks in confusion, looking at the $tentaclePenis. "Was... was that it? Come on!" <<He>> frowns in annoyance as the $tentaclePenis retracts again. <<else>> <<He>> moans alongside you, sighing happily as the $tentaclePenis milks you of your cum before finally retracting again. "Delicious." <<set _orgasm to 1>> <</if>> <<unset $tentaclePenis>><<set $penisuse to 0>><<set $penisstate to 0>> <<elseif $penisuse is "othervagina" or $penisuse is "otheranus">> <<if $player.condom>> <<removePlayerCondom>> <<He>> removes your condom and <<else>> <<He>> <</if>> lowers <<himself>> back onto your <<penis>>. "You'll cum," <<he>> whispers to you. "You'll give me your seed. I'll make sure of it." <<if $consensual is 0>> With how much pain you're in, you can't do anything to stop <<him>>. <</if>> <br><br> The <<person>> bounces on your <<penis>>, occasionally rocking back and forth. <<He>> places <<his>> hands on your shoulder to give <<himself>> more leverage. <<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">> The <<person>> leans back in and presses <<his>> lips to yours, swirling <<his>> tongue in your mouth and smearing more nectar around your lips. <span class="purple">Your mind swims.</span> <<nectarfed 15>> <<else>> The <<person>> leans in and plants kisses all along your face and neck, smearing you with more nectar. <<bodyliquid "face" "nectar">> <</if>> <br><br> You can't take any more. <<orgasm>> <<if $semen_amount lte (($semen_volume / 24) * 6) or $orgasmcount gte 24>> "Huh?" <<He>> blinks in confusion, looking down at your <<penis>>. "Was... was that it? Come on!" <<He>> frowns in annoyance. <<elseif $parasite.penis.name>> "Huh?" <<He>> blinks in confusing, before groaning. "Ugh, that stupid $parasite.penis.name! No fair!" <<He>> frowns in annoyance. <<else>> <<He>> moans alongside you, sighing happily as you fill <<his>> <<if $penisuse is "othervagina">>cunt<<else>>ass<</if>> with semen. "You're such a good pollinator." <<set _orgasm to 1>> <</if>> <<elseif $penisuse is "othermouth">> <<if $player.condom>> <<removePlayerCondom>> <<He>> removes your condom and <<else>> <<He>> <</if>> lowers <<his>> face back down to your <<penis>> and licks the tip. "You'll cum," <<he>> whispers to you. "You'll give me your seed. I'll make sure of it." <<if $consensual is 0>> With how much pain you're in, you can't do anything to stop <<him>>. <</if>> <br><br> <<He>> thrusts <<his>> mouth back around your penis, swirling <<his>> tongue around the tip. Slick nectar coats your penis, <span class="lewd">magnifying your sensitivity</span>. <<if $player.penisExist and $player.vaginaExist and random(1)>> <<He>> uses <<his>> free hand to thrust two fingers into your <<pussy>>, pistoning in and out. <<elseif $analdisable is "f" and random(1)>> <<He>> uses <<his>> free hand to thrust a finger into your <<bottom>>, pistoning in and out. <<else>> <<He>> uses <<his>> free hands to caress and tweak your <<breasts>>, reaching up. <</if>> <br><br> You can't take any more. <<orgasm>> <<if $semen_amount lte (($semen_volume / 24) * 6) or $orgasmcount gte 24>> "Hrm?" <<He>> blinks in confusion, looking at the penis in <<his>> mouth. <<He>> experimentally licks it a few more times, before pulling away and frowning. "Was... was that it? Come on!" <<elseif $parasite.penis.name>> "Hrm?" <<He>> blinks in confusing, before groaning and pulling away. "Ugh, that stupid $parasite.penis.name! No fair! Thought I tasted something funny..." <<He>> frowns in annoyance. <<else>> <<He>> moans alongside you, sighing happily as you fill <<his>> mouth with semen. When you're finished, <<he>> pulls away and licks <<his>> lips. "Delicious." <<set _orgasm to 1>> <</if>> <<else>> <<He>> thinks for a moment, before shrugging. "Oh well." <</if>> <br><br> <</if>> <</if>> <</widget>><<widget "ejaculation-robin">> <<set $ejaculating to 1>> <!-- Changing rows to future-proof the code: from $NPCList[0] to $NPCList[_nn], _nn being the main ejaculation loop handler --> <!-- Female ROBIN --> <<if $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<if $consensual is 1>> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans and rubs <<his>> crotch against your face with <<his>> hips, small thighs shaking with orgasm. <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, body twitching uncontrollably. <<case 5>> <<He>> screams, cupping the back of your head in <<his>> hands and grinding <<his>> clit against your nose. <</switch>> <<elseif $NPCList[_nn].vagina is "leftarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, shaking <<his>> slim thighs together against your hand as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt spasming against your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case 5>> <<He>> screams, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, knees knocking as <<his>> body convulses. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 3 4>> <<He>> goes red in the face and neck, mouth agape as <<he>> cums silently, cunt spasming against your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case 5>> <<He>> screams, grabbing your hand and fucking <<his>> pussy with your fingers. Your fingers are soaked in ejaculate. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, releasing you and pulling back <<his>> hand, licking your wetness off <<his>> fingers. <<case 3 4>> <<He>> moans loudly and shakes, dripping ejaculate on the ground; <<he>> withdraws <<his>> hand and sighs. <<case 5>> <<He>> screams as <<he>> comes, soaking <<his>> own pussy and thighs in ejaculate. "I love pleasuring myself with you." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "leftDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyLeft.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "rightDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyRight.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "feet">> <<switch random(1, 4)>> <<case 1 2>> <<He>> moans as you knead <<his>> pussy, jamming your toes inside with <<his>> hands as <<he>> finishes cumming. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case 3 4>> <<He>> shakes bodily as <<he>> cums, twitching underneath your feet and cumming between your toes. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Your underwear is really hard," <<he>> says. <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you scissor your pussies together, moaning with pleasure. <<case 3 4>> <<He>> moans as <<he>> grinds downs hard on your <<pussy>> to finish, thin legs shaking as <<he>> cums. <<case 5>> <<He>> screams, cupping <<his>> small hands under your shoulders as <<his>> entire body shakes. Ejaculate drenches your crotch as <<he>> squirts. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shudders with pleasure, exhaling warmly against your crotch as <<he>> comes, leaving you wet with saliva and your own fluids. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> nose into your crotch and giving you a long, final, wet lick. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 5>> <<He>> screams into your crotch as <<he>> cums, pinching <<his>> hands between <<his>> thighs and buckling over, ejaculate streaming down <<his>> thighs. <</switch>> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Your underwear is really hard," <<he>> says. <<elseif $NPCList[_nn].vagina is "otheranus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, driving <<his>> ass hard against you as <<he>> releases a final moan. <<case 3 4>> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> ass deeply with your cock and moaning. <<case 5>> <<He>> screams and bucks into your crotch as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your legs. "I feel so good when I'm with you." <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "penis">> <<switch random(1, 5)>> <<case 1 2>> <<He>> grabs your shoulders with <<his>> small hands as <<he>> cums, bouncing down hard against your cock as <<he>> shudders with pleasure. "You make me feel so good." <<case 3 4>> <<He>> sighs as <<he>> cums, reddening and going into a full body convulsion. Ejaculate soaks your crotch. <<case 5>> <<He>> cries out and bucks on your lap as <<he>> cums, squirting ejaculate from <<his>> pussy and drenching your crotch and legs. <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "It's really hard." <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> cums on your <<penis>> as you rub against the entrance and moans with pleasure. <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "It's really hard." <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> bucks <<his>> ass against your cock as <<he>> cums, body shaking involuntarily. <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "It's really hard." <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> clit hard against your cock as <<he>> cums, ejaculating on your cock. <<He>> smiles as <<he>> gets up. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 4)>> <<case 1 2>> <<He>> cums as you fuck <<his>> mouth, smiling as <<he>> finishes. <<case 3 4>> <<He>> cums as you fuck <<his>> mouth, leaving your <<penis>> a slimy mess. "I love what you do to me." <</switch>> <<else>> <<He>> convulses in orgasmic bliss. <</if>> <<else>><!-- There should be non non-consensual Robin events --> <<He>> cries out as <<he>> orgasms. <<He>> stops moving save for ragged breathing. <</if>> <br><br> <</if>> <!-- Male ROBIN --> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $consensual is 1>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif npcHasStrapon(_nn)>> <<He>> moans and shivers in orgasmic bliss, grinding the strap-on against <<his>> genitals. <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You giggle at the sight. <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, pushing <<his>> crotch hard into yours as <<he>> cums and ejaculating onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groans as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "Do they make softer ones?" <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds you still by the hips with one hand and with the other on <<his>> cock, ejaculates onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "Do they make softer ones?" <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy; <<he>> seems disappointed. <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your <<pussy>>; <<he>> looks disappointed. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. You feel warm as semen fills your vagina. <<case 4 5 6>> <<He>> quiets and grabs your shoulders with <<his>> small hands, pulling you onto <<his>> cock as <<he>> cums. Semen fills your <<pussy>>, leaving you breathless. <<case 7>> <<He>> convulses and grinds down on your crotch as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "Do they make softer ones?" <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <<case 4 5 6>> <<He>> grabs your thighs, pushing <<his>> crotch hard against your ass and ejaculating between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch. <<He>> seems pleased. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "Do they make softer ones?" <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> palms your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel warm semen dripping down your bottom. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and down your crotch. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "Do they make softer ones?" <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your ass and drips down your crack; <<he>> seems disappointed. <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems upset. <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and crotch. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts into your ass as <<he>> cums. You gasp as you feel semen filling you. <<case 4 5 6>> <<He>> wordlessly grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you moan with pleasure. <<case 7>> <<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. You're surprised at the amount; cum oozes from your ass and runs down your legs. <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your <<breasts>> together tight on <<his>> cock as <<he>> cums, ejaculating onto them. Your body feels slick with cum. <<case 4 5 6>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and quietly ejaculates on them. Your <<breasts>> feel cool as semen drips down them. <<case 7>> <<He>> puts <<his>> hand behind your neck and bears down on your <<breasts>>, grunting as <<he>> cums; semen shoots between your <<breasts>> and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>>. <</switch>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face. <<He>> giggles and <<his>> face looks excited. <<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your face. Warm cum drips down your forehead and nose. <<He>> smiles and cleans you off. <<case 7>> <<He>> gasps and strokes <<his>> cock while aiming straight at your mouth. Thick ropes of cum cover your face and push past your closed lips into your mouth. You're impressed by the volume and <<he>> looks oddly pleased with <<himself>>. <<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<faceejacstat>><<ejacstat>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups the back of your head, ejaculating onto your lips as you barely brush against the tip of <<his>> penis; <<he>> seems disappointed with <<his>> lack of control. <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; <<he>> seems disappointed. <<case 7>> <<He>> cups your head but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<elseif $NPCList[_nn].penis is "mouth">> <!-- this is picking up women NPCs...? --> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups you under the chin with one hand and holds the back of your head with the other, thrusting into your mouth as <<he>> cums. Ejaculate streams down your throat and fills your mouth. <<case 4 5 6>> <<He>> grasps the base of <<his>> cock and moans, quietly ejaculating into your mouth. You feel warm cum fill your mouth and drip down your throat. <<case 7>> <<He>> palms your head, wildly thrusting <<his>> cock in your mouth as <<he>> cums. Semen streams down your throat, fills your mouth and covers your face as <<he>> flails. "Wow, that was fun!" <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. <</switch>> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <<case 4 5 6>> <<He>> quietly cums on your hands, slickening them with semen. <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. <<He>> giggles and apologises. <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your left hand and covering it with cum. "You make me feel good." <<case 4 5 6>> <<He>> quietly cums on your left hand. Semen drips down your fingers. "I love how you make me feel." <<case 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. You're impressed by the volume from such a small body. <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze. Your hand is covered in warm semen. "You make me feel special." <<case 4 5 6>> <<He>> quietly cums on your right hand. Semen cools on your fingers. "I love how you make me feel." <<case 7>> <<He>> grunts and shoots thick ropes of semen onto your hands, making an impressive mess. You're impressed by the volume from such a small body. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 4)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. <<He>> laughs at the mess. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> cock and moans, ejaculating on the ground. "You make me feel good." <<case 3>> <<He>> strokes <<his>> penis and, aiming at your ass, ejaculates on your bottom. "That was fun!" <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating on your <<breasts>>. <<He>> giggles at the mess <<hes>> made. <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass, <<his>> ejaculate spraying on <<his>> own stomach. "That feels so good." <<case 4 5>> <<He>> whimpers as you pound <<his>> ass, moaning in pleasure as <<he>> ejaculates on the ground. You roll off <<him>>. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. "That was great; when can we do it again?" <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Isn't that uncomfortable?" <<he>> asks. "Do they make softer ones?" <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, grabbing your ass from behind and grinding your cock against <<his>> ass to finish. <<case 4 5>> <<He>> moans as you rub against <<his>> anus and ejaculates on the ground. <<He>> smiles contentedly. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <</switch>> <<elseif $NPCList[_nn].penis is "penis" and playerChastity("penis")>> <<He>> gasps as <<he>> shoots <<his>> cum over your $worn.genitals.name. <<He>> strokes your face. "You're so cute." <<elseif $NPCList[_nn].penis is "penis">> <<He>> cums as you knead your <<penises>> together, moaning with pleasure. "That was fun." <<elseif $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<if playerChastity("penis")>> <<He>> gasps as <<he>> shoots <<his>> cum over your $worn.genitals.name. <<He>> strokes your face. "You're so cute." <<else>> <<He>> cums before <<he>> can frot your <<penis>>. <<His>> semen coats your cock and tummy. <<He>> smiles contentedly. <</if>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 5)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth, gasping against your cock. "That was so much fun!" <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth. You stop and pet <<his>> head. <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <</if>> <<if $NPCList[_nn].penis isnot "none" and !$NPCList[_nn].penisdesc.includes("strap-on") and _condomResult is "leaked">> Despite wearing a condom, it was too damaged to stop the cum. <</if>> <br><br> <<else>><!-- There should be non non-consensual Robin events --> <<He>> cries out as <<he>> orgasms. <<He>> stops moving save for ragged breathing. <</if>> <br><br> <!-- No finishing moves for Robin. It would be out of character given size and personality --> <</widget>><<widget "ejaculation-sydney">> <<set $ejaculating to 1>> <!-- Changing rows to future-proof the code: from $NPCList[_nn] to $NPCList[_nn], _nn being the main ejaculation loop handler --> <<run statusCheck("Sydney")>> <!-- Female SYDNEY --> <<if $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<if $consensual is 1>> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<if random(1)>> <<He>> lets out a gasp as <<he>> finishes, <<his>> legs instinctively wrapping around your head and neck for a moment. <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> goes red in the face, mouth covered as <<he>> cums silently, <<his>> body twitching uncontrollably. <<case "corrupt" "corruptLust">> <<He>> grabs the back of your head in <<his>> hands and grinds <<his>> clit against your nose as <<he>> reaches climax. <<default>> <<He>> moans and rubs <<his>> <<sydneyGenitals>> against your face with <<his>> hips, <<his>> thighs shaking with orgasm. <</switch>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "leftarm">> <<if random(1)>> <<He>> tightly grabs your arm and pulls you closer as <<he>> convulses in pleasure. You can feel <<his>> rapid heartbeat and breathing. <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> goes red in the face, mouth covered as <<he>> cums silently, <<his>> <<sydneyGenitals>> spasming against your hand. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<case "corrupt" "corruptLust">> <<He>> lets out a final moan, grabbing your hand and fucking <<his>> <<sydneyGenitals>> with your fingers. They're soaked in ejaculate. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<default>> <<He>> sighs as you finish with <<his>> pussy, shaking <<his>> slim thighs together against your hand as <<his>> body convulses. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "rightarm">> <<if random(1)>> <<He>> tightly grabs your hand as <<he>> convulses in pleasure. <<takeHandholdingVirginity "Sydney" "romantic">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> goes red in the face and neck, mouth covered as <<he>> cums silently, <<his>> <<sydneyGenitals>> spasming against your hand. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<case "corrupt" "corruptLust">> <<He>> lets out a final moan, grabbing your hand and fucking <<his>> <<sydneyGenitals>> with your fingers. They're soaked in ejaculate. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<default>> <<He>> sighs as you finish with <<his>> pussy, shaking <<his>> slim thighs together against your hand as <<his>> body convulses. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<if random(1)>> <<He>> tightly grabs your arm and pulls you closer as <<he>> convulses in pleasure. You can feel <<his>> rapid heartbeat and breathing. <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> sighs as <<he>> cums, releasing you and pulling back <<his>> hand. <<He>> rubs <<his>> juices between <<his>> fingers curiously. <<case "corrupt" "corruptLust">> <<He>> screams as <<he>> cums, soaking <<his>> own pussy and thighs in ejaculate. "Well, that's a little embarrassing..." <<default>> <<He>> moans loudly and shakes, dripping ejaculate on the ground. <<He>> rubs <<his>> juices between <<his>> fingers curiously. <</switch>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "leftDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyLeft.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "rightDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyRight.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "feet">> <<if random(1)>> <<He>> lets out a long breath as <<he>> climaxes and shakes against your foot. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> clasps <<his>> mouth shut with <<his>> hands, twitching underneath your feet and cumming between your toes. <<He>> falls back, breathing heavily. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<case "corrupt" "corruptLust">> <<He>> moans as you knead <<his>> pussy<<if _sydneyChastity>> through <<his>> chastity belt, falling back<<else>>, jamming your toes inside with <<his>> hands<</if>> as <<he>> finishes cumming. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<default>> <<He>> shakes bodily as <<he>> cums, twitching underneath your feet and cumming between your toes. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "vagina" and _sydneyChastity>> <<He>> moans loudly as <<he>> climaxes. "Hmph," <<he>> pouts, giving <<his>> chastity belt a useless tug. <<elseif $NPCList[_nn].vagina is "vagina">> <<if random(1)>> <<He>> wraps <<his>> arms around you as <<he>> finishes, and you hold each other tightly as you continue to grind together. You only slow down once <<hes>> done shaking. <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if _sydneyChastity>> <<He>> cums as you scissor your <<pussy>> against <<his>> chastity belt. <<else>> <<He>> cums as you scissor your pussies together, moaning with pleasure. <</if>> <<case "corrupt" "corruptLust">> <<He>> moans as <<he>> grinds downs hard on your <<pussy>> to finish, legs shaking as <<he>> cums. <<default>> <<He>> moans loudly, cupping <<his>> hands under your shoulders as <<his>> entire body shakes. <</switch>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "othermouth">> <<if random(1)>> <<He>> shudders in pleasure beneath you, before gasping as <<he>> pulls <<his>> head away from your <<pussy>>. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> shudders with pleasure, exhaling warmly against your crotch as <<he>> cums, leaving you wet with saliva and your own fluids. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case "corrupt" "corruptLust">> <<He>> quietly ejaculates, shaking as <<he>> grinds <<his>> nose into your crotch and giving you a long, final, wet lick. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<default>> <<He>> moans into your crotch as <<he>> cums, pinching <<his>> hands between <<his>> thighs and buckling over, ejaculate streaming down <<his>> thighs. <br><br> <</switch>> <</if>> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus" and playerHasStrapon()>> <<if random(1)>> <<He>> arches <<his>> back and moans out loud as you fuck <<him>> to climax. <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> quietly orgasms, shaking as <<he>> instinctively grinds <<his>> ass against you. <<He>> places a hand on <<his>> belly. "The toy... it felt so good inside me..." <br><br> <<case "corrupt" "corruptLust">> <<He>> moans and bucks into your crotch as <<he>> cums. <<He>> giggles. "Hah... still... pure? Oh, who am I kidding..." <br><br> <<default>> <<He>> shakes as <<he>> cums, driving <<his>> ass hard against your $worn.under_lower.name as <<he>> releases a final moan. <br><br> <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "otheranus" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "otheranus">> <<if random(1)>> <<He>> arches <<his>> back and moans out loud as you fuck <<him>> to climax. <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> quietly ejaculates, shaking as <<he>> instinctively grinds <<his>> ass against you. <<He>> places a hand on <<his>> belly. "It... it feels so full..." <<if $internalejac>><<npcincr Sydney purity -5>><<llspurity>><<else>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<case "corrupt" "corruptLust">> <<He>> moans and bucks into your crotch as <<he>> cums. <<He>> giggles. "Hah... still... pure? Oh, who am I kidding..." <<if $internalejac>><<npcincr Sydney purity -5>><<llspurity>><<else>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<default>> <<He>> shakes as <<he>> cums, driving <<his>> ass hard against you as <<he>> releases a final moan. <<if $internalejac>><<npcincr Sydney purity -5>><<llspurity>><<else>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "penis" and playerHasStrapon()>> <<if random(1)>> <<He>> arches <<his>> back and moans out loud as you fuck <<him>> to climax. <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> wraps <<his>> arms around you as <<he>> cums, instinctively bouncing against your $worn.under_lower.name as <<he>> shudders with pleasure. <br><br> <<bodyliquid "penis" "goo">> <<case "corrupt" "corruptLust">> <<He>> sighs as <<he>> cums, reddening and going into a full body convulsion. <br><br> <<bodyliquid "penis" "goo">> <<default>> <<He>> cries out and bucks on your lap as <<he>> cums. <br><br> <<bodyliquid "penis" "goo">> <</switch>> <</if>> <<elseif $NPCList[_nn].vagina is "penis">> <<if random(1)>> <<He>> arches <<his>> back and moans out loud as you fuck <<him>> to climax. <<if $internalejac>><<He>> pats <<his>> belly. "It feels so warm." <<npcincr Sydney purity -5>><<llspurity>><<set $daily.sydney.sydneyCum to true>><<else>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> wraps <<his>> arms around you as <<he>> cums, instinctively bouncing against your cock as <<he>> shudders with pleasure. <<if $internalejac and $pregnancyspeechdisable is "f">><<He>> pats <<his>> belly. "Am... am I gonna have a baby?" <<npcincr Sydney purity -5>><<llspurity>><<set $daily.sydney.sydneyCum to true>><<else>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<case "corrupt" "corruptLust">> <<He>> sighs as <<he>> cums, reddening and going into a full body convulsion. <<if $internalejac>><<if $pregnancyspeechdisable is "f">><<He>> pats <<his>> belly. "Keep this up and I'll get pregnant for sure."<</if>> <<npcincr Sydney purity -5>><<llspurity>><<set $daily.sydney.sydneyCum to true>><<else>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<default>> <<He>> cries out and bucks on your lap as <<he>> cums. <<if $internalejac and $pregnancyspeechdisable is "f">><<He>> pats <<his>> belly. "W-well, <<sydneyMum>> always said <<nnpc_he "Sirris">> wanted grandkids..." <<npcincr Sydney purity -5>><<llspurity>><<set $daily.sydney.sydneyCum to true>><<else>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <</switch>> <</if>> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and _sydneyChastity>> <<He>> grabs at <<his>> chastity belt in desperation as <<he>> hits climax. <<He>> lets out several frustrated sounds, but quickly composes <<himself>>. <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> cums on your <<penis>> as you rub against the entrance, and <<he>> moans with pleasure. <br><br> <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and C.npc.Sydney.chastity.anus.includes("shield")>> <<He>> grabs at <<his>> chastity belt in desperation as <<he>> hits climax. <<He>> lets out several frustrated sounds, but quickly composes <<himself>>. <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> bucks <<his>> ass against your cock as <<he>> cums, body shaking involuntarily. <br><br> <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> <<sydneyGenitals>> hard against your cock as <<he>> cums. <<He>> covers <<his>> blush, but you think <<hes>> smiling. <br><br> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis" and playerHasStrapon()>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<He>> cums as you fuck <<his>> mouth. <<His>> eyes widen, and <<he>> slowly pulls away, letting out a gasp as <<his>> mouth is freed. "It tasted so funny..." <<he>> giggles. <br><br> <<case "corrupt" "corruptLust">> <<He>> cums as you fuck <<his>> mouth, leaving your <<penis>> a mess. <<He>> swallows your <<penis>> until <<he>> gags, then comes up for air. "This is so silly," <<he>> giggles. <br><br> <</switch>> <<elseif $NPCList[_nn].mouth is "penis">> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<He>> cums as you fuck <<his>> mouth. <<His>> eyes widen, and <<he>> slowly pulls away, letting out a gasp as <<his>> mouth is freed. <<if $internalejac>><<He>> hesitantly swallows your semen.<</if>> "It tasted so funny..." <<he>> giggles. <<if $internalejac>><<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<case "corrupt" "corruptLust">> <<He>> cums as you fuck <<his>> mouth, leaving your <<penis>> a mess. <<if $internalejac>><<He>> opens <<his>> mouth, showing you your fresh load, before closing <<his>> mouth and swallowing. When <<he>> opens it again, your semen is gone. "Thanks for the meal," <<he>> giggles. <<npcincr Sydney purity -2>><<lspurity>><<else>>"You're so tasty," <<he>> giggles.<</if>> <br><br> <</switch>> <<else>> <<He>> convulses in orgasmic bliss. <br><br> <</if>> <<else>> <<if !_sydneyStatus.includes("corrupt") and $NPCList[_nn].vagina isnot "none">> <<He>> backs away, dazed and confused at what you've done. <br><br> <<elseif $NPCList[_nn].vagina is "footjob">> <<switch random(1, 5)>> <<case 1 2 3>> <<He>> gasps as <<he>> cums. Recovering, <<he>> smiles and stands over you, your <<lewdness>> on display below <<him>>. "If you'd just let me have my fun, I could use more than my foot!" <br><br> <<case 4 5>> <<He>> laughs as <<he>> cums, removing <<his>> foot from your crotch. "I feel so in-control now. You've really opened my eyes." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "I'll break both of these things one day," <<he>> says. <<else>> "Fucking sextease," <<he>> pouts, glaring at your $worn.genitals.name. <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans as <<he>> cums, dragging <<his>> wet pussy across your ass and thighs. <br><br> <<case 3 4>> <<He>> moans as <<he>> digs <<his>> nails into your shoulders and grinds downs hard on your <<pussy>>. You're surprised by <<his>> strength. <br><br> <<case 5>> <<He>> screams, grabbing you by the hair and mashing <<his>> entire body against yours. Ejaculate streams from <<his>> pussy, drenching you. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your stomach. <br><br> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<He>> moans as <<he>> cums. <<He>> grabs you by the hair and pulls <<his>> face close. You're surprised by <<his>> strength. "One of these days, I'm going to break you until you're a drooling mess." <br><br> <<elseif $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<He>> groans and cups your head, grinding <<his>> clit against your nose as <<his>> thighs shake with orgasm. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus" and playerHasStrapon()>> <<He>> shakes as <<he>> cums, reaching back and digging <<his>> nails into your thighs as <<he>> releases a final moan. <br><br> <<elseif $NPCList[_nn].vagina is "otheranus">> <<He>> shakes as <<he>> cums, reaching back and digging <<his>> nails into your thighs as <<he>> releases a final moan. <<if $internalejac>><<He>> pats <<his>> belly. "Much better." <<npcincr Sydney purity -5>><<llspurity>><<else>> <<He>> looks irritated and manic. "I wanted you to cum inside! Did I not go hard enough?!" <<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<elseif $NPCList[_nn].vagina is "penis" and playerHasStrapon()>> <<He>> digs <<his>> fingers into your shoulders as <<he>> cums, driving <<his>> pussy down hard against your cock as <<he>> shudders with pleasure. <br><br> <<elseif $NPCList[_nn].vagina is "penis">> <<He>> digs <<his>> fingers into your shoulders as <<he>> cums, driving <<his>> pussy down hard against your cock as <<he>> shudders with pleasure. <<if $internalejac and $pregnancyspeechdisable is "f">><<He>> pats <<his>> belly. "If I keep doing this, I'll get your baby for sure." <<npcincr Sydney purity -5>><<llspurity>><<set $daily.sydney.sydneyCum to true>><<else>> <<He>> looks irritated and manic. "I wanted you to cum inside! Did I not go hard enough?!" <<npcincr Sydney purity -2>><<lspurity>><</if>> <br><br> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "I'll break both of these things one day," <<he>> says. "I need you inside me." <<else>> "Fucking cocktease," <<he>> pouts, glaring at your $worn.genitals.name. <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<if !playerHasStrapon()>> <<He>> moans as <<he>> cums on your throbbing cock. <<He>> looks angry. <<else>> <<He>> moans as <<he>> cums on your $worn.under_lower.name. <<He>> looks angry. <</if>> <<if _sydneyChastity>> "I'll break this thing one day," <<he>> says. "I need you inside me." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you fuck me?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "I'll break both of these things one day," <<he>> says. "I need you inside me." <<else>> "Fucking cocktease," <<he>> pouts, glaring at your $worn.genitals.name. <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> swivels <<his>> ass against your cock as <<he>> cums. <<if _sydneyChastity>> "I'll break this thing one day," <<he>> says. "I need you inside me." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you fuck me?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "I'll break both of these things one day," <<he>> says. <<else>> "Fucking sextease," <<he>> pouts, glaring at your $worn.genitals.name. <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> clit hard against your cock as <<he>> cums. "Fucking cocktease," <<he>> pouts. "Why didn't you fuck me?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <br><br> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<if !playerHasStrapon()>> <<He>> cums as you fuck <<his>> mouth, pushing away as <<he>> gasps for air. "Almost bit you. Sorry." <<else>> <<He>> cums as you fuck <<his>> mouth, pushing away as <<he>> gasps for air. "This was fun." <</if>> <br><br> <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles with orgasm. Pulling your face close, <<he>> says, "You belong to me. And I belong to you." <br><br> <<case 4 5 6>> <<He>> sighs quietly as <<he>> cums, stroking your back. "Being in control is so much more fun." <br><br> <<case 7>> <<He>> rapidly rubs <<his>> clit and screams as <<he>> cums. "I can't control myself when I'm with you." <br><br> <</switch>> <</if>> <</if>> <</if>> <!-- Male SYDNEY --> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $consensual is 1>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif npcHasStrapon(_nn)>> <<He>> moans and shivers in orgasmic bliss, grinding the strap-on against <<his>> genitals. <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You giggle at the sight. <br><br> <<elseif $NPCList[_nn].penis is "thighs">> <<if random(1)>> <<He>> moans as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> instinctively bucks <<his>> hips as <<he>> moans in bliss, shooting semen onto your thighs. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case "corrupt" "corruptLust">> <<He>> grabs your legs, pushing <<his>> crotch hard into yours as <<he>> cums, ejaculating onto your tummy. <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<default>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].penis is "vaginaentrance" and _sydneyChastity>> <<He>> cums into <<his>> chastity belt, unable to penetrate you. <<He>> makes a few frustrated noises, but quickly composes <<himself>>. <br><br> <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<if random(1)>> <<He>> moans as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> covers <<his>> mouth as <<he>> ejaculates onto your <<pussy>>, sending white streams of semen running down your cunt. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<case "corrupt" "corruptLust">> <<He>> holds you still by the hips with one hand and ejaculates onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<default>> <<He>> moans as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</if>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].penis is "vaginaimminent" and _sydneyChastity>> <<He>> cums into <<his>> chastity belt, unable to penetrate you. <<He>> makes a few frustrated noises, but quickly composes <<himself>>. <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<if random(1)>> <<He>> moans as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> instinctively pulls away before <<he>> can ejaculate onto your <<pussy>>. <<He>> breathes heavily. <br><br> <<case "corrupt" "corruptLust">> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy. <<He>> seems disappointed. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<default>> <<He>> slowly lets out a held breath as <<he>> cums on your <<pussy>>. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <</switch>> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</if>> <<elseif $NPCList[_nn].penis is "vagina">> <<set $daily.sydney.cum to true>> <<if random(1)>> <<He>> arches <<his>> back and moans out loud as you fuck <<him>> to climax. <<He>> pats your belly. "Was it good for you, too?" <<npcincr Sydney purity -5>><<llspurity>> <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human"}`>> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> wraps <<his>> arms around you as <<he>> cums, instinctively thrusting deep into you as <<he>> shudders with pleasure. <<if $pregnancyspeechdisable is "f">> "Are... are you gonna have a baby?" <<else>> "Was it good for you, too?" <</if>> <<npcincr Sydney purity -5>><<llspurity>> <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<case "corrupt" "corruptLust">> <<He>> convulses and grinds down on your crotch as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. <<He>> pats your belly. <<if $pregnancyspeechdisable is "f">> "Hah... think I just knocked you up?" <<else>> "Was it good for you, too?" <</if>> <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<default>> <<He>> quiets and grabs your shoulders, pulling you onto <<his>> cock as <<he>> cums. Semen fills your <<pussy>>, leaving you breathless. <<He>> pats your belly. <<if $pregnancyspeechdisable is "f">> "Well, <<sydneyMum>> did say <<nnpc_he "Sirris">> wanted grandkids..." <<else>> "Was it good for you too?" <</if>> <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <</switch>> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human"}`>> <</if>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].penis is "cheeks">> <<if random(1)>> <<He>> lets out a long breath as <<he>> cums between your cheeks. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case "corrupt" "corruptLust">> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch. <<He>> seems proud of <<himself>>. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <<default>> <<He>> grabs your thighs, pushing <<his>> crotch hard against your ass and ejaculating between your cheeks. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].penis is "anusentrance" and _sydneyChastity>> <<He>> cums into <<his>> chastity belt, unable to penetrate you. <<He>> makes a few frustrated noises, but quickly composes <<himself>>. <br><br> <<elseif $NPCList[_nn].penis is "anusentrance">> <<if random(1)>> <<He>> lets out a long breath as <<he>> cums between your cheeks. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> covers <<his>> mouth and quietly ejaculates onto your ass. You feel warm semen dripping down your bottom. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case "corrupt" "corruptLust">> <<He>> palms your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<default>> <<He>> grabs your thighs, pushing <<his>> crotch hard against your ass and ejaculating between your cheeks, sending thick ropes of semen onto your ass and down your crotch. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <</if>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].penis is "anusimminent" and _sydneyChastity>> <<He>> cums into <<his>> chastity belt, unable to penetrate you. <<He>> makes a few frustrated noises, but quickly composes <<himself>>. <br><br> <<elseif $NPCList[_nn].penis is "anusimminent">> <<if random(1)>> <<He>> lets out a long breath as <<he>> cums between your cheeks. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> covers <<his>> mouth and pulls away from your ass at the last second. You feel warm semen dripping down your bottom. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case "corrupt" "corruptLust">> <<He>> palms your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom before <<he>> can penetrate you. Semen drips down your butt and into your crack. <<He>> seems disappointed. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<default>> <<He>> grabs your thighs, pushing <<his>> crotch hard against your ass and ejaculating between your cheeks, sending thick ropes of semen onto your ass and down your crotch as <<he>> barely misses penetrating you. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <</if>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<if random(1)>> <<He>> moans loudly as <<he>> releases a full load into your bowels. "Well... at least you can still be considered pure." <<npcincr Sydney purity -5>><<llspurity>> <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> moans and instinctively thrusts into your ass as <<he>> cums. You gasp as you feel semen filling you. "Th...this can't be done for procreation..." <<npcincr Sydney purity -5>><<llspurity>> <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case "corrupt" "corruptLust">> <<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. You're surprised at the amount; cum oozes from your ass and runs down your legs. <<npcincr Sydney purity -5>><<llspurity>> <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<default>> <<He>> grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you both moan with pleasure. <<npcincr Sydney purity -5>><<llspurity>> <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "chest">> <<if random(1)>> <<He>> moans loudly as <<he>> releases a full load onto your chest. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> puts <<his>> hand behind your neck and bears down on your <<breasts>>. <<He>> grunts as semen shoots between your <<breasts>> and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>>. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case "corrupt" "corruptLust">> <<He>> pushes your <<breasts>> together tight on <<his>> cock as <<he>> cums, ejaculating onto them. Your body feels slick with cum. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<default>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and quietly ejaculates on them. Your <<breasts>> feel cool as semen drips down them. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "mouthentrance" and _sydneyChastity>> <<He>> moans loudly as <<he>> cums in <<his>> chastity belt. "Hmph," <<he>> pouts, giving it a useless tug. <br><br> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<if random(1)>> <<He>> moans loudly as <<he>> releases a full load onto your face. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> You stroke <<his>> cock and <<he>> quietly ejaculates onto your face. Warm cum drips down your forehead and nose. <<He>> smiles and cleans you off, and examines <<his>> cum between <<his>> fingers. <br><br> <<case "corrupt" "corruptLust">> <<He>> gasps and strokes <<his>> cock while aiming straight at your mouth. Thick ropes of cum cover your face and push past your closed lips into your mouth. You're impressed by the volume, and <<he>> looks pleased with <<himself>>. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<default>> <<He>> cups you under the chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face. <<He>> giggles and looks excited. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "mouthimminent" and _sydneyChastity>> <<He>> moans loudly as <<he>> cums in <<his>> chastity belt. "Hmph," <<he>> pouts, giving it a useless tug. <br><br> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<if random(1)>> <<He>> moans loudly as <<he>> releases a full load onto your face. <<His>> face flushes as <<he>> beholds your face, now covered in <<his>> cum. <<He>> helps you clean it off. <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> cups the back of your head, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <<He>> seems disappointed with <<his>> lack of control. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case "corrupt" "corruptLust">> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; <<he>> seems disappointed. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<default>> <<He>> cups your head, but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "mouth">> <<if random(1)>> <<He>> moans loudly as you pull <<him>> all the way in. You open your mouth to show <<him>> <<his>> semen. <<His>> face goes red. <<npcincr Sydney purity -2>><<lspurity>> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> instinctively grasps the base of <<his>> cock and moans, quietly ejaculating into your mouth. You feel warm cum fill your mouth and drip down your throat. <<npcincr Sydney purity -2>><<lspurity>> <br><br> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case "corrupt" "corruptLust">> <<He>> palms your head and thrusts <<his>> cock in your mouth as <<he>> cums. Semen streams down your throat, fills your mouth and covers your face as <<he>> flails. "Make sure to swallow it all." <<npcincr Sydney purity -2>><<lspurity>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<default>> <<He>> cups you under the chin with one hand and holds the back of your head with the other, thrusting into your mouth as <<he>> cums. Ejaculate streams down your throat and fills your mouth. <<npcincr Sydney purity -2>><<lspurity>> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "feet">> <<if random(1)>> <<He>> lets out a long breath as <<he>> climaxes and shakes against your foot. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> quietly cums on your feet, slickening them with semen. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case "corrupt" "corruptLust">> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<default>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> quietly cums on your hands, slickening them with semen. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case "corrupt" "corruptLust">> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. <<He>> giggles and apologises. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<default>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> quietly cums on your left hand. Semen drips down your fingers. "That felt... really good..." <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<case "corrupt" "corruptLust">> <<He>> spasms and moans, shooting thick streams of cum and splattering your <<breasts>> in the process. You're impressed by the volume. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<default>> <<He>> groans as <<he>> cums, <<his>> penis sliding hotly in your left hand and covering it with cum. "That was amazing." <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze. Your hand is covered in warm semen. "That felt... really good..." <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case "corrupt" "corruptLust">> <<He>> covers <<his>> mouth as <<he>> cums on your right hand. Semen pools on your fingers. "I can't get enough of you." <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<default>> <<He>> grunts and shoots thick ropes of semen onto your hands, making an impressive mess. "Oh! Sorry!" <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<if random(1)>> <<He>> arches <<his>> back and moans out loud as you fuck <<him>> to climax. <<He>> cums all over the ground. <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> covers <<his>> mouth as you fuck <<his>> ass, <<his>> ejaculate spraying on <<his>> own stomach. "W...wow... I never knew that could feel so good..." <br><br> <<case "corrupt" "corruptLust">> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. "I needed that so badly. Can we go again?" <br><br> <<default>> <<He>> whimpers as you pound <<his>> ass, moaning in pleasure as <<he>> ejaculates on the ground. You roll off of <<him>>. <br><br> <</switch>> <</if>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and _sydneyChastity>> <<He>> cums into <<his>> chastity belt. <<He>> makes a few frustrated noises, but quickly composes <<himself>>. <br><br> <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<if random(1)>> <<He>> arches <<his>> back and moans out loud as you fuck <<his>> cheeks, cumming all over the ground. "How am I that sensitive there?" <br><br> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> covers <<his>> mouth as you fuck <<his>> cheeks, <<his>> ejaculate spraying on <<his>> own stomach. "W...wow... I never knew that could feel so good..." <br><br> <<case "corrupt" "corruptLust">> <<He>> noisily cums as you fuck <<his>> cheeks, grabbing your ass from behind and grinding your cock against <<his>> ass to finish. "You really hit the spot, there." <br><br> <<default>> <<He>> moans as you rub against <<his>> anus and <<he>> ejaculates on the ground. <<He>> smiles contentedly. <br><br> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "penis" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "How can it still feel so good through two devices?" <<he>> asks. <<else>> "It's not fair..." <<he>> pouts, glaring at your $worn.genitals.name. <</if>> <br><br> <<elseif $NPCList[_nn].penis isnot 0 and $NPCList[_nn].penis.startsWith("penis") and _sydneyChastity>> <<He>> moans loudly as <<he>> climaxes. "Hmph," <<he>> pouts, giving <<his>> chastity belt a useless tug. <<elseif $NPCList[_nn].penis is "penis">> <<if random(1)>> <<He>> wraps <<his>> arms around you as <<he>> finishes, and you hold each other tightly as you continue to grind together. You only slow down once <<hes>> done shaking. <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if _sydneyChastity>> <<He>> cums as you frot your <<penis>> against <<his>> chastity belt. <<else>> <<He>> cums as you rub your <<penises>> together, moaning with pleasure. <</if>> <<case "corrupt" "corruptLust">> <<He>> moans as <<he>> grinds hard against your <<penis>> to finish, legs shaking as <<he>> cums. <<default>> <<He>> moans loudly, cupping <<his>> hands under your shoulders as <<his>> entire body shakes. <</switch>> <</if>> <br><br> <<elseif $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<if playerChastity("penis")>> <<He>> gasps as <<he>> shoots <<his>> cum over your $worn.genitals.name. <<He>> strokes your face. "Together." <br><br> <<else>> <<He>> cums before <<he>> can frot your <<penis>>. <<His>> semen coats your cock and tummy. <<He>> smiles contentedly. <br><br> <</if>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<He>> helplessly cums on the ground as you fuck <<his>> mouth. <<He>> looks down in shame once you pull out. You stop and pet <<his>> head. <br><br> <<case "corrupt" "corruptLust">> <<He>> cums as you fuck <<his>> mouth, gasping against your cock. "I could taste you forever." <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <br><br> <</if>> <<else>> <<if !_sydneyStatus.includes("corrupt") and $NPCList[_nn].penis isnot "none">> <<He>> backs away, dazed and confused at what you've done. <br><br> <<elseif _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a laugh at the pathetic display. <br><br> <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> cock out and ejaculating onto the backs of your thighs, and wipes <<his>> cock clean on your ass. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, slamming <<his>> crotch hard into your ass as <<he>> cums and ejaculates onto your tummy. <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <<He>> seems impressed with <<himself>>. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> moans as <<he>> cums onto your $worn.genitals.name. <<He>> looks angry. <<if _sydneyChastity>> "I'll break these things one day," <<he>> says. "I need to be inside you." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you let me fuck you?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your hips, pulling you back and ejaculating onto your <<pussy>>. Semen coats your outer lips and pools around your legs. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<He>> seems impressed with the mess <<hes>> made. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> moans as <<he>> cums onto your $worn.genitals.name. <<He>> looks angry. <<if _sydneyChastity>> "I'll break these things one day," <<he>> says. "I need to be inside you." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you let me fuck you?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].penis is "vaginaimminent" and _sydneyChastity>> <<He>> moans as <<he>> cums in <<his>> chastity belt. <<He>> looks angry. "I'll break this thing one day," <<he>> says. "I need to be inside you. I swear I'll fuck you senseless." <br><br> <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy. <<He>> makes a few incoherent sounds of frustration, but doesn't take it further. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending white streams of semen running down your cunt. <<He>> pulls <<his>> own hair in frustration. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. <<He>> seems upset at first, but then smiles as <<he>> looks down on your <<lewdness>> covered in <<his>> cum. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your hair, pulling and thrusting deeply into your <<pussy>> as <<he>> cums, holding <<his>> cock deep in your womb. Semen splashes inside your cunt. <<if $pregnancyspeechdisable is "f">>"I'm not going to stop until I put a baby in you."<</if>> <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<case 4 5 6>> <<He>> quiets and pounds <<his>> cock into you as <<he>> cums. Semen fills your <<pussy>> as you gasp at the feeling of being filled against your will. "You've been marked as mine forever. We're bound together." <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<case 7>> <<He>> convulses and grinds down on your cunt as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. <<He>> looks down at the mess <<hes>> made with satisfaction. "Such a waste." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human"}`>> <<elseif $NPCList[_nn].penis is "cheeks" and playerChastity()>> <<He>> moans as <<he>> cums onto your $worn.genitals.name. <<He>> looks angry. <<if _sydneyChastity>> "I'll break these things one day," <<he>> says. "I need to be inside you." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you let me fuck you?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].penis is "cheeks" and _sydneyChastity>> <<He>> moans as <<he>> cums in <<his>> chastity belt. <<He>> looks angry. "I'll break this thing one day," <<he>> says. "I need to be inside you. I swear I'll fuck you senseless." <br><br> <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> cock from your cheeks and ejaculating onto your ass. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> palms your cheeks with <<his>> hands and pulls you hard against <<him>>, ejaculating between your cheeks. You are surprised by <<his>> strength. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums, sending out massive load that covers your ass and drips down your crotch. "You make me feel alive." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> moans as <<he>> cums onto your $worn.genitals.name. <<He>> looks angry. <<if _sydneyChastity>> "I'll break these things one day," <<he>> says. "I need to be inside you." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you let me fuck you?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].penis is "anusentrance" and _sydneyChastity>> <<He>> moans as <<he>> cums in <<his>> chastity belt. <<He>> looks angry. "I'll break this thing one day," <<he>> says. "I need to be inside you. I swear I'll fuck you senseless." <br><br> <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds your asscheek with one hand and strokes <<his>> cock with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and quietly ejaculates onto your ass. You feel semen dripping down your crack, and feel filthy inside. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and down your crotch. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> moans as <<he>> cums onto your $worn.genitals.name. <<He>> looks angry. <<if _sydneyChastity>> "I'll break these things one day," <<he>> says. "I need to be inside you." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you let me fuck you?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].penis is "anusimminent" and _sydneyChastity>> <<He>> moans as <<he>> cums in <<his>> chastity belt. <<He>> looks angry. "I'll break this thing one day," <<he>> says. "I need to be inside you. I swear I'll fuck you senseless." <br><br> <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your ass, ejaculating on the outside. Semen coats your ass and drips down your crack. <<He>> seems furious, but at <<himself>>, shaking with anger. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and ejaculates onto your ass before <<he>> can penetrate you, sending white streams of semen running down your crack. <<He>> seems upset. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> cock as <<he>> cums, sending thick ropes of semen onto your ass and crotch. <<He>> seems disappointed but smiles as <<he>> looks at your drenched ass. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you feel unwelcome semen streaming in your asshole. <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> wordlessly grabs your hair, pulling you hard onto <<his>> cock as <<he>> cums. Semen fills you as you cry out. "Shhh... it's all okay... just enjoy the warmth." <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> Cum oozes from your ass and runs down your legs. "I've marked you as mine." <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your <<breasts>> together on <<his>> cock as <<he>> cums, ejaculating onto them. "You're bound to me," <<he>> says with a smile. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> strokes the tip of <<his>> cock between your <<breasts>> and ejaculates onto them. Your <<breasts>> cool as semen slides down your body. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> puts <<his>> hand behind your neck, mashing your face against <<his>> body and bearing down on your <<breasts>>. Semen shoots between and covers your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>> as you gasp. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your chin with one hand and strokes <<his>> cock with the other, ejaculating onto your face. "You're beautiful." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> cock and palming your head, ejaculates onto your face. Warm cum drips down your forehead and nose. <<He>> licks it off your face. <br><br> <<case 7>> <<He>> grasps your hair tightly in <<his>> fist, stroking <<his>> cock while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "Swallow it all!" <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grips hair at the nape your neck, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <<His>> face reddens in frustration. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> cock against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin. Frustrated, <<he>> stamps <<his>> feet. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 7>> <<He>> grasps your hair but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<He>> looks frustrated. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs you under the chin with one hand and by your hair with the other, shoving <<his>> cock down your throat as <<he>> cums. You gag and retch as unwanted semen streams down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 4 5 6>> <<He>> grabs you by the shoulder in one hand and grasps the base of <<his>> cock in the other, quietly ejaculating into your mouth. You gag as cum fills your mouth and drips down your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 7>> <<He>> palms your head, wildly thrusting <<his>> cock down your throat as <<he>> cums. <span class="pink">You whimper as semen streams down your throat,</span> fills your mouth and covers your face as <<he>> flails. "Take it all. You belong to me." <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> cock between your feet as <<he>> cums, splattering cum on your feet and legs in the process. <<He>> seems impressed with the mess. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 4 5 6>> <<He>> quietly cums on your hands, slickening them with semen. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. "Everyone has to know who you're bound to." <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as <<he>> cums, penis sliding hotly in your left hand and covering it with cum. <br><br> <<case 3 4>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on keeping <<him>> occupied you don't notice <<his>> penis is aimed at your face, which is splattered with cum in the process. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 6 7>> <<He>> spasms and moans, shooting thick streams of cum and splattering your chest in the process. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you work <<his>> shaft with your right hand, cumming as you give <<him>> a final squeeze. <<He>> flicks <<his>> cock clean on the ground. <br><br> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 4 5>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on keeping <<him>> occupied you don't notice <<his>> penis is aimed at your chest, which is splattered with cum in the process. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<handejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<case 6 7>> <<He>> grunts and shoots thick ropes of semen onto your hand, making an impressive mess. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 5)>> <<case 1>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> cock a final squeeze, ejaculates onto your tummy. "I love that we can do this together, don't you?" <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rapidly rubs <<his>> cock and cums on the ground. <br><br> <<case 3>> <<He>> strokes <<his>> penis and, aiming at your ass, ejaculates on your bottom. <<He>> looks at your <<lewdness>> covered in <<his>> ejaculate and smiles. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> penis and moans, ejaculating on your <<breasts>>. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 5>> <<He>> moans and rubs <<his>> cock wildly, sending cum flying all over your body. "Remember who taught me about all this." <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass; <<he>> catches <<his>> ejaculate in <<his>> hand and wipes it on your face. "Good <<girl>>." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5>> <<He>> moans as you pound <<his>> ass, and ejaculates on the ground. <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <br><br> <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> moans as <<he>> cums onto your $worn.genitals.name. <<He>> looks angry. <<if _sydneyChastity>> "I'll break these things one day," <<he>> says. "I need to be inside you." <<else>> "Fucking cocktease," <<he>> pouts. "Why didn't you let me fuck you?" <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and _sydneyChastity>> <<He>> moans as <<he>> cums in <<his>> chastity belt. <<He>> looks angry. "I'll break this thing one day," <<he>> says. "I need you inside me." <br><br> <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, digging <<his>> fingers into your ass from behind and grinding your cock against <<his>> ass to finish. "Why didn't you fuck me? You did this to me, take responsibility!" <br><br> <<case 4 5>> <<He>> moans as you rub against <<his>> anus, and ejaculates on the ground. <<He>> begins crying, "Why don't you fuck me? I need it!" <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <<He>> seems sad rather than spent. "I need the real thing." <br><br> <</switch>> <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <<elseif $NPCList[_nn].penis isnot 0 and $NPCList[_nn].penis.startsWith("penis") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. <<if _sydneyChastity>> "I'll break both of these things one day," <<he>> says. <<else>> "Fucking sextease," <<he>> pouts, glaring at your $worn.genitals.name. <<if $bodywritingLvl gte 2>> <<sydneyBodywritingLocation>><<if _writingFail isnot 1>><<He>> uncaps a marker, quickly writing something on your <<bodypart _bodypart>> before you can react. Your <<bodypart _bodypart>> now reads: <<sydneyBodywriting stupid_little_fucking_sextease_bitch_fucker>><</if>> <</if>> <</if>> <br><br> <<elseif $NPCList[_nn].penis isnot 0 and $NPCList[_nn].penis.startsWith("penis") and _sydneyChastity>> <<He>> moans loudly as <<he>> climaxes. "Hmph," <<he>> pouts, giving <<his>> chastity belt a useless tug. <<elseif $NPCList[_nn].penis isnot 0 and $NPCList[_nn].penis.startsWith("penis")>> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans as <<he>> cums, dragging <<his>> cock across your ass and thighs. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 3 4>> <<He>> moans as <<he>> digs <<his>> nails into your shoulders and grinds hard against on your <<penis>>. You're surprised by <<his>> strength. <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 5>> <<He>> screams, grabbing you by the hair and mashing <<his>> entire body against yours. Ejaculate streams from <<his>> penis, drenching you. <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth, groaning as <<he>> ejaculates on the ground. "I'm sorry, I just can't take anymore." <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4 5>> <<He>> cums on the ground as you fuck <<his>> mouth. <<He>> pulls away abruptly. "Please stop, I've had enough." <br><br> <<case 6 7>> <<He>> grabs your ass in <<his>> hands, pulling your cock into <<his>> throat. <<He>> ejaculates on <<his>> chest as <<he>> throats your <<genitals>>. <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your body. <br><br> <</if>> <</if>> <!-- Finishing moves for consensual with low anger or non-consensual with damage or high anger --> <<if _args[0] isnot "short">> <<if $consensual is 1 and $enemyanger lte 0 and !$prayerRoom>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<He>> strokes you, <span class="green">making you feel warm inside.</span> "I... I really love you... please never stop loving me." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<case "corrupt" "corruptLust">> <<He>> strokes your hair, <span class="green">making you feel warm inside.</span> "I love you, and not just because of what you do with me." <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<default>> <<He>> brushes your cheek with <<his>> hand. "I love you." <span class="green">Your face flushes with pleasure.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <</switch>> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 6.5>> With a sudden manic expression, <<he>> <span class="red">grips your hair and pulls your face to <<hers>>.</span> <<switch _sydneyStatus>> <<case "corrupt" "corruptLust">> "Don't test me, darling," <<he>> says in a husky, breathless whisper. "I know how to make it hurt. If you can't handle my lust, you're not ready for my wrath." <<He>> kisses you on the cheek. <<default>> "I'd be careful if I were you," <<he>> says in an eerily even tone. "My <span class="pink">forgiveness</span> only goes so far. You'd best pray it doesn't break." <<He>> strokes your hair with a trembling hand. <</switch>> After a moment, <<his>> demeanor returns to normal, and <<he>> doesn't seem to realise what <<he>> said. <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <</if>> <</if>> <</widget>><<widget "ejaculation-wall">> <<set $ejaculating to 1>> <!-- Wall encounter assumes NPC at back of PC cannot reach around to front, and vice versa, and that PC cannot see what's happening behind them. Assumes NPCs believe PC may have following combat due to being stuck in wall unaided. Gloryhole removed as of v2.6 and front facing combat only left in place in case of future work--> <!-- DEBUG --> <!-- POS:$position POS2:$punishmentposition --> <!-- Female NPC1 at WALL --> <<if $NPCList[_nn].gender is "f">> <<if $consensual is 1>><!-- This is a catch-all; there are no consensual wall encounters. --> <<He>> collapses in orgasmic bliss. <<else>> <<if $NPCList[_nn].vagina is "footjob">> <<He>> gasps as <<he>> cums. Recovering, <<he>> smiles and grinds <<his>> foot to your crotch. "I bet you enjoyed that." <<gtrauma>><<gstress>><<gpain>><<violence 3>><<hitstat>> <br><br> <<elseif $NPCList[_nn].vagina is "vagina" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans as <<he>> cums, dragging <<his>> wet pussy across your <<bottom>> and back of your thighs as your legs press into the wall. "What sort of person gets themselves into this situation?" <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <<case 3 4>> <<He>> moans as <<he>> grabs your hips for leverage and grinds downs hard on your <<pussy>>, pulling your restraints tight. "It must be so embarrassing to be used like this." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<case 5>> <<He>> screams, grabbing you by the thighs and mashing <<his>> crotch against your ass. Ejaculate streams from <<his>> pussy, drenching your exposed legs. "What a mess; well, you're nice and lubed up now." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your thighs. "The next one can clean that off, filthy whore." <br><br> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<He>> moans as <<he>> cums. "You must enjoy being used like this." <br><br> <<elseif $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouthimminent">> <<if $head is "bound">> <<switch random(1, 5)>> <<case 1 2>> <<He>> groans and grinds <<his>> crotch roughly against your restrained face; you feel the wall shake as <<he>> cums on your mouth. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3 4>> <<He>> ejaculates on your face, rubbing <<his>> clit against your nose as <<he>> finished. You feel cum running down your nose and lips. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 5>> <<He>> rubs <<his>> clit rapidly, squirting your face through the hole with cum. You try futilely to back away but your restraints hold you in place; you feel slime running down your face and neck. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "face" "goo" 2>> <</switch>> <<else>> <<He>> groans and grinds <<his>> crotch roughly against your restrained face; your head mashed against the back of the wall as <<his>> thighs shake with orgasm. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</if>> <<elseif $NPCList[_nn].vagina is "mouth">> <<He>> groans and grinds <<his>> crotch roughly against your open mouth; your head mashed against the back of the wall as <<his>> thighs shake with orgasm. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<He>> shakes as <<he>> cums, grabbing you by the <<print ($player.ballsExist ? "balls" : "pussy")>> and dragging your <<penis>> deeply into <<his>> ass as <<he>> releases a final moan. <br><br> <<elseif $NPCList[_nn].vagina is "penis">> <<He>> digs <<his>> nails painfully into your legs as <<he>> cums, driving <<his>> pussy hard against your <<penis>> as <<he>> shudders with pleasure. <br><br> <<elseif ($NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> moans as <<he>> cums on your throbbing cock. <br><br> <<elseif ($NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance") and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> swivels <<his>> ass against your <<penis>> as <<he>> cums. <br><br> <<elseif $NPCList[_nn].vagina is "frot" and playerChastity("penis")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grabs your legs and pulls you against <<his>> clit hard against your <<penis>> as <<he>> cums. <br><br> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<He>> cums as <<he>> sucks your <<penis>>, dropping away as <<he>> gasps for air. <br><br> <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles with orgasm. You hear <<him>> say, "You must be so embarrassed to be on display like this." <br><br> <<case 4 5 6>> <<He>> sighs quietly as <<he>> cums, smacking you as <<he>> leaves. "See you around, bitch." You feel embarrassed to have your <<lewdness>> on display. <br><br> <<case 7>> <<He>> rapidly rubs <<his>> clit and screams as <<he>> cums; <<his>> pussy squirting and covering you in ejaculate. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "goo">> <</switch>> <</if>> <</if>> <</if>> <!-- Male Gender NPC at WALL --> <<if $NPCList[_nn].gender is "m">> <!-- Start simplified strap-on sub-case --> <<if $NPCList[_nn].penisdesc.includes("strap-on")>> <<if $consensual is 0>><!-- Non-consen strap-on case --> <<switch $NPCList[_nn].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<switch random(1, 3)>> <<case 1>> <<He>> shakes as <<he>> cums, slapping you across the ass with <<his>> $NPCList[_nn].penisdesc. <br><br> <<case 2>> <<He>> cums loudly, then spanks your ass with <<his>> $NPCList[_nn].penisdesc. "Something to remember me by, whore." <br><br> <<case 3>> <<He>> cums quietly, rubbing <<his>> $NPCList[_nn].penisdesc along your back. <br><br> <</switch>> <<case "mouth">> <<He>> cums loudly, shoving <<his>> $NPCList[_nn].penisdesc deep into your throat, making you gag. Tears stream down your face. <br><br> <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<switch random(1, 3)>> <<case 1>> <<He>> shakes as <<he>> cums, slapping you across the face with <<his>> $NPCList[_nn].penisdesc. <br><br> <<case 2>> <<He>> cums loudly, then laughs, wiping <<his>> $NPCList[_nn].penisdesc of on your hair. <br><br> <<case 3>> <<He>> cums silently, mouth agape, rubbing <<his>> $NPCList[_nn].penisdesc against your cheek. <br><br> <</switch>> <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit with the base of <<his>> $NPCList[_nn].penisdesc. <br><br> <</switch>> <<else>><!-- Consensual strap-on case --> <<switch $NPCList[_nn].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<He>> shakes as <<he>> cums, wiping <<his>> $NPCList[_nn].penisdesc off on your ass. <br><br> <<case "mouth">> <<He>> cums loudly, grinding <<his>> $NPCList[_nn].penisdesc against <<his>> own crotch with <<his>> hand as <<he>> cums. <br><br> <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<He>> cums silently, mouth agape, rubbing <<his>> $NPCList[_nn].penisdesc against your cheek. <br><br> <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit with the base of <<his>> $NPCList[_nn].penisdesc. <br><br> <</switch>> <</if>> <<elseif $consensual is 1>><!-- This is a catch-all; there are no consensual wall encounters. --> <<He>> collapses in orgasmic bliss. <<else>> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. You barely stifle a laugh at the pathetic display. <br><br> <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> $NPCList[_nn].penisdesc out and ejaculating onto the backs of your thighs. You feel <<him>> wipe <<his>> cock clean on your <<bottom>>. <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grabs your legs, slamming <<his>> crotch hard into your <<bottom>> as <<he>> cums and ejaculates onto your tummy and the wall. <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> groan as <<he>> cums, ejaculating a massive load that covers your thighs and tummy; cum drips coolly down your legs, pooling on the ground. "Now your nice and greasy for the next sucker that comes along." <br><br> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums against your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shoves <<his>> thumb into your ass and groans as <<he>> ejaculates onto your <<pussy>>. You feel semen coating your outer lips and pooling around your knees. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<pussy>> without a word, sending streams of semen running down your cunt; you can feel <<him>> flicking <<his>> cock dry on your <<bottom>>. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass; <<he>> wipes <<his>> cock on your thighs. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating on the outside. Semen coats your outer lips and tummy; <span class="red"><<he>> slaps you across the ass hard in anger</span> as you jerk in the restraints. <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate you, sending warm streams of semen running down your cunt; <<he>> groans in disappointment. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and ass. "Such a filthy little bitch." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <</switch>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and grinds down on your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs. "Doesn't look like you can hold my load, you fragile cunt." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 1>> <<He>> moans as a dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto the outside of your <<genitals>>. <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your thighs for leverage, pulling and thrusting deeply into your <<pussy>> as <<he>> cums, holding <<his>> $NPCList[_nn].penisdesc deep in your womb. Semen splashes inside your bruised cunt as your thighs mash into the wall. <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> quiets and grabs your hips, pounding <<his>> $NPCList[_nn].penisdesc into you as <<he>> cums. Semen fills your <<pussy>> as you jerk in the restraints. <br><br> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and grinds on your cunt as <<he>> cums, smashing your <<clit>> and sending thick waves of cum into your <<pussy>>. Semen oozes from your vagina and down your legs, pooling around your knees. "I bet you enjoy being fucked by faceless cocks. What a dirty slut." <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] "human">> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, withdrawing <<his>> $NPCList[_nn].penisdesc from your cheeks and ejaculating onto your <<bottom>>. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> pinches the top of your cheeks with <<his>> hands and smashes your thighs hard against the wall, ejaculating between your cheeks. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> squeezes your cheeks together and grunts as <<he>> cums. You feel a flood of warm cum dripping down your <<bottom>> and crotch. "Such a sloppy mess, I guess you can clean it up later." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> <span class="blue">slaps your asscheek with one hand</span> and strokes <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your bottom. Semen drips down your butt and into your crack. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise bottom>><<hitstat>> <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and quietly ejaculates onto your <<bottom>>. You feel semen dripping down your crack, and feel filthy inside. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums; you feel the splash of wet semen cover your <<bottom>> and drip down your crotch. "I think you'd have enjoyed being fucked in the ass. Maybe next time." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your wriggling ass, ejaculating on the outside. You feel semen coat your <<bottom>> and drip warmly down your crack. <span class="red"><<He>> smacks your ass angrily.</span> and your body jerks in response. <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<bottom>> before <<he>> can penetrate you, sending streams of semen running down your crack; <<he>> groans in disappointment. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, you feel a flood of semen on your <<bottom>> and crotch. "I bet you feel like a disgusting pig." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 1000>><<bodyliquid "bottom" "semen" 2>> <</switch>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: "human", rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "You need to learn how to take a cock, you sloppy pig." <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <br><br> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto your <<bottom>>. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you take <<his>> entire length, and feel unwelcome semen streaming in your asshole. <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 4 5 6>> <<He>> grabs your hips for leverage, pushing hard into your <<bottom>> as <<he>> cums, mashing your thighs into the wall. Semen fills you as you cry out, <<his>> girth stretching your anus. <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <<case 7>> <<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "I can't see your face, but I bet you love being fucked in the ass." <br><br> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] "human">> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your <<breasts>> together on <<his>> $NPCList[_nn].penisdesc as <<he>> cums, ejaculating onto them. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 4 5 6>> <<He>> grabs your hair to force you to look at <<him>> while <<he>> strokes the tip of <<his>> $NPCList[_nn].penisdesc between your <<breasts>> and wordlessly ejaculates onto them. Your <<breasts>> cool as semen slides down your body. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 7>> <<He>> grabs your hair for leverage and bears down on your <<breasts>>, grunting as <<he>> cums; semen shoots between your <<breasts>> and onto the wall. <<He>> laughs and <span class="purple">slaps <<his>> $NPCList[_nn].penisdesc across your helpless face to dry it off.</span> <<gtrauma>><<gstress>><<violence 1>><<bruise face>><<hitstat>> <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> grips <<his>> $NPCList[_nn].penisdesc tightly, working it while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need to learn to swallow, bitch." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and down your chin. It's all you can do to keep from laughing. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups your chin with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your face. "You must be so embarrassed being used like this." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and, holding your hair, ejaculates onto your face. Warm cum drips down your forehead and nose. "I bet you enjoy being used like this." <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 7>> <<He>> grasps your hair tightly in <<his>> fist, stroking <<his>> $NPCList[_nn].penisdesc while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> "You need to learn to swallow, bitch." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grips hair at the top of your head, ejaculating onto your lips as you barely brush against the tip of <<his>> penis. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> $NPCList[_nn].penisdesc against your face, causing <<him>> to ejaculate early. Cum drips down your lips and chin; frustrated, <<he>> wipes the cum off your face and shoves it in your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 7>> <<He>> grasps your head but in <<his>> excitement cums before <<he>> can enter your mouth. Thick ropes of cum cover your cheeks, chin, and into your waiting mouth. <<He>> looks frustrated. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs you under the chin with one hand and by your hair with the other, shoving <<his>> $NPCList[_nn].penisdesc down your throat as <<he>> cums. You gag and retch as unwanted semen streams down your throat, forcing you to swallow. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 4 5 6>> <<He>> grabs your hair as <<he>> mashes <<his>> $NPCList[_nn].penisdesc into your mouth, ejaculating with a moan. You gag as cum fills your mouth and drips down your chin. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <br><br> <<case 7>> <<He>> grasps your hair by the temples, wildly thrusting <<his>> $NPCList[_nn].penisdesc down your throat as <<he>> cums. <span class="pink">You whimper as semen streams down your throat,</span> fills your mouth and covers your face as <<he>> flails. "I bet you enjoy being tied up and face fucked." <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and groans as <<he>> cums. Ejaculate covers your feet. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 4 5 6>> <<He>> quietly cums on your feet, slickening them with semen. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<case 7>> <<He>> grunts and thrusts <<his>> $NPCList[_nn].penisdesc between your feet as <<he>> cums, splattering cum on your feet and legs in the process, and pooling around your knees. <br><br> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <!-- Removed hands outcomes --> <<elseif $NPCList[_nn].penis is 0>> <<if $head is "bound">> <<switch random(1, 3)>> <<case 1 2>> <<He>> groans and rubs <<his>> cock, spraying your face with ejaculate through the hole. <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<case 3>> <<He>> moans as <<he>> ejaculates onto the ground. <<He>> reaches through the wall, <span class="purple"> shoving <<his>> fingers down your throat.</span> You gag and retch as <<he>> laughs. "Next time I'm throating you bitch; better train up." <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <br><br> <</switch>> <<else>> <<switch random(1, 4)>> <<case 1 2 3>> <<He>> groans as <<he>> works <<his>> shaft and, giving <<his>> $NPCList[_nn].penisdesc a final squeeze, ejaculates on you. "What a lovely cum dumpster you are." <br><br> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4>> <<He>> moans and rubs <<his>> cock wildly, sending cum flying all over you and the wall. <<He>> wipes <<his>> penis clean on your body. <br><br> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass; <<he>> catches <<his>> ejaculate in <<his>> hand and wipes it on your <<bottom>>. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5>> <<He>> moans as you pound <<his>> ass, and ejaculates on the ground. <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <br><br> <</switch>> <<elseif ($NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent") and playerChastity("penis")>> <<He>> gasps as <<he>> cums onto your $worn.genitals.name. "Shame someone locked you up so tight," <<he>> says, giving your <<bottom>> a little smack. <br><br> <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> noisily cums as you fuck <<his>> cheeks, digging <<his>> nails into your <<bottom>> from behind and grinding your <<penis>> against <<his>> ass to finish. <br><br> <<case 4 5>> <<He>> moans as you rub against <<his>> anus, and ejaculates on the ground; <<he>> seems disappointed. <br><br> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "penis" or $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<He>> shakes with arousal as <<he>> cums all over your <<penis>>. <<set _postOrgasmSpeech to `"That was awesome."`>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as <<he>> pleasures you with <<his>> mouth; <<he>> catches <<his>> semen and rubs it into your <<bottom>>. "Don't you look lovely now." <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4 5>> <<He>> cums on the ground, biting your <<penis>> as <<he>> stops abruptly. "I'm done now." <br><br> <<case 6 7>> <<He>> grabs you by the <<print ($player.ballsExist ? "balls" : "pussy")>> and painfully drives your <<penis>> into <<his>> throat; <<he>> ejaculates on <<his>> chest as <<he>> throats your cock. <br><br> <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, wiping <<his>> wet face clean on your back. <br><br> <</if>> <</if>> <</if>> <!-- Finishing moves for damage only for wall --> <<if _args[0] isnot "short">> <<if $punishmentposition is "wall">> <<if $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 7.5>> <<He>> <span class="red">angrily whips your ass and thighs with <<his>> belt; you jerk in the restraints, screaming in pain.</span> "What are you thinking, trying to fight me when you're bound like this?" <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 8.5>> <<He>> <span class="pink">slaps your ass back and forth with <<his>> hands, bringing tears to your eyes.</span> "That'll teach you to fight with me." <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 9.5>> <<He>> <span class="pink">spits on your <<bottom>>.</span> "You seem to need reminding that you're helpless here, you cheeky cunt." <<gstress>><<gtrauma>><<gpain>><<violence 1>> <br><br> <</if>> <</if>> <</if>> <</widget>><<widget "ejaculation">> <<set $ejaculating to 1>> <!-- Dev Notes --> <!-- Use <<pussy>> <<breasts>> <<bottom>> in verbiage as PC status --> <!-- Use <<penis>> <<genitals>> in verbiage as status --> <!-- NPC references include: <<him>> <<he>> <<He>> <<himself>> and <<hes>> for he's/she's --> <!-- <<pher>> <<pshe>> refers to PC in third person. Also <<phim>> --> <!-- if $leftarm is "bound" and $rightarm is "bound" can be used as check for bound arms. NPC restraining is "grappled" --> <!-- $mouthstate indicates what PC mouth is doing --> <!-- $position is "wall" can be used as check for body through wall --> <!-- $punishmentposition "gloryhole" is used for both consensual and non-consensual encounters --> <!-- $walltype "pillory" or "cleanpillory" for pillory. Note head, arms are bound in pillory. CleanPillory used in school, Pillory outside police events, mostly as a graphical switch --> <!-- $position = "doggy" or "missionary" for PC body position on back or front --> <!-- $submissive can be used as check. lte 850 is dominant, gte 1150 is submissive --> <!-- <<violence 1>> is clasped mouth, 3 grab throat, 4 hair yank, 5 strangle 10 punch/kick thigh 20 gut punch. Raises stress, trauma, pain at same time.--> <!-- <<violence +#>> should be used with <<gstress>><<gtrauma>><<gpain>> <<violence -#>> should be used with <<lstress>><<ltrauma>><<lpain>> --> <!-- <span class="red"> text-here</span> can be used to depict adverse events. red-pink-purple-blue-lblue-teal-green from least to most favourable --> <!-- <<ggcontrol>> shows ++ Control, <<gcontrol>> shows + Control. GG used with <<control 25>> <<llcontrol>><<lcontrol>> for -- and - Control loss. Higher control is better.--> <!-- <<controlloss>> is used as consensual to non-consen switch --> <!-- <<lstress>> <<stress -1>> similar to above. Less stress is better. <<ltrauma>> <<trauma -1>> same. Less trauma is better. <<lpain>><<pain -1>> likewise.--> <!-- <<tearful>> is used as in: "Your body feels sensitive as " or "You feel horny as "--> <!-- <<bitch>>. is used as "bitch." --> <!-- <<lewdness>> as in "You're stuck in town with your <<lewdness>> displayed" and contains text on level of undress (bare chest / undergarments / genitals) If clothed, returns "lewdness." Useful for pillory event.--> <!-- $player.gender_appearance notes PC apparent gender, for use as M/F switch --> <!-- <<girl>><<girl>>,<<girl>>. used for boy/girl as PC gender --> <!-- $NPCList[x].gender and $NPCList[x].pronoun note NPC sexual gender and physical appearance gender. Pronoun sets breasts (F) and Gender sets M/F genitals penis/vagina --> <!-- START MAIN LOOP --> <<for _nn to 0;_nn lt $enemynomax; _nn++>> <<if $NPCList[_nn].active is "active" and $NPCList[_nn].stance isnot "defeated">> <<personselect _nn>> <<if $sexavoid is 0 or $rapeavoid is 0>> <<if $consensual is 1>> <<famesex 1>> <<else>> <<famerape 1>> <</if>> <</if>> <<if $exposed is 1>> <<fameexhibitionism 1>> <<elseif $exposed gte 2>> <<fameexhibitionism 2>> <</if>> <<set $pronoun to $NPCList[_nn].pronoun>> <<if $enemytype is "man" or $enemytype is "plant">> <<set $NPCList[_nn].intro to 1>> <<else>> <<set $pronoun to "i">> <</if>> <!-- DEBUG --> /% GENDER:<<girl>> GEN:<<genitals>>. BR:<<breasts>>. BOT:<<bottom>>. PUS:<<pussy>>. PEN:<<penis>>. PC:<<phim>>.<br> %/ /% POS:$position L-ARM:$leftarm R-ARM:$rightarm<br> MOU:$mouthstate<br> %/ /% ANG:$enemyanger MAX:$enemyangermax ENNUM:$enemyno ENHEALTH:$enemyhealth ENHEALTHMX:$enemyhealthmax<br> %/ /% STR:$stress TRA:$trauma PAIN:$pain CON:$control<br> %/ /% NAMED-NPC:<<print $npc[0]>><br><br> %/ /% PEN:$penis VAG:$vagina MOU:$mouth GEN:$pronoun<br><br> %/ /% NPC: _nn VAG: $NPCList[_nn].vagina PEN: $NPCList[_nn].penis MOU: $NPCList[_nn].mouth <br> %/ <!-- Pulling out is for couches --> <<if ($pullOut or $NPCList[_nn].pregnancyAvoidance gte 80) and ["vagina","vaginadouble","anus","anusdouble"].includes($NPCList[_nn].penis) and !wearingCondom(_nn)>> <<if _nn is $leglocktarget>> <<He>> tries to pull out at the last minute, but <span class="lewd">you <<if $position is "missionary">>lock your legs even tighter<<else>>push back even harder<</if>>, taking <<him>> all the way in as <<he>> hits <<his>> peak.</span> <<elseif $pullOut and $enemyanger gte 60>> <span class="red"><<He>> doesn't pull out.</span> <<else>> <span class="green"><<He>> pulls out at the last minute.</span> <<if $NPCList[_nn].penis is "vagina" or $NPCList[_nn].penis is "vaginadouble">> <<set $NPCList[_nn].penis to "vaginaentrance">> <<set $vaginastate to ($vaginastate is "doublepenetrated" ? "penetrated" : "imminent")>> <<set _pullOutVagina to true>> <<elseif $NPCList[_nn].penis is "anus" or $NPCList[_nn].penis is "anusdouble">> <<set $NPCList[_nn].penis to "anusentrance">> <<set $anusstate to ($anusstate is "doublepenetrated" ? "penetrated" : "imminent")>> <<set _pullOutAnus to true>> <</if>> <</if>> <</if>> <<unset _condomResult>> <<if wearingCondom(_nn)>> <<if $NPCList[_nn].condom.state is "defective">> <<set _condomResult to "leaked">> <<elseif $NPCList[_nn].condom.state is "sabotaged">> <<set _condomResult to "burst">> <<else>> <<set _condomResult to "contained">> <</if>> <<else>> <<set _condomResult to "none">> <</if>> <!-- NAMED NPCs: Named NPCs without custom modules use simple text to stay in character --> <<if $npc[$npcrow.indexOf(_nn)] is "Eden">> <<ejaculation-eden _args[0]>> <<elseif $npc[$npcrow.indexOf(_nn)] is "Kylar">> <<ejaculation-kylar _args[0]>> <<elseif $npc[$npcrow.indexOf(_nn)] is "Robin">> <<ejaculation-robin _args[0]>> <<elseif $npc[$npcrow.indexOf(_nn)] is "Leighton">> <<ejaculation-leighton _args[0]>> <<elseif $npc[$npcrow.indexOf(_nn)] is "Sydney">> <<ejaculation-sydney _args[0]>> <<elseif $npc[$npcrow.indexOf(_nn)] is "Alex">> <<ejaculation-alex _args[0]>> <<elseif $position is "wall" and ($walltype is "pillory" or $walltype is "cleanpillory")>> <<ejaculation-pillory _args[0]>> <<elseif $position is "wall">> <<ejaculation-wall _args[0]>> <<elseif $punishmentposition is "gloryhole" or $gloryhole>> <<ejaculation-gloryhole _args[0]>> <<elseif $NPCList[_nn].type is "plant">> <<ejaculation-plant _args[0]>> <<elseif $NPCList[_nn].fullDescription is "Ivory Wraith">> <<ejaculation-wraith _args[0]>> <!-- New Named NPCs or PC unique positions should be added above, otherwise below captures reaction --> <<elseif ($npcrow.includes(_nn))>> <<if $NPCList[_nn].vagina isnot "none" and $NPCList[_nn].penis is "none">> <<He>> convulses in orgasmic bliss. <</if>> <<if $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. <</if>> <<if npcHasStrapon(_nn)>> <<switch $NPCList[_nn].penis>> <<case leftDildoAnus rightDildoAnus>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> ass cheeks trembling against your $currentSexToyLeft.name.<<penis>> <<default>> <<He>> ?orgasmMoans and shivers in orgasmic bliss, grinding the strap-on against <<his>> genitals. <</switch>> <<elseif _condomResult is "contained">> <<genericCondomEjaculation>> <<else>> <<if $NPCList[_nn].penis isnot "none" and (_condomResult is "leaked" or _condomResult is "burst")>> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <</if>> <<if $NPCList[_nn].penis is "otheranusfrot">> <<He>> ejaculates into <<his>> hand as <<he>> rubs <<his>> ass against your <<penis>>. <</if>> <<if $NPCList[_nn].penis is "otheranus">> <<He>> ?orgasmMoans and ejaculates <<print either("onto <<his>> chest","into the air","into <<his>> hand")>> as <<he>> <<print either("fucks","slams","thrusts")>> <<his>> ass against your <<penis>>. <</if>> <<if $NPCList[_nn].penis is "thighs">> <<He>> ejaculates onto your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</if>> <<if $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> ejaculates onto your $worn.genitals.name. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<elseif $NPCList[_nn].penis is "vaginaentrance" and !npcHasStrapon(_nn)>> <<if playerChastity("vagina")>> <<He>> ejaculates onto your $worn.genitals.name. <<else>> <<He>> ejaculates onto your <<pussy>>. <</if>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <</if>> <<if $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> ejaculates onto your $worn.genitals.name. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<if playerChastity("vagina")>> <<He>> ejaculates onto your $worn.genitals.name. <<else>> <<He>> ejaculates onto your <<pussy>>. <</if>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<if $NPCList[_nn].penis is "vagina">> <<He>> ejaculates deep into your womb. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</if>> <<if $NPCList[_nn].penis is "cheeks">> <<He>> ejaculates onto your back. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</if>> <<if $NPCList[_nn].penis is "anusentrance">> <<if playerChastity("anus")>> <<He>> ejaculates on your $worn.genitals.name. <<else>> <<He>> ejaculates between your <<bottom>> cheeks. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <</if>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</if>> <<if $NPCList[_nn].penis is "anusimminent">> <<if playerChastity("anus")>> <<He>> ejaculates on your $worn.genitals.name. <<else>> <<He>> ejaculates between your <<bottom>> cheeks. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</if>> <<if $NPCList[_nn].penis is "anus">> <<He>> ejaculates into your bowels. <<analejacstat>><<ejacstat>><<set $hunger -= 200>><<set $thirst -= 200>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</if>> <<if $NPCList[_nn].penis is "chest">> <<He>> ejaculates onto your chest. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</if>> <<if $NPCList[_nn].penis is "mouthentrance">> <<He>> ejaculates onto your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</if>> <<if $NPCList[_nn].penis is "mouthimminent">> <<He>> ejaculates onto your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</if>> <<if $NPCList[_nn].penis is "mouth">> <<He>> ejaculates down the back of your throat. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</if>> <<if $NPCList[_nn].penis is "feet">> <<He>> ejaculates on your feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <</if>> <<if $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<He>> ejaculates on your hands. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <</if>> <<if $NPCList[_nn].penis is "leftarm">> <<He>> ejaculates on your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <</if>> <<if $NPCList[_nn].penis is "rightarm">> <<He>> ejaculates on your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <</if>> <<if $NPCList[_nn].penis is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> ass cheeks trembling against your $currentSexToyLeft.name. <<case 2>> <<He>> ?orgasmMoans and ejaculates into the air as you fuck <<his>> ass with your $currentSexToyLeft.name. It splatters on the floor. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <</if>> <<if $NPCList[_nn].penis is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> ass cheeks trembling against your $currentSexToyRight.name. <<case 2>> <<He>> ?orgasmMoans and ejaculates into the air as you fuck <<his>> ass with your $currentSexToyLeft.name. It splatters on the floor. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <</if>> <<if $NPCList[_nn].penis is 0>> <<if $gloryhole>> <<He>> ejaculates into the air. It splatters on the floor. <<else>> <<He>> ejaculates onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</if>> <</if>> <<if $NPCList[_nn].penis is "penis" or $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<if $gloryhole>> <<He>> ejaculates into the air. It splatters on the floor. <<else>> <<He>> ejaculates onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</if>> <</if>> <</if>> <br><br> <!-- Finishing moves for Alex, Avery and Whitney; should be moved to their respective ejaculation files if/when they get them --> <<if $speechdisable isnot 1>> <<switch $npc[$npcrow.indexOf(_nn)]>> <<case "Alex">> <<if $consensual is 1 and $enemyanger lte 0>> <<switch random(1, 3)>> <<case 3>> <<if $farm_stage gte 7 and $alex_countdown is undefined>> <<if C.npc.Alex.dom gte 30>> <<He>> grins and ruffles your hair. <<print either( `"Don't go far. We're doing this again real soon."`, `"Best fuck I've had in a while."`, `"You're so damn cute."`, `"That's my <<girl>>."` )>> <<elseif C.npc.Alex.dom lte -30>> <<He>> holds you close, and sighs into your chest. <<print either( `"What did I do to deserve you?"`, `"What would I do without you?"`, `"You're so damn cute."`, `"I'm your <<if $pronoun is "f">>wo<</if>>man..."` )>> <<else>> <<He>> presses <<his>> forehead to yours. <<print either( `"Never thought myself the type to settle down. But you're worth it."`, `"Who'd've thought I'd fall for a townie?"`, `"You're so damn cute."`, `"You're my <<if $player.gender_appearance is "f">>wo<</if>>man..."` )>> <</if>> <<else>> <<He>> smiles and pats your <<bottom>>. <<print either( `"Don't go far. We're doing this again real soon."`, `"This job isn't so bad with you around."`, `"You're a bad <<girl>>, getting me to slack off."` )>> <</if>> <span class="green">Your face flushes with pleasure.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <<case 2>> <<if C.npc.Alex.dom gte 10>> <<He>> strokes under your chin, <<else>> <<He>> rests <<his>> head on your shoulder, <</if>> <span class="green">making you feel warm inside.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <<default>> <<if C.npc.Alex.dom gte 10>> <<He>> holds you in <<his>> arms, <<else>> <<He>> lies in your arms, <</if>> <span class="green">making you feel warm inside.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <</switch>> <br><br> <</if>> <<case "Avery">> <<if $consensual is 1 and $enemyanger lte 0 and C.npc.Avery.love gte 20>> <<switch random(1, 3)>> <<case 3>> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> <<He>> <<if $player.breastsize is 0>> wraps an arm around your chest <<else>> grabs your breast <</if>> and pulls your body against <<his>>, breathing heavily in your ear. <<print either( `"You'd best keep behaving like this. Or else."`, `"With a body like this, you're almost worth the hassle."`, `"So you can behave. Here I thought you were only good for one thing."` )>> <span class="pink"><<He>> gives your nipple a harsh tweak,</span> before shoving you aside. <<gtrauma>><<gstress>><<gpain>><<larage>><<violence 3>><<npcincr Avery rage -5>> <<elseif $averyragerevealed is 1 and C.npc.Avery.rage gte 20>> <<He>> <<if $player.breastsize is 0>> wraps an arm around your chest <<else>> grabs your breast <</if>> and pulls your body against <<his>>, whispering in your ear. <<print either( `"Good <<girl>>."`, `"Be good. You'll make both our lives easier."`, `"It's better when you behave. For both of us."`, `"I hope this means you've learnt your lesson."` )>> <span class="purple"><<He>> gives your chest a rough squeeze</span> before releasing you. <<stress 4>><<arousal 500 "breasts">><<npcincr Avery rage -5>><<gstress>><<garousal>><<larage>> <<else>> <<if $player.breastsize is 0>> <<He>> strokes your chest, <<else>> <<He>> cups your breast, <</if>> <span class="lewd">circling <<his>> thumb around your nipple.</span> <<He>> gives it a gentle pinch. <<print either( `"A <<girl>> like you is worth every penny."`, `"Did you enjoy yourself? I know I did."`, `"You have a magnificent body."` )>> <<ltrauma>><<lstress>><<lpain>><<garousal>><<violence -3>><<arousal 500 "breasts">> <</if>> <<case 2>> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> <<He>> brushes your hair back, <span class="pink"><<his>> expression impassive.</span> <<print either( `"Such a <<if $player.gender_appearance is "m">>handsome<<else>>pretty<</if>> face. Don't make me ruin it."`, `"You're a passable whore, if nothing else."`, `"At least you're good for something."` )>> <<trauma 6>><<stress 6>><<npcincr Avery rage -5>><<gtrauma>><<gstress>><<larage>> <<elseif $averyragerevealed is 1 and C.npc.Avery.rage gte 20>> <<He>> brushes your hair back, <span class="purple">smiling as <<he>> pinches your cheek.</span> <<print either( `"Playing nice, are we? What a pleasant surprise."`, `"I can't stay mad at that face."`, `"That wasn't so hard, was it?"` )>> <<stress 4>><<npcincr Avery rage -5>><<gstress>><<larage>> <<else>> <<He>> brushes your hair back, smiling softly. You stare into each other's eyes, <span class="green">and your heart flutters.</span> <<ltrauma>><<lstress>><<lpain>><<garousal>><<violence -3>> <</if>> <<default>> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> <<He>> lifts your chin, <span class="pink">glaring down with a hand on <<his>> hip.</span> <<print either( `"So you can behave after all."`, `"I nearly forgot how much of a brat you've been."`, `"You still have a long way to go before I'll forgive you."` )>> <<trauma 6>><<stress 6>><<npcincr Avery rage -5>><<gtrauma>><<gstress>><<larage>> <<elseif $averyragerevealed is 1 and C.npc.Avery.rage gte 20>> <<He>> lifts your chin, forcing you to meet <<his>> gaze. <<print either( `"I still haven't forgiven you. But this is a start."`, `"I hope this means you've learnt your lesson."`, `"You want my forgiveness that bad, do you?"` )>> <span class="purple"><<He>> smiles, and pinches your cheek.</span> <<stress 4>><<npcincr Avery rage -5>><<gstress>><<larage>> <<else>> <<He>> lifts your chin, peering down with a smile. <<print either( `"You're simply priceless."`, `"Such a perfect <<girl>>."`, `"You are a prize, dear."` )>> <<He>> kisses your cheek, <span class="green">making you feel warm inside.</span> <<ltrauma>><<lstress>><<lpain>><<violence -3>> <</if>> <</switch>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 7.5 and $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> Avery sneers, and <<if random(1)>> <span class="red">punches you in the face.</span> <<He>> wipes <<his>> hand on <<his>> sleeve. <<else>> <span class="red">stomps on your face, grinding <<his>> heel into your nose.</span> You cry out in pain, but <<he>> only presses down harder. <</if>> <<print either( `"Don't fuck with me."`, `"Serves you right, cocky little shit."`, `"Still think you're so tough?"`, `"Still feeling smart about pissing me off?"`, `"What's wrong? No more smart remarks?"`, `"Where'd all that fight go? Fucking brat."`, `"Get up. I'm not done with you."` )>> <<gtrauma>><<gstress>><<gpain>><<violence 10>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 9>> <<switch random(1, 3)>> <<case 3>> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> <span class="red"><<He>> kicks you repeatedly,</span> snarling each time <<his>> foot crashes into your side. <<print either( `"Worthless little shit."`, `"On the ground, where you belong."`, `"You'll cry when I tell you to cry."`, `"I'll hurt you as much as I like. I own you."` )>> Powerless against <<his>> assault, you can only curl up to protect yourself until <<his>> anger finally subsides. <<gtrauma>><<gstress>><<gpain>><<violence 6>> <<elseif $averyragerevealed is 1 and C.npc.Avery.rage gte 20>> <span class="pink"><<He>> shoves you away with a sneer.</span> <<print either( `"That's enough."`, `"Perhaps I'll treat you nicer when you learn how to behave."` )>> <<gtrauma>><<gstress>><<gpain>><<violence 3>> <<else>> <<He>> grasps your arm, glaring into you. <<He>> doesn't say a word or raise a hand, <span class="purple">but it's enough to leave you shaking.</span> <<stress 4>><<trauma 6>><<npcincr Avery rage 1>><<gtrauma>><<gstress>><<garage>> <</if>> <<case 2>> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> <span class="red"><<He>> slaps you back and forth across the face,</span> growing more intense with each strike. By the time <<hes>> done, <<hes>> panting. <<print either( `"Don't you dare defy me."`, `"Idiot. You messed up my hair."`, `"That's what you get, <<bitch>>."` )>> <<gtrauma>><<gstress>><<gpain>><<violence 6>> <<elseif $averyragerevealed is 1 and C.npc.Avery.rage gte 20>> <<He>> <span class="pink">slaps you across the face.</span> <<He>> wipes <<his>> hand on <<his>> sleeve, sneering. <<print either( `"Look what you made me do."`, `"You've no one to blame but yourself."`, `"Remember that next time you think about misbehaving."` )>> <<gtrauma>><<gstress>><<gpain>><<violence 3>> <<else>> <span class="purple"><<His>> fist clenches,</span> but <<he>> doesn't move. <<He>> takes a deep breath, then smiles. <<print either( `"Don't make me do something I'll regret."`, `"I don't want to hurt you. Be good, for your sake."`, `"I don't like getting upset. You wouldn't like it, either."` )>> <<stress 4>><<trauma 6>><<npcincr Avery rage 1>><<gtrauma>><<gstress>><<garage>> <</if>> <<default>> <<if ($neckuse is "hand" or random(1, 5) is 1) and $asphyxiaLvl gte 2>> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> <span class="red"><<He>> grasps your neck in both hands, fingernails piercing your skin.</span> <<print either( `"Trashy little whore."`, `"God, you're infuriating."`, `"Fucking brat. I'm done playing nice."`, `"I should leave you in the gutter, where you belong."`, `"Learnt your lesson yet? Or should I beat it into you?"` )>> <<He>> digs <<his>> nails into your throat, before finally letting go. <<gtrauma>><<gstress>><<gpain>><<violence 8>> <<elseif $averyragerevealed is 1 and C.npc.Avery.rage gte 20>> <span class="pink"><<He>> tightens <<his>> grip on your neck, locking eyes with you.</span> <<print either( `"You're being a very naughty <<girl>>."`, `"So fragile. Don't make me break you."`, `"My generosity only goes so far."`, `"I expect obedience next time."`, `"Mind your manners, brat."`, `"You're starting to grate."`, `"Don't test my patience."` )>> <<He>> drags <<his>> nails along your skin before letting go. <<gtrauma>><<gstress>><<gpain>><<garage>><<npcincr Avery rage 5>><<violence 4>> <<else>> <<He>> brushes <<his>> fingers along your neck. <<print either( `"I'd mind my manners if I were you."`, `"You don't want to upset me, do you?"`, `"You'll behave from now on, won't you?"` )>> <span class="purple">You shiver.</span> <<stress 4>><<trauma 6>><<npcincr Avery rage 1>><<gtrauma>><<gstress>><<garage>> <</if>> <<else>> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte 60>> <span class="red"><<He>> grasps your chin and wrenches it up, looking down with fury.</span> <<print either( `"Trashy little whore."`, `"God, you're infuriating."`, `"Fucking brat. I'm done playing nice."`, `"I should leave you in the gutter, where you belong."`, `"Learnt your lesson yet? Or should I beat it into you?"` )>> <<He>> claws your cheek, then delivers a swift backhanded strike. <span class="red">You cry out in pain.</span> <<gtrauma>><<gstress>><<gpain>><<violence 6>> <<elseif $averyragerevealed is 1 and C.npc.Avery.rage gte 20>> <span class="pink"><<He>> grasps your chin and forces it up, looking down with contempt.</span> <<print either( `"You're being a very naughty <<girl>>."`, `"So fragile. Don't make me break you."`, `"My generosity only goes so far."`, `"I expect obedience next time."`, `"Mind your manners, brat."`, `"You're starting to grate."`, `"Don't test my patience."` )>> <<He>> digs <<his>> nails into your cheek before letting go. <<gtrauma>><<gstress>><<gpain>><<garage>><<npcincr Avery rage 5>><<violence 3>> <<else>> <span class="purple"><<He>> cups a hand under your chin and tilts it up.</span> <<print either( `"I'd mind my manners if I were you."`, `"You don't want to upset me, do you?"`, `"You'll behave from now on, won't you?"` )>> <<He>> smiles and trails <<his>> thumb along your cheek before letting go. <<stress 4>><<trauma 6>><<npcincr Avery rage 1>><<gtrauma>><<gstress>><<garage>> <</if>> <</if>> <</switch>> <br><br> <</if>> <<case "Whitney">> <<if $consensual is 1 and $enemyanger lte 0 and $whitneyromance is 1>> <<switch random(1, 3)>> <<case 3>> <<if ["mouth"].includes($NPCList[_nn].penis)>> <<print either( `<<He>> runs a hand through your hair.`, `<<He>> rubs <<his>> <<print $NPCList[_nn].penisdesc>> against your cheek.` )>> <<elseif ["mouth"].includes($NPCList[_nn].vagina)>> <<print either( `<<He>> runs a hand through your hair.`, `<<He>> gently squeezes your face between <<his>> thighs.`, `<<He>> brushes your cheek with <<his>> thigh.` )>> <<elseif ["facesit"].includes($NPCList[_nn].vagina)>> <<print either( `<<He>> runs a hand through your hair.`, `<<He>> lifts off your face slightly and smiles down at you.` )>> <<else>> <<print either( `<<He>> runs a hand through your hair.`, `<<He>> bites your ear, and whispers.` )>> <</if>> <<if (["mouth","facesit"].includes($NPCList[_nn].vagina) or ["mouth"].includes($NPCList[_nn].penis)) and random(1)>> <<if C.npc.Whitney.dom gte 10>> <<print either( `"That's it. Just how I like it."`, `"Hope you liked your treat, slut."` )>> <<else>> <<print either( `"You sure know how to work that mouth."`, `"Damn, you feel great down there."` )>> <</if>> <<else>> <<if C.npc.Whitney.dom gte 10>> <<print either( `"Knew I picked the right <<bitch>>."`, `"That's a good slut."`, `"Good <<girl>>."` )>> <<else>> <<print either( `"Fuck, you're good."`, `"You're a nice lay, slut."` )>> <</if>> <</if>> <span class="green">You blush.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <<case 2>> <<if ["facesit"].includes($NPCList[_nn].vagina)>> <<He>> lifts up just enough to leave your face unobscured, and holds <<his>> phone overhead. <<elseif ["mouth"].includes($NPCList[_nn].vagina) or ["mouth"].includes($NPCList[_nn].penis)>> <<He>> yanks your hair back, forcing your gaze upwards. <<He>> holds <<his>> phone overhead. <<else>> <<if $worn.neck.collared is 1>> <<He>> grabs your leash and forces you upright, bringing your face to <<hers>>. <<else>> <<He>> slings an arm around your shoulders, pressing your cheek to <<hers>>. <</if>> <<He>> raises <<his>> phone. <</if>> <<if $pain gte 60>> <<print either( `"Don't move, I want everyone to see those tears."`, `"Cry for the camera, <<bitch>>."` )>> <<else>> <<print either( `"Now everyone will know you're my property."`, `"Just showing everyone who owns you."`, `"Smile, slut."` )>> <</if>> <<if C.npc.Whitney.love gte 25>> <span class="green"><<He>> <<if ["othervagina","penis","facesit"].includes($mouthuse)>>pets you<<else>>kisses your cheek<</if>> as the camera flashes.</span> <<stress 4>><<arousal 200>><<status 5>><<gstress>><<garousal>><<gcool>> <<else>> <<He>> <<print either("raises <<his>> middle finger","makes a peace sign","sticks <<his>> tongue out")>> as the camera flashes. <<stress 6>><<status 1>><<gstress>><<gcool>> <</if>> <<famesex 1 "pic">> <<default>> <<He>> runs <<his>> hand down your back, and caresses your <<bottom>>. <span class="lewd">You shiver from the sensation.</span> <<lstress>><<ltrauma>><<lpain>><<garousal>><<violence -3>><<arousal 500 "bottom">> <</switch>> <br><br> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 9>> <<switch random(1, 3)>> <<case 3>> <<He>> smirks, <<if $whitneyromance is 1>>kisses <<his>> knuckles, <</if>>then <span class="red">swings <<his>> fist into the side of your face.</span> <<print either( `"Keep struggling. It cracks me up."`, `"That's for being a <<bitch>>."` )>> <<gtrauma>><<gstress>><<gpain>><<violence 6>> <<case 2>> <<if ["facesit"].includes($NPCList[_nn].vagina)>> <<He>> lifts up just enough to leave your face unobscured. <<He>> holds <<his>> phone overhead. <<elseif ["mouth"].includes($NPCList[_nn].vagina) or ["mouth"].includes($NPCList[_nn].penis)>> <<He>> yanks your hair back, forcing your gaze upwards. <<He>> holds <<his>> phone overhead. <<else>> <<if $worn.neck.collared is 1>> <<He>> grabs your leash and forces you upright, bringing your face to <<hers>>. <<else>> <<He>> slings an arm around your shoulders, pressing your cheek to <<hers>>. <</if>> <<He>> raises <<his>> phone. <</if>> <<if $pain gte 60>> <<print either( `"Don't move, I want everyone to see those tears."`, `"Cry for the camera, <<bitch>>."` )>> <<else>> <<print either( `"Now everyone will know you're my property."`, `"Just showing everyone who owns you."`, `"Smile, slut."` )>> <</if>> <<He>> <<print either("raises <<his>> middle finger","makes a peace sign","sticks <<his>> tongue out")>> as the camera flashes. <<trauma 6>><<stress 6>><<gtrauma>><<gstress>> <<famerape 1 "pic">> <<default>> Whitney sneers. <<print either( `"You like being used?"`, `"Having fun?"` )>> Before you can answer, <span class="red"><<he>> stomps <<his>> foot on your throat.</span> You cough violently. <<if $audiencepresent gte 1 and random(1)>> <<He>> smirks over <<his>> shoulder. "Sounds like a yes to me." <<His>> friends laugh. <<else>> <<He>> smirks and presses down harder. "What's that?" <<He>> cups a hand to <<his>> ear. "Can't hear you." <</if>> <<gtrauma>><<gstress>><<gpain>><<violence 6>> <</switch>> <br><br> <</if>> <<default>> /* Do nothing */ <</switch>> <</if>> <<else>> <!-- Female Gender NPC Start --> <<if $NPCList[_nn].vagina isnot "none">> <!-- Start Consensual --> <<if $consensual is 1>> <<if $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans and rubs <<his>> crotch against your face with <<his>> hips, thighs shaking with orgasm. <<case 3 4>> <<His>> blush deepens and <<his>> body twitches as <<he>> cums. <<case 5>> <<He>> screams, cupping your head in <<his>> hand and rubbing <<his>> clit against your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "leftarm" or $NPCList[_nn].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<his>> body convulses, <<his>> thighs trembling against your head. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your hand. <<case 5>> <<He>> screams and grasps your arm as your fingers bring <<him>> to orgasm. <<His>> juices soak your fingers. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyLeft.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "goo">> <<elseif $NPCList[_nn].vagina is "rightDildo">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <<His>> juices soak your $currentSexToyRight.name. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "goo">> <<elseif $NPCList[_nn].vagina is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as <<he>> cums, falling back and resting <<his>> arm over <<his>> eyes. <<case 3 4>> <<He>> moans as <<his>> <<if $NPCList[_nn].breastsize is 0>>chest heaves<<else>>$NPCList[_nn].breastsdesc shake<</if>> as <<he>> cums. <<case 5>> <<He>> screams as <<he>> cums, <<his>> juices running down <<his>> thighs. <<He>> scoops some with a finger, dons a playful smile, then flicks it across your face. <<set _postOrgasmSpeech to `"Now you're messy, just like me."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "feet">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans and grasps your ankles as <<he>> cums. <<set _postOrgasmSpeech to `"I love being treated like a dirty slut."`>> <<case 3 4>> <<He>> <<if $NPCList[_nn].breastsize is 0>>pinches<<else>>grasps<</if>> <<his>> $NPCList[_nn].breastsdesc as <<he>> cums against your feet. <<set _postOrgasmSpeech to `"I love it when you dominate me."`>> <<case 5>> <<He>> screams as <<he>> cums, almost making you jump. <<His>> juices run over your feet. <</switch>> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> cums as you scissor your pussies together, moaning with pleasure. <<case 3 4>> <<He>> moans and <<his>> legs shake as <<he>> cums against your <<pussy>>. <<case 5>> <<He>> screams, wrapping <<his>> arms under your shoulders and pressing <<his>> <<npcChest>> against you as <<his>> body shakes. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<switch random(1, 5)>> <<case 1 2>> <<He>> shudders with pleasure and exhales against your crotch as <<he>> cums. /* <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> */ <<case 3 4>> <<He>> trembles against your crotch as <<he>> cums, and finishes with a long, wet lick. /* <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> */ <<case 5>> <<He>> screams into your crotch as <<he>> cums, <<his>> hands pressing firm into <<his>> thighs. <</switch>> <<elseif $NPCList[_nn].vagina is "facesit">> <<switch random(2)>> <<case 0>> <<He>> moans and rubs <<his>> crotch against your face, shuddering as <<he>> comes to orgasm. <<case 1>> <<He>> begins to erratically move on your face, losing all semblance of control as <<he>> cums, squirting in your mouth. <<case 2>> <<He>> gasps and shudders, pressing down on your face at the moment of orgasm, covering you in <<his>> juices. <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<elseif $NPCList[_nn].vagina is "facesitanal">> <<switch random(2)>> <<case 0>> <<He>> moans and grinds <<his>> ass against your mouth, shaking as <<he>> comes to orgasm, <<his>> juices running down onto your face. <<case 1>> <<He>> begins to rhythmically press <<his>> ass against you, getting faster as <<he>> builds to a shuddering climax, which covers you in <<his>> juices. <<case 2>> <<He>> gasps and shudders, pressing down on your face at the moment of orgasm, covering you in <<his>> juices. <</switch>> <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <!-- anus rewrite --> <<switch random(1, 5)>> <<case 1 2>> <<He>> shakes as <<he>> cums, <<his>> ass pushing against you as <<he>> releases a final moan. <<case 3 4>> <<He>> shakes against your <<penis>> as <<he>> cums, moaning and grinding into you as deep as <<he>> can. <<case 5>> <<He>> screams and bucks into your crotch as <<he>> cums. <<set _postOrgasmSpeech to `"Oh God you make me feel good."`>> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "penis">> <<switch random(1, 6)>> <<case 1 2>> <<He>> throws <<his>> arms around your shoulders as <<he>> cums, driving <<his>> pussy down hard against your <<penis>>. <<set _postOrgasmSpeech to `"Your cock was made for me," <<he>> whispers.`>> <<case 3 4>> <<He>> sighs as <<he>> cums, <<his>> blush deepening. <<set _postOrgasmSpeech to `"Oh, look what your cock did to me."`>> <<case 5>> <<He>> wraps <<his>> arms under your shoulders and presses <<his>> <<npcChest>> against you as <<he>> cums. You feel <<his>> pussy twitch against your <<penis>>. <<case 6>> <<He>> screams and pounds your <<penis>> with <<his>> pelvis as <<he>> cums, <<his>> whole body shaking. <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "goo">> <</switch>> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> bites <<his>> lip as <<he>> cums on your <<penis>>. <<set _postOrgasmSpeech to `"I want you inside me next time."`>> <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> rubs <<his>> ass against your <<penis>> as <<he>> cums. <<set _postOrgasmSpeech to `"That felt so good. I want you to pound my ass next time."`>> <<elseif $NPCList[_nn].vagina is "frot">> <<He>> grinds <<his>> clit hard against your <<penis>> as <<he>> cums, ejaculating on your cock and breathlessly begging you to screw <<him>> properly next time. <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <!-- Below cases occur when NPC vagina is not in contact with PC --> <<elseif $NPCList[_nn].mouth is "penis">> <<if $speech_attitude is "meek">> <<He>> cums as you fuck <<his>> mouth, and seems intent on licking your <<penis>> clean. <<set _postOrgasmSpeech to `"I'm so naughty."`>> <<elseif $speech_attitude is "bratty">> <<He>> cums as you fuck <<his>> mouth with savage thrusts. You grasp <<his>> hair and push yourself even deeper inside. <<He>> gags and sputters, <<his>> juices running down <<his>> thighs. <<set _postOrgasmSpeech to `"I love it when you dominate me."`>> <<ejacstat>><<set $hygiene += 500>><<bodyliquid "penis" "goo">> <<feetejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "goo">> <<else>> <<He>> cums as you fuck <<his>> mouth, gasping against your <<penis>>. <<set _postOrgasmSpeech to `"I'm so dirty."`>> <</if>> <<elseif $NPCList[_nn].mouth is "kiss">> <<He>> holds you tight and bites your lips gently as <<he>> cums, moaning into your mouth. <<elseif $NPCList[_nn].vagina is 0>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> buckles at the knees, <<his>> <<if $NPCList[_nn].breastsize is 0>>chest heaving<<else>>$NPCList[_nn].breastsdesc trembling<</if>> as <<he>> cums. <<His>> juices run down <<his>> thighs. <<case 4 5 6>> <<He>> sighs as <<he>> cums, and pats your <<bottom>>. <<set _postOrgasmSpeech to `"That was fun."`>> <<case 7>> <<He>> rubs <<his>> clit and screams as <<he>> cums, <<his>> juices dripping onto you. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "goo">> <</switch>> <<else>> <!-- This is a catch-all case and should only be called if there's an error --> <<He>> convulses in orgasmic bliss. <</if>> <!-- Start Non-Consensual --> <<else>> <<if $NPCList[_nn].vagina is "footjob">> <<switch random(1, 5)>> <<case 1 2 3>> <<He>> gasps as <<he>> cums. Recovering, <<he>> smiles and moves <<his>> foot over your body. <span class="red"><<He>> pushes down as you gasp for breath.</span> <<set _postOrgasmSpeech to `"You're mine anytime I want you, <<slut>>. Don't forget it."`>> <<gtrauma>><<gstress>><<gpain>><<violence 6>><<bruise chest>><<hitstat>> <<case 4 5>> <<He>> laughs as <<he>> cums, pulling <<his>> foot away from your crotch and kicking your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "vagina">> <<switch random(1, 5)>> <<case 1 2>> <<He>> moans as <<he>> cums, <<his>> juices dripping over you. <<case 3 4>> <<He>> moans and <span class="blue">grasps your throat</span> as <<he>> cums. <<He>> rubs hard against your <<pussy>>, licking your cheek as <<he>> finishes. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<case 5>> <<He>> screams, grasping your hair and pushing <<his>> <<npcChest>> against you. <<His>> juices drip over you. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "goo">> <</switch>> <<elseif $NPCList[_nn].vagina is "othermouth">> <<He>> shakes with arousal and rubs against your body as <<he>> cums. <<elseif $NPCList[_nn].vagina is "leftarm" or $NPCList[_nn].vagina is "rightarm">> <<switch random(1, 5)>> <<case 1 2>> <<He>> sighs as you finish with <<his>> pussy, <<his>> thighs shaking against you as <<his>> body trembles. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> twitches against your hand. <<case 5>> <<He>> screams and grasps your arm as <<he>> cums against your fingers. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid $NPCList[_nn].vagina "goo">> <<elseif $NPCList[_nn].vagina is "lefthand" or $NPCList[_nn].vagina is "righthand">> <<switch random(1, 6)>> <<case 1 2>> <<He>> moans as <<he>> cums, <span class="pink">and slaps you across the face.</span> <<set _postOrgasmSpeech to `"I know you enjoy being abused. Don't try to hide it."`>> <<case 3 4>> <<He>> moans as <<he>> finishes. <<He>> reaches above your head and tugs your hair. <<default>> <<He>> moans as <<he>> finishes, and gives your <<bottom>> a sharp smack. <</switch>> <<elseif $NPCList[_nn].vagina is "mouthentrance" or $NPCList[_nn].vagina is "mouth" or $NPCList[_nn].vagina is "mouthimminent">> <<He>> grasps your hair as <<he>> moans and grinds <<his>> crotch against your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<elseif $NPCList[_nn].vagina is "facesit">> <<switch random(2)>> <<case 0>> <<He>> bucks against your face, crying out as <<he>> cums, covering you in <<his>> juices. <<case 1>> <<He>> presses down hard on your face as <<he>> comes to a powerful orgasm that leaves <<him>> quivering. <<case 2>> <<He>> gasps "I'm gonna cum on your face, <<slut>>", before promptly sighing and orgasming, squirting in your mouth. <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <<elseif $NPCList[_nn].vagina is "facesitanal">> <<switch random(2)>> <<case 0>> <<He>> bucks against your face, pressing <<his>> ass into your mouth, crying out as <<he>> cums, covering you in <<his>> juices. <<case 1>> <<He>> presses down hard on your face as <<he>> comes to a powerful orgasm that leaves <<him>> quivering. <<case 2>> <<He>> gasps "I'm gonna cum on your face, <<slut>>", whilst grinding <<his>> ass into your mouth until <<he>> comes to a quivering climax on your face. <</switch>> <br><br> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "goo">> <!-- following appear to be Male PC to Female Antagonist only? --> <<elseif $NPCList[_nn].vagina is "otheranus">> <<He>> trembles as <<he>> cums, <<print ($player.ballsExist ? "cups your balls" : "grabs your pussy")>> and drags your <<penis>> deeper into <<his>> ass. <<elseif $NPCList[_nn].vagina is "penis">> <<He>> digs <<his>> nails into your shoulders as <<he>> cums, driving <<his>> pussy down hard against your <<penis>> and shuddering with pleasure. <<elseif $NPCList[_nn].vagina is "penisimminent" or $NPCList[_nn].vagina is "penisentrance">> <<He>> moans as <<he>> cums on your <<penis>>. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>><<He>> says something you don't understand.<<else>><<set _postOrgasmSpeech to `"I'm finished with you."`>><</if>> <<elseif $NPCList[_nn].vagina is "otheranusfrot" or $NPCList[_nn].vagina is "otheranusentrance">> <<He>> bounces <<his>> ass cheeks against your <<penis>> as <<he>> cums. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>><<He>> says something you don't understand.<<else>><<set _postOrgasmSpeech to `"That felt good, but next time you better fuck me properly."`>><</if>> <<elseif $NPCList[_nn].vagina is "frot">> <<He>> <span class="blue">grabs your throat</span> and grinds <<his>> clit against your <<penis>> as <<he>> cums. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <!-- Special case male PC with female NPC --> <<elseif $NPCList[_nn].mouth is "penis">> <<He>> cums as you fuck <<his>> mouth, shoving you away as <<he>> gasps for air. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>><<He>> says something you don't understand.<<else>><<set _postOrgasmSpeech to `"I'm done with you now."`>><</if>> <<elseif $NPCList[_nn].mouth is "kiss">> <<He>> bites your lip hard as <<he>> cums, moaning into your mouth. <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> <span class="pink">slaps your face,</span> as <<he>> trembles with orgasm. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>><<He>> says something you don't understand. <<His>> tone is dismissive.<<else>><<set _postOrgasmSpeech to `"That's enough, <<slut>>."`>><</if>> <<case 4 5 6>> <<He>> sighs as <<he>> cums, and gives your <<bottom>> a swift smack. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>><<He>> says something you don't understand. <<His>> tone is dismissive.<<else>><<set _postOrgasmSpeech to `"You're mine anytime I want you, whore."`>><</if>> <<case 7>> <<He>> shudders and moans as <<he>> cums, juices dripping down <<his>> thighs. /* <<chestejacstat>><<ejacstat>><<set $hygiene += 500>> */ <</switch>> <</if>> <</if>> <</if>> <!-- Male Gender NPC Start --> <<if $NPCList[_nn].penis isnot "none">> <!-- Start simplified strap-on sub-case --> <<if $NPCList[_nn].penisdesc.includes("strap-on")>> <<if $consensual is 0>><!-- Non-consen strap-on case --> <<switch $NPCList[_nn].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<switch random(1, 3)>> <<case 1>> <<He>> trembles as <<he>> cums, slapping you across the ass with <<his>> $NPCList[_nn].penisdesc. <<case 2>> <<He>> moans as <<he>> cums, then spanks your ass with <<his>> $NPCList[_nn].penisdesc. <<set _postOrgasmSpeech to `"Something to remember me by, whore."`>> <<case 3>> <<He>> cums without a sound, and rubs <<his>> $NPCList[_nn].penisdesc along your back. <<set _postOrgasmSpeech to "">> <</switch>> <<case "mouth">> <<He>> moans and pushes <<his>> $NPCList[_nn].penisdesc deep into your throat, making you gag. Tears stream down your face. <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<switch random(1, 3)>> <<case 1>> <<He>> trembles and slaps you across the face with <<his>> $NPCList[_nn].penisdesc. <<case 2>> <<He>> moans and laughs, rubbing <<his>> $NPCList[_nn].penisdesc against your hair. <<case 3>> <<He>> cums without a sound, <<his>> mouth agape, as <<he>> rubs <<his>> $NPCList[_nn].penisdesc against your cheek. <<set _postOrgasmSpeech to "">> <</switch>> <<case "penis" "penisentrance" "penisimminent">> <<switch random(1, 3)>> <<case 1>> <<He>> trembles as <<he>> cums, slapping you across the ass with <<his>> $NPCList[_nn].penisdesc. <<case 2>> <<He>> moans as <<he>> cums, then spanks your ass with <<his>> $NPCList[_nn].penisdesc. <<set _postOrgasmSpeech to `"Something to remember me by, whore."`>> <<case 3>> <<He>> cums without a sound, and rubs <<his>> $NPCList[_nn].penisdesc along your back. <<set _postOrgasmSpeech to "">> <</switch>> <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit against the base of <<his>> $NPCList[_nn].penisdesc. <</switch>> <<else>><!-- Consensual strap-on case --> <<switch $NPCList[_nn].penis>> <<case "vagina" "vaginaimminent" "vaginaentrance" "anus" "anusentrance" "anusimminent" "thighs">> <<He>> shakes as <<he>> cums, and rubs <<his>> $NPCList[_nn].penisdesc against your ass. <<case "mouth">> <<He>> moans and grinds <<his>> $NPCList[_nn].penisdesc against <<his>> crotch as <<he>> cums. <<case "mouthentrance" "mouthimminent" "chest" "lefthand" "righthand">> <<His>> mouth gapes as <<he>> cums, rubbing <<his>> $NPCList[_nn].penisdesc against your cheek. <<case "penis" "penisentrance" "penisimminent">> <<He>> moans and grinds <<his>> $NPCList[_nn].penisdesc against <<his>> crotch as <<he>> cums. <<default>> <<He>> moans as <<he>> cums, rubbing <<his>> clit against the base of <<his>> $NPCList[_nn].penisdesc. <</switch>> <</if>> <!-- Start Consensual --> <<elseif $consensual is 1>> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $NPCList[_nn].penis is "idle">> <<He>> groans as a wet patch forms on <<his>> trousers. <<if $speech_attitude is "bratty">> You stifle a giggle at how pathetic <<he>> looks. <</if>> <<elseif _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles as <<he>> cums. <<He>> pulls <<his>> $NPCList[_nn].penisdesc out and ejaculates onto the backs of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grasps your thighs and fucks them with a violent intensity as <<he>> cums, ejaculating onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> moans as <<he>> cums, ejaculating a massive load that splatters over your thighs and tummy. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif ($NPCList[_nn].penis is "vaginaentrance" or $NPCList[_nn].penis is "vaginaentrancedouble") and playerChastity("vagina")>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your $worn.genitals.name without a word, sending white streams of semen running down your thighs. <<set _postOrgasmSpeech to "">> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds you firm by the hip with one hand and holds <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your <<pussy>>. Semen covers you and pools around your legs. <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <<set _postOrgasmSpeech to "">> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and <<bottom>>. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<elseif ($NPCList[_nn].penis is "vaginaimminent" or $NPCList[_nn].penis is "vaginaimminentdouble") and playerChastity("vagina")>> <<He>> ejaculates onto your $worn.genitals.name, sending white streams of semen running down your thighs. <<set _postOrgasmSpeech to `"Wish I could have fucked you properly."`>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating over your labia. Semen drips into a pool beneath you. <<set _postOrgasmSpeech to `"Damn it, I wanted to cum inside you."`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate, sending white streams of semen running down your labia. <<set _postOrgasmSpeech to `"Fuck, that should have gone inside."`>> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and <<bottom>>. <<set _postOrgasmSpeech to `"Wish I could have cum inside you. I just made a mess instead."`>> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending thick waves of semen into your <<pussy>>. It drips down your thighs. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 1>> <<He>> moans as a dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc into your <<pussy>>. You expected more. <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 50}`>> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deep into your <<pussy>> as <<he>> cums, holding <<his>> $NPCList[_nn].penisdesc against your womb. You feel warm as semen fills you. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 4 5 6>> <<He>> grasps your shoulders, pulling you deeper onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. Semen fills your <<pussy>>, leaving you breathless. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 7>> <<He>> convulses and grinds down on your crotch as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen drips down your thighs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrancedouble">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> holds you firm by the hip with one hand and holds <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your <<pussy>>. Semen covers you and pools around your legs. <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<pussy>> without a word, sending white streams of semen running down your cunt. <<set _postOrgasmSpeech to "">> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and <<bottom>>. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginaimminentdouble">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate your <<pussy>>, ejaculating over your labia. Semen drips into a pool beneath you. <<set _postOrgasmSpeech to `"Damn it, I wanted to cum inside you."`>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before <<he>> can penetrate, sending white streams of semen running down your labia. <<set _postOrgasmSpeech to `"Fuck, that should have gone inside."`>> <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<pussy>> and <<bottom>>. <<set _postOrgasmSpeech to `"Wish I could have cum inside you. I just made a mess instead."`>> <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginadouble">> /* consensual */ <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and <<print either("glides into","grinds into","thrusts deep into","rams into")>> your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending thick waves of semen into your <<pussy>>. It drips down your thighs. <<set _postOrgasmSpeech to [`"Look at the mess we made of your pussy!"`,`"Did you like double stuffing, slut?"`,`"Nothing like a good double slut!"`].random()>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 1>> <<He>> moans as a dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc into your <<pussy>>. You expected more. <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 50}`>> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and <<print either("glides into","grinds into","thrusts deep into","rams into")>> your <<pussy>> as <<he>> cums, holding <<his>> $NPCList[_nn].penisdesc against your womb. You feel warm as semen fills you. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 4 5 6>> <<He>> grasps your shoulders, pulling you deeper onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. Semen fills your <<pussy>>, leaving you breathless. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 7>> <<He>> convulses and grinds down on your crotch as <<he>> cums, sending thick waves of cum into your <<pussy>>. Semen drips down your thighs. <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<vaginalejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> trembles as <<he>> cums, withdrawing <<his>> $NPCList[_nn].penisdesc from your cheeks and ejaculating onto your <<bottom>>. <<case 4 5 6>> <<He>> grasps your thighs, pushing <<his>> $NPCList[_nn].penisdesc hard against your <<bottom>> and ejaculating between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<case 7>> <<He>> squeezes your cheeks together and moans as <<he>> cums, sending out a massive load that covers your <<bottom>> and pools beneath you. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <!-- intentional dupe line, total of 1000 and 2 --> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<elseif ($NPCList[_nn].penis is "anusentrance" or $NPCList[_nn].penis is "anusentrancedouble") and playerChastity("anus")>> <<He>> cums before <<he>> can penetrate your ass. Semen coats your <<bottom>> and drips down your thighs. <<set _postOrgasmSpeech to `"Damn it, I wanted to pound your ass properly."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pinches your ass cheek with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other as <<he>> ejaculates onto your <<bottom>>. Semen drips down, pooling beneath you. <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<bottom>>. Warm semen drips down your cheeks. <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<bottom>>. It pools beneath you. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <!-- intentional dupe line, total of 1000 and 2 --> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<elseif ($NPCList[_nn].penis is "anusimminent" or $NPCList[_nn].penis is "anusimminentdouble") and playerChastity("anus")>> <<He>> cums before <<he>> can penetrate your ass, ejaculating over your cheeks. Semen coats your <<bottom>> and pools beneath you. <<set _postOrgasmSpeech to `"Fuck, I wanted to cum inside that ass of yours."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before penetrating your ass, ejaculating over your cheeks. Semen coats your <<bottom>> and pools beneath you. <<set _postOrgasmSpeech to `"If only I could have waited a bit longer. That could've gone inside."`>> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<bottom>> before <<he>> can penetrate you, sending white streams of semen running down your crack; <<he>> seems disappointed. <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<bottom>>. <<set _postOrgasmSpeech to `"Your ass looks so fuckable. Can't believe I couldn't wait."`>> <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <!-- intentional dupe line, total of 1000 and 2 --> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your ass. You gasp as thick waves of semen pump into you. It's more than you can hold. Cum runs from your <<bottom>> and down your thighs. <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and over your <<bottom>>. You manage to hold in your laughter. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn].fullDescription, spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 50}`>> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans and thrusts deep into your <<bottom>> as <<he>> cums. You gasp as you take <<his>> entire length and semen fills your insides. <<case 4 5 6>> <<He>> grasps your shoulders and pulls you back onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. You feel semen fill your <<bottom>>. <<case 7>> <<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. It's more than you can hold. Cum runs from your <<bottom>> and down your legs. <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</switch>> <<elseif $NPCList[_nn].penis is "anusdouble">> <<set _dap to 0>> <<set _otherNPCindex to 0>> <<if $anustarget is _nn>> /* State 1 is out of sync, state 2 is in sync */ <<set _otherNPCindex to $anusdoubletarget>> <<set _dap to ($NPCList[$anusdoubletarget].penis isnot "anusdouble" ? 1 : 2)>> <<elseif $anusdoubletarget is _nn>> <<set _otherNPCindex to $anustarget>> <<set _dap to ($NPCList[$anustarget].penis isnot "anusdouble" ? 1 : 2)>> <</if>> <<if _dap is 1>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your <<bottom>> without mercy as <<he>> cums. You whimper as you take <<his>> entire length, feeling warm semen streaming into your bowels. <<case 4 5 6>> <<He>> grasps your hair, pulling you hard onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <span class="blue">You cry out as you feel semen fill you,</span> <<his>> length pulsing in your anus. <<case 7>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your <<bottom>>. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> You feel it drip down your legs. <<set _postOrgasmSpeech to `"You need to learn how to take a cock. Don't worry, I'm sure you'll get lots of practice."`>> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<else>> <<switch random(1, 7)>> <<case 1 2>> <<He>> moans, pounding your <<bottom>> and <<personselect _otherNPCindex>><<combatpersons>> <<npcPenisSimple _otherNPCindex>> without mercy as <<personselect _nn>><<he>> cums. You whimper as you take <<his>> entire length, feeling warm semen streaming into your bowels. <<case 3 4>> <<He>> screams, ramming your <<bottom>> and <<personselect _otherNPCindex>><<combatpersons>> <<npcPenisSimple _otherNPCindex>> savagely as <<personselect _nn>><<he>> cums. You whimper as you take <<his>> entire length. Despite the pain, you can't help but enjoy the feel of semen streaming into your bowels. <<set _postOrgasmSpeech to `"I can't believe you took both of our cocks. I think I'm in love!"`>> <<case 5 6>> <<He>> grasps your hair, pulling you hard onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums while giving no thought to the comfort of <<personselect _otherNPCindex>><<combatpersons>> <<npcPenisSimple _otherNPCindex>>. <span class="blue">You moan as you feel semen fill you,</span> <<personselect _nn>><<his>> length pulsing in your anus. <<case 7>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your <<bottom>>. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> You feel it drip down your legs. <<set _postOrgasmSpeech to `"You need to learn how to take two cocks. Don't worry, I'm sure you'll get lots of practice."`>> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<violence 3>> <</if>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<elseif $NPCList[_nn].penis is "anusimminentdouble" or $NPCList[_nn].penis is "anusentrancedouble">> <<set _otherNPCindex to 0>> <<if _nn is $anustarget>> <<set _otherNPCindex to $anusdoubletarget>> <<else>> <<set _otherNPCindex to $anustarget>> <</if>> <<switch random(1, 7)>> <<case 1 2>> <<He>> cums before <<he>> can penetrate you, accidentally ejaculating all over the $NPCList[_otherNPCindex].fullDescription and their $NPCList[_otherNPCindex].penisdesc. <<set _postOrgasmSpeech to `"That's what you get for not giving me a turn with <<pher>> slut ass!"`>> <<case 3 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc as <<he>> ejaculates onto your <<bottom>>. You feel semen drip down. <<He>> slaps the $NPCList[_otherNPCindex].fullDescription's backside. <<set _postOrgasmSpeech to `"Next time let me join the fun."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 5>> <<He>> thrusts <<his>> $NPCList[_nn].penisdesc against you and the $NPCList[_otherNPCindex].fullDescription's cock, desperate to penetrate your <<bottom>>, but cums too soon. White streams of semen splatter against your cheeks. <<set _postOrgasmSpeech to `"Fuck. I was so close."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 6>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<bottom>>, down your crotch, and over the $NPCList[_otherNPCindex].fullDescription's thighs. <<set _postOrgasmSpeech to `"Such a dirty, teasing slut."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> <span class="blue">spanks you</span> with one hand while stroking <<his>> $NPCList[_nn].penisdesc with the other. <<He>> ejaculates onto your <<bottom>> with a shudder. <<set _postOrgasmSpeech to `"Should've taken us both, <<bitch>>."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<if $NPCList[_nn].penis is "anusentrance">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<else>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your <<breasts>> together tight against <<his>> $NPCList[_nn].penisdesc as <<he>> cums, ejaculating onto them and leaving your chest slick. <<case 4 5 6>> <<He>> rubs the tip of <<his>> $NPCList[_nn].penisdesc between your <<breasts>> as <<he>> cums. Warm semen runs down your chest. <<case 7>> <<He>> grasps the back of your neck as <<he>> bears down on your <<breasts>>, moaning as <<he>> cums. Semen shoots between your <<breasts>> and covers your <<if $position is "missionary">>face.<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach.<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>> <<set _postOrgasmSpeech to `"Oops. That happens sometimes."`>> <</switch>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<if $ejactrait>> <!-- Has cum-dump trait - Takes precedence --> <<He>> grabs <<his>> $NPCList[_nn].penisdesc with a moan as <<he>> sprays warm ejaculate across your face. Unable to help yourself at the smell of fresh cum, you scoop what you can off your face and into your mouth with your hands. You involuntarily moan a little at its <<= either("strong, bitter", "sweet, creamy", "sharp, salty")>> taste. <<garousal>><<lstress>> <<set _postOrgasmSpeech to `"Ha, you're such a greedy cum whore!"`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 100>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<else>> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> holds <<his>> $NPCList[_nn].penisdesc tight, working it while aiming straight at your face. <span class="pink">Thick ropes of cum cover your face and mouth.</span> <<set _postOrgasmSpeech to `"Wow. Sorry about the mess."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<oralejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and down your chin. You manage to hold in the laughter. <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups your chin with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other, ejaculating onto your face. <<He>> seems pleased with the mess. <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc as <<he>> ejaculates onto your face. Warm cum drips down your forehead and nose. <<set _postOrgasmSpeech to `"I love giving facials."`>> <<case 7>> <<He>> grasps your hair, stroking <<his>> $NPCList[_nn].penisdesc while aiming straight at your mouth. Thick ropes of cum cover your face. Some of it lands in your mouth. <<set _postOrgasmSpeech to `"I bet you're impressed."`>> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<if $ejactrait>> <!-- Has cum-dump trait - Takes precedence --> <<He>> grabs <<his>> $NPCList[_nn].penisdesc with a moan as <<he>> sprays warm ejaculate across your face. Unable to help yourself at the smell of fresh cum, you scoop what you can off your face and into your mouth with your hands. You involuntarily moan a little at its <<= either("strong, bitter", "sweet, creamy", "sharp, salty")>> taste. <<garousal>><<lstress>> <<set _postOrgasmSpeech to `"Ha, you're such a greedy cum whore!"`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 100>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups your hair, ejaculating onto your lips as you barely brush against the tip of <<his>> $NPCList[_nn].penisdesc. <<He>> seems disappointed. <<set _postOrgasmSpeech to `"Really wanted to feel that mouth around me."`>> <<case 4 5 6>> <<He>> brushes <<his>> $NPCList[_nn].penisdesc against your face, and cums. It drips down your lips and chin. <<set _postOrgasmSpeech to `"Didn't mean to cum so soon."`>> <<default>> <<He>> grasps your hair and tries to force <<his>> $NPCList[_nn].penisdesc into your mouth, but <<his>> spasms sabotage <<his>> efforts. Thick ropes of cum cover your face. Some lands in your mouth. <<set _postOrgasmSpeech to `"Really made a mess of your face."`>> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</if>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> cups the back of your head and thrusts down your throat, gagging you with <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <span class="green">Semen streams down your throat</span> and fills your mouth. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 1>> <<He>> ejaculates, and a dribble of semen leaks from <<his>> $NPCList[_nn].penisdesc onto the ground. <br><br> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cups your chin with one hand and your hair with the other, thrusting deep into your mouth as <<he>> cums. Ejaculate streams down your throat and fills your mouth. <<case 4 5 6>> <<He>> grasps the base of <<his>> $NPCList[_nn].penisdesc and moans as <<he>> ejaculates into your mouth. You feel warm cum drip down your throat. <<case 7>> <<He>> grasps your hair and thrusts <<his>> $NPCList[_nn].penisdesc into your mouth as <<he>> cums. Semen streams down your throat, fills your mouth and covers your face as <<he>> pulls out. <<set _postOrgasmSpeech to `"I just can't control myself with you."`>> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and moans as <<he>> cums. Ejaculate covers your feet. <<set _postOrgasmSpeech to `"Your feet are just adorable!"`>> <<case 4 5 6>> <<He>> cums on your feet, slickening them with semen. <<set _postOrgasmSpeech to `"Next time I want to fuck you properly."`>> <<case 7>> <<He>> thrusts <<his>> $NPCList[_nn].penisdesc between your feet as <<he>> ejaculates, splattering your feet and legs with cum. <<set _postOrgasmSpeech to `"Look at the mess we made."`>> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, penis pulsing in your hands, covering them both in cum. <<set _postOrgasmSpeech to `"I love your enthusiasm. Two handed handjobs are best."`>> <<case 4 5 6>> <<He>> cums on your hands, slickening them with semen. <<set _postOrgasmSpeech to `"I'd rather fuck you next time, but I like that you used both hands."`>> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum. You are so intent on your work that you don't notice <<his>> $NPCList[_nn].penisdesc is aimed at your face, which ends up splattered. <<set _postOrgasmSpeech to `"Better look out next time."`>> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, <<his>> hot $NPCList[_nn].penisdesc sliding in your left hand and covering it with cum. <<set _postOrgasmSpeech to `"That was a nice change."`>> <<case 4 5 6>> <<He>> cums on your left hand. Semen drips down your fingers. <<set _postOrgasmSpeech to `"I'm gonna fuck you properly next time."`>> <<case 7>> <<He>> spasms and moans. Thick streams of cum and splatter over your <<breasts>>. <<set _postOrgasmSpeech to `"You're really good at hand jobs."`>> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <br><br> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you work <<his>> shaft with your right hand. You give <<him>> a final squeeze, and <<he>> cums. Your hand is covered in warm semen. <<set _postOrgasmSpeech to `"That was interesting."`>> <<case 4 5 6>> <<He>> cums on your right hand. <<set _postOrgasmSpeech to `"Next time I'll fuck you properly."`>> <<case 7>> <<He>> moans and shoots thick ropes of semen over your right hand. <<set _postOrgasmSpeech to `"You're such a hot thing."`>> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is "leftDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyLeft.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyLeft.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyLeft.name brings <<him>> to orgasm. <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>> <<elseif $NPCList[_nn].penis is "rightDildoAnus">> <<switch random(1, 5)>> <<case 1 2>> <<He>> ?orgasmMoans as <<his>> body convulses, <<his>> thighs trembling against your $currentSexToyRight.name. <<case 3 4>> <<His>> blush deepens and <<his>> mouth gapes as <<he>> cums against your $currentSexToyRight.name. <<case 5>> <<He>> ?orgasmMoans and grasps your arm as your $currentSexToyRight.name brings <<him>> to orgasm. <</switch>> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 5)>> <<case 1>> <<He>> moans as <<he>> works <<his>> shaft and, giving <<his>> $NPCList[_nn].penisdesc a final squeeze, ejaculates onto your tummy. <<set _postOrgasmSpeech to `"God you're hot."`>> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc and aims at your face before ejaculating, covering it with semen. <<set _postOrgasmSpeech to `"You're so cute. I just couldn't help myself."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and, aiming at your ass, ejaculates on your bottom. <<set _postOrgasmSpeech to `"I could rub myself to you for hours."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and moans, ejaculating on your <<breasts>>. <<set _postOrgasmSpeech to `"You look great with my cum on you."`>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 5>> <<He>> moans and rubs <<his>> $NPCList[_nn].penisdesc with wild strokes, sending cum flying over your chest and tummy. <<set _postOrgasmSpeech to `"You're so hot. I can't control myself."`>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> groans as you fuck <<his>> ass, <<his>> ejaculate spraying on <<his>> own stomach. <<set _postOrgasmSpeech to `"That was great."`>> <<case 4 5>> <<He>> whimpers as you pound <<his>> ass, crying out as <<he>> ejaculates on the ground. <<set _postOrgasmSpeech to `"You made me feel like your bitch."`>> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <<set _postOrgasmSpeech to `"Being fucked by you makes me feel so hot."`>> <</switch>> <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> cheeks, grinding your <<penis>> against <<his>> ass to finish. <<set _postOrgasmSpeech to `"You should fuck me properly next time."`>> <<case 4 5>> <<He>> moans and ejaculates on the ground as you rub against <<his>> ass. <<set _postOrgasmSpeech to `"You're such a tease. I thought you were going to enter me, but I couldn't hold on."`>> <<case 6 7>> <<He>> sighs and ejaculates onto <<his>> own chest. <<set _postOrgasmSpeech to `"I love having my ass toyed with."`>> <</switch>> <<elseif $NPCList[_nn].penis is "penis" or $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<He>> shakes with arousal as <<he>> cums all over your <<penis>>. <<set _postOrgasmSpeech to `"That was awesome."`>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <!-- This is picking up female NPCs as well --> <<elseif $NPCList[_nn].mouth is "penis">> <<if $speech_attitude is "meek">> <<He>> cums as you fuck <<his>> mouth, gasping against your <<penis>>. <<set _postOrgasmSpeech to `"I love giving head."`>> <<elseif $speech_attitude is "bratty">> <<He>> whimpers and cums on the ground as you grab <<his>> hair and pound <<his>> face. <<set _postOrgasmSpeech to `"Please, I can't take any more." You push <<him>> away.`>> <<else>> <<He>> grasps your <<bottom>> and drives your <<penis>> deep down <<his>> throat. <<He>> ejaculates on <<his>> chest as <<he>> gags on your cock. <<He>> gasps for air and smiles. <<set _postOrgasmSpeech to `"I love it when you abuse me."`>> <</if>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums. <<set _postOrgasmSpeech to `"That was awesome."`>> <<else>> <<He>> collapses in orgasmic bliss. <</if>> <!-- Start Non-Consensual --> <<else>> <<if _condomResult is "leaked">> <span class="red">The condom broke.</span> <<elseif _condomResult is "burst">> <span class="red">The tip of the condom bursts and rips, exposing the head of <<his>> penis.</span> <</if>> <<if $NPCList[_nn].penis is "idle">> <<He>> moans as a wet patch forms on <<his>> trousers. You laugh at the pathetic display, regardless of the danger <<he>> poses. <<elseif _condomResult is "contained">> <<genericCondomEjaculation>> <<elseif $NPCList[_nn].penis is "thighs">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> shakes as <<he>> cums, pulling <<his>> $NPCList[_nn].penisdesc out and ejaculating onto the back of your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 4 5 6>> <<He>> grasps your legs, slamming <<his>> crotch hard into your <<bottom>> as <<he>> cums between your thighs, <<his>> ejaculate flying onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 7>> <<He>> moans as <<he>> cums, ejaculating a massive load that covers your thighs and tummy. <<set _postOrgasmSpeech to `"Take that you little bitch."`>> <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrance" and playerChastity("vagina")>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your $worn.genitals.name, sending white streams of semen running down your thighs. <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "vaginaentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your <<bottom>> and tries to pull you onto <<him>> as <<he>> ejaculates over your <<pussy>>. Semen coats your outer labia and pools around your legs. <<case 4 5 6>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc against your <<pussy>> with greater intensity as <<he>> ejaculates, covering your labia with semen. <<case 7>> <<He>> moans and rubs <<his>> $NPCList[_nn].penisdesc hard against your <<pussy>> as <<he>> cums, sending thick ropes of semen onto your labia and <<bottom>>. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginaimminent" and playerChastity("vagina")>> <<He>> ejaculates onto your $worn.genitals.name, sending white streams of semen running down your thighs. <<set _postOrgasmSpeech to `"Wish you weren't wearing that thing."`>> <br><br> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "vaginaimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before penetrating your <<pussy>>, ejaculating on your labia and tummy. <span class="red"><<He>> slaps your <<bottom>> hard in anger.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<case 4 5 6>> <<He>> ejaculates onto your <<pussy>> before penetrating you, sending white streams of semen onto your labia. <<set _postOrgasmSpeech to `"Fuck. I wanted that to go inside."`>> <<case 7>> <<He>> moans and spasms as <<he>> cums, trying to penetrate your <<pussy>> with desperate thrusts. <<He>> lacks the coordination mid-climax, instead sending thick ropes of semen over your labia and <<bottom>> "I'm fucking you properly next time, slut." <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vagina">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and pounds your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending thick waves of cum into your <<pussy>>. Semen drips from your vagina and down your legs. <<set _postOrgasmSpeech to `"Doesn't look like you can handle my load."`>> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 1>> <<He>> moans as a dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and over your <<pussy>>. <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 50, rngType: "canWash"}`>> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your hair and thrusts <<his>> $NPCList[_nn].penisdesc deep into your <<pussy>> as <<he>> cums. You feel semen splash inside. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 4 5 6>> <<He>> <span class="purple">grasps your throat</span> and pounds <<his>> $NPCList[_nn].penisdesc into you as <<he>> cums. Semen fills your <<pussy>> as you gasp for air. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 7>> <<He>> convulses and pounds your <<pussy>> as <<he>> cums. Rubbing against your <<clit>> and sending thick waves of cum into your body. Semen drips from your vagina and down your legs. <<set _postOrgasmSpeech to `"Didn't think you could handle my load."`>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaentrancedouble">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your <<bottom>> and tries to pull you onto <<him>> as <<he>> ejaculates over your <<pussy>>. Semen coats your outer labia and pools around your legs. <<case 4 5 6>> <<He>> rubs <<his>> $NPCList[_nn].penisdesc against your <<pussy>> with greater intensity as <<he>> ejaculates, covering your labia with semen. <<case 7>> <<He>> moans and rubs <<his>> $NPCList[_nn].penisdesc hard against your <<pussy>> as <<he>> cums, sending thick ropes of semen onto your labia and <<bottom>>. <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginaimminentdouble" and playerChastity("vagina")>> <<set _otherNPCIndex to (_nn is $vaginatarget ? $vaginatarget : $vaginadoubletarget)>> <<switch random(2)>> <<case 0>> <<He>> ejaculates onto your $worn.genitals.name, sending white streams of semen running down your thighs. <<set _postOrgasmSpeech to `"Wish you weren't wearing that thing."`>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">><<bodyliquid "thigh" "semen">> <<case 1>> <<He>> ejaculates onto your $worn.genitals.name, sending white streams of semen running down your thighs and <<personselect _otherNPCIndex>><<combatpersons>> <<npcPenisSimple _otherNPCIndex>>. <<set _postOrgasmSpeech to `"Fucking whore, look what I've done."`>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">><<bodyliquid "thigh" "semen">> <<default>> <<He>> ejaculates onto your $worn.genitals.name, sending white streams of semen running down your thighs. <<set _postOrgasmSpeech to `"Wish you weren't wearing that thing."`>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">><<bodyliquid "thigh" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "vaginaimminentdouble">> <<set _otherNPCIndex to (_nn is $vaginatarget ? $vaginadoubletarget : $vaginatarget)>> <<switch random(1, 7)>> <<case 1 2>> <<He>> cums before penetrating your <<pussy>>, ejaculating on your labia and tummy. <span class="red"><<He>> slaps your <<bottom>> hard in anger.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<case 3 4>> <<He>> ejaculates onto your <<pussy>> before penetrating you, sending white streams of semen onto your labia. <<set _postOrgasmSpeech to `"Fuck. I wanted that to go inside."`>> <<case 5 6>> <<He>> cums before penetrating your <<pussy>>, ejaculating on your labia and all over <<personselect _otherNPCIndex>><<combatpersons>> <<npcPenis _otherNPCIndex>>. <span class="red"><<personselect _nn>><<He>> slaps your <<bottom>> hard in anger.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<case 4 5>> <<He>> ejaculates onto your <<pussy>> before penetrating you, sending white streams of semen onto your labia. <<set _postOrgasmSpeech to `"Fuck. I wanted that to go inside."`>> <<case 7>> <<He>> moans and spasms as <<he>> cums, trying to penetrate your <<pussy>> with desperate thrusts. <<He>> lacks the coordination mid-climax, instead sending thick ropes of semen over your labia and <<bottom>> "I'm fucking you properly next time, slut." <<bottomejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</switch>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "vaginadouble">> /* Noncon */ <<set _otherNPCIndex to (_nn is $vaginatarget ? $vaginadoubletarget : $vaginatarget)>> <<switch $NPCList[_nn].penissize>> <<case 4 5>> <<He>> convulses and <<print either("pounds","brutalises","thrusts deep into","rams")>> your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending thick waves of cum into your <<pussy>>. Semen drips from your vagina and down your legs. <<set _postOrgasmSpeech to [`"Doesn't look like you can handle my load."`,`"Learn how to take double stuffing, worthless whore."`,`"Look at the mess I made of your pussy!"`,`"We ruined your pussy. Dirty whore."`].random()>> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 1>> <<He>> moans as a dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc, oozing over your <<pussy>> and <<personselect _otherNPCIndex>><<combatpersons>> <<npcPenis _otherNPCIndex>>. <<recordSperm `{target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 50, rngType: "canWash"}`>> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grabs your hair and <<print either("pounds","brutalises","thrusts","rams")>> <<his>> $NPCList[_nn].penisdesc deep into your <<pussy>> as <<he>> cums. You feel unwelcome semen splash inside. <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 4 5>> <<He>> <span class="purple">grasps your throat</span> and pounds <<his>> $NPCList[_nn].penisdesc into you as <<he>> cums. Semen fills your <<pussy>> as you gasp for air. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 6>> <<He>> convulses and <<print either("pounds","brutalises","thrusts deep into","rams")>> your <<pussy>> as <<he>> cums, giving no heed to <<personselect _otherNPCIndex>><<combatpersons>> <<npcPenis _otherNPCIndex>>. Semen drips from your vagina and down your legs. <<set _postOrgasmSpeech to `"Filthy cum slut, take it!"`>> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<case 7>> <<He>> convulses and <<print either("pounds","brutalises","thrusts deep into","rams")>> your <<pussy>> as <<he>> cums. Rubbing against your <<clit>> and sending thick waves of cum into your body. Semen drips from your vagina and down your legs. <<set _postOrgasmSpeech to `"Didn't think you could handle my load."`>> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <</switch>> <<elseif $NPCList[_nn].penis is "cheeks">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> withdraws <<his>> $NPCList[_nn].penisdesc from your cheeks as <<he>> cums, ejaculating over your <<bottom>>. <span class="blue"><<He>> gives your rear a parting smack.</span> <<case 4 5 6>> <<He>> pinches your <<bottom>> and pulls you hard against <<his>> body as <<he>> ejaculates between your cheeks. <!-- Really should be onto PCs back given position. Or hair maybe. Esp next one --> <<case 7>> <<He>> squeezes your cheeks together and moans as <<he>> cums, ejaculating a massive load that covers your <<bottom>> and drips down your crotch. <<He>> laughs at the mess. <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <!-- intentional dupe line, total of 1000 and 2 --> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<elseif $NPCList[_nn].penis is "anusentrance" and playerChastity("anus")>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc as <<he>> ejaculates onto your <<bottom>>. Semen drips down your thighs. <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "anusentrance">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> <span class="blue">spanks you</span> with one hand while stroking <<his>> $NPCList[_nn].penisdesc with the other. <<He>> ejaculates onto your <<bottom>> with a shudder. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise bottom>><<hitstat>> <<case 4 5 6>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc as <<he>> ejaculates onto your <<bottom>>. You feel semen drip down. <<case 7>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<bottom>> and down your crotch. <<set _postOrgasmSpeech to `"What a dirty slut you are."`>> <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <!-- intentional dupe line, total of 1000 and 2 --> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anusimminent" and playerChastity("anus")>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and ejaculates onto your <<bottom>>, sending white streams of semen running down your thighs. <<set _postOrgasmSpeech to `"Fuck. If only this thing wasn't in the way."`>> <br><br> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">><<bodyliquid "thigh" "semen">> <<elseif $NPCList[_nn].penis is "anusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums before <<he>> can penetrate you, ejaculating onto your cheeks. Semen coats your <<bottom>>. <span class="red"><<He>> smacks your ass in frustration.</span> <<gstress>><<gtrauma>><<gpain>><<violence 6>><<bruise bottom>><<hitstat>> <<case 4 5 6>> <<He>> thrusts <<his>> $NPCList[_nn].penisdesc against you, desperate to penetrate your <<bottom>>, but cums too soon. White streams of semen splatter against your cheeks. <<set _postOrgasmSpeech to `"Fuck. I was so close."`>> <<case 7>> <<He>> thrusts <<his>> $NPCList[_nn].penisdesc against your <<bottom>> as <<he>> cums, sending thick ropes of semen onto your cheeks. <<set _postOrgasmSpeech to `"Next time I'm going balls deep."`>> <<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <!-- intentional dupe line, total of 1000 and 2 --> <</switch>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <<elseif $NPCList[_nn].penis is "anus">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your <<bottom>>. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> You feel it drip down your legs. <<set _postOrgasmSpeech to `"You need to learn how to take a cock. Don't worry, I'm sure you'll get lots of practice."`>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto your <<bottom>>. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 50}`>> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your <<bottom>> without mercy as <<he>> cums. You whimper as you take <<his>> entire length, and feel unwelcome semen streaming into your bowels. <<case 4 5 6>> <<He>> grasps your hair, pulling you hard onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <span class="blue">You cry out as you feel semen fill you,</span> <<his>> length pulsing in your anus. <<case 7>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your <<bottom>>. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> You feel it drip down your legs. <<set _postOrgasmSpeech to `"You need to learn how to take a cock. Don't worry, I'm sure you'll get lots of practice."`>> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</switch>> <<elseif $NPCList[_nn].penis is "anusdouble">> /* State 1: One in, the other out State 2: both dicks inside */ <<set _dap to 0>> <<set _otherNPCindex to $anustarget>> <<if $anustarget is _nn>> /* State 1 is out of sync, state 2 is in sync */ <<set _otherNPCindex to $anusdoubletarget>> <<set _dap to ($NPCList[$anusdoubletarget].penis isnot "anusdouble" ? 1 : 2)>> <<elseif $anusdoubletarget is _nn>> <<set _otherNPCindex to $anustarget>> <<set _dap to ($NPCList[$anustarget].penis isnot "anusdouble" ? 1 : 2)>> <</if>> <<if _dap is 1>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans, pounding your <<bottom>> without mercy as <<he>> cums. You whimper as you take <<his>> entire length, feeling unwelcome semen streaming into your bowels. <<case 4 5 6>> <<He>> grasps your hair, pulling you hard onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <span class="blue">You cry out as you feel semen fill you,</span> <<his>> length pulsing in your anus. <<case 7>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your <<bottom>>. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> You feel it drip down your legs. <<set _postOrgasmSpeech to `"You need to learn how to take a cock. Don't worry, I'm sure you'll get lots of practice."`>> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<else>> <<switch random(1, 7)>> <<case 1 2>> <<He>> moans, pounding your <<bottom>> and the $NPCList[_otherNPCindex].fullDescription's <<npcPenisSimple _otherNPCindex>> without mercy as <<he>> cums. You whimper as you take <<his>> entire length, feeling unwelcome semen streaming into your bowels. <<case 3 4>> <<He>> screams, ramming your <<bottom>> and the $NPCList[_otherNPCindex].fullDescription's <<npcPenisSimple _otherNPCindex>> savagely as <<he>> cums. You whimper as you take <<his>> entire length. Despite the pain, you can't help but enjoy the feel of semen streaming into your bowels. <<set _postOrgasmSpeech to `"I can't believe you took both of our cocks. I think I'm in love!"`>> <<case 5 6>> <<He>> grasps your hair, pulling you hard onto <<his>> $NPCList[_nn].penisdesc as <<he>> cums while giving no thought to the comfort of the other cock. <span class="blue">You cry out as you feel semen fill you,</span> <<his>> length pulsing in your anus. <<case 7>> <<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your <<bottom>>. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> You feel it drip down your legs. <<set _postOrgasmSpeech to `"You need to learn how to take two cocks. Don't worry, I'm sure you'll get lots of practice."`>> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <</if>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<gstress>><<gtrauma>><<gpain>><<violence 5>><<bruise bottom>><<hitstat>> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<elseif $NPCList[_nn].penis is "anusimminentdouble" or $NPCList[_nn].penis is "anusentrancedouble">> <<set _otherNPCindex to 0>> <<if _nn is $anustarget>> <<set _otherNPCindex to $anusdoubletarget>> <<else>> <<set _otherNPCindex to $anustarget>> <</if>> <<switch random(1, 7)>> <<case 1 2>> <<He>> cums before <<he>> can penetrate you, accidentally ejaculating all over the $NPCList[_otherNPCindex].fullDescription and their $NPCList[_otherNPCindex].penisdesc. <<set _postOrgasmSpeech to `"That's what you get for not giving me a turn with <<pher>> slut ass!"`>> <<case 3 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc as <<he>> ejaculates onto your <<bottom>>. You feel semen drip down. <<He>> slaps the $NPCList[_otherNPCindex].fullDescription's backside. <<set _postOrgasmSpeech to `"Next time let me join the fun."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 5>> <<He>> thrusts <<his>> $NPCList[_nn].penisdesc against you and the $NPCList[_otherNPCindex].fullDescription's cock, desperate to penetrate your <<bottom>>, but cums too soon. White streams of semen splatter against your cheeks. <<set _postOrgasmSpeech to `"Fuck. I was so close."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 6>> <<He>> moans and strokes <<his>> $NPCList[_nn].penisdesc as <<he>> cums, sending thick ropes of semen onto your <<bottom>>, down your crotch, and over the $NPCList[_otherNPCindex].fullDescription's thighs. <<set _postOrgasmSpeech to `"Such a dirty, teasing slut."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 7>> <<He>> <span class="blue">spanks you</span> with one hand while stroking <<his>> $NPCList[_nn].penisdesc with the other. <<He>> ejaculates onto your <<bottom>> with a shudder. <<set _postOrgasmSpeech to `"Should've taken us both, <<bitch>>."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise bottom>><<hitstat>> <</switch>> <<if $NPCList[_nn].penis is "anusentrance">> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 5, rngType: "canWash"}`>> <<else>> <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_nn], spermType: $enemytype is "man" ? "human" : $NPCList[_nn].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<elseif $NPCList[_nn].penis is "chest">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> squeezes your <<breasts>> arounds <<his>> $NPCList[_nn].penisdesc as <<he>> cums, ejaculating onto them. <span class="pink"> <<He>> finishes with a slap to your face.</span> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise face>><<hitstat>> <<case 4 5 6>> <<He>> grasps your hair and forces you to look at <<him>> while <<his>> $NPCList[_nn].penisdesc thrusts between your <<breasts>>. <<He>> shudders and ejaculates over them. <<set _postOrgasmSpeech to `"You should look at me while I use you for my pleasure." You feel warm semen slide down your body.`>> <<case 7>> <<He>> grasps your neck and pushes your face against <<his>> body as <<he>> fucks your <<breasts>>. Semen shoots over your <<if $position is "missionary">>face<<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">><<else>>stomach<<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">><</if>> as you gasp for air. <<set _postOrgasmSpeech to `"Next time you're swallowing it, you little bitch."`>> <</switch>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<elseif $NPCList[_nn].penis is "mouthentrance">> <<if $ejactrait>> <!-- Has cum-dump trait - Takes precedence --> <<He>> grabs your hair with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other as <<he>> sprays warm ejaculate across your face. Unable to help yourself at the smell of fresh cum, you start to scoop what you can off your face and into your mouth with your hands. You force yourself to stop once you realise what you're doing, disgusted with your own behaviour. <<garousal>><<gstress>><<gtrauma>> <<set _postOrgasmSpeech to `"You're actually getting off from this? No-good cum whore."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 300>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<else>> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> holds <<his>> $NPCList[_nn].penisdesc tight, working it while aiming straight at your mouth. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips.</span> <<set _postOrgasmSpeech to `"You need to learn to swallow, bitch."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<case 1>> <<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and down your chin. You manage to hold in the laughter. <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your chin with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other as <<he>> ejaculates onto your face. <<He>> laughs as you cringe away from <<him>>. <<case 4 5 6>> <<He>> grasps your ear with one hand while stroking <<his>> $NPCList[_nn].penisdesc with the other. <<He>> cums on your face. <<set _postOrgasmSpeech to `"I love giving unwanted facials."`>> <<case 7>> <<He>> grasps your hair tight in <<his>> fist while stroking <<his>> $NPCList[_nn].penisdesc. <<He>> aims at your mouth as <<he>> cums. <span class="pink">You splutter and gag as thick ropes of cum push past your clenched lips and into your mouth.</span> <<set _postOrgasmSpeech to `"I love watching whores gag on cum."`>> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "mouthimminent">> <<if $ejactrait>> <!-- Has cum-dump trait - Takes precedence --> <<He>> grabs your hair with one hand and strokes <<his>> $NPCList[_nn].penisdesc with the other as <<he>> sprays warm ejaculate across your face. Unable to help yourself at the smell of fresh cum, you start to scoop what you can off your face and into your mouth with your hands. You force yourself to stop once you realise what you're doing, disgusted with your own behaviour. <<garousal>><<gstress>><<gtrauma>> <<set _postOrgasmSpeech to `"You're actually getting off from this? No-good cum whore."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 300>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<else>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps hair at the nape your neck, and tries to push <<his>> $NPCList[_nn].penisdesc into your mouth. <<He>> ejaculates too soon, shooting cum over your lips. <span class="pink"><<He>> slaps you across the face.</span> <<set _postOrgasmSpeech to `"Next time you better swallow what I give you."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 4 5 6>> <<He>> brushes <<his>> $NPCList[_nn].penisdesc against your lips, causing <<him>> to ejaculate early. Cum drips down your face. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<default>> <<He>> grasps your hair and tries to force <<his>> $NPCList[_nn].penisdesc into your mouth. <<Hes>> too excited, and cums before <<he>> can enter you. Thick ropes of cum cover your cheeks and chin. Some makes it into your mouth. <<set _postOrgasmSpeech to `"Next time it's balls deep, bitch."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <</if>> <<elseif $NPCList[_nn].penis is "mouth">> <<switch $NPCList[_nn].penissize>> <<case 4>> <<He>> grasps your hair and thrusts down your throat, gagging you with <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <span class="pink">You whimper as semen streams down your throat.</span> <<set _postOrgasmSpeech to `"I bet you enjoy being face fucked."`>> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<case 1>> <<He>> thrusts <<his>> $NPCList[_nn].penisdesc as far into your mouth as possible. It's not much. A tiny dribble of semen leaks from the end of <<his>> penis and down your chin. <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <<default>> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> grasps your chin with one hand, and your hair with the other, then shoves <<his>> $NPCList[_nn].penisdesc down your throat. <<He>> cums at once. You gag and retch as unwanted semen streams down your throat, forcing you to swallow. <<case 4 5 6>> <<He>> <span class="blue">grasps your throat</span> for purchase as <<his>> $NPCList[_nn].penisdesc thrusts into your mouth. You gag as <<he>> ejaculates down your throat. <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <<case 7>> <<He>> grasps your hair by the temples and thrusts <<his>> $NPCList[_nn].penisdesc down your throat as <<he>> cums. <span class="pink">You whimper as semen streams into you.</span> <<Hes>> still ejaculating when <<he>> pulls out, filling your mouth and splattering over your face. <<set _postOrgasmSpeech to `"Sluts like you are made to be dominated."`>> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<gstress>><<gtrauma>><<gpain>><<violence 3>><<bruise neck>><<hitstat>> <</switch>> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</switch>> <<elseif $NPCList[_nn].penis is "feet">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> pushes your feet together and moans as <<he>> cums. Ejaculate covers your feet. <<set _postOrgasmSpeech to `"Next time I'm fucking you properly."`>> <<case 4 5 6>> <<He>> cums on your feet, leaving them slick with semen. <<set _postOrgasmSpeech to `"I didn't mean to cum so soon."`>> <<case 7>> <<He>> moans and thrusts <<his>> $NPCList[_nn].penisdesc between your feet as <<he>> cums, splattering semen onto your feet and legs. <<set _postOrgasmSpeech to `"Now you're nice and messy."`>> <<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</switch>> <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <<elseif $NPCList[_nn].penis is "leftarm" and $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, <<his>> $NPCList[_nn].penisdesc pulsing in your hands. <<set _postOrgasmSpeech to `"I love your enthusiasm. Two handed handjobs are best."`>> <<case 4 5 6>> <<He>> cums on your hands, leaving them slick with semen. <<set _postOrgasmSpeech to `"I'm gonna fuck you next time, but I like that you used both hands."`>> <<case 7>> <<He>> spasms and moans, shooting thick streams of cum over your hands. You are so intent on your work you don't notice <<his>> $NPCList[_nn].penisdesc is aimed at your face. It gets splattered with semen. <<set _postOrgasmSpeech to `"Better look out next time."`>> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is "leftarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sliding in your left hand and covering it with semen. <br><br> <<case 3 4>> <<He>> spasms and moans, shooting thick streams of cum over your hand. You are so intent on keeping <<him>> occupied that you don't notice that <<his>> $NPCList[_nn].penisdesc is aimed at your face. It gets splattered with semen. <<set _postOrgasmSpeech to `"Take that you cheeky cunt."`>> <<faceejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 6 7>> <<He>> spasms and moans. Thick streams of cum shoot from <<his>> $NPCList[_nn].penisdesc, splattering your chest. <<set _postOrgasmSpeech to `"You need to learn to control cock better."`>> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <<elseif $NPCList[_nn].penis is "rightarm">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you work <<his>> shaft with your right hand. You give <<his>> $NPCList[_nn].penisdesc a final squeeze, and <<he>> cums on your wrist. <<case 4 5>> <<He>> spasms and moans, shooting thick streams of cum onto your hand. You are so intent on keeping <<him>> occupied you don't notice <<his>> $NPCList[_nn].penisdesc is aimed at your chest. <<His>> semen splatters onto your <<breasts>>. <<set _postOrgasmSpeech to `"You should lick that up, whore."`>> <<chestejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 6 7>> <<He>> moans as thick ropes of semen erupt from <<his>> $NPCList[_nn].penisdesc and into the air. It lands on your hand. <<set _postOrgasmSpeech to `"Lick it up. Go on, you can't resist."`>> <</switch>> <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <<elseif $NPCList[_nn].penis is 0>> <<switch random(1, 5)>> <<case 1>> <<He>> moans as <<he>> works <<his>> shaft and, giving <<his>> $NPCList[_nn].penisdesc a final squeeze, ejaculates onto your tummy. <<set _postOrgasmSpeech to `"Take that, whore."`>> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 2>> <<He>> aims at your face as <<he>> rubs <<his>> $NPCList[_nn].penisdesc, covering it with semen. <<set _postOrgasmSpeech to `"Your place is on your knees in service. Don't forget it."`>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and, aiming it with care, ejaculates on your <<bottom>>. <<set _postOrgasmSpeech to `"That's warm up for next time."`>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <<case 4>> <<He>> strokes <<his>> $NPCList[_nn].penisdesc and moans, ejaculating on your <<breasts>>. <<set _postOrgasmSpeech to `"I love watching cum drip down a used-up whore."`>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<case 5>> <<He>> moans as <<he>> rubs <<his>> $NPCList[_nn].penisdesc, sending cum flying all over your body. <<He>> grins as the last strings of ejaculate spurt from <<his>> cock. <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</switch>> <<elseif $NPCList[_nn].penis is "otheranus">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> moans as you fuck <<his>> ass. <<He>> catches <<his>> ejaculate in <<his>> hands, and stares at it. <<He>> looks ashamed. <<set _postOrgasmSpeech to `"Get off me. I'm done now."`>> /* <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> */ /* not sure why this is here */ <<case 4 5>> <<He>> whimpers as you pound <<his>> ass. Cum shoots from <<his>> $NPCList[_nn].penisdesc, splattering over the ground. <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <<set _postOrgasmSpeech to `"You're a decent fuck toy. Next time I'm fucking that ass of yours."`>> <</switch>> <<elseif $NPCList[_nn].penis is "otheranusfrot" or $NPCList[_nn].penis is "otheranusentrance" or $NPCList[_nn].penis is "otheranusimminent">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> cheeks. You grind your <<penis>> against <<his>> ass to finish. <<set _postOrgasmSpeech to `"You'll get a beating if you don't fuck me properly next time."`>> <<case 4 5>> <<He>> moans and ejaculates on the ground as you rub against <<his>> anus. <<set _postOrgasmSpeech to `"Fuck. I wanted to feel you inside me."`>> <<case 6 7>> <<He>> sighs as <<he>> ejaculates onto <<his>> own chest. <<set _postOrgasmSpeech to `"Next time I'll do the fucking. Be ready."`>> <</switch>> <<elseif $NPCList[_nn].penis is "penis" or $NPCList[_nn].penis is "penisentrance" or $NPCList[_nn].penis is "penisimminent">> <<He>> shakes with arousal as <<he>> cums all over your <<penis>>. <<set _postOrgasmSpeech to `"That was awesome."`>> <!-- Special case male PC being orally serviced by male NPC with no other contact --> <<elseif $NPCList[_nn].mouth is "penis">> <<switch random(1, 7)>> <<case 1 2 3>> <<He>> cums as you fuck <<his>> mouth. <<He>> shoves you away, as if disgusted with <<himself>>. <<set _postOrgasmSpeech to `"I'm done. Get lost."`>> <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<case 4 5>> <<He>> whimpers and cums on the ground as you grasp <<his>> hair and pound <<his>> face. <<He>> struggles away from your cock. <<set _postOrgasmSpeech to `"I'm finished. Fuck off."`>> <<case 6 7>> <<He>> <<print ($player.ballsExist ? "cups your balls" : "grabs your pussy")>> and painfully drives your <<penis>> down <<his>> throat. <<He>> ejaculates on <<his>> chest as <<he>> gags on your cock. <<set _postOrgasmSpeech to `"T-Topping from the bottom is my speciality, bitch."`>> <</switch>> <<elseif $NPCList[_nn].penis is "othermouth">> <<He>> shakes with arousal as <<he>> cums, before spitting on your face. <br><br> <<else>> <<He>> collapses in orgasmic bliss. <</if>> <</if>> <</if>> <<if _postOrgasmSpeech and $speechdisable isnot 1>> _postOrgasmSpeech <<unset _postOrgasmSpeech>> <</if>> <br><br> <<if $watersportsdisable is "f" and $consensual is 0 and $enemyanger gte random(20, 200) and ($NPCList[_nn].penis is "none" or !$NPCList[_nn].penisdesc.includes("strap-on")) and _condomResult isnot "contained" and _args[0] isnot "short">> <<ejaculation-urinate>> <</if>> <</if>> <</if>> <</for>> <!-- END MAIN LOOP --> <!-- Finishing moves for consensual with low anger or non-consensual with enemy damage --> <<if _args[0] isnot "short">> <<if $npc.length is 0>> <<if $position isnot "wall">> <<if $punishmentposition isnot "gloryhole" and not $gloryhole>> <!-- Disregard named NPCs and Pillory / Wall --> <<if $consensual is 1 and $enemyanger lte 0 and $NPCList[0].fullDescription isnot "Ivory Wraith">> <<if $enemyno is 1>> <<switch random(1, 6)>> <<case 1 2>> <<He>> absently strokes you, <span class="green">making you feel warm inside.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<case 3 4>> <<He>> strokes your hair, <span class="green">making you feel warm inside.</span> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <<case 5 6>> <<He>> brushes your cheek with <<his>> hand. <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<He>> says something in <<his>> incomprehensible language, but <<his>> tone is warm. <span class="green">Your face flushes with pleasure.</span> <<else>> "You're so <<if $player.gender_appearance is "m">>handsome<<else>>beautiful<</if>>!" <span class="green">Your face flushes with pleasure.</span> <</if>> <<lstress>><<ltrauma>><<lpain>><<violence -3>> <br><br> <</switch>> <<elseif $enemyno gte 2>> They stroke you, <span class="green">making you feel warm inside.</span> <<lstress>><<ltrauma>><<lpain>><<violence -6>> <br><br> <</if>> <<elseif $consensual is 0 and $mouthuse is "facesit" and $enemyhealth lte ($enemyhealthmax / 10) * 9 and $NPCList[0].fullDescription isnot "Ivory Wraith">> <<if $mouthstate is "anal">> <<selectNpcWithPartInPosition "vagina" "facesitanal">> <<else>> <<selectNpcWithPartInPosition "vagina" "facesit">> <</if>> <<if $npcrow.includes(_j)>> <<print $npc[$npcrow.indexOf(_j)]>> <<else>> The <<person>> <</if>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> snarls, and says something in <<his>> incomprehensible language. <<else>> snarls: "You shouldn't have resisted <<if $enemyno gte 2>>us<<else>>me<</if>>." <</if>> <br><br> <<switch random(1)>> <<case 0>> <<He>> presses down on your face as <<he>> reaches forward, pinching your <<nipples>> <<if $worn.upper.exposed lt 2 and $worn.under_upper.exposed lt 1>> through your <<top>>,<</if>> and twisting them hard. You cry out but it is heavily muffled by <<his>> pussy and ass. <<if $enemyno gte 2>> <<His>> <<if $enemyno gt 2>>friends laugh<<else>>friend laughs<</if>> as <<he>> tortures you like this, before <<he>> eventually gets up off of you. <<else>> <<He>> does this several times, torturing you like this while you are helpless under <<him>>, before <<he>> gets up. <</if>> <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <<case 1>> <<He>> lifts up slightly, then drops down hard onto your face, crushing it under <<him>>. <<He>> then continues to butt drop onto your face, smashing it with <<his>> ass as <<he>> punishes you. <<if $enemyno gte 2>> <<His>> <<if $enemyno gt 2>>friends laugh<<else>>friend laughs<</if>> as <<he>> continues to abuse your face. <</if>> <<He>> finally stops, and gets up off of your bruised face. <<gstress>><<gtrauma>><<gpain>><<bruise face>><<violence 3>> <br><br> <</switch>> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 7.5 and $NPCList[0].type isnot "plant" and $NPCList[0].fullDescription isnot "Ivory Wraith">> <<if $enemyno is 1>> <<He>> <span class="red">punches you. You <<if playerBellySize(true) gte 8>>stagger and fall backwards.<<else>>double over.<</if>></span> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<He>> shouts something in <<his>> language, before laughing at you. <<else>> "That's for struggling, bitch." <</if>> <<gstress>><<gtrauma>><<gpain>><<violence 6>> <br><br> <<elseif $enemyno is 2>> <<set $NPCList[0].intro to 1>> <<He>> holds your arms <span class="red">while the <<person2>><<person>> punches you. <<if playerBellySize(true) gte 8>>Your head spins.<<else>>You double over.<</if>></span> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> They shout and jeer at you in their language, and you understand none of it. <<else>> "That'll teach you not to fight us, you little <<cunt>>." <</if>> <<gstress>><<gtrauma>><<gpain>><<violence 10>> <br><br> <<else>> <<set $NPCList[0].intro to 1>> <<He>> holds your arms <span class="red">while the others take turns punching you. <<if playerBellySize(true) gte 8>>Your head spins.<<else>>You double over.<</if>></span> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> They shout and jeer at you in their language, and you understand none of it. <<else>> "Trying to fight us? You get what you deserve, you worthless slut." <</if>> <<gstress>><<gtrauma>><<gpain>><<violence 20>> <br><br> <</if>> <<elseif $consensual is 0 and $enemyhealth lte ($enemyhealthmax / 10) * 8.5 and $NPCList[0].type isnot "plant" and $NPCList[0].fullDescription isnot "Ivory Wraith">> <<if $enemyno is 1>> <<He>> <span class="pink">slaps you back and forth across the face.</span> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<He>> shouts something at you. You don't understand it, but <<his>> tone demands submission. <<else>> "That's for struggling." <</if>> <<gstress>><<gtrauma>><<gpain>><<violence 3>> <br><br> <<elseif $enemyno is 2>> <<set $NPCList[0].intro to 1>> <<person1>> <<He>> holds your arms <span class="pink">while the <<person2>><<person>> slaps you back and forth across the face.</span> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<He>> shouts something at you. You don't understand it, but <<his>> tone demands submission. <<else>> "That's what you get for struggling." <</if>> <<gstress>><<gtrauma>><<gpain>><<violence 5>> <br><br> <<else>> <<set $NPCList[0].intro to 1>> <<He>> holds your arms <span class="pink">while the others take turns slapping you across the face and chest.</span> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<He>> shouts something at you. You don't understand it, but <<his>> tone demands submission. <<else>> "That's what you get for struggling." <</if>> <<gstress>><<gtrauma>><<gpain>><<violence 10>> <br><br> <</if>> <<elseif $consensual is 0 and $enemyhealth lt (($enemyhealthmax / 10) * 9.9) and $audience gte 10 and $NPCList[0].type isnot "plant" and $NPCList[0].fullDescription isnot "Ivory Wraith">> <<set $NPCList[0].intro to 1>> <<He>> thrusts you in front of the audience, grappling your arms. "Let's show <<phim>> what happens to feisty cunts." <span class="purple">The audience takes turns spitting on your chest and face while you writhe in discomfort.</span> <<faceejacstat>><<ejacstat>><<bodyliquid "face" "goo">> <<chestejacstat>><<bodyliquid "chest" "goo">> <<gstress>><<gtrauma>><<trauma 3>><<stress 3>> <br><br> <</if>> <</if>> <</if>> <</if>> <</if>> <<animateCombat>> <<fetishPregnancyImg>> <<set $ejaculating to 0>> <</widget>> <<widget "ejaculation-urinate">> <<if $NPCList[_nn].penis isnot "none">> <<switch random(1, 7)>> <<case 1>> <<He>> stands over your face, and releases a stream of urine. <<case 2>> <<He>> stands over your body, and releases a stream of urine. <<case 3>> <<He>> thrusts <<his>> pelvis forward, and releases a stream of urine. <<case 4>> <<He>> stands over you, and urinates. <<case 5>> <<He>> takes <<his>> cock in hand, and pisses over your body. <<case 6>> <<He>> stands and pisses on you. <<default>> <<He>> holds you still, takes <<his>> cock in hand, and urinates on your face. <</switch>> <<else>> <<switch random(1, 7)>> <<case 1>> <<He>> squats over your face, and releases a stream of urine. <<case 2>> <<He>> squats over your body, and releases a stream of urine. <<case 3>> <<He>> thrusts <<his>> pelvis forward, and releases a stream of urine. <<case 4>> <<He>> squats over you, and urinates. <<case 5>> <<He>> squats and pisses over your body. <<case 6>> <<He>> squats and pisses on you. <<default>> <<He>> holds you still, squats, and urinates on your face. <</switch>> <</if>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<He>> sneers and says something in <<his>> incomprehensible language. <<else>> <<print either( `"Take that, meat toilet."`, `"This is all you're good for."`, `"Just marking my territory."`, `"Feeling humiliated? Good."`, `"That's right. This is what you're worth, slut."`, `"You make a good toilet."`, `"Just reminding you of your place."` )>> <</if>> <<ggtrauma>><<trauma 12>><<gstress>><<stress 6>> <<urinestat>> <br><br> <</widget>><<widget "beastejaculation">> <<set $ejaculating to 1>> <<set $enemyejaculated += 1>> <<set $pronoun to "i">> <<set _jj to $active_enemy>> <<set _npcisWolfType to ["wolf","wolfboy","wolfgirl"].includes($NPCList[_jj].type)>> <<set _npcisDogType to ["dog","dogboy","doggirl"].includes($NPCList[_jj].type)>> <<set _npcisFoxType to ["fox","foxboy","foxgirl"].includes($NPCList[_jj].type)>> <<set _legLocked to $leglocktarget is $active_enemy>> <<set _legLockedKnot to _legLocked ? 0.5 : 1>> <<set _pregnancyBoost to 0>> <!-- Male BEAST --> <<if $NPCList[_jj].penis is "thighs">> <<if $NPCList[_jj].penissize gte 5>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your thighs and tummy. <<thighejacstat>><<tummyejacstat>><<ejacstat>><<set $hygiene += 5000>><<bodyliquid "thigh" "semen" 5>><<bodyliquid "tummy" "semen" 5>> <<else>> <<bHe>> ejaculates onto your thighs. <<thighejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">> <</if>> <</if>> <<if $NPCList[_jj].penis is "vaginaentrance">> <<if $NPCList[_jj].penissize gte 5>> <<if playerChastity("vagina")>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your $worn.genitals.name and flowing over your thighs. <<else>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your <<pussy>> and flowing over your thighs. <<recordSperm `{target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 5, rngType: "canWash"}`>> <</if>> <<vaginalentranceejacstat>><<thighejacstat>><<ejacstat>><<set $hygiene += 5000>><<bodyliquid "vaginaoutside" "semen" 5>> <<else>> <<if playerChastity("vagina")>> <<bHe>> ejaculates onto your $worn.genitals.name. <<else>> <<bHe>> ejaculates onto your <<pussy>>. <<recordSperm `{target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 5, rngType: "canWash"}`>> <</if>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <</if>> <</if>> <<if $NPCList[_jj].penis is "vaginaimminent">> <<if $NPCList[_jj].penissize gte 5>> <<if playerChastity("vagina")>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your $worn.genitals.name and flowing over your thighs. <<else>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your <<pussy>> and flowing over your thighs. <<recordSperm `{target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<vaginalentranceejacstat>><<thighejacstat>><<ejacstat>><<set $hygiene += 5000>><<bodyliquid "vaginaoutside" "semen" 5>> <<else>> <<if playerChastity("vagina")>> <<bHe>> ejaculates onto your $worn.genitals.name. <<else>> <<bHe>> ejaculates onto your <<pussy>>. <<recordSperm `{target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<vaginalentranceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "semen">> <</if>> <</if>> <<if $NPCList[_jj].penis is "vagina">> <<if (random(1, 100) gte 81 * _legLockedKnot and (_npcisDogType or _npcisFoxType)) or (random(1, 100) gte 61 * _legLockedKnot and _npcisWolfType) or _args[0] is "knot">> <<if _args[0] is "knot">> <<set _knotted to true>><<knot_stat>> With a final thrust, <<bhe>> forces <<bhis>> knot into your <<pussy>>. <<bHe>> ejaculates deep into your womb. You feel the semen build within you, its exit plugged. The <<beasttype>> climbs off and faces away from you, but you remain locked together. <<else>> <<set _knotted_short to true>><<knot_stat>> With a final thrust, <<bhe>> forces <<bhis>> knot into your <<pussy>>. <<bHe>> ejaculates deep into your womb. You feel the semen build within you, its exit plugged. The <<beasttype>> climbs off and faces away from you, but you're locked together for a humiliating five minutes until the knot shrinks enough that the <<beasttype>> can wiggle it free. <<pass 5>> <</if>> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <<set _pregnancyBoost to 25>> <<elseif ["boar", "pig"].some(type => $NPCList[_jj].type.includes(type))>> Ejaculate streams from the <<print $NPCList[_jj].type>>'s <<print $NPCList[_jj].penisdesc>>. You're stuck for many humiliating minutes, the <<print $NPCList[_jj].type>>'s cock steadily filling your womb. <br> <<if $audiencepresent gte 1>> The audience enjoys the show. <br> <<print either( `"I can't believe it. <<silently>><<bred>><</silently>><<capitalise>> by a pig."`, `"I bet <<pshe>> loves getting pig-fucked like this."` )>> <br> <<print either( `"What a filthy slut."`, `"Getting what a slut deserves."` )>> <br> <<print either( `"I wonder how pig cock feels."`, `"This <<bitch>> would fuck the whole sty."` )>> <br> <</if>> <br> Despite filling to the brim, the semen doesn't leak out. You remain full even as the <<print $NPCList[_jj].type>> wiggles free. Then you feel a pressure lift, and a plug of hard semen drops to the ground. <<print $NPCList[_jj].type.includes("pig") ? "Pig" : "Boar">> cum flows out after it, covering your thighs. <<bodyliquid "vagina" "semen" 2>><<bodyliquid "vaginaoutside" "semen" 2>><<bodyliquid "thigh" "semen">><<pass 30>><<vaginalentranceejacstat>><<thighejacstat>> <<elseif $NPCList[_jj].penissize gte 5>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, filling your womb and flowing from your <<pussy>> in a great torrent. <<vaginalentranceejacstat>><<set $hygiene += 4500>><<bodyliquid "vagina" "semen" 4>><<bodyliquid "vaginaoutside" "semen" 5>> <<else>> <<bHe>> ejaculates deep into your womb. <</if>> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordSperm `{target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 100 + _pregnancyBoost}`>> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].penis is "cheeks">> <<if $NPCList[_jj].penissize gte 5>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, surging over your back and onto your hair, and flowing over your <<bottom>>. <<bottomejacstat>><<hairejacstat>><<ejacstat>><<set $hygiene += 5000>><<bodyliquid "bottom" "semen" 5>><<bodyliquid "hair" "semen" 5>> <<else>> <<bHe>> ejaculates onto your back. <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</if>> <</if>> <<if $NPCList[_jj].penis is "anusentrance">> <<if $NPCList[_jj].penissize gte 5>> <<if playerChastity("anus")>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your $worn.genitals.name and flowing over your thighs. <<else>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your <<bottom>> and flowing over your thighs. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 5, rngType: "canWash"}`>> <</if>> <<bottomejacstat>><<thighejacstat>><<ejacstat>><<set $hygiene += 5000>><<bodyliquid "bottom" "semen" 5>><<bodyliquid "thigh" "semen" 5>> <<else>> <<if playerChastity("anus")>> <<bHe>> ejaculates onto your $worn.genitals.name. <<else>> <<bHe>> ejaculates onto your <<bottom>>. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 5, rngType: "canWash"}`>> <</if>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</if>> <</if>> <<if $NPCList[_jj].penis is "anusimminent">> <<if $NPCList[_jj].penissize gte 5>> <<if playerChastity("anus")>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your $worn.genitals.name and flowing over your thighs. <<else>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, drenching your <<bottom>> and flowing over your thighs. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<bottomejacstat>><<thighejacstat>><<ejacstat>><<set $hygiene += 5000>><<bodyliquid "bottom" "semen" 5>><<bodyliquid "thigh" "semen" 5>> <<else>> <<if playerChastity("anus")>> <<bHe>> ejaculates onto your $worn.genitals.name. <<else>> <<bHe>> ejaculates onto your <<bottom>>. <<recordSperm `{genital: "anus", target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 15, rngType: "canWash"}`>> <</if>> <<bottomejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "bottom" "semen">> <</if>> <</if>> <<if $NPCList[_jj].penis is "anus">> <<if (random(1, 100) gte 81 * _legLockedKnot and (_npcisDogType or _npcisFoxType)) or (random(1, 100) gte 61 * _legLockedKnot and _npcisWolfType) or _args[0] is "knot">> <<if _args[0] is "knot">> <<set _knotted to true>><<knot_stat>> With a final thrust, <<bhe>> forces <<bhis>> knot into your <<bottom>>. <<bHe>> ejaculates deep into your bowels. You feel the semen build within you, its exit plugged. The <<beasttype>> climbs off and faces away from you, but you remain locked together. <<else>> <<set _knotted_short to true>><<knot_stat>> With a final thrust, <<bhe>> forces <<bhis>> knot into your <<bottom>>. <<bHe>> ejaculates deep into your bowels. You feel the semen build within you, its exit plugged. The <<beasttype>> climbs off and faces away from you, but you're locked together for a humiliating five minutes until the knot shrinks enough that the <<beasttype>> can wiggle it free. <<pass 5>> <</if>> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <<set _pregnancyBoost to 25>> <<elseif ["boar", "pig"].some(type => $NPCList[_jj].type.includes(type))>> Ejaculate streams from the <<print $NPCList[_jj].type>>'s <<print $NPCList[_jj].penisdesc>>. You're stuck for many humiliating minutes, the <<print $NPCList[_jj].type>>'s cock steadily filling your ass. <br> <<if $audiencepresent gte 1>> The audience enjoys the show. <br> <<print either( `"I can't believe it. <<silently>><<bred>><</silently>><<capitalise>> by a pig."`, `"I bet <<pshe>> loves getting pig-fucked like this."` )>> <br> <<print either( `"What a filthy slut."`, `"Getting what a slut deserves."` )>> <br> <<print either( `"I wonder how pig cock feels."`, `"This <<bitch>> would fuck the whole sty."` )>> <br> <</if>> <br> Despite filling to the brim, the semen doesn't leak out. You remain full even as the <<print $NPCList[_jj].type>> wiggles free. Then you feel a pressure lift, and a plug of hard semen drops to the ground. <<print $NPCList[_jj].type.includes("pig") ? "Pig" : "Boar">> cum flows out after it, covering your thighs. <<bodyliquid "anus" "semen" 2>><<bodyliquid "bottom" "semen" 2>><<bodyliquid "thigh" "semen">><<pass 30>><<bottomejacstat>><<thighejacstat>> <<elseif $NPCList[_jj].penissize gte 5>> Ejaculate gushes from <<bhis>> <<print $NPCList[_jj].penisdesc>>, filling your bowels and surging outside, drenching your <<bottom>>. <<bottomejacstat>><<set $hygiene += 4500>><<bodyliquid "anus" "semen" 4>><<bodyliquid "bottom" "semen" 5>><<set $hunger -= 1800>><<set $thirst -= 1800>> <<else>> <<bHe>> ejaculates into your bowels. <</if>> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">><<set $hunger -= 200>><<set $thirst -= 200>> <<recordSperm `{target: "pc", spermOwner: $NPCList[_jj], spermType: $NPCList[_jj].type, rngModifier: 100 + _pregnancyBoost, genital:"anus"}`>> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].penis is "chest">> <<if $position is "missionary">> <<bHe>> ejaculates onto your neck and chest. <<neckejacstat>><<set $hygiene += 500>><<bodyliquid "neck" "semen">> <<else>> <<bHe>> ejaculates onto your stomach and chest. <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</if>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <</if>> <<if $NPCList[_jj].penis is "mouthentrance">> <<bHe>> ejaculates onto your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <</if>> <<if $NPCList[_jj].penis is "mouthimminent">> <<switch random(1, 3)>> <<case 1 2>> <<bHe>> ejaculates onto your face. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<case 3>> <<bHe>> ejaculates a massive load onto your face, pushing past your pursed lips and into your mouth. <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" "semen">> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</switch>> <</if>> <<if $NPCList[_jj].penis is "mouth">> <<if (random(1, 100) gte 81 and (_npcisDogType or _npcisFoxType)) or (random(1, 100) gte 61 and _npcisWolfType)>> <<knot_stat>> With a final thrust, <<bhe>> forces <<bhis>> knot past your teeth as <<bhe>> ejaculates deep down your throat, <span class="pink">forcing you to swallow.</span> <<if $pain gte 40>>Tears run down your face<<else>>You gag<</if>> as you feel <<bhis>> cum backwash into your mouth. The <<beasttype>> climbs off and faces away from you, but you're locked together for a humiliating five minutes until the knot shrinks enough that the <<beasttype>> can wiggle it free. <<pass 5>><<cumswallow `$NPCList[_jj].type` null "knotted">> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <<else>> <<bHe>> ejaculates down the back of your throat. <<cumswallow `$NPCList[_jj].type` null `npcSemenMod($NPCList[_jj].penissize)`>> <</if>> <<oralejacstat>><<ejacstat>> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].penis is "feet">> <<bHe>> ejaculates on your feet. <<feetejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "feet" "semen">> <</if>> <<if $NPCList[_jj].penis is "leftarm" and $NPCList[_jj].penis is "rightarm">> <<bHe>> ejaculates on your hands. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">><<bodyliquid "rightarm" "semen">> <</if>> <<if $NPCList[_jj].penis is "leftarm">><<bHe>> ejaculates on your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "leftarm" "semen">> <</if>> <<if $NPCList[_jj].penis is "rightarm">><<bHe>> ejaculates on your hand. <<handejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "rightarm" "semen">> <</if>> <<if $NPCList[_jj].penis is "otheranusentrance" or $NPCList[_jj].penis is "otheranusimminent">> The <<beasttype>> ejaculates as you frot <<bhis>> ass. <</if>> <<if $NPCList[_jj].penis is "otheranus">> The <<beasttype>> ejaculates as you pound <<bhis>> ass. <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].penis is 0>> <<if $NPCList[_jj].stance is "topface">> <<bHe>> ejaculates onto your neck. <<neckejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "neck" "semen">> <<else>> <<bHe>> ejaculates onto your tummy. <<tummyejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</if>> <</if>> <<if $NPCList[_jj].penis is "penis" or $NPCList[_jj].penis is "penisentrance" or $NPCList[_jj].penis is "penisimminent">> <<if $position is "missionary">> <<bHe>> ejaculates onto your chest and neck. <<chestejacstat>><<neckejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <<else>> <<bHe>> ejaculates onto your stomach and <<penisSimple>>. <<tummyejacstat>><<set $hygiene += 500>><<bodyliquid "tummy" "semen">> <</if>> <<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" "semen">> <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <!-- Female BEAST --> <<if $NPCList[_jj].vagina is "penisimminent" or $NPCList[_jj].vagina is "penisentrance">> <<if playerChastity("penis")>> You feel the vibrations from your $worn.genitals.name as the $NPCList[_jj].type orgasms. <<else>> You feel the heat radiate on your <<penis>> as the <<beasttype>> orgasms. <</if>> <</if>> <<if $NPCList[_jj].vagina is "penis">> The <<beasttype>> orgasms on your <<penis>>, pulsing around your length. <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if ($NPCList[_jj].vagina is "vaginaentrance" or $NPCList[_jj].vagina is "vaginaimminent") and playerChastity("vagina")>> You feel the vibrations from your $worn.genitals.name as the $NPCList[_jj].type orgasms. <<elseif $NPCList[_jj].vagina is "vaginaentrance" or $NPCList[_jj].vagina is "vaginaimminent">> You feel the heat radiate on your <<pussy>> as the <<beasttype>> orgasms. <</if>> <<if $NPCList[_jj].vagina is "vagina" and playerChastity("vagina")>> You feel the vibrations on your $worn.genitals.name as the $NPCList[_jj].type orgasms. <<elseif $NPCList[_jj].vagina is "vagina">> You feel the heat radiate on your <<pussy>> as the <<beasttype>> orgasms. Fluid leaks from the <<beasttype>> and mixes with yours. <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].vagina is "mouthimminent">> You feel the heat radiate on your face as the <<beasttype>> orgasms. <</if>> <<if $NPCList[_jj].vagina is "mouthentrance">> You feel the heat radiate on your face as the <<beasttype>> orgasms. <</if>> <<if $NPCList[_jj].vagina is "mouth">> The <<beasttypes>> pussy shudders against your mouth as it orgasms. Fluid from the <<beasttype>> mixes with your saliva. <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].vagina is "otheranusentrance" or $NPCList[_jj].vagina is "otheranusimminent">> The <<beasttype>> shudders in orgasm as you frot its ass. <</if>> <<if $NPCList[_jj].vagina is "otheranus">> The <<beasttype>> shudders in orgasm as you pound its ass. <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].mouth is "penis">> The <<beasttype>> shudders in orgasm as you fuck its mouth. <<if _npcisWolfType>><<transform wolf 1>><</if>> <<if _npcisFoxType>><<transform fox 1>><</if>> <</if>> <<if $NPCList[_jj].vagina is 0>> The <<beasttype>> shudders in orgasm. <</if>> <!-- End orgasm loop --> <!-- PC reaction loop --> <<if $consensual is 1>> <<if hasSexStat("deviancy", 5)>> <<print either("You feel lewd,", "You feel a thrill,", "You feel lusty,")>> <<elseif hasSexStat("deviancy", 2)>> <<print either("You feel lewd,", "You feel a glow,", "You feel titillated,")>> <<else>> <<print either("You feel squeamish,", "You feel unsettled,", "You feel uncomfortable,")>> <</if>> <<if $NPCList[_jj].penis is "anus" or $NPCList[_jj].penis is "mouth" or $NPCList[_jj].penis is "vagina">> having been fucked by the <<elseif $NPCList[_jj].vagina is "penis" or $NPCList[_jj].mouth is "penis" or $NPCList[_jj].vagina is "otheranus">> having fucked the <<elseif $NPCList[_jj].vagina isnot "none" and $NPCList[_jj].penis is "none">> having been used by the <<else>> having pleasured yourself with a <</if>> <<if $audience gte 6 or $pillory.audience gte 6>> <<beasttype>> in front of a crowd.<<elseif $audiencepresent gte 1 or $pillory.audience gte 1>> <<beasttype>> in front of others.<<else>><<beasttype>>.<</if>> <<else>> <<if hasSexStat("deviancy", 5)>> <<print either("You feel ashamed,", "You feel embarrassed,", "You feel distraught,")>> <<elseif hasSexStat("deviancy", 2)>> <<print either("You feel nauseous,", "You feel sick,", "You feel gross,")>> <<else>> <<print either("You feel wretched,", "You feel repugnant,", "You feel loathsome,")>> <</if>> <<if $NPCList[_jj].penis is "anus" or $NPCList[_jj].penis is "mouth" or $NPCList[_jj].penis is "vagina">> having been fucked by a <<beasttype>> <<elseif $NPCList[_jj].vagina is "penis" or $NPCList[_jj].mouth is "penis" or $NPCList[_jj].vagina is "otheranus">> having fucked a <<beasttype>> <<elseif $NPCList[_jj].vagina isnot "none" and $NPCList[_jj].penis is "none">> having been abused by a <<beasttype>> <<else>> having pleasured a <<beasttype>> <</if>> <<if $audience gte 6 or $pillory.audience gte 6>> in front of a crowd.<<elseif $audiencepresent gte 1 or $pillory.audience gte 1>> in front of others.<<else>> against your will.<</if>> <</if>> <<animateCombat>> <<fetishPregnancyImg>> <<set $active_enemy += 1>> <<if _args[0] isnot "short">> <<if $water is 0>> <<if _knotted is true>> <<bHis>> knot remains tight within you, preventing the semen from leaking out. <br><br> <<elseif playerHasButtPlug() and $NPCList[_jj].penis is "anus">> Your $worn.butt_plug.name prevents the semen from leaking out. <<elseif $NPCList[_jj].penis is "vagina" or $NPCList[_jj].penis is "anus">><<set $semenpuddle += 1>> <<bHis>> penis slides out; lacking anything to hold it in, semen drools out and <<switch Math.clamp($semenpuddle, 1,4)>> <<case 1>> forms a puddle beneath you. <<case 2>> adds to the puddle beneath you. <<case 3>> adds to the growing puddle beneath you. <<case 4>> adds to the growing pool beneath you. <</switch>> <br><br> <</if>> <<if _knotted isnot true and $watersportsdisable is "f" and $enemyanger gte random(20, 200)>> <<if $NPCList[_jj].type.includes("dog") or $NPCList[_jj].type.includes("wolf")>> <<bHe>> raises a leg and urinates on you for good measure, marking <<bhis>> territory. <<else>> <<bHe>> urinates on you for good measure, marking <<bhis>> territory. <</if>> <<urinestat>> <br><br> <</if>> <</if>> <</if>> <!-- Index BEAST to next up --> <<switch $active_enemy>> <<case 0>> <<set $enemyarousal to $enemyarousal1>> <<set $enemyanger to $enemyanger1>> <<set $enemyhealth to $enemyhealth1>> <<set $enemytrust to $enemytrust1>> <<case 1>> <<set $enemyarousal to $enemyarousal2>> <<set $enemyanger to $enemyanger2>> <<set $enemyhealth to $enemyhealth2>> <<set $enemytrust to $enemytrust2>> <<case 2>> <<set $enemyarousal to $enemyarousal3>> <<set $enemyanger to $enemyanger3>> <<set $enemyhealth to $enemyhealth3>> <<set $enemytrust to $enemytrust3>> <<case 3>> <<set $enemyarousal to $enemyarousal4>> <<set $enemyanger to $enemyanger4>> <<set $enemyhealth to $enemyhealth4>> <<set $enemytrust to $enemytrust4>> <<case 4>> <<set $enemyarousal to $enemyarousal5>> <<set $enemyanger to $enemyanger5>> <<set $enemyhealth to $enemyhealth5>> <<set $enemytrust to $enemytrust5>> <<case 5>><!-- Should be unused case --> <<set $enemyarousal to $enemyarousal6>> <<set $enemyanger to $enemyanger6>> <<set $enemyhealth to $enemyhealth6>> <<set $enemytrust to $enemytrust6>> <<default>> <span class="red">ERROR: Beastejac index error</span> <</switch>> <<if $player.vaginaExist>> <<set $vaginause to 0>> <<set $vaginastate to 0>> <</if>> <<if playerHasStrapon() or $player.penisExist>> <<set $penisuse to 0>> <<set $penisstate to 0>> <</if>> <<set $mouthuse to 0>> <<set $anususe to 0>> <<unset $neckuse>> <<if $worn.face.type.includes("gag")>> <<set $mouthuse to "gagged">> <</if>> <<set $thighuse to 0>> <<set $bottomuse to 0>> <<set $feetuse to 0>> <<if $leftarm isnot "bound" and $position isnot "wall">> <<set $leftarm to 0>> <</if>> <<if $rightarm isnot "bound" and $position isnot "wall">> <<set $rightarm to 0>> <</if>> <<set $chestuse to 0>> <<set $cheststate to 0>> <<if $head isnot "bound" and $position isnot "wall">> <<set $head to 0>> <</if>> <<set $anusstate to 0>> <<set $mouthstate to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $vaginaaction to 0>> <<set $penisaction to 0>> <<set $anusaction to 0>> <<set $thighaction to 0>> <<set $cheekaction to 0>> <<set $feetaction to 0>> <<set $mouthaction to 0>> <<set $rapeavoid to 1>> <<set $ejaculating to 0>> <</widget>><<widget "beastwound">> <<set $enemywounded += 1>> <<set $active_enemy += 1>> <!-- Index beasts --> <<switch $active_enemy>> <<case 0>> <<set $enemyarousal to $enemyarousal1>> <<set $enemyanger to $enemyanger1>> <<set $enemyhealth to $enemyhealth1>> <<set $enemytrust to $enemytrust1>> <<case 1>> <<set $enemyarousal to $enemyarousal2>> <<set $enemyanger to $enemyanger2>> <<set $enemyhealth to $enemyhealth2>> <<set $enemytrust to $enemytrust2>> <<case 2>> <<set $enemyarousal to $enemyarousal3>> <<set $enemyanger to $enemyanger3>> <<set $enemyhealth to $enemyhealth3>> <<set $enemytrust to $enemytrust3>> <<case 3>> <<set $enemyarousal to $enemyarousal4>> <<set $enemyanger to $enemyanger4>> <<set $enemyhealth to $enemyhealth4>> <<set $enemytrust to $enemytrust4>> <<case 4>> <<set $enemyarousal to $enemyarousal5>> <<set $enemyanger to $enemyanger5>> <<set $enemyhealth to $enemyhealth5>> <<set $enemytrust to $enemytrust5>> <<case 5>><!-- Should be unused case --> <<set $enemyarousal to $enemyarousal6>> <<set $enemyanger to $enemyanger6>> <<set $enemyhealth to $enemyhealth6>> <<set $enemytrust to $enemytrust6>> <<default>> <span class="red">ERROR: Beastwound index error</span> <</switch>> <<if $player.vaginaExist>> <<set $vaginause to 0>> <<set $vaginastate to 0>> <</if>> <<if playerHasStrapon() or $player.penisExist>> <<set $penisuse to 0>> <<set $penisstate to 0>> <</if>> <<set $mouthuse to 0>> <<set $anususe to 0>> <<unset $neckuse>> <<if $worn.face.type.includes("gag")>> <<set $mouthuse to "gagged">> <</if>> <<set $thighuse to 0>> <<set $bottomuse to 0>> <<set $feetuse to 0>> <<if $leftarm isnot "bound" and $position isnot "wall">> <<set $leftarm to 0>> <</if>> <<if $rightarm isnot "bound" and $position isnot "wall">> <<set $rightarm to 0>> <</if>> <<set $chestuse to 0>> <<set $cheststate to 0>> <<if $head isnot "bound" and $position isnot "wall">> <<set $head to 0>> <</if>> <<set $anusstate to 0>> <<set $mouthstate to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $vaginaaction to 0>> <<set $anusaction to 0>> <<set $thighaction to 0>> <<set $cheekaction to 0>> <<set $feetaction to 0>> <<set $mouthaction to 0>> <<set $rapeavoid to 1>> <</widget>> <<widget "genericCondomEjaculation">> <<He>> ejaculates into the condom. <<rng>> <<if $rng gte 96 and $npc[$npcrow.indexOf(_nn)] isnot "Robin" and !$npcSub>> <<if $consensual is 1>> <<if $player.virginity.kiss is true or random(0,100) gte 60>> <<He>> takes the condom off <<his>> $NPCList[_nn].penisdesc and, with a lewd grin, holds it open, letting it leak semen all over <<his>> hand. A moment later, <<he>> thrusts <<his>> cum-slicked fingers into your mouth. Only once you've <<if $ejactrait is 1>>eagerly<<else>>gingerly<</if>> licked them clean does <<he>> finally relent. <<else>> <<He>> takes the condom off <<his>> $NPCList[_nn].penisdesc and, with a lewd grin, brings it to <<his>> lips, draining it into <<his>> mouth. A moment later, <<he>> presses <<his>> mouth against yours, spitting the entire load of cum into your mouth. Only once you've <<if $ejactrait is 1>>eagerly swallowed<<else>>managed to swallow<</if>> it all does <<he>> finally pull away. <</if>> <<else>> <<He>> takes the condom off <<his>> $NPCList[_nn].penisdesc, and forces the open end into your mouth, laughing as you <<if $ejactrait is 1>>drink it down<<else>>cough and sputter<</if>>. <</if>> <<oralejacstat>><<ejacstat>><<cumswallow `$NPCList[_nn].type` null `npcSemenMod($NPCList[_nn].penissize)`>> <</if>> <br><br> /*Addition npc comments*/ <</widget>> /* Takes NPC type to calculate volume of ejaculation to be swallowed or number to represent volume in ml. and updates stat */ <<widget "cumswallow">> <<set _ejaculation_volume to 0>> <<set _ejaculation_type to (_args[0] ? _args[0] : "human")>> <<if _args[1]>> <<set _ejaculation_volume to _args[1]>> <<else>> <<if _ejaculation_type is "human">> <<set _ejaculation_volume to random(5, 99)>> <<elseif ["wolf", "dog", "fox"].some(type => _ejaculation_type.includes(type))>> <<set _ejaculation_volume to random(5, 100)>> <<elseif ["centaur", "horse", "bull", "cow"].some(type => _ejaculation_type.includes(type))>> <<set _ejaculation_volume to random(25, 250)>> <<elseif ["boar", "pig"].some(type => _ejaculation_type.includes(type))>> <<set _ejaculation_volume to random(50, 300)>> <<elseif ["bear"].some(type => _ejaculation_type.includes(type))>> <<set _ejaculation_volume to random(25, 300)>> <<elseif ["cat"].some(type => _ejaculation_type.includes(type))>> <<set _ejaculation_volume to random(1, 15)>> <<elseif ["dolphin", "creature", "hawk", "harpy", "lizard"].some(type => _ejaculation_type.includes(type))>> <<set _ejaculation_volume to random(20, 150)>> <<else>> <<set _ejaculation_volume to random(3, 100)>> <</if>> <</if>> <<switch _args[2]>> <<case "tiny">><<set _ejaculation_volume to Math.ceil(_ejaculation_volume / 40)>> <<case "large">><<set _ejaculation_volume to Math.ceil(_ejaculation_volume * 1.5)>> <</switch>> <<if _args[2] is "knotted">> <<if _ejaculation_type is "human" or $bestialitydisable is "t">> <<semenswallowedstat _ejaculation_volume>> <<else>> <<animalsemenswallowedstat _ejaculation_volume>> <</if>> <<set $hunger -= 200>> <<set $thirst -= 200>> <<bodyliquid "mouth" "semen" 1>> <<elseif $mouthaction is "ejacspit">> You spit out the cum. <<elseif _ejaculation_type is "pc">> <<if $awareness gte 200>> <<if _ejaculation_volume lte 10>> <span class="lewd">You swallow your cum down in a single gulp, <<if $ejactrait gte 1>>disappointed by <<else>>thankful for <</if>>how little there is.</span> <<elseif _ejaculation_volume lte 30>> <span class="lewd"> <<if $ejactrait gte 1>> You swallow your cum, enjoying its personal taste. <<else>> You swallow your cum. <</if>> </span> <<elseif _ejaculation_volume lte 100>> <span class="lewd">Your cheeks puff out as you swallow your semen, downing it in several noisy gulps. You sigh <<if $ejactrait gte 1>>contentedly <<else>>in relief<</if>> once you manage to get it all.</span> <<else>> <span class="lewd">You swallow as much of your massive load as you can, struggling to contain its sheer volume.<<if $ejactrait gte 1 and $leftarm isnot "bound" and $rightarm isnot "bound" and $fingersInVagina is 0>> You cup your hands beneath your chin to catch the overflow, not wanting to let any go to waste.<<else>> Some of it overflows, running down your chin and neck. <<bodyliquid "neck" "semen">><</if>></span> <</if>> <<else>> <span class="red">Tears run down <<print either("your cheeks as you struggle to", "your face as you force yourself to")>> swallow your own cum.</span> <<if $ejactrait is 1>> You bite your tongue to stop yourself from licking your lips. <<lstress>><<stress -10>> <<else>> <<gstress>><<stress 10>> <</if>> <</if>> <<semenswallowedstat _ejaculation_volume>> <<set $hunger -= 200>> <<set $thirst -= 200>> <<bodyliquid "mouth" "semen" 1>> <<else>> <<if $consensual is 0 and _ejaculation_volume gte 3>> <span class="red">Tears run down <<print either("your cheeks as you struggle to", "your face as you force yourself to")>> swallow.</span> <<if $ejactrait is 1>> You bite your tongue to stop yourself from licking your lips. <<garousal>><<arousal 600>> <<else>> <<gstress>><<stress 10>> /*Prevents gstress from being displayed twice*/ <<set _ejacStressDisplay to true>> <</if>> <<if _ejaculation_type is "human" or $bestialitydisable is "t">> <<semenswallowedstat _ejaculation_volume>> <<else>> <<animalsemenswallowedstat _ejaculation_volume>> <</if>> <<else>> <<if _ejaculation_volume lt 3>> <span class="lewd">You're <<if $ejactrait gte 1>>disappointed by <<else>>surprised by <</if>> how little cum is released in your mouth, barely being able to taste anything at all.</span> <<elseif _ejaculation_volume lte 10>> <span class="lewd">You swallow the cum down in a single gulp, <<if $ejactrait gte 1>>disappointed by <<else>>thankful for <</if>>how little there is.</span> <<elseif _ejaculation_volume lte 30>> <span class="lewd"> <<if $ejactrait gte 1>> You swallow the cum, enjoying its <<print either("strong, bitter", "sweet, creamy", "sharp, salty")>> taste. <<else>> You swallow the cum. <</if>> </span> <<elseif _ejaculation_volume lte 100>> <span class="lewd">Your cheeks puff out as you swallow the semen, downing it in several noisy gulps. You sigh <<if $ejactrait gte 1>>contentedly <<else>>in relief<</if>> once you manage to get it all.</span> <<else>> <span class="lewd">You swallow as much of the massive load as you can, struggling to contain its sheer volume.<<if $ejactrait gte 1 and $leftarm isnot "bound" and $rightarm isnot "bound">> You cup your hands beneath your chin to catch the overflow, not wanting to let any go to waste.<<else>> Some of it overflows, running down your chin and neck. <</if>></span> <</if>> <<if $mouthaction is 'ejacswallow'>> <<if _ejaculation_type is "human" or $bestialitydisable is "t">> <<semenswallowedstat _ejaculation_volume>> <<else>> <<animalsemenswallowedstat _ejaculation_volume>> <</if>> <<else>> <<set _ejaculation_volume to Math.floor(_ejaculation_volume/3)>> <<if _ejaculation_type is "human" or $bestialitydisable is "t">> <<semenswallowedstat _ejaculation_volume>> <<else>> <<animalsemenswallowedstat _ejaculation_volume>> <</if>> <</if>> <</if>> <<set $hunger -= 200>> <<set $thirst -= 200>> <<bodyliquid "mouth" "semen" 1>> <</if>> <</widget>><<widget "endcombat">> <<set $enemytrust to 0>> <<if $enemyhealth lte 0>> <<if $enemytype is "man">> <<famescrap $enemynomax>> <</if>> <<if $audiencepresent is 1>> <<famescrap 10>> <</if>> <</if>> <<if $demonabsorb gte 1 and !$stalk>> <<if $enemytype is "tentacles" or $enemytype is "struggle">> <<pain `-(5 * $demonabsorb)`>> <<set $stress -= (300 * $demonabsorb)>> <<else>> <<set $trauma -= (150 * $demonabsorb)>> <</if>> <span class="lewd">You absorb the sexual essence. You feel soothed.</span> <<set $demonabsorb to 0>> <<traumaclamp>> <<set $_br to true>> <br> <</if>> <<if $transformationParts.traits.mateForLife isnot "disabled" and $sexavoid is 0>> <<if $enemyno is 1 and isLoveInterest($npc[$npcrow.indexOf(0)])>> <<if $fox gte 3>> <<transform fox 1>> <</if>> <<stress -10>><<trauma -5>> <span class="lewd">Copulating with your chosen partner fulfils an instinctual desire.</span><<llstress>><<ltrauma>> <<set $_br to true>> <br> <</if>> <</if>> <<if $assertive gte 1>> You were <<if $assertive lte 5>> <span class="pink">slightly</span> <<elseif $assertive lte 10>> <span class="pink">a little</span> <<elseif $assertive lte 30>> <span class="purple">somewhat</span> <<elseif $assertive lte 40>> <span class="blue">quite</span> <<elseif $assertive lte 50>> <span class="lblue">pretty</span> <<elseif $assertive lte 60>> <span class="teal">very</span> <<else>> <span class="green">extremely</span> <</if>> assertive. <<if $assertiveaction isnot 0 and $assertiveaction isnot undefined>> <<if $assertiveaction is "trauma">> <<set $trauma -= $assertive>> <span class="meek">I'm so naughty.</span> <<ltrauma>> <<traumaclamp>> <br> <<elseif $assertiveaction is "stress">> <<set $stress -= ($assertive * 10)>> <span class="green">That was fun.</span> <<lstress>> <br> <<elseif $assertiveaction is "submissive">> <<sub `($assertive / 40)`>> <<if $enemytype is "beast">> <<if $NPCList[0].type is "wolf">> <<set _plural_beast_type to "wolves">> <<elseif $NPCList[0].type is "fox">> <<set _plural_beast_type to "foxes">> <<else>> <<set _plural_beast_type to $NPCList[0].type + "s">> <</if>> <span class="meek">It's nice to make _plural_beast_type feel good.</span> <<elseif $enemytype is "tentacles">> <span class="meek">It's nice to make tentacles feel good.</span> <<elseif $enemytype is "struggle">> <span class="meek">It's nice to make creatures feel good.</span> <<else>> <span class="meek">It's nice to make people feel good.</span> <</if>> <br> <<elseif $assertiveaction is "defiant">> <<def `($assertive / 40)`>> <span class="brat">It's nice to be in control.</span> <br> <</if>> <<set $assertive to 0>> <<set $_br to true>> <</if>> <</if>> <<unset $enemytype>> <<endevent _args[0]>> <<struggle_end>> <<set $combat to 0>> <<set $rapeavoid to 1>> <<set $sexavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $breastbitten to 0>> <<set $apologised to 0>> <<unset $bodywriting_special>> <<unset $machine_tattoo_success>> <<unset $dodging>> <<unset $feet_planted>> <<unset $left_guard>> <<unset $right_guard>> <<unset $speechspraycycleplant>> <<unset $newlyWritten>> <<unset $combatBegun>> <<unset $combatPhase>> <<unset $fightTargets>> <<unset $pounce_delay>> <<unset $hypnosis_deviancy_check>> <<unset $animOverride>> <<unset $encounterDialogue>> <<if $player.penisExist>> <<set $penisstate to 0>> <<set $penisuse to 0>> <<else>> <<set $penisstate to "none">> <<set $penisuse to "none">> <</if>> <<if $player.vaginaExist>> <<set $vaginastate to 0>> <<set $vaginause to 0>> <<else>> <<set $vaginastate to "none">> <<set $vaginause to "none">> <</if>> <<if playerHasStrapon()>> <<set $penisstate to 0>> <<set $penisuse to 0>> /*<<if $playerPenisSizeBackup isnot undefined>> <<set $player.penissize to $playerPenisSizeBackup>> <</if>>*/ <</if>> <<set $anusstate to 0>> <<set $mouthstate to 0>> <<set $finish to 0>> <<unset $stalk_end>> <<unset $stalk_event>> <<unset $stalk_clothes>> <<unset $stalk>> <<unset $stalk_assess>> <<unset $audience_active>> <<unset $combat_end_text>> <<set $gloryhole to 0>> <<set $mouthuse to 0>> <<set $anususe to 0>> <<set $thighuse to 0>> <<set $bottomuse to 0>> <<if $feetuse isnot "bound">> <<set $feetuse to 0>> <</if>> <<if $leftarm isnot "bound">> <<set $leftarm to 0>> <</if>> <<if $rightarm isnot "bound">> <<set $rightarm to 0>> <</if>> <<set $chestuse to 0>> <<set $cheststate to 0>> <<if $head isnot "bound">> <<set $head to 0>> <</if>> <<set $face to 0>> <<if $position is "wall">> <<set $leftarm to 0>> <<set $rightarm to 0>> <<set $head to 0>> <</if>> <<unset $neckuse>> <<set $position to 0>> <<set $walltype to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $overlowerstruggle to 0>> <<set $overupperstruggle to 0>> <<set $alarm to 0>> <<set $rescue to 0>> <<set $noise to 0>> <<set $timer to 0>> <<set $beastname to "none">> <<set $panicparalysis to 0>> <<set $panicviolence to 0>> <<set $pullaway to 0>> <<set $novaginal to 0>> <<set $noanal to 0>> <<set $nopenile to 0>> <<set $nochoke to 0>> <<unset $pullOut>> <<unset $pullOutAsk>> <<set $player.condom to false>> <<unset $otherFilled>> <<unset $noupper>> <<unset $noupperasked>> <<unset $nomask>> <<unset $nomaskasked>> <<set $askedtochoke to 0>> <<unset $speechwheeze>> <<set $speechorgasmweakcumcount to 0>> <<set $speechorgasmnocumcount to 0>> <<set $speechorgasmcount to 0>> <<set $speechorgasmrepeat to 0>> <<set $underwatertime to 0>> <<if $underwater isnot 1>> <<oxygenrefresh>> <<set $suffocating to 0>> <</if>> <<set $walltype to "wall">> <<set $angelforgive to 0>> <<unset $banishDisable>> <<unset $penisfucked>> <<unset $vaginafucked>> <<unset $anusfucked>> <<set $speechdisable to 0>> <<unset $stealstateleft>> <<unset $stealstateright>> <<unset $position_lock>> <<unset $handGuideLeft>> <<unset $handGuideRight>> <<unset $easySteal>> <<set $leftactiondefault to $leftaction>> <<set $rightactiondefault to $rightaction>> <<set $feetactiondefault to $feetaction>> <<set $mouthactiondefault to $mouthaction>> <<set $vaginaactiondefault to $vaginaaction>> <<set $penisactiondefault to $penisaction>> <<set $anusactiondefault to $anusaction>> <<set $thighactiondefault to $thighaction>> <<set $cheekactiondefault to $cheekaction>> <<set $chestactiondefault to $chestaction>> <<actioncarry>> <<set $penisaction to 0>> <<set $vaginaaction to 0>> <<set $anusaction to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $mouthaction to 0>> <<set $thighaction to 0>> <<set $cheekaction to 0>> <<set $feetaction to 0>> <<set $chestaction to 0>> <<set $mockaction to "none">> <<set $bodyaction to 0>> <<set $stealdifficulty to 1>> <<set $lefttarget to 0>> <<set $righttarget to 0>> <<set $feettarget to 0>> <<unset $leglocktarget>> <<set $mouthtarget to 0>> <<if $player.penisExist>> <<set $penistarget to 0>> <</if>> <<if $player.vaginaExist>> <<set $vaginatarget to 0>> <<unset $vaginadoubletarget>> <</if>> <<set $anustarget to 0>> <<unset $anusdoubletarget>> <<set $chesttarget to 0>> <<set $thightarget to 0>> <<set $stealtarget to "">> <<set $carryblock to 0>> <<set $enemywounded to 0>> <<set $enemyejaculated to 0>> <<set $semenpuddle to 0>> <<set $masturbationorgasm to 0>> <<set $swarm to { "type":0, "name":0, "move":0, "spill":0, "steady":0, "amount":{}, "data":{} }>> <<unset $nowiggle>> <<unset $cumbucket>> <<set $tentacles.max to 0>> <<set $tentacles.active to 0>> <<set _tentacles to $tentacles>> <<for _i to 0; _i lt 20; _i++>> <<set _tentacles[_i] to null>> <</for>> <<set $abomination to 0>> <<unset $tentacleColour>> <<set $tentacleMouth to 0>> <<set $tentacleAnus to 0>> <<set $tentacleAnusBaby to 0>> <<set $tentacleVagina to 0>> <<set $tentaclePenis to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $back to 0>> <<set $front to 0>> <<set $chest to 0>> <!-- <<set $claws to 1>> --> <<set $water to 0>> <<set $vorestrength to 0>> <<set $vorestruggle to 0>> <<set $voretentacles to 0>> <<set $vorestage to 0>> <<set $vorecreature to 0>> <<set $vorestomach to 0>> <<set $swallowed to 0>> <<set $leftleg to 0>> <<set $rightleg to 0>> <<set $leftnipple to 0>> <<set $rightnipple to 0>> <<set $leftarmstate to 0>> <<set $rightarmstate to 0>> <<set $feetstate to 0>> <<set $audienceselector to 0>> <<set $audiencecamera to 0>> <<set $audiencecamera1 to 0>> <<set $audiencecamera2 to 0>> <<set $audiencecamera3 to 0>> <<set $audiencecamera4 to 0>> <<set $audiencecamera5 to 0>> <<set $audiencecamera6 to 0>> <<set $audiencemember to 0>> <<set $audienceforceboy to 0>> <<set $audienceforcegirl to 0>> <<set $audienceforceteen to 0>> <<set $audiencepresent to 0>> <<unset $speechcrossdressangry>> <<unset $speechcrossdressaroused>> <<unset $speechcrossdressshock>> <<unset $speechcrossdressdisappointed>> <<unset $speechhermangry>> <<unset $speechhermaroused>> <<unset $speechhermshock>> <<unset $speechhermdisappointed>> <<unset $speechsextoy>> <<unset $speechSextoyState>> <<set $prop to []>> <<set $arousalmasochism to 0>> <<unset $willpowerpain>> <<set $active_enemy to 0>> <<set $combatTrain to { length: 0, generateInit: 1, beastTypes: [], numberPerTrain: [], }>> <<if $seductionskillup gte 1>> <<set $seductionskillup to 0>> <<if $seductionskill lt 1000>> <span class="gold">You feel more confident in your seduction skills.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $oralskillup gte 1>> <<set $oralskillup to 0>> <<if $oralskill lt 1000>> <span class="gold">You feel more confident in your ability to give pleasure with your mouth.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $vaginalskillup gte 1>> <<set $vaginalskillup to 0>> <<if $vaginalskill lt 1000>> <span class="gold">You feel more confident in your ability to give pleasure with your vagina.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $analskillup gte 1>> <<set $analskillup to 0>> <<if $analskill lt 1000>> <span class="gold">You feel more confident in your ability to give pleasure with your anus.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $handskillup gte 1>> <<set $handskillup to 0>> <<if $handskill lt 1000>> <span class="gold">You feel more confident in your ability to give pleasure with your hands.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $feetskillup gte 1>> <<set $feetskillup to 0>> <<if $feetskill lt 1000>> <span class="gold">You feel more confident in your ability to give pleasure with your feet.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $bottomskillup gte 1>> <<set $bottomskillup to 0>> <<if $bottomskill lt 1000>> <span class="gold">You feel more confident in your ability to give pleasure with your buttocks.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $thighskillup gte 1>> <<set $thighskillup to 0>> <<if $thighskill lt 1000>> <span class="gold">You feel more confident in your ability to give pleasure with your thighs.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $chestskillup gte 1>> <<set $chestskillup to 0>> <<if $chestskill lt 1000>> <span class="gold">You feel more confident in your ability to use your <<breasts>> to pleasure others.</span> <<set $_br to true>> <br> <</if>> <</if>> <<if $penileskillup gte 1>> <<set $penileskillup to 0>> <<if $penileskill lt 1000>> <span class="gold">You feel more confident in your ability to pleasure others with <<= $player.penisExist ? "your penis" : "a strap-on">>.</span> <<set $_br to true>> <br> <</if>> <</if>> <<set $enemyArousalLossReduction to 1>> <<unset $phalluscolorA>> <<unset $phalluscolorB>> <<unset $currentSexToyLeft>> <<unset $currentSexToyRight>> <<unset $selectedItemLeft>> <<unset $selectedItemRight>> <<manend>> <<turnend>> <<getCombatDefaultsTypeClear>> <<unset $disableNormalImpregnation>> <<unset $disableImpregnation>> <<if $_br>> <br> <</if>> <</widget>><<widget "clearnpc">> <<for _i = 0; _i < $NPCList.length; _i++>> <<if Object.keys($per_npc).includes($NPCList[_i].per)>> <<updateNPC $NPCList[_i]>> <</if>> <<set $NPCList[_i] to clone(setup.baseNPC)>> <<if $NPCList[_i].strapon isnot undefined>> <<run delete $NPCList[_i].strapon>> <</if>> <</for>> <<set $pronoun to 0>> <<set $beastgenderoverride to 0>> <<set $enemyno to 0>> <<set $enemynomax to 0>> <<set $combattype to 0>> <!-- Clear the arrays but don't unset them. --> <<set $npc.splice(0)>> <<set $npcnum.splice(0)>> <<set $npcrow.splice(0)>> <<if $endeventerror is undefined>> <<run EventSystem.clear()>> <</if>> <</widget>><!-- usage tip: if you want to clear an npc and copy another into its position, don't forget to use clone(). example: <<set $NPCList[1] to clone($NPCList[2])>> <<clearsinglenpc 2>> --> <<widget "clearsinglenpc">> <<if typeof _args[0] isnot "number">> <span class="red">Widget "clearsinglenpc" used incorrectly! Please report this!</span> <</if>> <<set _i to _args[0]>> <<set $NPCList[_i] to clone(setup.baseNPC)>> <<if $enemyno gt 0>> <<set $enemyno -= 1>> <</if>> <<if $endeventerror is undefined>> <<run EventSystem.pop(_i)>> <</if>> <<if $enemyno is 0>> <<set $pronoun to 0>> <<if $endeventerror is undefined>> <<run EventSystem.clear()>> <</if>> <</if>> <<if $NPCList[_i].strapon isnot undefined>> <<run delete $NPCList[_i].strapon>> <</if>> <</widget>><<widget "endevent">> <<if $dancing is 1>> <<famedance>> <<unset $dance_place>> <<unset $dance_stage_cum>> <</if>> <<set $molestavoid to 1>> <<if _args[0] isnot "phaseless">> <<set $phaselast to $phase>> <<set $phase to 0>> <<set $phase2 to 0>> <</if>> <<endnpc>> /*<<clearnpc>> is already called in endnpc */ <<set $dancelocation to 0>> <<set $forceddance to 0>> <<set $consensual to 0>> <<set $danceaction to 0>> <<set $danceactiondefault to 0>> <<set $attention to 0>> <<set $audience to 0>> <<set $audienceexcitement to 0>> <<set $audiencearousal to 0>> <<set $audiencemod to 1>> <<set $venuemod to 1>> <<set $danceevent to 0>> <<set $dancing to 0>> <<set $privatedanceoffered to 0>> <<set $trance to 0>> <<set $robinhugging to 0>> <<set $robinroomentered to 0>> <<set $crossdressing to 0>> <<unset $tip_add>> <<unset $monster>> <<set $enemyno to 0>> <<set $enemynomax to 0>> <<unset $noFinish>> <<unset $promiscuityIgnore>> <<unset $npcSub>> <<unset $purityEvent>> <<unset $corruptionEvent>> <<unset $speechNPCKissVirgin>> <<unset $speechNPCHandholdingVirgin>> <<unset $sydneyComments>> <<unset $sydneyUniqueComments>> <<unset $noBodyWriting>> <<unset $noAdmire>> <<unset $breakIgnore>> <<unset $eventforced>> <<unset $pearlChance>> <<unset $internalejac>> <<set $orgasmcurrent to 0>> <<set $beastname to "none">> <<unset $action_unclad_over_outfit>> <<unset $action_unclad_over_upper>> <<unset $action_unclad_over_lower>> <<unset $action_unclad_outfit>> <<unset $action_unclad_upper>> <<unset $action_unclad_lower>> <<unset $action_unclad_under_lower>> <<set $clothingselector to 0>> <<unset $stealtextskip>> <<set $trueconsensual to 0>> <<unset $consensualGuaranteed>> <<unset $speechcum>> <<set $speechorgasmcount to 0>> <<unset $speechmilk>> <<set $npc_named to 0>> <<unset $setupMidOrgasm>> <<unset $childSelected>> <<set $index to 0>> <<set $modeloptionsOverride to {}>> <<if $propEquipped is 1>> <<handheldon>> <<set $propEquipped to 0>> <</if>> <</widget>><<widget "manend">> <<unset $speechpenispenetrated>> <<unset $speechvaginapenetrated>> <<unset $speechanuspenetrated>> <<unset $speechmouthpenetrated>> <<unset $speechotheranuspenetrated>> <<unset $speechvaginaimminent>> <<unset $speechpenisimminent>> <<unset $speechanusimminent>> <<unset $speechmouthimminent>> <<unset $speechotheranusimminent>> <<unset $speechvaginaentrance>> <<unset $speechanusentrance>> <<unset $speechmouthentrance>> <<unset $speechpenisentrance>> <<unset $speechotheranusentrance>> <<unset $speechvaginawithhold>> <<unset $speechanuswithhold>> <<unset $speechpeniswithhold>> <<unset $speechotheranuswithhold>> <<unset $speechvagina>> <<unset $speechpenis>> <<unset $speechanus>> <<unset $speechvaginamouth>> <<unset $speechvaginavagina>> <<unset $speechbeat>> <<unset $speechhit>> <<unset $speechtribentrance>> <<unset $speechfacesit>> <<unset $speechmouthotheranus>> <<unset $speechanallick>> <<unset $speechanalkiss>> <<unset $speechfencingentrance>> <<unset $speechpenispenis>> <<unset $speechheadbreasts>> <<unset $speechheadchest>> <<unset $speechheadnipple>> <<unset $speechheadsuckle>> <<unset $speechheadnippleclosed>> <<unset $speechheadsuckleclosed>> <<unset $speechfeet>> <<unset $speechthigh>> <<unset $speechcheeks>> <<unset $speechhandjobpenis>> <<unset $speechhandjobvagina>> <<unset $speechmasturbate>> <<unset $speechdildovagina>> <<unset $speechdildoanus>> <<unset $speechstroker>> <<unset $speechthroat>> <<unset $speechvaginafoot>> <<unset $speechpenisfoot>> <<unset $speechchastity>> <<unset $speechNPCChastity>> <<unset $speechstruggle>> <<unset $speechstripstruggle>> <<unset $speechspank>> <<unset $speecharms>> <<unset $speechclit>> <<unset $speechglans>> <<unset $speechfutapenis>> <<unset $speechbottom>> <<unset $speechhair>> <<unset $speechchestrub>> <<unset $speechbreastrub>> <<unset $speechvaginaflaunt>> <<unset $speechpenisbig>> <<unset $speechpenisescape>> <<unset $speechvaginaescape>> <<unset $speechanusescape>> <<unset $speechsteal>> <<unset $speechnamedrop>> <<unset $speechadmired>> <<unset $speechaskrough>> <<unset $speechwheeze>> <<unset $speechNPCPenisVirgin>> <<unset $speechNPCVaginaVirgin>> <<unset $speechNPCAnusVirgin>> <<unset $speechNPCOralVirgin>> <<unset $speechNPCKissVirgin>> <<unset $speechNPCHandholdingVirgin>> <<set $npcspeechcycle += 1>> <<if $npcspeechcycle gte 7>> <<set $npcspeechcycle to 0>> <</if>> <</widget>> <<widget "turnend">> <<if $enemyarousal lt 0>> <<set $enemyarousal to 0>> <</if>> <<unset $speechcum>> <<set $speechorgasmrepeat to 0>> <<unset $speechmilk>> <<unset $speechgenitals>> <<unset $speechbreasts>> <<unset $speechscream>> <<unset $speechapologise>> <<unset $speechplead>> <<unset $speechmoan>> <<unset $speechdemand>> <<unset $speechcoverface>> <<unset $speechcoverpenis>> <<unset $speechcovervagina>> <<unset $speechapologiseno>> <<unset $speechforgive>> <<unset $speechspray>> <<unset $speechvaginavirgin>> <<unset $speechanusvirgin>> <<unset $speechmouthvirgin>> <<unset $speechpenisvirgin>> <<unset $speechkissvirgin>> <<unset $speechgrowl>> <<unset $speechgrowlheat>> <<unset $speechgrowlrut>> <<unset $speechpregnant>> <<unset $speechleglock>> <<if $speechcrossdressangry is 2>> <<set $speechcrossdressangry to 1>> <<elseif $speechcrossdressangry is 1>> <<unset $speechcrossdressangry>> <</if>> <<if $speechcrossdressaroused is 2>> <<set $speechcrossdressaroused to 1>> <<elseif $speechcrossdressaroused is 1>> <<unset $speechcrossdressaroused>> <</if>> <<if $speechcrossdressshock is 2>> <<set $speechcrossdressshock to 1>> <<elseif $speechcrossdressshock is 1>> <<unset $speechcrossdressshock>> <</if>> <<if $speechcrossdressdisappointed is 2>> <<set $speechcrossdressdisappointed to 1>> <<elseif $speechcrossdressdisappointed is 1>> <<unset $speechcrossdressdisappointed>> <</if>> <<if $speechhermangry is 2>> <<set $speechhermangry to 1>> <<elseif $speechhermangry is 1>> <<unset $speechhermangry>> <</if>> <<if $speechhermaroused is 2>> <<set $speechhermaroused to 1>> <<elseif $speechhermaroused is 1>> <<unset $speechhermaroused>> <</if>> <<if $speechhermshock is 2>> <<set $speechhermshock to 1>> <<elseif $speechhermshock is 1>> <<unset $speechhermshock>> <</if>> <<if $speechhermdisappointed is 2>> <<set $speechhermdisappointed to 1>> <<elseif $speechhermdisappointed is 1>> <<unset $speechhermdisappointed>> <</if>> <</widget>> <<widget "manspeech">> <<set _n to _args[0]>> <<if $NPCList[_n].speechpenisescape is 1>> <<set $speechpenisescape to 1>> <</if>> <<if $NPCList[_n].speechvaginaescape is 1>> <<set $speechvaginaescape to 1>> <</if>> <<if $NPCList[_n].speechanusescape is 1>> <<set $speechanusescape to 1>> <</if>> <</widget>><<widget "maninit">> <<set $enemyarousal to $allure / 50 + $audiencearousal>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemytrust to 0>> <<set $enemyhealth to 0>> <<for _i to 0; _i lt $enemyno; _i++>> <<if $NPCList[_i].health isnot undefined>> <<set $enemyhealth += $NPCList[_i].health>> <</if>> <</for>> <<if $enemyhealth is 0>><<set $enemyhealth to 199>><</if>><!-- This is set for compatibility elsewhere if needed, v2.2.0... --> <<set $enemyarousalmax to 500 * $enemyno>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to $enemyhealth>> <<if $enemyhealthmax is 0>><<set $enemyhealthmax to 199>><</if>><!-- This is set for compatibility elsewhere if needed, v2.2.0... --> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].bold to $allure / 10>> <</for>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<if _args[0]>> <<set $enemytype to _args[0]>> <<else>> <<set $enemytype to "man">> <</if>> <<if _args[0] is "plant">> <<set $enemyno to 1>> <</if>> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<set $combattype to "gang">> <<if $NPCList[0].monster is "monster">> <<set $monster to 1>> <<else>> <<set $monster to 0>> <</if>> <<if $condomLvl gte 2>> <<for _i to 0; _i lt $enemyno; _i++>> <<if $condomLvl is 2 and $NPCList[_i].condom and pregnancyCompatible($NPCList[_i]) is false>> <<set $NPCList[_i].condom.willUse to false>> <<elseif $NPCList[_i].condom and $NPCList[_i].pregnancyAvoidance gte 80>> <<set $NPCList[_i].condom.willUse to true>> <<elseif $NPCList[_i].condom and typeof $NPCList[_i].condom.willUse is "number">> <<set $NPCList[_i].condom.willUse to ($NPCList[_i].condom.willUse lt ($consensual is 1 ? $condomUseChanceCon : $condomUseChanceRape))>> <</if>> <</for>> <</if>> <<combatinit>> <</widget>> <<widget "beastNNPCinit">> <!-- NEW NNPC beast intitiation widget v2.6. Replaces beast(1-6)init widgets --> <!-- Probably just temporary... fix for Black Wolf --> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "beast">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<if $combatTrain.generateInit is 1>> <<set $penisbitten to 0>> <<set $apologised to 0>> <</if>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <!-- NG This means if Beast 1 is a monster, they are all monsters --> <!-- This should be fixed globally later --> <<if $NPCList[0].monster is "monster">> <<set $monster to 1>> <<else>> <<set $monster to 0>> <</if>> <!--Used to prevent certain variables being repeated during re-generation--> <<set $combatTrain.generateInit to 0>> <<combatinit>> <</widget>> <<widget "beastCombatInit">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<if $combatTrain.generateInit is 1>> <<set $penisbitten to 0>> <<set $apologised to 0>> <</if>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "beast">> <<if $NPCList[0].monster is "monster">> <<set $monster to 1>> <<else>> <<set $monster to 0>> <</if>> <!--Used to prevent certain variables being repeated during re-generation--> <<set $combatTrain.generateInit to 0>> <!-- NG not sure what to do with below yet, this is part of indexing... leave for now V2.7--> <<set $enemyarousal1 to $enemyarousal>> <<set $enemyanger1 to $enemyanger>> <<set $enemyhealth1 to $enemyhealthmax>> <<set $enemytrust1 to $enemytrust>> <<set $enemyarousal2 to $enemyarousal>> <<set $enemyanger2 to $enemyanger>> <<set $enemyhealth2 to $enemyhealthmax>> <<set $enemytrust2 to $enemytrust>> <<set $enemyarousal3 to $enemyarousal>> <<set $enemyanger3 to $enemyanger>> <<set $enemyhealth3 to $enemyhealthmax>> <<set $enemytrust3 to $enemytrust>> <<set $enemyarousal4 to $enemyarousal>> <<set $enemyanger4 to $enemyanger>> <<set $enemyhealth4 to $enemyhealthmax>> <<set $enemytrust4 to $enemytrust>> <<set $enemyarousal5 to $enemyarousal>> <<set $enemyanger5 to $enemyanger>> <<set $enemyhealth5 to $enemyhealthmax>> <<set $enemytrust5 to $enemytrust>> <<set $enemyarousal6 to $enemyarousal>> <<set $enemyanger6 to $enemyanger>> <<set $enemyhealth6 to $enemyhealthmax>> <<set $enemytrust6 to $enemytrust>> <<combatinit>> <</widget>> <<widget "beastNEWinit">> <!-- NEW beast intitiation widget v2.6. Replaces beast(1-6)init widgets --> <!-- Args are number of beasts(1-6), Type, Gender, Genitals and Monster status--> <!-- Last three args are optional, and override generation based on settings. Use with care --> <!-- Example: <<beastNEWinit 1 dog m>> would generate 1 male dog --> <!-- Example: <<beastNEWinit 2 wolf f>> would generate 2 female wolves --> <!-- Example: <<beastNEWinit 1 horse f penis monster>> would generate 1 dickgirl centaur --> <<set _nn to _args[0]>> <!-- Number of Beasts --> <<set _tpe to _args[1]>> <!-- Type --> <<set _gnn to _args[2]>> <!-- Gender --> <<set _beast_genitals to _args[3]>> <<set _beast_monster to _args[4]>> <<set $active_enemy to 0>> <!-- Error Checking --> <<if !$BeastList.includes(_tpe)>> <span class="red">ERROR: beastNEWinit unknown type</span> <</if>> <<for _xx = 1; _xx < _nn+1; _xx++>> <<generateBEAST _xx _tpe _gnn _beast_genitals _beast_monster>> <</for>> <<set $enemyno to _nn>> <<set $enemytype to "beast">> <!-- NG This means if Beast 1 is a monster, they are all monsters --> <!-- This should be fixed globally later --> <<set $monster to ($NPCList[0].monster is "monster" ? 1 : 0)>> <</widget>> <<widget "beastPARTNERinit">> <!-- Widget to force a beast to generate as a partner for an NPC, whether it be a human or beast. --> <!-- This will probably brick any combat it's called into. --> <!-- Args are number of beasts(1-6), Type, Gender, Genitals and Monster status--> <!-- Last three args are optional, and override generation based on settings. Use with care --> <!-- Example: <<beastNEWinit 1 dog m>> would generate 1 male dog --> <!-- Example: <<beastNEWinit 2 wolf f>> would generate 2 female wolves --> <!-- Example: <<beastNEWinit 1 horse f penis monster>> would generate 1 dickgirl centaur --> <<set _nn to _args[0]>> <!-- NPC Slot of beast --> <<set _tpe to _args[1]>> <!-- Type --> <<set _partner to _args[2]>> <!-- NPC slot of partner --> <<set $active_enemy to 0>> <<set _generate_partner to _partner || _nn -1>> <!-- Error Checking --> <<if !$BeastList.includes(_tpe)>> <span class="red">ERROR: beastPARTNERinit unknown type</span> <</if>> <<set _xx to _nn +1>> <<generateBEAST _xx _tpe>> <<set $enemyno++>> <<set $monster to ($NPCList[_partner].monster is "monster" ? 1 : 0)>> <</widget>> <<widget "beastNOGENinit">> <!-- NEW beast initiation widget v2.6. Replaces beast(1-6)init widgets --> <!-- This works like ManInit widget and requires prior beast initialisation, no args --> <!-- The main reason to use this NOGEN call is so that a variety of beasts can be called, rather than all 1 type --> <!-- Eventually all the <<beastXXXinit>> calls should be collapsed under man1init, which will require rework of $enemytype="beast" + other stuff --> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "beast">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<if $combatTrain.generateInit is 1>> <<set $penisbitten to 0>> <<set $apologised to 0>> <</if>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <!-- NG This means if Beast 1 is a monster, they are all monsters --> <!-- This should be fixed globally later --> <<if $NPCList[0].monster is "monster">> <<set $monster to 1>> <<else>> <<set $monster to 0>> <</if>> <!--Used to prevent certain variables being repeated during re-generation--> <<set $combatTrain.generateInit to 0>> <!-- NG not sure what to do with below yet, this is part of indexing... leave for now V2.7--> <<set $enemyarousal2 to $enemyarousal>> <<set $enemyanger2 to $enemyanger>> <<set $enemyhealth2 to $enemyhealthmax>> <<set $enemytrust2 to $enemytrust>> <<set $enemyarousal3 to $enemyarousal>> <<set $enemyanger3 to $enemyanger>> <<set $enemyhealth3 to $enemyhealthmax>> <<set $enemytrust3 to $enemytrust>> <<set $enemyarousal4 to $enemyarousal>> <<set $enemyanger4 to $enemyanger>> <<set $enemyhealth4 to $enemyhealthmax>> <<set $enemytrust4 to $enemytrust>> <<set $enemyarousal5 to $enemyarousal>> <<set $enemyanger5 to $enemyanger>> <<set $enemyhealth5 to $enemyhealthmax>> <<set $enemytrust5 to $enemytrust>> <<set $enemyarousal6 to $enemyarousal>> <<set $enemyanger6 to $enemyanger>> <<set $enemyhealth6 to $enemyhealthmax>> <<set $enemytrust6 to $enemytrust>> <<combatinit>> <</widget>> <<widget "strangeman1init">> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $NPCList[0].lefthand to "mouth">> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<combatinit>> <</widget>> <<widget "strangeman2init">> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<combatinit>> <</widget>> <<widget "strangewoman1init">> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<combatinit>> <</widget>> <<widget "tailorinit">> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<set $leftarm to "bound">> <<set $rightarm to "bound">> <<combatinit>> <</widget>> <<widget "molestbusinit">> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<if Time.dayState isnot "night">><<enable_rescue>><</if>> <<hand_gag 0 left>> <<combatinit>> <</widget>> <<widget "lefthandinit">> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $NPCList[0].lefthand to 0>> <<set $NPCList[0].righthand to "none">> <<set $NPCList[0].penis to "none">> <<set $NPCList[0].vagina to "none">> <<set $combat to 1>> <<set $enemyarousalmax to 100>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<if Time.dayState isnot "night">><<enable_rescue>><</if>> <<combatinit>> <</widget>> <<widget "nurseinit">> <<set $enemyhealth to 200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 400>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<drugs 120>> <<combatinit>> <</widget>> <<widget "pharmnurseinit">> <<set $enemyhealth to $NPCList[0].health>> <<set $enemyarousal to $allure / 100>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 1000>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to $NPCList[0].healthmax>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<if $worn.over_lower.name != "naked">> <<set $NPCList[0].lefthand to "overlowerclothes">> <<set $NPCList[0].righthand to "overlowerclothes">> <<elseif $worn.lower.name != "naked">> <<set $NPCList[0].lefthand to "lowerclothes">> <<set $NPCList[0].righthand to "lowerclothes">> <<elseif $worn.under_lower.name != "naked">> <<set $NPCList[0].lefthand to "underlowerclothes">> <<set $NPCList[0].righthand to "underlowerclothes">> <</if>> <<set $NPCList[0].mouth to "penisentrance">> <<set $NPCList[0].location.head = "genitals">> <<set $NPCList[0].location.genitals = "idle">> <!-- 'dont' is just an invalid value so that the NPC won't know how to use its genitals, otherwise there's no easy way of stopping NPC from shoving their stuff in PC's face --> <!--Prevents the use of asking for condoms--> <<set $NPCList[0].condomAsk to true>> <<combatinit>> <</widget>> <<widget "spankmaninit">> <<set $enemyhealth to 200>> <<set $enemyarousal to 0>> <<set $enemyanger to 300>> <<set $enemystrength to 20000>> <<set $NPCList[0].lefthand to "arms">> <<set $NPCList[0].righthand to "spank">> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 300>> <<set $enemyhealthmax to 200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<set $enemyno to 1>> <<set $leftarm to "grappled">> <<set $rightarm to "grappled">> <<combatinit>> <</widget>> <<widget "bound2init">> <<set $enemyhealth to 400>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 1000>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 400>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<combatinit>> <</widget>> <<widget "ganginit">> <<set $enemyhealth to 1200>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $combat to 1>> <<set $enemyarousalmax to 3000>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 1200>> <<set $enemytrust to 0>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $enemytype to "man">> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<combatinit>> <</widget>> <<widget "abominationold">> <<set $enemyhealth to 5555>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $NPCList[0].lefthand to 0>> <<set $NPCList[1].lefthand to "none">> <<set $NPCList[2].lefthand to "none">> <<set $NPCList[3].lefthand to "none">> <<set $NPCList[4].lefthand to "none">> <<set $NPCList[5].lefthand to "none">> <<set $NPCList[0].righthand to 0>> <<set $NPCList[1].righthand to "none">> <<set $NPCList[2].righthand to "none">> <<set $NPCList[3].righthand to "none">> <<set $NPCList[4].righthand to "none">> <<set $NPCList[5].righthand to "none">> <<set $NPCList[0].penis to 0>> <<set $NPCList[1].penis to 0>> <<set $NPCList[2].penis to 0>> <<set $NPCList[3].penis to 0>> <<set $NPCList[4].penis to "clothed">> <<set $NPCList[5].penis to "clothed">> <<set $NPCList[0].vagina to 0>> <<set $NPCList[1].vagina to "none">> <<set $NPCList[2].vagina to "none">> <<set $NPCList[3].vagina to "none">> <<set $NPCList[4].vagina to "none">> <<set $NPCList[5].vagina to "none">> <<set $NPCList[0].mouth to 0>> <<set $NPCList[1].mouth to "none">> <<set $NPCList[2].mouth to "none">> <<set $NPCList[3].mouth to "none">> <<set $NPCList[4].mouth to "none">> <<set $NPCList[5].mouth to "none">> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 5555>> <<set $enemytrust to 4444>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<set $enemyno to 1>> <<set $NPCList[0].pronoun to "n">> <<combatinit>> <</widget>> <<widget "abominationold2">> <<set $enemyhealth to 5555>> <<set $enemyarousal to $allure / 50>> <<set $enemyanger to 0>> <<set $enemystrength to 20000>> <<set $NPCList[0].lefthand to 0>> <<set $NPCList[1].lefthand to 0>> <<set $NPCList[0].righthand to 0>> <<set $NPCList[1].righthand to 0>> <<set $NPCList[0].penis to 0>> <<set $NPCList[1].penis to 0>> <<set $NPCList[0].vagina to 0>> <<set $NPCList[1].vagina to 0>> <<set $NPCList[0].mouth to 0>> <<set $NPCList[1].mouth to 0>> <<set $combat to 1>> <<set $enemyarousalmax to 500>> <<set $enemyangermax to 200>> <<set $enemyhealthmax to 5555>> <<set $enemytrust to 4444>> <<if $dissociation gte 1>> <<set $enemytrust -= 40>> <</if>> <<set $rapeavoid to 1>> <<set $orgasmdown to 0>> <<set $penisbitten to 0>> <<set $apologised to 0>> <<set $underlowerstruggle to 0>> <<set $lowerstruggle to 0>> <<set $upperstruggle to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $traumasaved to $trauma>> <<set $stresssaved to $stress>> <<set $traumagain to 0>> <<set $stressgain to 0>> <<set $enemyno to 1>> <<set $NPCList[0].pronoun to "n">> <<combatinit>> <</widget>> <<widget "crossdressing_check">> <<if $player.penisExist and $player.vaginaExist>> <<set $crossdressing to 2>> <<elseif isCrossdressing()>> <<set $crossdressing to 1>> <<else>> <<set $crossdressing to 0>> <</if>> <</widget>> <<widget "danceinit">> <<crossdressing_check>> <<set $dancing to 1>> <<set $dance_place to 0>> <</widget>> <<widget "combatinit">> <<if !_controlloss>> /* save $control state at the combat start, unless it's already been saved by <<controlloss>> earlier in the passage */ <<set $controlstart to $control>> <</if>> <<set $arousalmasochism to 0>> <<set $combatgoal to 0>> <!-- <<set $turnCount to 0>> --> <<set _genderexposed to $exposed gte 2 and !($worn.genitals.type.includesAll("chastity", "hidden"))>> <<if $npc.length gt 0>> <<for _iii to 0; _iii lt $npc.length; _iii++>> <<if $genderknown.includes($npc[_iii])>> <<set _genderknownbeforehand to true>> <<elseif _genderexposed>> <<run $genderknown.pushUnique($npc[_iii])>> <</if>> <</for>> <</if>> <<set $newlyWritten to []>> <<if _genderknownbeforehand or _genderexposed>> <<set $crossdressing to 0>> <<else>> <<crossdressing_check>> <</if>> <<set $enemynomax to $enemyno>> <<if $enemytype is "beast">> <<if $NPCList[0].penis is "none" and $player.penisExist>> <<set $position to "missionary">> <<else>> <<if random(1, 100) gte 20>> <<set $position to "doggy">> <<else>> <<set $position to "missionary">> <</if>> <</if>> <<else>> <<if $NPCList[0].penis is "none">> <<if random(1, 100) gte 80>> <<set $position to "doggy">> <<else>> <<set $position to "missionary">> <</if>> <<else>> <<if random(1, 100) gte 50>> <<set $position to "doggy">> <<else>> <<set $position to "missionary">> <</if>> <</if>> <</if>> <<for _i to 0; _i lt $enemynomax; _i++>> <<if $NPCList[_i].stance isnot "defeated">> <<set $NPCList[_i].active to "active">> <</if>> <</for>> <<if $earSlime.event is "have sex with someone" or $earSlime.event is "have sex with someone or something">> <<set $earSlime.event to "">> <</if>> <<if $worn.face.type.includes("gag")>> <<set $mouthuse to "gagged">> <</if>> <<if $worn.feet.type.includes("shackle")>> <<set $leftleg to "bound">> <<set $rightleg to "bound">> <<set $feetuse to "bound">> <</if>> <<if playerHasStrapon()>> <<set $penisuse to 0>><<set $penisstate to 0>> /*<<if $worn.under_lower.size isnot undefined>> <<set $playerPenisSizeBackup to $player.penissize>> <<set $player.penissize to $worn.under_lower.size>> <</if>>*/ <</if>> <<resetLastOptions>> <<getCombatDefaultsType>> <<wetnessCalculate>> <</widget>> <<widget "man">> <<if $finish isnot 1>> <<if $setupMidOrgasm is true>> <<if $ejaculatingMid is true>> <<set $ejaculating to 1>> <<set $ejaculatingMid to false>> <<elseif $ejaculatingMid is false>> <<unset $ejaculatingMid>> <</if>> <</if>> <div @class="($debugLines ? 'debugLines-combat' : '')"> <br> <<for _mancombatcontrol = 0; _mancombatcontrol lt $enemynomax; _mancombatcontrol++>> <<if $NPCList[_mancombatcontrol].active is "active" and $NPCList[_mancombatcontrol].stance isnot "defeated">> <<man-combat _mancombatcontrol>> <<if $position isnot "stalk" and !$breakIgnore>> <br><br> <</if>> <<elseif $debug is 1 and $NPCList[_mancombatcontrol].active isnot "active">> <br>Debug Message:<br>NPC _mancombatcontrol, $NPCList[_mancombatcontrol].fullDescription is not active.<br> <<elseif $debug is 1 and $NPCList[_mancombatcontrol].stance is "defeated">> <br>Debug Message:<br>NPC _mancombatcontrol, $NPCList[_mancombatcontrol].fullDescription is defeated.<br> <</if>> <</for>> <<if $oxygen lt $oxygenmax and $underwater isnot 1 and _strangle is 1>> <<unset _strangle>> Air: <<oxygencaption>> <br> <</if>> </div> <</if>> <<rng>> <<if $worn.over_lower.vagina_exposed gte 1 and $worn.under_lower.vagina_exposed gte 1 and $worn.lower.vagina_exposed gte 1 and $npc.length isnot 0 and !$worn.genitals.type.includesAll("chastity", "hidden")>> <<run $npc.forEach(npc => $genderknown.pushUnique(npc))>> <</if>> <<if $worn.genitals.type.includesAll("chastity", "hidden") or $NPCList[0].state is "stalk" or $NPCList[0].state is "pursuit" or $gloryhole>> <<elseif $crossdressing gte 1 and $worn.over_lower.vagina_exposed gte 1 and $worn.under_lower.vagina_exposed gte 1 and $worn.lower.vagina_exposed gte 1>> <<exposedcheck true>> <<if $NPCList[0].teen is 1 and $location is "school" and !($npc.length is 1 and (["Kylar","Sydney"].includes($npc[0])))>> <<schoolrep_naked>> <</if>> <<if $genitalReactionDisable>> <!-- No reaction --> <<elseif $crossdressing is 2>> <!-- Herm PC --> <<if $npc.length is 1 and (["Kylar","Sydney"].includes($npc[0]))>> <!-- Only Kylar and Sydney have fixed reactions, other named NPCs CAN react with anything from disgust to arousal to anger if they don't know your gender. --> <<if $npc[0] is "Sydney" and !$sydneySeen.includes("herm")>> <<set $sydneySeen.pushUnique("herm")>> <<if _sydneyStatus.includes("corrupt")>> <<He>> stares with wonder at your <<genitals>>. <<else>> <<He>> eyes your <<genitals>> with great curiosity. <</if>> <<npcincr Sydney purity -2>><<lspurity>><<set $speechhermaroused to 2>> <<elseif $npc[0] is "Kylar">> <!-- TODO: Give Kylar a unique reaction? --> <span class="purple"><<His>> hands shake and <<his>> breath quickens at the sight of your <<genitals>>.</span> <<set $enemyarousal += 50>><<set $speechhermaroused to 2>> <</if>> <<elseif $NPCList[0].type is "plant" or $rng lt 30>> <<if $enemyno gte 2>> They take both your <<genitals>> in stride, seeming unbothered. <<else>> <<He>> takes both your <<genitals>> in stride, seeming unbothered. <</if>> <<elseif $rng lt 50>> <<if $enemyno gte 2>> They're taken aback by your <<genitals>>. They don't seem angry, at least. <<else>> <<Hes>> taken aback by your <<genitals>>. <<He>> doesn't seem angry, at least. <</if>> <<set $enemyarousal -= 100>><<set $enemytrust -= 50>><<set $speechhermdisappointed to 2>> <<elseif $rng lt 85>> <<if $enemyno gte 2>> <span class="blue">They recoil in shock at the sight of your <<genitals>>.</span> <<else>> <span class="blue"><<He>> recoils in shock at the sight of your <<genitals>>.</span> <</if>> <<set $enemyanger -= 50>><<set $enemytrust -= 50>><<set $speechhermshock to 2>> <<elseif $rng lt 95>> <<if $enemyno gte 2>> <span class="purple">Their hands shake and their breath quickens at the sight of your <<genitals>>.</span> <<else>> <span class="purple"><<His>> hands shake and <<his>> breath quickens at the sight of your <<genitals>>.</span> <</if>> <<set $enemyarousal += (50 * $enemyno)>><<set $speechhermaroused to 2>> <<else>> <<if $enemyno gte 2>> <span class="red">They recoil in horror and disgust at the sight of your <<genitals>>!</span> <<else>> <span class="red"><<He>> recoils in horror and disgust at the sight of your <<genitals>>!</span> <</if>> <<set $enemyanger += 200>><<set $enemytrust -= 100>><<set $speechhermangry to 2>> <</if>> <<else>> <!-- Crossdressing PC --> <<if $npc.length is 1 and (["Kylar","Sydney"].includes($npc[0]))>> <<if $npc[0] is "Sydney" and !$sydneySeen.includes("crossdress")>> <<set $sydneySeen.pushUnique("crossdress")>> <<run statusCheck("Sydney")>> <<if _sydneyStatus.includes("corrupt")>> <<He>> looks taken aback by your <<genitals>>. It wasn't what <<he>> was expecting, but <<he>> doesn't seem to mind. <<else>> <<He>> stares at your <<genitals>> with confusion. It wasn't what <<he>> was expecting, but <<he>> doesn't seem to mind. <</if>> <<npcincr Sydney purity -2>><<lspurity>><<set $speechcrossdressaroused to 2>> <<elseif $npc[0] is "Kylar">> <!-- TODO: Give Kylar unique reactions? --> <<set _kylar to statusCheck("Kylar")>> <<if _kylar.gender isnot $player.sex or _kylar.gender is "h">> Your <<genitals 1>> was clearly not what <<he>> was expecting, but <<he>> doesn't seem to mind. <<if _kylar.gender isnot "h">><span class="purple">In fact, if <<his>> shaking hands are anything to go by <<he>> is quite pleased.</span><</if>> <<set $enemyarousal += 50>><<set $speechcrossdressaroused to 2>> <<else>> <<He>> looks disappointed by your <<genitals>>. It wasn't what <<he>> was expecting. <<set $enemyarousal -= 100>><<set $enemytrust -= 50>><<set $speechcrossdressdisappointed to 2>> <</if>> <</if>> <<elseif $NPCList[0].type is "plant" or $rng lt 30>> <<if $enemyno gte 2>> Your <<genitals>> was clearly not what they were expecting, but they don't seem to mind. <<else>> Your <<genitals 1>> was clearly not what <<he>> was expecting, but <<he>> doesn't seem to mind. <</if>> <<elseif $rng lt 50>> <<if $enemyno gte 2>> They look disappointed by your <<genitals>>. It wasn't what they were expecting. <<else>> <<He>> looks disappointed by your <<genitals>>. It wasn't what <<he>> was expecting. <</if>> <<set $enemyarousal -= 100>><<set $enemytrust -= 50>><<set $speechcrossdressdisappointed to 2>> <<elseif $rng lt 85>> <<if $enemyno gte 2>> Their eyes widen in shock when they see your <<genitals>>. They seem unsure what to do. <<else>> <<His>> eyes widen in shock when <<he>> sees your <<genitals>>. <<He>> seems unsure what to do. <</if>> <<set $enemyanger -= 50>><<set $enemytrust -= 50>><<set $speechcrossdressshock to 2>> <<elseif $rng lt 95>> <<if $enemyno gte 2>> Your <<genitals>> was clearly not what they were expecting, but they don't seem to mind. <span class="purple">In fact, if their shaking hands are anything to go by they're quite pleased.</span> <<else>> Your <<genitals 1>> was clearly not what <<he>> was expecting, but <<he>> doesn't seem to mind. <span class="purple">In fact, if <<his>> shaking hands are anything to go by <<he>> is quite pleased.</span> <</if>> <<set $enemyarousal += (50 * $enemyno)>><<set $speechcrossdressaroused to 2>> <<else>> <<if $enemyno gte 2>> <span class="red">They recoil in horror upon seeing your <<genitals>>. The deception has driven them mad with rage!</span> <<else>> <span class="red"><<He>> recoils in horror upon seeing your <<genitals>>. The deception has driven <<him>> mad with rage!</span> <</if>> <<set $enemyanger += 200>><<set $enemytrust -= 100>><<set $speechcrossdressangry to 2>> <</if>> <<if !$backgroundTraits.includes("crossdresser")>> <<set $crossdressingTrait to ($crossdressingTrait gte 1 ? $crossdressingTrait + 1 : 1)>> <<if $crossdressingTrait gte 100>> <<run $backgroundTraits.pushUnique("crossdresser")>> <br><br> <span class="gold">Being seen crossdressing makes you feel happy inside.</span> <</if>> <</if>> <</if>> <<set $crossdressing to 0>> <br><br> <</if>> /* NPC reactions to revealing your sex toys */ <<if $dildoreveal gt 0>> <<set $dildoreveal to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<set $_was to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "were" : "was")>> <<if $enemyno gte 2>> <<set $speechSextoyState to $speechSextoyState || either("aroused", "neutral", "disappointed", "shocked", "angry")>> <<cleareventpool>> <<switch $speechSextoyState>> <<case "aroused">> <<addinlineevent>> Their breath quickens at the sight of your $_sexToy. <<set $enemyarousal += 50>> <</addinlineevent>> <<addinlineevent>> They seem pleased to see your $_sexToy. <</addinlineevent>> <<addinlineevent>> They're taken aback by your $_sexToy, but seem excited by it. <</addinlineevent>> <<case "neutral">> <<addinlineevent>> Your $_sexToy $_was clearly unexpected, but they don't seem to mind. <</addinlineevent>> <<case "disappointed">> <<addinlineevent 0.5>> They look disappointed by your $_sexToy. It wasn't what they was expecting. <<set $enemyarousal -= 100>><<set $enemytrust -= 50>> <</addinlineevent>> <<case "shocked">> <<addinlineevent 0.5>> Their eyes widen in shock at the reveal of your $_sexToy. <<set $enemyanger -= 50>><<set $enemytrust -= 50>> <</addinlineevent>> <<case "angry">> <<addinlineevent 0.5>> They recoil in disgust at the sight of your $_sexToy. <<set $enemyanger += 75>><<set $enemytrust -= 75>> <</addinlineevent>> <<default>> <<addinlineevent>> They appear confused. Not sure what to think of your $_sexToy. <span class="blue">You should inform Vrelnir.</span> <</addinlineevent>> <</switch>> <<runeventpool>> <<else>> <<switch $NPCList[0].fullDescription>> <<case "Robin">> <<set $speechsextoy to 1>> <<case "Kylar">> <<set $speechsextoy to 1>> <<case "Whitney">> <<set $speechsextoy to 1>> <<case "Sydney">> <<set $speechsextoy to 1>> <<case "Alex">> <<set $speechsextoy to 1>> <<case "Eden">> <<set $speechsextoy to 1>> <<set $enemytrust -=25>> <<case "Avery">> <<set $speechsextoy to 1>> <<case "Leighton">> <<set $speechsextoy to 1>> <<default>> <<set $speechSextoyState to $speechSextoyState || either("aroused", "neutral", "disappointed", "shocked", "angry")>> <<cleareventpool>> <<switch $speechSextoyState>> <<case "aroused">> <<addinlineevent>> <<His>> breath quickens at the sight of your $_sexToy. <<set $enemyarousal += 50>> <</addinlineevent>> <<addinlineevent>> <<He>> seems pleased to see your $_sexToy. <</addinlineevent>> <<addinlineevent>> <<Hes>> taken aback by your $_sexToy, but seems excited by it. <</addinlineevent>> <<case "neutral">> <<addinlineevent>> Your $_sexToy $_was clearly unexpected, but <<he>> doesn't seem to mind. <</addinlineevent>> <<case "disappointed">> <<addinlineevent 0.5>> <<He>> looks disappointed by your $_sexToy. It wasn't what <<he>> was expecting. <<set $enemyarousal -= 100>><<set $enemytrust -= 50>> <</addinlineevent>> <<case "shocked">> <<addinlineevent 0.5>> <<His>> eyes widen in shock at the reveal of your $_sexToy. <<set $enemyanger -= 50>><<set $enemytrust -= 50>> <</addinlineevent>> <<case "angry">> <<addinlineevent 0.5>> <<He>> recoils in disgust at the sight of your $_sexToy. <<set $enemyanger += 75>><<set $enemytrust -= 75>> <</addinlineevent>> <<default>> <<addinlineevent>> <<He>> appears confused. Not sure what to think of your $_sexToy. <span class="blue">You should inform Vrelnir.</span> <</addinlineevent>> <</switch>> <<runeventpool>> <</switch>> <</if>> <</if>> <<turnend>> <</widget>> <<widget "printCombatMenu">> <<set $_combatTypes to {'Radio': 'radio', 'Radio (c)': 'columnRadio', 'Lists': 'lists', 'List (w)': 'limitedLists'}>> <div id="cbtToggleMenu"> <label class="cbtToggle"> <p>Combat menu</p> </label> <hr> <label class="cbtOption"> <p>Control types</p> <<listbox "$options.combatControls" autoselect>> <<optionsfrom $_combatTypes>> <</listbox>> </label> <label class="cbtOption"> <p>Scroll lock</p> <<checkbox "$options.scrollRemember" false true autocheck>> </label> <label class="cbtOption"> <p>Target yourself</p> <<checkbox "$options.targetYourself" false true autocheck>> </label> <label class="cbtOption"> <p>Combat images</p> <<checkbox "$options.combatImages" 0 1 autocheck>> </label> </div> <</widget>><<widget "generateActionsMachine">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<leftActionInitMachine>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<rightActionInitMachine>> </div> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<feetActionInitMachine>> </div> <<if ($mouthuse is 0 and !($dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)))>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInit>> </div> <</if>> </div> <</widget>> <<widget "leftActionInitMachine">> <<set $lefttarget to "machine">> <<switch $leftarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">Your left arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "pain">> <span class="red">Your left arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "unreal">> <span class="pink">Your left arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "free">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "left" _targetlistarms>> <br> <</if>> <</if>> <<case "mechgrappled">> <<if $orgasmdown gte 1>> <<set _leftOptions to "bound">> <span class="lewd">Your left arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "bound">> <span class="red">Your left arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "bound">> <span class="pink">Your left arm lies limp in its bonds.</span> <<else>> <<set _leftOptions to "mech">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is held down.</span> <</if>> <<case "swarmgrappled">> <<set $_changetype to true>><<leftActionInitSwarm>> <<case "bound">> <<if $orgasmdown gte 1>> <<set _leftOptions to "bound">> <span class="lewd">Your left arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "bound">> <span class="red">Your left arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "bound">> <span class="pink">Your left arm lies limp in its bonds.</span> <<else>> <<set _leftOptions to "bound">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is bound and helpless.</span> <</if>><<if $options.combatControls.includes("adio")>><br><</if>> <<case "trapped">> <<set $_changetype to true>><<leftActionInitVore>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<leftActionInit>> <<case "struggle">> <<set $_changetype to true>><<leftActionInitStruggle>> <<default>> <<set $_changetype to true>><<leftActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<leftActionsMachine>> <<if Object.keys(_leftaction).length gt 0>> <<if !(Object.values(_leftaction).includes($leftactiondefault))>> <<set $leftactiondefault to "rest">> <</if>> <<set $leftaction to $leftactiondefault>> <div class="extraMargin"> <<generateCombatAction _leftaction "leftaction" "Machine">> </div> <<if $options.combatControls.includes("ists")>> <div id="leftactionDifficulty"> <<leftactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.left to clone(_leftOptions)>> <</if>> <</widget>> <<widget "leftactionDifficultyMachine">>/* Just so things don't break. */ <!-- Does nothing --> <</widget>> <<widget "leftActionsMachine">> <<set _leftaction to {}>> <<switch _leftOptions>> <<case "free">> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<set _leftaction["Pull on the chains"] to "chain_struggle">> <</if>> <</if>> <<if $machine.tattoo>> <<if $machine.tattoo.use isnot "inert" and $machine.tattoo.use isnot "destroyed">> <<set _leftaction["Whack the tattoo gun"] to "whack">> <</if>> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.use isnot "inert" and $machine.vaginal.use isnot "destroyed">> <<set _leftaction["Whack the phallic machine"] to "vaginal_whack">> <<set _leftaction["Push the phallic machine away"] to "vaginal_push">> <</if>> <</if>> <<if $machine.anal>> <<if $machine.anal.use isnot "inert" and $machine.anal.use isnot "destroyed">> <<set _leftaction["Whack the small phallic machine"] to "anal_whack">> <<set _leftaction["Push the small phallic machine away"] to "anal_push">> <</if>> <</if>> <<set _leftaction["Rest"] to "rest">> <<case "mech">> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<set _leftaction["Pull on the chains"] to "chain_struggle">> <</if>> <</if>> <<set _leftaction["Rest"] to "rest">> <<case "orgasm">> <<set _leftaction["Fold"] to "leftfold">> <<set _leftaction["Grip"] to "leftgrip">> <<case "pain">> <<set _leftaction["Struggle"] to "leftstruggleweak">> <<set _leftaction["Protect"] to "leftprotect">> <<case "unreal">> <<set _leftaction["Poke yourself"] to "leftpoke">> <<set _leftaction["Keep your arms out of the way"] to "leftcurl">> <</switch>> <</widget>> <<widget "rightActionInitMachine">> <<set $righttarget to "machine">> <<switch $rightarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">Your right arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "pain">> <span class="red">Your right arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "unreal">> <span class="pink">Your right arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "free">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "right" _targetlistarms>> <br> <</if>> <</if>> <<case "mechgrappled">> <<if $orgasmdown gte 1>> <<set _rightOptions to "bound">> <span class="lewd">Your right arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "bound">> <span class="red">Your right arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "bound">> <span class="pink">Your right arm lies limp in its bonds.</span> <<else>> <<set _rightOptions to "mech">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is held down.</span> <</if>> <<case "swarmgrappled">> <<set $_changetype to true>><<rightActionInitSwarm>> <<case "bound">> <<if $orgasmdown gte 1>> <<set _rightOptions to "bound">> <span class="lewd">Your right arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "bound">> <span class="red">Your right arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "bound">> <span class="pink">Your right arm lies limp in its bonds.</span> <<else>> <<set _rightOptions to "bound">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is bound and helpless.</span> <</if>><<if $options.combatControls.includes("adio")>><br><</if>> <<case "trapped">> <<set $_changetype to true>><<rightActionInitVore>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<rightActionInit>> <<case "struggle">> <<set $_changetype to true>><<rightActionInitStruggle>> <<default>> <<set $_changetype to true>><<rightActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<rightActionsMachine>> <<if Object.keys(_rightaction).length gt 0>> <<if !(Object.values(_rightaction).includes($rightactiondefault))>> <<set $rightactiondefault to "rest">> <</if>> <<set $rightaction to $rightactiondefault>> <div class="extraMargin"> <<generateCombatAction _rightaction "rightaction" "Machine">> </div> <<if $options.combatControls.includes("ists")>> <div id="rightactionDifficulty"> <<rightactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.right to clone(_rightOptions)>> <</if>> <</widget>> <<widget "rightactionDifficultyMachine">>/* Don't think about it, just accept. */ <!-- Does nothing --> <</widget>> <<widget "rightActionsMachine">> <<set _rightaction to {}>> <<switch _rightOptions>> <<case "free">> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<set _rightaction["Pull on the chains"] to "chain_struggle">> <</if>> <</if>> <<if $machine.tattoo>> <<if $machine.tattoo.use isnot "inert" and $machine.tattoo.use isnot "destroyed">> <<set _rightaction["Whack the tattoo gun"] to "whack">> <</if>> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.use isnot "inert" and $machine.vaginal.use isnot "destroyed">> <<set _rightaction["Whack the phallic machine"] to "vaginal_whack">> <<set _rightaction["Push the phallic machine away"] to "vaginal_push">> <</if>> <</if>> <<if $machine.anal>> <<if $machine.anal.use isnot "inert" and $machine.anal.use isnot "destroyed">> <<set _rightaction["Whack the small phallic machine"] to "anal_whack">> <<set _rightaction["Push the small phallic machine away"] to "anal_push">> <</if>> <</if>> <<set _rightaction["Rest"] to "rest">> <<case "mech">> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<set _rightaction["Pull on the chains"] to "chain_struggle">> <</if>> <</if>> <<set _rightaction["Rest"] to "rest">> <<case "orgasm">> <<set _rightaction["Fold"] to "rightfold">> <<set _rightaction["Grip"] to "rightgrip">> <<case "pain">> <<set _rightaction["Struggle"] to "rightstruggleweak">> <<set _rightaction["Protect"] to "rightprotect">> <<case "unreal">> <<set _rightaction["Poke yourself"] to "rightpoke">> <<set _rightaction["Keep your arms out of the way"] to "rightcurl">> <</switch>> <</widget>> <<widget "feetActionInitMachine">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<set $feettarget to "machine">> <<switch $feetuse>> <<case 0>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistall["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<if ($leftleg is "grappled" and $rightleg is "grappled") or ($leftleg is "bound" and $rightleg is "bound")>> <<else>> <<targetListBox "feet" _targetlistall>> <</if>> <</if>> <<if $leftleg is 0 and $rightleg is 0>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your legs are free.</span> <<elseif $leftleg is "grappled" or $rightleg is "grappled">> <<set $_changetype to true>><<feetActionInitTentacle>> <<elseif $leftleg is "bound" and $rightleg is "bound">> <<set $_changetype to true>><<feetActionInitTentacle>> <<else>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your legs are free.</span> <</if>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and _feetOptions.toLowerCase().includes("free")>> <br> <<targetListBox "feet" _targetlistall>> <</if>> <<if _targetnumber is 1>> <<set $feettarget to _firsttarget>> <</if>> <<case "mechgrappled">> <<set _feetOptions to "mech">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your legs are chained.</span> <<case "bound" "penis" "othervagina" "walk" "run" "strut" "none">> <<set $_changetype to true>><<feetActionInit>> <<default>> <<set $_changetype to true>><<feetActionInitTentacle>> <</switch>> <<if $lastOptions.feet isnot _feetOptions>> <<set _feetGold to true>> <</if>> <<if $_changetype isnot true>> <<feetActionsMachine>> <<if Object.keys(_feetaction).length gt 0>> <<if !(Object.values(_feetaction).includes($feetactiondefault))>> <<set $feetactiondefault to "rest">> <</if>> <<set $feetaction to $feetactiondefault>> <div class="extraMargin"> <<generateCombatAction _feetaction "feetaction" "Machine">> </div> <<if $options.combatControls.includes("ists")>> <div id="feetactionDifficulty"> <<feetactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.feet to clone(_feetOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#feetaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "feetactionDifficultyMachine">> /* Sometimes in life, there's not much we can do. */ <!-- Does nothing --> <</widget>> <<widget "feetActionsMachine">> <<set _feetaction to {}>> <<switch _feetOptions>> <<case "free">> <<if $machine.leg_chains>> <<if $machine.leg_chains.use isnot "inert" and $machine.leg_chains.use isnot "destroyed">> <<set _feetaction["Pull on the chains"] to "chain_struggle">> <</if>> <</if>> <<if $machine.tattoo>> <<if $machine.tattoo.use isnot "inert" and $machine.tattoo.use isnot "destroyed">> <<set _feetaction["Kick the tattoo gun"] to "whack">> <</if>> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.use isnot "inert" and $machine.vaginal.use isnot "destroyed">> <<set _feetaction["Kick the phallic machine"] to "vaginal_whack">> <<set _feetaction["Push the phallic machine away"] to "vaginal_push">> <</if>> <</if>> <<if $machine.anal>> <<if $machine.anal.use isnot "inert" and $machine.anal.use isnot "destroyed">> <<set _feetaction["Kick the small phallic machine"] to "anal_whack">> <<set _feetaction["Push the small phallic machine away"] to "anal_push">> <</if>> <</if>> <<set _feetaction["Rest"] to "rest">> <<case "mech">> <<if $machine.leg_chains>> <<if $machine.leg_chains.use isnot "inert" and $machine.leg_chains.use isnot "destroyed">> <<set _feetaction["Pull against the chains"] to "chain_struggle">> <</if>> <</if>> <<set _feetaction["Rest"] to "rest">> <</switch>> <</widget>><<widget "machine_actions">> <<willpowerpain>> <<willpowerorgasm>> <<actioncarry>> <<actioncarrydrop>> <<combatstate>> <<carryblock>> <<if $trance lte 0 and $panicparalysis is 0 and $panicviolence is 0 and $options.combatControls isnot "disabled">> <<generateActionsMachine>> <</if>> <<if $trance lte 0 and $dissociation lte 1 and $panicparalysis is 0 and $panicviolence is 0 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and $options.combatControls is "disabled">> <<if $leftarm is 0>> <br> Your left arm is free. <br> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<if $leftactiondefault is "chain_struggle">> | <label><span class="def">Pull on the chains</span> <<radiobutton "$leftaction" "chain_struggle" checked>></label> <<else>> | <label><span class="def">Pull on the chains</span> <<radiobutton "$leftaction" "chain_struggle">></label> <</if>> <</if>> <</if>> <<if $machine.tattoo>> <<if $machine.tattoo.use isnot "inert" and $machine.tattoo.use isnot "destroyed">> <<if $leftactiondefault is "whack">> | <label><span class="def">Whack the tattoo gun</span> <<radiobutton "$leftaction" "whack" checked>></label> <<else>> | <label><span class="def">Whack the tattoo gun</span> <<radiobutton "$leftaction" "whack">></label> <</if>> <</if>> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.use isnot "inert" and $machine.vaginal.use isnot "destroyed">> <<if $leftactiondefault is "vaginal_whack">> | <label><span class="def">Whack the phallic machine</span> <<radiobutton "$leftaction" "vaginal_whack" checked>></label> <<else>> | <label><span class="def">Whack the phallic machine</span> <<radiobutton "$leftaction" "vaginal_whack">></label> <</if>> <<if $leftactiondefault is "vaginal_push">> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$leftaction" "vaginal_push" checked>></label> <<else>> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$leftaction" "vaginal_push">></label> <</if>> <</if>> <</if>> <<if $machine.anal>> <<if $machine.anal.use isnot "inert" and $machine.anal.use isnot "destroyed">> <<if $leftactiondefault is "anal_whack">> | <label><span class="def">Whack the small phallic machine</span> <<radiobutton "$leftaction" "anal_whack" checked>></label> <<else>> | <label><span class="def">Whack the small phallic machine</span> <<radiobutton "$leftaction" "anal_whack">></label> <</if>> <<if $leftactiondefault is "anal_push">> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$leftaction" "anal_push" checked>></label> <<else>> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$leftaction" "anal_push">></label> <</if>> <</if>> <</if>> <<if $leftactiondefault is "rest">> | <label>Rest <<radiobutton "$leftaction" "rest" checked>></label> <<else>> | <label>Rest <<radiobutton "$leftaction" "rest">></label> <</if>> <<elseif $leftarm is "mechgrappled">> <br> Your left arm is held down. <br> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<if $leftactiondefault is "chain_struggle">> | <label><span class="def">Pull on the chains</span> <<radiobutton "$leftaction" "chain_struggle" checked>></label> <<else>> | <label><span class="def">Pull on the chains</span> <<radiobutton "$leftaction" "chain_struggle">></label> <</if>> <</if>> <</if>> <<if $leftactiondefault is "rest">> | <label>Rest <<radiobutton "$leftaction" "rest" checked>></label> <<else>> | <label>Rest <<radiobutton "$leftaction" "rest">></label> <</if>> <<elseif $leftarm is "bound">> <br> Your left arm is bound. <</if>> <<if $rightarm is 0>> <br> Your right arm is free. <br> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<if $rightactiondefault is "chain_struggle">> | <label><span class="def">Pull on the chains</span> <<radiobutton "$rightaction" "chain_struggle" checked>></label> <<else>> | <label><span class="def">Pull on the chains</span> <<radiobutton "$rightaction" "chain_struggle">></label> <</if>> <</if>> <</if>> <<if $machine.tattoo>> <<if $machine.tattoo.use isnot "inert" and $machine.tattoo.use isnot "destroyed">> <<if $rightactiondefault is "whack">> | <label><span class="def">Whack the tattoo gun</span> <<radiobutton "$rightaction" "whack" checked>></label> <<else>> | <label><span class="def">Whack the tattoo gun</span> <<radiobutton "$rightaction" "whack">></label> <</if>> <</if>> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.use isnot "inert" and $machine.vaginal.use isnot "destroyed">> <<if $rightactiondefault is "vaginal_whack">> | <label><span class="def">Whack the phallic machine</span> <<radiobutton "$rightaction" "vaginal_whack" checked>></label> <<else>> | <label><span class="def">Whack the phallic machine</span> <<radiobutton "$rightaction" "vaginal_whack">></label> <</if>> <<if $rightactiondefault is "vaginal_push">> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$rightaction" "vaginal_push" checked>></label> <<else>> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$rightaction" "vaginal_push">></label> <</if>> <</if>> <</if>> <<if $machine.anal>> <<if $machine.anal.use isnot "inert" and $machine.anal.use isnot "destroyed">> <<if $rightactiondefault is "anal_whack">> | <label><span class="def">Whack the small phallic machine</span> <<radiobutton "$rightaction" "anal_whack" checked>></label> <<else>> | <label><span class="def">Whack the small phallic machine</span> <<radiobutton "$rightaction" "anal_whack">></label> <</if>> <<if $rightactiondefault is "anal_push">> | <label><span class="brat">Push the small phallic machine away</span> <<radiobutton "$rightaction" "anal_push" checked>></label> <<else>> | <label><span class="brat">Push the small phallic machine away</span> <<radiobutton "$rightaction" "anal_push">></label> <</if>> <</if>> <</if>> <<if $rightactiondefault is "rest">> | <label>Rest <<radiobutton "$rightaction" "rest" checked>></label> <<else>> | <label>Rest <<radiobutton "$rightaction" "rest">></label> <</if>> <<elseif $rightarm is "mechgrappled">> <br> Your right arm is chained. <br> <<if $machine.arm_chains>> <<if $machine.arm_chains.use isnot "inert" and $machine.arm_chains.use isnot "destroyed">> <<if $rightactiondefault is "chain_struggle">> | <label><span class="def">Pull on the chains</span> <<radiobutton "$rightaction" "chain_struggle" checked>></label> <<else>> | <label><span class="def">Pull on the chains</span> <<radiobutton "$rightaction" "chain_struggle">></label> <</if>> <</if>> <</if>> <<if $rightactiondefault is "rest">> | <label>Rest <<radiobutton "$rightaction" "rest" checked>></label> <<else>> | <label>Rest <<radiobutton "$rightaction" "rest">></label> <</if>> <<elseif $rightarm is "bound">> <br> Your right arm is bound. <</if>> <<if $feetuse is 0>> <br> Your legs are free. <br> <<if $machine.leg_chains>> <<if $machine.leg_chains.use isnot "inert" and $machine.leg_chains.use isnot "destroyed">> <<if $feetactiondefault is "chain_struggle">> | <label><span class="def">Pull on the chains</span> <<radiobutton "$feetaction" "chain_struggle" checked>></label> <<else>> | <label><span class="def">Pull on the chains</span> <<radiobutton "$feetaction" "chain_struggle">></label> <</if>> <</if>> <</if>> <<if $machine.tattoo>> <<if $machine.tattoo.use isnot "inert" and $machine.tattoo.use isnot "destroyed">> <<if $feetactiondefault is "whack">> | <label><span class="def">Kick the tattoo gun</span> <<radiobutton "$feetaction" "whack" checked>></label> <<else>> | <label><span class="def">Kick the tattoo gun</span> <<radiobutton "$feetaction" "whack">></label> <</if>> <</if>> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.use isnot "inert" and $machine.vaginal.use isnot "destroyed">> <<if $feetactiondefault is "vaginal_whack">> | <label><span class="def">Kick the phallic machine</span> <<radiobutton "$feetaction" "vaginal_whack" checked>></label> <<else>> | <label><span class="def">Kick the phallic machine</span> <<radiobutton "$feetaction" "vaginal_whack">></label> <</if>> <<if $feetactiondefault is "vaginal_push">> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$feetaction" "vaginal_push" checked>></label> <<else>> | <label><span class="brat">Push the phallic machine away</span> <<radiobutton "$feetaction" "vaginal_push">></label> <</if>> <</if>> <</if>> <<if $machine.anal>> <<if $machine.anal.use isnot "inert" and $machine.anal.use isnot "destroyed">> <<if $feetactiondefault is "anal_whack">> | <label><span class="def">Kick the small phallic machine</span> <<radiobutton "$feetaction" "anal_whack" checked>></label> <<else>> | <label><span class="def">Kick the small phallic machine</span> <<radiobutton "$feetaction" "anal_whack">></label> <</if>> <<if $feetactiondefault is "anal_push">> | <label><span class="brat">Push the small phallic machine away</span> <<radiobutton "$feetaction" "anal_push" checked>></label> <<else>> | <label><span class="brat">Push the small phallic machine away</span> <<radiobutton "$feetaction" "anal_push">></label> <</if>> <</if>> <</if>> <<if $feetactiondefault is "rest">> | <label>Rest <<radiobutton "$feetaction" "rest" checked>></label> <<else>> | <label>Rest <<radiobutton "$feetaction" "rest">></label> <</if>> <<elseif $feetuse is "mechgrappled">> <br> Your legs are chained. <br> <<if $machine.leg_chains>> <<if $machine.leg_chains.use isnot "inert" and $machine.leg_chains.use isnot "destroyed">> <<if $feetactiondefault is "chain_struggle">> | <label><span class="def">Pull against the chains</span> <<radiobutton "$feetaction" "chain_struggle" checked>></label> <<else>> | <label><span class="def">Pull against the chains</span> <<radiobutton "$feetaction" "chain_struggle">></label> <</if>> <</if>> <</if>> <<if $feetactiondefault is "rest">> | <label>Rest <<radiobutton "$feetaction" "rest" checked>></label> <<else>> | <label>Rest <<radiobutton "$feetaction" "rest">></label> <</if>> <</if>> <</if>> <br><br> <<setupMidOrgasm>> <</widget>><<widget "machine_effects">> <<pain -0.25>> <<if $trance gte 1 or $dissociation gte 2>> <<if $position is "stalk">> You wander in a daze, unaware of your surroundings. <<else>> You stare straight ahead, your body passive and compliant. <</if>> <</if>> <<if $underwater is 1>> <<set $underwatertime += 1>> <<if $underwatertime lte 5>> You are underwater, and cannot speak. <<elseif $underwatertime lte 10>> <span class="blue">You are underwater, and cannot breathe.</span> <<gstress>><<stress 1>> <<elseif $underwatertime lte 15>> <span class="purple">You are underwater, and cannot breathe.</span> <<gstress>><<stress 2>> <<elseif $underwatertime lte 20>> <span class="pink">You are underwater, and cannot breathe.</span> <<gtrauma>><<gstress>><<stress 4>><<trauma 2>> <<else>> <span class="red">You are suffocating beneath the water.</span> <<pain 20 1>><<gtrauma>><<gstress>><<gpain>><<stress 6>><<trauma 4>> <br><br> <</if>> <</if>> <<effectspain>> <<effectsorgasm>> <<effectsdissociation>> <<if $leftaction is "rest">> <<set $leftactiondefault to "rest">><<set $leftaction to 0>> <</if>> <<if $rightaction is "rest">> <<set $rightactiondefault to "rest">><<set $rightaction to 0>> <</if>> <<if $leftaction is "chain_struggle" and $rightaction is "chain_struggle">> <<set $leftaction to 0>><<set $leftactiondefault to "chain_struggle">><<set $rightaction to 0>><<set $rightactiondefault to "chain_struggle">> <<defiance 5>><<set $machine.arm_chains.health -= 2>> You pull both arms against the chains. You feel something give, but they tighten in response. <br> <<elseif $leftaction is "chain_struggle">> <<set $leftaction to 0>><<set $leftactiondefault to "chain_struggle">> You pull against the chains with your left arm. You feel something give, but they tighten in response. <br> <<elseif $rightaction is "chain_struggle">> <<set $rightaction to 0>><<set $rightactiondefault to "chain_struggle">> You pull against the chains with your right arm. You feel something give, but they tighten in response. <br> <</if>> <<if $leftaction is "whack" and $rightaction is "whack">> <<set $leftactiondefault to "whack">><<set $leftaction to 0>><<set $rightactiondefault to "whack">><<set $rightaction to 0>> <<defiance 10>><<set $machine.tattoo.health -= 2>><<machine_violent_arms>> <<if $machine.tattoo.use isnot "ready">> You whack the tattoo gun with both hands, <span class="lblue">knocking it away from you.</span> <<set $machine.tattoo.use to "ready">> <<set $machine.tattoo.state to "ready">> <<else>> You whack the tattoo gun with both hands. <</if>> <<set $attackstat += 2>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the metal.</span><<set $machine.tattoo.health -= 2>> <</if>> <br> <<elseif $leftaction is "whack">> <<set $leftactiondefault to "whack">><<set $leftaction to 0>> <<defiance 5>><<set $machine.tattoo.health -= 1>><<machine_violent_arms>> <<if $machine.tattoo.use isnot "ready">> You whack the tattoo gun, <span class="lblue">knocking it away from you.</span> <<set $machine.tattoo.use to "ready">> <<set $machine.tattoo.state to "ready">> <<else>> You whack the tattoo gun. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the metal.</span><<set $machine.tattoo.health -= 1>> <</if>> <br> <<elseif $rightaction is "whack">> <<set $rightactiondefault to "whack">><<set $rightaction to 0>> <<defiance 5>><<set $machine.tattoo.health -= 1>><<machine_violent_arms>> <<if $machine.tattoo.use isnot "ready">> You whack the tattoo gun, <span class="lblue">knocking it away from you.</span> <<set $machine.tattoo.use to "ready">> <<set $machine.tattoo.state to "ready">> <<else>> You whack the tattoo gun. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the metal.</span><<set $machine.tattoo.health -= 1>> <</if>> <br> <</if>> <<if $leftaction is "vaginal_whack" and $rightaction is "vaginal_whack">> <<set $leftactiondefault to "vaginal_whack">><<set $leftaction to 0>><<set $rightactiondefault to "vaginal_whack">><<set $rightaction to 0>> <<defiance 10>><<set $machine.vaginal.health -= 2>><<machine_violent_arms>> <<if $machine.vaginal.use isnot "ready" and currentSkillValue('physique') gte random(1, 40000)>> You whack the phallic machine with both hands, <span class="lblue">knocking it away from you.</span> <<set $machine.vaginal.use to "ready">> <<set $machine.vaginal.state to "ready">> <<else>> You whack the phallic machine with both hands. <</if>> <<set $attackstat += 2>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the silicone.</span><<set $machine.vaginal.health -= 2>> <</if>> <br> <<elseif $leftaction is "vaginal_whack">> <<set $leftactiondefault to "vaginal_whack">><<set $leftaction to 0>> <<defiance 5>><<set $machine.vaginal.health -= 1>><<machine_violent_arms>> <<if $machine.vaginal.use isnot "ready" and currentSkillValue('physique') gte random(1, 50000)>> You whack the phallic machine, <span class="lblue">knocking it away from you.</span> <<set $machine.vaginal.use to "ready">> <<set $machine.vaginal.state to "ready">> <<else>> You whack the phallic machine. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the silicone.</span><<set $machine.vaginal.health -= 1>> <</if>> <br> <<elseif $rightaction is "vaginal_whack">> <<set $rightactiondefault to "vaginal_whack">><<set $rightaction to 0>> <<defiance 5>><<set $machine.vaginal.health -= 1>><<machine_violent_arms>> <<if $machine.vaginal.use isnot "ready" and currentSkillValue('physique') gte random(1, 50000)>> You whack the phallic machine, <span class="lblue">knocking it away from you.</span> <<set $machine.vaginal.use to "ready">> <<set $machine.vaginal.state to "ready">> <<else>> You whack the phallic machine. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the metal.</span><<set $machine.vaginal.health -= 1>> <</if>> <br> <</if>> <<if $leftaction is "vaginal_push" and $rightaction is "vaginal_push">> <<set $leftaction to 0>><<set $leftactiondefault to "vaginal_push">><<set $rightaction to 0>><<set $rightactiondefault to "vaginal_push">> <<brat 5>><<machine_violent_arms>> <<if random(1, 3) is 3>> <<set $machine.vaginal.health -= 1>> <</if>> <<if $machine.vaginal.state is "penetrated">> You try to push the phallic machine away with both hands, <span class="pink">but its hammering is too ferocious.</span> <<elseif $machine.vaginal.state is "imminent">> <<set $machine.vaginal.state to "ready">> <<set $machine.vaginal.use to "ready">> <<set $vaginastate to 0>><<set $vaginause to 0>> You push the phallic machine with both hands, <span class="teal">forcing it away from your <<pussy>>.</span> <<elseif $machine.vaginal.state is "entrance">> <<set $machine.vaginal.state to "ready">> <<set $machine.vaginal.use to "ready">> <<set $vaginastate to 0>><<set $vaginause to 0>> You push the phallic machine with both hands, <span class="lblue">forcing it away from your <<pussy>>.</span> <<else>> You push the phallic machine with both hands, trying to keep it away from your <<pussy>>. <</if>> <<elseif $leftaction is "vaginal_push">> <<set $leftaction to 0>><<set $leftactiondefault to "vaginal_push">> <<brat 5>><<machine_violent_arms>> <<if random(1, 6) is 6>> <<set $machine.vaginal.health -= 1>> <</if>> <<if $machine.vaginal.state is "penetrated">> You try to push the phallic machine away with your left hand, <span class="pink">but its hammering is too ferocious.</span> <<elseif $machine.vaginal.state is "imminent">> <<set $machine.vaginal.state to "entrance">> <<set $vaginastate to "entrance">> You push the phallic machine with your left hand, <span class="lblue">forcing it away from your <<pussy>>.</span> <<elseif $machine.vaginal.state is "entrance">> <<set $machine.vaginal.state to "ready">> <<set $machine.vaginal.use to "ready">> <<set $vaginause to 0>><<set $vaginastate to 0>> You push the phallic machine with your left hand, <span class="lblue">forcing it away from your <<pussy>>.</span> <<else>> You push the phallic machine with your left hand, trying to keep it away from your <<pussy>>. <</if>> <<elseif $rightaction is "vaginal_push">> <<set $rightaction to 0>><<set $rightactiondefault to "vaginal_push">> <<brat 5>><<machine_violent_arms>> <<if random(1, 6) is 6>> <<set $machine.vaginal.health -= 1>> <</if>> <<if $machine.vaginal.state is "penetrated">> You try to push the phallic machine away with your right hand, <span class="pink">but its hammering is too ferocious.</span> <<elseif $machine.vaginal.state is "imminent">> <<set $machine.vaginal.state to "entrance">> <<set $vaginastate to "entrance">> You push the phallic machine with your right hand, <span class="lblue">forcing it away from your <<pussy>>.</span> <<elseif $machine.vaginal.state is "entrance">> <<set $machine.vaginal.state to "ready">> <<set $machine.vaginal.use to "ready">> <<set $vaginause to 0>><<set $vaginastate to 0>> You push the phallic machine with your right hand, <span class="lblue">forcing it away from your <<pussy>>.</span> <<else>> You push the phallic machine with your right hand, trying to keep it away from your <<pussy>>. <</if>> <</if>> <<if $leftaction is "anal_whack" and $rightaction is "anal_whack">> <<set $leftactiondefault to "anal_whack">><<set $leftaction to 0>><<set $rightactiondefault to "anal_whack">><<set $rightaction to 0>> <<defiance 10>><<set $machine.anal.health -= 2>><<machine_violent_arms>> <<if $machine.anal.use isnot "ready" and currentSkillValue('physique') gte random(1, 40000)>> You whack the small phallic machine with both hands, <span class="lblue">knocking it away from you.</span> <<set $machine.anal.use to "ready">> <<set $machine.anal.state to "ready">> <<else>> You whack the small phallic machine with both hands. <</if>> <<set $attackstat += 2>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the silicone.</span><<set $machine.anal.health -= 2>> <</if>> <br> <<elseif $leftaction is "anal_whack">> <<set $leftactiondefault to "anal_whack">><<set $leftaction to 0>> <<defiance 5>><<set $machine.anal.health -= 1>><<machine_violent_arms>> <<if $machine.anal.use isnot "ready" and currentSkillValue('physique') gte random(1, 50000)>> You whack the small phallic machine, <span class="lblue">knocking it away from you.</span> <<set $machine.anal.use to "ready">> <<set $machine.anal.state to "ready">> <<else>> You whack the small phallic machine. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the silicone.</span><<set $machine.anal.health -= 1>> <</if>> <br> <<elseif $rightaction is "anal_whack">> <<set $rightactiondefault to "anal_whack">><<set $rightaction to 0>> <<defiance 5>><<set $machine.anal.health -= 1>><<machine_violent_arms>> <<if $machine.anal.use isnot "ready" and currentSkillValue('physique') gte random(1, 50000)>> You whack the small phallic machine, <span class="lblue">knocking it away from you.</span> <<set $machine.anal.use to "ready">> <<set $machine.anal.state to "ready">> <<else>> You whack the small phallic machine. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the metal.</span><<set $machine.anal.health -= 1>> <</if>> <br> <</if>> <<if $leftaction is "anal_push" and $rightaction is "anal_push">> <<set $leftaction to 0>><<set $leftactiondefault to "anal_push">><<set $rightaction to 0>><<set $rightactiondefault to "anal_push">> <<brat 5>><<machine_violent_arms>> <<if random(1, 3) is 3>> <<set $machine.anal.health -= 1>> <</if>> <<if $machine.anal.state is "penetrated">> You try to push the small phallic machine away with both hands, <span class="pink">but its hammering is too ferocious.</span> <<elseif $machine.anal.state is "imminent">> <<set $machine.anal.state to "ready">> <<set $machine.anal.use to "ready">> <<set $anusstate to 0>><<set $anususe to 0>> You push the small phallic machine with both hands, <span class="teal">forcing it away from your <<bottom>>.</span> <<elseif $machine.anal.state is "entrance">> <<set $machine.anal.state to "ready">> <<set $machine.anal.use to "ready">> <<set $anusstate to 0>><<set $anususe to 0>> You push the small phallic machine with both hands, <span class="lblue">forcing it away from your <<bottom>>.</span> <<else>> You push the small phallic machine with both hands, trying to keep it away from your <<bottom>>. <</if>> <<elseif $leftaction is "anal_push">> <<set $leftaction to 0>><<set $leftactiondefault to "anal_push">> <<brat 5>><<machine_violent_arms>> <<if random(1, 6) is 6>> <<set $machine.anal.health -= 1>> <</if>> <<if $machine.anal.state is "penetrated">> You try to push the small phallic machine away with your left hand, <span class="pink">but its hammering is too ferocious.</span> <<elseif $machine.anal.state is "imminent">> <<set $machine.anal.state to "entrance">> <<set $anusstate to "entrance">> You push the small phallic machine with your left hand, <span class="lblue">forcing it away from your <<bottom>>.</span> <<elseif $machine.anal.state is "entrance">> <<set $machine.anal.state to "ready">> <<set $machine.anal.use to "ready">> <<set $anususe to 0>><<set $anusstate to 0>> You push the small phallic machine with your left hand, <span class="lblue">forcing it away from your <<bottom>>.</span> <<else>> You push the small phallic machine with your left hand, trying to keep it away from your <<bottom>>. <</if>> <<elseif $rightaction is "anal_push">> <<set $rightaction to 0>><<set $rightactiondefault to "anal_push">> <<brat 5>><<machine_violent_arms>> <<if random(1, 6) is 6>> <<set $machine.anal.health -= 1>> <</if>> <<if $machine.anal.state is "penetrated">> You try to push the small phallic machine away with your right hand, <span class="pink">but its hammering is too ferocious.</span> <<elseif $machine.anal.state is "imminent">> <<set $machine.anal.state to "entrance">> <<set $anusstate to "entrance">> You push the small phallic machine with your right hand, <span class="lblue">forcing it away from your <<bottom>>.</span> <<elseif $machine.anal.state is "entrance">> <<set $machine.anal.state to "ready">> <<set $machine.anal.use to "ready">> <<set $anususe to 0>><<set $anusstate to 0>> You push the small phallic machine with your right hand, <span class="lblue">forcing it away from your <<bottom>>.</span> <<else>> You push the small phallic machine with your right hand, trying to keep it away from your <<bottom>>. <</if>> <</if>> <<if $feetaction is "rest">> <<set $feetaction to "rest">><<set $feetactiondefault to "rest">> <</if>> <<if $feetaction is "chain_struggle">> <<set $feetaction to 0>><<set $feetactiondefault to "chain_struggle">> <<defiance 5>><<set $machine.leg_chains.health -= 1>> You pull against the chains holding your legs. You feel something give, but they tighten in response. <br> <</if>> <<if $feetaction is "whack">> <<set $feetactiondefault to "whack">><<set $feetaction to 0>> <<defiance 5>><<set $machine.tattoo.health -= 1>><<machine_violent_legs>> <<if $machine.tattoo.use isnot "ready">> You kick the tattoo gun, <span class="lblue">knocking it away from you.</span> <<set $machine.tattoo.use to "ready">> <<set $machine.tattoo.state to "ready">> <<else>> You kick the tattoo gun. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the metal.</span><<set $machine.tattoo.health -= 1>> <</if>> <br> <</if>> <<if $feetaction is "vaginal_whack">> <<set $feetactiondefault to "vaginal_whack">><<set $feetaction to 0>> <<defiance 5>><<set $machine.vaginal.health -= 1>><<machine_violent_legs>> <<if random(1, 6) is 6>> <<set $machine.vaginal.health -= 1>> <</if>> <<if $machine.vaginal.use isnot "ready" and currentSkillValue('physique') gte random(1, 50000)>> You kick the phallic machine, <span class="lblue">knocking it away from you.</span> <<set $machine.vaginal.use to "ready">> <<set $machine.vaginal.state to "ready">> <<else>> You kick the phallic machine. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the silicone.</span><<set $machine.vaginal.health -= 1>> <</if>> <br> <</if>> <<if $feetaction is "vaginal_push">> <<set $feetaction to 0>><<set $feetactiondefault to "vaginal_push">> <<brat 5>><<machine_violent_legs>> <<if $machine.vaginal.state is "penetrated">> You try to push the phallic machine away with your feet, <span class="pink">but it doesn't relent.</span> <<elseif $machine.vaginal.state is "imminent">> <<set $machine.vaginal.state to "entrance">> <<set $vaginastate to "entrance">> You push the phallic machine with your feet, <span class="lblue">forcing it away from your <<pussy>>.</span> <<elseif $machine.vaginal.state is "entrance">> <<set $machine.vaginal.state to "ready">> <<set $machine.vaginal.use to "ready">> <<set $vaginause to 0>><<set $vaginastate to 0>> You push the phallic machine with your feet, <span class="lblue">forcing it away from your <<pussy>>.</span> <<else>> You push the phallic machine with your feet, trying to keep it away from your <<pussy>>. <</if>> <br> <</if>> <<if $feetaction is "anal_whack">> <<set $feetactiondefault to "anal_whack">><<set $feetaction to 0>> <<defiance 5>><<set $machine.anal.health -= 1>><<machine_violent_legs>> <<if random(1, 6) is 6>> <<set $machine.anal.health -= 1>> <</if>> <<if $machine.anal.use isnot "ready" and currentSkillValue('physique') gte random(1, 50000)>> You kick the small phallic machine, <span class="lblue">knocking it away from you.</span> <<set $machine.anal.use to "ready">> <<set $machine.anal.state to "ready">> <<else>> You kick the small phallic machine. <</if>> <<set $attackstat += 1>> <<if currentSkillValue('physique') gte random(1, $physiquemax)>> <span class="teal">You feel something snap behind the silicone.</span><<set $machine.anal.health -= 1>> <</if>> <br> <</if>> <<if $feetaction is "anal_push">> <<set $feetaction to 0>><<set $feetactiondefault to "anal_push">> <<brat 5>><<machine_violent_legs>> <<if $machine.anal.state is "penetrated">> You try to push the small phallic machine away with your feet, <span class="pink">but it continues to hammer your <<bottom>>.</span> <<elseif $machine.anal.state is "imminent">> <<set $machine.anal.state to "entrance">> <<set $anusstate to "entrance">> You push the small phallic machine with your feet, <span class="lblue">forcing it away from your <<bottom>>.</span> <<elseif $machine.anal.state is "entrance">> <<set $machine.anal.state to "ready">> <<set $machine.anal.use to "ready">> <<set $anususe to 0>><<set $anusstate to 0>> You push the small phallic machine with your feet, <span class="lblue">forcing it away from your <<bottom>>.</span> <<else>> You push the small phallic machine with your feet, trying to keep it away from your <<bottom>>. <</if>> <br> <</if>> <<if $machine.tattoo>> <<if $machine.tattoo.health lte 0 and $machine.tattoo.use isnot "destroyed">> <<set $machine.number -= 1>> <<set $machine_stat += 1>> <<set $machine.tattoo.use to "destroyed">> <<set $machine.tattoo.state to "destroyed">> Sparks fly, and the tattoo gun <span class="green">shudders to a halt.</span> <br> <</if>> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.health lte 0 and $machine.vaginal.use isnot "destroyed">> <<set $machine.number -= 1>> <<set $machine_stat += 1>> <<set $machine.vaginal.use to "destroyed">> <<set $machine.vaginal.state to "destroyed">> Sparks fly, and the phallic machine <span class="green">shudders to a halt.</span> <br> <<machine_vaginal_disable>> <</if>> <</if>> <<if $machine.anal>> <<if $machine.anal.health lte 0 and $machine.anal.use isnot "destroyed">> <<set $machine.number -= 1>> <<set $machine_stat += 1>> <<set $machine.anal.use to "destroyed">> <<set $machine.anal.state to "destroyed">> Sparks fly, and the small phallic machine <span class="green">shudders to a halt.</span> <br> <<machine_anal_disable>> <</if>> <</if>> <<if $machine.arm_chains>> <<if $machine.arm_chains.health lte 0 and $machine.arm_chains.use isnot "destroyed">> <<set $machine_stat += 1>> <<set $machine.arm_chains.use to "destroyed">> <<set $machine.arm_chains.state to "destroyed">> Sparks fly from the rails above, <span class="green">and the chains holding your arms slacken.</span> <br> <<machine_arm_chains_disable>> <</if>> <</if>> <<if $machine.leg_chains>> <<if $machine.leg_chains.health lte 0 and $machine.leg_chains.use isnot "destroyed">> <<set $machine_stat += 1>> <<set $machine.leg_chains.use to "destroyed">> <<set $machine.leg_chains.state to "destroyed">> Sparks fly from the rails above, <span class="green">and the chains holding your legs slacken.</span> <br> <<machine_leg_chains_disable>> <</if>> <</if>> <</widget>> <<widget "machine_violent_arms">> <<set _machine_arms to 1>> <</widget>> <<widget "machine_violent_legs">> <<set _machine_legs to 1>> <</widget>><<widget "machine_init">> <<combatinit>> <<set $enemytype to "machine">> <<set $machine to {}>> <<set $machine.number to 0>> <<set $machine.speed to 2>> <<for _i = 0; _i < _args.length; _i++>> <<set $machine[_args[_i]] to {}>> <<set $machine[_args[_i]].health to $machine_health>> <<set $machine[_args[_i]].ammo to $machine_ammo>> <<set $machine[_args[_i]].hack to 0>> <<set $machine[_args[_i]].state to "ready">> <<set $machine[_args[_i]].use to "ready">> <<if _args[_i] isnot "arm_chains" and _args[_i] isnot "leg_chains">> <<set $machine.number += 1>> <</if>> <</for>> <<set $leftactiondefault to "rest">> <<set $rightactiondefault to "rest">> <<set $feetactiondefault to "rest">> <</widget>> <<widget "machine_damage">> <<if $machine[_args[0]].health gte $machine_health>> <span class="red">sturdy</span> <<elseif $machine[_args[0]].health gte ($machine_health * 0.8)>> <span class="pink">dented</span> <<elseif $machine[_args[0]].health gte ($machine_health * 0.6)>> <span class="purple">dented</span> <<elseif $machine[_args[0]].health gte ($machine_health * 0.4)>> <span class="blue">fractured</span> <<elseif $machine[_args[0]].health gte ($machine_health * 0.2)>> <span class="lblue">cracked</span> <<elseif $machine[_args[0]].health gte ($machine_health * 0.1)>> <span class="teal">cracked</span> <<else>> <span class="green">ruined</span> <</if>> <</widget>> <<widget "machine_end">> <<unset $machine>> <<unset $machine_health>> <<unset $machine_ammo>> <<endcombat>> <</widget>> <<widget "machine_combat">> <<if $machine.tattoo>> <<switch $machine.tattoo.state>> <<case "ready">> <<if $position is "doggy">> <<set _machine_selection to random(1, 5)>> <<if _machine_selection is 1 and $machine.tattoo.back isnot 1>> <<set _machine_choice to "back">> <<elseif _machine_selection is 2 and $machine.tattoo.left_shoulder isnot 1>> <<set _machine_choice to "left_shoulder">> <<elseif _machine_selection is 3 and $machine.tattoo.left_cheek isnot 1>> <<set _machine_choice to "left_cheek">> <<elseif _machine_selection is 4 and $machine.tattoo.left_bottom isnot 1>> <<set _machine_choice to "left_bottom">> <<elseif $machine.tattoo.hack gte 3>> <<set $machine.tattoo.use to "inert">> <<set $machine.tattoo.state to "inert">> <<set $machine.number -= 1>> <<set $machine_stat += 1>> The tattoo gun darts around your body, <span class="green">before falling inert.</span> <<else>> <<set _machine_choice to "hover">> <<set $machine.tattoo.hack += 1>> The tattoo gun points to each of your body parts in turn, as if making a decision. <</if>> <<else>> <<set _machine_selection to random(1, 8)>> <<if _machine_selection is 1 and $machine.tattoo.breasts isnot 1>> <<set _machine_choice to "breasts">> <<elseif _machine_selection is 2 and $machine.tattoo.forehead isnot 1>> <<set _machine_choice to "forehead">> <<elseif _machine_selection is 3 and $machine.tattoo.left_thigh isnot 1>> <<set _machine_choice to "left_thigh">> <<elseif _machine_selection is 4 and $machine.tattoo.pubic isnot 1>> <<set _machine_choice to "pubic">> <<elseif _machine_selection is 5 and $machine.tattoo.right_bottom isnot 1>> <<set _machine_choice to "right_bottom">> <<elseif _machine_selection is 6 and $machine.tattoo.right_cheek isnot 1>> <<set _machine_choice to "right_cheek">> <<elseif _machine_selection is 7 and $machine.tattoo.right_shoulder isnot 1>> <<set _machine_choice to "right_shoulder">> <<elseif _machine_selection is 8 and $machine.tattoo.right_thigh isnot 1>> <<set _machine_choice to "right_thigh">> <<else>> <<set _machine_choice to "hover">> <<set $machine.tattoo.hack += 1>> The <<machine_damage tattoo>> tattoo gun points to each of your body parts in turn, as if making a decision. <</if>> <</if>> <<if _machine_choice isnot "hover" and $machine.tattoo.use isnot "destroyed" and $machine.tattoo.use isnot "inert">> Accompanied by a whirring sound, <span class="purple">the <<machine_damage tattoo>> tattoo gun hovers over your <<bodypart _machine_choice>>.</span> <<set $machine.tattoo.use to _machine_choice>> <<set $machine.tattoo.state to "entrance">> <</if>> <<case "destroyed">> The tattoo gun twitches, <span class="green">but remains disabled.</span> <<case "inert">> The tattoo gun <span class="green">remains motionless.</span> <<case "entrance">> <<if !$skin[$machine.tattoo.use].pen>> The <<machine_damage tattoo>> tattoo gun presses against your <<bodypart $machine.tattoo.use>>. <span class="pink">The whirring intensifies as it prepares to write.</span><<gstress>><<stress 6>> <<set $machine.tattoo.state to "imminent">> <<elseif $machine.tattoo.armed is 1>> The <<machine_damage tattoo>> tattoo gun beeps as a red light scans your skin. <span class="purple">A canister opens on its underside.</span> <<set $machine.tattoo.state to "foam">> <<else>> The <<machine_damage tattoo>> tattoo gun presses against your <<bodypart $machine.tattoo.use>>, <span class="lblue">but then withdraws.</span> A red light runs over your skin, and the gun moves away. <<set $machine.tattoo[$machine.tattoo.use] to 1>> <<set $machine.tattoo.use to "ready">> <<set $machine.tattoo.state to "ready">> <<set $machine.tattoo.hack += 1>> <</if>> <<case "imminent">> <span class="red">The <<machine_damage tattoo>> tattoo gun writes on your <<bodypart $machine.tattoo.use>>: <<bodywriting_machine $machine.tattoo.use>></span><<ggpain>><<ggtrauma>><<ggstress>><<trauma 18>><<stress 18>><<pain 8>> <br><br> <<set $machine.tattoo[$machine.tattoo.use] to 1>> <<set $machine.tattoo.ammo -= 1>> <<set $machine_tattoo_success to true>>/*Just controls NPC response following encounter in underground dungeon.*/ <<if $machine.tattoo.ammo gte 1>> The <<machine_damage tattoo>> tattoo gun pulls away, but remains primed. <<set $machine.tattoo.use to "ready">> <<set $machine.tattoo.state to "ready">> <<else>> The <<machine_damage tattoo>> tattoo gun pulls away, <span class="green">and falls inert.</span> <<set $machine.tattoo.use to "inert">> <<set $machine.tattoo.state to "inert">> <<set $machine.number -= 1>> <<set $machine_stat += 1>> <</if>> <<case "foam">> <span class="pink">The <<machine_damage tattoo>> tattoo gun sprays a pink foam over your <<bodypart $machine.tattoo.use>>.</span> <<if $skin[$machine.tattoo.use] and $skin[$machine.tattoo.use].pen and ["brand", "magic"].includes($skin[$machine.tattoo.use].pen)>> <span class="blue">Nothing happens to your <<tattoo $machine.tattoo.use>> as the foam clears.</span> The <<machine_damage tattoo>> tattoo gun pulls away. <<set $machine.tattoo.use to "ready">> <<set $machine.tattoo.state to "ready">> <<set $machine.tattoo.ammo -= 1>> <<else>> <<bodywriting_clear $machine.tattoo.use>> <br><br> The <<machine_damage tattoo>> tattoo gun presses against your <<bodypart $machine.tattoo.use>>. <span class="pink">The whirring intensifies as it prepares to write.</span> <<set $machine.tattoo.state to "imminent">> <</if>> <</switch>> <br> <</if>> <<if $machine.vaginal>> <<if $machine.vaginal.ammo lte 0 and $machine.vaginal.state isnot "inert" and $machine.vaginal.state isnot "destroyed">> <<if $machine.vaginal.state is "penetrated">> The <<machine_damage vaginal>> phallic machine withdraws from your <<pussy>> with a plop, <span class="green">and shudders to a halt.</span> <<elseif $machine.vaginal.state is "imminent" or $machine.vaginal.state is "entrance">> The <<machine_damage vaginal>> phallic machine stops menacing you <<pussy>>, <span class="green">and shudders to a halt</span>. <<else>> <span class="green">The <<machine_damage vaginal>> phallic machine shudders to a halt.</span> <</if>> <<set $machine.vaginal.use to "inert">> <<set $machine.vaginal.state to "inert">> <<set $machine.number -= 1>> <<machine_vaginal_disable>> <<else>> <<switch $machine.vaginal.state>> <<case "ready">> The <<machine_damage vaginal>> phallic machine <span class="purple">prods your <<pussy>>.</span> <<neutral 5 "genitals">> <<set $vaginause to "machine">><<set $vaginastate to "entrance">><<set $machine.vaginal.use to "vagina">><<set $machine.vaginal.state to "entrance">> <<case "entrance">> <<if $worn.over_lower.exposed lte 1>> <<if $machine.vaginal.armed is 1>> A canister atop the <<machine_damage vaginal>> phallic machine opens, and sprays a pink foam over your $worn.over_lower.name, <span class="purple">dissolving it.</span> <<set $worn.over_lower.integrity -= 100>> <<else>> The <<machine_damage vaginal>> phallic machine tries to push through your $worn.over_lower.name, tearing the fabric. <<set $worn.over_lower.integrity -= 20>> <</if>> <<elseif $worn.lower.exposed lte 1>> <<if $machine.vaginal.armed is 1>> A canister atop the <<machine_damage vaginal>> phallic machine opens, and sprays a pink foam over your $worn.lower.name, <span class="purple">dissolving it.</span> <<set $worn.lower.integrity -= 100>> <<else>> The <<machine_damage vaginal>> phallic machine tries to push through your $worn.lower.name, tearing the fabric. <<set $worn.lower.integrity -= 20>> <</if>> <<elseif $worn.under_lower.exposed lte 0>> <<if $machine.vaginal.armed is 1>> A canister atop the <<machine_damage vaginal>> phallic machine opens, and sprays a pink foam over your $worn.under_lower.name, <span class="purple">dissolving the fabric.</span> <<set $worn.under_lower.integrity -= 100>> <<else>> The <<machine_damage vaginal>> phallic machine tries to push through your $worn.under_lower.name, tearing the fabric. <<set $worn.under_lower.integrity -= 20>> <</if>> <<elseif playerChastity("vagina")>> <<if $machine.vaginal.armed is 1>> A canister atop the <<machine_damage vaginal>> phallic machine opens, and sprays a pink foam over your $worn.genitals.name, <span class="purple">dissolving the <<= setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage || "material">>.</span> <<set $worn.genitals.integrity -= 100>> <<else>> The <<machine_damage vaginal>> phallic machine tries to push through your $worn.genitals.name, tearing the fabric. <<set $worn.genitals.integrity -= 20>> <</if>> <<else>> The <<machine_damage vaginal>> phallic machine pushes against your <<pussy>>, <span class="pink">about to penetrate.</span> <<sex 5 "genitals">> <<set $vaginastate to "imminent">><<set $machine.vaginal.state to "imminent">> <</if>> <<case "imminent">> <<if $player.virginity.vaginal isnot true>> <<sex 30 "genitals">> <<violence 1>> <<set $vaginastate to "penetrated">><<set $machine.vaginal.state to "penetrated">><<vaginalstat>><<bruise vagina>><<violence 1>><<raped>><<vaginaraped>> <span class="pink">The <<machine_damage vaginal>> phallic machine thrusts into your <<pussy>>.</span> <<else>> <<sex 100 "genitals">> <<bruise vagina>><<vaginalstat>><<raped>><<vaginaraped>> <<set $vaginastate to "penetrated">><<set $machine.vaginal.state to "penetrated">> <span class="red">The <<machine_damage vaginal>> phallic machine thrusts 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>> <<else>> breaking your hymen and forever robbing you of your purity.<<violence 25>> <</if>> </span> <</if>> <<takeVirginity "sex machine" "vaginal">> <<case "penetrated">> <<if $machine.speed is 3>> <<switch random(1,5)>> <<case 1>> The <<machine_damage vaginal>> phallic machine fucks your <<pussy>> with irregular thrusts, catching you off guard. <<case 2>> The <<machine_damage vaginal>> phallic machine seems to inflate inside your <<pussy>>, stretching you out. <<case 3>> The <<machine_damage vaginal>> phallic machine fucks your <<pussy>> hard enough to send you lurching forward with each thrust. <<case 4>> The <<machine_damage vaginal>> phallic machine hammers deep into your <<pussy>>. <<case 5>> The <<machine_damage vaginal>> phallic machine pauses a moment, then <span class="purple">assaults your <<pussy>> with a blur of thrusts.</span> <<violence 10>><<gpain>> <</switch>> <<sex 20 "genitals">><<violence 10>> <<elseif $machine.speed is 2>> <<switch random(1,5)>> <<case 1>> The <<machine_damage vaginal>> phallic machine fucks your <<pussy>> with a mechanical rhythm. <<case 2>> The <<machine_damage vaginal>> phallic machine shifts between each thrust into your <<pussy>>. <<case 3>> The <<machine_damage vaginal>> phallic machine pounds your <<pussy>> with a mechanical rhythm. <<case 4>> The <<machine_damage vaginal>> phallic machine hammers your <<pussy>> faster than anything alive. <<case 5>> The <<machine_damage vaginal>> phallic machine pauses a moment, then <span class="purple">assaults your <<pussy>> with a blur of thrusts.</span> <<sex 30 "genitals">><<garousal>> <</switch>> <<sex 20 "genitals">> <<else>> <<switch random(1,5)>> <<case 1>> The <<machine_damage vaginal>> phallic machine fucks your <<pussy>> with a gentle rhythm. <<case 2>> The <<machine_damage vaginal>> phallic machine rubs against your <<pussy>>. <<case 3>> The <<machine_damage vaginal>> phallic machine slowly thrusts into your <<pussy>>. <<case 4>> The <<machine_damage vaginal>> phallic machine stops inside your <<pussy>> for a moment, before continuing. <<case 5>> The <<machine_damage vaginal>> phallic machine vibrates against the entrance to your <<pussy>> <</switch>> <</if>> <<sex 10 "genitals">><<bruise vagina>><<violence 1>> <<set $machine.vaginal.ammo -= 1>> <<case "destroyed">> The <<machine_damage vaginal>> phallic machine twitches, <span class="green">but remains immobile.</span> <<case "inert">> The <<machine_damage vaginal>> phallic machine <span class="green">remains inert.</span> <</switch>> <</if>> <br> <</if>> <<if $machine.anal>> <<if $machine.anal.ammo lte 0 and $machine.anal.state isnot "inert" and $machine.anal.state isnot "destroyed">> <<if $machine.anal.state is "penetrated">> The <<machine_damage anal>> small phallic machine withdraws from your <<bottom>> with a plop, <span class="green">and shudders to a halt.</span> <<elseif $machine.anal.state is "imminent" or $machine.anal.state is "entrance">> The <<machine_damage anal>> small phallic machine stops menacing you <<bottom>>, <span class="green">and shudders to a halt</span>. <<else>> <span class="green">The <<machine_damage anal>> small phallic machine shudders to a halt.</span> <</if>> <<set $machine.anal.use to "inert">> <<set $machine.anal.state to "inert">> <<set $machine.number -= 1>> <<machine_anal_disable>> <<else>> <<switch $machine.anal.state>> <<case "ready">> The <<machine_damage anal>> small phallic machine <span class="purple">prods your <<bottom>>.</span> <<neutral 5 "anus">> <<set $anususe to "machine">><<set $anusstate to "entrance">><<set $machine.anal.use to "anus">><<set $machine.anal.state to "entrance">> <<case "entrance">> <<if $worn.over_lower.exposed lte 1>> <<if $machine.anal.armed is 1>> A canister atop the <<machine_damage anal>> small phallic machine opens, and sprays a pink foam over your $worn.over_lower.name, <span class="purple">dissolving it.</span> <<set $worn.over_lower.integrity -= 100>> <<else>> The <<machine_damage anal>> small phallic machine tries to push through your $worn.over_lower.name, tearing the fabric. <<set $worn.over_lower.integrity -= 20>> <</if>> <<elseif $worn.lower.exposed lte 1>> <<if $machine.anal.armed is 1>> A canister atop the <<machine_damage anal>> small phallic machine opens, and sprays a pink foam over your $worn.lower.name, <span class="purple">dissolving it.</span> <<set $worn.lower.integrity -= 100>> <<else>> The <<machine_damage anal>> small phallic machine tries to push through your $worn.lower.name, tearing the fabric. <<set $worn.lower.integrity -= 20>> <</if>> <<elseif $worn.under_lower.exposed lte 0>> <<if $machine.anal.armed is 1>> A canister atop the <<machine_damage anal>> small phallic machine opens, and sprays a pink foam over your $worn.under_lower.name, <span class="purple">dissolving the fabric.</span> <<set $worn.under_lower.integrity -= 100>> <<else>> The <<machine_damage anal>> small phallic machine tries to push through your $worn.under_lower.name, tearing the fabric.<<set $worn.under_lower.integrity -= 20>> <</if>> <<elseif playerChastity("anus")>> <<if $machine.anal.armed is 1>> A canister atop the <<machine_damage anal>> small phallic machine opens, and sprays a pink foam over your $worn.genitals.name, <span class="purple">dissolving the <<= setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage || "material">>.</span> <<set $worn.genitals.integrity -= 100>> <<else>> The <<machine_damage anal>> small phallic machine tries to push through your $worn.genitals.name, tearing the fabric. <<set $worn.genitals.integrity -= 20>> <</if>> <<else>> The <<machine_damage anal>> small phallic machine pushes against your <<bottom>>, <span class="pink">about to penetrate.</span> <<sex 5 "anus">> <<set $anusstate to "imminent">><<set $machine.anal.state to "imminent">> <</if>> <<case "imminent">> <<if $player.virginity.anal isnot true>> <<sex 30 "anus">> <<violence 1>> <<set $anusstate to "penetrated">><<set $machine.anal.state to "penetrated">><<analstat>><<bruise anus>><<violence 1>><<raped>><<anusraped>> <span class="pink">The <<machine_damage anal>> small phallic machine thrusts into your <<bottom>>.</span> <<else>> <<sex 100 "anus">> <<violence 25>> <<takeVirginity "sex machine" "anal">><<bruise anus>><<analstat>><<raped>><<anusraped>> <<set $anusstate to "penetrated">><<set $machine.anal.state to "penetrated">> <span class="red">The <<machine_damage anal>> small phallic machine thrusts into your virgin ass, violating you in a way you hadn't conceived of.</span> <</if>> <<case "penetrated">> <<if $machine.speed is 3>> <<switch random(1,5)>> <<case 1>> The <<machine_damage anal>> small phallic machine fucks your <<bottom>> with vicious speed. <<case 2>> The <<machine_damage anal>> small phallic machine slams into your <<bottom>>, hitting painfully deep each time. <<case 3>> The <<machine_damage anal>> small phallic machine is a blur as it thrusts into your <<bottom>> faster than anything living. <<case 4>> The <<machine_damage anal>> small phallic machine fucks your <<bottom>> fast enough to push you forward. <<case 5>> The <<machine_damage anal>> small phallic machine hilts itself inside your <<bottom>> and <span class="purple">begins to spin</span>, painfully drilling against the inside of your ass. <<violence 10>><<gpain>> <</switch>> <<sex 20 "anus">><<violence 10>> <<elseif $machine.speed is 2>> <<switch random(1,5)>> <<case 1>> The <<machine_damage anal>> small phallic machine fucks your <<bottom>> with a mechanical rhythm. <<case 2>> The <<machine_damage anal>> small phallic machine pounds your <<bottom>> with a mechanical rhythm. <<case 3>> The <<machine_damage anal>> small phallic machine is a blur as it fucks your <<bottom>> faster than anything living. <<case 4>> The <<machine_damage anal>> small phallic machine fucks your <<bottom>>, shifting between each thrust. <<case 5>> The <<machine_damage anal>> small phallic machine vibrates against your <<prostate>> at the end of each thrust into your <<bottom>>, <span class="purple">sending a tingling jolt through you.</span> <<sex 30 "anus">><<garousal>> <</switch>> <<sex 20 "anus">> <<else>> <<switch random(1,5)>> <<case 1>> The <<machine_damage anal>> small phallic machine fucks your <<bottom>> with a gentle rhythm. <<case 2>> The <<machine_damage anal>> small phallic machine pauses for a moment. <<case 3>> The <<machine_damage anal>> small phallic machine slowly thrusts in and out of your <<bottom>>. <<case 4>> The <<machine_damage anal>> small phallic machine fucks your <<bottom>> with a soft touch. <<case 5>> The <<machine_damage anal>> small phallic machine halts inside your <<bottom>> and begins to gently vibrate. <</switch>> <</if>> <<sex 10 "anus">><<bruise anus>><<violence 1>> <<set $machine.anal.ammo -= 1>> <<case "destroyed">> The <<machine_damage anal>> small phallic machine twitches, <span class="green">but remains immobile.</span> <<case "inert">> The <<machine_damage anal>> small phallic machine <span class="green">remains inert.</span> <</switch>> <</if>> <br> <</if>> <<if $machine.arm_chains>> <<if $machine.arm_chains.state is "ready">> <<if _machine_arms is 1>> The <<machine_damage arm_chains>> chains attached to your shackles retract, <span class="pink">lifting your arms into the air and immobilising them.</span> <<set $leftactiondefault to "chain_struggle">><<set $rightactiondefault to "chain_struggle">> <<set $machine.arm_chains.use to "grapple">> <<set $machine.arm_chains.state to "grapple">> <<if $leftarm isnot "bound">> <<set $leftarm to "mechgrappled">><<set $lefttarget to "machine">> <</if>> <<if $rightarm isnot "bound">> <<set $rightarm to "mechgrappled">><<set $righttarget to "machine">> <</if>> <<else>> The <<machine_damage arm_chains>> chains holding your arms resist your movements, <span class="lblue">but remain loose.</span> <</if>> <<elseif $machine.arm_chains.state is "recovering">> The <<machine_damage arm_chains>> chains holding your arms twitch, <span class="teal">but remain loose.</span> <<elseif $machine.arm_chains.state is "destroyed">> <span class="teal">The <<machine_damage arm_chains>> chains holding your arms remain loose.</span> <<elseif $machine.arm_chains.state is "inert">> <span class="teal">The <<machine_damage arm_chains>> chains holding your arms remain loose.</span> <</if>> <br> <</if>> <<if $machine.leg_chains>> <<if $machine.leg_chains.state is "ready">> <<if _machine_legs is 1>> The <<machine_damage leg_chains>> chains attached to your shackles retract, <span class="pink">pulling on your legs and immobilising them.</span> <<set $feetactiondefault to "chain_struggle">> <<set $feetuse to "mechgrappled">><<set $feettarget to "machine">> <<set $machine.leg_chains.use to "grapple">> <<set $machine.leg_chains.state to "grapple">> <<if $leftleg isnot "bound">> <<set $leftleg to "mechgrappled">> <</if>> <<if $rightleg isnot "bound">> <<set $rightleg to "mechgrappled">> <</if>> <<else>> The <<machine_damage leg_chains>> chains holding your legs resist your movements, <span class="lblue">but remain loose.</span> <</if>> <<elseif $machine.leg_chains.state is "recovering">> The <<machine_damage leg_chains>> chains holding your legs twitch, <span class="teal">but remain loose.</span> <<elseif $machine.leg_chains.state is "destroyed">> <span class="teal">The <<machine_damage leg_chains>> chains holding your legs remain loose.</span> <<elseif $machine.leg_chains.state is "inert">> <span class="teal">The <<machine_damage leg_chains>> chains holding your legs remain loose.</span> <</if>> <br> <</if>> <br> <</widget>> <<widget "machine_vaginal_disable">> <<if $vaginause is "machine">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <</if>> <</widget>> <<widget "machine_anal_disable">> <<if $anususe is "machine">> <<set $anususe to 0>> <<set $anusstate to 0>> <</if>> <</widget>> <<widget "machine_arm_chains_disable">> <<if $leftarm isnot "bound">> <<set $leftarm to 0>> <<set $leftactiondefault to "rest">> <</if>> <<if $rightarm isnot "bound">> <<set $rightarm to 0>> <<set $rightactiondefault to "rest">> <</if>> <</widget>> <<widget "machine_leg_chains_disable">> <<if $leftleg isnot "bound">> <<set $leftleg to 0>> <<set $feetuse to 0>> <<set $feetactiondefault to "rest">> <</if>> <<if $rightleg isnot "bound">> <<set $rightleg to 0>> <<set $feetuse to 0>> <<set $feetactiondefault to "rest">> <</if>> <</widget>> <<widget "machine_speed">> <<set $machine.speed to _args[0]>> <<if $robinMachineSpeed>> <<set $robinMachineSpeed to 4 - _args[0]>> <</if>> <</widget>><<widget "machine_state">> <<if $arousal gte $arousalmax and $orgasmdown lte 0>> <<orgasm>> <</if>> <<sexcheck>> <<animateCombat>> <</widget>><!-- GENERAL USE WIDGETS --> <!-- pass "left" or "right" for which NPC hand this is called for --> <<widget "combat-reset-hand">> <<if _args[0] is "both">> <<set $NPCList[_n].lefthand to 0>> <<set $NPCList[_n].righthand to 0>> <<else>> <<set $NPCList[_n][_args[0]+"hand"] to 0>> <</if>> <</widget>> <!-- pass "left" or "right" for which NPC tool this is called for --> <<widget "combat-reset-tool">> <<if _args[0] is "both">> <<set $NPCList[_n].lefttool to 0>> <<set $NPCList[_n].righttool to 0>> <<else>> <<set $NPCList[_n][_args[0]+"tool"] to 0>> <</if>> <</widget>> <!-- pass "left" or "right" for which NPC hand this is called for, and the name of the targeted PC body part --> <<widget "combat-set-hand-target">> <<set $NPCList[_n][_args[0]+"hand"] to _args[1]>> <</widget>> <<widget "combat-get-other-hand">> <<set $otherNPChand to (_args[0] is "left"? $NPCList[_n].righthand : $NPCList[_n].lefthand)>> <</widget>> <!-- SPECIFIC HAND ACTION WIDGETS --> <<widget "combat-spank">> <<bruise bottom>><<hitstat>><<set $speechspank to 1>> <<if $spankobject is "paddle">> <<He>> whacks your <<bottom>> with the paddle <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.anus_exposed is 0>> through your $worn.under_lower.name, <<else>> reddening your exposed skin and <</if>> <<elseif $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_lower.name, <<elseif $worn.lower.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.lower.name, <<elseif $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_lower.name, <<else>> reddening your exposed skin and <</if>> sending waves of pain through your whole body. <<bodypart_admire_chance random_bottom>> <<violence 10 1 1 1 _n>> <<elseif getSexToysofType("dildos and whips").includes($spankobject)>> <<He>> <<print either("spanks","whacks","slaps","smacks","thwacks")>> your <<bottom>> with the $spankobject, <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.anus_exposed is 0>> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<elseif $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_lower.name. <<elseif $worn.lower.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.lower.name. <<elseif $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<bodypart_admire_chance random_bottom>> <<violence 5 1 1 1 _n>> <<else>> <<He>> spanks your <<bottom>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.anus_exposed is 0>> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<elseif $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_lower.name. <<elseif $worn.lower.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.lower.name. <<elseif $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<bodypart_admire_chance random_bottom>> <<violence 5 1 1 1 _n>> <</if>> <</widget>> <<widget "combat-dildospank">> <<set $_hand to _args[0]>> <<set $_toy to ($_hand is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<bruise bottom>><<hitstat>><<set $speechspank to 1>> <<if npcHasSexToyOfType(_n,"dildo")>> <<if $NPCList[_n].location.genitals is "head" or $mouthuse is "facesit" or $mouthuse is "penis">> <<He>> <<print either("spanks","whacks","slaps","smacks","thwacks")>> your <<breasts>> with the $_toy in <<his>> $_hand hand, <<if $worn.over_upper.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_upper.name. <<elseif $worn.upper.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.upper.name. <<elseif $worn.under_upper.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_upper.name. <<else>> reddening your exposed skin. <</if>> <<else>> <<He>> <<print either("spanks","whacks","slaps","smacks","thwacks")>> your <<bottom>> with the $_toy in <<his>> $_hand hand, <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.anus_exposed is 0>> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<elseif $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_lower.name. <<elseif $worn.lower.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.lower.name. <<elseif $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<bodypart_admire_chance random_bottom>> <</if>> <<violence 5 1 1 1 _n>> <<elseif npcHasSexToyOfType(_n,"whip")>> <<if $NPCList[_n].location.genitals is "head" or $mouthuse is "facesit" or $mouthuse is "penis">> <<He>> <<print either("brutally","viciously","deftly","sadistically","maliciously")>> <<print either("spanks","whacks","slaps","smacks","thwacks")>> your <<breasts>> with the $_toy in <<his>> $_hand hand, <<if $worn.over_upper.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_upper.name. <<elseif $worn.upper.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.upper.name. <<elseif $worn.under_upper.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_upper.name. <<else>> reddening your exposed skin. <</if>> <<else>> <<He>> <<print either("brutally","viciously","deftly","sadistically","maliciously")>> <<print either("spanks","whacks","slaps","smacks","thwacks")>> your <<bottom>> with the $_toy in <<his>> $_hand hand, <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.anus_exposed is 0>> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<elseif $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_lower.name. <<elseif $worn.lower.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.lower.name. <<elseif $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <</if>> <<bodypart_admire_chance random_bottom>> <<violence 20 1 1 1 _n>> <<else>> <<He>> spanks your <<bottom>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.anus_exposed is 0>> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<elseif $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist">> through your $worn.over_lower.name. <<elseif $worn.lower.name isnot "naked" and $worn.lower.state is "waist">> through your $worn.lower.name. <<elseif $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist">> through your $worn.under_lower.name. <<else>> reddening your exposed skin. <</if>> <<bodypart_admire_chance random_bottom>> <<violence 2 1 1 1 _n>> <</if>> <</widget>> <!-- pass "left" or "right" for which NPC hand this is called for --> <<widget "combat-hand-on-arms">> <<if $enemytrust gte 20 and $enemyanger lte 20>> <span class="lblue"><<He>> releases your arms.</span> <<combat-reset-hand _args[0]>> <<set $leftarm to 0>><<set $rightarm to 0>> <<else>> <<He>> grips your arms. <<violence 6 1 1 1 _n>><<bruise leftarm>><<bruise rightarm>> <<bodypart_admire_chance random_shoulder>> <</if>> <</widget>> <!-- takes two args, both should be either "left" or "right". First is NPC hand, second is player arm. --> <<widget "combat-hand-on-one-arm">> <<if $enemytrust gte 20 and $enemyanger lte 20>> <span class="lblue"><<He>> releases your _args[1] arm.</span> <<combat-reset-hand _args[0]>> <<if _args[1] is "left">> <<set $leftarm to 0>> <<else>> <<set $rightarm to 0>> <</if>> <<else>> <<He>> grips your _args[1] arm. <<if _args[1] is "left">> <<violence 3 1 1 1 _n>><<bruise leftarm>> <<bodypart_admire_chance left_shoulder>> <<else>> <<violence 3 1 1 1 _n>><<bruise rightarm>> <<bodypart_admire_chance right_shoulder>> <</if>> <</if>> <</widget>> <<widget "combat-hand-on-vaginaentrance">> <<rng>> <<if $rng gte 101>> <span class="blue"><<He>> moves <<his>> _args[0] hand away from your <<pussy>>.</span> <<combat-reset-hand _args[0]>><<set $vaginause to 0>><<set $vaginastate to 0>> <<elseif $rng gte 61>> <<He>> <<strokes>> your labia. <<neutral 10 "genitals" _n>> <<bodypart_admire_chance pubic>> <<elseif ($rng gte 21 or $novaginal is 1) and (!$player.penisExist or random(1,100) gte 51)>> <<He>> gives your clitoris a tweak. <<set $speechclit to 1>><<neutral 10 "genitals" _n>> <<bodypart_admire_chance pubic>> <<elseif $rng gte 21 or $novaginal is 1>> <<He>> rubs the base of your <<penisSimple>> while toying with your pussy. <<neutral 10 "genitals" _n>><<set $speechfutapenis to 1>> <<bodypart_admire_chance pubic>> <<elseif $rng lte 20 and $novaginal is 0>> <span class="pink"><<He>> plunges a finger into your warm <<pussy>>.</span> <<neutral 15 "genitals" _n>> <<set $speechvagina to 1>><<set $vaginastate to "otherhand">> <<combat-set-hand-target _args[0] "vagina">> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <!-- pass "left" or "right" for which NPC hand this is called for --> <<widget "combat-hand-on-penisentrance">> <<rng>> <<if $rng gte 101>> <span class="blue"><<He>> moves <<his>> _args[0] hand away from your <<penis>>.</span> <<combat-reset-hand _args[0]>> <<set $penisuse to 0>><<set $penisstate to 0>> <<elseif $rng gte 51>> <<He>> <<strokes>> your shaft. <<neutral 10 "genitals" _n>> <<bodypart_admire_chance pubic>> <<elseif $rng gte 21>> <<He>> rubs your glans. <<neutral 10 "genitals" _n>><<set $speechglans to 1>> <<bodypart_admire_chance pubic>> <<elseif $rng lte 20>> <span class="pink"><<He>> wraps <<his>> fingers around your penis.</span> <<neutral 15 "genitals" _n>> <<set $speechpenis to 1>><<set $penisstate to "otherhand">> <<combat-set-hand-target _args[0] "penis">> <<bodypart_admire_chance pubic>> <</if>> <</widget>> /* Pass "left" or "right" for which NPC hand this is called for. Hands are 'inverted': NPC holds PC's left hand with their right one, and vice versa.*/ <<widget "combat-hand-on-hand">> <<rng>> <<set $_hand to _args[0]>> <<if $enemyanger + $rng gte 196>> In anger, <span class="pink"><<he>> wrenches <<his>> hand from your grasp.</span> <<combat-reset-hand _args[0]>> <<if $_hand is "left">> <<set $rightarm to 0>> <<else>> <<set $leftarm to 0>> <</if>> <<violence 5>> <<elseif $enemyanger + $rng gte 160>> <<print either( "<<He>> digs <<his>> nails into your wrist.", "<<He>> crushes your hand in <<his>> grip.", "<<He>> bends your fingers back." )>> <<violence 10>><<hitstat>><<set $speechbeat to 1>> <<elseif $rng gte 95>> <span class="purple"><<He>> releases your <<print ($_hand is "left" ? "right" : "left")>> hand.</span> <<combat-reset-hand _args[0]>> <<if $_hand is "left">> <<set $rightarm to 0>> <<else>> <<set $leftarm to 0>> <</if>> <<else>> <<He>> <<strokes>> your $_hand hand with <<his>> own. <</if>> <</widget>> <!-- pass "left" or "right" for which NPC hand this is called for --> <<widget "combat-hand-on-vagina">> <<rng>> <<if $rng gte 101>> <span class="purple"><<He>> slides <<his>> finger out of your <<pussy>>.</span> <<combat-set-hand-target _args[0] "vaginaentrance">> <<neutral 15 "genitals" _n>><<set $vaginastate to "otherhandentrance">> <<elseif $rng lte 100>> <<He>> <<strokes>> the inside of your <<pussy>>, <<neutral 20 "genitals" _n>><<set $speechvagina to 1>> <<if $arousal gte ($arousalmax / 5) * 4>> causing involuntary shudders. <<elseif $arousal gte $arousalmax / 5>> coaxing out lewd fluid. <<else>> invading your body in a most sordid manner. <</if>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <<widget "combat-hand-on-penis">> <<rng>> <<if $rng gte 101>> <span class="purple"><<He>> releases your <<penis>> from <<his>> grip.</span> <<combat-set-hand-target _args[0] "penisentrance">> <<neutral 15 "genitals" _n>><<set $penisstate to "otherhandentrance">> <<elseif $rng lte 100>> <<He>> massages the length of your <<penis>>, <<neutral 20 "genitals" _n>><<set $speechpenis to 1>> <<if $arousal gte ($arousalmax / 5) * 4>> causing you involuntary shudders. <<elseif $arousal gte $arousalmax / 5>> coaxing out lewd fluid. <<else>> exploiting your body's natural reactions in a most sordid manner. <</if>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <<widget "combat-hand-on-anusentrance">> <<rng>> <<if $rng gte 101>> <span class="blue"><<He>> moves <<his>> hand away from your ass.</span> <<combat-reset-hand _args[0]>> <<set $anususe to 0>> <<elseif playerHasButtPlug()>> <<if $rng gte 21 or $noanal is 1 or $cheekaction is "handrub">> <<print either( `<<He>> teases your anus with your $worn.butt_plug.name, sliding it in and out.`, `<<He>> teases your anus with your $worn.butt_plug.name, sliding it in and out.`, `<<He>> slaps your ass and $worn.butt_plug.name.` )>> <<set $anususe to "hand">> <<set $anusstate to "handentrance">> <<else>> <<set $worn.butt_plug.state to "removed">> With <<his>> _args[0] hand, <<if random(0,2) isnot 0>> <<he>> removes your $worn.butt_plug.name. <<set $anususe to "hand">> <<set $anusstate to "handentrance">> <<else>> <<he>> removes your $worn.butt_plug.name and moves <<his>> hand away. <<combat-reset-hand $_hand>><<neutral 5 _n>> <</if>> <</if>> <<set $anususe to "hand">> <<set $anusstate to "handentrance">> <<neutral 10 _n>> <<bodypart_admire_chance random_bottom>> <<elseif $rng gte 21 or $noanal is 1 or $cheekaction is "handrub">> <<He>> <<strokes>> your anus. <<set $anususe to "hand">> <<set $anusstate to "handentrance">> <<neutral 10 _n>> <<bodypart_admire_chance random_bottom>> <<elseif $rng lte 20 and $noanal is 0 and $cheekaction is not "handrub">> <span class="pink"><<He>> plunges a finger into your ass.</span> <<combat-set-hand-target _args[0] "anus">> <<set $anususe to "hand">> <<set $anusstate to "hand">> <<neutral 15 _n>> <<set $speechanus to 1>> <<bodypart_admire_chance random_bottom>> <</if>> <</widget>> <<widget "combat-hand-on-bottom">> <<rng>> <<if $rng gte 101>> <span class="blue"><<He>> moves <<his>> hand away from your ass.</span> <<combat-reset-hand _args[0]>> <<set $anususe to 0>> <<elseif $rng gte 21 or $noanal is 1>> <<He>> <<strokes>> your clenched butt cheeks. <<neutral 10 _n>> <<bodypart_admire_chance random_bottom>> <</if>> <</widget>> <<widget "combat-hand-on-anus">> <<rng>> <<if $rng gte 101>> <span class="purple"><<He>> slides <<his>> finger out of your ass.</span> <<combat-set-hand-target _args[0] "anusentrance">> <<neutral 15 _n>> <<elseif $rng lte 100>> <<He>> rhythmically slides <<his>> finger in and out of your ass, <<neutral 20 _n>><<set $speechanus to 1>> <<if $player.sex is "f">> teasing your anus. <<else>> teasing your prostate. <</if>> <<bodypart_admire_chance random_bottom>> <</if>> <</widget>> <<widget "combat-dildo-on-vaginaentrance">> <<set $_hand to _args[0]>> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist" and $worn.under_lower.vagina_exposed is 0>> <<set $_clothing to $worn.under_lower.name>> <</if>> <<if $worn.lower.name isnot "naked" and $worn.lower.state is "waist" and $worn.lower.vagina_exposed is 0>> <<set $_clothing to $worn.lower.name>> <</if>> <<if $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist" and $worn.over_lower.vagina_exposed is 0>> <<set $_clothing to $worn.over_lower.name>> <</if>> <<set $_rng to random(1, 100)>> <<if $_rng gte 96>> <span class="blue"><<He>> moves the $_toy in <<his>> _args[0] hand away from your <<pussy>>.</span> <<combat-reset-hand _args[0]>><<set $NPCList[_n][$_hand + "tool"] to 0>> /*<<set $vaginause to 0>>*/ <<elseif $rng gte 61>> <<He>> <<strokes>> your labia with the $_toy in <<his>> _args[0] hand<<if $_clothing isnot undefined>>, through your <<print $_clothing>><</if>>. <<neutral 10 "genitals" _n>> <<bodypart_admire_chance pubic>> <<elseif ($_rng gte 21 or $novaginal is 0) and (!$player.penisExist or random(1,100) gte 51)>> <<He>> <<print either("rubs","slaps")>> your clit with the $_toy in <<his>> _args[0] hand<<if $_clothing isnot undefined>>, through your <<print $_clothing>><</if>>. <<set $speechclit to 1>><<neutral 10 "genitals" _n>> <<violence 1>> <<bodypart_admire_chance pubic>> <<elseif $_rng gte 21 or $novaginal is 0>> <<He>> rubs the base of your <<penisSimple>> with <<his>> $_toy while toying with your pussy<<if $_clothing isnot undefined>>, through your <<print $_clothing>><</if>>. <<neutral 10 "genitals" _n>><<set $speechfutapenis to 1>> <<bodypart_admire_chance pubic>> <<elseif $_rng lte 20 and $novaginal is 0 and $worn.under_lower.name isnot "naked" and ($worn.under_lower.state isnot "waist" or $worn.under_lower.vagina_exposed gte 1) and $worn.lower.name isnot "naked" and ($worn.lower.state isnot "waist" or $worn.lower.vagina_exposed gte 1) and $worn.over_lower.name isnot "naked" and ($worn.over_lower.state isnot "waist" or $worn.over_lower.vagina_exposed gte 1 and !playerChastity("vagina")) and $vaginause isnot "othermouth" and ($vaginaldoubledisable is "f" and toymultiplepenetration is "f" or $vaginause is 0)>> /* penetration */ /* Doesn't check if the PC is already penetrated (aside from mouth) in order to allow for multiple penetrations. */ <span class="pink"><<He>> plunges <<his>> _args[0]-hand $_toy into your warm <<pussy>>.</span> <<neutral 15 "genitals" _n>><<set $speechvagina to 1>><<combat-set-hand-target _args[0] "vaginadildo">> <<bodypart_admire_chance pubic>> <<else>> <<He>> <<strokes>> your labia with the $_toy in <<his>> _args[0] hand. <<neutral 10 "genitals" _n>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <<widget "combat-dildo-on-vagina">> <<set $_hand to _args[0]>> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<rng>> <<if $rng gte 101>> <span class="purple"><<He>> slides the $_toy in <<his>> _args[0] hand out of your <<pussy>>.</span> <<combat-set-hand-target _args[0] "dildo">><<set $NPCList[_n][$_hand + "tool"] to 0>> <<neutral 15 "genitals" _n>> <<elseif $rng lte 100>> <<He>> <<strokes>> the $_toy in <<his>> _args[0] hand inside of your <<pussy>>, <<if $vaginastate isnot 0 and $vaginastate.includes("double")>> ?alongside the two cocks, <<elseif $vaginastate isnot 0 and $vaginastate is "penetrated">> <<print either("in rhythm with","heedless of","alongside")>> <<if $vaginastate is _n>><<his>> <<npcPenisSimple _n>>,<<else>><<set $_n to _n>><<personselect $vaginastate>><<combatpersons>> cock,<<set _n to $_n>><</if>> <</if>> <<neutral 20 "genitals" _n>><<set $speechvagina to 1>> <<if $arousal gte ($arousalmax / 5) * 4>> causing involuntary shudders. <<elseif $arousal gte $arousalmax / 5>> coaxing out lewd fluid. <<else>> invading your body in a most sordid manner. <</if>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <!-- pass "left" or "right" for which NPC hand this is called for --> <<widget "combat-dildo-on-penisentrance">> <<set $_hand to _args[0]>> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist" and $worn.under_lower.vagina_exposed is 0>> <<set $_clothing to $worn.under_lower.name>> <</if>> <<if $worn.lower.name isnot "naked" and $worn.lower.state is "waist" and $worn.lower.vagina_exposed is 0>> <<set $_clothing to $worn.lower.name>> <</if>> <<if $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist" and $worn.over_lower.vagina_exposed is 0>> <<set $_clothing to $worn.over_lower.name>> <</if>> <<rng>> <<if $rng gte 96 or $toymultiplepenetration is "t">> <span class="blue"><<He>> moves the $_toy in <<his>> _args[0] hand away from your <<penis>>.</span> <<combat-reset-hand _args[0]>><<set $NPCList[_n][$_hand + "tool"] to 0>> /*<<set $penisuse to 0>>*/ <<elseif $rng gte 51>> <<switch $penisstate>> <<case "otheranus">><<set $_teased to "anus">> <<case "penetrated">><<set $_teased to "vagina">> <<case "penispenetrated">><<set $_teased to "cock">> <</switch>> <<He>> <<strokes>> your shaft using the $_toy in <<his>> _args[0] hand<<if $_clothing isnot undefined>>, through your <<print $_clothing>>.<<elseif $penisstate is "otheranus" or $penisstate is "penetrated">><<set $_n to _n>>, teasing <<personselect $penistarget>><<combatPersons>> $_teased.<<personselect $_n>><<else>>.<</if>> <<neutral 10 "genitals" _n>> <<bodypart_admire_chance pubic>> <<elseif $rng gte 21>> <<He>> <<print either("slaps","smacks","teases","rubs")>> your glans with the $_toy in <<his>> _args[0] hand<<if $_clothing isnot undefined>>, through your <<print $_clothing>><</if>>. <<neutral 10 "genitals" _n>><<set $speechglans to 1>> <<violence 1>> <<bodypart_admire_chance pubic>> <<elseif $rng lte 20 and $worn.under_lower.name isnot "naked" and ($worn.under_lower.state isnot "waist" or $worn.under_lower.vagina_exposed gte 1) and $worn.lower.name isnot "naked" and ($worn.lower.state isnot "waist" or $worn.lower.vagina_exposed gte 1) and $worn.over_lower.name isnot "naked" and ($worn.over_lower.state isnot "waist" or $worn.over_lower.vagina_exposed gte 1) and !playerChastity("penis")>> /* escalation */ <span class="pink"><<He>> <<print either("rubs","frots","fences")>> the $_toy in <<his>> _args[0] hand against your <<penisSimple>>.</span> <<neutral 15 "genitals" _n>> <<set $speechpenis to 1>> <<combat-set-hand-target _args[0] "penisdildo">> <<bodypart_admire_chance pubic>> <<else>> <<He>> <<strokes>> your <<penis>> with the $_toy in <<his>> _args[0] hand. <<neutral 10 "genitals" _n>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <<widget "combat-dildo-on-penis">> <<set $_hand to _args[0]>> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<rng>> <<if $penisstate isnot 0>> <<set $rng += 10>> <</if>> <<if $rng gte 96>> <span class="purple"><<He>> removes the $_toy from your <<penis>>.</span> <<combat-set-hand-target _args[0] "dildo">><<set $NPCList[_n][$_hand + "tool"] to 0>> <<neutral 15 "genitals" _n>> <<elseif $rng lte 100>> <<if ["otheranus","penetrated","penispenetrated"].includes($penisstate)>> <<switch $penisstate>> <<case "otheranus">><<set $_teased to "anus">><<set $_fuck to "penetrate">> <<case "penetrated">><<set $_teased to "vagina">><<set $_fuck to "fuck">> <<case "penispenetrated">><<set $_teased to "cock">><<set $_fuck to "frot">> <</switch>> With <<his>> _args[0] hand, <<he>> <<print either("massages","rubs","fences","frots")>> the length of your <<penis>> as you $_fuck <<set $_n to _n>><<personselect $penistarget>><<combatpersons>> $_teased.<<personselect $_n>> <<else>> <<He>> <<print either("massages","rubs","fences","frots")>> the length of your <<penis>> with the $_toy in <<his>> _args[0] hand, <<neutral 20 "genitals" _n>><<set $speechpenis to 1>> <<if !playerHasStrapon()>> <<if $arousal gte ($arousalmax / 5) * 4>> causing you involuntary shudders. <<elseif $arousal gte $arousalmax / 5>> coaxing out lewd fluid. <<else>> exploiting your body's natural reactions in a most sordid manner. <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> causing you involuntary shudders. <<else>> strangely arousing you. <</if>> <</if>> <</if>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <<widget "combat-stroker-on-penisentrance">> <<set $_hand to _args[0]>> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<set $_clothing to "none">> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist" and $worn.under_lower.vagina_exposed is 0>> <<set $_clothing to $worn.under_lower.name>> <</if>> <<if $worn.lower.name isnot "naked" and $worn.lower.state is "waist" and $worn.lower.vagina_exposed is 0>> <<set $_clothing to $worn.lower.name>> <</if>> <<if $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist" and $worn.over_lower.vagina_exposed is 0>> <<set $_clothing to $worn.over_lower.name>> <</if>> <<rng>> <<if $rng gte 96>> <span class="blue"><<He>> moves the $_toy in <<his>> _args[0] hand away from your <<penis>>.</span> <<combat-reset-hand _args[0]>><<set $NPCList[_n][$_hand + "tool"] to 0>> <<elseif $rng gte 61 and $penisuse is 0 and $worn.under_lower.name isnot "naked" and ($worn.under_lower.state isnot "waist" or $worn.under_lower.vagina_exposed gte 1) and $worn.lower.name isnot "naked" and ($worn.lower.state isnot "waist" or $worn.lower.vagina_exposed gte 1) and $worn.over_lower.name isnot "naked" and ($worn.over_lower.state isnot "waist" or $worn.over_lower.vagina_exposed gte 1)>> <span class="pink"><<He>> plunges the $_toy in <<his>> _args[0] hand onto your penis.</span> <<set $penisuse to "stroker">><<set $penisstate to "stroker">> <<neutral 15 "genitals" _n>> <<set $speechpenis to 1>> <<combat-set-hand-target _args[0] "penisstroker">> <<bodypart_admire_chance pubic>> <<else>> <<He>> teases your glans with the $_toy in <<his>> _args[0] hand<<if $_clothing isnot "none">>, through your $_clothing<</if>>. <<neutral 10 "genitals" _n>><<set $speechglans to 1>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <<widget "combat-stroker-on-penis">> <<set $_hand to _args[0]>> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<rng>> <<if $rng gte 101>> <span class="blue"><<He>> moves the $_toy in <<his>> _args[0] hand away from your <<penis>>.</span> <<combat-reset-hand _args[0]>><<set $NPCList[_n][$_hand + "tool"] to 0>> <<set $penisuse to 0>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 4)>> With increasing power, <<he>> fucks your <<penis>> with the $_toy in <<his>> _args[0] hand. <<else>> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<He>> <<print either("fucks","fucks","rhythmically works")>> your penis with the $_toy in <<his>> _args[0] hand. <</if>> <</widget>> <<widget "combat-dildo-on-anusentrance">> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<set _hand to _args[0]>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state is "waist" and $worn.under_lower.vagina_exposed is 0>> <<set $_clothing to $worn.under_lower.name>> <</if>> <<if $worn.lower.name isnot "naked" and $worn.lower.state is "waist" and $worn.lower.vagina_exposed is 0>> <<set $_clothing to $worn.lower.name>> <</if>> <<if $worn.over_lower.name isnot "naked" and $worn.over_lower.state is "waist" and $worn.over_lower.vagina_exposed is 0>> <<set $_clothing to $worn.over_lower.name>> <</if>> <<rng>> <<if $rng gte 96>> <span class="blue"><<He>> moves <<his>> _hand-hand $_toy away from your ass.</span> <<combat-reset-hand _args[0]>><<set $NPCList[_n][$_hand + "tool"] to 0>> /*<<set $anususe to 0>>*/ <<elseif $rng gte 21 or $noanal is 1>> <<He>> <<print either("rubs","slaps")>> and teases your <<print either("anus","ass")>> with the $_toy in <<his>> _hand hand<<if $_clothing isnot undefined>>, through your <<print $_clothing>><<elseif playerHasButtPlug()>>, <<print either("rubbing against","through")>> your $worn.butt_plug.name<</if>>. <<neutral 10 _n>> <<violence 1>> <<bodypart_admire_chance random_bottom>> <<elseif $rng lte 20 and $noanal is 0 and $analdisable is "f" and $worn.under_lower.name isnot "naked" and ($worn.under_lower.state isnot "waist" or $worn.under_lower.anus_exposed gte 1) and $worn.lower.name isnot "naked" and ($worn.lower.state isnot "waist" or $worn.lower.anus_exposed gte 1) and $worn.over_lower.name isnot "naked" and ($worn.over_lower.state isnot "waist" or $worn.over_lower.anus_exposed gte 1) and !playerChastity("anus") and (!playerHasButtPlug() or random(0,1) isnot 0) and $anususe isnot "othermouth" and ($analdoubledisable is "f" and $toymultiplepenetration is "f" or $anususe is 0)>> /* penetration */ /* Doesn't check if the PC is already penetrated (aside from mouth) in order to allow for multiple penetrations. */ <span class="pink"><<He>> plunges the $_toy in <<his>> _hand hand into your ass<<if playerHasButtPlug()>>, heedless of your $worn.butt_plug.name<</if>>.</span> <<combat-set-hand-target _hand "anusdildo">> <<neutral 15 _n>> <<set $speechanus to 1>> <<bodypart_admire_chance random_bottom>> <<else>> <<He>> <<strokes>> your <<bottom>> with the $_toy in <<his>> _hand hand<<if playerHasButtPlug()>>, rubbing against your $worn.butt_plug.name<</if>>. <<neutral 10 _n>> <<bodypart_admire_chance pubic>> <</if>> <</widget>> <<widget "combat-dildo-on-anus">> <<set $_toy to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<rng>> <<if $rng gte 101>> <span class="purple"><<He>> slides <<his>> _args[0]-hand $_toy out of your ass.</span> <<combat-set-hand-target _args[0] "dildo">> <<neutral 15 _n>> <<elseif $rng lte 100>> <<set $_rhythmically to either("rhythmically","rhythmically","ruthlessly","gently","teasingly","skilfully")>> <<if $anusstate isnot 0 and $anusstate.includes("double")>> <<He>> $_rhythmically slides the $_toy in <<his>> _args[0] hand in and out of your ass, ?alongside the two cocks, <<elseif $anusstate isnot 0 and $anusstate is "penetrated">> <<He>> $_rhythmically slides the $_toy in <<his>> _args[0] hand in and out of your ass, <<print either("in rhythm with","heedless of","alongside")>> <<if $anustarget is _n>><<his>> <<npcPenisSimple _n>>,<<else>><<personselect $anustarget>><<combatPersons>> cock,<</if>> <<else>> <<He>> $_rhythmically slides the $_toy in <<his>> _args[0] hand in and out of your ass, <</if>> <<neutral 20 _n>><<set $speechanus to 1>> <<if $player.sex is "f">> teasing your anus. <<else>> teasing your prostate. <</if>> <<bodypart_admire_chance random_bottom>> <</if>> <</widget>> <<widget "combat-hand-on-sextoy">> /* used for both dildo types and whip types */ <<set $_hand to _args[0]>> <<set $_toy to $_hand + "tool">> <<set $_rand to random(0,9)>> <<if $_rand lte 8 and npcHasSexToyOfType(_n,"dildo") or $_rand lt 1 and npcHasSexToyOfType(_n,"whip")>> /* find orifice to penetrate */ <<if $analdisable is "t" or random(0,2) isnot 0>> <<if ($player.penisExist and !playerChastity("penis")) and ($player.vaginaExist and !playerChastity("vagina"))>> <<if random(0,3) is 0>> <<combat-dildo-on-penisentrance $_hand>> <<else>> <<combat-dildo-on-vaginaentrance $_hand>> <</if>> <<elseif $player.penisExist and !playerChastity("penis")>> <<if random(0,2) is 0>> <<combat-dildo-on-penisentrance $_hand>> <<else>> <<combat-dildo-on-anusentrance $_hand>> <</if>> <<elseif $player.vaginaExist and !playerChastity("vagina")>> <<combat-dildo-on-vaginaentrance $_hand>> <<else>> <<combat-dildo-on-anusentrance $_hand>> <</if>> <<else>> <<combat-dildo-on-anusentrance $_hand>> <</if>> <<elseif npcHasSexToyOfType(_n,"dildo") or npcHasSexToyOfType(_n,"whip")>> <<combat-dildospank $_hand>> <</if>> <</widget>> <<widget "combat-reveal-sextoy">> /* Used in conjuction with a widget that starts an NPC with a sex toy in hand */ <<set $_hand to _args[0]>> <<set $_dildo to ($_hand is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<set $_consentcolour to ($consensual is 1 ? "blue" : "red")>> <<set $_dildocolouredtext to "<span @class='$_consentcolour'>$_dildo</span>">> <<set $_eagerly to ($consensual is 1 ? "eagerly" : "menacingly")>> <<if $NPCList[_n][($_hand is "left" ? "righthand" : "lefthand")] is 0>> <<set $_npcpart to ["palm","palm","palm","thigh","thigh","shoulder"].random()>> <<else>> <<set $_npcpart to ["thigh","shoulder"].random()>> <</if>> <span class="purple"> <<if _args[1] isnot undefined and _args[1] is "pocket">> <<He>> pulls a <span class="blue">$_dildo</span> from <<his>> pocket, slapping it against <<his>> $_npcpart $_eagerly. <<else>> <<switch random(0,3)>> <<case 0>> <<He>> <<print either("flourishes","parades","brandishes","waves")>> <<his>> $_dildocolouredtext, $_eagerly. <<case 1 2>><<He>> <<print either("slaps","smacks")>> <<his>> $_dildocolouredtext against <<his>> $_npcpart. <<case 3>> <<set $_slaps to ($consensual is 1 ? ["brushes","caresses"].random() : "slaps")>> <<if $consensual isnot 1>><<violence 5>><</if>> <<He>> $_slaps <<if $position is "wall" and $walltype isnot "front">> your <<bottom>> with <<his>> $_dildocolouredtext. <<else>> your face with the $_dildocolouredtext in <<his>> $_hand hand. <</if>> <</switch>> <</if>> </span> <<if _args[0] is "left">> <<set $NPCList[_n].lefttool to $_dildo>> <<set $NPCList[_n].lefthand to "dildo">> <<elseif _args[0] is "right">> <<set $NPCList[_n].righttool to $_dildo>> <<set $NPCList[_n].righthand to "dildo">> <</if>> <</widget>> <<widget "combat-hand-hypnosis">> <<rng>> <<set _tool to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<set $_hand to _args[0] + "hand">> <<if $rng gte 76 and ($hypnosis_traits.scream is undefined or $hypnosis_traits.scream lt 5)>> <<He>> waves the _tool at you. <<set $NPCList[_n][$_hand] to "hypnosis_scream">> <<His>> voice echoes in your mind. <span class="purple"><i><span class="red">From when I click my fingers,</span> should you try to scream, you will beg for rougher treatment instead.</i></span> <<elseif $rng gte 51 and ($hypnosis_traits.cover is undefined or $hypnosis_traits.cover lt 5)>> <<He>> waves the _tool at you. <<set $NPCList[_n][$_hand] to "hypnosis_cover">> <<His>> voice echoes in your mind. <span class="purple"><i><span class="red">From when I click my fingers,</span> should you try to cover your body, you will display it for all to see instead.</i></span> <<else>> <<if random(1, 2) is 2>> <<His>> voice echoes in your mind. <span class="purple"><i>When I click my fingers, you will be overcome by arousal, and climax at once.</i></span> <<set $NPCList[_n][$_hand] to "hypnosis_orgasm">> <<else>> <<His>> voice echoes in your mind. <span class="purple"><i>When I click my fingers, you will lust for the pleasure of pain.</i></span> <<set $NPCList[_n][$_hand] to "hypnosis_masochism">> <</if>> <<He>> waves the _tool at you. <</if>> <</widget>> <<widget "combat-hand-hypnosis-orgasm">> <<set _tool to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<He>> clasps <<his>> palm around the _tool, and clicks <<his>> fingers. A deep yearning blooms, <<if $uncomfortable.hypnosis is false>> nurtured by a lewd part of you. <span class="lewd">Your mind immediately accepts it.</span> Feelings of arousal overwhelm you. <<He>> flashes you a satisfied smile. <<arousal 10000>> <<elseif $willpower gte random(1, 1000)>> nurtured by a traitorous part of you. <span class="lblue">You will it away.</span> <<He>> frowns. <<else>> unbeckoned. <span class="pink">You can't resist it.</span> Feelings of arousal overwhelm you. <<He>> flashes you a satisfied smile. <<arousal 10000>><<willpower 1>><<gwillpower>> <</if>> <<hypnotised 1>> <<combat-reset-tool _args[0]>> <<combat-reset-hand _args[0]>> <</widget>> <<widget "combat-hand-hypnosis-masochism">> <<set _tool to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<He>> clasps <<his>> palm around the _tool, and clicks <<his>> fingers. A deep yearning blooms, <<if $uncomfortable.hypnosis is false>> nurtured by a lewd part of you. <span class="lewd">Your mind immediately accepts it.</span> You long for pain. <<He>> flashes you a satisfied smile. <<masochism 10>> <<elseif $willpower gte random(1, 1000)>> nurtured by a traitorous part of you. <span class="lblue">You will it away.</span> <<He>> frowns. <<else>> unbeckoned. <span class="pink">You can't resist it.</span> You long for pain. <<He>> flashes you a satisfied smile. <<masochism 10>><<willpower 1>><<gwillpower>> <</if>> <<hypnotised 1>> <<combat-reset-tool _args[0]>> <<combat-reset-hand _args[0]>> <</widget>> <<widget "combat-hand-hypnosis-scream">> <<set _tool to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<He>> clasps <<his>> palm around the _tool, and clicks <<his>> fingers. <span class="pink">You feel something shift in your consciousness.</span> <<if !$hypnosis_traits.scream>> You've gained the <span class="pink">Hypnotic Yearning</span> trait. <<set $hypnosis_traits.scream to 1>> <<elseif $hypnosis_traits.scream lt 5>> Your hypnotic yearning has deepened. <<set $hypnosis_traits.scream += 1>> <</if>> <<hypnotised 1>> <<combat-reset-tool _args[0]>> <<combat-reset-hand _args[0]>> <</widget>> <<widget "combat-hand-hypnosis-cover">> <<set _tool to (_args[0] is "left" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<He>> clasps <<his>> palm around the _tool, and clicks <<his>> fingers. <span class="pink">You feel something shift in your consciousness.</span> <<if !$hypnosis_traits.cover>> You've gained the <span class="pink">Hypnotic Flaunting</span> trait. <<set $hypnosis_traits.cover to 1>> <<elseif $hypnosis_traits.cover lt 5>> Your hypnotic flaunting has deepened. <<set $hypnosis_traits.cover += 1>> <</if>> <<hypnotised 1>> <<combat-reset-tool _args[0]>> <<combat-reset-hand _args[0]>> <</widget>> <<widget "combat-hand-on-mouth">> <<rng>> <<if $enemyanger lte 20 and $enemytrust gte 20>> <span class="teal">Made confident by your accommodating behaviour, <<he>> releases <<his>> hand from your mouth.</span> <<combat-reset-hand _args[0]>> <<set $mouthuse to 0>> <<else>> <<He>> continues to clasp your mouth shut. <<violence 1 1 1 1 _n>><<bruise face>> <<bodypart_admire_chance forehead>> <</if>> <</widget>> <<widget "combat-hand-on-hair">> <<rng>> <<if $rng gte 101>> <span class="lblue"><<He>> releases <<his>> hand from your hair.</span> <<combat-reset-hand _args[0]>> <<elseif $enemyanger gte 61>> With your hair in <<his>> grip, <<he>> yanks back your head. <<violence 4 1 1 1 _n>><<set $speechhair to 1>> <<bodypart_admire_chance forehead>> <<elseif $enemyanger gte 21>> <<He>> strokes your hair while holding it bunched in <<his>> grip. <<set $speechhair to 1>><<neutral 1 _n>> <<bodypart_admire_chance forehead>> <<else>> <span class="lblue"><<He>> releases <<his>> hand from your hair.</span> <<combat-reset-hand _args[0]>> <</if>> <</widget>> <<widget "combat-pull-outfit-down">> <<set $_layer to _args[0]>> <<set $_target to _args[1]>> <<set $_hand to _args[2]>> <<set $_upperslot to ($_layer is "" ? "upper" : $_layer + "_upper")>> <<set $_lowerslot to ($_layer is "" ? "lower" : $_layer + "_lower")>> <<set $_targetslot to ($_layer is "" ? $_target : $_layer + "_" + $_target)>> <<set $_clothing_upper to $worn[$_upperslot]>> <<set $_clothing_lower to $worn[$_lowerslot]>> <<combat-pull-clothing-state $_upperslot "down" $_hand $_lowerslot>> <<set _origin to $_clothing_upper.state_top>> <<set _dest to setup.clothingStateNextDown[_origin]>> <<set $_upperStateSame to setup.clothingStateIndex[$_clothing_upper.state] gte setup.clothingStateIndex[_origin]>> <<set $_lowerStateSame to setup.clothingStateIndex[$_clothing_lower.state] gte setup.clothingStateIndex[_origin]>> /* if the top of the outfit is below the original base of the upper portion, pull the upper portion's base down as well */ <<if $_upperStateSame or setup.clothingStateIndex[$_clothing_upper.state_base] gte setup.clothingStateIndex[_origin]>> <<set $_clothing_upper.state to _dest>> <</if>> /* if the top of the outfit is below the original base of the lower portion, pull the lower portion's base down as well */ <<if $_lowerStateSame or setup.clothingStateIndex[$_clothing_lower.state_base] gte setup.clothingStateIndex[_origin]>> <<set $_clothing_lower.state to _dest>> <</if>> <<switch _origin>> <<case "chest">> <<if $_target is "upper">> <<He>> pulls down the top of your $_clothing_upper.name with <<his>> $_hand hand, <<else>> <<He>> tugs your $_clothing_lower.name with <<his>> $_hand hand, pulling down your $_clothing_upper.name and <</if>> <<if !_toplessExposed>> revealing your <<exposedupper>>. <<neutral 2 _n>> <<else>> <span class="lewd">revealing your <<breasts>>.</span> <<neutral 3 _n>><<set $speechbreasts to 1>> <</if>> <<case "midriff">> <<if $_target is "upper">> <<He>> pulls your $_clothing_upper.name down past your midriff with <<his>> $_hand hand. <<neutral 1 _n>> <<else>> <<He>> tugs your $_clothing_lower.name with <<his>> $_hand hand, pulling down your $_clothing_upper.name past your midriff. <<neutral 1 _n>> <</if>> <<if playerBellyVisible()>><<set $speechpregnant to 1>><</if>> <<case "waist">> <<He>> pulls your $_clothing_upper.name down to your thighs with <<his>> $_hand hand, <<if !_bottomlessExposed>> revealing your <<exposedlower>>. <<neutral 2 _n>> <<else>> revealing your <span class="lewd"><<genitals>>.</span> <<neutral 5 _n>><<set $speechgenitals to 1>> <</if>> <<case "thighs">> <<He>> pulls your $_clothing_upper.name down to your knees with <<his>> $_hand hand. <<neutral 1 _n>> <<case "knees">> <<He>> pulls your $_clothing_upper.name down to your ankles with <<his>> $_hand hand. <<neutral 1 _n>> <<case "ankles">> <span class="purple"><<He>> pulls your $_clothing_upper.name off the bottom of your legs with <<his>> $_hand hand.</span> <<neutral 5 _n>> <</switch>> <</widget>> <<widget "combat-pull-outfit-up">> <<set $_layer to _args[0]>> <<set $_target to _args[1]>> <<set $_hand to _args[2]>> <<set $_upperslot to ($_layer is "" ? "upper" : $_layer + "_upper")>> <<set $_lowerslot to ($_layer is "" ? "lower" : $_layer + "_lower")>> <<set $_targetslot to ($_layer is "" ? $_target : $_layer + "_" + $_target)>> <<if $position isnot "wall">> <<set $_clothing_upper to $worn[$_upperslot]>> <<set $_clothing_lower to $worn[$_lowerslot]>> <<set _origin to $_clothing_upper.state>> <<set _dest to setup.clothingStateNextUp[_origin]>> <<set $_upperStateSame to setup.clothingStateIndex[$_clothing_upper.state_top] gte setup.clothingStateIndex[_origin]>> <<set $_lowerStateSame to setup.clothingStateIndex[$_clothing_lower.state] gte setup.clothingStateIndex[_origin]>> /* <<set $_clothing_upper.state to _dest>> */ <<combat-pull-clothing-state $_upperslot "up" $_hand>> /* if the base of the outfit is below the original top of the upper portion, pull the upper portion's top up as well */ <<if $_upperStateSame or setup.clothingStateIndex[$_clothing_upper.state_top_base] gte setup.clothingStateIndex[_origin]>> <<set $_clothing_upper.state_top to _dest>> <</if>> /* if the base of the outfit is below the original base of the lower portion, pull the lower portion's base up as well */ <<if $_lowerStateSame or setup.clothingStateIndex[$_clothing_lower.state_base] gte setup.clothingStateIndex[_origin]>> <<set $_clothing_lower.state to _dest>> <</if>> <<outfitChecksExposed>> <<switch _origin>> <<case "waist">> <<if $position is "wall" and $walltype isnot "front">> <<combat-tug-clothing "over_lower" $_hand>> <<else>> <<if $_target is "upper">> <<He>> pulls your bundled $_clothing_upper.name up past your midriff. <<else>> <<He>> lifts your $_clothing_upper.name above your midriff with <<his>> $_hand hand. <</if>> <<neutral 2 _n>> <<if playerBellyVisible()>><<set $speechpregnant to 1>><</if>> <</if>> <<case "midriff">> <<if $_target is "upper">> <<He>> pulls your bundled $_clothing_upper.name up past your <<exposedupper>>. <<else>> <<He>> lifts up your $_clothing_upper.name with <<his>> $_hand hand, <<if !_toplessExposed>> exposing your <<exposedupper>>. <<neutral 2 _n>> <<else>> <span class="lewd">exposing your <<breasts>>.</span> <<neutral 3 _n>><<set $speechbreasts to 1>> <</if>> <</if>> <<case "chest">> <<if $_target is "upper">> <span class="purple"><<He>> pulls your $_clothing_upper.name off your body with <<his>> $_hand hand.</span> <<else>> <span class="purple"><<He>> pulls your $_clothing_upper.name off completely with <<his>> $_hand hand.</span> <</if>> <<neutral 3 _n>> <</switch>> <<elseif $walltype isnot "front">> <<combat-tug-clothing $_targetslot $_hand>> <</if>> <</widget>> <<widget "combat-pull-clothing-down">> <<set $_slot to _args[0]>> <<set $_clothing to $worn[$_slot]>> <<set $_hand to _args[1]>> <<set $_origin to $_clothing.state>> <<combat-pull-clothing-state $_slot "down" $_hand>> <<switch $_origin>> <<case "chest">> <<He>> pulls your $_clothing.name down with <<his>> $_hand hand, <<if !_toplessExposed>> revealing your <<exposedupper>>. <<neutral 2 _n>> <<else>> <span class="lewd">revealing your <<breasts>>.</span> <<neutral 3 _n>><<set $speechbreasts to 1>> <</if>> <<case "midriff">> <<He>> pulls your $_clothing.name down past your midriff with <<his>> $_hand hand. <<neutral 1 _n>> <<if playerBellyVisible()>><<set $speechpregnant to 1>><</if>> <<case "waist">> <<He>> pulls your $_clothing.name down to your thighs with <<his>> $_hand hand, <<if !_bottomlessExposed and $_slot isnot "under_lower" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt isnot 1>> revealing your <<exposedlower>>. <<neutral 2 _n>> <<else>> revealing your <span class="lewd"><<genitals>>.</span> <<neutral 5 _n>><<set $speechgenitals to 1>> <</if>> <<case "thighs">> <<He>> pulls your $_clothing.name down to your knees with <<his>> $_hand hand. <<neutral 1 _n>> <<case "knees">> <<He>> pulls your $_clothing.name down to your ankles with <<his>> $_hand hand. <<neutral 1 _n>> <<case "ankles">> <span class="purple"><<He>> pulls your $_clothing.name off your legs with <<his>> $_hand hand.</span> <<neutral 3 _n>> <</switch>> <</widget>> <<widget "combat-pull-clothing-up">> <<set $_slot to _args[0]>> <<set $_clothing to $worn[$_slot]>> <<set $_hand to _args[1]>> <<if $position isnot "wall">> <<combat-pull-clothing-state $_slot "up" $_hand>> <<switch _dest>> <<case "midriff">> <<He>> lifts up your $_clothing.name with <<his>> $_hand hand, exposing your midriff. <<neutral 1 _n>> <<if playerBellyVisible()>><<set $speechpregnant to 1>><</if>> <<case "chest">> <<if _toplessExposed>> <<He>> lifts up your $_clothing.name with <<his>> $_hand hand, <span class="lewd">exposing your <<breasts>>.</span> <<neutral 2 _n>><<set $speechbreasts to 1>> <<else>> <<He>> lifts your $_clothing.name over your chest with <<his>> $_hand hand, exposing your <<exposedupper>>. <<neutral 1 _n>> <</if>> <<case 0>> <span class="purple"><<He>> completely removes your $_clothing.name with <<his>> $_hand hand.</span> <<neutral 3 _n>> <</switch>> <<else>> <<if $walltype isnot "front" and $_slot.includes("upper")>> <<combat-tug-clothing $_slot $_hand>> <</if>> <</if>> <</widget>> <<widget "combat-pull-clothing-to-side">> <<set $_clothing to $worn[_args[0]]>> <<set $_hand to _args[1]>> <<if playerHasStrapon() and $penisstate isnot 0>> <<He>> moves <<his>> $_hand hand away from your $worn.under_lower.colour $worn.under_lower.name. <<combat-reset-hand $_hand>><<neutral 5 _n>> <<else>> <<He>> pulls your $_clothing.name to the side, <span class="lewd">revealing your <<genitals>>.</span> <<set $_clothing.state to "totheside">> <<combat-reset-hand $_hand>><<neutral 5 _n>> <<set $_clothing.vagina_exposed to 1>><<set $_clothing.anus_exposed to 1>><<set $_clothing.exposed to 1>><<set $speechgenitals to 1>> <</if>> <</widget>> <<widget "combat-pull-clothing-state">> <<set $_slot to _args[0]>> <<set $_clothing to $worn[$_slot]>> <<set $_up to _args[1] is "up">> <<set $_hand to _args[2]>> <<if _args[3]>> <<set $_otherOutfitSlot to _args[3]>> <<set $_otherClothing to $worn[$_otherOutfitSlot]>> <</if>> <<if $_up>> <!-- pulling clothing up --> <<set _origin to $_clothing.state>> <<set _dest to setup.clothingStateNextUp[$_clothing.state]>> <<set $_clothing.state to _dest>> <<if $_clothing.state_top and setup.clothingStateIndex[$_clothing.state] gt setup.clothingStateIndex[$_clothing.state_top]>> <<set $_clothing.state_top to _dest>> <</if>> <<if $_otherClothing and setup.clothingStateIndex[$_clothing.state] gt setup.clothingStateIndex[$_otherClothing.state]>> <<set $_otherClothing.state to _dest>> <</if>> <<switch _origin>> <<case "midriff">> <<set $_clothing.exposed to 2>> <!-- breasts/chest now exposed below clothing bottom --> <<case "waist">> <<set $_clothing.exposed to 2>> <!-- genitals now exposed below clothing bottom --> <<set $_clothing.vagina_exposed to 1>><<set $_clothing.anus_exposed to 1>> <</switch>> <<else>> <!-- pulling clothing down --> <<if $_clothing.state_top>> <!-- upper clothing has a .state_top variable, and lower doesn't. --> <<set _origin to $_clothing.state_top>> <<set _dest to setup.clothingStateNextDown[$_clothing.state_top]>> <<set $_clothing.state_top to _dest>> <<if setup.clothingStateIndex[$_clothing.state_top] lt setup.clothingStateIndex[$_clothing.state]>> <!-- if the top of the clothing is as low as or lower than the bottom --> <<set $_clothing.state to _dest>> <</if>> <!-- adjust exposure --> <<if _origin is "chest">> <<set $_clothing.exposed to 2>> <!-- breasts/chest now exposed above clothing top --> <</if>> <<else>> <<set _origin to $_clothing.state>> <<set _dest to setup.clothingStateNextDown[$_clothing.state]>> <<set $_clothing.state to _dest>> <!-- adjust exposure --> <<if _origin is "waist">> <<set $_clothing.exposed to 2>> <!-- breasts/chest now exposed above clothing top --> <<set $_clothing.vagina_exposed to 1>><<set $_clothing.anus_exposed to 1>> <</if>> <</if>> <</if>> <<if _dest is 0>> <<combat-reset-hand $_hand>><<clothesstripstat>><<generalStrip $_slot>> <</if>> <<outfitChecksExposed>> <</widget>> <<widget "combat-lift-skirt">> <<set $_clothing to $worn[_args[0]]>> <<set $_hand to _args[1]>> <<set $_clothing.skirt_down to 0>><<set $_clothing.vagina_exposed to 1>><<set $_clothing.anus_exposed to 1>><<set $_clothing.exposed to 2>> <<outfitChecksExposed>> <<He>> lifts up your $_clothing.name with <<his>> $_hand hand, exposing your <<if !_bottomlessExposed>> <<exposedlower>>. <<neutral 2 _n>> <<elseif $worn.genitals.name isnot "naked">> $worn.genitals.name. <<neutral 2 _n>> <<else>> <span class="lewd"><<genitals>>.</span> <<neutral 5 _n>><<set $speechgenitals to 1>> <</if>> <</widget>> <<widget "combat-remove-buttplug">> <<set $_hand to _args[0]>> <<He>> removes your $worn.butt_plug.name, <span class="lewd">revealing your anus.</span> <<set $worn.butt_plug.state to "removed">> <<combat-reset-hand $_hand>><<neutral 5 _n>> <<set $speechanusentrance to 1>> <</widget>> <<widget "combat-tug-clothing">> <<set $_slot to _args[0]>> <<set $_hand to _args[1]>> <<He>> tugs at your $worn[$_slot].name with <<his>> $_hand hand, tearing <<it $_slot>> before <span class="blue">letting go.</span> <<combat-reset-hand $_hand>><<neutral 1 _n>> <<set $worn[$_slot].integrity -= 10>> <</widget>> <<widget "combat-hand-on-overlowerclothes">> <<set $_hand to _args[0]>> <<set $_overlowersetup to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)]>> <<if $_overlowersetup.skirt is 1>> <<if $worn.over_lower.skirt_down is 1>> <<combat-lift-skirt "over_lower" $_hand>> <<elseif _overOutfit>> <<combat-pull-outfit-up "over" "lower" $_hand>> <<else>> <<combat-pull-clothing-down "over_lower" $_hand>> <</if>> <<elseif _overOutfit>> <<if $worn.over_upper.open is 1>> <<combat-pull-outfit-down "over" "lower" $_hand>> <<else>> <<combat-tug-clothing "over_lower" $_hand>> <</if>> <<else>> <<combat-pull-clothing-down "over_lower" $_hand>> <</if>> <</widget>> <<widget "combat-hand-on-underlowerclothes">> <<set $_hand to _args[0]>> <<set $_overlower_open to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 or $worn.over_lower.type.includes("naked")>> <<set $_lower_open to setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 or $worn.lower.type.includes("naked")>> <<if _underOutfit>> <<combat-pull-outfit-down "under" "lower" $_hand>> <<elseif playerHasStrapon() and $penisstate isnot 0>> <<He>> moves <<his>> hand away from your $worn.under_lower.colour $worn.under_lower.name. <<combat-reset-hand $_hand>> <<elseif ($_overlower_open and $_lower_open) or $worn.lower.state isnot "waist">> <<if $worn.under_lower.state is "waist" and !($rng gt 20 or $combatgoal is "strip" or $worn.under_lower.no_aside)>> <<combat-pull-clothing-to-side "under_lower" $_hand>> <<else>> <<combat-pull-clothing-down "under_lower" $_hand>> <</if>> <<else>> <<combat-tug-clothing "under_lower" $_hand>> <</if>> <</widget>> <<widget "combat-hand-on-buttplug">> <<set $_clothing to $worn.butt_plug.name>> <<set $_hand to _args[0]>> <<if random(0,3) is 0>> With <<his>> $_hand hand, <<he>> teases your anus with your $_clothing. <<else>> <<combat-remove-buttplug $_hand>> <</if>> <</widget>> <<widget "combat-hand-on-lowerclothes">> <<set $_hand to _args[0]>> <<set $_overlower_open to setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 or $worn.over_lower.type.includes("naked")>> <<set $_lower_open to setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if $_overlower_open and $_lower_open>> <<if $worn.lower.skirt_down is 1>> <<combat-lift-skirt "lower" $_hand>> <<elseif _middleOutfit>> <<combat-pull-outfit-up "" "lower" $_hand>> <<else>> <<combat-pull-clothing-down "lower" $_hand>> <</if>> <<elseif _middleOutfit>> <<if $worn.upper.open is 1>> <<combat-pull-outfit-down "" "lower" $_hand>> <<else>> <<combat-tug-clothing "lower" $_hand>> <</if>> <<else>> <<combat-pull-clothing-down "lower" $_hand>> <</if>> <</widget>> <<widget "combat-hand-on-overupperclothes">> <<set $_hand to _args[0]>> <<if _overOutfit is false>> <<if $worn.over_upper.open is 1>> <<combat-pull-clothing-down "over_upper" $_hand>> <<else>> <<combat-pull-clothing-up "over_upper" $_hand>> <</if>> <<elseif $worn.over_upper.open is 1>> <<if $worn.over_lower.state is $worn.over_upper.state_top and $worn.over_lower.state is $worn.over_upper.state and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1>> <<combat-pull-outfit-up "over" "upper" $_hand>> <<else>> <<combat-pull-outfit-down "over" "upper" $_hand>> <</if>> <<else>> <<combat-tug-clothing "over_upper" $_hand>> <</if>> <</widget>> <<widget "combat-hand-on-upperclothes">> <<set $_hand to _args[0]>> <<if _middleOutfit is false>> <<if $worn.upper.open is 1>> <<combat-pull-clothing-down "upper" $_hand>> <<else>> <<combat-pull-clothing-up "upper" $_hand>> <</if>> <<elseif $worn.upper.open is 1>> <<if $worn.lower.state is $worn.upper.state_top and $worn.lower.state is $worn.upper.state and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<combat-pull-outfit-up "" "upper" $_hand>> <<else>> <<combat-pull-outfit-down "" "upper" $_hand>> <</if>> <<else>> <<combat-tug-clothing "upper" $_hand>> <</if>> <</widget>> <<widget "combat-hand-on-underupperclothes">> <<set $_hand to _args[0]>> <<if _underOutfit is false>> <<if $worn.under_upper.open is 1>> <<combat-pull-clothing-down "under_upper" $_hand>> <<else>> <<combat-pull-clothing-up "under_upper" $_hand>> <</if>> <<elseif $worn.under_upper.open is 1>> <<if $worn.under_lower.state is $worn.under_upper.state_top and $worn.under_lower.state is $worn.under_upper.state and setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1>> <<combat-pull-outfit-up "under" "upper" $_hand>> <<else>> <<combat-pull-outfit-down "under" "upper" $_hand>> <</if>> <</if>> <</widget>> <<widget "combat-hand-on-clothes">> <<set $_slot to _args[0]>> <<set $_hand to _args[1]>> <<set $_strugglevar to $_slot.replace("_","") + "struggle">> <<rng>> <<if $worn[$_slot].name is "naked">> <<cast_aside_clothes>> <<combat-reset-hand $_hand>> <<elseif $worn[$_slot].type.includes("strap-on") and $worn[$_slot].state is "waist" and $penisstate is 0>> <<combat-reset-hand $_hand>> <<elseif V[$_strugglevar] is 1>> <<set V[$_strugglevar] to 0>> You manage to keep <<him>> from stripping you of your $worn[$_slot].name. <<set $speechstripstruggle to 1>> <<elseif $rng gte 101>> <span class="lblue"><<He>> releases <<his>> hand from your $worn[$_slot].name.</span> <<combat-reset-hand $_hand>> <<elseif $rng lte 100>> <<switch $_slot>> <<case "under_lower">> <<combat-hand-on-underlowerclothes $_hand>> <<case "lower">> <<combat-hand-on-lowerclothes $_hand>> <<case "over_lower">> <<combat-hand-on-overlowerclothes $_hand>> <<case "under_upper">> <<combat-hand-on-underupperclothes $_hand>> <<case "upper">> <<combat-hand-on-upperclothes $_hand>> <<case "over_upper">> <<combat-hand-on-overupperclothes $_hand>> <</switch>> <</if>> <<switch $_slot>> <<case "under_upper" "upper" "over_upper">> <<bodypart_admire_chance "breasts">> <<case "over_lower" "lower">> <<bodypart_admire_chance "back">> <<case "under_lower">> <<bodypart_admire_chance "pubic">> <</switch>> <</widget>> <<widget "combat-hand-on-lube">> <<if $NPCList[_n].penis is "vaginaentrance" and $player.bodyliquid.vaginaoutside.goo lt 5>> <<He>> squeezes the bottle of lubricant in <<his>> _args[0] hand, <span class="pink">covering your <<pussy>> in slimy fluid.</span> <<neutral 10 _n>><<bodyliquid "vaginaoutside" "goo">> <<elseif $NPCList[_n].penis is "anusentrance" and $player.bodyliquid.bottom.goo lt 5>> <<He>> squeezes the bottle of lubricant in <<his>> _args[0] hand, <span class="pink">covering your <<bottom>> in slimy fluid.</span> <<neutral 10 _n>><<bodyliquid "bottom" "goo">> <<elseif $NPCList[_n].penis is "otheranusentrance" and $player.bodyliquid.penis.goo lt 5>> <<He>> squeezes the bottle of lubricant in <<his>> _args[0] hand, <span class="pink">covering your <<penis>> in slimy fluid.</span> <<neutral 10 _n>><<bodyliquid "penis" "goo">> <<elseif $NPCList[_n].vagina is "penisentrance" and $player.bodyliquid.penis.goo lt 5>> <<He>> squeezes the bottle of lubricant in <<his>> _args[0] hand, <span class="pink">covering your <<penis>> in slimy fluid.</span> <<neutral 10 _n>><<bodyliquid "penis" "goo">> <<elseif $NPCList[_n].vagina is "otheranusentrance" and $player.bodyliquid.penis.goo lt 5>> <<He>> squeezes the bottle of lubricant in <<his>> _args[0] hand, <span class="pink">covering your <<penis>> in slimy fluid.</span> <<neutral 10>><<bodyliquid "penis" "goo">> <<elseif ($NPCList[_n].penis is "vaginaentrancedouble" or $NPCList[_n].penis is "vaginaimminentdouble") and $player.bodyliquid.vaginaoutside.goo lt 5>> <<He>> squeezes the bottle of lubricant in <<his>> _args[0] hand, <span class="pink">covering your <<pussy>> in slimy fluid.</span> <<neutral 10>><<bodyliquid "vaginaoutside" "goo">> <<elseif ($NPCList[_n].penis is "anusentrancedouble" or $NPCList[_n].penis is "anusimminentdouble") and $player.bodyliquid.bottom.goo lt 5>> <<He>> squeezes the bottle of lubricant in <<his>> _args[0] hand, <span class="pink">covering your <<bottom>> in slimy fluid.</span> <<neutral 10>><<bodyliquid "bottom" "goo">> <<else>> <span class="lblue"><<He>> casts aside the lube in <<his>> _args[0] hand.</span> <<combat-reset-hand _args[0]>> <</if>> <</widget>> <<widget "combat-hand-on-shoes">> <<if $worn.feet.name isnot "naked">> <<He>> tugs off your $worn.feet.name. <<feetstrip>> <<neutral 5 _n>> <</if>> <<combat-reset-hand _args[0]>> <</widget>> <<widget "combat-hand-on-socks">> <<if $worn.legs.name isnot "naked">> <<He>> tugs off your $worn.legs.name, exposing your feet. <<legsstrip>> <<neutral 5 _n>> <</if>> <<combat-reset-hand _args[0]>> <</widget>> <<widget "combat-hand-on-shackle">> <span class="red"><<He>> clamps the iron shackles around your ankles.</span> They lock with a click. <<if $carried.feet.name isnot "naked">> <<silently>><<generalSteal "feet">><</silently>> <</if>> <<shackle_feet>> <<combat-reset-hand _args[0]>> <</widget>> <<widget "combat-hand-on-shackle-imminent">> <span class="pink"><<He>> pulls your ankles into the iron shackles.</span> <<combat-set-hand-target _args[0] "shackle_imminent">> <</widget>> <<widget "combat-hand-on-head_breasts">> <<rng>> <<if $rng gte 69 and ($worn.face.type.includes("covered") or $worn.face.type.includes("gag"))>> <<He>> pushes your mouth against <<hisselect _n>> $NPCList[_n].breastdesc, but it's blocked by your $worn.face.name. <<set $speechheadbreasts to 1>> <<if $NPCList[_n].type is "plant" and $NPCList[_n].pronoun is "f" and $breastfeedingdisable is "f">> <span class="pink">Nectar leaks from <<hisselect _n>> bud.</span> <<damageFaceCover 1>> <<elseif $NPCList[_n].lactation is 1 and $breastfeedingdisable is "f">> <span class="pink">Milk leaks from <<hisselect _n>> bud.</span> <<set $speechheadsuckleclosed to 1>> <<damageFaceCover 1>> <<else>> <<set $speechheadnippleclosed to 1>> <</if>> <<damageFaceCover 1>> <<elseif $rng gte 70>> <<sex 3 "mouth" _n>> <<combat-set-hand-target _args[0] "head_nipples">> <<if $mouthstate isnot "nipple">> <<set $mouthactiondefault to "breastclosed">> <</if>> <<set $mouthstate to "nipple">><<set $NPCList[_n].chest to "mouth">><<set $mouthtarget to _n>> <<if $NPCList[_n].breastsize gte 1>> <<He>> pushes your mouth against <<hisselect _n>> $NPCList[_n].breastdesc, <span class="purple">and your mouth against <<hisselect _n>> nipple.</span> <<else>> <span class="purple"><<He>> pushes your mouth against <<hisselect _n>> $NPCList[_n].breastdesc.</span> <</if>> <<if $NPCList[_n].type is "plant" and $NPCList[_n].pronoun is "f" and $breastfeedingdisable is "f">> <span class="pink">Nectar leaks from <<hisselect _n>> bud.</span> <<elseif $NPCList[_n].lactation is 1 and $breastfeedingdisable is "f">> <span class="pink">Milk leaks from <<hisselect _n>> bud.</span> <<set $speechheadsuckleclosed to 1>> <<else>> <<set $speechheadnippleclosed to 1>> <</if>> <<else>> <<neutral 3 _n>> <<He>> holds your head between <<hisselect _n>> $NPCList[_n].breastsdesc. <<if $NPCList[_n].breastsize gte 6>> <<set $speechheadbreasts to 1>> <<else>> <<set $speechheadchest to 1>> <</if>> <</if>> <<bodypart_admire_chance forehead>> <</widget>> <!-- pass "left", "right" or "both" as the first argument, and "hand" or "hands" for the second argument --> <<widget "combat-hand-on-mask">> <<if ($worn.face.type.includes("mask") or $worn.face.type.includes("covered")) and ($nomask isnot 1 or $enemyanger gt ($enemyangermax / 2))>> <<set $_hishand to (_args[0] isnot "both" ? "<<his>> " : "") + _args[0] + " " + _args[1]>> <<if $face is "covered">> <<He>> tries to pull your $worn.face.name off your face with $_hishand, <span class="lblue">but you grip it tight.</span> <<if random(1, 3) is 3>> <span class="lblue"><<He>> releases it with a frustrated sigh.</span> <<combat-reset-hand _args[0]>> <<else>> <<if $enemyanger gt ($enemyangermax / 2)>> <span class="red"><<He>> tries to force your $worn.face.name off!</span> <<damageFaceCover 4>> <</if>> <</if>> <<else>> <<He>> pulls your $worn.face.name off your face with $_hishand, <span class="pink">revealing your identity.</span> <<facestrip>><<clothesstripstat>><<combat-reset-hand _args[0]>> <</if>> <<else>> <<combat-reset-hand _args[0]>> <</if>> <</widget>> <<widget "combat-hand-on-chastity">> <<if $worn.genitals.name is "naked">> <<cast_aside_clothes>> <<combat-reset-hand _args[0]>> <<else>> <<if $worn.genitals.name is "chastity parasite">> <span class="blue"><<He>> pulls on your $worn.genitals.name, only to then squeeze it.</span> <span class="lewd"><<His>> rough handling leaves you feeling more aroused.</span> <<arousal 100 "genitals">> <<if random(0, 100) gt $enemyanger>> Seeing your reaction to squeezing it, <<he>> continues. <<arousal 200 "genitals">><<if !$earSlime.defyCooldown and $earSlime.vibration lt 120>><<set $earSlime.vibration += 5>><</if>> <<elseif $enemyanger gt 100>> Seeing your reaction to squeezing it, <<he>> gives it one more go at tearing it away before giving up. <<set $worn.genitals.integrity -= 5>> <<arousal 100 "genitals">><<combat-reset-hand _args[0]>><<set $speechchastity to 1>><<bodypart_admire_chance pubic>> <<else>> <<He>> stops after a few more moments of squeezing, looking bewildered. <<combat-reset-hand _args[0]>><<set $speechchastity to 1>><<bodypart_admire_chance pubic>> <</if>> <<set $worn.genitals.integrity -= 5>> <<elseif $worn.genitals.origin is $NPCList[_n].fullDescription>> <span class="lblue"><<He>> gently holds onto your $worn.genitals.name before letting it go.</span> <<combat-reset-hand _args[0]>><<set $speechchastity to 1>><<bodypart_admire_chance pubic>> <<else>> <span class="blue"><<He>> tries to loosen your $worn.genitals.name.</span> <<His>> rough handling leaves you feeling more frustrated and aroused. <<He>> gives up after a few moments of impotent tugging, looking disappointed. <<set $enemyanger += 5>><<combat-reset-hand _args[0]>><<set $speechchastity to 1>><<bodypart_admire_chance pubic>><<set $worn.genitals.integrity -= 10>> <</if>> <<neutral 1 "genitals" _n>><<arousal 5 "genitals">> <</if>> <</widget>> <<widget "combat-hand-on-throat">> <<if $asphyxiaLvl gte 1>> <<rng>> <<if $consensual is 1>> <<mancombat_choke>> <<else>> <<mancombat_strangle>> <</if>> <</if>> <</widget>> <<widget "combat-hand-on-head_nipples">> <<sex 3 "mouth">> <<personselect _n>> <<He>> continues to push your mouth against <<his>> $NPCList[_n].breastdesc. <<if $breastfeedingdisable is "f">> <<if $NPCList[_n].type is "plant" and $NPCList[_n].pronoun is "f">> <span class="pink">Nectar leaks from <<his>> bud.</span> <<elseif $NPCList[_n].lactation is 1>> <span class="pink">Milk leaks from <<his>> bud.</span> <</if>> <</if>> <<bodypart_admire_chance forehead>> <</widget>> <<widget "combat-pen-on-bodypart">> <<set $_hand to _args[0]>><<set $_penbodypart to _args[1]>> <<He>> scrawls on your <<bodypart $_penbodypart>>: <<bodywriting_npc $_penbodypart `$NPCList[_n][$_hand + "tool"]`>> <<set $newlyWritten.pushUnique($_penbodypart)>> <<combat-reset-hand $_hand>><<set $NPCList[_n][$_hand + "tool"] to 0>> <</widget>> <<widget "combat-set-hand-start">> <<rng>> <<outfitChecks>> <<combat-get-other-hand _args[0]>> <<if $askedtochoke is 1 and $consensual is 1 and $asphyxiaLvl gte 1 and ($neckuse isnot "hand" or ($otherNPChand is "throat" and $rng lte 30))>> <<set $neckuse to "hand">> <<set $askedtochoke to 0>> <<combat-set-hand-target _args[0] "throat">> <<neutral 1 _n>> <<elseif $combatgoal is "strip">> <<if $worn.over_upper.name isnot "naked" and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.over_upper.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>> <<set $handtarget to "overupperclothes">> <<elseif $worn.upper.name isnot "naked" and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.upper.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>> <<set $handtarget to "upperclothes">> <<elseif $worn.under_upper.name isnot "naked" and !$worn.under_upper.type.includes("sticky") and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.under_upper.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>> <<set $handtarget to "underupperclothes">> <<elseif $worn.over_lower.name isnot "naked" and $walltype isnot "front">> <span class="purple"><<He>> grasps your $worn.over_lower.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>> <<set $handtarget to "overlowerclothes">> <<elseif $worn.lower.name isnot "naked" and $walltype isnot "front">> <span class="purple"><<He>> grasps your $worn.lower.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>> <<set $handtarget to "lowerclothes">> <<elseif $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside" and $walltype isnot "front">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>> <<set $handtarget to "underlowerclothes">> <<elseif $analdisable is "f" and playerHasButtPlug() and random(0,1) is 0>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked" and $walltype isnot "front">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>> <<set $handtarget to "genitals">> <<else>> <!-- You're naked, so the strip attack stops. Either detect this and stop the attack, or just let the attack continue normally. --> <<set $combatgoal to 0>> <<set $handtarget to 0>> <<set $NPCList[_n].mouth to 0>> <<set _stripped to true>> <</if>> <<combat-set-hand-target _args[0] $handtarget>> <<elseif $NPCList[_n].heldSexToy isnot undefined and $rng lt 25 and !getSexToysofType("all").includes($NPCList[_n].lefttool) and !getSexToysofType("all").includes($NPCList[_n].righttool)>> <<giveNPCsextoy _n $NPCList[_n].heldSexToy _args[0]>> <<combat-reveal-sextoy _args[0]>> <<elseif $rng lte 7 and ($consensual isnot 1 or ["Whitney", "Kylar", "Sydney"].includes($npc[$npcrow.indexOf(_n)])) and $bodywritingLvl gte 2 and $enemytype isnot "beast" and !$noBodyWriting>> <<set _rng to random(1, 5)>> <<if (_rng is 5 and $NPCList[_n].type isnot "plant" and $role isnot "islander") or $npc.includes("Sydney")>> <span class="purple"><<He>> pulls a <span class="pink">permanent</span> marker pen from <<his>> pocket, flicking off the lid.</span> <<set $tooltarget to "marker">> <<elseif _rng is 4 and $NPCList[_n].type isnot "plant" and $NPCList[_n].pronoun is "f" and $role isnot "islander">> <span class="purple"><<He>> pulls lipstick from <<his>> pocket, and pushes out the tip.</span> <<set $tooltarget to "lipstick">> <<elseif (_rng is 3 and $outside is 1 and ["forest","moor","farmlands","farm"].includes($location)) or $NPCList[_n].type is "plant" or $role is "islander">> <span class="purple"><<He>> lifts a handful of mud from the ground.</span> <<set $tooltarget to "mud">> <<else>> <span class="purple"><<He>> pulls a pen from <<his>> pocket, flicking off the lid.</span> <<set $tooltarget to "pen">> <</if>> <<if _args[0] is "left">> <<set $NPCList[_n].lefttool to $tooltarget>> <<set $NPCList[_n].lefthand to "pen">> <<else>> <<set $NPCList[_n].righttool to $tooltarget>> <<set $NPCList[_n].righthand to "pen">> <</if>> <<neutral 1 _n>> <<elseif $enemyanger + $rng lte 15 and $NPCList[_n].traits.includes("hypnotist") and $hypnosisdisable is "f">> <<set _tool to $role is "islander" ? "bundle of herbs" : "pendant">> <<He>> produces a <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to "hypnosis">> <<set $NPCList[_n].lefttool to _tool>> <<print $NPCList[_n].lefttool>>, <<else>> <<set $NPCList[_n].righthand to "hypnosis">> <<set $NPCList[_n].righttool to _tool>> <<print $NPCList[_n].righttool>>, <</if>> <span class="purple">and <<print $role is "islander" ? "waves" : "swings">> it in front of your face.</span> <<elseif $enemyanger + $rng lte 20>> <<if $walltype is "front">> <<He>> strokes your cheek. <<neutral 10 _n>> <<else>> <<set $handtarget to 0>> <<if $worn.over_lower.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.over_lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "overlowerclothes">><<neutral 1 _n>> <<elseif $worn.lower.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "lowerclothes">><<neutral 1 _n>> <<elseif !(($player.penisExist and !playerChastity("penis")) or ($player.vaginaExist and !playerChastity("vagina")))>> <<He>> <<strokes>> your inner thigh and brushes <<his>> fingers against your $worn.genitals.name<<if $worn.genitals.name is "chastity parasite">>, <span class="lewd">leaving you feeling more aroused.</span><<arousal 100 "genitals">><<else>>.<</if>> <<neutral 10 "genitals" _n>><<set $speechchastity to 1>> <<elseif ($player.penisExist and !playerChastity("penis")) and ($player.vaginaExist and !playerChastity("vagina"))>> <<if $player.ballsExist and random(0,1) is 1>> <<He>> <<strokes>> your <<testicles>> and teases your glans. <<neutral 10 "genitals" _n>><<set $speechglans to 1>> <<else>> <<He>> strokes the base of your <<penis>> where it meets your <<pussy>>. <<neutral 10 "genitals" _n>><<set $speechfutapenis to 1>> <</if>> <<elseif $player.penisExist and $player.ballsExist and !playerChastity("penis")>> <<He>> <<strokes>> your <<testicles>> and teases your glans. <<neutral 10 "genitals" _n>><<set $speechglans to 1>> <<elseif $player.vaginaExist and !playerChastity("vagina")>> <<He>> <<strokes>> your pubic mound and teases your clit. <<neutral 10 "genitals" _n>><<set $speechclit to 1>> <</if>> <<combat-set-hand-target _args[0] $handtarget>> <</if>> <<elseif $enemyanger + $rng lte 30>> <<set $handtarget to 0>> <<if $position is "wall" and $walltype isnot "front">> <<if $worn.over_lower.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.over_lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "overlowerclothes">><<neutral 1 _n>> <<elseif $worn.lower.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "lowerclothes">><<neutral 1 _n>> <<elseif playerHasStrapon()>> <<He>> <<strokes>> your inner thigh and brushes <<his>> fingers against your $worn.under_lower.name. <<neutral 10 "genitals" _n>> <<elseif !(($player.penisExist and !playerChastity("penis")) or ($player.vaginaExist and !playerChastity("vagina")))>> <<He>> <<strokes>> your inner thigh and brushes <<his>> fingers against your $worn.genitals.name<<if $worn.genitals.name is "chastity parasite">>, <span class="lewd">leaving you feeling more aroused.</span><<arousal 100 "genitals">><<else>>.<</if>> <<neutral 10 "genitals" _n>><<set $speechchastity to 1>> <<elseif ($player.penisExist and !playerChastity("penis")) and ($player.vaginaExist and !playerChastity("vagina"))>> <<He>> runs <<his>> hand up your thigh and over the area where your <<penis>> and <<pussy>> meet. <<neutral 10 "genitals" _n>><<set $speechfutapenis to 1>> <<elseif $player.penisExist and !playerChastity("penis")>> <<He>> <<strokes>> your inner thigh and brushes <<his>> fingers against your <<glans>>. <<neutral 10 "genitals" _n>><<set $speechglans to 1>> <<elseif $player.vaginaExist and !playerChastity("vagina")>> <<He>> <<strokes>> your inner thigh and brushes <<his>> fingers against your clit. <<neutral 10 "genitals" _n>><<set $speechclit to 1>> <<else>> <<He>> <<strokes>> your inner thigh. <<neutral 10 "genitals" _n>> <</if>> <<combat-set-hand-target _args[0] $handtarget>> <<bodypart_admire_chance random_thigh>> <<else>> <<if $worn.over_upper.name isnot "naked" and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.over_upper.name with <<his>> _args[0] hand.</span> <<set $handtarget to "overupperclothes">><<neutral 1 _n>> <<elseif $worn.upper.name isnot "naked" and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.upper.name with <<his>> _args[0] hand.</span> <<set $handtarget to "upperclothes">><<neutral 1 _n>> <<elseif $worn.under_upper.name isnot "naked" and !$worn.under_upper.type.includes("sticky") and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.under_upper.name with <<his>> _args[0] hand.</span> <<set $handtarget to "underupperclothes">><<neutral 1 _n>> <<else>> <<He>> <<strokes>> your chest, <<his>> fingers lingering around your <<nipple>>. <<neutral 4 "breasts" _n>><<playWithBreasts>> <</if>> <<combat-set-hand-target _args[0] $handtarget>> <<bodypart_admire_chance breasts>> <</if>> <<elseif $enemyanger + $rng lte 35>> <<if $walltype is "front">> <<He>> cups your chin with <<his>> _args[0] hand. <<neutral 2 _n>> <<else>> <<set $handtarget to 0>> <<if _skirtExposed>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "underlowerclothes">><<neutral 1 _n>> <<elseif $analdisable is "f" and random(0,1) is 0 and playerHasButtPlug()>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<set $handtarget to "genitals">><<neutral 1 "genitals" _n>> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $anususe is 0 and $analdisable is "f">> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<bottom>>.</span> <<set $handtarget to "anusentrance">><<set $anususe to "handentrance">><<set $anusstate to "handentrance">><<neutral 1 _n>> <</if>> <</if>> <</if>> <<elseif $worn.lower.state isnot "waist">> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "underlowerclothes">><<neutral 1 _n>> <<elseif $analdisable is "f" and random(0,1) is 0 and playerHasButtPlug()>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<set $handtarget to "genitals">><<neutral 1 "genitals" _n>> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $anususe is 0 and $analdisable is "f">> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<bottom>>.</span> <<set $handtarget to "anusentrance">><<set $anususe to "handentrance">><<set $anusstate to "handentrance">><<neutral 1 _n>> <</if>> <</if>> <</if>> <</if>> <<combat-set-hand-target _args[0] $handtarget>> <<bodypart_admire_chance back>> <</if>> <<elseif $enemyanger + $rng lte 40>> <<if $walltype is "front">> <<He>> runs <<his>> fingers through your hair with <<his>> _args[0] hand. <<neutral 2 _n>> <<else>> <<set $handtarget to 0>> <<if _skirtExposed>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "underlowerclothes">><<neutral 1 _n>> <<elseif $analdisable is "f" and playerHasButtPlug() and random(0,1) is 0 and $worn.genitals.anal_shield isnot undefined and !playerChastity("anus")>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<set $handtarget to "genitals">><<neutral 1 "genitals" _n>> <<elseif $worn.under_lower.vagina_exposed is 1 and $worn.genitals.vagina_exposed is 1>> <<if $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if $player.vaginaExist and $vaginause is 0 and (!$player.penisExist or $penisuse isnot 0 or random(0,100) gte 50)>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<pussy>>, resting a finger on your entrance.</span> <<set $handtarget to "vaginaentrance">><<set $vaginause to 1>><<neutral 1 "genitals" _n>> <<elseif $player.penisExist and $penisuse is 0>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<penis>>.</span> <<set $handtarget to "penisentrance">><<set $penisuse to 1>><<neutral 1 "genitals" _n>> <</if>> <</if>> <</if>> <<elseif $worn.lower.state isnot "waist">> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<set $handtarget to "underlowerclothes">><<neutral 1 "genitals" _n>> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<set $handtarget to "genitals">><<neutral 1 "genitals" _n>> <<elseif $analdisable is "f" and random(0,1) is 0 and playerHasButtPlug()>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.under_lower.vagina_exposed is 1 and $worn.genitals.vagina_exposed is 1>> <<if $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if $player.vaginaExist and $vaginause is 0 and (!$player.penisExist or $penisuse isnot 0 or random(0,100) gte 50)>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<pussy>>, resting a finger above your entrance.</span> <<set $handtarget to "vaginaentrance">><<set $vaginause to 1>><<neutral 1 "genitals" _n>> <<elseif $player.penisExist and $penisuse is 0>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<penis>>.</span> <<set $handtarget to "penisentrance">><<set $penisuse to 1>><<neutral 1 "genitals" _n>> <</if>> <</if>> <</if>> <</if>> <<combat-set-hand-target _args[0] $handtarget>> <<bodypart_admire_chance pubic>> <</if>> <<elseif $enemyanger + $rng lte 45>> <<if $position is "wall" and $walltype isnot "front">> <<He>> leans against the wall. <<else>> <<He>> caresses your tummy. <<neutral 1 _n>> <<if playerBellyVisible()>><<set $speechpregnant to 1>><</if>> <</if>> <<bodypart_admire_chance back>> <<elseif $enemyanger + $rng lte 50>> <<if $position is "wall" and $walltype isnot "front">> <<He>> grips your thigh and pulls, but you're stuck firm. <<neutral 1 _n>> <<bodypart_admire_chance random_thigh>> <<else>> <<He>> <<strokes>> your hair. <<neutral 1 _n>> <<bodypart_admire_chance forehead>> <</if>> <<elseif $enemyanger + $rng lte 55>> <<if $position is "wall" and $walltype isnot "front">> <<He>> grips your thigh and pulls, but you're stuck firm. <<neutral 1 _n>> <<bodypart_admire_chance random_thigh>> <<elseif ($worn.face.type.includes("mask") or $worn.face.type.includes("gag")) and ($nomask isnot 1 or $enemyanger gte ($enemyangermax / 2))>> <span class="purple"><<He>> grasps your $worn.face.name with <<his>> _args[0] hand.</span> <<neutral 1 _n>><<combat-set-hand-target _args[0] "mask">> <<else>> <<He>> <<strokes>> your hair. <<neutral 1 _n>> <<bodypart_admire_chance forehead>> <</if>> <<elseif $enemyanger + $rng lte 60>> <<if $position is "wall" and $walltype isnot "front">> <<He>> tugs on your leg with <<his>> _args[0] hand, but you're stuck firm. <<neutral 1 _n>> <<bodypart_admire_chance back>> <<elseif !$worn.upper.type.includes("naked") and $worn.upper.state isnot "chest" and $worn.upper.state_top is "chest">> <<He>> gropes your <<breasts>> through your $worn.upper.name. <<if Weather.BodyTemperature.state is "chilly" or Weather.BodyTemperature.state is "cold">> Your buds stand erect and vulnerable in the cold. <</if>> <<neutral 2 "breasts" _n>><<playWithBreasts>> <<bodypart_admire_chance breasts>> <<elseif !$worn.under_upper.type.includes("naked") and $worn.under_upper.state isnot "chest" and $worn.under_upper.state_top is "chest">> <<He>> gropes your <<breasts>> through your $worn.under_upper.name. <<if Weather.BodyTemperature.state is "chilly" or Weather.BodyTemperature.state is "cold">> Your buds stand erect and vulnerable in the cold. <</if>> <<neutral 2 "breasts" _n>><<playWithBreasts>> <<bodypart_admire_chance breasts>> <<else>> <<He>> gropes your exposed <<breasts>> with <<his>> _args[0] hand. <<if Weather.BodyTemperature.state is "chilly" or Weather.BodyTemperature.state is "cold">> Your buds stand erect and vulnerable in the cold. <</if>> <<neutral 4 "breasts" _n>><<playWithBreasts>> <<bodypart_admire_chance breasts>> <</if>> <<elseif $enemyanger + $rng lte 70 and $pronoun is "f" and $position isnot "wall" and not $gloryhole and $head is 0 and ($mouthuse is 0 or $mouthuse is "breasts") and ($NPCList[_n].chest is 0 or $NPCList[_n].chest is "clothed") and $NPCList[_n].location.genitals isnot "head" and $NPCList[_n].location.head isnot "genitals" and $NPCList[_n].stance isnot "topface">> <<if $NPCList[_n].chest is "clothed">> <span class="blue"><<He>> <<npcUndressText $NPCList[_n] "upper" "self">>,</span> and <span class="pink">pushes your face against <<his>> $NPCList[_n].breastsdesc</span> with <<his>> _args[0] hand. <<set $NPCList[_n].chest to 0>> <<else>> <<He>> cradles the back of your head in <<his>> _args[0] hand, and <span class="pink">pushes your face against <<his>> $NPCList[_n].breastsdesc.</span> <</if>> <<if $NPCList[_n].type is "plant" and $breastfeedingdisable is "f">> <span class="purple">It carries a sweet scent.</span> <<elseif $NPCList[_n].lactation is 1 and $breastfeedingdisable is "f">> <span class="purple">It carries a scent of milk.</span> <</if>> <<combat-set-hand-target _args[0] "head_breasts">><<set $mouthuse to "breasts">><<set $mouthstate to "breasts">><<set $head to "breasts">> <<set $NPCList[_n].chest to "mouthentrance">><<set $speechheadbreasts to 1>><<neutral 3 _n>><<set $mouthactiondefault to "breastclosed">> <<set $NPCList[_n].location.head to "head">><<set $mouthtarget to _n>> <<bodypart_admire_chance forehead>> <<elseif $enemyanger + $rng lte 80>> <<if $walltype is "front">> <<He>> pushes your shoulder with <<his>> _args[0] hand, testing how stuck you are. <<neutral 2 _n>> <<else>> <<set $speechbottom to 1>> <<if $worn.over_lower.state is "waist" and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0>> <<if $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> tries to grope your <<bottom>> through your $worn.over_lower.name, but you're wearing too much to really feel it. <<neutral 1 _n>> <<else>> <<He>> gropes your <<bottom>> through your $worn.over_lower.name. <<neutral 5 _n>> <</if>> <<elseif $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> gropes your <<bottom>> through your $worn.lower.name. <<neutral 2 _n>> <<elseif $worn.under_lower.state is "waist">> <<He>> gropes your <<bottom>> through your $worn.under_lower.name. <<neutral 2 _n>> <<else>> <<He>> fondles and <<strokes>> your exposed <<bottom>>. <<neutral 4 _n>> <</if>> <<bodypart_admire_chance random_bottom>> <</if>> <<elseif $enemyanger + $rng lte 90 and $enemytype isnot "beast" and $NPCList[_n].type isnot "plant" and $NPCList[_n].fullDescription isnot "Ivory Wraith" and !$abomination and $role isnot "islander">> <<combat-set-hand-target _args[0] "lube">> <<if $NPCList[_n].penis is "vaginaentrance" and $player.bodyliquid.vaginaoutside.goo lt 5 and !playerChastity("vagina")>> <span class="purple"><<He>> holds a bottle of lubricant near your <<pussy>>.</span> <<elseif $NPCList[_n].penis is "anusentrance" and $player.bodyliquid.bottom.goo lt 5 and !playerChastity("anus")>> <span class="purple"><<He>> holds a bottle of lubricant near your <<bottom>>.</span> <<elseif $NPCList[_n].penis is "otheranusentrance" and $player.bodyliquid.penis.goo lt 5 and !playerChastity("penis")>> <span class="purple"><<He>> holds a bottle of lubricant near your <<penis>>.</span> <<elseif $NPCList[_n].vagina is "penisentrance" and $player.bodyliquid.penis.goo lt 5 and !playerChastity("penis")>> <span class="purple"><<He>> holds a bottle of lubricant near your <<penis>>.</span> <<elseif $NPCList[_n].vagina is "otheranusentrance" and $player.bodyliquid.penis.goo lt 5 and !playerChastity("penis")>> <span class="purple"><<He>> holds a bottle of lubricant near your <<penis>>.</span> <<else>> <<He>> smacks your hip. <<neutral 5 _n>> <<combat-reset-hand _args[0]>> <</if>> <<elseif $enemyanger + $rng lte 95>> <<if $worn.feet.cursed isnot 1 and $worn.feet.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.feet.name.</span> <<combat-set-hand-target _args[0] "shoes">> <<neutral 3 _n>> <<else>> <<if $worn.legs.name is "naked">> <<He>> rubs your foot. <<neutral 1 _n>> <<else>> <span class="purple"><<He>> grasps your $worn.legs.name.</span> <<combat-set-hand-target _args[0] "socks">> <<neutral 3 _n>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 100 and $walltype isnot "front">> <<if !(($player.penisExist and !playerChastity("penis")) or ($player.vaginaExist and !playerChastity("vagina")))>> <<if $worn.over_lower.state is "waist" and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0>> <<if $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> tries to fondle you around your $worn.genitals.name through your $worn.over_lower.name, but you're wearing too much to really feel it. <<neutral 1 _n>> <<else>> <<He>> fondles and <<strokes>> you around your $worn.genitals.name through your $worn.over_lower.name. <<neutral 5 "genitals" _n>> <</if>> <<elseif $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> fondles and <<strokes>> around your $worn.genitals.name through your $worn.lower.name. <<neutral 5 "genitals" _n>> <<elseif $worn.under_lower.state is "waist">> <<He>> fondles and <<strokes>> around your $worn.genitals.name through your $worn.under_lower.name. <<neutral 5 "genitals" _n>> <<elseif $penisuse is 0>> <<He>> fondles and <<strokes>> around your $worn.genitals.name. <<neutral 10 "genitals" _n>> <<else>> <<He>> <<strokes>> your thighs. <<neutral 10 "genitals" _n>> <</if>> <<bodypart_admire_chance random_thigh>> <<elseif $player.penisExist and (!$player.vaginaExist or random(0,100) gte 50) and !playerChastity("penis")>> <<if $worn.over_lower.state is "waist" and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0>> <<if $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> tries to grope your <<penis>> through your $worn.over_lower.name, but you're wearing too much to really feel it. <<neutral 1 _n>> <<else>> <<He>> gropes and <<strokes>> your <<penis>> through your $worn.over_lower.name. <<neutral 5 "genitals" _n>> <</if>> <<elseif $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> gropes and <<strokes>> your <<penis>> through your $worn.lower.name. <<neutral 5 "genitals" _n>> <<elseif $worn.under_lower.state is "waist">> <<He>> gropes and <<strokes>> your <<penis>> through your $worn.under_lower.name. <<neutral 5 "genitals" _n>> <<elseif $penisuse is 0>> <<He>> gropes and <<strokes>> your exposed <<penis>>. <<neutral 10 "genitals" _n>> <<elseif $player.ballsExist is true>> <<He>> cups and <<strokes>> your <<testicles>>. <<neutral 10 "genitals" _n>> <<else>> <<He>> runs a finger down your shaft, stopping and pressing against the point where your <<penis>> and <<pussy>> meet. <<neutral 10 "genitals" _n>> <</if>> <<bodypart_admire_chance pubic>> <<elseif $player.vaginaExist and !playerChastity("vagina")>> <<if $worn.over_lower.state is "waist" and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0>> <<if $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> tries to grope your labia through your $worn.over_lower.name, but you're wearing too much to really feel it. <<neutral 1 _n>> <<else>> <<He>> gropes and <<strokes>> your labia through your $worn.over_lower.name. <<neutral 5 "genitals" _n>> <</if>> <<elseif $worn.lower.state is "waist" and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0>> <<He>> gropes and <<strokes>> your labia through your $worn.lower.name. <<neutral 5 "genitals" _n>> <<elseif $worn.under_lower.state is "waist">> <<He>> gropes and <<strokes>> your labia through your $worn.under_lower.name. <<neutral 5 "genitals" _n>> <<else>> <<He>> gropes and <<strokes>> your exposed <<pussy>>. <<neutral 10 "genitals" _n>> <</if>> <<bodypart_admire_chance pubic>> <</if>> <<elseif $enemyanger + $rng lte 110 and $walltype isnot "front">> <<if $worn.over_lower.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.over_lower.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "overlowerclothes">><<neutral 1 "genitals" _n>> <<elseif $worn.lower.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.lower.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "lowerclothes">><<neutral 1 "genitals" _n>> <<elseif playerHasStrapon()>> <<He>> smacks your hip. <<neutral 15 _n>> <<elseif $player.penisExist>> /*$penis use need to be checked inside of $player.penisExist check to prevent mention of the clitoris*/ <<if $penisuse is 0>> <<He>> pinches your glans. <<neutral 15 "genitals" _n>><<bruise penis>><<set $speechglans to 1>> <<else>> <<He>> pinches your shaft. <<neutral 10 "genitals" _n>><<bruise penis>> <</if>> <<elseif $player.vaginaExist and !playerChastity("vagina")>> <<He>> pinches your clitoris. <<neutral 15 "genitals" _n>><<bruise vagina>><<set $speechclit to 1>> <</if>> <<bodypart_admire_chance pubic>> <<elseif $enemyanger + $rng lte 120>> <<if $position is "wall" and $walltype isnot "front">> <<He>> squeezes your thigh. <<violence 1>><<hitstat>><<bruise thigh>> <<bodypart_admire_chance random_thigh>> <<else>> <<combat-get-other-hand _args[0]>> <<if $worn.over_upper.name isnot "naked" and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.over_upper.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "overupperclothes">><<neutral 1 _n>> <<elseif $worn.upper.name isnot "naked" and $noupper isnot 1>> <span class="purple"><<He>> grasps your $worn.upper.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "upperclothes">><<neutral 1 _n>> <<elseif $asphyxiaLvl gte 1 and $nochoke isnot 1 and ($neckuse isnot "hand" or $otherNPChand is "throat")>> <span class="purple"><<He>> grabs your throat.</span> <<violence 2>><<combat-set-hand-target _args[0] "throat">><<set $neckuse to "hand">> <<else>> <<He>> tugs your hair. <<violence 1>> <</if>> <<bodypart_admire_chance random_shoulder>> <</if>> <<elseif $enemyanger + $rng lte 125 and $walltype isnot "front">> <<if _skirtExposed>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "underlowerclothes">><<neutral 1 "genitals" _n>> <<elseif $analdisable is "f" and random(0,1) is 0 and playerHasButtPlug()>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "genitals">><<neutral 1 "genitals" _n>> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $anususe is 0 and $analdisable is "f">> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<bottom>>.</span> <<combat-set-hand-target _args[0] "anusentrance">><<set $anususe to "handentrance">><<set $anusstate to "handentrance">><<neutral 1 _n>> <</if>> <</if>> <</if>> <<bodypart_admire_chance back>> <!-- note: the sections above and below are identical other than the bodypart_admire_chance back --> <<elseif $worn.lower.state isnot "waist">> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "underlowerclothes">><<neutral 1 "genitals" _n>> <<elseif $analdisable is "f" and random(0,1) is 0 and playerHasButtPlug()>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "genitals">><<neutral 1 "genitals" _n>> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $anususe is 0 and $analdisable is "f">> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<bottom>>.</span> <<combat-set-hand-target _args[0] "anusentrance">><<set $anususe to "handentrance">><<set $anusstate to "handentrance">><<neutral 1 _n>> <</if>> <</if>> <</if>> <</if>> <<bodypart_admire_chance random_bottom>> <<elseif $enemyanger + $rng lte 130 and $walltype isnot "front">> <<if _skirtExposed>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "underlowerclothes">><<neutral 1 "genitals" _n>> <<elseif $analdisable is "f" and random(0,1) is 0 and playerHasButtPlug()>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "genitals">><<neutral 1 "genitals" _n>> <<elseif $worn.under_lower.vagina_exposed is 1 and $worn.genitals.vagina_exposed is 1>> <<if $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if $player.vaginaExist and $vaginause is 0 and (!$player.penisExist or $penisuse isnot 0 or random(0,100) gte 50)>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<pussy>>, <<his>> finger resting on your entrance.</span> <<combat-set-hand-target _args[0] "vaginaentrance">><<set $vaginause to 1>><<set $vaginastate to "otherhandentrance">><<neutral 1 "genitals" _n>> <<elseif $player.penisExist and $penisuse is 0>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<penis>>.</span> <<combat-set-hand-target _args[0] "penisentrance">><<set $penisuse to 1>><<set $penisstate to "otherhandentrance">><<neutral 1 "genitals" _n>> <</if>> <</if>> <</if>> <<bodypart_admire_chance pubic>> <<elseif $worn.lower.state isnot "waist">> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.state isnot "totheside">> <span class="purple"><<He>> grasps your $worn.under_lower.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "underlowerclothes">><<neutral 1 "genitals" _n>> <<elseif $analdisable is "f" and random(0,1) is 0 and playerHasButtPlug()>> <span class="purple"><<He>> places <<his>> hand on your $worn.butt_plug.name.</span> <<neutral 1 _n>><<set $handtarget to "buttplug">> <<elseif $worn.genitals.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.genitals.name with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "genitals">><<neutral 1 "genitals" _n>> <<elseif $worn.under_lower.vagina_exposed is 1 and $worn.genitals.vagina_exposed is 1>> <<if $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if $player.vaginaExist and $vaginause is 0 and (!$player.penisExist or $penisuse isnot 0 or random(0,100) gte 50)>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<pussy>>, <<his>> finger resting on your entrance.</span> <<combat-set-hand-target _args[0] "vaginaentrance">><<set $vaginause to 1>><<neutral 1 "genitals" _n>> <<elseif $player.penisExist and $penisuse is 0>> <span class="purple"><<He>> presses <<his>> _args[0] hand against your <<penis>>.</span> <<combat-set-hand-target _args[0] "penisentrance">><<set $penisuse to 1>><<neutral 1 "genitals" _n>> <</if>> <</if>> <</if>> <</if>> <<bodypart_admire_chance pubic>> <<elseif $enemyanger + $rng lte 140>> <<if $position is "wall" and $walltype isnot "front">> <<He>> slaps your <<bottom>>. <<violence 1>><<bruise bottom>><<hitstat>> <<bodypart_admire_chance random_bottom>> <<else>> <span class="purple"><<He>> seizes your hair with <<his>> _args[0] hand.</span> <<combat-set-hand-target _args[0] "hair">><<violence 2>><<set $speechhair to 1>> <<bodypart_admire_chance forehead>> <</if>> <<elseif $enemyanger + $rng lte 160>> <<if $asphyxiaLvl gte 4 and $nochoke isnot 1 and ($neckuse isnot "hand" or $otherNPChand is "throat") and random(1,2) is 1>> <span class="purple"><<He>> grabs your throat.</span> <<violence 2>><<combat-set-hand-target _args[0] "throat">><<set $neckuse to "hand">> <<elseif $leftarm isnot "bound" and $rightarm isnot "bound" and $leftarm isnot "grappled" and $rightarm isnot "grappled" and $NPCList[_n].lefthand isnot "arms" and $NPCList[_n].righthand isnot "arms">> <span class="purple"><<He>> pins down your arms.</span> <<combat-set-hand-target _args[0] "arms">><<disablearms>><<set $leftarm to "grappled">><<set $rightarm to "grappled">><<set $lefttarget to _n>><<set $righttarget to _n>><<violence 2>><<bruise leftarm>><<bruise rightarm>><<set $speecharms to 1>> <<if $vaginause is "cover">> <<set $vaginause to 0>> <</if>> <<if $anususe is "cover">> <<set $anususe to 0>> <</if>> <<if $penisuse is "cover">> <<set $penisuse to 0>> <</if>> <<bodypart_admire_chance random_shoulder>> <<else>> <<if $walltype is "front">> <<He>> slaps your face. <<violence 10>><<bruise face>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_cheek>> <<else>> <<He>> slaps your <<bottom>>. <<violence 10>><<bruise bottom>><<hitstat>><<set $speechspank to 1>> <<bodypart_admire_chance random_bottom>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 175>> <<if $walltype is "front">> <<He>> digs <<his>> nails into your <<breasts>> while groping, giving no heed to your comfort. <<violence 10>><<bruise chest>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance back>> <<else>> <<He>> digs <<his>> nails into your <<bottom>> while groping, giving no heed to your comfort. <<violence 10>><<bruise bottom>><<hitstat>><<set $speechspank to 1>> <<bodypart_admire_chance back>> <</if>> <<elseif $enemyanger + $rng lte 180>> <<if $walltype is "front">> <<He>> smacks your <<breasts>>. <<violence 10>><<bruise chest>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance back>> <<else>> <<He>> smacks your thighs. <<violence 10>><<bruise thigh>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_thigh>> <</if>> <<elseif $enemyanger + $rng lte 185 and !(playerBellySize(true) gte 8)>> <<if $position is "wall" and $walltype isnot "front">> <<He>> beats your thigh. <<bruise thigh>><<hitstat>><<violence 10>><<set $speechbeat to 1>> <<bodypart_admire_chance random_thigh>> <<else>> <<He>> punches your tummy. <<violence 20>><<bruise tummy>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance back>> <</if>> <<elseif $enemyanger + $rng lte 190>> <<if $position is "wall" and $walltype isnot "front">> <<He>> spanks your <<bottom>>. <<violence 20>><<bruise bottom>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_bottom>> <<else>> <<He>> slaps your <<breasts>>. <<violence 20>><<bruise chest>><<hitstat>><<set $speechbeat to 1>><<playWithBreasts>> <<bodypart_admire_chance breasts>> <</if>> <<elseif $enemyanger + $rng lte 195>> <<if $walltype is "front">> <<He>> spits on your face. <<neutral 5 _n>> <<else>> <<if $NPCList[_n].clothes and $NPCList[_n].clothes.set>> <<set $_clothesSet to $NPCList[_n].clothes.set>> <</if>> <<if $worn.feet.cursed is 1>> <<He>> tests the restraints binding your legs. <<neutral 5 _n>> <<elseif $worn.feet.name isnot "naked">> <span class="purple"><<He>> grasps your $worn.feet.name.</span> <<combat-set-hand-target _args[0] "shoes">> <<neutral 3 _n>> <<elseif $enemytype is "man" and $NPCList[_n].fullDescription isnot "Ivory Wraith" and !$abomination and !$possessed and !$robinmist and $role isnot "islander" and !["maleSchoolSwim", "maleSchoolSwimShirt", "femaleSchoolSwim", "maleSwim1", "maleSwim2", "femaleSwim1", "femaleSwim2", "neutralSwim"].includes($_clothesSet)>> <span class="pink"><<He>> produces a pair of menacing metal shackles.</span> <<combat-set-hand-target _args[0] "shackle_entrance">> <<neutral 4 _n>> <<else>> <<He>> looks at your feet. <</if>> <</if>> <<elseif $enemyanger + $rng gte 196>> <<if _args[0] is "left">> <<if $position is "wall" and $walltype isnot "front">> <<if $player.penisExist>> <<He>> scratches your helpless <<bottom>>. <<violence 20>><<bruise bottom>><<hitstat>><<set $speechbeat to 1>> <<elseif $player.vaginaExist>> <<He>> scratches your helpless <<bottom>>. <<violence 20>><<bruise bottom>><<hitstat>><<set $speechbeat to 1>> <</if>> <<bodypart_admire_chance random_bottom>> <<else>> <<rng>> <<if $rng gte 81>> <<He>> punches your nose. <<violence 20>><<bruise face>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance forehead>> <<elseif $rng gte 61>> <<He>> punches the back of your neck. <<violence 20>><<bruise neck>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance back>> <<elseif $rng gte 41>> <<He>> punches your cheek. <<violence 20>><<bruise face>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_cheek>> <<elseif $rng gte 21>> <<He>> punches your jaw. <<violence 20>><<bruise face>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance breasts>> <<else>> <<He>> jabs the front of your neck. <<violence 20>><<bruise neck>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_shoulder>> <</if>> <</if>> <<else>> <<if $position is "wall" and $walltype isnot "front">> <<if $player.penisExist and (!$player.vaginaExist or random(0,100) gte 50)>> <<He>> jabs your gooch. <<violence 20>><<bruise penis>><<hitstat>><<set $speechbeat to 1>> <<elseif $player.vaginaExist>> <<He>> jabs your gooch. <<violence 20>><<bruise vagina>><<hitstat>><<set $speechbeat to 1>> <</if>> <<bodypart_admire_chance pubic>> <<else>> <<rng>> <<if $rng gte 81>> <<He>> scratches the side of your face. <<violence 20>><<bruise face>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_cheek>> <<elseif $rng gte 61>> <<He>> scratches the back of your neck. <<violence 20>><<bruise neck>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance back>> <<elseif $rng gte 41>> <<He>> scratches your cheek. <<violence 20>><<bruise face>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_cheek>> <<elseif $rng gte 21>> <<He>> scratches your jaw. <<violence 20>><<bruise face>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance random_shoulder>> <<else>> <<He>> scratches the front of your neck. <<violence 20>><<bruise neck>><<hitstat>><<set $speechbeat to 1>> <<bodypart_admire_chance back>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "man-combat">> <<outfitChecks>> <<set _n to _args[0]>> <!-- Converted his1-6 to hisselect #. Person1-6 to personselect #. $intro1-6 as array $NPCList[_n].intro --> <!-- Converted man1-6speech to manspeech #. Randomised penissize reaction.--> <<if ["m", "f", "i", "n", "t"].includes($NPCList[_n].pronoun)>> <<set $pronoun to $NPCList[_n].pronoun>> <<elseif $options.debugdisable is "f">> <span class="red">ERROR: Unexpected $$NPCList[_n].pronoun: [$NPCList[_n].pronoun]</span> <</if>> <<personselect _n>> <<switch _n>> <<case 0>> <<manspeech _n>> <<if $NPCList[0].intro isnot -1>> <<set $NPCList[0].intro to 1>> <</if>> <<case 1 2 3 4 5>> <<manspeech _n>><<if $NPCList[_n].intro isnot -1>><<set $NPCList[_n].intro to 1>><</if>> <</switch>> <<if $NPCList[_n].state is "stalk">> <<man-stalk>> <<elseif $NPCList[_n].state is "pursuit">> <<man-pursuit>> <<else>> <!-- HAND SECTION --> <<hand_section>> <!-- PENIS START --> <<rng>> <<if $NPCList[_n].penis is "clothed" and $npcSub isnot 1>> <<if $enemyarousal gte 40>> <span class="blue"><<He>> <<npcUndressText $NPCList[_n] "lower" "self">>, <<npcRevealText $NPCList[_n] "lower">>.</span> <<npcGenitalReaction $NPCList[_n]>> <<set $NPCList[_n].penis to 0>> <<if $NPCList[_n].vagina isnot "none">> <<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<if $NPCList[_n].fullDescription is "Sydney">> <<sydneyExpose>> <</if>> <</if>> <<if $NPCList[_n].penis is "strap-on">> <<He>> buckles <span class="blue"><<his>> $NPCList[_n].strapon.description around <<his>> hips.</span> <<set $NPCList[_n].penis to 0>> <</if>> <<rng>> <<if $NPCList[_n].penis is "thighs">> <<set $speechthigh to 1>> <<if $player.vaginaExist>> <<if $rng gte 101>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <span class="blue"><<He>> angles <<his>> $NPCList[_n].penisdesc towards your <<pussy>>.</span> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("vagina")>> <span class="red">Something about it scares you.</span> <</if>> <<set $thighuse to 0>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">><<set $vaginatarget to _n>><<set $speechvaginaentrance to 1>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your thighs and <<pussy>>. <<sex 5 "genital" _n>> <</if>> <<else>> <<if $rng gte 101>> <<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> out from between your thighs. <<set $thighuse to 0>><<set $NPCList[_n].penis to 0>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your thighs. <<sex 5 "genital" _n>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "cheeks">> <<set $speechcheeks to 1>> <<if $rng gte 101>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <span class="blue"><<He>> angles <<his>> $NPCList[_n].penisdesc towards your anus.</span> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $anustarget to _n>><<set $bottomuse to 0>><<set $cheekactiondefault to "cheeks">><<set $speechanusentrance to 1>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your cheeks. <<submission 3 _n>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "leftarm">> <<set $speechhandjobpenis to 1>> <<if $rng gte 1>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your fingers. <<submission 1 _n>> <<elseif $rng gte 101>> <<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your hand. <<set $NPCList[_n].penis to 0>><<set $leftarm to 0>><<set $leftactiondefault to "leftgrab">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "rightarm">> <<set $speechhandjobpenis to 1>> <<if $rng gte 1>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your fingers. <<submission 1 _n>> <<elseif $rng gte 101>> <<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your hand. <<set $NPCList[_n].penis to 0>><<set $rightarm to 0>><<set $rightactiondefault to "rightgrab">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "botharm">> <<set $speechhandjobpenis to 1>> <<if $rng gte 1>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your hands. <<submission 2 _n>> <<elseif $rng gte 101>> <<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your hands. <<set $NPCList[_n].penis to 0>><<set $leftarm to 0>><<set $rightarm to 0>><<set $rightactiondefault to "rightgrab">><<set $leftactiondefault to "leftgrab">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "feet">> <<set $speechfeet to 1>> <<if $rng gte 1>> <<if $enemyarousal gte (($enemyarousalmax / 10) * 8)>> <<if $npcSub>>You quicken your pace, rubbing <<his>> $NPCList[_n].penisdesc<<else>><<He>> fucks your feet<</if>> with increasing force as <<he>> approaches <<his>> peak. <<submission 1 _n>> <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> <<if $npcSub>>You rub and knead<<else>><<He>> pounds<</if>> <<his>> $NPCList[_n].penisdesc between your feet. <<submission 1 _n>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your feet. <<submission 1 _n>> <</if>> <<elseif $rng gte 101>> <<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your feet. <<set $NPCList[_n].penis to 0>><<set $feetuse to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "vagina">> <<if $rng gte 101>> <span class="purple"><<He>> slides <<his>> $NPCList[_n].penisdesc out of your <<pussy>>.</span> <<sex 30 "genital" _n>><<set $NPCList[_n].penis to "vaginaimminent">><<bruise vagina>><<violence 1>><<set $vaginastate to "imminent">> <<elseif $rng gte 1>> <<set _pain to Math.floor($vaginalPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> violates your <<pussy>> with increasing intensity. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to fuck your <<pussy>> with no regard for your comfort. <<else>> <<He>> fucks your <<pussy>> with rough thrusts, giving no regard to your comfort. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if npcHasStrapon(_n)>> <<He>> ruthlessly pounds your <<pussy>> with <<his>> $NPCList[_n].penisdesc. <<else>> You feel <<his>> $NPCList[_n].penisdesc throb as <<he>> pounds away at your <<pussy>>. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<pussy>>. <<else>> <<He>> fucks your <<pussy>> with deep and deliberate thrusts. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You feel <<him>> approaching <<his>> peak, and ride <<him>><<else>><<He>> fucks your <<pussy>><</if>> with increasing power. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue to ride <<his>> $NPCList[_n].penisdesc.<<else>><<He>> continues thrusting into your <<pussy>>.<</if>> <<else>> <<if $npcSub>>You fuck <<his>> $NPCList[_n].penisdesc<<else>><<He>> fucks your <<pussy>><</if>> with steady thrusts. <</if>> <</if>> <<sex 30 "genital" _n>><<bruise vagina>><<violence 1>><<set $speechvaginapenetrated to 1>><<pain _pain>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "vaginaimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> $NPCList[_n].penisdesc against your pussy.</span> <<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginastate to "entrance">> <<elseif $rng gte 1>> <<if $novaginal is 0>> <<set _pain to Math.floor($vaginalPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $player.virginity.vaginal isnot true>> <<if $enemyanger gte 80>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <<set _pain *= 1.5>> <<elseif $enemyanger gte 20>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <<else>> <span class="pink"><<He>> glides <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <</if>> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"> You whimper as your <<pussy>> stretches to accommodate <<his>> cock.</span> <<default>> <</switch>> <<sex 30 "genital" _n>><<takeTempleVirginity $NPCList[_n].fullDescription "vaginal">><<violence 1>><<set $speechvaginapenetrated to 1>> <<pain _pain>> <<elseif $player.virginity.vaginal is true>> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"><<His>> $NPCList[_n].penisdesc thrusts deep into your virgin pussy, obliterating your hymen and <<virginitylosttext $NPCList[_n].fullDescription>> You scream out as your <<pussy>> struggles to accommodate <<his>> cock.</span> <<violence 200>> <<case 1>> <span class="red"><<His>> $NPCList[_n].penisdesc pushes into your virgin pussy, breaking your hymen and <<virginitylosttext $NPCList[_n].fullDescription>></span> <span class="green"> While technically no longer a virgin, you can barely feel it.</span> <<violence 25 4 4>> <<default>> <span class="pink"><<His>> $NPCList[_n].penisdesc thrusts deep into your virgin pussy,</span><span class="red"> tearing your hymen and <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 100>> <</switch>> <</if>> <<sex 100 "genital" _n>><<takeVirginity $NPCList[_n].fullDescription "vaginal">><<set $speechvaginavirgin to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <</if>> <<vaginalstat>><<set $NPCList[_n].penis to "vagina">><<takeNPCVirginity _n "penile">><<bruise vagina>><<raped>><<vaginaraped>><<set $vaginastate to "penetrated">> <<else>> Respecting your wishes, <<he>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>> but does not penetrate. <<sex 15 "genital" _n>><<set $speechvaginawithhold to 1>> <</if>> <<if setup.bodyliquid.combined("vagina") gte 1 or setup.bodyliquid.combined("vaginaoutside") gte 1>> Fluid oozes from your <<pussy>>, over <<his>> length. <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "vaginaentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your <<pussy>>.</span> <<set $NPCList[_n].penis to 0>><<set $vaginause to 0>><<set $vaginastate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.over_lower.name. <<sex 5 "genital" _n>><<set $worn.over_lower.integrity -= 10>><<set $speechvaginaentrance to 1>><<set $enemyanger += 15>> <<elseif $worn.lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.lower.name. <<sex 5 "genital" _n>><<set $worn.lower.integrity -= 10>><<set $speechvaginaentrance to 1>><<set $enemyanger += 15>> <<elseif $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.under_lower.name. <<sex 5 "genital" _n>><<set $worn.under_lower.integrity -= 10>><<set $speechvaginaentrance to 1>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 51>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].chastity.penis against your <<pussy>><<if playerChastity("vagina")>><<set $worn.genitals.integrity -= 10>> through your $worn.genitals.name<</if>>. <<sex 25 "genital" _n>><<set $speechNPCChastity to 1>> <<elseif playerChastity("vagina")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.genitals.name. <<sex 25 "genital" _n>><<set $worn.genitals.integrity -= 10>><<set $speechchastity to 1>> <<elseif !$npcSub>> <<if $vaginaWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(1, 2) is 2>> <<He>> pushes <<his>> $NPCList[_n].penisdesc against your <<pussy>>. <<vagina_lube_text>><span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].penis to "vaginaimminent">><<set $vaginastate to "imminent">><<set $speechvaginaimminent to 1>> <<else>> <<if $npcSub>>You push<<else>><<He>> pushes<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>>, <span class="blue">but fail<<if !$npcSub>>s<</if>> to penetrate,</span> instead angling away and rubbing it against your <<clit>>. <<sex 5 "genital" _n>><<set $speechvaginaimminent to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your pussy.</span> <<bodyliquid "vaginaoutside" "semen">> <</if>> <</if>> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("vagina")>> <<if $npcSub>> You tease <<his>> <<print $NPCList[_n].penisdesc>> with your <<pussy>> without trying to penetrate. <<else>> <<He>> teases your <<pussy>> with <<his>> <<print $NPCList[_n].penisdesc>> without trying to penetrate. <</if>> <<sex 10 "genital" _n>><<set $speechvaginaentrance to 1>> <<else>> <<if $npcSub>> You tease <<his>> <<print $NPCList[_n].penisdesc>> with your <<pussy>> as best you can with your $worn.genitals.name in the way. <<else>> <<He>> teases your <<pussy>> with <<his>> <<print $NPCList[_n].penisdesc>> as best <<he>> can with your $worn.genitals.name in the way. <</if>> <<sex 5 "genital" _n>><<set $speechchastity to 1>> <</if>> <</if>> <</if>> <</if>> <<if setup.bodyliquid.combined("vagina") gte 1 or setup.bodyliquid.combined("vaginaoutside") gte 1>> Fluid oozes from your <<pussy>>, over <<his>> length. <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "vaginadouble">> <!-- Notes for how double functions work are found in the NPC action select section --> <<set _dvp to 0>> <<set _npcA to $vaginatarget>> <<set _npcB to $vaginadoubletarget>> <<if $NPCList[_npcA] is $NPCList[_n]>> /* State 1 is out of sync, state 2 is in sync */ <<set _dvp to ($NPCList[_npcB].penis isnot "vaginadouble" ? 1 : 2)>> <<elseif $NPCList[_npcB] is $NPCList[_n]>> <<set _dvp to ($NPCList[_npcA].penis isnot "vaginadouble" ? 1 : 2)>> <</if>> <<if $rng gte 101>> <span class="purple"><<He>> slides <<his>> $NPCList[_n].penisdesc out of your <<pussy>>.</span> <<sex 30 "genitals" _n>><<set $NPCList[_n].penis to "vaginaimminentdouble">><<bruise vagina>><<violence 1>><<set $vaginastate to "doubleimminent">> <<elseif $rng gte 1>> <<if _dvp is 2>> <<set $_alongsidearray to ["alongside","alongside","in time with","heedless of","pounding away against","thrusting against"]>> <<set $_alongsidetext to $_alongsidearray[random(0,5)]>> <<set _pain to Math.floor($vaginalPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> violates your <<pussy>> with increasing intensity, $_alongsidetext the other cock. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to fuck your <<pussy>> $_alongsidetext the other cock, with no regard for your comfort nor the other cock's. <<else>> <<He>> fucks your <<pussy>> with rough thrusts, $_alongsidetext the other cock, giving no regard to your comfort nor the other cock's. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if npcHasStrapon(_n)>> <<He>> ruthlessly pounds your <<pussy>> with <<his>> $NPCList[_n].penisdesc, $_alongsidetext the other cock. <<else>> You feel <<his>> $NPCList[_n].penisdesc throb as <<he>> pounds away at your <<pussy>>, $_alongsidetext the other cock. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<pussy>>, $_alongsidetext the other cock. <<else>> <<He>> fucks your <<pussy>> $_alongsidetext the other cock, with deep and deliberate thrusts. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You feel <<him>> approaching <<his>> peak, and ride <<him>><<else>><<He>> fucks your <<pussy>><</if>> with increasing power, $_alongsidetext the other cock. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue to ride <<his>> $NPCList[_n].penisdesc.<<else>><<He>> continues thrusting into your <<pussy>>, $_alongsidetext the other cock.<</if>> <<else>> <<if $npcSub>>You fuck <<his>> $NPCList[_n].penisdesc<<else>><<He>> fucks your <<pussy>><</if>> with steady thrusts, $_alongsidetext the other cock. <</if>> <</if>> <<sex 30 "genitals" _n>><<bruise vagina>><<violence 1>><<set $speechvaginapenetrated to 1>><<pain _pain>> <<else>> /* single penetration */ <<set _pain to Math.floor($vaginalPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> violates your <<pussy>> with increasing intensity. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to fuck your <<pussy>> with no regard for your comfort. <<else>> <<He>> fucks your <<pussy>> with rough thrusts, giving no regard to your comfort. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if npcHasStrapon(_n)>> <<He>> ruthlessly pounds your <<pussy>> with <<his>> $NPCList[_n].penisdesc. <<else>> You feel <<his>> $NPCList[_n].penisdesc throb as <<he>> pounds away at your <<pussy>>. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<pussy>>. <<else>> <<He>> fucks your <<pussy>> with deep and deliberate thrusts. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You feel <<him>> approaching <<his>> peak, and ride <<him>><<else>><<He>> fucks your <<pussy>><</if>> with increasing power. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue to ride <<his>> $NPCList[_n].penisdesc.<<else>><<He>> continues thrusting into your <<pussy>>.<</if>> <<else>> <<if $npcSub>>You fuck <<his>> $NPCList[_n].penisdesc<<else>><<He>> fucks your <<pussy>><</if>> with steady thrusts. <</if>> <</if>> <<sex 30 "genitals" _n>><<bruise vagina>><<violence 1>><<set $speechvaginapenetrated to 1>><<pain _pain>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "vaginaimminentdouble">> <<set _dvp to 0>> <<set _npcA to (_n is $vaginatarget ? $vaginatarget : $vaginadoubletarget)>> <<set _npcB to (_n is $vaginatarget ? $vaginadoubletarget : $vaginatarget)>> <<if _npcA is _n>> /* State 1 is out of sync, state 2 is in sync */ <<set _dvp to ($NPCList[_npcB].penis isnot "anusdouble" ? 1 : 2)>> <<elseif _npcB is _n>> <<set _dvp to ($NPCList[_npcA].penis isnot "anusdouble" ? 1 : 2)>> <</if>> <<set $_n to _n>> /* backup _n so that we can use personselect widget without errors */ <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> $NPCList[_n].penisdesc against your pussy.</span> <<set $NPCList[_n].penis to "vaginaentrancedouble">><<set $vaginastate to "doubleentrance">> <<elseif $rng gte 1>> <<if _dvp is 2>> <<if $novaginal is 0>> <<set _pain to Math.floor($vaginalPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $player.virginity.vaginal isnot true>> <<if $enemyanger gte 80>> <span class="pink"><<He>> furiously thrusts <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>, joining <<personselect _npcB>><<combatPersons>> <<npcPenisSimple _npcB>>.</span><<set _n to $_n>> <<personselect _npcA>><<set _pain *= 1.5>> <<elseif $enemyanger gte 20>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>, joining <<personselect _npcB>><<combatPersons>> <<npcPenisSimple _npcB>>.</span><<set _n to $_n>> <<personselect _npcA>> <<else>> <span class="pink"><<He>> glides <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>, joining <<personselect _npcB>><<combatPersons>> <<npcPenisSimple _npcB>>.</span><<set _n to $_n>> <<personselect _npcA>> <</if>> <<switch $NPCList[_n].penissize>> <<case 3 4 5>> <span class="red"> You whimper as your <<pussy>> stretches to accommodate their <<penises>>.</span> <<default>> <</switch>> <<sex 30 "genitals" _n>><<takeTempleVirginity $NPCList[_n].fullDescription "vaginal">><<violence 1>><<set $speechvaginapenetrated to 1>> <<pain _pain>> <<elseif $player.virginity.vaginal is true>> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <<switch $NPCList[_n].penissize>> <<case 4 5>> <span class="red"><<His>> $NPCList[_n].penisdesc thrusts deep into your virgin pussy, joining <<personselect _npcB>><<combatPersons>> <<npcPenisSimple _npcB>><<personselect _npcA>>, obliterating your hymen and <<virginitylosttext $NPCList[_n].fullDescription>> You scream out as your <<pussy>> struggles to accommodate <<his>> cock.</span><<set _n to $_n>> <<violence 200>> <<case 1>> <span class="red"><<His>> $NPCList[_n].penisdesc pushes into your virgin pussy, joining <<personselect _npcB>><<combatPersons>> <<npcPenisSimple _npcB>><<personselect _npcA>>, breaking your hymen and <<virginitylosttext $NPCList[_n].fullDescription>></span> <span class="green"> While technically no longer a virgin, you can barely feel it.</span><<set _n to $_n>> <<violence 25 4 4>> <<default>> <span class="pink"><<His>> $NPCList[_n].penisdesc thrusts deep into your virgin pussy, joining <<personselect _npcB>><<combatPersons>> <<npcPenisSimple _npcB>><<personselect _npcA>>,</span><span class="red"> tearing your hymen and <<virginitylosttext $NPCList[_n].fullDescription>></span><<set _n to $_n>> <<violence 100>> <</switch>> <</if>> <<sex 100 "genitals" _n>><<takeVirginity $NPCList[_n].fullDescription "vaginal">><<set $speechvaginavirgin to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <</if>> <<vaginalstat>><<vaginaldoublestat>><<set $NPCList[_n].penis to "vaginadouble">><<takeNPCVirginity _n "penile">><<bruise vagina>><<raped>><<vaginaraped>><<set $vaginastate to "doublepenetrated">> <<else>> Respecting your wishes, <<he>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>> but does not penetrate. <<sex 15 "genitals" _n>><<set $speechvaginawithhold to 1>> <</if>> <<else>> <<if $novaginal is 0>> <<set _pain to Math.floor($vaginalPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $player.virginity.vaginal isnot true>> <<if $enemyanger gte 80>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <<set _pain *= 1.5>> <<elseif $enemyanger gte 20>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <<else>> <span class="pink"><<He>> glides <<his>> $NPCList[_n].penisdesc deep into your <<pussy>>.</span> <</if>> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"> You whimper as your <<pussy>> stretches to accommodate <<his>> cock.</span> <<default>> <</switch>> <<sex 30 "genitals" _n>><<takeTempleVirginity $NPCList[_n].fullDescription "vaginal">><<violence 1>><<set $speechvaginapenetrated to 1>> <<pain _pain>> <<elseif $player.virginity.vaginal is true>> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"><<His>> $NPCList[_n].penisdesc thrusts deep into your virgin pussy, obliterating your hymen and <<virginitylosttext $NPCList[_n].fullDescription>> You scream out as your <<pussy>> struggles to accommodate <<his>> cock.</span> <<violence 200>> <<case 1>> <span class="red"><<His>> $NPCList[_n].penisdesc pushes into your virgin pussy, breaking your hymen and <<virginitylosttext $NPCList[_n].fullDescription>></span> <span class="green"> While technically no longer a virgin, you can barely feel it.</span> <<violence 25 4 4>> <<default>> <span class="pink"><<His>> $NPCList[_n].penisdesc thrusts deep into your virgin pussy,</span><span class="red"> tearing your hymen and <<virginitylosttext $NPCList[_n].fullDescription>></span> <<violence 100>> <</switch>> <</if>> <<sex 100 "genitals" _n>><<takeVirginity $NPCList[_n].fullDescription "vaginal">><<set $speechvaginavirgin to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <</if>> <<vaginalstat>><<set $NPCList[_n].penis to "vaginadouble">><<takeNPCVirginity _n "penile">><<bruise vagina>><<raped>><<vaginaraped>><<set $vaginastate to "doublepenetrated">> <<else>> Respecting your wishes, <<he>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>> but does not penetrate. <<sex 15 "genitals" _n>><<set $speechvaginawithhold to 1>> <</if>> <</if>> <<if setup.bodyliquid.combined("vagina") gte 1 or setup.bodyliquid.combined("vaginaoutside") gte 1>> Fluid oozes from your <<pussy>>, over their lengths. <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "vaginaentrancedouble">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your <<pussy>>, and the other cock.</span> <<set $NPCList[_n].penis to 0>><<set $vaginause to 0>><<set $vaginastate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.over_lower.name. <<sex 5 "genitals" _n>><<set $worn.over_lower.integrity -= 10>><<set $speechvaginaentrance to 1>><<set $enemyanger += 15>> <<elseif $worn.lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.lower.name. <<sex 5 "genitals" _n>><<set $worn.lower.integrity -= 10>><<set $speechvaginaentrance to 1>><<set $enemyanger += 15>> <<elseif $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.under_lower.name. <<sex 5 "genitals" _n>><<set $worn.under_lower.integrity -= 10>><<set $speechvaginaentrance to 1>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 51>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].chastity.penis against your <<pussy>><<if playerChastity("vagina")>><<set $worn.genitals.integrity -= 10>> through your $worn.genitals.name<</if>>. <<sex 25 "genitals" _n>><<set $speechNPCChastity to 1>> <<elseif playerChastity("vagina")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.genitals.name. <<sex 25 "genitals" _n>><<set $worn.genitals.integrity -= 10>><<set $speechchastity to 1>> <<elseif !$npcSub>> <<if $vaginaWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(1, 3) is 2>> <<He>> pushes <<his>> $NPCList[_n].penisdesc against your <<pussy>>. <<vagina_lube_text>><span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<sex 20 "genitals" _n>><<set $NPCList[_n].penis to "vaginaimminentdouble">><<set $speechvaginaimminent to 1>> <<if $vaginastate isnot "doublepenetrated">><<set $vaginastate to "doubleimminent">><</if>> <<else>> <<if $npcSub>>You push<<else>><<He>> pushes<</if>> <<his>> $NPCList[_n].penisdesc against your <<pussy>>; <span class="blue">but fail<<if !$npcSub>>s<</if>> to penetrate,</span> instead angling away and rubbing it against your <<clit>> and the other cock. <<sex 5 "genitals" _n>><<set $speechvaginaimminent to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your pussy.</span> <<bodyliquid "vaginaoutside" "semen">> <</if>> <</if>> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("vagina")>> <<if $npcSub>> You tease <<his>> <<print $NPCList[_n].penisdesc>> with your <<pussy>> without trying to penetrate. <<else>> <<He>> teases your <<pussy>> with <<his>> <<print $NPCList[_n].penisdesc>> without trying to penetrate. <</if>> <<sex 10 "genitals" _n>><<set $speechvaginaentrance to 1>> <<else>> <<if $npcSub>> You tease <<his>> <<print $NPCList[_n].penisdesc>> with your <<pussy>> as best you can with your $worn.genitals.name in the way. <<else>> <<He>> teases your <<pussy>> with <<his>> <<print $NPCList[_n].penisdesc>> as best <<he>> can with your $worn.genitals.name in the way. <</if>> <<sex 5 "genitals" _n>><<set $speechchastity to 1>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if setup.bodyliquid.combined("vagina") gte 1 or setup.bodyliquid.combined("vaginaoutside") gte 1>> Fluid oozes from your <<pussy>>, over <<his>> length. <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anus">> <<if $rng gte 101>> <span class="purple"><<He>> withdraws <<his>> penis from your anus.</span> <<sex 30 "anal" _n>><<set $NPCList[_n].penis to "anusimminent">><<bruise anus>><<violence 1>><<set $anusstate to "imminent">> <<elseif $rng gte 1 and playerHasButtPlug()>> <<set _pain to Math.floor($analPain * (1.5 / (6 - ($NPCList[_n].penissize+1 or 1))))>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> ravages your <<bottom>> with a violent intensity<<alongsideButtPlug>>. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> You feel <<his>> $NPCList[_n].penisdesc ever deeper within you as <<he>> fucks your <<bottom>><<alongsideButtPlug>>. <<else>> <<He>> fucks your <<bottom>> with rough thrusts<<alongsideButtPlug>>, intent on showing you who's boss. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if npcHasStrapon(_n)>> You feel <<his>> pace quicken as <<he>> fucks your <<bottom>> with <<his>> <<print $NPCList[_n].penisdesc>><<alongsideButtPlug>>. <<else>> You feel <<his>> $NPCList[_n].penisdesc throb within you as <<he>> fucks your <<bottom>><<alongsideButtPlug>>. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<bottom>><<alongsideButtPlug>>, giving no regard to your comfort. <<else>> <<He>> fucks your <<bottom>> with deep and dominating thrusts<<alongsideButtPlug>>. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You feel <<him>> approaching <<his>> peak, and ride <<him>><<else>><<He>> fucks your <<bottom>><</if>> with increasing power<<alongsideButtPlug>>. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue to ride <<his>> $NPCList[_n].penisdesc.<<else>><<He>> continues thrusting into your <<bottom>><<alongsideButtPlug>>.<</if>> <<else>> <<if $npcSub>>You fuck <<his>> $NPCList[_n].penisdesc<<else>><<He>> fucks your <<bottom>><</if>> with steady thrusts<<alongsideButtPlug>>. <</if>> <</if>> <<sex 30 "anal" _n>><<bruise anus>><<violence 1>><<set $speechanuspenetrated to 1>><<pain _pain>> <<elseif $rng gte 1>> <<set _pain to Math.floor($analPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> ravages your <<bottom>> with a violent intensity. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> You feel <<his>> $NPCList[_n].penisdesc ever deeper within you as <<he>> fucks your <<bottom>>. <<else>> <<He>> fucks your <<bottom>> with rough thrusts, intent on showing you who's boss. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if npcHasStrapon(_n)>> You feel <<his>> pace quicken as <<he>> fucks your <<bottom>> with <<his>> $NPCList[_n].penisdesc. <<else>> You feel <<his>> $NPCList[_n].penisdesc throb within you as <<he>> fucks your <<bottom>>. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<bottom>>, giving no regard to your comfort. <<else>> <<He>> fucks your <<bottom>> with deep and dominating thrusts. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You feel <<him>> approaching <<his>> peak, and ride <<him>><<else>><<He>> fucks your <<bottom>><</if>> with increasing power. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue to ride <<his>> $NPCList[_n].penisdesc.<<else>><<He>> continues thrusting into your <<bottom>>.<</if>> <<else>> <<if $npcSub>>You fuck <<his>> $NPCList[_n].penisdesc<<else>><<He>> fucks your <<bottom>><</if>> with steady thrusts. <</if>> <</if>> <<sex 30 "anal" _n>><<bruise anus>><<violence 1>><<set $speechanuspenetrated to 1>><<pain _pain>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anusimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> $NPCList[_n].penisdesc against your anus.</span> <<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">> <<elseif $rng gte 1 and playerHasButtPlug()>> <<set $_buttplug to $worn.butt_plug.name>> <<set $_alongside to either("alongside","heedless of","pushing aside")>> <<if $noanal is 0>> <<set _pain to Math.floor($analPain * (1.5 / (6 - ($NPCList[_n].penissize+1 or 1))))>> <<if $player.virginity.anal isnot true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<bottom>><<alongsideButtPlug>>.</span> <<switch $NPCList[_n].penissize>> <<case 3 4>> <span class="red"> You <<if $speech_attitude is "meek">>moan<<else>>whimper<</if>> as your ass stretches to accommodate both <<his>> cock and your $_buttplug.</span> <<case 1>> <span class="green">You can barely feel it.</span> <<default>> <</switch>> <<sex 30 "anal" _n>><<violence 1>><<set $speechanuspenetrated to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.75>><</if>><<pain _pain>> <<elseif $player.virginity.anal is true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your virgin anus<<alongsideButtPlug>>,</span> <span class="red">violating you in a way you hadn't conceived of.</span> <<switch $NPCList[_n].penissize>> <<case 3 4>> <span class="red"> You <<if $speech_attitude is "meek">>squeal<<else>>scream<</if>> as your ass struggles to accommodate both <<his>> cock and your $_buttplug.</span> <<case 1>> <span class="green"> While your ass is technically no longer virgin, you can barely feel it.</span> <<default>> <</switch>> <<sex 100 "anal" _n>><<violence 50>><<set $speechanusvirgin to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.75>><</if>><<pain _pain>> <<takeVirginity $NPCList[_n].fullDescription "anal">> <</if>> <<analstat>><<set $NPCList[_n].penis to "anus">><<takeNPCVirginity _n "penile">><<set $anusstate to "penetrated">><<bruise anus>><<raped>><<anusraped>> <<else>> Respecting your wishes, <<he>> presses <<his>> $NPCList[_n].penisdesc against your anus and $_buttplug but does not penetrate. <<sex 15 "anal" _n>><<set $speechanuswithhold to 1>> <</if>> <<elseif $rng gte 1>> <<if $noanal is 0>> <<set _pain to Math.floor($analPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $player.virginity.anal isnot true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<bottom>>.</span> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"> You whimper as your ass stretches to accommodate <<his>> cock.</span> <<default>> <</switch>> <<sex 30 "anal" _n>><<violence 1>><<set $speechanuspenetrated to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <<elseif $player.virginity.anal is true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your virgin anus,</span> <span class="red">violating you in a way you hadn't conceived of.</span> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"> You scream as your ass struggles to accommodate <<his>> cock.</span> <<case 1>> <span class="green"> While your ass is technically no longer virgin, you can barely feel it.</span> <<default>> <</switch>> <<sex 100 "anal" _n>><<takeVirginity $NPCList[_n].fullDescription "anal">><<violence 50>><<set $speechanusvirgin to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <</if>> <<analstat>><<set $NPCList[_n].penis to "anus">><<takeNPCVirginity _n "penile">><<bruise anus>><<raped>><<anusraped>><<set $anusstate to "penetrated">> <<else>> Respecting your wishes, <<he>> presses <<his>> $NPCList[_n].penisdesc against your anus but does not penetrate. <<sex 15 "anal" _n>><<set $speechanuswithhold to 1>> <</if>> <</if>> <<if setup.bodyliquid.combined("bottom") gte 1 or setup.bodyliquid.combined("anus") gte 1>> Fluid oozes from your <<bottom>>, over <<his>> length. <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anusentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your <<bottom>>.</span> <<set $NPCList[_n].penis to 0>><<set $anususe to 0>><<set $anusstate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.anus_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.over_lower.name. <<sex 5 "anal" _n>><<set $worn.over_lower.integrity -= 10>><<set $speechanusentrance to 1>> <<elseif $worn.lower.anus_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.lower.name. <<sex 5 "anal" _n>><<set $worn.lower.integrity -= 10>><<set $speechanusentrance to 1>> <<elseif $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<rng>> <<if $worn.under_lower.anus_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.under_lower.name. <<set $speechanusentrance to 1>><<sex 5 "anal" _n>><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.anus_exposed is 1>> <<if $rng gte 51>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].chastity.penis against your anus<<if playerChastity("anus")>><<set $worn.genitals.integrity -= 10>> through your $worn.genitals.name<</if>>. <<sex 25 "anal" _n>><<set $speechNPCChastity to 1>> <<elseif playerChastity("anus")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your anus through your $worn.genitals.name. <<sex 25 "anal" _n>><<set $worn.genitals.integrity -= 10>><<set $speechchastity to 1>> <<elseif playerHasButtPlug()>> <<switch random(0,2)>> <<case 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your anus and your $worn.butt_plug.name. <<sex 10 "anal" _n>><<set $speechanusentrance to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <<case 1>> <<if $NPCList[_n].lefthand is 0 or $NPCList[_n].righthand is 0>> <<He>> removes your $worn.butt_plug.name. <<set $worn.butt_plug.state to "removed">> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your anus and your $worn.butt_plug.name. <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <</if>> <<sex 10 "anal" _n>><<set $speechanusentrance to 1>> <<case 2>> <<if $anusWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(0, 2) is 2>> <<anus_lube_text>><<if $npcSub>>you press<<else>><<he>> presses<</if>> <<his>> $NPCList[_n].penisdesc against your anus and your $worn.butt_plug.name, <span class="pink">a thrust away from penetrating.</span> <<sex 10 "anal" _n>><<set $NPCList[_n].penis to "anusimminent">><<set $anusstate to "imminent">><<set $speechanusimminent to 1>> <<else>> <<if $npcSub>>You push<<else>><<He>> pushes<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> and your $worn.butt_plug.name, <span class="blue">but fail<<if !$npcSub>>s<</if>> to penetrate,</span> instead angling away and rubbing it between your cheeks. <<sex 5 "anal" _n>><<set $speechanusimminent to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <</if>> <</switch>> <<elseif !$npcSub>> <<if $anusWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(1, 2) is 2>> <<He>> presses <<his>> $NPCList[_n].penisdesc against your <<bottom>>. <<anus_lube_text>><span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<sex 20 "anal" _n>><<set $NPCList[_n].penis to "anusimminent">><<set $anusstate to "imminent">><<set $speechanusimminent to 1>> <<else>> <<if $npcSub>>You push<<else>><<He>> pushes<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>>, <span class="blue">but fail<<if !$npcSub>>s<</if>> to penetrate,</span> instead angling away and rubbing it between your cheeks. <<sex 5 "anal" _n>><<set $speechanusimminent to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <</if>> <</if>> <<elseif $rng gte 1>> <<if playerHasButtPlug()>> <<His>> $NPCList[_n].penisdesc rubs against your <<bottom>> and $worn.butt_plug.name. <<else>> <<His>> $NPCList[_n].penisdesc rubs against your <<bottom>>. <</if>> <<sex 5 "anal" _n>><<set $speechanusentrance to 1>> <</if>> <</if>> <</if>> <</if>> <<if setup.bodyliquid.combined("bottom") gte 1 or setup.bodyliquid.combined("anus") gte 1>> Fluid oozes from your <<bottom>>, over <<his>> length. <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anusdouble">> <!-- Notes for how double functions work are found in the NPC action select section --> <<set _dap to 0>> <<if $NPCList[$anustarget] is $NPCList[_n]>> /* State 1 is out of sync, state 2 is in sync */ <<set _dap to ($NPCList[$anusdoubletarget].penis isnot "anusdouble" ? 1 : 2)>> <<elseif $NPCList[$anusdoubletarget] is $NPCList[_n]>> <<set _dap to ($NPCList[$anustarget].penis isnot "anusdouble" ? 1 : 2)>> <</if>> <<if $rng gte 101>> <span class="purple"><<He>> withdraws <<his>> penis from your anus.</span> <<sex 30 "anal" _n>><<set $NPCList[_n].penis to "anusimminentdouble">><<bruise anus>><<violence 1>><<set $anusstate to "doubleimminent">> <<elseif $rng gte 1>> <<if _dap is 2>> /* double */ <<set $_alongsidearray to ["alongside","alongside","in time with","heedless of","pounding against","thrusting against"]>> <<set $_alongsidetext to $_alongsidearray[random(0,5)]>> <<set _pain to Math.floor($analPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> ravages your <<bottom>> with a violent intensity, $_alongsidetext the other cock. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> You feel <<his>> $NPCList[_n].penisdesc ever deeper within you as <<he>> fucks your <<bottom>><<alongsideButtPlug>>, $_alongsidetext the other cock. <<else>> <<He>> fucks your <<bottom>><<alongsideButtPlug>>, and the other cock, with rough thrusts, intent on showing you who's boss. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> You feel <<his>> $NPCList[_n].penisdesc <<if npcHasStrapon(_n)>>hit the right spots<<else>>throb within you<</if>> as <<he>> fucks your <<bottom>>, $_alongsidetext the other cock. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<bottom>>, giving no regard to your comfort nor the other cock. <<else>> <<He>> fucks your <<bottom>> with deep and dominating thrusts, $_alongsidetext the other cock. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You feel <<him>> approaching <<his>> peak while riding both cocks<<else>><<He>> fucks your <<if playerHasButtPlug()>> <<bottom>>, your $worn.butt_plug.name, <<else>> <<bottom>> <</if>> and the other phallus<</if>> with increasing power. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue to ride <<his>> $NPCList[_n].penisdesc, and the other cock.<<else>><<He>> continues thrusting into your <<bottom>><<alongsideButtPlug>>, $_alongsidetext the other cock.<</if>> <<else>> <<if $npcSub>>You fuck <<his>> $NPCList[_n].penisdesc, and the other cock,<<else>><<He>> fucks your <<bottom>><<alongsideButtPlug>>, $_alongsidetext the other cock,<</if>> with steady thrusts. <</if>> <</if>> <<sex 30 "anal" _n>><<bruise anus>><<violence 1>><<set $speechanuspenetrated to 1>><<pain _pain>> <<else>> /* Not double */ <<set _pain to Math.floor($analPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $enemyanger gte 100>><<set _pain *= 1.5>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> ravages your <<bottom>> with a violent intensity<<alongsideButtPlug>>. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> You feel <<his>> $NPCList[_n].penisdesc ever deeper within you as <<he>> fucks your <<bottom>><<alongsideButtPlug>>. <<else>> <<He>> fucks your <<bottom>> with rough thrusts<<alongsideButtPlug>>, intent on showing you who's boss. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if npcHasStrapon(_n)>> You feel <<his>> pace quicken as <<he>> fucks your <<bottom>> with <<his>> <<print $NPCList[_n].penisdesc>><<alongsideButtPlug>>. <<else>> You feel <<his>> $NPCList[_n].penisdesc throb within you as <<he>> fucks your <<bottom>><<alongsideButtPlug>>. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<bottom>><<alongsideButtPlug>>, giving no regard to your comfort. <<else>> <<He>> fucks your <<bottom>> with deep and dominating thrusts<<alongsideButtPlug>>. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You feel <<him>> approaching <<his>> peak while riding <<his>> cock<<else>><<He>> fucks your <<bottom>><</if>> with increasing power. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue to ride <<his>> $NPCList[_n].penisdesc.<<else>><<He>> continues thrusting into your <<bottom>>.<</if>> <<else>> <<if $npcSub>>You fuck <<his>> $NPCList[_n].penisdesc<<else>><<He>> fucks your <<bottom>><</if>> with steady thrusts. <</if>> <</if>> <<sex 30 "anal" _n>><<bruise anus>><<violence 1>><<set $speechanuspenetrated to 1>><<pain _pain>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anusimminentdouble">> <<set _dap to 0>> <<set _otherNPCindex to "f">> <<if $NPCList[$anustarget] is $NPCList[_n]>> /* State 1 is out of sync, state 2 is in sync */ <<set _dap to ($NPCList[$anusdoubletarget].penis isnot "anusdouble" ? 1 : 2)>> <<set _otherNPCindex to $anusdoubletarget>> <<elseif $NPCList[$anusdoubletarget] is $NPCList[_n]>> <<set _dap to ($NPCList[$anustarget].penis isnot "anusdouble" ? 1 : 2)>> <<set _otherNPCindex to $anustarget>> <</if>> <<set $_n to _n>> /* backup _n so that we can use personselect widget without errors */ <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> $NPCList[_n].penisdesc against your anus.</span> <<set $NPCList[_n].penis to "anusentrancedouble">><<set $anusstate to "doubleentrance">> <<elseif $rng gte 1>> <<if _dap is 2>> <<if $noanal is 0>> <<set _pain to Math.floor($analPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $player.virginity.anal isnot true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<bottom>><<alongsideButtPlug>>, joining <<personselect _otherNPCindex>><<combatpersons _otherNPCindex>> <<npcPenisSimple _otherNPCindex>>.</span><<set _n to $_n>><<personselect _n>> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"> You whimper as your ass stretches to accommodate <<his>> cock.</span> <<default>> <</switch>> <<sex 30 "anal" _n>><<violence 1>><<set $speechanuspenetrated to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <<elseif $player.virginity.anal is true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your virgin anus<<alongsideButtPlug>>,</span> <span class="red">violating you in a way you hadn't conceived of.</span> <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <<switch $NPCList[_n].penissize>> <<default>> <span class="red"> You scream as your ass struggles to accommodate both cocks.</span> <</switch>> <<else>> <<switch $NPCList[_n].penissize>> <<case 4 5>> <span class="red"> You scream as your ass struggles to accommodate both cocks<<if playerHasButtPlug()>> and your $worn.butt_plug.name<</if>>.</span> <<case 1>> <span class="green"> While your ass is technically no longer virgin, you can barely feel it.</span> <<default>> <</switch>> <</if>> <<sex 100 "anal" _n>><<takeVirginity $NPCList[_n].fullDescription "anal">><<violence 50>><<set $speechanusvirgin to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <</if>> <<analstat>><<analdoublestat>><<set $NPCList[_n].penis to "anusdouble">><<takeNPCVirginity _n "penile">><<bruise anus>><<raped>><<anusraped>><<set $anusstate to "doublepenetrated">> <<else>> Respecting your wishes, <<he>> presses <<his>> $NPCList[_n].penisdesc against your anus, and the other cock, but does not penetrate. <<sex 15 "anal" _n>><<set $speechanuswithhold to 1>> <</if>> <<else>> <<if $noanal is 0>> <<set _pain to Math.floor($analPain * (1.5 / (5 - ($NPCList[_n].penissize or 1))))>> <<if $player.virginity.anal isnot true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your <<bottom>><<alongsideButtPlug>>.</span> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"> You whimper as your ass stretches to accommodate <<his>> cock.</span> <<default>> <</switch>> <<sex 30 "anal" _n>><<violence 1>><<set $speechanuspenetrated to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <<elseif $player.virginity.anal is true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc deep into your virgin anus<<alongsideButtPlug>>,</span> <span class="red">violating you in a way you hadn't conceived of.</span> <<if $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">> <<switch $NPCList[_n].penissize>> <<default>> <span class="red"> You scream as your ass struggles to accommodate <<his>> cock.</span> <</switch>> <<else>> <<switch $NPCList[_n].penissize>> <<case 4>> <span class="red"> You scream as your ass struggles to accommodate <<his>> cock.</span> <<case 1>> <span class="green"> While your ass is technically no longer virgin, you can barely feel it.</span> <<default>> <</switch>> <</if>> <<sex 100 "anal" _n>><<violence 50>><<set $speechanusvirgin to 1>> <<if $enemyanger gte 100>><<set _pain *= 1.5>><</if>><<pain _pain>> <<takeVirginity $NPCList[_n].fullDescription "anal">> <</if>> <<analstat>><<set $NPCList[_n].penis to "anusdouble">><<takeNPCVirginity _n "penile">><<bruise anus>><<raped>><<anusraped>><<set $anusstate to "doublepenetrated">> <<else>> Respecting your wishes, <<he>> presses <<his>> $NPCList[_n].penisdesc against your anus, but does not penetrate. <<sex 15 "anal" _n>><<set $speechanuswithhold to 1>> <</if>> <</if>> <<if setup.bodyliquid.combined("bottom") gte 1 or setup.bodyliquid.combined("anus") gte 1>> Fluid oozes from your <<bottom>>, over <<his>> length. <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "anusentrancedouble">> <<set _dap to 0>> <<if $NPCList[$anustarget] is $NPCList[_n]>> /* State 1 is out of sync, state 2 is in sync */ <<set _dap to ($NPCList[$anusdoubletarget].penis isnot "anusdouble" ? 1 : 2)>> <<elseif $NPCList[$anusdoubletarget] is $NPCList[_n]>> <<set _dap to ($NPCList[$anustarget].penis isnot "anusdouble" ? 1 : 2)>> <</if>> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your <<bottom>> and the other cock.</span> <<set $NPCList[_n].penis to 0>><<set $anususe to 0>><<set $anusstate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.anus_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.over_lower.name. <<sex 5 "anal" _n>><<set $worn.over_lower.integrity -= 10>><<set $speechanusentrance to 1>> <<elseif $worn.lower.anus_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.lower.name. <<sex 5 "anal" _n>><<set $worn.lower.integrity -= 10>><<set $speechanusentrance to 1>> <<elseif $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<rng>> <<if $worn.under_lower.anus_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> through your $worn.under_lower.name. <<set $speechanusentrance to 1>><<sex 5 "anal" _n>><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.anus_exposed is 1>> <<if $rng gte 51>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].chastity.penis against your anus<<if playerChastity("anus")>><<set $worn.genitals.integrity -= 10>> through your $worn.genitals.name<</if>>. <<sex 25 "anal" _n>><<set $speechNPCChastity to 1>> <<elseif playerChastity("anus")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your anus through your $worn.genitals.name. <<sex 25 "anal" _n>><<set $worn.genitals.integrity -= 10>><<set $speechchastity to 1>> <<elseif playerHasButtPlug()>> <<switch random(0,2)>> <<case 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your anus and your $worn.butt_plug.name. <<sex 10 "anal" _n>><<set $speechanusentrance to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <<case 1>> <<if $NPCList[_n].lefthand is 0 or $NPCList[_n].righthand is 0>> <<He>> removes your $worn.butt_plug.name. <<set $worn.butt_plug.state to "removed">> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your anus and your $worn.butt_plug.name. <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <</if>> <<sex 10 "anal" _n>><<set $speechanusentrance to 1>> <<case 2>> <<if $anusWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(0, 2) is 2>> <<anus_lube_text>><<if $npcSub>>you press<<else>><<he>> presses<</if>> <<his>> $NPCList[_n].penisdesc against your anus and your $worn.butt_plug.name, <span class="pink">a thrust away from penetrating.</span> <<sex 10 "anal" _n>><<set $NPCList[_n].penis to "anusimminentdouble">> <<if $anusstate isnot "doublepenetrated">><<set $anusstate to "doubleimminent">><</if>><<set $speechanusimminent to 1>> <<else>> <<if $npcSub>>You push<<else>><<He>> pushes<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>> and your $worn.butt_plug.name, <span class="blue">but fail<<if !$npcSub>>s<</if>> to penetrate,</span> instead angling away and rubbing it between your cheeks. <<sex 5 "anal" _n>><<set $speechanusimminent to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "semen">> <</if>> <</if>> <</switch>> <<elseif !$npcSub>> <<if $anusWetness gte ($NPCList[_n].penissize * 15) + random(1, 40) or random(1, 2) is 2>> <<He>> presses <<his>> $NPCList[_n].penisdesc against your <<bottom>>. <<anus_lube_text>><span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<sex 20 "anal" _n>><<set $NPCList[_n].penis to "anusimminentdouble">> <<if $anusstate isnot "doublepenetrated">><<set $anusstate to "doubleimminent">><</if>><<set $speechanusimminent to 1>> <<else>> <<if $npcSub>>You push<<else>><<He>> pushes<</if>> <<his>> $NPCList[_n].penisdesc against your <<bottom>>, <span class="blue">but fail<<if !$npcSub>>s<</if>> to penetrate,</span> instead angling away and rubbing it between your cheeks. <<sex 5 "anal" _n>><<set $speechanusimminent to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3 and !npcHasStrapon(_n) and !wearingCondom(_n)>> Precum leaks from the tip, <span class="blue">lubricating your ass.</span> <<bodyliquid "bottom" "goo">> <</if>> <</if>> <</if>> <<elseif $rng gte 1>> <<if playerHasButtPlug()>> <<His>> $NPCList[_n].penisdesc rubs against your <<bottom>> and $worn.butt_plug.name. <<else>> <<His>> $NPCList[_n].penisdesc rubs against your <<bottom>>. <</if>> <<sex 5 "anal" _n>><<set $speechanusentrance to 1>> <</if>> <</if>> <</if>> <<if setup.bodyliquid.combined("bottom") gte 1 or setup.bodyliquid.combined("anus") gte 1>> Fluid oozes from your <<bottom>>, over <<his>> length. <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "mouth">> <<if $rng gte 101>> <span class="purple"><<He>> withdraws <<his>> penis from your mouth.</span> <<sex 30 "mouth" _n>><<set $NPCList[_n].penis to "mouthimminent">><<bruise face>><<violence 1>><<set $mouthstate to "imminent">> <<elseif $enemyanger gte random(1, 100) and $NPCList[_n].penissize gte 2>> <<if currentSkillValue("oralskill") gte random(1, 1200 + 100 * ($NPCList[_n].penissize - 2))>> <<He>> shoves <<his>> $NPCList[_n].penisdesc down your throat, <span class="blue">but you manage to gasp between <<his>> thrusts.</span> <<if $neckuse isnot "hand">> <<suffocatepass -1>> <</if>> <<else>> <span class="pink">You gag as <<he>> thrusts <<his>> $NPCList[_n].penisdesc down your throat.</span> <<oxygen -150>> <<if $oxygen gte 900>> <span class="blue">You struggle for breath.</span> <<elseif $oxygen gte 600>> <span class="purple">You can't breathe!</span> <<violence 10 1 1 0.2>> <<elseif $oxygen gte 300>> <span class="pink">You feel light-headed.</span> <<violence 20 1 1 0.2>> <<elseif $oxygen gte 1>> <span class="pink">You see stars.</span> <<violence 40 1 1 0.2>> <<else>> <span class="red">You are suffocating.</span> <<violence 100 1 1 0.2>> <<suffocatepass>> <</if>> <</if>> <<if $NPCList[_n].type is "plant">> <span class="pink">Nectar pours down your throat.</span> <<nectarfed 15>> <</if>> <<submission 10 _n>><<bruise face>><<bruise neck>><<violence 1>><<set $speechmouthpenetrated to 1>> <<elseif $rng gte 1>> <<if $npcSub>> You continue to service <<him>> with your mouth. <<else>> <<He>> continues thrusting into your mouth. <</if>> <<if $NPCList[_n].penissize gte 4>> <<switch random(1, 4)>> <<case 1>> It's a struggle not to gag as the $NPCList[_n].penisdesc fills you. <<case 2>> <span class="pink">Saliva <<if $NPCList[_n].type is "plant">> mixes with nectar and <<set _nectar to 1>> <</if>> drools down your chin as you struggle to keep your lips wrapped around <<his>> $NPCList[_n].penisdesc.</span> <<set $hygiene += 500>><<bodyliquid "face" "goo">> <<default>> <</switch>> <</if>> <<if $NPCList[_n].type is "plant" and $mouthactiondefault isnot "suck" and !_nectar>> <span class="pink">Sweet nectar drips into your mouth.</span> <<nectarfed 10>> <</if>> <<submission 10 _n>><<bruise face>><<violence 1>><<set $speechmouthpenetrated to 1>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "mouthimminent">> <<if $pullaway is 1>> <<set $pullaway to 0>> Saliva drips from the tip of <<his>> phallus. <<else>> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> $NPCList[_n].penisdesc against your mouth.</span> <<set $NPCList[_n].penis to "mouthentrance">><<submission 5 _n>><<set $mouthstate to "entrance">> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<if $enemyanger lt $enemyangermax/2>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<else>> <<switch random(0,2)>> <<case 0 1>> <<He>> pushes <<his>> $NPCList[_n].penisdesc against your $worn.face.name. <<He>> seems frustrated. <<damageFaceCover 2>> <<case 2>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <</switch>> <</if>> <<elseif $rng lte 20>> <<if $player.virginity.oral isnot true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc into your mouth.</span> <<if $NPCList[_n].type is "plant">> <span class="pink">Sweet nectar drips into your mouth.</span> <<nectarfed 10>> <</if>> <<submission 10 _n>><<set $speechmouthpenetrated to 1>> <<elseif $player.virginity.oral is true>> <span class="pink"><<He>> thrusts <<his>> $NPCList[_n].penisdesc into your mouth.</span> <<if $NPCList[_n].type is "plant">> <span class="red">It tastes uncomfortably sweet.</span> <<else>> <span class="red">It tastes strange.</span> <</if>> <<submission 30 _n>><<takeVirginity $NPCList[_n].fullDescription "oral">><<violence 1>><<set $speechmouthvirgin to 1>> <</if>> <<oralstat>><<set $NPCList[_n].penis to "mouth">><<bruise face>><<raped>><<set $mouthstate to "penetrated">> <<elseif $rng gte 21>> <<if $mouthsubmit is 1>> <<He>> allows you to pleasure <<his>> $NPCList[_n].penisdesc with your mouth. <<if $NPCList[_n].type is "plant" and !["peniskiss","lick"].includes($mouthactiondefault)>> <span class="pink">You lap up nectar with your tongue.</span> <<nectarfed 3>> <</if>> <<submission 5 _n>><<set $speechmouthimminent to 1>> <<else>> <<if $player.virginity.oral isnot true>> <span class="pink"> <<He>> thrusts <<his>> $NPCList[_n].penisdesc into your mouth.</span> <<if $NPCList[_n].type is "plant">> <span class="pink">Sweet nectar drips into your mouth.</span> <<nectarfed 10>> <</if>> <<submission 10 _n>><<violence 1>><<set $speechmouthpenetrated to 1>> <<elseif $player.virginity.oral is true>> <span class="pink"> <<He>> thrusts <<his>> $NPCList[_n].penisdesc into your mouth.</span> <<if $NPCList[_n].type is "plant">> <span class="red">It tastes uncomfortably sweet.</span> <<nectarfed 20>> <<else>> <span class="red">It tastes strange.</span> <</if>> <<submission 30 _n>><<takeVirginity $NPCList[_n].fullDescription "oral">><<violence 1>><<set $speechmouthpenetrated to 1>> <</if>> <<oralstat>><<set $NPCList[_n].penis to "mouth">><<bruise face>><<raped>><<set $mouthstate to "penetrated">> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "mouthentrance">> <<if $pullaway is 1>> <<set $pullaway to 0>> <<His>> $NPCList[_n].penisdesc hovers only inches from your face. <<else>> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<elseif $NPCList[_n].chastity.penis.includes("chastity")>> <span class="purple"><<if $npcSub>>You pull<<else>><<He>> pushes<</if>> <<his>> $NPCList[_n].chastity.penis against your mouth.</span> <<sex 25 "mouth" _n>><<set $speechNPCChastity to 1>> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<if $enemyanger lt $enemyangermax/2>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<else>> <<switch random(0,2)>> <<case 0 1>> <<He>> pushes <<his>> $NPCList[_n].penisdesc against your $worn.face.name. <<He>> seems frustrated. <<damageFaceCover 2>> <<case 2>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <</switch>> <</if>> <<elseif $rng gte 1 and !$npcSub>> <span class="purple"><<He>> pushes <<his>> $NPCList[_n].penisdesc against your lips.</span> <<if $NPCList[_n].type is "plant" and !["peniskiss","penislick"].includes($mouthactiondefault)>> <span class="pink">Nectar glistens on the tip.</span> <</if>> <<set $NPCList[_n].penis to "mouthimminent">><<submission 5 _n>><<set $mouthstate to "imminent">><<set $speechmouthimminent to 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "chest">> <<if $rng gte 101>> <<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your chest. <<set $NPCList[_n].penis to 0>><<set $chestuse to 0>> <<elseif $rng gte 1>> <<submission 3 _n>><<playWithBreasts>> <<if $breastcup is "none">> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc against your <<breasts>>. <<set $speechchestrub to 1>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your <<breasts>>. <<set $speechbreastrub to 1>> <</if>> <</if>> <</if>> <<if $NPCList[_n].penis is "footjob">> <<if $rng gte 101 or ($penisuse isnot "feet" and $vaginause isnot "feet")>> <span class="blue"><<He>> stops pressing <<his>> foot against your <<genitals>>.</span> <<set $NPCList[_n].penis to 0>> <<if ($player.penisExist or playerHasStrapon()) and $penisuse is "feet">> <<set $penisuse to 0>> <</if>> <<if $player.vaginaExist and $vaginause is "feet">> <<set $vaginause to 0>> <</if>> <<else>> <<if $penisuse is "feet">> <<He>> presses your <<penis>> against your stomach with <<his>> foot and rubs your <<glans>> between <<his>> toes. <<set $speechpenisfoot to 1>><<neutral 5 "genitals" _n>><<violence 1 1 1 1 _n>> <<elseif $vaginause is "feet">> <<He>> presses and teases your <<pussy>> with <<his>> foot. <<set $speechvaginafoot to 1>><<neutral 5 "genitals" _n>><<violence 1 1 1 1 _n>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otherfrot">> <<if $rng gte 101>> <span class="blue"><<He>> shifts <<his>> ass and presses <<his>> anus against your <<penis>>.</span> <<set $penisuse to "otheranus">><<set $NPCList[_n].penis to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>>. <<sex 5 "genital" _n>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otheranus">> <<if $rng gte 101>> <span class="purple"><<He>> moves <<his>> pelvis away, releasing your <<penis>> from <<his>> anus.</span> <<sex 30 "genital" _n>><<set $NPCList[_n].penis to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<elseif $rng gte 1>> <<if $enemyanger gte 100>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> continues to fuck your <<penis>> with <<his>> ass, <<his>> movements violent and erratic. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to ride you, <<if !playerHasStrapon()>>your penis helpless as it's fucked.<<else>>relishing the feel of your strap-on.<</if>> <<else>> <<He>> fucks your <<penis>> with rough movements, intent on showing you who's boss. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if playerHasStrapon()>> <<his>> ass twitches around your strap-on as <<he>> fucks you with wild abandon. <<else>> You feel <<his>> ass twitch around your length as <<he>> fucks you. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if playerHasStrapon()>> <<He>> continues to fuck your strap-on, relishing your sex toy inside <<him>>. <<else>> <<He>> continues to violate your <<penis>>, using you as a sex toy. <</if>> <<else>> <<He>> fucks your <<penis>>, taking as much of you into <<his>> ass as <<he>> can. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You continue thrusting into <<him>><<else>><<He>> continues riding your <<penis>><</if>>, <<his>> anus rhythmically pounding your length. <<His>> body jerks whenever you hit a sensitive spot. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue thrusting into <<him>><<else>><<He>> continues riding your <<penis>><</if>>, <<his>> anus rhythmically pounding your length. <<else>> <<if $npcSub>>You press into <<his>> ass<<else>><<He>> rides your <<penis>><</if>> with steady movements. <</if>> <</if>> <<sex 30 "genital" _n>><<set $speechotheranuspenetrated to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otheranusimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> ass against your <<penis>>.</span> <<set $NPCList[_n].penis to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<elseif $rng gte 1>> <<if $nopenile is 0>> <<set $penisactiondefault to "otheranustake">> <<if ((playerPenisSize() is -1 and $arousal lte ($arousalmax / 5) * 4) or (playerPenisSize() is -2 and $arousal lte ($arousalmax / 10) * 9))>> <<He>> presses <<his>> ass against the tip of your <<penis>>, trying to take you in. <span class="blue">But you don't have an erection.</span> <<set $speechpenissmall to 1>><<set $enemyanger += 5>> <<elseif playerPenisSize() lte 2 or playerPenisSize() is 3 and random(1, 100) gte 70 or playerPenisSize() gte 4 and random(1, 100) gte 90>> <<if playerHasStrapon() or $player.virginity.penile isnot true>> <span class="pink"><<He>> eases your <<penis>> into <<his>> ass, swallowing you to the base.</span> <<sex 30 "genital" _n>><<set $speechotheranuspenetrated to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<takeTempleVirginity $NPCList[_n].fullDescription "penile">><<violence 1>><<raped>><<penisraped>><</if>> <<elseif $player.virginity.penile is true>> <span class="pink"><<He>> eases your virgin penis into <<his>> ass,</span><span class="red"> separating your foreskin from your glans and</span> <<virginitylosttext $NPCList[_n].fullDescription>> <<sex 100 "genital" _n>><<takeVirginity $NPCList[_n].fullDescription "penile">><<bruise penis>><<violence 100>><<raped>><<penisraped>><<set $speechpenisvirgin to 1>> <</if>> <<penilestat>><<set $NPCList[_n].penis to "otheranus">><<takeNPCVirginity _n "anal">><<set $penisstate to "otheranus">> <<if playerPenisSize() gte 4>> <<He>> looks proud to have taken something so big. <</if>> <<else>> <<He>> presses <<his>> ass against the tip of your <<penis>>, trying to take you in. <span class="blue">Your girth proves too much.</span> <<set $speechpenisbig to 1>><<set $enemyanger += 5>> <</if>> <<else>> Respecting your wishes, <<he>> does not envelop your <<penis>> with <<his>> ass, instead teasing the tip of your <<glans>>. <<sex 15 "genital" _n>><<set $speechotheranuswithhold to 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "otheranusentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> ass away from your <<penis>>.</span> <<set $NPCList[_n].penis to 0>><<set $penisuse to 0>><<set $penisstate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.over_lower.name. <<sex 5 "genital" _n>><<set $worn.over_lower.integrity -= 10>><<set $speechotheranusentrance to 1>> <<elseif $worn.lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.lower.name. <<sex 5 "genital" _n>><<set $worn.lower.integrity -= 10>><<set $speechotheranusentrance to 1>> <<elseif $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.under_lower.name. <<sex 5 "genital" _n>><<set $worn.under_lower.integrity -= 10>><<set $speechotheranusentrance to 1>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 71>> <<if $NPCList[_n].chastity.anus.includes("shield")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].chastity.anus against your <<penis>><<if playerChastity("penis")>><<set $worn.genitals.integrity -= 10>> through your $worn.genitals.name<</if>>. <<sex 25 "genital" _n>><<set $speechNPCChastity to 1>> <<elseif playerChastity("penis")>> <<if $worn.genitals.name is "chastity parasite">> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your $worn.genitals.name, <span class="lewd">leaving you feeling more aroused.</span> <<arousal 100 "genitals">><<set $worn.genitals.integrity -= 5>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.genitals.name. <<set $worn.genitals.integrity -= 10>> <</if>> <<sex 20 "genital" _n>><<set $speechchastity to 1>> <<elseif $nopenile is 1 and !$npcSub>> <span class="purple"><<He>> presses <<his>> ass against your <<penis>>.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].penis to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<elseif $penisWetness gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2 and !$npcSub>> <<He>> presses <<his>> ass against your <<penis>>. <<penis_lube_text>> <span class="pink">your tip is pushed into <<him>>, a thrust away from being enveloped.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].penis to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<elseif !$npcSub>> <<He>> presses <<his>> ass against your <<penis>>, <span class="blue">but fails to envelop you.</span> Your <<penisSimple>> angles away and rubs between <<his>> cheeks. <<sex 5 "genital" _n>><<set $speechotheranusimminent to 1>> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("penis")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> your <<penis>> between <<his>> cheeks. <<sex 10 "genital" _n>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> cheeks using your $worn.genitals.name<<if $worn.genitals.name is "chastity parasite">>, <span class="lewd">making you feel more aroused.</span><<arousal 100 "genitals">><<else>>.<</if>> <<sex 5 "genital" _n>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "mouthotheranus">> <<if $rng gte 1>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 3)>> <<He>> grinds <<his>> ass against your mouth. <<else>> <<He>> slowly moves <<his>> ass against your lips. <</if>> <<sex 3 "mouth" _n>><<set $speechmouthotheranus to 1>> <<if $mouthactiondefault is "anallick">> <<set $speechanallick to 1>> <<elseif $mouthactiondefault is "analkiss">> <<set $speechanalkiss to 1>> <</if>> <<else>> <span class="purple"><<He>> moves <<his>> ass away from your face.</span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].penis to 0>> <<set $NPCList[_n].location.genitals = 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "penisentrance" and !$npcSub>> <<if $rng gte 51 and playerChastity("penis")>> <<He>> caresses <<his>> <<npcPenisSimple _n>> against your $worn.genitals.name. <<set $penisstate to "otherpenisimminent">><<set $NPCList[_n].penis to "penisimminent">><<sex 10 "genital" _n>> <<neutral 1 _n>> <<elseif $rng gte 51 and !playerChastity("penis")>> <<He>> caresses your <<penis>> with <<his>> <<npcPenisSimple _n>>, <span class="purple">teasing what's to come.</span> <<set $penisstate to "otherpenisimminent">><<set $NPCList[_n].penis to "penisimminent">><<sex 10 "genital" _n>> <<else>> <<if playerChastity("penis")>> <<He>> hovers <<his>> <<npcPenisSimple _n>> closer to your $worn.genitals.name. <<else>> <<He>> hovers <<his>> <<npcPenisSimple _n>> closer to your <<penis>>. <</if>> <<neutral 1 _n>> <</if>> <<set $speechfencingentrance to 1>> <<elseif $NPCList[_n].penis is "penisimminent" and !$npcSub>> <<He>> thrusts forward, <span class="pink"> <<if $enemyarousal gte (($enemyarousalmax / 10) * 7)>> fencing <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> smashing <<else>> pressing <</if>> <<if playerChastity("penis")>> <<his>> <<npcPenisSimple _n>> against your $worn.genitals.name. <<set $worn.genitals.integrity -= 10>><<set $speechchastity to 1>> <<else>> <<his>> <<npcPenisSimple _n>> against your <<penis>>. <</if>> </span> <<set $penisstate to "otherpenis">><<set $NPCList[_n].penis to "penis">><<sex 20 "genital" _n>><<set $speechpenispenis to 1>> <<elseif $NPCList[_n].penis is "penis">> <<if $rng gte 1>> <<if playerChastity("penis")>> <<if $enemyarousal gte $enemyarousalmax * 0.8>> <<He>> thrusts <<his>> hips, <<if $npcSub>>instinctively<</if>> pounding into your $worn.genitals.name with <<his>> cock with a violent intensity. <<elseif $enemyarousal gte $enemyarousalmax * 0.6>> <<He>> thrusts <<his>> hips, <<if $npcSub>>instinctively<</if>> smashing <<his>> <<npcPenisSimple _n>> against your $worn.genitals.name. <<elseif $enemyarousal gte $enemyarousalmax * 0.4>> <<He>> thrusts <<his>> hips, rubbing and kneading your $worn.genitals.name and <<his>> <<npcPenisSimple _n>> together. <<else>> <<He>> rubs and kneads your $worn.genitals.name and <<his>> <<npcPenisSimple _n>> together. <</if>> <<if $enemyarousal gte $enemyarousalmax * 0.6 and !wearingCondom(_n) and $worn.genitals.name is "chastity parasite">> <span class="purple"><<His>> precum coats your $worn.genitals.name,</span> <span class="lewd">the parasite sending a wave of pleasure through your <<penis>>.</span><<set $worn.genitals.integrity -= 5>> <<arousal 400 "genitals">><<if !$earSlime.defyCooldown and $earSlime.vibration lt 120>><<set $earSlime.vibration += 10>><</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.6 and !wearingCondom(_n)>> <span class="purple">Your precum mingles.</span><<purity -1>><<set $worn.genitals.integrity -= 10>> <</if>> <<set $worn.genitals.integrity -= 5>> <<if $worn.genitals.name is "chastity parasite">><<arousal 100 "genitals">><</if>> <<set $speechchastity to 1>> <<elseif $enemyarousal gte $enemyarousalmax * 0.8>> <<He>> thrusts <<his>> hips, <<if $npcSub>>instinctively<</if>> pounding your <<penis>> against <<his>> cock with a violent intensity. <<if $penisWetness gte 45 and !playerHasStrapon() and !wearingCondom(_n) and !wearingCondom("player")>> <span class="purple">Your precum mingles.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.6>> <<He>> thrusts <<his>> hips, <<if $npcSub>>instinctively<</if>> smashing <<his>> <<npcPenisSimple _n>> against your <<penis>>. <<if $penisWetness gte 45 and !playerHasStrapon() and !wearingCondom(_n) and !wearingCondom("player")>> <span class="purple">Your precum mingles.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.4>> <<He>> thrusts <<his>> hips, rubbing and kneading your <<penises>> together. <<elseif $enemyarousal gte $enemyarousalmax * 0.2>> <<He>> rubs and kneads your <<penises>> together. <<else>> <<He>> kneads and caresses your <<penises>> together. <</if>> <<sex 20 "genital" _n>><<set $speechpenispenis to 1>> <<else>> <span class="lblue"><<He>> moves <<his>> <<npcPenisSimple _n>> away from yours.</span> <<set $penisuse to 0>><<set $NPCList[_n].penis to 0>> <</if>> <</if>> <!-- VAGINA START --> <<rng>> <<if $NPCList[_n].vagina is "clothed" and $npcSub isnot 1>> <<if $enemyarousal gte 40>> <span class="blue"><<He>> <<npcUndressText $NPCList[_n] "lower" "self">>, <<npcRevealText $NPCList[_n] "lower">>.</span> <<set $NPCList[_n].vagina to 0>> <<if $NPCList[_n].penis isnot "none">> <<npcGenitalReaction $NPCList[_n]>> <<set $NPCList[_n].penis to 0>> <</if>> <</if>> <<if $NPCList[_n].fullDescription is "Sydney">> <<sydneyExpose>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "frot">> <<if $rng gte 101>> <span class="blue"><<He>> moves <<his>> clit away and presses <<his>> hungry pussy against your <<penis>>.</span> <<set $penisuse to "othervagina">><<set $NPCList[_n].vagina to "penisentrance">><<set $penisstate to "entrance">><<set $speechpenisentrance to 1>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> clit against your <<glans>>. <<sex 5 "genital" _n>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "penis">> <<if $rng gte 101>> <span class="purple"><<He>> moves <<his>> pelvis away, releasing your <<penis>> from <<his>> vagina.</span> <<sex 30 "genital" _n>><<set $NPCList[_n].vagina to "penisimminent">><<set $penisstate to "imminent">><<set $speechpenisimminent to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<elseif $rng gte 1>> <<if $enemyanger gte 100>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> continues to fuck your <<penis>>, <<his>> movements violent and erratic as <<his>> pussy slides along your length. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if !playerHasStrapon()>> <<He>> continues to ride you, your penis helpless as it's fucked. <<else>> <<He>> continues to ride your <<penis>>. <</if>> <<else>> <<He>> fucks your <<penis>> with rough movements, intent on showing you who's boss. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if playerHasStrapon()>> <<His>> vagina twiches and throbs around your strap-on as <<he>> fucks you. <<else>> You feel <<his>> vagina twitch and throb around your length as <<he>> fucks you. <</if>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<penis>>, using you as a sex toy. <<else>> <<He>> fucks your <<penis>>, taking as much of you into <<his>> vagina as <<he>> can. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<if $npcSub>>You continue thrusting into <<him>><<else>><<He>> continues riding your <<penis>><</if>>, <<his>> vagina rhythmically kneading and squeezing your length. <<His>> body jerks whenever you hit a sensitive spot. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if $npcSub>>You continue thrusting into <<him>><<else>><<He>> continues riding your <<penis>><</if>>, <<his>> vagina rhythmically kneading and squeezing your length. <<else>> <<if $npcSub>>You press into <<his>> pussy<<else>><<He>> rides your <<penis>><</if>> with steady movements. <</if>> <</if>> <<sex 30 "genital" _n>><<set $speechpenispenetrated to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "penisimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> pussy against your <<penis>>.</span> <<set $NPCList[_n].vagina to "penisentrance">><<set $penisstate to "entrance">><<set $speechpenisentrance to 1>> <<elseif $rng gte 1>> <<if $nopenile is 0>> <<if ((playerPenisSize() is -1 and $arousal lte ($arousalmax / 5) * 4) or (playerPenisSize() is -2 and $arousal lte ($arousalmax / 10) * 9))>> <<He>> presses <<his>> pussy against the tip of your <<penis>>, trying to take you in. <span class="blue">But you don't have an erection.</span> <<set $speechpenissmall to 1>><<set $enemyanger += 5>> <<elseif playerPenisSize() lte 2 or playerPenisSize() is 3 and random(1, 100) gte 70 or playerPenisSize() gte 4 and random(1, 100) gte 90>> <<if playerHasStrapon() or $player.virginity.penile isnot true>> <span class="pink"><<He>> eases your <<penis>> into <<his>> pussy, swallowing you to the base.</span> <<sex 30 "genital" _n>><<set $speechpenispenetrated to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<takeTempleVirginity $NPCList[_n].fullDescription "penile">><<violence 1>><<raped>><<penisraped>><</if>> <<elseif $player.virginity.penile is true>> <span class="pink"><<He>> eases your virgin penis into <<his>> pussy,</span><span class="red"> separating your foreskin from your glans and <<virginitylosttext $NPCList[_n].fullDescription>></span> <<sex 100 "genital" _n>><<takeVirginity $NPCList[_n].fullDescription "penile">><<bruise penis>><<violence 100>><<raped>><<penisraped>><<set $speechpenisvirgin to 1>> <</if>> <<penilestat>><<set $NPCList[_n].vagina to "penis">><<takeNPCVirginity _n "vaginal">><<set $penisstate to "penetrated">> <<if playerPenisSize() gte 4>> <<He>> looks proud to have taken something so big. <</if>> <<else>> <<He>> presses <<his>> pussy against the tip of your <<penis>>, trying to take you in. <span class="blue">Your girth proves too much.</span> <<He>> frots against your length. <<set $speechpenisbig to 1>><<set $enemyanger += 5>> <</if>> <<else>> Respecting your wishes, <<he>> does not envelop your <<penis>> with <<his>> vagina, instead teasing the tip of your glans. <<sex 15 "genital" _n>><<set $speechpeniswithhold to 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "penisentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> pussy away from your <<penis>>.</span> <<set $NPCList[_n].vagina to 0>><<set $penisuse to 0>><<set $penisstate to 0>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> pussy against your <<penis>> through your $worn.over_lower.name. <<sex 5 "genital" _n>><<set $worn.over_lower.integrity -= 10>><<set $speechpenisentrance to 1>> <<elseif $worn.lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> pussy against your <<penis>> through your $worn.lower.name. <<sex 5 "genital" _n>><<set $worn.lower.integrity -= 10>><<set $speechpenisentrance to 1>> <<elseif $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> pussy against your <<penis>> through your $worn.under_lower.name. <<sex 5 "genital" _n>><<set $worn.under_lower.integrity -= 10>><<set $speechpenisentrance to 1>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 51>> <<if $NPCList[_n].chastity.vagina.includes("chastity")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].chastity.vagina against your <<penis>><<if playerChastity("penis")>><<set $worn.genitals.integrity -= 10>> through your $worn.genitals.name<</if>>. <<sex 25 "genital" _n>><<set $speechNPCChastity to 1>> <<elseif playerChastity("penis")>> <<if $worn.genitals.name is "chastity parasite">> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> pussy against your $worn.genitals.name, <span class="lewd">leaving you feeling more aroused.</span> <<arousal 100 "genitals">><<set $worn.genitals.integrity -= 5>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> pussy against your <<penis>> through your $worn.genitals.name. <<set $worn.genitals.integrity -= 10>> <</if>> <<sex 20 "genital" _n>><<set $speechchastity to 1>> <<elseif $nopenile is 1 and !$npcSub>> <span class="purple"><<He>> presses <<his>> pussy against your <<penis>>.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].vagina to "penisimminent">><<set $penisstate to "imminent">><<set $speechpenisimminent to 1>> <<elseif $penisWetness gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2 and !$npcSub>> <<He>> presses <<his>> pussy against your <<penis>>. <<penis_lube_text>> <span class="pink">your tip is pushed into <<him>>, a thrust away from being enveloped.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].vagina to "penisimminent">><<set $penisstate to "imminent">><<set $speechpenisimminent to 1>> <<elseif !$npcSub>> <<He>> presses <<his>> pussy against your <<penis>>, <span class="blue">but fails to envelop you.</span> Your <<penisSimple>> angles away and rubs against <<his>> clit. <<sex 5 "genital" _n>><<set $speechpenisimminent to 1>> <<if $enemyarousal gte ($enemyarousalmax / 2) and random(1, 3) is 3>> Lewd fluid drips from <<his>> pussy, <span class="blue">lubricating your cock.</span> <<bodyliquid "penis" "goo">> <</if>> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("penis")>> <<if $npcSub>> You tease <<his>> labia with your <<penis>>. <<else>> <<He>> teases your <<penis>> with <<his>> labia. <</if>> <<sex 10 "genital" _n>> <<else>> <<if $npcSub>> You tease <<his>> labia with your <<penis>>. <<else>> <<He>> teases your <<penis>> with <<his>> labia. <</if>> <<sex 5 "genital" _n>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "lefthand" or $NPCList[_n].vagina is "righthand">> /*<<set $_npchand to $NPCList[_n].vagina.slice(0,4)>>*/ <<if $rng lte 80>> <<He>> strokes <<his>> pussy with <<his>> hand. <<neutral 1 _n>><<set $enemyarousal += 20>> <<else>> <span class="blue"><<He>> moves <<his>> hand away from <<his>> pussy.</span> <<set $NPCList[_n][$NPCList[_n].vagina] to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<if $NPCList[_n].vagina is "mouth">> <<if $enemyanger gte 100>> <<He>> covers your mouth with <<his>> pussy, making it difficult to breathe. <<if $NPCList[_n].type is "plant" and $mouthactiondefault isnot "vaginalick">> <span class="pink">Sweet nectar leaks into your mouth.</span> <<nectarfed 8>> <</if>> <<violence 3>><<bruise face>><<set $speechvaginamouth to 1>> <<else>> <<if $mouthsubmit is 1>> <<if $rng gte 1>> <<if !$npcSub>> <<He>> rubs <<his>> pussy against your lips. <<else>> You continue to violate <<his>> pussy with your lips. <</if>> <<if $NPCList[_n].type is "plant" and $mouthactiondefault isnot "vaginalick">> <span class="pink">You can taste sweet nectar.</span> <<nectarfed 8>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 3)>> You can taste <<his>> juices. <</if>> <<sex 3 "mouth" _n>><<set $speechvaginamouth to 1>> <<else>> <<He>> moves <<his>> pussy away from your face. <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <<else>> <<if $rng gte 1>> <<if !$npcSub>> <<He>> rubs <<his>> pussy against your lips. <<else>> You continue to violate <<his>> pussy with your lips. <</if>> <<if $NPCList[_n].type is "plant" and $mouthactiondefault isnot "vaginalick">> <span class="pink">You can taste sweet nectar.</span> <<nectarfed 8>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 3)>> You can taste <<his>> juices. <</if>> <<sex 3 "mouth" _n>><<set $speechvaginamouth to 1>> <<else>> <<He>> moves <<his>> pussy away from your face. <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "vaginaentrance" and !$npcSub>> <<if $rng gte 51>> <<He>> kisses your <<pussy>> with <<his>> own, <span class="purple">teasing what's to come.</span> <<set $vaginastate to "othervaginaimminent">><<set $NPCList[_n].vagina to "vaginaimminent">><<sex 10 "genital" _n>> <<else>> <<He>> hovers <<his>> pussy closer to yours. <<neutral 1 _n>> <</if>> <<set $speechtribentrance to 1>> <<elseif $NPCList[_n].vagina is "vaginaimminent" and !$npcSub>> <<He>> thrusts forward, <span class="pink"> <<if $enemyarousal gte (($enemyarousalmax / 10) * 7)>> squelching <<elseif $enemyarousal gte (($enemyarousalmax / 10) * 4)>> smashing <<else>> pressing <</if>> <<his>> pussy against yours.</span> <<set $vaginastate to "othervagina">><<set $NPCList[_n].vagina to "vagina">><<sex 20 "genital" _n>><<set $speechvaginavagina to 1>> <<elseif $NPCList[_n].vagina is "vagina">> <<if $rng gte 1>> <<if $enemyarousal gte $enemyarousalmax * 0.8>> <<He>> thrusts <<his>> hips, <<if $npcSub>>instinctively<</if>> pounding your <<pussy>> against <<hers>> with a violent intensity. <<if $vaginaWetness gte 45>> <span class="purple">Your juices mingle.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.6>> <<He>> thrusts <<his>> hips, <<if $npcSub>>instinctively<</if>> smashing <<his>> pussy against yours. <<if $vaginaWetness gte 45>> <span class="purple">Your juices mingle.</span><<purity -1>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax * 0.4>> <<He>> thrusts <<his>> hips, rubbing and kneading your pussy with <<his>> own. <<elseif $enemyarousal gte $enemyarousalmax * 0.2>> <<He>> rubs and kneads your <<pussy>> with <<his>> own. <<else>> <<He>> kneads and kisses your <<pussy>> with <<his>> own. <</if>> <<sex 20 "genital" _n>><<set $speechvaginavagina to 1>> <<else>> <span class="lblue"><<He>> moves <<his>> pussy away from yours.</span> <<set $vaginause to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<if $NPCList[_n].vagina is "leftarm">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> rubs <<his>> pussy against your fingers. <<submission 2 _n>> <<else>> You rub <<his>> pussy with your fingers. <</if>> <<else>> <<He>> moves your hand away from <<his>> pussy. <<set $leftarm to 0>><<set $NPCList[_n].vagina to 0>><<set $leftactiondefault to "leftplay">> <</if>> <</if>> <<if $NPCList[_n].vagina is "rightarm">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> rubs <<his>> pussy against your fingers. <<submission 2 _n>> <<else>> You rub <<his>> pussy with your fingers. <</if>> <<else>> <<He>> moves your hand away from <<his>> pussy. <<set $rightarm to 0>><<set $NPCList[_n].vagina to 0>><<set $rightactiondefault to "rightplay">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "feet">> <<set $speechfeet to 1>> <<if $rng gte 1>> <<if !$npcSub>> <<He>> rubs <<his>> pussy against your feet. <<submission 2 _n>> <<else>> You rub <<his>> pussy with feet. <</if>> <<else>> <<He>> moves your feet away from <<his>> pussy. <<set $feetuse to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "footjob">> <<if $rng gte 101 or ($penisuse isnot "feet" and $vaginause isnot "feet")>> <span class="blue"><<He>> stops pressing <<his>> foot against your <<genitals>>.</span> <<set $NPCList[_n].vagina to 0>> <<if ($player.penisExist or playerHasStrapon()) and $penisuse is "feet">> <<set $penisuse to 0>> <</if>> <<if $player.vaginaExist and $vaginause is "feet">> <<set $vaginause to 0>> <</if>> <<else>> <<if $penisuse is "feet">> <<He>> presses your <<penis>> against your stomach with <<his>> foot and rubs your <<glans>> between <<his>> toes. <<set $speechpenisfoot to 1>><<neutral 5 "genitals" _n>><<violence 1>> <<elseif $vaginause is "feet">> <<He>> rubs <<his>> foot against your <<pussy>>. <<set $speechvaginafoot to 1>><<neutral 5 "genitals" _n>><<violence 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otherfrot">> <<if $rng gte 101>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on your <<penis>>.</span> <<equipNPCCondom _n "player">> <</if>> <</if>> <span class="blue"><<He>> shifts <<his>> ass and presses <<his>> anus against your <<penis>>.</span> <<set $penisuse to "otheranus">><<set $NPCList[_n].vagina to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<else>> <<He>> rubs <<his>> ass against your <<penis>>. <<sex 5 "genital" _n>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otheranus">> <<if $rng gte 101>> <span class="purple"><<He>> moves <<his>> pelvis away, releasing your <<penis>> from <<his>> anus.</span> <<sex 30 "genital" _n>><<set $NPCList[_n].vagina to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<elseif $rng gte 1>> <<if $enemyanger gte 100>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> continues to fuck your <<penis>> with <<his>> ass, <<his>> movements violent and erratic. Fluid from <<his>> pussy drools onto your length. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<if !playerHasStrapon()>> <<He>> continues to ride you, your penis helpless as it's fucked. <<else>> <<He>> continues to ride your <<penis>>. <</if>> <<else>> <<He>> fucks your <<penis>> with rough movements, intent on showing you who's boss. <</if>> <<elseif $enemyanger gte 20>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> You feel <<his>> ass twitch around your length as <<he>> fucks you. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues to violate your <<penis>>, using you as a sex toy. <<else>> <<He>> fucks your <<penis>>, taking as much of you into <<his>> ass as <<he>> can. <</if>> <<else>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 4)>> <<He>> continues riding your <<penis>>, <<his>> anus rhythmically pounding your length. <<His>> body jerks whenever you hit a sensitive spot. <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 2)>> <<He>> continues riding your <<penis>>, <<his>> anus rhythmically pounding your length. <<else>> <<He>> rides your <<penis>> with steady movements. <</if>> <</if>> <<sex 30 "genital" _n>><<set $speechotheranuspenetrated to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otheranusimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> ass against your <<penis>>.</span> <<set $NPCList[_n].vagina to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>> <<elseif $rng gte 1>> <<if $nopenile is 0>> <<if ((playerPenisSize() is -1 and $arousal lte ($arousalmax / 5) * 4) or (playerPenisSize() is -2 and $arousal lte ($arousalmax / 10) * 9))>> <<He>> presses <<his>> ass against the tip of your <<penis>>, trying to take you in. <span class="blue">But you don't have an erection.</span> <<set $speechpenissmall to 1>><<set $enemyanger += 5>> <<elseif playerPenisSize() lte 2 or playerPenisSize() is 3 and random(1, 100) gte 70 or playerPenisSize() gte 4 and random(1, 100) gte 90>> <<if playerHasStrapon() or $player.virginity.penile isnot true>> <span class="pink"><<He>> eases your <<penis>> into <<his>> ass, swallowing you to the base.</span> <<sex 30 "genital" _n>><<set $speechotheranuspenetrated to 1>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<takeTempleVirginity $NPCList[_n].fullDescription "penile">><<violence 1>><<raped>><<penisraped>><</if>> <<elseif $player.virginity.penile is true>> <span class="pink"> <<He>> eases your virgin penis into <<his>> ass,</span><span class="red"> separating your foreskin from your glans and <<virginitylosttext $NPCList[_n].fullDescription>></span> <<sex 100 "genital" _n>><<takeVirginity $NPCList[_n].fullDescription "penile">><<bruise penis>><<violence 100>><<raped>><<penisraped>><<set $speechpenisvirgin to 1>> <</if>> <<penilestat>><<takeNPCVirginity _n "anal">><<set $NPCList[_n].vagina to "otheranus">><<set $penisstate to "otheranus">> <<if playerPenisSize() gte 4>> <<He>> looks proud to have taken something so big. <</if>> <<else>> <<He>> presses <<his>> ass against the tip of your <<penis>>, trying to take you in. <span class="blue">Your girth proves too much.</span> <<set $speechpenisbig to 1>><<set $enemyanger += 5>> <</if>> <<else>> Respecting your wishes, <<he>> does not envelop your <<penis>> with <<his>> ass, instead teasing the tip of your <<glans>>. <<sex 15 "genital" _n>><<set $speechotheranuswithhold to 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "otheranusentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> ass away from your <<penis>>.</span> <<set $NPCList[_n].vagina to 0>><<set $penisuse to 0>><<set $penisstate to 0>> <<elseif $rng gte 1>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on your <<penis>>.</span> <<equipNPCCondom _n "player">> <</if>> <</if>> <<if $worn.over_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.over_lower.name. <<sex 5 "genital" _n>><<set $worn.over_lower.integrity -= 10>><<set $speechotheranusentrance to 1>> <<elseif $worn.lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.lower.name. <<sex 5 "genital" _n>><<set $worn.lower.integrity -= 10>><<set $speechotheranusentrance to 1>> <<elseif $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.under_lower.name. <<sex 5 "genital" _n>><<set $worn.under_lower.integrity -= 10>><<set $speechotheranusentrance to 1>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 51>> <<if $NPCList[_n].chastity.anus.includes("shield")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].chastity.anus against your <<penis>><<if playerChastity("penis")>><<set $worn.genitals.integrity -= 10>> through your $worn.genitals.name<</if>>. <<sex 25 "genital" _n>><<set $speechNPCChastity to 1>> <<elseif playerChastity("penis")>> <<if $worn.genitals.name is "chastity parasite">> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your $worn.genitals.name, <span class="lewd">leaving you feeling more aroused.</span> <<arousal 100 "genitals">><<set $worn.genitals.integrity -= 5>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> ass against your <<penis>> through your $worn.genitals.name. <<set $worn.genitals.integrity -= 10>> <</if>> <<sex 25 "genital" _n>><<set $speechchastity to 1>> <<elseif $nopenile is 1 and !$npcSub>> <span class="purple"><<He>> presses <<his>> ass against your <<penis>>.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].vagina to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<elseif $penisWetness gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2 and !$npcSub>> <<He>> presses <<his>> ass against your <<penis>>. <<penis_lube_text>> <span class="pink">your tip is pushed into <<him>>, a thrust away from being enveloped.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].vagina to "otheranusimminent">><<set $penisstate to "otheranusimminent">><<set $speechotheranusimminent to 1>> <<elseif !$npcSub>> <<He>> presses <<his>> ass against your <<penis>>, <span class="blue">but fails to envelop you.</span> Your <<penisSimple>> angles away and rubs between <<his>> cheeks. <<sex 5 "genital" _n>><<set $speechotheranusimminent to 1>> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("penis")>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> your <<penis>> between <<his>> cheeks. <<sex 10 "genital" _n>> <<else>> <<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> cheeks on your $worn.genitals.name<<if $worn.genitals.name is "chastity parasite">>, <span class="lewd">making you feel more aroused.</span><<arousal 100 "genitals">><<else>>.<</if>> <<sex 10 "genital" _n>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "facesit">> <<if $consensual is 0 and $underwater isnot 1>> <<if ($oxygen gt 150 and $enemyanger gte 30) or $enemyanger gte (($enemyangermax / 5) * 4)>> <<oxygen -150>> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<if $enemyanger lt $enemyangermax/2>> <span class="lblue"><<He>> moves <<his>> pussy away from your mouth.</span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <<else>> <<switch random(0,2)>> <<case 0 1>> <<He>> continues to sit down full weight on your $worn.face.name. <<damageFaceCover 2>> <<case 2>> <span class="lblue"><<He>> moves <<his>> pussy away from your mouth.</span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</switch>> <</if>> <<else>> <<print either( "<<He>> covers your face with <<his>> pussy and ass.", "<<His>> pussy and ass press down on your face.", "<<He>> continues to sit down full weight on your face.", "<<He>> smothers you under <<him>>.", "<<His>> pussy and ass press down on your mouth and nose." )>> <</if>> <<sex 1 "mouth" _n>><<bruise face>><<bruise face>> <<if $suffocationPhase isnot 2>> <<if $oxygen gte 900>> <span class="blue">You struggle for breath.</span> <<violence 3>> <<elseif $oxygen gte 600>> <span class="purple">You can't breathe!</span> <<violence 5>> <<elseif $oxygen gte 300>> <span class="pink">You feel light-headed.</span> <<violence 10>> <<elseif $oxygen gte 1>> <span class="pink">You see stars.</span> <<violence 20>> <<else>> <span class="red">You are suffocating.</span> <<violence 50>> <<suffocatepass>> <</if>> <</if>> <<elseif $oxygen lte 900>> <<print either( "<<He>> lets you breathe in air from under <<him>>.", "<<He>> lifts off slightly, just enough to let you breathe a little.", "You are able to snatch in some small amount of air from under <<him>>." )>> <<if $neckuse isnot "hand">> <<suffocatepass -1>> <</if>> <</if>> <</if>> <<if $analingusdisablegiving is "f" and ($rng lt 5 or ($rng lt 10 and $enemyanger gte $enemyangermax / 10))>> <<He>> shifts <<his>> position on your face, pressing <<his>> ass onto your mouth. <<set $mouthstate to "anal">><<set $NPCList[_n].vagina to "facesitanal">> <<set $speechmouthotheranus to 1>> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<if $enemyanger lt $enemyangermax/2>> <span class="lblue"><<He>> moves <<his>> pussy away from your mouth.</span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <<else>> <<switch random(0,2)>> <<case 0 1>> <<He>> grinds <<his>> ?vulva against your $worn.face.name. <<damageFaceCover 2>> <<case 2>> <span class="lblue"><<He>> moves <<his>> pussy away from your mouth.</span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</switch>> <</if>> <<elseif $rng gte 0>> <<if $mouthactiondefault is "vaginalick" and random(1) is 0>> <<if !$npcSub>> <<He>> grinds <<his>> pussy into your mouth and tongue. <<else>> You lap and lick <<his>> pussy. <</if>> <<else>> <<if !$npcSub>> <<He>> rubs <<his>> pussy against your lips. <<else>> You continue to violate <<his>> pussy with your lips. <</if>> <</if>> <<if $NPCList[_n].type is "plant" and $mouthactiondefault isnot "vaginalick">> <span class="pink">You can taste sweet nectar.</span> <<nectarfed 8>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 3)>> You can taste <<his>> juices. <</if>> <<sex 3 "mouth" _n>><<set $speechfacesit to 1>> <<else>> <<He>> gets up off of your face. <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "facesitanal">> <<if $rng gt 10 or ($rng gt 5 and $enemyanger gte $enemyangermax / 10)>> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<switch random(0,2)>> <<case 0 1>> <<He>> grinds <<his>> ass against your $worn.face.name. <<case 2>> <span class="lblue"><<He>> moves <<his>> ass away from your mouth.</span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</switch>> <<elseif $enemyarousal gte (($enemyarousalmax / 5) * 3)>> <<He>> grinds <<his>> ass against your mouth. <<else>> <<He>> slowly moves <<his>> ass against your lips. <</if>> <<sex 3 "mouth" _n>><<set $speechmouthotheranus to 1>> <<if $mouthactiondefault is "anallick">> <<set $speechanallick to 1>> <<elseif $mouthactiondefault is "analkiss">> <<set $speechanalkiss to 1>> <</if>> <<elseif $rng gte 0>> <<He>> moves <<his>> ass away from your mouth, pressing <<his>> pussy down onto it as <<he>> changes <<his>> position. <<if $NPCList[_n].type is "plant">> <span class="pink">Nectar glistens at the entrance.</span> <</if>> <<set $mouthstate to "vagina">><<set $NPCList[_n].vagina to "facesit">> <<set $speechfacesit to 1>><<set $mouthtarget to _n>> <<else>> <<He>> gets up off of your face. <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].vagina to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "mouthotheranus">> <<if $rng gte 1>> <<if $enemyarousal gte (($enemyarousalmax / 5) * 3)>> <<He>> grinds <<his>> ass against your mouth. <<else>> <<He>> slowly moves <<his>> ass against your lips. <</if>> <<sex 3 "mouth" _n>><<set $speechmouthotheranus to 1>> <<if $mouthactiondefault is "anallick">> <<set $speechanallick to 1>> <<elseif $mouthactiondefault is "analkiss">> <<set $speechanalkiss to 1>> <</if>> <<else>> <span class="purple"><<He>> moves <<his>> ass away from your face.</span> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $NPCList[_n].penis to 0>> <<set $NPCList[_n].location.genitals = 0>> <</if>> <</if>> <<if $NPCList[_n].vagina is 0 and $NPCList[_n].penis is 0>> <<if random(0,1) is 0>> <<vaginainit>> <<penisinit>> <<else>> <<penisinit>> <<vaginainit>> <</if>> <<elseif $NPCList[_n].vagina is 0>> <<vaginainit>> <<elseif $NPCList[_n].penis is 0>> <<penisinit>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "leftDildo">> <<if $rng gte 1>> <<if !$npcSub>> <<if $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<He>> <<print either("rhythmically","","")>> thrusts <<his>> pussy against your $currentSexToyLeft.name. <<else>> <<print either( `<<He>> thrusts <<his>> pussy up and down your dildo, fucking <<himself>> with a violent intensity as <<he>> approaches <<his>> peak.`, `<<He>> <<print either("forcefully","desperately","rhythmically")>> thrusts <<his>> pussy against your $currentSexToyLeft.name.`, `<<He>> <<print either("thrusts","grinds")>> <<his>> pussy against your $currentSexToyLeft.name in circular motions.`, )>> <<if $NPCList[$lefttarget].type is "plant">>Nectar drips<<else>>Fluids drip<</if>> down the toy. <</if>> <<else>> <<if $enemyarousal lte (($enemyarousalmax / 5) * 4)>> You fuck <<his>> pussy with your $currentSexToyLeft.name. <<else>> You fuck <<his>> pussy with your $currentSexToyLeft.name. <<if $NPCList[$lefttarget].type is "plant">>Nectar drips<<else>>Fluids drip<</if>> down your toy. <</if>> <</if>> <<submission 2 _n>> <<else>> <<He>> moves your $currentSexToyLeft.name away from <<his>> pussy. <<set $leftarm to 0>><<set $NPCList[_n].vagina to 0>><<set $leftactiondefault to "dildoOtherPussyFuck">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "rightDildo">> <<if $rng gte 1>> <<if !$npcSub>> <<if $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<He>> <<print either("rhythmically","","")>> thrusts <<his>> pussy against your $currentSexToyRight.name. <<else>> <<print either( `<<He>> thrusts <<his>> pussy up and down your dildo, fucking <<himself>> with a violent intensity as <<he>> approaches <<his>> peak.`, `<<He>> <<print either("forcefully","desperately","rhythmically")>> thrusts <<his>> pussy against your $currentSexToyRight.name.`, `<<He>> <<print either("thrusts","grinds")>> <<his>> pussy against your $currentSexToyRight.name in circular motions.`, )>> <<if $NPCList[$righttarget].type is "plant">>Nectar drips<<else>>Fluids drip<</if>> down your toy. <</if>> <<else>> <<if $enemyarousal lte (($enemyarousalmax / 5) * 4)>> You fuck <<his>> pussy with your $currentSexToyRight.name. <<else>> You fuck <<his>> pussy with your $currentSexToyRight.name. <<if $NPCList[$righttarget].type is "plant">>Nectar drips<<else>>Fluids drip<</if>> from <<his>> pussy. <</if>> <</if>> <<submission 2 _n>> <<else>> <<He>> moves your $currentSexToyRight.name away from <<his>> pussy. <<set $rightarm to 0>><<set $NPCList[_n].vagina to 0>><<set $rightactiondefault to "dildoOtherPussyFuck">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "leftDildoAnus">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> thrusts <<his>> ass against your $currentSexToyLeft.name. <<submission 2 _n>> <<else>> You fuck <<his>> ass with your $currentSexToyLeft.name. <</if>> <<else>> <<He>> moves your $currentSexToyLeft.name away from <<his>> ass. <<set $leftarm to 0>><<set $NPCList[_n].vagina to 0>><<set $leftactiondefault to "dildoOtherAnusFuck">> <</if>> <</if>> <<if $NPCList[_n].penis is "leftDildoAnus">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> thrusts <<his>> ass against your $currentSexToyLeft.name. <<submission 2 _n>> <<else>> You fuck <<his>> ass with your $currentSexToyLeft.name. <</if>> <<else>> <<He>> moves your $currentSexToyLeft.name away from <<his>> ass. <<set $leftarm to 0>><<set $NPCList[_n].penis to 0>><<set $leftactiondefault to "dildoOtherAnusFuck">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].vagina is "rightDildoAnus">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> thrusts <<his>> ass against your $currentSexToyRight.name. <<submission 2 _n>> <<else>> You fuck <<his>> ass with your $currentSexToyRight.name. <</if>> <<else>> <<He>> moves your $currentSexToyRight.name away from <<his>> ass. <<set $rightarm to 0>><<set $NPCList[_n].vagina to 0>><<set $rightactiondefault to "dildoOtherAnusFuck">> <</if>> <</if>> <<if $NPCList[_n].penis is "rightDildoAnus">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> thrusts <<his>> ass against your $currentSexToyRight.name. <<submission 2 _n>> <<else>> You fuck <<his>> ass with your $currentSexToyRight.name. <</if>> <<else>> <<He>> moves your $currentSexToyRight.name away from <<his>> ass. <<set $rightarm to 0>><<set $NPCList[_n].penis to 0>><<set $rightactiondefault to "dildoOtherAnusFuck">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "leftStroker">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> fucks your $currentSexToyLeft.name with steady thrusts. <<submission 2 _n>> <<else>> You fuck <<his>> <<npcPenis _n>> with your $currentSexToyLeft.name. <</if>> <<else>> <<He>> moves your $currentSexToyLeft.name away from <<his>> <<npcPenisSimple _n>>. <<set $leftarm to 0>><<set $NPCList[_n].vagina to 0>><<set $leftactiondefault to "dildoOtherPussyFuck">> <</if>> <</if>> <<rng>> <<if $NPCList[_n].penis is "rightStroker">> <<if $rng gte 1>> <<if !$npcSub>> <<He>> fucks your $currentSexToyRight.name with steady thrusts. <<submission 2 _n>> <<else>> You fuck <<his>> <<npcPenisSimple _n>> with your $currentSexToyRight.name. <</if>> <<else>> <<He>> moves your $currentSexToyRight.name away from <<his>> <<npcPenisSimple _n>>. <<set $rightarm to 0>><<set $NPCList[_n].penis to 0>><<set $rightactiondefault to "dildoOtherPussyFuck">> <</if>> <</if>> <!-- CHEST START --> <<rng>> <<if $NPCList[_n].chest is "clothed" and $npcSub isnot 1>> <<if ($NPCList[_n].pronoun is "f" and ($NPCList[_n].lactation is 1 or $rng lte ($enemyarousal - 80))) or ($rng lte 15 and $enemyarousal gte 105)>> <<if not $gloryhole>> <span class="blue"><<He>> <<npcUndressText $NPCList[_n] "upper" "self">>, <<npcRevealText $NPCList[_n] "upper">>.</span> <<else>> You faintly hear fabric sliding on the other side. <<He>> must have taken off some clothing. <</if>> <<set $NPCList[_n].chest to 0>> <</if>> <</if>> <<chest_section>> <!-- MOUTH START --> <<rng>> <<if $NPCList[_n].mouth is "thigh">> <<He>> kisses and licks your thigh. <<neutral 5 _n>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "bottom">> <<He>> kisses and licks your <<bottom>>. <<neutral 5 _n>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "anus">> <<if $rng gte 101>> <span class="purple"><<He>> retracts <<his>> tongue from your anus.</span> <<sex 30 "anal" _n>><<set $NPCList[_n].mouth to "anusimminent">><<bruise anus>><<violence 1>><<set $anusstate to "othermouthimminent">> <<elseif $rng gte 1>> <<if $enemyarousal lte ($enemyarousalmax / 5)>> <<He>> caresses your anus with <<his>> tongue. <<sex 30 "anal" _n>><<bruise anus>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 2)>> <<His>> tongue probes inside your <<bottom>>. <<sex 30 "anal" _n>><<bruise anus>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 3)>> <<He>> circles <<his>> tongue inside your <<bottom>>. <<sex 30 "anal" _n>><<bruise anus>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<He>> presses <<his>> mouth firmly against your <<bottom>>, letting <<him>> push <<his>> tongue deeper into your anus. <<sex 30 "anal" _n>><<bruise anus>><<violence 1>> <<else>> Repeatedly thrusting and retracting, <<he>> fucks your <<bottom>> with <<his>> tongue. <<sex 30 "anal" _n>><<bruise anus>><<violence 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "anusimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> tongue against your anus.</span> <<set $NPCList[_n].mouth to "anusentrance">><<set $anusstate to "othermouthentrance">> <<elseif $rng gte 1>> <<if $noanal is 0 and $worn.genitals.anus_exposed is 0>> <<He>> uses <<his>> tongue to lick around your $worn.genitals.name attempting to get past it. <<sex 25 "genital" _n>><<set $worn.genitals.integrity -= 10>> <<elseif $noanal is 1 and $worn.genitals.anus_exposed is 0>> <<He>> uses <<his>> tongue to lick around your $worn.genitals.name. <<sex 30 "genital" _n>> <<elseif $noanal is 0>> <<if $player.virginity.anal isnot true or $virginitytest isnot 1>> <span class="pink"><<He>> pushes <<his>> tongue into your anus.</span> <<sex 30 "anal" _n>><<violence 1>> <<elseif $player.virginity.anal is true>> <span class="pink"><<He>> pushes <<his>> tongue into your virgin anus,</span><span class="red"> violating you in a way you hadn't conceived of.</span> <<sex 100 "anal" _n>><<takeVirginity $NPCList[_n].fullDescription "anal">><<violence 100>> <</if>> <<analstat>><<set $NPCList[_n].mouth to "anus">><<bruise anus>><<set $anusstate to "othermouth">> <<if $virginitytest is 1>><<raped>><<anusraped>><</if>> <<else>> Respecting your wishes, <<he>> does not penetrate your <<bottom>> with <<his>> tongue, instead licking your anus. <<sex 15 "anal" _n>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "anusentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> head away from your <<bottom>>.</span> <<set $NPCList[_n].mouth to 0>><<set $anususe to 0>><<set $anusstate to 0>> <<if $NPCList[_n].vagina is "othermouth">> <<set $NPCList[_n].vagina to 0>> <</if>> <<if $NPCList[_n].penis is "othermouth">> <<set $NPCList[_n].penis to 0>> <</if>> <<elseif $rng gte 1>> <<if $worn.over_lower.anus_exposed is 0>> <<He>> circles <<his>> tongue around your anus through your $worn.over_lower.name. <<sex 5 "anal" _n>><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.anus_exposed is 0>> <<He>> circles <<his>> tongue around your anus through your $worn.lower.name. <<sex 5 "anal" _n>><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<rng>> <<if $worn.under_lower.anus_exposed is 0>> <<He>> circles <<his>> tongue around your anus through your $worn.under_lower.name. <<sex 5 "anal" _n>><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.genitals.anus_exposed is 0>> <<He>> prods your $worn.genitals.name with <<his>> tongue. <<sex 5 "anal" _n>><<set $worn.genitals.integrity -= 10>> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1>> <<if $rng gte 71>> <<if $noanal is 0 and playerChastity("anus")>> <span class="purple"><<He>> presses <<his>> tongue against your $worn.genitals.name near your anus.</span> <<sex 20 "anal" _n>><<set $NPCList[_n].mouth to "anusimminent">><<set $anusstate to "othermouthimminent">> <<elseif $noanal is 1>> <span class="purple"><<He>> presses <<his>> tongue against your anus.</span> <<sex 20 "anal" _n>><<set $NPCList[_n].mouth to "anusimminent">><<set $anusstate to "othermouthimminent">> <<else>> <span class="purple"><<He>> presses <<his>> tongue against your anus, preparing to penetrate you.</span> <<sex 20 "anal" _n>><<set $NPCList[_n].mouth to "anusimminent">><<set $anusstate to "othermouthimminent">> <</if>> <<elseif $rng gte 1>> <<He>> kisses and licks your <<bottom>>. <<sex 10 "anal" _n>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "vagina">> <<if $rng gte 101>> <span class="purple"><<He>> retracts <<his>> tongue from your <<pussy>>.</span> <<sex 30 "genital" _n>><<set $NPCList[_n].mouth to "vaginaimminent">><<bruise vagina>><<violence 1>><<set $vaginastate to "othermouthimminent">> <<elseif $rng gte 1>> <<if $enemyarousal lte ($enemyarousalmax / 5)>> <<He>> caresses your vagina with <<his>> tongue. <<sex 30 "genital" _n>><<bruise vagina>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 2)>> <<He>> presses down on your <<clit>> with <<his>> teeth while exploring your vagina with <<his>> tongue. <<sex 30 "genital" _n>><<bruise vagina>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 3)>> <<He>> circles <<his>> tongue around your vagina. <<sex 30 "genital" _n>><<bruise vagina>><<violence 1>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<He>> presses <<his>> mouth firmly against your <<pussy>>, then pushes <<his>> tongue deeper into your vagina. <<He>> slowly pulls out again, then takes a deep breath. <<sex 30 "genital" _n>><<bruise vagina>><<violence 1>> <<else>> Repeatedly thrusting and retracting, <<he>> fucks your <<pussy>> with <<his>> tongue. <<sex 30 "genital" _n>><<bruise vagina>><<violence 1>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "vaginaimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> tongue against your <<pussy>>.</span> <<set $NPCList[_n].mouth to "vaginaentrance">><<set $vaginastate to "othermouthentrance">> <<elseif $rng gte 1>> <<if $novaginal is 0 and playerChastity("vagina")>> <<He>> licks around your $worn.genitals.name, attempting to get past it. <<sex 25 "genital" _n>><<set $worn.genitals.integrity -= 10>> <<elseif $novaginal is 1 and playerChastity("vagina")>> <<He>> licks around your $worn.genitals.name. <<sex 30 "genital" _n>> <<elseif $novaginal is 0>> <<if $player.virginity.vaginal isnot true or $virginitytest isnot 1>> <span class="pink"><<He>> pushes <<his>> tongue between your <<pussy>> lips.</span> <<sex 30 "genital" _n>> <<elseif $player.virginity.vaginal is true>> <span class="pink"><<He>> pushes <<his>> tongue into your virgin pussy,</span><span class="red"> breaking your hymen and <<virginitylosttext $NPCList[_n].fullDescription>></span> <<sex 100 "genital" _n>><<takeVirginity $NPCList[_n].fullDescription "vaginal">><<violence 100>> <</if>> <<vaginalstat>><<set $NPCList[_n].mouth to "vagina">><<bruise vagina>><<violence 1>><<set $vaginastate to "othermouth">> <<if $virginitytest is 1>><<raped>><<vaginaraped>><</if>> <<else>> Respecting your wishes, <<he>> does not penetrate your <<pussy>> with <<his>> tongue, instead running <<his>> tongue up and down your labia. <<sex 15 "genital" _n>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "vaginaentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> head away from your <<pussy>>.</span> <<set $NPCList[_n].mouth to 0>><<set $vaginause to 0>><<set $vaginastate to 0>> <<if $NPCList[_n].vagina is "othermouth">> <<set $NPCList[_n].vagina to 0>> <</if>> <<if $NPCList[_n].penis is "othermouth">> <<set $NPCList[_n].penis to 0>> <</if>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<He>> traces the outline of your <<pussy>> with <<his>> tongue through your $worn.over_lower.name. <<sex 5 "genital" _n>><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<He>> traces the outline of your <<pussy>> with <<his>> tongue through your $worn.lower.name. <<sex 5 "genital" _n>><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<He>> traces the outline of your <<pussy>> with <<his>> tongue through your $worn.under_lower.name. <<sex 5 "genital" _n>><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 71>> <<if $novaginal is 0 and playerChastity("vagina")>> <span class="purple"><<He>> presses <<his>> lips against your $worn.genitals.name, near your <<pussy>>.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].mouth to "vaginaimminent">><<set $vaginastate to "othermouthimminent">> <<elseif $novaginal is 1>> <span class="purple"><<He>> presses <<his>> lips against your <<pussy>>.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].mouth to "vaginaimminent">><<set $vaginastate to "othermouthimminent">> <<else>> <span class="purple"><<He>> presses <<his>> lips against your <<pussy>>, preparing to fuck you with <<his>> tongue.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].mouth to "vaginaimminent">><<set $vaginastate to "othermouthimminent">> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("vagina")>> <<He>> blows on your <<clit>> and runs <<his>> tongue around your labia. <<sex 10 "genital" _n>> <<else>> <<He>> stares at your $worn.genitals.name. <<sex 5 "genital" _n>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "penis">> <<if $rng gte 101>> <span class="purple"><<He>> moves <<his>> head back, releasing your <<penis>> from <<his>> mouth.</span> <<sex 30 "genital" _n>><<set $NPCList[_n].mouth to "penisimminent">><<set $penisstate to "othermouthimminent">> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <<elseif $rng gte 1>> <<if $enemyarousal lte ($enemyarousalmax / 5)>> <<He>> slowly caresses your shaft with <<his>> tongue. <<sex 30 "genital" _n>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 2)>> Eyes fixed on your face, <<he>> wraps <<his>> tongue around your <<penis>> and sucks. <<sex 30 "genital" _n>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 3)>> <<He>> squeezes <<his>> lips around your <<penis>>, and circles <<his>> tongue around your <<glans>>. <<sex 30 "genital" _n>> <<elseif $enemyarousal lte (($enemyarousalmax / 5) * 4)>> <<He>> takes you deeper into <<his>> mouth, until your <<penis>> disappears inside <<him>> completely. <<He>> slowly pushes you out again, then takes a deep breath. <<sex 30 "genital" _n>> <<else>> <<He>> repeatedly swallows and expels your <<penis>>, fucking you with <<his>> mouth. <<sex 30 "genital" _n>> <</if>> <<if playerHasStrapon()>><<violence 1 1 1 0>> <<else>><<bruise penis>><<violence 1>><</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "penisimminent">> <<if $rng gte 101>> <span class="blue"><<He>> stops pressing <<his>> lips against your <<penis>>.</span> <<set $NPCList[_n].mouth to "penisentrance">><<set $penisstate to "othermouthentrance">> <<elseif $rng gte 1>> <<if $worn.genitals.name is "chastity parasite">> <<He>> licks your $worn.genitals.name, <span class="lewd">the parasite sending a wave of pleasure through your <<penis>>.</span> Your reaction causes <<him>> to continue. <<arousal 400 "genitals">><<if !$earSlime.defyCooldown and $earSlime.vibration lt 120>><<set $earSlime.vibration += 10>><</if>> <<sex 30 "genital" _n>><<set $worn.genitals.integrity -= 5>> <<elseif $nopenile is 0 and playerChastity("penis")>> <<He>> licks around your $worn.genitals.name, near your <<penis>>, attempting to get past it. <<sex 25 "genital" _n>><<set $worn.genitals.integrity -= 10>> <<elseif $nopenile is 1 and playerChastity("penis")>> <<He>> licks around your $worn.genitals.name, near your <<penis>>. <<sex 30 "genital" _n>> <<elseif $nopenile is 0>> <<if playerHasStrapon() or $player.virginity.penile isnot true or $virginitytest isnot 1>> <span class="pink"><<He>> pushes <<his>> lips against your <<penis>>, taking you into <<his>> mouth.</span> <<sex 30 "genital" _n>> <<violence 1 1 1 `+playerHasStrapon()`>> <<elseif $player.virginity.penile is true>> <span class="pink"><<He>> pushes <<his>> lips against your virgin penis, taking you into <<his>> mouth,</span><span class="red"> separating your foreskin from your glans and <<virginitylosttext $NPCList[_n].fullDescription>></span> <<sex 100 "genital" _n>><<takeVirginity $NPCList[_n].fullDescription "penile">><<violence 100>> <</if>> <<penilestat>><<takeNPCVirginity _n "oral">><<set $NPCList[_n].mouth to "penis">><<set $penisstate to "othermouth">> <<if $virginitytest is 1 and !playerHasStrapon()>><<bruise penis>><<raped>><<penisraped>><</if>> <<else>> Respecting your wishes, <<he>> does not envelop your <<penis>> with <<his>> mouth, instead kissing the tip of your <<glans>>. <<sex 15 "genital" _n>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "penisentrance">> <<if $rng gte 101>> <span class="lblue"><<He>> moves <<his>> head away from your <<penis>>.</span> <<set $NPCList[_n].mouth to 0>><<set $penisuse to 0>><<set $penisstate to 0>> <<if $NPCList[_n].vagina is "othermouth">> <<set $NPCList[_n].vagina to 0>> <</if>> <<if $NPCList[_n].penis is "othermouth">> <<set $NPCList[_n].penis to 0>> <</if>> <<elseif $rng gte 1>> <<if $worn.over_lower.vagina_exposed is 0>> <<He>> traces the outline of your <<penis>> with <<his>> tongue through your $worn.over_lower.name. <<sex 5 "genital" _n>><<set $worn.over_lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 0>> <<He>> traces the outline of your <<penis>> with <<his>> tongue through your $worn.lower.name. <<sex 5 "genital" _n>><<set $worn.lower.integrity -= 10>> <<elseif $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<rng>> <<if $worn.under_lower.vagina_exposed is 0>> <<He>> traces the outline of your <<penis>> with <<his>> tongue through your $worn.under_lower.name. <<sex 5 "genital" _n>><<set $worn.under_lower.integrity -= 10>> <<elseif $worn.under_lower.vagina_exposed is 1>> <<if $rng gte 71>> <<if playerChastity("penis")>> <span class="purple"><<He>> tries to wriggle <<his>> tongue into your $worn.genitals.name, eager to taste your <<penis>>.</span> <<sex 20 "genital" _n>> <<elseif $nopenile is 1>> <span class="purple"><<He>> presses <<his>> lips against your <<penis>>.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].mouth to "penisimminent">><<set $penisstate to "othermouthimminent">> <<else>> <span class="purple"><<He>> presses <<his>> lips against your <<penis>>, preparing to take you in <<his>> mouth proper.</span> <<sex 20 "genital" _n>><<set $NPCList[_n].mouth to "penisimminent">><<set $penisstate to "othermouthimminent">> <</if>> <<elseif $rng gte 1>> <<if !playerChastity("penis")>> <<He>> blows on and licks the tip of your <<penis>>. <<sex 10 "genital" _n>> <<else>> <<He>> stares at your $worn.genitals.name. <<sex 5 "genital" _n>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "kiss">> <<if $speechvaginavirgin isnot 1 and $speechpenisvirgin isnot 1 and $speechanusvirgin isnot 1 and $speechmouthvirgin isnot 1>> <<if $rng gte 101>> <span class="lblue"><<He>> pulls <<his>> mouth away from yours.</span> <<set $NPCList[_n].mouth to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<set $NPCList[_n].location.head to 0>> <<else>> <<if $robinDungeonKiss>> <<undergroundRobinKiss $mouthactiondefault>> <<elseif $npcSub>> <<He>> nervously follows your lead, allowing you to explore <<his>> mouth with your tongue. <<elseif $enemyanger lte 20>> <<He>> explores your mouth with <<his>> tongue. <<sex 2 "mouth" _n>> <<else>> <<He>> thrusts <<his>> tongue deep into your mouth. <<violence 1>> <</if>> <<if $NPCList[_n].type is "plant" and $mouthactiondefault isnot "kissback">> <span class="pink">Sweet nectar drips from <<his>> tongue and fills your mouth.</span> <<nectarfed 20>> <</if>> <</if>> <<else>> <span class="lblue"><<He>> pulls <<his>> mouth away from yours.</span> <<set $mouthuse to 0>><<set $NPCList[_n].mouth to 0>><<set $mouthstate to 0>> <<set $NPCList[_n].location.head to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "kissimminent">> <<if $speechvaginavirgin isnot 1 and $speechpenisvirgin isnot 1 and $speechanusvirgin isnot 1 and $speechmouthvirgin isnot 1>> <<if $rng gte 101>> <span class="lblue"><<He>> pulls <<his>> mouth away from yours.</span> <<set $NPCList[_n].mouth to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<set $NPCList[_n].location.head to 0>> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<switch random(0,2)>> <<case 0 1>> <<He>> pushes <<his>> lips against your $worn.face.name. <<He>> seems disappointed. <<damageFaceCover 2>> <<if $consensual isnot 1>> <<brat 2>> <</if>> <<case 2>> <span class="lblue"><<He>> moves <<his>> <<= npcHasStrapon(_n) ? "strap-on" : "penis">> away from your mouth.</span> <<set $NPCList[_n].penis to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<if $consensual isnot 1>> <<brat 2>> <</if>> <</switch>> <<elseif $rng lte 100>> <<He>> pushes <<his>> tongue between your lips. <<set $NPCList[_n].mouth to "kiss">><<set $mouthstate to "kiss">><<sex 2 "mouth" _n>> <<if $NPCList[_n].type is "plant" and $mouthactiondefault isnot "kissback">> <span class="pink">Sweet nectar fills your mouth.</span> <<nectarfed 20>> <</if>> <<else>> <<if $enemyanger lte 20>> <<He>> gently probes your lips with <<his>> tongue. <<sex 2 "mouth" _n>> <<else>> <<He>> bites and toys with your lips. <<violence 1>> <</if>> <</if>> <<else>> <span class="lblue"> <<He>> pulls <<his>> mouth away from yours.</span> <<set $mouthuse to 0>><<set $NPCList[_n].mouth to 0>><<set $mouthstate to 0>> <<set $NPCList[_n].location.head to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "kissentrance">> <<if $speechvaginavirgin isnot 1 and $speechpenisvirgin isnot 1 and $speechanusvirgin isnot 1 and $speechmouthvirgin isnot 1>> <<if $rng gte 101>> <span class="lblue"><<He>> pulls <<his>> mouth away from yours.</span> <<set $NPCList[_n].mouth to 0>><<set $mouthuse to 0>><<set $mouthstate to 0>> <<set $NPCList[_n].location.head to 0>> <<elseif $rng lte 100>> <<He>> pulls you closer and presses your lips together in a kiss. <<if $NPCList[_n].type is "plant" and !$player.virginity.kiss>> <span class="pink">Sweet nectar drips from <<his>> tongue and fills your mouth.</span> <<nectarfed 50>> <</if>> <<if $player.virginity.kiss is true>> <<set $speechkissvirgin to 1>> <<if $npcrow.includes(_n)>> <<takeKissVirginityNamed `$npc[$npcrow.indexOf(_n)]`>> <<else>> <<takeKissVirginity $NPCList[_n] `($consensual is 1?"":"rape")`>> <</if>> <</if>> <<set $NPCList[_n].mouth to "kissimminent">><<set $mouthstate to "kissimminent">><<sex 2 "mouth" _n>> <<else>> <<if $enemyanger lte 20>> <<He>> gently brushes <<his>> lips against yours. <<sex 1 "mouth" _n>> <<else>> <<He>> bites your lower lip. <<violence 1>> <</if>> <</if>> <<else>> <span class="lblue"><<He>> pulls <<his>> mouth away from yours.</span> <<set $mouthuse to 0>><<set $NPCList[_n].mouth to 0>><<set $mouthstate to 0>> <<set $NPCList[_n].location.head to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "chest">> <<if $speechvaginavirgin isnot 1 and $speechpenisvirgin isnot 1 and $speechanusvirgin isnot 1 and $speechmouthvirgin isnot 1>> <<if $enemyanger gte 100>> <<if $milk_amount gte 1>> <<He>> sucks your <<nipple>>. <<Hes>> rough, biting and squeezing. Milk leaks from the tip. <<breastfeed>> <<violence 5>> <<else>> <<He>> sucks your <<nipple>>. <<Hes>> rough, biting and squeezing. Despite <<his>> efforts, no milk comes out. You've been sucked dry. <<milkvolume 1>> <<set $cheststate to "chestimminent">><<set $NPCList[_n].mouth to "chestimminent">> <<violence 3>> <</if>> <<else>> <<if $milk_amount gte 1>> <<He>> continues to suck your <<nipple>>. Milk leaks from the tip. <<breastfeed>> <<sex 5 "breast" _n>> <<else>> <<He>> continues to suck your <<nipple>>, but no milk comes out. You've been sucked dry. <<milkvolume 1>> <<set $cheststate to "chestimminent">><<set $NPCList[_n].mouth to "chestimminent">> <<sex 3 "breast" _n>> <</if>> <</if>> <<else>> <span class="lblue"><<He>> pulls <<his>> mouth away from your chest.</span> <<set $chestuse to 0>><<set $cheststate to 0>><<set $NPCList[_n].mouth to 0>> <<set $NPCList[_n].location.head to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "chestimminent">> <<if $speechvaginavirgin isnot 1 and $speechpenisvirgin isnot 1 and $speechanusvirgin isnot 1 and $speechmouthvirgin isnot 1>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> <span class="pink"><<He>> takes your <<nipple>> into <<his>> mouth. You feel milk leak from your tip.</span> <<breastfeed>> <<set $cheststate to "chest">><<set $NPCList[_n].mouth to "chest">><<sex 5 "breast" _n>> <<milkvolume 1>><<set $enemyanger -= 10>> <<else>> <<if random(1, 100) gte 81>> <<He>> pulls <<his>> head away from your chest. <<set $chestuse to 0>><<set $cheststate to 0>><<set $NPCList[_n].mouth to 0>> <<else>> <<if $enemyanger gte 100>> <<He>> kneads your <<nipple>> between <<his>> teeth. <<violence 3>> <<else>> <<He>> sucks your <<nipple>> while <<his>> tongue works the tip. <<sex 3 "breast" _n>> <</if>> <<milkvolume 1>> <</if>> <</if>> <<else>> <span class="lblue"><<He>> pulls <<his>> mouth away from your chest.</span> <<set $chestuse to 0>><<set $cheststate to 0>><<set $NPCList[_n].mouth to 0>> <<set $NPCList[_n].location.head to 0>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].mouth is "chestentrance">> <<if $speechvaginavirgin isnot 1 and $speechpenisvirgin isnot 1 and $speechanusvirgin isnot 1 and $speechmouthvirgin isnot 1>> <<if $enemyanger gte 100>> <<He>> bites your <<nipple>>, hard enough to hurt. <<set $NPCList[_n].mouth to "chestimminent">><<set $cheststate to "chestimminent">> <<violence 3>> <<else>> <<He>> presses the tip of <<his>> tongue against your <<nipple>>, licking and teasing. <<set $NPCList[_n].mouth to "chestimminent">><<set $cheststate to "chestimminent">> <<sex 3 "breast" _n>> <</if>> <<milkvolume 1>> <<else>> <span class="lblue"><<He>> pulls <<his>> mouth away from your chest.</span> <<set $chestuse to 0>><<set $cheststate to 0>><<set $NPCList[_n].mouth to 0>> <<set $NPCList[_n].location.head to 0>> <</if>> <</if>> <<rng>> <<namedNpcComments $NPCList[_n].fullDescription>> <<if ($NPCList[_n].mouth is 0 or $NPCList[_n].mouth is "speech_only" or ($NPCList[_n].type is "plant" and $speechkissvirgin is 1)) and $speechdisable isnot 1 and _noNameComment>> <<if $role is "islander" and (!$islander_language or $islander_language lt 100)>> <<He>> speaks and gesticulates in <<his>> incomprehensible language. <<elseif $NPCList[_n].type is "plant">> <<plantspeech>> <<elseif $combatgoal is "strip">> <<rng>> <<if $rng lte 25>> <<if $enemyanger lte 60>> <<He>> speaks. "<<print either("Let me take all these clothes off.", "Let's get you naked.", "I think you enjoy being stripped naked!", "You don't need clothes.", "You need to be naked!")>>" <<else>> <<He>> speaks. "<<print either("I'll rip your clothes off if I need to!", "I'll get you naked one way or another!", "I want your clothes gone!", "You like being stripped naked, don't you!", "You don't deserve clothes.", "I want you nude!")>>" <</if>> <</if>> <<elseif $speechvaginavirgin is 1 and $NPCList[_n].penis is "vagina">> <<if $enemyanger lte 60>> <<He>> speaks. "You were a virgin! I can't believe my luck!" <<else>> <<He>> speaks. "I felt your hymen tear bitch. Something to remember me by." <</if>> <<elseif $speechpenisvirgin is 1 and ($NPCList[_n].vagina is "penis" or $NPCList[_n].vagina is "otheranus" or $NPCList[_n].penis is "otheranus")>> <<if $enemyanger lte 60>> <<He>> speaks. "AHH! This was your first time wasn't it? It feels so good!" <<else>> <<He>> speaks. "How's it feel to have your virgin dick broken in? Feels amazing for me." <</if>> <<elseif $speechanusvirgin is 1 and $NPCList[_n].penis is "anus">> <<if $enemyanger lte 60>> <<He>> speaks. "It's so tight! This must be the first time your ass has been used like this." <<else>> <<He>> speaks. "It's so tight! This must be the first time your ass has been used like this. I've got plenty more work to do before you're properly broken in." <</if>> <<elseif $speechmouthvirgin is 1 and $NPCList[_n].penis is "mouth">> <<if npcHasStrapon(_n)>> <<if $enemyanger lte 60>> <<He>> speaks. "Is this your first time giving head?" <<else>> <<He>> speaks. "Is this your first time giving head? You'll be addicted to my strap before you know it." <</if>> <<else>> <<if $enemyanger lte 60>> <<He>> speaks. "Is this the first time you've tasted dick?" <<else>> <<He>> speaks. "Is this the first time you've tasted dick? You'll be a cum-addicted cock slave soon." <</if>> <</if>> <<elseif $speechspray is 1>> <<sprayspeech>> <<elseif $speechcum is 1 and $rng gte 61 and $speechorgasmrepeat lte 1 and $speechorgasmcount lte 6>> <<cumspeech>> <<elseif $rng gte 91>> <<if not $gloryhole>> <<basespeech>><<neutral 1 _n>> <<else>> <<basegloryholespeech>><<neutral 1 _n>> <</if>> <<elseif $rng gte 61>> <<combatspeech _n>><<neutral 1 _n>> <<elseif $rng gte 41 and !$gloryhole>> <<clothesspeech>> <<elseif !$gloryhole>> <<rng>> <<if $enemyanger + $rng lte 20>> <<He>> ?admires your body. <<neutral 1 _n>> <<elseif $enemyanger + $rng lte 25>> <<if $position is "wall" and $walltype isnot "front">> <<He>> ?admires your helpless <<bottom>>. <<neutral 1 _n>> <<bodypart_admire random_bottom>> <<else>> <<He>> ?admires your hair. <<neutral 1 _n>> <<bodypart_admire_chance random_shoulder>> <</if>> <<elseif $enemyanger + $rng lte 30>> <<if $position is "wall" and $walltype isnot "front">> <<He>> ?admires your helpless hips. <<neutral 1 _n>> <<bodypart_admire pubic>> <<else>> <<He>> ?admires your chest. <<neutral 1 _n>> <<bodypart_admire breasts>> <</if>> <<elseif $enemyanger + $rng lte 35>> <<if $walltype is "front">> <<He>> ?admires your face. <<neutral 1 _n>> <<bodypart_admire random_cheek>> <<else>> <<He>> ?admires your legs. <<neutral 1 _n>> <<bodypart_admire random_thigh>> <</if>> <<elseif $enemyanger + $rng lte 40>> <<if $position is "wall" and $walltype isnot "front">> <<He>> ?admires your helpless legs. <<neutral 1 _n>> <<bodypart_admire random_thigh>> <<elseif $chestuse is 0 and $NPCList[_n].location.genitals isnot "head" and $NPCList[_n].location.head isnot "head" and $NPCList[_n].location.head isnot "genitals">> <<set $NPCList[_n].mouth to "chestentrance">><<set $chestuse to "mouth">><<set $cheststate to "mouthentrance">><<set $chesttarget to _n>> <span class="blue"><<He>> moves <<his>> head to your chest.</span> <<neutralbreast 1 _n>> <<bodypart_admire breasts>> <<set $NPCList[_n].location.head to "head">> <<else>> <<He>> leers at your <<breasts>>. <</if>> <<elseif $enemyanger + $rng lte 45>> <<if $position is "wall" and $walltype isnot "front">> <<He>> kisses your helpless thighs. <<neutral 3 _n>> <<bodypart_admire random_thigh>> <<else>> <<He>> kisses you on the forehead. <<neutral 3 _n>> <<bodypart_admire forehead>> <</if>> <<elseif $enemyanger + $rng lte 50>> <<if $position is "wall" and $walltype isnot "front">> <<He>> kisses you on the hips. <<neutral 3 _n>> <<bodypart_admire random_bottom>> <<elseif $NPCList[_n].penis is "mouth" or $NPCList[_n].vagina is "mouth">> <<He>> leans back, <<if npcHasStrapon(_n)>> taking in the view of your mouth on <<his>> strap. <<else>> savouring the feel of your mouth on <<his>> genitals. <</if>> <<neutral 10 _n>> <<else>> <<He>> kisses you on the cheek. <<neutral 3 _n>> <<bodypart_admire random_cheek>> <</if>> <<elseif $enemyanger + $rng lte 55>> <<if $position is "wall" and $walltype isnot "front">> <<He>> licks your helpless thighs. <<neutral 3 _n>> <<bodypart_admire random_thigh>> <<elseif $NPCList[_n].penis is "mouth" or $NPCList[_n].vagina is "mouth">> <<He>> leans back, <<if npcHasStrapon(_n)>> taking in the view of your mouth on <<his>> strap. <<else>> savouring the feel of your mouth on <<his>> genitals. <</if>> <<neutral 10 _n>> <<else>> <<He>> kisses your neck. <<neutral 3 _n>> <<bodypart_admire breasts>> <</if>> <<elseif $enemyanger + $rng lte 60>> <<if $position is "wall" and $walltype isnot "front">> <<He>> licks your helpless hips. <<neutral 3 _n>> <<bodypart_admire random_bottom>> <<else>> <<cheeklick _n>> <</if>> <<elseif $enemyanger + $rng lte 80>> <<neutral 10 _n>> <<if $position is "wall" and $walltype isnot "front">> <<He>> licks your helpless legs. <<neutral 3 _n>> <<bodypart_admire random_thigh>> <<else>> <<if $mouthuse is 0 and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<if $NPCList[_n].penis is "chest">> <<combatspeech _n>><<neutral 1 _n>> <<elseif $NPCList[_n].location.genitals isnot "head">> <span class="blue"><<He>> moves <<his>> lips close to yours, about to kiss.</span> <<set $mouthuse to "kiss">><<set $mouthstate to "kissentrance">><<set $NPCList[_n].mouth to "kissentrance">><<sex 1 "mouth" _n>> <<set $NPCList[_n].location.head = "head">><<set $mouthtarget to _n>> <</if>> <<else>> <<cheeklick _n>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 84 and $anususe is 0 and $analingusdisablereceiving is "f" and $NPCList[_n].location.head is 0 and $NPCList[_n].location.genitals isnot "genitals" and $walltype isnot "front">> <<neutral 10 _n>> <<if $NPCList[_n].location.genitals is "head">> <span class="blue">You feel <<him>> lean forward along your body, then you feel <<his>> breath on your <<bottom>>.</span> <<else>> <span class="blue"><<He>> kneels behind you. You feel <<his>> breath on your <<bottom>>.</span> <</if>> <<set $anususe to "othermouth">><<set $anusstate to "othermouthentrance">><<set $NPCList[_n].mouth to "anusentrance">> <<sex 1 "anal" _n>><<set $NPCList[_n].location.head to "genitals">><<set $anustarget to _n>> <<elseif $enemyanger + $rng lte 92 and $NPCList[_n].location.head is 0 and $NPCList[_n].location.genitals isnot "genitals" and $walltype isnot "front">> <<neutral 10 _n>> <<if $vaginause is 0 and $NPCList[_n].vagina is 0 and $player.vaginaExist>> <span class="blue"><<He>> kneels beside you. You feel <<his>> breath on your <<pussy>>.</span> <<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $NPCList[_n].mouth to "vaginaentrance">> <<set $NPCList[_n].vagina to "othermouth">><<sex 1 "genital" _n>><<set $NPCList[_n].location.head to "genitals">><<set $vaginatarget to _n>> <<elseif $vaginause is 0 and $NPCList[_n].penis is 0 and $player.vaginaExist>> <span class="blue"><<He>> kneels beside you. You feel <<his>> breath on your <<pussy>>.</span> <<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $NPCList[_n].mouth to "vaginaentrance">> <<set $NPCList[_n].penis to "othermouth">><<sex 1 "genital" _n>><<set $NPCList[_n].location.head to "genitals">><<set $vaginatarget to _n>> <<elseif $vaginause is 0 and $NPCList[_n].vagina is "facesit" and $player.vaginaExist>> <span class="blue">You feel <<him>> lean forward along your body, then feel <<his>> breath on your <<pussy>>.</span> <<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $NPCList[_n].mouth to "vaginaentrance">> <<sex 1 "genital" _n>><<set $NPCList[_n].location.head to "genitals">><<set $vaginatarget to _n>> <<else>> <<He>> breathes on your skin, making your hair stand on end. <<neutral 1>> <</if>> <<elseif $enemyanger + $rng lte 100 and $NPCList[_n].location.head is 0 and $NPCList[_n].location.genitals isnot "genitals" and $walltype isnot "front">> <<neutral 10 _n>> <<if $penisuse is 0 and $NPCList[_n].penis is 0 and $player.penisExist>> <<if $player.condom>> <<He>> removes <<condomDesc "player" "the">> from your penis. <<removeNPCCondom $mouthtarget "player">> <</if>> <span class="blue"> <<He>> kneels beside <<if $player.condom>> you and removes <<condomDesc "player" "your">>. <<removeNPCCondom $mouthtarget "player">> <<else>> you. <</if>> You feel <<his>> breath on your <<penis>>. </span> <<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $NPCList[_n].mouth to "penisentrance">> <<set $NPCList[_n].penis to "othermouth">><<sex 1 "genital" _n>><<set $NPCList[_n].location.head to "genitals">><<set $penistarget to _n>> <<elseif $penisuse is 0 and $NPCList[_n].vagina is 0 and $player.penisExist>> <span class="blue"> <<He>> kneels beside <<if $player.condom>> you and removes <<condomDesc "player" "your">>. <<removeNPCCondom $mouthtarget "player">> <<else>> you. <</if>> You feel <<his>> breath on your <<penis>>. </span> <<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $NPCList[_n].mouth to "penisentrance">> <<set $NPCList[_n].vagina to "othermouth">><<sex 1 "genital" _n>><<set $NPCList[_n].location.head to "genitals">><<set $penistarget to _n>> <<elseif $penisuse is 0 and $NPCList[_n].vagina is "facesit" and $player.penisExist>> <span class="blue"> You feel <<him>> lean forward along your body, then feel <<his>> breath on your <<if $player.condom>> <<penis>> as <<condomDesc "player" "your">> is removed. <<removeNPCCondom $mouthtarget "player">> <<else>> <<penis>>. <</if>> </span> <<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $NPCList[_n].mouth to "penisentrance">> <<sex 1 "genital" _n>><<set $NPCList[_n].location.head to "genitals">><<set $penistarget to _n>> <<else>> <<He>> breathes on your skin, making your hair stand on end. <<neutral 1 _n>> <</if>> <<elseif $enemyanger + $rng lte 105>> <<if $position is "wall" and $walltype isnot "front" and $NPCList[_n].location.genitals isnot "genitals">> <<He>> kisses and caresses your helpless thighs with <<his>> tongue. <<neutral 10 _n>> <<bodypart_admire random_thigh>> <<elseif $NPCList[_n].location.genitals isnot "head">> <<He>> kisses and caresses your <<nipple>> with <<his>> tongue. <<neutralbreast 10 _n>> <<bodypart_admire breasts>> <</if>> <<elseif $enemyanger + $rng lte 110>> <<if $position is "wall" and $walltype isnot "front" and $NPCList[_n].location.genitals isnot "genitals">> <<He>> kisses and gently bites your helpless <<bottom>>. <<neutral 10 _n>> <<bodypart_admire random_bottom>> <<elseif $NPCList[_n].penis is "mouth" or $NPCList[_n].vagina is "mouth">> <<He>> leans back, <<if npcHasStrapon(_n)>> taking in the view of your mouth on <<his>> strap. <<else>> savouring the feel of your mouth on <<his>> genitals. <</if>> <<neutral 10 _n>> <<elseif $NPCList[_n].location.genitals isnot "head">> <<He>> kisses and gently bites you on the neck. <<neutral 10 _n>> <<bodypart_admire breasts>> <</if>> <<elseif $enemyanger + $rng lte 115>> <<if $walltype is "front">> <<He>> spits on your face. <<neutral 5 _n>> <<bodypart_admire forehead>> <<else>> <<He>> spits on your <<genitals>>. <<neutral 5 "genitals" _n>> <<bodypart_admire pubic>> <</if>> <<elseif $enemyanger + $rng lte 120>> <<if $walltype is "front">> <<He>> spits on your back. <<neutral 5 _n>> <<bodypart_admire back>> <<else>> <<He>> spits on your <<bottom>>. <<neutral 5 _n>> <<bodypart_admire random_bottom>> <</if>> <<elseif $enemyanger + $rng lte 130>> <<if $position is "wall" and $walltype isnot "front">> <<He>> spits on your tummy. <<neutral 5 _n>> <<bodypart_admire back>> <<if playerBellyVisible()>><<set $speechpregnant to 1>><</if>> <<elseif $NPCList[_n].location.genitals isnot "head" and $NPCList[_n].location.head isnot "head" and $NPCList[_n].location.head isnot "genitals" and $chestuse is 0>> <<set $NPCList[_n].mouth to "chestentrance">><<set $chestuse to "mouth">><<set $cheststate to "mouthentrance">><<set $chesttarget to _n>> <span class="blue"><<He>> moves <<his>> head to your chest.</span> <<neutralbreast 1 _n>> <<bodypart_admire breasts>> <<set $NPCList[_n].location.head to "head">> <</if>> <<elseif $enemyanger + $rng lte 135 and $NPCList[_n].location.genitals isnot "genitals">> <<if $walltype is "front">> <<He>> runs <<his>> tongue over your cheek and jaw. <<neutral 5 _n>> <<bodypart_admire random_cheek>> <<else>> <<He>> runs <<his>> tongue up your inner thigh. <<neutral 5 _n>> <<bodypart_admire random_thigh>> <</if>> <<elseif $enemyanger + $rng lte 140>> <<if $position is "wall" and $walltype isnot "front">> <<He>> spits on your helpless thighs. <<neutral 5 _n>> <<bodypart_admire random_thigh>> <<else>> <<He>> spits on your face. <<neutral 5 _n>> <<bodypart_admire random_cheek>> <</if>> <<elseif $enemyanger + $rng lte 145 and $NPCList[_n].location.genitals isnot "head">> <<He>> presses <<his>> mouth against your forehead. <<neutral 5 _n>> <<bodypart_admire forehead>> <<elseif $enemyanger + $rng lte 150>> <<if $walltype isnot "front">> <<He>> bites your cheek. <<violence 10>><<hitstat>><<bruise face>> <<bodypart_admire random_cheek>> <<else>> <<He>> bites your <<bottom>>. <<violence 10>><<hitstat>><<bruise bottom>> <<bodypart_admire random_bottom>> <</if>> <<elseif $enemyanger + $rng lte 155>> <<if $walltype isnot "front">> <<He>> ?admires your <<breasts>>, eyes full of thirst. <<neutral 5 _n>> <<bodypart_admire chest>> <<else>> <<He>> ?admires your groin, eyes full of thirst. <<neutral 5 _n>> <<bodypart_admire pubic>> <</if>> <<elseif $enemyanger + $rng lte 160>> <<if $position is "wall" and $walltype isnot "front" and $NPCList[_n].location.genitals isnot "genitals">> <<He>> bites your thighs. <<violence 10>><<hitstat>><<bruise thigh>> <<bodypart_admire random_thigh>> <<elseif $NPCList[_n].location.genitals isnot "head">> <<He>> bites your shoulders. <<violence 10>><<hitstat>><<bruise leftarm>><<bruise rightarm>> <<bodypart_admire_chance random_shoulder>> <</if>> <<elseif $enemyanger + $rng lte 165 and $NPCList[_n].location.genitals isnot "genitals" and !(playerBellySize(true) gte 8)>> <<He>> bites your tummy. <<violence 10>><<hitstat>><<bruise tummy>> <<bodypart_admire back>> <<elseif $enemyanger + $rng lte 170>> <<if $position is "wall" and $walltype isnot "front" and $NPCList[_n].location.genitals isnot "genitals">> <<He>> bites your hips. <<violence 10>><<hitstat>><<bruise tummy>> <<bodypart_admire pubic>> <<elseif $NPCList[_n].penis is "mouth" or $NPCList[_n].vagina is "mouth">> <<He>> leans back, <<if npcHasStrapon(_n)>> taking in the view of your mouth on <<his>> strap. <<else>> savouring the feel of your mouth on <<his>> genitals. <</if>> <<neutral 10 _n>> <<elseif $NPCList[_n].location.genitals isnot "head">> <<He>> bites your neck. <<violence 10>><<hitstat>><<bruise neck>> <<bodypart_admire breasts>> <</if>> <<elseif $enemyanger + $rng lte 180>> <<if $position is "wall" and $walltype isnot "front" and $NPCList[_n].location.genitals isnot "genitals">> <<He>> bites your thighs. <<violence 10>><<hitstat>><<bruise thigh>> <<bodypart_admire random_thigh>> <<elseif $NPCList[_n].penis is "mouth" or $NPCList[_n].vagina is "mouth">> <<He>> leans back, <<if npcHasStrapon(_n)>> taking in the view of your mouth on <<his>> strap. <<else>> savouring the feel of your mouth on <<his>> genitals. <</if>> <<neutral 10 _n>> <<elseif $NPCList[_n].location.genitals isnot "head">> <<He>> bites your cheek. <<violence 10>><<hitstat>><<bruise face>> <<bodypart_admire random_cheek>> <</if>> <<elseif $enemyanger + $rng gte 190>> <<if $position is "wall" and $walltype isnot "front" and $NPCList[_n].location.genitals isnot "genitals">> <<He>> bites your <<bottom>>. <<violence 10>><<hitstat>><<bruise bottom>> <<bodypart_admire random_bottom>> <<elseif $NPCList[_n].location.genitals isnot "head">> <<He>> bites your <<breasts>>. <<violence 10>><<hitstat>><<bruise chest>><<playWithBreasts>> <<bodypart_admire breasts>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if $possessed and $control lt $controlmax>> <span class="blue">You barely feel a thing.</span> <</if>> <<if $stalk and _stripped>>/*NPC can run off with clothes, and trigger a chase sequence. */ <<stalk_flight>> <<set $position to "stalk">> <<He>> runs away, <span class="pink">with your clothes still in <<his>> possession!</span> <</if>> <<manend>><<set $pullaway to 0>><<set $NPCList[_n].intro to 0>> <</widget>> <<widget "penisinit">> <<rng>> <<if $gloryhole>> The $NPCList[_n].penisdesc waits expectantly. <<elseif $npcSub>> <<His>> $NPCList[_n].penisdesc twitches, awaiting your touch. <<elseif $enemyanger + $rng lte 20>> <<if $NPCList[_n].lefthand is 0>> <<if $enemyarousal lte 40>> <<He>> slowly rubs <<his>> shaft. <<submission 1 _n>> <<elseif $enemyarousal lte 90>> <<He>> quickly rubs <<his>> shaft. <<submission 2 _n>> <<elseif $enemyarousal gte 91>> <<He>> rapidly rubs <<his>> shaft. <<submission 3 _n>> <</if>> <<elseif $NPCList[_n].righthand is 0>> <<if $enemyarousal lte 40>> <<He>> slowly rubs <<his>> shaft. <<submission 1 _n>> <<elseif $enemyarousal lte 90>> <<He>> quickly rubs <<his>> shaft. <<submission 2 _n>> <<elseif $enemyarousal gte 91>> <<He>> rapidly rubs <<his>> shaft. <<submission 3 _n>> <</if>> <<else>> <<if $walltype is "front">> <<He>> slaps <<his>> $NPCList[_n].penisdesc against your cheek. <<submission 2 _n>> <<else>> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your thighs. <<submission 2 _n>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 25>> <<if $position is "wall" and $walltype isnot "front">> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your thighs. <<submission 2 _n>> <<else>> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your tummy. <<submission 2 _n>> <<if playerBellyVisible()>><<set $speechpregnant to 1>><</if>> <</if>> <<elseif $enemyanger + $rng lte 30>> <<if $position is "wall" and $walltype isnot "front">> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your thighs. <<submission 2 _n>> <<elseif $player.breastsize gte 3>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your <<breasts>>.</span> <<submission 2 _n>><<playWithBreasts>><<set $chestactiondefault to "rub">><<set $chestuse to "penis">><<set $chesttarget to _n>><<cheststat>><<set $mouthactiondefault to "peniskiss">><<set $NPCList[_n].penis to "chest">><<set $NPCList[_n].location.genitals to "head">> <<else>> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your <<breasts>>. <<submission 2 _n>><<playWithBreasts>> <</if>> <<elseif $enemyanger + $rng lte 35>> <<if $walltype is "front">> <<He>> slaps <<his>> $NPCList[_n].penisdesc against your cheek. <<submission 2 _n>> <<else>> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your thighs. <<submission 2 _n>> <</if>> <<elseif $enemyanger + $rng lte 40>> <<if $position is "wall" and $walltype isnot "front">> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your thighs. <<submission 2 _n>> <<elseif $NPCList[_n].mouth is 0>> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your face. <<submission 2 _n>> <<else>> <<He>> rubs <<his>> $NPCList[_n].penisdesc against your thighs. <<submission 2 _n>> <</if>> <<elseif $enemyanger + $rng lte 45 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <!-- anal --> <<if $player.penisExist or playerHasStrapon()>> <<if $penisuse is 0>> <<if $analdisable is "f" and $consensual is 1>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on your <<penis>>.</span> <<equipNPCCondom _n "player">> <</if>> <</if>> <span class="blue"><<He>> straddles you, rubbing <<his>> ass against your <<penis>>.</span> <<neutral 5 _n>><<set $penisuse to "otheranus">><<set $NPCList[_n].penis to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>><<set $penistarget to _n>> <<set $NPCList[_n].location.genitals = "genitals">> <</if>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 60 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "head">> <<if $mouthuse is 0>> <<if $penisbitten is 0>> <<if $position isnot "wall">> <<if wearingCondom(_n)>> <<He>> removes <<condomDesc _n "the">> from <<his>> penis. <<removeNPCCondom _n>> <</if>> <span class="blue"><<He>> positions <<his>> $NPCList[_n].penisdesc in front of your mouth.</span> <<if $NPCList[_n].type is "plant" and !["peniskiss","penislick"].includes($mouthactiondefault)>> <span class="pink">Nectar glistens on the tip.</span> <</if>> <<neutral 5 _n>><<set $mouthuse to "penis">><<set $NPCList[_n].penis to "mouthentrance">><<set $mouthstate to "entrance">><<set $speechmouthentrance to 1>> <<set $NPCList[_n].location.genitals = "head">><<set $mouthtarget to _n>> <</if>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 70 and $penisuse is 0 and ($player.penisExist or (playerHasStrapon() and !npcHasStrapon(_n))) and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <<set $penisuse to "otherpenis">><<set $penisstate to "otherpenisentrance">><<set $NPCList[_n].penis to "penisentrance">><<sex 5 "genital" _n>><<set $penistarget to _n>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <span class="blue"><<He>> moves <<his>> caged $NPCList[_n].penisdesc close to your penis.</span> <<elseif playerChastity("penis")>> <span class="blue"><<He>> moves <<his>> $NPCList[_n].penisdesc close to your $worn.genitals.name.</span> <<else>> <span class="blue"><<He>> moves <<his>> $NPCList[_n].penisdesc close to your <<penis>>.</span> <</if>> <<elseif $enemyanger + $rng lte 100 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <<if $player.vaginaExist and $vaginause is 0 and ($anususe isnot 0 or random(0,100) gte 50)>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <span class="blue"><<He>> moves between your legs, positioning <<his>> $NPCList[_n].penisdesc in front of your <<pussy>>.</span> <<neutral 5 _n>><<set $vaginause to "penis">><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginastate to "entrance">><<set $speechvaginaentrance to 1>><<set $vaginatarget to _n>> <<set $NPCList[_n].location.genitals = "genitals">> <<elseif $player.vaginaExist and $vaginaldoubledisable is "f" and ($awareness lt 300 ? random(0,1) is 0 : random(0,3) isnot 0) and $anususe isnot "penisdouble" and $vaginause is "penis" and $NPCList[_n].penissize gte 2 and $NPCList[$vaginatarget].penissize gte 2 and !["legLock","legLocked"].includes($feetuse)>> /* level 4 awareness( $awareness gt 300) should make this more common This action requires both NPCs to have a minimum penis size to initiate */ <!-- Double combat actions: Double comabt actions work similarly to their single counterparts, albeit with penetration states and enter/exit conditions. NPCs and player actions happen more or less the same way as existing actions. Initiation/escape actions will add or remove one NPC and switch the other one to single/double as appropriate. There are two primary states; in sync and out of sync. While out of sync, they typically display text more or less the same as their singular versions. While in sync, they display the double version text and combat outcomes. --> /* Error handling for escaped penises. Divert to regular penetration */ /* Essentially, NPC's penis has been set to 0 somehow, yet the player's states have not been reset. */ <<set $vaginadoubletarget to _n>> <<if $vaginatarget is $vaginadoubletarget>> <br><br> <<error { message : `[${$NPCList[$vaginatarget].fullDescription}] penis has escaped. It is set to [${$NPCList[$vaginatarget].penis}] but player state remains [${$vaginastate}]`, source : "[0x0] Occurred in man-combat -> penisinit: DVP. Please export and report." }>> <br><br> <<He>> teases your <<pussy>> with <<his>> $NPCList[$vaginatarget].penisdesc. <<set $NPCList[$vaginatarget].penis to "vaginaentrance">> <<if $vaginastate is "entrance">><<set $NPCList[$vaginatarget].penis to "vaginaentrance">> <<elseif $vaginastate is "imminent">><<set $NPCList[$vaginatarget].penis to "vaginaimminent">> <<elseif $vaginastate is "penetrated">><<set $NPCList[$vaginatarget].penis to "vagina">> <</if>> <<else>> /* Do intended function. Switch player into DP state and set NPC state */ <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <span class="blue"><<He>> moves <<his>> $NPCList[_n].penisdesc between your legs, joining the other cock in front of your <<pussy>>.</span> <<neutral 5>> /* Player */ <<set $vaginause to "penisdouble">> <<set $vaginastate to (["doublepenetration", "doubleimminent"].includes($vaginastate) ? $vaginastate : "doubleentrance")>> /* NPC */ <<set $speechvaginaentrance to 1>> <<set $NPCList[_n].penis to "vaginaentrancedouble">> <<set $NPCList[_n].location.genitals = "genitals">> <<if $NPCList[$vaginatarget].penis is "vagina">> <<set $NPCList[$vaginatarget].penis to "vaginadouble">> <<elseif $NPCList[$vaginatarget].penis is "vaginaimminent">> <<set $NPCList[$vaginatarget].penis to "vaginaimminentdouble">> <<elseif $NPCList[$vaginatarget].penis is "vaginaentrance">> <<set $NPCList[$vaginatarget].penis to "vaginaentrancedouble">> <</if>> <</if>> <<elseif $analdisable is "f" and $anususe is 0 and $bottomuse is 0>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <span class="blue"><<He>> moves between your legs, positioning <<his>> $NPCList[_n].penisdesc in front of your <<bottom>>.</span> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<neutral 5>><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <<set $NPCList[_n].location.genitals = "genitals">> <<elseif $analdisable is "f" and $analdoubledisable is "f" and ($awareness lt 300 ? random(0,1) is 0 : random(0,3) isnot 0) and $vaginause isnot "penisdouble" and $bottomuse isnot "penis" and $anususe is "penis" and $anususe isnot "penisdouble" and $NPCList[_n].penissize gte 2 and $NPCList[$anustarget].penissize gte 2 and !["legLock","legLocked"].includes($feetuse)>> /* level 4 awareness( $awareness gt 300) should make this more common This action requires both NPCs to have a minimum penis size to initiate */ <!-- Double combat actions: Double comabt actions work similarly to their single counterparts, albeit with penetration states and enter/exit conditions. NPCs and player actions happen more or less the same way as existing actions. Initiation/escape actions will add or remove one NPC and switch the other one to single/double as appropriate. There are two primary states; in sync and out of sync. While out of sync, they typically display text more or less the same as their singular versions. While in sync, they display the double version text and combat outcomes. --> /* Error handling for escaped penises. Divert to regular penetration */ /* Essentially, NPC's penis has been set to 0 somehow, yet the player's states have not been reset. */ <<set $anusdoubletarget to _n>> <<if $anustarget is $anusdoubletarget>> <br><br> <<error { message : `[${$NPCList[$anustarget].fullDescription}] penis has escaped. It is set to [${$NPCList[$anustarget].penis}] but player state remains [${$anusstate}]`, source : "[0x0] Occurred in man-combat -> penisinit: DAP. Please export and report." }>> <br><br> <<He>> teases your <<bottom>> with <<his>> $NPCList[$anustarget].penisdesc. <<set $NPCList[$vaginatarget].penis to "anusentrance">> <<if $anusstate is "entrance">> <<set $NPCList[$anustarget].penis to "anusentrance">> <<He>> tries to penetrate, but slips away. <<elseif $vaginastate is "imminent">> <<set $NPCList[$vaginatarget].penis to "anusimminent">> <<He>> pushes <<his>> cock against your opening, teasing what's to come. <<elseif $vaginastate is "penetrated">> <<set $NPCList[$vaginatarget].penis to "anus">> <<He>> continues thrusting into your <<bottom>>. <</if>> <<else>> /* Otherwise do the intended function */ <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <span class="blue"><<He>> moves between your legs, joining the cock in front of your <<bottom>>.</span> <<neutral 5 _n>> /* Player */ <<set $anusdoubletarget to _n>> <<set $anususe to "penisdouble">> <<if $anusstate isnot "doublepenetration" and $anusstate isnot "doubleimminent">> <<set $anusstate to "doubleentrance">> <</if>> /* NPC */ <<set $NPCList[_n].penis to "anusentrancedouble">><<set $NPCList[_n].location.genitals = "genitals">><<set $speechanusentrance to 1>> <<if $NPCList[$anustarget].penis is "anus">> <<set $NPCList[$anustarget].penis to "anusdouble">> <<elseif $NPCList[$anustarget].penis is "anusimminent">> <<set $NPCList[$anustarget].penis to "anusimminentdouble">> <<elseif $NPCList[$anustarget].penis is "anusentrance">> <<set $NPCList[$anustarget].penis to "anusentrancedouble">> <</if>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 120>> <<if $analingusdisablegiving is "f" and $enemyno gte 2 and $position isnot "wall" and $mouthuse is 0 and $NPCList[_n].location.head isnot "head" and $NPCList[_n].location.genitals is 0 and (!$player.vaginaExist or $vaginause isnot 0) and (!$player.penisExist or $penisuse isnot 0) and ($analdisable is "t" or $anususe isnot 0) and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <span class="purple"><<He>> turns around and moves <<his>> ass in front of your face.</span> <<submission 5 _n>><<set $mouthuse to "otheranus">><<set $mouthstate to "otheranus">><<set $NPCList[_n].penis to "mouthotheranus">> <<set $NPCList[_n].location.genitals = "head">><<set $speechmouthotheranus to 1>><<set $mouthtarget to _n>> <<else>> <<He>> slowly traces <<his>> length across your exposed skin. <<neutral 1 _n>><<neutral 5 _n>> <</if>> <<elseif $enemyanger + $rng lte 140>> <<if $penisbitten is 0>> <<if $position isnot "wall">> <<if $mouthuse is 0 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "head"and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<if wearingCondom(_n)>> <<He>> removes <<condomDesc _n "the">> from <<his>> penis. <<removeNPCCondom _n>> <</if>> <span class="purple"><<He>> shoves <<his>> $NPCList[_n].penisdesc against your lips.</span> <<if $NPCList[_n].type is "plant" and !["peniskiss","penislick"].includes($mouthactiondefault)>> <span class="pink">Nectar glistens on the tip.</span> <</if>> <<submission 5 _n>><<set $mouthuse to "penis">><<set $mouthstate to "imminent">><<set $NPCList[_n].penis to "mouthimminent">><<set $speechmouthimminent to 1>> <<set $NPCList[_n].location.genitals = "head">><<set $mouthtarget to _n>> <<else>> <<He>> slowly traces <<his>> length across your exposed skin. <<neutral 1 _n>> <</if>> <<else>> <<He>> slowly traces <<his>> length across your exposed skin. <<neutral 1 _n>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 150 and ($penisuse is 0 or $vaginause is 0) and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $footdisable is "f" and $walltype isnot "front">> <span class="purple"><<He>> presses <<his>> foot against your <<genitals>>.</span> <<neutral 5 "genitals" _n>><<violence 1>><<set $NPCList[_n].penis to "footjob">> <<if $player.penisExist and $penisuse is 0>> <<set $penisuse to "feet">><<set $speechpenisfoot to 1>> <</if>> <<if $player.vaginaExist and $vaginause is 0>> <<set $vaginause to "feet">> <<if !$player.penisExist>> <<set $speechvaginafoot to 1>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 170 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <<if $anususe is 0 and $analdisable is "f">> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1 and $NPCList[_n].chastity.penis.includes("chastity")>> <span class="purple"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus.</span> <<neutral 5 "anus">><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1>> <span class="purple"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus, preparing to penetrate.</span> <<sex 5 "anal" _n>><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusimminent">><<set $anusstate to "imminent">><<set $speechanusimminent to 1>><<set $anustarget to _n>> <<elseif $worn.under_lower.anus_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.under_lower.name.</span> <<sex 3 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.under_lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <</if>> <<elseif $worn.over_lower.anus_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.over_lower.name.</span> <<sex 2 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.over_lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <<elseif $worn.lower.anus_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.lower.name.</span> <<sex 2 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <</if>> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<set $NPCList[_n].location.genitals = "genitals">> <</if>> <<elseif $enemyanger + $rng gte 171 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <<if $player.vaginaExist and $vaginause is 0 and (!$player.penisExist or $anususe isnot 0 or random(0,100) gte 50)>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <<if $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if $worn.under_lower.vagina_exposed is 1 and !playerChastity("vagina") and $NPCList[_n].chastity.penis.includes("chastity")>> <span class="purple"><<He>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>>.</span> <<sex 5 "genital" _n>><<set $vaginause to "penis">><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginastate to "entrance">><<set $speechvaginaentrance to 1>><<set $vaginatarget to _n>> <<elseif $worn.under_lower.vagina_exposed is 1 and !playerChastity("vagina")>> <span class="purple"><<He>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>>, preparing to penetrate.</span> <<sex 5 "genital" _n>><<set $vaginause to "penis">><<set $NPCList[_n].penis to "vaginaimminent">><<set $vaginastate to "imminent">><<set $speechvaginaimminent to 1>><<set $vaginatarget to _n>> <<elseif $worn.under_lower.vagina_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.under_lower.name.</span> <<set $worn.under_lower.integrity -= 10>><<sex 3 "genital" _n>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">><<set $speechvaginaentrance to 1>><<set $vaginatarget to _n>> <</if>> <<elseif $worn.over_lower.vagina_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.over_lower.name.</span> <<sex 2 "genital" _n>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $worn.over_lower.integrity -= 10>><<set $vaginastate to "entrance">><<set $speechvaginaentrance to 1>><<set $vaginatarget to _n>> <<elseif $worn.lower.vagina_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.lower.name.</span> <<sex 2 "genital" _n>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $worn.lower.integrity -= 10>><<set $vaginastate to "entrance">><<set $speechvaginaentrance to 1>><<set $vaginatarget to _n>> <</if>> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("vagina")>> <span class="red">Something about it scares you.</span> <</if>> <<set $NPCList[_n].location.genitals to "genitals">> <<elseif $player.penisExist>> <<if $anususe is 0 and $analdisable is "f">> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and $NPCList[_n].condom.worn is false and !$NPCList[_n].penisdesc.includes("strap-on")>> <<if $NPCList[_n].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[_n].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on <<his>> penis.</span> <<equipNPCCondom _n>> <</if>> <</if>> <<if $worn.lower.anus_exposed is 1 and $worn.over_lower.anus_exposed is 1>> <<if $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1 and $NPCList[_n].chastity.penis.includes("chastity")>> <span class="purple"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus.</span> <<neutral 5 "anus">><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <<elseif $worn.under_lower.anus_exposed is 1 and $worn.genitals.anus_exposed is 1>> <span class="purple"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus, preparing to penetrate.</span> <<sex 5 "anal" _n>><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusimminent">><<set $anusstate to "imminent">><<set $speechanusimminent to 1>><<set $anustarget to _n>> <<elseif $worn.under_lower.anus_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.under_lower.name.</span> <<sex 3 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.under_lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <</if>> <<elseif $worn.over_lower.anus_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.over_lower.name.</span> <<sex 2 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.over_lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <<elseif $worn.lower.anus_exposed is 0>> <span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.lower.name.</span> <<sex 2 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>> <</if>> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<set $NPCList[_n].location.genitals = "genitals">> <</if>> <</if>> <</if>> <</widget>> <<widget "vaginainit">> <<rng>> <<if $gloryhole>> The pussy waits expectantly. <<elseif $npcSub>> <<His>> legs quiver, <<his>> pussy waiting for you to do something. <<neutral 1 _n>><<set $speechvaginaflaunt to 1>> <<elseif $enemyanger + $rng lte 20 and $NPCList[_n].location.genitals is 0>> <<He>> sways <<his>> hips suggestively. <<neutral 1 _n>><<set $speechvaginaflaunt to 1>> <<elseif $enemyanger + $rng lte 40>> <<He>> rubs <<his>> pussy. <<neutral 3 _n>><<set $speechvaginaflaunt to 1>> <<elseif $enemyanger + $rng lte 50 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and ($player.penisExist or playerHasStrapon()) and $penisuse is 0 and $analdisable is "f" and $walltype isnot "front">> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on your <<penis>>.</span> <<equipNPCCondom _n "player">> <</if>> <</if>> <span class="blue"><<He>> straddles you, rubbing <<his>> ass against your <<penis>>.</span> <<neutral 5 "genitals">><<set $penisuse to "otheranus">><<set $NPCList[_n].vagina to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $speechotheranusentrance to 1>><<set $penistarget to _n>> <<set $NPCList[_n].location.genitals = "genitals">> <<elseif $enemyanger + $rng lte 60 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "head" and $mouthuse is 0 and ($position isnot "wall" or $walltype is "front") and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<if $rng % 5 is 0 and $facesitdisable is "f">> <<if $position is "doggy">> <<He>> gently rolls you onto your back. <<set $position to "missionary">> <</if>> <span class="purple"> <<print either( "<<He>> straddles your face and slowly lowers <<his>> pussy down onto your mouth.", "<<He>> stands over your face and lowers <<himself>>, planting <<his>> pussy on your face.", "<<His>> pussy comes down onto your face and rests lightly on your mouth, and <<he>> waits expectantly." )>> </span> <<submission 5 _n>><<set $NPCList[_n].vagina to "facesit">><<set $mouthuse to "facesit">><<set $mouthstate to "vagina">> <<set $speechfacesit to 1>><<set $NPCList[_n].location.genitals = "head">><<set $mouthtarget to _n>> <<else>> <span class="purple"><<He>> takes hold of your head and gently guides it in towards <<his>> pussy as <<he>> opens <<his>> legs.</span> <<submission 5 _n>><<set $mouthuse to "othervagina">><<set $NPCList[_n].vagina to "mouth">><<set $mouthstate to "othervagina">> <<set $speechvaginamouth to 1>><<set $NPCList[_n].location.genitals = "head">><<set $mouthtarget to _n>> <</if>> <<if $NPCList[_n].type is "plant">> <span class="pink">Nectar glistens at the entrance.</span> <</if>> <<elseif $enemyanger + $rng lte 70>> <<if $walltype is "front">> <<He>> rubs <<his>> pussy against your cheek. <<neutral 10 _n>> <<else>> <<He>> rubs <<his>> pussy against your thigh. <<neutral 10 _n>> <</if>> <<elseif $enemyanger + $rng lte 80 and $NPCList[_n].lefthand is 0>> <span class="lblue"><<He>> presses <<his>> fingers against <<his>> labia.</span> <<neutral 1 _n>><<set $enemyarousal += 10>><!-- <<set $NPCList[_n].vagina to "lefthand">><<set $NPCList[_n].lefthand to "othervagina">> --> <<elseif $enemyanger + $rng lte 80 and $NPCList[_n].righthand is 0>> <span class="lblue"><<He>> presses <<his>> fingers against <<his>> labia.</span> <<neutral 1 _n>><<set $enemyarousal += 10>><!-- <<set $NPCList[_n].vagina to "righthand">><<set $NPCList[_n].righthand to "othervagina">> --> <<elseif $enemyanger + $rng lte 80>> <<if $walltype is "front">> <<He>> rubs <<his>> pussy against your cheek. <<neutral 10 _n>> <<else>> <<He>> rubs <<his>> pussy against your thigh. <<neutral 10 _n>> <</if>> <<elseif $enemyanger + $rng lte 100 and $penisuse is 0 and ($player.penisExist or playerHasStrapon()) and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <!-- mount and prepare for vaginal sex --> <<set $penisuse to "othervagina">><<set $NPCList[_n].vagina to "penisentrance">><<set $penisstate to "entrance">><<set $penistarget to _n>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on your <<penis>>.</span> <<equipNPCCondom _n "player">> <</if>> <</if>> <span class="blue"><<He>> straddles you, <<his>> pussy hovering close to your <<penis>>.</span> <<set $NPCList[_n].location.genitals = "genitals">> <<elseif $enemyanger + $rng lte 100 and $vaginause is 0 and $player.vaginaExist and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <!-- tribbing --> <<set $vaginause to "othervagina">><<set $vaginastate to "othervaginaentrance">><<set $NPCList[_n].vagina to "vaginaentrance">><<sex 5 "genital" _n>><<set $vaginatarget to _n>> <span class="blue"><<He>> moves <<his>> pussy close to yours.</span> <<set $NPCList[_n].location.genitals = "genitals">><<set $speechtribentrance to 1>> <<elseif $enemyanger + $rng lte 120 and $penisuse is 0 and ($player.penisExist or playerHasStrapon()) and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and !playerChastity("penis") and $walltype isnot "front">> <!-- forceful vaginal sex --> <<set $penisuse to "othervagina">><<set $NPCList[_n].vagina to "penisimminent">><<set $penisstate to "imminent">><<set $penistarget to _n>> <<if $NPCList[_n].condom and $NPCList[_n].condom.willUse is true and !$player.condom and $parasite.penis.name is undefined>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[_n].condom.willUse to false>> <<else>> <span class="green"><<He>> slips <<condomDesc _n>> on your <<penis>>.</span> <<equipNPCCondom _n "player">> <</if>> <</if>> <<if $NPCList[_n].chastity.vagina.includes("chastity")>> <<set $penisuse to "othervagina">><<set $NPCList[_n].vagina to "penisentrance">><<set $penisstate to "entrance">><<set $penistarget to _n>> <span class="blue"><<He>> straddles you, <<his>> pussy hovering close to your <<penis>>.</span> <<else>> <<set $penisuse to "othervagina">><<set $NPCList[_n].vagina to "penisimminent">><<set $penisstate to "imminent">><<set $penistarget to _n>> <span class="purple"><<He>> wraps <<his>> legs around your pelvis, pressing <<his>> pussy against your <<genitals>>.</span> <</if>> <<set $NPCList[_n].location.genitals = "genitals">> <<elseif $enemyanger + $rng lte 120 and $vaginause is 0 and $player.vaginaExist and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $worn.over_lower.vagina_exposed is 1 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $walltype isnot "front">> <!-- forceful tribbing --> <<set $vaginause to "othervagina">><<set $vaginastate to "othervaginaimminent">><<set $NPCList[_n].vagina to "vaginaimminent">><<sex 20 "genital" _n>><<set $vaginatarget to _n>> <span class="purple"><<He>> pushes <<his>> pussy close to yours.</span> <<set $NPCList[_n].location.genitals = "genitals">> <<elseif $enemyanger + $rng lte 140 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals">> <<if $position is "wall" and $walltype isnot "front">> <<He>> sits on your protruding <<bottom>>, pressing down on you painfully. <<violence 3>> <<elseif $mouthuse is 0>> <<He>> rubs <<his>> clit against your face. <<violence 3>> <<else>> <<He>> frots against your thigh while squeezing it with <<his>> own. <<violence 3>> <</if>> <<elseif $enemyanger + $rng lte 160 and ($penisuse is 0 or $vaginause is 0) and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $footdisable is "f" and $walltype isnot "front">> <!-- foot job --> <span class="purple"><<He>> presses <<his>> foot against your <<genitals>>.</span> <<neutral 5 "genitals" _n>><<violence 1>><<set $NPCList[_n].vagina to "footjob">> <<if ($player.penisExist or playerHasStrapon()) and $penisuse is 0>> <<set $penisuse to "feet">><<set $speechpenisfoot to 1>> <</if>> <<if $player.vaginaExist and $vaginause is 0>> <<set $vaginause to "feet">> <<if !$player.penisExist>> <<set $speechvaginafoot to 1>> <</if>> <</if>> <<elseif $enemyanger + $rng lte 180 and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and !(playerBellySize(true) gte 8)>> <<if $position is "wall" and $walltype isnot "front">> <<He>> kicks you in the <<bottom>>. <<violence 10>><<hitstat>><<bruise bottom>> <<else>> <<He>> kicks you in the stomach. <<violence 10>><<hitstat>><<bruise face>> <</if>> <<elseif $enemyanger + $rng lte 200 and $mouthuse is 0>> <<if $pullaway is 1>> <<set $pullaway to 0>> Saliva drips from <<his>> pussy. <<else>> <<if $position is "wall" and $walltype isnot "front" and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals">> <<if $player.penisExist>> <<He>> kicks your <<penis>>. <<violence 20>><<hitstat>><<bruise penis>><<set $speechbeat to 1>> <<elseif $player.vaginaExist>> <<He>> kicks your <<pussy>>. <<violence 20>><<hitstat>><<bruise vagina>><<set $speechbeat to 1>> <</if>> <<elseif $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "head" and $mouthuse is 0 and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<if $rng % 2 is 0 and $facesitdisable is "f">> <<if $position is "doggy">> <<He>> turns you onto your back. <<set $position to "missionary">> <</if>> <span class="purple"> <<print either( "<<He>> swings a leg over your face and sits down, sitting on your face.", "<<He>> sits down on your face, covering your mouth with <<his>> pussy.", "<<His>> pussy and ass descend onto your face, as <<he>> sits on it." )>> </span> <<submission 5 _n>><<set $NPCList[_n].vagina to "facesit">><<set $mouthuse to "facesit">><<set $mouthstate to "vagina">> <<violence 3>><<bruise face>><<set $speechfacesit to 1>><<set $mouthtarget to _n>> <<set $NPCList[_n].location.genitals = "head">> <<else>> <span class="purple"><<He>> wraps <<his>> legs around your head and presses <<his>> pussy against your mouth.</span> <<submission 5 _n>><<set $mouthuse to "othervagina">><<set $NPCList[_n].vagina to "mouth">><<set $mouthstate to "othervagina">><<violence 3>><<bruise face>><<set $speechvaginamouth to 1>> <<set $NPCList[_n].location.genitals = "head">><<set $mouthtarget to _n>> <</if>> <<if $NPCList[_n].type is "plant">> <span class="pink">Nectar glistens at the entrance.</span> <</if>> <</if>> <</if>> <<elseif $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals">> <<if $position is "wall" and $walltype isnot "front">> <<if $player.penisExist>> <<He>> kicks your <<penis>>. <<violence 20>><<hitstat>><<bruise penis>><<set $speechbeat to 1>> <<elseif $player.vaginaExist>> <<He>> kicks your <<pussy>>. <<violence 20>><<hitstat>><<bruise vagina>><<set $speechbeat to 1>> <</if>> <<else>> <<He>> kicks you in the face. <<violence 10>><<bruise face>><<set $speechbeat to 1>><<hitstat>> <</if>> <</if>> <</widget>> <<widget "chest_section">> <<if $NPCList[_n].chest isnot "none">> <<if $NPCList[_n].breastsize lte 1>> <<set $_NPCBreastDesc to "chest">> <<else>> <<set $_NPCBreastDesc to ($NPCList[_n].chest is "clothed" ? "clothed" : either("bare", "exposed")) + " $NPCList[_n].breastsdesc">> <</if>> <</if>> <<if ($NPCList[_n].chest is 0 or $NPCList[_n].chest is "clothed") and !$gloryhole and $position isnot "wall">> <<if $NPCList[_n].pronoun is "f" and ($NPCList[_n].location.genitals is "genitals" or $NPCList[_n].stance is "top")>> <!-- Doggy --> <<if $position is "doggy">> <!-- Being under the player --> <<if $NPCList[_n].vagina.toString().includes("penis") or $NPCList[_n].vagina is "frot" or $NPCList[_n].vagina.toString().includes("vagina") or $NPCList[_n].vagina.toString().includes("otheranus") or $NPCList[_n].penis.toString().includes("otheranus") or $NPCList[_n].penis is "vaginadouble">> <<if $NPCList[_n].mouth is "kiss">> <<if $NPCList[_n].breastsize lte 1>> <<His>> nipples graze your own. <<else>> <<His>> $_NPCBreastDesc squish against <<if $NPCList[_n].breastsize is $player.breastsize>>yours<<else>>your <<breasts>><</if>>. <</if>> <<else>> <<if $NPCList[_n].breastsize gte 6>> <<if $NPCList[_n].righthand is 0 and $NPCList[_n].lefthand is 0>> <<He>> hugs you between <<his>> $_NPCBreastDesc. <<else>> <<His>> $NPCList[_n].breastsdesc bounce <<if $NPCList[_n].chest is "clothed">>beneath you in <<his>> $NPCList[_n].clothes.upper.name<<else>>freely beneath you with <<his>> movements<</if>>. <</if>> <<else>> <<His>> $_NPCBreastDesc lie<<if $_NPCBreastDesc is "chest">>s<</if>> open beneath you. <</if>> <</if>> <!-- Being above/behind the player --> <<else>> <<if $NPCList[_n].breastsize gte 8>> You feel <<his>> $_NPCBreastDesc weighing down on your back. <<else>> You feel <<his>> $_NPCBreastDesc pressing into your back. <</if>> <</if>> <!-- Missionary --> <<else>> <!-- Being under the player --> <<if $NPCList[_n].penis.toString().includes("anus") or $NPCList[_n].penis is "vaginadouble">> <<if $NPCList[_n].breastsize gte 10>> <<if $NPCList[_n].righthand is 0 and $NPCList[_n].lefthand is 0>> <<He>> hugs you between <<his>> $_NPCBreastDesc. <<else>> <<His>> $_NPCBreastDesc bounce around you as you lie between them. <</if>> <<else>> You feel <<his>> $_NPCBreastDesc pressing into your back. <</if>> <!-- Being above/riding the player --> <<else>> <<if $NPCList[_n].mouth is "kiss">> <<if $NPCList[_n].breastsize lte 1>> <<His>> nipples graze your own. <<else>> <<His>> $_NPCBreastDesc squish against <<if $NPCList[_n].breastsize is $player.breastsize>>yours<<else>>your <<breasts>><</if>>. <</if>> <<else>> <<if $NPCList[_n].breastsize gte 6>> <<His>> $NPCList[_n].breastsdesc bounce <<if $NPCList[_n].chest is "clothed">>above you in <<his>> $NPCList[_n].clothes.upper.name<<else>>freely above you with <<his>> movements<</if>>. <<else>> <<His>> $_NPCBreastDesc lie<<if $_NPCBreastDesc is "chest">>s<</if>> open above you. <</if>> <</if>> <</if>> <</if>> <</if>> <<elseif $NPCList[_n].chest.toString().includes("mouth")>> <<if $mouthstate is "breasts">> <<if $enemyarousal gte (($enemyarousalmax / 10) * 6)>> <<if $NPCList[_n].breastsize lte 1>> <<His>> heart beats rapidly against your cheek. <<else>> You can feel <<his>> heartbeat quickening through <<his>> $_NPCBreastDesc. <</if>> <<else>> <<if $NPCList[_n].breastsize lte 1>> <<His>> chest rubs against your face. <<else>> <<His>> chest swells with each breath, <<his>> $_NPCBreastDesc rhythmically rubbing against your face. <</if>> <</if>> <<elseif $mouthstate is "nipple">> <<if $enemyarousal gte (($enemyarousalmax / 10) * 6)>> <<if $NPCList[_n].breastsize lte 1>> <<His>> chest heaves erratically. <<He>> struggles to keep your mouth latched to <<his>> nipple. <<else>> <<His>> breaths are quick and heavy, jostling your head against <<his>> breast. <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "mancombat_strangle">> <<set _left = $NPCList[_n].lefthand is "throat">> <<set _right = $NPCList[_n].righthand is "throat">> <<set _hands = (_left ? 1 : 0) + (_right ? 1 : 0)>> <<set _handname = _hands == 2 ? "hands" : (_left ? "left hand" : "right hand")>> <<set _handvar = _left ? "lefthand" : "righthand">> <<if $enemyanger gte 100 or $keepchoke or ($enemyanger + $rng gte 150 and $asphyxiaLvl gte 4)>> <<if $underwater isnot 1 and $asphyxiaLvl gte 3>> <<if _hands == 2>> <!-- -200 per turn with both hands: max to 0 oxygen in 6 turns --> <<oxygen -250>> <<else>> <!-- -175 per turn with one hand: max to 0 oxygen in 7 turns --> <<oxygen -225>> <</if>> <<set $speechthroat to 1>> <<sub 1>> <</if>> <<bruise neck>><<bruise neck>> <<if $asphyxiaLvl gte 3>> <<He>> strangles your throat<<if _hands is 2>> with both hands<</if>>. <<if $oxygen gte 900>> <<violence 5 1 1 0.02>> <<elseif $oxygen gte 600>> <span class="purple"> You can't breathe!</span> <<violence 10 1 1 0.02>> <<elseif $oxygen gte 300>> <span class="pink"> You feel light-headed.</span> <<violence 20 1 1 0.02>> <<elseif $oxygen gte 1>> <span class="pink"> You see stars.</span> <<violence 40 1 1 0.02>> <<else>> <span class="red"> You are suffocating!</span> <<suffocatepass>> <<violence 100 1 1 0.02>> <</if>> <<else>> <<He>> holds you by the neck roughly <<if _hands is 2>> with both hands<</if>>. <</if>> <<elseif $rng gte 91 and _hands is 2>> <span class="teal"><<He>> releases <<his>> hands from your throat.</span> <<set $neckuse to 0>> <<gaspair>> <<set $NPCList[_n].lefthand to 0>><<set $NPCList[_n].righthand to 0>> <<elseif $rng gte 81>> <<if _hands is 2>> <span class="teal"><<He>> releases <<his>> right hand from your throat.</span> <<set $NPCList[_n].righthand to 0>> <<suffocatepass -1>> <<else>> <span class="teal"><<He>> releases <<his>> _handname from your throat.</span> <<set $neckuse to 0>> <<gaspair>> <<set $NPCList[_n][_handvar] to 0>> <</if>> <<elseif $rng gte 71 and _hands is 2>> <span class="teal"><<He>> releases <<his>> left hand from your throat.</span> <<set $NPCList[_n].lefthand to 0>> <<suffocatepass -1>> <<else>> <<He>> holds you down <<if _hands is 2>>with both hands around<<else>>by<</if>> your throat. <<violence _hands>> <<suffocatepass -1>> <</if>> <<bruise neck>><<if _hands is 2>><<bruise neck>><</if>> <<bodypart_admire_chance random_cheek>> <</widget>> <<widget "mancombat_choke">> <<set _left = $NPCList[_n].lefthand is "throat">> <<set _right = $NPCList[_n].righthand is "throat">> <<set _hands = (_left ? 1 : 0) + (_right ? 1 : 0)>> <<set _handname = _hands == 2 ? "hands" : (_left ? "left hand" : "right hand")>> <<set _handvar = _left ? "lefthand" : "righthand">> <!-- 97.2% probability to stop choking before you pass out if my math is correct (95% if with both hands) --> <<if $oxygen gt 600 or $askedtochoke gte 1 or $keepchoke or $enemyanger gte 100 or $rng lte 55>> <<if $underwater isnot 1 and $asphyxiaLvl gte 2>> <<if _hands == 2>> <!-- -175 per turn with both hands: max to 0 oxygen in 7 turns --> <<oxygen -225>> <<else>> <!-- -150 per turn with one hand: max to 0 oxygen in 8 turns --> <<oxygen -200>> <</if>> <<set $askedtochoke to 0>> <<set $speechthroat to 1>> <</if>> <<bruise neck>> <<if $asphyxiaLvl gte 2>> <<He>> chokes you with <<if _hands is 2>>both hands<<else>><<his>> _handname<</if>>. <<if $oxygen gte 900>> <<violence 5 1 0.1 0.02>> <<elseif $oxygen gte 600>> <span class="purple"> You can't breathe!</span> <<violence 10 1 0.1 0.02>> <<elseif $oxygen gte 300>> <span class="pink"> You feel light-headed.</span> <<violence 20 1 0.1 0.02>> <<elseif $oxygen gte 1>> <span class="pink"> You see stars.</span> <<violence 40 1 0.1 0.02>> <<else>> <span class="red"> You are suffocating!</span> <<suffocatepass>> <<violence 100 1 0.1 0.02>> <</if>> <<else>> <<He>> holds your neck in a gentle but firm grip<<if _hands is 2>> with both hands<</if>>. <</if>> <<elseif $rng gte 91 and _hands is 2>> <span class="teal"><<He>> releases <<his>> hands from your neck.</span> <<set $neckuse to 0>> <<gaspair>> <<set $NPCList[_n].lefthand to 0>><<set $NPCList[_n].righthand to 0>> <<elseif $rng gte 81>> <<if _hands is 2>> <span class="teal"><<He>> releases <<his>> right hand from your neck.</span> <<set $NPCList[_n].righthand to 0>> <<suffocatepass -1>> <<else>> <span class="teal"><<He>> releases <<his>> _handname from your neck.</span> <<set $neckuse to 0>> <<gaspair>> <<set $NPCList[_n][_handvar] to 0>> <</if>> <<elseif $rng gte 71 and _hands is 2>> <span class="teal"><<He>> releases <<his>> left hand from your neck.</span> <<set $NPCList[_n].lefthand to 0>> <<suffocatepass -1>> <<else>> <<He>> holds you down <<if _hands is 2>>with both hands around<<else>>by<</if>> your neck. <<violence _hands 1 0.1 0.02>> <<suffocatepass -1>> <</if>> <<bruise neck>> <<bodypart_admire_chance random_cheek>> <</widget>> <<widget "gaspair">> <<if $underwater isnot 1>> <<if $oxygen gte 900>> You inhale sharply. <<elseif $oxygen gte 600>> You gasp for air. <<elseif $oxygen gte 1>> You hungrily gasp for air. <<else>> You hungrily gasp for air and cough. <</if>> <<oxygen 300>> <</if>> <<set $suffocating to 0>> <</widget>> <<widget "suffocatepass">> <<set $suffocating = Math.clamp($suffocating + (_args[0] or 1), 0, 10)>> <<if $suffocating gte 1 and $suffocationPhase isnot 2>><span class="red"> You're about to lose consciousness.</span><</if>> <!-- see "actionsman" widget for the code relating to the PC passing out from suffocation --> <</widget>><<if $npc.includes("Sydney")>> <<run statusCheck("Sydney")>> <</if>> <<if $npc.includes("Kylar")>> <<run statusCheck("Kylar")>> <</if>> <<if $suffocationPhase lte 1>> <span class='red'>You suffocate.</span><br> Your vision clouds and fades. <<if $vaginastate is "penetrated" or $vaginastate is "othervagina" or $penisstate is "othervagina" or $penisstate is "otheranus" or $penisstate is "othermouth" or $anusstate is "penetrated" or $mouthstate is "penetrated">> You jerk in a spasm for the last time and droop. Your limp body continues to be fucked relentlessly. <<else>> Your body spasms for the last time and goes limp. <</if>> <<set $penisaction to 0>> <<set $vaginaaction to 0>> <<set $anusaction to 0>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $mouthaction to 0>> <<set $thighaction to 0>> <<set $cheekaction to 0>> <<set $feetaction to 0>> <<set $chestaction to 0>> <<set $mockaction to "none">> <<set $bodyaction to 0>> <!-- Didn't use $NPCList[_n].righthand instead of .find() because once i've got a weird error with $NPCList[_n] being undefined here. Perhaps, temporary _n expired? --> <<set _npc = $NPCList.find(x => x.lefthand == "throat" || x.righthand == "throat")>> <<if _npc isnot undefined>> <<set _npc.righthand to 0>> <<set _npc.lefthand to 0>> <</if>> <<set $neckuse to 0>> <<set $enemyanger -= 70>> <<set $suffocationPhase to 2>> <br><br> <<link [[Next|Man combat suffocated]]>><</link>> <<else>> <span class="red">You are unconscious.</span><br> <!-- Simulate 30 seconds of sex while passed out --> <<set _simTurns to 3>> <<for _turn to 0; _turn lte _simTurns; _turn++>> <<if _turn lt _simTurns>> <div class="unconscious shimmering" hidden=""> <<if $enemytype is "man">> <<man>> <<else>> <<beast $enemyno>><br> <</if>> <<integritycheck>> </div> <<else>> <div class="fade-in" hidden=""> You regain consciousness with a long gasp. Your body is still being used. <<oxygenrefresh>> <<set $suffocating to 0>> <<unset $suffocated>> <<unset $suffocationPhase>> <br><br> <span id="next"><<link [[Next|$previousPassage]]>><</link>></span> </div> <</if>> <</for>> <<script>> $(document).one(':passageend', function(ev) { const targets = [ ...document.getElementsByClassName('unconscious'), ...document.getElementsByClassName('fade-in') ]; let delay = 1500; targets.forEach(ele => { if (ele instanceof HTMLElement) { /* Element is prepared and ready to be unhidden, leave a 1.5 timeout per iteration */ setTimeout(() => { ele.hidden = false; }, delay); delay += 1500; } }); }); <</script>> <</if>><<widget "cheeklick">> <<set _n to _args[0]>> <<set _npcff to ["enjoys","smiles at","leers at","grins at"]>> <<set _npccr to ["pressed","shoved","mashed","grinding"]>> <<set _i to random(0, 3)>> <<set _j to random(0, 3)>> <<if _args[0]>> <<if $NPCList[_n].penis is "mouth">> <<He>> _npcff[_i] the sight of your face _npccr[_j] against <<his>> crotch. <<neutral 1>> <<elseif $NPCList[_n].penis is "mouthimminent" or $NPCList[_n].penis is "mouthentrance">> <<He>> _npcff[_i] the sight of <<his>> penis _npccr[_j] against your mouth. <<neutral 1>> <<elseif $NPCList[_n].vagina is "mouthentrance">> <<He>> _npcff[_i] the sight of your face _npccr[_j] against <<his>> crotch. <<neutral 1>> <<else>> <<if $consensual is 1>> <<switch random(1, 4)>> <<case 1>> <<He>> licks your cheek. <<neutral 3>> <<bodypart_admire random_cheek>> <<case 2>> <<He>> strokes your hair. <<neutral 3>> <<bodypart_admire forehead>> <<case 3>> <<He>> nibbles your ear. <<neutral 3>> <<bodypart_admire forehead>> <<case 4>> <<He>> nuzzles your neck. <<neutral 3>> <<bodypart_admire breasts>> <</switch>> <<else>> <<switch random(1, 4)>> <<case 1>> <<He>> licks your cheek. <<neutral 3>> <<bodypart_admire random_cheek>> <<case 2>> <<He>> tugs at your hair. <<neutral 3>> <<bodypart_admire forehead>> <<case 3>> <<He>> bites your ear. <<neutral 3>> <<bodypart_admire random_cheek>> <<case 4>> <<He>> grips your neck. <<neutral 3>> <<bodypart_admire breasts>> <</switch>> <</if>> <</if>> <</if>> <</widget>><<widget "npcstrip">> /* <<for $_npc range $NPCList>> <!-- anus not implemented yet --> <!-- <<set $_npc.anus to "idle">> --> <!-- note: setting genitals to "idle" will remove them from combat unless they're set to something else later. --> <<if $_npc.penis isnot "none">> <<set $_npc.penis to "idle">> <</if>> <<if $_npc.vagina isnot "none">> <<set $_npc.vagina to "idle">> <</if>> <<if !$worn.upper.type.includes("naked")>> <<set $_npc.lefthand to "upperclothes">> <<elseif !$worn.lower.type.includes("naked")>> <<set $_npc.lefthand to "lowerclothes">> <<elseif !$worn.under_lower.type.includes("naked") and !$worn.under_lower.type.includes("chastity")>> <<set $_npc.lefthand to "underlowerclothes">> <</if>> <<if !$worn.lower.type.includes("naked")>> <<set $_npc.righthand to "lowerclothes">> <<elseif !$worn.upper.type.includes("naked")>> <<set $_npc.righthand to "upperclothes">> <<elseif !$worn.under_lower.type.includes("naked") and !$worn.under_lower.type.includes("chastity")>> <<set $_npc.righthand to "underlowerclothes">> <</if>> <</for>> */ <<set $combatgoal to "strip">> <</widget>> <<widget "npcexhibit">> <!-- Does nothing, used in one event --> <</widget>> <<widget "stuck_in_wall_oral">> <<set $position to "wall">> <<set $walltype to "front">> <<set $anususe to "none">> <<set $vaginause to "none">> <<set $penisuse to "none">> <<set $thighuse to "none">> <<set $bottomuse to "none">> <<set $feetuse to "none">> <<set $chestuse to "none">> <<npcoral>> <</widget>> <<widget "npcoral">> <!-- TODO: make this take an index as an argument so you can use npcoral with NPCs in other slots --> <!-- TODO: make this take "m" or "f" as an argument so we can enforce consistency between use of this widget and scenes which set up context before using it --> <<run npcMakeNaked($NPCList[0], "lower")>> <<if $NPCList[0].penis isnot "none">> <<set $NPCList[0].penis to "mouthentrance">><<set $mouthstate to "entrance">><<set $mouthuse to "penis">> <<He>> presses <<his>> <<= npcHasStrapon(0) ? "strap-on cock" : "penis">> against your lips. <<elseif $NPCList[0].vagina isnot "none">> <<set $NPCList[0].vagina to "mouth">><<set $mouthstate to "othervagina">><<set $mouthuse to "othervagina">> <<He>> presses <<his>> pussy against your lips. <<else>> <<He>> presses <<his>> featureless crotch against your lips. Everyone is confused. <span class="red">This is a bug, please inform Vrelnir.</span> <</if>> <<if $NPCList[0].type is "plant" and !["peniskiss","penislick"].includes($mouthactiondefault)>> <span class="pink">Nectar glistens <<print ($NPCList[0].penis isnot "none" ? "on the tip" : "at the entrance")>>. It smells sweet.</span> <</if>> <br><br> <<submission 5>><<set $mouthtarget to 0>><<set $NPCList[0].location.genitals to "head">> <</widget>> <<widget "npchand">> <<if $NPCList[0].penis isnot "none">> <<set $leftarm to "penis">><<set $NPCList[0].penis to "leftarm">> <<else>> <<set $leftarm to "othervagina">><<set $NPCList[0].vagina to "leftarm">> <</if>> <</widget>> <<widget "npcidlegenitals">> <<for _i = 0; _i < $NPCList.length; _i++>> <<if $NPCList[_i].penis isnot "none">> <<set $NPCList[_i].penis to "idle">> <</if>> <<if $NPCList[_i].vagina isnot "none">> <<set $NPCList[_i].vagina to "idle">> <</if>> <<set $NPCList[_i].chest to "idle">> <<set $NPCList[_i].condomAsk to true>> <</for>> <</widget>> <<widget "npckiss">> <<set $NPCList[0].mouth to "kiss">><<set $NPCList[0].location.head to "head">><<set $mouthstate to "kiss">><<set $mouthuse to "kiss">><<set $mouthtarget to 0>> <</widget>> <<widget "npcexpose">> <<for $_npc range $NPCList>> <<run npcMakeNaked($_npc, "upper")>> <<run npcMakeNaked($_npc, "lower")>> <</for>> <</widget>> <<widget "npcgrapplestripall">> <<if $rightarm is 0>> <<set $rightarm to "grappled">> <<set $NPCList[0].lefthand to "arms">> <</if>> <<if $leftarm is 0>> <<set $leftarm to "grappled">> <<set $NPCList[0].lefthand to "arms">> <</if>> <<set $NPCList[0].righthand to 0>> <<set $position to "missionary">> <<set $combatgoal to "strip">> <<set $NPCList[0].mouth to "speech_only">> <</widget>> <<widget "npcstripall">> <<set $NPCList[0].lefthand to 0>> <<set $NPCList[0].righthand to 0>> <<set $position to "missionary">> <<set $combatgoal to "strip">> <<set $NPCList[0].mouth to "speech_only">> <</widget>> <<widget "npcgangstrip">> /* Organises the NPC groups for strips, so they aren't all clawing at the same items (as much) */ <<set $combatgoal to "strip">> <<set $position to "missionary">> <<set _startpos to 0>> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].righthand to 0>> <<set $NPCList[_i].lefthand to 0>> <<if $rightarm is 0>> /* Person 1 grabs you */ <<set $rightarm to "grappled">> <<set $NPCList[_i].lefthand to "arms">> <</if>> <<if $leftarm is 0>> <<set $leftarm to "grappled">> <<set $NPCList[_i].lefthand to "arms">> <</if>> <<if $NPCList[_i].righthand is 0 and $NPCList[_i].lefthand is 0>> <<switch _startpos>> <<case 0>> /* Person 2 starts low */ <<if $worn.over_lower.name isnot "naked">> <<set $NPCList[_i].lefthand to "overlowerclothes">> <<set $NPCList[_i].righthand to "overlowerclothes">> <<elseif $worn.lower.name isnot "naked">> <<set $NPCList[_i].lefthand to "lowerclothes">> <<set $NPCList[_i].righthand to "lowerclothes">> <<elseif $worn.under_lower.name isnot "naked">> <<set $NPCList[_i].lefthand to "underlowerclothes">> <<set $NPCList[_i].righthand to "underlowerclothes">> <</if>> <<case 1>> /* Person 3 starts high by default */ <<case 2>> /* Person 4 works with 1 - goes straight to under */ <<if $worn.under_upper.name isnot "naked">> <<set $NPCList[_i].lefthand to "underupperclothes">> <<set $NPCList[_i].righthand to "underupperclothes">> <</if>> <</switch>> <<set _startpos += 1>> <</if>> <</for>> <</widget>> <<widget "npcspank">> <<if $rightarm is 0>> <<set $rightarm to "grappled">> <<set $NPCList[0].lefthand to "arms">> <<set $righttarget to 0>> <</if>> <<if $leftarm is 0>> <<set $leftarm to "grappled">> <<set $NPCList[0].lefthand to "arms">> <<set $lefttarget to 0>> <</if>> <<set $NPCList[0].righthand to "spank">> <<set $position to "doggy">> <</widget>> <<widget "npcspankgag">> <<hand_gag 0 left>> <<set $NPCList[0].righthand to "spank">> <<set $position to "doggy">> <</widget>> <<widget "npcgloryhole">> <<set $gloryhole to 1>> <<set $punishmentposition to "gloryhole">><!-- This is added to conform with other parts of code-base. Needs to be unset or set to 0 manually after a scene.--> <<set $enemyhealthmax to 10>><<set $enemyhealth to 10>> <<set $enemytrust += 100>> <<set $NPCList[0].lefthand to "none">> <<set $position to "doggy">> <<set $NPCList[0].righthand to "none">> <<set $NPCList[0].mouth to "speech_only">> <<run npcMakeNaked($NPCList[0], "lower")>> <</widget>> <<widget "npcfence">> <<set $NPCList[0].lefthand to "none">> <<set $NPCList[0].righthand to "none">> <<set $NPCList[0].mouth to "speech_only">> <<run npcMakeNaked($NPCList[0], "lower")>> <</widget>> <<widget "npc_attempt_sex">> <<run npcMakeNaked($NPCList[0], "lower")>> <<if $NPCList[0].penis isnot "none">> <<if $player.vaginaExist>> <<set $NPCList[0].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">><<set $vaginatarget to 0>> <<elseif $analdisable is "f">> <<set $NPCList[0].penis to "anusentrance">><<set $anususe to "penis">><<set $anusstate to "entrance">><<set $anustarget to 0>> <</if>> <<else>> <<if $player.penisExist>> <<set $NPCList[0].vagina to "penisentrance">><<set $penisuse to "othervagina">><<set $penisstate to "entrance">><<set $penistarget to 0>> <</if>> <</if>> <</widget>> <<widget "npc_submissive">> <<if $NPCList[0].penis isnot "none">> <<set $NPCList[0].penis to "clothed">> <</if>> <<if $NPCList[0].vagina isnot "none">> <<set $NPCList[0].vagina to "clothed">> <</if>> <<set $NPCList[0].chest to "clothed">> <<set $NPCList[0].lefthand to "idle">> <<set $NPCList[0].righthand to "idle">> <<set $NPCList[0].location.genitals to 0>> <<set $enemyarousal to 0>> <<set $npcSub to 1>> <<set $promiscuityIgnore to 1>> <span class="green">Your partner is submissive. You may take the lead. [Promiscuity requirements will be ignored for this encounter]</span> <</widget>> <<widget "npctakevirginity">> <<run npcMakeNaked($NPCList[0], "lower")>> <<if $player.vaginaExist and $NPCList[0].penis isnot "none">> <<set $vaginause to "penis">><<set $NPCList[0].penis to "vaginaentrance">><<set $vaginastate to "entrance">><<set $vaginatarget to 0>> <<set $NPCList[0].location.genitals = "genitals">> <<else>> <<if $NPCList[0].penis isnot "none" and $analdisable is "f">> <<set $penisuse to "otheranus">><<set $NPCList[0].penis to "otheranusentrance">><<set $penisstate to "otheranusentrance">><<set $penistarget to 0>> <<elseif $NPCList[0].vagina isnot "none">> <<set $penisuse to "othervagina">><<set $NPCList[0].vagina to "penisentrance">><<set $penisstate to "entrance">><<set $penistarget to 0>> <<set $NPCList[0].location.genitals = "genitals">> <</if>> <</if>> <</widget>><<widget "npcdamage">> /* * Deducts the true damage dealt by the PC from each individual NPC's health, * and prevent excess damage from reaching $enemyhealth. * args[0] is the target passed through widget "defiance". * _thedamage is also calculated at widget "defiance". */ <<if _args[0] isnot undefined>> /* args[0] could very well be undefined. When it's not, we calculate as normal. */ <<set $NPCList[_args[0]].health -= _thedamage>> <<if $NPCList[_args[0]].health lte 0>> <<defeatnpc _args[0]>> <</if>> <<else>> <<set _npctodefeat to []>>/* An array for later use. */ /* When args[0] is undefined, that means the action has no target and inflicts damage to all NPCs. */ <<for _npctodamage to 0; _npctodamage lt $enemynomax; _npctodamage++>> <<if $NPCList[_npctodamage].active is "active" and $NPCList[_npctodamage].stance isnot "defeated" and (!$fightTargets or $fightTargets.includes(_npctodamage))>> <<set _enemydivide to $fightTargets ? $enemyno-$fightTargets.length : $enemyno>> /* Divide damage by all current active enemies. */ <<set $NPCList[_npctodamage].health -= (_thedamage/_enemydivide)>> /* Lookout for any NPCs whose healths were reduced to 0 by splash damage. */ <<if $enemyno gte 2 and $NPCList[_npctodamage].health lte 0>> <<set _npctodefeat.push(_npctodamage)>> <</if>> <</if>> <</for>> /* Then purge any and all NPCs defeated by splash damage. */ <<for $_defeatcontroller to 0; $_defeatcontroller lt _npctodefeat.length; $_defeatcontroller++>> <<if $enemyno gte 2>> <<defeatnpc _npctodefeat[$_defeatcontroller]>> <</if>> <</for>> <</if>> <<if $newtarget isnot undefined>> <<setnewtarget>> <</if>> <</widget>> /*Lollipop Scythe - there was a bug where the player action was not reset, there may be edgecases where the action shouldn't be changed. Not the author of the original code*/ <<widget "defeatnpc">> <!-- This knocks out and resets the last NPC on the list from 5 to 0 --> <!-- Resets PC variables to release PC from NPC actions, resets NPC variables as partial cleanup prior to cleannpc, gives PC stats uptick as side benefit to defeating NPCs. --> <<set _i to _args[0]>> <<personselect _i>> <span class="blue"><<combatPerson>> staggers back, defeated.</span> <<llpain>><<pain -15>><<llstress>><<stress -12>><<lltrauma>><<trauma -18>> <!-- Reset PC's limbs based on defeated NPC's --> <!-- NPC's Left hand --> <<switch $NPCList[_i].lefthand>> <<case "arms">> <<set $leftarm to 0>><<set $rightarm to 0>><<set $leftaction to 0>><<set $rightaction to 0>> <<case "leftarm">> <<set $leftarm to 0>><<set $leftaction to 0>> <<case "rightarm">> <<set $rightarm to 0>><<set $rightaction to 0>> <<case "vaginaentrance" "vagina">> <<set $vaginause to 0>><<set $vaginaaction to 0>> <<case "penisentrance" "penis">> <<set $penisuse to 0>><<set $penisaction to 0>> <<case "anusentrance" "anus">> <<set $anususe to 0>><<set $anusaction to 0>> <<case "mouth">> <<set $mouthuse to 0>><<set $mouthaction to 0>> <<case "throat">> <<set $neckuse to 0>> <<case "head_nipples" "head_breasts">> <<set $mouthstate to 0>><<set $mouthaction to 0>> <</switch>> <!-- NPC's Reft hand --> <<switch $NPCList[_i].righthand>> <<case "arms">> <<set $leftarm to 0>><<set $rightarm to 0>><<set $leftaction to 0>><<set $rightaction to 0>> <<case "leftarm">> <<set $leftarm to 0>><<set $leftaction to 0>> <<case "rightarm">> <<set $rightarm to 0>><<set $rightaction to 0>> <<case "vaginaentrance" "vagina">> <<set $vaginause to 0>><<set $vaginaaction to 0>> <<case "penisentrance" "penis">> <<set $penisuse to 0>><<set $penisaction to 0>> <<case "anusentrance" "anus">> <<set $anususe to 0>><<set $anusaction to 0>> <<case "mouth">> <<set $mouthuse to 0>><<set $mouthaction to 0>> <<case "throat">> <<set $neckuse to 0>> <<case "head_nipples" "head_breasts">> <<set $mouthstate to 0>><<set $mouthaction to 0>> <</switch>> <!-- NPC's Penis/Anus --> <<switch $NPCList[_i].penis>> <<case "thighs">> <<set $thighuse to 0>> <<case "cheeks">> <<set $bottomuse to 0>> <<case "chest">> <<set $chestuse to 0>> <<case "leftarm">> <<set $leftarm to 0>><<set $leftactiondefault to "leftgrab">><<set $leftaction to 0>> <<case "rightarm">> <<set $rightarm to 0>><<set $rightactiondefault to "rightgrab">><<set $rightaction to 0>> <<case "leftotheranusdildotease" "leftotheranusdildo">> <<set $leftarm to 0>><<set $leftactiondefault to "rest">><<set $leftaction to 0>> <<case "rightotheranusdildotease" "rightotheranusdildo">> <<set $rightarm to 0>><<set $rightactiondefault to "rest">><<set $rightaction to 0>> <<case "botharm">> <<set $leftarm to 0>><<set $rightarm to 0>><<set $rightactiondefault to "rightgrab">><<set $leftactiondefault to "leftgrab">><<set $leftaction to 0>><<set $rightaction to 0>> <<case "feet">> <<set $feetuse to 0>><<set $feetactiondefault to "grab">><<set $feetaction to 0>> <<case "vagina" "vaginaimminent" "vaginaentrance">> <<set $vaginause to 0>><<set $vaginastate to 0>><<set $vaginaaction to 0>> <<case "anus" "anusimminent" "anusentrance">> <<set $anususe to 0>><<set $anusstate to 0>><<set $anusaction to 0>> <<case "otherfrot" "penis" "penisimminent" "penisentrance" "otheranus" "otheranusimminent" "otheranusentrance">> <<set $penisuse to 0>><<set $penisstate to 0>><<set $penisaction to 0>> <<case "mouth" "mouthimminent" "mouthentrance">> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $mouthaction to 0>> <<case "footjob">> <<if $player.penisExist and $penisuse is "feet">> <<set $penisuse to 0>> <</if>> <<if $player.vaginaExist and $vaginause is "feet">> <<set $vaginause to 0>> <</if>> <<case "anusdouble" "anusentrancedouble" "anusimminentdouble">> <<set $NPCList[_i].penis to "none">> <<for $_k = 0; $_k lt $NPCList.length; $_k++>> <<if ["anusdouble","anusimminentdouble","anusentrancedouble"].includes($NPCList[$_k].penis)>> <<switch $NPCList[$_k].penis>> <<case "anusdouble">> <<set $NPCList[$_k].penis to "anus">><<set $anusstate to "penetrated">><<set $anusaction to $anusaction.replace('double','')>> <<case "anusimminentdouble">> <<set $NPCList[$_k].penis to "anusimminent">><<set $anusstate to "imminent">><<set $anusaction to $anusaction.replace('double','')>> <<case "anusentrancedouble">> <<set $NPCList[$_k].penis to "anusentrance">><<set $anusstate to "entrance">><<set $anusaction to $anusaction.replace('double','')>> <<default>> <span class="red">ERROR - Anal double penetration: second NPC's penis wrong value!</span> <</switch>> <<set $anususe to "penis">> <<break>> <</if>> <<if $_k is 5>> <span class="red">ERROR - Anal double penetration: second NPC not found!</span> <<set $anususe to 0>><<set $anusstate to 0>> <</if>> <</for>> <<case "vaginadouble" "vaginaimminentdouble" "vaginaentrancedouble">> <<set $NPCList[_i].penis to "none">> <<for $_k = 0; $_k lt $NPCList.length; $_k++>> <<if ["vaginadouble","vaginaimminentdouble","vaginaentrancedouble"].includes($NPCList[$_k].penis)>> <<switch $NPCList[$_k].penis>> <<case "vaginadouble">> <<set $NPCList[$_k].penis to "vagina">><<set $vaginastate to "penetrated">><<set $vaginaaction to $vaginaaction.replace('double','')>> <<case "vaginaimminentdouble">> <<set $NPCList[$_k].penis to "vaginaimminent">><<set $vaginastate to "imminent">><<set $vaginaaction to $vaginaaction.replace('double','')>> <<case "vaginaentrancedouble">> <<set $NPCList[$_k].penis to "vaginaentrance">><<set $vaginastate to "entrance">><<set $vaginaaction to $vaginaaction.replace('double','')>> <<default>> <span class="red">ERROR - Vaginal double penetration: second NPC's penis wrong value!</span> <</switch>> <<set $vaginause to "penis">> <<break>> <</if>> <<if $_k is 5>> <span class="red">ERROR - Vaginal double penetration: second NPC not found!</span> <<set $vaginause to 0>><<set $vaginastate to 0>> <</if>> <</for>> <</switch>> <!-- NPC's Vagina/Anus --> <<switch $NPCList[_i].vagina>> <<case "frot" "otherfrot" "penis" "penisimminent" "penisentrance" "otheranus" "otheranusimminent" "otheranusentrance">> <<set $penisuse to 0>><<set $penisstate to 0>><<set $penisaction to 0>> <<case "mouth" "facesit" "facesitanal">> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $mouthaction to 0>> <<case "vagina" "vaginaimminent" "vaginaentrance" "othermouth">> <<set $vaginause to 0>><<set $vaginastate to 0>><<set $vaginaaction to 0>> <<case "leftarm">> <<set $leftarm to 0>><<set $leftactiondefault to "leftplay">><<set $leftaction to 0>> <<case "rightarm">> <<set $rightarm to 0>><<set $rightactiondefault to "rightplay">><<set $rightaction to 0>> <<case "leftotheranusdildotease" "leftotheranusdildo" "leftvaginadildotease" "leftvaginadildo">> <<set $leftarm to 0>><<set $leftactiondefault to "rest">><<set $leftaction to 0>> <<case "rightotheranusdildotease" "rightotheranusdildo" "rightvaginadildotease" "rightvaginadildo">> <<set $rightarm to 0>><<set $rightactiondefault to "rest">><<set $rightaction to 0>> <<case "feet">> <<set $feetuse to 0>><<set $feetactiondefault to "vaginagrab">><<set $feetaction to 0>> <<case "footjob">> <<if $player.penisExist and $penisuse is "feet">> <<set $penisuse to 0>> <</if>> <<if $player.vaginaExist and $vaginause is "feet">> <<set $vaginause to 0>> <</if>> <</switch>> <!-- NPC's Mouth --> <<switch $NPCList[_i].mouth>> <<case "thigh">> <<set $thighuse to 0>> <<case "bottom">> <<set $bottomuse to 0>> <<case "anus" "anusimminent" "anusentrance">> <<set $anususe to 0>><<set $anusstate to 0>><<set $anusaction to 0>> <<case "vagina" "vaginaimminent" "vaginaentrance">> <<set $vaginause to 0>><<set $vaginastate to 0>><<set $vaginaaction to 0>> <<case "penis" "penisimminent" "penisentrance">> <<set $penisuse to 0>><<set $penisstate to 0>><<set $penisaction to 0>> <<case "kiss" "kissimminent" "kissentrance">> <<set $mouthuse to 0>><<set $mouthstate to 0>><<set $mouthaction to 0>> <<case "chest" "chestimminent" "chestentrance">> <<set $chestuse to 0>><<set $cheststate to 0>> <</switch>> <!-- NPC's Chest (unique case) --> <<if $NPCList[_i].chest is "mouth" or $NPCList[_i].chest is "mouthentrance">> <<set $mouthstate to 0>><<set $mouthuse to 0>><<set $head to 0>> <</if>> <br><br> <!-- Reset Defeated NPC appendages --> <<set $NPCList[_i].lefthand to "none">> <<set $NPCList[_i].righthand to "none">> <<set $NPCList[_i].penis to "none">> <<set $NPCList[_i].vagina to "none">> <<set $NPCList[_i].mouth to "none">> <<set $NPCList[_i].chest to "none">> <<set $NPCList[_i].stance to "defeated">> <!-- Remove Defeated NPC from loops --> <<set $enemyno-->> <!-- Reset Group attributes--> <<set $enemyarousalmax to 500 * $enemyno>> <<set $enemyarousal to $enemyarousal * ($enemyno / ($enemyno +1))>> <<set $enemyhealthmax -= $NPCList[_i].healthmax>> <<set $_excessdamage to (0-$NPCList[_i].health)>> <!-- Debug message --> <<if $debug is 1>><br><span class="yellow">Total damage: _thedamage</span> | <span class="blue">Excess damage: $_excessdamage</span> |<</if>> <<set _thedamage -= $_excessdamage>> <!-- Debug message --> <<if $debug is 1>><span class="pink">enemyhealth damage: _thedamage</span><br><</if>> <<set $NPCList[_i].health to 0>> <<set $oldtarget to _i>> <<for $_newtarget to 0; $_newtarget lt $enemynomax; $_newtarget++>> <<if $NPCList[$_newtarget].active is "active" and $NPCList[$_newtarget].stance isnot "defeated">> <<set $newtarget to $_newtarget>> <<break>> <</if>> <</for>> <!-- Give PC stats uptick. --> <<violence -10>> <<if $newtarget is undefined>> <<set $newtarget to $oldtarget>> <</if>> <</widget>> <<widget "setnewtarget">> <<if $lefttarget is $oldtarget>> <<set $lefttarget to $newtarget>> <</if>> <<if $righttarget is $oldtarget>> <<set $righttarget to $newtarget>> <</if>> <<if $feettarget is $oldtarget>> <<set $feettarget to $newtarget>> <</if>> <<if $mouthtarget is $oldtarget>> <<set $mouthtarget to $newtarget>> <</if>> <<if $vaginatarget is $oldtarget>> <<set $vaginatarget to $newtarget>> <</if>> <<if $penistarget is $oldtarget>> <<set $penistarget to $newtarget>> <</if>> <<if $anustarget is $oldtarget>> <<set $anustarget to $newtarget>> <</if>> <<if $thightarget is $oldtarget>> <<set $thighaction to 0>> <</if>> <<if $chesttarget is $oldtarget>> <<set $chestaction to 0>> <</if>> <<unset $oldtarget>> <<unset $newtarget>> <</widget>><<widget "generateNPC">> <!-- Args are NPC#(1-6), Status, Pronoun, Gender, Level --> <!-- Example: <<generateNPC 1 a m m 18>> would generate NPC 1 as adult male/male "burly" --> <!-- Example: <<generateNPC 2 a f f 18>> would generate NPC 2 as adult female/female "vulgar" bodyguard type--> <!-- Example: <<generateNPC 1 a f h 20>> would generate NPC 1 as adult female/herm "demon" monster type--> <!-- Latter two examples can only be called via this widget; they are not autogenerated --> <<set _n to _args[0]-1>> <!-- Checks if endevent was properly used after the last event --> <<checkEventNPC _n>> <<set _status to _args[1]>> /* "t" for teen, "a" for adult, or "r" for random */ <<set _pronoun to _args[2]>> <<set _gender to _args[3]>> <<set _lvl to _args[4]>> <<if _pronoun is "m" or _pronoun is "f">> <<set $NPCList[_n].pronoun to _pronoun>> <<else>> <<rng>> <<if _generate_victim is 1>> <<unset _generate_victim>> <<set $NPCList[_n].pronoun to ($rng lte $malevictimchance ? "m" : "f")>> <<elseif !isNaN(_generate_partner) and $NPCList[_generate_partner].fullDescription>> <!-- This determines if the couple is homo or not. The generated NPC's partner is, by default, the NPC directly before them in NPCList. The partner can be selected manually with an argument. --> <<set $NPCList[_n].pronoun to maleChance($NPCList[_generate_partner].pronoun) gte random(1, 100) ? "m" : "f">> <<unset _generate_partner>> <<else>> <<set $NPCList[_n].pronoun to ($rng lte maleChance() ? "m" : "f")>> <</if>> <</if>> <!-- This doesn't need to be set here, but that's how it's been done in the past, so we'll set it just in case. --> <!-- NPC gender gets properly set according to player settings in the npcattribute widget. --> <<set $NPCList[_n].gender to $NPCList[_n].pronoun>> <<set $NPCList[_n].lefthand to 0>> <<set $NPCList[_n].righthand to 0>> <<set $NPCList[_n].mouth to 0>> <<set $NPCList[_n].location to {}>> <<set $NPCList[_n].location.head to 0>> <<set $NPCList[_n].location.genitals to 0>> <<set $NPCList[_n].bold to 0>> <<set $NPCList[_n].name to ($NPCList[_n].pronoun is "f" ? $NPC_names_f.random() : $NPC_names_m.random())>> <<generatePronouns $NPCList[_n]>> <!-- TODO: remove either .teen or .adult; all adults are not teens, and all teens are not adults. --> <!-- Having two separate variables means having twice as much code to accomplish the same thing, and STILL possibly introducing bugs if you do it wrong. --> <<if _status is "t" or (_status is "r" and random(0,1))>> <<set $NPCList[_n].teen to 1>> <<set $NPCList[_n].adult to 0>> <<else>> <<set $NPCList[_n].adult to 1>> <<set $NPCList[_n].teen to 0>> <</if>> <<set $NPCList[_n].pregnancyAvoidance to random(0,100)>> <<if $enemyno lt 6>><<set $enemyno += 1>><</if>> <<npcattribute _n _gender _lvl>> <<set $NPCList[_n].index to _n>> <<run EventSystem.push($passage, _n, $timeStamp)>> <</widget>> <<widget "generateRole">> <!-- Argument 1: The slot the new NPC should fill in $NPCList. Slot one would be "0" --> <!-- Argument 2: The description of the NPC. To generate a default description, use 0 To make a description that changes based on NPC gender, split the male/female descriptions with "/"--> <!-- Argument 3: The role of the NPC. To generate with no role, use 0. Do not set role to "normal" To make a role that changes based on NPC gender, split the male/female roles with "/"--> <!-- Argument 4: The status of the NPC. Defaults to adult; use "t" for student --> <!-- Example: <<generateRole 0 "curious" "scientist">> would generate the first NPC as adult "curious scientist" --> <!-- Example: <<generateRole 1 "arrogant" 0 t>> would generate the second NPC as "arrogant boy" or "arrogant girl"--> <!-- Example: <<generateRole 2 "starstruck" "fanboy/fangirl">> would generate the third NPC as adult "starstruck fanboy" or "starstruck fangirl" --> <<set _slot to _args[0]>> <<set _desc to _args[1] ? _args[1] : 0>> <<set _role to _args[2] ? _args[2] : 0>> <<set _status to _args[3] is "t" ? "t" : "a">> <<generateNPC `_slot + 1` _status>> <<if _desc>> <<if _desc.includes("/")>> <<set [_descM, _descF] to _desc.split("/")>> <<set $NPCList[_slot].description to $NPCList[_slot].pronoun is "m" ? _descM : _descF>> <<else>> <<set $NPCList[_slot].description to _desc>> <</if>> <</if>> <<if _role>> <<if _role.includes("/")>> <<set [_roleM, _roleF] to _role.split("/")>> <<set $NPCList[_slot].role to $NPCList[_slot].pronoun is "m" ? _roleM : _roleF>> <<else>> <<set $NPCList[_slot].role to _role>> <</if>> <<if _role.includes("guard")>> <<npcClothesType $NPCList[_slot] "security">> <<elseif _role.includes("inmate")>> <<npcClothesType $NPCList[_slot] "prison">> <<elseif _role.includes("pirate")>> <<npcClothesType $NPCList[_slot] "docker2">> <<elseif _role.includes("islander")>> <<npcClothesType $NPCList[_slot] "brothelHarness">> <</if>> <</if>> <<set $NPCList[_slot].fullDescription to $NPCList[_slot].description + " ">> <<if $NPCList[_slot].role isnot "normal">> <<set $NPCList[_slot].fullDescription += $NPCList[_slot].role>> <<elseif $NPCList[_slot].pronoun is "m">> <<set $NPCList[_slot].fullDescription += ($NPCList[_slot].teen is 1 ? "boy" : "man")>> <<elseif $NPCList[_slot].pronoun is "f">> <<set $NPCList[_slot].fullDescription += ($NPCList[_slot].teen is 1 ? "girl" : "woman")>> <</if>> <</widget>> <<widget "undressNPC">> <<set $_npc to $NPCList[_args[0]-1]>> <<if $_npc.penis is "clothed">> <<set $_npc.penis to 0>> <</if>> <<if $_npc.vagina is "clothed">> <<set $_npc.vagina to 0>> <</if>> <</widget>> <<widget "generate1">> <<generateNPC 1>> <</widget>> <<widget "generate2">> <<generateNPC 2>> <</widget>> <<widget "generate3">> <<generateNPC 3>> <</widget>> <<widget "generate4">> <<generateNPC 4>> <</widget>> <<widget "generate5">> <<generateNPC 5>> <</widget>> <<widget "generate6">> <<generateNPC 6>> <</widget>> <<widget "generatey1">> <<generateNPC 1 t>> <</widget>> <<widget "generatey2">> <<generateNPC 2 t>> <</widget>> <<widget "generatey3">> <<generateNPC 3 t>> <</widget>> <<widget "generatey4">> <<generateNPC 4 t>> <</widget>> <<widget "generatey5">> <<generateNPC 5 t>> <</widget>> <<widget "generatey6">> <<generateNPC 6 t>> <</widget>> <<widget "generatev1">> <<set _generate_victim to 1>> <<generateNPC 1>> <</widget>> <<widget "generatev2">> <<set _generate_victim to 1>> <<generateNPC 2>> <</widget>> <<widget "generatev3">> <<set _generate_victim to 1>> <<generateNPC 3>> <</widget>> <<widget "generatev4">> <<set _generate_victim to 1>> <<generateNPC 4>> <</widget>> <<widget "generatev5">> <<set _generate_victim to 1>> <<generateNPC 5>> <</widget>> <<widget "generatev6">> <<set _generate_victim to 1>> <<generateNPC 6>> <</widget>> <<widget "generateyv1">> <<set _generate_victim to 1>> <<generateNPC 1 t>> <</widget>> <<widget "generateyv2">> <<set _generate_victim to 1>> <<generateNPC 2 t>> <</widget>> <<widget "generateyv3">> <<set _generate_victim to 1>> <<generateNPC 3 t>> <</widget>> <<widget "generateyv4">> <<set _generate_victim to 1>> <<generateNPC 4 t>> <</widget>> <<widget "generateyv5">> <<set _generate_victim to 1>> <<generateNPC 5 t>> <</widget>> <<widget "generateyv6">> <<set _generate_victim to 1>> <<generateNPC 6 t>> <</widget>> <<widget "generatep2">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 0>> <<generateNPC 2>> <</widget>> <<widget "generatep3">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 1>> <<generateNPC 3>> <</widget>> <<widget "generatep4">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 2>> <<generateNPC 4>> <</widget>> <<widget "generatep5">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 3>> <<generateNPC 5>> <</widget>> <<widget "generatep6">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 4>> <<generateNPC 6>> <</widget>> <<widget "generateyp2">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 0>> <<generateNPC 2 t>> <</widget>> <<widget "generateyp3">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 1>> <<generateNPC 3 t>> <</widget>> <<widget "generateyp4">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 2>> <<generateNPC 4 t>> <</widget>> <<widget "generateyp5">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 3>> <<generateNPC 5 t>> <</widget>> <<widget "generateyp6">> <<set _generate_partner to _args[0] isnot undefined ? _args[0] : 4>> <<generateNPC 6 t>> <</widget>> <<widget "generatel">> <<if $enemyno gte 0 and $enemyno lte 5>> <<if $location is "beach">> <<generateNPC `$enemyno + 1` t>> <!-- Generate next slot teenager --> <<else>> <<generateNPC `$enemyno + 1`>> <!-- Generate next slot adult --> <</if>> <</if>> <</widget>> <<widget "generates1">> <<set _npcClothesPreset to "school">> <<generatey1>> <</widget>> <<widget "generates2">> <<set _npcClothesPreset to "school">> <<generatey2>> <</widget>> <<widget "generates3">> <<set _npcClothesPreset to "school">> <<generatey3>> <</widget>> <<widget "generates4">> <<set _npcClothesPreset to "school">> <<generatey4>> <</widget>> <<widget "generates5">> <<set _npcClothesPreset to "school">> <<generatey5>> <</widget>> <<widget "generates6">> <<set _npcClothesPreset to "school">> <<generatey6>> <</widget>> <<widget "generatesm1">> <<set _npcClothesPreset to "school">> <<generateym1>> <</widget>> <<widget "generatesm2">> <<set _npcClothesPreset to "school">> <<generateym2>> <</widget>> <<widget "generatesm3">> <<set _npcClothesPreset to "school">> <<generateym3>> <</widget>> <<widget "generatesm4">> <<set _npcClothesPreset to "school">> <<generateym4>> <</widget>> <<widget "generatesm5">> <<set _npcClothesPreset to "school">> <<generateym5>> <</widget>> <<widget "generatesm6">> <<set _npcClothesPreset to "school">> <<generateym6>> <</widget>> <<widget "generatesf1">> <<set _npcClothesPreset to "school">> <<generateyf1>> <</widget>> <<widget "generatesf2">> <<set _npcClothesPreset to "school">> <<generateyf2>> <</widget>> <<widget "generatesf3">> <<set _npcClothesPreset to "school">> <<generateyf3>> <</widget>> <<widget "generatesf4">> <<set _npcClothesPreset to "school">> <<generateyf4>> <</widget>> <<widget "generatesf5">> <<set _npcClothesPreset to "school">> <<generateyf5>> <</widget>> <<widget "generatesf6">> <<set _npcClothesPreset to "school">> <<generateyf6>> <</widget>> <<widget "generatem1">> <<generateNPC 1 a m>> <</widget>> <<widget "generatem2">> <<generateNPC 2 a m>> <</widget>> <<widget "generatem3">> <<generateNPC 3 a m>> <</widget>> <<widget "generatem4">> <<generateNPC 4 a m>> <</widget>> <<widget "generatem5">> <<generateNPC 5 a m>> <</widget>> <<widget "generatem6">> <<generateNPC 6 a m>> <</widget>> <<widget "generatef1">> <<generateNPC 1 a f>> <</widget>> <<widget "generatef2">> <<generateNPC 2 a f>> <</widget>> <<widget "generatef3">> <<generateNPC 3 a f>> <</widget>> <<widget "generatef4">> <<generateNPC 4 a f>> <</widget>> <<widget "generatef5">> <<generateNPC 5 a f>> <</widget>> <<widget "generatef6">> <<generateNPC 6 a f>> <</widget>> <<widget "generateym1">> <<generateNPC 1 t m>> <</widget>> <<widget "generateym2">> <<generateNPC 2 t m>> <</widget>> <<widget "generateym3">> <<generateNPC 3 t m>> <</widget>> <<widget "generateym4">> <<generateNPC 4 t m>> <</widget>> <<widget "generateym5">> <<generateNPC 5 t m>> <</widget>> <<widget "generateym6">> <<generateNPC 6 t m>> <</widget>> <<widget "generateyf1">> <<generateNPC 1 t f>> <</widget>> <<widget "generateyf2">> <<generateNPC 2 t f>> <</widget>> <<widget "generateyf3">> <<generateNPC 3 t f>> <</widget>> <<widget "generateyf4">> <<generateNPC 4 t f>> <</widget>> <<widget "generateyf5">> <<generateNPC 5 t f>> <</widget>> <<widget "generateyf6">> <<generateNPC 6 t f>> <</widget>> <<widget "generatecm1">> <<generateNPC 1 t m>> <</widget>> <<widget "generatecm2">> <<generateNPC 2 t m>> <</widget>> <<widget "generatecm3">> <<generateNPC 3 t m>> <</widget>> <<widget "generatecm4">> <<generateNPC 4 t m>> <</widget>> <<widget "generatecm5">> <<generateNPC 5 t m>> <</widget>> <<widget "generatecm6">> <<generateNPC 6 t m>> <</widget>> <<widget "generatecf1">> <<generateNPC 1 t f>> <</widget>> <<widget "generatecf2">> <<generateNPC 2 t f>> <</widget>> <<widget "generatecf3">> <<generateNPC 3 t f>> <</widget>> <<widget "generatecf4">> <<generateNPC 4 t f>> <</widget>> <<widget "generatecf5">> <<generateNPC 5 t f>> <</widget>> <<widget "generatecf6">> <<generateNPC 6 t f>> <</widget>> <<widget "generatePlant1">> <<set _npcPlant to 1>><<set _strapIgnore to 1>><<set _condomIgnore to 1>> <<generateNPC 1 t>> <</widget>> <<widget "generatePlant2">> <<set _npcPlant to 1>><<set _strapIgnore to 1>><<set _condomIgnore to 1>> <<generateNPC 2 t>> <</widget>> <<widget "generatePlant3">> <<set _npcPlant to 1>><<set _strapIgnore to 1>><<set _condomIgnore to 1>> <<generateNPC 3 t>> <</widget>> <<widget "generatePlant4">> <<set _npcPlant to 1>><<set _strapIgnore to 1>><<set _condomIgnore to 1>> <<generateNPC 4 t>> <</widget>> <<widget "generatePlant5">> <<set _npcPlant to 1>><<set _strapIgnore to 1>><<set _condomIgnore to 1>> <<generateNPC 5 t>> <</widget>> <<widget "generatePlant6">> <<set _npcPlant to 1>><<set _strapIgnore to 1>><<set _condomIgnore to 1>> <<generateNPC 6 t>> <</widget>> <<widget "generateTemple">> <<set _npcChastity to 1>> <<set _npcClothesPreset to "temple">> <<generateNPC _args[0]>> <</widget>> <<widget "generateyTemple">> <<set _npcChastity to 1>> <<set _npcClothesPreset to "temple">> <<generateNPC _args[0] t>> <</widget>> <<widget "generateInitiate">> <<set _npcChastity to 1>> <<set _npcClothesPreset to "temple">> <<set _slot to (_args[0] - 1)>> <<generateRole _slot 0 "initiate">> <</widget>> <<widget "generateConfessor">> <<set _npcClothesPreset to "templeBlack">> <<generateNPC _args[0]>> <</widget>> <<widget "generateCultist">> <<set _npcClothesPreset to "templeBlack">> <<set _slot to (_args[0] - 1)>> <<generateRole _slot 0 "cultist">> <</widget>> <<widget "generatePolice">> <<set _npcClothesPreset to "police">> <<generateNPC _args[0]>> <</widget>> <<widget "generateSecurity">> <<set _npcClothesPreset to "security">> <<generateNPC _args[0]>> <</widget>> <<widget "generateSailor">> <<set _npcClothesPreset to "sailor">> <<generateNPC _args[0]>> <</widget>> <<widget "generateDoctor">> <<set _npcClothesPreset to "hospital">> <<generateNPC _args[0]>> <</widget>> <<widget "generatePlant">> <<set _npcPlant to 1>><<set _strapIgnore to 1>><<set _condomIgnore to 1>> <<generateNPC _args[0] "t">> <</widget>> <<widget "generateSweaterWearer">> <<set _npcClothesPreset to "sweater">> <<generateNPC _args[0]>> <</widget>> <<widget "generateDemon">> <<generateNPC _args[0] a f h 20>> <<undressNPC _args[0]>> <</widget>> <<widget "npcattribute">> <!-- V2.4 Widget set NPC attributes. $arg[0] calls NPC number (0 - 5) to be generated. NG--> <!-- $NPCList.pronoun sets appearance, including breasts. NPCList.gender sets genitals, including pp --> <!-- Future work this should call addns args to set pronoun, gender, and size of NPC(0-18) where larger number is more robust. This would eliminate much of the NPC calls from above and push to code. --> <!-- Added thug Vulgar/Brutish as NPC19, can only be called with $arg[2] --> <!-- Added strap-on functionality v2.8 --> <!-- Added sex toy functionality 0.3.8.0 --> <!-- check if this npc has seen the player while the player was pantiless; doesn't matter if they knew it or not. --> <<nounderwearcheck>> <<set _n to _args[0]>> <<set _gender to _args[1]>> <<set _lvl to _args[2]>> <!-- This sets genitals. --> <<set $NPCList[_n].vagina to "none">> <<set $NPCList[_n].penis to "none">> <<if ["m", "f", "h"].includes(_gender)>> <<set $NPCList[_n].gender to _gender>> <<if _gender is "m">> <<set $NPCList[_n].penis to "clothed">> <<elseif _gender is "f">> <<set $NPCList[_n].vagina to "clothed">> <<elseif _gender is "h">> <<set $NPCList[_n].vagina to "clothed">> <<set $NPCList[_n].penis to "clothed">> <</if>> <<else>> <<rng>> <<if $NPCList[_n].pronoun is "m">> <<if $rng lte $cbchance and $debugEnableHerms is 1>> <<set $NPCList[_n].penis to "clothed">> <<set $NPCList[_n].vagina to "clothed">> <<set $NPCList[_n].gender to "h">> <<elseif $rng lte $cbchance>> <<set $NPCList[_n].vagina to "clothed">> <<set $NPCList[_n].gender to "f">> <<else>> <<set $NPCList[_n].penis to "clothed">> <<set $NPCList[_n].gender to "m">> <</if>> <<elseif $NPCList[_n].pronoun is "f">> <<if $rng lte $dgchance and $debugEnableHerms is 1>> <<set $NPCList[_n].vagina to "clothed">> <<set $NPCList[_n].penis to "clothed">> <<set $NPCList[_n].gender to "h">> <<elseif $rng lte $dgchance>> <<set $NPCList[_n].penis to "clothed">> <<set $NPCList[_n].gender to "m">> <<else>> <<set $NPCList[_n].vagina to "clothed">> <<set $NPCList[_n].gender to "f">> <</if>> <</if>> <</if>> <<set $NPCList[_n].chastity to {penis:"", vagina:"", anus:""}>> <<if _npcChastity is 1>> <<unset _npcChastity>> <<if random(-100, 120) gte $world_corruption_soft>> <<if $NPCList[_n].penis isnot "none">> <<set $NPCList[_n].chastity.penis to (random(1, 3) is 1 ? "chastity belt" : "chastity cage")>> <</if>> <<if $NPCList[_n].vagina isnot "none">> <!-- if npc has both, give them the same chastity type on both. --> <<set $NPCList[_n].chastity.vagina to ($NPCList[_n].chastity.penis isnot "" ? $NPCList[_n].chastity.penis : "chastity belt")>> <</if>> <<set $_beltPresent to ($NPCList[_n].chastity.penis is "chastity belt" or $NPCList[_n].chastity.vagina is "chastity belt")>> <<if $analdisable is "f" and random(-100, 150) gte $world_corruption_soft and $_beltPresent>> <<set $NPCList[_n].chastity.anus to "anal shield">> <</if>> <</if>> <</if>> <<generateNPCClothes $NPCList[_n]>> /* Sex toy init rework */ /* Sex toys become more popular over time after the adult shop opens */ <<if !_strapIgnore and $enemytype isnot "beast" and ($NPCList[_n].teen isnot 1 or random(1,20) is 1) and ($position isnot "wall" or $walltype isnot "front")>> <<if $adultshopdegree gte random(0, 100) or random(0,100) lt 5>> <<if $toywhipdisable is "f" and $toydildodisable is "f" and $player.gender_appearance isnot "f">> <<set _sexToy to randomSexToy()>> <<elseif $toywhipdisable is "f" and $toydildodisable is "f">> <<set _sexToy to randomSexToy("dildos and whips")>> <<elseif $toywhipdisable is "f" and $toydildodisable is "t">> <<set _sexToy to randomSexToy("whip")>> <<elseif $toywhipdisable is "t" and $toydildodisable is "f">> <<set _sexToy to randomSexToy("dildo")>> <</if>> <<if _sexToy isnot undefined>> <<set $NPCList[_n].heldSexToy to _sexToy>> <</if>> <</if>> <</if>> <<if $NPCList[_n].penis isnot "none">> <<set $NPCList[_n].penis to ($NPCList[_n].clothes.lower.name is "naked" ? 0 : "clothed")>> <</if>> <<if $NPCList[_n].vagina isnot "none">> <<set $NPCList[_n].vagina to ($NPCList[_n].clothes.lower.name is "naked" ? 0 : "clothed")>> <</if>> <<set $NPCList[_n].chest to ($NPCList[_n].clothes.upper.name is "naked" ? 0 : "clothed")>> <<if random(1, 100) lte $blackchance>> <<set $NPCList[_n].skincolour to "black">> <<else>> <<set $NPCList[_n].skincolour to "white">> <</if>> <<rng>> <<if $rng gte 81>> <<if $NPCList[_n].vagina isnot "none" and $NPCList[_n].penis isnot "none">> <<set $NPCList[_n].insecurity to ["penis","vagina"].random()>> <<elseif $NPCList[_n].penis isnot "none">> <<set $NPCList[_n].insecurity to "penis">> <<elseif $NPCList[_n].vagina isnot "none">> <<set $NPCList[_n].insecurity to "vagina">> <<else>> <<set $NPCList[_n].insecurity to "perfectly smooth crotch">> /* default case, shouldn't happen. */ <</if>> <<elseif $rng gte 61>> <<set $NPCList[_n].insecurity to "ethics">> <<elseif $rng gte 41>> <<set $NPCList[_n].insecurity to "weak">> <<elseif $rng gte 21>> <<set $NPCList[_n].insecurity to "skill">> <<else>> <<set $NPCList[_n].insecurity to "looks">> <</if>> <<if $NPCList[_n].teen is 1>> <<if $NPCList[_n].pronoun is "f">> <!-- female appearing student --> <<set $_hpMax to [125,175,150,150,150,175,150,200,200,200,125,200,250,125,250,200,250,250,200,300,400]>> <<set $_desc to ["slight","lithe","lean","thin","slender","lissome","slim","taut","graceful","trim","mousy","cute","fit","petite","toned","shapely","robust","plump","wide-eyed","vulgar","chubby","heavyset","minor demon"]>> <<set $_breastMin to [0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,5,5,8,3,10,12]>> <<set $_breastMax to [4,4,4,4,4,4,7,7,7,7,8,8,8,8,8,11,11,12,10,12,12]>> <<else>> <!-- male appearing student --> <<set $_hpMax to [125,175,150,150,150,175,150,200,200,200,125,200,250,125,250,200,250,250,200,300,400]>> <<set $_desc to ["slight","lithe","lean","thin","slender","lissome","slim","taut","graceful","trim","mousy","cute","fit","petite","toned","shapely","robust","plump","wide-eyed","brutish","chubby","heavyset","minor demon"]>> <</if>> <<else>> <<if $NPCList[_n].pronoun is "f">> <!-- female appearing adult --> <<set $_hpMax to [125,175,150,150,150,175,150,200,125,200,275,200,250,250,200,200,250,200,200,350,600]>> <<set $_desc to ["slight","lithe","lean","thin","slender","lissome","slim","taut","petite","trim","muscular","curvy","toned","plump","plush","shapely","robust","voluptuous","lush","vulgar","chubby","heavyset","demon"]>> <<set $_breastMin to [0,0,0,0,2,2,2,2,2,5,5,5,5,5,5,5,8,8,9,10,12]>> <<set $_breastMax to [4,4,4,4,4,4,7,7,8,9,9,9,9,12,10,11,10,11,11,12,12]>> <<else>> <!-- male appearing adult --> <<set $_hpMax to [125,125,150,150,150,150,175,175,200,200,200,200,250,250,250,250,275,275,275,400,600]>> <<set $_desc to ["petite","slight","slim","thin","slender","lanky","lissome","lithe","trim","lean","taut","plump","toned","bulky","broad","robust","rugged","muscular","burly","brutish","chubby","heavyset","demon"]>> <</if>> <</if>> <!-- Setting pp size limits separately. Changes should track with physical descriptions above, in order. --> <!-- Brutes and demons always have the largest penis size. --> <!-- $_penisMin is "smallest possible penis size", $_penisMax is "largest possible penis size" --> <<if $NPCList[_n].penis isnot "none">> <<if $NPCList[_n].teen is 1>> <<set $_penisMin to [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8]>> <<set $_penisMax to [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]>> <<else>> <<set $_penisMin to [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8]>> <<set $_penisMax to [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]>> <</if>> <</if>> <<set _brdes to ["nipple","budding","tiny","small","pert","modest","full","large","ample","massive","huge","gigantic","enormous"]>> <!-- Select NPC 1-18 Description/Strength pair. Breast size range bound to Description. NPC19 is Brute NPC20 is Demon--> <<if _lvl gte 0 and _lvl lte 20>> <<set _i to _lvl>> <<else>> <!-- Making NPCs unique, but only when their description is not specifically requested (and most of the time, it isn't) --> <!-- generate a range of numbers from 0 to N --> <<set $_range to [...Array(18).keys()]>> <!-- figure out which indices are already in use by looking them up in $_desc--> <<set $_takenDescriptionIndices to $NPCList.map(npc => $_desc.indexOf(npc.description))>> <!-- remove the already taken indices from the pool --> <<set $_range.delete($_takenDescriptionIndices)>> <!-- choose the index for this NPC using the filtered pool --> <<set _i to $_range.pluck()>> <</if>> <<set $NPCList[_n].healthmax to $_hpMax[_i]>> <<set $NPCList[_n].health to $NPCList[_n].healthmax>> <<set $NPCList[_n].description to $_desc[_i]>> <<if $NPCList[_n].penis isnot "none">><!-- set pp size based on the upper and lower bounds for the selected description --> <<if $penis_mod gte $_penisMin[_i]>><<set $_penisMin[_i] to $penis_mod>><</if>> <<if $penis_mod gte $_penisMax[_i]>><<set $_penisMax[_i] to $penis_mod>><</if>> <<if $penis_mod lt 0>> <!-- Why is this only when $penis_mod is negative? --> <<set $_penisMin[_i] to Math.clamp($_penisMin[_i]+$penis_mod, 0, 8)>> <<set $_penisMax[_i] to Math.clamp($_penisMax[_i]+$penis_mod, 0, 8)>> <</if>> <</if>> <<if $NPCList[_n].pronoun is "f">><!-- set breast size based on the upper and lower bounds for the selected description--> <<if $breast_mod gte $_breastMin[_i]>><<set $_breastMin[_i] to $breast_mod>><</if>> <<if $breast_mod gte $_breastMax[_i]>><<set $_breastMax[_i] to $breast_mod>><</if>> <<if $breast_mod lt 0>> <!-- Why is this only when $breast_mod is negative? --> <<set $_breastMin[_i] to Math.clamp($_breastMin[_i]+$breast_mod, 0, 12)>> <<set $_breastMax[_i] to Math.clamp($_breastMax[_i]+$breast_mod, 0, 12)>> <</if>> <</if>> <<if $NPCList[_n].pronoun is "f">><<set _rngbr to random($_breastMin[_i], $_breastMax[_i])>><</if>> <<if $NPCList[_n].penis isnot "none">><<set _rngpp to random($_penisMin[_i], $_penisMax[_i])>><</if>> <<set $NPCList[_n].fullDescription to $NPCList[_n].description + " ">> <<if $NPCList[_n].pronoun is "m">> <<set $NPCList[_n].fullDescription += ($NPCList[_n].teen is 1 ? "boy" : "man")>> <<elseif $NPCList[_n].pronoun is "f">> <<set $NPCList[_n].fullDescription += ($NPCList[_n].teen is 1 ? "girl" : "woman")>> <</if>> <<set $NPCList[_n].role to "normal">> /*Sets up multiple orgasms, code needs work*/ /*<<set $NPCList[_n].maxOrgasms to 1>> <<set $NPCList[_n].orgasms to 0>> <<if $NPCList[_n].fullDescription is "Robin">> <<set $NPCList[_n].maxOrgasms to 2>> <<set $setupMidOrgasm to true>> <</if>> */ <<if $NPCList[_n].pronoun is "m">> <<set $NPCList[_n].breastsize to 0>> <<set $NPCList[_n].breastsdesc to "nipples">> <<set $NPCList[_n].breastdesc to "nipple">> <<else>> <<if $NPCList[_n].adult is 1>> <!-- set adult breast size --> <<set $NPCList[_n].breastsize to _rngbr>> <<switch _rngbr>> <<case 0>> <<set $NPCList[_n].breastsdesc to "nipples">> <<set $NPCList[_n].breastdesc to "nipple">> <<default>> <<set $NPCList[_n].breastsdesc to _brdes[_rngbr]+" breasts">> <<set $NPCList[_n].breastdesc to _brdes[_rngbr]+" breast">> <</switch>> <<else>> <!-- set student breast size --> <<set $NPCList[_n].breastsize to _rngbr>> <<switch _rngbr>> <<case 0>> <<set $NPCList[_n].breastsdesc to "nipples">> <<set $NPCList[_n].breastdesc to "nipple">> <<default>> <<set $NPCList[_n].breastsdesc to _brdes[_rngbr]+" breasts">> <<set $NPCList[_n].breastdesc to _brdes[_rngbr]+" breast">> <</switch>> <</if>> <</if>> <<if $NPCList[_n].penis isnot "none">> <<if $NPCList[_n].adult is 1 or _npcPlant is 1>> <!-- set adult/plantperson pp size --> <<switch _rngpp>> <<case 0>> <<set $NPCList[_n].penisdesc to "tiny penis">> <<set $NPCList[_n].penissize to 1>> <<case 5 6 7>> <<set $NPCList[_n].penisdesc to either("thick cock","hefty cock","big cock","large cock","veiny cock","meaty cock")>> <<set $NPCList[_n].penissize to 3>> <<case 8>> <<set $NPCList[_n].penisdesc to either("massive cock","huge cock","humongous cock","immense cock","gigantic cock","enormous cock")>> <<set $NPCList[_n].penissize to 4>> <<default>> <<set $NPCList[_n].penisdesc to "penis">> <<set $NPCList[_n].penissize to 2>> <</switch>> <<else>> <!-- set student pp size --> <<switch _rngpp>> <<case 0>> <<set $NPCList[_n].penisdesc to "tiny penis">> <<set $NPCList[_n].penissize to 1>> <<case 7 8>> <<set $NPCList[_n].penisdesc to either("thick cock","hefty cock","big cock","large cock","veiny cock","meaty cock")>> <<set $NPCList[_n].penissize to 3>> <<default>> <<set $NPCList[_n].penisdesc to "penis">> <<set $NPCList[_n].penissize to 2>> <</switch>> <</if>> <</if>> <<rng>> <<if $NPCList[_n].pronoun is "f">> <<if $rng lte ($NPCList[_n].adult is 1 ? 40 : 20)>> <<set $NPCList[_n].lactation to 1>> <<else>> <<set $NPCList[_n].lactation to 0>> <</if>> <</if>> <<generateNPCvirginity $NPCList[_n]>> <!-- Sets females with strap-ons as adjustment--> <<if $NPCList[_n].gender is "f" and !_strapIgnore and !npcHasStrapon(_n)>> <<if random(0, 99) lt $straponchance>> <<npcstrapon _n>> <</if>> <</if>> /*Location is relative to the PC*/ <<set $NPCList[_n].location to { head: 0, genitals: 0, }>> <<set $NPCList[_n].trust to 0>> <<set _rng to random(1, 6)>> <<if _rng gte 6>> <<set $NPCList[_n].size to "large">> <<elseif _rng gte 3>> <<set $NPCList[_n].size to "normal">> <<elseif _rng gte 1>> <<set $NPCList[_n].size to "small">> <<else>> <<set $NPCList[_n].size to "tiny">> <</if>> <<generate_npc_traits>> <<generate_npc_skills>> <<if _npcPlant is 1>> <<set $NPCList[_n].type to "plant">> <<set $NPCList[_n].fullDescription to $NPCList[_n].description + " plant">> <<if $NPCList[_n].pronoun is "m">> <<set $NPCList[_n].fullDescription += "boy">> <<elseif $NPCList[_n].pronoun is "f">> <<set $NPCList[_n].fullDescription += "girl">> <</if>> <<unset _npcPlant>> <<npcClothesType $NPCList[_n] "naked">> <<else>> <<set $NPCList[_n].type to "human">> <</if>> <<if $condomLvl gte 2 and !_condomIgnore>> <<if $NPCList[_n].pregnancyAvoidance gte (100 - $condomChance)>> <<set $NPCList[_n].condom to { willUse: random(0,100), state: (random(0,100) gt 98 ? "defective" : "normal"), type: "plain", colour: setup.colours.condom[random(0, (setup.colours.condom.length -1))].csstext, worn: false }>> <<elseif $NPCList[_n].pregnancyAvoidance lte 2>> <<set $NPCList[_n].condom to { willUse: random(0,100), state: "sabotaged", type: "plain", colour: setup.colours.condom[random(0, (setup.colours.condom.length -1))].csstext, worn: false }>> <</if>> <</if>> <<if $NPCList[_n].pregnancy is undefined>> <<set $NPCList[_n].pregnancy to 0>> <</if>> <</widget>> <<widget "npcstrapon">> <!-- NG Converts NPCs to strap-on --> <<switch _args[0]>> <<case 0 1 2 3 4 5>> <<set _xx to _args[0]>> <<default>> <span class="red">NPCSTRAPON Error: No NPC Identifier</span> <br><br> <</switch>> <<if !$NPCList[_xx].strapon>> <!-- set .penis to clothed if vagina was clothed, or nude if vagina was nude --> <<if $NPCList[_xx].vagina isnot "none">> <<set $NPCList[_xx].penis to $NPCList[_xx].vagina>> <<set $NPCList[_xx].vagina to "none">> <<set $NPCList[_xx].gender to "m">> <</if>> <!-- NPC strap-on descriptors added: 0.3.6.2 --> /* Other names: anal beads, barbed, ribbed, corkscrew, butt plug, unicorn horn, bovine */ <<set $_i to $NPCNameList.indexOf($NPCList[_xx].fullDescription)>> <<if _args[1]>> <<run console.log("assign strapon from args", _args[1])>> <<set $_strapon to _args[1]>> <<setNPCStrapon $NPCList[_xx] $_strapon>> <<set $NPCList[_xx].strapon.temp to true>> <<elseif $_i isnot -1 and $NPCName[$_i].strapons and $NPCName[$_i].strapons.length gte 1>> <!-- If the NPC owns at least one strapon, they'll choose one they own and put it on. --> <<run console.log("assign strapon from collection", $NPCName[$_i].strapons)>> <<set $_strapon to clone($NPCName[$_i].strapons.random())>> <<setNPCStrapon $NPCList[_xx] $_strapon>> <<else>> /* Generate random */ <<run console.log("generate random strapon")>> <<set _dildoType to either("dildo","penis","beaded dildo","horse cock","knotted cock", "tentacle","dolphin cock","studded cock","fist dildo")>> <<set _straponColor to either("black","red","pink","purple","fleshy","blue","green")>> <<set _bonusdescriptor to either("","","floppy","transparent","sparkly")>> <<switch random(1, 6)>> <<case 1>> <<set $NPCList[_xx].penisdesc to _bonusdescriptor +" "+_straponColor+" strap-on "+_dildoType>> <<set $NPCList[_xx].penissize to 2>> <<case 2 3>> <<set $NPCList[_xx].penisdesc to "large "+_straponColor+" strap-on cock">> <<set $NPCList[_xx].penissize to 3>> <<case 4>> <<set $NPCList[_xx].penisdesc to "large "+_straponColor+" strap-on "+_dildoType>> <<set $NPCList[_xx].penissize to 3>> <<case 5>> <<set $NPCList[_xx].penisdesc to "massive "+_straponColor+" strap-on "+_dildoType>> <<set $NPCList[_xx].penissize to 4>> <<default>> <<set $NPCList[_xx].penisdesc to "massive "+_straponColor+" strap-on cock">> <<set $NPCList[_xx].penissize to 4>> <</switch>> <!-- Set up like this for futureproofing --> <<set $NPCList[_xx].strapon to {state:"worn",color:_straponColor,description:$NPCList[_xx].penisdesc,size:$NPCList[_xx].penissize}>> <<if $_i isnot -1>> <!-- Give this named npc this strapon temporarily so that they will use it in future appearances (note: they are removed in the <<day>> widget) --> <<set $NPCList[_xx].strapon.temp to true>> <<set $randomNNPCStraponsToClear to true>> <<if !$NPCName[$_i].strapons or $NPCName[$_i].strapons.length is 0>> <<set $NPCName[$_i].strapons to [$NPCList[_xx].strapon]>> <<else>> <!-- This may not make sense? Why would a strapon be randomly generated if they already had one? --> <<run console.debug("Random strapon added to "+$NPCName[$_i].nam+"'s strapon collection when they already had one")>> <<set $NPCName[$_i].strapons.push($NPCList[_xx].strapon)>> <</if>> <</if>> <</if>> <<set $NPCList[_xx].strapon.state to "worn">> <</if>> <</widget>> <<widget "generateNewStrapon">> <<set $_straponSize to _args[0]>> <<set $_straponSizeDesc to {2: "", 3: "large", 4: "massive"}[_args[0]]>> <<set $_straponColour to _args[1]>> <<set $_straponShape to _args[2]>> <<set $_modifier to (_args[3] ? _args[3] : "")>> <<set $_straponDesc to `${$_straponSizeDesc} ${$_modifier} ${$_straponColour} strap-on ${$_straponShape}`.trim().replace(/\s\s+/, " ")>> <<set _newStrapon to { color: $_straponColour, size: $_straponSize, description: $_straponDesc, }>> <</widget>> <<widget "setNPCStrapon">> <<if _args[0] and _args[1]>> <<set $_npc to _args[0]>> <<set $_strapon to _args[1]>> <<set $_npc.strapon to clone($_strapon)>> <<set $_npc.strapon.state to "worn">> <<set $_npc.penisdesc to $_npc.strapon.description>> <<set $_npc.penissize to $_npc.strapon.size>> <</if>> <</widget>> <<widget "generate_npc_traits">> <<set $NPCList[_n].traits to []>> <<set _rng to random(1, 4)>> <<switch _rng>> <<case 1>> <<set $NPCList[_n].traits.push("relaxed")>> <<case 2>> <<set $NPCList[_n].traits.push("sociable")>> <<case 3>> <<set $NPCList[_n].traits.push("brooding")>> <<case 4>> <<set $NPCList[_n].traits.push("lecher")>> <</switch>> <<if $hallucinations gte 1 and $controlled is 0>> <!-- Update divisor when world corruption clamp changes--> <<set $_hypnoChance = Math.floor($world_corruption_soft / 10)>> <<if random(1, 100) lte $_hypnoChance>> <<set $NPCList[_n].traits.push("hypnotist")>> <</if>> <<else>> <<if random(1, 100) is 100>> <<set $NPCList[_n].traits.push("hypnotist")>> <</if>> <</if>> /* <<if random(1, 5) is 5>> <<if random(1, 2) is 2>> <<set $NPCList[_n].traits.push("lazy")>> <<else>> <<set $NPCList[_n].traits.push("energetic")>> <</if>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("watchful")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("needs glasses")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("scrappy")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("skulduggerous")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("promiscuous")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("exhibitionist")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("deviant")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("willful")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("strong")>> <</if>> <<if random(1, 10) is 10>> <<set $NPCList[_n].traits.push("beautiful")>> <</if>> */ <</widget>> <<widget "generate_npc_skills">> <<set $NPCList[_n].skills to {}>> <<set $NPCList[_n].skills.security to random(1, 1000)>> <<set $NPCList[_n].skills.athletics to random(1, 1000)>> <</widget>> <!-- Argument 0 is NPC object, Argument 1 is clothes name or type. --> <<widget "npcClothesType">> <<if _args[0]>> <<run npcClothes(_args[0], _args[1])>> <</if>> <</widget>> <<widget "npcClothesName">> <<if _args[0] and _args[1]>> <<run npcSpecifiedClothes(_args[0], _args[1])>> <</if>> <</widget>> <<widget "generateNPCClothes">> <<if _args[0]>> <<set $_npc to _args[0]>> <<if _npcClothesPreset>> <!-- For clothing set in generation widgets --> <<if _npcClothesPreset is "school" and ($location is "pool" or $location is "beach" and Time.season isnot "winter")>> <<if $location is "pool" and $swimnudecounter gte random(1, 10)>> <<set _npcClothesPreset to "naked">> <<else>> <<set _npcClothesPreset to "schoolSwim">> <</if>> <</if>> <<set _npcClothingOptions to [_npcClothesPreset]>> <<unset _npcClothesPreset>> <<elseif $_npc.monster is "monster">> <<set _npcClothingOptions to ["naked"]>> <<elseif $location is "prison">> <<set _npcClothingOptions to ["prison"]>> <<else>> <!-- Determine possible NPC clothes types --> <<set _npcClothingOptions to ["default"]>> <<set $_schoolType to ($_npc.teen is 1 ? "school" : "teacher")>> <<switch $location>> <<case "brothel" "hospital" "temple" "spa">> <<set _npcClothingOptions.push($location, $location, "town", "town", "formal")>> <<case "moor" "farm" "alex_farm">> <<set _npcClothingOptions.push("town", "wilds", "wilds", "wilds", "riding")>> <<case "forest" "lake">> <<set _npcClothingOptions.push("town", "wilds", "wilds", "forest")>> <<case "beach">> <<if Time.season isnot "winter">> <<set _npcClothingOptions.push("town", "beach", "beach", "beach", "beach", "warm", "warm")>> <<if $_npc.teen is 1>> <<set _npcClothingOptions.push("schoolSwim", "schoolSwim")>> <</if>> <<else>> <<set _npcClothingOptions.push("town", "cold", "cold", "cold", "cold")>> <</if>> <<case "sea">> <<set _npcClothingOptions.push("town", "sailor", "sailor")>> <<case "docks">> <<set _npcClothingOptions.push("town", "docker", "docker")>> <<case "school">> <<set _npcClothingOptions to [$_schoolType]>> <<case "pool">> <<set _npcClothingOptions to ["schoolSwim"]>> <<case "dance_studio">> <<set _npcClothingOptions to ["dance_studio"]>> <<default>> <<set _npcClothingOptions.push("town", "town", "town")>> <<if $outside is 1>> <<switch Weather.precipitation>> <<case "none">> <<if Time.season isnot "winter">> <<set _npcClothingOptions.push("warm", "warm")>> <</if>> <<case "rain">> <<set _npcClothingOptions.push("cold", "wilds", "rain", "rain", "rain")>> <<case "snow">> <<set _npcClothingOptions.push("cold", "cold", "cold", "cold")>> <</switch>> <<if Time.season is "winter">> <<set _npcClothingOptions.push("cold", "cold", "cold", "cold")>> <</if>> <</if>> <<if Time.season is "summer">> <<set _npcClothingOptions.push("warm", "warm", "warm", "warm")>> <<elseif Time.hour gte 19 or Time.hour lte 6>> <<set _npcClothingOptions.push("cold", "cold", "formal", "formal", "formalRare")>> <</if>> <<if Time.season isnot "winter">> <<if Time.hour gt 9 and Time.hour lt 16>> <<set _npcClothingOptions.push("warm", "warm")>> <</if>> <</if>> <</switch>> <!-- For named NPCs. Remove "naked" outfit from outfits array. Find all outfit names in setup. Copy their types into an array. Compare this array with available options. Delete any possible options that the named NPC does not have a type of. --> <<if $_npc.outfits>> <<set $_npcOutfits to clone($_npc.outfits)>> <<set $_npcOutfits to $_npcOutfits.filter(x => !x.includes("naked"))>> <<set _npcOutfitsTypes to []>> <<for $_key, $_outfit range $_npcOutfits>> <<set _npcOutfitsTypes.push(setup.npcClothesSets.find(set => set.name === $_outfit).type)>> <</for>> <<for $_key, $_outfitType range _npcClothingOptions>> <<if !_npcOutfitsTypes.includes($_outfitType)>> <<run _npcClothingOptions.delete($_outfitType)>> <</if>> <</for>> <</if>> <<if _npcClothingOptions.length gt 1>> <<run _npcClothingOptions.delete("default")>> <</if>> <</if>> <<set _npcClothes to _npcClothingOptions.random()>> <<run npcClothes($_npc, _npcClothes)>> <</if>> <</widget>> <<widget "generateNPCvirginity">> <<set $_npc to _args[0]>> <<set $_npc.virginity to { "anal": true, "oral": true, "penile": true, "vaginal": true, "handholding": false, "temple": false, "kiss": false }>> <<set $_virginChance to ($_npc.adult is 1 ? $npcVirginityChanceAdult : $npcVirginityChance)>> <<if _npcPlant and $_virginChance lt 100>> <<set $_virginChance /= 20>> <</if>> <<set $_npc.virginity.penile to (random(1,100) lte $_virginChance)>> <<set $_npc.virginity.vaginal to (random(1,100) lte $_virginChance)>> <!-- Can't lose virginity if you don't have the part. --> <!-- Also, futureproofing for strapons; this runs before strapons are assigned, so they should not generate with both penile virginity AND a strapon. --> <<if $_npc.penis is "none">> <<set $_npc.virginity.penile to false>> <</if>> <<if $_npc.vagina is "none">> <<set $_npc.virginity.vaginal to false>> <</if>> <!-- this is quadratic, but basically it approaches 100% faster than regular virgin chance. --> <<set $_uncommonVirginChance to $_virginChance * (2 - ($_virginChance/100))>> <<if $analdisable is "f">> <<set $_npc.virginity.anal to (random(1,100) lte $_uncommonVirginChance)>> <</if>> <<set $_npc.virginity.oral to (random(1,100) lte $_uncommonVirginChance)>> <</widget>> <<widget "generatetakevirginity">> <<set $_n to _args[0]>> <<set $_g to maleChance() gte random(1, 100) ? "m" : "f">> <<if $player.vaginaExist and $straponchance is 0 and !unableTakeVirginity("vaginal")>> <<if $dgchance gte 1>> <<generateNPC $_n a $_g m>> <<else>> <<generateNPC $_n a m m>> <</if>> <<elseif $player.penisExist and $analdisable isnot "f" and !unableTakeVirginity("penile")>> <<if $cbchance gte 1>> <<generateNPC $_n a $_g f>> <<else>> <<generateNPC $_n a f f>> <</if>> <<else>> <<generateNPC $_n>> <<run $_n -= 1>> <<if $player.vaginaExist and !$player.penisExist and $NPCList[$_n].penis is "none">> <<npcstrapon $_n>> <</if>> <</if>> <</widget>><<widget "speech-sydney">> <<set _sydney to statusCheck("Sydney")>><<rng>> <<if !$sydneyComments>> <<set $sydneyComments to {}>> <<set $sydneyComments.penetrated to 0>> <<set $sydneyComments.mouth to 0>> <<set $sydneyComments.trib to 0>> <<set $sydneyComments.imminent to 0>> <<set $sydneyComments.chastity to 0>> <<set $sydneyComments.touch to 0>> <<set $sydneyComments.fondle to 0>> <<set $sydneyComments.flaunt to 0>> <<set $sydneyUniqueComments to []>> <</if>> <<if $speechNPCPenisVirgin is 1 or $speechNPCVaginaVirgin is 1>> <<if $speechpenisvirgin is 1 or $speechvaginavirgin is 1 or $speechanusvirgin is 1>> <<if _sydneyStatus.includes("corrupt")>> <<if $sydneySeen.includes("corruptroom")>> <<set _sydneyText to `<<He>> moans, looking to you with pure ecstasy. "The feeling of you ruining me gets better each time. We belong to each other, now and forever!" <<He>> holds on to you tight. <<set $corruptionEvent to 1>><<npcincr Sydney purity -5>><<llspurity>>`>> <<else>> <<set _sydneyText to `<<He>> moans, looking to you with pure ecstasy. "You did it. You defiled me at last. We belong to each other forever now!" <<He>> holds on to you tight. <<set $corruptionEvent to 1>><<npcincr Sydney purity -20>><<lllspurity>>`>> <</if>> <<else>> <<if $templePromised is "Sydney">> <<set _sydneyText to `<<He>> gasps, looking to you with pure ecstasy. "We... we did it... I'm so happy..." <<He>> holds on to you tightly. "This means we're bound together forever... right?" <<npcincr Sydney purity -5>><<llspurity>>`>> <<else>> <<set _sydneyText to `<<He>> gasps, looking to you with pure ecstasy. "We shouldn't be doing this... so why do I feel so happy...?" <<He>> holds on to you tightly. "This means we're bound together forever... right?" <<set $corruptionEvent to 1>><<npcincr Sydney purity -20>><<lllspurity>>`>> <</if>> <</if>> <<else>> <<if _sydneyStatus.includes("corrupt")>> <<if $sydneySeen.includes("corruptroom")>> <<set _sydneyText to `<<He>> moans, looking to you with pure ecstasy. "The feeling of you ruining me gets better every time. I belong to you, now and forever!" <<He>> holds on to you tightly. <<set $corruptionEvent to 1>><<npcincr Sydney purity -5>><<llspurity>>`>> <<else>> <<set _sydneyText to `<<He>> moans, looking to you with pure ecstasy. "You did it. You defiled me at last. We belong to each other forever now!" <<He>> holds on to you tight. <<set $corruptionEvent to 1>><<npcincr Sydney purity -20>><<lllspurity>>`>> <</if>> <<else>> <<if $templePromised is "Sydney">> <<set _sydneyText to `<<He>> gasps, looking to you with pure ecstasy. "We... we did it... I'm so happy..." <<He>> holds on to you tightly. "Even if I wasn't your first... this means we're bound together forever... right?" <<npcincr Sydney purity -5>><<llspurity>>`>> <<else>> <<set _sydneyText to `<<He>> gasps, looking to you with pure ecstasy. "We shouldn't be doing this... so why do I feel so happy...?" <<He>> holds on to you tightly. "It's okay that I wasn't your first, as long as I'm your last!" <<set $corruptionEvent to 1>><<npcincr Sydney purity -20>><<lllspurity>>`>> <</if>> <</if>> <</if>> <<elseif $speechNPCAnusVirgin is 1>> <<if $speechpenisvirgin is 1>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> moans. "This is your first time doing this too, isn't it? Don't slow down. Please!" <<He>> wraps <<his>> legs around you.`>> <<else>> <<set _sydneyText to `<<He>> gasps. "Are... are you sure we're still pure...? It feels... too good..." <<He>> holds on to you tightly.`>> <</if>> <<else>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> moans. "Woah, I never expected it to feel like that... keep going!" <<He>> wraps <<his>> legs around you.`>> <<else>> <<set _sydneyText to `<<He>> gasps. "Are... are you sure I'm still pure...? It feels... too good..." <<He>> holds on to you tightly.`>> <</if>> <</if>> <<elseif $speechmouthvirgin is 1>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> moans and places a hand on your head. "This is your first time doing this, isn't it? You're doing great."`>> <<else>> <<set _sydneyText to `<<He>> gasps. "Is... is this your first time doing thi-" <<He>> stifles further lewd noises by placing <<his>> hands over <<his>> mouth.`>> <</if>> <<elseif $speechNPCKissVirgin is 1>> <<set _sydneyText to `<<He>> gazes at you lovingly. "That was my first kiss..." <<he>> giggles.`>> <<elseif $speechhermaroused is 1>> <<if _sydneyStatus.includes("corrupt")>> <<if _sydney.gender is "h">> <<set _sydneyText to `<<He>> gasps. "Woah! <<sydneyMum>> always told me I was special, but you have both too!"`>> <<else>> <<set _sydneyText to `<<He>> gasps. "Woah! <<sydneyMum>> never told me that was possible."`>> <</if>> <<else>> <<if _sydney.gender is "h">> <<set _sydneyText to `<<He>> gasps. "You... have both too? I thought I was the only one!"`>> <<else>> <<set _sydneyText to `<<He>> gasps. "B...both? I didn't know that was possible!"`>> <</if>> <</if>> <<elseif $speechcrossdressaroused is 1>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> gasps. "All this time, you were a <<pcSex>>? Well, that doesn't change how I feel about you."`>> <<else>> <<set _sydneyText to `<<He>> gasps. "You're... a <<pcSex>>? Th-that's okay! I don't think of you any differently!"`>> <</if>> <<elseif $speechnamedrop is 1 and $sydneyromance is 1>> <<set $speechnamedrop to 0>> <<switch _loveInterest>> <<case "Black Wolf" "Great Hawk">> <<set _sydneyText to `<<He>> balks. "An... animal? What?"`>> <<case "Whitney">> <<set _sydneyText to `<<He>> balks. "H... <<nnpc_him "Whitney">>?!"`>> <<case "Robin" "Kylar">> <<set _sydneyText to `<<He>> freezes. "I... thought you were just friends. You mean...?"`>> <<default>> <<set _sydneyText to `<<He>> freezes. "Wh... who? Who is it?!"`>> <</switch>> <<npcincr Sydney love -10>><<llllove>> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set _sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> looks at your <<print _sexToy>> and grins. "<<print either("Oh, I'd like nothing more than to test that out with you.","You got that on a discount, right?")>>"`>> <<elseif _sydneyStatus.includes("pure")>> <<set _sydneyText to `<<He>> looks at your <<print _sexToy>> and blushes. "<<print either("Oh, that's from <<sydneymum>>'s store!","...How do you use that one?")>>"`>> <<else>> <<set _sydneyText to `<<He>> looks at your <<print _sexToy>> and blushes. "This feels wrong, but I don't want to stop."`>> <</if>> <<elseif $speechcum is 1>> <<if $speechspank is 1>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> looks down at you with confusion. "This is supposed to be painful, what... what is this?" <<npcincr Sydney purity -2>><<lspurity>>`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> smiles at you and giggles. "Seeing you struggle and writhe just makes it better." <<npcincr Sydney purity -2>><<lspurity>>`>> <<default>> <<set _sydneyText to `<<He>> looks to you with a mixture of panic and confusion as you climax. <<npcincr Sydney purity -2>><<lspurity>>`>> <</switch>> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $sydneySeen.includes("player climax")>> <<set _sydneyText to `<<He>> smiles at you. "I... I did it! I made you..." <<he>> giggles. <<npcincr Sydney purity -2>><<lspurity>>`>> <<else>> <<set _sydneyText to `<<His>> eyes widen. "A-are you okay? You're shaking!" You manage to nod in response, and <<he>> calms down. <<npcincr Sydney purity -5>><<llspurity>>`>> <</if>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> smiles at you and giggles. "My turn, now." <<npcincr Sydney purity -2>><<lspurity>>`>> <<default>> <<set _sydneyText to `<<He>> lovingly clings to you as you tremble. <<npcincr Sydney purity -2>><<lspurity>>`>> <</switch>> <</if>> <<set $sydneySeen.pushUnique("player climax")>> <<elseif $speechgenitals is 1 and $worn.genitals.type.includesAll("chastity", "hidden") and !$sydneySeen.includes("chastity")>> <<set _sydneyText to `<<His>> eyebrows raise in surprise upon seeing your <<printChastity>>. <<npcincr Sydney purity 2>><<gspurity>>`>> <<set $sydneySeen.pushUnique("chastity")>> <<set $sydneyUniqueComments.pushUnique("chastity")>> <<elseif $speechpenispenetrated is 1 and $sydneyComments.penetrated is 0>> <<set $sydneyComments.penetrated to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "If... if you... I'm going to..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "Th-the temple will punish me for this... but I don't care anymore!"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "Y...you're really inside..."`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $rng gte 80 and $pregnancyspeechdisable is "f">> <<set _sydneyText to `<<He>> grabs you by the head and pulls your face close to <<hers>>. "I want you to put a child in me. Now."`>> <<else>> <<set _sydneyText to `<<He>> moans. "Harder. Harder! I'm almost there!"`>> <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "This is worth any punishment the temple will do to me."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I love the feeling of you inside me."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I think I'm... getting close...!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "We're both sinners now, aren't we?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I think I'm getting used to this."`>> <</if>> <</switch>> <<elseif $speechotheranuspenetrated is 1 and $sydneyComments.penetrated is 0>> <<set $sydneyComments.penetrated to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "If... if you... I'm going to..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "This... still feels so wrong... but..."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "Y...you're really inside..."`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> moans. "Harder. Harder! I'm almost there!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "I can't believe I never tried this. You've really opened my eyes."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I love the feeling of you inside me."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I think I'm... getting close...!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "We're still pure, right? This doesn't count?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I think I'm getting used to this."`>> <</if>> <</switch>> <<elseif $speechvaginapenetrated is 1 and $sydneyComments.penetrated is 0>> <<set $sydneyComments.penetrated to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "Sh... should I... pull out?"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "Th-the temple will punish me for this... but I don't care anymore!"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I... I'm really inside..."`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $rng gte 80 and $pregnancyspeechdisable is "f">> <<set _sydneyText to `<<He>> grabs you by the head and pulls your face close to <<hers>>. "I want to put a child in you."`>> <<else>> <<set _sydneyText to `<<He>> moans. "I'm almost there! Are you ready?"`>> <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "This is worth any punishment the temple will do to me."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I love the feeling of being inside you."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I think I'm... getting close...!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "We're both sinners now, aren't we?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I'm getting used to this feeling."`>> <</if>> <</switch>> <<elseif $speechanuspenetrated is 1 and $sydneyComments.penetrated is 0>> <<set $sydneyComments.penetrated to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $pregnancyspeechdisable is "f" and !$player.vaginaExist and _sydney.gender is "m" and knowsAboutAnyPregnancy("pc","Sydney")>> <<set _sydneyText to `<<He>> barely manages to speak. "Sh... should I... pull out?"`>> <<else>> <<set _sydneyText to `<<He>> barely manages to speak. "If... if you... I'm going to..."`>> <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "This... still feels so wrong... but..."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I...I'm really inside..."`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $rng gte 80 and $pregnancyspeechdisable is "f" and !$player.vaginaExist and _sydney.gender is "m" and knowsAboutAnyPregnancy("pc","Sydney")>> <<set _sydneyText to `<<He>> grabs you by the head and pulls your face close to <<hers>>. "I want to put a child in you."`>> <<else>> <<set _sydneyText to `<<He>> moans. "I'm almost there! Are you ready?"`>> <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "Are you sure this feels good for you?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I love being inside you."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I think I'm... getting close...!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "We're still pure, right? This doesn't count?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I'm getting used to this feeling."`>> <</if>> <</switch>> <<elseif $speechmouthpenetrated is 1 and $sydneyComments.penetrated is 0>> <<set $sydneyComments.penetrated to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "Ah... something's coming..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "I'm starting to feel weird..."`>> <<else>> <<set _sydneyText to `<<He>> giggles. "This tickles!"`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> moans, grabbing the back of your head. "I'm almost there! Are you ready?"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "I hope you don't plan on wasting any."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "You look so cute down there."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I think I'm... getting close...!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "You can breathe, right? I'm not hurting you?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "Your mouth is so warm."`>> <</if>> <</switch>> <<elseif ($speechvaginamouth + $speechanallick + $speechanalkiss + $speechmouthotheranus + $speechthroat + $speechfacesit) gte 1 and $sydneyComments.mouth is 0>> <<set $sydneyComments.mouth to 3>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "Ah... something's coming..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "I'm starting to feel weird..."`>> <<else>> <<set _sydneyText to `<<He>> giggles. "This tickles!"`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> moans, grabbing the back of your head. "I'm almost there! Are you ready?"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "Lick harder."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "You look so cute down there."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I think I'm... getting close...!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "You can breathe, right? I'm not hurting you?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "Your tongue is so warm."`>> <</if>> <</switch>> <<elseif ($speechvaginavagina + $speechtribentrance) gte 1 and $sydneyComments.trib is 0>> <<set $sydneyComments.trib to 3>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "If... if you... I'm going to..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "This... still feels so wrong... but..."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "We're... really touching down there..."`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> moans. "I'm almost there! Are you ready?"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "Are you sure this feels good for you?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I love being this close together."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I think I'm... getting close...!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "We're still pure, right? This doesn't count?"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I'm getting used to this feeling."`>> <</if>> <</switch>> <<elseif ($speechvaginaimminent + $speechpenisimminent + $speechvaginaentrance + $speechpenisentrance) gte 1 and !_sydneyChastity and $sydneyComments.imminent is 0>> <<set $sydneyComments.imminent to 3>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<if _sydneyVirgin>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "D...don't... put it in..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "J... just the tip, alright?"`>> <<else>> <<set _sydneyText to `<<He>> giggles nervously. "This is dangerous..."`>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> speaks through gasps and moans. "J...just put it in already. I can't take it anymore!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> smiles at you with pleading eyes, and spreads <<his>> legs further. "Wh... what are you waiting for...?"`>> <<else>> <<set _sydneyText to `<<He>> giggles. "G... go ahead. Just be gentle, please."`>> <</if>> <</if>> <<case "corrupt" "corruptLust">> <<if _sydneyVirgin>> <<set _sydneyText to `<<He>> moans. "Do it. Deflower me. Make me yours!"`>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> moans. "Stop teasing me!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $speechvaginaimminent is 1>> <<set _sydneyText to `<<He>> speaks. "I want to be inside you."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I want you inside me."`>> <</if>> <<else>> <<set _sydneyText to `<<He>> speaks. "I want to put it in."`>> <</if>> <</if>> <</switch>> <<elseif ($speechotheranusimminent + $speechotheranusentrance) gte 1 and !_sydney.chastity.anus.includes("shield") and $sydneyComments.imminent is 0>> <<set $sydneyComments.imminent to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<if _sydney.virginity.anal is true>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "I... think I'm ready..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "Be gentle, please..."`>> <<else>> <<set _sydneyText to `<<He>> giggles nervously. "I've never even though about doing it this way..."`>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> speaks through gasps and moans. "J...just put it in already. I can't take it anymore!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> smiles at you with pleading eyes, and spreads <<his>> legs further. "Wh... what are you waiting for...?"`>> <<else>> <<set _sydneyText to `<<He>> giggles. "At least it's still pure this way."`>> <</if>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> moans. "Stop teasing me!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "I want you inside me."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I want to put it in."`>> <</if>> <</switch>> <<elseif ($speechanusimminent + $speechanusentrance) gte 1 and $sydneyComments.imminent is 0>> <<set $sydneyComments.imminent to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<if _sydneyVirgin>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> barely manages to speak. "D...don't... put it in..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "J... just the tip, alright?"`>> <<else>> <<set _sydneyText to `<<He>> giggles nervously. "This is dangerous..."`>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> speaks through gasps and moans. "J...just let me put it in already! I can't take it anymore!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> smiles at you pleadingly. "Wh... what are you waiting for...?"`>> <<else>> <<set _sydneyText to `<<He>> giggles. "G... go ahead. Just be gentle, please."`>> <</if>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> moans. "Stop teasing me!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "I want to be inside you."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I want to put it in."`>> <</if>> <</switch>> <<elseif $speechspank is 1>> <<if $speechmoan is 1>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to either( `<<He>> blushes. "Th-this is supposed to be a punishment!"`, `<<He>> blushes. "I don't understand, am I not punishing you hard enough?"`, `<<He>> blushes. "Are you... enjoying this?" <<npcincr Sydney purity -1>><<lspurity>>` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> smirks. "I knew you were into this." <<npcincr Sydney purity -1>><<lspurity>>`, `<<He>> smirks. "Naughty <<girls>> get punished, and I love it when you're naughty." <<npcincr Sydney purity -1>><<lspurity>>`, `<<He>> smirks. "I want to savour your moans. I should spank you more often." <<npcincr Sydney purity -1>><<lspurity>>` )>> <<default>> <<set _sydneyText to either( `<<He>> pouts. "This is supposed to be discipline, you know."`, `<<He>> blushes. "Are you... into this?" <<npcincr Sydney purity -1>><<lspurity>>`, `<<He>> blushes. "This is supposed to be a punishment! Stop moaning like that!" <<npcincr Sydney purity -1>><<lspurity>>` )>> <</switch>> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $sydneySeen.includes("spank") and $rng lte 10 and $location is "school">> <<set _sydneyText to `<<He>> speaks. "It's either I do this, or the <<nnpc_title "Leighton">> does, so please cooperate!"`>> <<elseif $rng lte 10 and $location is "temple">> <<set _sydneyText to `<<He>> speaks. "How dare you defile sacred ground!?"`>> <<elseif $rng lte 35>> <<set _sydneyText to `<<He>> speaks. "No one is above discipline!"`>> <<elseif $rng lte 70>> <<set _sydneyText to `<<He>> speaks. "Hold still! You need to learn your lesson!"`>> <<else>> <<set _sydneyText to `<<He>> speaks. "The pain will help you remember! Accept your punishment!"`>> <</if>> <<case "corrupt" "corruptLust">> <<if $sydneySeen.includes("spank") and $rng lte 10 and $location is "school">> <<set _sydneyText to `<<He>> speaks. "Better me than the <<nnpc_title "Leighton">>, right?"`>> <<elseif $rng lte 10 and $location is "temple">> <<set _sydneyText to `<<He>> speaks. "You've defiled a sacred place. Maybe I should defile you in return."`>> <<elseif $rng lte 35>> <<set _sydneyText to `<<He>> speaks. "I bet you're enjoying this."`>> <<elseif $rng lte 70>> <<set _sydneyText to `<<He>> speaks. "Does this make you angry? Maybe I'll let you do the same to me."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I won't stop until you enjoy the pain."`>> <</if>> <<default>> <<if $sydneySeen.includes("spank") and $rng lte 10 and $location is "school">> <<set _sydneyText to `<<He>> speaks. "It's either I do this, or the <<nnpc_title "Leighton">> does, so please cooperate!"`>> <<elseif $rng lte 10 and $location is "temple">> <<set _sydneyText to `<<He>> speaks. "How dare you defile sacred ground!?"`>> <<elseif $rng lte 35>> <<set _sydneyText to `<<He>> speaks. "Don't get the wrong idea, this is purely disciplinary."`>> <<elseif $rng lte 70>> <<set _sydneyText to `<<He>> speaks. "I wish you would just behave so I wouldn't have to do this, I don't like hurting you."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "Jordan's taught me a thing or two about discipline, it's time for you to learn too."`>> <</if>> <</switch>> <</if>> <<elseif $speechapologise is 1>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<set _sydneyText to `<<He>> looks confused. "Why are you sorry? Everything's okay, I promise."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> speaks. "I know how you can make it up to me."`>> <</switch>> <<elseif $speechapologiseno is 1>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<set _sydneyText to `<<He>> looks confused. "You keep saying you're sorry, are you okay? We can stop if you want."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> speaks. "Yes, keep saying that, you look so delightfully helpless."`>> <</switch>> <<elseif ($speechvaginawithhold + $speechanuswithhold + $speechpeniswithhold + $speechotheranuswithhold) gte 1 and !$sydneyUniqueComments.includes("withhold")>> <<set $sydneyUniqueComments.pushUnique("withhold")>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<set _sydneyText to `<<He>> smiles with glee. "We both have to stay pure, after all." <<npcincr Sydney purity 2>><<gspurity>>`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> gives an exaggerated sigh, but smiles. "You're such a fucking sextease sometimes!" <<npcincr Sydney purity 2>><<gspurity>>`>> <</switch>> <<elseif $speechNPCChastity is 1 and $sydneyComments.chastity is 0>> <<set $sydneyComments.chastity to 3>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<set _sydneyText to either( `<<He>> speaks. "Sorry about the belt, but I really need to stay safe..."`, `<<He>> speaks. "Please don't hurt yourself trying to mess with my belt."`, `<<He>> speaks. "Th... the belt's not going to make you stop loving me, is it?"` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> speaks. "I want this thing off, but I know it's for my own good."`, `<<He>> speaks. "Don't hurt yourself against the belt, it's a finger pincher."`, `<<He>> speaks. "I hope the belt's not a dealbreaker."` )>> <</switch>> <<elseif $speechchastity is 1 and !$sydneyUniqueComments.includes("chastity")>> <<set $sydneyUniqueComments.pushUnique("chastity")>> <<switch _sydneyStatus>> <<case "pure" "pureLust" "neutral" "neutralLust">> <<if $worn.genitals.name is "chastity parasite">> <<set _sydneyText to "What is that? Do you need to go to the hospital?">> <<elseif _sydneyChastity>> <<set _sydneyText to either( `<<He>> stares at your <<printChastity>>. "We're matching!"`, `<<He>> speaks. "We're both still pure if we both have chastity devices, right?"`, `<<He>> stares at your <<printChastity>>. "At least we don't have to worry since we're both protected."` )>> <<else>> <<set _sydneyText to either( `<<He>> stares at your <<printChastity>>. "You got me to remove mine, but now you have one?"`, `<<He>> stares at your <<printChastity>>. "So this is how it feels."`, `<<He>> stares at your <<printChastity>>. "Oh."` )>> <</if>> <<case "corrupt" "corruptLust">> <<if $worn.genitals.name is "chastity parasite">> <<set _sydneyText to `"I'm always up for trying new things, but that's a little freaky."`>> <<elseif _sydneyChastity>> <<set _sydneyText to either( `<<He>> speaks. "Okay, hear me out, if we smash the chastity devices together really hard..."`, `<<He>> speaks. "We need to find the keys for our chastity devices soon."`, `<<He>> stares at your <<printChastity>>. "I guess we're both just lusty sinners, and can't do anything about it."` )>> <<else>> <<set _sydneyText to either( `<<He>> stares at your <<printChastity>>. "You're kidding me, right?"`, `<<He>> stares at your <<printChastity>>. "Is this a joke?"`, `<<He>> stares at your <<printChastity>>. "Oh you absolute sextease, you got me to remove mine just to-"` )>> <</if>> <</switch>> <<elseif $speechhit is 1>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> winces. "H... harder..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> winces. "You're hurting me..."`>> <<else>> <<set _sydneyText to `<<He>> winces. "Ow! Is it always this painful?"`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> gives you a menacing glare. "I know you can hit harder than that."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> laughs. "I love it when you're rough!"`>> <<else>> <<set _sydneyText to `<<He>> winces. "Ow! Haha, harder!"`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> winces. "Hit me again! I like it!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> laughs. "If you enjoy being rough, I guess I have to enjoy it too."`>> <<else>> <<set _sydneyText to `<<He>> winces. "Ow! That one really hurt!"`>> <</if>> <</switch>> <<elseif ($speechcoverface + $speechcoverpenis + $speechcovervagina) gte 1 and !$sydneyUniqueComments.includes("hide")>> <<set $sydneyUniqueComments.pushUnique("hide")>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> notices your attempts to cover yourself. "A-are you nervous? That's okay, I am too."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> notices your attempts to cover yourself. "Remember when I was the apprehensive one? How things have changed."`>> <<default>> <<set _sydneyText to `<<He>> notices your attempts to cover yourself. "It's okay, I don't mind seeing you like this anymore. We can both trust each other, right?"`>> <</switch>> <<elseif $speechhair is 1 and !$sydneyUniqueComments.includes("hair")>> <<set $sydneyUniqueComments.pushUnique("hair")>> <<if _sydney.hairColour isnot "strawberryblond">> <<set _sydneyText to `<<He>> speaks. "I've always loved your hair. That's why I didn't hesitate to take your advice on my appearance."`>> <<else>> <<set _sydneyText to `<<He>> speaks. "I've always loved your hair."`>> <</if>> <<elseif ($speechhandjobpenis + $speechhandjobvagina + $speechcheeks + $speechthigh + $speechfeet + $speechchestrub + $speechbreastrub) gte 1 and $sydneyComments.touch is 0>> <<set $sydneyComments.touch to 3>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> stifles a moan. "I... I think... something's coming..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> gasps. "Th... this is called foreplay, right?"`>> <<else>> <<set _sydneyText to `<<He>> giggles. "I... guess this isn't too impure."`>> <</if>> <<case "corrupt" "corruptLust">> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> speaks through gasps and moans. "Just a little more!"`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "You're pretty good at this."`>> <<else>> <<set _sydneyText to `<<He>> lets out a clearly fake yawn. "Already bored of the foreplay."`>> <</if>> <<default>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<set _sydneyText to `<<He>> speaks through gasps and moans. "I'm getting close..."`>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<set _sydneyText to `<<He>> speaks. "I think I can handle a little more."`>> <<else>> <<set _sydneyText to `<<He>> giggles. "I wouldn't want anyone else to touch me like this."`>> <</if>> <</switch>> <<elseif $sydneyComments.fondle is 0 and ($speechfutapenis + $speechvagina + $speechclit + $speechpenis + $speechglans + $speechanus + $speechbottom) gte 1>> <<if $speechfutapenis is 1>> <<set $sydneyComments.fondle to 3>> <<if _sydney.gender is "h">> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to either( `<<He>> speaks. "Am... am I doing this right?"`, `<<He>> speaks. "It's getting harder! And... wetter."`, `<<He>> speaks. "I'm... not being too rough, am I?"` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> speaks. "I love that you've also got both sets of gear. You really are perfect."`, `<<He>> speaks. "I'll stick my fingers in your mouth after this, so you can taste yourself."`, `<<He>> speaks. "It'd be a shame if I just redirected your cumshot right into your own pussy. Then I could clone you!"`, `<<He>> speaks. "So, which one do you like more?"` )>> <<default>> <<set _sydneyText to either( `<<He>> speaks. "I never would have learned things like this, if not for you."`, `<<He>> speaks. "I think I'm getting the hang of this!"`, `<<He>> speaks. "Does it feel good when I work it like this?"` )>> <</switch>> <<else>> <!-- sydney is not a herm --> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to either( `<<He>> speaks. "Am... am I doing this right?"`, `<<He>> speaks. "It's getting harder! And... wetter."`, `<<He>> speaks. "I'm... not being too rough, am I?"` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> speaks. "I love that you've got both sets of gear. You really are perfect."`, `<<He>> speaks. "It'd be a shame if I just redirected your cumshot right into your own pussy. Then I could clone you!"`, `<<He>> speaks. "So, which one feels better?"` )>> <<default>> <<set _sydneyText to either( `<<He>> speaks. "You're so unique. I never learned about this in science class."`, `<<He>> speaks. "I think I'm getting used to working with both."`, `<<He>> speaks. "I'm almost jealous. I wish I knew what both felt like."` )>> <</switch>> <</if>> <<elseif $speechvagina is 1 or $speechclit is 1>> <<set $sydneyComments.fondle to 3>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to either( `<<He>> speaks. "Am... am I doing this right?"`, `<<He>> giggles. "It's getting wetter!"`, `<<He>> speaks. "I'm... not being too rough, am I?"` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> speaks. "I'll stick my fingers in your mouth after this, so you can taste yourself."`, `<<He>> speaks. "Just relax, and let me take care of this."`, `<<He>> giggles. "Make sure to keep it down!"` )>> <<default>> <<set _sydneyText to either( `<<He>> speaks. "I never would have learned things like this, if not for you."`, `<<He>> speaks. "I think I'm getting the hang of this!"`, `<<He>> speaks. "How deep should I go?"` )>> <</switch>> <<elseif $speechpenis is 1 or $speechglans is 1>> <<set $sydneyComments.fondle to 3>> <<if playerHasStrapon()>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> speaks. "Am... am I doing this right?"`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> giggles. "This toy makes me feel hot. I need it inside me."`>> <<default>> <<set _sydneyText to either( `<<He>> speaks. "I never would have learned things like this, if not for you."`, `<<He>> speaks. "I think I'm getting the hang of this!"` )>> <</switch>> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to either( `<<He>> speaks. "Am... am I doing this right?"`, `<<He>> giggles. "It's getting bigger!"`, `<<He>> speaks. "I'm... not being too rough, am I?"` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> speaks. "I'm going to wring you dry."`, `<<He>> speaks. "Just relax, and let me take care of this."`, `<<He>> giggles. "Make sure to keep it down!"` )>> <<default>> <<set _sydneyText to either( `<<He>> speaks. "I never would have learned things like this, if not for you."`, `<<He>> speaks. "I think I'm getting the hang of this!"`, `<<He>> speaks. "Does it feel good when I work it like this?"` )>> <</switch>> <</if>> <<elseif $speechanus is 1 or $speechbottom is 1>> <<set $sydneyComments.fondle to 3>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to either( `<<He>> speaks. "Am... am I doing this right?"`, `<<He>> giggles. "I didn't know this spot could make someone feel good!"`, `<<He>> speaks. "I'm... not being too rough, am I?"` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> speaks. "Maybe we should stick something bigger in there."`, `<<He>> speaks. "Just relax, and let me take care of this."`, `<<He>> giggles. "Make sure to keep it down!"` )>> <<default>> <<set _sydneyText to either( `<<He>> speaks. "I never would have learned things like this, if not for you."`, `<<He>> speaks. "I think I'm getting the hang of this!"`, `<<He>> speaks. "How deep should I go?"` )>> <</switch>> <</if>> <<elseif $speechvaginaflaunt is 1 and $sydneyComments.flaunt is 0>> <<set $sydneyComments.flaunt to 2>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to either( `<<He>> covers <<his>> blush. "D-don't just stare at it..."`, `<<He>> giggles. "You're looking at me funny..."`, `<<He>> whispers. "N-no one else has ever seen me like this before..."` )>> <<case "corrupt" "corruptLust">> <<set _sydneyText to either( `<<He>> uses two fingers to spread <<his>> lips. "Enjoying the view?"`, `<<He>> speaks. "Yeah, I know, it looks perfect doesn't it?"`, `<<He>> giggles. "It's all yours."` )>> <<default>> <<set _sydneyText to either( `<<He>> speaks. "You're staring. At least let me look at yours, too..."`, `<<He>> speaks. "What are you going to do?"`, `<<He>> speaks. "W...well? Don't just stand there..."` )>> <</switch>> <<else>> <<if $rng gte 95 and !$sydneyUniqueComments.includes("clothes")>> <<set $sydneyUniqueComments.pushUnique("clothes")>> <<if $worn.upper.name is "nun's habit" or $worn.upper.name is "monk's habit">> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> runs <<his>> hands over your ` + $worn.upper.name + `. <<He>> almost seems nostalgic. <<npcincr Sydney purity 2>><<gspurity>>`>> <<else>> <<set _sydneyText to `<<He>> looks over your ` + $worn.upper.name + `. "Does... wearing that make this all okay?" <<npcincr Sydney purity 2>><<gspurity>>`>> <</if>> <<elseif $worn.neck.name is "holy pendant" or $worn.neck.name is "stone pendant">> <<set $sydneySeen.pushUnique("holy pendant")>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> stares at your ` + $worn.neck.name + `. <<He>> almost seems nostalgic. <<npcincr Sydney purity 2>><<gspurity>>`>> <<else>> <<set _sydneyText to `<<He>> looks over your ` + $worn.neck.name + `. "Does... wearing that make this all okay?" <<npcincr Sydney purity 2>><<gspurity>>`>> <</if>> <<elseif $worn.neck.name is "dark pendant">> <<set $sydneySeen.pushUnique("dark pendant")>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> stares at your ` + $worn.neck.name + `. <<He>> seems to get lost in it for a moment. <<npcincr Sydney purity -2>><<lspurity>>`>> <<else>> <<set _sydneyText to `<<He>> looks over your ` + $worn.neck.name + `. "It's... so pretty, but also a little unsettling..." <<npcincr Sydney purity -2>><<lspurity>>`>> <</if>> <<elseif $location is "school" and $exposed lte 0 and (!$worn.upper.type.includes("school") and !$worn.lower.type.includes("school"))>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> looks over your clothes, and giggles. "That's not proper school uniform. Don't worry, I can help you take it off." <<set $combatgoal to "strip">>`>> <<else>> <<set _sydneyText to `<<He>> looks over your clothes. "Y-you should really adhere to the dress code, before you get in trouble..."`>> <</if>> <<elseif $worn.lower.name is "naked" and playerHasStrapon()>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> looks over your <<penisSimple>> and giggles. "Oh these toys are fun."`>> <<else>> <<set _sydneyText to `<<He>> looks over your <<penisSimple>> and blushes. "<<sydneyMum>>'s always talking about these."`>> <</if>> <<elseif $exposed gte 1>> <<if _sydneyStatus.includes("corrupt")>> <<set _sydneyText to `<<He>> looks over your body, and giggles. "You look even better all exposed like this." <<npcincr Sydney lust 1>><<glust>>`>> <<else>> <<set _sydneyText to `<<He>> shyly looks over your exposed body. "Y-you're... you look... uhm..." <<He>> looks away for a moment. "You look good." <<npcincr Sydney lust 1>><<npcincr Sydney purity -2>><<gslust>><<lspurity>>`>> <</if>> <<else>> /* Say Nothing */ <<set _sydneyText to ``>> <</if>> <<elseif $rng gte 90>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> murmurs. "Sorry, I don't really know what I'm doing..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> speaks. "We sure know how to have fun."`>> <<default>> <<set _sydneyText to `"I used to get so nervous about this kind of thing..."`>> <</switch>> <<elseif $rng gte 85>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> speaks. "This is... so sinful..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> speaks. "You've opened my eyes, being a sinner is too much fun!"`>> <<default>> <<set _sydneyText to `<<He>> speaks. "I was always taught that this was sinful, but..."`>> <</switch>> <<elseif $rng gte 80>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> murmurs. "N...not too rough, please..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> speaks. "I can handle anything you have for me. Come on, show me what you've got!"`>> <<default>> <<set _sydneyText to `<<He>> speaks. "I... you can be a little rough, if you want..."`>> <</switch>> <<elseif $rng gte 75>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> takes a deep breath. "I... I can do this."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> speaks. "Think you can keep up?"`>> <<default>> <<set _sydneyText to `<<He>> speaks. "I think I can keep pace with you, now."`>> <</switch>> <<elseif $rng gte 70>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> takes a deep breath. "We... need to stay quiet..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> giggles. "Shh!"`>> <<default>> <<set _sydneyText to `<<He>> speaks. "Let's try not to get caught..."`>> <</switch>> <<elseif $rng gte 65>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> looks upwards. "Forgive me..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> giggles. "Looks like I'm due for some discipline. Maybe you can punish me?"`>> <<default>> <<set _sydneyText to `<<He>> giggles. "I've sinned... is this my punishment?"`>> <</switch>> <<elseif $rng gte 60>> <<if $location is "temple">> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> looks upwards. "S...such a sin, doing this on such holy ground..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> giggles. "Let's defile this place."`>> <<default>> <<set _sydneyText to `<<He>> giggles. "W...we're doing this in the temple, and nothing is stopping us..."`>> <</switch>> <<elseif $location is "school">> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> looks around nervously. "If... if someone caught us..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> giggles. "I sure hope one of the other students hear us."`>> <<default>> <<set _sydneyText to `<<He>> looks around. "I hope there's no one waiting in line..."`>> <</switch>> <<else>> <<switch _sydneyStatus>> <<case "pure" "pureLust">> <<set _sydneyText to `<<He>> looks around nervously. "Here, of all places..."`>> <<case "corrupt" "corruptLust">> <<set _sydneyText to `<<He>> giggles. "Think anyone will find us?"`>> <<default>> <<set _sydneyText to `<<He>> looks around. "I think we're safe."`>> <</switch>> <</if>> <<else>> /* Say Nothing */ <<set _sydneyText to ` `>> <</if>> <</if>> <<if $sydneyComments>> <<set _keys to Object.keys($sydneyComments)>> <<for $_i to 0; $_i lt _keys.length; $_i++>> <<if $sydneyComments[_keys[$_i]] gt 0>> <<set $sydneyComments[_keys[$_i]]-->> <</if>> <</for>> <</if>> <</widget>><<widget "cumspeech">> <<rng>> <<He>> speaks. <<if $player.gender_appearance is "m" or ($exposed gte 2 and $player.penisExist)>> <<if _deniedOrgasm and $speechorgasmnocumcount is 0>> <<set $speechorgasmnocumcount += 1>> <<if $enemyanger lte 100>> "Weren't you just going to cum? What happened?" <<else>> "Good! You don't deserve to cum, you little brat." <</if>> <<elseif _deniedOrgasm and $enemyanger gt 100>> <<switch random(1,3)>> <<case 1>> "What's the matter? Did that orgasm hurt? Good lesson for a little brat." <<case 2>> "Good! You deserve it, you little brat." <<case 3>> "Maybe if we're a bit rougher it'll make the pain of having an orgasm easier on you." <</switch>> <<elseif ($orgasmcount gte 24 or $femaleclimax) and $speechorgasmnocumcount is 0>> <<set $speechorgasmnocumcount += 1>> "You climaxed but nothing came out! What's wrong with you?" <<elseif $speechorgasmnocumcount gte 1>> <<if $speechorgasmrepeat is 0>> <<switch random(1,3)>> <<case 1>> "Have you been over-milked or were you always this pathetic?" <<case 2>> "You better not be faking it." <<case 3>> "You should be embarrassed by your lack of ejaculate." <</switch>> <<else>> <<switch random(1,3)>> <<case 1>> "I think we've worn <<phim>> out already." <<case 2>> "Still nothing coming out. This is disappointing." <<case 3>> "Maybe if we're a bit rougher we'll get some semen to come out?" <</switch>> <</if>> <<set $speechorgasmrepeat += 1>> <<elseif $orgasmcount gte 18 and $speechorgasmweakcumcount is 0>> <<set $speechorgasmweakcumcount += 1>> "Is that really all the cum you can manage?" <<else>> <<if $speechorgasmrepeat is 0>> <<switch $speechorgasmcount>> <<case 1>> "You're cumming! That's it, let it out, don't hold any back." <<case 2>> "You're releasing even more cum! Have you no shame?" <<case 3>> "Don't try to hide it, you like being milked of your cum." <<case 4>> "Let out all your precious dick-milk." <<case 5>> "You've cum so much! You're making a real mess you know." <<default>> "So much cum, I don't know whether to be impressed or embarrassed for you." <</switch>> <<else>> <<switch $speechorgasmcount>> <<case 1>> "<<pShe>> really is cumming!" <<case 2>> "Cumming again? <<pShe>> is so dirty!" <<case 3>> "<<pShe>> is cumming again? This is great!" <<case 4>> "We'll milk <<phim>> dry at this rate." <<case 5>> "I want to keep some of <<pher>> cum for later." <<default>> "<<pShe>> has cum so much. Is <<pshe>> going to be okay?" <</switch>> <</if>> <<set $speechorgasmrepeat += 1>> <</if>> <<else>> <!-- gender appearance is female and either the player does not have a dick or the npc is not aware of it --> <<if $speechmilk and $rng gte 70>> <<switch $speechmilk>> <<case 1>>"<<pShes>> milking!" <<case 2>>"Couldn't wait for me to put my mouth on it first?" <<default>>"Holy shit, that was so much." <</switch>> <<elseif $speechorgasmrepeat is 0>> <<switch $speechorgasmcount>> <<case 1>> "I knew you'd enjoy it, your spasms don't lie." <<case 2>> "How does this orgasm feel? Better than the last I bet." <<case 3>> "You're cumming again? You're such a dirty slut!" <<case 4>> "I hope you remember me, what with all these orgasms I'm giving you." <<case 5>> "You're cumming over and over again, you must be quite the slut!" <<default>> "Making a <<girl>> cum repeatedly is so much fun." <</switch>> <<else>> <<switch $speechorgasmcount>> <<case 1>> "<<pShe>> spasms so delightfully when <<pshe>> cums." <<case 2>> "<<pHer>> pussy is absolutely drenched!" <<case 3>> "<<pShe>> is so very sensitive." <<case 4>> "<<pShe>> is cumming again? This is great." <<case 5>> "<<pShe>> is cumming again! Such a nasty bitch." <<default>> "Careful not to overdo it, <<pshe>> might break if <<pshe>> cums too much." <</switch>> <</if>> <<set $speechorgasmrepeat += 1>> <</if>> <</widget>> <<widget "combatspeech">> <<set _n to _args[0]>> <<rng>> <<if $encounterDialogue>> <<switch $encounterDialogue>> <<case "cold">> <<He>> speaks. <<if $enemyanger lte 50>> <<print [ `"I'll warm you up in no time."`, `"Feeling warmer now?"`, `"I'll get you all hot and bothered, you'll see."`, `"Your skin is so flushed. See, I'm helping!"`, `"Look at how red you're getting. You must be feeling better now."`, ][random(0,4)]>> <<else>> <<print [ `"Stop struggling! You know I'm helping you warm up, right?"`, `"What's the matter with you? I thought you were cold."`, `"I know you're cold, but you don't need to act like a frigid bitch."`, `"That's cold of you. Real cold."` ][random(0,3)]>> <</if>> <<case "hot">> <<He>> speaks. <<if $enemyanger lte 50>> <<print [ `"Hot and sweaty sex is the best."`, `"Your body feels so warm."`, `"I love seeing a <<girl>> all hot and bothered."`, `"Being flushed is a good sign."`, `"You'll feel cooler once we're done here."`, ][random(0,4)]>> <<else>> <<print [ `"Stop struggling! You know you're making yourself feel even hotter, right?"`, `"Just lay here and take it, and you'll feel better."`, `"I know you're all hot and bothered, but you're being a right pain."`, `"Be reasonable here. All this exertion isn't helping your heatstroke any."`, ][random(0,3)]>> <</if>> <<case "hotStrip">> <<if $enemyanger lte 20>> <<print [ `"Come on, I'm just trying to help."`, `"You'll feel cooler if you let me take this thing off."`, `"Aren't you hot wearing this?"`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Is this how you treat everyone who tries to help you?"`, `"Just let me take your clothes off already."`, `"Be reasonable here. All this exertion isn't helping your heatstroke any."`, ][random(0,2)]>> <<else>> <<print [ `"Give me your clothes, bitch!"`, `"You're getting stripped, slut. Stop fighting it."`, `"Just give it up already. Your clothes belong to me now!"`, ][random(0,2)]>> <</if>> <<case "brothelVirginityShow">> <<if $player.virginity.penile isnot true or $player.virginity.vaginal isnot true>> <<print [ `"Ha, well, not a virgin any more."`, `"I hope you enjoyed losing your virginity on stage as much as I enjoyed taking it."`, `"Best ride I ever paid for."`, ][random(0,2)]>> <<elseif ($NPCList[_n].vagina is "penisimminent" or $NPCList[_n].vagina is "otheranusimminent" or $NPCList[_n].penis is "otheranusimminent") and $rng gte 80>> "Virgin cock, nothing like it." <<elseif $NPCList[_n].penis is "vaginaimminent" and $rng gte 80>> <<if $player.virginity.penile isnot true or $player.virginity.vaginal isnot true>> "It feels so good, but you're not as tight as I'd have expected for a virgin. Should be expected from a whore, I guess." <<else>> "Whew, that is one amazingly tight virgin pussy." <</if>> <<else>> <<if $brothelshowdata.counts.virginity gte 2 and $rng gte 50>> <<print [ `"No more games, I'll have you this time."`, `"You'll not be able to keep this up forever."`, `"I can't wait until someone finally gets you."`, `"One day you'll slip up and you'll be mine."`, ][random(0,3)]>> <<else>> <<print [ `"Your <<genitals>> will be all mine!"`, `"I can't wait to pop your cherry."`, `"Beg for it, I know you want it."`, `"Hard to believe a slut like you is a virgin."`, `"Your <<genitals>> looks so cute. Just wait and see how cute it will look when <<= $NPCList[_n].strapon ? "I fill it up" : $NPCList[_n].penis isnot "none" and $player.vaginaExist ? "I fill it with cum" : "you fill me with cum">>."`, ][random(0,4)]>> <</if>> <</if>> <<case "brothelVirginityRapeShow">> <<if ["chastity", "chastitylost"].includes($brothelVirginityState)>> <<if playerChastity()>> <<print [ `"I paid too much to be denied by a damn <<= $worn.genitals.name>>!"`, `"Going to rip this thing off if it's the last thing I do."`, `"You think you can promise your <<genitals 2>> and just show up in a <<= $worn.genitals.name>>?"`, `"Looks like we'll have to teach this stupid virgin a lesson."`, ][random(0,3)]>> <<elseif $brothelVirginityState is "chastitylost">> <<print [ `"What the hell? This slut isn't a virgin at all!"`, `"Lying, filthy, piece of meat, you're getting what you deserve!"`, `"It's no wonder a slut like you isn't a virgin."`, `"This is what happens to lying whores!"`, `"You don't deserve this, I'm sure you enjoy a good rape."`, ][random(0,4)]>> <<else>> <<print [ `"And I'm going to keep fucking you. It's not like it matters to a whore like you."`, `"Certainly not a virgin now."`, `"How does it feel to have your virginity robbed on stage?"`, `"Nice and tight, just the way I like my virgins."`, `"I just love the sight of a deflowered virgin."`, ][random(0,4)]>> <</if>> <<else>> <<if $NPCList[_n].penis is "vagina" or $NPCList[_n].penis is "otheranus" or $NPCList[_n].vagina is "penis" or $NPCList[_n].vagina is "otheranus" or $NPCList[_n].vagina is "penisimminent" or $NPCList[_n].vagina is "otheranusimminent" or $NPCList[_n].penis is "otheranusimminent" or $NPCList[_n].penis is "vaginaimminent">> <<print [ `"I bet you're sorry now."`, `"Certainly not a virgin now."`, `"It's no wonder a slut like you isn't a virgin."`, ][random(0,2)]>> <<else>> <<print [ `"This is what happens to lying whores!"`, `"I bet you wish you're a virgin now, don't you."`, `"Lying about your virginity just to enjoy a good raping? We'd have done that for free."`, `"You don't deserve this, I'm sure you enjoy a good rape."`, ][random(0,3)]>> <</if>> <</if>> <<case "undergroundBrothelVirginityShow">> <<if playerChastity()>> <<print [ `"I paid too much to be denied by a damn <<= $worn.genitals.name>>!"`, `"I'm going to rip this thing off if it's the last thing I do."`, `"Looks like we'll have to teach this stupid virgin a lesson."`, ][random(0,2)]>> <<elseif $player.virginity.penile isnot true or $player.virginity.vaginal isnot true>> <<print [ `"One less virgin in the world and one more slut. Don't try to hide it; you know you enjoyed it."`, `"How does it feel to have your virginity robbed on stage?"`, `"Nice and tight, just the way I like my virgins."`, `"I just love the sight of a deflowered virgin."`, `"This is what happens to whores like yourself."`, ][random(0,4)]>> <<else>> <<print [ `"Why fight it? You're losing that virginity, one way or another."`, `"Let's find out how tight you really are."`, `"Cry for me. Virgin tears are adorable."`, `"Don't worry, it's not going to hurt. For me."`, `"You deserve this, and more."`, `"Your virgin <<= $NPCList[_n].penis isnot "none" and $player.vaginaExist ? "pussy" : "penis">> will be all mine!"`, `"I can't wait to pop your cherry."`, `"Beg for it, I know you want it."`, `"Hard to believe a slut like you is a virgin."`, `"Your virgin <<= $NPCList[_n].penis isnot "none" and $player.vaginaExist ? "pussy" : "penis">> looks so cute. I can't wait to see how cute it will look when <<= $NPCList[_n].penis isnot "none" and $player.vaginaExist ? "I fill it with cum" : "you fill me with cum">>."`, ][random(0,9)]>> <</if>> <<default>> <<basespeech>> <</switch>> <<elseif $speechcrossdressangry is 1>> <<He>> glares at your newly-exposed <<genitals>>. <<print [ `"You thought you could trick me? Time to show you your place."`, `"I bet you're real happy you tricked me. You won't be smiling when I'm through with you."`, `"Fucking <<bitch>>, I'm gonna fuck you like you're a ${($player.sex is 'm' ? "girl" : "boy")} anyway."`, `"You think that's funny? I'm gonna fuck you senseless anyway."`, `"You'll pay for this, slut."`, ][random(0,4)]>> <<elseif $speechcrossdressaroused is 1>> <<He>> gazes with hunger at your newly exposed <<genitals>>. <<print [ `"What a treat!"`, `"You're full of surprises."`, `"Nothing gets me going like a crossdressing slut."`, `"It's like unwrapping a present."`, `"Sneaky slut, I know just what to do with you."`, ][random(0,4)]>> <<elseif $speechcrossdressshock is 1>> <<He>> stares at your <<genitals>> in shock. <<print [ `"I'm not normally into this sort of thing. You're pretty cute though."`, `"I never thought it could look so tasty."`, `"You're a sneaky one."`, `"This is fine too."`, `"You had me completely fooled."`, ][random(0,4)]>> <<elseif $speechcrossdressdisappointed is 1>> <<He>> looks at your <<genitals>> and sighs. <<print [ `"This isn't what I signed up for."`, `"I've come this far I guess."`, `"Cute, but that isn't what I wanted."`, `"I bet you think this is funny."`, `"Why do I keep falling for this?"`, ][random(0,4)]>> <<elseif $speechhermangry is 1>> <<He>> glares at your newly-exposed <<genitals>>. <<print [ `"You're a freak. Time to show you your place."`, `"I bet you're loving how fucking shocked I am. You won't be smiling when I'm through with you."`, `"Fucking <<bitch>>. I'm gonna fuck you like you're a <<girl>> anyway."`, `"You're a perversion, but I'm gonna fuck you senseless anyway."`, `"I can't believe you tricked me into thinking you were normal. You're gonna pay."`, ][random(0,4)]>> <<elseif $speechhermaroused is 1>> <<He>> gazes with hunger at your newly exposed <<genitals>>. <<print [ `"What a treat!"`, `"You're full of surprises."`, `"You're both a boy and girl rolled into one. It's like my birthday."`, `"It's like unwrapping a present."`, `"Sneaky slut, I know just what to do with you."`, ][random(0,4)]>> <<elseif $speechhermshock is 1>> <<He>> stares at your <<genitals>> in shock. <<print [ `"I've not seen anything like this. You're still pretty cute though."`, `"Whatever, you still look tasty."`, `"You're a strange one."`, `"This is fine too."`, `"I didn't expect to find this."`, ][random(0,4)]>> <<elseif $speechhermdisappointed is 1>> <<He>> looks at your <<genitals>> and sighs. <<print [ `"This isn't what I signed up for."`, `"I've come this far I guess."`, `"Cute, but I'm not sure what to do with it."`, `"Both? I hope there's nothing else wrong with you."`, `"Why do I never get anyone normal?"`, ][random(0,4)]>> <<elseif ($speechSextoyState is "aroused" or $speechsextoy is 1) and random(0,2) isnot 0 and ($rightarm is "heldSexToy" or $leftarm is "heldSexToy")>> <<if $rightarm is "heldSexToy" and $leftarm is "heldSexToy">> <<set $_sexToy to "sex toys">> <<elseif $rightarm is "heldSexToy">> <<set $_sexToy to $currentSexToyRight.name>> <<else>> <<set $_sexToy to $currentSexToyLeft.name>> <</if>> <<He>> gazes with hunger at your $_sexToy. <<print [ `"What a treat!"`, `"You're full of surprises."`, `"I've always wanted to try this toy. It's like my birthday."`, `"I can't wait to see you use it."`, `"Such a slut. I know just what to do with you."`, ][random(0,4)]>> <<elseif $speechSextoyState is "shocked" and ($rightarm is "heldSexToy" or $leftarm is "heldSexToy")>> <<if $rightarm is "heldSexToy" and $leftarm is "heldSexToy">> <<set $_sexToy to "sex toys">> <<elseif $rightarm is "heldSexToy">> <<set $_sexToy to $currentSexToyRight.name>> <<else>> <<set $_sexToy to $currentSexToyLeft.name>> <</if>> <<He>> stares at your $_sexToy in shock. <<print [ `"I've not seen anything like this. You're still pretty cute though."`, `"Whatever, you still look tasty."`, `"You're a strange one."`, `"This is fine too."`, `"I didn't expect to see this."`, ][random(0,4)]>> <<elseif $speechSextoyState is "disappointed" and ($rightarm is "heldSexToy" or $leftarm is "heldSexToy")>> <<if $rightarm is "heldSexToy" and $leftarm is "heldSexToy">> <<set $_sexToy to "sex toys">> <<elseif $rightarm is "heldSexToy">> <<set $_sexToy to $currentSexToyRight.name>> <<else>> <<set $_sexToy to $currentSexToyLeft.name>> <</if>> <<He>> looks at your $_sexToy and sighs. <<print [ `"This isn't what I signed up for."`, `"I've come this far I guess."`, `"Cute, but I'm not sure what to do with it."`, `"I just wanted us to be together."`, `"Why do I never get anyone normal?"`, ][random(0,4)]>> <<elseif $speechSextoyState is "angry" and ($rightarm is "heldSexToy" or $leftarm is "heldSexToy")>> <<if $rightarm is "heldSexToy" and $leftarm is "heldSexToy">> <<set $_sexToy to "sex toys">> <<elseif $rightarm is "heldSexToy">> <<set $_sexToy to $currentSexToyRight.name>> <<else>> <<set $_sexToy to $currentSexToyLeft.name>> <</if>> <<He>> glares at your $_sexToy. <<print [ `"This isn't what I signed up for."`, `"You fucking pervert."`, `"Fucking bitch. I'm going to fuck you senseless."`, `"I bet you're loving how fucking shocked I am. You won't be smiling when I'm through with you."`, `"Put that shit away you fucking slut."`, ][random(0,4)]>> <<elseif $speechgenitals is 1>> <<if $player.gender_appearance is $player.gender>> /* ToDo: Strapon - check if any one this needs its own strapon text */ <<if $worn.genitals.type.includesAll("chastity", "hidden")>> <<if $enemyanger lte 0>> <<He>> ?admires your newly-exposed $worn.genitals.name. "I wonder what treasures are behind that lock?" <<elseif $enemyanger lte 20>> <<He>> <<laughs>> at your newly-exposed $worn.genitals.name. "So are you hiding a pussy or a tiny penis?" <<if $player.penisExist>> <<if $player.penissize is 1>> <<insecurity "penis_small" 1>><<ginsecurity "penis_small">> <<elseif $player.penissize lt 1>> <<insecurity "penis_small" 2>><<ginsecurity "penis_small">> <</if>> <</if>> <<elseif $enemyanger lte 100>> <<He>> <<laughs>> at your newly-exposed $worn.genitals.name. "Don't be shy, I'll help you get it off." <<else>> <<He>> <<laughs>> at your newly-exposed $worn.genitals.name. "You must be a slut that was forced to wear that." <</if>> <<elseif $player.penisExist>> <<switch Math.clamp($player.penissize, -2, 4)>> <<case 4>> <<if $enemyanger lte 20>> <<He>> ?admires your newly-exposed <<genitals>>. "Your huge cock looks delicious!" <<elseif $enemyanger lte 100>> <<He>> ?admires your newly-exposed <<genitals>>. "I've never seen one so big." <<else>> <<He>> ?admires your newly-exposed <<genitals>>. "Don't think I'm intimidated by your freakishly big cock." <</if>> <<insecurity "penis_big" 1>><<ginsecurity "penis_big">> <<case 3>> <<if $enemyanger lte 20>> <<He>> ?admires your newly-exposed <<genitals>>. "Your cock looks delicious!" <<elseif $enemyanger lte 100>> <<He>> ?admires your newly-exposed <<genitals>>. "Nice. Very nice." <<else>> <<He>> ?admires your newly-exposed <<genitals>>. "There. Exposed like the slut you are." <</if>> <<insecurity "penis_big" 1>><<ginsecurity "penis_big">> <<case 2>> <<if $enemyanger lte 20>> <<He>> ?admires your newly-exposed <<genitals>>. "Your cock looks delicious!" <<elseif $enemyanger lte 100>> <<He>> ?admires your newly-exposed <<genitals>>. "Nice." <<else>> <<He>> ?admires your newly-exposed <<genitals>>. "There. Exposed like the slut you are." <</if>> <<case 1>> <<if $enemyanger lte 20>> <<He>> ?admires your newly-exposed <<genitals>>. "So small and cute!" <<elseif $enemyanger lte 100>> <<He>> <<laughs>> at your newly-exposed <<genitals>>. "It's so small!" <<else>> <<He>> <<laughs>> at newly-exposed <<genitals>>. "Your small cock is pathetic." <</if>> <<insecurity "penis_small" 1>><<ginsecurity "penis_small">> <<case 0 -1>> <<if $enemyanger lte 20>> <<He>> <<laughs>> at your newly-exposed <<genitals>>. "Your tiny cock is so cute!" <<elseif $enemyanger lte 100>> <<He>> <<laughs>> at your newly-exposed <<genitals>>. "I've never seen such a tiny cock." <<else>> <<He>> <<laughs>> at your newly-exposed <<genitals>>. "This is just pathetic." <</if>> <<insecurity "penis_small" 2>><<ginsecurity "penis_small">> <<case -2>> <<if $enemyanger lte 20>> <<He>> <<laughs>> at your newly-exposed <<genitals>>. "Your micro cock is so cute!" <<elseif $enemyanger lte 100>> <<He>> <<laughs>> at your newly-exposed <<genitals>>. "I've never seen such a miniature cock!" <<else>> <<He>> <<laughs>> at your newly-exposed <<genitals>>. "Ugly clit you have there." <</if>> <<insecurity "penis_small" 2>><<ginsecurity "penis_small">> <</switch>> <<else>> <<if $enemyanger lte 0>> <<He>> ?admires your newly-exposed <<genitals>>. "Your pussy is so cute!" <<elseif $enemyanger lte 20>> <<He>> ?admires your newly-exposed <<genitals>>. "Your pussy is so enticing!" <<elseif $enemyanger lte 100>> <<He>> ?admires your newly-exposed <<genitals>>. "Don't be shy, a pussy like this was made to be exposed." <<else>> <<He>> ?admires your newly-exposed <<genitals>>. "There, now you're exposed like the slut you are." <</if>> <</if>> <</if>> <<elseif $speechpregnant is 1 and $pregnancyspeechdisable is "f">> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $NPCList[_n].penis isnot "none">> <<He>> speaks. "I'll be sure to find you later and knock you up myself!" <<else>> <<He>> speaks. "I can't imagine how much better this would be without that bump in the way." <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks and pats your belly. "I'll be extra careful." <<else>> <<He>> speaks. "Look at that baby bump!" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "You're lucky you look so vulnerable with that belly." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "I guess I should have expected moodiness from a pregnant cocksleeve." <<else>> <<He>> speaks. "You'd better hope the father doesn't find out about this." <</if>> <<insecurity "pregnancy" 2>><<ginsecurity "pregnancy">> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> laughs. "I feel bad for whoever was unlucky enough to get you pregnant." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Should have known better than to expect a pregnant <<bitch>> to behave." <<else>> <<He>> speaks. "If you want to live to see your kid be born, you'll knock it the fuck off and behave." <</if>> <<insecurity "pregnancy" 2>><<ginsecurity "pregnancy">> <</if>> <<elseif $speechleglock is 1>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $NPCList[_n].pregnancyAvoidance gte 80>> <<He>> speaks. "Let me go! Hurry!" <<else>> <<He>> speaks. "Yeah, keep moving just like that!" <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $NPCList[_n].pregnancyAvoidance gte 60>> <<He>> speaks. "Alright, ease up with the legs, <<girl>>!" <<else>> <<He>> speaks. "See how much better it feels this way?" <</if>> <<else>> <<if $NPCList[_n].pregnancyAvoidance gte 80>> <<He>> speaks. "You're making me a little nervous with that legwork." <<else>> <<He>> speaks. "You're into it, I knew it!" <</if>> <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $NPCList[_n].pregnancyAvoidance gte 80>> <<He>> speaks. "Let me go! I'm..." <<else>> <<He>> speaks. "<<if $position is "missionary">>Hold on tighter<<else>>Push back harder<</if>>!" <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $NPCList[_n].pregnancyAvoidance gte 80>> <<He>> speaks. "Get your legs off me!" <<else>> <<He>> speaks. "See how much better it feels when you cooperate?" <</if>> <<else>> <<He>> speaks. "I knew you'd be eager, <<bitch>>." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $NPCList[_n].pregnancyAvoidance gte 60>> <<He>> speaks. "Let me go! You crazy fucking... Ah!" <<else>> <<He>> speaks. "You want it that bad, huh? Fine!" <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $NPCList[_n].pregnancyAvoidance gte 60>> <<He>> speaks. "The fuck do you think you're doing? Let go!" <<else>> <<He>> speaks. "Much better. Time to break you in." <</if>> <<else>> <<if $NPCList[_n].pregnancyAvoidance gte 60>> <<He>> speaks. "Get your legs off me!" <<else>> <<He>> speaks. "Eager now, huh?" <</if>> <</if>> <</if>> <<elseif $speechbreasts is 1>> <<if $player.gender_appearance is "m">> <<if $player.breastsize lte 0>> <<He>> ?admires your newly-exposed <<breasts>>. <<elseif $player.breastsize lte 1>> <<He>> ?admires your newly-exposed <<breasts>>. <<elseif $player.breastsize lte 2>> <<He>> ?admires your newly-exposed <<breasts>>. "That's a nice pair of bitch-tits you've got there." <<elseif $player.breastsize lte 4>> <<He>> ?admires your newly-exposed <<breasts>>. "You have breasts like a woman!" <<else>> <<He>> ?admires your newly-exposed <<breasts>>. "Those things are gigantic! Maybe you'll share some boy-milk." <</if>> <<else>> <<if $player.breastsize lte 0>> <<He>> ?admires your newly-exposed <<breasts>>. "Don't be ashamed about being flat, it's really cute." <<elseif $player.breastsize lte 1>> <<He>> ?admires your newly-exposed <<breasts>>. "Nothing quite like developing breasts. So lewd and cute." <<elseif $player.breastsize lte 2>> <<He>> ?admires your newly-exposed <<breasts>>. "Your small breasts are so lewd." <<elseif $player.breastsize lte 4>> <<He>> ?admires your newly-exposed <<breasts>>. "Don't be ashamed about having your breasts displayed like this, it's what they're for." <<else>> <<He>> ?admires your newly-exposed <<breasts>>. "They're so big! You'd make a fine cow." <</if>> <</if>> <<elseif $speechscream is 1>> <<set $speechscream to 0>> <<He>> speaks. <<print [ `"Shut your fucking mouth."`, `"Are you trying to make me hurt you? Be quiet!"`, `"Things are going to be difficult for you if you keep resisting."`, `"Stupid slut, no one's going to help you."`, `"Crying for help? No one gives a shit."`, ][random(0,4)]>> <<elseif $speechsteal is 1>> <<set $speechsteal to 0>> <<He>> speaks. <<if $enemyanger lte 100>> <<switch $npcspeechcycle>> <<case 0>> "Keep your fingers where I can see them." <<case 1>> "No one likes a thief." <<case 2>> "Hands off my stuff." <<case 3>> "You're a sneaky <<girl>>, aren't you?" <<case 4>> "Don't think you can steal from me." <<case 5>> "It's rude to touch other people's belongings." <<default>>"That isn't yours." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Fingers where I can see them, or you're gonna get hurt." <<case 1>> "It'll be the pillory for you, thief." <<case 2>> "You'll regret trying to steal from me, <<bitch>>." <<case 3>> "I'm gonna teach you a lesson." <<case 4>> "When I'm done with you, you'll never steal again." <<case 5>> "I'll show you what I do to thieves." <<default>>"You think you can steal from me?" <</switch>> <</if>> <<elseif $speechwheeze is 1>> <<set $speechwheeze to 0>> <<if $enemyanger lte 20>> <<if $rng lte 7>> <<He>> speaks. "Just a little longer, baby." <<else>> <<He>> lets go of your throat. "Sorry, <<girl>>, what was that?" <<set _npc = $NPCList.find(x => x.lefthand == "throat" || x.righthand == "throat")>> <<run if (_npc != undefined) { if (_npc.lefthand == "throat") _npc.lefthand = 0; if (_npc.righthand == "throat") _npc.righthand = 0; $neckuse = 0; }>> <</if>> <<elseif $enemyanger lte 100>> <<print [ `<<He>> speaks. "Tough it up, <<girl>>, you'll enjoy it."`, `<<He>> speaks. "That's your punishment for being a bad <<girl>>."`, `<<He>> speaks. "Don't complain now, be a good <<girl>>."`, `<<He>> speaks. "You like it, don't you, <<girl>>?"`, `<<He>> speaks. "Too late now, you'll speak when I let you."`, ][random(0,4)]>> <<else>> <<print [ `<<He>> grins. "That's right, <<bitch>>."`, `<<He>> grins. "What was that? Can't hear you."`, `<<He>> speaks. "Shut up, you stupid whore."`, `<<He>> grins. "Hard to speak, isn't it?"`, `<<He>> speaks. "I love this wheezing sound they make!"`, ][random(0,4)]>> <</if>> <<elseif $speechpenisbig is 1>> /* ToDo: Strapon - check if this is reachable and replace with strapon varient */ <<set $speechpenisbig to 0>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<switch $npcspeechcycle>> <<case 0>> "How are you so fucking big?" <<case 1>> "You're too big to fit. That's so cruel." <<case 2>> "I hope I get you inside before I cum." <<case 3>> "Just go in already!" <<case 4>> "Fuck, you're gonna make me cum without even penetrating me." <<case 5>> "I don't care if you split me in two." <<default>>"I need it in me now." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Help me get it in. I can take it." <<case 1>> "It's not my fault your cock is so big." <<case 2>> "I'm not used to taking such girths." <<case 3>> "You should be proud of such a large cock." <<case 4>> "I'm afraid it'll hurt." <<case 5>> "It's too big, but I need it." <<default>>"I-I can take it. I just need time." <</switch>> <</if>> <<ginsecurity "penis_big">><<insecurity "penis_big" 1>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<if _loveInterest is "Black Wolf">> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "You're talented! Did you learn this from fucking animals all day?" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "I'm sure your wolf friend won't mind." <<else>> <<He>> laughs. "Is it appropriate to call that 'Puppy Love'?" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "I bet you get treated like a bitch by animals, too!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "I'll be sure to leave leftovers for your... dog." <<else>> <<He>> speaks. "So you're a dog fucker? No surprise there." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> laughs. "Not even your wolf will fuck you when I'm done!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Keep this up and I'll feed you to more than just the wolves." <<else>> <<He>> speaks. "Good to know that you're accustomed to being prey, whore!" <</if>> <</if>> <<elseif _loveInterest is "Great Hawk">> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "You're talented! Did you learn this from fucking animals all day?" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "I'm sure your bird friend won't mind." <<else>> <<He>> laughs. "I have no idea what you're talking about. Are you drugged?" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "I bet you get treated like a bitch by animals, too!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "I'll be sure to leave leftovers for your... bird." <<else>> <<He>> speaks. "So you're a bird fucker? How does that even work?" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> laughs. "Not even your bird will fuck you when I'm done!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Keep this up and I'll spread you out like bird seed." <<else>> <<He>> speaks. "Good to know that you're accustomed to being prey, whore!" <</if>> <</if>> <<elseif $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "Just close your eyes and think about them, just a little longer." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Don't worry, you'll see them again." <<else>> <<He>> speaks. "Already taken? Adorable. I'll make you forget all about them." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "Enough. You're mine." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Quit being a brat and maybe I'll let you see them again." <<else>> <<He>> speaks. "I don't care about who you're seeing. Shut it." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> laughs. "You're mine, slut. They'll probably leave you when they find out about this!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Keep it up and you won't see them again, bitch." <<else>> <<He>> speaks. "You're lucky they won't find you in a ditch somewhere." <</if>> <</if>> <<elseif $speechmasturbate is 1 and random(1,2) is 1 and not $gloryhole>> <<if $enemyanger lt 20>> <<He>> <<print ["speaks","speaks","coos","whispers"][random(0,3)]>>. <<print [ `"Am I not good enough for you?"`, `"Playing with yourself makes me feel so hot."`, `"You just can't wait, can you?"`, `"I see you're getting ready for me."`, ][random(0,3)]>> <<elseif $enemyanger lt 60>> <<He>> <<print ["speaks","jeers","coos","whispers"][random(0,3)]>>. <<print [ `"Do I disgust you so much you have to get yourself off?"`, `"Good <<girl>>, get all warmed up so we can play nice."`, `"I see you like it a little rough."`, `"Focus on me, bitch."`, `"I knew you'd be into this, slut."`, ][random(0,4)]>> <<else>> <<He>> <<print ["speaks","speaks","snarls","jeers"][random(0,3)]>>. <<print [ `"You know your place like a good whore."`, `"Isn't it much more fun when you behave?"`, `"I'm going to hurt you and you're going to like it."`, `"That's it, play with yourself. Pretend this isn't happening."`, `"Good little fuck slave."`, ][random(0,4)]>> <</if>> <<elseif $speechhandjobpenis is 1 and random(1, 2) is 2>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "Don't you dare stop now!" <<case 1>> "You better not waste a single drop." <<case 2>> "I'll make you lick your fingers clean when you're done." <<case 3>> "Keep going. Or I'll hurt you." <<case 4>> "Aim it at your mouth, or I'll force it down your throat!" <<case 5>> "Keep going, whore." <<default>> "Keep jerking it like the slut that you are." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Don't stop jerking it. I'm so close!" <<case 1>> "Keep going." <<case 2>> "Milk my cock till it's dry." <<case 3>> "You're good at this." <<case 4>> "Faster! I'm almost there." <<case 5>> "Sliding my cock between your fingers feels so good." <<default>> "This feels amazing!" <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "You better put in some work if you want to satisfy me." <<case 1>> "Your arms will tire before you can get me off like this." <<case 2>> "Keep your filthy hands off my cock." <<case 3>> "Put some work into it, or I'll make you." <<case 4>> "Just couldn't keep your hands off it, could you?" <<case 5>> "I might let you get away with this if you do a good job." <<default>> "Looks like you already know how to handle a cock, you little whore." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your hands feel so good around my cock." <<case 1>> "You look so cute, playing with my cock." <<case 2>> "You're so good with your hands." <<case 3>> "I love watching your fingers slide up and down my cock." <<case 4>> "This will do just fine." <<case 5>> "Show me how well you can handle a dick." <<default>> "Your hands are so soft." <</switch>> <</if>> <</if>> <<elseif $speechhandjobvagina is 1 and random(1, 2) is 2>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "Don't you dare stop now!" <<case 1>> "You better not waste a single drop." <<case 2>> "I'll make you lick your fingers clean when you're done." <<case 3>> "Keep going. Or I'll hurt you." <<case 4>> "You better keep this up." <<case 5>> "Keep going, whore." <<default>> "I'm so damn close." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your fingers are slippery with my juices." <<case 1>> "That's the spot. Don't stop!" <<case 2>> "I'm going to drench your hand in my juices." <<case 3>> "Faster! I'm so close!" <<case 4>> "This feels amazing. You're so good at this." <<case 5>> "Faster!" <<default>> "You're making my pussy feel so good." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "You better treat my pussy right." <<case 1>> "My pussy needs better than this." <<case 2>> "Take your filthy hands off my pussy." <<case 3>> "You better know what you're doing." <<case 4>> "I want more of you than just your hands." <<case 5>> "You better not bore me." <<default>> "Do a good job, or I'll have to punish you." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your hands are so warm." <<case 1>> "You really know how to handle a pussy." <<case 2>> "Don't be afraid of using more fingers." <<case 3>> "Don't stop rubbing my clit." <<case 4>> "You're so skilled with your hands." <<case 5>> "You have such lovely hands." <<default>> "So much better than doing it myself." <</switch>> <</if>> <</if>> <<elseif $speechdildovagina is 1 and random(1, 2) is 2>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> <<print ["speaks","speaks","snarls","jeers"][random(0,3)]>>. <<switch $npcspeechcycle>> <<case 0>> "Don't you dare stop now!" <<case 1>> "You better not waste a single drop." <<case 2>> "I'll make you lick your toy clean when you're done." <<case 3>> "Keep going. Or I'll hurt you." <<case 4>> "You better keep this up." <<case 5>> "Keep going, whore." <<default>> "I'm so damn close." <</switch>> <<else>> <<He>> <<print ["speaks","speaks","whispers","moans"][random(0,3)]>>. <<switch $npcspeechcycle>> <<case 0>> "Your toy's slippery with my juices." <<case 1>> "That's the spot. Don't stop!" <<case 2>> "I'm going to drench your toy and hand in my juices." <<case 3>> "Faster! I'm so close!" <<case 4>> "This feels amazing. You're so good at this." <<case 5>> "Faster!" <<default>> "You're making my pussy feel so good." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> <<print ["speaks","speaks","snarls","jeers"][random(0,3)]>>. <<switch $npcspeechcycle>> <<case 0>> "You better treat my pussy right." <<case 1>> "My pussy needs better than this." <<case 2>> "Take your filthy toy off my pussy." <<case 3>> "You better know what you're doing." <<case 4>> "I want more of you than just your toy." <<case 5>> "You better not bore me." <<default>> "Do a good job, or I'll have to punish you." <</switch>> <<else>> <<He>> <<print ["speaks","speaks","whispers","moans"][random(0,3)]>>. <<switch $npcspeechcycle>> <<case 0>> "Your toy feels so good." <<case 1>> "You really know how to handle a pussy." <<case 2>> "Don't be afraid of hurting me." <<case 3>> "Don't slow down." <<case 4>> "You're so skilled with your hands." <<case 5>> "You have such lovely hands." <<default>> "So much better than doing it myself." <</switch>> <</if>> <</if>> <<elseif $speechdildoanus is 1 and random(1, 2) is 2>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "Don't you dare stop now!" <<case 1>> "You better know how to work this toy." <<case 2>> "I'll make you lick your toy clean when you're done." <<case 3>> "Keep going. Or I'll hurt you." <<case 4>> "You better keep this up." <<case 5>> "Keep going, whore." <<default>> "I'm so damn close." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your toy feels so good." <<case 1>> "That's the spot. Don't stop!" <<case 2>> "That's the spot. Don't stop!" <<case 3>> "Faster! I'm so close!" <<case 4>> "This feels amazing. You're so good at this." <<case 5>> "Faster!" <<default>> "You're making my ass feel so good." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "You better treat my ass right." <<case 1>> "My ass needs better than this." <<case 2>> "Take your filthy toy off my ass." <<case 3>> "You better know what you're doing." <<case 4>> "I want more of you than just your toy." <<case 5>> "You better not bore me." <<default>> "Do a good job, or I'll have to punish you." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your toy feels so good." <<case 1>> "You really know how to handle an ass." <<case 2>> "Don't be afraid of hurting me." <<case 3>> "Don't stop, it feels so good." <<case 4>> "You're so skilled with your hands." <<case 5>> "You have such lovely hands." <<default>> "So much better than doing it myself." <</switch>> <</if>> <</if>> <<elseif $speechstroker is 1 and random(1, 2) is 2>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> /* High arousal */ <<if (($enemyanger / $enemyangermax) * 100) gte 10>> /* high anger */ <<switch $npcspeechcycle>> <<case 0>> "Don't you dare stop now!" <<case 1>> "You better know how to work this toy." <<case 2>> speaks. "I'll make you lick your toy clean when you're done." <<case 3>> "Keep going. Or I'll hurt you." <<case 4>> <<print ["You better keep this up.","Aim it at your mouth, or I'll force it down your throat!"][random(0,1)]>> <<case 5>> "Keep going, whore." <<default>> "Keep jerking it like the slut that you are." <</switch>> <<else>> /* low anger */ <<switch $npcspeechcycle>> <<case 0>> "Your toy feels so good." <<case 1>> "That's the spot. Don't stop!" <<case 2>> "Milk my cock 'til it's dry." <<case 3>> "Faster! I'm so close!" <<case 4>> "This feels amazing. You're so good at this." <<case 5>> "Faster!" <<default>> "You're making my cock feel so good." <</switch>> <</if>> <<else>> /* low to mid arousal */ <<if (($enemyanger / $enemyangermax) * 100) gte 10>> /* high anger */ <<switch $npcspeechcycle>> <<case 0>> "You better treat my cock right." <<case 1>> <<print[`My cock needs better than this.`,`This toy is better than your worn-out ${$player.vaginaExist ? "holes" : "ass"}.`][random(0,1)]>> <<case 2>> "Take your filthy toy off my cock." <<case 3>> "You better know what you're doing." <<case 4>> "I want more of you than just your toy." <<case 5>> "You better not bore me." <<default>> "Do a good job, or I'll have to punish you." <</switch>> <<else>> /* low anger */ <<switch $npcspeechcycle>> <<case 0>> "Your toy feels so good around my cock." <<case 1>> "You really know how to handle cock." <<case 2>> "I love watching your toy slide up and down my cock." <<case 3>> "Don't stop, it feels so good." <<case 4>> "You're so skilled with your hands." <<case 5>> "You have such lovely hands." <<default>>"So much better than doing it myself." <</switch>> <</if>> <</if>> <<elseif $speechcheeks is 1 and random(1, 2) is 2>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "I'll slap your asscheeks raw if you stop." <<case 1>> "I'll grind against you until your ass goes numb." <<case 2>> "Don't think this'll hurt any less than putting it in." <<case 3>> "You won't be able to stand when I'm done with you!" <<case 4>> "I'll make you regret toying with me!" <<case 5>> "I'll spank the shit out of you when I'm done." <<default>> "You're gonna drain me before I can even stick it in." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your ass is mesmerising." <<case 1>> "You're good at this." <<case 2>> "Don't stop. Keep going!" <<case 3>> "I'm gonna shoot my load all over you." <<case 4>> "I love fucking your asscheeks." <<case 5>> "Your ass feels amazing against my cock." <<default>> "I can't wait to shoot my load on you." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "Want me to slap it, you whore?" <<case 1>> "You're even more of a slut than I thought." <<case 2>> "Trying to distract me from your <<print ($player.vaginaExist ? "holes" : "asshole")>>? It won't work." <<case 3>> "You look like such a whore." <<case 4>> "Look at this little slut shaking <<pher>> ass at me." <<case 5>> "I'll spank your ass raw if you don't satisfy me." <<default>> "Are you scared of having my cock inside you? Cute. I'll humour you for now." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I can work with that." <<case 1>> "Need a warm up?" <<case 2>> "Your buttcheeks wrap so nicely around my cock." <<case 3>> "You have such a cute ass on you." <<case 4>> "Shake that ass for me." <<case 5>> "Watching you grind against me is so hot." <<default>> "You look so lewd when you run your ass-cheeks up and down my cock." <</switch>> <</if>> <</if>> <<elseif $speechthigh is 1 and random(1, 2) is 2>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "I'm gonna fuck your thighs raw." <<case 1>> "Trust a slut like you to turn anything into a hole." <<case 2>> "I'll slam your thighs all I please." <<case 3>> "You won't be able to stand when I'm done with you!" <<case 4>> "I'm so close to drenching your legs with cum!" <<case 5>> "You stand no chance against my cock." <<default>> "Your entire body exists for me to fuck." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your soft thighs are gonna make me cum." <<case 1>> "Sliding my cock between your thighs feels amazing." <<case 2>> "Your thighs are slick with precum." <<case 3>> "Those thighs were made to be fucked." <<case 4>> "I never expected this to feel so good." <<case 5>> "I'm gonna erupt between your thighs." <<default>> "I can't wait to see my cum run down your beautiful legs." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "You won't keep me away like this forever." <<case 1>> "Your thighs will do, for now." <<case 2>> "Don't waste my time with your thighs." <<case 3>> "Trying to distract me with your thighs?" <<case 4>> "My cock deserves better than this." <<case 5>> "I need more than this." <<default>> "You won't keep me away from your <<print ($player.vaginaExist ? "holes" : "asshole")>> forever." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your thighs are so smooth." <<case 1>> "You have beautiful legs." <<case 2>> "Your thighs are so soft." <<case 3>> "I don't mind some foreplay." <<case 4>> "I'm always open for new things." <<case 5>> "This feels surprisingly good." <<default>> "I love playing with your legs." <</switch>> <</if>> <</if>> <<elseif $speechfeet is 1 and random(1, 2) is 2>> <<He>> speaks. <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "Your feet will be sore when I'm done with you." <<case 1>> "I'll defile every inch of your body." <<case 2>> "Your feet aren't worthy of my <<if $NPCList[_n].penis isnot "none">>cum<<else>>juices<</if>>." <<case 3>> "You must be a total slut, being this good with your feet." <<case 4>> "I won't leave an inch of your body unmolested." <<case 5>> "I'll make you lick those clean when I'm done." <<default>> "I'm gonna make a mess of your feet." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You're so good with your feet!" <<case 1>> "Your feet feel so nice." <<case 2>> "I want to watch you lick those clean when we're done!" <<case 3>> "I'm going to drench your feet in my <<if $NPCList[_n].penis isnot "none">>cum<<else>>juices<</if>>." <<case 4>> <<if $NPCList[_n].penis isnot "none">>"I'm going to erupt between your feet."<<else>>"Your toes feel so good against my pussy."<</if>> <<case 5>> "Your feet feel so good." <<default>> "My <<if $NPCList[_n].penis isnot "none">>cock<<else>>pussy<</if>> feels so good against your feet. Don't stop." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<switch $npcspeechcycle>> <<case 0>> "You won't keep me away with this forever." <<case 1>> "Your feet will do, for now." <<case 2>> "Don't waste my time with your feet." <<case 3>> "Trying to distract me with your feet?" <<case 4>> "You won't keep me away with your feet forever." <<case 5>> "Your feet aren't worthy of touching my <<if $NPCList[_n].penis isnot "none">>cock<<else>>pussy<</if>>." <<default>> "This won't be enough to make me cum." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Your soles are so smooth!" <<case 1>> "You really know how to handle your feet." <<case 2>> "Put those feet to work." <<case 3>> "Show me what you can do with your feet." <<case 4>> "I love being teased by your feet." <<case 5>> "I love watching your toes play with me." <<default>> "I don't mind some foreplay." <</switch>> <</if>> <</if>> <<elseif $speechheadsuckle is 1 and random(1, 2) is 2>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "You should feel lucky to have such fresh milk." <<case 1>> "Keep sucking and I might forgive you." <<case 2>> "You're a greedy <<girl>>, aren't you?" <<case 3>> "Don't be so grouchy." <<case 4>> "You better appreciate this." <<case 5>> "Greedy brat." <<default>>"You're a real glutton." <</switch>> <<else>> <<He>> coos. <<switch $npcspeechcycle>> <<case 0>> "S-suck harder. I have more to give." <<case 1>> "It's such a relief to drain them." <<case 2>> "You're so well behaved." <<case 3>> "You like that, don't you." <<case 4>> "Finish up and we'll move on to dessert." <<case 5>> "I feel all tingly." <<default>> "I hope my milk is tasty." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> tuts. <<switch $npcspeechcycle>> <<case 0>> "I hope you choke." <<case 1>> "I'm not your mother. I won't forgive you so easily." <<case 2>> "Insolent <<girl>>. I bet you don't have a care in the world." <<case 3>> "Look at you, sucking away like you own the place." <<case 4>> "Does my milk taste good, you little brat?" <<case 5>> "My milk's too good for brats like you." <<default>> "You're having the time of your life, aren't you." <</switch>> <<else>> <<He>> coos. <<switch $npcspeechcycle>> <<case 0>> "Does my milk taste good?" <<case 1>> "I knew you were hungry." <<case 2>> "I hope my milk makes you feel good." <<case 3>> "I feel like a mother." <<case 4>> "Take your time." <<case 5>> "You gonna fall asleep?" <<default>> "You're so cute." <</switch>> <</if>> <</if>> <<elseif $speechheadnipple is 1 and random(1, 2) is 2>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "St-stupid..." <<case 1>> "I bet you're experienced at sucking things." <<case 2>> "That's it, put that whore mouth to work." <<case 3>> "Keep this up and I might forgive you." <<case 4>> "Maybe I'll share your mouth with all my friends." <<case 5>> "I bet you've done all sorts of nasty things with that mouth." <<default>> "Your slutty lips feel good against my skin." <</switch>> <<else>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "You can be a bit rougher." <<case 1>> "H-harder." <<case 2>> "You tease." <<case 3>> "Your tongue... Ah!" <<case 4>> "You've done this before, haven't you." <<case 5>> "You know your way around my body." <<default>> "My chest feels so good." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> tuts. <<switch $npcspeechcycle>> <<case 0>> "You're a desperate slut, aren't you." <<case 1>> "You'd best remember who's in charge." <<case 2>> "Don't you dare bite." <<case 3>> "Don't think this means we're even." <<case 4>> "Keep sucking, whore." <<case 5>> "My chest feels good, but that doesn't mean I forgive you." <<default>> "You're such a brat." <</switch>> <<else>> <<He>> coos. <<switch $npcspeechcycle>> <<case 0>> "Don't stop." <<case 1>> "That tickles." <<case 2>> "You're making my chest feel good." <<case 3>> "That mouth of yours has some experience, I bet." <<case 4>> "You look cute like that." <<case 5>> "Your tongue feels good against my skin." <<default>> "That's it. Right there." <</switch>> <</if>> <</if>> <<elseif $speechheadnippleclosed is 1 and random(1, 2) is 2>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "You'd better start sucking, or else." <<case 1>> "I want you to suck me. Now." <<case 2>> "I bet you're good at nipple licking. Get to work." <<case 3>> "Hurry up and use your tongue." <<case 4>> "Suck. Now." <<case 5>> "Your head is there for a reason." <<default>> "Bratty <<girls>> like you are good for one thing." <</switch>> <<else>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "Don't keep me waiting." <<case 1>> "Come on, make me feel good." <<case 2>> "Put your lips right there." <<case 3>> "You're making my chest feel funny." <<case 4>> "Don't fall asleep." <<case 5>> "I can't take this for much longer." <<default>> "You tease." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> tuts. <<switch $npcspeechcycle>> <<case 0>> "Stop being so stubborn." <<case 1>> "You'd best get to it, or I'll make you." <<case 2>> "You're right where I want you." <<case 3>> "You're in trouble." <<case 4>> "When I say use your tongue, you use it." <<case 5>> "I bet you've done all sorts of dirty things." <<default>> "Stupid slut." <</switch>> <<else>> <<He>> coos. <<switch $npcspeechcycle>> <<case 0>> "I can't wait to feel your tongue." <<case 1>> "They're so ready for you." <<case 2>> "I bet your lips feel wonderful." <<case 3>> "You're cute like that." <<case 4>> "I bet you've done this many times." <<case 5>> "You're a good <<girl>>, aren't you?" <<default>> "Do you like how I feel?" <</switch>> <</if>> <</if>> <<elseif $speechheadsuckleclosed is 1 and random(1, 2) is 2>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "Drink, or I'll make you." <<case 1>> "Open wide." <<case 2>> "Suck them. I need release!" <<case 3>> "Don't be such a brat." <<case 4>> "You drink when I tell you to." <<case 5>> "I can't believe how rude you are." <<default>> "I'm gonna fill you up." <</switch>> <<else>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "Open wide." <<case 1>> "I promise you'll enjoy it." <<case 2>> "Don't hold back." <<case 3>> "I need to fill you." <<case 4>> "Please, hurry up and suck." <<case 5>> "Milk me dry." <<default>> "This is gonna feel so good." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> tuts. <<switch $npcspeechcycle>> <<case 0>> "Stupid <<girl>>, it's rude to turn down a treat." <<case 1>> "I'll squirt if you don't open up." <<case 2>> "You don't know what's good for you." <<case 3>> "How rude." <<case 4>> "Do as I say and open wide." <<case 5>> "Suck, or I'll make you." <<default>> "Such insolence." <</switch>> <<else>> <<He>> coos. <<switch $npcspeechcycle>> <<case 0>> "I know you're hungry." <<case 1>> "Come on, drink up." <<case 2>> "My milk will make you feel better. Open up." <<case 3>> "It's okay." <<case 4>> "Let me take care of you." <<case 5>> "Open wide." <<default>> "I promise you'll like the taste." <</switch>> <</if>> <</if>> <<elseif $speechheadbreasts is 1 and random(1, 2) is 2>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "You're lucky I'm not rougher." <<case 1>> "Maybe I'll keep you buried in my boobs." <<case 2>> "Better get to work, or I won't let you out." <<case 3>> "Impressed by my size?" <<case 4>> "You get to touch my magnificent breasts. You're so lucky." <<case 5>> "It feels good for me, at least." <<default>> "I bet you're enjoying this, slut." <</switch>> <<else>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "My my." <<case 1>> "Don't be shy. You can play with them." <<case 2>> "Feels good in there, right?" <<case 3>> "Can you feel my heart beat? Or are my breasts too big?" <<case 4>> "My breasts feel tingly." <<case 5>> "Are my breasts soft enough?" <<default>> "My breasts feel so good." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> tuts. <<switch $npcspeechcycle>> <<case 0>> "I bet you're enjoying this." <<case 1>> "Trouble breathing?" <<case 2>> "Don't pass out in there." <<case 3>> "I bet you wanted this. Pervert." <<case 4>> "Hold still." <<case 5>> "Stop squirming." <<default>> "My breasts are better than you deserve." <</switch>> <<else>> <<He>> coos. <<switch $npcspeechcycle>> <<case 0>> "Are you blushing? That's so cute." <<case 1>> "Does it feel nice being smothered?" <<case 2>> "People always stare at my breasts." <<case 3>> "Are my breasts that much bigger than normal?" <<case 4>> "I can tell you like my breasts." <<case 5>> "Are my breasts soft enough?" <<default>> "Do you like my breasts?" <</switch>> <</if>> <</if>> <<elseif $speechheadchest is 1 and random(1, 2) is 2>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "It's your fault my breasts feel this way." <<case 1>> "I bet you think being cute means you can get away with whatever you like." <<case 2>> "I'm gonna do so many things to you." <<case 3>> "Don't get too comfortable." <<case 4>> "Shame on you, getting me riled up like this." <<case 5>> "What are you waiting for? Put that mouth to work." <<default>> "You better give me what I want." <</switch>> <<else>> <<He>> speaks. <<switch $npcspeechcycle>> <<case 0>> "You're so lewd." <<case 1>> "I can't keep this up much longer." <<case 2>> "Are my nipples hard? You did that." <<case 3>> "How can you be so cute and lewd at the same time." <<case 4>> "Are you feeling good? I am." <<case 5>> "My nipples need your touch." <<default>> "My chest feels warm where you touch it." <</switch>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<He>> tuts. <<switch $npcspeechcycle>> <<case 0>> "You'd better start putting that mouth to work. Or else." <<case 1>> "Be a good <<girl>> and do what I say." <<case 2>> "Stay where I can see you." <<case 3>> "I know you like my chest, slut." <<case 4>> "You like that, don't you." <<case 5>> "You're pathetic." <<default>> "I bet you think you can get away with anything." <</switch>> <<else>> <<He>> coos. <<switch $npcspeechcycle>> <<case 0>> "I know just what to do with you." <<case 1>> "Can you feel my heartbeat?" <<case 2>> "Your hair is soft." <<case 3>> "You're so cute." <<case 4>> "I like having you close to me." <<case 5>> "Is my chest comfy?" <<default>> "Soft." <</switch>> <</if>> <</if>> <<elseif $speechvaginaescape is 1>> <<set $speechvaginaescape to 0>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"I can't enjoy you properly if you keep squirming around."`, `"Be still now."`, `"You're a feisty little thing!"`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Keep pretending you don't want to be fucked, I'm not fooled."`, `"Stop resisting."`, `"I love it when you squirm."`, ][random(0,2)]>> <<else>> <<print [ `"Do you think that will stop me, bitch?"`, `"The sooner you accept that you're nothing but a cock-sleeve the easier it'll be for you."`, `"Your pussy is mine slut, stop fighting it."`, ][random(0,2)]>> <</if>> <<elseif $speechpenisescape is 1>> <<set $speechpenisescape to 0>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"I can't enjoy you properly if you keep squirming around."`, `"Be still now."`, `"You're a feisty little thing!"`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Keep pretending you don't want to be fucked, I'm not fooled."`, `"Stop resisting."`, `"I love it when you squirm."`, ][random(0,2)]>> <<else>> <<print [ `"Do you think that will stop me, bitch?"`, `"The sooner you accept that you're nothing but a piece of fuckmeat the easier it'll be for you."`, `"Your dick is mine slut, stop fighting it."`, ][random(0,2)]>> <</if>> <<elseif $speechotheranusescape is 1>> <<set $speechotheranusescape to 0>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"I can't enjoy you properly if you keep squirming around."`, `"Be still now."`, `"You're a feisty little thing!"`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Keep pretending you don't want to be fucked, I'm not fooled."`, `"Stop resisting."`, `"I love it when you squirm."`, ][random(0,2)]>> <<else>> <<print [ `"Do you think that will stop me, bitch?"`, `"The sooner you accept that you're nothing but a piece of fuckmeat the easier it'll be for you."`, `"Your dick is mine slut, stop fighting it."`, ][random(0,2)]>> <</if>> <<elseif $speechanusescape is 1>> <<set $speechanusescape to 0>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"I can't enjoy you properly if you keep squirming around."`, `"Be still now."`, `"You're a feisty little thing!"`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Keep pretending you don't want to be fucked, I'm not fooled."`, `"Stop resisting."`, `"I love it when you squirm."`, ][random(0,2)]>> <<else>> <<print [ `"Do you think that will stop me, bitch?"`, `"The sooner you accept that you're nothing but a cock-sleeve the easier it'll be for you."`, `"Your ass is mine slut, stop fighting it."`, ][random(0,2)]>> <</if>> <<elseif $speechpenispenetrated is 1>> <<if $dissociation lt 2>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Yes! Yes! Give it to me! AH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "I've been needing this so badly." <<else>> <<if playerHasStrapon()>> <<He>> <<print ["speaks.","speaks.","coos.","whispers."][random(0,3)]>> "Your <<print $worn.under_lower.name>> feels so good inside me." <<else>> <<He>> speaks. "You feel so good inside me." <</if>> <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "UHH! That's it...Not long now... AH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "That's it right there, good <<girl>>." <<else>> <<He>> speaks "I've been waiting too long for this, don't even think about stopping!" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "You... Stupid... AHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if playerHasStrapon()>> <<He>> <<print ["jeers","mocks you","teases"][random(0,2)]>>. "Do you know how to use this toy?" <<else>> <<He>> mocks you. "What's it like having your dick dominated like this?" <</if>> <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <<else>> <!-- Code deprecated as part of sissification and forced orgasm-like-a-girl content testing --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Oh! You... I... AHHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "You're so cute when you're being fucked." <<else>> <<He>> speaks. "Just relax, I'll look after your dick." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Keep... going... not long now." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Nothing like a nice cock." <<else>> <<He>> speaks. "You like being inside me, don't you?" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "You... Stupid... AHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "You make a good fucktoy." <<else>> <<He>> speaks. "You're mine now, <<girl>>." <</if>> <</if>> <</if>> <<elseif $speechotheranuspenetrated is 1>> <<if $dissociation lt 2>> <<if playerHasStrapon()>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "<<print ["Yes! Yes! Give it to me! Fuck my ass!","Yes, yes! Make me your strap-on bitch!","Oh-oh-yes! I'm nearly there, don't stop!"][random(0,2)]>>" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "<<print ["I've been needing this so badly.","Give it to me harder!","Right there, just like that."][random(0,2)]>>" <<else>> <<He>> speaks. "Your toy feels so good inside me." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "UHH! That's it... Not long now... AH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "That's it, right there, good <<girl>>." <<else>> <<He>> <<print ["speaks. \"I've been waiting too long for this, don't even think about stopping!\"","teases. \"Do you know how to use this toy?\""][random(0,1)]>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "You... Stupid... AHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> <<print ["mocks you","mocks you","jeers","snarls"][random(0,3)]>>. "Even with your toy up my ass, you're still the bottom bitch." <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <<else>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Yes! Yes! Give it to me! Fill me up!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "I've been needing this so badly." <<else>> <<He>> speaks. "You feel so good inside me." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "UHH! That's it... Not long now... AH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "That's it, right there, good <<girl>>." <<else>> <<He>> speaks "I've been waiting too long for this, don't even think about stopping!" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "You... Stupid... AHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> mocks you. "What's it like having your dick dominated like this?" <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <</if>> <<else>> <!-- Code deprecated as part of sissification and forced orgasm-like-a-girl content testing --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Oh! You... I... AHHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "You're so cute when you're being fucked." <<else>> <<He>> speaks. "Just relax, I'll look after your dick." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Keep... going... not long now." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Nothing like a nice cock." <<else>> <<He>> speaks. "You like being inside me, don't you?" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "You... Stupid... AHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "You make a good fucktoy." <<else>> <<He>> speaks. "You're mine now, <<girl>>." <</if>> <</if>> <</if>> <<elseif $speechvaginapenetrated is 1>> <<if $dissociation lt 2>> <<if $vaginatarget isnot undefined and npcHasStrapon($vaginatarget)>> <!-- NPC strap-on --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "<<print ["Yes baby, just like that!","Oh yes! Just like that, my little fucktoy!","Take it like the whore you are!","I can feel your legs shaking!"][random(0,3)]>>" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "It feels so good hammering against my clit." <<else>> <<He>> speaks. "Your pussy is perfect." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "That's it! Take it, whore!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "Good <<girl>>." <<else>> <<He>> speaks "Your body is welcoming me at least." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Take it! Take it all you worthless slut!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> mocks you. "What's it like having your pussy dominated like this?" <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <<else>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I'm gonna fill you up soon, I hope you're ready!" <<elseif playerBellyVisible() and $pregnancyspeechdisable is "f">> "For a <<bred>> bitch, you're still pretty tight." <<insecurity "pregnancy" 2>><<ginsecurity "pregnancy">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You feel so nice around my dick." <<else>> <<He>> speaks. "Your pussy is so warm." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "That's it! Take it, whore!" <<elseif playerBellyVisible() and $pregnancyspeechdisable is "f">> "The more you struggle, the rougher I get, and that can't be good for the little brat, now can it?" <<insecurity "pregnancy" 2>><<ginsecurity "pregnancy">> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "Good <<girl>>." <<else>> <<He>> speaks "Your body is welcoming me at least." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Take it! Take it all you worthless slut!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> mocks you. "What's it like having your pussy dominated like this?" <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <</if>> <<else>> <!-- Code deprecated as part of sissification and forced orgasm-like-a-girl content testing --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Your pussy is so good!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "You're so cute when you're being fucked." <<else>> <<He>> speaks. "Just relax, I'll look after you." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Keep... going... not long now." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Nothing like the cunt of a <<girl>> who tried fighting back." <<else>> <<He>> speaks. "You like being filled like this, don't you?" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Don't act like you didn't want this, I can feel you squeezing my dick, begging for my cum." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "This is your place, remember that." <<else>> <<He>> speaks. "You're mine now, <<girl>>." <</if>> <</if>> <</if>> <<elseif $speechanuspenetrated is 1>> <<if $dissociation lt 2>> <<if $anustarget isnot undefined and npcHasStrapon($anustarget)>> <!-- NPC strap-on --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "<<print ["Yes baby, just like that!","Oh yes! Just like that, my little fucktoy!","Your moans are so good! I'm cumming!","Moan for me, bitch!"][random(0,3)]>>" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "It feels so good hammering against my clit." <<else>> <<He>> speaks. "<<print ["Your butt is so welcoming","You're so tight, just relax"][random(0,1)]>>." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "That's it! Take it, whore!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "Good <<girl>>." <<else>> <<He>> speaks "Your body is welcoming me at least." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Take it! Take it all you worthless slut!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> mocks you. "What's it like having your ass dominated like this?" <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <<else>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I'm gonna fill you up soon, I hope you're ready!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You feel so nice around my dick." <<else>> <<He>> speaks. "Your butt is so warm." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "That's it! Take it, whore!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "Good <<girl>>." <<else>> <<He>> speaks "Your body is welcoming me at least." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Take it! Take it all you worthless slut!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> mocks you. "What's it like having your ass dominated like this?" <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <</if>> <<else>> <!-- Code deprecated as part of sissification and forced orgasm-like-a-girl content testing --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Your butt is so tight!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "You're so cute when you're being fucked." <<else>> <<He>> speaks. "Just relax, I'll look after you." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Keep... going... not long now." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Nothing like an anal fucktoy." <<else>> <<He>> speaks. "You like being filled like this, don't you?" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Don't act like you didn't want this, I can feel you squeezing my dick, begging for my cum." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "This is your place, remember that." <<else>> <<He>> speaks. "You're mine now, <<girl>>." <</if>> <</if>> <</if>> <<elseif $speechmouthpenetrated is 1>> <<if $dissociation lt 2>> <<if $mouthtarget isnot undefined and npcHasStrapon($mouthtarget)>> <!-- NPC strap-on --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "<<print ["Yes baby, just like that!","Oh yes! Just like that, my little fucktoy!","Open your mouth for me, bitch.","Your drooling is so hot."][random(0,3)]>>" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "It feels so good hammering my clit." <<else>> <<He>> speaks. "<<print ["Do you like mouth-fucking my toy?","How does my toy taste?","This is so hot baby.","I want to see you deep throat my toy."][random(0,3)]>>" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "That's it! Take it, whore!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "Good <<girl>>." <<else>> <<He>> speaks "Your throat is welcoming me at least." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Take it! Take it all you worthless slut!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> mocks you. "What's it like being dominated like this?" <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <<else>> <!-- Not indented until feedback. Regular blowsex code --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I'm gonna fill you up soon, I hope you're ready!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You feel so nice around my dick." <<else>> <<He>> speaks. "Your mouth is so warm." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "That's it! Take it, whore!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "Good <<girl>>." <<else>> <<He>> speaks "Your throat is welcoming me at least." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Take it! Take it all you worthless slut!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> mocks you. "What's it like being dominated like this?" <<else>> <<He>> mocks you. "You're right where you belong." <</if>> <</if>> <</if>> <<else>> <!-- Code deprecated as part of sissification and forced orgasm-like-a-girl content testing --> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Keep going, I'm almost there!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "You're so cute with your lips around my dick." <<else>> <<He>> speaks. "Just relax, I'll look after you." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Keep... going... not long now." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Nothing like a mouthy fucktoy." <<else>> <<He>> speaks. "You like being filled like this, don't you?" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Don't act like you didn't want this, your mouth was made for it." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks hushedly. "This is your place, remember that." <<else>> <<He>> speaks. "You're mine now, <<girl>>." <</if>> <</if>> <</if>> <<elseif $speechvaginaimminent is 1>> <<He>> speaks. <<if npcHasStrapon($vaginatarget)>> <<if $player.virginity.vaginal is true>> <<if $enemyanger lte 60>> <<print [ `"My toy is pressing against your virgin pussy... I could deflower you at any moment."`, `"Let's find out if your virgin pussy can handle my strap-on."`, ][random(0,1)]>> <<else>> <<print [ `"I'm an inch away from taking your virginity, bitch."`, `"You're not gonna be a virgin for long."`, ][random(0,1)]>> <</if>> <<else>> <<if $enemyanger lte 60>> <<print [ `"I need to feel your pussy hammer this toy against my clit!"`, `"I can't wait to start pounding away at your pussy."`, ][random(0,1)]>> <<else>> <<print [ `"I hope your pussy is ready, I sure am."`, `"My fat toy will ruin your cunt, bitch."`, ][random(0,1)]>> <</if>> <</if>> <<else>> <<if $player.virginity.vaginal is true>> <<if $enemyanger lte 60>> <<print [ `"My dick is pressing against your virgin pussy... I could deflower you at any moment."`, `"Let's find out if your virgin pussy can handle my cock."`, ][random(0,1)]>> <<else>> <<print [ `"I'm an inch away from taking your virginity, bitch."`, `"You're not gonna be a virgin for long."`, ][random(0,1)]>> <</if>> <<else>> <<if playerBellyVisible() and $pregnancyspeechdisable is "f">> "Maybe if you're lucky, when that brat is born, I'll come and put one of my own in ya." <<elseif $enemyanger lte 60>> <<print [ `"Just having the tip pressing against you like this is driving me mad!"`, `"I can't wait to start pounding away at your pussy."`, ][random(0,1)]>> <<else>> <<print [ `"I hope your pussy is ready, I sure am."`, `"I'm going to destroy your cunt, bitch."`, ][random(0,1)]>> <</if>> <</if>> <</if>> <<elseif $speechpenisimminent is 1>> <<He>> speaks. <<if playerHasStrapon()>> <<if $enemyanger lte 60>> <<print [ `"Just having the tip pressing against me like this is driving me mad!"`, `"I can't wait to feel your strap-on inside me."`, ][random(0,1)]>> <<elseif $enemyanger lte 80>> <<print [ `"I need a hard cock, but this will do."`, `"Can your little toy keep up with my pussy?"`, ][random(0,1)]>> <<else>> <<print [ `"You better know how to use this toy, don't make me hurt you."`, `"I'm going to destroy your strap-on."`, ][random(0,1)]>> <</if>> <<elseif $player.virginity.penile is true>> <<if $enemyanger lte 60>> <<print [ `"My pussy is pressing against your virgin dick... I could deflower you at any moment."`, `"My pussy is going to destroy your virginity."`, ][random(0,1)]>> <<else>> <<print [ `"I'm an inch away from taking your virginity, bitch."`, `"You're not gonna be a virgin for long."`, ][random(0,1)]>> <</if>> <<else>> <<if $enemyanger lte 60>> <<print [ `"Just having the tip pressing against me like this is driving me mad!"`, `"I can't wait to feel you inside me."`, ][random(0,1)]>> <<else>> <<print [ `"I hope your dick is ready, I sure am."`, `"I'm going to destroy your penis."`, ][random(0,1)]>> <</if>> <</if>> <<elseif $speechotheranusimminent is 1>> <<He>> speaks. <<if playerHasStrapon()>> <<if $enemyanger lte 60>> <<print [ `"Just having the tip pressing against me like this is driving me mad!"`, `"I can't wait to take your strap-on up my ass."`, ][random(0,1)]>> <<elseif $enemyanger lte 80>> <<print [ `"I need a hard cock, but this will do."`, `"Can your little toy satisfy my ass?"`, ][random(0,1)]>> <<else>> <<print [ `"You better know how to use this toy, don't make me hurt you."`, `"My ass will destroy your little strap-on."`, ][random(0,1)]>> <</if>> <<elseif $player.virginity.penile is true>> <<if $enemyanger lte 60>> "My ass is pressing against your virgin dick... I could deflower you at any moment." <<else>> "I'm an inch away from taking your virginity, bitch." <</if>> <<else>> <<if $enemyanger lte 60>> "Just having the tip pressing against me like this is driving me mad!" <<else>> "I hope your dick is ready, I sure am." <</if>> <</if>> <<elseif $speechanusimminent is 1>> <<He>> speaks. <<if $anustarget isnot undefined and npcHasStrapon($anustarget)>> <<if $player.virginity.anal is true>> <<if $enemyanger lte 60>> "My toy is pressing against your virgin ass... It's gonna be a tight fit!" <<else>> "I'm an inch away from taking your anal virginity, bitch." <</if>> <<else>> <<if $enemyanger lte 60>> "I can't wait to start pounding your ass!" <<else>> "I hope your ass is ready for my strap-on, <<bitch>>!" <</if>> <</if>> <<else>> <<if $player.virginity.anal is true>> <<if $enemyanger lte 60>> "My dick is pressing against your virgin ass... It's gonna be a tight fit!" <<else>> "I'm an inch away from taking your anal virginity, bitch." <</if>> <<else>> <<if playerBellyVisible() and $pregnancyspeechdisable is "f">> "Don't worry, I'll put it up your ass instead to keep the kid safe." <<elseif $enemyanger lte 60>> "Just having the tip pressing against you like this is driving me mad!" <<else>> "I hope your ass is ready, my dick sure is!" <</if>> <</if>> <</if>> <<elseif $speechmouthimminent is 1>> <<He>> speaks. <<if $player.virginity.oral is true>> <<if $enemyanger lte 60>> "You've never <<= npcHasStrapon(_n) ? "given head" : "tasted dick">> before, have you? You're in for a treat!" <<else>> "You've never <<= npcHasStrapon(_n) ? "given head" : "tasted dick">> before, have you? If you bite me, I'll fuck you up.<<if npcHasStrapon(_n)>> I don't want some brat leaving teeth marks on my strap.<</if>>" <</if>> <<else>> <<if $enemyanger lte 60>> "Just having the tip pressing against you like this is driving me mad!" <<else>> "Open wide, whore." <</if>> <</if>> <<elseif $speechapologise is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "How could I be mad at a little hottie like you?" <<elseif $enemyanger lte 100>> "I can think of a few ways you can make it up to me." <<else>> "You better not be lying to me, or you'll be real sorry." <</if>> <<elseif $speechvaginaentrance is 1>> <<He>> speaks. <<if $player.gender_appearance is "m">> <<if $enemyanger lte 20>> "Don't worry, I'll be gentle." <<elseif $enemyanger lte 100>> "I can't wait to fuck you." <<else>> "Don't try to squirm. You're mine." <</if>> <<else>> <<if $enemyanger lte 20>> "Don't worry, I'll be gentle." <<elseif $enemyanger lte 100>> "I can't wait to fuck you." <<else>> "Don't try to squirm away. You're mine." <</if>> <</if>> <<elseif $speechanusentrance is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "Don't worry, I'll be gentle with your ass." <<elseif $enemyanger lte 100>> "I can't wait to fuck you." <<else>> "Don't try to squirm away, your ass is mine." <</if>> <<elseif $speechmouthentrance is 1>> <<He>> speaks. <<if $mouthtarget isnot undefined and npcHasStrapon($mouthtarget)>> <<if $enemyanger lte 20>> "Let's see that tongue of yours." <<elseif $enemyanger lte 100>> "I can't wait to see your tongue on my strap-on." <<else>> "I want your lips around my toy. Now." <</if>> <<else>> <<if $enemyanger lte 20>> "Let's see that tongue of yours." <<elseif $enemyanger lte 100>> "I can't wait to feel your tongue on my dick." <<else>> "I want your lips around my dick. Now." <</if>> <</if>> <<elseif $speechpenisentrance is 1>> <<He>> speaks. <<if playerHasStrapon()>> <<if $enemyanger lte 20>> "The anticipation is almost too much!" <<elseif $enemyanger lte 80>> "I'd rather a penis, but this will do." <<elseif $enemyanger lte 100>> "I hope you know how to use this toy." <<else>> "I hope your toy satisfies me, for your sake." <</if>> <<elseif $player.gender_appearance is "f">> <<if $enemyanger lte 20>> "The anticipation is almost too much!" <<elseif $enemyanger lte 100>> "You're eager for my pussy, don't try to hide it." <<else>> "I hope you satisfy me, for your sake." <</if>> <<else>> <<if $enemyanger lte 20>> "My pussy almost has you, the anticipation is almost too much!" <<elseif $enemyanger lte 100>> "You're eager for my pussy, don't try to hide it." <<else>> "I hope you satisfy me, for your sake." <</if>> <</if>> <<elseif $speechotheranusentrance is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "Is my ass making you feel good?" <<elseif $enemyanger lte 100>> "Your dick is eager for my ass, don't try to hide it." <<else>> "I hope you satisfy me, for your sake." <</if>> <<elseif $speechvaginawithhold is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "I really wish I could fuck you, guess I'll have to make do." <<elseif $enemyanger lte 100>> "Are you sure you don't want my dick? Your pussy seems to." <<else>> "Fuck, I can't hold back like this for long." <</if>> <<elseif $speechanuswithhold is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "I really wish I could ass fuck you, guess I'll have to make do." <<elseif $enemyanger lte 100>> "Are you sure you don't want my dick? Your ass is so close..." <<else>> "Fuck, I can't hold back like this for long." <</if>> <<elseif $speechpeniswithhold is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "I can't take this, I need you inside me!" <<elseif $enemyanger lte 100>> "I can't take this, I need you inside me!" <<else>> "Fuck, I can't hold back like this for long." <</if>> <<elseif $speechotheranuswithhold is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "I can't take this, I need you inside me!" <<elseif $enemyanger lte 100>> "I can't take this, I need you inside me!" <<else>> "Fuck, I can't hold back like this for long." <</if>> <<elseif $speechvagina is 1>> <<He>> speaks. <<if $arousal gte ($arousalmax / 5) * 4>> <<if $enemyanger lte 20>> "Your pussy is so moist! You need it bad, don't you?" <<elseif $enemyanger lte 100>> "You're sopping wet down here!" <<else>> "Don't pretend you don't want this. Your pussy is far too wet." <</if>> <<else>> <<if $enemyanger lte 20>> "Don't worry, I'll soon have your pussy drenched." <<elseif $enemyanger lte 100>> "How do you like the feel of me moving inside you?" <<else>> "You like being treated like a cheap harlot, don't lie." <</if>> <</if>> <<elseif $speechpenis is 1>> <<He>> speaks. <<if $arousal gte ($arousalmax / 5) * 4>> <<if $enemyanger lte 20>> "Your dick is so hard! You need it bad, don't you?" <<elseif $enemyanger lte 100>> "Don't pretend you don't want this, not with a dick this hard." <<else>> "Don't pretend you don't want this, not with a dick this hard." <</if>> <<else>> <<if $enemyanger lte 20>> "Does my hand make you feel good?" <<elseif $enemyanger lte 100>> "You like that, don't you." <<else>> "Your dick is in my hand, I hope you realise who's in charge now." <</if>> <</if>> <<elseif $speechanus is 1>> <<if $NPCList[_n].lefthand is "anusdildo" or $NPCList[_n].righthand is "anusdildo">> <<set $_toyOrFinger to ($NPCList[_n].lefthand is "anusdildo" ? $NPCList[_n].lefttool : $NPCList[_n].righttool)>> <<else>> <<set $_toyOrFinger to "finger">> <</if>> <<He>> speaks. <<if $enemyanger lte 20>> "Does my $_toyOrFinger make you feel good?" <<elseif $enemyanger lte 100>> "You like that, don't you." <<else>> "You better start being good, I can be much rougher than this." <<He>> moves the $_toyOrFinger in your anus more violently to demonstrate the point. <</if>> <<elseif $speechvaginamouth is 1>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Ohh! Not long now!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "How do you like the taste of my juices?" <<else>> <<He>> speaks. "Let's see what your tongue is capable of." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Mmm, it feels so good!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Now's your chance to satisfy me." <<else>> <<He>> speaks. "You don't want to disappoint me, do you?" <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "OHH! Your tongue, you stupid... AHH!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You better swallow all my juices." <<else>> <<He>> speaks. "Nothing like rubbing my cunt in a fucktoy's face to remind them who's boss." <</if>> <</if>> <<elseif $speechvaginavagina is 1>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Ohh! Not long now!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "How do you like the feel of my pussy against yours?" <<else>> <<He>> speaks. "How do you like the feel of my pussy against yours?" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Our juices are mingling together." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Mmm, it feels so good!" <<else>> <<He>> speaks. "You don't want to disappoint me, do you? Rub harder." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "OHH! Your pussy is so good!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You act like you don't want this, but your pussy is drenching me." <<else>> <<He>> speaks. "You like that, slut?" <</if>> <</if>> <<elseif $speechtribentrance is 1>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I can't take this. I need to feel your pussy." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Your pussy will feel so good against mine." <<else>> <<He>> speaks. "Your pussy looks tasty." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I need your pussy. Now." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "This will feel so good." <<else>> <<He>> speaks. "Do you feel the anticipation? You've never felt a pussy like mine." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I can't take this anymore. I need your pussy, right now!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You act like you don't want this. I know how to change your tune." <<else>> <<He>> speaks. "Just you wait. My pussy will dominate you." <</if>> <</if>> <<elseif $speechpenispenis is 1>> <<if playerChastity("penis")>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Ohh! Not long now!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "If only I could get you out of that chastity." <<else>> <<He>> speaks. "How do you like the fact of our <<penises>> are so close together?" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<if $worn.genitals.name is "chastity parasite">> <<He>> is lost in the moment. "If only my penis juice could mix with yours." <<else>> <<He>> is lost in the moment. "Our penis juices are mingling together." <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Mmm, it feels so good!" <<else>> <<He>> speaks. "You don't want to disappoint me, do you? Rub harder." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "OHH! Your penis is so good!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<if $worn.genitals.name is "chastity parasite">> <<He>> speaks. "You act like you don't want this, but your reaction tells me otherwise." <<else>> <<He>> speaks. "You act like you don't want this, but your <<penis>> is drenching me in precum." <</if>> <<else>> <<He>> speaks. "You like that, stud?" <</if>> <</if>> <<else>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Ohh! Not long now!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "How do you like the feel of my cock against yours?" <<else>> <<He>> speaks. "How do you like the feel of our <<penises>> pressed together?" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "Our penis juices are mingling together." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Mmm, it feels so good!" <<else>> <<He>> speaks. "You don't want to disappoint me, do you? Rub harder." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "OHH! Your penis is so good!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You act like you don't want this, but your <<penis>> is drenching me in precum." <<else>> <<He>> speaks. "You like that, stud?" <</if>> <</if>> <</if>> <<elseif $speechfencingentrance is 1>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I can't take this. I need to feel your <<penis>>." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Your penis will feel so good against mine." <<else>> <<He>> speaks. "Your <<penis>> looks tasty." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I need your penis. Now." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "This will feel so good." <<else>> <<He>> speaks. "Do you feel the anticipation? You've never felt a cock like mine." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I can't take this anymore. I need your dick, right now!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You act like you don't want this. I know how to change your tune." <<else>> <<He>> speaks. "Just you wait. My penis will dominate you." <</if>> <</if>> <<elseif $speechbeat is 1>> <<He>> speaks. <<print [ `"That's the least you deserve, bitch!"`, `"You want some more of this? Huh?"`, `"Hurts, don't it."`, `"I'll beat you into submission if I have to."`, `"Take that you stupid fuck!"`, `"There's plenty more punishment to come, whore."`, `"I love it when sluts cower."`, `"I'll have my fun, even if I have to beat it out of you."`, `"Maybe you like being beaten? I can accommodate that."`, `"Afraid of me yet?"`, ][random(0,9)]>> <<elseif $speechhit is 1>> <<if $enemyanger lte 20>> <<He>> is annoyed by your attack. <<print [ `"Now why'd you go and do that?"`, `"Come on, don't be like that."`, `"Ow! Not so rough!"`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<He>> is annoyed by your attack. <<print [ `"You're starting to piss me off."`, `"Are you trying to get yourself hurt?"`, `"Keep this up and you'll be in a lot of trouble, <<girl>>."`, ][random(0,2)]>> <<else>> <<He>> is enraged by your attack. <<print [ `"I'm going to fucking murder you if you don't stop."`, `"I'm going to show you your place, <<bitch>>."`, `"Ungrateful piece of shit."`, ][random(0,2)]>> <</if>> <<elseif $speechthroat is 1>> <<He>> tightens <<his>> grip around your throat. <<if $consensual and $enemyanger lt 100>> <<print [ `"Yes, choke on me."`, `"Your neck is so soft."`, `"You like to be dominated, don't you?"`, `"You are so fragile."`, `"I love the way you squirm."`, ][random(0,4)]>> <<else>> <<print [ `"What's the matter? Trouble breathing?"`, `"Don't lose consciousness just yet, I want you to be awake for this."`, `"You better start being nice to me if you want to breathe freely."`, `"Too tight for you? Maybe you should stop being such a brat."`, `"I love it when they squirm."`, ][random(0,4)]>> <</if>> <<elseif $speechvaginafoot is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "I can feel you leaking on my toes." <<elseif $enemyanger lte 100>> "I know you like being trodden on like this, don't pretend otherwise." <<else>> "It's probably best I use my foot, I don't know where your slutty slit has been." <</if>> <<elseif $speechpenisfoot is 1>> <<He>> speaks. <<if $enemyanger lte 20>> "Do you like the feel of my feet?" <<elseif $enemyanger lte 100>> "I know you like being trodden on like this, don't pretend otherwise." <<else>> "It's probably best I use my foot, I don't know where your filthy dick has been." <</if>> <<elseif $speechNPCChastity is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"I wish I didn't have to wear this."`, `"Help me get this thing off, would you?"`, `"I really want to get out of this thing."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Stupid device."`, `"Fuck, how do I get this off?"`, `"Just you wait until I get this off of me. Oh, the fun we'll have."`, ][random(0,2)]>> <<else>> <<print [ `"Something's gonna break, either you or this device."`, `"Fuck you, and fuck this device."`, `"Just you wait until I get this off."`, ][random(0,2)]>> <</if>> <<elseif $speechchastity is 1>> <<He>> speaks. <<if $worn.genitals.name is "chastity parasite">> <<if $enemyanger lte 20>> <<print [ `"What even is this thing? You seem to like me touching it."`, `"It seems too elastic to do anything but tease you."`, `"Are you getting off from me squeezing this thing?"`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Oh, you little tease."`, `"Fuck, I don't even see how you got it on, let alone how to get it off."`, `"Oh you poor thing, I'll get this thing off for you."`, ][random(0,2)]>> <<else>> <<print [ `"Something's gonna break, either you or this... sphere."`, `"Fuck, am I even damaging this thing?"`, `"Just you wait until I tear this thing up."`, ][random(0,2)]>> <</if>> <<else>> <<if $enemyanger lte 20>> <<print [ `"This device is on pretty tight."`, `"I can't get it off."`, `"I really want to get under this thing."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Oh, you little tease."`, `"Fuck, how do I get this off?"`, `"Just you wait until I get this off of you. Oh, the fun we'll have."`, ][random(0,2)]>> <<else>> <<print [ `"Something's gonna break, either you or this device."`, `"Fuck you, and fuck this device."`, `"Just you wait until I get this off."`, ][random(0,2)]>> <</if>> <</if>> <<elseif $speechstripstruggle is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Come on, don't be shy."`, `"You're so beautiful, I have to see more of you."`, `"I really want to get under this thing."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Oh, you little tease."`, `"Stop struggling!"`, `"If you let me take your clothes off, things will go easier for you."`, ][random(0,2)]>> <<else>> <<print [ `"Give me your clothes, bitch!"`, `"You're getting stripped, slut. Stop fighting it."`, `"Your clothes belong to me now, stop struggling."`, ][random(0,2)]>> <</if>> <<elseif $speechstruggle is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"You're a feisty little thing!"`, `"Calm down, you're not going to be hurt."`, `"Just be calm and let it happen."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Stop struggling, or I'll get angry."`, `"If you don't want things to get worse, then calm down."`, `"A good <<girl>> wouldn't struggle. Do you want to be punished?"`, ][random(0,2)]>> <<else>> <<print [ `"Be still, you ungrateful bitch!"`, `"Stop struggling and accept your place."`, `"Stupid slut! Stop it!"`, ][random(0,2)]>> <</if>> <<elseif $speechspank is 1>> <<if ["dildo","riding crop","length of anal beads","flog"].includes($NPCList[_n].lefttool) or ["dildo","riding crop","length of anal beads","flog"].includes($NPCList[_n].righttool)>> <<He>> speaks. <<print [ `"I'll spank you raw, cutie."`, `"Naughty <<girl>>."`, `"Have you learnt your lesson yet?"`, `"You've been a bad, bad <<girl>>. And bad <<girls>> get spanked."`, ][random(0,3)]>> <<elseif $enemyanger lte 20>> <<He>> speaks. <<print [ `"If this doesn't teach you to behave, I'm not sure what will."`, `"If you're a good <<girl>> in the future, then you won't need to be punished."`, `"Have you learnt your lesson yet?"`, `"This hurts me more than it hurts you."`, ][random(0,3)]>> <<elseif $enemyanger lte 100>> <<print [ `<<He>> speaks. "I could spank you far harder than this if I wanted."`, `<<He>> speaks. "If you don't want things to get worse, then stop acting like a brat."`, `<<He>> tuts. "You'll think twice before being so naughty in future."`, `<<He>> speaks. "You've been a bad <<girl>>. So you get punished. It's as simple as that."`, ][random(0,3)]>> <<else>> <<He>> speaks. <<print [ `"You're going to take your punishment, and when I'm done you're going to thank me for it!"`, `"You deserve far worse than this."`, `"Does that hurt? Good."`, `"I'm gonna spank your butt raw, <<girl>>."`, ][random(0,3)]>> <</if>> <<elseif $speecharms is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"If I give you your arms back, will you be good?"`, `"Some people like being restrained, you know."`, `"It's cute when they can't use their arms."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"I'd release your arms if I was sure you wouldn't be a brat."`, `"If you prove that you're nice, then I won't have to restrain you."`, `"You're completely helpless."`, ][random(0,2)]>> <<else>> <<print [ `"You're completely at my mercy, get used to it."`, `"Try to struggle free, I dare you."`, `"I know you love being restrained like this, you dirty slut."`, ][random(0,2)]>> <</if>> <<elseif $speechclit is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Does having your clit teased feel good?"`, `"Your little clit is so cute!"`, `"Your clit is really firm. I guess that means you like it."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Your clit is so much fun to play with."`, `"I could hurt instead of pleasure you, you know, best be a good <<girl>>."`, `"You don't want to annoy me, not with your clit vulnerable like this."`, ][random(0,2)]>> <<else>> <<print [ `"You like having your bean toyed with, bitch?"`, `"Nothing like teasing some slut's clit to assert your superiority."`, `"The fucktoy reacts to having its clit teased, what a surprise."`, ][random(0,2)]>> <</if>> <<elseif $speechfutapenis is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Which feels better when teased, your cock or your pussy?"`, `"Your face is so cute when your cock is being teased like this!"`, `"Your cock is as firm as your pussy is wet. I guess that means you like it."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"I can't decide which of your genitals are more fun to play with."`, `"I could hurt instead of pleasure you, you know, best be a good <<girl>>."`, `"You don't want to annoy me, not with your cock and pussy vulnerable like this."`, ][random(0,2)]>> <<else>> <<print [ `"You like having your cock toyed with, bitch? Or would you prefer I tease your pussy?"`, `"Nothing like teasing some freak's cock to assert your superiority."`, `"The freak reacts to having its cock teased, what a surprise."`, ][random(0,2)]>> <</if>> <<elseif $speechglans is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Does having your dick played with feel good?"`, `"Your face is so cute when your dick is being teased like this!"`, `"Your dick is really firm. I guess that means you like it."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Your dick is so much fun to play with."`, `"I could hurt instead of pleasure you, you know, best be a good <<girl>>."`, `"You don't want to annoy me, not with your dick vulnerable like this."`, ][random(0,2)]>> <<else>> <<print [ `"You like having your dick toyed with, bitch?"`, `"Nothing like teasing some fucktoy's dick to assert your superiority."`, `"The fucktoy reacts to having its glans teased, what a surprise."`, ][random(0,2)]>> <</if>> <<elseif $speechbottom is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Does having your butt fondled feel good?"`, `"Your face is so cute when your butt is being teased like this!"`, `"Your butt is so shapely."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Your butt is so much fun to play with."`, `"I could hurt instead of pleasure you, you know, best be a good <<girl>>."`, `"If you annoy me, I'll give you a spanking."`, ][random(0,2)]>> <<else>> <<print [ `"You like having your ass toyed with, bitch?"`, `"Bitches like you deserve a hard spanking."`, `"Nice ass. At least you've got something going for you, slut."`, ][random(0,2)]>> <</if>> <<elseif $speechhair is 1>> <<He>> speaks. <<if $hairlength gte 400>> <<if $enemyanger lte 20>> <<print [ `"Long hair is fun to play with."`, `"Your silken locks are lovely."`, `"Your hair is so long and beautiful."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Long hair is fun to yank around."`, `"I could hurt you a lot by just pulling your hair, best be a good <<girl>>."`, `"Your hair makes a fine leash."`, ][random(0,2)]>> <<else>> <<print [ `"You like having your hair pulled, bitch?"`, `"You're staying right where I want you."`, `"You'll give me what I want, or I'll keep pulling."`, ][random(0,2)]>> <</if>> <<else>> <<if $enemyanger lte 20>> <<print [ `"Your hair is fun to play with."`, `"Your hair is silky smooth."`, `"Your hair is so beautiful."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Your hair is fun to yank around."`, `"I could really hurt you if I pulled hard enough, best be a good <<girl>>."`, `"Your hair is cute, but don't think I won't pull it harder."`, ][random(0,2)]>> <<else>> <<print [ `"You like having your hair pulled, bitch?"`, `"You're staying right where I want you."`, `"You'll give me what I want, or I'll keep pulling."`, ][random(0,2)]>> <</if>> <</if>> <<elseif $speechchestrub is 1>> <<if $player.gender_appearance is "m">> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I'm gonna cum all over your chest!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "I bet your nipples are a weak spot." <<else>> <<He>> speaks. "Do you like the sight of my dick?" <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "You'll be drenched when I'm done!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Nothing quite like getting off on a boy's chest." <<else>> <<He>> speaks. "Be on your best behaviour, or I'll find some other part of you to fuck." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I'm gonna mark you with my seed!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "You'll be begging for more when I'm done, fucktoy." <<else>> <<He>> speaks. "Don't get any delusions of grandeur, you're just a cum rag." <</if>> <</if>> <<else>> <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> is lost in the moment. "I'm gonna cum all over your flat chest!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Flat breasts are so lewd..." <<else>> <<He>> speaks. "Don't be ashamed of your small breasts, it's cute." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "They may be small, but your breasts feel good on my dick." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "Keep it up, whore." <<else>> <<He>> speaks. "Your breasts are so small. You'll have to make it up to me in other ways." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> speaks. "I'm gonna cover your pathetic excuse for breasts in my seed, and you're gonna thank me for it." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> speaks. "What's it like to have such an inadequate rack?" <<else>> <<He>> speaks. "Your breasts are pathetic by the way." <</if>> <</if>> <</if>> <<elseif $speechbreastrub is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> "I'm gonna cum all over your delicious breasts!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> "Nothing like a boob job from a cutie." <<else>> "My dick feels so good between your breasts." <</if>> <<elseif $enemyanger lte 100>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> "Careful, or I might squirt in your face." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> "Your boobs were made for pleasuring dick." <<else>> "Keep those tits of yours around my dick." <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> "That's it, take it between your tits like the slut you are." <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> "Take it, bitch!" <<else>> "You better be good at this, for your sake." <</if>> <</if>> <<elseif $speechgrowl is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<if $npcspeechcycle is 0>> "Sounds like you've got some bite!" <<elseif $npcspeechcycle is 1>> "You're too cute to be threatening." <<elseif $npcspeechcycle is 2>> "There's a good bitch." <<elseif $npcspeechcycle is 3>> "I bet you're tamer than you sound." <<elseif $npcspeechcycle is 4>> "Cute fangs." <<elseif $npcspeechcycle is 5>> "Who's a good puppy?" <<else>> "I bet you're a good licker." <</if>> <<elseif $enemyanger lte 100>> <<if $npcspeechcycle is 0>> "You've got some bite to you!" <<elseif $npcspeechcycle is 1>> "You'll be barking like a bitch soon." <<elseif $npcspeechcycle is 2>> "Best not bite. You'll regret it." <<elseif $npcspeechcycle is 3>> "Your weird teeth don't scare me." <<elseif $npcspeechcycle is 4>> "Bite me. I dare you." <<elseif $npcspeechcycle is 5>> "Can't wait to tame you." <<else>> "You think you frighten me?" <</if>> <<else>> <<if $npcspeechcycle is 0>> "I'm gonna muzzle that mouth of yours." <<elseif $npcspeechcycle is 1>> "Put those teeth away before I shut you up." <<elseif $npcspeechcycle is 2>> "I'll fuck you up, bitch." <<elseif $npcspeechcycle is 3>> "I know how to shut up bitches like you." <<elseif $npcspeechcycle is 4>> "I'm gonna put you in your place, bitch." <<elseif $npcspeechcycle is 5>> "You'll be whining when I'm through with you." <<else>> "I'm gonna hold that jaw of yours open." <</if>> <</if>> <<elseif $speechgrowlheat is 1 or $speechgrowlrut is 1>> <<He>> speaks. <<if $npcspeechcycle is 0>> "Sounds like someone is in a very <<print ($pregnancyspeechdisable is "f" ? "breedable" : "fuckable")>> mood!" <<elseif $npcspeechcycle is 1>> "Someone's a little too horny to be threat." <<elseif $npcspeechcycle is 2>> "There's a good bitch." <<elseif $npcspeechcycle is 3>> "Don't worry, you'll be <<bred>> before you know it." <<elseif $npcspeechcycle is 4>> "Cute fangs." <<elseif $npcspeechcycle is 5>> "Who's a good puppy in heat?" <<else>> "I bet you'll do anything to be <<bred>>." <</if>> <<elseif $speechplead is 1>> <<if $enemyanger lte 20>> <<He>> speaks. <<print [ `"You don't want to stop really."`, `"Don't be silly, you're enjoying this."`, `"It'll be over before you know it."`, `"You're not going to be hurt you know."`, `"Don't worry, I'll be gentle."`, ][random(0,4)]>> <<elseif $enemyanger lte 100>> <<He>> speaks. <<print [ `"This is happening, one way or another."`, `"Don't try to guilt me."`, `"You say that, but your body tells a different story."`, `"I'm not stopping until I'm satisfied."`, `"All the more reason to please me, it'll be over faster."`, ][random(0,4)]>> <<else>> <<He>> speaks. <<print [ `"Don't make me laugh, a slut like you can't get enough of this."`, `"We're not stopping until I'm done, whore."`, `"You're a selfish little shit, aren't you?"`, `"Did I give you permission to speak?"`, `"Don't make me laugh, <<bitch>>. You're gagging for this."`, ][random(0,4)]>> <</if>> <<elseif $speechmoan is 1>> <<if random(0,2) isnot 0 and (($vaginastate is "doublepenetrated" and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble") or ($anusstate is "doublepenetrated" and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble"))>> <<He>> <<print ["speaks","speaks","whispers","coos","laughs","sniggers","jeers"][random(0,6)]>>. <<print [ `"You love having your hole ruined by us, don't you <<bitch>>?"`, `"You like that, slut? Two fat cocks stretching you out?"`, `"Don't worry, we'll use you properly."`, `"You're so cute. You love taking our cocks."`, `"Yes baby, take our cocks you filthy cock-sleeve."`, ][random(0,4)]>> <<else>> <<if $enemyanger lte 20>> <<He>> speaks. <<print [ `"I knew you'd love it."`, `"Don't worry, I'll use you properly."`, `"Your voice is so cute."`, `"You're such a good <<girl>>."`, `"You're so precious."`, ][random(0,4)]>> <<elseif $enemyanger lte 100>> <<He>> speaks. <<print [ `"That's more like it."`, `"Trying to butter me up? You still need to be punished."`, `"You like that? Filthy slut."`, `"You'd make a fine pet."`, `"Keep this up and it'll end well for you."`, ][random(0,4)]>> <<else>> <<He>> speaks. <<print [ `"Shut up, <<bitch>>, I'm on to your tricks."`, `"You have a sweet mouth, but I know you're a rotten whore."`, `"You're a submissive little shit, aren't you?"`, `"Did I give you permission to speak?"`, `"Don't make me laugh, <<bitch>>. You're a manipulative whore."`, ][random(0,4)]>> <</if>> <</if>> <<elseif $speechdemand is 1>> <<if $enemyanger lte 20>> <<He>> speaks. <<print [ `"You certainly have a mouth on you."`, `"You shouldn't be so rude to your betters."`, `"You better start being nicer, or I'll get meaner."`, `"You're such a naughty <<girl>>."`, `"Careful, that's no way to speak to me."`, ][random(0,4)]>> <<elseif $enemyanger lte 100>> <<He>> speaks. <<print [ `"Keep talking like that and I'll show you just how little you're worth."`, `"How dare you talk to me like that."`, `"If you don't start being more polite, I'll fuck you up."`, `"You're not making this any easier on yourself."`, `"Keep this up and it won't end well for you."`, ][random(0,4)]>> <<else>> <<He>> speaks. <<print [ `"Shut the fuck up, <<bitch>>."`, `"Shut up, or I'll shut you up."`, `"You're a bratty little shit, aren't you?"`, `"Did I give you permission to speak?"`, `"Don't make me laugh, <<bitch>>. You're a weak little toy."`, ][random(0,4)]>> <</if>> <<elseif $speechforgive is 1>> <<if $enemyanger lte 20>> <<print [ `<<He>> laughs. "You forgive me? How cute."`, `<<He>> laughs. "You forgive me? For what?"`, `<<He>> speaks. "Shush, <<girl>>."`, `<<He>> speaks. "You're a sweet little thing."`, `<<He>> laughs. "You can't be this cute."`, ][random(0,4)]>> <<elseif $enemyanger lte 100>> <<He>> speaks. <<print [ `"Forgive me for what?"`, `"I don't like what you're implying, <<girl>>."`, `"Don't worry yourself, I'll give you plenty to forgive."`, `"Did I ask for your forgiveness? Better keep it zipped."`, `"Forgive me? That's presumptuous for a <<bitch>> in your position."`, ][random(0,4)]>> <<else>> <<He>> speaks. <<print [ `"Shut the fuck up, <<bitch>>."`, `"Don't make me laugh, <<bitch>>. Toys like you are made to be played with."`, `"You're a presumptuous little shit, aren't you?"`, `"Did I give you permission to speak?"`, `"There's nothing wrong with putting you to your proper use."`, ][random(0,4)]>> <</if>> <<elseif $speechvaginaflaunt is 1>> <<He>> coos. <<if $player.gender_appearance is "m">> <<print [ `"I can't wait to swallow your dick."`, `"Just look at the effect you're having on me."`, `"Like what you see?"`, ][random(0,2)]>> <<else>> <<print [ `"I'm rather proud of my body, I'm sure you can see why."`, `"Just look at the effect you're having on me."`, `"Like what you see?"`, ][random(0,2)]>> <</if>> <<elseif $speechcoverface is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Aww look, the shy <<girl>> is covering <<pher>> face."`, `"<<pShe>> is so shy!"`, `"Don't be shy, <<girl>>."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Don't think you won't be recognised."`, `"Something to hide?"`, `"If covering your face makes this easier for you, fine."`, ][random(0,2)]>> <<else>> <<print [ `"<<pShe>> is covering <<pher>> face! How pathetic."`, `"Cover your face if you want slut, you can't hide everything."`, `"At least I don't have to look at your whore face."`, ][random(0,2)]>> <</if>> <<elseif $speechcoverpenis is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Stop hiding your penis from me and I'll make you feel good."`, `"Why are you hiding your penis from me?"`, `"There's no reason to be shy."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Come on, let me see your penis."`, `"Something to hide?"`, `"Stop covering your penis, I want to see it."`, ][random(0,2)]>> <<else>> <<print [ `"If you don't stop covering your dick I'll beat you until you do."`, `"Let me see your dick. Now."`, `"Stop covering your fucktoy dick or I'll stop being so courteous."`, ][random(0,2)]>> <</if>> <<elseif $speechcovervagina is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Stop hiding your pussy from me and I'll make you feel good."`, `"Why are you hiding your pussy from me?"`, `"There's no reason to be shy."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"Come on, let me see your pussy."`, `"Something to hide?"`, `"Stop covering your pussy, I want to see it."`, ][random(0,2)]>> <<else>> <<print [ `"If you don't stop covering your cunt I'll beat you until you do."`, `"Let me see your pussy. Now."`, `"Stop covering your whore cunt or I'll stop being so courteous."`, ][random(0,2)]>> <</if>> <<elseif $speechapologiseno is 1>> <<He>> speaks. <<if $enemyanger lte 20>> <<print [ `"Shhh, you've already apologised."`, `"That's very polite, but I already know you're sorry."`, `"I know you're sorry, don't worry about it."`, ][random(0,2)]>> <<elseif $enemyanger lte 100>> <<print [ `"I heard you the first time."`, `"Quit whining."`, `"Shush, <<girl>>."`, ][random(0,2)]>> <<else>> <<print [ `"Shut up, bitch."`, `"Shut up before I give you something to choke on."`, `"Do you have permission to speak, slut?"`, ][random(0,2)]>> <</if>> <<elseif $speechfacesit is 1>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<print [ `<<He>> speaks. "Yeah, take it, <<girl>>!"`, `<<He>> speaks. "You're gonna make me cum all over your worthless face!"`, `<<He>> speaks. "I'm gonna drown you in my juices, unless you drink them all up!"`, ][random(0,2)]>> <<else>> <<print [ `<<He>> moans. "Yeah! Keep working that tongue!"`, `<<He>> is lost in the moment. "Mmm, it feels so good!"`, `<<He>> sighs. "Not long now..."`, ][random(0,2)]>> <</if>> <<else>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<print [ `<<He>> speaks. "Get that tongue to work, <<girl>>!"`, `<<He>> speaks. "Maybe I'll stay on until you pass out!"`, `<<He>> speaks. "I'm not getting off until I cum on your face."`, ][random(0,2)]>> <<else>> <<print [ `<<He>> speaks. "Make me feel good with your mouth."`, `<<He>> speaks. "Do you like me sitting on your face?"`, `<<He>> speaks. "How do I taste?"`, ][random(0,2)]>> <</if>> <</if>> <<elseif $speechanallick is 1>> <<if (($enemyarousal / $enemyarousalmax) * 100) gte 70>> <<print [ `<<He>> moans. "Yeah! Keep working that tongue!"`, `<<He>> is lost in the moment. "Mmm, your tongue feels so good against my ass!"`, `<<He>> sighs. "You licking my butt is going to make me cum..."`, ][random(0,2)]>> <<elseif (($enemyanger / $enemyangermax) * 100) gte 10>> <<print [ `<<He>> speaks. "Yeah, <<girl>>, work that tongue and lick my ass!"`, `<<He>> speaks. "Good <<girl>>. Lick my ass clean."`, `<<He>> coos. "Not bad, slut. Keep licking!"`, ][random(0,2)]>> <<else>> <<print [ `<<He>> speaks. "I love the feel of your tongue in my ass."`, `<<He>> speaks. "I think you like licking my ass, don't you?"`, `<<He>> speaks. "Yeah! your tongue feels so good up there."`, ][random(0,2)]>> <</if>> <<elseif $speechanalkiss is 1>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<print [ "<<He>> speaks. \"This is where you belong, kissing ass.\"", "<<He>> speaks. \"Good slut, keep kissing that ass.\"", "<<He>> coos. \"Ooh, you are a good ass kisser!\"" ][random(0,2)]>> <<else>> <<print [ "<<He>> speaks. \"You like kissing my ass, don't you?\"", "<<He>> speaks. \"Mmm. That feels good. Keep kissing my ass.\"", "<<He>> speaks. \"I love the feel of your lips against my ass.\"" ][random(0,2)]>> <</if>> <<elseif $speechmouthotheranus is 1>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<print [ "<<He>> speaks. \"Kiss my ass!\"", "<<He>> speaks. \"Lick my butt, <<bitch>>!\"", "<<He>> speaks. \"You belong there, worshipping my ass, slut.\"", "<<He>> speaks. \"Get that mouth to work! Make my ass feel good.\"", "<<He>> speaks. \"How does my butt taste?\"" ][random(0,4)]>> <<else>> <<print [ "<<He>> speaks. \"Do you like my ass in your face?\"", "<<He>> speaks. \"Make my ass feel good with your mouth.\"", "<<He>> speaks. \"Go on, be good to my ass.\"", "<<He>> speaks. \"I want you to worship my ass.\"", "<<He>> speaks. \"Do things to my butt, with your mouth.\"" ][random(0,4)]>> <</if>> <<elseif $speechaskrough is 1>> <<if (($enemyanger / $enemyangermax) * 100) gte 10>> <<print [ "<<He>> speaks. \"You want it more rough? If you say so, slut.\"", "<<He>> speaks. \"I'll treat you like the worthless whore you are.\"", "<<He>> speaks. \"I'll smack you around like you deserve.\"", "<<He>> speaks. \"I wonder how hard I could beat you before you pass out.\"", "<<He>> speaks. \"I'm just getting started, <<bitch>>.\"" ][random(0,4)]>> <<else>> <<print [ "<<He>> speaks. \"Rougher? You're a kinky one.\"", "<<He>> speaks. \"Want it rough? I'll give you rough.\"", "<<He>> speaks. \"I'll treat you like you deserve, slut.\"", "<<He>> speaks. \"I've been too gentle with you so far.\"", "<<He>> speaks. \"Hah! The slut wants it hard. I can oblige.\"" ][random(0,4)]>> <</if>> <<else>> <<if not $gloryhole>> <<basespeech>> <<else>> <<basegloryholespeech>> <</if>> <</if>> <</widget>> <<widget "basespeech">> <<if $enemyanger lte 20 or _args[0] is "low">> <<rng>> <<He>> whispers. <<if $rng lte 5>> "You are so beautiful." <<elseif $rng lte 10>> "You are so very pretty." <<elseif $rng lte 15>> "You're such a gorgeous <<girl>>." <<elseif $rng lte 20>> "I bet you get a lot of attention." <<elseif $rng lte 25>> "You are so very cute." <<elseif $rng lte 30>> "You're so lovely." <<elseif $rng lte 35 and $consensual is 0>> "Be a good <<girl>> and I won't hurt you." <<elseif $rng lte 40>> "Be a good <<girl>> and I'll make you feel good." <<elseif $rng lte 45>> "If you make me feel good, I'll make you feel good too." <<elseif $rng lte 50>> "Your skin is so smooth." <<elseif $rng lte 55>> "I want to kiss you all over." <<elseif $rng lte 60>> "You're a delicate thing, aren't you?" <<elseif $rng lte 65>> "You are wonderful." <<elseif $rng lte 70>> "Your body is so appealing." <<elseif $rng lte 75>> "Don't be ashamed of your body." <<elseif $rng lte 80>> "You look so fragile." <<elseif $rng lte 85>> "You're like an angel." <<elseif $rng lte 90 and !$gloryhole>> "Your <<breasts>> are so cute." <<elseif $rng lte 95>> "You smell nice." <<elseif $rng lte 100>> "You're such a cute <<girl>>." <</if>> <<elseif ($enemyanger lte 100 and _args[0] isnot "low") or _args[0] is "mid">> <<rng>> <<He>> gives you a stern look. <<if $rng lte 5>> "Don't try my patience." <<elseif $rng lte 10>> "Bad sluts get hurt." <<elseif $rng lte 15>> "You're not a bad <<girl>>, are you?" <<elseif $rng lte 20>> "Don't think I won't hurt you." <<elseif $rng lte 25>> "You're so fucking sexy." <<elseif $rng lte 30>> "I wonder how much you could take." <<elseif $rng lte 35>> "This is happening, you might as well make it easy on yourself." <<elseif $rng lte 40>> "Be a good <<girl>> and things will be easier for you." <<elseif $rng lte 45>> "I'm going to have fun with your body." <<elseif $rng lte 50>> "Don't defy me." <<elseif $rng lte 55>> "You were made for this." <<elseif $rng lte 60>> "I can tell you're enjoying this." <<elseif $rng lte 65>> "This is your fault, you know." <<elseif $rng lte 70>> "You like this, don't you." <<elseif $rng lte 75>> "You're on thin ice, <<girl>>." <<elseif $rng lte 80>> "Don't think you've seen the worst of me." <<elseif $rng lte 85>> "I own you now." <<elseif $rng lte 90>> "It's not over until I say it's over." <<elseif $rng lte 95>> "You're a fun toy, but don't get any ideas." <<elseif $rng lte 100>> "You should treat your betters with respect." <</if>> <<elseif ($enemyanger gt 100 and !_args[0]) or _args[0] is "high">> <<rng>> <<He>> looks at you with fury. <<if $rng lte 5>> "Fucking whore." <<elseif $rng lte 10>> "You're just a filthy slut." <<elseif $rng lte 15>> "You're a vessel for cum, nothing more." <<elseif $rng lte 20>> "You should be happy anyone is giving a worthless piece of shit like you attention." <<elseif $rng lte 25>> "I haven't killed you yet, you should show gratitude." <<elseif $rng lte 30>> "I'm going to break you, in so many ways." <<elseif $rng lte 35>> "You'll show me respect before I'm done." <<elseif $rng lte 40>> "I wonder where I'll dump you when I'm done." <<elseif $rng lte 45>> "Even rape is too good for a bitch like you." <<elseif $rng lte 50>> "You deserve this, bitch." <<elseif $rng lte 55>> "You enjoy being treated like this. Don't try to deny it." <<elseif $rng lte 60>> "You're a worthless fucktoy." <<elseif $rng lte 65>> "You look pretty good, for useless trash." <<elseif $rng lte 70>> "Getting me off is your only purpose, don't forget." <<elseif $rng lte 75>> "I know you like this, you stupid slut." <<elseif $rng lte 80>> "You deserve far worse than this, whore." <<elseif $rng lte 85>> "You're a worthless slut." <<elseif $rng lte 90>> "I'm going to hurt you, and you're going to like it." <<elseif $rng lte 95>> "There's only one thing a <<girl>> like you is good for." <<elseif $rng lte 100>> "You're such a wretched tramp." <</if>> <</if>> <</widget>> <<widget "basegloryholespeech">> <<if $enemyanger lte 20 or _args[0] is "low">> <<rng>> <<He>> whispers. <<if $rng lte 5>> "I wish I could see you." <<elseif $rng lte 10>> "I bet you're very pretty." <<elseif $rng lte 15>> "I wish I could see the <<girl>> on the other side." <<elseif $rng lte 20>> "Are you a boy or a girl? So exciting not to know." <<elseif $rng lte 25>> "You must be cute. I'd love to see you." <<elseif $rng lte 30>> "Not seeing who's pleasuring me is exciting." <<elseif $rng lte 35>> "Be a good <<girl>>, give it all you've got." <<elseif $rng lte 40>> "Be a good <<girl>>, it will make you feel good." <<elseif $rng lte 45>> "Make me feel good and you'll feel good too." <<elseif $rng lte 50>> "I wish I could touch you." <<elseif $rng lte 55>> "I want to kiss you all over." <<elseif $rng lte 60>> "The things I'd do to you if this wall weren't in the way." <<elseif $rng lte 65>> "You're doing wonderful things to me." <<elseif $rng lte 70>> "If only I could caress your body." <<elseif $rng lte 75>> "I'd love to see your body." <<elseif $rng lte 80>> "I wish this wall wasn't here." <<elseif $rng lte 85>> "I wonder who's on the other side." <<elseif $rng lte 90>> "You're doing a great job." <<elseif $rng lte 95>> "I wonder what you look like." <<elseif $rng lte 100>> "You're such a good <<girl>>." <</if>> <<elseif $enemyanger lte 100 or _args[0] is "mid">> <<rng>> <<He>> speaks. <<if $rng lte 5>> "Don't try my patience." <<elseif $rng lte 10>> "Bad sluts get hurt." <<elseif $rng lte 15>> "You're not a bad <<girl>>, are you?" <<elseif $rng lte 20>> "Don't think I won't find a way to hurt you." <<elseif $rng lte 25>> "You need to do better, <<girl>>." <<elseif $rng lte 30>> "I wonder how much more you can give." <<elseif $rng lte 35>> "This is happening, you might as well make it easy on yourself." <<elseif $rng lte 40>> "Be a good <<girl>> and things will be easier for you." <<elseif $rng lte 45>> "You're going to pleasure me with your body." <<elseif $rng lte 50>> "Don't defy me." <<elseif $rng lte 55>> "You were made for this." <<elseif $rng lte 60>> "I can tell you're enjoying this." <<elseif $rng lte 65>> "This is your fault, you know." <<elseif $rng lte 70>> "You like this, don't you." <<elseif $rng lte 75>> "You're on thin ice, <<girl>>." <<elseif $rng lte 80>> "Don't think you've seen the worst of me." <<elseif $rng lte 85>> "I own you now." <<elseif $rng lte 90>> "It's not over until I say it's over." <<elseif $rng lte 95>> "You're a fun toy, but don't get any ideas." <<elseif $rng lte 100>> "You should treat your betters with respect." <</if>> <<elseif $enemyanger gt 100 or _args[0] is "high">> <<rng>> <<He>> pounds the wall in fury. <<if $rng lte 5>> "Fucking whore." <<elseif $rng lte 10>> "You're just a filthy slut." <<elseif $rng lte 15>> "You're a vessel for cum, nothing more." <<elseif $rng lte 20>> "You should be happy a worthless piece of shit like you is allowed to give me attention." <<elseif $rng lte 25>> "I haven't broken through this wall yet, you should show gratitude." <<elseif $rng lte 30>> "I'm going to break this wall, and then I'm going to break you." <<elseif $rng lte 35>> "You'll show me respect before I'm done." <<elseif $rng lte 40>> "I wonder what I'll do to you once I get on the other side." <<elseif $rng lte 45>> "Even rape is too good for a bitch like you." <<elseif $rng lte 50>> "You deserve far worse than this, bitch." <<elseif $rng lte 55>> "You enjoy this. Don't try to deny it." <<elseif $rng lte 60>> "You're a worthless fucktoy." <<elseif $rng lte 65>> "I'll break this wall if I have to, you useless trash." <<elseif $rng lte 70>> "Getting me off is your only purpose, don't forget." <<elseif $rng lte 75>> "You like this, don't you? You stupid slut." <<elseif $rng lte 80>> "You deserve far worse than this, whore. If only I could get to you." <<elseif $rng lte 85>> "You're a worthless slut." <<elseif $rng lte 90>> "I'm going to get over there, I'm going to hurt you, and you're going to like it." <<elseif $rng lte 95>> "There's only one thing a <<girl>> like you is good for." <<elseif $rng lte 100>> "You're such a wretched tramp." <</if>> <</if>> <</widget>> <<widget "sprayspeech">> <<He>> shouts. <<switch $speechspraycycle>> <<case 0>> "Where the fuck did you get that?" <<case 1>> "You're no fun." <<case 2>> "You sadistic bitch!" <<case 3>> "Fuck! Shit!" <<case 4>> "Argh!" <<case 5>> "Shit. You've some fight in you." <<default>> "My eyes!" <</switch>> <<set $speechspraycycle to $speechspraycycle isnot undefined ? ($speechspraycycle + 1) % 7 : 0>> <</widget>> <<widget "beastspeech">> <<set _n to _args[0]>> <<switch $NPCList[_n].type>> <<case "lizardgirl" "lizardboy">> <<bHe>> hisses. <<case "dolphingirl" "dolphinboy">> <<bHe>> clicks. <<case "catgirl" "catboy">> <<bHe>> purrs. <<case "harpy">> <<bHe>> chirps. <<case "cowgirl" "bullboy">> <<bHe>> moos. <<case "spidergirl" "spiderboy">> <<bHe>> chitters. <<case "foxgirl" "foxboy">> <<bHe>> yips. <<default>> <<bHe>> growls. <</switch>> <<if $NPCList[_n].fullDescription is "Great Hawk">> <<hawkspeech>> <<elseif $NPCList[_n].penis isnot "none">> <<if $player.gender_appearance is "f">> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "Mark you with scent. As mine." <<case 1>> "All will know scent. Show to pack as prize." <<case 2>> "Litter inside you should make you quiet soon." <<case 3>> "No struggle, work hard for prey." <<case 4>> "Share with pack if keep squirming!" <<case 5>> "Prey is mine." <<default>> "Submit! Submit!" <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I can't wait to mark you with my seed." <<case 1>> "I'm gonna fill you up so everyone knows who owns you." <<case 2>> "You won't be so insolent once I've put a litter in you." <<case 3>> "It's no fun without a struggle." <<case 4>> "You'd best be nice, or I'll share you with my siblings." <<case 5>> "Your womb is mine." <<default>> "My cock will show you your place." <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "I show prey who the alpha is." <<case 1>> "Squirm less. Submit!" <<case 2>> "Prey should be lucky. Prefer to eat." <<case 3>> "Be proud. Mate, not eat. Best of pack." <<case 4>> "Stay still, else I attack." <<case 5>> "Smell good. Eat later." <<default>> "Strong offspring from you, as pack mother." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I'm gonna show you who's boss." <<case 1>> "Stop squirming." <<case 2>> "You're lucky I don't eat you." <<case 3>> "You should feel honoured I want to mate." <<case 4>> "Don't make me hurt you." <<case 5>> "You smell good enough to eat." <<default>> "You'll have strong babies." <</switch>> <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "Filling you with seed will feel good." <<case 1>> "Hope you are enjoying this. Much as I do." <<case 2>> "Strong scent from you. Has me in a rut." <<case 3>> "Marking you with scent will make you smell better." <<case 4>> "Happy to find mate. Lucky." <<case 5>> "Finish. Cruel to leave me in a rut." <<default>> "Strong offspring from you, as pack mother." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Filling you up is gonna feel so good." <<case 1>> "I hope you're enjoying this as much as me." <<case 2>> "Your scent alone has me in a rut." <<case 3>> "My seed will make you smell even better." <<case 4>> "I'm lucky to have a mate like you." <<case 5>> "It's cruel to arouse me without finishing." <<default>> "You'll have strong babies." <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "Going to mate with you. Okay?" <<case 2>> "<<print ($pregnancyspeechdisable is "f" ? "Breed" : "Mate")>> with me." <<case 3>> "Bet prey tastes nice." <<case 4>> "Smell fertile. Ready for seed." <<case 5>> "Cold out. I keep you warm." <<default>> "Ready to fight for your litter. All will see." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "I'm going to mate with you. I hope that's okay." <<case 2>> "You have to <<print ($pregnancyspeechdisable is "f" ? "breed" : "mate")>> with me." <<case 3>> "I bet you taste nice." <<case 4>> "You smell very fertile." <<case 5>> "I'll keep you warm." <<default>> "I'm ready to father a litter, you'll see." <</switch>> <</if>> <</if>> <</if>> <<else>> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "Mark you with scent. As mine." <<case 1>> "All will know scent. Show to pack as prize." <<case 2>> "Seed inside you should make you quiet soon." <<case 3>> "No struggle, work hard for prey." <<case 4>> "Share with pack if keep squirming!" <<case 5>> "I'm in charge. You follow." <<default>> "Submit! Submit!" <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I can't wait to mark you with my seed." <<case 1>> "I'm gonna fill you up so everyone knows who owns you." <<case 2>> "You won't be so insolent once you're full of seed." <<case 3>> "It's no fun without a struggle." <<case 4>> "You'd best be nice, or I'll share you with my siblings." <<case 5>> "I'm in charge." <<default>> "My cock will show you your place." <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "You're no alpha! I show you." <<case 1>> "Squirm less. Submit!" <<case 2>> "Prey should be lucky. Prefer to eat." <<case 3>> "Be proud. Mate, not eat. Best of pack." <<case 4>> "Stay still, else I attack." <<case 5>> "Smell good. Eat later." <<default>> "Strong offspring from you, as pack mother." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I'm gonna show you who's boss." <<case 1>> "Stop squirming." <<case 2>> "You're lucky I don't eat you." <<case 3>> "You should feel honoured I want to mate." <<case 4>> "Don't make me hurt you." <<case 5>> "You smell good enough to eat." <<default>> "I'm strongest of pack. <<print ($pregnancyspeechdisable is "f" ? "You're breeding stock." : "You'll do what I want.")>>" <</switch>> <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "Filling you with seed will feel good." <<case 1>> "Hope you are enjoying this. Much as I do." <<case 2>> "Strong scent from you. Has me in a rut." <<case 3>> "Marking you with scent will make you smell better." <<case 4>> "Happy to find mate. Lucky." <<case 5>> "Finish. Cruel to leave me in a rut." <<default>> "I impressed you, yes?" <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Filling you up is gonna feel so good." <<case 1>> "I hope you're enjoying this as much as me." <<case 2>> "Your scent alone has me in a rut." <<case 3>> "My seed will make you smell even better." <<case 4>> "I'm lucky to have a mate like you." <<case 5>> "It's cruel to arouse me without finishing." <<default>> "Are you impressed?" <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "Going to mate with you. Okay?" <<case 2>> "<<print ($pregnancyspeechdisable is "f" ? "Breed" : "Mate")>> with me." <<case 3>> "Bet prey tastes nice." <<case 4>> "Smell fertile. Ready for seed." <<case 5>> "Cold out. I keep you warm." <<default>> "I am the pack's strongest. All will see." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "I'm going to mate with you. I hope that's okay." <<case 2>> "You have to mate with me." <<case 3>> "I bet you taste nice." <<case 4>> "You smell very fertile." <<case 5>> "I'll keep you warm." <<default>> "I'm the strongest, you'll see." <</switch>> <</if>> <</if>> <</if>> <</if>> <<else>> <<if $player.gender_appearance is "f">> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "My territory. Mine." <<case 1>> "All will know scent. Show to pack as prize." <<case 2>> "Show prey who leads." <<case 3>> "No struggle, work hard for prey." <<case 4>> "Share with pack if keep squirming!" <<case 5>> "I'm in charge. You follow." <<default>> "Show prey their place." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "This is my territory." <<case 1>> "I'm gonna mark you with my scent so everyone knows who owns you." <<case 2>> "I'm gonna show you who's in charge." <<case 3>> "It's no fun without a struggle." <<case 4>> "You'd best be nice, or I'll share you with my siblings." <<case 5>> "I'm the alpha here." <<default>> "I'll show you your place." <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "You're no alpha! I show you." <<case 1>> "Squirm less. Submit!" <<case 2>> "Prey should be lucky. Prefer to eat." <<case 3>> "Be proud. Mate, not eat. Best of pack." <<case 4>> "Stay still, else I attack." <<case 5>> "Smell good. Eat later." <<default>> "Strong offspring from you one day. For pack. We can protect them." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I'm gonna show you who's boss." <<case 1>> "Stop squirming." <<case 2>> "You're lucky I don't eat you." <<case 3>> "You should feel honoured I want to mate." <<case 4>> "Don't make me hurt you." <<case 5>> "You smell good enough to eat." <<default>> "You'll have strong babies one day." <</switch>> <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "Play feels good." <<case 1>> "Hope you are enjoying this. Much as I do." <<case 2>> "Strong scent from you. Has me in heat." <<case 3>> "Marking you with scent will make you smell better." <<case 4>> "Happy to find mate. Lucky." <<case 5>> "Finish. Cruel to leave me in heat." <<default>> "Strong offspring from you one day. For pack. We can protect them." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Playing with you feels so good." <<case 1>> "I hope you're enjoying this as much as me." <<case 2>> "Your scent alone has me in heat." <<case 3>> "My scent will make you smell even better." <<case 4>> "I'm lucky to have a mate like you." <<case 5>> "It's cruel to arouse me without finishing." <<default>> "You'll have strong babies one day." <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "Going to mate with you. Okay?" <<case 2>> "Mate with me." <<case 3>> "Bet prey tastes nice." <<case 4>> "Smell fertile." <<case 5>> "Cold out. I keep you warm." <<default>> "My mates for me only. Not for you. No taking." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "I'm going to mate with you. I hope that's okay." <<case 2>> "You have to mate with me." <<case 3>> "I bet you taste nice." <<case 4>> "You smell very fertile." <<case 5>> "I'll keep you warm." <<default>> "You aren't planning on stealing my mates, I hope." <</switch>> <</if>> <</if>> <</if>> <<else>> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "Ready. Mark with your scent. Can take it all. Wait no longer." <<case 1>> "I belong to you. All will know your scent. Fill me." <<case 2>> "Litter inside me should make you quiet soon. I carry for you." <<case 3>> "No struggle, work hard for prey." <<case 4>> "Share with pack if keep squirming!" <<case 5>> "Prey is mine." <<default>> "My womb belongs to you. Begging for you." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I can't wait to take your seed." <<case 1>> "Fill me up so everyone knows who <<bred>> me." <<case 2>> "You won't be so insolent once I'm carrying your litter." <<case 3>> "It's no fun without a struggle." <<case 4>> "You'd best be nice, or I'll share you with my siblings." <<case 5>> "Your cock is mine." <<default>> "My womb is desperate for you." <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "I show prey who the alpha is." <<case 1>> "Squirm less. Submit!" <<case 2>> "Prey should be lucky. Prefer to eat." <<case 3>> "Be proud. Mate, not eat. Best of pack." <<case 4>> "Stay still, else I attack." <<case 5>> "Smell good. Eat later." <<default>> "Strong offspring from you, as pack father." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "I'm gonna show you who's boss." <<case 1>> "Stop squirming." <<case 2>> "You're lucky I don't eat you." <<case 3>> "You should feel honoured I want to mate." <<case 4>> "Don't make me hurt you." <<case 5>> "You smell good enough to eat." <<default>> "You'll father strong babies." <</switch>> <</if>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "Put seed in me. Please." <<case 1>> "Hope you are enjoying this. Much as I do." <<case 2>> "Strong scent from you. Has me in heat." <<case 3>> "Mark me as yours. Yours alone. My own special mate." <<case 4>> "Happy to find mate. Lucky." <<case 5>> "Finish. Cruel to leave me in heat." <<default>> "Strong offspring from you, as pack father." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Being filled is gonna feel so good." <<case 1>> "I hope you're enjoying this as much as me." <<case 2>> "Your scent alone has me in heat." <<case 3>> "Mark me with your seed and scent." <<case 4>> "I'm lucky to have a mate like you." <<case 5>> "It's cruel to leave me in heat." <<default>> "You'll father strong babies." <</switch>> <</if>> <<else>> <<if $NPCList[_n].type is "wolfgirl" or $NPCList[_n].type is "wolfboy">> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "Going to mate with you. Okay?" <<case 2>> "Mate with me." <<case 3>> "Bet prey tastes nice." <<case 4>> "Smell fertile." <<case 5>> "Cold out. I keep you warm." <<default>> "My mates for me only. Not for you. No taking." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You smell nice." <<case 1>> "I'm going to mate with you. I hope that's okay." <<case 2>> "You have to <<print ($pregnancyspeechdisable is "f" ? "breed" : "mate")>> with me." <<case 3>> "I bet you taste nice." <<case 4>> "You smell very fertile." <<case 5>> "I'll keep you warm." <<default>> "Ready to mother litter. Yours. All will see." <</switch>> <</if>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "hawkspeech">> <<if $NPCList[_n].penis isnot "none">> <<if $player.gender_appearance is "f">> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "<<Wife>> has to take my seed." <<case 1>> "Be still. Let me take care of you." <<case 2>> "Now is not time for mating dance! It's time for mating!" <<case 3>> "Is this landbound way of showing love? I have a lot to learn from <<wife>>." <<case 4>> "Will be harder to move like this when <<wife>> is full of eggs." <<case 5>> "Is <<wife>> not happy? How can I fix?" <<default>> "Will my seed calm you down, <<wife>>?" <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Even if <<wife>> is rough, I will be gentle." <<case 1>> "<<Wife>> is very strong! I feel so proud!" <<case 2>> "<<Wife>> will get hungry from all this squirming. I'll hunt big meal after." <<case 3>> "Will make sure <<wife>> has belly full of food and eggs." <<case 4>> "Be careful! I am not food! No need to fight me!" <<case 5>> "Hold still. I want to fill <<wife>> up." <<default>> "Our babies will be the strongest flyers." <</switch>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "Grateful for my eyes, that spotted you." <<case 1>> "I want to hear <<wife>>'s sweet mating song." <<case 2>> "Your smell is making me broody. I'll fill you up." <<case 3>> "I'll watch <<wife>> lay our eggs from <<pher>> fertile womb." <<case 4>> "I want to finish in <<wife>> and only <<wife>> for the rest of my life." <<case 5>> "Want to see you sitting on a clutch of eggs." <<default>> "Our babies will be the strongest flyers." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "We will make a beautiful flock together." <<case 1>> "Our mating song is the prettiest sound in the world." <<case 2>> "First you'll be full of my seed. Then full of my eggs." <<case 3>> "Does this make <<wife>> feel good, too?" <<case 4>> "I'll mate with you, make you as happy as you make me." <<case 5>> "Is <<wife>> ready for my seed?" <<default>> "I'm ready to breed with you." <</switch>> <</if>> <</if>> <<else>> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "<<Wife>> has to take my seed." <<case 1>> "Be still. Let me take care of you." <<case 2>> "Now is not time for mating dance! It's time for mating!" <<case 3>> "Is this landbound way of showing love? I have a lot to learn from <<wife>>." <<case 4>> "Will be harder to move like this when <<wife>> is full of my seed." <<case 5>> "Is <<wife>> not happy? How can I fix?" <<default>> "Will my seed calm you down, <<wife>>?" <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Even if <<wife>> is rough, I will be gentle." <<case 1>> "<<Wife>> is very strong! I feel so proud!" <<case 2>> "<<Wife>> will get hungry from all this squirming. I'll hunt big meal after." <<case 3>> "Will make sure <<wife>> has belly full of food and hole full of me." <<case 4>> "Be careful! I am not food! No need to fight me!" <<case 5>> "Hold still. I want to fill <<wife>> up." <<default>> "You're taking me so well." <</switch>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "Grateful for my eyes, that spotted you." <<case 1>> "I want to hear <<wife>>'s sweet mating song." <<case 2>> "Your smell is making me broody. I'll fill you up." <<case 3>> "I'll watch <<wife>>'s hole be filled with my seed." <<case 4>> "I want to finish in <<wife>> and only <<wife>> for the rest of my life." <<case 5>> "Want to see you sitting naked in our nest." <<default>> "You're taking me so well." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You make such a beautiful <<wife>>." <<case 1>> "Our mating song is the prettiest sound in the world." <<case 2>> "You'll be full of my seed." <<case 3>> "Does this make <<wife>> feel good, too?" <<case 4>> "I'll mate with you, make you as happy as you make me." <<case 5>> "Is <<wife>> ready for my seed?" <<default>> "I'm ready to breed with you." <</switch>> <</if>> <</if>> <</if>> <<else>> <<if $player.gender_appearance is "f">> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "<<Wife>> has to be marked with my scent." <<case 1>> "Be still. Let me take care of you." <<case 2>> "Now is not time for mating dance! It's time for mating!" <<case 3>> "Is this landbound way of showing love? I have a lot to learn from <<wife>>." <<case 4>> "Why move like this, <<wife>>?" <<case 5>> "Is <<wife>> not happy? How can I fix?" <<default>> "What will calm you down, <<wife>>?" <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Even if <<wife>> is rough, I will be gentle." <<case 1>> "<<Wife>> is very strong! I feel so proud!" <<case 2>> "<<Wife>> will get hungry from all this squirming. I'll hunt big meal after." <<case 3>> "Will make sure <<wife>> has belly full of food and skin marked with my scent." <<case 4>> "Be careful! I am not food! No need to fight me!" <<case 5>> "Hold still. I want to show <<wife>> my love." <<default>> "You're such a good mate." <</switch>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "Grateful for my eyes, that spotted you." <<case 1>> "I want to hear <<wife>>'s sweet mating song." <<case 2>> "Your smell is making me broody. I'll wet you with my juices." <<case 3>> "I'll watch the look on <<wife>>'s face as <<pshe>> finishes." <<case 4>> "I want to finish with <<wife>> and only <<wife>> for the rest of my life." <<case 5>> "Want to see you sitting naked in our nest." <<default>> "You're such a good mate." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You make such a beautiful <<wife>>." <<case 1>> "Our mating song is the prettiest sound in the world." <<case 2>> "First you'll be under me. Then finish under me." <<case 3>> "Does this make <<wife>> feel good, too?" <<case 4>> "I'll mate with you, make you as happy as you make me." <<case 5>> "Is <<wife>> ready to finish?" <<default>> "I'm ready to breed with you." <</switch>> <</if>> <</if>> <<else>> <<if $enemyanger gte 60>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "<<Wife>> has to give me <<pher>> seed." <<case 1>> "Be still. Let me take care of you." <<case 2>> "Now is not time for mating dance! It's time for mating!" <<case 3>> "Is this landbound way of showing love? I have a lot to learn from <<wife>>." <<case 4>> "Will be harder to move like this when <<wife>> is filling my womb." <<case 5>> "Is <<wife>> not happy? How can I fix?" <<default>> "Will my hole calm you down, <<wife>>?" <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "Even if <<wife>> is rough, I will be gentle." <<case 1>> "<<Wife>> is very strong! I feel so proud!" <<case 2>> "<<Wife>> will get hungry from all this squirming. I'll hunt big meal after." <<case 3>> "Will make sure <<wife>> has belly full of food and body warmed by me." <<case 4>> "Be careful! I am not food! No need to fight me!" <<case 5>> "Hold still. I want <<wife>> to fill me up." <<default>> "Our babies will be the strongest flyers." <</switch>> <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 2)>> <<switch $npcspeechcycle>> <<case 0>> "Grateful for my eyes, that spotted you." <<case 1>> "I want to hear <<wife>>'s sweet mating song." <<case 2>> "Your smell is making me broody. Fill me up." <<case 3>> "I'll watch <<wife>> fill me with <<pher>> semen." <<case 4>> "I want to finish with <<wife>> and only <<wife>> for the rest of my life." <<case 5>> "Want to sit on the eggs you'll give me." <<default>> "Our babies will be the strongest flyers." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> "You make such a beautiful <<wife>>." <<case 1>> "Our mating song is the prettiest sound in the world." <<case 2>> "Fill me with your seed." <<case 3>> "Does this make <<wife>> feel good, too?" <<case 4>> "I'll mate with you, make you as happy as you make me." <<case 5>> "Is <<wife>> ready to finish in me?" <<default>> "I'm ready to breed with you." <</switch>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "clothesspeech">> <<rng>> <<if $rng gte 81>> <<rng>> <<if !$worn.upper.type.includes("naked")>> <<He>> examines your $worn.upper.name. <<switch $worn.upper.name>> <<case "sundress">> <<switch random(1,3)>> <<case 1>> "What a cute little dress." <<case 2>> "I like your dress." <<case 3>> "So cute and innocent." <</switch>> <<case "evening gown">> <<if $enemyanger gte 20>> "You look like an expensive whore." <<else>> "Classy." <</if>> <<case "ballgown">> <<switch random(1,3)>> <<case 1>> "Beautiful." <<case 2>> "Looks like I stole someone's dance partner." <<case 3>> "I almost feel bad about getting your clothes dirty." <</switch>> <<case "kimono" "mini kimono">> <<switch random(1,3)>> <<case 1>> "How exotic." <<case 2>> "Where'd you get this?" <<case 3>> "You even dressed up for me." <</switch>> <<case "maid dress">> <<switch random(1,3)>> <<case 1>> "Time to service your <<master>>." <<case 2>> "I'm your <<master>> now." <<case 3>> "Call me <<master>>." <</switch>> <<case "nun's habit">> <<if $enemyanger gte 20>> <<switch random(1,3)>> <<case 1>> "Trying to look virtuous? No one's buying it, slut." <<case 2>> "You think that's going to protect you?" <<case 3>> "Pious girls are all the more fun to ravage." <</switch>> <<else>> "Always wanted to fuck a nun." <</if>> <<case "pyjama shirt">> <<if $rng gte 71 and $location isnot "home">> "Looks like someone forgot to dress this morning." <<elseif $rng gte 41>> "How unflattering." <<else>> "Don't sell yourself short." <</if>> <<case "t-shirt">> "That shirt's doing a poor job of hiding your cute body." <<case "school shirt">> <<if ["Sirris","River","Doren","Winter","Mason","Leighton"].includes($NPCList[_n].fullDescription)>> <<if $location is "school">> "At least you're following the dress code." <<else>> "Still eager to learn?" <</if>> <<elseif $NPCList[_n].teen is 1>> <<switch random(1,4)>> <<case 1>> "The school uniform looks good on you." <<case 2>> "I hate how they make us wear these." <<case 3>> "Call me teacher." <<case 4>> "I've got a lot to teach you." <</switch>> <<else>> <<switch random(1,4)>> <<case 1>> "Always wanted to fuck a student." <<case 2>> "Still going to school, I see." <<case 3>> "Call me teacher." <<case 4>> "I've got a lot to teach you." <</switch>> <</if>> <<case "tank top">> <<switch random(1,2)>> <<case 1>> "Only sluts wear tank tops." <<case 2>> "Really shows off your chest." <</switch>> <<case "tuxedo jacket">> <<if $enemyanger gte 20>> "Looks like you were on your way to somewhere fancy. You're stuck with me now." <<elseif $player.gender_appearance is "f">> "Trying to pass as a boy?" <<else>> "Classy." <</if>> <<case "babydoll lingerie">> <<if $enemyanger gte 20>> "You're really asking for it, wearing that." <<else>> <<switch random(1,3)>> <<case 1>> "So sexy." <<case 2>> "God you're hot." <<case 3>> "You can't expect me to control myself if you dress like that." <</switch>> <</if>> <<case "crop top">> "Really shows off your nice, tight body." <<case "tube top">> <<switch random(1,2)>> <<case 1>> "You're barely wearing anything." <<case 2>> "You may as well be running around in underwear." <</switch>> <<case "turtleneck">> <<if $enemyanger gte 20>> <<switch random(1,2)>> <<case 1>> "You look so slutty in that." <<case 2>> "Only sluts dress like this." <</switch>> <<else>> <<switch random(1,2)>> <<case 1>> "Cute tummy." <<case 2>> "You're so slim." <</switch>> <</if>> <<case "sweater">> <<switch random(1,2)>> <<case 1>> "You're adorable." <<case 2>> "Why so shy?" <</switch>> <<case "serafuku" "gakuran">> <<switch random(1,3)>> <<case 1>> "What a cute outfit." <<case 2>> "Are you one of those anime nerds?" <<case 3>> "Always wanted to fuck a <<girl>> in one of these." <</switch>> <<case "plant top">> <<switch random(1,7)>> <<case 1>> "How strange." <<case 2>> "What is that?" <<case 3>> "You look like a mermaid." <<case 4>> "Has an odd charm." <<case 5>> "Lost your clothes?" <<case 6>> "That can't be hygienic." <<case 7>> "Is that made of plants?" <</switch>> <<case "towel top" "large towel">> <<switch random(1,3)>> <<case 1>> "Were you in a hurry?" <<case 2>> "You need to get yourself some new clothes." <<case 3>> "Nice and easy to take off." <</switch>> <<default>> <<basespeech>><<neutral 1>> <</switch>> <<else>> <<basespeech>><<neutral 1>> <</if>> <<elseif $rng gte 61>> <<rng>> <<if !$worn.lower.type.includes("naked")>> <<He>> examines your $worn.lower.name. <<switch $worn.lower.name>> <<case "pyjama bottoms">> <<if $rng gte 71 and $location isnot "home">> "Forget to dress this morning?" <<elseif $rng gte 41>> "How unflattering." <<else>> "Don't sell yourself short." <</if>> <<case "waist apron">> <<switch(1,2)>> <<case 1>> "Already dressed for service, huh?" <<case 2>> "Cute apron." <</switch>> <<case "school shorts">> <<if $player.gender_appearance is "f">> <<switch random(1,2)>> <<case 1>> "Aren't those for boys?" <<case 2>> "What a tomboy you are." <</switch>> <<else>> <<switch random(1,2)>> <<case 1>> <<if $NPCList[_n].teen is 1>>"The uniform shorts fit you."<<else>>"Always wanted to fuck a school boy."<</if>> <<case 2>> "Nice and tight." <</switch>> <</if>> <<case "shorts">> <<switch(1,2)>> <<case 1>> "These show off your legs nicely." <<case 2>> "Wish you were wearing something tighter." <</switch>> <<case "school skirt">> <<if $player.gender_appearance is "m">> <<if $NPCList[_n].teen is 1>> "Do you get off on people thinking you're a girl?" <<else>> "Do your classmates know you're a boy?" <</if>> <<else>> <<if $NPCList[_n].teen is 1>> "The uniform skirt suits you." <<else>> "Always wanted to fuck a school girl." <</if>> <</if>> <<case "tuxedo trousers">> <<if $enemyanger gte 20>> "Were you on your way to somewhere fancy? You're stuck with me now." <<elseif $player.gender_appearance is "f">> "Do you enjoy dressing as a boy?" <<else>> <<switch random(1,2)>> <<case 1>> "Nice trousers." <<case 2>> "I'll try not to dirty your fancy trousers too much." <</switch>> <</if>> <<case "board shorts">> <<switch(1,2)>> <<case 1>> "I hope you enjoy your swim." <<case 2>> "I prefer shorts to be shorter." <</switch>> <<case "breeches">> "Really show off your legs." <<case "long cut skirt" "short cut skirt" "long skirt">> <<switch(1,2)>> <<case 1>> "I love a skirt. So easy to pull up." <<case 2>> "I'm glad you're wearing a skirt. Makes things easy." <</switch>> <<case "cycle shorts">> <<switch random(1,5)>> <<case 1>> "The sight of your cute bottom in those tight shorts is driving me crazy." <<case 2>> "Those don't leave much to the imagination. I'm not complaining." <<case 3>> "Do I see a wet patch between your legs?" <<case 4>> "That tight fabric is so inviting." <<case 5>> "I want to run my hands all over that." <</switch>> <<case "jeans">> "They really accentuate your legs." <<case "school trousers">> <<if $player.gender_appearance is "f">> "You're such a tomboy." <<else>> <<if $NPCList[_n].teen is 1>> "You should wear something more revealing." <<else>> "Always wanted to fuck a school boy." <</if>> <</if>> <<case "trousers">> "You should wear something tighter." <<case "miniskirt">> <<if $enemyanger gte 20>> "Only total sluts wear them this short." <<else>> <<switch random(1,2)>> <<case 1>> "That short skirt is driving me crazy." <<case 2>> "I like them short." <</switch>> <</if>> <<case "plant skirt">> <<switch random(1,7)>> <<case 1>> "How strange." <<case 2>> "What is that?" <<case 3>> "You look like a mermaid." <<case 4>> "Has an odd charm." <<case 5>> "Lost your clothes?" <<case 6>> "That can't be hygienic." <<case 7>> "Is that made of plants?" <</switch>> <<case "towel skirt" "large towel bottom">> <<switch random(1,3)>> <<case 1>> "Were you in a hurry?" <<case 2>> "You need to get yourself some new clothes." <<case 3>> "Nice and easy to take off." <</switch>> <<default>> <<basespeech>><<neutral 1>> <</switch>> <<else>> <<basespeech>><<neutral 1>> <</if>> <<elseif $rng gte 41>> <<rng>> <<if !$worn.under_upper.type.includes("naked") and $worn.upper.exposed gte 2>> <<He>> examines your $worn.under_upper.name. <<switch $worn.under_upper.name>> <<case "school swimsuit" "foreign school swimsuit">> <<if $enemyanger gte 20>> "I'll leave you a wet mess." <<elseif $rng gte 51>> <<if $NPCList[_n].teen is 1>> "Always wanted to fuck the girls in my class in their swimsuits." <<else>> "Always wanted to fuck a student in one of these swimsuits." <</if>> <<else>> "School swimsuits are so hot." <</if>> <<case "leotard" "skimpy leotard" "unitard">> <<switch random(1,4)>> <<case 1>> "That leotard leaves little to the imagination." <<case 2>> "So nice and tight." <<case 3>> "That leotard really accentuates your body." <<case 4>> "I love athletic <<girls>>." <</switch>> <<case "swimsuit">> <<if $enemyanger gte 20>> "I'll leave you a wet mess." <<else>> <<switch random(1,3)>> <<case 1>> "Always wanted to fuck a <<if $player.gender_appearance is "m">>'girl'<<else>>girl<</if>> in a swimsuit." <<case 2>> "What a cute swimsuit." <<case 3>> "Your swimsuit is so hot." <</switch>> <</if>> <<case "bunny leotard">> <<switch random(1,6)>> <<case 1>> "That leotard leaves nothing to the imagination." <<case 2>> "So nice and tight." <<case 3>> "That leotard really accentuates your body." <<case 4>> "Your body deserves a tip." <<case 5>> "Are you in heat, bunnygirl?" <<case 6>> "You look just like those in magazines." <</switch>> <<case "bikini top">> <<if $rng gte 51>> "Cute bikini." <<else>> <<if $NPCList[_n].penis isnot "none">> "I bet you give people lots of awkward boners on the beach." <<else>> "I bet you've gotten countless pussies wet." <</if>> <</if>> <<case "catgirl bra">> <<switch random(1,2)>> <<case 1>> "You're a cute one." <<case 2>> "Quite the playful one, aren't you?" <</switch>> <<case "lace bra">> <<switch random(1,2)>> <<case 1>> "Sexy and tasteful." <<case 2>> "That's pretty lewd." <</switch>> <<case "microkini top">> "You're lewd indeed if you go swimming like this." <<case "plain bra">> "Plain, but pretty." <<case "sports bra" "swim shirt">> <<switch random(1,2)>> <<case 1>> "I love sexy sportswear." <<case 2>> "You're quite athletic, aren't you?" <</switch>> <<default>> <<basespeech>><<neutral 1>> <</switch>> <<else>> <<basespeech>><<neutral 1>> <</if>> <<elseif $rng gte 21>> <<rng>> <<if !$worn.under_lower.type.includes("naked") and $worn.lower.exposed gte 2>> <<He>> examines your $worn.under_lower.name. <<switch $worn.under_lower.name>> <<case "plain panties">> "Plain, but pretty." <<case "bikini bottoms">> <<if $rng gte 51>> "Cute bikini." <<else>> <<if $NPCList[_n].penis isnot "none">> "I bet you cause lots of awkward boners wearing this at the beach." <<else>> "You're making me so wet." <</if>> <</if>> <<case "lace panties">> "Lewd yet classy." <<case "briefs">> <<if $player.gender_appearance is "f">> "Aren't those for boys?" <<else>> "I might keep these as a souvenir." <</if>> <<case "school swim shorts">> <<if $player.gender_appearance is "f">> <<switch random(1,2)>> <<case 1>> "Did you steal those from the boys' changing room?" <<case 2>> "Aren't those for boys? They're nice and tight still." <</switch>> <<else>> <<switch random(1,2)>> <<case 1>> "I've always wanted to fuck a school boy wearing these." <<case 2>> "So glad they make the uniform swimsuits so tight." <</switch>> <</if>> <<case "boyshorts">> <<switch random(1,2)>> <<case 1>> "These really show off your bottom." <<case 2>> "So spankable." <</switch>> <<case "catgirl panties">> <<switch random(1,2)>> <<case 1>> "So cute." <<case 2>> "How playful." <</switch>> <<case "G-string">> <<switch random(1,2)>> <<case 1>> "I love these." <<case 2>> "They barely cover anything." <</switch>> <<case "crotchless panties">> <<switch random(1,2)>> <<case 1>> "Kinky." <<case 2>> "Don't even need to remove them." <</switch>> <<case "microkini bottom">> "You must be pretty perverted to go swimming in this." <<case "speedo">> <<if $player.gender_appearance is "f">> "Aren't those for boys? Hot though." <<else>> "So tight." <</if>> <<case "striped panties">> <<if $rng gte 100>> "Shimapan!" <<elseif $rng gte 51>> "Very cute." <<else>> "Cute colours." <</if>> <<default>> <<basespeech>><<neutral 1>> <</switch>> <<else>> <<basespeech>><<neutral 1>> <</if>> <<elseif $rng gte 11>> <<rng>> <<if !$worn.face.type.includes("naked")>> <<He>> examines your $worn.face.name. <<if $worn.face.type.includes("glasses")>> <<if $enemyanger gte 20>> <<switch random(1,5)>> <<case 1>> "I'll break those if you don't behave." <<case 2>> "Fucking nerd." <<case 3>> "How'd you like to have your glasses smashed?" <<case 4>> "You must be picked on all the time with those." <<case 5>> "How much those cost? Maybe I'll take them." <</switch>> <<else>> <<switch random(1,5)>> <<case 1>> "I love <<girls>> with glasses." <<case 2>> "Cute glasses." <<case 3>> "Fashionable." <<case 4>> "They suit you." <<case 5>> "Nice eyewear." <</switch>> <</if>> <<else>> <<basespeech>><<neutral 1>> <</if>> <<else>> <<basespeech>><<neutral 1>> <</if>> <<else>> <<rng>> <<if !$worn.legs.type.includes("naked")>> <<He>> examines your $worn.legs.name. <<switch $worn.legs.name>> <<case "tights">> <<switch random(1,3)>> <<case 1>> "Your legs look so smooth." <<case 2>> "Makes me want to run my hands all over them." <<case 3>> "Such a tease." <</switch>> <<case "boy's gym socks" "girl's gym socks">> "Cute socks." <<case "fishnet stockings" "fishnet tights">> <<if $enemyanger gte 20>> "You look like a whore." <<else>> "I love fishnets." <</if>> <<case "stockings" "garter stockings">> "Classy." <<case "legwarmers">> "How cute." <<default>> <<basespeech>><<neutral 1>> <</switch>> <<else>> <<basespeech>><<neutral 1>> <</if>> <</if>> <</widget>> <<widget "plantspeech">> <<if $speechpenisvirgin is 1 or $speechvaginavirgin is 1>> <<He>> grins. "Is this your first time? Lucky break!" <<elseif $speechanusvirgin gte 1>> <<He>> grins. "First time taking it up this hole, huh? I'll show you how great it is!" <<elseif $speechmouthvirgin gte 1>> <<He>> grins. "You've never used your mouth like this before, have you? I'll make it extra sweet, just for you." <<elseif $speechkissvirgin is 1>> <<He>> moans into your mouth. "I'll get you addicted to kissing. Or maybe you'll just be addicted to me." <span class="pink">Sweet nectar floods your mouth, and <<he>> winks.</span> <<nectarfed 50>> <<elseif $speechvaginavirgin is 2 and $NPCList[0].penis isnot "none">> <<He>> whines. "Oh, you were a virgin? Come on! I knew I should've used my dick." <<elseif $speechpenisvirgin is 2>> <<He>> whines. "Oh, you were a virgin? Come on! I knew I should've used my <<if $NPCList[0].vagina isnot "none">>pussy<<else>>ass<</if>>." <<elseif $speechspray is 1>> <<He>> yelps. <<if $speechspraycycleplant is 1>> "Cut that out!" <<else>> <<set $speechspraycycleplant to 1>> "Agh! What is that, attack pollen? Can humans do that?!" <</if>> <<elseif $speechcum is 1>> <<if $exposed gte 2 and $player.penisExist>> <<if $semen_amount lte (($semen_volume / 24) * 6) or $orgasmcount gte 24 or $femaleclimax or _deniedOrgasm>> <<He>> blinks. "Where's the, y'know... the cum? Is that it?" <<elseif ["othervagina","otheranus","tentacle","tentacledeep"].includes($penisstate)>> <<if $parasite.penis.name or _condom or $worn.genitals.name is "chastity parasite">> <<He>> groans. "Come on, get that thing off your dick! It blocked all the cum!" <<elseif $orgasmcurrent is 1>> <<He>> moans. "Oh, that's the stuff. I'll milk you dry for this. Fertilise me more." <<else>> <<He>> moans. "I'll be the one addicted to you at this rate. Plant your seed in me." <</if>> <<else>> <<switch $orgasmcurrent>> <<case 1>> <<He>> giggles. "I'm not the only one having fun." <<case 2>> <<He>> giggles. "Wow, you're like a fountain!" <<default>> <<He>> giggles. "I'll milk you dry, just watch me." <</switch>> <</if>> <<else>> <<if ["otherpenis","tentacle"].includes($vaginause) or ["otherpenis","tentacle"].includes($anususe)>> <<switch $orgasmcurrent>> <<case 1>> <<He>> moans. "It'll be my turn soon. I'll pollinate you." <<case 2>> <<if $vaginause is "tentacle" or $anususe is "tentacle">> <<He>> giggles. "Are my vines making you feel that good?" <<else>> <<He>> giggles. "You're so cute, making that face while I'm fucking you." <</if>> <<default>> <<He>> giggles. "You won't need anyone but me soon enough!" <</switch>> <<else>> <<switch $orgasmcurrent>> <<case 1>> <<He>> grins. "I love making humans do that." <<case 2>> <<He>> grins. "Now how about you make me feel good, to return the favour?" <<default>> <<He>> giggles. "You won't need anyone but me soon enough!" <</switch>> <</if>> <</if>> <<elseif $alarm is 1 and isLoveInterest("Eden") and $location is $forest>> <<He>> yelps. "What are you doing, shouting for the freak? Don't you know how dangerous <<nnpc_he "Eden">> is?!" <<set $enemytrust -= 30>> <<elseif $speechnamedrop is 1 and _loveInterest is "Eden" and $location is "forest">> <<He>> flinches at your words. "Oh shit, you know the <<nnpc_title "Eden">>? This is... dangerous." <<set $enemytrust -= 20>> <<elseif $speechnamedrop is 1 and _loveInterest is "Black Wolf" and $location is "forest">> <<He>> grins. "The alpha won't even recognise you when I'm done with you!" <<elseif $speechnamedrop is 1 and _loveInterest is "Alex" and $location is "moor">> <<He>> grins. "A farmer, huh? Maybe I'll cultivate you, cow<<girl>>." <<elseif $speechnamedrop is 1 and _loveInterest is "Great Hawk" and $location is "moor">> <<He>> flinches at your words. "Oh shit, you know the sky terror? This is... dangerous." <<set $enemytrust -= 20>> <<elseif random(1,10) is 10 and $NPCList[_n].penis isnot "chest" and $NPCList[_n].location.genitals isnot "head" and $mouthstate is 0 and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <span class="blue"><<He>> moves <<his>> lips close to yours, about to kiss.</span> <span class="pink"><<His>> breath smells sweet.</span> <<set $mouthuse to "kiss">><<set $mouthstate to "kissentrance">><<set $NPCList[_n].mouth to "kissentrance">><<sex 1 "mouth">><<set $mouthtarget to _n>> <<set $NPCList[_n].location.head = "head">> <<elseif random(1,20) is 20 and $tentacleMouth>> <<He>> <span class="lblue">yanks the $tentacleMouth <<if $mouthstate is "tentacle" or $mouthstate is "tentacledeep">>out of<<else>>away from<</if>> your mouth</span> and <span class="blue">moves <<his>> lips close to yours, about to kiss.</span> <span class="pink"><<His>> breath smells sweet.</span> <<set $mouthuse to "kiss">><<set $mouthstate to "kissentrance">><<set $NPCList[_n].mouth to "kissentrance">><<sex 1 "mouth">><<set $mouthtarget to _n>> <<set $NPCList[_n].location.head = "head">> <<set $tentacleMouth to "removed">> <<elseif random(1,3) is 3>> <<basespeech "low">> <<else>> <<if $speechheadsuckle is 1 or $speechmouthpenetrated is 1 or $speechvaginamouth is 1 or $speechfacesit is 1>> <<switch $npcspeechcycle>> <<case 0>> <<He>> coos. "Isn't it the sweetest thing you've ever tasted?" <<case 1>> <<He>> coos. "Drink up, it's good for you!" <<case 2>> <<He>> giggles. "You love my nectar, don't you? It's okay. Everyone does." <<case 3>> <<He>> coos. "Just keep drinking it, until your mind goes blank." <<case 4>> <<He>> giggles. "Wouldn't it be lovely if you got addicted, and had to spend the rest of your life here?" <<case 5>> <<He>> <<if $NPCList[_n].lefthand is 0 or $NPCList[_n].righthand is 0>>strokes your hair<<else>>smiles at you<</if>>. "You don't need to worry. I'll take care of you." <<default>> <<He>> giggles. "You won't be able to go back to anything else." <</switch>> <<elseif $speechheadsuckleclosed is 1 or $speechmouthentrance is 1 or $speechmouthimminent is 1 or ($speechheadnippleclosed is 1 and $NPCList[_n].pronoun is "f")>> <<switch $npcspeechcycle>> <<case 0>> <<He>> whines. "Try it, it's good!" <<case 1>> <<He>> coos. "You'll love my nectar. Come on, just a lick." <<case 2>> <<He>> coos. "It's delicious, I promise!" <<case 3>> <<He>> whines. "Please? Just one lick. Just one itty-bitty drop." <<case 4>> <<He>> huffs. "You'd love slurping down my nectar, you know." <<case 5>> <<He>> whines. "You're supposed to get addicted! Come on, work with me!" <<default>> <<He>> pouts. "We'd both have so much more fun if you just opened your mouth and started sucking." <</switch>> <<else>> <<switch $npcspeechcycle>> <<case 0>> <<if $worn.upper.name is "plant top" and random(0,1) is 1>> <<He>> examines your $worn.upper.name and beams. "We match!" <<elseif $worn.lower.name is "plant skirt" and random(0,1) is 1>> <<He>> examines your $worn.lower.name and beams. "We match!" <<elseif $worn.head.name is "flower crown" and random(0,1) is 1>> <<He>> examines your $worn.head.name and gasps. "Oh, that's so cute! I need to make one of those for myself!" <<elseif $rng gte 51>> <<He>> speaks. "I bet nobody in the town has vines like mine!" <<else>> <<He>> speaks. "All natural, baby." <</if>> <<case 1>> <<if $wolfgirl gte 4 and $transformationParts.wolf.ears isnot "hidden" and $location is "forest">> <<He>> examines your wolf ears and frowns. "Hey, are you with the... never mind." <<elseif $harpy gte 6 and $transformationParts.bird.wings isnot "hidden" and $location is "moor">> <<He>> examines your<<if $demon gte 6 or $angel gte 6 or $fallenangel gte 2>> bird<</if>> wings and frowns. "Hey, are you with the... never mind." <<elseif $cow gte 2 and $transformationParts.cow.horns isnot "hidden" and $location is "moor">> <<He>> examines your<<if $demon gte 2>> cow<</if>> horns and smiles. "Don't worry. I won't let Remy get you." <<elseif $rng gte 51>> <<He>> speaks. "You deserve this. You deserve this pleasure." <<else>> <<He>> speaks. "We fit together perfectly!" <</if>> <<case 2>> <<if $speechcoverface is 1 or $speechcoverpenis is 1 or $speechcovervagina is 1>> <<He>> giggles. "You don't need to be shy! I'm the only one here." <<elseif ["othervagina","otheranus","tentacle","tentacledeep"].includes($penisuse) and $orgasmcurrent gte 1>> <<He>> moans. "You're a much better pollinator than <<if $location is "forest">>those giant wasps<<else>>the lurkers<</if>>!" <<He>> <<if $NPCList[_n].lefthand is 0 or $NPCList[_n].righthand is 0>>scratches <<his>> head<<else>>smiles<</if>> sheepishly. "That, er, was a compliment." <<elseif $rng gte 51>> <<He>> whispers. "Don't you want to kiss me, lick me, taste me all over?" <<else>> <<He>> speaks. "This is the best, isn't it?" <</if>> <<case 3>> <<if $rng gte 66>> <<He>> grins. "A little slice of paradise, just for us." <<elseif $rng gte 33>> <<He>> grins. "You'll be thinking about me for days." <<else>> <<He>> grins. "If I had my way, you'd be here forever." <</if>> <<case 4>> <<if $anususe is "tentacle" and $tentacleAnusBaby and $parasitepregdisable is "f">> <<He>> grins. "I'll leave you with something to remember me." <span class="purple">The $tentacleAnus pounding your <<bottom>> speeds up.</span> <<if $NPCList[_n].penis is "anus" and $NPCList[_n].penissize gte 4 and $parasitepregdisable is "f">> <<He>> grins. "I'll leave you with something to remember me." <span class="purple"><<He>> thrusts faster into your <<bottom>>.</span> <</if>> <<elseif $noanal is 1 and $parasitepregdisable is "f">> <<He>> pouts. "Shame you don't want it in the ass. I could've given you something to remember me by." <<elseif $rng gte 51>> <<He>> grins. "I just want to pollinate you." <<else>> <<He>> speaks. "Just let me take care of you." <</if>> <<case 5>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> <<He>> moans. "I don't want it to end, but... I'm so close!" <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <<He>> moans. "I might not be able to go back to anyone else. Not after you." <<else>> <<He>> speaks. "I swear, you were made for this!" <</if>> <<default>> <<if $tentacletrait is 1 and random(1,5) is 1>> <<He>> grins. "I can see it in your eyes. You've been dying for this, haven't you?" <<He>> leans in to whisper in your ear. "Someone like me, filling your every hole with my vines. <<if $speech_attitude is "bratty">> Let me fulfil that wish, little <span class="lewd">witch</span>." <<else>> Turning you into my <span class="lewd">prey</span>." <</if>> <<elseif $rng gte 51>> <<He>> speaks. "I'll keep going, and going, until you give in." <<else>> <<He>> giggles. "I've fucked a lot of humans. You're one of my favourites!" <</if>> <</switch>> <</if>> <</if>> <</widget>> <<widget "namedNpcComments">><<silently>> <<unset _noNameComment>> <<switch _args[0]>> <<case "Robin">> <<if $robinmist>> <<set $_text_output to `<br><br>`>> <<set $_text_output += [ `Robin is crying.`, `Robin frantically tries to look away from you, but <<he>> doesn't stop.`, `"I d-don't..." Robin whispers under <<his>> breath.`, `"I love you!" Robin says, though <<hes>> not smiling.`, `"I just need-" Robin gasps. <<He>> doesn't try to finish <<his>> sentence.`, `Robin closes <<his>> eyes, unable to meet your gaze.`, `Robin cries out. Tears are running down <<his>> face.`, `Robin shakes <<his>> head and closes <<his>> eyes.`, `"S-stop it!" Robin yells, but not at you.`, `"I need you..." Robin says with teary eyes.` ][random(0,9)]>> <<set $_text_output += `<<grtrauma>>`>> <<elseif $robinMetal>> <<set $_text_output to [ `Robin can't maintain eye contact.`, `"Hurry," Robin whispers. "So they'll leave you alone."`, `Robin struggles against <<his>> bindings.`, `Robin struggles against the metal tentacles holding <<him>>. They don't budge.`, `"Please," Robin whimpers.`, `Robin stifles a sob.`, `"I'm sorry," Robin hiccups.`, `"They did something to me," Robin says shamefully. "I feel... numb."`, `"I'm sorry it's taking so long," Robin mutters.`, `"They're using me against you," Robin sobs.` ][random(0,9)]>> <<elseif ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> gasps. "You saved yourself for me. I don't deserve something so special. Thank you." Tears roll down <<his>> cheeks.`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to `<<He>> gasps. "This is so naughty!"`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> gasps. "You're making me feel funny down there."`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<set $_text_output to `<<He>> speaks. "So you're a cheater in more ways than one. (This line is a placeholder and should be unobtainable.)"`>> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<if C.npc.Robin.dom gte 70>> <<set $_text_output to `<<He>> looks at your $_sexToy and giggles. "` + [`I've wanted to do this with you for a while.`, `This is so dirty... keep going.`][random(0,1)] + `"`>> <<elseif C.npc.Robin.dom lte 30>> <<set $_text_output to `<<He>> looks at your $_sexToy and blushes. "` + [`Woah! Don't you feel embarrassed?`, `Just take it slow, okay?`][random(0,1)] + `"`>> <<else>> <<set $_text_output to `<<He>> looks at your $_sexToy and giggles. "` + [`I can't believe you're touching that.`, `This is so dirty... keep going.`][random(0,1)] + `"`>> <</if>> <<elseif $speechaskrough is 1>> <<set $_text_output to `<<He>> speaks. "You want me to be more rough? I'm sorry, I'm already being as rough as I can."`>> <<else>> <<set $_text_output to ` `>> <</if>> <<case "Kylar">> <<set _kylar to statusCheck("Kylar")>> <<if ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> gasps. "You were a virgin too," <<he>> says. "We were meant for each other."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<if $player.vaginaExist and $pregnancyspeechdisable is "f">> <<set $_text_output to `<<He>> gasps. "We can't make babies this way, but I just couldn't resist you."`>> <<elseif !$player.vaginaExist and _kylar.gender is "m" and knowsAboutAnyPregnancy("pc","Kylar") and $pregnancyspeechdisable is "f">> <<set $_text_output to `<<He>> gasps. "Is this how you got pregnant before? But you were still a virgin!"`>> <<else>> <<set $_text_output to `<<He>> gasps. "Every part of you, the deepest part of you. I wanna feel it all!"`>> <</if>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> gasps. "Finally, you're kissing the most intimate part of me. Just like in my dreams!"`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> gasps. "Iloveyouiloveyouiloveyou!!!"`>> <<set $kylarSeen.pushUnique("saidLove")>> <<elseif $speechcrossdressaroused is 1 and $pregnancyspeechdisable is "f">> <<if _kylar.gender is "h">> <<set $_text_output to `<<He>> gasps. "Oh. I thought you were..." <<He>> shakes <<his>> head with a grin. "Oh well! We can still make a family together...!"`>> <<elseif $player.penisExist>> <<set $_text_output to `<<He>> gasps. "You can make me pregnant. I'd given up on making a family, but..." <<He>> starts to cry. "You can make me pregnant...!"`>> <<else>> <<set $_text_output to `<<He>> gasps. "I can make you pregnant. I'd given up on making a family, but..." <<He>> starts to cry. "I can make you pregnant...!"`>> <</if>> <<elseif $speechcrossdressdisappointed is 1>> <<if !$player.vaginaExist and knowsAboutAnyPregnancy("pc","Kylar")>> <<set $_text_output to `<<He>> sighs. "Oh. I thought you were..." <<He>> suddenly looks excited. "But weren't you pregnant before? Hmm, there's still a chance then."`>> <<else>> <<set $_text_output to `<<He>> sighs. "Oh. I thought you were..." <<He>> shakes <<his>> head. "I-it's okay. We can always adopt."`>> <</if>> <<elseif $speechhermaroused is 1>> <<if _kylar.gender is "h" and $pregnancyspeechdisable is "f">> <<set $_text_output to `<<He>> gasps. "You have both...? Just like me...? We could make so many children...perfection..."`>> <<else>> <<set $_text_output to `<<He>> gasps. "You have both...? I didn't think you could get any more perfect..."`>> <</if>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<if _loveInterest is "Black Wolf" or _loveInterest is "Great Hawk">> <<set $_text_output to `<<His>> eyes narrow. "I can be an animal, too. Watch!"`>> <<elseif random(1, 100) lte 50>> <<switch _loveInterest>> <<case "Robin">> <<set $_text_output to `<<He>> growls. "Robin can't take care of you like I can!"`>> <<case "Whitney">> <<set $_text_output to `<<He>> freezes. "W... Whitney can't stop me!"`>> <<case "Sydney">> <<set $_text_output to `<<He>> growls. "Sydney doesn't know you like I do!"`>> <<set $kylarSeen.pushUnique("sydneyWriting")>> <<default>> <<set $_text_output to `<<He>> freezes. "Who... are you talking about...?"`>> <</switch>> <<else>> <<set $_text_output to `<<He>> freezes. "You don't need them! You only need me!"`>> <</if>> <<set $_text_output += "<<npcincr Kylar rage 10>><<ggksuspicion>>">> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<if !$player.penisExist and $NPCList[0].vagina isnot "none" and random(0,2) isnot 0>> <<set $_text_output to `<<He>> looks at your $_sexToy and speaks. "` + [`U-use it. Please, use me, use it.`, `It's a sign of our love, right?`][random(0,1)] + `"`>> <<elseif $player.penisExist or $NPCList[0].penis isnot "none" and random(0,2) isnot 0>> <<set $_text_output to `<<He>> looks at your $_sexToy and speaks. "` + [`What... am I doing wrong...?`, `If it makes you happy, my love, but...`][random(0,1)] + `"`>> <<else>> <<set $_text_output to `<<He>> looks at your $_sexToy and pouts. "Am I not good enough for you?"`>> <</if>> <<elseif _silent isnot 1>> <<set $kylarsexcycle to $kylarsexcycle or 0>> <<switch $kylarsexcycle>> <<case 0>> <<if $pregnancyspeechdisable is "f" and (playerCanBreedWith("Kylar") or (!$genderknown.includes("Kylar") and $player.gender_appearance is "f"))>> <<set $_text_output to `<<He>> whispers into your ear. "We're going to make lots of babies."`>> <<else>> <<set $_text_output to `"We're going to adopt lots of babies," <<he>> says.`>> <</if>> <<case 1>> <<set $_text_output to `"You'll be the best ${$player.gender_appearance is "m" ? "daddy" : "mummy"} ever," <<he>> says.`>> <<case 2>> <<set $_text_output to `"You're so naughty," <<he>> says. "We're not even married yet!"`>> <<case 3>> <<set $_text_output to `"I want you to wear me out," <<he>> says, "and then keep going."`>> <<case 4>> <<set $_text_output to `"I'm going to do this again and again until you forget about every other ${$pronoun is "m" ? "bastard" : "whore"} who's looked at you," <<he>> says.`>> <<case 5>> <<set $_text_output to `"I'll be the only one you ever think about," <<he>> says.`>> <<case 6>> <<set $_text_output to `"Everyone is bad," <<he>> says. "Except you. You're perfect."`>> <<case 7>> <<set $_text_output to `"I feel safe like this," <<he>> says. "I never want it to end."`>> <<case 8>> <<set $_text_output to `"I l-love you," <<he>> says.`>> <<set $kylarSeen.pushUnique("saidLove")>> <<default>> <<set $_text_output to `"You're so lewd and naughty and all mine," <<he>> says.`>> <</switch>> <<set $kylarsexcycle to ($kylarsexcycle + 1) % 10>> <!-- increase by one, and reset to 0 if it hits 10 --> <<else>> <<set $_text_output to ` `>> <</if>> <<case "Eden">> <<if ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> speaks. "I felt your virginity. I couldn't help it. I needed to take you."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to `<<He>> speaks. "I know this hurts now, but you'll get used to it soon."`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> speaks. "Damn, you feel great. We're definitely doing this more often."`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> speaks. "How was that? I'm not done, though."`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<switch _loveInterest>> <<case "Black Wolf" "Great Hawk">> <<set $_text_output to `<<He>> speaks. "That thing will tear you apart the first chance it gets! Stay away from it."`>> <<default>> <<set $_text_output to `<<He>> speaks. "Whoever that is, forget them." <<He>> sounds hurt.`>> <</switch>> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<set $_text_output to `Eden looks at your $_sexToy. "Toys like that aren't necessary," <<he>> says. "They might even get in the way."`>> <</if>> <<if $daily.eden.huntCaught gte 1>> <<switch $daily.eden.huntCaught>> <<case 1>> <<set $_text_output to `"How dare they touch you?" Eden growls.`>> <<case 2>> <<set $_text_output to `"You belong to me," Eden snaps.`>> <<case 3>> <<set $_text_output to `"You're mine." Eden says. "Only mine."`>> <<case 4>> <<set $_text_output to `"I'm the only one who's allowed to do this to you," Eden says.`>> <<case 5>> <<set $_text_output to `"If anyone else lays their hands on you," Eden says, "they're dead."`>> <<case 6>> <<set $_text_output to `"Only I can touch you like this," Eden seethes.`>> <<case 7>> <<set $_text_output to `"Say it," Eden growls. "Tell me that you're mine."`>> <<case 8>> <<set $_text_output to `"You're my possession." Eden says. "Mine alone."`>> <<case 9>> <<set $_text_output to `"Don't forget who you belong to," Eden says.`>> <<case 10>> <<set $_text_output to `"I own every single part of you," Eden growls.`>> <</switch>> <<set $daily.eden.huntCaught to ($daily.eden.huntCaught + 1) % 10>> <</if>> <<if $daily.eden.robinCrash gte 1>> <<switch $daily.eden.robinCrash>> <<case 1>> <<set $_text_output to `"<<nnpc_He "Robin">> can't protect you," Eden snarls.`>> <<case 2>> <<set $_text_output to `"Only I can," Eden says.`>> <<case 3>> <<set $_text_output to `"I'm the one who provides for you," Eden says.`>> <<case 4>> <<set $_text_output to `"I'm the one who cares for you," Eden shouts.`>> <<case 5>> <<set $_text_output to `"<<nnpc_He "Robin">> didn't rescue you from the town," Eden sneers, "I did."`>> <<case 6>> <<set $_text_output to `"You're the only one I need," Eden says.`>> <<case 7>> <<set $_text_output to `"And I'm the only one you need," Eden says.`>> <<case 8>> <<set $_text_output to `"Everyone else is just noise," Eden says.`>> <<case 9>> <<set $_text_output to `"I'm never going to let you go," Eden says.`>> <<case 10>> <<set $_text_output to `"You belong to me and only me," Eden growls. "I'll make sure you forget about everyone else. "`>> <</switch>> <<set $daily.eden.robinCrash to ($daily.eden.robinCrash + 1) % 10>> <</if>> <<case "Whitney">> <<if ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> laughs. "No one can call you a virgin after this. You're my dirty slut now."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to `<<He>> laughs. "Was this off limits? I want to hear you squeal, bitch!"`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> laughs. "I bet you'll get addicted in no time!"`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> laughs. "Why are you looking at me like that? I can't be your first, slut."`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<if _loveInterest is "Black Wolf">> <<set $_text_output to `<<He>> laughs. "` + [`Did you just admit to fucking a dog? You're making this too easy.`, `I think I need to remind you whose bitch you actually are.`][random(0,1)] + `"`>> <<elseif _loveInterest is "Great Hawk">> <<set $_text_output to `<<He>> laughs. "` + [`Did you just admit to fucking a bird? You're making this too easy.`, `You can't fly away. Not from me.`][random(0,1)] + `"`>> <<elseif random(1, 2) lte 1>> <<switch _loveInterest>> <<case "Robin">> <<set $_text_output to `<<He>> laughs. "You've fallen for that weak little shit? I guess I know who to visit next."`>> <<case "Kylar">> <<set $_text_output to `<<He>> scowls. "I should've known you'd fall for that freak."`>> <<case "Sydney">> <<set $_text_output to `<<He>> laughs. "Two book criminals, sitting in a tree. Adorable."`>> <<default>> <<set $_text_output to `<<He>> scowls. "Let me remind you why you don't have a choice."`>> <</switch>> <<else>> <<set $_text_output to `<<He>> laughs. "I don't care about your little crush. You belong to me."`>> <</if>> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<set $_text_output to `<<He>> looks at your $_sexToy and grins. "` + [`Good slut.`, `I knew you were a dirty slut.`, `Don't get any bright ideas.`, `What's wrong, is your slutty mouth getting tired?`][random(0,3)] + `"`>> <<elseif $speechchastity is 1>> <<if $worn.genitals.name is "chastity parasite">> <<set $_text_output to [`<<He>> laughs. "You always get a slutty look on your face when I squeeze this."`, `<<He>> raises an eyebrow. "That good?"`, `<<He>> raises an eyebrow. "Horny slut."`][random(0, 2)]>> <<elseif $worn.genitals.origin is "Whitney">> <<if $rng gte 85 and $player.gender_appearance is "f" and $player.penissize lt 0>> <<set $_text_output to `<<He>> smirks. "You look so cute with your tiny${$player.virginity.penile is true ? " virgin" : " useless"} penis all locked up." <<insecurity "penis_small" 4>><<ginsecurity "penis_small">>`>> <<elseif $rng gte 60>> <<if playerBellyVisible() and random(0, 100) gte 50>> <<set $_text_output to `"Good slut." <<He>> smirks. "You clearly don't need to be unlocked when you've obviously been having a lot of fun without it."`>> <<elseif ((!playerBellyVisible() and knowsAboutAnyPregnancy("pc", "Whitney")) or $pregnancyspeechdisable isnot "f") and random(0, 100) gte 50>> <<set $_text_output to `"Good slut." <<He>> smirks. "Don't worry, you'll still be my slut even when you get ${$pregnancyspeechdisable is "f" ? "knocked" : "fucked"} up."`>> <<elseif C.npc.Whitney.vagina isnot "none" and $whitneyromance and $pregnancyspeechdisable is "f" and !npcIsPregnant("Whitney")>> <<set $_text_output to `"Good slut." <<He>> smirks. "Maybe I'll unlock you in the future, whenever I'm ready to have my own."`>> <<else>> <<set $_text_output to `"Good slut." <<He>> smirks. "Not like you need that thing to have fun."`>> <</if>> <<else>> <<set $_text_output to `"Good slut." <<He>> smirks. "${ ["Can't trust a slut like you to run around without being locked up.", "I hope it's getting you all hot and bothered.", "If only these things were indestructible."][random(0,2)] }"`>> <</if>> <</if>> <</if>> <<case "Avery">> <<if ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> laughs. "How splendid. Your virginity is a wonderful gift."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to `<<He>> laughs. "This may hurt a bit, but you'll feel good soon. Trust me."`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> laughs. "Have you never done this before? Don't worry. I'll teach you."`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> laughs. "I hope you enjoyed it as much as I did."`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<switch _loveInterest>> <<case "Robin">> <<set $_text_output to `<<His>> face darkens. "The little brat I keep seeing you with? I should've known."`>> <<case "Black Wolf" "Great Hawk">> <<set $_text_output to `<<His>> face darkens. "I don't pay you to let a filthy animal have its way with you."`>> <<default>> <<set $_text_output to `<<He>> wordlessly eyes you with contempt.`>> <</switch>> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<if C.npc.Avery.rage gte 60>> <<set $_text_output to `<<He>> looks at your $_sexToy and speaks. "` + [`Well, this is a nice change of pace.`, `Everyone has their tools of the trade.`][random(0,1)] + `"`>> <<else>> <<set $_text_output to `<<He>> looks at your $_sexToy and speaks. "` + [`Oh, no. I'm paying you too much for this.`, `You put that back this instant.`][random(0,1)] + `"`>> <<set $enemyanger += 50>><<set $enemytrust -= 50>> <</if>> <</if>> <<case "Alex">> <<if ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> smiles. "Your first time? I'll work extra hard to make it memorable."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to `<<He>> smiles. "It's tight. I won't tell anyone you let me fuck your bottom."`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> smiles. "You haven't used your mouth like this before, have you? Just keep your chompers away."`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> smiles. "Town <<girls>> are so cute."`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<if $alex_countdown is undefined and $farm_stage gte 7>> <<switch _loveInterest>> <<case "Black Wolf">> <<set $_text_output to `<<He>> deflates. "You're two-timing me with an animal? I need another drink..."`>> <<case "Great Hawk">> <<set $_text_output to `<<He>> glares. "Did your brain get pecked in the moor? Stay out of there."`>> <<default>> <<set $_text_output to `<<He>> glares. "You're two-timing me?"`>> <</switch>> <<else>> <<switch _loveInterest>> <<case "Black Wolf" "Great Hawk">> <<set $_text_output to `"I think I had one too many," <<he>> says. "You're speaking nonsense."`>> <<default>> <<set $_text_output to `"I think I had one too many," <<he>> says, holding <<his>> forehead.`>> <</switch>> <</if>> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<if C.npc.Alex.dom gte 30>> <<set $_text_output to `<<He>> looks at your $_sexToy and grins. "` + [`Now we're getting somewhere.`, `Cute toy. You better know how to use it.`, `Is that the best thing town has to offer?`][random(0,2)] + `"`>> <<elseif C.npc.Alex.dom lte -30>> <<set $_text_output to `<<He>> looks at your $_sexToy and hesitates. "` + [`All right. I trust your judgement.`, `Hope you know how to use that thing.`, `You always know just how to have a good time.`][random(0,2)] + `"`>> <<else>> <<set $_text_output to `<<He>> looks at your $_sexToy and smiles. "` + [`I like where your head's at.`, `Looks like we're in for a wild ride.`, `So this is what sells in town.`][random(0,2)] + `"`>> <</if>> <</if>> <<case "Leighton">> <<if ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> smirks. "Far from satisfactory. Come see me again for further improvement."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to `<<He>> smirks. "You'll need plenty of training."`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> smirks. "You lack skill... For now."`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> smirks. "Not terrible for a first time."`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<switch _loveInterest>> <<case "Robin">> <<set $_text_output to `<<He>> smirks. "Another student? Perhaps I should invite <<nnpc_him "Robin">> to my office."`>> <<case "Kylar">> <<set $_text_output to `<<He>> frowns. "Kylar? That explains a lot of things."`>> <<case "Whitney">> <<set $_text_output to `<<He>> frowns. "You and that delinquent? I'm not surprised."`>> <<case "Sydney">> <<if $sydneySeen.includes("spank")>> <<set $_text_output to `<<He>> smirks. "Sydney? We could do <<nnpc_his "Sydney">> punishment in my office next time."`>> <<else>> <<set $_text_output to `<<He>> smirks. "Sydney? I plan to have <<nnpc_him "Sydney">> in my office soon."`>> <</if>> <<case "Black Wolf" "Great Hawk">> <<set $_text_output to `<<He>> frowns. "An animal? This requires extra discipline."`>> <<default>> <<set $_text_output to `<<He>> smirks. "I'm not familiar. This is a private matter, anyway."`>> <</switch>> <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<set $_text_output to `<<He>> looks at your $_sexToy and smirks. "I can teach you a thing or two with that."`>> <</if>> <<case "Harper">> <<if $speechpenisvirgin is 1 and $player.virginity.penile is _args[0]>> <<set $_text_output to `<<He>> smiles. "Hold still. I need to check your blood pressure."`>> <<elseif ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> smiles. "This will only hurt a bit."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<if $player.sex is "f">> <<set $_text_output to `<<He>> smiles. "I'm going to administer a suppository. Please, try to relax."`>> <<else>> <<set $_text_output to `<<He>> smiles. "You're overdue for a prostate examination. Please, try to relax."`>> <</if>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> smiles. "Say 'Ahh'..."`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> smiles. "How's my bedside manner?"`>> <</if>> <<case "Morgan">> <<if $possessed>> <<switch random(1,10)>> <<case 1>> <<set $_text_output to `<<He>> roars. "I won't let you hurt <<phim>>!"`>> <<case 2>> <<set $_text_output to `<<He>> pleads. "Fight it, <<charles>>! Fight back!"`>> <<case 3>> <<set $_text_output to `<<He>> spits. "Return to mist!"`>> <<case 4>> <<set $_text_output to `<<He>> scowls. "Get out of here. Get out of <<phim>>!"`>> <<case 5>> <<set $_text_output to `<<He>> scowls. "I can see you falling apart."`>> <<case 6>> <<set $_text_output to `<<He>> hisses. "Don't make me repeat myself."`>> <<case 7>> <<set $_text_output to `<<He>> screeches incoherently.`>> <<case 8>> <<set $_text_output to `<<He>> meets your eye and nods reassuringly.`>> <<case 9>> <<set $_text_output to `<<He>> babbles under <<his>> breath.`>> <<case 10>> <<set $_text_output to `<<He>> shakes <<his>> head. "You'll fall. You'll fall, and you won't get back up."`>> <</switch>> <<elseif ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to `<<He>> smiles. "This feels like your first time again. How did you do that <<charles>>?"`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to `<<He>> smiles. "<<charles>>, I got to pop your other cherry too! Isn't it wonderful?"`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to `<<He>> smiles. "Did you forget how to do this?"`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to `<<He>> smiles. "Don't you remember my taste?"`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<switch _loveInterest>> <<default>> <<set $_text_output to `<<He>> snarls. "<<charles>>, you belong to <<mummy>>!"`>> <</switch>> <<elseif ($NPCList[_n].vagina is "feet" or $NPCList[_n].penis is "feet") and random(1, 10) is 1 and $footdisable is "f">> <<set $_text_output to `<<He>> moans. "Oh, <<charles>>, your feet...!"`>> /* I hate you I hate you I hate you */ <<elseif $speechsextoy is 1>> <<set $speechsextoy to 0>> <<set $_sexToy to ($rightarm is "heldSexToy" and $leftarm is "heldSexToy" ? "sex toys" : "sex toy")>> <<set $_text_output to `<<He>> looks at your $_sexToy and speaks. "<<charles>>, what is that?"`>> <</if>> <<case "Zephyr">> <<if $possessed>> <<if $control gte $controlmax>> <<set $_text_output to `<<He>> scoffs. "Now leave, and leave <<phim>> be."`>> <<elseif $npcspeechcycle is 0>> <<set $_text_output to `<<He>> raises <<his>> telescope to <<his>> eye for a moment, before putting it away.`>> <<else>> <<set $_text_output to `<<He>> stares you down, silent.`>> <</if>> <</if>> <<case "Bailey">> <<set $_stringsPre to ($enemyanger lte 60 ? "<<He>> snickers. ":"<<He>> snarls. ")>> <<if ($speechpenisvirgin is 1 and $player.virginity.penile is _args[0]) or ($speechvaginavirgin is 1 and $player.virginity.vaginal is _args[0])>> <<set $_text_output to $_stringsPre + `"Fuck. Your value just depreciated a little."`>> <<elseif $speechanusvirgin is 1 and $player.virginity.anal is _args[0]>> <<set $_text_output to $_stringsPre + `"You should be putting out more if you're this tight. What do you think you're good for?"`>> <<elseif $speechmouthvirgin is 1 and $player.virginity.oral is _args[0]>> <<set $_text_output to $_stringsPre + `"Don't get any funny ideas. Just take it."`>> <<elseif $speechkissvirgin is 1 and $player.virginity.kiss is _args[0]>> <<set $_text_output to $_stringsPre + `"Surprised are you? You'll learn to kiss better soon."`>> <<elseif $speechnamedrop is 1>> <<set $speechnamedrop to 0>> <<switch _loveInterest>> <<case "Robin">> <<set $_text_output to $_stringsPre + `"That worthless brat can't save you."`>> <<case "Black Wolf" "Great Hawk">> <<set $_text_output to $_stringsPre + `"People would pay extra to see you ${$player.penisExist ? "fuck" : "get fucked by"} some beast."`>> <<default>> <<set $_text_output to $_stringsPre + `"If <<nnpc_he _loveInterest>> cared about you, <<nnpc_he _loveInterest>> would pay for you."`>> <</switch>> <<elseif $speechcum is 1>> <<set $_strings to [`"I hope you appreciate that."`,`"Just something to remember me by."`,`"We'll call that your going away gift."`]>> <<set $_text_output to $_stringsPre + $_strings[random(0, $_strings.length - 1)]>> <<elseif $arousal gte 9500>> <<set $_strings to [`"Nice look. Some people would pay big to see you hot and bothered like this."`,`"Should've brought a camera. Your profile would look great with this expression."`]>> <<set $_text_output to $_stringsPre + $_strings[random(0, $_strings.length - 1)]>> <<elseif $enemyanger lte 60>> <<if $rng gte 80>> <<set $_options to ["default"]>> <<if $hairlength gte 600>> <<run $_options.push("hair")>> <</if>> <<if $player.breastsize gte 6 or $player.penissize gte 4>> <<run $_options.push("cow")>> <</if>> <<if $athletics gte 750 or $physique gte $physiquesize * 0.75>> <<run $_options.push("healthy")>> <</if>> <<switch $_options[random(0, $_options.length - 1)]>> <<case "hair">><<set $_text_output to $_stringsPre + `"Kept your hair long? I know someone who will like that."`>> <<case "cow">><<set $_text_output to $_stringsPre + `"Cows fetch a high price these days, you know."`>> <<case "healthy">><<set $_text_output to $_stringsPre + `"You're strong. Good. Some people pay for the fight."`>> <<case "default">><<set $_text_output to $_stringsPre + `"Don't make this harder than it needs to be."`>> <</switch>> <<elseif $rng gte 60>> <<set $_text_output to $_stringsPre + `"You're so valuable!"`>> <<elseif $rng gte 40>> <<set $_text_output to $_stringsPre + `"Just relax. I'll handle everything like always."`>> <<elseif $rng gte 20>> <<set $_text_output to $_stringsPre + `"You were always the best looking little ` + ["bastard","shit","<<bitch>>"][random(0,2)] + `."`>> <<else>> <<set $_text_output to $_stringsPre + `"It's easier this way. Trust me."`>> <</if>> <<else>> <<if $rng gte 90 and $enemyanger lte 70>> <<set $_text_output to $_stringsPre + `"Maybe I should inspect you before we go."`>> <<else>> <<set $_strings to [`Why do you shits have to make it harder on yourselves?`, `I told you to hold still.`, `You're making it harder on both of us.`, `You chose this.`, `Are you going to listen to me now?`, `I have someone willing to pay big for you.`, `You're coming with me, and that's that.`]>> <<set $_text_output to $_stringsPre + '"' + $_strings[random(0,6)] + '"'>> <</if>> <</if>> <<case "Sydney">> <<speech-sydney>> <<if _sydneyText and $speechdisable isnot 1>> <<set $_text_output to _sydneyText>> <</if>> <<case "Ivory Wraith">> <<if !_speechWraith>> <<speechWraith>> <<set $_text_output to _speechWraith>> <</if>> <</switch>> <</silently>><<if _silent>><<elseif $_text_output or _silent>>$_text_output<<else>><<set _noNameComment to true>><</if>><</widget>>/*Hands */ <<widget "left_pursuit_grab">> <<if $NPCList[0].state is "pursuit" and $NPCList[0].distance lte 0>> <<set _leftaction["Grab"] to "pursuit_grab">> <</if>> <</widget>> <<widget "right_pursuit_grab">> <<if $NPCList[0].state is "pursuit" and $NPCList[0].distance lte 0>> <<set _rightaction["Grab"] to "pursuit_grab">> <</if>> <</widget>> /*Feet */ <<widget "feet_walk">> <<if $leftleg isnot "bound" and $rightleg isnot "bound" and $dissociation lt 2 and $NPCList[0].state isnot "pursuit" and $feetuse isnot "run" and (currentSkillValue("feetskill") gte 200 or !$worn.feet.type.includes("heels"))>> <<set _feetaction["Walk"] to "walk">> <</if>> <</widget>> <<widget "feet_strut">> <<if $leftleg isnot "bound" and $rightleg isnot "bound" and $dissociation lt 2 and $NPCList[0].state isnot "pursuit" and $feetuse isnot "run" and hasSexStat("exhibitionism", 2)>> <<set _feetaction["Strut"] to "strut">> <</if>> <</widget>> <<widget "feet_run">> <<if $leftleg isnot "bound" and $rightleg isnot "bound" and $dissociation lt 2 and (currentSkillValue("feetskill") gte 200 or !$worn.feet.type.includes("heels"))>> <<if $NPCList[0].state is "pursuit">> <<set _feetaction["Chase"] to "run">> <<else>> <<set _feetaction["Run"] to "run">> <</if>> <</if>> <</widget>> <<widget "feet_stand">> <<if $dissociation lt 2 and $NPCList[0].state isnot "pursuit" and $feetuse isnot "run">> <<set _feetaction["Stand still"] to "stand">> <</if>> <</widget>> <<widget "feet_hobble">> <<if $dissociation lt 2 and ($leftleg is "bound" or $rightleg is "bound") or (currentSkillValue("feetskill") lt 200 and $worn.feet.type.includes("heels"))>> <<set _feetaction["Hobble"] to "hobble">> <</if>> <</widget>> <<widget "feet_hide">> <<if $dissociation lt 2 and $panicviolence lte 0>> <<set _feetaction["Hide"] to "hide">> <</if>> <</widget>> <<widget "feet_confront">> <<if $dissociation lt 2 and $panicviolence lte 0 and $NPCList[0].legs isnot "run" and $NPCList[0].state isnot "pursuit">> <<set _feetaction["Confront"] to "confront">> <</if>> <</widget>> <<widget "head_turn">> <<if $dissociation lt 2 and $panicviolence lte 0 and $NPCList[0].legs isnot "run" and $NPCList[0].state isnot "pursuit">> <<set _mouthaction["Look behind you"] to "turn">> <</if>> <</widget>> <<widget "head_down">> <<if $dissociation lt 2 and $panicviolence lte 0 and $NPCList[0].legs isnot "run" and $NPCList[0].state isnot "pursuit">> <<set _mouthaction["Look at the ground"] to "down">> <</if>> <</widget>> <<widget "head_up">> <<if $dissociation lt 2 and $panicviolence lte 0 and $NPCList[0].legs isnot "run" and $NPCList[0].state isnot "pursuit">> <<set _mouthaction["Keep your chin up"] to "up">> <</if>> <</widget>> <<widget "bottom_wiggle">> <<if $dissociation lt 2 and $panicviolence lte 0 and $NPCList[0].legs isnot "run" and $NPCList[0].state isnot "pursuit">> <<set _anusaction["Wiggle"] to "wiggle">> <</if>> <</widget>><<widget "man-stalk">> <<if $stalk_intro is undefined and $NPCList[0].legs isnot "run">> <<set $stalk_intro to true>> <i>You are being stalked. <span class="brat">Bratty</span> actions will discourage people from assaulting you, while <span class="meek">meek</span> actions will make them less likely to be violent if they do. <br><br> You could always run or hide, but failing will increase the chance of being assaulted. Looking over your shoulder will give an idea of how hard they are to outrun or deceive. <br><br></i> <</if>> <<if _n is 0 and $stalk_end isnot "escaped" and $stalk_end isnot "hide" and $stalk_end isnot "confront">>/*Only triggers on first NPC in a group. */ <<if $NPCList[_n].legs is "walk">> <<set $NPCList[_n].distance -= 1>> <<if $NPCList[_n].distance is 3>> You hear a pair of footsteps <span class="blue">some distance</span> behind you. <<elseif $NPCList[_n].distance is 2>> You hear a pair of footsteps <span class="purple">close</span> behind you. <<elseif $NPCList[_n].distance is 1>> You hear a pair of footsteps <span class="pink">right behind</span> you! <</if>> <<else>> <<set $NPCList[_n].distance -= 1>> <<if $NPCList[_n].distance is 3>> You hear footsteps running <span class="blue">some distance</span> behind you. <<elseif $NPCList[_n].distance is 2>> You hear footsteps running <span class="purple">close</span> behind you. <<elseif $NPCList[_n].distance is 1>> You hear footsteps running <span class="pink">right behind</span> you! <</if>> <</if>> <<if $NPCList[_n].distance lte _n>> <<if !$stalk_end>> <<if $NPCList[0].fullDescription isnot "Ivory Wraith" and ($NPCList[_n].legs is "run" or $NPCList[0].bold gte random(1, 1000)) or $NPCList[0].fullDescription is "Ivory Wraith" and C.npc["Ivory Wraith"].lust gte random(5,15)>> <span class="red">You are accosted.</span> <<if $npcrow.includes(0)>> <<stalk_nnpc_text_attack $NPCList[0].fullDescription>> <<if !$stalk_assess>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <span class="red">A<<if $wraith.seen gte 3>> familiar<</if>> pale figure stares down at you, eyes flashing <<wraithEyes>>.</span> <<else>> <span class="pink">It's <<print $npc[$npcrow.indexOf(0)]>>.</span> <</if>> <</if>> <br><br> <<events_stalk_nnpc $NPCList[0].fullDescription>> <<else>> <br><br> <<events_stalk>> <</if>> <<else>> <<if $npcrow.includes(0)>> <<stalk_nnpc_text_passed $NPCList[0].fullDescription>> <<else>> A <<person1>><<person>> <<switch $enemyno>> <<case 6>> and five others pass by. <span class="teal">They don't glance at you.</span> <<case 5>> and four others pass by. <span class="teal">They don't glance at you.</span> <<case 4>> and three others pass by. <span class="teal">They don't glance at you.</span> <<case 3>> and two others pass by. <span class="teal">They don't glance at you.</span> <<case 2>> and <<person2>><<person>> pass by. <span class="teal">They don't glance at you.</span> <<default>> passes by. <span class="teal"><<He>> doesn't glance at you.</span> <</switch>> <</if>> <<set $stalk_end to "passed">> <</if>> <</if>> <</if>> <</if>> <<stalk_img>> <</widget>> <<widget "stalk_walk_events">> <<switch $location>> <<case forest>> <<set _rng to random(1, 10)>> <<switch _rng>> <<case 1>> <<if Weather.isSnow>> Snow tumbles from an overturned branch. <<elseif Time.season is "autumn">> Leaves fall all around. <<elseif Time.season is "spring">> Budding branches sway in the breeze. <<else>> Dapples of sunlight cover the path ahead. <</if>> <<case 2>> You push through low hanging branches. <<case 3>> Your foot almost snags on a root. <<case 4>> <<if Weather.isSnow>> Snow crunches underfoot. <<elseif Time.season is "winter">> You travel on a bare landscape. <<elseif Time.season is "autumn">> Leaves crunch underfoot. <<elseif Time.season is "spring">> You travel through a patch of wild flowers. <<else>> You travel through a patch of wild flowers. <</if>> <<case 5>> You push through a dense patch of ferns. <</switch>> <<case moor>> <<set _rng to random(1, 10)>> <<switch _rng>> <<case 1>> You traverse a small, rocky ridge. <<case 2>> You avoid a small pond. <<case 3>> You push through a patch of heather. <<case 4>> You find the remains of an old path, now almost swallowed by surrounding plants. <<case 5>> You glimpse a small animal scurry into a bush. <</switch>> <<case alley>> <<set _rng to random(1, 10)>> <<switch _rng>> <<case 1>> Steam rises from a nearby grate. <<case 2>> <<if Weather.precipitation is "rain">> You avoid a puddle. <<elseif Weather.isSnow>> You avoid a patch of ice. <<else>> You avoid a pile of rubbish. <</if>> <<case 3>> The buildings tower around the thin alley. <<case 4>> The path dips and bends. <<case 5>> You're penned between metal fences. <</switch>> <<default>> <<set _rng to random(1, 10)>> <<switch _rng>> <<case 1>> Steam rises from a nearby grate. <<case 2>> <<if Weather.precipitation is "rain">> You avoid a puddle. <<elseif Weather.isSnow>> You avoid a patch of ice. <<else>> You avoid a pile of rubbish. <</if>> <<case 3>> You pass beneath an awning. <<case 4>> You walk beneath an overpass. <<case 5>> The pavement is rough and uneven. <</switch>> <</switch>> <</widget>> <<widget "stalk_run_events">> <br><br> <<if $stalk_event>> <<stalk_events_followup>> <<else>> <<if $exposed gte 1 and Time.dayState isnot "night" and $location is "town">> <</if>> <<switch $location>> <<case forest>> <<case moor>> <<case alley>> <<if $NPCList[0].state is "pursuit">> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> You run across a metal grate. Warm air blows from the depths below. <<case 2>> <<switch $NPCList[0].size>> <<case large>> <<set $stalk_event to "wall_large">> Your quarry <span class="blue"> jumps and hauls <<himself>> over a <span class="purple">tall</span> wall.</span> You'll need to do likewise if you mean to follow. <<case normal>> <<set $stalk_event to "wall_normal">> Your quarry <span class="blue"> jumps and hauls <<himself>> over a wall.</span> You'll need to do likewise if you mean to follow. <<case small>> <<set $stalk_event to "wall_small">> Your quarry <span class="blue">kneels and scrambles through a hole in a wall.</span> You'll need to likewise if you mean to follow. <<case tiny>> <<set $stalk_event to "wall_tiny">> Your quarry <span class="blue">kneels and scrambles through a <span class="purple">tight</span> hole in the wall.</span> You'll need to likewise if you mean to follow. <</switch>> <<case 3>> <<set $stalk_event to "cat">> Your quarry kicks aside a sleeping cat. It stands upright <span class="blue">and hisses in anger.</span> <<case 4>> <<set $stalk_event to "dead-end">> You follow <<him>> around a corner, and see a brick wall up ahead. It looks like a dead-end. <<He>> searches for a way out. <<case 5>> <<set $stalk_event to "employee">> <span class="blue">An employee from a nearby establishment leans against the wall up ahead,</span> and regards the <<person>> with mild curiosity. <</switch>> <<else>> <</if>> <<default>> <<if $NPCList[0].state is "pursuit">> <<if Time.dayState is "night">> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> <<set $stalk_event to "taxi">> A taxi drives around the corner. <span class="blue">It's heading this way.</span> <<case 2>> <<set $stalk_event to "crowd">> The <<person>> runs <span class="blue">into a drunken crowd.</span> <<case 3>> <<if $hallucinations gte 2>> <span class="pink">Something snares your foot in the dark.</span> A tentacle extends from a storm drain, and coils around your ankle. <<else>> <span class="pink">Something snares your foot in the dark.</span> <</if>> You shake it free, but your quarry is getting away. <<set $NPCList[0].distance += 1>> <<case 4>> <<set $stalk_event to "night_house">> <span class="blue">You hear voices from a building up ahead.</span> Light floods from the windows, bathing the street. <<case 5>> A chill gust makes your hair stand on end. <</switch>> <<else>> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> <<set $stalk_event to "bus">> A tourist bus pulls around the corner up ahead. <span class="blue">It's heading this way.</span> <<case 2>> <<set $stalk_event to "crowd">> The <<person>> runs <span class="blue">into a crowd.</span> <<case 3>> <<set $stalk_event to "restaurant">> The <<person>> runs past <span class="blue">a busy restaurant.</span> <<case 4>> <<set $stalk_event to "school">> The <<person>> runs past <span class="blue">a gaggle of students you recognise from school.</span> <<case 5>> <<set $stalk_event to "street">> The <<person>> <span class="blue">runs across the street.</span> <</switch>> <</if>> <<else>> <</if>> <</switch>> <</if>> <</widget>> <<widget "stalk_events_followup">> <<switch $stalk_event>> <<case "bus">> The bus drives by. A <<personsimple>> spots you. <<His>> mouth moves, <<set _rng to random(1, 2)>> <<switch _rng>> <<case 1>> <span class="green">but no one else seems interested in what <<he>> has to say.</span> The bus passes. <<case 2>> <span class="red">and other heads turn your way.</span> There's a flurry of activity and the tourists grab their cameras, eager to snap the <<nude_text>> <<girl>>. <<fameexhibitionism 10 "pic">><<if playerBellyVisible()>><<famepregnancy 10 "pic">><</if>> <</switch>> <<case "crowd">> You run into the crowd. You hope to move fast enough to keep anyone from snatching more than a glimpse. <<if $allure gte random(1, 10000) / 2>> <<if random(1, 3) is 3>> <span class="pink">Someone gropes your <<bottom>> as you pass, encouraging others.</span> More hands reach out, fondling and stroking your body.<<gtrauma>><<gstress>><<garousal>> <br><br> You emerge from the other side, and escape around the corner before the bemused pedestrians can reach for their phones. <<else>> <span class="red">The <<person>> ambushes you!</span> <<He>> grasps your arms and shoves you to the ground. <br><br> <<stalk_attack>> <<set $audience_active to true>> <</if>> <<else>> You emerge from the other side, and escape around the corner before the bemused pedestrians can reach for their phones. <br><br> <</if>> <<case "restaurant">> You rush past the restaurant. <<set _rng to random(1, 2)>> <<switch _rng>> <<case 1>> <span class="green">Everyone's too occupied to notice the <<nude_text>> <<girl>> run by.</span> <br><br> <<case 2>> <span class="pink">Someone shouts.</span> Spoons drop in soup, their owners aghast at the sight of the <<nude_text>> <<girl>> running by. Others chuckle, and reach for their phones. <<fameexhibitionism 10 "vid">> <br><br> <</switch>> <<case "school">> The students laugh as you run by. <br> <<if $worn.face.type.includes("mask")>> <<if random(1, 2) is 2>> "Do you recognise <<phim>> from school?" asks one <<persony>>. <<else>> "<<pShe>> must go to our school," says one <<persony>>. <</if>> <br> <<if random(1, 2) is 2>> "I can't see behind <<pher>> mask," replies another. <<else>> "Someone grab <<pher>> mask!" replies another. <</if>> <br> <<elseif $face is "covered">> <<if random(1, 2) is 2>> "Do you recognise <<phim>> from school?" asks one <<persony>>. <<else>> "<<pShe>> must go to our school," says one <<persony>>. <</if>> <br> <<if random(1, 2) is 2>> "I can't tell," replies another. "<<pHer>> hands are in the way." <<else>> "Someone grab them!" replies another. <</if>> <br> <<else>><<fameexhibitionism 5>> <<if (random(1,3) is 1 and $loveInterest.primary is "Robin") or (random(1,3) is 2 and $loveInterest.secondary is "Robin")>> "Isn't that Robin's <<girlfriend>>?" asks one <<persony>>. <br> "Who'd have thought Robin would be into perverts," says another. <br> <<elseif (random(1,3) is 1 and $loveInterest.primary is "Whitney") or (random(1,3) is 2 and $loveInterest.secondary is "Whitney")>> "That's the <<girl>> Whitney always bullies," says one <<persony>>. <br> "I bet this is Whitney's fault," replies another. <br> <<elseif (random(1,3) is 1 and $loveInterest.primary is "Kylar") or (random(1,3) is 2 and $loveInterest.secondary is "Kylar")>> "That's the <<girl>> Kylar hangs out with," says one <<persony>>. <br> "Figures <<pshe>>'d be a pervert," replies another. <br> <<elseif (random(1,3) is 1 and $loveInterest.primary is "Sydney") or (random(1,3) is 2 and $loveInterest.secondary is "Sydney")>> "Hold on, that's Sydney's <<girlfriend>>," says one <<persony>>. "What's <<pshe>> doing like that?" <br> "Stole one too many books, now <<pshes>> on the run," laughs another. <br> <<else>> <<if random(1, 2) is 2>> "I recognise <<phim>>!" proclaims one <<persony>>. <<else>> "I know <<phim>> from school," says one <<persony>>. <</if>> <br> <<if random(1, 2) is 2>> "Oh my god," replies another. "I can't wait to tell everyone." <<else>> "<<pShes>> so perverted," replies another. <</if>> <br> <</if>> <</if>> You run around a corner, and escape their prying before they get touchy.<<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <br><br> <<case "street">> You cross the street. <<set _rng to random(1, 5)>> <<if _rng gte 5>> <span class="blue">A car almost collides with you.</span> It screeches to a halt, <span class="red">but still thuds into you with enough force to knock you to the ground.</span><<ggstress>><<stress 12>><<gtrauma>><<trauma 6>><<gpain>><<pain 4>> <br><br> You're left lying in the middle of the street, giving everyone time for a good look. <<covered>> The <<personsimple>> behind the offending vehicle steps out, a bewildered look on <<his>> face. <br><br> You struggle to your feet, and rush after the <<person>> before <<he>> escapes, your face bright hot. <br><br> <<set $NPCList[0].distance += 1>> <<elseif _rng gte 3>> <span class="blue">A car almost collides with you,</span> but screeches to a halt instead. The <<personsimple>> behind the wheel's expression softens in bewilderment when <<he>> sees your state of dress. You don't have time to apologise. You make it to the other side, where you're a bit more sheltered.<<gstress>><<stress 6>> <<else>> You keep focused on your quarry, but you know eyes up and down the street are glimpsing you. You make it to the other side, where you're a bit more sheltered.<<ggstress>><<stress 12>><<gtrauma>><<trauma 6>> <</if>> <br><br> <<case "taxi">> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> <span class="purple">The taxi pulls to a stop as you pass,</span> and the <<personsimple>> in the passenger seat leans. <<catcalllewd>><<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <br><br> <<case 2>> A <<personsimple>> leans out the passenger seat of the taxi as you pass, <span class="purple">a large camera pressed against <<his>> face.</span> You hear it click.<<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 5 "pic">> <br><br> <<case 3>> The taxi driver stares at you as you pass, but doesn't stop.<<gstress>><<stress 6>> <br><br> <</switch>> <<case "night_house">> <<set _rng to random(1, 3)>> <<if _rng gte 3>> You run through the light. <span class="purple">A cry of mirth erupts from the lit building.</span> You glance over, and see a dozen faces staring back.<<gtrauma>><<gstress>><<trauma 12>><<stress 12>><<fameexhibitionism 12>> <br><br> <<else>> You run through the light, sparing a nervous glance at the windows. There are people within, but none are looking this way. <br><br> <</if>> <<case "wall_large">> <<if $bodysize gte 3 or $bodysize gte 2 and random(1, 2) is 2>> <span class="green">You jump and haul yourself over the wall.</span> <br><br> <<else>> You jump and try to grasp the top of the wall, <span class="red">but you're too short.</span> You manage to squeeze through a hole at the base instead, but the <<person>> is getting away. <<set $NPCList[0].distance += 1>> <br><br> <</if>> <<case "wall_normal">> <<if $bodysize gte 2 or $bodysize gte 1 and random(1, 2) is 2>> <span class="green">You jump and haul yourself over the wall.</span> <br><br> <<else>> You jump and try to grasp the top of the wall, <span class="red">but you're too short.</span> You manage to squeeze through a hole at the base instead, but the <<person>> is getting away. <<set $NPCList[0].distance += 1>> <br><br> <</if>> <<case "wall_small">> <<if $bodysize lte 1 or $bodysize lte 2 and random(1, 2) is 2>> You drop to your knees and crawl through the hole, <span class="green">emerging on the other side.</span> You continue the chase. <br><br> <<else>> You drop to your knees and crawl through the hole. You emerge on the other side, <span class="red">but get stuck.</span> <br><br> The <<person>> returns when <<he>> notices your predicament. <<He>> <<npcUndressText $NPCList[0] "lower" "self">>, <span class="purple"><<npcRevealText $NPCList[0] "lower">>.</span> <<stalk_attack>> <<stuck_in_wall_oral>> <br><br> <</if>> <<case "wall_tiny">> <<if $bodysize lte 0 or $bodysize lte 1 and random(1, 2) is 2>> You drop to your knees and crawl through the hole, <span class="green">emerging on the other side.</span> You continue the chase. <br><br> <<else>> You drop to your knees and crawl through the hole. You emerge on the other side, <span class="red">but get stuck.</span> <br><br> The <<person>> returns when <<he>> notices your predicament. <<He>> <<npcUndressText $NPCList[0] "lower" "self">>, <span class="purple"><<npcRevealText $NPCList[0] "lower">>.</span> <<stuck_in_wall_oral>> <br><br> <</if>> <<case "cat">> <<if $cat gte 6>> You meow at the cat. <span class="green">It meows back,</span> and runs after the <<person>>. It jumps on <<his>> back, its claws ablur. <span class="green"><<He>> drops your $stalk_clothes and reaches for the attacker.</span> <br><br> <<He>> throws the cat away, then turns to face you. <br><br> <<stalk_catch>> <<else>> The cat hisses as you pass. <br><br> <</if>> <<case "dead-end">> <<if random(1, 2) is 2>> <<He>> spots a thin passage between a building and metal shed, and squeezes through. <br><br> <<else>> Finding no way out, <span class="blue">the <<person>> turns to face you.</span> <br><br> <<stalk_catch>> <</if>> <<case "employee">> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 3>> The employee reaches into <<his>> pocket when <<he>> spots you, <span class="blue">and produces <<his>> phone,</span> pointing it at you as you pass. <<fameexhibitionism 5>> <br><br> <<case 2>> The employee's mouth opens in shock when <<he>> spots you. <<His>> cigarette falls to the floor. <br><br> <<case 1>> The employee's mouth opens in shock when <<he>> spots you. <br><br> <</switch>> <</switch>> <<unset $stalk_event>> <</widget>> <<widget "man-pursuit">> <<if _n is 0>> <<set $NPCList[_n].distance += 1>> <<if $NPCList[_n].distance gte 4>> You round a corner, but the <<person>> is nowhere to be seen. <span class="red">You've lost <<him>>.</span> <<set $stalk_end to "outpaced">> <<elseif $NPCList[_n].distance is 3>> The <<person>> rounds a corner ahead. <span class="pink">You've almost lost <<him>>.</span> <<elseif $NPCList[_n].distance is 2>> The <<person>> runs, your clothes trailing behind <<him>>. <span class="purple"><<Hes>> some distance from you.</span> <<elseif $NPCList[_n].distance is 1>> The <<person>> runs, and throws the occasional glance over <<his>> shoulder. <span class="blue"><<Hes>> not far ahead.</span> <<else>> <<set $NPCList[_n].distance to 0>> The <<person>> runs, your clothes bundled under <<his>> arm. <span class="green"><<Hes>> right in front of you.</span> <</if>> <</if>> <<stalk_img>> <</widget>> <<widget "stalk_catch">> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].state to "attack">> <</for>> <<if random(1, 2) is 2>> <<set $position to "missionary">> <<else>> <<set $position to "doggy">> <</if>> <<if $location is "town" and Time.dayState isnot "night">> <<set $audience_active to true>> <</if>> <</widget>> <<widget "stalk_attack">> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].state to "attack">> <</for>> <<if random(1, 2) is 2>> <<set $position to "missionary">> <<else>> <<set $position to "doggy">> <</if>> <<if $location is "town" and Time.dayState isnot "night">> <<set $audience_active to true>> <</if>> <<set $feetuse to 0>> <<controlloss>> <<molested>> <</widget>> <<widget "stalk_pursuit">> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].state to "pursuit">> <<set $NPCList[_i].distance to 2>> <</for>> <<set _clothesJustStolen to true>> <<set $rescue to 0>> <<controlloss>> <<molested>> <</widget>> <<widget "stalk_run">> <<set $feetuse to "run">> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].legs to "run">> <</for>> <br> <</widget>> <<widget "stalk_flight">> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].state to "pursuit">> <<set $NPCList[_i].distance to 2>> <</for>> <<set $rescue to 0>> <<unset $audience_active>> <</widget>> <<widget "stalk_init">> <<for _i = 0; _i < $NPCList.length; _i++>> <<set $NPCList[_i].state to "stalk">> <<set $NPCList[_i].distance to 4>> <<set $NPCList[_i].legs to "walk">> <</for>> <<set $position to "stalk">> <<set $feetuse to "walk">> <<set $stalk to true>> <<set $enemyanger to 40>> <<if $controlled is 0 and ($anxiety gte 2 and random(1, 3) is 3 or $anxiety gte 1 and random(1, 9) is 9)>> <span class="red">Your mind races, concocting terrible scenarios of what could befall you.</span><<llcontrol>><<control -25>> <br> <</if>> <</widget>> <<widget "events_stalk">> <<if $combatgoal is "confront">> <<if $npcrow.includes(0)>> <<stalk_nnpc_text_confront $NPCList[0].fullDescription>> <<else>> <span class="purple">You're grabbed by the arm and pulled back to face your assailant.</span> <</if>> <<set $stalk_end to "confront">> <<else>> <<switch $enemyno>> <<case 1>> <<set _rng to random(1, 100)>> <<if $worn.upper.name is "large towel" and $worn.upper.set is $worn.lower.set>> A <<person>> <span class="purple">snatches the towel from your body,</span> <span class="pink">exposing your <<undertop>> and <<undies>>.</span> <<He>> runs ahead, leaving you exposed in the middle of the <<location_text>>. <<set $stalk_clothes to $worn.upper.name>> <<upperstrip>> <<exposure>> <<stalk_pursuit>> <br><br> <<elseif $worn.upper.name is "large towel">> A <<person>> <span class="purple">snatches the towel from your chest,</span> <span class="pink">exposing your <<undertop>>.</span> <<He>> runs ahead, leaving you exposed in the middle of the <<location_text>>. <<set $stalk_clothes to $worn.upper.name>> <<upperstrip>> <<exposure>> <<stalk_pursuit>> <br><br> <<elseif $worn.lower.name is "large towel bottom">> A <<person>> <span class="purple">snatches the towel from your waist,</span> <span class="pink">exposing your <<undies>>.</span> <<He>> runs ahead, leaving you exposed in the middle of the <<location_text>>. <<set $stalk_clothes to $worn.lower.name>> <<lowerstrip>> <<exposure>> <<stalk_pursuit>> <br><br> <<elseif $worn.upper.name is "towel top">> A <<person>> <span class="purple">snatches the towel from your chest,</span> <span class="pink">exposing your <<undertop>>.</span> <<He>> runs ahead, leaving you exposed in the middle of the <<location_text>>. <<set $stalk_clothes to $worn.upper.name>> <<upperstrip>> <<exposure>> <<stalk_pursuit>> <br><br> <<elseif $worn.lower.name is "towel skirt">> A <<person>> <span class="purple">snatches the towel from your waist,</span> <span class="pink">exposing your <<undies>>.</span> <<He>> runs ahead, leaving you exposed in the middle of the <<location_text>>. <<set $stalk_clothes to $worn.lower.name>> <<lowerstrip>> <<exposure>> <<stalk_pursuit>> <br><br> <<elseif _rng gte 81 and $exposed lt 2>> You hear a <<person>> behind you. <<catcall>> Before you can respond, a pair of intruding hands grasp your clothes! <<npcstrip>> <<npcidlegenitals>> <<stalk_attack>> <br><br> <<elseif $leftarm is "bound" or $rightarm is "bound">> Someone grabs your bound arms from behind. "All wrapped up like a present," says a <<person>> as <<he>> swivels you around. "How could I resist?" <<stalk_attack>> <br><br> <<else>> You hear a <<person>> behind you. <<catcall>> Before you can respond, a pair of intruding hands grasp you! <<stalk_attack>> <br><br> <</if>> <<case 2>> You hear a <<person1>><<person>> behind you. Before you can respond, <<he>> seizes you by the arms and mouth. <<if $location is "alley">> <<He>> drags you into a shadowed alley, where <<his>> friend awaits. <<elseif $location is "town">> <<He>> drags you into an alley, where <<his>> friend awaits. <<else>> <<He>> drags you into the shadows, where <<his>> friend awaits. <</if>> <<stalk_attack>> <<set $leftarm to "grappled">><<set $rightarm to "grappled">><<hand_gag 0 left>><<set $NPCList[0].righthand to "arms">> <br><br> <<case 3>> <<if $worn.upper.name is "large towel" or $worn.lower.name is "large towel bottom" or $worn.upper.name is "towel top" or $worn.lower.name is "towel skirt">> A <<person1>><<person>> steps in front of you, while two other figures move in from behind, penning you between them. "That's an odd thing to walk around in during the night," says the <<person1>><<person>> as <<he>> strokes your towel. "I think I know exactly what you want." <br><br> <<set $combat_end_text to '"Dress like a slut, get treated like one," says the <<person>>. They leave you lying on the pavement.'>> <<stalk_attack>> <<else>> A <<person1>><<person>> steps in front of you, while other figures move in from behind, penning you between them. <br><br> <<stalk_attack>> <</if>> <<case 4>> A <<person1>><<person>>'s hand grasps your shoulder and three other figures block your path. "You're going nowhere <<lass>>," the <<person>> says. "Not til we're done." <br><br> <<stalk_attack>> <<case 5>> A <<person1>><<person>> steps in front of you while <<person2>><<person>> rests <<his>> hands on your hips. Three others are with them. They aren't going to let you go. <br><br> <<person1>> <<stalk_attack>> <<default>> A <<person1>><<person>> and <<person2>><<person>> step in front of you as several others press in from behind, penning you in. <br><br> <<person1>> <<stalk_attack>> <</switch>> <</if>> <</widget>> <<widget "events_stalk_nnpc">> <<switch _args[0]>> <<case "Avery">> <<He>> drags you into an alley and shoves you against a wall. You feel <<his>> breath on your neck. <br><br> <<person1>> <<set $location to "alley">><<set $bus to "commercial">> <<stalk_attack>> <<default>> <<events_stalk>> <</switch>> <</widget>> <<widget "stalk_athletics_difficulty">> <<if $stalk_assess or $NPCList[0].state is "pursuit">> <<if $worn.feet.type.includes("heels")>> <<skill_difficulty `currentSkillValue("feetskill")` "Feet (heels)" 1 1000>> <</if>> <<athleticsdifficulty 0 $NPCList[0].skills.athletics>> <</if>> <</widget>> <<widget "stalk_skulduggery_difficulty">> <<if $stalk_assess or $NPCList[0].state is "pursuit">> <<set _difficulty to $NPCList[0].skills.security>> <<set _difficulty += $liquidcount * 20>> <<if $liquidcount gte 1>> <<skill_difficulty `currentSkillValue("skulduggery")` "Skulduggery (Slimy)" 0 _difficulty>> <<else>> <<skill_difficulty `currentSkillValue("skulduggery")` "Skulduggery" 0 _difficulty>> <</if>> <</if>> <</widget>> <<widget "run_text">> <<switch $location>> <<case alley>> <<set _rng to random(1, 3)>> <<switch _rng to random(1, 3)>> <<case 1>> You leap over a parked car. <<case 2>> You skirt between tightly-packed dumpsters. <<case 3>> You avoid a bollard. <</switch>> <<case park>> <<set _rng to random(1, 3)>> <<switch _rng to random(1, 3)>> <<case 1>> You leap over bins and through bushes. <<case 2>> You duck beneath a tall hedge. <<case 3>> You bat away obstructing branches. <</switch>> <<case moor>> <<set _rng to random(1, 3)>> <<switch _rng to random(1, 3)>> <<case 1>> You leap over a muddy patch. <<case 2>> You scramble up a ridge. <<case 3>> You stomp through a patch of short brambles. <</switch>> <<case forest>> <<set _rng to random(1, 3)>> <<switch _rng to random(1, 3)>> <<case 1>> You leap over a stream. <<case 2>> You squeeze between dense trees. <<case 3>> You stomp through a patch of ferns. <</switch>> <<default>> <<set _rng to random(1, 3)>> <<switch _rng to random(1, 3)>> <<case 1>> <<if Weather.precipitation is "rain">> You leap over a puddle. <<elseif Weather.isSnow>> You leap over ice. <<else>> You leap over a pothole. <</if>> <<case 2>> You avoid colliding with a <<if random(1, 2) is 2>>postbox<<else>>bin<</if>>. <<case 3>> You weave between parked cars. <</switch>> <</switch>> <</widget>> <!-- Named NPC response widgets. _args[0] = npc name --> <!-- Default responses should be inaccessible and are only here as a failsafe. Any named (and maybe persistent) NPCs that don't have responses should be given them before they're written into a stalking scene. --> <!-- Player is accosted after failing to run, hide or confront --> <<widget "stalk_nnpc_text_attack">> <<switch _args[0]>> <<case "Avery">> <<switch random(1, 4)>> <<case 4>>"That's enough, brat." <<case 3>>"When I say come, you come." <<case 2>>"Who do you think you are, wasting my time?" <<case 1>>"Making me run all over town for you," <<he>> spits. "You've earned this." <</switch>> <<case "Bailey">> <<switch random(1, 4)>> <<case 4>>"Time to pay up." <<case 3>>"I'm done playing games with you." <<case 2>>"Thanks for wasting my time," <<he>> sneers. "Now hold still." <<case 1>>"You're almost more trouble than you're worth." <<He>> smiles. "Almost." <</switch>> <<case "Briar">> <<switch random(1, 4)>> <<case 4>>"Let me show you who's boss around here." <<case 3>>"One way or another, you're paying me back." <<case 2>>"There <<pshe>> is. The little thorn in my side." <<case 1>>"No one pisses me off. You're about to find out why." <</switch>> <<case "Eden">> <<if $syndromeeden is 1>> <<switch random(1, 4)>> <<case 4>>"Time to go home." <<case 3>>"Quiet. I've got you." <<case 2>>"I knew I'd get you back." <<case 1>>"Thought you could run away?" <</switch>> <<else>> <<switch random(1, 4)>> <<case 4>>"Don't struggle." <<case 3>>"No more running." <<case 2>>"I've got you now." <<case 1>>"I always get my prey." <</switch>> <</if>> <<case "Harper">> <<if $cow gte 6>> <<switch random(1, 4)>> <<case 4>>"Remy's waiting." <<case 3>>"We've missed you." <<case 2>>"Let's get you home." <<case 1>>"You'll be at peace again." <</switch>> <<else>> <<switch random(1, 4)>> <<case 4>>"Shh. Just relax." <<case 3>>"Close your eyes." <<case 2>>"Take a deep breath." <<case 1>>"You're too tense," <<he>> whispers. "It's unhealthy." <</switch>> <</if>> <<case "Kylar">> <<switch random(1, 4)>> <<case 4>>"D-don't worry! It's just me!" <<case 3>>"I won't let you get away," <<he>> whispers. "Ever." <<case 2>>"Looking for me?" <<he>> giggles. "I'm right here, silly!" <<case 1>>"I-I couldn't help myself." <<He>> licks <<his>> lips. "I need you." <</switch>> <<case "Leighton">> <<switch random(1, 4)>> <<case 4>>"Time for your discipline." <<case 3>>"Good <<girls>> obey their superiors." <<case 2>>"Best keep quiet," <<he>> whispers. "If you know what's good for you." <<case 1>>"You should be honoured," <<he>> whispers. "Most <<girls>> are beneath my notice." <</switch>> <<case "Morgan">> <<switch random(1, 4)>> <<case 4>>"<<charles>>!" <<case 3>>"There you are, you little sneak!" <<case 2>>"I've found you," <<he>> whispers. "At last." <<case 1>>"Don't worry, darling," <<he>> coos. "I'm here, now." <</switch>> <<case "Whitney">> <<switch random(1, 4)>> <<case 4>>"Guess who?" <<case 3>>"Surprise, slut." <<case 2>>"Thought you were safe? Guess again." <<case 1>>"My favourite <<bitch>>, all by <<pherself>>." <<He>> grins. "Lucky me." <</switch>> <<case "Ivory Wraith">> <<set $stalk_assess to true>> <<if $wraith.state is "haunt">> <<switch random(1, 5)>> <<case 5>><<set _wraith_output to "Give it back.">> <<case 4>><<set _wraith_output to "I am everywhere.">> <<case 3>><<set _wraith_output to "<<pcPetname \"Wraith\">>.">> <<case 2>><<set _wraith_output to "Where can you go but down?">> <<case 1>><<set _wraith_output to "Run from your sins, into empty arms.">> <</switch>> <<elseif ["dead","sold"].includes($wraith.offspring)>> <<switch random(1, 5)>> <<case 5>><<set _wraith_output to "Coward.">> <<case 4>><<set _wraith_output to "All your fault.">> <<case 3>><<set _wraith_output to "<<pcPetname \"Wraith\">>.">> <<case 2>><<set _wraith_output to "Afraid. Alone. You'll share that pain.">> <<case 1>><<set _wraith_output to ($wraith.offspring is "dead" ? "You've dug their grave. Now lie with them." : "They're still calling your name. Will you hear them?")>> <</switch>> <<else>> <<switch random(1, 5)>> <<case 5>><<set _wraith_output to "Find you.">> <<case 4>><<set _wraith_output to "Why run from fate?">> <<case 3>><<set _wraith_output to "<<pcPetname \"Wraith\">>.">> <<case 2>><<set _wraith_output to "You can run. But where will you go?">> <<case 1>><<set _wraith_output to "Fly while you can, before your wings are clipped.">> <</switch>> <</if>> "<span class="wraith"><<print _wraith_output>></span>" <<rainWraith true>> <<default>> "Best play along," <<he>> says. "It'll be easier for you." <</switch>> <</widget>> <!-- Successfully used the "confront" action --> <<widget "stalk_nnpc_text_threat">> <<switch _args[0]>> <<case "Avery">> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte random(20, 100)>> <<switch random(1, 3)>> <<case 3>><<He>> looks you up and down, <span class="green">then rolls <<his>> eyes.</span> "I've no time to waste on you." <<case 2>><<He>> narrows <<his>> eyes before <span class="green">turning away with a scoff.</span> "Not worth the effort." <<case 1>><<He>> stops, fixing you with a glare. "I'm a busy <<personsimple>>. <span class="green">Lucky for you, I have places to be."</span> <</switch>> <br><br> <<He>> walks on. You feel tense.<<stress 2>><<gstress>> <<else>> <<switch random(1, 3)>> <<case 3>><span class="green"><<He>> raises an eyebrow,</span> smirking. "Is that your idea of a proper greeting?"<br><br> <<He>> laughs as <<he>> walks on. <<case 2>><<He>> stops and stares at you, brow furrowed. <span class="green"><<He>> brushes past you without a word.</span><br><br> <<case 1>><<He>> crosses <<his>> arms and holds up <<his>> phone. "Do you mind?"<br><br> <<He>> walks on, trying to pick up <<his>> conversation. <</switch>> You feel a little silly. <</if>> <<case "Bailey">> <<switch random(1, 3)>> <<case 3>><<He>> doesn't break eye contact as <<he>> passes, <span class="green">but ultimately leaves you alone.</span> <<case 2>><<He>> stops in front of you, stares in silence, <span class="green">then continues on <<his>> way.</span> <<case 1>><<He>> stands in front of you and raises <<his>> phone. You hear a click. <span class="green"><<He>> leaves without a word.</span> <</switch>> <br><br> You let out a shaky breath as <<he>> walks on.<<stress 6>><<gstress>> <<case "Briar">> <<switch random(1, 3)>> <<case 3>><<He>> smirks, eyes you up and down, <span class="green">then walks right past you.</span> <<case 2>><span class="green"><<He>> bursts out laughing.</span> "You? That's rich." <<case 1>><span class="green"><<He>> lets out a sharp bark of laughter.</span> "Cute. Now get out of my way." <</switch>> <br><br> <<He>> peers at you over <<his>> shoulder as <<he>> walks on. You feel tense.<<stress 2>><<gstress>> <<case "Eden">> <<He>> stares for a moment, <span class="teal">then silently slinks <<if $location is "forest">>between the trees<<elseif $location is "moor">>into the fog<<else>>into an alley<</if>>.</span> <br><br> You let out a shaky breath.<<stress 4>><<gstress>> <<case "Harper">> <span class="green"><<He>> stops.</span> <<His>> polite smile doesn't falter. <<switch random(1, 3)>> <<case 3>>"Lashing out at innocent passersby is a sure sign of stress, you know." <<case 2>>"For some people, anger is just a cry for help. Please, be well." <<case 1>>"You look troubled. Don't be afraid to ask for help." <</switch>> <br><br> <<He>> walks on. You feel tense.<<stress 2>><<gstress>> <<case "Kylar">> <<switch random(1, 3)>> <<case 3>><<He>> mutters something under <<his>> breath. You can't make it out. <span class="green"><<He>> scurries past you.</span> <<case 2>><<He>> tenses as you turn around, barely managing an awkward smile and a wave <span class="green">before hurrying past you.</span> <<case 1>><<He>> freezes up, <span class="green">before bolting in the opposite direction.</span> You're left bewildered. <</switch>> <<case "Leighton">> <<switch random(1, 3)>> <<case 3>><<He>> tuts. <span class="green">"How uncouth. If I weren't so busy, I'd discipline you myself."</span> <<case 2>><<He>> raises an eyebrow, <span class="green">then turns away.</span> "I'll overlook that remark." <<case 1>><span class="green"><<He>> looks down at you with contempt,</span> muttering under <<his>> breath. "Disrespectful brats." <</switch>> <br><br> <<He>> walks on. You feel a little silly. <<case "Morgan">> <<switch random(1, 3)>> <<case 3>><<He>> stops in <<his>> tracks and gasps. "You're right! I forgot the scones!"<br><br> <span class="green"><<He>> runs off in the opposite direction,</span> leaving you bewildered. <<case 2>><span class="green"><<He>> stumbles past you as if you weren't there.</span><br><br> You watch <<him>> leave, babbling to <<himself>> all the while. <<case 1>><span class="green"><<He>> smiles and waves as <<he>> walks past you.</span><br><br> You feel silly, and more than a little confused. <</switch>> <<case "Whitney">> <<switch random(1, 3)>> <<case 3>><span class="green"><<He>> shoves past you,</span> almost knocking you over.<br><br> You dust yourself off, thankful nothing worse became of it. <<case 2>><span class="green"><<He>> throws <<his>> hands up,</span> smiling innocently. "Just admiring the view from back here."<br><br> <<He>> smacks your <<bottom>> as <<he>> walks on.<<stress 2>><<arousal 150 "bottom">><<gstress>><<garousal>> <<case 1>>Just as <<he>> draws near, <<he>> jumps at you with a loud "Boo!" You flinch on instinct.<br><br> "Wuss," <<he>> laughs <span class="green">as <<he>> leaves you behind.</span><<stress 4>><<gstress>> <</switch>> <<case "Ivory Wraith">> It cackles, <span class="teal">before dissipating into a thick, cool mist.</span> Its voice echoes around you. <<switch random(1, 3)>> <<case 3>><<set _wraith_output to "Bask while you can. The night comes quickly.">> <<case 2>><<set _wraith_output to "For what little comfort it's worth.">> <<case 1>><<set _wraith_output to "Hold it close.">> <</switch>> "<span class="wraith"><<print _wraith_output>></span>" <br><br> You shiver as the haze clears around you, revealing an empty <<if $location is "forest">>clearing<<elseif $location is "moor">>field<<else>>street<</if>>. <<trauma 2>><<stress 4>><<gtrauma>><<gstress>> <<default>> <span class="green"><<He>> throws up <<his>> hands.</span> "Easy <<girl>>," <<he>> says, giving you a wide berth. "I didn't mean to frighten you." <br><br> <<He>> walks ahead. <</switch>> <</widget>> <!-- NPC walks by due to lack of boldness --> <<widget "stalk_nnpc_text_passed">> <<switch _args[0]>> <<case "Avery">> <<switch random(1, 3)>> <<case 3>><<stalk_nnpc_name>> chats on <<his>> phone as <<he>> passes. <span class="teal"><<He>> ignores you.</span> <<case 2>><<stalk_nnpc_name>> peers at you from the corner of <<his>> eye as <<he>> passes. <span class="teal"><<He>> leaves you alone.</span> <<case 1>><<stalk_nnpc_name>> walks by. <span class="teal"><<He>> doesn't glance at you.</span> <</switch>> <<case "Bailey">> <<switch random(1, 3)>> <<case 3>><<stalk_nnpc_name>> walks by, <span class="teal">too busy on the phone to acknowledge you.</span> <<case 2>><<stalk_nnpc_name>> peers at you from the corner of <<his>> eye as <<he>> passes. <span class="teal"><<He>> leaves you alone.</span> <<case 1>><<stalk_nnpc_name>> thumps <<his>> shoulder against yours as <<he>> passes. <span class="teal"><<He>> doesn't look up.</span> <</switch>> <<if $stalk_assess>> You let out a shaky breath. <<stress 4>><<gstress>> <</if>> <<case "Briar">> <<switch random(1, 3)>> <<case 3>><<stalk_nnpc_name>> winks over <<his>> shoulder <span class="teal">as <<he>> walks on by.</span> <<case 2>><<stalk_nnpc_name>> stops, stares at you over <<his>> shoulder, <span class="teal">then continues on <<his>> way.</span> <<case 1>><<stalk_nnpc_name>> walks by. <span class="teal"><<He>> doesn't so much as glance at you.</span> <</switch>> <<case "Eden">> <<switch random(1, 3)>> <<case 3>>Suddenly seized by primal fear, you turn around. <span class="teal">You're alone.</span><<stress 4>><<gstress>> <<case 2>><span class="teal"><<stalk_nnpc_name>> stomps past you,</span> almost shoving you to the ground in <<his>> haste. <<case 1>>You hear movement behind you. You turn to catch a glimpse of <<if $stalk_assess>>Eden<<else>>a large figure<</if>> <span class="teal">disappearing <<if $location is "forest">>between the trees<<elseif $location is "moor">>into the fog<<else>>into an alley<</if>>.</span> <</switch>> <<case "Harper">> <<switch random(1, 3)>> <<case 3>><<stalk_nnpc_name>> jots notes in a journal as <<he>> passes. <span class="teal"><<He>> ignores you.</span> <<case 2>><<stalk_nnpc_name>> peers at you from the corner of <<his>> eye as <<he>> passes. <span class="teal"><<He>> leaves you alone.</span> <<case 1>><<stalk_nnpc_name>> walks by. <span class="teal"><<He>> doesn't glance at you.</span> <</switch>> <<case "Kylar">> <<switch random(1, 3)>> <<case 3>><span class="teal"><<stalk_nnpc_name>> walks right by you,</span> <<his>> gaze fixed to the floor. <<case 2>>You feel a tug on your arm from behind. When you turn, <span class="teal">nobody's there.</span><<stress 4>><<gstress>> <<case 1>><<stalk_nnpc_name>> passes without looking up, <span class="teal">leaving you alone.</span> <</switch>> <<case "Leighton">> <<switch random(1, 3)>> <<case 3>><<stalk_nnpc_name>> leers as <<he>> passes, <span class="teal">but otherwise leaves you alone.</span> <<case 2>><<stalk_nnpc_name>> gives you a passing nod. <span class="teal"><<He>> continues on <<his>> way.</span> <<case 1>><<stalk_nnpc_name>> walks by, <span class="teal">too busy tinkering with <<his>> watch to notice you.</span> <</switch>> <<case "Morgan">> <<switch random(1, 3)>> <<case 3>><<stalk_nnpc_name>> cheerfully hums as <<he>> passes, <span class="teal">all but ignoring you.</span> <<case 2>><span class="teal"><<stalk_nnpc_name>> stumbles past you as if you weren't there.</span> <<case 1>>You hear a gasp behind you. <span class="teal">You turn in time to catch a fleeting glimpse of <<if $stalk_assess>>Morgan<<else>>a figure<</if>> scurrying away.</span> <</switch>> <<case "Whitney">> <<switch random(1, 3)>> <<case 3>><span class="teal"><<stalk_nnpc_name>> flicks a cigarette butt over <<his>> shoulder as <<he>> passes.</span> It bounces off your cheek. <<case 2>><<stalk_nnpc_name>> smacks your <<bottom>> as <<he>> passes. <<if $stalk_assess>> <<He>> flashes a smug smirk over <<his>> shoulder.<<else>> <<Hes>> gone before you can get a good look at <<him>>.<</if>><<stress 2>><<arousal 150 "bottom">><<gstress>><<garousal>> <<case 1>><<stalk_nnpc_name>> picks at <<his>> nails as <<he>> passes. <span class="teal"><<Hes>> too engrossed to notice you.</span> <</switch>> <<case "Ivory Wraith">> <<switch random(1, 3)>> <<case 3>>A cold chill blows over you, <span class="teal">but it vanishes just as quickly.</span> <<case 2>>A cold, clammy hand grabs your shoulder. You turn, <span class="teal">but no one's there.</span> <<case 1>>You feel a presence. Someone breathes in your ear. "<span class="wraith">Not yet.</span>" A warm breeze washes over you, <span class="teal">taking the unwelcome presence with it.</span> <</switch>> A faint mist is left in the air. You think you're alone.<<trauma 2>><<stress 4>><<gtrauma>><<gstress>> <<default>> A <<personsimple>> passes by. <span class="teal"><<He>> doesn't glance at you.</span> <</switch>> <</widget>> <!-- For specific encounters where $combatgoal is "confront" --> <<widget "stalk_nnpc_text_confront">> <<switch _args[0]>> <<case "Kylar">> You feel a tug on your arm. You turn around to face <<if $stalk_assess>> <<print $NPCList[0].fullDescription>>. <<else>> the culprit. <</if>> <<case "Ivory Wraith">> The air chills around you. Animated by instinct, you turn around to find a pair of <<wraithEyes>> eyes staring back. <<case "Eden">> Eden's hand grabs tightly onto the back of your neck, bringing you to a stop. <<default>> You're grabbed by the arm and pulled back to face your assailant. <</switch>> <</widget>> <<widget "stalk_nnpc_name">> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <<if $stalk_assess>> The pale figure <<else>> Somebody <</if>> <<else>> <<if $stalk_assess>> <<print $NPCList[0].fullDescription>> <<else>> A <<personsimple>> <</if>> <</if>> <</widget>> <<widget "stalk_img">> <<if $options.images is 1>> <br><br> <div class="div_stalk"> <<for _i to 0; _i lt 8; _i++>> <img @class="'stalk_' + _i" src="img/misc/stalk/base.png"> <</for>> <<if $NPCList[0].fullDescription is "Ivory Wraith" and $stalk_assess>> <<set $_stalker to "_wraith">> <<else>> <<set $_stalker to "">> <</if>> <<set $_pcAction to (_clothesJustStolen ? "_theft" : $feetuse is "run" ? "_run" : "")>> <<if $NPCList[0].distance lte 0 and $NPCList[0].state isnot "pursuit" or $stalk_end is "hide">> <<if $stalk_end is "confront">> <<if $_stalker is "_wraith">> <img class="stalk_4" src="img/misc/stalk/caught_wraith.png"> <<elseif $feetaction is "confront">> <img class="stalk_4" src="img/misc/stalk/confront_npc.png"> <<else>> <img class="stalk_4" src="img/misc/stalk/grabbed.png"> <</if>> <<elseif $stalk_end>> <<if $feetaction is "confront">> <img class="stalk_4" src="img/misc/stalk/confront_safe_npc.png"> <<else>> <img class="stalk_4" src="img/misc/stalk/pc.png"> <</if>> <img class="stalk_5" @src="'img/misc/stalk/safe_npc' + $_stalker + '.png'"> <<else>> <<if $feetaction is "confront" and $_stalker isnot "_wraith">> <img class="stalk_4" src="img/misc/stalk/confront_npc.png"> <<else>> <img class="stalk_4" @src="'img/misc/stalk/caught' + $_stalker + '.png'"> <</if>> <</if>> <<else>> <<if $NPCList[0].distance lt 4>> <<if $NPCList[0].state is "pursuit">> <<set _stalk_position to 4 + $NPCList[0].distance>> <<if $_stalker isnot "">> <img @class="'stalk_' + _stalk_position" @src="'img/misc/stalk/npc' + $_stalker + '.png'"> <img @class="'stalk_' + _stalk_position" src="img/misc/stalk/clothes.png"> <<else>> <img @class="'stalk_' + _stalk_position" src="img/misc/stalk/npc_theft.png"> <</if>> <<elseif $stalk_end is "escaped">> <<else>> <<set _stalk_position to 4 - $NPCList[0].distance>> <img @class="'stalk_' + _stalk_position" @src="'img/misc/stalk/npc' + $_stalker + '.png'"> <</if>> <</if>> <img class="stalk_4" @src="'img/misc/stalk/pc' + $_pcAction + '.png'"> <</if>> </div> <</if>> <</widget>><<widget "stateman">> <div @class="($debugLines ? 'debugLines-stateman' : '')"> <<if $position isnot "stalk">> <<if $fightTargets is undefined or $fightTargets.length lte 0>> <<set $_enemies to $enemyno>> <<else>> <<set $_enemies to $fightTargets.length>> <</if>> <<set _looks to ($_enemies is 1? "looks" : "look")>> <<set _doesntlook to ($_enemies is 1? "doesn't look" : "don't look")>> <<set _is to ($_enemies is 1? "is" : "are")>> <<set $_n to 0>> <<if $enemyno is 1 and $enemynomax gt 1>> <<for $_i to 0; $_i lt $enemynomax; $_i++>> <<if $NPCList[$_i].active is "active" and $NPCList[$_i].stance isnot "defeated">> <<set $_n to $_i>> <<break>> <</if>> <</for>> <</if>> <<if ["m", "f", "i", "n", "t"].includes($NPCList[$_n].pronoun)>> <<set $pronoun to $NPCList[$_n].pronoun>> <<elseif $options.debugdisable is "f">> <span class="red">ERROR: Unexpected $$NPCList[0].pronoun: [$NPCList[0].pronoun]</span> <</if>> <<if $enemytype is "beast" and $monster is 0>> <<set $pronoun to "i">> <</if>> <<if $_enemies gt 1>> <<set $pronoun to "t">> <</if>> <<if $loveDrunk>> <span class="lustful"><<He>> _looks <<print either("love-drunk", "sinful", "crazed", "wild with lust", "rapturous")>>.</span> <<elseif $enemyhealth gte $enemyhealthmax>> <span class="red"><<He>> _looks eager.</span> <<elseif $enemyhealth gte ($enemyhealthmax / 5) * 4>> <span class="pink"><<He>> _looks uncomfortable.</span> <<elseif $enemyhealth gte ($enemyhealthmax / 5) * 3>> <span class="purple"><<He>> _looks stung.</span> <<elseif $enemyhealth gte ($enemyhealthmax / 5) * 2>> <span class="blue"><<He>> _looks pained.</span> <<elseif $enemyhealth gte ($enemyhealthmax / 5) * 1>> <span class="lblue"><<He>> _looks hurt.</span> <<elseif $enemyhealth gt 0>> <span class="teal"><<He>> _doesntlook like <<he>> can take much more pain.</span> <<elseif $enemyhealth lte 0>> <span class="green"><<He>> _is recoiling in pain.</span> <<combatcontrol 15>><<def 10>> <</if>> <<if $enemyarousal gte $enemyarousalmax>> <<if $NPCList[0].penis isnot "none" and !npcHasStrapon(0)>> <span class="red">Ejaculation imminent.</span> <<else>> <span class="red">Orgasm imminent.</span> <</if>> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 4>> <span class="pink">You think <<he>> _is approaching orgasm.</span> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 3>> <span class="purple"><<He>> _looks lustful.</span> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> <span class="blue"><<He>> _looks horny.</span> <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 1>> <span class="lblue"><<He>> _looks aroused.</span> <<elseif $enemyarousal gt 0>> <span class="teal"><<He>> _looks stimulated.</span> <<elseif $enemyarousal lte 0>> <<if $_enemies gt 1>> <span class="green"><<He>> _looks unaroused.</span> <<else>> <<if $npcSub>> <span class="green"><<He>> lies still, waiting for you.</span> <<else>> <span class="green"><<He>> is positively <<if $NPCList[0].penis isnot "none">>flaccid<<else>>dry<</if>>.</span> <</if>> <</if>> <</if>> <<if $enemyanger gte $enemyangermax>> <span class="red"><<He>> _is furious.</span> <<elseif $enemyanger gte ($enemyangermax / 5) * 4>> <span class="pink"><<He>> _looks incredibly pissed off.</span> <<elseif $enemyanger gte ($enemyangermax / 5) * 3>> <span class="purple"><<He>> _looks angry.</span> <<elseif $enemyanger gte ($enemyangermax / 5) * 2>> <span class="blue"><<He>> _looks frustrated.</span> <<elseif $enemyanger gte ($enemyangermax / 5) * 1>> <span class="lblue"><<He>> _looks irritated.</span> <<elseif $enemyanger gt 0>> <span class="teal"><<He>> _looks disappointed.</span> <<elseif $enemyanger lte 0>> <span class="green"><<He>> _looks calm.</span> <</if>> <<if $enemytrust lte -100>> <span class="red"><<He>> _looks full of suspicion.</span> <<elseif $enemytrust lte -60>> <span class="pink"><<He>> _looks guarded.</span> <<elseif $enemytrust lte -20>> <span class="purple"><<He>> _looks wary.</span> <<elseif $enemytrust lte 20>> <span class="blue"><<He>> _looks cautious.</span> <<elseif $enemytrust lte 60>> <span class="lblue"><<He>> _looks alert.</span> <<elseif $enemytrust lte 100>> <span class="teal"><<He>> _looks relaxed.</span> <<elseif $enemytrust gt 100>> <span class="green"><<He>> _looks confident.</span> <</if>> <</if>> <<if $panicviolence is 0 and $panicparalysis is 0 and $controlled is 0>> <<if $panicattacks gte 1 and _panicchecked isnot true and random(1, 100) is 100>> <<set $panicparalysis to 5>> <</if>> <<set _panicchecked to true>> <<if $panicattacks gte 2 and _paniccheckedviolence isnot true and random(1, 100) is 100>> <<set $panicviolence to 3>> <<if $position is "stalk">> <<set $feetuse to "run">> <</if>> <</if>> <<set _paniccheckedviolence to true>> <</if>> <br><br> <<if $arousal gte $arousalmax and $orgasmdown lte 0>> <<orgasm>> <</if>> <<sexcheck>> </div> <<unset $speechcamerapose>> <</widget>><<widget "combatstate">> <<if _statechecked isnot true>> <<if $gamemode is "soft">> <<set $pain to 0>> <</if>> <<wetnessCalculate>> <<if $orgasmdown gte 1>> <<set $enemyarousal += 10>> <span class="pink">Your body pulses and spasms with orgasmic waves, preventing you from acting normally.</span> <br> <<disable>> <<if $options.combatControls is "disabled" and $panicviolence lte 0 and $panicparalysis lte 0 and $trance lte 0>> <<actionsorgasm>> <</if>> <</if>> <<if $pain gte 100 and $willpowerpain is 0>> <<set $enemyarousal += 10>> <<if $possessed is true>> <<if $orgasmdown lte 0>> You can't take any more pain, <span class="red">but your body continues to fight.</span> <<trauma 12>><<ggtrauma>> <br> <</if>> <<else>> <span class="red">You are in too much pain to act normally.</span> <br> <<disable>> <<if $options.combatControls is "disabled" and $orgasmdown lte 0 and $panicviolence lte 0 and $panicparalysis lte 0 and $trance lte 0>> <<actionspain>> <</if>> <</if>> <</if>> <<if $panicviolence gte 1 and !$possessed>> <<set $enemyarousal += 10>> <<if $position is "stalk">> <span class="red">You are overcome by panic. You run, needing to be anywhere but here.</span> <<else>> <span class="red">You are stricken with panic, and flail wildly at anything invading your personal space.</span> <</if>> <br> <<defiance 10>><<set $panicviolence to $panicviolence - 1>><<disable>> <</if>> <<if $panicparalysis gte 1 and !$possessed>> <<set $enemyarousal += 10>> <<if $position is "stalk">> <span class="red">You are stricken with panic. Your muscles seize up, leaving you motionless.</span> <<else>> <span class="red">You are stricken with panic. Your muscles seize up, leaving you helpless.</span> <</if>> <br> <<set $panicparalysis -= 1>><<disable>> <</if>> <<if $dissociation gte 2 and !$possessed>> <<set $enemyarousal += 10>> You feel disconnected from yourself, as if in a dream. <br> <<disable>> <<if $options.combatControls is "disabled" and $orgasmdown lte 0 and $panicviolence lte 0 and $panicparalysis lte 0 and $trance lte 0>> <<if $pain lt 100 or $willpowerpain is undefined>> <<actionsdissociation>> <</if>> <</if>> <</if>> <<if $trance gte 1>> <<set $enemyarousal += 10>> You are entranced. <br> <<disable>> <</if>> <<if $possessed is true>> <<if $orgasmdown lte 0>> Your body is not your own. <<if $rng gte 96>><span class="fading">It never was.</span><</if>> <br> <</if>> <<disable>> <<if $options.combatControls is "disabled" and $dissociation lte 1 and $orgasmdown lte 0 and $panicviolence lte 0 and $panicparalysis lte 0 and $trance lte 0>> <<actionspossessed>> <</if>> /* Updates the control caption at the top of the screen to include any control gained through the rest of the passage */ <<run $(()=>{ Dynamic.render("control-caption") })>> /* Adds the condition for ending an encounter. */ <<if $control gte $controlmax>> <<set _controlRegain to 1>> <</if>> <</if>> <<set _statechecked to true>> <</if>> <</widget>> <<widget "carryblock">> <<if $orgasmdown gte 1>> <<set $carryblock to "orgasm">> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set $carryblock to "pain">> <<elseif $dissociation gte 2>> <<set $carryblock to "dissociation">> <<elseif $panicviolence gte 1>> <<set $carryblock to 1>> <<elseif $panicparalysis gte 1>> <<set $carryblock to 1>> <<elseif $trance gte 1>> <<set $carryblock to 1>> <<else>> <<set $carryblock to 0>> <</if>> <</widget>> <<widget "actioncarry">> <<if $carryblock is 0>> <<set $leftactioncarry to $leftactiondefault>> <<set $rightactioncarry to $rightactiondefault>> <<set $feetactioncarry to $feetactiondefault>> <<set $mouthactioncarry to $mouthactiondefault>> <<set $vaginaactioncarry to $vaginaactiondefault>> <<set $penisactioncarry to $penisactiondefault>> <<set $anusactioncarry to $anusactiondefault>> <<set $thighactioncarry to $thighactiondefault>> <<set $cheekactioncarry to $cheekactiondefault>> <<set $chestactioncarry to $chestactiondefault>> <<elseif $carryblock is "pain">> <<set $leftactioncarrypain to $leftactiondefault>> <<set $rightactioncarrypain to $rightactiondefault>> <<set $feetactioncarrypain to $feetactiondefault>> <<set $mouthactioncarrypain to $mouthactiondefault>> <<set $vaginaactioncarrypain to $vaginaactiondefault>> <<set $penisactioncarrypain to $penisactiondefault>> <<set $anusactioncarrypain to $anusactiondefault>> <<set $thighactioncarrypain to $thighactiondefault>> <<set $cheekactioncarrypain to $cheekactiondefault>> <<set $chestactioncarrypain to $chestactiondefault>> <<elseif $carryblock is "orgasm">> <<set $leftactioncarryorgasm to $leftactiondefault>> <<set $rightactioncarryorgasm to $rightactiondefault>> <<set $feetactioncarryorgasm to $feetactiondefault>> <<set $mouthactioncarryorgasm to $mouthactiondefault>> <<set $vaginaactioncarryorgasm to $vaginaactiondefault>> <<set $penisactioncarryorgasm to $penisactiondefault>> <<set $anusactioncarryorgasm to $anusactiondefault>> <<set $thighactioncarryorgasm to $thighactiondefault>> <<set $cheekactioncarryorgasm to $cheekactiondefault>> <<set $chestactioncarryorgasm to $chestactiondefault>> <<elseif $carryblock is "dissociation">> <<set $leftactioncarrydissociation to $leftactiondefault>> <<set $rightactioncarrydissociation to $rightactiondefault>> <<set $feetactioncarrydissociation to $feetactiondefault>> <<set $mouthactioncarrydissociation to $mouthactiondefault>> <<set $vaginaactioncarrydissociation to $vaginaactiondefault>> <<set $penisactioncarrydissociation to $penisactiondefault>> <<set $anusactioncarrydissociation to $anusactiondefault>> <<set $thighactioncarrydissociation to $thighactiondefault>> <<set $cheekactioncarrydissociation to $cheekactiondefault>> <<set $chestactioncarrydissociation to $chestactiondefault>> <</if>> <<set $carryblock to 0>> <</widget>> <<widget "actioncarrydrop">> <<if $orgasmdown gte 1>> <<set $leftactiondefault to $leftactioncarryorgasm>> <<set $rightactiondefault to $rightactioncarryorgasm>> <<set $feetactiondefault to $feetactioncarryorgasm>> <<set $mouthactiondefault to $mouthactioncarryorgasm>> <<set $vaginaactiondefault to $vaginaactioncarryorgasm>> <<set $penisactiondefault to $penisactioncarryorgasm>> <<set $anusactiondefault to $anusactioncarryorgasm>> <<set $thighactiondefault to $thighactioncarryorgasm>> <<set $cheekactiondefault to $cheekactioncarryorgasm>> <<set $chestactiondefault to $chestactioncarryorgasm>> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set $leftactiondefault to $leftactioncarrypain>> <<set $rightactiondefault to $rightactioncarrypain>> <<set $feetactiondefault to $feetactioncarrypain>> <<set $mouthactiondefault to $mouthactioncarrypain>> <<set $vaginaactiondefault to $vaginaactioncarrypain>> <<set $penisactiondefault to $penisactioncarrypain>> <<set $anusactiondefault to $anusactioncarrypain>> <<set $thighactiondefault to $thighactioncarrypain>> <<set $cheekactiondefault to $cheekactioncarrypain>> <<set $chestactiondefault to $chestactioncarrypain>> <<elseif $dissociation gte 2>> <<set $leftactiondefault to $leftactioncarrydissociation>> <<set $rightactiondefault to $rightactioncarrydissociation>> <<set $feetactiondefault to $feetactioncarrydissociation>> <<set $mouthactiondefault to $mouthactioncarrydissociation>> <<set $vaginaactiondefault to $vaginaactioncarrydissociation>> <<set $penisactiondefault to $penisactioncarrydissociation>> <<set $anusactiondefault to $anusactioncarrydissociation>> <<set $thighactiondefault to $thighactioncarrydissociation>> <<set $cheekactiondefault to $cheekactioncarrydissociation>> <<set $chestactiondefault to $chestactioncarrydissociation>> <<else>> <<set $leftactiondefault to $leftactioncarry>> <<set $rightactiondefault to $rightactioncarry>> <<set $feetactiondefault to $feetactioncarry>> <<set $mouthactiondefault to $mouthactioncarry>> <<set $vaginaactiondefault to $vaginaactioncarry>> <<set $penisactiondefault to $penisactioncarry>> <<set $anusactiondefault to $anusactioncarry>> <<set $thighactiondefault to $thighactioncarry>> <<set $cheekactiondefault to $cheekactioncarry>> <<set $chestactiondefault to $chestactioncarry>> <</if>> <</widget>><<widget "combateffects">> <<if $trauma gte $traumasaved>> <<set $traumagain += ($trauma - $traumasaved)>> <</if>> <<if $trauma lte 0>> <<set $traumasaved to 0>> <<else>> <<set $traumasaved to $trauma>> <</if>> <<if $stress gte $stresssaved>> <<set $stressgain += ($stress - $stresssaved)>> <</if>> <<if $stress lte 0>> <<set $stresssaved to 0>> <<else>> <<set $stresssaved to $stress>> <</if>> <<set $enemyanger to Math.clamp($enemyanger, 0, 200)>> <</widget>> /* Use first parameter to override the output text <<alarmstate "Custom line">> */ /* Use <<alarmstate 1>> if you want to set $alarm to 0 later in the passage */ <<widget "alarmstate">> <<if $alarm is 1 and $rescue is 0>> <<if _args[0] isnot 1 and _args[1] isnot 1>> <<set $alarm to 0>> <</if>> <<if _args[0] is undefined or _args[0] is 1>> <span class="red">No one comes to your aid.</span> <<if $drugged gte 1>>The drugs inhibit you, you couldn't cry very convincingly.<</if>> <<else>> _args[0] <</if>> <br><br> <</if>> <</widget>><<widget "struggle_init">> <<set $enemytype to "struggle">> <<set $struggle to { timer: 0, creature: "lurker", number: 1, warded: 0, done: 0, enemy: {} }>> <<set $feetaction to "evade">> <<set $leftaction to "guard">> <<set $rightaction to "guard">> <<if $worn.face.type.includes("gag")>> <<set $mouthuse to "gagged">> <</if>> <<if $worn.feet.type.includes("shackle")>> <<set $leftleg to "bound">> <<set $rightleg to "bound">> <<set $feetuse to "bound">> <</if>> /*<<if playerHasStrapon() and $worn.under_lower.size isnot undefined>> <<set $playerPenisSizeBackup to $player.penissize>> <<set $player.penissize to $worn.under_lower.size>> <</if>>*/ <</widget>> <<widget "struggle_creatures">> <<set $struggle.number to _args[0]>> <<set $struggle.descriptions to ["twisting", "slimy", "chittering", "slippery", "darting", "mesmerising", "big", "small", "colourful", "dull", "jittering", "shuddering", "pulsating", "wide", "thin", "thick", "buzzing", "glistening"]>> <<for _i to 0; _i lt $struggle.number; _i++>> <<generate_struggle_creature _i _args[1]>> <</for>> <<for _part range ["mouth", "vagina", "penis", "anus", "chest"]>> <<struggle_part_init _part>> <</for>> <</widget>> <<widget "struggle_add">> <<set _i to $struggle.number>> <<set $struggle.number += _args[0]>> <<for _i to _i; _i lt $struggle.number; _i++>> <<generate_struggle_creature _i _args[1]>> <</for>> <</widget>> <<widget "generate_struggle_creature">> <<set _slot = _args[0]; _health = _args[1]; _type = _args[2] ? _args[2] : $struggle.creature >> <<set $struggle.enemy[_slot] to { location: "lurking", health: _health, satisfied: 0, name: _type, description: $struggle.descriptions.pluck(), motion: {wasp: "flying", bee: "flying", squid: "swimming"}[_type] || "jumping", legs: {wasp: "legs", bee: "legs", squid: "tentacles"}[_type] || "none" }>> <</widget>> <<widget "struggle_part_init">> <<if ["mouth", "vagina", "penis", "anus", "chest"].includes(_args[0])>> <<set $_part to _args[0]>> <<else>> <span class="error">struggle_part_init error: invalid arguments: _args</span> <</if>> <!-- reset bodypart states --> <<set $struggle[$_part] to { grip: 0, creature: 0, progress: 0, success: 0, action: 0, action_default: 0, damage: 0 }>> <<if !$struggle_start>> <!-- clean all creatures stuck to bodypart --> <<for _i to 0; _i lt $struggle.number; _i++>> <<if $struggle.enemy[_i].location is $_part>> <<set $struggle.enemy[_i].location to "fleeing">> <<if _args[1] is "cum">> <<set $struggle.enemy[_i].satisfied += 1>> <<else>> <<set $struggle.enemy[_i].health -= 1>> <</if>> <</if>> <</for>> <!-- clean hand states --> <<set $_actions to [$_part + '_strengthen', $_part + '_pull', $_part + '_spray', $_part + '_grasp', $_part + '_stroke']>> <<if $_actions.includes($leftactiondefault)>> <<if $carryblock>> <<set $leftactioncarry to "rest">> <<else>> <<set $leftactiondefault to "rest">> <</if>> <<set $leftarmstate to 0>> <<set $leftarm to 0>> <</if>> <<if $_actions.includes($rightactiondefault)>> <<if $carryblock>> <<set $rightactioncarry to "rest">> <<else>> <<set $rightactiondefault to "rest">> <</if>> <<set $rightarmstate to 0>> <<set $rightarm to 0>> <</if>> <</if>> <</widget>> <<widget "struggle_name">><<silently>> <!-- prints full description of an enemy in specified slot or location --> <<set $_loc to _args[0]>> <<if $_loc lt $struggle.number>> <!-- when _args[0] is a slot number --> <<set _fulldesc to $struggle.enemy[$_loc].description + ' ' + $struggle.enemy[$_loc].name>> <<elseif ["mouth", "vagina", "penis", "anus", "chest"].includes($_loc)>> <!-- when _args[0] is a location --> <<if $struggle[$_loc].description>> <!-- description doesn't exist in older versions --> <<set _fulldesc to $struggle[$_loc].description + ' ' + $struggle[$_loc].creature>> <<elseif $struggle[$_loc].creature>> <<for _i to 0; _i lt $struggle.number; _i++>> <<if $struggle.enemy[_i].location is $_loc>> <<set _fulldesc to $struggle.enemy[_i].description + ' ' + $struggle.enemy[_i].name>> <<set $struggle[$_loc].description to $struggle.enemy[_i].description>> <</if>> <</for>> <</if>> <</if>> <</silently>><<print _fulldesc>> <</widget>> <<widget "struggle">> <<struggle_effects>> <<struggle_enemy>> <<struggle_state>> <<struggle_actions>> <</widget>> <<widget "struggle_state">> <<for $_part range ["mouth", "vagina", "penis", "anus", "chest"]>> <<if $struggle[$_part].creature>> You have <<switch $struggle[$_part].grip>> <<case 0>><span class="red"> no </span> <<case 1>>a <span class="pink"> fragile </span> <<case 2>>a <span class="purple"> weak </span> <<case 3>>a <span class="blue"> tentative </span> <<case 4>>a <span class="lblue"> decent </span> <<case 5>>a <span class="teal"> strong </span> <<default>>an <span class="green"> iron </span> <</switch>> grip on the <<print $struggle[$_part].creature>> clutching your <<switch $_part>> <<case "mouth">> mouth. <<case "vagina">> pelvis. <<case "penis">> tummy. <<case "anus">> bottom. <<case "chest">> chest. <</switch>> <br> <</if>> <</for>> <br> <<if $arousal gte $arousalmax and $orgasmdown lte 0>> <<orgasm>> <</if>> <<set $struggle.timer += 1>> <<sexcheck>> <</widget>> <<widget "struggle_end">> /*<<if playerHasStrapon()>> <<set $player.penissize to $playerPenisSizeBackup>> <</if>>*/ <<unset $struggle>> <</widget>> <<widget "generateActionsStruggle">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <<for _i to 0; _i lt $struggle.number; _i++>> <<if $struggle.enemy[_i].location is "fleeing" or $struggle.enemy[_i].location is "lurking">> The <<struggle_name _i>> keeps at a distance. <br> <<if $farm_stage gte 10 and $lurkers_held lt 1>> <<set _lurker_net_possible to true>> <</if>> <</if>> <</for>> <hr> <div id="listContainer" style="margin-bottom:0px"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<leftActionInitStruggle>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<rightActionInitStruggle>> </div> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<feetActionInitStruggle>> </div> <</if>> </div> <<if ($mouthuse is "struggle" and $struggle.mouth.creature) or ($mouthuse is 0 and !($dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)))>> <hr> <div id="listContainer" style="margin-bottom:0px"> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInitStruggle>> </div> </div> <</if>> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<if $vaginastate isnot 0 and $player.vaginaExist>> <hr> <div id="listContainer" style="margin-bottom:0px"> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInitStruggle>> </div> </div> <</if>> <<if $penisstate isnot 0 and (playerHasStrapon() or $player.penisExist)>> <hr> <div id="listContainer" style="margin-bottom:0px"> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInitStruggle>> </div> </div> <</if>> <<if $anusstate isnot 0>> <hr> <div id="listContainer" style="margin-bottom:0px"> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInitStruggle>> </div> </div> <</if>> <<if $chestuse isnot 0 and $chestuse isnot "squeezed">> <hr> <div id="listContainer" style="margin-bottom:0px"> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInitStruggle>> </div> </div> <</if>> <</if>> <</widget>> <<widget "leftActionInitStruggle">> <<set $lefttarget to "struggle">> <<switch $leftarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">Your left arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "pain">> <span class="red">Your left arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "unreal">> <span class="pink">Your left arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "free">> <span @class="($lastOptions.left isnot _leftOptions ? 'gold' : '')">Your left arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <br> <</if>> <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "struggle">> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">You hold a $struggle.creature with your left arm, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "bound">> <span class="red">You hold a $struggle.creature with your left arm, but it hurts to move.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "bound">> <span class="pink">You hold a $struggle.creature with your left arm, but it doesn't feel real.</span> <<else>> <<set _leftOptions to "struggle">> <<switch $leftarmstate>> <<case "mouth_struggle">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm grips the $struggle.mouth.creature over your mouth.</span> <<case "penis_struggle">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm grips the $struggle.penis.creature over your <<penis>>.</span> <<case "vagina_struggle">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm grips the $struggle.vagina.creature over your <<pussy>>.</span> <<case "anus_struggle">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm grips the $struggle.anus.creature over your <<bottom>>.</span> <<case "chest_struggle">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm grips the $struggle.chest.creature over your chest.</span> <</switch>> <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "bound">> <<set _leftOptions to "bound">> <<if $orgasmdown gte 1>> <span class="lewd">Your left arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your left arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your left arm lies limp in its bonds.</span> <<else>> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is bound.</span> <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "trapped">> <<set $_changetype to true>><<leftActionInitVore>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<leftActionInit>> <<case "swarmgrappled">> <<set $_changetype to true>><<leftActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<leftActionInitMachine>> <<default>> <<set $_changetype to true>><<leftActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<leftActionsStruggle>> <<if Object.keys(_leftaction).length gt 0>> <<if Object.values(_leftaction).includes($leftactiondefault)>> <<set $leftaction to $leftactiondefault>> <</if>> <<generateCombatAction _leftaction "leftaction" "Struggle">> <<if $options.combatControls.includes("ists")>> <div id="leftactionDifficulty"> <<leftactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.left to clone(_leftOptions)>> <</if>> <</widget>> <<widget "leftactionDifficultyStruggle">>/* Don't mind the blank widget. */ <!-- Does nothing --> <</widget>> <<widget "leftActionsStruggle">> <<set _leftaction to {}>> <<switch _leftOptions>> <<case "free" "struggle">> <<set _leftaction["Keep left arm still"] to "rest">> <<if _lurker_net_possible is true>> <<set _leftaction["Hurl net"] to "capture">> <</if>> <<set _leftaction["Guard"] to "guard">> <<leftclothesnew>> <<if not $options.combatControls.includes("adio")>> <<for $_part range ["mouth", "vagina", "penis", "anus", "chest"]>> <<if V[$_part + 'use'] is "struggle" and $struggle[$_part].creature>> <<set $_desc to ($leftactiondefault.includes($_part) ? '' : ' (' + $_part + ')')>> <<if $leftactiondefault.includes($_part) and $struggle[$_part].grip gte 1>> <!-- require hand on the creature before pulling or strengthening --> <<if $struggle[$_part].success lt 100>> <<set _leftaction["Strengthen your grip"] to $_part + '_strengthen'>> <</if>> <<set _leftaction["Pull"] to $_part + '_pull'>> <<elseif $struggle[$_part].success lt 100>> <<set _leftaction['Grasp' + $_desc] to $_part + '_grasp'>> <</if>> <<if $spray gte 1 and $consensual isnot 1>> <<set _leftaction['Spray' + $_desc] to $_part + '_spray'>> <</if>> <<set _leftaction['Stroke' + $_desc] to $_part + '_stroke'>> <</if>> <</for>> <</if>> <<case "bound">> <<case "orgasm">> <<set _leftaction["Fold"] to "leftfold">> <<set _leftaction["Grip"] to "leftgrip">> <<case "pain">> <<set _leftaction["Struggle"] to "leftstruggleweak">> <<set _leftaction["Protect"] to "leftprotect">> <<case "unreal">> <<set _leftaction["Poke yourself"] to "leftpoke">> <<set _leftaction["Keep your arms out of the way"] to "leftcurl">> <</switch>> <</widget>> <<widget "rightActionInitStruggle">> <<set $righttarget to "struggle">> <<switch $rightarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">Your right arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "pain">> <span class="red">Your right arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "unreal">> <span class="pink">Your right arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <</if>> <<set _rightOptions to "free">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <br> <</if>> <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "struggle">> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">You hold a $struggle.creature with your right arm, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "bound">> <span class="red">You hold a $struggle.creature with your right arm, but it hurts to move.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "bound">> <span class="pink">You hold a $struggle.creature with your right arm, but it doesn't feel real.</span> <<else>> <<set _rightOptions to "struggle">> <<switch $rightarmstate>> <<case "mouth_struggle">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm grips the $struggle.mouth.creature over your mouth.</span> <<case "penis_struggle">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm grips the $struggle.penis.creature over your <<penis>>.</span> <<case "vagina_struggle">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm grips the $struggle.vagina.creature over your <<pussy>>.</span> <<case "anus_struggle">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm grips the $struggle.anus.creature over your <<bottom>>.</span> <<case "chest_struggle">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm grips the $struggle.chest.creature over your chest.</span> <</switch>> <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "bound">> <<set _rightOptions to "bound">> <<if $orgasmdown gte 1>> <span class="lewd">Your right arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your right arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your right arm lies limp in its bonds.</span> <<else>> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is bound.</span> <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "trapped">> <<set $_changetype to true>><<rightActionInitVore>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<rightActionInit>> <<case "swarmgrappled">> <<set $_changetype to true>><<rightActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<rightActionInitMachine>> <<default>> <<set $_changetype to true>><<rightActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<rightActionsStruggle>> <<if Object.keys(_rightaction).length gt 0>> <<if Object.values(_rightaction).includes($rightactiondefault)>> <<set $rightaction to $rightactiondefault>> <</if>> <<generateCombatAction _rightaction "rightaction" "Struggle">> <<if $options.combatControls.includes("ists")>> <div id="rightactionDifficulty"> <<rightactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.right to clone(_rightOptions)>> <</if>> <</widget>> <<widget "rightactionDifficultyStruggle">>/* It's a necessary evil. */ <!-- Does nothing. todo: investigate why combatButtonAdjustments() needs this --> <</widget>> <<widget "rightActionsStruggle">> <<set _rightaction to {}>> <<switch _rightOptions>> <<case "free" "struggle">> <<set _rightaction["Keep right arm still"] to "rest">> <<if _lurker_net_possible is true>> <<set _rightaction["Hurl net"] to "capture">> <</if>> <<set _rightaction["Guard"] to "guard">> <<rightclothesnew>> <<if not $options.combatControls.includes("adio")>> <<for $_part range ["mouth", "vagina", "penis", "anus", "chest"]>> <<if V[$_part + 'use'] is "struggle" and $struggle[$_part].creature>> <<set $_desc to ($rightactiondefault.includes($_part) ? '' : ' (' + $_part + ')')>> <<if $rightactiondefault.includes($_part) and $struggle[$_part].grip gt 0>> <!-- require hand on the creature before pulling or strengthening --> <<if $struggle[$_part].success lt 100>> <<set _rightaction["Strengthen your grip"] to $_part + '_strengthen'>> <</if>> <<set _rightaction["Pull"] to $_part + '_pull'>> <<elseif $struggle[$_part].success lt 100>> <<set _rightaction['Grasp' + $_desc] to $_part + '_grasp'>> <</if>> <<if $spray gte 1 and $consensual isnot 1>> <<set _rightaction['Spray' + $_desc] to $_part + '_spray'>> <</if>> <<set _rightaction['Stroke' + $_desc] to $_part + '_stroke'>> <</if>> <</for>> <</if>> <<case "bound">> <<case "orgasm">> <<set _rightaction["Fold"] to "rightfold">> <<set _rightaction["Grip"] to "rightgrip">> <<case "pain">> <<set _rightaction["Struggle"] to "rightstruggleweak">> <<set _rightaction["Protect"] to "rightprotect">> <<case "unreal">> <<set _rightaction["Poke yourself"] to "rightpoke">> <<set _rightaction["Keep your arms out of the way"] to "rightcurl">> <</switch>> <</widget>> <<widget "feetActionInitStruggle">> <<set $feettarget to "struggle">> <<switch $feetuse>> <<case 0>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistall["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<if ($leftleg is "grappled" and $rightleg is "grappled") or ($leftleg is "bound" and $rightleg is "bound")>> <<else>> <<targetListBox "feet" _targetlistall>> <</if>> <</if>> <<if $leftleg is 0 and $rightleg is 0>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your feet are free.</span> <<elseif $leftleg is 0>> <<set _feetOptions to "leftfree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your left leg is free.</span> <<elseif $rightleg is 0>> <<set _feetOptions to "rightfree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your right leg is free.</span> <<elseif $leftleg is "grappled" and $rightleg is "grappled">> <<set $_changetype to true>><<feetActionInitTentacle>> <<elseif $leftleg is "bound" and $rightleg is "bound">> <<set $_changetype to true>><<feetActionInitTentacle>> <<else>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your feet are free.</span> <</if>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and _feetOptions.toLowerCase().includes("free")>> <<targetListBox "feet" _targetlistall>> <</if>> <<if _targetnumber is 1>> <<set $feettarget to _firsttarget>> <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "penis" "othervagina" "bound" "walk" "run" "strut" "none">> <<set $_changetype to true>><<feetActionInit>> <<case "mechgrappled">> <<set $_changetype to true>><<feetActionInitMachine>> <<default>> <<set $_changetype to true>><<feetActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<feetActionsStruggle>> <<if Object.keys(_feetaction).length gt 0>> <<if !(Object.values(_feetaction).includes($feetactiondefault))>> <<set $feetactiondefault to "rest">> <</if>> <<set $feetaction to $feetactiondefault>> <<generateCombatAction _feetaction "feetaction" "Struggle">> <<if $options.combatControls.includes("ists")>> <div id="feetactionDifficulty"> <<feetactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.feet to clone(_feetOptions)>> <</if>> <</widget>> <<widget "feetactionDifficultyStruggle">>/* "How so", you ask? */ <!-- Does nothing --> <</widget>> <<widget "feetActionsStruggle">> <<set _feetaction to {}>> <<set _feetaction["Keep still"] to "rest">> <<set _feetaction["Dodge"] to "evade">> <<set _feetaction["Plant"] to "plant">> <</widget>> <<widget "mouthActionInitStruggle">> <<if $orgasmdown gte 1>> <<mouthActionInit>> <<elseif $pain gte 100 and $willpowerpain is 0>> <<mouthActionInit>> <<elseif $dissociation gte 2>> <<mouthActionInit>> <<else>> <<set $mouthtarget to "struggle">> <<switch $mouthuse>> <<case "struggle">> <span @class="($lastOptions.mouth isnot _mouthOptions or _mouthGold is true ?'gold':'')">A <<print $struggle.mouth.creature>> clings to your face.</span> <<if $leftarmstate is "mouth_struggle" and $rightarmstate is "mouth_struggle">> You clutch it with both hands. <<elseif $leftarmstate is "mouth_struggle">> You clutch it with your left hand. <<elseif $rightarmstate is "mouth_struggle">> You clutch it with your right hand. <</if>> <<if $options.combatControls.includes("adio")>><br><</if>> <<case "tentacle">> <<set $_changetype to true>><<mouthActionInitTentacle>> <<default>> <<set $_changetype to true>><<mouthActionInit>> <</switch>> <<if $_changetype isnot true>> <<set _mouthaction to {}>> <<if $mouthstate is "struggle" and !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Keep closed"] to "rest">> <<set _mouthaction["Open"] to "open">> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<set _mouthaction["Rest"] to "rest">> <<elseif $mouthstate is "struggle_pen">> <<set _mouthaction["Rest"] to "rest">> <<set _mouthaction["Suck"] to "suck">> <<if $consensual isnot 1>> <<set _mouthaction["Bite"] to "bite">> <</if>> <</if>> <<if Object.keys(_mouthaction).length gt 0>> <<if !(Object.values(_mouthaction).includes($mouthactiondefault))>> <<if !["open", "suck", "bite"].includes($mouthactiondefault)>> <<set $mouthactiondefault to "rest">> <</if>> <</if>> <<set $mouthaction to $mouthactiondefault>> <<if $options.combatControls.includes("adio")>> <span>Mouth: <<generateCombatAction _mouthaction "mouthaction" "Struggle">> </span> <<else>> <<generateCombatAction _mouthaction "mouthaction" "Struggle">> <</if>> <<if $options.combatControls.includes("ists")>> <div id="mouthactionDifficulty"> <<mouthactionDifficulty>> </div> <</if>> <</if>> <<if $options.combatControls is "radio">> <<handsActionsStruggleRadio "mouth">> <</if>> <<if $options.combatControls is "columnRadio">> <<handsActionsStruggleColumnRadio "mouth">> <</if>> <<set $lastOptions.mouth to clone(_mouthOptions)>> <</if>> <</if>> <</widget>> <<widget "mouthactionDifficultyStruggle">>/* Simply put, there's a JavaScript macro that needs it. */ <!-- Does nothing --> <</widget>> <<widget "penisActionInitStruggle">> <<set $penistarget to "struggle">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<switch $penisstate>> <<case "struggle" "struggle_pen">> <span @class="(_gold_penis ? 'gold' : '')">A <<print $struggle.penis.creature>> clings to your tummy, where it threatens your <<penisSimple>>.</span> <<if $leftarmstate is "penis_struggle" and $rightarmstate is "penis_struggle">> You clutch it with both hands. <<elseif $leftarmstate is "penis_struggle">> You clutch it with your left hand. <<elseif $rightarmstate is "penis_struggle">> You clutch it with your right hand. <</if>> <<case "tentacleentrance" "tentacleimminent" "tentacle" "tentacledeep" "tentaclerub">> <<set $_changetype to true>><<penisActionInitTentacle>> <<default>> <<set $_changetype to true>><<penisActionInit>> <</switch>> <<if $_changetype isnot true and $options.combatControls is "radio">> <<handsActionsStruggleRadio penis>> <</if>> <<if $_changetype isnot true and $options.combatControls is "columnRadio">> <<handsActionsStruggleColumnRadio penis>> <</if>> <</if>> <</widget>> <<widget "vaginaActionInitStruggle">> <<set $vaginatarget to "struggle">> <<switch $vaginastate>> <<case "struggle" "struggle_pen">> <span @class="(_gold_vagina ? 'gold' : '')">A <<print $struggle.vagina.creature>> clings to your pelvis, where it threatens your pussy.</span> <<if $leftarmstate is "vagina_struggle" and $rightarmstate is "vagina_struggle">> You clutch it with both hands. <<elseif $leftarmstate is "vagina_struggle">> You clutch it with your left hand. <<elseif $rightarmstate is "vagina_struggle">> You clutch it with your right hand. <</if>> <<case "tentacleentrance" "tentacleimminent" "tentacle" "tentacledeep" "tentaclerub">> <<set $_changetype to true>><<vaginaActionInitTentacle>> <<default>> <<set $_changetype to true>><<vaginaActionInit>> <</switch>> <<if $_changetype isnot true and $options.combatControls is"radio">> <<handsActionsStruggleRadio "vagina">> <</if>> <<if $_changetype isnot true and $options.combatControls is "columnRadio">> <<handsActionsStruggleColumnRadio "vagina">> <</if>> <</widget>> <<widget "anusActionInitStruggle">> <<set $anustarget to "struggle">> <<if $bottomuse is "mouth" or $bottomuse is "penis">> <<set $_changetype to true>><<anusActionInit>> <<else>> <<switch $anusstate>> <<case "struggle" "struggle_pen">> <span @class="(_gold_anus ? 'gold' : '')">A <<print $struggle.anus.creature>> clings to your bottom.</span> <<if $leftarmstate is "anus_struggle" and $rightarmstate is "anus_struggle">> You clutch it with both hands. <<elseif $leftarmstate is "anus_struggle">> You clutch it with your left hand. <<elseif $rightarmstate is "anus_struggle">> You clutch it with your right hand. <</if>> <<case "tentacleentrance" "tentacleimminent" "tentacle" "tentacledeep" "tentaclerub">> <<set $_changetype to true>><<anusActionInitTentacle>> <<default>> <<set $_changetype to true>><<anusActionInit>> <</switch>> <</if>> <<if $_changetype isnot true and $options.combatControls is "radio">> <<handsActionsStruggleRadio "anus">> <</if>> <<if $_changetype isnot true and $options.combatControls is "columnRadio">> <<handsActionsStruggleColumnRadio "anus">> <</if>> <</widget>> <<widget "chestActionInitStruggle">> <<switch $chestuse>> <<case "struggle">> <span @class="(_gold_chest ? 'gold' : '')">A <<print $struggle.chest.creature>> clings to your chest.</span> <<if $leftarmstate is "chest_struggle" and $rightarmstate is "chest_struggle">> You clutch it with both hands. <<elseif $leftarmstate is "chest_struggle">> You clutch it with your left hand. <<elseif $rightarmstate is "chest_struggle">> You clutch it with your right hand. <</if>> <<case "tentaclerub">> <<set $_changetype to true>><<chestActionInitTentacle>> <<case "penis">> <<set $_changetype to true>><<chestActionInit>> <</switch>> <<if $_changetype isnot true and $options.combatControls is "radio">> <<handsActionsStruggleRadio "chest">> <</if>> <<if $_changetype isnot true and $options.combatControls is "columnRadio">> <<handsActionsStruggleColumnRadio "chest">> <</if>> <</widget>> <<widget "struggle_actions">> <<if !($struggle.mouth.progress gte 6 and $struggle.mouth.progress lte 14) and !$underwater>> <<oxygen 50>> <</if>> <<willpowerpain>> <<willpowerorgasm>> <<actioncarry>> <<actioncarrydrop>> <<combatstate>> <<carryblock>> <<if $trance lte 0 and $panicparalysis is 0 and $panicviolence is 0 and $options.combatControls isnot "radio_old">> <<struggle_difficulty_set>> <<if $options.combatControls.includes("adio")>> <<set $leftaction to $leftactiondefault>> <<set $rightaction to $rightactiondefault>> <</if>> <<generateActionsStruggle>> <</if>> <<if $trance lte 0 and $dissociation lte 1 and $panicparalysis is 0 and $panicviolence is 0 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and $options.combatControls is "radio_old">> <<struggle_difficulty_set>> <!-- arms bound set --> <<if $leftarm is "bound" and $rightarm is "bound">> <span class="pink">Your arms are helplessly bound, leaving you defenceless.</span> <<elseif $leftarm is "grappled" and $rightarm is "grappled">> <span class="pink">Your arms are grappled, leaving you defenceless.</span> <<elseif $leftarm is "grappled" or $leftarm is "bound">> <span class="purple">Your left arm is grappled.</span> <<elseif $rightarm is "grappled" or $rightarm is "bound">> <span class="purple">Your right arm is grappled.</span> <<else>> Your arms are free. <</if>> <!-- arms line --> <<set $leftaction to $leftactiondefault>> <<if $leftarm isnot "grappled" and $leftarm isnot "bound">> <label><span class="meek">Keep left arm still</span> <<radiobutton "$leftaction" "rest" autocheck>></label> <<set _pipe to 1>> <</if>> <<set $rightaction to $rightactiondefault>> <<if $rightarm isnot "grappled" and $rightarm isnot "bound">> <<if _pipe>>| <</if>><label><span class="meek">Keep right arm still</span> <<radiobutton "$rightaction" "rest" autocheck>></label> <</if>> <<set _pipe to 0>> <br> <!-- feet line --> <<set $feetaction to $feetactiondefault>> <<if $feetuse is 0>> Your feet are free. <<set $feetaction to $feetactiondefault>> <label><span class="meek">Keep still</span> <<radiobutton "$feetaction" "rest" autocheck>></label> | <label><span class="meek">Dodge</span> <<radiobutton "$feetaction" "evade" autocheck>></label> | <label><span class="meek">Plant</span> <<radiobutton "$feetaction" "plant" autocheck>></label> <</if>> <br> <hr> <!-- attached lurkers --> <!-- mouth --> <<if $mouthuse is "struggle" and $struggle.mouth.creature>> The <<struggle_name "mouth">> clings to your face. <br> <span> Mouth: <<if $mouthstate is "struggle">> <<set $mouthaction to ($mouthactiondefault is "open" ? "open" : "rest")>> <label>Keep closed <<radiobutton "$mouthaction" "rest" autocheck>></label> | <label><span class="sub">Open</span> <<radiobutton "$mouthaction" "open" autocheck>></label> <<elseif $mouthstate is "struggle_pen">> <<if $mouthactiondefault is "suck" or ($consensual isnot 1 and $mouthactiondefault is "bite")>> <!-- all is good --> <<else>> <<set $mouthactiondefault to "rest">> <</if>> <<set $mouthaction to $mouthactiondefault>> <label>Rest <<radiobutton "$mouthaction" "rest" autocheck>></label> | <label><span class="sub">Suck</span> <<radiobutton "$mouthaction" "suck" autocheck>></label> <<if $consensual isnot 1>> | <label><span class="def">Bite</span> <<radiobutton "$mouthaction" "bite" autocheck>></label> <</if>> <</if>> </span> <<if $options.combatControls is "radio">> <br> <hr> <<handsActionsStruggleRadio "mouth">> <<elseif $options.combatControls is "columnRadio">> <<handsActionsStruggleColumnRadio "mouth">> <</if>> <</if>> <!-- the rest of it --> <<for _part range ["vagina", "penis", "anus", "chest"]>> <<if V[_part + 'use'] is "struggle">> The <<struggle_name _part>> clings to your <<struggle_region _part>><<if ["vagina", "penis"].includes(_part)>>, where it threatens your <<struggle_bodypart _part>><</if>>. <br> <<if $options.combatControls is "radio">> <<handsActionsStruggleRadio _part>> <hr> <<elseif $options.combatControls is "columnRadio">> <<handsActionsStruggleColumnRadio _part>> <</if>> <</if>> <</for>> <!-- distant lurkers --> <<set _dlurkers to []>> <<for _i to 0; _i lt $struggle.number; _i++>> <<if $struggle.enemy[_i].location is "fleeing" or $struggle.enemy[_i].location is "lurking">> <<set _dlurkers.push(_i)>> <</if>> <</for>> <<if _dlurkers.length gt 0>> The <<for _i to _dlurkers.length - 1; _i gte 0; _i-->> <<struggle_name _dlurkers[_i]>><<if _i gte 2>>, the<<elseif _i is 1>> and the<</if>> <</for>> keep<<if _dlurkers.length is 1>>s<</if>> at a distance. <<if $farm_stage gte 10 and $lurkers_held lt 1>> <<if $leftarm isnot "grappled" and $leftarm isnot "bound">> <br> Left arm: <label><span class="def">Hurl net</span> <<radiobutton "$leftaction" "capture" autocheck>></label> <</if>> <<if $rightarm isnot "grappled" and $rightarm isnot "bound">> <br> Right arm: <label><span class="def">Hurl net</span> <<radiobutton "$rightaction" "capture" autocheck>></label> <</if>> <</if>> <br> <hr> <</if>> <</if>> <br><br> <<setupMidOrgasm>> <</widget>> <<widget "handsActionsStruggleRadio">> <<set _hpart to _args[0]>> <<set V[_hpart + 'target'] to "struggle">> <<if V[_hpart + 'use'] is "struggle">> <br> <<for _hhand range ["left", "right"]>> <<if ["free", "struggle"].includes(_leftOptions)>> <<print (_hhand is "left" ? "Left" : "Right")>> arm: <<if V[_hhand + 'actiondefault'].includes(_hpart) and $struggle[_hpart].grip gte 1>> <!-- require hand on the creature before pulling or strengthening --> <<if $struggle[_hpart].success lt 100>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_strengthen'` autocheck>> <span class="brat">Strengthen your grip</span></label> | <</if>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_pull'` autocheck>> <span class="def">Pull</span></label> | <<elseif $struggle[_hpart].success lt 100>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_grasp'` autocheck>> <span class="brat">Grasp</span></label> | <</if>> <<if $spray gte 1 and !$consensual>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_spray'` autocheck>> <span class="def">Spray</span></label> | <</if>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_stroke'` autocheck>> <span class="sub">Stroke it</span></label> | <</if>> <br> <</for>> <</if>> <</widget>> <<widget "handsActionsStruggleColumnRadio">> <<set _hpart to _args[0]>> <<set V[_hpart + 'target'] to "struggle">> <<if V[_hpart + 'use'] is "struggle">> <span> <<for _hhand range ["left", "right"]>> <<if ["free", "struggle"].includes(_leftOptions)>> <span><<print (_hhand is "left" ? "Left" : "Right")>> arm: </span> <<if V[_hhand + 'actiondefault'].includes(_hpart) and $struggle[_hpart].grip gte 1>> <!-- require hand on the creature before pulling or strengthening --> <<if $struggle[_hpart].success lt 100>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_strengthen'` autocheck>> <span class="brat">Strengthen your grip</span></label> | <</if>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_pull'` autocheck>> <span class="def">Pull</span></label> | <<elseif $struggle[_hpart].success lt 100>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_grasp'` autocheck>> <span class="brat">Grasp</span></label> | <</if>> <<if $spray gte 1 and !$consensual>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_spray'` autocheck>> <span class="def">Spray</span></label> | <</if>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_stroke'` autocheck>> <span class="sub">Stroke it</span></label> <</if>> <br> <</for>> </span> <</if>> <</widget>> <<widget "handsActionsStruggleRadiobkp">> <<set _hpart to _args[0]>> <<set V[_hpart + 'target'] to "struggle">> <<if V[_hpart + 'use'] is "struggle">> <br> <<for _hhand range ["left", "right"]>> <<if V[_hhand + 'arm'] isnot "bound" and !(V[_hhand + 'arm'] and V[_hhand + 'arm'].includes("grappled"))>> <<print (_hhand is "left" ? "Left" : "Right")>> arm: <<if $struggle[_hpart].success lt 100>> <<if !V[_hhand + 'armstate'].includes(_hpart)>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_grasp'` autocheck>> <span class="brat">Grasp</span></label> | <<else>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_strengthen'` autocheck>> <span class="brat">Strengthen your grip</span></label> | <</if>> <</if>> <<if $struggle[_hpart].grip gte 1>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_pull'` autocheck>> <span class="def">Pull</span></label> | <</if>> <<if $spray gte 1 and !$consensual>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_spray'` autocheck>> <span class="def">Spray</span></label> | <</if>> <label><<radiobutton `'$' + _hhand + 'action'` `_hpart + '_stroke'` autocheck>> <span class="sub">Stroke it</span></label> | <</if>> <br> <</for>> <</if>> <</widget>> <<widget "struggle_effects">> <<pain -0.25>> <<if $trance gte 1 or $dissociation gte 2>> <<if $position is "stalk">> You wander in a daze, unaware of your surroundings. <<else>> You stare straight ahead, your body passive and compliant. <</if>> <</if>> <<if $underwater is 1>> <<set $underwatertime += 1>> <<if $underwatertime lte 5>> You are underwater, and cannot speak. <<elseif $underwatertime lte 10>> <span class="blue">You are underwater, and cannot breathe.</span> <<gstress>><<stress 1>> <<elseif $underwatertime lte 15>> <span class="purple">You are underwater, and cannot breathe.</span> <<gstress>><<stress 2>> <<elseif $underwatertime lte 20>> <span class="pink">You are underwater, and running out of breath.</span> <<gtrauma>><<gstress>><<stress 4>><<trauma 2>> <<else>> <span class="red">You are suffocating beneath the water.</span> <<pain 20 1>><<gtrauma>><<gstress>><<gpain>><<stress 6>><<trauma 4>> <br><br> <</if>> <</if>> <<effectspain>> <<effectsorgasm>> <<effectsdissociation>> <!-- MOUTH --> <<if $mouthaction is "rest">> <!-- nothing to do. add some flavour text maybe? --> <<elseif $mouthaction is "open" and $mouthstate is "struggle">> <<set $mouthactiondefault to "suck">> You open your mouth wide allowing it to enter. <<set _mouthOpen to true>> <<if $struggle.mouth.progress gte 1 and $struggle.mouth.progress lte 3>> <<set $struggle.mouth.progress to 4>><<submission 1>> <</if>> <<elseif $mouthaction is "suck" and $mouthstate is "struggle_pen">> You suck on the <<struggle_name mouth>>'s <<struggle_appendage mouth>><<if $struggle.mouth.progress gte 8>>, forcing it to release more sweet fluid down your throat<</if>>. <<neutral 5 "mouth">><<struggle_fluid mouth>><<purity -1>><<internalejac>><<bodyliquid "mouth" "goo">><<submission 2>> <<if $struggle.mouth.progress gt 7 and $struggle.mouth.progress lt 13>> <<set $struggle.mouth.progress += 1>> <</if>> <<elseif $mouthaction is "bite" and $mouthstate is "struggle_pen">> <<if $transformationParts.traits.fangs isnot "disabled">> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> You bite the <<struggle_name mouth>>'s <<struggle_appendage mouth>> with your fangs. <<case 2>> Your fangs bite deep into the <<struggle_name mouth>>'s <<struggle_skin mouth>>. <<case 3>> Your fangs rip and tear into the <<struggle_name mouth>>'s <<struggle_skin mouth>>. <<case 4>> Your fangs pierce the <<struggle_name mouth>>'s <<struggle_skin mouth>>. <<default>> Your fangs skewer the <<struggle_name mouth>>'s <<struggle_skin mouth>>. <</switch>> <span class="green">It leaps off your face.</span> <<set $mouthuse to 0>> <<set $mouthstate to 0>> <<struggle_part_init "mouth">> <<set $struggle.warded += 1>> <<defiance 2>> <<control 5>> <<struggleClearActions "mouth_">> <br> <<else>> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> No matter how hard you try to bite on its <<struggle_appendage mouth>>, <span class="red">it doesn't react.</span> <<case 2>> You bite, <span class="red">but your teeth fail</span> to penetrate the <<struggle_name mouth>>'s <<struggle_skin mouth>>. <<case 3>> You bite, <span class="red">but your teeth are unable to breach</span> the <<struggle_name mouth>>'s tough <<struggle_skin mouth>>. <<case 4>> You bite into the <<struggle_name mouth>>'s tough <<struggle_skin mouth>>, <span class="red">but it's not enough to provoke a reaction.</span> <<default>> You bite down, <span class="red">but your teeth can't get purchase</span> on the <<struggle_name mouth>>'s <<struggle_skin mouth>>. <</switch>> <<defiance 1>> <</if>> <</if>> <<if !$carryblock>> <<set $mouthactiondefault to ($mouthaction is "bite" ? "rest" : $mouthaction)>> <<set $mouthaction to 0>> <</if>> <!-- FEET --> <<set _grip_strength to currentSkillValue('physique') / 20 + currentSkillValue("handskill")>> <<if $feetaction is "rest">> <<unset $dodging>> You rest your legs. <<elseif $feetaction is "evade">> <<set $dodging to 1>> <<if $underwater is 1 or ["sea","lake"].includes($location)>> You relax your legs and let yourself float, ready to dodge incoming attacks. <<else>> You remain light on your feet, ready to dodge incoming attacks. <</if>> <<elseif $feetaction is "plant">> <<unset $dodging>> <<set _grip_strength += currentSkillValue("feetskill")>> <<if $underwater is 1 or ["sea","lake"].includes($location)>> You tread water, helping you steady your grip. <<else>> You plant your feet, helping you get a firm grip. <</if>> <<feetskilluse>> <</if>> <<if !$carryblock>> <<set $feetactiondefault to ($feetaction ? $feetaction : "rest")>> <<set $feetaction to 0>> <</if>> <!-- HANDS --> <<set _actionPriority = ["rest", "stroke", "grasp", "strengthen", "pull", "spray"]>> <<set _hands = [{id: "left", handaction: $leftaction},{id: "right", handaction: $rightaction}] .map(h => { let [,part, action] = /(?:([^_]+)_)?(.*)/.exec(h.handaction); return Object.assign(h, {part, action}); }).sort((a,b) => _actionPriority.indexOf(a.action) - _actionPriority.indexOf(b.action)) >> <<for _i, _handObj range _hands>> <!-- iterate once per hand, unless $leftaction is $rightaction, in which case do stuff for the other hand immediately and <<break>> --> /* <<set {id: _hand, part: _actionpart, action: _action} = _Hand>> */ <<set _hand = _handObj.id, _actionpart = _handObj.part, _action = _handObj.action>> <<set _otherHand to _hands[1-_i].id>> <<if !_action or V[_hand + "action"] is 0>><<continue>><</if>> <<if _action.includes("upper") or _action.includes("lower")>><<set _action to "clothes">><</if>> <<set _gripped to _grip_strength gte random(2000)>> <!-- _grip_strength is set above in the FEET section --> <<switch _action>> <<case "rest">> /* nothing to do */ <<case "stroke">> <<if _actionpart is "mouth">> You stroke the <<struggle_name _actionpart>>, hoping to put it at ease. <<else>> You stroke the <<struggle_name _actionpart>>'s <<struggle_appendage _actionpart>>, hoping to excite it. <<if $struggle[_actionpart].progress gt 7 and $struggle[_actionpart].progress lt (_actionpart is "chest" ? 12 : 13)>> <<set $struggle[_actionpart].progress++>> <<bodyliquid _actionpart "goo">> <<if ["vagina", "anus"].includes(_actionpart)>> <<struggle_fluid _actionpart>> <<purity -1>> <<internalejac>> <</if>> <</if>> <</if>> <br> <<neutral 5>><<submission 2>> <<set V[_hand + 'arm'] to "struggle">> <<set V[_hand + 'armstate'] to _actionpart + '_struggle'>> <<if $leftaction is $rightaction>> <<set V[_otherHand + "armstate"] to _actionpart + '_struggle'>> <<set V[_otherHand + "arm"] to "struggle">> <<submission 2>> <<break>> <</if>> <<case "grasp">> You raise your <<if $leftaction is $rightaction>>hands<<else>>_hand hand<</if>> to the <<print $struggle[_actionpart].creature>> clinging to your <<struggle_region _actionpart>>, though it's hard to find purchase. <<set V[_hand + 'arm'] to "struggle">> <<set V[_hand + 'armstate'] to _actionpart + '_struggle'>> <<set $struggle[_actionpart].grip += 1 + _gripped>> <<set V[_hand + 'action'] to _actionpart + '_strengthen'>> <<case "strengthen">> You tighten your grip on the <<print $struggle[_actionpart].creature>> clinging to your <<struggle_region _actionpart>><<if $leftaction is $rightaction>> with both hands<</if>>. <<set V[_hand + 'arm'] to "struggle">> <<set V[_hand + 'armstate'] to _actionpart + '_struggle'>> <<if _gripped>> Your grasp is <span class="teal">much better.</span> <<set $struggle[_actionpart].grip += 2>> <<else>> Your grasp is <span class="blue">a bit better.</span> <<set $struggle[_actionpart].grip += 1>> <</if>> <br> <<handskilluse>> <<if $leftaction is $rightaction and _i == 0>> <<set $struggle[_actionpart].grip += 1 + _gripped>> <<set V[_otherHand + "arm"] to "struggle">> <<set V[_otherHand + "armstate"] to _actionpart + '_struggle'>> <<break>> <</if>> <<case "pull">> <br> You dig your nails in and try to wrench the <<print $struggle[_actionpart].creature>> off your <<struggle_region _actionpart>>. <<struggle_difficulty_set>> <<if $struggle[_actionpart].success gte random(1, 100) || ($leftaction is $rightaction and $struggle[_actionpart].success gte random(1, 100))>> <span class="green">You hurl it away from you.</span> <<set V[_actionpart + 'use'] to 0>> <<set V[_actionpart + 'state'] to 0>> <<struggle_part_init _actionpart>> <<set $struggle.warded++>> <<struggleClearActions `_actionpart + '_'`>> <<else>> <!-- TODO: maybe add some skill and random checks, with possibilities (and corresponding flavour text) to retain the grip --> You can't maintain your grip, and <span class="red">your fingers pull away without the creature.</span> <<set $struggle[_actionpart].grip to 0>> <<set V[_hand + 'action'] to _actionpart + '_grasp'>> <</if>> <<if $leftaction is $rightaction>> <<break>> <</if>> <<case "spray">> <<if $spray gte 1>> You spray the <<print $struggle[_actionpart].creature>>. <span class="green">It leaps off your <<struggle_region _actionpart>>.</span> <<set $spraystat++>><<spray -1>> <<set V[_actionpart + 'use'] to 0>> <<set V[_actionpart + 'state'] to 0>> <<struggle_part_init _actionpart>> <<set $struggle.warded++>> <<struggleClearActions _actionpart>> <<effectssprayFree>> <<else>> You try to spray the <<print $struggle[_actionpart].creature>> clinging to your <<struggle_region _actionpart>>, <span class="purple">but your spray is empty!</span> <</if>> <br> <<if $leftaction is $rightaction>> <<break>> <</if>> <<case "clothes">> <<effectshandsclothes>> <br> <<if _hand is "left" and ($rightaction.toString().includes("upper") or $rightaction.toString().includes("lower"))>> <<break>> <</if>> <</switch>> <</for>> /* lose grasp on the lurkers that you have no contact with */ <<if !$carryblock>> <<for _part range ["mouth", "vagina", "penis", "anus", "chest"]>> <<if $struggle[_part].grip gt 0 and (!$leftaction or !$leftaction.includes(_part)) and (!$rightaction or !$rightaction.includes(_part))>> Switching all attention away from it, <span class="red">you lose all grasp on the <<print $struggle[_part].creature>> clutching your <<struggle_region _part>>.</span> <<set $struggle[_part].grip to 0>> <!-- reset arm state --> <<if $leftarmstate.toString().includes(_part)>> <<set $leftarmstate to 0>> <<set $leftarm to 0>> <</if>> <<if $rightarmstate.toString().includes(_part)>> <<set $rightarmstate to 0>> <<set $rightarm to 0>> <</if>> <!-- prevent attempts to strenghten what hasn't been grasped after orgasm, disassociation, etc --> <!-- pretty useless unless !$carryblock check above goes away some day --> <<if $rightactioncarry is (_part + '_strengthen')>> <<set $rightactioncarry to (_part + '_grasp')>> <</if>> <<if $leftactioncarry is (_part + '_strengthen')>> <<set $leftactioncarry to (_part + '_grasp')>> <</if>> <</if>> <</for>> <</if>> /* capture calculations should go independently */ <<if $leftaction is "capture" or $rightaction is "capture">> <<set _capture_chance to (!!($leftaction is "capture") + !!($rightaction is "capture")) * 30>> <!-- select the best target --> <<for _i to 0; _i lt $struggle.number; _i++>> <<if $struggle.enemy[_i].location is "fleeing">> <<set _capture_chance *= 2>> <<set _capture_creature to _i>> <<break>> <<elseif $struggle.enemy[_i].location is "lurking">> <<set _capture_creature to _i>> <</if>> <</for>> <<if _capture_creature isnot undefined>> <!-- do a strict check for undefined and not something else! otherwise the check will fail on 0 --> You cast your net at the <<if $struggle.enemy[_capture_creature] is "fleeing">><span class="green">recoiling </span><</if>><<print $struggle.enemy[_capture_creature].name>><<if $leftaction is $rightaction>> with both hands<</if>>. <<if $prof.net / 20 + _capture_chance gte random(100)>> <<set _succ to true>> <</if>> <<else>> You prepare to cast your net at a <<print $struggle.creature>>, <span class="pink">but they're too close.</span> You'll have to drive one back first. <</if>> <<if _succ>> <span class="green">The net lands true.</span> You pull the creature into your possession. <<if $struggle.enemy[_capture_creature].name is "lurker">> <<set $lurkers_held += 1>> <<set $stat_lurkers_captured += 1>> <</if>> <<set $struggle.done += 1>> <<set $struggle.enemy[_capture_creature].location to "fled">> <<if $leftaction is "capture">> <<set $leftaction to "rest">> <</if>> <<if $rightaction is "capture">> <<set $rightaction to "rest">> <</if>> <<else>> <span class="red">The creature squirms aside.</span><<gnet>><<prof net 1>> <</if>> <</if>> <<if $leftaction is "guard" and $rightaction is "guard">> You raise both arms, preparing to bat away any attacks. <<set $left_guard to 1>> <<set $right_guard to 1>> <<elseif $leftaction is "guard">> You raise your left arm, preparing to bat away any attacks. <<set $left_guard to 1>> <<elseif $rightaction is "guard">> You raise your right arm, preparing to bat away any attacks. <<set $right_guard to 1>> <</if>> <<if !$carryblock>> <<set $leftactiondefault to ($leftaction ? $leftaction : "rest"); $leftaction to 0>> <<set $rightactiondefault to ($rightaction ? $rightaction : "rest"); $rightaction to 0>> <</if>> <br> <</widget>> <<widget "struggle_enemy">> <<if $struggle.mouth.creature>> <<switch $struggle.mouth.progress>> <<case 0>> <<if $struggle.mouth.legs is "tentacles">> The <<print $struggle.mouth.creature>>'s tentacles wrap around your neck.<<neutral 2>> <<elseif $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> The <<print $struggle.mouth.creature>>'s <<struggle_appendage mouth>> rubs against your $worn.face.name.<<neutral 1>> <<else>> The <<print $struggle.mouth.creature>>'s <<struggle_appendage mouth>> rubs against your face.<<neutral 1>> <</if>> <<case 1>> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> The <<print $struggle.mouth.creature>> plays with your $worn.face.name, <span class="blue">searching for a way in.</span><<neutral 2 "mouth">> /*<<struggle_clothes mouth>>*/ <<else>> The <<print $struggle.mouth.creature>> plays with your lips, <span class="blue">searching for a way in.</span><<neutral 2 "mouth">> <</if>> <<case 2>> <<struggle_clothes mouth>> /*The <<print $struggle.mouth.creature>>'s <<struggle_appendage mouth>> <span class="purple">pushes against your lips.</span><<neutral 4 "mouth">>*/ <<case 3>> The tip of the <<print $struggle.mouth.creature>>'s <<struggle_appendage mouth>> begins to part your lips. <span class="pink">It's about to penetrate fully.</span><<neutral 5 "mouth">> <<case 4>> <<if $player.virginity.oral isnot true>> The <<print $struggle.mouth.creature>> <span class="pink"><<print (_mouthOpen ?'slides':'forces')>> its <<struggle_appendage mouth>> into your mouth</span>. It becomes girthier as more enters. <<submission 10>> <<else>> The <<print $struggle.mouth.creature>> <span class="pink"><<print (_mouthOpen ?'slides':'forces')>> its <<struggle_appendage mouth>> into your mouth</span>. <span class="red">It tastes strange.</span> <<submission 30>><<takeVirginity $struggle.mouth.creature "oral">> <</if>> <<if $consensual isnot 1>><<bruise face>><<violence 1>><<raped>><</if>> <<oralstat>><<neutral 5 "mouth">><<set $mouthstate to "struggle_pen">><<set $mouthaction to 0>> <<case 5>> The <<print $struggle.mouth.creature>> pushes itself deeper into your mouth.<<neutral 5 "mouth">> <<case 6>> The <<print $struggle.mouth.creature>>'s <<struggle_appendage mouth>> pushes down your throat. <<if $underwater isnot 1>><span class="purple">You can't breathe!</span><</if>><<neutral 5 "mouth">> <<case 7>> The <<print $struggle.mouth.creature>> <span class="pink">shudders as it begins to pump a sweet fluid down your throat.</span><<neutral 5 "mouth">><<struggle_fluid mouth>><<purity -1>><<internalejac>><<bodyliquid "mouth" "goo">><<oralejacstat>><<ejacstat>> <<case 13>> <<if $struggle.creature is "lurker">> <<impregnateParasite "Lurker" 400>><<fertiliseParasites>> <<if _impreg is true>> The <<print $struggle.mouth.creature>>'s <<struggle_appendage mouth>> <span class="red">expands again</span>, but the extra pressure disappears quickly. It feels like it left something behind. <<neutral 5 "mouth">><<struggle_fluid mouth>><<purity -1>><<internalejac>><<bodyliquid "mouth" "goo">> <<else>> <<set _failedImpreg to true>> <</if>> <<set _impreg to false>> <<else>> <<set _failedImpreg to true>> <</if>> <<if _failedImpreg>> The <<print $struggle.mouth.creature>> pumps a sweet fluid down your throat.<<neutral 5 "mouth">><<struggle_fluid mouth>><<purity -1>><<internalejac>><<bodyliquid "mouth" "goo">> <</if>> <<case 14>> The <<print $struggle.mouth.creature>> shudders, <span class="blue">and withdraws its <<struggle_appendage mouth>> from your throat.</span> It leaps from your face.<<neutral 5 "mouth">><<struggle_fluid mouth>> <<set $mouthuse to 0>> <<set $mouthstate to 0>> <<struggle_part_init "mouth" "cum">> <<default>> The <<print $struggle.mouth.creature>> pumps a sweet fluid down your throat.<<neutral 5 "mouth">><<struggle_fluid mouth>><<purity -1>><<internalejac>><<bodyliquid "mouth" "goo">> <</switch>> <<if $struggle.mouth.progress gte 6 and $struggle.mouth.progress lte 14>> <<if $underwater isnot 1>> <<oxygen -150>> <</if>> <<if $oxygen gte 900>> <!-- TODO: maybe add something here? --> <<elseif $oxygen gte 600>> <<elseif $oxygen gte 300>> <<elseif $oxygen gte 1>> <<else>> <<violence 15>> <</if>> <</if>> <<set $struggle.mouth.progress += 1>> <br> <</if>> <<if $struggle.vagina.creature>> <<switch $struggle.vagina.progress>> <<case 0>> <<if $struggle.vagina.legs is "tentacles">> The <<print $struggle.vagina.creature>>'s tentacles grope and cling to your pelvis.<<neutral 2 "genitals">> <<else>> The <<print $struggle.vagina.creature>>'s <<struggle_appendage vagina>> prods your pelvis, as if searching for something.<<neutral 1 "genitals">> <</if>> <<case 1>> The <<print $struggle.vagina.creature>> slides over your labia, <span class="blue">searching for a way in.</span><<neutral 2 "genitals">> <<case 2>> <<struggle_clothes vagina>> <<case 3>> The tip of the <<print $struggle.vagina.creature>>'s <<struggle_appendage vagina>> pushes against your <<pussy>>. <span class="pink">It's about to penetrate fully.</span><<neutral 5 "genitals">> <<case 4>> <<set _pain to $vaginalPain>> <<if $player.virginity.vaginal isnot true>> The <<print $struggle.vagina.creature>> <span class="pink">forces its <<struggle_appendage vagina>> into your <<pussy>>.</span> It becomes girthier as more enters. <<sex 30 "genitals">> <<else>> The <<print $struggle.vagina.creature>> <span class="pink">forces its <<struggle_appendage vagina>> into your <<pussy>>,</span> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<else>> <span class="red">breaking your hymen and forever robbing you of your purity.</span> <</if>> <<sex 100 "genitals">><<takeVirginity $struggle.vagina.creature "vaginal">> <</if>> <<if $consensual isnot 1>><<bruise vagina>><<violence 2>><<pain _pain>><</if>> <<raped>><<vaginaraped>> <<vaginalstat>><<set $vaginastate to "struggle_pen">><<neutral 5 "genitals">> <<case 5>> The <<print $struggle.vagina.creature>> pushes itself deeper into your <<pussy>>.<<neutral 5 "genitals">> <<case 6>> The <<print $struggle.vagina.creature>>'s <<struggle_appendage vagina>> begins to thrust into your <<pussy>>.<<neutral 5 "genitals">> <<case 7>> The <<print $struggle.vagina.creature>> <span class="pink">shudders and pumps a warm fluid into your <<pussy>>.</span><<neutral 5 "genitals">><<struggle_fluid vagina>><<purity -1>><<internalejac>><<bodyliquid "vagina" "goo">><<vaginalejacstat>><<ejacstat>> <<case 13>> <<impregnateParasite $struggle.vagina.creature 50 "vagina">> <<if _impreg is true>> The <<print $struggle.vagina.creature>>'s <<struggle_appendage mouth>> <span class="red">expands again</span>, but the extra pressure disappears quickly. It feels like it left something behind.<<neutral 5 "genitals">><<bodyliquid "vagina" "goo">><<struggle_fluid vagina>><<purity -1>><<internalejac>><<bodyliquid "vagina" "goo">> <<set _impreg to false>> <<else>> The <<print $struggle.vagina.creature>>'s <<struggle_appendage vagina>> thrusts into your <<pussy>>.<<neutral 5 "genitals">><<bodyliquid "vagina" "goo">><<struggle_fluid vagina>><<purity -1>><<internalejac>><<bodyliquid "vagina" "goo">> <</if>> <<case 14>> The <<print $struggle.vagina.creature>> shudders, <span class="blue">and withdraws its <<struggle_appendage vagina>> from your <<pussy>>.</span> It leaps from your pelvis.<<neutral 5 "genitals">><<struggle_fluid vagina>> <<set $vaginause to 0>> <<set $vaginastate to 0>> <<struggle_part_init "vagina" "cum">> <<default>> The <<print $struggle.vagina.creature>> pumps a warm fluid into your <<pussy>>.<<neutral 5 "genitals">><<struggle_fluid vagina>><<purity -1>><<internalejac>><<bodyliquid "vagina" "goo">> <</switch>> <<set $struggle.vagina.progress += 1>> <br> <</if>> <<if $struggle.penis.creature>> <<switch $struggle.penis.progress>> <<case 0>> <<if $struggle.penis.legs is "tentacles">> The <<print $struggle.penis.creature>> lowers itself towards your <<penis>> as its tentacles slide and grope.<<neutral 2 "genitals">> <<else>> The <<print $struggle.penis.creature>> lowers itself towards your <<penis>>.<<neutral 1 "genitals">> <</if>> <<case 1>> The <<print $struggle.penis.creature>> presses against your <<penis>>, <span class="blue">trying to envelop.</span><<neutral 2 "genitals">> <<case 2>> <<struggle_clothes penis>> <<case 3>> The <<print $struggle.penis.creature>> pushes against your <<penis>>. <span class="pink">It's about to envelop you fully.</span><<neutral 5 "genitals">> <<case 4>> <<set _pain to $penisPain>> <<if playerHasStrapon() or $player.virginity.penile isnot true>> The <<print $struggle.penis.creature>> <span class="pink">forces your <<penis>> inside its body.</span> It becomes tighter as more enters. <<sex 30 "genitals">> <<else>> The <<print $struggle.penis.creature>> <span class="pink">forces your <<penis>> into its body,</span> <span class="red">separating your foreskin from your glans and forever robbing you of your purity.</span> <<sex 100 "genitals">><<takeVirginity $struggle.penis.creature "penile">> <</if>> <<if playerHasStrapon()>><<violence 2 1 1 0>> <<elseif $consensual isnot 1>><<bruise penis>><<violence 2>><<pain _pain>><</if>> <<raped>><<penisraped>> <<penilestat>><<neutral 5 "genitals">><<set $penisstate to "struggle_pen">> <<case 5>> The <<print $struggle.penis.creature>> takes your <<penis>> deeper inside.<<neutral 5 "genitals">> <<case 6>> The <<print $struggle.penis.creature>> begins to thrust against your <<penis>>.<<neutral 5 "genitals">> <<case 7>> The <<print $struggle.penis.creature>> <span class="pink">shudders as your <<penis>> thrusts against its core.</span><<neutral 5 "genitals">><<bodyliquid "penis" "goo">> <<case 14>> The <<print $struggle.penis.creature>> shudders, <span class="blue">and releases your <<penis>>.</span> It leaps from your tummy.<<neutral 5 "genitals">> <<set $penisuse to 0>> <<set $penisstate to 0>> <<struggle_part_init "penis" "cum">> <<default>> The <<print $struggle.penis.creature>> thrusts against your <<penis>>.<<neutral 5 "genitals">><<bodyliquid "penis" "goo">> <</switch>> <<set $struggle.penis.progress += 1>> <br> <</if>> <<if $struggle.anus.creature>> <<switch $struggle.anus.progress>> <<case 0>> <<if $struggle.anus.legs is "tentacles">> The <<print $struggle.anus.creature>>'s tentacles slide and grope over your <<bottom>>.<<neutral 2 "anus">> <<else>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> slides over your <<bottom>>.<<neutral 1 "anus">> <</if>> <<case 1>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> gropes your <<bottom>>, <span class="blue">trying to find an entrance.</span><<neutral 2 "anus">> <<case 2>> <<struggle_clothes anus>> <<case 3>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> pushes against your <<bottom>>, <span class="pink">about to penetrate you fully.</span><<neutral 5 "anus">> <<case 4>> <<set _pain to $analPain>> <<if $player.virginity.anal isnot true>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> <span class="pink">thrusts into your <<bottom>>.</span> It becomes girthier as more enters. <<sex 30 "anus">> <<else>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> <span class="pink">thrusts into your <<bottom>>,</span> <span class="red">violating you in a way you hadn't conceived of.</span> <<sex 100 "anus">><<takeVirginity $struggle.anus.creature "anal">> <</if>> <<if $consensual isnot 1>><<bruise anus>><<violence 2>><</if>> <<raped>><<anusraped>> <<analstat>><<neutral 5 "anus">><<pain _pain>><<set $anusstate to "struggle_pen">> <<case 5>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> pushes deeper into your <<bottom>>.<<neutral 5 "anus">> <<case 6>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> begins to thrust into your <<bottom>>.<<neutral 5 "anus">> <<case 7>> The <<print $struggle.anus.creature>> <span class="pink">shudders as it pumps a warm fluid into your <<bottom>>.</span><<neutral 5 "anus">><<struggle_fluid anus>><<purity -1>><<internalejac>><<bodyliquid "anus" "goo">><<analejacstat>><<ejacstat>> <<case 13>> <<impregnateParasite $struggle.anus.creature 50>> <<if _impreg is true>> The <<print $struggle.anus.creature>>'s <<struggle_appendage mouth>> <span class="red">expands again</span>, but the extra pressure disappears quickly. It feels like it left something behind.<<neutral 5 "anus">><<bodyliquid "anus" "goo">><<struggle_fluid anus>><<purity -1>><<internalejac>><<bodyliquid "anus" "goo">> <<set _impreg to false>> <<else>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> thrusts into your <<bottom>>.<<neutral 5 "anus">><<bodyliquid "anus" "goo">><<struggle_fluid anus>><<purity -1>><<internalejac>><<bodyliquid "anus" "goo">> <</if>> <<case 14>> The <<print $struggle.anus.creature>> shudders <span class="blue">and withdraws its <<struggle_appendage anus>>,</span> leaping from your <<bottom>>.<<neutral 5 "anus">><<struggle_fluid anus>> <<set $anususe to 0>> <<set $anusstate to 0>> <<struggle_part_init "anus" "cum">> <<default>> The <<print $struggle.anus.creature>>'s <<struggle_appendage anus>> thrusts into your <<bottom>>.<<neutral 5 "anus">><<bodyliquid "anus" "goo">><<struggle_fluid anus>><<purity -1>><<internalejac>><<bodyliquid "anus" "goo">> <</switch>> <<set $struggle.anus.progress += 1>> <br> <</if>> <<if $struggle.chest.creature>> <<switch $struggle.chest.progress>> <<case 0>> <<neutral 2 "breasts">> <<if $struggle.chest.legs is "tentacles">> The <<print $struggle.chest.creature>>'s tentacles grope your <<breasts>>, <<if $player.breastsize gte 3>> squeezing them together as <span class="blue">a phallic <<struggle_appendage chest>> rubs against them.</span> <<else>> teasing them as <span class="blue">a phallic <<struggle_appendage chest>> rubs between them.</span> <</if>> <<elseif $struggle.chest.legs is "legs">> The <<print $struggle.chest.creature>>'s legs grope your <<if $player.breastsize gte 3>> <<breasts>>. <span class="blue">A phallic <<struggle_appendage chest>> emerges from the creature,</span> and rubs against them. <<else>> <<breasts>>, teasing them as <span class="blue">a phallic <<struggle_appendage chest>> emerges from the creature,</span> and joins the flurry. <</if>> <<else>> The <<print $struggle.chest.creature>>'s body slides over your <<breasts>>. <<if $player.breastsize gte 3>> <span class="blue">A phallic <<struggle_appendage chest>> emerges from the creature</span> and rubs against them. <<else>> It teases them as <span class="blue">a phallic <<struggle_appendage chest>> emerges from the creature.</span> <</if>> <</if>> <<case 1>> <<struggle_clothes chest>> <<case 2>> <<if $player.breastsize gte 3>> <<if $struggle.chest.legs is "tentacles">> The <<print $struggle.chest.creature>>'s tentacles <span class="pink">wrap around your breasts.</span><<neutral 5 "breasts">> <<else>> The <<print $struggle.chest.creature>> squeezes your <<breasts>> together, and <span class="pink">pushes its <<struggle_appendage chest>> between them.</span><<neutral 3 "breasts">> <</if>> <<else>> <<if $struggle.chest.legs is "tentacles">> The <<print $struggle.chest.creature>>'s tentacles grope and flick your <<breasts>>.<<neutral 5 "breasts">> <<else>> The <<print $struggle.chest.creature>> gropes and teases your <<breasts>>.<<neutral 3 "breasts">> <</if>> <</if>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> <span class="pink">You feel milk leak from your buds.</span> <<breastfeed>> <<milkvolume 1>> <<else>> <<milkvolume 1>> <</if>> <<case 3>> <<if $player.breastsize gte 3>> <<if $struggle.chest.legs is "tentacles">> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s tentacles <span class="pink">squeeze milk from your <<breasts>>.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s tentacles squeeze your <<breasts>>, while others flick your nipples. <<milkvolume 1>> <</if>> <<sex 5 "breasts">> <<else>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>> <span class="pink">thrusts its <<struggle_appendage chest>> between your <<breasts>></span> as <span class="pink">milk leaks from your buds.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>> <span class="pink">thrusts its <<struggle_appendage chest>> between your <<breasts>>.</span> <<milkvolume 1>> <</if>> <<sex 5 "breasts">> <</if>> <<else>> <<struggle_flat_chest>> <</if>> <<case 4>> <<if $player.breastsize gte 3>> <<if $struggle.chest.legs is "tentacles">> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s appendage <span class="pink">presses against your <<breasts>></span> as <span class="pink">the tentacles continue to squeeze milk from your buds.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s appendage <span class="pink">presses against your <<breasts>></span> as <span class="pink">the tentacles continue to squeeze.</span> <<milkvolume 1>> <</if>> <<sex 5 "breasts">> <<else>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>> fucks your <<breasts>> as <span class="pink">milk leaks from your buds.</span> The creature shudders as <span class="purple">a warm fluid erupts from its <<struggle_appendage chest>>.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s <<struggle_appendage chest>> fucks your <<breasts>>. The creature shudders as <span class="purple">a warm fluid erupts from its <<struggle_appendage chest>>.</span> <<milkvolume 1>> <</if>> <<sex 5 "breasts">><<bodyliquid "chest" "goo">> <</if>> <<else>> <<struggle_flat_chest>> <</if>> <<case 5>> <<if $player.breastsize gte 3>> <<if $struggle.chest.legs is "tentacles">> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s appendage <span class="pink">thrusts between your <<breasts>></span> as <span class="pink">the tentacles continue to squeeze milk from your buds.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s appendage <span class="pink">thrusts between your <<breasts>></span> as <span class="pink">the tentacles continue to squeeze.</span> <<milkvolume 1>> <</if>> <<sex 5 "breasts">> <<else>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s <<struggle_appendage chest>> fucks your <<breasts>>, pumping warm fluid with each thrust as <span class="pink">milk leaks from your buds.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s <<struggle_appendage chest>> keeps thrusting between your <<breasts>>, pumping out a warm fluid. <<milkvolume 1>> <</if>> <<sex 5 "breasts">><<bodyliquid "chest" "goo">> <</if>> <<else>> <<struggle_flat_chest>> <</if>> <<case 6>> <<if $player.breastsize gte 3>> <<if $struggle.chest.legs is "tentacles">> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s appendage fucks your <<breasts>> as <span class="pink">the tentacles continue to squeeze milk from your buds.</span> The creature shudders as a warm fluid erupts from its <<struggle_appendage chest>>. <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s appendage fucks your <<breasts>> as <span class="pink">the tentacles continue to squeeze.</span> The creature shudders as a warm fluid erupts from its <<struggle_appendage chest>>. <<milkvolume 1>> <</if>> <<sex 5 "breasts">><<bodyliquid "chest" "goo">> <<else>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s <<struggle_appendage chest>> fucks your <<breasts>>, pumping warm fluid with each thrust as <span class="pink">milk leaks from your buds.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s <<struggle_appendage chest>> keeps thrusting between your <<breasts>>, pumping out a warm fluid. <<milkvolume 1>> <</if>> <<sex 5 "breasts">><<bodyliquid "chest" "goo">> <</if>> <<else>> <<struggle_flat_chest>> <</if>> <<case 12>> <<if $player.breastsize gte 3>> The <<print $struggle.chest.creature>> shudders <span class="blue">and withdraws its <<struggle_appendage chest>>,</span> leaping from your <<breasts>>.<<bodyliquid "chest" "goo">> <<else>> The <<print $struggle.chest.creature>> <span class="blue">leaps from your <<breasts>>.</span> <</if>> <<set $chestuse to 0>> <<set $cheststate to 0>> <<struggle_part_init "chest" "cum">> <<default>> <<if $player.breastsize gte 3>> <<if $struggle.chest.legs is "tentacles">> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s appendage keeps thrusting between your <<breasts>>, pumping a warm fluid as the tentacles <span class="pink">continue to squeeze milk from your buds.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s appendage keeps thrusting between your <<breasts>>, pumping out a warm fluid. <<milkvolume 1>> <</if>> <<sex 5 "breasts">><<bodyliquid "chest" "goo">> <<else>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s <<struggle_appendage chest>> fucks your <<breasts>>, pumping warm fluid with each thrust as <span class="pink">milk leaks from your buds.</span> <<breastfeed>> <<else>> The <<print $struggle.chest.creature>>'s <<struggle_appendage chest>> keeps thrusting between your <<breasts>>, pumping out a warm fluid. <<milkvolume 1>> <</if>> <<sex 5 "breasts">><<bodyliquid "chest" "goo">> <</if>> <<else>> <<struggle_flat_chest>> <</if>> <</switch>> <<set $struggle.chest.progress += 1>> <br> <</if>> <!-- populate an array of unoccupied bodyparts to target --> <<set _targets to []>> <<if $mouthuse is 0>><<set _targets.push("mouth")>><</if>> <<if $vaginause is 0 and $player.vaginaExist>><<set _targets.push("vagina")>><</if>> <<if $penisuse is 0 and (playerHasStrapon() or $player.penisExist)>><<set _targets.push("penis")>><</if>> <<if $anususe is 0 and $analdisable is "f">><<set _targets.push("anus")>><</if>> <<if $chestuse is 0>><<set _targets.push("chest")>><</if>> <<for _i to 0; _i lt $struggle.number; _i++>> <<if $struggle.enemy[_i].location is "fleeing">> The <<print $struggle.enemy[_i].description>> <<print $struggle.enemy[_i].name>> <<if $struggle.enemy[_i].health gte 1 and $struggle.enemy[_i].satisfied lt 1>> <<if $underwater is 1 or $struggle.enemy[_i].motion is "swimming">> swims around you, <<elseif $struggle.enemy[_i].motion is "flying">> flies around you, <<else>> lands nearby, <</if>> <span class="blue">preparing to attack.</span> <<set $struggle.enemy[_i].location to "lurking">> <<else>> <<if $underwater is 1 or $struggle.enemy[_i].motion is "swimming">> swims into the murk. <<elseif $struggle.enemy[_i].motion is "flying">> flies away. <<else>> leaps away. <</if>> <span class="green">It won't return.</span> <<set $struggle.done += 1>> <<set $struggle.enemy[_i].location to "fled">> <</if>> <br> <<elseif $struggle.enemy[_i].location is "lurking" and _targets.length gt 0>> <!-- lurkers attacc --> <<rng>> <<if $dodging gte 1>> <<set _doge_chance to ((currentSkillValue("feetskill") / 3) + (currentSkillValue('danceskill') / 3) - $drunk - (!!$worn.feet.type.includes("heels") * 200))>> <<feetskilluse>> <</if>> <<if $left_guard is 1>> <<set _left_guard_chance to (currentSkillValue("handskill") / 3)>> <<handskilluse>> <</if>> <<if $right_guard is 1>> <<set _right_guard_chance to (currentSkillValue("handskill") / 3)>> <<handskilluse>> <</if>> <<set _hit_chance to random(1, 1000)>> <<if _doge_chance gte _hit_chance>> <<struggle_bide_the>> <<print $struggle.enemy[_i].description>> <<print $struggle.enemy[_i].name>> <<if $underwater is 1 or $struggle.enemy[_i].motion is "swimming">> swims towards you, <<elseif $struggle.enemy[_i].motion is "flying">> flies towards you, <<else>> leaps towards you, <</if>> <<set $dodging -= 1>> <<if $drunk gte 60>> but you drunkenly stagger out of the way<<if !random(100)>> like the drunk master you are<</if>>, <<elseif currentSkillValue("feetskill") gte 800 or currentSkillValue('danceskill') gte 400>> but you dance aside, <<elseif currentSkillValue("feetskill") gte 200>> but you step aside, <<else>> but you stumble aside, <</if>> <<if _doge_chance - _hit_chance gte 200>> <span class="green">dodging it.</span> <<else>> <span class="teal">narrowly dodging it.</span> <<for $_slot range setup.clothingLayer.torso>> <<if $worn[$_slot].name isnot "naked">> <<set $worn[$_slot].integrity -= random(10, 15)>> <<set _clothesdamaged to true>> It tears your $worn[$_slot].name as it passes. <<break>> <</if>> <</for>> <<if !_clothesdamaged>> It whips you as it passes. <<pain 2>> <</if>> <<neutral 2>> <</if>> <<elseif _left_guard_chance gte _hit_chance or _right_guard_chance gte _hit_chance>> <<struggle_bide_the>> <<print $struggle.enemy[_i].description>> <<print $struggle.enemy[_i].name>> <<if $underwater is 1 or $struggle.enemy[_i].motion is "swimming">> swims towards you, <<elseif $struggle.enemy[_i].motion is "flying">> flies towards you, <<else>> leaps towards you, <</if>> <<if currentSkillValue("handskill") gte 800>> but you redirect its momentum with a well-timed blow, <<elseif currentSkillValue("handskill") gte 200>> but you bat it aside, <<else>> but your flailing knocks it aside, <</if>> <<if _left_guard_chance - _hit_chance gte 200 or _right_guard_chance - _hit_chance gte 200>> <span class="green">smacking it against the ground.</span> <<set $struggle.enemy[_i].health -= 1>> <<else>> <span class="teal">narrowly dodging it.</span> <<for $_slot range ["over_upper", "over_lower", "upper", "lower", "under_upper", "under_lower"]>> <<if $worn[$_slot].name isnot "naked">> <<set $worn[$_slot].integrity -= random(10, 15)>> <<set _clothesdamaged to true>> It tears your $worn[$_slot].name as it passes. <<break>> <</if>> <</for>> <<if !_clothesdamaged>> It whips you as it passes. <<pain 2>> <</if>> <<neutral 2>> <</if>> <<if _left_guard_chance gte _hit_chance>> <<unset $left_guard>> <<elseif _right_guard_chance gte _hit_chance>> <<unset $right_guard>> <</if>> <<elseif $rng lte 66 and _targets.length gt 0>> <<set _target to _targets.pluck()>> <<struggle_bide_the>> <<print $struggle.enemy[_i].description>> <<print $struggle.enemy[_i].name>> <<if $underwater is 1 or $struggle.enemy[_i].motion is "swimming">> swims towards you, <<elseif $struggle.enemy[_i].motion is "flying">> flies towards you, <<else>> leaps towards you, <</if>> <span class="blue">landing on your <<struggle_region _target>>.</span> <<struggle_attach _target>> <<set V[_target + 'use'] to "struggle">> <<set V[_target + 'state'] to "struggle">> <<set V[_target + 'target'] to "struggle">> <<elseif random(1, 2) is 2>> An appendage emerges from the <<print $struggle.enemy[_i].description>> <<print $struggle.enemy[_i].name>>, and <span class="blue">shoots a string of sticky fluid at you.</span> <<random_goo>> <<else>> The <<print $struggle.enemy[_i].description>> <<print $struggle.enemy[_i].name>> waits for an opening. <<set $struggle.enemy[_i].bide to true>> <</if>> <br> <</if>> <</for>> <<unset $left_guard>> <<unset $right_guard>> <<if $oxygen lt $oxygenmax and $underwater isnot 1 and _strangle is 1>> <<unset _strangle>> <br>Air: <<oxygencaption>> <</if>> <br> <<turnend>> <</widget>> <<widget "struggle_difficulty">>/*Unused for now*/ <!-- can be slapped at the end of _pull actions to show difficulty --> <<set $_chance to $struggle[_args[0]].success>> <<struggle_difficulty_set>> | Success Chance : <<if $_chance gte 100>> <span class="green"><<print $_chance>>%</span> <<elseif $_chance gte 80>> <span class="teal"><<print $_chance>>%</span> <<elseif $_chance gte 60>> <span class="lblue"><<print $_chance>>%</span> <<elseif $_chance gte 40>> <span class="blue"><<print $_chance>>%</span> <<elseif $_chance gte 20>> <span class="purple"><<print $_chance>>%</span> <<elseif $_chance gte 1>> <span class="pink"><<print $_chance>>%</span> <<else>> <span class="red"><<print $_chance>>%</span> <</if>> <</widget>> <<widget "struggle_difficulty_set">> <<for $_part range ["mouth", "vagina", "penis", "anus", "chest"]>> <<set $struggle[$_part].success to Math.trunc(($struggle[$_part].grip * 17) + (currentSkillValue('physique') / 600))>> <<if $struggle[$_part].success gte 100>> <!-- can't strengthen anymore, default to pull --> <<if $leftactiondefault is $_part + '_strengthen'>> <<set $leftactiondefault to $_part + '_pull'>> <</if>> <<if $rightactiondefault is $_part + '_strengthen'>> <<set $rightactiondefault to $_part + '_pull'>> <</if>> <</if>> <</for>> <</widget>> <<widget "struggle_bide_the">> <<if $struggle.enemy[_i].bide is true>> <<set $struggle.enemy[_i].bide to false>> Seeing an opening, the <<else>> The <</if>> <</widget>> <<widget "struggle_fluid">> <<if ["mouth", "vagina", "anus"].includes(_args[0])>> <<if $struggle[_args[0]].creature is "lurker" or $struggle.mouth.creature is "slime">> <<drugs 25>> <<elseif $struggle[_args[0]].creature is "pale slime">> <<drugs 50>> <<hallucinogen 40>> <</if>> <</if>> <</widget>> <<widget "struggle_clothes">> <<if _args[0] is "vagina" or _args[0] is "penis">> <<if $worn.over_lower.vagina_exposed is 0 or (setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 and $worn.over_lower.skirt_down is 1)>> <<set _struggle_exposed to "over">> <<elseif $worn.lower.vagina_exposed is 0 or (setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 and $worn.lower.skirt_down is 1)>> <<set _struggle_exposed to "main">> <<elseif $worn.under_lower.vagina_exposed is 0 or (setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1 and $worn.under_lower.skirt_down is 1)>> <<set _struggle_exposed to "under">> <<elseif (playerChastity("penis") and _args[0] is "penis") or (playerChastity("vagina") and _args[0] is "vagina")>> <<set _struggle_exposed to "genitals">> <<else>> <<set _struggle_exposed to "naked">> <</if>> <<elseif _args[0] is "anus">> <<if (setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1 and $worn.over_lower.skirt_down is 1) or $worn.over_lower.anus_exposed is 0>> <<set _struggle_exposed to "over">> <<elseif $worn.lower.anus_exposed is 0 or (setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 and $worn.lower.skirt_down is 1)>> <<set _struggle_exposed to "main">> <<elseif $worn.under_lower.anus_exposed is 0 or (setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1 and $worn.under_lower.skirt_down is 1)>> <<set _struggle_exposed to "under">> <<elseif playerChastity("anus")>> <<set _struggle_exposed to "genitals">> <<else>> <<set _struggle_exposed to "naked">> <</if>> <<elseif _args[0] is "chest">> <<if !$worn.over_upper.type.includes("naked") and $worn.over_upper.exposed lt 2>> <<set _struggle_exposed to "over_top">> <<elseif !$worn.upper.type.includes("naked") and $worn.upper.exposed lt 2>> <<set _struggle_exposed to "main_top">> <<elseif !$worn.under_upper.type.includes("naked") and $worn.under_upper.exposed is 0>> <<set _struggle_exposed to "under_top">> <<else>> <<set _struggle_exposed to "naked">> <</if>> <<elseif _args[0] is "mouth">> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <<set _struggle_exposed to "mask">> <<else>> <<set _struggle_exposed to "naked">> <</if>> <</if>> <<if _struggle_exposed is "over_top">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> The <<print $struggle[_args[0]].creature>>'s tentacles tear your $worn.over_upper.name as they search for a way in.<<neutral 2>><<set $worn.over_upper.integrity -= 10>> <<else>> The <<print $struggle[_args[0]].creature>>'s appendage prods your <<struggle_bodypart _args[0]>> through your $worn.over_upper.name.<<neutral 1>> <</if>> <<set $worn.over_upper.integrity -= 10>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The fabric hisses as it dissolves in the slime.</span><<set $worn.over_upper.integrity -= 30>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The fabric violently hisses as it dissolves in the pale slime.</span><<set $worn.over_upper.integrity -= 50>> <</if>> <<if $worn.over_upper.integrity lte 0>> <<integritycheck no_text>><<exposure>> <<if $struggle[_args[0]].legs is "tentacles">> The tentacles wrap around the fabric, and <span class="pink">tear it off your body with a flick, exposing your <<top>>.</span> <<else>> Its appendage pierces the fabric, and <span class="pink">tears it off your body with a flick, exposing your <<top>>.</span> <</if>> <</if>> <<elseif _struggle_exposed is "main_top">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> The <<print $struggle[_args[0]].creature>>'s tentacles tear your $worn.upper.name as they search for a way in.<<neutral 2>><<set $worn.upper.integrity -= 10>> <<else>> The <<print $struggle[_args[0]].creature>>'s appendage prods your <<struggle_bodypart _args[0]>> through your $worn.upper.name.<<neutral 1>> <</if>> <<set $worn.upper.integrity -= 10>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The fabric hisses as it dissolves in the slime.</span><<set $worn.upper.integrity -= 30>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The fabric violently hisses as it dissolves in the pale slime.</span><<set $worn.upper.integrity -= 50>> <</if>> <<if $worn.upper.integrity lte 0>> <<integritycheck no_text>><<exposure>> <<if $struggle[_args[0]].legs is "tentacles">> The tentacles wrap around the fabric, and <span class="pink">tear it off your body with a flick, exposing your <<undertop>>.</span> <<else>> Its appendage pierces the fabric, and <span class="pink">tears it off your body with a flick, exposing your <<undertop>>.</span> <</if>> <</if>> <<elseif _struggle_exposed is "under_top">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> The <<print $struggle[_args[0]].creature>>'s tentacles tear your $worn.under_upper.name as they search for a way in.<<neutral 3>><<set $worn.under_upper.integrity -= 10>> <<else>> The <<print $struggle[_args[0]].creature>>'s appendage prods your $worn.under_upper.name. <</if>> <<set $worn.under_upper.integrity -= 10>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The fabric hisses as it dissolves in the slime.</span><<set $worn.under_upper.integrity -= 30>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The fabric violently hisses as it dissolves in the pale slime.</span><<set $worn.under_upper.integrity -= 50>> <</if>> <<if $worn.under_upper.integrity lte 0>> <<integritycheck no_text>><<exposure>> <<if $struggle[_args[0]].legs is "tentacles">> The tentacles wrap around the fabric, and <span class="pink">tear it off your body with a flick, exposing your <<breasts>>.</span> <<else>> Its appendage pierces the fabric, and <span class="pink">tears it off your body with a flick, exposing your <<breasts>>.</span> <</if>> <</if>> <<elseif _struggle_exposed is "over">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> The <<print $struggle[_args[0]].creature>>'s tentacles tear at your $worn.over_lower.name, trying to reach the <<struggle_bodypart _args[0]>> beneath.<<neutral 2>><<set $worn.over_lower.integrity -= 10>> <<else>> The <<print $struggle[_args[0]].creature>> tears at your $worn.over_lower.name, trying to reach the <<struggle_bodypart _args[0]>> beneath.<<neutral 1>> <</if>> <<set $worn.over_lower.integrity -= 10>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The fabric hisses as it dissolves in the slime.</span><<set $worn.over_lower.integrity -= 30>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The fabric violently hisses as it dissolves in the pale slime.</span><<set $worn.over_lower.integrity -= 50>> <</if>> <<if $worn.over_lower.integrity lte 0>> <<integritycheck no_text>><<exposure>> <<if $struggle[_args[0]].legs is "tentacles">> Its tentacles wrap around the fabric, and <span class="pink">tear it off your body with a flick, exposing your <<crotch>>.</span> <<else>> Its appendage pierces the fabric, and <span class="pink">tears it off your body with a flick, exposing your <<crotch>>.</span> <</if>> <</if>> <<elseif _struggle_exposed is "main">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> The <<print $struggle[_args[0]].creature>>'s tentacles tear at your $worn.lower.name, trying to reach the <<struggle_bodypart _args[0]>> beneath.<<neutral 2>><<set $worn.lower.integrity -= 10>> <<else>> The <<print $struggle[_args[0]].creature>> tears at your $worn.lower.name, trying to reach the <<struggle_bodypart _args[0]>> beneath.<<neutral 1>> <</if>> <<set $worn.lower.integrity -= 10>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The fabric hisses as it dissolves in the slime.</span><<set $worn.lower.integrity -= 30>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The fabric violently hisses as it dissolves in the pale slime.</span><<set $worn.lower.integrity -= 50>> <</if>> <<if $worn.lower.integrity lte 0>> <<integritycheck no_text>><<exposure>> <<if $struggle[_args[0]].legs is "tentacles">> Its tentacles wrap around the fabric, and <span class="pink">tear it off your body with a flick, exposing your <<undies>>.</span> <<else>> Its appendage pierces the fabric, and <span class="pink">tears it off your body with a flick, exposing your <<undies>>.</span> <</if>> <</if>> <<elseif _struggle_exposed is "under">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> The <<print $struggle[_args[0]].creature>>'s tentacles worm their way inside your $worn.under_lower.name, trying to get to the <<struggle_bodypart _args[0]>> beneath.<<neutral 2>><<set $worn.under_lower.integrity -= 10>> <<else>> The <<print $struggle[_args[0]].creature>> tears at your $worn.under_lower.name, trying to get to the <<struggle_bodypart _args[0]>> beneath.<<neutral 1>> <</if>> <<set $worn.under_lower.integrity -= 10>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The fabric hisses as it dissolves in the slime.</span><<set $worn.under_lower.integrity -= 30>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The fabric violently hisses as it dissolves in the pale slime.</span><<set $worn.under_lower.integrity -= 50>> <</if>> <<if $worn.under_lower.integrity lte 0>> <<integritycheck no_text>><<exposure>> <<if $struggle[_args[0]].legs is "tentacles">> Its tentacles worm their way into the fabric, and <span class="pink">tear it off your body with a flick, exposing your <<genitals>>.</span> <<else>> Its appendage pierces the fabric, and <span class="pink">tears it off your body with a flick, exposing your <<genitals>>.</span> <</if>> <</if>> <<elseif _struggle_exposed is "genitals">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> <<if $worn.genitals.name is "chastity parasite">> The <<print $struggle[_args[0]].creature>>'s tentacles worm round your $worn.genitals.name, rubbing and squeezing it in the process. <span class="lewd">Your clearly aroused reaction encourages it further.</span> <<arousal 200 "genitals">><<neutral 2 "genitals">><<set $worn.genitals.integrity -= 5>> <<else>> The <<print $struggle[_args[0]].creature>>'s tentacles worm behind your $worn.genitals.name, brushing against your <<struggle_bodypart _args[0]>> as they search for a way in.<<neutral 2 "genitals">><<set $worn.genitals.integrity -= 10>> <</if>> <<else>> <<if $worn.genitals.name is "chastity parasite">> The <<print $struggle[_args[0]].creature>> attempts to tear at your $worn.genitals.name, but only succeed at squeezing it and <span>further arousing you.</span> <<neutral 1 "genitals">><<arousal 100 "genitals">><<set $worn.genitals.integrity -= 5>> <<else>> The <<print $struggle[_args[0]].creature>> tears at your $worn.genitals.name, trying to get to your <<struggle_bodypart _args[0]>> beneath.<<neutral 1 "genitals">><<set $worn.genitals.integrity -= 10>> <</if>> <</if>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The material hisses as it dissolves in the slime.</span><<set $worn.genitals.integrity -= 30>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The material violently hisses as it dissolves in the pale slime.</span><<set $worn.genitals.integrity -= 50>> <</if>> <<if $worn.genitals.integrity lte 0>> <<integritycheck no_text>><<exposure>> <<if $struggle[_args[0]].legs is "tentacles">> Its tentacles wrap around the material, and pull. The material <<if $worn.genitals.name is "chastity parasite">> pops <<else>> groans <</if>> <span class="pink">as the <<print $struggle[_args[0]].creature>> tears it off your body with a flick, exposing your <<genitals>>.</span> <<else>> Its appendage pierces the material, and pulls. The material <<if $worn.genitals.name is "chastity parasite">> pops <<else>> groans <</if>> <span class="pink">as the <<print $struggle[_args[0]].creature>> tears it off your body with a flick, exposing your <<genitals>>.</span> <</if>> <<else>> <<if $struggle[_args[0]].damage gte 10>> It <<if $worn.genitals.name is "chastity parasite">>tired<<else>>hurt<</if>> itself against the material, <span class="green">and leaps away.</span> <<if _args[0] is "vagina">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <<struggle_part_init "vagina">> <<set $struggle.warded += 1>> <<struggleClearActions "vagina_">> <<elseif _args[0] is "penis">> <<set $penisuse to 0>> <<set $penisstate to 0>> <<struggle_part_init "penis">> <<set $struggle.warded += 1>> <<struggleClearActions "penis_">> <<else>> <<set $anususe to 0>> <<set $anusstate to 0>> <<struggle_part_init "anus">> <<set $struggle.warded += 1>> <<struggleClearActions "anus_">> <</if>> <<else>> It <<if $worn.genitals.name is "chastity parasite">>tires<<else>>hurts<</if>> itself against the material. <<set $struggle[_args[0]].damage += 1>> <</if>> <</if>> <<elseif _struggle_exposed is "mask">> <<set $struggle[_args[0]].progress -= 1>> <<if $struggle[_args[0]].legs is "tentacles">> The <<print $struggle[_args[0]].creature>>'s tentacles worm their way inside your $worn.face.name, trying to get to the <<struggle_bodypart _args[0]>> beneath.<<neutral 2>><<damageFaceCover 5 struggle>> <<else>> The <<print $struggle[_args[0]].creature>> tears at your $worn.face.name, trying to get to the <<struggle_bodypart _args[0]>> beneath.<<neutral 1>> <</if>> <<damageFaceCover 5 struggle>> <<if $struggle[_args[0]].creature is "slime">> <span class="purple">The fabric hisses as it dissolves in the slime.</span><<damageFaceCover 20 struggle>> <<elseif $struggle[_args[0]].creature is "pale slime">> <span class="purple">The fabric violently hisses as it dissolves in the pale slime.</span><<damageFaceCover 30 struggle>> <</if>> <<if $worn.face.integrity lte 0>> <<if $struggle[_args[0]].legs is "tentacles">> Its tentacles worm their way into the fabric, and <span class="pink">tear it off your body with a flick, exposing your mouth.</span> <<else>> Its appendage pierces the fabric, and <span class="pink">tears it off your body with a flick, exposing your mouth.</span> <</if>> <<faceruined>><<set $worn.face.type.push("broken")>> <</if>> <<elseif _struggle_exposed is "naked">> <<if _args[0] is "vagina">> The <<print $struggle[_args].creature>>'s appendage <span class="purple">presses against your <<pussy>>.</span><<neutral 4 "genitals">> <<elseif _args[0] is "penis">> The <<print $struggle[_args].creature>> <span class="purple">presses an aperture against your <<penis>>.</span><<neutral 4 "genitals">> <<elseif _args[0] is "anus">> The <<print $struggle[_args].creature>>'s appendage <span class="purple">presses against your <<bottom>>.</span><<neutral 4 "bottom">> <<elseif _args[0] is "chest">> The <<print $struggle[_args].creature>>'s appendage <span class="purple">presses against your <<breasts>>.</span><<neutral 4 "breasts">> <<elseif _args[0] is "mouth">> The <<print $struggle[_args].creature>>'s appendage <span class="purple">presses against your mouth.</span><<neutral 4 "mouth">> <</if>> <</if>> <</widget>> <<widget "struggle_bodypart">><<silently>> <<switch _args[0]>> <<case "vagina">> <<pussy>> <<case "penis">> <<penis>> <<case "anus">> <<bottom>> <<case "chest">> <<breasts>> <<case "mouth">> <<set _text_output to "mouth">> <</switch>> <</silently>><<print _text_output>> <</widget>> <<widget "struggle_appendage">><<silently>> <<switch $struggle[_args[0]].creature>> <<case "wasp" "bee">> <<set $_text_output to "stinger">> <<case "squid">> <<set $_text_output to "tentacle">> <<default>> <<set $_text_output to "appendage">> <</switch>> <</silently>><<print $_text_output>> <</widget>> <<widget "struggle_skin">><<silently>> <<switch $struggle[_args[0]].creature>> <<case "wasp" "bee">> <<set $_text_output to "carapace">> <<default>> <<set $_text_output to "flesh">> <</switch>> <</silently>><<print $_text_output>> <</widget>> <<widget "struggle_flat_chest">> <<if $struggle.chest.legs is "tentacles">> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>>'s tentacles flick your <<breasts>> as <span class="pink">milk leaks from your buds.</span> <<else>> The <<print $struggle.chest.creature>>'s tentacles flick and tease your <<breasts>>. <</if>> <<sex 5 "breasts">> <<else>> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> The <<print $struggle.chest.creature>> suckles your <<breasts>> as <span class="pink">milk leaks from your buds.</span> <<breastfeed>><<sex 3 "breasts">> <<else>> The <<print $struggle.chest.creature>> sucks on your <<breasts>> as its <<struggle_appendage chest>> rubs against your abdomen. <<milkvolume 1>><<sex 5 "breasts">> <</if>> <<sex 3 "breasts">> <</if>> <</widget>> <<widget "struggle_attach">> <<set $struggle[_args[0]].creature to $struggle.enemy[_i].name>> <<set $struggle[_args[0]].description to $struggle.enemy[_i].description>> <<set $struggle[_args[0]].legs to $struggle.enemy[_i].legs>> <<set $struggle.enemy[_i].location to _args[0]>> <!-- temp var to highlight newly attached lurkers --> <<set T['gold_' + _args[0]] to true>> <</widget>> <<widget "struggleClearActions">> <<if _args[0]>> <<if ($mouthaction).toString().includes(_args[0])>> <<set $mouthactiondefault to $mouthaction>><<set $mouthaction to 0>> <</if>> <<if ($leftaction).toString().includes(_args[0])>> <<set $leftactiondefault to $leftaction>><<set $leftaction to 0>> <</if>> <<if ($rightaction).toString().includes(_args[0])>> <<set $rightactiondefault to $rightaction>><<set $rightaction to 0>> <</if>> <<if ($leftarmstate).toString().includes(_args[0])>> <<set $leftarm to 0>><<set $leftarmstate to 0>> <</if>> <<if ($rightarmstate).toString().includes(_args[0])>> <<set $rightarm to 0>><<set $rightarmstate to 0>> <</if>> <</if>> <</widget>> <<widget "struggle_region">><<silently>> <<if ["mouth","vagina","penis","anus","chest"].includes(_args[0])>> <<switch _args[0]>> <<case "mouth">><<set _text_output to "head">> <<case "vagina">><<set _text_output to "pelvis">> <<case "penis">><<set _text_output to "tummy">> <<case "anus">><<set _text_output to "bottom">> <<case "chest">><<set _text_output to "chest">> <</switch>> <</if>> <</silently>><<print _text_output>> <</widget>><<widget "generateActionsSwarm">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<if $lefttarget is "self">> <<leftActionInitSelf>> <<else>> <<leftActionInitSwarm>> <</if>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<if $righttarget is "self">> <<rightActionInitSelf>> <<else>> <<rightActionInitSwarm>> <</if>> </div> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<feetActionInitSwarm>> </div> <<if ($mouthuse is 0 and !($dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)))>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInit>> </div> <</if>> </div> <</widget>> <<widget "leftActionInitSwarm">> <<set $lefttarget to "swarm">> <<switch $leftarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">Your left arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "pain">> <span class="red">Your left arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "unreal">> <span class="pink">Your left arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "free">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <br> <</if>> <</if>> <<case "swarmgrappled">> <<set _leftOptions to "unable">> <span class="purple">The $swarm["type"] are constricting your left arm!</span><<if $options.combatControls.includes("adio")>><br><</if>> <<case "bound">> <<if $orgasmdown gte 1>> <<set _leftOptions to "unable">> <span class="lewd">Your left arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "unable">> <span class="red">Your left arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "unable">> <span class="pink">Your left arm lies limp in its bonds.</span> <<else>> <<set _leftOptions to "bound">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is bound and helpless.</span> <</if>><<if $options.combatControls.includes("adio")>><br><</if>> <<case "trapped">> <<set $_changetype to true>><<leftActionInitVore>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<leftActionInit>> <<case "struggle">> <<set $_changetype to true>><<leftActionInitStruggle>> <<case "mechgrappled">> <<set $_changetype to true>><<leftActionInitMachine>> <<default>> <<set $_changetype to true>><<leftActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<leftActionsSwarm>> <<if Object.keys(_leftaction).length gt 0>> <<if !(Object.values(_leftaction).includes($leftactiondefault))>> <<set $leftactiondefault to "swarmrest">> <</if>> <<set $leftaction to $leftactiondefault>> <div class="extraMargin"> <<generateCombatAction _leftaction "leftaction" "Swarm">> </div> <<if $options.combatControls.includes("ists")>> <div id="leftactionDifficulty"> <<leftactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.left to clone(_leftOptions)>> <</if>> <</widget>> <<widget "leftactionDifficultySwarm">>/* Yes, it is supposed to be blank. */ <!-- Does nothing --> <</widget>> <<widget "leftActionsSwarm">> <<set _leftaction to {}>> <<switch _leftOptions>> <<case "free">> <<if $rightarm is "swarmgrappled" and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _leftaction["Free your right arm"] to "leftfree">> <<elseif _swarmamounts.active[2] gte 1 and $lefttarget isnot "self">> <<silently>><<swarmName>><</silently>> <<set _leftaction[_swarmsteady + " one of the " + _swarmname] to "leftswarm">> <</if>> <<if _swarmamounts.genital[0] lte 0 and _swarmamounts.genital[1] lte 0 and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<silently>><<genitals>><</silently>> <<set _leftaction["Cover your "+ _text_output] to "frontcoverleft">> <</if>> <<if _swarmamounts.butt[0] lte 0 and _swarmamounts.butt[1] lte 0 and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _leftaction["Cover your butt"] to "backcoverleft">> <</if>> <<if _swarmamounts.chest lte 0 and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _leftaction["Cover your chest"] to "chestcoverleft">> <</if>> <<if $lefttarget isnot "self">> <<if _swarmamounts.genital[1] gte 1 and !playerChastity()>> <<silently>><<genitals>><</silently>> <<set _leftaction["Pull the "+ $swarm["type"] + " from your " + _text_output] to "frontpurgeleft">> <</if>> <<if _swarmamounts.genital[0] gte 1 and !playerChastity()>> <<silently>><<genitals>><</silently>> <<set _leftaction["Keep the "+ $swarm["type"] + " away from your " + _text_output] to "frontclearleft">> <</if>> <<if _swarmamounts.butt[1] gte 1 and !playerChastity("anus")>> <<set _leftaction["Pull the "+ $swarm["type"] + " out of your anus"] to "backpurgeleft">> <</if>> <<if _swarmamounts.butt[0] gte 1 and !playerChastity("anus")>> <<set _leftaction["Keep the "+ $swarm["type"] + " away from your butt"] to "backclearleft">> <</if>> <<if _swarmamounts.chest gte 1>> <<set _leftaction["Clear the "+ $swarm["type"] + " off of your chest"] to "chestclearleft">> <</if>> <</if>> <<if $water is 1 and $vorecreature is 0 and ($consensual isnot 1 or $gamemode is "soft") and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _leftaction["Swim to safety"] to "swim">> <</if>> <<if $vorecreature is 0>> <<set _leftaction["Rest"] to "swarmrest">> <</if>> <<leftclothesnew>> <<case "bound">> <<if $gamemode is "soft" and $nowiggle isnot true>> <<set _leftaction["Wriggle free"] to "leftwriggle">> <</if>> <<case "orgasm">> <<set _leftaction["Fold"] to "leftfold">> <<set _leftaction["Grip"] to "leftgrip">> <<case "pain">> <<set _leftaction["Struggle"] to "leftstruggleweak">> <<set _leftaction["Protect"] to "leftprotect">> <<case "unreal">> <<set _leftaction["Poke yourself"] to "leftpoke">> <<set _leftaction["Keep your arms out of the way"] to "leftcurl">> <</switch>> <</widget>> <<widget "rightActionInitSwarm">> <<set $righttarget to "swarm">> <<switch $rightarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">Your right arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "pain">> <span class="red">Your right arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "unreal">> <span class="pink">Your right arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "free">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <br> <</if>> <</if>> <<case "swarmgrappled">> <<set _rightOptions to "unable">> <span class="purple">The $swarm["type"] are constricting your right arm!</span><<if $options.combatControls.includes("adio")>><br><</if>> <<case "bound">> <<if $orgasmdown gte 1>> <<set _rightOptions to "unable">> <span class="lewd">Your right arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "unable">> <span class="red">Your right arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "unable">> <span class="pink">Your right arm lies limp in its bonds.</span> <<else>> <<set _rightOptions to "bound">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is bound and helpless.</span> <</if>><<if $options.combatControls.includes("adio")>><br><</if>> <<case "trapped">> <<set $_changetype to true>><<rightActionInitVore>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<rightActionInit>> <<case "struggle">> <<set $_changetype to true>><<rightActionInitStruggle>> <<case "mechgrappled">> <<set $_changetype to true>><<rightActionInitMachine>> <<default>> <<set $_changetype to true>><<rightActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<rightActionsSwarm>> <<if Object.keys(_rightaction).length gt 0>> <<if !(Object.values(_rightaction).includes($rightactiondefault))>> <<set $rightactiondefault to "swarmrest">> <</if>> <<set $rightaction to $rightactiondefault>> <div class="extraMargin"> <<generateCombatAction _rightaction "rightaction" "Swarm">> </div> <<if $options.combatControls.includes("ists")>> <div id="rightactionDifficulty"> <<rightactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.right to clone(_rightOptions)>> <</if>> <</widget>> <<widget "rightactionDifficultySwarm">>/* No, it cannot be removed. */ <!-- Does nothing --> <</widget>> <<widget "rightActionsSwarm">> <<set _rightaction to {}>> <<switch _rightOptions>> <<case "free">> <<if $leftarm is "swarmgrappled" and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _rightaction["Free your left arm"] to "rightfree">> <<elseif _swarmamounts.active[2] gte 1 and $righttarget isnot "self">> <<silently>><<swarmName>><</silently>> <<set _rightaction[_swarmsteady + " one of the " + _swarmname] to "rightswarm">> <</if>> <<if _swarmamounts.genital[0] lte 0 and _swarmamounts.genital[1] lte 0 and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<silently>><<genitals>><</silently>> <<set _rightaction["Cover your "+ _text_output] to "frontcoverright">> <</if>> <<if _swarmamounts.butt[0] lte 0 and _swarmamounts.butt[1] lte 0 and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _rightaction["Cover your butt"] to "backcoverright">> <</if>> <<if _swarmamounts.chest lte 0 and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _rightaction["Cover your chest"] to "chestcoverright">> <</if>> <<if $righttarget isnot "self">> <<if _swarmamounts.genital[1] gte 1 and !playerChastity()>> <<silently>><<genitals>><</silently>> <<set _rightaction["Pull the "+ $swarm["type"] + " from your " + _text_output] to "frontpurgeright">> <</if>> <<if _swarmamounts.genital[0] gte 1 and !playerChastity()>> <<silently>><<genitals>><</silently>> <<set _rightaction["Keep the "+ $swarm["type"] + " away from your " + _text_output] to "frontclearright">> <</if>> <<if _swarmamounts.butt[1] gte 1 and !playerChastity("anus")>> <<set _rightaction["Pull the "+ $swarm["type"] + " out of your anus"] to "backpurgeright">> <</if>> <<if _swarmamounts.butt[0] gte 1 and !playerChastity("anus")>> <<set _rightaction["Keep the "+ $swarm["type"] + " away from your butt"] to "backclearright">> <</if>> <<if _swarmamounts.chest gte 1>> <<set _rightaction["Clear the "+ $swarm["type"] + " off of your chest"] to "chestclearright">> <</if>> <</if>> <<if $water is 1 and $vorecreature is 0 and ($consensual isnot 1 or $gamemode is "soft") and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _rightaction["Swim to safety"] to "swim">> <</if>> <<if $vorecreature is 0>> <<set _rightaction["Rest"] to "swarmrest">> <</if>> <<rightclothesnew>> <<case "bound">> <<if $gamemode is "soft" and $nowiggle isnot true>> <<set _rightaction["Wriggle free"] to "rightwriggle">> <</if>> <<case "orgasm">> <<set _rightaction["Fold"] to "rightfold">> <<set _rightaction["Grip"] to "rightgrip">> <<case "pain">> <<set _rightaction["Struggle"] to "rightstruggleweak">> <<set _rightaction["Protect"] to "rightprotect">> <<case "unreal">> <<set _rightaction["Poke yourself"] to "rightpoke">> <<set _rightaction["Keep your arms out of the way"] to "rightcurl">> <</switch>> <</widget>> <<widget "feetActionInitSwarm">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<set $feettarget to "swarm">> <<switch $feetuse>> <<case 0>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistall["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<if ($leftleg is "grappled" and $rightleg is "grappled") or ($leftleg is "bound" and $rightleg is "bound")>> <<else>> <<targetListBox "feet" _targetlistall>> <</if>> <</if>> <<if $leftleg is 0 and $rightleg is 0>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your feet are free.</span> <<elseif $leftleg is 0>> <<set _feetOptions to "leftfree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your left leg is free.</span> <<elseif $rightleg is 0>> <<set _feetOptions to "rightfree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your right leg is free.</span> <<elseif $leftleg is "grappled" and $rightleg is "grappled">> <<set $_changetype to true>><<feetActionInitTentacle>> <<elseif $leftleg is "bound" and $rightleg is "bound">> <<set $_changetype to true>><<feetActionInitTentacle>> <<else>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions or _feetGold is true ?'gold':'')">Your feet are free.</span> <</if>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and _feetOptions.toLowerCase().includes("free")>> <<targetListBox "feet" _targetlistall>> <</if>> <<if _targetnumber is 1>> <<set $feettarget to _firsttarget>> <</if>> <<case "bound" "penis" "othervagina" "walk" "strut" "run" "none">> <<set $_changetype to true>><<feetActionInit>> <<case "mechgrappled">> <<set $_changetype to true>><<feetActionInitMachine>> <<default>> <<set $_changetype to true>><<feetActionInitTentacle>> <</switch>> <<if $lastOptions.feet isnot _feetOptions>> <<set _feetGold to true>> <</if>> <<if $_changetype isnot true>> <<feetActionsSwarm>> <<if Object.keys(_feetaction).length gt 0>> <<if !(Object.values(_feetaction).includes($feetactiondefault))>> <<set $feetactiondefault to "swarmrest">> <</if>> <<set $feetaction to $feetactiondefault>> <div class="extraMargin"> <<generateCombatAction _feetaction "feetaction" "Swarm">> </div> <<if $options.combatControls.includes("ists")>> <div id="feetactionDifficulty"> <<feetactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.feet to clone(_feetOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#feetaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "feetactionDifficultySwarm">>/* If removed, expect errors in combats with controls set to "lists". */ <!-- Does nothing --> <</widget>> <<widget "feetActionsSwarm">> <<set _feetaction to {}>> <<if $swarm.amount.active[2] gte 1 and $feettarget isnot "self">> <<silently>><<swarmName>><</silently>> <<set _feetaction[_swarmsteady + " one of the " + _swarmname] to "feetswarm">> <</if>> <<if _feetOptions is "free">> <<if $water is 1 and $vorecreature is 0 and currentSkillValue('swimmingskill') gt 700 and $consensual isnot 1 and ($feettarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<set _feetaction["Swim to safety"] to "swim">> <</if>> <</if>> <<if $vorecreature is 0>> <<set _feetaction["Rest"] to "swarmrest">> <</if>> <</widget>><<widget "swarmactions">> <div @class="($debugLines ? 'debugLines-swarmactions' : '')"> <<set $chest to 0>> <<set $front to 0>> <<set $back to 0>> <<if $vorecreature is 0>> <<set _swarmactive to $swarm.amount.active ? $swarm.amount.active[0] : 0>> <<animateCombat>> <</if>> <<willpowerpain>> <<willpowerorgasm>> <<actioncarry>> <<actioncarrydrop>> <<combatstate>> <<carryblock>> <<if $trance lte 0 and $panicparalysis is 0 and $panicviolence is 0 and $options.combatControls isnot "disabled">> <<set _swarmsteady to $swarm["steady"].toUpperFirst()>> <<set _swarmamounts to $swarm.amount>> <<generateActionsSwarm>> <</if>> <<if $trance lte 0 and $dissociation lte 1 and $panicparalysis is 0 and $panicviolence is 0 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and $options.combatControls is "disabled">> <<set _swarmsteady to $swarm["steady"].toUpperFirst()>> <<set _swarmamounts to $swarm.amount>> <<if $leftarm is "bound">> Your left arm is bound and helpless. <<if $gamemode is "soft" and $nowiggle isnot true>> <br> <label>Wriggle free<<radiobutton "$leftaction" "leftwriggle" checked>></label> | <</if>> <br><br> <<elseif $leftarm is "swarmgrappled">> <span class="purple">The $swarm["type"] are constricting your left arm!</span> <br><br> <<elseif $leftarm is 0>> Your left arm is free. <br> <<if $rightarm is "swarmgrappled">> <label><span class="brat">Free your right arm</span> <<radiobutton "$leftaction" "leftfree">></label> | <<elseif _swarmamounts.active[2] gte 1>> <label>_swarmsteady one of the <<swarmName>> <<radiobutton "$leftaction" "leftswarm">></label> | <</if>> <<if _swarmamounts.genital[0] lte 0 and _swarmamounts.genital[1] lte 0>> <label>Cover your <<genitals>> <<radiobutton "$leftaction" "frontcoverleft">></label> | <</if>> <<if _swarmamounts.butt[0] lte 0 and _swarmamounts.butt[1] lte 0>> <label>Cover your butt <<radiobutton "$leftaction" "backcoverleft" checked>></label> | <</if>> <<if _swarmamounts.chest lte 0>> <label>Cover your chest <<radiobutton "$leftaction" "chestcoverleft">></label> | <</if>> <<if _swarmamounts.genital[1] gte 1 and !playerChastity()>> <label><span class="brat">Pull the $swarm["type"] from your <<genitals>></span> <<radiobutton "$leftaction" "frontpurgeleft">></label> | <</if>> <<if _swarmamounts.genital[0] gte 1 and !playerChastity()>> <label><span class="brat">Keep the $swarm["type"] away from your <<genitals>></span> <<radiobutton "$leftaction" "frontclearleft">></label> | <</if>> <<if _swarmamounts.butt[1] gte 1 and !playerChastity("anus")>> <label><span class="brat">Pull the $swarm["type"] out of your anus</span> <<radiobutton "$leftaction" "backpurgeleft" checked>></label> | <</if>> <<if _swarmamounts.butt[0] gte 1 and !playerChastity("anus")>> <label><span class="brat">Keep the $swarm["type"] away from your butt</span> <<radiobutton "$leftaction" "backclearleft" checked>></label> | <</if>> <<if _swarmamounts.chest gte 1>> <label><span class="brat">Clear the $swarm["type"] off of your chest</span> <<radiobutton "$leftaction" "chestclearleft">></label> | <</if>> <<if $water is 1 and $vorecreature is 0 and ($consensual isnot 1 or $gamemode is "soft")>> <label><span class="teal">Swim to safety</span> <<radiobutton "$leftaction" "swim" checked>></label> | <</if>> <<if $vorecreature is 0>> <label>Rest <<radiobutton "$leftaction" "swarmrest">></label> | <</if>> <br><br> <</if>> <<if $rightarm is "bound">> Your right arm is bound and helpless. <<if $gamemode is "soft" and $nowiggle isnot true>> <br> <label>Wriggle free<<radiobutton "$rightaction" "rightwriggle" checked>></label> | <</if>> <br><br> <<elseif $rightarm is "swarmgrappled">> <span class="purple">The $swarm["type"] are constricting your right arm!</span> <br><br> <<elseif $rightarm is 0>> Your right arm is free. <br> <<if $leftarm is "swarmgrappled">> <label><span class="brat">Free your left arm</span> <<radiobutton "$rightaction" "rightfree">></label> | <<elseif _swarmamounts.active[2] gte 1>> <label>_swarmsteady one of the <<swarmName>> <<radiobutton "$rightaction" "rightswarm">></label> | <</if>> <<if _swarmamounts.genital[0] lte 0 and _swarmamounts.genital[1] lte 0>> <label>Cover your <<genitals>> <<radiobutton "$rightaction" "frontcoverright" checked>></label> | <</if>> <<if _swarmamounts.butt[0] lte 0 and _swarmamounts.butt[1] lte 0>> <label>Cover your butt <<radiobutton "$rightaction" "backcoverright">></label> | <</if>> <<if _swarmamounts.chest lte 0>> <label>Cover your chest <<radiobutton "$rightaction" "chestcoverright">></label> | <</if>> <<if _swarmamounts.genital[1] gte 1 and !playerChastity("hidden")>> <label><span class="brat">Pull the $swarm["type"] from your <<genitals>></span> <<radiobutton "$rightaction" "frontpurgeright" checked>></label> | <</if>> <<if _swarmamounts.genital[0] gte 1 and !playerChastity("hidden")>> <label><span class="brat">Keep the $swarm["type"] away from your <<genitals>></span> <<radiobutton "$rightaction" "frontclearright" checked>></label> | <</if>> <<if _swarmamounts.butt[1] gte 1 and !playerChastity("anus")>> <label><span class="brat">Pull the $swarm["type"] out of your anus</span> <<radiobutton "$rightaction" "backpurgeright">></label> | <</if>> <<if _swarmamounts.butt[0] gte 1 and !playerChastity("anus")>> <label><span class="brat">Keep the $swarm["type"] away from your butt</span> <<radiobutton "$rightaction" "backclearright">></label> | <</if>> <<if _swarmamounts.chest gte 1>> <label><span class="brat">Clear the $swarm["type"] off of your chest</span> <<radiobutton "$rightaction" "chestclearright">></label> | <</if>> <<if $water is 1 and $vorecreature is 0 and ($consensual isnot 1 or $gamemode is "soft")>> <label><span class="teal">Swim to safety</span> <<radiobutton "$rightaction" "swim" checked>></label> | <</if>> <<if $vorecreature is 0>> <label>Rest <<radiobutton "$rightaction" "swarmrest">></label> | <</if>> <br><br> <</if>> <<if $feetuse is 0>> Your feet are free. <br> <<if $swarm.amount.active[2] gte 1>> <label>_swarmsteady one of the <<swarmName>> <<radiobutton "$feetaction" "feetswarm" checked>></label> | <</if>> <<if $water is 1 and $vorecreature is 0 and currentSkillValue('swimmingskill') gt 700 and $consensual isnot 1>> <label><span class="teal">Swim to safety</span> <<radiobutton "$feetaction" "swim" checked>></label> | <</if>> <<if $vorecreature is 0>> <label>Rest <<radiobutton "$feetaction" "swarmrest">></label> | <</if>> <</if>> <br><br> <</if>> <br><br><br> </div> <</widget>><<widget "swarmeffects">> <<effectspain>> <<effectsorgasm>> <<effectsdissociation>> <<set _swarmamounts to $swarm.amount>> /* -------- Clothes -------- */ <<effectshandsclothes>> /* -------- Both arms -------- */ <<if $leftaction is "swim" and $rightaction is "swim">> <<set $leftactiondefault to $leftaction>> <<set $rightactiondefault to $rightaction>> <<set $leftaction to 0>> <<set $rightaction to 0>> <<set $swimdistance -= 2>> You paddle towards safety with both arms. <</if>> /* -------- Left Arm -------- */ <<if $leftaction is "leftwriggle">> <<set $leftactiondefault to "swim">> <<set $leftaction to 0>> <<if $leftarm is "bound">> <<unbind>><span class="green">You wriggle free from your bonds.</span> <</if>> <</if>> <<if $leftaction is "leftfree">> <<set $leftactiondefault to "swim">> <<set $leftaction to 0>> <<set $rightarm to 0>> <span class="lblue">You push away the $swarm["type"] covering your right arm, freeing it.</span> <</if>> <<if $leftaction is "leftswarm">> <<set $leftactiondefault to "leftswarm">> <<set $leftaction to 0>> <<set _swarmamounts.active[2] -= 1>> <<set _swarmamounts.active[3] += 1>> <span class="lblue">You $swarm["steady"] one of the <<swarmName>> with your left hand.</span> <</if>> <<if $leftaction is "frontcoverleft">> <<set $leftactiondefault to "frontcoverleft">> <<set $leftaction to 0>> <<set $front to "covered">> You cover your <<genitals>> with your left hand to prevent the $swarm["type"] from violating you. <</if>> <<if $leftaction is "backcoverleft">> <<set $leftactiondefault to "backcoverleft">> <<set $leftaction to 0>> <<set $back to "covered">> You cover your butt with your left hand. Hopefully it will keep the $swarm["type"] from invading your rear. They prod and poke without success, for now. <</if>> <<if $leftaction is "chestcoverleft">> <<set $leftactiondefault to "chestcoverleft">> <<set $leftaction to 0>> <<set $chest to "covered">> You cover your chest with your left hand, keeping the $swarm["type"] away from your sensitive bust. <</if>> <<if $leftaction is "frontpurgeleft">> <<set $leftaction to 0>> <<set _swarmamounts.genital[1] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="teal">You remove some of the $swarm["type"] that are <<print ($player.vaginaExist ? "penetrating" : "wrapped around")>> your <<if $player.vaginaExist and $player.penisExist>><<pussy>><<else>><<genitals>><</if>>.</span> <<if _swarmamounts.genital[1] gte 1>> <<set $leftactiondefault to "frontpurgeleft">> However, there are still some violating you. <<else>> <<set $leftactiondefault to "swim">> You think you got them all, for now. <</if>> <</if>> <<if $leftaction is "frontclearleft">> <<set $leftaction to 0>> <<set _swarmamounts.genital[0] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="lblue">You prevent the encroaching $swarm["type"] from <<print ($player.vaginaExist ? "entering" : "enveloping")>> your <<if $player.vaginaExist and $player.penisExist>><<pussy>><<else>><<genitals>><</if>>.</span> <<if _swarmamounts.genital[0] gte 1>> <<set $leftactiondefault to "frontclearleft">> <span class="purple">There are so many however, that some make it through your guard.</span> <<else>> <<set $leftactiondefault to "swim">> <</if>> <</if>> <<if $leftaction is "backpurgeleft">> <<set $leftaction to 0>> <<set _swarmamounts.butt[1] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="teal">You extract some of the $swarm["type"] from your anus.</span> <<if _swarmamounts.butt[1] gte 1>> <<set $leftactiondefault to "backpurgeleft">> However, there are still some infesting you. <<else>> <<set $leftactiondefault to "swim">> You think you got them all. <</if>> <</if>> <<if $leftaction is "backclearleft">> <<set $leftaction to 0>> <<set _swarmamounts.butt[0] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="lblue">You prevent the encroaching $swarm["type"] from burrowing into your anus.</span> <<if _swarmamounts.butt[0] gte 1>> <<set $leftactiondefault to "backclearleft">> <span class="purple">There are so many however, that some make it through your guard.</span> <<else>> <<set $leftactiondefault to "swim">> <</if>> <</if>> <<if $leftaction is "chestclearleft">> <<set $leftaction to 0>> <<set _swarmamounts.chest -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="lblue">You clear away some of the $swarm["type"] around your sensitive nipples.</span> <<if _swarmamounts.chest gte 1>> <<set $leftactiondefault to "chestclearleft">> <span class="purple">Many more remain however.</span> <<else>> <<set $leftactiondefault to "swim">> <</if>> <</if>> <<if $leftaction is "swim">> <<set $leftactiondefault to "swim">> <<set $leftaction to 0>> <<set $swimdistance -= 1>> You paddle towards safety with your left arm. <</if>> <<if $leftaction is "swarmrest">> <<set $leftactiondefault to "swarmrest">> <<set $leftaction to 0>> You rest your left arm. <</if>> /* -------- Right Arm -------- */ <<if $rightaction is "rightwriggle">> <<set $rightactiondefault to "swim">> <<set $rightaction to 0>> <<if $rightarm is "bound">> <<unbind>><span class="green">You wriggle free from your bonds.</span> <</if>> <</if>> <<if $rightaction is "rightfree">> <<set $rightactiondefault to "swim">> <<set $rightaction to 0>> <<set $leftarm to 0>> <span class="lblue">You push away the $swarm["type"] covering your left arm, freeing it.</span> <</if>> <<if $rightaction is "rightswarm">> <<set $rightactiondefault to "rightswarm">> <<set $rightaction to 0>> <<set _swarmamounts.active[2] -= 1>> <<set _swarmamounts.active[3] += 1>> <span class="lblue">You $swarm["steady"] one of the <<swarmName>> with your right hand.</span> <</if>> <<if $rightaction is "frontcoverright">> <<set $rightactiondefault to "frontcoverright">> <<set $rightaction to 0>> <<set $front to "covered">> You cover your <<genitals>> with your right hand to prevent the $swarm["type"] from violating you. <</if>> <<if $rightaction is "backcoverright">> <<set $rightactiondefault to "backcoverright">> <<set $rightaction to 0>> <<set $back to "covered">> You cover your butt with your right hand. Hopefully it will keep the $swarm["type"] from invading your rear. <</if>> <<if $rightaction is "chestcoverright">> <<set $rightactiondefault to "chestcoverright">> <<set $rightaction to 0>> <<set $chest to "covered">> You cover your chest with your right hand, keeping the $swarm["type"] away from your sensitive bust. <</if>> <<if $rightaction is "frontpurgeright">> <<set $rightaction to 0>> <<set _swarmamounts.genital[1] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="teal">You remove some of the $swarm["type"] that are <<print ($player.vaginaExist ? "penetrating" : "wrapped around")>> your <<if $player.vaginaExist and $player.penisExist>><<pussy>><<else>><<genitals>><</if>>.</span> <<if _swarmamounts.genital[1] gte 1>> <<set $rightactiondefault to "frontpurgeright">> However, there are still some violating you. <<else>> <<set $rightactiondefault to "swim">> You think you got them all, for now. <</if>> <</if>> <<if $rightaction is "frontclearright">> <<set $rightaction to 0>> <<set _swarmamounts.genital[0] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="lblue">You prevent the encroaching $swarm["type"] from <<print ($player.vaginaExist ? "entering" : "enveloping")>> your <<if $player.vaginaExist and $player.penisExist>><<pussy>><<else>><<genitals>><</if>>.</span> <<if _swarmamounts.genital[0] gte 1>> <<set $rightactiondefault to "frontclearright">> <span class="purple">There are so many however, that some make it through your guard.</span> <<else>> <<set $rightactiondefault to "swim">> <</if>> <</if>> <<if $rightaction is "backpurgeright">> <<set $rightaction to 0>> <<set _swarmamounts.butt[1] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="teal">You extract some of the $swarm["type"] from your anus.</span> <<if _swarmamounts.butt[1] gte 1>> <<set $rightactiondefault to "backpurgeright">> However, there are still some infesting you. <<else>> <<set $rightactiondefault to "swim">> You think you got them all. <</if>> <</if>> <<if $rightaction is "backclearright">> <<set $rightaction to 0>> <<set _swarmamounts.butt[0] -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="lblue">You prevent the encroaching $swarm["type"] from burrowing into your anus.</span> <<if _swarmamounts.butt[0] gte 1>> <<set $rightactiondefault to "backclearright">> <span class="purple">There are so many however, that some make it through your guard.</span> <<else>> <<set $rightactiondefault to "swim">> <</if>> <</if>> <<if $rightaction is "chestclearright">> <<set $rightaction to 0>> <<set _swarmamounts.chest -= 1>> <<set _swarmamounts.active[4] += 1>> <span class="lblue">You clear away some of the $swarm["type"] around your sensitive nipples.</span> <<if _swarmamounts.chest gte 1>> <<set $rightactiondefault to "chestclearright">> <span class="purple">Many more remain however.</span> <<else>> <<set $rightactiondefault to "swim">> <</if>> <</if>> <<if $rightaction is "swim">> <<set $rightactiondefault to "swim">> <<set $rightaction to 0>> <<set $swimdistance -= 1>> You paddle towards safety with your right arm. <</if>> <<if $rightaction is "swarmrest">> <<set $rightactiondefault to "swarmrest">> <<set $rightaction to 0>> You rest your right arm. <</if>> /* -------- Legs -------- */ <<if $feetaction is "feetswarm">> <<set $feetactiondefault to "feetswarm">> <<set $feetaction to 0>> <<set $swarm.amount.active[2] -= 1>> <<set $swarm.amount.active[3] += 1>> <span class="lblue">You $swarm["steady"] one of the <<swarmName>> with your feet.</span> <</if>> <<if $feetaction is "swim">> <<set $feetactiondefault to "swim">> <<set $feetaction to 0>><<set $swimdistance -= 1>> You paddle towards safety with your legs. <</if>> <<if $feetaction is "swarmrest">> <<set $feetactiondefault to "swarmrest">> <<set $feetaction to 0>> You rest your legs. <</if>> <br><br> <</widget>><<widget "swarminit">> /* Example call <<swarminit "fish" "container" "shaking" "shatter" "steady" 4 6>> */ /* <<swarminit type name move spill steady amountactive amountstored>> */ /* Define Data to make each swarmer type unique Milk: Sets of the swarm type is attracted to PC's chest when lactating */ <<set _swarmdats to { "fish":{"milk":1}, "eels":{"milk":1}, "snakes":{"milk":1}, "spiders":{"milk":0}, "slimes":{"milk":1}, "pale slimes":{"milk":1}, "maggots":{"milk":0}, "worms":{"milk":0} }>> /* This contains the persistent data we will use for the encounter. */ <<set $swarm to { "data": _swarmdats[_args[0]], "type":_args[0], "name":_args[1], "move":_args[2], "spill":_args[3], "steady":_args[4], "amount":{ "active":[_args[5],_args[6],0,0,_args[5]], "chest":0, "genital":[0,0], "butt":[0,0] } }>> <<set $enemyarousal to 0>> <</widget>> <<widget "swarm">> <div @class="($debugLines ? 'debugLines-swarm' : '')"> <<set $position to "doggy">> <<set _swarmnote to { "activate":0, "chestintro":0, "chestcovered":0, "chestintroclothed":0, "chestclothed":0, "chestmolest":0, "chestmilk":0, "buttintro":0, "buttcovered":0, "buttlowerclothed":0, "buttlowerintroclothed":0, "buttunderclothed":0, "buttunderintroclothed":0, "buttmolest":0, "buttchasity":0, "buttinsideintro":0, "genitalintro":0, "genitalcovered":0, "genitallowerclothed":0, "genitallowerintroclothed":0, "genitalunderclothed":0, "genitalunderintroclothed":0, "genitalmolest":0, "genitalchasity":0, "genitalinsideintro":0, }>> <<set _swarmamounts to $swarm.amount>> <<set _swarmcreature to $swarm.type>> <<set _swarmactive to _swarmamounts.active[0]>> /* Swarm Targeting priorities */ <<set _swarmchance to {"chest":30,"butt":30,"genital":30}>> <<if $analdisable is not "f">> <<set _swarmchance["butt"] to 0>><<set _swarmchance["chest"] += 10>><<set _swarmchance["genital"] += 20>> <</if>> /* Chest related activities */ <<if _swarmamounts.chest gt 0>> /* Swarms didn't do much after going to the chest before */ <<if $lactating gte 1 and $breastfeedingdisable is "f">> <<if $milk_amount gte 1>>/*Milky, Maybe milk attracts swarmers to the breasts*/ <<set _swarmnote.chestmilk to 1>> <<breastfeed>> <<if $swarm.data["milk"] gt 0>> <<set _swarmchance["chest"] += 15>>/*Increase chest roll ratio since the swarm is attracted to milk*/ <</if>> <</if>> <</if>> <</if>> /* Butt related activities */ <<if _swarmamounts.butt[1] gt 0>> /* Inside Activities */ <</if>> <<if _swarmamounts.butt[0] gt 0>> <<set _swarmnote.buttinsideintro += _swarmamounts.butt[0]>> <<set _swarmamounts.butt[1] += _swarmamounts.butt[0]>><<set _swarmamounts.butt[0] to 0>> <</if>> /* Genital related activities */ <<if _swarmamounts.genital[1] gt 0>> /* Inside Activities */ <</if>> <<if _swarmamounts.genital[0] gt 0>> <<set _swarmnote.genitalinsideintro += _swarmamounts.genital[0]>> <<set _swarmamounts.genital[1] += _swarmamounts.genital[0]>><<set _swarmamounts.genital[0] to 0>> <</if>> /* Handle the active swarm and give them targets to go after */ <<for _i to 0; _i lt _swarmamounts.active[4]; _i++>> <<rng>> <<if $rng lte _swarmactive * 20>> <<rng _swarmchance["chest"]+_swarmchance["butt"]+_swarmchance["genital"]>> <<if $rng lte _swarmchance["chest"]>> <<if $chest is "covered">> <<set _swarmnote.chestcovered += 1>> <<arousal 10 "breasts">> <<else>> <<rng>> <<if $rng lte _swarmactive * 20>> <<outfitChecks>> <<if _shirtless>> <<set _swarmamounts.chest += 1>><<set _swarmamounts.active[4] -= 1>> <<set _swarmnote.chestintro += 1>> <<neutral 3 "breasts">> <<else>> <<rng>> <<if $rng gte 81>> /* Maybe smaller swarmers are more likely to get under cloths */ <<set _swarmamounts.chest += 1>><<set _swarmamounts.active[4] -= 1>> <<set _swarmnote.chestintroclothed += 1>> <<neutral 3 "breasts">> <<else>> <<set _swarmnote.chestclothed += 1>> <<if !$worn.over_upper.type.includes("naked")>> <<set $worn.over_upper.integrity -= 2>> <</if>> <<if !$worn.upper.type.includes("naked")>> <<set $worn.upper.integrity -= 2>> <</if>> <<neutral 1 "breasts">> <</if>> <</if>> <<else>> <<set _swarmnote.chestmolest += 1>> <<if !$worn.over_upper.type.includes("naked")>> <<set $worn.over_upper.integrity -= 2>> <</if>> <<if !$worn.upper.type.includes("naked")>> <<set $worn.upper.integrity -= 2>> <</if>> <<neutral 1 "breasts">> <</if>> <</if>> <<elseif $rng gt _swarmchance["chest"] and $rng lte _swarmchance["chest"]+_swarmchance["butt"]>> /* Butt */ <<if $back is "covered">> <<set _swarmnote.buttcovered += 1>> <<arousal 10 "bottom">> <<else>> <<rng>> <<if $rng lte _swarmactive * 20>> <<rng>> <<if $rng gte 81>> /*Chance swarm bypass clothing*/ <<neutral 4 "bottom">> <<set _swarmamounts.butt[0] += 1>><<set _swarmamounts.active[4] -= 1>> <<if $worn.under_lower.type.includes("naked") and !(playerChastity("hidden") and playerChastity("anus"))>> <<if (!$worn.over_lower.type.includes("naked") and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0) or (!$worn.lower.type.includes("naked") and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0)>> <<set _swarmnote.buttlowerintroclothed += 1>> <<else>> <<set _swarmnote.buttintro += 1>> <</if>> <<elseif playerChastity("hidden") and playerChastity("anus")>> <<set _swarmnote.buttchasity += 1>> <<else>> <<set _swarmnote.buttunderintroclothed += 1>> <</if>> <<else>> <<if (!$worn.over_lower.type.includes("naked") and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0) or (!$worn.lower.type.includes("naked") and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0)>> <<set _swarmnote.buttlowerclothed += 1>> <<if !$worn.over_lower.type.includes("naked")>> <<set $worn.over_lower.integrity -= 2>> <</if>> <<if !$worn.lower.type.includes("naked")>> <<set $worn.lower.integrity -= 2>> <</if>> <<neutral 1>> <<elseif !$worn.under_lower.type.includes("naked")>> <<set _swarmnote.buttunderclothed+= 1>> <<set $worn.under_lower.integrity -= 2>> <<neutral 1>> <<elseif playerChastity("hidden") and playerChastity("anus")>> <<set _swarmamounts.butt[0] += 1>><<set _swarmamounts.active[4] -= 1>> <<set _swarmnote.buttchasity += 1>> <<neutral 4>> <<else>> <<set _swarmamounts.butt[0] += 1>><<set _swarmamounts.active[4] -= 1>> <<set _swarmnote.buttintro += 1>> <<neutral 4>> <</if>> <</if>> <<else>> <<set _swarmnote.buttmolest += 1>> <<set $worn.lower.integrity -= 2>> <<if $worn.lower.type.includes("naked")>> <<set $worn.under_lower.integrity -= 2>> <</if>> <<neutral 1 "bottom">> <</if>> <</if>> <<elseif $rng gt _swarmchance["chest"]+_swarmchance["butt"]>> /* Genitals */ <<if $front is "covered">> <<set _swarmnote.genitalcovered += 1>> <<arousal 10 "genitals">> <<else>> <<rng>> <<if $rng lte _swarmactive * 20>> <<rng>> <<if $rng gte 81>> <<set _swarmamounts.genital[0] += 1>><<set _swarmamounts.active[4] -= 1>> <<neutral 4 "genitals">> <<if $worn.under_lower.type.includes("naked") and !playerChastity("hidden")>> <<if (!$worn.over_lower.type.includes("naked") and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0) or (!$worn.lower.type.includes("naked") and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0)>> <<set _swarmnote.genitallowerintroclothed += 1>> <<else>> <<set _swarmnote.genitalintro += 1>> <</if>> <<elseif playerChastity("hidden")>> <<set _swarmnote.genitalchasity += 1>> <<else>> <<set _swarmnote.genitalunderintroclothed += 1>> <</if>> <<else>> <<if (!$worn.over_lower.type.includes("naked") and setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 0) or (!$worn.lower.type.includes("naked") and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 0)>> <<set _swarmnote.genitallowerclothed+= 1>> <<if !$worn.over_lower.type.includes("naked")>> <<set $worn.over_lower.integrity -= 2>> <</if>> <<if !$worn.lower.type.includes("naked")>> <<set $worn.lower.integrity -= 2>> <</if>> <<neutral 1 "genitals">> <<elseif !$worn.under_lower.type.includes("naked")>> <<set _swarmnote.genitalunderclothed += 1>> <<set $worn.under_lower.integrity -= 2>> <<neutral 1 "genitals">> <<elseif playerChastity("hidden")>> <<set _swarmamounts.genital[0] += 1>><<set _swarmamounts.active[4] -= 1>> <<set _swarmnote.genitalchasity += 1>> <<neutral 4 "genitals">> <<else>> <<set _swarmamounts.genital[0] += 1>><<set _swarmamounts.active[4] -= 1>> <<set _swarmnote.genitalintro += 1>> <<neutral 4 "genitals">> <</if>> <</if>> <<else>> <<set _swarmnote.genitalmolest += 1>> <<set $worn.lower.integrity -= 2>> <<if $worn.lower.type.includes("naked")>> <<set $worn.under_lower.integrity -= 2>> <</if>> <<neutral 1 "genitals">> <</if>> <</if>> <</if>> <<else>> <<arousal 10>> <</if>> <</for>> /* pending -> active */ <<if _swarmamounts.active[2] gt 0>> <<set _swarmamounts.active[0] += _swarmamounts.active[2]>> <<set _swarmamounts.active[4] += _swarmamounts.active[2]>> <<set _swarmamounts.active[2] to 0>> <<set _swarmnote.activate to 1>> <</if>> /* 0:active, 1:contained, 2:pending, 3:steadied 4:idle*/ <<if _swarmamounts.active[1] gt 0>>/* contained -> pending */ <<for _i to 0; _i lt _swarmamounts.active[1]; _i++>> <<rng>> <<if $rng gte 51>> /* Maybe this number can be augmented by something? */ <<set _swarmamounts.active[1] -= 1>> <<set _swarmamounts.active[2] += 1>> <</if>> <</for>> <</if>> /* steadied -> contained */ <<set _swarmamounts.active[1] += _swarmamounts.active[3]>> <<set _swarmamounts.active[3] to 0>> /* --------- Text Notifications ---------*/ <<if _swarmnote.activate gte 1>> <<set _swarmnote.activate to 0>> The <<swarmName>> $swarm.spill, surrounding you with more $swarm.type. <</if>> <<if _swarmamounts.active[2] gte 1>> <<set $_remainingSwarms to _swarmamounts.active[1] + _swarmamounts.active[2]>> There <<if $_remainingSwarms gt 1>>are<<else>>is<</if>> <<number $_remainingSwarms>> <<swarmName $_remainingSwarms>> and <span class="blue"><<if _swarmamounts.active[1] + _swarmamounts.active[2] is 1>>it<<else>><<number _swarmamounts.active[2]>> of them<</if>> <<if _swarmamounts.active[2] gte 2>>are<<else>>is<</if>> $swarm.move.</span> <</if>> <<if _swarmactive lte 0>> <<elseif _swarmactive lte 1>> The _swarmcreature are squirming over you. <<elseif _swarmactive lte 2>> The _swarmcreature are swarming over you. <<elseif _swarmactive lte 3>> The _swarmcreature teem around you. <<elseif _swarmactive lte 4>> You're practically swimming in _swarmcreature. <<elseif _swarmactive lte 9>> The _swarmcreature completely surround you. <<elseif _swarmactive gte 10>> <span class="pink">The _swarmcreature completely surround you, as if you are in a living pit.<<if $orgasmdown gte 1>> Not an inch of skin is spared the torment.<</if>></span> <</if>> <<rng>> <<if $rng gte 91 and $leftarm is 0 and $rightarm is 0>> <<if $rng gte 96>> <<set $leftarm to "swarmgrappled">><<set $lefttarget to "swarm">> <span class="purple">The $swarm["type"] swarm over your left arm, restraining it.</span> <<else>> <<set $rightarm to "swarmgrappled">><<set $righttarget to "swarm">> <span class="purple">The $swarm["type"] swarm over your right arm, restraining it.</span> <</if>> <</if>> /* -------- Chest -------- */ <<if _swarmnote.chestcovered gte 1>> <<set _swarmnote.chestcovered to 0>> You manage to keep them away from your chest. <</if>> <<if _swarmnote.chestmolest gte 1>> <<set _swarmnote.chestmolest to 0>> They writhe over your <<print either("chest", "stomach", "back", "neck", "arms")>>. <</if>> <<if _swarmnote.chestclothed gte 1>> <<set _swarmnote.chestclothed to 0>> Some of them assault and damage your <<if !$worn.over_upper.type.includes("naked")>> $worn.upper.name<<if !$worn.upper.type.includes("naked")>> and<<else>>,<</if>> <</if>> <<if !$worn.upper.type.includes("naked")>> $worn.upper.name, <</if>> trying to get to the skin beneath. <</if>> <<if _swarmnote.chestintro gte 1>> <<set _swarmnote.chestintro to 0>> <<if _swarmamounts.chest gte 1>> <span class="purple">More $swarm["type"] gather around your <<breasts>>.</span> <<else>> <span class="purple">A number of them take a liking to your <<breasts>>.</span> <</if>> <</if>> <<if _swarmnote.chestintroclothed gte 1>> <<set _swarmnote.chestintroclothed to 0>> <span class="purple">Some of them wriggle their way into your <<if !$worn.over_upper.type.includes("naked")>> $worn.upper.name<<if !$worn.upper.type.includes("naked")>> and<<else>>,<</if>> <</if>> <<if !$worn.upper.type.includes("naked")>> $worn.upper.name, <</if>> where they take a liking to your <<breasts>>.</span> <</if>> <<if _swarmamounts.chest gte 1>> <<playWithBreasts _swarmamounts.chest>> <<arousal `_swarmamounts.chest * 20`>> <<neutral 5 "breasts">> <<if _swarmnote.chestmilk gte 1>> <<set _swarmnote.chestmilk to 0>> They twist and tease your <<nipples>>, <span class="purple">causing milk to leak out of the tips.</span> /*Maybe put a notification here, about swarmers that are attracted to milk?*/ <<else>> They twist and tease your <<nipples>>, keeping them firm. <</if>> <</if>> /* -------- Butts --------*/ <<if _swarmnote.buttcovered gte 1>> <<set _swarmnote.buttcovered to 0>> You manage to keep them away from your butt. <</if>> <<if _swarmnote.buttmolest gte 1>> <<set _swarmnote.buttmolest to 0>> They writhe over your <<print either("butt", "thighs", "legs")>>. <</if>> <<if _swarmnote.buttlowerclothed gte 1>> <<set _swarmnote.buttlowerclothed to 0>> <<if $worn.over_lower.name is "naked" and $worn.lower.name is "naked">> Some tear apart the ruined scraps of your clothing. <<else>> Some of them burrow into your <<if !$worn.over_lower.type.includes("naked")>> $worn.over_lower.name<<if !$worn.lower.type.includes("naked")>> and<<else>>,<</if>> <</if>> <<if !$worn.lower.type.includes("naked")>> $worn.lower.name, <</if>> tearing the fabric. <</if>> <</if>> <<if _swarmnote.buttunderclothed gte 1>> <<set _swarmnote.buttunderclothed to 0>> Some of them assail your $worn.under_lower.name, tearing the fabric. <</if>> <<if _swarmnote.buttlowerintroclothed gte 1>> <<set _swarmnote.buttlowerintroclothed to 0>> <span class="purple">Some of them wriggle their way into your <<if !$worn.over_lower.type.includes("naked")>> $worn.over_lower.name<<if !$worn.lower.type.includes("naked")>> and<<else>>,<</if>> <</if>> <<if !$worn.lower.type.includes("naked")>> $worn.lower.name, <</if>> you feel them moving toward your anus.</span> <</if>> <<if _swarmnote.buttunderintroclothed gte 1>> <<set _swarmnote.buttunderintroclothed to 0>> <span class="purple">Some of them wriggle their way into your $worn.under_lower.name, you feel them moving toward your anus.</span> <</if>> <<if _swarmnote.buttchasity gte 1>> <<set _swarmnote.buttchasity to 0>> <span class="purple">Some of them wriggle their way into your $worn.genitals.name; you feel them moving toward your <<genitals 1>>.</span> <span class="pink">With your $worn.genitals.name anal shield in the way, you won't be able to get them out!</span> <<if $parasitedisable is "f">> <<set $analchastityparasite to $swarm["type"]>> <</if>> <</if>> <<if _swarmnote.buttintro gte 1>> <<set _swarmnote.buttintro to 0>> <span class="purple">They swarm around your butt, you feel them move toward your anus.</span> <</if>> <<if _swarmnote.buttinsideintro gte 1>> <<set _swarmnote.buttinsideintro to 0>> <span class="pink">They start squirming their way into your <<bottom>>.</span> <</if>> <<if _swarmamounts.butt[1] gte 1>> <<neutral 10 "bottom">><<impregnateParasite $swarm["type"] _swarmamounts.butt[1]>> They writhe inside your lower intestine<<if $player.penisExist>>, blindly teasing your prostate<</if>><<if _impreg is true>>, and <span class="red">attempt to move further inside you</span><</if>>. <<set _impreg to false>> <<arousal `_swarmamounts.butt[1] * 20`>> <</if>> /* -------- Genital -------- */ <<if _swarmnote.genitalcovered gte 1>> <<set _swarmnote.genitalcovered to 0>> You manage to keep them away from your <<genitals>>. <</if>> <<if _swarmnote.genitalmolest gte 1>> <<set _swarmnote.genitalmolest to 0>> You feel them writhing over your <<if !$worn.lower.type.includes("naked") and setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt isnot 1>><<genitals>> through your <<if !$worn.over_lower.type.includes("naked")>> $worn.over_lower.name<<if !$worn.lower.type.includes("naked")>> and<<else>>.<</if>> <</if>> <<if !$worn.lower.type.includes("naked")>> $worn.lower.name. <</if>> <<elseif !$worn.under_lower.type.includes("naked")>> <<genitals>> through your $worn.under_lower.name.<<else>>unprotected <<genitals>>. <</if>> <</if>> <<if _swarmnote.genitallowerclothed gte 1>> <<set _swarmnote.genitallowerclothed to 0>> Some of them start tearing into your <<if !$worn.over_lower.type.includes("naked")>> $worn.over_lower.name<<if !$worn.lower.type.includes("naked")>> and<<else>>.<</if>> <</if>> <<if !$worn.lower.type.includes("naked")>> $worn.lower.name. <</if>> <</if>> <<if _swarmnote.genitalunderclothed gte 1>> <<set _swarmnote.genitalunderclothed to 0>> Some of them try to breach your $worn.under_lower.name, trying to get to the skin beneath. <</if>> <<if _swarmnote.genitallowerintroclothed gte 1>> <<set _swarmnote.genitallowerintroclothe to 0>> <span class="purple">Some of them wriggle their way into your <<if !$worn.over_lower.type.includes("naked")>> $worn.over_lower.name<<if !$worn.lower.type.includes("naked")>> and<<else>>,<</if>> <</if>> <<if !$worn.lower.type.includes("naked")>> $worn.lower.name, <</if>> you feel them moving toward your <<genitals>>.</span> <</if>> <<if _swarmnote.genitalunderintroclothed gte 1>> <<set _swarmnote.genitalunderintroclothed to 0>> <span class="purple">Some of them wriggle their way into your $worn.under_lower.name, you feel them moving toward your <<genitals>>.</span> <</if>> <<if _swarmnote.genitalchasity gte 1>> <<set _swarmnote.genitalchasity to 0>> <span class="purple">Some of them wriggle their way into your $worn.genitals.name; you feel them moving toward your <<genitals 1>>.</span> <span class="pink">With your $worn.genitals.name in the way, you won't be able to get them out!</span> <<if $parasitedisable is "f">> <<if $player.vaginaExist and playerChastity("vagina")>> <<set $vaginalchastityparasite to $swarm["type"]>> <</if>> <<if $player.penisExist and playerChastity("penis")>> <<set $penilechastityparasite to $swarm["type"]>> <</if>> <</if>> <</if>> <<if _swarmnote.genitalintro gte 1>> <<set _swarmnote.genitalintro to 0>> <span class="purple">They swarm around your groin, you feel them move toward your <<genitals>>.</span> <</if>> <<if _swarmnote.genitalinsideintro gte 1>> <<set _swarmnote.genitalinsideintro to 0>> <<if $player.vaginaExist>> <span class="pink">They start squirming their way into your pussy!</span> <<elseif $player.penisExist>> <span class="pink">They start enveloping your penis!</span> <</if>> <</if>> <<if _swarmamounts.genital[1] gte 1>> <<if $player.vaginaExist>> <<impregnateParasite $swarm["type"] _swarmamounts.genital[1] "vagina">> They writhe and squirm inside your vagina, probing and teasing without mercy<<if _impreg is true>>, and <span class="red">attempt to move further inside you</span><</if>>. <<set _impreg to false>> <<arousal `_swarmamounts.genital[1] * 20 * $genitalsensitivity`>> <<neutral 10 "genitals">> <<elseif $player.penisExist>> They writhe and squirm over your penis, rubbing and teasing the entire length. <<arousal `_swarmamounts.genital[1] * 20 * $genitalsensitivity`>> <<neutral 10 "genitals">> <</if>> <</if>> <br><br> <<if $panicattacks gte 1 and $panicviolence is 0 and $panicparalysis is 0 and $controlled is 0 and _panicchecked isnot true>> <<rng>> <<if $rng is 100>> <<set $panicparalysis to 5>> <</if>> <<set _panicchecked to true>> <</if>> <<if $panicattacks gte 2 and $panicviolence is 0 and $panicparalysis is 0 and $controlled is 0 and _paniccheckedviolence isnot true>> <<rng>> <<if $rng is 100>> <<set $panicviolence to 3>> <</if>> <<set _paniccheckedviolence to true>> <</if>> <<if $arousal gte $arousalmax and $orgasmdown lte 0>> <<orgasm>> <</if>> </div> <</widget>> <<widget "swarmName">> <<if _args[0] is undefined or _args[0] gt 1>> <<if $swarm.name.endsWith(" mass")>> <<set _swarmname to $swarm.name + "es">> <<else>> <<set _swarmname to $swarm.name + "s">> <</if>> <<else>> <<set _swarmname to $swarm.name>> <</if>> _swarmname <</widget>>/* Turn NPC into Abomination. Only works if only one NPC generated for now. Can be used mid-combat. */ <<widget "makeAbomination">> <<if $enemyno isnot 1>> <span class="red">ERROR: Only one NPC may be present to turn into an Abomination.</span> <<else>> <<set $abomination to 1>> <<set _tentacleNumber to (_args[0] ? _args[0] : random(2,8))>> <<set _tentacleHealth to (_args[1] ? _args[1] : 15)>> <<set _tentacleType to (_args[2] ? _args[2] : undefined)>> <<set _tentacleVariant to (_args[3] ? _args[3] : undefined)>> <<set _tentacleVarDesc to (_args[4] ? _args[4] : undefined)>> <<tentaclestart _tentacleNumber _tentacleHealth _tentacleType _tentacleVariant _tentacleVarDesc>> <<for _i to 0; _i lt $tentacles.active; _i++>> <<set $enemyhealthmax += $tentacles[_i].tentaclehealth>> <<set $enemyhealth += $tentacles[_i].tentaclehealth>> <<set $enemyarousalmax += $tentacles[_i].tentaclehealth>> <</for>> <</if>> <</widget>> <<widget "effectsabomination">> <<effectsman>> <div @class="($debugLines ? 'debugLines-effectstentacleadv' : '')"> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<set _tentacle to $tentacles[_i]>> <<effectstentacleadv _tentacle>> <</if>> <</for>> </div> <</widget>> <<widget "abomination">> <<if !$enemytype or ["man","plant"].includes($enemytype)>> <<man>> <<else>> <<beast $enemyno>> <</if>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<set _tentacle to $tentacles[_i]>> <<if _tentacle isnot undefined>> <<tentacleadv _tentacle>> <<set _tentacle.tentaclehealth -= 0.2>> <<set $enemyarousal += 2>> <</if>> <</for>> <</widget>> <<widget "stateabomination">> <<statetentacles>> <<stateman>> <</widget>> <<widget "actionsabomination">> <div @class="($debugLines ? 'debugLines-actionsman' : '')"> <<exposure>> <<set $face to 0>> <<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>> <<animateCombat>> <<if $traumafocus gte 1 and $traumafocusintro isnot 1>> <<set $traumafocusintro to 1>> <i>As you gain focus, you become more and more likely to escape your helpless state of dissociation.</i> <br><br> <</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>> <span class="green">Your lucidity returns.</span> <<ltrauma>> <br> <span class="red">The weight of reality crashes down on you.</span> <br><br> <</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")>> <<if $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and $dissociation lte 1>> <<if $options.images is 1 and $options.combatImages is 1 and $consensual is 1 and $position_lock isnot 1>> <<if $position is "doggy">> | <label>Roll over <<radiobutton "$bodyaction" "missionary">></label> <<elseif $position is "missionary">> | <label>Roll over <<radiobutton "$bodyaction" "doggy">></label> <</if>> <<if $position isnot "stalk">> | <label>Rest <<radiobutton "$bodyaction" "rest" checked>></label> <br> <</if>> <</if>> <</if>> <<if $options.combatControls isnot "disabled">> <<generateActionsAbomination>> <</if>> <br> <</if>> <br><br> <<set $face to 0>> </div> /*Due to how combat is setup, this is the best location for it*/ <<setupMidOrgasm>> <<set _combatend to ($alarm is 1 and $rescue gte 1) or ($enemyhealth lte 0) or ($enemyarousal gte $enemyarousalmax) or ($finish is 1) >> <<if $debug is 1>> __Debug__ <br> <<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 <br> Penis: $NPCList[_i].penis --- Vagina: $NPCList[_i].vagina --- Mouth: $NPCList[_i].mouth --- Anus: $NPCList[_i].anus <br><br> <</for>> <</if>> <br><br> <</widget>> <<widget "generateActionsAbomination">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<if $lefttarget is "self">> <<leftActionInitSelf>> <<elseif $lefttarget is "tentacles" and Object.values(_targetlistarms).includes("tentacles")>> <<leftActionInitTentacle>> <<else>> <<leftActionInit>> <</if>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<if $righttarget is "self">> <<rightActionInitSelf>> <<elseif $righttarget is "tentacles" and Object.values(_targetlistarms).includes("tentacles")>> <<rightActionInitTentacle>> <<else>> <<rightActionInit>> <</if>> </div> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<if $feettarget is "self">> <<feetActionInitSelf>> <<elseif $feettarget is "tentacles" and Object.values(_targetlistall).includes("tentacles")>> <<feetActionInitTentacle>> <<else>> <<feetActionInit>> <</if>> </div> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<if $mouthtarget is "tentacles" and Object.values(_targetlistall).includes("tentacles")>> <<mouthActionInitTentacle>> <<else>> <<mouthActionInit>> <</if>> </div> <<if $player.penisExist>> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<if $penistarget is "tentacles" and Object.values(_targetlistall).includes("tentacles")>> <<penisActionInitTentacle>> <<else>> <<penisActionInit>> <</if>> </div> <</if>> <<if $player.vaginaExist>> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<if $vaginatarget is "tentacles" and Object.values(_targetlistall).includes("tentacles")>> <<vaginaActionInitTentacle>> <<else>> <<vaginaActionInit>> <</if>> </div> <</if>> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<if $anustarget is "tentacles" and Object.values(_targetlistall).includes("tentacles")>> <<anusActionInitTentacle>> <<else>> <<anusActionInit>> <</if>> </div> <<if $chestuse is "tentaclerub">> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInitTentacle>> </div> <<elseif $chestuse is "penis">> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInit>> </div> <</if>> <<if $thighuse isnot 0>> <div id="thighaction" @class="$options.combatControls + 'Control'"> <<thighActionInit>> </div> <</if>> </div> <</widget>><<widget "tentacleact">> <<if $tentacles[$tentacleindex].health lte 0 and $tentacles[$tentacleindex].shaft isnot "finished">> Worn out, the $tentacles[$tentacleindex].name tentacle retracts from you. <<tentacledisable>> <<set $tentacles[$tentacleindex].shaft to "finished">> <<set $tentacles[$tentacleindex].head to "finished">> <</if>> <<if $tentacles[$tentacleindex].shaft is "tummy">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your tummy, <</if>> <<if $tentacles[$tentacleindex].shaft is "thighs">> The $tentacles[$tentacleindex].name tentacle <<slithers>> between your thighs, <</if>> <<if $tentacles[$tentacleindex].shaft is "breasts">> The $tentacles[$tentacleindex].name tentacle squeezes your breasts together, <</if>> <<if $tentacles[$tentacleindex].shaft is "chest">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your chest, <</if>> <<if $tentacles[$tentacleindex].shaft is "waist">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your waist, <</if>> <<if $tentacles[$tentacleindex].shaft is "neck">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your neck, <</if>> <<if $tentacles[$tentacleindex].shaft is "shoulders">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your shoulders, <</if>> <<if $tentacles[$tentacleindex].shaft is "leftleg">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your left leg, <</if>> <<if $tentacles[$tentacleindex].shaft is "rightleg">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your right leg, <</if>> <<if $tentacles[$tentacleindex].shaft is "leftarm">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your left arm, <</if>> <<if $tentacles[$tentacleindex].shaft is "rightarm">> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your right arm, <</if>> <<if $tentacles[$tentacleindex].head is "leftarm">> The $tentacles[$tentacleindex].name tentacle writhes in your left hand. <<neutral 5>> <</if>> <<if $tentacles[$tentacleindex].head is "rightarm">> The $tentacles[$tentacleindex].name tentacle writhes in your right hand. <<neutral 5>> <</if>> <<if $tentacles[$tentacleindex].head is "feet">> The $tentacles[$tentacleindex].name tentacle writhes between your feet. <<neutral 5>> <</if>> <<if $tentacles[$tentacleindex].head is "leftnipplesuck">> and up to your <<breasts>>, where it suckles your left nipple. <<neutralbreast 3>><<playWithBreasts>> <</if>> <<if $tentacles[$tentacleindex].head is "rightnipplesuck">> and up to your <<breasts>>, where it suckles your right nipple. <<neutralbreast 3>><<playWithBreasts>> <</if>> <<if $tentacles[$tentacleindex].head is "leftnipple">> and continues teasing your left nipple. <span class="purple">The tip of the tentacle opens up, latches on, then begins sucking.</span> <<neutralbreast 3>><<set $tentacles[$tentacleindex].head to "leftnipplesuck">><<set $leftnipple to "tentaclesuck">><<playWithBreasts>> <</if>> <<if $tentacles[$tentacleindex].head is "rightnipple">> and continues teasing your right nipple. <span class="purple">The tip of the tentacle opens up, latches on, then begins sucking.</span> <<neutralbreast 3>><<set $tentacles[$tentacleindex].head to "rightnipplesuck">><<set $rightnipple to "tentaclesuck">><<playWithBreasts>> <</if>> <<if $parasite.nipples.name isnot undefined>> The suction drives the attached $parasite.nipples.name into a frenzy. <</if>> <<if $tentacles[$tentacleindex].head is "chest">> <<if $chestuse is 0>> moves away from your <<breasts>> <<set $tentacles[$tentacleindex].head to 0>> <<else>> then up between your <<breasts>>, rubbing itself between them. <<neutralbreast 2>> <</if>> <</if>> <<if $tentacles[$tentacleindex].head is "mouthdeep">> and up into your mouth where it spurts a sweet fluid down your throat at the apex of each thrust. <<purity -1>><<internalejac>><<sex 5 "mouth">><<drugs 3>><<bodyliquid "mouth" "goo">><<set $tentacles[$tentacleindex].health -= 1>> <<if $tentacles[$tentacleindex].desc.includes("pale")>> <<hallucinogen 3>> <</if>> <</if>> <<if $tentacles[$tentacleindex].head is "mouth">> and continues thrusting into your mouth.<span class="pink"> The tip opens and begins oozing a sweet liquid.</span> <<purity -1>><<internalejac>><<set $mouthstate to "tentacledeep">><<set $tentacles[$tentacleindex].head to "mouthdeep">><<sex 5 "mouth">><<oralejacstat>><<ejacstat>> <</if>> <<if $tentacles[$tentacleindex].head is "mouthimminent">> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <span class="purple"> and forces itself against your <<print $worn.face.name>>, desperate to get in.</span> <<damageFaceCover 5>> <<else>> <<if $player.virginity.oral is true>> <span class="pink"> and thrusts between your lips,</span><span class="red"> penetrating your mouth for the first time.</span> <<takeVirginity $tentacles[$tentacleindex].fullDesc "oral">><<violence 5>> <<else>> <span class="pink"> and thrusts between your lips.</span> <</if>> <<set $mouthstate to "tentacle">><<set $tentacles[$tentacleindex].head to "mouth">><<sex 5 "mouth">><<raped>><<oralstat>> <</if>> <</if>> <<if $tentacles[$tentacleindex].head is "mouthentrance">> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <span class="purple"> and presses against your <<print $worn.face.name>>.</span> <<damageFaceCover 3>> <<else>> <span class="purple"> and presses against your lips.</span> <</if>> <<set $mouthstate to "tentacleimminent">><<set $tentacles[$tentacleindex].head to "mouthimminent">><<neutral 4 "mouth">> <</if>> <<if $tentacles[$tentacleindex].head is "vaginadeep">> and <<slithers>> into your <<pussy>> where it pumps a viscous fluid at the apex of each thrust. <<purity -1>><<internalejac>><<sex 5 "genitals">><<drugs 3>><<bodyliquid "vagina" "goo">><<set $tentacles[$tentacleindex].health -= 1>> <<if $tentacles[$tentacleindex].desc.includes("pale")>> <<hallucinogen 3>> <</if>> <</if>> <<if $tentacles[$tentacleindex].head is "vagina">> and continues thrusting into your <<pussy>>.<span class="pink"> The tip opens and begins oozing a viscous liquid.</span> <<purity -1>><<internalejac>><<set $vaginastate to "tentacledeep">><<set $tentacles[$tentacleindex].head to "vaginadeep">><<sex 5 "genitals">><<vaginalejacstat>><<ejacstat>> <</if>> <<if $tentacles[$tentacleindex].head is "vaginaimminent">> <<if $player.virginity.vaginal is true>> <span class="pink"> and thrusts into your <<pussy>>,</span> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <span class="red">tearing your hymen and forever robbing you of your purity.</span> <<violence 100>> <</if>> <<else>> <span class="pink"> and thrusts into your <<pussy>>.</span> <</if>> <<takeVirginity $tentacles[$tentacleindex].fullDesc "vaginal">> <<set $vaginastate to "tentacle">><<set $tentacles[$tentacleindex].head to "vagina">><<sex 5 "genitals">><<raped>><<vaginaraped>><<vaginalstat>><<violence 1>> <</if>> <<if $tentacles[$tentacleindex].head is "vaginaentrance">> <<if !playerChastity("vagina")>> <<if $vaginaWetness gte ($tentacles[$tentacleindex].size * 20) + random(1, 40) or random(1, 2) is 2>> and presses against your <<pussy>>. <<vagina_lube_text>> <span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<set $vaginastate to "tentacleimminent">><<set $tentacles[$tentacleindex].head to "vaginaimminent">><<sex 10 "genitals">> <<else>> and presses against your <<pussy>>, <span class="blue">but fails to gain purchase.</span> <<sex 5 "genitals">> <<if random(1, 3) gte 3>> <span class="purple">Slimy fluid squirts from the tip, lubricating you.</span> <<bodyliquid "vaginaoutside" "goo">> <</if>> <</if>> <<else>> and tries to find a way inside to your <<pussy>>. Failing, it lashes at the <<print setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage or "metal">>. <<set $worn.genitals.integrity -= 10>><<violence 1>> <</if>> <</if>> <<if $tentacles[$tentacleindex].head is "penisdeep">> and continues thrusting against your <<penis>>, caressing and kneading your length. <<sex 5 "genitals">><<set $tentacles[$tentacleindex].health -= 1>> <</if>> <<if $tentacles[$tentacleindex].head is "penis">> and continues thrusting against your <<penis>>.<span class="pink"> It sucks and kneads your length, trying to milk you of your cum.</span> <<set $penisstate to "tentacledeep">><<set $tentacles[$tentacleindex].head to "penisdeep">><<sex 5 "genitals">> <</if>> <<if $tentacles[$tentacleindex].head is "penisimminent">> <<if $player.virginity.penile is true and !playerHasStrapon()>> <span class="pink"> and thrusts against your <<penis>>, swallowing you to the base and</span> <span class="red"> tearing the membrane between your glans and foreskin, forever robbing you of your purity.</span> <<violence 100>> <<else>> <span class="pink"> and thrusts against your <<penis>>, swallowing you to the base.</span> <</if>> <<takeVirginity $tentacles[$tentacleindex].fullDesc "penile">> <<set $penisstate to "tentacle">><<set $tentacles[$tentacleindex].head to "penis">><<sex 5 "genitals">> <<if !playerHasStrapon()>> <<raped>><<penisraped>> <</if>> <<penilestat>><<violence 1>> <</if>> <<if $tentacles[$tentacleindex].head is "penisentrance">> <<if !playerChastity("penis")>> <<if $penisWetness + ($tentacles[$tentacleindex].size * 10) gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2>> and <<slithers>> over to your <<penis>>. <<penis_lube_text>> <span class="purple">the tip opens and presses against your glans, a thrust away from enveloping.</span> <<set $penisstate to "tentacleimminent">><<set $tentacles[$tentacleindex].head to "penisimminent">><<neutralgenitals 4>> <<else>> and <<slithers>> over to your <<penis>>. The tip opens presses against your glans, but <span class="blue">it fails to gain purchase.</span> <<sex 5 "genitals">> <<if random(1, 3) gte 3>> <span class="purple">Slimy fluid squirts from the tip, lubricating you.</span> <<bodyliquid "penis" "goo">> <</if>> <</if>> <<elseif $worn.genitals.name is "chastity parasite">> and worms round your $worn.genitals.name, rubbing and squeezing it in the process. <span class="lewd">Your clearly aroused reaction encourages it further.</span> <<arousal 200 "genitals">><<neutral 2 "genitals">><<set $worn.genitals.integrity -= 5>> <<else>> and tries to find a way inside to envelop your <<penis>>. Failing, it lashes at the <<print setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage or "metal">>. <<set $worn.genitals.integrity -= 10>><<violence 1>> <</if>> <</if>> <<if $tentacles[$tentacleindex].head is "anusdeep">> and <<slithers>> into your <<bottom>> where it pumps a viscous fluid at the apex of each thrust. <<purity -1>><<internalejac>><<sex 5 "anus">><<drugs 3>><<bodyliquid "anus" "goo">><<set $tentacles[$tentacleindex].health -= 1>> <<if $tentacles[$tentacleindex].desc.includes("pale")>> <<hallucinogen 3>> <</if>> <</if>> <<if $tentacles[$tentacleindex].head is "anus">> and continues thrusting into your <<bottom>>.<span class="pink"> The tip opens and begins oozing a viscous liquid.</span> <<purity -1>><<internalejac>><<set $anusstate to "tentacledeep">><<set $tentacles[$tentacleindex].head to "anusdeep">><<sex 5 "anus">><<analejacstat>><<ejacstat>> <</if>> <<if $tentacles[$tentacleindex].head is "anusimminent">> <<if $player.virginity.anal is true>> <span class="pink"> and thrusts into your <<bottom>>,</span><span class="red"> violating you in a way you hadn't conceived of.</span> <<takeVirginity $tentacles[$tentacleindex].fullDesc "anal">><<violence 100>> <<else>> <span class="pink"> and thrusts into your <<bottom>>.</span> <</if>> <<set $anusstate to "tentacle">><<set $tentacles[$tentacleindex].head to "anus">><<sex 5 "anus">><<raped>><<anusraped>><<analstat>><<violence 1>> <</if>> <<if $tentacles[$tentacleindex].head is "anusentrance">> <<if !playerChastity("anus")>> <<if $anusWetness gte ($tentacles[$tentacleindex].size * 20) + random(1, 40) or random(1, 2) is 2>> and presses against your <<bottom>>. <<anus_lube_text>> <span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<set $anusstate to "tentacleimminent">><<set $tentacles[$tentacleindex].head to "anusimminent">><<neutral 4 "anus">> <<else>> and presses against your <<bottom>>. <span class="blue">It fails to gain purchase.</span> <<sex 5 "anus">> <<if random(1, 3) gte 3>> <span class="purple">Slimy fluid squirts from the tip, lubricating you.</span> <<bodyliquid "bottom" "goo">> <</if>> <</if>> <<else>> and tries to find a way inside to your <<bottom>>. Failing, it lashes at the device. <<set $worn.genitals.integrity -= 10>><<violence 1>> <</if>> <</if>> <<rng>> <<if $tentacles[$tentacleindex].head is "vaginarub">> <<if $rng gte 21>> <<if $tentacles[$tentacleindex].shaft is "thighs">> and against your <<pussy>>, pressing into your clit. <<else>> and between your thighs where it <<slithers>> against your <<pussy>>, pressing against your clit. <</if>> <<sex 3 "genitals">> <<else>> <<if $tentacles[$tentacleindex].shaft is "thighs">> <span class="blue">where it <<slithers>> toward your <<pussy>>.</span> <<else>> and between your thighs <span class="blue">where it <<slithers>> toward your <<pussy>>.</span> <</if>> <<neutralgenitals 3>><<set $vaginause to "tentacle">><<set $vaginastate to "tentacleentrance">><<set $tentacles[$tentacleindex].head to "vaginaentrance">><<set $thighuse to 0>><<set $vaginatarget to "tentacles">> <</if>> <</if>> <<rng>> <<if $tentacles[$tentacleindex].head is "penisrub">> <<if $rng gte 21>> <<if $tentacles[$tentacleindex].shaft is "thighs">> where it <<slithers>> against your <<penis>>, coiling around it. <<else>> and between your thighs where it <<slithers>> against your <<penis>>, coiling around it. <</if>> <<sex 3 "genitals">> <<else>> <<if $tentacles[$tentacleindex].shaft is "thighs">> <span class="blue">where the tip opens as it <<slithers>> toward your <<penis>>.</span> <<else>> and between your thighs, <span class="blue">where the tip opens as it <<slithers>> toward your <<penis>>.</span> <</if>> <<neutralgenitals 3>><<set $penisuse to "tentacle">><<set $penisstate to "tentacleentrance">><<set $tentacles[$tentacleindex].head to "penisentrance">><<set $thighuse to 0>><<set $penistarget to "tentacles">><<set $tentaclePenis to _tentacle.fullDesc>> <</if>> <</if>> <<rng>> <<if $tentacles[$tentacleindex].head is "anusrub">> <<if $rng gte 21>> and between your <<bottom>> cheeks where it <<slithers>> against your back. <<sex 3 "anus">> <<else>> and between your <<bottom>> cheeks, <span class="blue"> toward your anus.</span> <<neutral 3 "anus">><<set $anususe to "tentacle">><<set $anusstate to "tentacleentrance">><<set $tentacles[$tentacleindex].head to "anusentrance">><<set $anustarget to "tentacles">> <</if>> <</if>> <<rng>> <<if $tentacles[$tentacleindex].head is 0 and $tentacles[$tentacleindex].shaft isnot 0>> <<if $rng lte 10>> <<if $chestuse is "squeezed">> <<upperslither>><span class="blue">and up between your squeezed <<breasts>>.</span> <<set $tentacles[$tentacleindex].head to "chest">><<neutralbreast 2>><<set $chestuse to "tentaclerub">><<cheststat>><<set $chesttarget to "tentacles">> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 20>> <<if $leftnipple is 0>> <<upperslither>> <<playWithBreasts>><span class="blue">and teases your left nipple.</span> <<neutralbreast 2>><<set $tentacles[$tentacleindex].head to "leftnipple">><<set $leftnipple to "tentacle">> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 30>> <<if $rightnipple is 0>> <<upperslither>> <<playWithBreasts>><span class="blue">and teases your right nipple.</span> <<neutralbreast 2>><<set $tentacles[$tentacleindex].head to "rightnipple">><<set $rightnipple to "tentacle">> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 40>> <<if $mouthuse is 0>> <<upperslither>> <span class="blue">and up toward your mouth.</span> <<neutral 2 "mouth">><<set $mouthuse to "tentacle">><<set $mouthstate to "tentacleentrance">><<set $tentacles[$tentacleindex].head to "mouthentrance">><<set $mouthtarget to "tentacles">> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 50>> <<if $anususe is 0 and $analdisable is "f">> <<underslither>> <span class="blue">and <<slithers>> toward your <<bottom>>.</span> <<neutral 2 "bottom">><<set $anususe to "tentacle">><<set $anusstate to "tentacleentrance">><<set $tentacles[$tentacleindex].head to "anusentrance">><<set $anustarget to "tentacles">> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 60>> <<if $player.vaginaExist and $vaginause is 0>> <<underslither>> <span class="blue">and <<slithers>> toward your <<pussy>>.</span> <<neutralgenitals 2>><<set $vaginause to "tentacle">><<set $vaginastate to "tentacleentrance">><<set $tentacles[$tentacleindex].head to "vaginaentrance">><<set $vaginatarget to "tentacles">> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 70>> <<if $player.penisExist and $penisuse is 0>> <<underslither>> <span class="blue">and <<slithers>> toward your <<penis>>.</span> <<neutralgenitals 2>><<set $penisuse to "tentacle">><<set $penisstate to "tentacleentrance">><<set $tentacles[$tentacleindex].head to "penisentrance">><<set $penistarget to "tentacles">><<set $tentaclePenis to _tentacle.fullDesc>> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 80>> <<if $thighuse is 0>> <<if $player.penisExist and $penisuse is 0>> <<if $tentacles[$tentacleindex].shaft is "thighs">> <<underslither>> <span class="blue">where it <<slithers>> against your tummy and <<penis>>.</span> <<else>> <<underslither>> <span class="blue">where it <<slithers>> between your thighs and against your tummy and <<penis>>.</span> <</if>> <<set $penisuse to "tentaclerub">><<set $thighuse to "tentaclerub">><<set $tentacles[$tentacleindex].head to "penisrub">><<sex 3 "genitals">><<thighstat>><<set $penistarget to "tentacles">><<set $tentaclePenis to _tentacle.fullDesc>> <<elseif $player.vaginaExist and $vaginause is 0>> <<if $tentacles[$tentacleindex].shaft is "thighs">> <<underslither>> <span class="blue">where it <<slithers>> against your tummy and <<pussy>>.</span> <<else>> <<underslither>> <span class="blue">where it <<slithers>> between your thighs and against your tummy and <<pussy>>.</span> <</if>> <<set $vaginause to "tentaclerub">><<set $thighuse to "tentaclerub">><<set $tentacles[$tentacleindex].head to "vaginarub">><<sex 3 "genitals">><<thighstat>><<set $vaginatarget to "tentacles">> <<else>> <<tentacledefault>> <</if>> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 90>> <<if $anusstate is 0 and $anususe is 0 and $analdisable is "f">> <<underslither>> <span class="blue">and <<slithers>> between your <<bottom>> cheeks and against your back.</span> <<set $anusstate to "tentaclerub">><<set $anususe to "tentaclerub">><<set $tentacles[$tentacleindex].head to "anusrub">><<sex 1 "anus">><<bottomstat>><<set $anustarget to "tentacles">> <<else>> <<tentacledefault>> <</if>> <<elseif $rng lte 95>> <<else>> <<tentacledefault>> <</if>> <<elseif $tentacles[$tentacleindex].head is 0 and $tentacles[$tentacleindex].shaft is 0>> <<if $rng lte 10>> <<if $position isnot "wall">> The $tentacles[$tentacleindex].name tentacle winds around your tummy. <<neutral 1>><<set $tentacles[$tentacleindex].shaft to "tummy">> <<else>> The $tentacles[$tentacleindex].name tentacle gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <</if>> <<elseif $rng lte 20>> The $tentacles[$tentacleindex].name tentacle <<slithers>> between your thighs. <<neutral 1>><<set $tentacles[$tentacleindex].shaft to "thighs">> <<elseif $rng lte 30>> <<if $position isnot "wall">> <<if $player.breastsize gte 2 and $chestuse is 0>> The $tentacles[$tentacleindex].name tentacle <<slithers>> around your <<breasts>>, <span class="blue">squeezing them together.</span> <<neutralbreast 1>><<set $tentacles[$tentacleindex].shaft to "breasts">><<set $chestuse to "squeezed">> <<else>> The $tentacles[$tentacleindex].name tentacle gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <</if>> <<else>> The $tentacles[$tentacleindex].name tentacle gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <</if>> <<elseif $rng lte 40>> <<if $position isnot "wall">> The $tentacles[$tentacleindex].name tentacle winds its way around your chest, beneath your <<breasts>>. <<neutralbreast 1>><<set $tentacles[$tentacleindex].shaft to "chest">> <<else>> The $tentacles[$tentacleindex].name tentacle gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <</if>> <<elseif $rng lte 50>> The $tentacles[$tentacleindex].name tentacle winds its way around your waist. <<neutral 1>><<set $tentacles[$tentacleindex].shaft to "waist">> <<elseif $rng lte 60>> <<if $position isnot "wall">> <<if $head is 0>> The $tentacles[$tentacleindex].name tentacle winds its way around your neck, <span class="blue">restraining your head.</span> <<neutral 1>><<set $tentacles[$tentacleindex].shaft to "neck">><<set $head to "grappled">> <<else>> The $tentacles[$tentacleindex].name tentacle winds its way around your shoulders. <<neutral 1>><<set $tentacles[$tentacleindex].shaft to "shoulders">> <</if>> <<else>> The $tentacles[$tentacleindex].name tentacle gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <</if>> <<elseif $rng lte 70>> The $tentacles[$tentacleindex].name tentacle gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <<elseif $rng lte 80>> <<if $leftleg is 0>> The $tentacles[$tentacleindex].name tentacle winds its way around your left leg, <span class="blue">restraining it.</span> <<neutral 1>><<feettentacledisable>><<set $tentacles[$tentacleindex].shaft to "leftleg">><<set $leftleg to "grappled">><<set $feettarget to "tentacles">> <<else>> The $tentacles[$tentacleindex].name tentacle tickles your feet. <<neutral 1>> <</if>> <<elseif $rng lte 85>> <<if $rightleg is 0>> The $tentacles[$tentacleindex].name tentacle winds its way around your right leg, <span class="blue">restraining it.</span> <<neutral 1>><<feettentacledisable>><<set $tentacles[$tentacleindex].shaft to "rightleg">><<set $rightleg to "grappled">><<set $feettarget to "tentacles">> <<else>> The $tentacles[$tentacleindex].name tentacle tickles your feet. <<neutral 1>> <</if>> <<elseif $rng lte 90>> <<if $leftarm is 0>> The $tentacles[$tentacleindex].name tentacle winds its way around your left arm, <span class="blue">restraining it.</span> <<neutral 1>><<leftarmtentacledisable>><<set $tentacles[$tentacleindex].shaft to "leftarm">><<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">> <<else>> The $tentacles[$tentacleindex].name tentacle tickles your armpit. <<neutral 1>> <</if>> <<elseif $rng lte 95>> <<if $rightarm is 0>> The $tentacles[$tentacleindex].name tentacle winds its way around your right arm, <span class="blue">restraining it.</span> <<rightarmtentacledisable>><<neutral 1>><<set $tentacles[$tentacleindex].shaft to "rightarm">><<set $rightarm to "tentgrappled">><<set $rightarmstate to 0>><<set $righttarget to "tentacles">> <<else>> The $tentacles[$tentacleindex].name tentacle tickles your armpit. <<neutral 1>> <</if>> <<elseif $rng lte 100>> The $tentacles[$tentacleindex].name tentacle <<slithers>> against your <<bottom>>. <<neutral 1 "bottom">> <</if>> <</if>> <</widget>> <<widget "tentacledefault">> <<rng>> <<if $rng gte 90>> then squirts a warm fluid over your neck. <<neutral 1>><<bodyliquid "neck" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<neckejacstat>><<ejacstat>> <<elseif $rng gte 80>> then squirts a warm fluid over your right arm. <<neutral 1>><<bodyliquid "rightarm" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<handejacstat>><<ejacstat>> <<elseif $rng gte 70>> then squirts a warm fluid over your left arm. <<neutral 1>><<bodyliquid "leftarm" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<handejacstat>><<ejacstat>> <<elseif $rng gte 60>> then squirts a warm fluid over your thighs. <<neutral 1>><<bodyliquid "thigh" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<thighejacstat>><<ejacstat>> <<elseif $rng gte 50>> then squirts a warm fluid over your <<bottom>>. <<neutral 1>><<bodyliquid "bottom" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<bottomejacstat>><<ejacstat>> <<elseif $rng gte 40>> then squirts a warm fluid over your tummy. <<neutral 1>><<bodyliquid "tummy" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<tummyejacstat>><<ejacstat>> <<elseif $rng gte 30>> then squirts a warm fluid over your chest. <<neutralbreast 1>><<bodyliquid "chest" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<chestejacstat>><<ejacstat>> <<elseif $rng gte 20>> then squirts a warm fluid over your face. <<neutral 1>><<bodyliquid "face" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<faceejacstat>><<ejacstat>> <<elseif $rng gte 10>> then squirts a warm fluid over your hair. <<neutral 1>><<bodyliquid "hair" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<hairejacstat>><<ejacstat>> <<else>> then squirts a warm fluid over your feet. <<neutral 1>><<bodyliquid "feet" "goo">><<set $tentacles[$tentacleindex].health -= 1>><<feetejacstat>><<ejacstat>> <</if>> <</widget>> <<widget "tentacledisable">> <<if $tentacles[$tentacleindex].head is "feet">> <<set $leftleg to 0>> <<set $rightleg to 0>> <<set $feetstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "leftarm">> <<set $leftarm to 0>> <<set $leftarmstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "rightarm">> <<set $rightarm to 0>> <<set $rightarmstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "leftnipplesuck">> <<set $leftnipple to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "rightnipplesuck">> <<set $rightnipple to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "leftnipple">> <<set $leftnipple to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "rightnipple">> <<set $rightnipple to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "mouthentrance">> <<set $mouthuse to 0>> <<set $mouthstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "mouthimminent">> <<set $mouthuse to 0>> <<set $mouthstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "mouth">> <<set $mouthuse to 0>> <<set $mouthstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "mouthdeep">> <<set $mouthuse to 0>> <<set $mouthstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "anusentrance">> <<set $anususe to 0>> <<set $anusstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "anusimminent">> <<set $anususe to 0>> <<set $anusstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "anus">> <<set $anususe to 0>> <<set $anusstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "anusdeep">> <<set $anususe to 0>> <<set $anusstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "vaginaentrance">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "vaginaimminent">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "vagina">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "vaginadeep">> <<set $vaginause to 0>> <<set $vaginastate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "penisentrance">> <<set $penisuse to 0>> <<set $penisstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "penisimminent">> <<set $penisuse to 0>> <<set $penisstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "penis">> <<set $penisuse to 0>> <<set $penisstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "penisdeep">> <<set $penisuse to 0>> <<set $penisstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "vaginarub">> <<set $vaginause to 0>> <<set $thighuse to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "penisrub">> <<set $penisuse to 0>> <<set $thighuse to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "anusrub">> <<set $anususe to 0>> <<set $anusstate to 0>> <</if>> <<if $tentacles[$tentacleindex].head is "chest">> <<set $chestuse to "squeezed">> <</if>> <<if $tentacles[$tentacleindex].shaft is "breasts">> <<set $chestuse to 0>> <</if>> <<if $tentacles[$tentacleindex].shaft is "neck" and $head isnot "bound">> <<set $head to 0>> <</if>> <<if $tentacles[$tentacleindex].shaft is "leftleg" and $leftleg isnot "bound">> <<set $leftleg to 0>> <</if>> <<if $tentacles[$tentacleindex].shaft is "rightleg" and $rightleg isnot "bound">> <<set $rightleg to 0>> <</if>> <<if $tentacles[$tentacleindex].shaft is "leftarm" and $leftarm isnot "bound">> <<set $leftarm to 0>> <</if>> <<if $tentacles[$tentacleindex].shaft is "rightarm" and $rightarm isnot "bound">> <<set $rightarm to 0>> <</if>> <<set $tentacles[$tentacleindex].shaft to 0>> <<set $tentacles[$tentacleindex].head to 0>> <</widget>><<widget "tentacleadv">> <<set _tentacle to _args[0]>> <<if _tentacle.type is "vine" and $abomination is 1 or ["vine","root","shoot"].includes(_tentacle.type)>> <<set _fluid to "nectar">> <<set _Slimy to "Sticky">> <<else>> <<set _fluid to "fluid">> <<set _Slimy to "Slimy">> <</if>> <<set _The to ($abomination is 1 ? "<<His>>" : "The")>> <<set _the to ($abomination is 1 ? "<<his>>" : "the")>> <<if $abomination is 1 and $ejaculating is 1>> <<statetentacles>> <<if (_tentacle.head is "anus" or _tentacle.head is "anusdeep") and _tentacle.baby isnot 0>> <<impregnateParasite _tentacle.baby _tentacle.babychance>> <<fertiliseParasites>> <<set _tentacleAnus to _impregnatedParasite is "anus" ? $tentacleAnus : 0>> <</if>> <<if (_tentacle.head is "vagina" or _tentacle.head is "vaginadeep") and _tentacle.baby isnot 0>> <<impregnateParasite _tentacle.baby _tentacle.babychance "vagina">> <<fertiliseParasites "vagina">> <<set _tentacleVagina to _impregnatedParasite is "vagina" ? $tentacleVagina : 0>> <</if>> <<if _tentacle.shaft isnot "finished" and _tentacle.head isnot "finished">> <<if _firsttentacle isnot 1>><<set _firsttentacle to 1>>_The<</if>> <<if $tentacles.active is 1>> <<if _retract isnot 3 and _retract isnot 2>><<set _retract to 1>><</if>> <<if _retract is 1>> _tentacle.fullDesc retracts <<elseif _retract is 2>> and <<print _tentacle.fullDesc>>s both retract <<else>> and <<print _tentacle.fullDesc>>s all retract <</if>> <<if _tentacleVagina and _tentacleAnus>> away from you, the _tentacleVagina and _tentacleAnus <span class="red">pumping something into your vagina and anus</span> before leaving. <<elseif _tentacleVagina>> away from you,<<if _retract isnot 1>> the _tentacleVagina<</if>> <span class="red">pumping something into your vagina</span> before leaving. <<elseif _tentacleAnus>> away from you,<<if _retract isnot 1>> the _tentacleAnus<</if>> <span class="red">pumping something into your anus</span> before leaving. <<else>> away from you. <</if>> <br> <<elseif $tentacles.active is 2>> <<if _retract isnot 3>><<set _retract to 2>><</if>> _tentacle.desc <<else>> <<set _retract to 3>> _tentacle.desc, <</if>> <<tentacleadvdisable _tentacle>> <<set _tentacle.shaft to "finished">><<set _tentacle.head to "finished">> <</if>> <</if>> <<if _tentacle.tentaclehealth lte 0 and _tentacle.shaft isnot "finished">> <<if ["leftarm","rightarm"].includes(_tentacle.head)>> Worn out, _the _tentacle.fullDesc writhes around your hand and squeezes, before retracting from you. <<takeHandholdingVirginity `$abomination is 1 ? $NPCList[0].fullDescription + "'s " + _tentacle.fullDesc : _tentacle.fullDesc` "tentacle" _tentacle.type>> <<else>> Worn out, _the _tentacle.fullDesc retracts from you. <</if>> <<tentacleadvdisable _tentacle>> <<set _tentacle.shaft to "finished">><<set _tentacle.head to "finished">> <br> <</if>> <<if $novaginal is 1 and (_tentacle.head is "vaginaentrance" or _tentacle.head is "vaginaimminent" or _tentacle.head is "vagina" or _tentacle.head is "vaginadeep")>> The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">_the _tentacle.fullDesc retracts from your <<pussy>>.</span> <<tentacleadvdisable _tentacle>> <</if>> <<if $noanal is 1 and (_tentacle.head is "anusentrance" or _tentacle.head is "anusimminent" or _tentacle.head is "anus" or _tentacle.head is "anusdeep")>> The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">_the _tentacle.fullDesc retracts from your <<bottom>>.</span> <<tentacleadvdisable _tentacle>> <</if>> <<if $nopenile is 1 and (_tentacle.head is "penisentrance" or _tentacle.head is "penisimminent" or _tentacle.head is "penis" or _tentacle.head is "penisdeep")>> The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">_the _tentacle.fullDesc retracts from your <<penis>>.</span> <<tentacleadvdisable _tentacle>> <</if>> <<if $nochoke is 1 and _tentacle.shaft is "neck">> The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">_the _tentacle.fullDesc retracts from your neck.</span> <<tentacleadvdisable _tentacle>> <</if>> <<if $tentacleMouth is "removed" and (_tentacle.head is "mouthentrance" or _tentacle.head is "mouthimminent" or _tentacle.head is "mouth" or _tentacle.head is "mouthdeep")>> <<tentacleadvdisable _tentacle>> <</if>> <<if $tentacleAnus is "removed" and (_tentacle.head is "anusentrance" or _tentacle.head is "anusimminent" or _tentacle.head is "anus" or _tentacle.head is "anusdeep")>> <<tentacleadvdisable _tentacle>> <</if>> <<if $tentacleVagina is "removed" and (_tentacle.head is "vaginaentrance" or _tentacle.head is "vaginaimminent" or _tentacle.head is "vagina" or _tentacle.head is "vaginadeep")>> <<tentacleadvdisable _tentacle>> <</if>> <<if $tentaclePenis is "removed" and (_tentacle.head is "penisentrance" or _tentacle.head is "penisimminent" or _tentacle.head is "penis" or _tentacle.head is "penisdeep")>> <<tentacleadvdisable _tentacle>> <</if>> <<if _tentacle.shaft is "tummy">>_The _tentacle.fullDesc <<slithers>> around your tummy,<</if>> <<if _tentacle.shaft is "thighs">>_The _tentacle.fullDesc <<slithers>> between your thighs,<</if>> <<if _tentacle.shaft is "breasts">>_The _tentacle.fullDesc squeezes your breasts together,<</if>> <<if _tentacle.shaft is "chest">>_The _tentacle.fullDesc <<slithers>> around your chest,<</if>> <<if _tentacle.shaft is "waist">>_The _tentacle.fullDesc <<slithers>> around your waist,<</if>> <<if _tentacle.shaft is "neck">>_The _tentacle.fullDesc <<slithers>> around your neck,<</if>> <<if _tentacle.shaft is "shoulders">>_The _tentacle.fullDesc <<slithers>> around your shoulders,<</if>> <<if _tentacle.shaft is "leftleg">><span class="blue">_The _tentacle.fullDesc <<slithers>> around your left leg</span>,<</if>> <<if _tentacle.shaft is "rightleg">><span class="blue">_The _tentacle.fullDesc <<slithers>> around your right leg</span>,<</if>> <<if _tentacle.shaft is "leftarm">><span class="blue">_The _tentacle.fullDesc <<slithers>> around your left arm</span>,<</if>> <<if _tentacle.shaft is "rightarm">><span class="blue">_The _tentacle.fullDesc <<slithers>> around your right arm</span>,<</if>> <<if _tentacle.head is "leftarm">> _The _tentacle.fullDesc writhes in your left hand. <<neutral 5>> <br> <</if>> <<if _tentacle.head is "rightarm">> _The _tentacle.fullDesc writhes in your right hand. <<neutral 5>> <br> <</if>> <<if _tentacle.head is "feet">> _The _tentacle.fullDesc writhes between your feet. <<neutral 5>> <br> <</if>> <<if _tentacle.head is "leftnipplesuck">> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> up to your <<breasts>>, where it suckles your left nipple. <<playWithBreasts>><<neutralbreast 3>> <br> <</if>> <<if _tentacle.head is "rightnipplesuck">> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> up to your <<breasts>>, where it suckles your right nipple. <<playWithBreasts>><<neutralbreast 3>> <br> <</if>> <<if _tentacle.head is "leftnipple">> and continues teasing your left nipple. <span class="purple">The tip of the <<print _tentacle.type>> opens up, latches on, then begins sucking.</span> <<set _tentacle.head to "leftnipplesuck">><<set $leftnipple to "tentaclesuck">> <<playWithBreasts>><<neutralbreast 3>> <br> <</if>> <<if _tentacle.head is "rightnipple">> and continues teasing your right nipple. <span class="purple">The tip of the <<print _tentacle.type>> opens up, latches on, then begins sucking.</span> <<set _tentacle.head to "rightnipplesuck">><<set $rightnipple to "tentaclesuck">> <<playWithBreasts>><<neutralbreast 3>> <br> <</if>> <<if _tentacle.head is "chest">> <<if $chestuse is 0>> moves away from your <<breasts>> <<set _tentacle.head to 0>> <<else>> then<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> up between your <<breasts>>, rubbing itself between them. <<neutralbreast 2>> <<tentacle_skin "breasts">> <</if>> <br> <</if>> <<if _tentacle.head is "mouthdeep">> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> up into your mouth where it spurts a sweet _fluid down your throat at the apex of each thrust. <<if $ejactrait gte 1>> The sensation of the thick liquid flowing down your throat makes you shiver. <</if>> <<tentacle_skin "mouth">> <<purity -1>><<internalejac>><<sex 5 "mouth">> <<if _fluid is "nectar">><<nectarfed 5>><<else>><<drugs 3>><</if>><<bodyliquid "mouth" _fluid>> <<set _tentacle.tentaclehealth -= 1>> <<if _tentacle.desc.includes("pale")>> <<hallucinogen 5>> <</if>> <<if $abomination is 1>> <<set $enemyarousal += 3>> <</if>> <br> <</if>> <<if _tentacle.head is "mouth">> and continues thrusting into your mouth. <span class="pink">The tip opens and begins oozing a sweet _fluid.</span> <<tentacle_skin "mouth">> <<purity -1>><<internalejac>><<sex 5 "mouth">> <<set $mouthstate to "tentacledeep">><<set _tentacle.head to "mouthdeep">> <<oralejacstat>><<ejacstat>> <br> <</if>> <<if _tentacle.head is "mouthimminent">> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <span class="blue">and thrashes against your <<print $worn.face.name>>, trying to force itself inside.</span> <<damageFaceCover 5>> <<else>> <<if $player.virginity.oral is true>> <<switch _tentacle.size>> <<case 3>> <span class="pink">and thrusts between your lips forcing your mouth wide open, </span><span class="red">penetrating your mouth for the first time.</span> <<violence 25>> <<default>> <span class="pink">and thrusts between your lips, </span><span class="red">penetrating your mouth for the first time.</span> <</switch>> <<takeVirginity `$abomination is 1 ? $NPCList[0].fullDescription + "'s " + _tentacle.fullDesc : _tentacle.fullDesc` "oral">><<violence 5>> <<if $abomination is 1 and $NPCList[0].type is "plant">> <<set $speechmouthvirgin to 2>> <</if>> <<else>> <<switch _tentacle.size>> <<case 3>> <span class="pink">and thrusts between your lips forcing your mouth wide open.</span> <<violence 25>> <<default>> <span class="pink">and thrusts between your lips.</span> <</switch>> <</if>> <<tentacle_skin "mouth">> <<set $mouthstate to "tentacle">><<set _tentacle.head to "mouth">><<sex 5 "mouth">><<raped>><<oralstat>> <br> <</if>> <</if>> <<if _tentacle.head is "mouthentrance">> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <span class="purple">and presses against your <<print $worn.face.name>>.</span> <<damageFaceCover 5>> <<else>> <span class="purple">and presses against your lips.</span> <<set $mouthstate to "tentacleimminent">><<set _tentacle.head to "mouthimminent">> <<neutral 4 "mouth">> <<set $tentacleMouth to _tentacle.fullDesc>> <br> <</if>> <</if>> <<if _tentacle.head is "vaginadeep">> <<if _tentacle.baby isnot 0>> and <<slithers>> into your <<pussy>> where it pumps a viscous _fluid <<if canImpregnateParasite("vagina")>><span class="red">alongside something else</span><</if>> at the apex of each thrust. <<impregnateParasite _tentacle.baby _tentacle.babychance "vagina">> <<fertiliseParasites "vagina">> <<else>> and <<slithers>> into your <<pussy>> where it pumps a viscous _fluid at the apex of each thrust. <</if>> <<tentacle_skin "vagina">> <<purity -1>><<internalejac>><<sex 5 "genitals">> <<drugs 3>><<bodyliquid "vagina" _fluid>><<pain $vaginalPain>> <<set _tentacle.tentaclehealth -= 1>> <<if _tentacle.desc.includes("pale")>> <<hallucinogen 5>> <</if>> <<if $abomination is 1>> <<set $enemyarousal += 3>> <</if>> <br> <</if>> <<if _tentacle.head is "vagina">> <<if _tentacle.baby isnot 0 and canImpregnateParasite("vagina")>> and continues thrusting into your <<pussy>>. <span class="pink">The tip opens and begins oozing a viscous _fluid <span class="red">alongside something else</span>.</span> <span class="red">Something about it scares you.</span> <<else>> and continues thrusting into your <<pussy>>. <span class="pink">The tip opens and begins oozing a viscous _fluid.</span> <</if>> <<tentacle_skin "vagina">> <<purity -1>><<internalejac>> <<set $vaginastate to "tentacledeep">><<set _tentacle.head to "vaginadeep">><<pain $vaginalPain>> <<sex 5 "genitals">><<vaginalejacstat>><<ejacstat>> <br> <</if>> <<if _tentacle.head is "vaginaimminent">> <<if $player.virginity.vaginal is true>> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="pink">and thrusts into your <<pussy>>.</span> <span class="red">Despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<violence 10>> <<else>> <<switch _tentacle.size>> <<case 3>> <span class="pink">and thrusts into your <<pussy>>, </span><span class="red">tearing your hymen and forever robbing you of your purity. You whimper as your <<pussy>> stretches to accommodate _the _tentacle.fullDesc.</span> <<violence 100>> <<default>> <span class="pink">and thrusts into your <<pussy>>, </span><span class="red">tearing your hymen and forever robbing you of your purity.</span> <</switch>> <<violence 100>> <<if $abomination is 1 and $NPCList[0].type is "plant">> <<set $speechvaginavirgin to 2>> <</if>> <</if>> <<else>> <<switch _tentacle.size>> <<case 3>> <span class="pink">and thrusts into your <<pussy>>.</span> <span class="red">You whimper as your <<pussy>> stretches to accommodate _the _tentacle.fullDesc.</span> <<default>> <span class="pink">and thrusts into your <<pussy>>.</span> <</switch>> <</if>> <<tentacle_skin "vagina">> <<takeVirginity `$abomination is 1 ? $NPCList[0].fullDescription + "'s " + _tentacle.fullDesc : _tentacle.fullDesc` "vaginal">> <<set $vaginastate to "tentacle">><<set _tentacle.head to "vagina">><<sex 5 "genitals">><<raped>><<vaginaraped>><<vaginalstat>><<violence 1>><<pain $vaginalPain>> <br> <</if>> <<if _tentacle.head is "vaginaentrance">> <<if !playerChastity("vagina")>> <<if $vaginaWetness gte (_tentacle.size * 20) + random(1, 40) or random(1, 2) is 2>> and presses into your <<pussy>>. <<vagina_lube_text>> <span class="pink">the tip presses into you, a thrust away from penetrating.</span> <<set $vaginastate to "tentacleimminent">><<set _tentacle.head to "vaginaimminent">><<sex 10 "genitals">> <<if setup.bodyliquid.combined("vagina") gte 1 or setup.bodyliquid.combined("vaginaoutside") gte 1>> _Slimy _fluid oozes out. <</if>> <<else>> and presses against your <<pussy>>, <span class="blue">but fails to gain purchase.</span> <<sex 5 "genitals">> <<if random(1, 3) gte 3>> <span class="purple">_Slimy _fluid squirts from the tip, lubricating you.</span> <<bodyliquid "vaginaoutside" _fluid>> <</if>> <</if>> <<else>> and tries to find a way inside to your <<pussy>>. Failing, it lashes the <<print setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage or "metal">>. <<set $worn.genitals.integrity -= 10>><<violence 1>> <</if>> <<set $tentacleVagina to _tentacle.fullDesc>> <br> <</if>> <<if _tentacle.head is "penisdeep">> and continues thrusting against your <<penis>>, caressing and kneading your length. <<sex 5 "genitals">><<set _tentacle.tentaclehealth -= 1>> <<if $abomination is 1>> <<set $enemyarousal += 3>> <</if>> <<tentacle_skin "penis">> <br> <</if>> <<if _tentacle.head is "penis">> and continues thrusting against your <<penis>>. <span class="pink">It sucks and kneads your length, trying to milk you of your cum.</span> <<tentacle_skin "penis">> <<set $penisstate to "tentacledeep">><<set _tentacle.head to "penisdeep">><<sex 5 "genitals">> <br> <</if>> <<if _tentacle.head is "penisimminent">> <<if $player.virginity.penile is true and !playerHasStrapon()>> <span class="pink">and thrusts against your <<penis>>, swallowing you to the base and</span> <span class="red">tearing the membrane between your glans and foreskin, forever robbing you of your purity.</span> <<violence 100>> <<if $abomination is 1 and $NPCList[0].type is "plant">> <<set $speechpenisvirgin to 2>> <</if>> <<else>> <span class="pink">and thrusts against your <<penis>>, swallowing you to the base.</span> <</if>> <<tentacle_skin "penis">> <<takeVirginity `$abomination is 1 ? $NPCList[0].fullDescription + "'s " + _tentacle.fullDesc : _tentacle.fullDesc` "penile">> <<set $penisstate to "tentacle">><<set _tentacle.head to "penis">><<sex 5 "genitals">> <br> <<if !playerHasStrapon()>> <<raped>><<penisraped>> <</if>> <<penilestat>><<violence 1>> <</if>> <<if _tentacle.head is "penisentrance">> <<if !playerChastity("penis")>> <<if $penisWetness + (_tentacle.size * 10) gte (playerPenisSize() * 15) + random(1, 40) or random(1, 2) is 2>> and <<slithers>> over to your <<penis>>. <<penis_lube_text>> <span class="pink">the tip opens and presses against your glans, a thrust away from enveloping.</span> <<set $penisstate to "tentacleimminent">><<set _tentacle.head to "penisimminent">><<neutralgenitals 4>> <<else>> and <<slithers>> over to your <<penis>>. The tip opens and presses against your glans, but <span class="blue">it fails to gain purchase.</span> <<sex 5 "genitals">> <<if random(1, 3) gte 3>> <span class="purple">_Slimy _fluid squirts from the tip, lubricating you.</span> <<bodyliquid "penis" _fluid>> <</if>> <</if>> <<tentacle_skin "penis">> <<elseif $worn.genitals.name is "chastity parasite">> and worms round your $worn.genitals.name, rubbing and squeezing it in the process. <span class="lewd">Your clearly aroused reaction encourages it further.</span> <<arousal 200 "genitals">><<neutral 2 "genitals">><<set $worn.genitals.integrity -= 5>> <<else>> and tries to find a way inside to envelop your <<penis>>. Failing, it lashes the <<print setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage or "metal">>. <<set $worn.genitals.integrity -= 10>><<violence 1>> <</if>> <<set $tentaclePenis to _tentacle.fullDesc>> <br> <</if>> <<if _tentacle.head is "anusdeep">> <<if _tentacle.baby isnot 0>> and <<slithers>> into your <<bottom>> where it pumps a viscous _fluid <<if canImpregnateParasite("anus")>><span class="red">alongside something else</span><</if>> at the apex of each thrust. <<impregnateParasite _tentacle.baby _tentacle.babychance>> <<fertiliseParasites>> <<set _tentacle.baby to 0>><<set $tentacleAnusBaby to _tentacle.baby>> <<else>> and <<slithers>> into your <<bottom>> where it pumps a viscous _fluid at the apex of each thrust. <</if>> <<purity -1>><<internalejac>><<sex 5 "anus">> <<drugs 3>><<bodyliquid "anus" _fluid>> <<set _tentacle.tentaclehealth -= 1>><<pain $analPain>> <<if _tentacle.desc.includes("pale")>> <<hallucinogen 5>> <</if>> <<if $abomination is 1>> <<set $enemyarousal += 3>> <</if>> <<tentacle_skin "anus">> <br> <</if>> <<if _tentacle.head is "anus">> <<if _tentacle.baby isnot 0 and canImpregnateParasite("anus")>> and continues thrusting into your <<bottom>>. <span class="pink">The tip opens and begins oozing a viscous _fluid</span> <span class="red">alongside something else. Something about it scares you.</span> <<else>> and continues thrusting into your <<bottom>>. <span class="pink">The tip opens and begins oozing a viscous _fluid.</span> <</if>> <<purity -1>><<internalejac>><<sex 5 "anus">> <<set $anusstate to "tentacledeep">><<set _tentacle.head to "anusdeep">> <<analejacstat>><<ejacstat>><<pain $analPain>> <<tentacle_skin "anus">> <br> <</if>> <<if _tentacle.head is "anusimminent">> <<if $player.virginity.anal is true>> <<switch _tentacle.size>> <<case 3>> <span class="pink">and thrusts into your <<bottom>>, </span><span class="red">violating you in a way you hadn't conceived of. You shudder as your <<bottom>> stretches to accommodate _the _tentacle.fullDesc.</span> <<violence 100>> <<default>> <span class="pink">and thrusts into your <<bottom>>, </span><span class="red">violating you in a way you hadn't conceived of.</span> <</switch>> <<takeVirginity `$abomination is 1 ? $NPCList[0].fullDescription + "'s " + _tentacle.fullDesc : _tentacle.fullDesc` "anal">><<violence 100>> <<if $abomination is 1 and $NPCList[0].type is "plant">> <<set $speechanusvirgin to 2>> <</if>> <<else>> <<switch _tentacle.size>> <<case 3>> <span class="pink">and thrusts into your <<bottom>>. </span><span class="red"> You shudder as your <<bottom>> stretches to accommodate _the _tentacle.fullDesc.</span> <<default>> <span class="pink">and thrusts into your <<bottom>>.</span> <</switch>> <</if>> <<set $anusstate to "tentacle">><<set _tentacle.head to "anus">> <<sex 5 "anus">><<raped>><<anusraped>><<analstat>><<violence 1>><<pain $analPain>> <<tentacle_skin "anus">> <br> <</if>> <<if _tentacle.head is "anusentrance">> <<if !playerChastity("anus")>> <<if $anusWetness gte (_tentacle.size * 20) + random(1, 40) or random(1, 2) is 2>> and presses against your <<bottom>>. <<anus_lube_text>> <span class="purple">the tip presses into you, a thrust away from penetrating.</span> <<set $anusstate to "tentacleimminent">><<set _tentacle.head to "anusimminent">><<neutral 4 "anus">> <<if setup.bodyliquid.combined("bottom") gte 1 or setup.bodyliquid.combined("anus") gte 1>> _Slimy _fluid oozes out. <</if>> <<else>> and presses against your <<bottom>>. <span class="blue">It fails to gain purchase.</span> <<sex 5 "anus">> <<if random(1, 3) gte 3>> <span class="purple">_Slimy _fluid squirts from the tip, lubricating you.</span> <<bodyliquid "bottom" _fluid>> <</if>> <</if>> <<else>> and tries to find a way inside to your <<bottom>>. Failing, it lashes the device. <<set $worn.genitals.integrity -= 10>><<violence 1>> <</if>> <<set $tentacleAnus to _tentacle.fullDesc>><<set $tentacleAnusBaby to _tentacle.baby>> <br> <</if>> <<rng>> <<if _tentacle.head is "vaginarub">> <<if $rng gte 21>> <<if _tentacle.shaft is "thighs">> where it <<slithers>> against your <<pussy>>, pressing against your clit. <<else>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your thighs where it <<slithers>> against your <<pussy>>, pressing against your clit. <</if>> <<sex 3 "genitals">> <<elseif $novaginal is 1>> <<if _tentacle.shaft is "thighs">> where it <<slithers>> toward your <<pussy>>. <<else>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your thighs where it <<slithers>> toward your <<pussy>>. <</if>> The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">it retracts,</span> pressing against your clit instead. <<sex 3 "genitals">> <<else>> <<if _tentacle.shaft is "thighs">> <span class="blue">where it <<slithers>> toward your <<pussy>>.</span> <<else>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your thighs <span class="blue">where it <<slithers>> toward your <<pussy>>.</span> <</if>> <<if _tentacle.baby isnot 0 and canImpregnateParasite("vagina")>> <span class="red"> Something about it scares you.</span> <</if>> <<set $vaginause to "tentacle">><<set $vaginastate to "tentacleentrance">><<set _tentacle.head to "vaginaentrance">><<set $thighuse to 0>><<set $vaginatarget to "tentacles">> <</if>> <br> <</if>> <<rng>> <<if _tentacle.head is "penisrub">> <<if $rng gte 21>> <<if _tentacle.shaft is "thighs">> where it <<slithers>> against your <<penis>>, coiling around it. <<else>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your thighs where it <<slithers>> against your <<penis>>, coiling around it. <</if>> <<sex 3 "genitals">> <<elseif $nopenile is 1>> <<if _tentacle.shaft is "thighs">> where the tip opens as it <<slithers>> toward your <<penis>>. <<else>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your thighs where the tip opens as it <<slithers>> toward your <<penis>>. <</if>> The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">it retracts,</span> coiling around your <<penis>> instead. <<sex 3 "genitals">> <<else>> <<if _tentacle.shaft is "thighs">> <span class="blue">where the tip opens as it <<slithers>> toward your <<penis>>.</span> <<else>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your thighs <span class="blue">where the tip opens as it <<slithers>> toward your <<penis>>.</span> <</if>> <<set $penisuse to "tentacle">><<set $penisstate to "tentacleentrance">><<set _tentacle.head to "penisentrance">><<set $thighuse to 0>><<set $penistarget to "tentacles">><<set $tentaclePenis to _tentacle.fullDesc>> <</if>> <br> <</if>> <<rng>> <<if _tentacle.head is "anusrub">> <<if $rng gte 21>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your <<bottom>> cheeks where it <<slithers>> against your back. <<sex 3 "anus">> <<elseif $noanal is 1>> and <<slithers>> toward your <<bottom>>. The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">it retracts,</span> <<slithering>> between your <<bottom>> cheeks instead. <<else>> <<if _tentacle.baby isnot 0 and canImpregnateParasite("anus")>> <span class="blue">and <<slithers>> toward your <<bottom>>.</span> <span class="red"> Something about it scares you.</span> <<else>> and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your <<bottom>> cheeks, <span class="blue">toward your anus.</span> <<neutral 3 "anus">> <</if>> <<set $anususe to "tentacle">> <<set $anusstate to "tentacleentrance">><<set _tentacle.head to "anusentrance">><<set $anustarget to "tentacles">> <</if>> <br> <</if>> <<rng>> <<if _tentacle.head is "hypnosis_scream">> and in front of your face <<if _tentacle.type is "vine">> <span class="pink">where it puffs glittering pollen in your face.</span> <<elseif _tentacle.fullDesc.includes("metal")>> <span class="pink">where a light flashes to a fascinating rhythm.</span> <<else>> <span class="pink">where it shines with eldritch light.</span> <</if>> <span class="pink">You feel something shift in your consciousness.</span> <<if !$hypnosis_traits.scream>> You've gained the <span class="pink">Hypnotic Yearning</span> trait. <<set $hypnosis_traits.scream to 1>> <<elseif $hypnosis_traits.scream lt 5>> Your hypnotic yearning has deepened. <<set $hypnosis_traits.scream += 1>> <</if>> <<hypnotised 1>> <<set _tentacle.tentaclehealth -= 6>><<set _tentacle.head to 0>><<set _tentacle.tempBusy to true>> <br> <</if>> <<rng>> <<if _tentacle.head is "hypnosis_cover">> and in front of your face <<if _tentacle.type is "vine">> <span class="pink">where it puffs glittering pollen in your face.</span> <<elseif _tentacle.fullDesc.includes("metal")>> <span class="pink">where a light flashes to a fascinating rhythm.</span> <<else>> <span class="pink">where it shines with eldritch light.</span> <</if>> <span class="pink">You feel something shift in your consciousness.</span> <<if !$hypnosis_traits.cover>> You've gained the <span class="pink">Hypnotic Flaunting</span> trait. <<set $hypnosis_traits.cover to 1>> <<elseif $hypnosis_traits.cover lt 5>> Your hypnotic flaunting has deepened. <<set $hypnosis_traits.cover += 1>> <</if>> <<hypnotised 1>> <<set _tentacle.tentaclehealth -= 6>><<set _tentacle.head to 0>><<set _tentacle.tempBusy to true>> <br> <</if>> <<rng>> <<if _tentacle.head is "hypnosis_deviancy">> and in front of your face <<if _tentacle.type is "vine">> <span class="pink">where it puffs glittering pollen in your face.</span> <<elseif _tentacle.fullDesc.includes("metal")>> <span class="pink">where a light flashes to a fascinating rhythm.</span> <<else>> <span class="pink">where it shines with eldritch light.</span> <</if>> <span class="pink">You feel something shift in your consciousness.</span> Alluring sensations of unspeakable matings fill your mind, <<if $uncomfortable.hypnosis is false>> <span class="red">devouring all contrary thoughts.</span> <<if !$hypnosis_traits.deviancy>> You've gained the <span class="pink">Hypnotic Deviancy</span> trait. <<set $hypnosis_traits.deviancy to 1>> <<elseif $hypnosis_traits.deviancy lt 5>> Your hypnotic deviancy has deepened. <<set $hypnosis_traits.deviancy += 1>> <</if>> <<willpower 1>><<gwillpower>> <<elseif $willpower gte random(1, 1000)>> <span class="green">but you will them away.</span> <<else>> <span class="red">devouring all contrary thoughts.</span> <<if !$hypnosis_traits.deviancy>> You've gained the <span class="pink">Hypnotic Deviancy</span> trait. <<set $hypnosis_traits.deviancy to 1>> <<elseif $hypnosis_traits.deviancy lt 5>> Your hypnotic deviancy has deepened. <<set $hypnosis_traits.deviancy += 1>> <</if>> <<willpower 1>><<gwillpower>> <</if>> <<set _tentacle.tentaclehealth -= 6>><<set _tentacle.head to 0>><<set _tentacle.tempBusy to true>> <br> <</if>> <<rng>> <<if _tentacle.head is "hypnosis_sadism">> and in front of your face <<if _tentacle.type is "vine">> <span class="pink">where it puffs glittering pollen in your face.</span> <<elseif _tentacle.fullDesc.includes("metal")>> <span class="pink">where a light flashes to a fascinating rhythm.</span> <<else>> <span class="pink">where it shines with eldritch light.</span> <</if>> A deep yearning blooms, <<if $uncomfortable.hypnosis is false>> nurtured by a lewd part of you. <span class="lewd">Your mind immediately accepts it.</span> You long for the suffering of others. <<sadism 10>> <<elseif $willpower gte random(1, 1000)>> nurtured by a traitorous part of you. <span class="lblue">You will it away.</span> <<else>> unbeckoned. <span class="pink">You can't resist it.</span> You long for the suffering of others. <<sadism 10>><<willpower 1>><<gwillpower>> <</if>> <<hypnotised 1>> <<set _tentacle.tentaclehealth -= 6>><<set _tentacle.head to 0>><<set _tentacle.tempBusy to true>> <br> <</if>> <<rng>> <<if _tentacle.head is "hypnosis_orgasm">> and in front of your face <<if _tentacle.type is "vine">> <span class="pink">where it puffs glittering pollen in your face.</span> <<elseif _tentacle.fullDesc.includes("metal")>> <span class="pink">where a light flashes to a fascinating rhythm.</span> <<else>> <span class="pink">where it shines with eldritch light.</span> <</if>> A deep yearning blooms, <<if $uncomfortable.hypnosis is false>> nurtured by a lewd part of you. <span class="lewd">Your mind immediately accepts it.</span> Feelings of arousal overwhelm you. <<arousal 10000>> <<elseif $willpower gte random(1, 1000)>> nurtured by a traitorous part of you. <span class="lblue">You will it away.</span> <<else>> unbeckoned. <span class="pink">You can't resist it.</span> Feelings of arousal overwhelm you. <<arousal 10000>><<willpower 1>><<gwillpower>> <</if>> <<hypnotised 1>> <<set _tentacle.tentaclehealth -= 6>><<set _tentacle.head to 0>><<set _tentacle.tempBusy to true>> <br> <</if>> <<rng>> <<if _tentacle.head is "hypnosis">> and in front of your face <<if _tentacle.type is "vine">> <span class="purple">where glittering pollen lingers on the tip.</span> <<elseif _tentacle.fullDesc.includes("metal")>> <span class="purple">where a light blinks to a strange rhythm.</span> <<else>> <span class="purple">where it glimmers with eldritch light.</span> <</if>> <<rng 5>> <<if $rng gte 5 and ($hypnosis_traits.scream is undefined or $hypnosis_traits.scream lt 5)>> Confusing images swim through your mind, blending and reversing your thoughts. <<set _tentacle.head to "hypnosis_scream">> <<elseif $rng gte 4 and ($hypnosis_traits.cover is undefined or $hypnosis_traits.cover lt 5)>> Confusing images swim through your mind, blending and reversing your thoughts. <<set _tentacle.head to "hypnosis_cover">> <<elseif $rng gte 3 and $bestialitydisable is "f" and ($hypnosis_traits.deviancy is undefined or $hypnosis_traits.deviancy lt 5)>> Unspeakable images fill your mind, luring you someplace alien. <<set _tentacle.head to "hypnosis_deviancy">> <<elseif $rng gte 2>> Sadistic images surge through your mind, accompanied by unholy delight. <<set _tentacle.head to "hypnosis_sadism">> <<else>> A feeling of immense pleasure shivers through your scalp. A dangerous feeling. <<set _tentacle.head to "hypnosis_orgasm">> <</if>> <br> <</if>> <<if _tentacle.head is "leftlegentrance">> <<if _tentacle.traits.includes("pain")>> <<violence 2>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc pries your left leg out of the way, <span class="purple">leaving you defenceless.</span> <<case 2>>_The _tentacle.fullDesc gives your left leg a harsh tug, <span class="purple">painfully seizing it.</span> <<case 1>>_The _tentacle.fullDesc wrings your left leg in a vice grip, <span class="purple">restraining it.</span> <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc rings around your left leg, <span class="purple">trapping it in its coils.</span> <<case 2>>_The _tentacle.fullDesc tightens around your left leg, <span class="purple">restraining it.</span> <<case 1>>_The _tentacle.fullDesc squeezes tight, <span class="purple">until your left leg goes numb.</span> <</switch>> <</if>> <<neutral 1>><<feettentacledisable>><<set _tentacle.shaft to "leftleg">><<set _tentacle.head to 0>> <<set $leftleg to "grappled">><<set $feettarget to "tentacles">><<set _tentacle.tempBusy to true>> <<if $rightleg and $rightleg.includes("tentacle")>> <<set $rightleg to 0>> <</if>> <<tentacle_skin "left_thigh">> <br> <</if>> <<if _tentacle.head is "rightlegentrance">> <<if _tentacle.traits.includes("pain")>> <<violence 2>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc pries your right leg out of the way, <span class="purple">leaving you defenceless.</span> <<case 2>>_The _tentacle.fullDesc gives your right leg a harsh tug, <span class="purple">painfully seizing it.</span> <<case 1>>_The _tentacle.fullDesc wrings your right leg in a vice grip, <span class="purple">restraining it.</span> <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc rings around your right leg, <span class="purple">trapping it in its coils.</span> <<case 2>>_The _tentacle.fullDesc tightens around your right leg, <span class="purple">restraining it.</span> <<case 1>>_The _tentacle.fullDesc squeezes tight, <span class="purple">until your right leg goes numb.</span> <</switch>> <</if>> <<neutral 1>><<feettentacledisable>><<set _tentacle.shaft to "rightleg">><<set _tentacle.head to 0>> <<set $rightleg to "grappled">><<set $feettarget to "tentacles">><<set _tentacle.tempBusy to true>> <<if $leftleg and $leftleg.includes("tentacle")>> <<set $left to 0>> <</if>> <<tentacle_skin "right_thigh">> <br> <</if>> <<if _tentacle.head is "leftarmentrance">> <<if _tentacle.traits.includes("pain")>> <<violence 2>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc pries your left arm out of the way, <span class="purple">leaving you defenceless.</span> <<case 2>>_The _tentacle.fullDesc twists your left arm behind your back, <span class="purple">painfully seizing it.</span> <<case 1>>_The _tentacle.fullDesc wrings your left arm in a vice grip, <span class="purple">restraining it.</span> <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc rings around your left arm, <span class="purple">trapping it in its coils.</span> <<case 2>>_The _tentacle.fullDesc tightens around your left arm, <span class="purple">restraining it.</span> <<case 1>>_The _tentacle.fullDesc squeezes tight, <span class="purple">until your left arm goes numb.</span> <</switch>> <</if>> <<neutral 1>><<leftarmtentacledisable>><<set _tentacle.shaft to "leftarm">><<set _tentacle.head to 0>> <<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">><<set _tentacle.tempBusy to true>> <<tentacle_skin "left_arm">> <br> <</if>> <<if _tentacle.head is "rightarmentrance">> <<if _tentacle.traits.includes("pain")>> <<violence 2>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc pries your right arm out of the way, <span class="purple">leaving you defenceless.</span> <<case 2>>_The _tentacle.fullDesc twists your right arm behind your back, <span class="purple">painfully seizing it.</span> <<case 1>>_The _tentacle.fullDesc wrings your right arm in a vice grip, <span class="purple">restraining it.</span> <</switch>> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc rings around your right arm, <span class="purple">trapping it in its coils.</span> <<case 2>>_The _tentacle.fullDesc tightens around your right arm, <span class="purple">restraining it.</span> <<case 1>>_The _tentacle.fullDesc squeezes tight, <span class="purple">until your right arm goes numb.</span> <</switch>> <</if>> <<rightarmtentacledisable>><<neutral 1>><<set _tentacle.shaft to "rightarm">><<set _tentacle.head to 0>> <<set $rightarm to "tentgrappled">><<set $rightarmstate to 0>><<set $righttarget to "tentacles">><<set _tentacle.tempBusy to true>> <<tentacle_skin "right_arm">> <br> <</if>> <<rng>> <<if _tentacle.head is 0 and _tentacle.shaft isnot 0 and !_tentacle.tempBusy>> <<if random(1, 2) is 2 and _tentacle.traits.includes("hypno") and $hypnosisdisable is "f">> <<upperslither>><span class="blue">and waves in front of your eyes.</span> <<set _tentacle.head to "hypnosis">> <<elseif $rng lte 10>> <<if $chestuse is "squeezed">> <<upperslither>><span class="blue">and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> up between your squeezed <<breasts>>.</span> <<set _tentacle.head to "chest">><<neutralbreast 2>><<set $chestuse to "tentaclerub">><<cheststat>><<set $chesttarget to "tentacles">> <<tentacle_skin "breasts">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 20>> <<if $leftnipple is 0>> <<upperslither>> <<playWithBreasts>><span class="blue">and teases your left nipple.</span> <<neutralbreast 2>> <<set _tentacle.head to "leftnipple">><<set $leftnipple to "tentacle">> <<tentacle_skin "breasts">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 30>> <<if $rightnipple is 0>> <<upperslither>> <<playWithBreasts>><span class="blue">and teases your right nipple.</span> <<neutralbreast 2>> <<set _tentacle.head to "rightnipple">><<set $rightnipple to "tentacle">> <<tentacle_skin "breasts">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 40>> <<if $mouthuse is 0>> <<upperslither>> <span class="blue">and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> up toward your mouth.</span> <<neutral 1 "breasts">><<neutral 1 "mouth">> <<set $mouthuse to "tentacle">><<set $mouthstate to "tentacleentrance">><<set _tentacle.head to "mouthentrance">><<set $mouthtarget to "tentacles">> <<tentacle_skin "left_cheek" "right_cheek">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 50>> <<if $anususe is 0 and $analdisable is "f" and $noanal is 0>> <<underslither>> <span class="blue">and <<slithers>> toward your <<bottom>>.</span> <<if _tentacle.baby isnot 0 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<neutral 2 "bottom">> <<set $anususe to "tentacle">><<set $anusstate to "tentacleentrance">><<set _tentacle.head to "anusentrance">><<set $anustarget to "tentacles">> <<tentacle_skin "left_bottom" "right_bottom">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 60>> <<if $player.vaginaExist and $vaginause is 0 and $novaginal is 0>> <<underslither>> <span class="blue">and <<slithers>> toward your <<pussy>>.</span> <<if _tentacle.baby isnot 0 and canImpregnateParasite("vagina")>> <span class="red">Something about it scares you.</span> <</if>> <<neutralgenitals 2>> <<set $vaginause to "tentacle">><<set $vaginastate to "tentacleentrance">><<set _tentacle.head to "vaginaentrance">><<set $vaginatarget to "tentacles">> <<tentacle_skin "pubic">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 70>> <<if $player.penisExist and $penisuse is 0 and $nopenile is 0>> <<underslither>> <span class="blue">and <<slithers>> toward your <<penis>>.</span> <<neutralgenitals 2>> <<set $penisuse to "tentacle">><<set $penisstate to "tentacleentrance">><<set _tentacle.head to "penisentrance">><<set $penistarget to "tentacles">><<set $tentaclePenis to _tentacle.fullDesc>> <<tentacle_skin "pubic">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 80>> <<if $player.penisExist and $penisuse is 0 and random(0,100) gte 50>> <<if _tentacle.shaft is "thighs">> <<underslither>> <span class="blue">where it <<slithers>> against your tummy and <<penis>>.</span> <<else>> <<underslither>> <span class="blue">where it <<slithers>> between your thighs and against your tummy and <<penis>>.</span> <</if>> <<set $penisuse to "tentaclerub">><<set $thighuse to "tentaclerub">><<set _tentacle.head to "penisrub">><<sex 3 "genitals">><<thighstat>><<set $penistarget to "tentacles">><<set $tentaclePenis to _tentacle.fullDesc>> <<elseif $player.vaginaExist and $vaginause is 0 and random(0,100) gte 50>> <<if _tentacle.shaft is "thighs">> <<underslither>> <span class="blue">where it <<slithers>> against your tummy and <<pussy>>.</span> <<else>> <<underslither>> <span class="blue">where it <<slithers>> between your thighs and against your tummy and <<pussy>>.</span> <</if>> <<set $vaginause to "tentaclerub">><<set $thighuse to "tentaclerub">><<set _tentacle.head to "vaginarub">><<sex 3 "genitals">><<thighstat>><<set $vaginatarget to "tentacles">> <<tentacle_skin "left_thigh" "right_thigh">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<elseif $rng lte 90>> <<if $anusstate is 0 and $anususe is 0 and $analdisable is "f">> <<underslither>> <span class="blue">and <<slithers>> between your <<bottom>> cheeks and against your back.</span> <<set $anusstate to "tentaclerub">><<set $anususe to "tentaclerub">><<set _tentacle.head to "anusrub">><<sex 1 "anus">><<bottomstat>><<set $anustarget to "tentacles">> <<tentacle_skin "back">> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <<else>> <<tentacleadvdefault _tentacle>> <</if>> <br> <<elseif _tentacle.head is 0 and _tentacle.shaft is 0>> <<if $rng lte 10>> <<if $position isnot "wall">> _The _tentacle.fullDesc winds around your tummy. <<neutral 1>> <<set _tentacle.shaft to "tummy">> <<else>> _The _tentacle.fullDesc gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <</if>> <<elseif $rng lte 20>> _The _tentacle.fullDesc <<slithers>> between your thighs. <<neutral 1 "genitals">> <<set _tentacle.shaft to "thighs">> <<tentacle_skin "left_thigh" "right_thigh">> <<elseif $rng lte 30>> <<if $position isnot "wall">> <<if $player.breastsize gte 2 and $chestuse is 0>> _The _tentacle.fullDesc <<slithers>> around your <<breasts>>, <span class="blue">squeezing them together.</span> <<neutralbreast 1>><<set _tentacle.shaft to "breasts">><<set $chestuse to "squeezed">> <<tentacle_skin "breasts">> <<else>> _The _tentacle.fullDesc gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <<tentacle_skin "left_bottom" "right_bottom">> <</if>> <<else>> _The _tentacle.fullDesc gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <<tentacle_skin "left_bottom" "right_bottom">> <</if>> <<elseif $rng lte 40>> <<if $position isnot "wall">> _The _tentacle.fullDesc winds its way around your chest, beneath your <<breasts>>. <<neutralbreast 1>><<set _tentacle.shaft to "chest">> <<tentacle_skin "breasts">> <<else>> _The _tentacle.fullDesc gently slaps your <<bottom>>. <<violence 1>><<hitstat>> <<tentacle_skin "left_bottom" "right_bottom">> <</if>> <<elseif $rng lte 50>> _The _tentacle.fullDesc winds its way around your waist. <<neutral 1>><<set _tentacle.shaft to "waist">> <<elseif $rng lte 60>> <<if $position isnot "wall">> <<if $head is 0 and $nochoke isnot 1 and $asphyxiaLvl gte 1>> _The _tentacle.fullDesc winds its way around your neck, <span class="blue">restraining your head.</span> <<neutral 1>><<set _tentacle.shaft to "neck">><<set $head to "grappled">> <<tentacle_skin "left_cheek" "right_cheek">> <<else>> _The _tentacle.fullDesc winds its way around your shoulders. <<neutral 1>><<set _tentacle.shaft to "shoulders">> <</if>> <<else>> _The _tentacle.fullDesc gently slaps your <<bottom>>. <<tentacle_skin "left_bottom" "right_bottom">> <<violence 1>><<hitstat>> <</if>> <<elseif $rng lte 70>> _The _tentacle.fullDesc gently slaps your <<bottom>>. <<tentacle_skin "left_bottom" "right_bottom">> <<violence 1>><<hitstat>> <<elseif $rng lte 80>> <<if $leftleg is 0>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc winds its way around your left leg, <span class="blue">wrapping around it.</span> <<case 2>>_The _tentacle.fullDesc <span class="blue">prods your left leg,</span> probing for a response. <<case 1>>_The _tentacle.fullDesc <span class="blue">curls up to your left leg.</span> <</switch>> <<neutral 1>><<set _tentacle.head to "leftlegentrance">><<tentacle_skin "left_thigh">> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc tickles your feet. <<case 2>>_The _tentacle.fullDesc squeezes your thigh. <<case 1>>_The _tentacle.fullDesc <<slithers>> between your legs. <</switch>> <<neutral 1>> <</if>> <<elseif $rng lte 85>> <<if $rightleg is 0>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc winds its way around your right leg, <span class="blue">wrapping around it.</span> <<case 2>>_The _tentacle.fullDesc <span class="blue">prods your right leg,</span> probing for a response. <<case 1>>_The _tentacle.fullDesc <span class="blue">curls up to your right leg.</span> <</switch>> <<neutral 1>><<set _tentacle.head to "rightlegentrance">><<tentacle_skin "right_thigh">> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc tickles your feet. <<case 2>>_The _tentacle.fullDesc squeezes your thigh. <<case 1>>_The _tentacle.fullDesc <<slithers>> between your legs. <</switch>> <<neutral 1>> <</if>> <<elseif $rng lte 90>> <<if $leftarm is 0>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc winds its way around your left arm, <span class="blue">wrapping around it.</span> <<case 2>>_The _tentacle.fullDesc <span class="blue">prods your left arm,</span> probing for a response. <<case 1>>_The _tentacle.fullDesc <span class="blue">curls up to your left arm.</span> <</switch>> <<neutral 1>><<set _tentacle.head to "leftarmentrance">><<tentacle_skin "left_arm">> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc tickles your armpit. <<case 2>>_The _tentacle.fullDesc <<slithers>> over your ribs. <<case 1>>_The _tentacle.fullDesc slaps against your palm. <</switch>> <<neutral 1>> <</if>> <<elseif $rng lte 95>> <<if $rightarm is 0>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc winds its way around your right arm, <span class="blue">wrapping around it.</span> <<case 2>>_The _tentacle.fullDesc <span class="blue">prods your right arm,</span> probing for a response. <<case 1>>_The _tentacle.fullDesc <span class="blue">curls up to your right arm.</span> <</switch>> <<neutral 1>><<set _tentacle.head to "rightarmentrance">><<tentacle_skin "right_arm">> <<else>> <<switch random(1, 3)>> <<case 3>>_The _tentacle.fullDesc tickles your armpit. <<case 2>>_The _tentacle.fullDesc <<slithers>> over your ribs. <<case 1>>_The _tentacle.fullDesc slaps against your palm. <</switch>> <<neutral 1>> <</if>> <<elseif $rng lte 100>> _The _tentacle.fullDesc <<slithers>> against your <<bottom>>. <<tentacle_skin "left_bottom" "right_bottom">> <<neutral 1 "bottom">> <</if>> <br> <</if>> <<run delete _tentacle.tempBusy>> <</widget>> <<widget "tentacleadvdefault">> <<set _tentacle to _args[0]>> <<rng>> <<if $rng gte 90>> then squirts a warm _fluid over your neck. <<bodyliquid "neck" _fluid>><<neckejacstat>> <<elseif $rng gte 80>> then squirts a warm _fluid over your right arm. <<bodyliquid "rightarm" _fluid>><<handejacstat>> <<elseif $rng gte 70>> then squirts a warm _fluid over your left arm. <<bodyliquid "leftarm" _fluid>><<handejacstat>> <<elseif $rng gte 60>> then squirts a warm _fluid over your thighs. <<bodyliquid "thigh" _fluid>><<thighejacstat>> <<elseif $rng gte 50>> then squirts a warm _fluid over your <<bottom>>. <<bodyliquid "bottom" _fluid>><<bottomejacstat>> <<elseif $rng gte 40>> then squirts a warm _fluid over your tummy. <<bodyliquid "tummy" _fluid>><<tummyejacstat>> <<elseif $rng gte 30>> then squirts a warm _fluid over your chest. <<bodyliquid "chest" _fluid>><<chestejacstat>> <<elseif $rng gte 20>> then squirts a warm _fluid over your face. <<bodyliquid "face" _fluid>><<faceejacstat>> <<elseif $rng gte 10>> then squirts a warm _fluid over your hair. <<bodyliquid "hair" _fluid>><<hairejacstat>> <<else>> then squirts a warm _fluid over your feet. <<bodyliquid "feet" _fluid>><<feetejacstat>> <</if>> <<neutral 1>><<set _tentacle.tentaclehealth -= 1>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 3>> <</if>> <</widget>> <<widget "tentacleadvdisable">> <<set _tentacle to _args[0]>> <<if _tentacle.head is "feet">><<set $leftleg to 0>><<set $rightleg to 0>><<set $feetstate to 0>><</if>> <<if _tentacle.head is "leftarm">><<set $leftarm to 0>><<set $leftarmstate to 0>><</if>> <<if _tentacle.head is "rightarm">><<set $rightarm to 0>><<set $rightarmstate to 0>><</if>> <<if _tentacle.head is "leftnipple" or _tentacle.head is "leftnipplesuck">> <<set $leftnipple to 0>> <</if>> <<if _tentacle.head is "rightnipple" or _tentacle.head is "rightnipplesuck">> <<set $rightnipple to 0>> <</if>> <<if _tentacle.head is "mouthentrance" or _tentacle.head is "mouthimminent" or _tentacle.head is "mouth" or _tentacle.head is "mouthdeep">> <<if $mouthuse is "tentacle">><<set $mouthuse to 0>><<set $mouthstate to 0>><</if>> <<unset $tentacleMouth>> <</if>> <<if _tentacle.head is "anusentrance" or _tentacle.head is "anusimminent" or _tentacle.head is "anus" or _tentacle.head is "anusdeep">> <<if $anususe is "tentacle" or $anususe is "tentaclerub">><<set $anususe to 0>><<set $anusstate to 0>><</if>> <<unset $tentacleAnus>><<unset $tentacleAnusBaby>> <</if>> <<if _tentacle.head is "vaginaentrance" or _tentacle.head is "vaginaimminent" or _tentacle.head is "vagina" or _tentacle.head is "vaginadeep">> <<if $vaginause is "tentacle" or $vaginause is "tentaclerub">><<set $vaginause to 0>><<set $vaginastate to 0>><</if>> <<unset $tentacleVagina>> <</if>> <<if _tentacle.head is "penisentrance" or _tentacle.head is "penisimminent" or _tentacle.head is "penis" or _tentacle.head is "penisdeep">> <<if $penisuse is "tentacle" or $penisuse is "tentaclerub">><<set $penisuse to 0>><<set $penisstate to 0>><</if>> <<unset $tentaclePenis>> <</if>> <<if _tentacle.head is "chest">><<set $chestuse to "squeezed">><</if>> <<if _tentacle.shaft is "breasts">><<set $chestuse to 0>><</if>> <<if _tentacle.head is "vaginarub">><<set $vaginause to 0>><<set $thighuse to 0>><</if>> <<if _tentacle.head is "penisrub">><<set $penisuse to 0>><<set $thighuse to 0>><</if>> <<if _tentacle.head is "bottomrub">><<set $anususe to 0>><<set $bottomuse to 0>><</if>> <<if _tentacle.head is "anusrub">><<set $anususe to 0>><<set $anususe to 0>><</if>> <<if _tentacle.shaft is "neck" and $head isnot "bound">><<set $head to 0>><</if>> <<if _tentacle.shaft is "leftleg" and $leftleg isnot "bound">><<set $leftleg to 0>><</if>> <<if _tentacle.shaft is "rightleg" and $rightleg isnot "bound">><<set $rightleg to 0>><</if>> <<if _tentacle.shaft is "leftarm" and $leftarm isnot "bound">><<set $leftarm to 0>><</if>> <<if _tentacle.shaft is "rightarm" and $rightarm isnot "bound">><<set $rightarm to 0>><</if>> <<set _tentacle.shaft to 0>> <<set _tentacle.head to 0>> <</widget>> <<widget "actionstentacleadvcheckbox">> /* Dunno what im doing honestly ~Ludsoe */ <<if _args[3] is _args[4]>><<set _checked to "checked">><<else>><<set _checked to "">><</if>> /* Originally i was just passing _args[0] along to the label, but for some reason that didnt work.... but this does*/ <<if _args[0] is "def">> | <label><span class="def">_args[1]</span> <<radiobutton _args[2] _args[3] _checked>></label> <<elseif _args[0] is "sub">> | <label><span class="sub">_args[1]</span> <<radiobutton _args[2] _args[3] _checked>></label> <<elseif _args[0] is "neutral">> | <label><span class="neutral">_args[1]</span> <<radiobutton _args[2] _args[3] _checked>></label> <<elseif _args[0] is "brat">> | <label><span class="brat">_args[1]</span> <<radiobutton _args[2] _args[3] _checked>></label> <</if>> <</widget>> <<widget "actionstentacleadvlefthand">> /* unused */ <<set _tentacle to _args[0]>> <<if $leftarm is 0 and _tentacle.shaft isnot "finished">> <<set _action to "lefthittentacle"+_tentacle.id>> <<actionstentacleadvcheckbox "def" "Strike the _tentacle.fullDesc" "$leftaction" _action $leftactiondefault>> <<set _action to "leftgrabtentacle"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Grab the _tentacle.fullDesc" "$leftaction" _action $leftactiondefault>> <<if $angel gte 4 and $angelBanish gte 1>> <<set _action to "leftbanish"+_tentacle.id>> <<actionstentacleadvcheckbox "def" "Banish the _tentacle.fullDesc" "$leftaction" _action $leftactiondefault>> <</if>> <br> <<elseif $leftarm is _tentacle.id>> You hold the _tentacle.fullDesc in your left hand. <br> <<set _action to "leftrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Milk it" "$leftaction" _action $leftactiondefault>> <<set _action to "leftstop"+_tentacle.id>> <<actionstentacleadvcheckbox "neutral" "Let go" "$leftaction" _action $leftactiondefault>> <<if hasSexStat("deviancy", 5)>> /* Should i lock this behind consentacles? */ <<if ($anususe is 0 and $analdisable is "f") or ($player.vaginaExist and $vaginause is 0 or $player.penisExist and $penisuse is 0) or $mouthuse is 0>> <br>--<<deviant5>>| --<br> <<if $anususe is 0 and $analdisable is "f">> <<set _action to "showbottom"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your <<bottom>>." "$leftaction" _action $leftactiondefault>> <</if>> <<if ($player.vaginaExist and $vaginause is 0) or ($player.penisExist and $penisuse is 0)>> <<set _action to "showthighs"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your thighs." "$leftaction" _action $leftactiondefault>> <</if>> <<if $mouthuse is 0>> <<set _action to "showmouth"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your mouth." "$leftaction" _action $leftactiondefault>> <</if>> <</if>> <</if>> <br> <</if>> <</widget>> <<widget "actionstentacleadvrighthand">> /* unused */ <<set _tentacle to _args[0]>> <<if $rightarm is 0 and _tentacle.shaft isnot "finished">> <<set _action to "righthittentacle"+_tentacle.id>> <<actionstentacleadvcheckbox "def" "Strike _the _tentacle.fullDesc" "$rightaction" _action $rightactiondefault>> <<set _action to "rightgrabtentacle"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Grab _the _tentacle.fullDesc" "$rightaction" _action $rightactiondefault>> <<if $angel gte 4 and $angelBanish gte 1>> <<set _action to "rightbanish"+_tentacle.id>> <<actionstentacleadvcheckbox "def" "Banish _the _tentacle.fullDesc" "$rightaction" _action $rightactiondefault>> <</if>> <br> <<elseif $rightarm is _tentacle.id>> You hold the _tentacle.fullDesc in your right hand. <br> <<set _action to "rightrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Milk it" "$rightaction" _action $rightactiondefault>> <<set _action to "rightstop"+_tentacle.id>> <<actionstentacleadvcheckbox "neutral" "Let go" "$rightaction" _action $rightactiondefault>> <<if hasSexStat("deviancy", 5)>> /* Should i lock this behind consentacles? */ <<if ($anususe is 0 and $analdisable is "f") or ($player.vaginaExist and $vaginause is 0 or $player.penisExist and $penisuse is 0) or $mouthuse is 0>> <br>--<<deviant5>>| --<br> <<if $anususe is 0 and $analdisable is "f">> <<set _action to "showbottom"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your <<bottom>>." "$rightaction" _action $rightactiondefault>> <</if>> <<if ($player.vaginaExist and $vaginause is 0) or ($player.penisExist and $penisuse is 0)>> <<set _action to "showthighs"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your thighs." "$rightaction" _action $rightactiondefault>> <</if>> <<if $mouthuse is 0>> <<set _action to "showmouth"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your mouth." "$rightaction" _action $rightactiondefault>> <</if>> <</if>> <</if>> <br> <</if>> <</widget>> <<widget "actionstentacleadvlegs">> /* unused */ <<set _tentacle to _args[0]>> <<if $leftleg is 0 and $rightleg is 0 and _tentacle.shaft isnot "finished">> <<set _action to "feethit"+_tentacle.id>> <<actionstentacleadvcheckbox "def" "Kick _the _tentacle.fullDesc" "$feetaction" _action $feetactiondefault>> <<set _action to "feetgrab"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Grab _the _tentacle.fullDesc" "$feetaction" _action $feetactiondefault>> <br> <<elseif ($rightleg is 0 or $leftleg is 0) and _tentacle.shaft isnot "finished">> <<set _action to "feethit"+_tentacle.id>> <<actionstentacleadvcheckbox "def" "Kick _the _tentacle.fullDesc" "$feetaction" _action $feetactiondefault>> <br> <<elseif $leftleg is _tentacle.id>> You hold the _tentacle.fullDesc between your feet. <br> <<set _action to "feetrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Milk it" "$feetaction" _action $feetactiondefault>> <<set _action to "feetstop"+_tentacle.id>> <<actionstentacleadvcheckbox "neutral" "Let go" "$feetaction" _action $feetactiondefault>> <<if hasSexStat("deviancy", 5)>> /* Should i lock this behind consentacles? */ <<if ($anususe is 0 and $analdisable is "f") or ($player.vaginaExist and $vaginause is 0 or $player.penisExist and $penisuse is 0)>> <br>--<<deviant5>>| --<br> <<if $anususe is 0 and $analdisable is "f">> <<set _action to "showbottom"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your <<bottom>>." "$feetaction" _action $feetactiondefault>> <</if>> <<if ($player.vaginaExist and $vaginause is 0) or ($player.penisExist and $penisuse is 0)>> <<set _action to "showthighs"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Guide to your thighs." "$feetaction" _action $feetactiondefault>> <</if>> <</if>> <</if>> <br> <</if>> <</widget>> <<widget "actionstentacleadvmouth">> /* unused */ <<set _tentacle to _args[0]>> <<if _tentacle.head is "mouthentrance">> <<set _action to "mouthlick"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Lick it" "$mouthaction" _action $mouthactiondefault>> <<if $head is "grappled">> <<else>> <<set _action to "mouthpullaway"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Pull away" "$mouthaction" _action $mouthactiondefault>> <</if>> <<if $tending gte 600>> <<set _action to "mouthlull"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Lull" "$mouthaction" _action $mouthactiondefault>> <</if>> <<elseif _tentacle.head is "mouthimminent">> <<set _action to "mouthkiss"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Kiss it" "$mouthaction" _action $mouthactiondefault>> <<if $head is "grappled">> <<else>> <<set _action to "mouthpullaway"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Pull away" "$mouthaction" _action $mouthactiondefault>> <</if>> <<if $tending gte 600>> <<set _action to "mouthlull"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Lull" "$mouthaction" _action $mouthactiondefault>> <</if>> <<elseif _tentacle.head is "mouth" or _tentacle.head is "mouthdeep">> <<set _action to "mouthcooperate"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Cooperate" "$mouthaction" _action $mouthactiondefault>> <<set _action to "mouthbite"+_tentacle.id>> <<actionstentacleadvcheckbox "def" "Bite" "$mouthaction" _action $mouthactiondefault>> <<else>> <<if $tending gte 600>> <<set _action to "mouthlull"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Lull" "$mouthaction" _action $mouthactiondefault>> <</if>> <</if>> <</widget>> <<widget "actionstentacleadvvagina">> /* unused */ <<set _tentacle to _args[0]>> <<if _tentacle.head is "vaginaentrance" or _tentacle.head is "vaginaimminent">> <<set _action to "vaginarub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Rub" "$vaginaaction" _action $vaginaactiondefault>> <<if $leftleg is "grappled" and $rightleg is "grappled">> <<else>> <<set _action to "vaginapullaway"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Pull away" "$vaginaaction" _action $vaginaactiondefault>> <</if>> <<elseif _tentacle.head is "vagina" or _tentacle.head is "vaginadeep">> <<set _action to "vaginacooperate"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Cooperate" "$vaginaaction" _action $vaginaactiondefault>> <</if>> <</widget>> <<widget "actionstentacleadvpenis">> /* unused */ <<set _tentacle to _args[0]>> <<if _tentacle.head is "penisentrance" or _tentacle.head is "penisimminent">> <<set _action to "penisrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Rub" "$penisaction" _action $penisactiondefault>> <<if $leftleg is "grappled" and $rightleg is "grappled">> <<else>> <<set _action to "penispullaway"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Pull away" "$penisaction" _action $penisactiondefault>> <</if>> <<elseif _tentacle.head is "penis" or _tentacle.head is "penisdeep">> <<set _action to "peniscooperate"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Cooperate" "$penisaction" _action $penisactiondefault>> <</if>> <</widget>> <<widget "actionstentacleadvanus">> /* unused */ <<set _tentacle to _args[0]>> <<if _tentacle.head is "anusentrance" or _tentacle.head is "anusimminent">> <<set _action to "anusrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Rub" "$anusaction" _action $anusactiondefault>> <<if $leftleg is "grappled" and $rightleg is "grappled">> <<else>> <<set _action to "anuspullaway"+_tentacle.id>> <<actionstentacleadvcheckbox "brat" "Pull away" "$anusaction" _action $anusactiondefault>> <</if>> <<elseif _tentacle.head is "anus" or _tentacle.head is "anusdeep">> <<set _action to "anuscooperate"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Cooperate" "$anusaction" _action $anusactiondefault>> <</if>> <</widget>> <<widget "actionstentacleadvthighs">> /* unused */ <<set _tentacle to _args[0]>> <<if _tentacle.head is "penisrub">> <<set _action to "penisrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Rub" "$thighaction" _action $thighactiondefault>> <<elseif _tentacle.head is "vaginarub">> <<set _action to "vaginarub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Rub" "$thighaction" _action $thighactiondefault>> <</if>> <</widget>> <<widget "actionstentacleadvbottom">> /* unused */ <<set _tentacle to _args[0]>> <<set _action to "bottomrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Rub" "$bottomaction" _action $bottomactiondefault>> <</widget>> <<widget "actionstentacleadvchest">> /* unused */ <<set _tentacle to _args[0]>> <<set _action to "chestrub"+_tentacle.id>> <<actionstentacleadvcheckbox "sub" "Rub" "$chestaction" _action $chestactiondefault>> <</widget>> <<widget "effectstentacleadv">> <<set _tentacle to _args[0]>> <<if _tentacle.type is "vine">> <<set _fluid to "nectar">> <<set _Slimy to "Sticky">> <<else>> <<set _fluid to "fluid">> <<set _Slimy to "Slimy">> <</if>> <<rng>> <<set _The to ($abomination is 1 ? "<<His>>" : "The")>> <<set _the to ($abomination is 1 ? "<<his>>" : "the")>> /*New Controls*/ <<if ($leftaction is "lefthittentacle" and $leftactionTarget is _tentacle.id) or ($rightaction is "righthittentacle" and $rightactionTarget is _tentacle.id)>> <<if $leftaction is "lefthittentacle" and $rightaction is "righthittentacle" and $leftactionTarget is $rightactionTarget>> You strike _the _tentacle.fullDesc with both hands and it reels away from you. <<set _multi to 2>> <<set $leftaction to 0>><<set $leftactiondefault to "lefthittentacle">> <<set $rightaction to 0>><<set $rightactiondefault to "righthittentacle">> <<elseif $leftaction is "lefthittentacle">> You strike _the _tentacle.fullDesc with your left hand and it reels away from you. <<set _multi to 1>><<set $leftaction to 0>> <<set $leftactiondefault to "lefthittentacle">> <<else>> You strike _the _tentacle.fullDesc with your right hand and it reels away from you. <<set _multi to 1>> <<set $rightaction to 0>><<set $rightactiondefault to "righthittentacle">> <</if>> <<defiance `2 * _multi`>> <<set $speechhit to 1 * _multi>><<set $attackstat += 1 * _multi>> <<if $rng lte (currentSkillValue('physique') / 200)>> <span class="green">It trembles before your strength.</span> <<set _tentacle.tentaclehealth -= 1 * _multi>> <</if>> <<set _tentacle.tentaclehealth -= 1 * _multi>> <<tentacleadvdisable _tentacle>> <<if $abomination is 1>> The <<person>> winces in pain. <</if>> <</if>> <<if ($leftaction is "leftbanish" and $leftactionTarget is _tentacle.id) or ($rightaction is "rightbanish" and $rightactionTarget is _tentacle.id)>> <<if $leftaction is "leftbanish" and $rightaction is "rightbanish" and $leftactionTarget is $rightactionTarget and $angelBanish gte 2>> <<set $angelBanish -= 2>> You clasp your hands together in prayer. _The _tentacle.fullDesc shimmers brightly, and is blasted away from you. <<set _multi to 2>> <<set $leftaction to 0>><<set $leftactiondefault to "leftbanish">> <<set $rightaction to 0>><<set $rightactiondefault to "rightbanish">> <<elseif $leftaction is "leftbanish" and $angelBanish gte 1>> <<set $angelBanish -->> You make an intricate gesture with your left hand. _The _tentacle.fullDesc shimmers and recoils violently. <<set _multi to 1>><<set $leftaction to 0>> <<set $leftactiondefault to "leftbanish">> <<elseif $rightaction is "rightbanish" and $angelBanish gte 1>> <<set $angelBanish -->> You make an intricate gesture with your right hand. _The _tentacle.fullDesc shimmers and recoils violently. <<set _multi to 1>><<set $rightaction to 0>> <<set $rightactiondefault to "rightbanish">> <<else>> You make an intricate gesture with your <<if $leftaction is "leftbanish">>left<<else>>right<</if>> hand, <span class="red">but nothing happens</span>. <</if>> <<if $purity gte 1000>> <<set _multi ++>> <</if>> <<defiance `($purity / 100) * _multi`>> <<set $speechhit to 1 * _multi>><<set $attackstat += 1 * _multi>> <<if $rng lte ($purity / 20)>><<set _tentacle.tentaclehealth -= 10 * _multi>><</if>> <<set _tentacle.tentaclehealth -= 10 * _multi>> <<tentacleadvdisable _tentacle>> <<if $abomination is 1>> The <<person>> recoils from the light. <</if>> <</if>> <<if ($leftaction is "leftgrabtentacle" and $leftactionTarget is _tentacle.id) or ($rightaction is "rightgrabtentacle" and $rightactionTarget is _tentacle.id)>> <<tentacleadvdisable _tentacle>> /* Make sure you call this before trying to set the tentacle info */ <<if $leftaction is "leftgrabtentacle" and $leftactionTarget is _tentacle.id>> <<set _hand to "left">><<set $leftaction to 0>><<set $leftactiondefault to "leftrub">> <<set $leftarm to _tentacle.id>><<set _tentacle.head to "leftarm">><<set $leftarmstate to "tentacle">><<set $lefttarget to "tentacles">> <<else>> <<set _hand to "right">><<set $rightaction to 0>><<set $rightactiondefault to "rightrub">> <<set $rightarm to _tentacle.id>><<set _tentacle.head to "rightarm">><<set $rightarmstate to "tentacle">><<set $righttarget to "tentacles">> <</if>> <span class="lblue">You <<handtext>> grab _the _tentacle.fullDesc with your _hand hand.</span> <<submission 1>><<handstat>> <</if>> <<if $leftaction is "leftrub"+_tentacle.id or $rightaction is "rightrub"+_tentacle.id>> <<if $leftaction is "leftrub"+_tentacle.id>> <<set _hand to "left">><<set $leftaction to 0>> <<set $leftactiondefault to "leftrub"+_tentacle.id>> <<else>> <<set _hand to "right">><<set $rightaction to 0>> <<set $rightactiondefault to "rightrub"+_tentacle.id>> <</if>> <<handskilluse>><<submission 1>> You <<handtext>> squeeze _the _tentacle.fullDesc in your _hand hand and rub up and down its length. <<if currentSkillValue("handskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip.</span> <<set _tentacle.tentaclehealth -= 3>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <<handejacstat>><<ejacstat>> <<if _hand is "left">><<bodyliquid "leftarm" _fluid>><<else>><<bodyliquid "rightarm" _fluid>><</if>> <</if>> <</if>> <<if $leftaction is "leftstruggle" or $rightaction is "rightstruggle">> <<if !_struggletext>> <<if $leftaction is "leftstruggle" and $rightaction is "rightstruggle">> You struggle with all your might. <<else>> You struggle. <</if>> <<set _struggletext to 1>> <</if>> <<if $abomination is 1 and ($NPCList[0].lefthand is "arms" or $NPCList[0].righthand is "arms")>> <<if $leftaction is "leftstruggle" and $rightaction is "rightstruggle">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftstruggle">><<set $rightactiondefault to "rightstruggle">> <<if currentSkillValue('physique') gte random(1, 32000)>> <span class="teal">You manage to twist your arms free.</span> <<defiance 5>> <<set $leftarm to 0>><<set $rightarm to 0>> <<set $NPCList[0].lefthand to 0>> <<set $NPCList[0].righthand to 0>> <<else>> <span class="purple">Your arms remain entangled.</span> <</if>> <<else>> <<if currentSkillValue('physique') gte random(1, 64000)>> <span class="teal">You manage to twist your arms free.</span> <<defiance 5>> <<set $leftarm to 0>><<set $rightarm to 0>> <<set $NPCList[0].lefthand to 0>> <<set $NPCList[0].righthand to 0>> <<else>> <span class="purple">Your arms remain entangled.</span> <</if>> <</if>> <</if>> <<if $leftaction is "leftstruggle" and _tentacle.shaft is "leftarm">> <<set $leftaction to 0>><<set $leftactiondefault to "leftstruggle">> <<set $speechstruggle to 1>><<defiance 1>> <<if currentSkillValue('physique') gte random(1, 64000)>> <span class="teal">You manage to twist your left arm free.</span> <<defiance 5>><<tentacleadvdisable _tentacle>> <<set $leftarm to 0>> <<else>> <span class="purple">Your left arm remains entangled.</span> <</if>> <</if>> <<if $rightaction is "rightstruggle" and _tentacle.shaft is "rightarm">> <<set $rightaction to 0>><<set $rightactiondefault to "rightstruggle">> <<defiance 1>><<set $speechstruggle to 1>> <<if currentSkillValue('physique') gte random(1, 64000)>> <span class="teal">You manage to twist your right arm free.</span> <<defiance 5>><<tentacleadvdisable _tentacle>> <<set $rightarm to 0>> <<else>> <span class="purple">Your right arm remains entangled.</span> <</if>> <</if>> <</if>> <<if $leftaction is "showbottom"+_tentacle.id or $rightaction is "showbottom"+_tentacle.id>> <<if $leftaction is "showbottom"+_tentacle.id>> <<set _hand to "left">><<set $leftaction to 0>> <<set $leftarm to 0>> <<set $leftarmstate to 0>> <<else>> <<set _hand to "right">><<set $rightaction to 0>> <<set $rightarm to 0>> <<set $rightarmstate to 0>> <</if>> <<submission 1>> <br> <<combatdeviancy5>> <br> You <<handtext>> guide _the _tentacle.fullDesc with your _hand hand towards your <<bottom>>. <<if $rng lte 30>> /* How common will the tentacle wrap around the arm guiding it */ <<if _hand is "left">> <<leftarmtentacledisable>> <<set _tentacle.shaft to "leftarm">> <<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">> <<else>> <<rightarmtentacledisable>> <<set _tentacle.shaft to "rightarm">> <<set $rightarm to "tentgrappled">><<set $rightarmstate to 0>><<set $righttarget to "tentacles">> <</if>> _The _tentacle.fullDesc winds its way around your _hand arm, <span class="blue">restraining it.</span> <<neutral 1>> <<else>> <<if _tentacle.shaft is 0>> <<set _tentacle.shaft to (either("tummy","waist","thighs"))>> <</if>> <</if>> <<set $anusstate to "tentaclerub">><<set $anususe to "tentaclerub">> <<set _tentacle.head to "anusrub">><<sex 1 "anus">><<bottomstat>><<set $anustarget to "tentacles">> <</if>> <<if $leftaction is "showmouth"+_tentacle.id or $rightaction is "showmouth"+_tentacle.id>> <<if $leftaction is "showmouth"+_tentacle.id>> <<set _hand to "left">><<set $leftaction to 0>> <<set $leftarm to 0>> <<set $leftarmstate to 0>> <<else>> <<set _hand to "right">><<set $rightaction to 0>> <<set $rightarm to 0>> <<set $rightarmstate to 0>> <</if>> <<submission 1>> <br> <<combatdeviancy5>> <br> You <<handtext>> guide _the _tentacle.fullDesc with your _hand hand up towards your mouth. <<if $rng lte 30>> /* How common will the tentacle wrap around the arm guiding it */ <<if _hand is "left">> <<leftarmtentacledisable>> <<set _tentacle.shaft to "leftarm">> <<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">> <<else>> <<rightarmtentacledisable>> <<set _tentacle.shaft to "rightarm">> <<set $rightarm to "tentgrappled">><<set $rightarmstate to 0>><<set $righttarget to "tentacles">> <</if>> _The _tentacle.fullDesc winds its way around your _hand arm, <span class="blue">restraining it.</span> <<neutral 1>> <<else>> <<if _tentacle.shaft is 0>> <<if $nochoke is 1>> <<set _tentacle.shaft to (either("tummy","chest","breasts"))>> <<else>> <<set _tentacle.shaft to (either("tummy","neck","chest","breasts"))>> <</if>> <</if>> <</if>> <<set $mouthuse to "tentacle">><<set $mouthstate to "tentacleentrance">><<set $mouthtarget to "tentacles">> <<set _tentacle.head to "mouthentrance">><<neutral 2 "mouth">> <</if>> <<if $leftaction is "showthighs"+_tentacle.id or $rightaction is "showthighs"+_tentacle.id>> <<if $leftaction is "showthighs"+_tentacle.id>> <<set _hand to "left">><<set $leftaction to 0>> <<set $leftarm to 0>> <<set $leftarmstate to 0>> <<else>> <<set _hand to "right">><<set $rightaction to 0>> <<set $rightarm to 0>> <<set $rightarmstate to 0>> <</if>> <<submission 1>> <br> <<combatdeviancy5>> <br> You <<handtext>> guide _the _tentacle.fullDesc with your _hand hand between your thighs. <<if $rng lte 30>> /* How common will the tentacle wrap around the arm guiding it */ <<if _hand is "left">> <<leftarmtentacledisable>> <<set _tentacle.shaft to "leftarm">> <<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">> <<else>> <<rightarmtentacledisable>> <<set _tentacle.shaft to "rightarm">> <<set $rightarm to "tentgrappled">><<set $rightarmstate to 0>><<set $righttarget to "tentacles">> <</if>> _The _tentacle.fullDesc winds its way around your _hand arm, <span class="blue">restraining it.</span> <<neutral 1>> <<else>> <<if _tentacle.shaft is 0>> <<set _tentacle.shaft to (either("tummy","waist"))>> <</if>> <</if>> <<if $player.penisExist and $penisuse is 0>> <<set $penisuse to "tentaclerub">><<set _tentacle.head to "penisrub">><<set $penistarget to "tentacles">> <<elseif $player.vaginaExist and $vaginause is 0>> <<set $vaginause to "tentaclerub">><<set _tentacle.head to "vaginarub">><<set $vaginatarget to "tentacles">> <</if>> <<sex 3 "genitals">><<thighstat>> <<set $thighuse to "tentaclerub">> <</if>> <<if $leftaction is "showpenis"+_tentacle.id or $rightaction is "showpenis"+_tentacle.id>> <<if $leftaction is "showpenis"+_tentacle.id>> <<set _hand to "left">><<set $leftaction to 0>> <<set $leftarm to 0>> <<set $leftarmstate to 0>> <<else>> <<set _hand to "right">><<set $rightaction to 0>> <<set $rightarm to 0>> <<set $rightarmstate to 0>> <</if>> <<if playerHasStrapon() or $player.penisExist>> <<submission 1>> <br> <<combatdeviancy5>> <br> You <<handtext>> guide _the _tentacle.fullDesc with your _hand hand between your thighs close to your <<penisSimple>>. <<if $rng lte 30>> /* How common will the tentacle wrap around the arm guiding it */ <<if _hand is "left">> <<leftarmtentacledisable>> <<set _tentacle.shaft to "leftarm">> <<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">> <<else>> <<rightarmtentacledisable>> <<set _tentacle.shaft to "rightarm">> <<set $rightarm to "tentgrappled">><<set $rightarmstate to 0>><<set $righttarget to "tentacles">> <</if>> _The _tentacle.fullDesc winds its way around your _hand arm, <span class="blue">restraining it.</span> <<neutral 1>> <<else>> <<if _tentacle.shaft is 0>> <<set _tentacle.shaft to (either("tummy","waist"))>> <</if>> <</if>> <<if $penisuse is 0>> <<set $penisuse to "tentaclerub">><<set _tentacle.head to "penisrub">><<set $penistarget to "tentacles">> <</if>> <<sex 3 "genitals">><<thighstat>> <<set $thighuse to "tentaclerub">> <</if>> <</if>> <<if $leftaction is "showvagina"+_tentacle.id or $rightaction is "showvagina"+_tentacle.id>> <<if $leftaction is "showvagina"+_tentacle.id>> <<set _hand to "left">><<set $leftaction to 0>> <<set $leftarm to 0>> <<set $leftarmstate to 0>> <<else>> <<set _hand to "right">><<set $rightaction to 0>> <<set $rightarm to 0>> <<set $rightarmstate to 0>> <</if>> <<if $player.vaginaExist>> <<submission 1>> <br> <<combatdeviancy5>> <br> You <<handtext>> guide _the _tentacle.fullDesc with your _hand hand between your thighs close to your pussy. <<if $rng lte 30>> /* How common will the tentacle wrap around the arm guiding it */ <<if _hand is "left">> <<leftarmtentacledisable>> <<set _tentacle.shaft to "leftarm">> <<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">> <<else>> <<rightarmtentacledisable>> <<set _tentacle.shaft to "rightarm">> <<set $rightarm to "tentgrappled">><<set $rightarmstate to 0>><<set $righttarget to "tentacles">> <</if>> _The _tentacle.fullDesc winds its way around your _hand arm, <span class="blue">restraining it.</span> <<neutral 1>> <<else>> <<if _tentacle.shaft is 0>> <<set _tentacle.shaft to (either("tummy","waist"))>> <</if>> <</if>> <<if $vaginause is 0>> <<set $vaginause to "tentaclerub">><<set _tentacle.head to "vaginarub">><<set $vaginatarget to "tentacles">> <</if>> <<sex 3 "genitals">><<thighstat>> <<set $thighuse to "tentaclerub">> <</if>> <</if>> <<if $leftaction is "leftstop"+_tentacle.id>> <<set $leftaction to 0>><<set $leftactiondefault to "leftstop"+_tentacle.id>> You release _the _tentacle.fullDesc from your left hand. <<tentacleadvdisable _tentacle>> <</if>> <<if $rightaction is "rightstop"+_tentacle.id>> <<set $rightaction to 0>><<set $rightactiondefault to "rightstop"+_tentacle.id>> You release _the _tentacle.fullDesc from your right hand. <<tentacleadvdisable _tentacle>> <</if>> <<if $leftaction is "leftstop"+_tentacle.id>> <<set $leftaction to 0>><<set $leftactiondefault to "leftstop"+_tentacle.id>> You release _the _tentacle.fullDesc from your left hand. <<tentacleadvdisable _tentacle>> <</if>> <<if $rightaction is "rest">> <<set $rightaction to 0>> <<set $rightactiondefault to "rest">> <</if>> <<if $leftaction is "rest">> <<set $leftaction to 0>> <<set $leftactiondefault to "rest">> <</if>> <<effectshandsclothes>> <<if $feetaction is "feethit" and $feetactionTarget is _tentacle.id>> <<set $feetaction to 0>><<set $feetactiondefault to "feethit">> You kick _the _tentacle.fullDesc and it reels away from you. <<defiance 2>><<set $speechhit to 1>><<tentacleadvdisable _tentacle>><<set $attackstat += 1>> <<set _tentacle.tentaclehealth -= 1>> <<if $rng lte (currentSkillValue('physique') / 200)>> <span class="green">It trembles before your strength.</span> <<set _tentacle.tentaclehealth -= 1>> <</if>> <<if $abomination is 1>> <<defiance 3>> <</if>> <</if>> <<if $feetaction is "feetgrab" and $feetactionTarget is _tentacle.id>> <<set $feetaction to 0>><<set $feetactiondefault to "feetrub">><<submission 1>><<feetstat>> <span class="lblue">You <<feettext>> grab _the _tentacle.fullDesc between your feet.</span> <<tentacleadvdisable _tentacle>><<set $leftleg to _tentacle.id>><<set $rightleg to _tentacle.id>><<set $feettarget to "tentacles">> <<set _tentacle.head to "feet">><<feetstat>><<set $feetstate to "tentacle">> <</if>> <<if $feetaction is "feetrub"+_tentacle.id>> <<set $feetaction to 0>><<set $feetactiondefault to "feetrub"+_tentacle.id>><<feetskilluse>><<submission 1>> You <<feettext>> squeeze _the _tentacle.fullDesc between your feet and rub up and down its length. <<if currentSkillValue("feetskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip.</span> <<bodyliquid "feet" _fluid>><<set _tentacle.tentaclehealth -= 3>><<feetejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $feetaction is "showthighs"+_tentacle.id or $feetaction is "showbottom"+_tentacle.id>> <<set $feetaction to 0>><<set $feetstate to 0>> <<set $leftleg to 0>><<set $rightleg to 0>> <<submission 1>> <br> <<combatdeviancy5>> <br> <<if $feetaction is "showthighs"+_tentacle.id>> <<set _dir to "thighs">> You <<feettext>> guide _the _tentacle.fullDesc with your feet between your thighs. <<else>> <<set _dir to "bottom">> You <<feettext>> guide _the _tentacle.fullDesc with your feet towards your <<bottom>>. <</if>> <<if $rng lte 30>> /* Leg grapple? */ <<if $rng gte 15>> <<set _leg to "left">><<set _tentacle.shaft to "leftleg">><<set $leftleg to "grappled">><<set $feettarget to "tentacles">> <<else>> <<set _leg to "right">><<set _tentacle.shaft to "rightleg">><<set $rightleg to "grappled">><<set $feettarget to "tentacles">> <</if>> <<neutral 1>><<feettentacledisable>> _The _tentacle.fullDesc winds its way around your _leg leg, <span class="blue">restraining it.</span> <<else>> <<if _tentacle.shaft is 0>> <<if _dir is "thighs">> <<set _tentacle.shaft to (either("tummy","waist"))>> <<else>> <<set _tentacle.shaft to (either("tummy","waist","thighs"))>> <</if>> <</if>> <</if>> <<if _dir is "thighs">> <<if $player.penisExist and $penisuse is 0>> <<set $penisuse to "tentaclerub">><<set _tentacle.head to "penisrub">><<set $penistarget to "tentacles">> <<elseif $player.vaginaExist and $vaginause is 0>> <<set $vaginause to "tentaclerub">><<set _tentacle.head to "vaginarub">><<set $vaginatarget to "tentacles">> <</if>> <<sex 3 "genitals">><<thighstat>> <<set $thighuse to "tentaclerub">> <<else>> <<set $anusstate to "tentaclerub">><<set $anususe to "tentaclerub">> <<set _tentacle.head to "anusrub">><<sex 1 "anus">><<bottomstat>><<set $anustarget to "tentacles">> <</if>> <</if>> <<if $feetaction is "showvagina"+_tentacle.id>> <<set $feetaction to 0>><<set $feetstate to 0>> <<set $leftleg to 0>><<set $rightleg to 0>> <<if $player.vaginaExist>> <<submission 1>> <br> <<combatdeviancy5>> <br> You <<feettext>> guide _the _tentacle.fullDesc with your feet between your thighs close to your pussy. <<if $rng lte 30>> <<if $rng gte 15>> <<set _leg to "left">><<set _tentacle.shaft to "leftleg">><<set $leftleg to "grappled">><<set $feettarget to "tentacles">> <<else>> <<set _leg to "right">><<set _tentacle.shaft to "rightleg">><<set $rightleg to "grappled">><<set $feettarget to "tentacles">> <</if>> <<neutral 1>><<feettentacledisable>> _The _tentacle.fullDesc winds its way around your _leg leg, <span class="blue">restraining it.</span> <<else>> <<if _tentacle.shaft is 0>> <<set _tentacle.shaft to (either("tummy","waist"))>> <</if>> <</if>> <<if $vaginause is 0>> <<set $vaginause to "tentaclerub">><<set _tentacle.head to "vaginarub">><<set $vaginatarget to "tentacles">> <</if>> <<sex 3 "genitals">><<thighstat>> <<set $thighuse to "tentaclerub">> <</if>> <</if>> <<if $feetaction is "showpenis"+_tentacle.id>> <<set $feetaction to 0>><<set $feetstate to 0>> <<set $leftleg to 0>><<set $rightleg to 0>> <<if playerHasStrapon() or $player.penisExist>> <<submission 1>> <br> <<combatdeviancy5>> <br> You <<feettext>> guide _the _tentacle.fullDesc with your feet between your thighs close to your <<print playerHasStrapon() ? "strap-on" : "penis">>. <<if $rng lte 30>> <<if $rng gte 15>> <<set _leg to "left">><<set _tentacle.shaft to "leftleg">><<set $leftleg to "grappled">><<set $feettarget to "tentacles">> <<else>> <<set _leg to "right">><<set _tentacle.shaft to "rightleg">><<set $rightleg to "grappled">><<set $feettarget to "tentacles">> <</if>> <<neutral 1>><<feettentacledisable>> _The _tentacle.fullDesc winds its way around your _leg leg, <span class="blue">restraining it.</span> <<else>> <<if _tentacle.shaft is 0>> <<set _tentacle.shaft to (either("tummy","waist"))>> <</if>> <</if>> <<if $penisuse is 0>> <<set $penisuse to "tentaclerub">><<set _tentacle.head to "penisrub">><<set $penistarget to "tentacles">> <</if>> <<sex 3 "genitals">><<thighstat>> <<set $thighuse to "tentaclerub">> <</if>> <</if>> <<if $feetaction is "feetstop"+_tentacle.id>> <<set $feetaction to 0>><<set $feetactiondefault to "feetstop"+_tentacle.id>> You let go of the _tentacle.fullDesc between your feet. <<tentacleadvdisable _tentacle>> <</if>> <<if $feetaction is "rest">> <<set $feetaction to 0>> <<set $feetactiondefault to "rest">> <</if>> <<if $mouthaction is "mouthlull"+_tentacle.id>> <<set $mouthaction to 0>><<set $mouthactiondefault to "mouthlull"+_tentacle.id>> <<brat 1>> You hum a soothing lullaby at _the _tentacle.fullDesc, sapping its strength. <span class="green">It recoils.</span> <<tentacleadvdisable _tentacle>><<set _tentacle.tentaclehealth -= 1>> <<if $rng lte (currentSkillValue('willpower') / 10)>> <span class="green">It trembles before your will.</span> <<set _tentacle.tentaclehealth -= 1>> <</if>> <</if>> <<if $mouthaction is "mouthlick"+_tentacle.id>> <<set $mouthaction to 0>><<set $mouthactiondefault to "mouthlick"+_tentacle.id>> <<submission 2>><<oralskilluse>> You <<oraltext>> lick the tip of _the _tentacle.fullDesc. <<if currentSkillValue("oralskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your face.</span> <<bodyliquid "face" _fluid>><<set _tentacle.tentaclehealth -= 3>><<faceejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $mouthaction is "mouthkiss"+_tentacle.id>> <<set $mouthaction to 0>><<set $mouthactiondefault to "mouthkiss"+_tentacle.id>> <<submission 3>><<oralskilluse>> You <<oraltext>> kiss the tip of _the _tentacle.fullDesc. <<if currentSkillValue("oralskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your face.</span> <<bodyliquid "face" _fluid>><<set _tentacle.tentaclehealth -= 3>><<faceejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $mouthaction is "take">> <<set $mouthaction to 0>><<set $mouthactiondefault to "take">> <</if>> <<if $mouthaction is "mouthcooperate"+_tentacle.id>> <<set $mouthaction to 0>><<set $mouthactiondefault to "mouthcooperate"+_tentacle.id>> <<sex 5 "mouth">><<oralskilluse>> You <<oraltext>> suck the _tentacle.fullDesc invading your mouth. <<if currentSkillValue("oralskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip and into your mouth.</span> <<set _tentacle.tentaclehealth -= 3>><<if _fluid is "nectar">><<nectarfed 5>><<else>><<drugs 3>><</if>><<bodyliquid "mouth" _fluid>><<oralejacstat>><<ejacstat>> <<if _tentacle.desc.includes("pale")>> <<hallucinogen 5>> <</if>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $mouthaction is "mouthpullaway"+_tentacle.id>> <<set _nectarDifficulty to Math.clamp($drugged, 0, 500) + Math.clamp($nectar_addiction, 0, 500)>> <<willpowerdifficulty _nectarDifficulty $willpowermax "silent">> <<if $NPCList[0].type is "plant" and _tentacle.head is "mouthdeep" and !$willpowerSuccess>> You attempt to pull away from the _tentacle.fullDesc threatening your mouth. <span class="red">However, you can't tear yourself from the sweet nectar,</span> and desperately suck on the _tentacle.type. <<willpower 1>> <<else>> <<set $mouthaction to 0>><<set $mouthactiondefault to "mouthpullaway"+_tentacle.id>><<brat 1>> <span class="teal">You pull away from the _tentacle.fullDesc threatening your mouth.</span> <<tentacleadvdisable _tentacle>> <</if>> <</if>> <<if $mouthaction is "mouthbite"+_tentacle.id>> <<set $mouthaction to 0>><<set $mouthactiondefault to "mouthbite"+_tentacle.id>><<defiance 5>> You bite down on the _tentacle.fullDesc invading your mouth. <span class="teal">It recoils immediately.</span> <<tentacleadvdisable _tentacle>><<set $attackstat += 1>><<set _tentacle.tentaclehealth -= 1>> <<if $rng lte (currentSkillValue('physique') / 200)>> <span class="green">It trembles before your strength.</span> <<set _tentacle.tentaclehealth -= 1>> <</if>> <<if $abomination is 1>> The <<person>> grunts in pain. <<defiance 10>> <<if $transformationParts.traits.fangs isnot "disabled">> <<defiance 10>><<defiance 10>> You lick your fangs clean. <</if>> <</if>> <</if>> <<if $vaginaaction is "vaginarub"+_tentacle.id>> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "vaginarub"+_tentacle.id>> <<submission 2>><<vaginalskilluse>> You <<vaginaltext>> rub the tip of _the _tentacle.fullDesc with your <<pussy>>. <<if currentSkillValue("vaginalskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip.</span> <<bodyliquid "vaginaoutside" _fluid>><<set _tentacle.tentaclehealth -= 3>><<vaginalentranceejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $vaginaaction is "take">> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "take">> <</if>> <<if $vaginaaction is "vaginacooperate"+_tentacle.id>> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "vaginacooperate"+_tentacle.id>> <<sex 5 "genitals">><<vaginalskilluse>> You <<vaginaltext>> push back against the _tentacle.fullDesc invading your <<pussy>>. <<if currentSkillValue("vaginalskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, flooding your womb with its warmth.</span> <<set _tentacle.tentaclehealth -= 3>><<drugs 3>><<bodyliquid "vagina" _fluid>><<vaginalejacstat>><<ejacstat>> <<if _tentacle.desc.includes("pale")>> <<hallucinogen 5>> <</if>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $vaginaaction is "vaginapullaway"+_tentacle.id>> <<set $vaginaaction to 0>><<set $vaginaactiondefault to "vaginapullaway"+_tentacle.id>><<brat 1>> <span class="teal">You pull away from the _tentacle.fullDesc threatening your <<pussy>>.</span> <<tentacleadvdisable _tentacle>> <</if>> <<if $penisaction is "penisrub"+_tentacle.id>> <<set $penisaction to 0>><<set $penisactiondefault to "penisrub"+_tentacle.id>> <<submission 2>><<penileskilluse>> You <<peniletext>> rub the tip of the _tentacle.fullDesc with your <<penis>>. <<if currentSkillValue("penileskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip.</span> <<bodyliquid "penis" _fluid>><<set _tentacle.tentaclehealth -= 3>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $penisaction is "take">> <<set $penisaction to 0>><<set $penisactiondefault to "take">> <</if>> <<if $penisaction is "peniscooperate"+_tentacle.id>> <<set $penisaction to 0>><<set $penisactiondefault to "peniscooperate"+_tentacle.id>> <<sex 5 "genitals">><<penileskilluse>> You <<peniletext>> push back against the _tentacle.fullDesc engulfing your <<penis>>. <<if currentSkillValue("penileskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your groin.</span> <<set _tentacle.tentaclehealth -= 3>><<bodyliquid "penis" _fluid>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $penisaction is "penispullaway"+_tentacle.id>> <<set $penisaction to 0>><<set $penisactiondefault to "penispullaway"+_tentacle.id>><<brat 1>> <span class="teal">You pull away from the _tentacle.fullDesc threatening your <<penis>>.</span> <<tentacleadvdisable _tentacle>> <</if>> <<if $anusaction is "anusrub"+_tentacle.id>> <<set $anusaction to 0>><<set $anusactiondefault to "anusrub"+_tentacle.id>> <<submission 2>><<analskilluse>> You <<analtext>> rub the tip of _the _tentacle.fullDesc with your <<bottom>>. <<if currentSkillValue("analskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your <<bottom>>.</span> <<bodyliquid "bottom" _fluid>><<set _tentacle.tentaclehealth -= 3>><<bottomejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $anusaction is "take">> <<set $anusaction to 0>><<set $anusactiondefault to "take">> <</if>> <<if $anusaction is "anuscooperate"+_tentacle.id>> <<set $anusaction to 0>><<set $anusactiondefault to "anuscooperate"+_tentacle.id>> <<sex 5 "anus">><<analskilluse>> You <<analtext>> push back against the _tentacle.fullDesc invading your <<bottom>>. <<if currentSkillValue("analskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, flooding your bowels with its warmth.</span> <<set _tentacle.tentaclehealth -= 3>><<drugs 3>><<bodyliquid "anus" _fluid>><<analejacstat>><<ejacstat>> <<if _tentacle.desc.includes("pale")>> <<hallucinogen 5>> <</if>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $anusaction is "anuspullaway"+_tentacle.id>> <<set $anusaction to 0>><<set $anusactiondefault to "anuspullaway"+_tentacle.id>><<brat 1>> <span class="teal">You pull away from the _tentacle.fullDesc threatening your <<bottom>>.</span> <<tentacleadvdisable _tentacle>> <</if>> <<if $thighaction is "penisrub"+_tentacle.id>> <<set $thighaction to 0>><<set $thighactiondefault to "penisrub"+_tentacle.id>> <<submission 3>><<thighskilluse>> You <<thightext>> rub _the _tentacle.fullDesc between your thighs. <<if currentSkillValue("thighskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your tummy.</span> <<set _tentacle.tentaclehealth -= 3>><<bodyliquid "tummy" _fluid>><<tummyejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $thighaction is "vaginarub"+_tentacle.id>> <<set $thighaction to 0>><<set $thighactiondefault to "vaginarub"+_tentacle.id>> <<submission 3>><<thighskilluse>>You <<thightext>> rub _the _tentacle.fullDesc between your thighs. <<if currentSkillValue("thighskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your tummy.</span> <<set _tentacle.tentaclehealth -= 3>><<bodyliquid "tummy" _fluid>><<tummyejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $anusaction is "anusrub"+_tentacle.id>> <<set $anusaction to 0>><<set $anusactiondefault to "anusrub"+_tentacle.id>> <<submission 3>><<bottomskilluse>> You <<bottomtext>> rub _the _tentacle.fullDesc between your cheeks. <<if currentSkillValue("bottomskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your <<bottom>>.</span> <<set _tentacle.tentaclehealth -= 3>><<bodyliquid "bottom" _fluid>><<bottomejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <<if $chestaction is "chestrub"+_tentacle.id>> <<set $chestaction to 0>><<set $chestactiondefault to "chestrub"+_tentacle.id>> <<submission 3>><<chestskilluse>> You <<chesttext>> rub _the _tentacle.fullDesc between your <<breasts>>. <<if currentSkillValue("chestskill") gte (800 - ($rng * 10))>> <span class="lblue">_Slimy _fluid erupts from the tip, covering your chest.</span> <<set _tentacle.tentaclehealth -= 3>><<bodyliquid "chest" _fluid>><<chestejacstat>><<ejacstat>> <<if $abomination is 1>> <<set $enemyarousal += 6>> <</if>> <</if>> <</if>> <</widget>> <<widget "tentacle_skin">> <<if $skin[_args[0]] and $skin[_args[0]].special is "holy" or $skin[_args[1]] and $skin[_args[1]].special is "holy" and !$banishDisable>> The holy symbol on your skin burns with a white light, <span class="pink">searing you,</span> <span class="teal">and _the _tentacle.fullDesc.</span><<pain 8>><<set _tentacle.tentaclehealth -= 12>><<tentacleadvdisable _tentacle>> <<elseif _tentacle.traits.includes("pain") and _args[0] isnot "pubic">> <<if _args[0].includes("_")>> <<set _bodypart to _args[0].split("_").pop()>> <<else>> <<set _bodypart to _args[0]>> <</if>> <<if !(playerHasStrapon() and _bodypart is "penis")>> You <<print $masochism_level gte 3 ? "shiver" : "wince">> as _the _tentacle.fullDesc rubs against your _bodypart. <<pain 1>><<gpain>> <</if>> <</if>> <</widget>><<widget "generateActionsTentacle">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <<set _The to ($abomination is 1 ? "<<His>>" : "The")>> <<set _the to ($abomination is 1 ? "<<his>>" : "the")>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<leftActionInitTentacle>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<rightActionInitTentacle>> </div> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<feetActionInitTentacle>> </div> <<if $mouthstate isnot 0 or !($dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined))>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInitTentacle>> </div> <</if>> <<if $penisstate isnot 0 and $player.penisExist>> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInitTentacle>> </div> <</if>> <<if $vaginastate isnot 0 and $player.vaginaExist>> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInitTentacle>> </div> <</if>> <<if $anusstate isnot 0>> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInitTentacle>> </div> <</if>> <<if $chestuse isnot 0 and $chestuse isnot "squeezed">> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInitTentacle>> </div> <</if>> </div> <</widget>> <<widget "leftActionInitTentacle">> <<set $lefttarget to "tentacles">> <<switch $leftarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">Your left arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "pain">> <span class="red">Your left arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "unreal">> <span class="pink">Your left arm is free, but doesn't feel real.</span> <<else>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "free">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "left" _targetlistarms>> <</if>> <</if>> <<case "tentgrappled">> <<if $orgasmdown gte 1>> <<set _leftOptions to "bound">> <span class="lewd">Your left arm jerks against _the grip.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "bound">> <span class="red">Your left arm is held in a painful grip.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "bound">> <span class="pink">Your left arm lies limp in _the grip.</span> <<else>> <<set _leftOptions to "grappled">> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i].shaft is "leftarm">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">_The $tentacles[_i].fullDesc entangles your left arm.</span> <<set $_tentgrab to 1>> <<if $angel gte 4 and $angelBanish gte 1 and !$banishDisable>> <<set _banishTarget to $tentacles[_i]>> <</if>> <<break>> <</if>> <</for>> <<if !$_tentgrab>> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is being held down.</span> <</if>> <</if>> <<case "bound">> <<set _leftOptions to "bound">> <<if $orgasmdown gte 1>> <span class="lewd">Your left arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your left arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your left arm lies limp in its bonds.</span> <<else>> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is bound.</span> <</if>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<leftActionInit>> <<case "trapped">> <<set $_changetype to true>><<leftActionInitVore>> <<case "struggle">> <<set $_changetype to true>><<leftActionInitStruggle>> <<case "swarmgrappled">> <<set $_changetype to true>><<leftActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<leftActionInitMachine>> <<default>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $leftarm is $tentacles[_i].id>> <<set _leftOptions to "tentacle">> <<set _tentacleLeftOption to $tentacles[_i].id>> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">You hold _the $tentacles[_i].fullDesc in your left hand.</span> <<break>> <</if>> <</for>> <</switch>> <<if $_changetype isnot true>> <<leftActionsTentacle>> <<if Object.keys(_leftaction).length gt 0>> <<if Object.values(_leftaction).includes($leftactiondefault) is false or _args[0] is true or ["rest","leftgrabtentacle"].includes($leftactiondefault)>> <<set _defaultsCombatAction to "leftaction">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, "Tentacles", _defaultsCombatAction)>> <<set _pass to false>> <<for _set to 0; _set lt _actionsSet.length; _set++>> <<if ["leftgrabtentacle"].includes(_actionsSet[_set]) and $leftactionTarget isnot undefined>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i].shaft isnot "finished">> <<if $regrab and $tentacles[_i].head is 0>> <<set $leftactiondefault to clone(_actionsSet[_set])>> <<set $leftactionTarget to $tentacles[_i].id>> <<set _pass to true>> <<break>> <<elseif $tentacles[_i].head is 0>> <<set $leftactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <</if>> <<if $regrab is false>> <<break>> <</if>> <</if>> <</for>> <<elseif ["leftrub","showpenis","showvagina","showbottom"].includes(_actionsSet[_set]) and _tentacleLeftOption isnot undefined>> <<if Object.values(_leftaction).includes(_actionsSet[_set] + _tentacleLeftOption)>> <<set $leftactiondefault to clone(_actionsSet[_set] + _tentacleLeftOption)>> <<set _pass to true>> <<break>> <</if>> <<elseif Object.values(_leftaction).includes(_actionsSet[_set])>> <<set $leftactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <<break>> <</if>> <</for>> <<if _pass is false>> <<set $leftactiondefault to Object.values(_leftaction)[0]>> <</if>> <</if>> <<set $leftaction to $leftactiondefault>> <<set _textColor to combatListColor('leftaction', (Object.values(_leftaction).includes($leftaction) ? $leftaction : Object.values(_leftaction)[0]), "Tentacle")>> <div class="extraMargin"> <<if not $options.combatControls.includes("adio") and _leftOptions is "free">> <<set _reducedWidths to true>> <<else>> <<set _reducedWidths to false>> <</if>> /* _reducedWidths is used by generateCombatAction */ <<generateCombatAction _leftaction "leftaction" "Tentacle">> <<if _leftOptions is "free" and $tentacles.active gt 0>> <<leftactionSetupTentacle>> <<elseif _leftOptions is "grappled" and $angel gte 4 and $angelBanish gte 1 and !$banishDisable and _banishTarget>> <<leftactionBoundBanish>> <</if>> </div> <<if $options.combatControls.includes("ists")>> <div id="leftactionDifficulty"> <<leftactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.left to clone(_leftOptions)>> <</if>> <</widget>> <<widget "leftactionSetupTentacle">> <<if $options.combatControls is "radio">> <br><br> <<set _first to true>> <<if $regrab>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished" and $tentacles[_i].id is $leftactionTarget>> <<set _first to false>> <<set $_found to $tentacles[_i].id>> <<break>> <</if>> <</if>> <</for>> <</if>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished">> <label> <<print '<<radiobutton "$leftactionTarget" "'+$tentacles[_i].id+'" ' + (_first is true or $tentacles[_i].id is $_found ? "checked" : "") + '>>'>> $tentacles[_i].fullDesc </label> | <<set _first to false>> <</if>> <</if>> <</for>> <<else>> <<if _availableTargets is undefined>> <<if $controls is "radio">> <br> <</if>> <<set _availableTargets to {}>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished">> <<set _availableTargets[$tentacles[_i].fullDesc] to $tentacles[_i].id>> <<set _tentacle_targets_available to true>> <</if>> <</if>> <</for>> <</if>> <<if _tentacle_targets_available>> <<if $options.combatControls is "columnRadio">> <label> Target: <span @class="'whiteList ' + 'reducedWidth'"> <<listbox "$leftactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> </label> <<else>> <span @class="'whiteList ' + (_reducedWidths is true? 'reducedWidth':'')"> <<listbox "$leftactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> <</if>> <</if>> <</if>> <</widget>> <<widget "leftactionBoundBanish">> <<if $options.combatControls.includes("adio")>> <br> <label> <<print '<<radiobutton "$leftactionTarget" "'+_banishTarget.id+'">>'>> $tentacles[_i].fullDesc </label> | <<else>> <<set _availableTargets to {}>> <<set _availableTargets[_banishTarget.fullDesc] to _banishTarget.id>> <span @class="'whiteList ' + (_reducedWidths is true? 'reducedWidth':'')"> <<listbox "$leftactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> <</if>> <</widget>> <<widget "leftactionDifficultyTentacle">> <<if _args[0] is undefined>> <<set _diffAction to $leftaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <<case "showbottomtentacle" "showthighstentacle" "showmouthtentacle" "showpenistentacle" "showvaginatentacle">><<deviant5>> <</switch>> <</widget>> <<widget "leftActionsTentacle">> /*Generate Actions*/ <<set _leftaction to {}>> <<if !(["orgasm", "pain", "unreal"].includes(_leftOptions))>> <<set _leftaction["Rest"] to "rest">> <</if>> <<switch _leftOptions>> <<case "free">> <<if $tentacles.active gt 0>> <<if $consensual is 0>> <<set _leftaction["Strike the"] to "lefthittentacle">> <<if $angel gte 4 and $angelBanish gte 1 and !$banishDisable>> <<set _leftaction["("+$angelBanish+" / "+$angelBanishMax+") Banish the"] to "leftbanish">> <</if>> <</if>> <<set _leftaction["Grab the"] to "leftgrabtentacle">> <</if>> <<leftclothesnew>> <<case "grappled">> <<if $angel gte 4 and $angelBanish gte 1 and !$banishDisable>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i].shaft is "leftarm">> <<set _leftaction["("+$angelBanish+" / "+$angelBanishMax+") Banish the"] to "leftbanish">> <<break>> <</if>> <</for>> <</if>> <<case "bound">> <<case "tentacle">> <<set _leftaction["Milk it"] to "leftrub"+_tentacleLeftOption>> <<set _leftaction["Let go"] to "leftstop"+_tentacleLeftOption>> <<if hasSexStat("deviancy", 5)>> <<if playerHasStrapon() and $penisuse is 0>> <<set _leftaction["Guide to your strap-on"] to "showpenis"+_tentacleLeftOption>> <<elseif $player.penisExist and $penisuse is 0>> <<set _leftaction["Guide to your penis"] to "showpenis"+_tentacleLeftOption>> <</if>> <<if $player.vaginaExist and $vaginause is 0>> <<set _leftaction["Guide to your pussy"] to "showvagina"+_tentacleLeftOption>> <</if>> <<if $anususe is 0 and $analdisable is "f">> <<set _leftaction["Guide to your ass"] to "showbottom"+_tentacleLeftOption>> <</if>> /* Old Control <<if ($player.vaginaExist and $vaginause is 0) or ($player.penisExist and $penisuse is 0)>> <<set _leftaction["Guide to your thighs"] to "showthighs"+_tentacleLeftOption>> <</if>>*/ <<if $mouthuse is 0>> <<set _leftaction["Guide to your mouth"] to "showmouth"+_tentacleLeftOption>> <</if>> <</if>> <<case "orgasm">> <<set _leftaction["Fold"] to "leftfold">> <<set _leftaction["Grip"] to "leftgrip">> <<case "pain">> <<set _leftaction["Struggle"] to "leftstruggleweak">> <<set _leftaction["Protect"] to "leftprotect">> <<case "unreal">> <<set _leftaction["Poke yourself"] to "leftpoke">> <<set _leftaction["Keep your arms out of the way"] to "leftcurl">> <</switch>> <</widget>> <<widget "rightActionInitTentacle">> <<set $righttarget to "tentacles">> <<switch $rightarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">Your right arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "pain">> <span class="red">Your right arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "unreal">> <span class="pink">Your right arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "free">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "right" _targetlistarms>> <</if>> <<if _targetnumber is 1>> <<set $righttarget to _firsttarget>> <</if>> <</if>> <<case "tentgrappled">> <<if $orgasmdown gte 1>> <<set _rightOptions to "bound">> <span class="lewd">Your right arm jerks against _the grip.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "bound">> <span class="red">Your right arm is held in a painful grip.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "bound">> <span class="pink">Your right arm lies limp in _the grip.</span> <<else>> <<set _rightOptions to "grappled">> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i].shaft is "rightarm">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">_The $tentacles[_i].fullDesc entangles your right arm.</span> <<set $_tentgrab to 1>> <<if $angel gte 4 and $angelBanish gte 1 and !$banishDisable>> <<set _banishTarget to $tentacles[_i]>> <</if>> <<break>> <</if>> <</for>> <<if !$_tentgrab>> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is being held down.</span> <</if>> <</if>> <<case "bound">> <<set _rightOptions to "bound">> <<if $orgasmdown gte 1>> <span class="lewd">Your right arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your right arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your right arm lies limp in its bonds.</span> <<else>> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is bound.</span> <</if>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<rightActionInit>> <<case "trapped">> <<set $_changetype to true>><<rightActionInitVore>> <<case "struggle">> <<set $_changetype to true>><<rightActionInitStruggle>> <<case "swarmgrappled">> <<set $_changetype to true>><<rightActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<rightActionInitMachine>> <<default>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $rightarm is $tentacles[_i].id>> <<set _rightOptions to "tentacle">> <<set _tentaclerightOption to $tentacles[_i].id>> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">You hold _the $tentacles[_i].fullDesc in your right hand.</span> <<break>> <</if>> <</for>> <</switch>> <<if $_changetype isnot true>> <<rightActionsTentacle>> <<if Object.keys(_rightaction).length gt 0>> <<if Object.values(_rightaction).includes($rightactiondefault) is false or _args[0] is true or ["rest","rightgrabtentacle"].includes($rightactiondefault)>> <<set _defaultsCombatAction to "rightaction">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, "Tentacles", _defaultsCombatAction)>> <<set _pass to false>> <<for _set to 0; _set lt _actionsSet.length; _set++>> <<if ["rightgrabtentacle"].includes(_actionsSet[_set]) and $rightactionTarget isnot undefined>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i].shaft isnot "finished">> <<if $regrab and $tentacles[_i].head is 0>> <<set $rightactiondefault to clone(_actionsSet[_set])>> <<set $rightactionTarget to $tentacles[_i].id>> <<set _pass to true>> <<break>> <<elseif $tentacles[_i].head is 0>> <<set $rightactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <</if>> <<if $regrab is false>> <<break>> <</if>> <</if>> <</for>> <<elseif ["rightrub","showpenis","showvagina","showbottom"].includes(_actionsSet[_set]) and _tentaclerightOption isnot undefined>> <<if Object.values(_rightaction).includes(_actionsSet[_set] + _tentaclerightOption)>> <<set $rightactiondefault to clone(_actionsSet[_set] + _tentaclerightOption)>> <<set _pass to true>> <<break>> <</if>> <<elseif Object.values(_rightaction).includes(_actionsSet[_set])>> <<set $rightactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <<break>> <</if>> <</for>> <<if _pass is false>> <<set $rightactiondefault to Object.values(_rightaction)[0]>> <</if>> <</if>> <<set $rightaction to $rightactiondefault>> <<set _textColor to combatListColor('rightaction', (Object.values(_rightaction).includes($rightaction) ? $rightaction : Object.values(_rightaction)[0]), "Tentacle")>> <div class="extraMargin"> <<if not $options.combatControls.includes("adio") and _rightOptions is "free">> <<set _reducedWidths to true>> <<else>> <<set _reducedWidths to false>> <</if>> /* _reducedWidths is used by generateCombatAction */ <<generateCombatAction _rightaction "rightaction" "Tentacle">> <<if _rightOptions is "free" and $tentacles.active gt 0>> <<rightactionSetupTentacle>> <<elseif _rightOptions is "grappled" and $angel gte 4 and $angelBanish gte 1 and !$banishDisable and _banishTarget>> <<rightactionBoundBanish>> <</if>> </div> <<if $options.combatControls.includes("ists")>> <div id="rightactionDifficulty"> <<rightactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.right to clone(_rightOptions)>> <</if>> <</widget>> <<widget "rightactionSetupTentacle">> <<if $options.combatControls is "radio">> <br><br> <<set _first to true>> <<if $regrab>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished" and $tentacles[_i].id is $rightactionTarget>> <<set _first to false>> <<set $_found to $tentacles[_i].id>> <<break>> <</if>> <</if>> <</for>> <</if>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished">> <label> <<print '<<radiobutton "$rightactionTarget" "'+$tentacles[_i].id+'" ' + (_first is true or $tentacles[_i].id is $_found ? "checked" : "") + '>>'>> $tentacles[_i].fullDesc </label> | <<set _first to false>> <</if>> <</if>> <</for>> <<else>> <<if _availableTargets is undefined>> <<if $controls is "radio">> <br> <</if>> <<set _availableTargets to {}>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished">> <<set _availableTargets[$tentacles[_i].fullDesc] to $tentacles[_i].id>> <<set _tentacle_targets_available to true>> <</if>> <</if>> <</for>> <</if>> <<if _tentacle_targets_available>> <<if $options.combatControls is "columnRadio">> <label> Target: <span @class="'whiteList ' + 'reducedWidth'"> <<listbox "$rightactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> </label> <<else>> <span @class="'whiteList ' + (_reducedWidths is true? 'reducedWidth':'')"> <<listbox "$rightactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> <</if>> <</if>> <</if>> <</widget>> <<widget "rightactionBoundBanish">> <<if $options.combatControls.includes("adio")>> <br> <label> <<print '<<radiobutton "$rightactionTarget" "'+_banishTarget.id+'">>'>> $tentacles[_i].fullDesc </label> | <<else>> <<set _availableTargets to {}>> <<set _availableTargets[_banishTarget.fullDesc] to _banishTarget.id>> <span @class="'whiteList ' + (_reducedWidths is true? 'reducedWidth':'')"> <<listbox "$rightactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> <</if>> <</widget>> <<widget "rightactionDifficultyTentacle">> <<if _args[0] is undefined>> <<set _diffAction to $rightaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <<case "showbottomtentacle" "showthighstentacle" "showmouthtentacle" "showpenistentacle" "showvaginatentacle">><<deviant5>> <</switch>> <</widget>> <<widget "rightActionsTentacle">> /*Generate Actions*/ <<set _rightaction to {}>> <<if !(["orgasm", "pain", "unreal"].includes(_rightOptions))>> <<set _rightaction["Rest"] to "rest">> <</if>> <<switch _rightOptions>> <<case "free">> <<if $tentacles.active gt 0>> <<if $consensual is 0>> <<set _rightaction["Strike the"] to "righthittentacle">> <<if $angel gte 4 and $angelBanish gte 1 and !$banishDisable>> <<set _rightaction["("+$angelBanish+" / "+$angelBanishMax+") Banish the"] to "rightbanish">> <</if>> <</if>> <<set _rightaction["Grab the"] to "rightgrabtentacle">> <</if>> <<rightclothesnew>> <<case "grappled">> <<if $angel gte 4 and $angelBanish gte 1 and !$banishDisable>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i].shaft is "rightarm">> <<set _rightaction["("+$angelBanish+" / "+$angelBanishMax+") Banish the"] to "rightbanish">> <<break>> <</if>> <</for>> <</if>> <<case "bound">> <<case "tentacle">> <<set _rightaction["Milk it"] to "rightrub"+_tentaclerightOption>> <<set _rightaction["Let go"] to "rightstop"+_tentaclerightOption>> <<if hasSexStat("deviancy", 5)>> <<if playerHasStrapon() and $penisuse is 0>> <<set _rightaction["Guide to your strap-on"] to "showpenis"+_tentacleRightOption>> <<elseif $player.penisExist and $penisuse is 0>> <<set _rightaction["Guide to your penis"] to "showpenis"+_tentaclerightOption>> <</if>> <<if $player.vaginaExist and $vaginause is 0>> <<set _rightaction["Guide to your pussy"] to "showvagina"+_tentaclerightOption>> <</if>> <<if $anususe is 0 and $analdisable is "f">> <<set _rightaction["Guide to your ass"] to "showbottom"+_tentaclerightOption>> <</if>> /* Old controls <<if ($player.vaginaExist and $vaginause is 0) or ($player.penisExist and $penisuse is 0)>> <<set _rightaction["Guide to your thighs"] to "showthighs"+_tentaclerightOption>> <</if>>*/ <<if $mouthuse is 0>> <<set _rightaction["Guide to your mouth"] to "showmouth"+_tentaclerightOption>> <</if>> <</if>> <<case "orgasm">> <<set _rightaction["Fold"] to "rightfold">> <<set _rightaction["Grip"] to "rightgrip">> <<case "pain">> <<set _rightaction["Struggle"] to "rightstruggleweak">> <<set _rightaction["Protect"] to "rightprotect">> <<case "unreal">> <<set _rightaction["Poke yourself"] to "rightpoke">> <<set _rightaction["Keep your arms out of the way"] to "rightcurl">> <</switch>> <</widget>> <<widget "feetActionInitTentacle">> <<set $feettarget to "tentacles">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<switch $feetuse>> <<case "penis" "othervagina" "bound" "walk" "run" "strut" "none">> <<set $_changetype to true>><<feetActionInit>> <<case "mechgrappled">> <<set $_changetype to true>><<feetActionInitMachine>> <<default>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistall["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<if !(($leftleg is "grappled" and $rightleg is "grappled") or ($leftleg is "bound" and $rightleg is "bound"))>> <<targetListBox "feet" _targetlistall>> <</if>> <</if>> <<if $leftleg is 0 and $rightleg is 0>> <<set _feetOptions to "free">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your legs are free.</span> <<elseif $leftleg is 0>> <<set _feetOptions to "leftFree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your left leg is free.</span> <<elseif $rightleg is 0>> <<set _feetOptions to "rightFree">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your right leg is free.</span> <<elseif $leftleg is "grappled" and $rightleg is "grappled">> <<set _feetOptions to "grappled">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your legs are entangled and forced apart, leaving you less able to protect your <<genitals>>.</span> <<elseif $leftleg is "bound" and $rightleg is "bound">> <<set _feetOptions to "bound">> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">Your legs are bound and forced apart, leaving you less able to protect your <<genitals>>.</span> <<else>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $leftleg is $tentacles[_i].id>> <<set _feetOptions to "tentacle">> <<set _tentacleFeetOption to $tentacles[_i].id>> <span @class="($lastOptions.feet isnot _feetOptions ?'gold':'')">You hold _the $tentacles[_i].fullDesc between your feet.</span> <<break>> <</if>> <</for>> <</if>> <<if $options.combatControls.includes("adio") and _targetnumber gt 1 and _feetOptions.toLowerCase().includes("free")>> <br> <<targetListBox "feet" _targetlistall>> <</if>> <<if _targetnumber is 1>> <<set $feettarget to _firsttarget>> <</if>> <</switch>> <<if $_changetype isnot true>> <<feetActionsTentacle>> <<if Object.keys(_feetaction).length gt 0>> <<if Object.values(_feetaction).includes($feetactiondefault) is false or _args[0] is true or ["rest","feetgrab"].includes($feetactiondefault)>> <<set _defaultsCombatAction to "feetaction">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, "Tentacles", _defaultsCombatAction)>> <<set _pass to false>> <<for _set to 0; _set lt _actionsSet.length; _set++>> <<if ["feetgrab"].includes(_actionsSet[_set]) and $feetactionTarget isnot undefined>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i].shaft isnot "finished">> <<if $regrab and $tentacles[_i].head is 0>> <<set $feetactiondefault to clone(_actionsSet[_set])>> <<set $feetactionTarget to $tentacles[_i].id>> <<set _pass to true>> <<break>> <<elseif $tentacles[_i].head is 0>> <<set $feetactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <</if>> <<if $regrab is false>> <<break>> <</if>> <</if>> <</for>> <<elseif ["feetrub","showpenis","showvagina","showbottom"].includes(_actionsSet[_set]) and _tentacleFeetOption isnot undefined>> <<if Object.values(_feetaction).includes(_actionsSet[_set] + _tentacleFeetOption)>> <<set $feetactiondefault to clone(_actionsSet[_set] + _tentacleFeetOption)>> <<set _pass to true>> <<break>> <</if>> <<elseif Object.values(_feetaction).includes(_actionsSet[_set])>> <<set $feetactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <<break>> <</if>> <</for>> <<if _pass is false>> <<set $feetactiondefault to Object.values(_feetaction)[0]>> <</if>> <</if>> <<set $feetaction to $feetactiondefault>> <<set _textColor to combatListColor('feetaction', (Object.values(_feetaction).includes($feetaction) ? $feetaction : Object.values(_feetaction)[0]), "Tentacle")>> <div class="extraMargin"> <<set _availableContext to ["free","leftFree","rightFree"]>> <<if not $options.combatControls.includes("adio") and _availableContext.includes(_feetOptions)>> <<set _reducedWidths to true>> <<else>> <<set _reducedWidths to false>> <</if>> /* _reducedWidths is used by generateCombatAction */ <<generateCombatAction _feetaction "feetaction" "Tentacle">> <<if _availableContext.includes(_feetOptions) and $tentacles.active gt 0>> <<feetactionSetupTentacle>> <</if>> </div> <<if $options.combatControls.includes("ists")>> <div id="feetactionDifficulty"> <<feetactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.feet to clone(_feetOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#feetaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "feetactionSetupTentacle">> <<if $options.combatControls is "radio">> <br><br> <<set _first to true>> <<if $regrab>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished" and $tentacles[_i].id is $feetactionTarget>> <<set _first to false>> <<set $_found to $tentacles[_i].id>> <<break>> <</if>> <</if>> <</for>> <</if>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished">> <label> <<print '<<radiobutton "$feetactionTarget" "'+$tentacles[_i].id+'" ' + (_first is true or $tentacles[_i].id is $_found ? "checked" : "") + '>>'>> $tentacles[_i].fullDesc </label> | <<set _first to false>> <</if>> <</if>> <</for>> <<else>> <<if _availableTargets is undefined>> <<if $controls is "radio">> <br> <</if>> <<set _availableTargets to {}>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<if $tentacles[_i].shaft isnot "finished">> <<set _availableTargets[$tentacles[_i].fullDesc] to $tentacles[_i].id>> <<set _tentacle_targets_available to true>> <</if>> <</if>> <</for>> <</if>> <<if _tentacle_targets_available>> <<if $options.combatControls is "columnRadio">> <label> Target: <span @class="'whiteList ' + 'reducedWidth'"> <<listbox "$feetactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> </label> <<else>> <span @class="'whiteList ' + (_reducedWidths is true? 'reducedWidth':'')"> <<listbox "$feetactionTarget" autoselect>> <<optionsfrom _availableTargets>> <</listbox>> </span> <</if>> <</if>> <</if>> <</widget>> <<widget "feetactionDifficultyTentacle">> <<if _args[0] is undefined>> <<set _diffAction to $feetaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <<case "showbottomtentacle" "showthighstentacle" "showpenistentacle" "showvaginatentacle">><<deviant5>> <</switch>> <</widget>> <<widget "feetActionsTentacle">> /*Generate Actions*/ <<set _feetaction to {}>> <<set _feetaction["Rest"] to "rest">> <<switch _feetOptions>> <<case "free">> <<if $tentacles.active gt 0>> <<if $consensual is 0>> <<set _feetaction["Kick the"] to "feethit">> <</if>> <<set _feetaction["Grab the"] to "feetgrab">> <</if>> <<case "leftFree" "rightFree">> <<if $tentacles.active gt 0>> <<if $consensual is 0>> <<set _feetaction["Kick the"] to "feethit">> <</if>> <</if>> <<case "tentacle">> <<set _feetaction["Milk it"] to "feetrub"+_tentacleFeetOption>> <<set _feetaction["Let go"] to "feetstop"+_tentacleFeetOption>> <<if hasSexStat("deviancy", 5)>> <<if playerHasStrapon() and $penisuse is 0>> <<set _feetaction["Guide to your strap-on"] to "showpenis"+_tentacleFeetOption>> <<elseif $player.penisExist and $penisuse is 0>> <<set _feetaction["Guide to your penis"] to "showpenis"+_tentacleFeetOption>> <</if>> <<if $player.vaginaExist and $vaginause is 0>> <<set _feetaction["Guide to your pussy"] to "showvagina"+_tentacleFeetOption>> <</if>> <<if $anususe is 0 and $analdisable is "f">> <<set _feetaction["Guide to your ass"] to "showbottom"+_tentacleFeetOption>> <</if>> /* Old control <<if ($player.vaginaExist and $vaginause is 0) or ($player.penisExist and $penisuse is 0)>> <<set _feetaction["Guide to your thighs"] to "showthighs"+_tentacleFeetOption>> <</if>>*/ <</if>> <</switch>> <</widget>> <<widget "mouthActionInitTentacle">> <<if $orgasmdown gte 1>> <<mouthActionInit>> <<elseif $pain gte 100 and $willpowerpain is 0>> <<mouthActionInit>> <<elseif $dissociation gte 2>> <<mouthActionInit>> <<else>> <<set $mouthtarget to "tentacles">> <<for _i to 0; _i lt $tentacles.max; _i++>> <<switch $mouthstate>> <<case "tentacleentrance">> <<if $tentacles[_i].head is "mouthentrance">> <<set _mouthOptions to "entrance">> <<set _tentacleMouthOption to $tentacles[_i].id>> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <span @class="($lastOptions.mouth isnot _mouthOptions ?'gold':'')">_The $tentacles[_i].fullDesc threatens your <<print $worn.face.name>>.</span> <<else>> <span @class="($lastOptions.mouth isnot _mouthOptions ?'gold':'')">_The $tentacles[_i].fullDesc threatens your mouth.</span> <</if>> <<break>> <</if>> <<case "tentacleimminent">> <<if $tentacles[_i].head is "mouthimminent">> <<set _mouthOptions to "imminent">> <<set _tentacleMouthOption to $tentacles[_i].id>> <<if $worn.face.type.includes("covered") or $worn.face.type.includes("gag")>> <span @class="($lastOptions.mouth isnot _mouthOptions ?'gold':'')">_The $tentacles[_i].fullDesc presses against your <<print $worn.face.name>>.</span> <<else>> <span @class="($lastOptions.mouth isnot _mouthOptions ?'gold':'')">_The $tentacles[_i].fullDesc presses against your mouth.</span> <</if>> <<break>> <</if>> <<case "tentacle">> <<if $tentacles[_i].head is "mouth">> <<set _mouthOptions to "penetrated">> <<set _tentacleMouthOption to $tentacles[_i].id>> <span @class="($lastOptions.mouth isnot _mouthOptions ?'gold':'')">_The $tentacles[_i].fullDesc thrusts into your mouth.</span> <<break>> <</if>> <<case "tentacledeep">> <<if $tentacles[_i].head is "mouthdeep">> <<set _mouthOptions to "penetrated">> <<set _tentacleMouthOption to $tentacles[_i].id>> <span @class="($lastOptions.mouth isnot _mouthOptions ?'gold':'')">_The $tentacles[_i].fullDesc thrusts into your mouth, ejaculating down your throat.</span> <<break>> <</if>> <<case "struggle" "struggle_pen">> <<set $_changetype to true>><<mouthActionInitStruggle>> <<break>> <<default>> <<set $_changetype to true>><<mouthActionInit>> <<break>> <</switch>> <</for>> <<if $_changetype isnot true>> <<mouthActionsTentacle>> <<if Object.keys(_mouthaction).length gt 0>> <<if Object.values(_mouthaction).includes($mouthactiondefault) is false or _args[0] is true or $mouthactiondefault is "rest">> <<set _defaultsCombatAction to "mouthaction">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, "Tentacles", _defaultsCombatAction)>> <<set _pass to false>> <<for _set to 0; _set lt _actionsSet.length; _set++>> <<if ["mouthlick","mouthpullaway","mouthkiss","mouthcooperate","mouthbite"].includes(_actionsSet[_set]) and _tentacleMouthOption isnot undefined>> <<if Object.values(_mouthaction).includes(_actionsSet[_set] + _tentacleMouthOption)>> <<set $mouthactiondefault to clone(_actionsSet[_set] + _tentacleMouthOption)>> <<set _pass to true>> <<break>> <</if>> <<elseif Object.values(_mouthaction).includes(_actionsSet[_set])>> <<set $mouthactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <<break>> <</if>> <</for>> <<if _pass is false>> <<set $mouthactiondefault to Object.values(_mouthaction)[0]>> <</if>> <</if>> <<set $mouthaction to $mouthactiondefault>> <<set _textColor to combatListColor('mouthaction', (Object.values(_mouthaction).includes($mouthaction) ? $mouthaction : Object.values(_mouthaction)[0]), "Tentacle")>> <div class="extraMargin"> <<generateCombatAction _mouthaction "mouthaction" "Tentacle">> </div> <<if $options.combatControls.includes("ists")>> <div id="mouthactionDifficulty"> <<mouthactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.mouth to clone(_mouthOptions)>> <</if>> <</if>> <</widget>> <<widget "mouthactionDifficultyTentacle">> /* <<if _args[0] is undefined>> <<set _diffAction to $mouthaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <</switch>> */ <</widget>> <<widget "mouthActionsTentacle">> /*Generate Actions*/ <<set _mouthaction to {}>> <<switch _mouthOptions>> <<case "entrance">> <<set _mouthaction["Rest"] to "rest">> <<if !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Lick it"] to "mouthlick"+_tentacleMouthOption>> <</if>> <<if $head isnot "grappled">> <<set _mouthaction["Pull away"] to "mouthpullaway"+_tentacleMouthOption>> <</if>> <<set _mouthaction["Lull"] to "mouthlull"+_tentacleMouthOption>> <<case "imminent">> <<set _mouthaction["Rest"] to "rest">> <<if !$worn.face.type.includes("covered") and !$worn.face.type.includes("gag")>> <<set _mouthaction["Kiss it"] to "mouthkiss"+_tentacleMouthOption>> <</if>> <<if $head isnot "grappled">> <<set _mouthaction["Pull away"] to "mouthpullaway"+_tentacleMouthOption>> <</if>> <<set _mouthaction["Lull"] to "mouthlull"+_tentacleMouthOption>> <<case "penetrated">> <<set _mouthaction["Take it"] to "take">> <<set _mouthaction["Cooperate"] to "mouthcooperate"+_tentacleMouthOption>> <<if $consensual is 0>> <<set _mouthaction["Bite"] to "mouthbite"+_tentacleMouthOption>> <</if>> <<default>> <<set _mouthaction["Lull"] to "mouthlull"+_tentacleMouthOption>> <</switch>> <</widget>> <<widget "penisActionInitTentacle">> <<set $penistarget to "tentacles">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<switch $penisstate>> <<case "tentacleentrance">> <<if $tentacles[_i].head is "penisentrance">> <<set _penisOptions to "entrance">> <<set _tentaclepenisOption to $tentacles[_i].id>> <span @class="($lastOptions.penis isnot _penisOptions ?'gold':'')">_The $tentacles[_i].fullDesc threatens your <<penis>>.</span> <<break>> <</if>> <<case "tentacleimminent">> <<if $tentacles[_i].head is "penisimminent">> <<set _penisOptions to "imminent">> <<set _tentaclepenisOption to $tentacles[_i].id>> <span @class="($lastOptions.penis isnot _penisOptions ?'gold':'')">_The $tentacles[_i].fullDesc presses against your <<penis>>, about to engulf.</span> <<break>> <</if>> <<case "tentacle">> <<if $tentacles[_i].head is "penis">> <<set _penisOptions to "penetrated">> <<set _tentaclepenisOption to $tentacles[_i].id>> <span @class="($lastOptions.penis isnot _penisOptions ?'gold':'')">_The $tentacles[_i].fullDesc envelops and pounds your <<penis>>.</span> <<break>> <</if>> <<case "tentacledeep">> <<if $tentacles[_i].head is "penisdeep">> <<set _penisOptions to "penetrated">> <<set _tentaclepenisOption to $tentacles[_i].id>> <span @class="($lastOptions.penis isnot _penisOptions ?'gold':'')">_The $tentacles[_i].fullDesc envelops and pounds your <<penis>>.</span> <<break>> <</if>> <<case "tentaclerub">> <<if $tentacles[_i].head is "penisrub">> <<set _penisOptions to "penisrub">> <<set _tentaclepenisOption to $tentacles[_i].id>> <span @class="($lastOptions.penis isnot _penisOptions ?'gold':'')">_The $tentacles[_i].fullDesc runs between your thighs, coiling around your <<penis>> and pressing against your tummy.</span> <<break>> <</if>> <<case "struggle" "struggle_pen">> <<set $_changetype to true>><<penisActionInitStruggle>> <<break>> <<default>> <<set $_changetype to true>><<penisActionInit>> <<break>> <</switch>> <</for>> <<if $_changetype isnot true>> <<penisActionsTentacle>> <<if Object.keys(_penisaction).length gt 0>> <<if Object.values(_penisaction).includes($penisactiondefault) is false or _args[0] is true or $penisactiondefault is "rest">> <<set _defaultsCombatAction to "penisaction">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, "Tentacles", _defaultsCombatAction)>> <<set _pass to false>> <<for _set to 0; _set lt _actionsSet.length; _set++>> <<if ["penisrub","penispullaway","peniscooperate"].includes(_actionsSet[_set]) and _tentaclepenisOption isnot undefined>> <<if Object.values(_penisaction).includes(_actionsSet[_set] + _tentaclepenisOption)>> <<set $penisactiondefault to clone(_actionsSet[_set] + _tentaclepenisOption)>> <<set _pass to true>> <<break>> <</if>> <<elseif Object.values(_penisaction).includes(_actionsSet[_set])>> <<set $penisactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <<break>> <</if>> <</for>> <<if _pass is false>> <<set $penisactiondefault to Object.values(_penisaction)[0]>> <</if>> <</if>> <<set $penisaction to $penisactiondefault>> <<set _textColor to combatListColor('penisaction', (Object.values(_penisaction).includes($penisaction) ? $penisaction : Object.values(_penisaction)[0]), "Tentacle")>> <div class="extraMargin"> <<generateCombatAction _penisaction "penisaction" "Tentacle">> </div> <<if $options.combatControls.includes("ists")>> <div id="penisactionDifficulty"> <<penisactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.penis to clone(_penisOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#penisaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "penisactionDifficultyTentacle">> /* <<if _args[0] is undefined>> <<set _diffAction to $penisaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <</switch>> */ <</widget>> <<widget "penisActionsTentacle">> /*Generate Actions*/ <<set _penisaction to {}>> <<switch _penisOptions>> <<case "entrance" "imminent">> <<set _penisaction["Rest"] to "rest">> <<set _penisaction["Rub"] to "penisrub"+_tentaclepenisOption>> <<if $leftleg isnot "grappled" or $rightleg isnot "grappled">> <<set _penisaction["Pull away"] to "penispullaway"+_tentaclepenisOption>> <</if>> <<case "penetrated">> <<set _penisaction["Take it"] to "take">> <<set _penisaction["Cooperate"] to "peniscooperate"+_tentaclepenisOption>> <<case "penisrub">> <<set _penisaction["Rest"] to "rest">> <<set _penisaction["Rub"] to "penisrub"+_tentaclepenisOption>> <</switch>> <</widget>> <<widget "vaginaActionInitTentacle">> <<set $vaginatarget to "tentacles">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<switch $vaginastate>> <<case "tentacleentrance">> <<if $tentacles[_i].head is "vaginaentrance">> <<set _vaginaOptions to "entrance">> <<set _tentaclevaginaOption to $tentacles[_i].id>> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">_The $tentacles[_i].fullDesc threatens your <<pussy>>.</span> <<break>> <</if>> <<case "tentacleimminent">> <<if $tentacles[_i].head is "vaginaimminent">> <<set _vaginaOptions to "imminent">> <<set _tentaclevaginaOption to $tentacles[_i].id>> <span @class="($lastOptions.vagina isnot _vaginaOptions ?'gold':'')">_The $tentacles[_i].fullDesc presses against your <<pussy>>, about to penetrate.</span> <<break>> <</if>> <<case "tentacle">> <<if $tentacles[_i].head is "vagina">> <<set _vaginaOptions to "penetrated">> <<set _tentaclevaginaOption to $tentacles[_i].id>> <span @class="($lastOptions.vagina isnot _vaginaOptions ?'gold':'')">_The $tentacles[_i].fullDesc thrusts into your <<pussy>>.</span> <<break>> <</if>> <<case "tentacledeep">> <<if $tentacles[_i].head is "vaginadeep">> <<set _vaginaOptions to "penetrated">> <<set _tentaclevaginaOption to $tentacles[_i].id>> <span @class="($lastOptions.vagina isnot _vaginaOptions ?'gold':'')">_The $tentacles[_i].fullDesc thrusts into your <<pussy>>, ejaculating deep into your womb.</span> <<break>> <</if>> <<case "tentaclerub">> <<if $tentacles[_i].head is "tentaclerub">> <<set _vaginaOptions to "vaginarub">> <<set _tentaclevaginaOption to $tentacles[_i].id>> <span @class="($lastOptions.vagina isnot _vaginaOptions ?'gold':'')">_The $tentacles[_i].fullDesc runs between your thighs, pressing against your labia and continuing to your tummy.</span> <<break>> <</if>> <<case "struggle" "struggle_pen">> <<set $_changetype to true>><<vaginaActionInitStruggle>> <<break>> <<default>> <<set $_changetype to true>><<vaginaActionInit>> <<break>> <</switch>> <</for>> <<if $_changetype isnot true>> <<vaginaActionsTentacle>> <<if Object.keys(_vaginaaction).length gt 0>> <<if Object.values(_vaginaaction).includes($vaginaactiondefault) is false or _args[0] is true or $vaginaactiondefault is "rest">> <<set _defaultsCombatAction to "vaginaaction">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, "Tentacles", _defaultsCombatAction)>> <<set _pass to false>> <<for _set to 0; _set lt _actionsSet.length; _set++>> <<if ["vaginarub","vaginapullaway","vaginacooperate"].includes(_actionsSet[_set]) and _tentaclevaginaOption isnot undefined>> <<if Object.values(_vaginaaction).includes(_actionsSet[_set] + _tentaclevaginaOption)>> <<set $vaginaactiondefault to clone(_actionsSet[_set] + _tentaclevaginaOption)>> <<set _pass to true>> <<break>> <</if>> <<elseif Object.values(_vaginaaction).includes(_actionsSet[_set])>> <<set $vaginaactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <<break>> <</if>> <</for>> <<if _pass is false>> <<set $vaginaactiondefault to Object.values(_vaginaaction)[0]>> <</if>> <</if>> <<set $vaginaaction to $vaginaactiondefault>> <<set _textColor to combatListColor('vaginaaction', (Object.values(_vaginaaction).includes($vaginaaction) ? $vaginaaction : Object.values(_vaginaaction)[0]), "Tentacle")>> <div class="extraMargin"> <<generateCombatAction _vaginaaction "vaginaaction" "Tentacle">> </div> <<if $options.combatControls.includes("ists")>> <div id="vaginaactionDifficulty"> <<vaginaactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.vagina to clone(_vaginaOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#vaginaaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "vaginaactionDifficultyTentacle">> /* <<if _args[0] is undefined>> <<set _diffAction to $vaginaaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <</switch>> */ <</widget>> <<widget "vaginaActionsTentacle">> /*Generate Actions*/ <<set _vaginaaction to {}>> <<switch _vaginaOptions>> <<case "entrance" "imminent">> <<set _vaginaaction["Rest"] to "rest">> <<set _vaginaaction["Rub"] to "vaginarub"+_tentaclevaginaOption>> <<if $leftleg isnot "grappled" or $rightleg isnot "grappled">> <<set _vaginaaction["Pull away"] to "vaginapullaway"+_tentaclevaginaOption>> <</if>> <<case "penetrated">> <<set _vaginaaction["Take it"] to "take">> <<set _vaginaaction["Cooperate"] to "vaginacooperate"+_tentaclevaginaOption>> <<case "vaginarub">> <<set _vaginaaction["Rest"] to "rest">> <<set _vaginaaction["Rub"] to "vaginarub"+_tentaclevaginaOption>> <</switch>> <</widget>> <<widget "anusActionInitTentacle">> <<set $anustarget to "tentacles">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<if $bottomuse is "mouth" or $bottomuse is "penis">> <<set $_changetype to true>><<anusActionInit>> <<else>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<switch $anusstate>> <<case "tentacleentrance">> <<if $tentacles[_i].head is "anusentrance">> <<set _anusOptions to "entrance">> <<set _tentacleanusOption to $tentacles[_i].id>> <span @class="($lastOptions.anus isnot _anusOptions ?'gold':'')">_The $tentacles[_i].fullDesc threatens your <<bottom>>.</span> <<break>> <</if>> <<case "tentacleimminent">> <<if $tentacles[_i].head is "anusimminent">> <<set _anusOptions to "imminent">> <<set _tentacleanusOption to $tentacles[_i].id>> <span @class="($lastOptions.anus isnot _anusOptions ?'gold':'')">_The $tentacles[_i].fullDesc presses against your <<bottom>>, about to penetrate.</span> <<break>> <</if>> <<case "tentacle">> <<if $tentacles[_i].head is "anus">> <<set _anusOptions to "penetrated">> <<set _tentacleanusOption to $tentacles[_i].id>> <span @class="($lastOptions.anus isnot _anusOptions ?'gold':'')">_The $tentacles[_i].fullDesc thrusts into your <<bottom>>.</span> <<break>> <</if>> <<case "tentacledeep">> <<if $tentacles[_i].head is "anusdeep">> <<set _anusOptions to "penetrated">> <<set _tentacleanusOption to $tentacles[_i].id>> <span @class="($lastOptions.anus isnot _anusOptions ?'gold':'')">_The $tentacles[_i].fullDesc thrusts into your <<bottom>>, ejaculating deep into your bowels.</span> <<break>> <</if>> <<case "tentaclerub">> <<if $tentacles[_i].head is "anusrub">> <<set _anusOptions to "anusrub">> <<set _tentacleanusOption to $tentacles[_i].id>> <span @class="($lastOptions.anus isnot _anusOptions ?'gold':'')">_The $tentacles[_i].fullDesc rubs itself between your butt cheeks.</span> <<break>> <</if>> <<case "struggle" "struggle_pen">> <<set $_changetype to true>><<anusActionInitStruggle>> <<break>> <<default>> <<set $_changetype to true>><<anusActionInit>> <<break>> <</switch>> <</for>> <</if>> <<if $_changetype isnot true>> <<anusActionsTentacle>> <<if Object.keys(_anusaction).length gt 0>> <<if Object.values(_anusaction).includes($anusactiondefault) is false or _args[0] is true or $anusactiondefault is "rest">> <<set _defaultsCombatAction to "anusaction">> <<set _actionsSet = DefaultActions.get($defaultsCombatType, "Tentacles", _defaultsCombatAction)>> <<set _pass to false>> <<for _set to 0; _set lt _actionsSet.length; _set++>> <<if ["anusrub","anuspullaway","anuscooperate"].includes(_actionsSet[_set]) and _tentacleanusOption isnot undefined>> <<if Object.values(_anusaction).includes(_actionsSet[_set] + _tentacleanusOption)>> <<set $anusactiondefault to clone(_actionsSet[_set] + _tentacleanusOption)>> <<set _pass to true>> <<break>> <</if>> <<elseif Object.values(_anusaction).includes(_actionsSet[_set])>> <<set $anusactiondefault to clone(_actionsSet[_set])>> <<set _pass to true>> <<break>> <</if>> <</for>> <<if _pass is false>> <<set $anusactiondefault to Object.values(_anusaction)[0]>> <</if>> <</if>> <<set $anusaction to $anusactiondefault>> <<set _textColor to combatListColor('anusaction', (Object.values(_anusaction).includes($anusaction) ? $anusaction : Object.values(_anusaction)[0]), "Tentacle")>> <div class="extraMargin"> <<generateCombatAction _anusaction "anusaction" "Tentacle">> </div> <<if $options.combatControls.includes("ists")>> <div id="anusactionDifficulty"> <<anusactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.anus to clone(_anusOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#vaginaaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "anusactionDifficultyTentacle">> /* <<if _args[0] is undefined>> <<set _diffAction to $anusaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <</switch>> */ <</widget>> <<widget "anusActionsTentacle">> /*Generate Actions*/ <<set _anusaction to {}>> <<switch _anusOptions>> <<case "entrance" "imminent">> <<set _anusaction["Rest"] to "rest">> <<set _anusaction["Rub"] to "anusrub"+_tentacleanusOption>> <<if $leftleg isnot "grappled" or $rightleg isnot "grappled">> <<set _anusaction["Pull away"] to "anuspullaway"+_tentacleanusOption>> <</if>> <<case "penetrated">> <<set _anusaction["Take it"] to "take">> <<set _anusaction["Cooperate"] to "anuscooperate"+_tentacleanusOption>> <<case "anusrub">> <<set _anusaction["Rest"] to "rest">> <<set _anusaction["Rub"] to "anusrub"+_tentacleanusOption>> <</switch>> <</widget>> <<widget "chestActionInitTentacle">> <<set $chesttarget to "tentacles">> <<if $dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)>> <<for _i to 0; _i lt $tentacles.max; _i++>> <<switch $chestuse>> <<case "tentaclerub">> <<if $tentacles[_i].head is "chestrub">> <<set _chestOptions to "entrance">> <<set _tentaclechestOption to $tentacles[_i].id>> <span @class="($lastOptions.chest isnot _chestOptions ?'gold':'')">_The $tentacles[_i].fullDesc rubs itself between your chest.</span> <<break>> <</if>> <<case "penis">> <<set $_changetype to true>><<chestActionInit>> <<break>> <<case "struggle">> <</switch>> <</for>> <<if $_changetype isnot true>> <<chestActionsTentacle>> <<if Object.keys(_chestaction).length gt 0>> <<if $chestactiondefault is 0 or Object.values(_chestaction).includes($chestactiondefault) is false>> <<set $chestactiondefault to Object.values(_chestaction)[0]>> <</if>> <<set $chestaction to $chestactiondefault>> <<set _textColor to combatListColor('chestaction', (Object.values(_chestaction).includes($chestaction) ? $chestaction : Object.values(_chestaction)[0]), "Tentacle")>> <div class="extraMargin"> <<generateCombatAction _chestaction "chestaction" "Tentacle">> </div> <<if $options.combatControls.includes("ists")>> <div id="chestactionDifficulty"> <<chestactionDifficultyTentacle>> </div> <</if>> <</if>> <<set $lastOptions.chest to clone(_chestOptions)>> <</if>> <<else>> <<timed 100ms>> <<run jQuery("#chestaction").remove();>> <</timed>> <</if>> <</widget>> <<widget "chestactionDifficultyTentacle">> /* <<if _args[0] is undefined>> <<set _diffAction to $chestaction>> <<else>> <<set _diffAction to _args[0]>> <</if>> <<switch (""+_diffAction).replace(/\d+/g,'')>> <</switch>> */ <</widget>> <<widget "chestActionsTentacle">> /*Generate Actions*/ <<set _chestaction to {}>> <<switch _chestOptions>> <<case "chestrub">> <<set _chestaction["Rest"] to "rest">> <<set _chestaction["Rub"] to "chestrub"+_tentaclechestOption>> <</switch>> <</widget>> <<widget "actionsvorentacles">> <<animateCombat>> <<willpowerpain>> <<willpowerorgasm>> <<actioncarry>> <<actioncarrydrop>> <<combatstate>> <<carryblock>> <<if $trance lte 0 and $panicparalysis is 0 and $panicviolence is 0>> <<generateActionsVorentacles>> <</if>> <br> <</widget>> <<widget "generateActionsVorentacles">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<if $lefttarget is "vore" or $tentacles.active is 0>> <<leftActionInitVore>> <<else>> <<leftActionInitTentacle>> <</if>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<if $righttarget is "vore" or $tentacles.active is 0>> <<rightActionInitVore>> <<else>> <<rightActionInitTentacle>> <</if>> </div> <div id="feetaction" @class="$options.combatControls + 'Control'"> <<feetActionInitTentacle>> </div> <<if $mouthstate isnot 0 or !($dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined))>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInitTentacle>> </div> <</if>> <<if $penisstate isnot 0 and (playerHasStrapon() or $player.penisExist)>> <div id="penisaction" @class="$options.combatControls + 'Control'"> <<penisActionInitTentacle>> </div> <</if>> <<if $vaginastate isnot 0 and $player.vaginaExist>> <div id="vaginaaction" @class="$options.combatControls + 'Control'"> <<vaginaActionInitTentacle>> </div> <</if>> <<if $anusstate isnot 0>> <div id="anusaction" @class="$options.combatControls + 'Control'"> <<anusActionInitTentacle>> </div> <</if>> <<if $chestuse isnot 0 and $chestuse isnot "squeezed">> <div id="chestaction" @class="$options.combatControls + 'Control'"> <<chestActionInitTentacle>> </div> <</if>> </div> <</widget>><<widget "tentaclestart">> <<if $abomination isnot 1>> <<set $enemyarousalmax to 10000>> <</if>> <<set $tentacles to { "max": _args[0], "active": _args[0], }>> <<if _args[0]>> <<if _args[2]>> <<set _tentacleType to _args[2]>> <<else>> <<set _tentacleType to "tentacle">> <</if>> <<if ["root","shoot"].includes(_tentacleType)>> <<set _babyType to "vine">> <<elseif _tentacleType is "tendril">> <<set _babyType to "tentacle">> <<else>> <<set _babyType to _tentacleType>> <</if>> <<if ["root","shoot","vine","metal"].includes(_tentacleType) or _args[3] is "metal">> <<set $banishDisable to true>> <</if>> /* Deciding if tentacle templates should be defined somewhere else still */ /* Argument 0 is the number of tentacles. * Argument 1 is health. * Argument 2 is tentacle type, which can be replaced with "vines", "machines" etc later on. Optional, unless also using Argument 3. * Argument 3 is variant, and will give different offspring as well as allowing different batches of descriptions. * Argument 4 is whether or not the variant impacts the full description and offspring. If Argument 4 is used, Argument 3 will only impact which description batches are part of _tentacledescs. If Argument 4 is "desc", Argument 3 will impact description batches and variant, but not offspring.*/ <<set _tentacledescs to [ {"desc":"slimy","baby":0,"size":2,"traits":[]}, {"desc":"sticky","baby":0,"size":2,"traits":[]}, {"desc":"thick","baby":_babyType,"size":3,"traits":[]}, {"desc":"throbbing","baby":0,"size":2,"traits":[]}, {"desc":"slick","baby":0,"size":2,"traits":[]}, {"desc":"moist","baby":0,"size":2,"traits":[]}, {"desc":"quivering","baby":0,"size":2,"traits":[]}, {"desc":"sodden","baby":0,"size":2,"traits":[]}, {"desc":"shivering","baby":0,"size":2,"traits":[]}, {"desc":"shuddering","baby":0,"size":2,"traits":[]}, {"desc":"convulsing","baby":0,"size":2,"traits":["hypno"]}, {"desc":"undulating","baby":0,"size":2,"traits":[]}, {"desc":"damp","baby":0,"size":2,"traits":[]}, {"desc":"bulbous","baby":0,"size":3,"traits":[]}, {"desc":"gyrating","baby":0,"size":2,"traits":[]}, {"desc":"large","baby":_babyType,"size":3,"traits":[]}, {"desc":"bumpy","baby":0,"size":2,"traits":[]}, {"desc":"thin","baby":0,"size":1,"traits":[]}, {"desc":"narrow","baby":0,"size":1,"traits":[]}, {"desc":"squishy","baby":0,"size":2,"traits":[]}, {"desc":"rough","baby":0,"size":2,"traits":["pain"]}, ]>> <<if _args[3]>> <<if _args[3] is "pale">> <<set _tentacledescs.push( {"desc":"ghostly","baby":_babyType,"size":2,"traits":[]}, {"desc":"translucent","baby":0,"size":1,"traits":["hypno"]}, {"desc":"twitching","baby":0,"size":2,"traits":[]}, {"desc":"manic","baby":0,"size":3,"traits":[]}, {"desc":"cloudy","baby":_babyType,"size":3,"traits":[]}, {"desc":"ethereal","baby":0,"size":1,"traits":[]}, {"desc":"incandescent","baby":0,"size":3,"traits":["hypno"]}, {"desc":"iridescent","baby":_babyType,"size":2,"traits":["hypno"]}, {"desc":"searing","baby":0,"size":3,"traits":["pain"]}, )>> <<elseif _args[3] is "vine">> <<set _tentacledescs.push( {"desc":"flowering","baby":_babyType,"size":3,"traits":[]}, {"desc":"blossoming","baby":0,"size":3,"traits":[]}, {"desc":"wooden","baby":0,"size":2,"traits":[]}, {"desc":"blooming","baby":_babyType,"size":2,"traits":["hypno"]}, {"desc":"climbing","baby":0,"size":2,"traits":[]}, {"desc":"mossy","baby":0,"size":2,"traits":[]}, {"desc":"grassy","baby":0,"size":2,"traits":[]}, {"desc":"thorny","baby":0,"size":2,"traits":["pain"]}, {"desc":"pistil","baby":_babyType,"size":1,"traits":[]}, {"desc":"leafy","baby":0,"size":1,"traits":[]}, {"desc":"sprouting","baby":0,"size":1,"traits":[]}, {"desc":"sapling","baby":0,"size":1,"traits":[]}, )>> <<elseif _args[3] is "metal">> <<set _tentacledescs.push( {"desc":"jerking","baby":0,"size":3,"traits":[]}, {"desc":"plated","baby":0,"size":3,"traits":[]}, {"desc":"sparking","baby":0,"size":2,"traits":["pain"]}, {"desc":"shiny","baby":0,"size":2,"traits":[]}, {"desc":"labelled","baby":_babyType,"size":2,"traits":[]}, {"desc":"jolting","baby":0,"size":2,"traits":["pain"]}, {"desc":"rusted","baby":0,"size":2,"traits":[]}, {"desc":"wired","baby":0,"size":1,"traits":["hypno"]}, {"desc":"stainless","baby":0,"size":1,"traits":[]}, )>> <</if>> <</if>> <<set _tentacledescs to shuffle(_tentacledescs)>> <<for _i to 0; _i lt _args[0]; _i++>> <<set _tentacledata to _tentacledescs[_i]>> <<set _tentacle to { "desc": (_args[3] and (!_args[4] or _args[4] is "desc") ? _args[3] + " " : "" ) + _tentacledata.desc, "fullDesc": (_args[3] and (!_args[4] or _args[4] is "desc") ? _args[3] + " " : "" ) + _tentacledata.desc + " " + _tentacleType, "type": _tentacleType, "tentaclehealth": _args[1], "tentaclehealthstart": _args[1], "shaft": 0, "head": 0, "id": "tentacle"+_i, "baby": (_args[3] and (!_args[4] or _args[4] is "baby") and _tentacledata.baby isnot 0 ? _args[3] + " " + _tentacledata.baby : _tentacledata.baby ), "babychance": 400, "size": _tentacledata.size, "traits": _tentacledata.traits }>> <<set $tentacles[_i] to clone(_tentacle)>> <</for>> <</if>> <<set $combat to 1>> <<if $rng gte 51>> <<set $position to "missionary">> <<else>> <<set $position to "doggy">> <</if>> <<wetnessCalculate>> <<resetLastOptions>> <<getCombatDefaultsType>> <<if !$tentacleColour>> <<if $tentacles[0].fullDesc.includes("pale")>> <<set $tentacleColour to "tentacles-wraith">> <<elseif $tentacles[0].fullDesc.includes("metal")>> <<set $tentacleColour to "tentacles-red">> <<elseif $tentacles[0].type>> <<switch $tentacles[0].type>> <<case "vine" "shoot">> <<set $tentacleColour to "tentacles-vines">> <<case "root">> <<set $tentacleColour to "tentacles-roots">> <<default>> <<set $tentacleColour to "tentacles-purple">> <</switch>> <<else>> <<set $tentacleColour to "tentacles-purple">> <</if>> <</if>> <</widget>> <<widget "tentacles">> <div @class="($debugLines ? 'debugLines-tentacles' : '')"> <<for _i to 0; _i lt $tentacles.max; _i++>> <<set _tentacle to $tentacles[_i]>> <<if _tentacle isnot undefined>> <<tentacleadv _tentacle>> <<set _tentacle.tentaclehealth -= 0.2>> <</if>> <</for>> <<if $panicattacks gte 1 and $panicviolence is 0 and $panicparalysis is 0 and $controlled is 0 and _panicchecked isnot true>> <<rng>> <<if $rng is 100>> <<set $panicparalysis to 5>> <</if>> <<set _panicchecked to true>> <</if>> <<if $panicattacks gte 2 and $panicviolence is 0 and $panicparalysis is 0 and $controlled is 0 and _paniccheckedviolence isnot true>> <<rng>> <<if $rng is 100>> <<set $panicviolence to 3>> <</if>> <<set _paniccheckedviolence to true>> <</if>> <<if $arousal gte $arousalmax and $orgasmdown lte 0>> <<orgasm>> <</if>> <br> </div> <</widget>> <<widget "effectstentacles">> <<effectspain>> <<effectsorgasm>> <<effectsdissociation>> <div @class="($debugLines ? 'debugLines-effectstentacleadv' : '')"> <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<set _tentacle to $tentacles[_i]>> <<effectstentacleadv _tentacle>> <</if>> <</for>> </div> <br> <</widget>> <<widget "actionstentacles">> <div @class="($debugLines ? 'debugLines-actionstentacles' : '')"> <<set $enemyarousal to $arousal>> <<if $vorecreature is 0 and _swarmcreature is undefined>> <<animateCombat>> <</if>> <<willpowerpain>> <<willpowerorgasm>> <<actioncarry>> <<actioncarrydrop>> <<combatstate>> <<carryblock>> <<if $trance lte 0 and $panicparalysis is 0 and $panicviolence is 0>> <<generateActionsTentacle>> <</if>> </div> <br><br> <</widget>> <<widget "actionstentaclespenis">> /* unused */ <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<set _tentacle to $tentacles[_i]>> <<actionstentacleadvpenis _tentacle>> <</if>> <</for>> <br> <</widget>> <<widget "actionstentacleslegs">> /* unused */ <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<set _tentacle to $tentacles[_i]>> <<actionstentacleadvlegs _tentacle>> <</if>> <</for>> <</widget>> <<widget "actionstentaclesrighthand">> /* unused */ <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<set _tentacle to $tentacles[_i]>> <<actionstentacleadvrighthand _tentacle>> <</if>> <</for>> <</widget>> <<widget "actionstentacleslefthand">> /* unused */ <<for _i to 0; _i lt $tentacles.max; _i++>> <<if $tentacles[_i] isnot undefined>> <<set _tentacle to $tentacles[_i]>> <<actionstentacleadvlefthand _tentacle>> <</if>> <</for>> <</widget>> <<widget "upperslither">> <<if $worn.over_upper.name isnot "naked">> then <<slithers>> beneath your $worn.over_upper.name<<if $worn.upper.name isnot "naked">> and $worn.upper.name<</if>> <<elseif $worn.upper.name isnot "naked">> then <<slithers>> beneath your $worn.upper.name <<else>> then <<slithers>> across your bare skin <</if>> <</widget>> <<widget "lowerslither">> <<if $worn.over_lower.name isnot "naked">> then <<slithers>> beneath your $worn.over_lower.name<<if $worn.lower.name isnot "naked">> and $worn.lower.name<</if>> <<elseif $worn.lower.name isnot "naked">> then <<slithers>> beneath your $worn.lower.name <<else>> then <<slithers>> across your bare skin <</if>> <</widget>> <<widget "underslither">> <<if $worn.lower.name isnot "naked">> <<if !$worn.under_lower.type.includes("naked")>> then <<slithers>> beneath your $worn.lower.name and $worn.under_lower.name <<elseif playerChastity()>> then <<slithers>> beneath your $worn.lower.name against your <<print $worn.genitals.name>> <<else>> <</if>> <<else>> <<if !$worn.under_lower.type.includes("naked")>> then <<slithers>> beneath your $worn.under_lower.name <<if playerChastity("hidden")>> against your <<print $worn.genitals.name>>. <</if>> <<elseif $worn.under_lower.type.includes("naked") and playerChastity("hidden")>> then <<slithers>> against your <<print $worn.genitals.name>> <<else>> then <<slithers>> across your bare skin <</if>> <</if>> <</widget>> <<widget "statetentacles">> <<for _j to 0; _j lt $tentacles.max; _j++>> <<if $tentacles[_j] isnot undefined>> <<if $tentacles[_j].shaft is "finished" and $tentacles[_j].name isnot "finished">> <<set $tentacles.active -= 1>> <<set $tentacles[_j].name to "finished">> <</if>> <</if>> <</for>> <<sexcheck>> <<if $ejaculating isnot 1>> You count <<number $tentacles.active>> <<print $tentacles[0].type>><<if $tentacles.active isnot 1>>s<</if>> surrounding you. <br><br><br> <</if>> <</widget>> <<widget "leftarmtentacledisable">> <<for _j to 0; _j lt $tentacles.max; _j++>> <<if $tentacles[_j] isnot undefined>> <<if $tentacles[_j].id is $leftarm>> <<set $tentacles[_j].head to 0>> <</if>> <</if>> <</for>> <</widget>> <<widget "rightarmtentacledisable">> <<for _j to 0; _j lt $tentacles.max; _j++>> <<if $tentacles[_j] isnot undefined>> <<if $tentacles[_j].id is $rightarm>> <<set $tentacles[_j].head to 0>> <</if>> <</if>> <</for>> <</widget>> <<widget "feettentacledisable">> <<for _j to 0; _j lt $tentacles.max; _j++>> <<if $tentacles[_j] isnot undefined>> <<if $tentacles[_j].id is $feetuse>> <<set $tentacles[_j].head to 0>> <</if>> <</if>> <</for>> <</widget>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<enable_rescue>> <<maninit>> <<set $NPCList[0].chest to "none">> <<He>> reaches toward you. <<set $NPCList[0].fullDescription to "Tutorial " + ($NPCList[0].pronoun is "m"?"man":"woman")>> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> __Combat Tutorial__ <br> <<if $gamemode is "soft">> <i>Your character will be quite passive at first. More actions will become available as you become more promiscuous and comfortable being assertive. <br><br> <span class="sub">Assertive</span> and <span class="meek">meek</span> actions will arouse your partner, bringing them closer to orgasm. They'll also make them trust you more. <br><br> <span class="brat">Bratty</span> acts will irritate your partner. Use them too frequently and they will become rougher and less trusting. <br><br> Some actions have only a chance of working, based on your skill with the bodypart being used and how trusting your partner is. <br><br> Each part of your body can perform one action per turn. Choose your actions, then click next or press enter to continue.</i> <br><br> <<else>> <i>There are three common ways to escape an attacker; fight them off, sexually satisfy them, or be rescued. <span class="def">Defiant</span> acts will hurt them. Hurt them enough and you'll escape. However, <span class="def">defiant</span> acts will anger them, making them more violent. <br><br> They'll be happy to use you as a passive toy, but <span class="sub">submissive</span> acts will make them cum faster. Once spent, they'll usually leave you alone. Some <span class="sub">submissive</span> acts will occupy their genitals, so they can't use them in more dangerous ways. <br><br> <span class="meek">Meek</span> acts will endear you to them without being directly sexual. <span class="meek">Meek</span> acts will make them trust you more, and often have effects which may help you. <br><br> <span class="brat">Bratty</span> acts protect you in ways that defy your attacker's will without hurting them. <span class="brat">Bratty</span> acts will reduce trust and increase anger. <br><br> Finally, you could scream for help. Whether it will help or make things worse depends on who's around to hear. Screaming at night or in the wilderness will only anger your attacker. You won't be able to scream (or speak) if your attacker has you gagged. For this encounter, screaming will get you rescued. Each part of your body can perform one action per turn. Choose your actions, then click next or press enter to continue.</i> <br><br> <</if>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Tutorial Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Tutorial]]>><</link>></span><<nexttext>> <</if>><<effects>><<set $eventskip to 1>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $enemyanger gte 60>> "That's what you get, slut." <<He>> leaves you lying on the ground. <<else>> "Good <<girl>>. Here's a little something for the trouble." <<He>> leaves you lying on the ground. <br><br> <<tearful>> you climb to your knees. You've gained <<moneyGain 5 false false `"tutorial" + ($NPCList[0].pronoun is "m"?"Man":"Woman")`>>. <</if>> <br><br> <<clotheson>> <<endcombat>> <<if $gamemode is "soft">> <<generate1>><<person1>>A <<person>> rushes over to you. "Are you okay?" <<He>> offers an arm to help you up. <br><br> <<else>> <<generate1>><<person1>>A <<person>> rushes over to you. "I saw what that fiend did. Are you okay?" <<He>> offers an arm to help you up. <br><br> <</if>> <i>Being attacked will damage your sense of control. You will become more vulnerable to trauma as your control fails. Actions marked as "promiscuity", "exhibitionism" or "deviancy" will lower stress and trauma. They will also restore your sense of control. Committing these actions with enough frequency will unlock lewder actions of the same type, but make weaker actions lose effectiveness. If you're not careful, you'll be unable to reach the controlled state without shameless and outrageous acts.</i> <br><br> <<link [[Flirt|Tutorial Flirt]]>><<set $spraymax++>><<spray 5>><</link>><<promiscuous1>> <br> <<link [[Thank <<him>>|Tutorial Thank]]>><<set $spraymax++>><<spray 5>><</link>> <br> <<elseif $enemyhealth lte 0>> The <<person>> recoils in pain. "You're fucking nuts," <<he>> says, limping away. <<tearful>> you climb to your knees. <br><br> <<clotheson>> <<endcombat>> <<if $gamemode is "soft">> <<generate1>><<person1>>A <<person>> rushes over to you. "Are you okay?" <<He>> offers an arm to help you up. <br><br> <<else>> <<generate1>><<person1>>A <<person>> rushes over to you. "I saw what that fiend did. Are you okay?" <<He>> offers an arm to help you up. <br><br> <</if>> <i>Being attacked will damage your sense of control. You will become more vulnerable to trauma as your control fails. Actions marked as "promiscuity", "exhibitionism", or "deviancy" will lower stress and trauma. They will also restore your sense of control. Committing these actions with enough frequency will unlock lewder actions of the same type, but make weaker actions lose effectiveness. If you're not careful, you'll be unable to reach the controlled state without shameless and outrageous acts.</i> <br><br> <<link [[Flirt|Tutorial Flirt]]>><<set $spraymax++>><<spray 5>><</link>><<promiscuous1>> <br> <<link [[Thank <<him>>|Tutorial Thank]]>><<set $spraymax++>><<spray 5>><</link>> <br> <<elseif $rescue is 1 and $alarm is 1>> <<set $rescued += 1>> <<He>> notices several heads turning in response to your cry, and relents in <<his>> assault before making a hurried escape. <br><br> <<tearful>> you climb to your knees. <br><br> <<clotheson>> <<endcombat>> <<if $gamemode is "soft">> <<generate1>><<person1>>A <<person>> rushes over to you. "Are you okay?" <<He>> offers an arm to help you up. <br><br> <<else>> <<generate1>><<person1>>A <<person>> rushes over to you. "I saw what that fiend did. Are you okay?" <<He>> offers an arm to help you up. <br><br> <</if>> <i>Being attacked will damage your sense of control. You will become more vulnerable to trauma as your control fails. Actions marked as "promiscuity", "exhibitionism", or "deviancy" will lower stress and trauma. They will also restore your sense of control. Committing these actions with enough frequency will unlock lewder actions of the same type, but make weaker actions lose effectiveness. If you're not careful, you'll be unable to reach the controlled state without shameless and outrageous acts.</i> <br><br> <<link [[Flirt|Tutorial Flirt]]>><<set $spraymax++>><<spray 5>><</link>><<promiscuous1>> <br> <<link [[Thank <<him>>|Tutorial Thank]]>><<set $spraymax++>><<spray 5>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "town">><<effects>><<set $bus to "domus">> <<wearProp "pepperspray">> <<if $tutorialExit is undefined>><<set $tutorialExit to "Domus Street">><</if>> You take <<his>> arm and hoist yourself up and against <<him>>, forcing <<him>> to catch you in an embrace to stop you falling. You look <<him>> in the eyes. "I feel safe now," you say. <<promiscuity1>> <<He>> blushes. "I-I'm glad you're alright," <<he>> says as <<he>> slowly withdraws <<his>> arms from you, making sure you're steady. <<He>> glances around. "Here." <<He>> hands you a small cylinder. "Be discreet. It's not legal, and there's only enough for one use." <<gspraymax>> <br><br> <<if $tutorialExit.includes("Robin")>> "You better get back to your friend, <<nnpc_hes "Robin">> the one that called me over. <<nnpc_He "Robin">> was pale as a ghost and could hardly form the words. I need to get going. You be careful." <<else>> "I need to get going. You be careful." <</if>> <br><br> <<link [[Next|$tutorialExit]]>><<endevent>><<set $eventskip to 1>><<unset $tutorialExit>><<set $tutorial to 1>><</link>><<set $outside to 1>><<set $location to "town">><<effects>><<set $bus to "domus">> <<if $tutorialExit is undefined>><<set $tutorialExit to "Domus Street">><</if>> <<wearProp "pepperspray">> You take <<his>> arm and <<he>> helps lift you to your feet. "Thank you," you say. "I'll be okay now." <br><br> <<He>> glances around. "Here." <<He>> hands you a small cylinder. "Be discreet. It's not legal, and there's only enough for one use." <<gspraymax>> <br><br> <<if $tutorialExit isnot "Domus Street">> "You better get back to your friend, <<nnpc_hes "Robin">> the one that called me over. <<nnpc_He "Robin">> was pale as a ghost and could hardly form the words. I need to get going. You be careful." <<else>> "I need to get going. You be careful." <</if>> <br><br> <<link [[Next|$tutorialExit]]>><<endevent>><<set $eventskip to 1>><<unset $tutorialExit>><<set $tutorial to 1>><</link>><<widget "generateActionsVore">> <<set $combat to 1>> <<if _targetlist is undefined>> <<getTargetList>> <</if>> <div id="listContainer"> <div id="leftaction" @class="$options.combatControls + 'Control'"> <<leftActionInitVore>> </div> <div id="rightaction" @class="$options.combatControls + 'Control'"> <<rightActionInitVore>> </div> <<if ($mouthuse is 0 and !($dissociation lte 1 and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined)))>> <div id="mouthaction" @class="$options.combatControls + 'Control'"> <<mouthActionInit>> </div> <</if>> </div> <</widget>> <<widget "leftActionInitVore">> <<set $lefttarget to "vore">> <<switch $leftarm>> <<case 0>> <<set $lefttarget to "vore">> <<if $orgasmdown gte 1>> <<set _leftOptions to "orgasm">> <span class="lewd">Your left arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _leftOptions to "pain">> <span class="red">Your left arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _leftOptions to "unreal">> <span class="pink">Your left arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "left" _targetlistarms>> <</if>> <<set _leftOptions to "free">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "left" _targetlistarms>> <br> <</if>> <</if>> <<case "bound">> <<set _leftOptions to "bound">> <<if $orgasmdown gte 1>> <span class="lewd">Your left arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your left arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your left arm lies limp in its bonds.</span> <<else>> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'')">Your left arm is bound.</span> <</if>><<if $options.combatControls.includes("adio")>><br><</if>> <<case "trapped">> <<set _leftOptions to "trapped">> <span @class="($lastOptions.left isnot _leftOptions ?'gold':'purple')">Your left arm is trapped by the $vorecreature.</span><<if $options.combatControls.includes("adio")>><br><</if>> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<leftActionInit>> <<case "struggle">> <<set $_changetype to true>><<leftActionInitStruggle>> <<case "swarmgrappled">> <<set $_changetype to true>><<leftActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<leftActionInitMachine>> <<default>> <<set $_changetype to true>><<leftActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<leftActionsVore>> <<if Object.keys(_leftaction).length gt 0>> <<if !(Object.values(_leftaction).includes($leftactiondefault))>> <<set $leftactiondefault to "rest">> <</if>> <<set $leftaction to $leftactiondefault>> <div class="extraMargin"> <<generateCombatAction _leftaction "leftaction" "Vore">> </div> <<if $options.combatControls.includes("ists")>> <div id="leftactionDifficulty"> <<leftactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.left to clone(_leftOptions)>> <</if>> <</widget>> <<widget "leftactionDifficultyVore">>/* Blank widget to pacify the JavaScript Gods. */ <!-- Does nothing --> <</widget>> <<widget "leftActionsVore">> <<set _leftaction to {}>> <<if !(["orgasm", "pain", "unreal"].includes(_leftOptions))>> <<set _leftaction["Rest"] to "rest">> <</if>> <<switch _leftOptions>> <<case "free">> <<set _leftaction["Escape the "+$vorecreature] to "leftescape">> <<if $vorestage lte 6>> <<set _leftaction["Hold on to the "+$vorecreature] to "lefthold">> <</if>> <<if $rightarm is "trapped">> <<set _leftaction["Free your right arm"] to "leftvorefree">> <</if>> <<case "bound" "trapped">> <<case "orgasm">> <<set _leftaction["Fold"] to "leftfold">> <<set _leftaction["Grip"] to "leftgrip">> <<case "pain">> <<set _leftaction["Struggle"] to "leftstruggleweak">> <<set _leftaction["Protect"] to "leftprotect">> <<case "unreal">> <<set _leftaction["Poke yourself"] to "leftpoke">> <<set _leftaction["Keep your arms out of the way"] to "leftcurl">> <</switch>> <</widget>> <<widget "rightActionInitVore">> <<set $righttarget to "vore">> <<switch $rightarm>> <<case 0>> <<if $orgasmdown gte 1>> <<set _rightOptions to "orgasm">> <span class="lewd">Your right arm is free, but you can't stop the spasms.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <<set _rightOptions to "pain">> <span class="red">Your right arm is free, but hurts to move.</span> <<elseif $dissociation gte 2>> <<set _rightOptions to "unreal">> <span class="pink">Your right arm is free, but doesn't feel real.</span> <<else>> <<if _targetYourself is true and _targetnumber gt 1>> <<set _targetlistarms["Yourself"] to "self">> <</if>> <<if not $options.combatControls.includes("adio") and _targetnumber gt 1>> <<targetListBox "right" _targetlistarms>> <</if>> <<set _rightOptions to "free">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is free.</span> <<if $options.combatControls.includes("adio") and _targetnumber gt 1>> <br> <<targetListBox "right" _targetlistarms>> <br> <</if>> <</if>> <<case "bound">> <<set _rightOptions to "bound">> <<if $orgasmdown gte 1>> <span class="lewd">Your right arm jerks against its bonds.</span> <<elseif $pain gte 100 and $willpowerpain is 0>> <span class="red">Your right arm is held in a painful bind.</span> <<elseif $dissociation gte 2>> <span class="pink">Your right arm lies limp in its bonds.</span> <<else>> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'')">Your right arm is bound.</span> <</if>> <<case "trapped">> <<set _rightOptions to "trapped">> <span @class="($lastOptions.right isnot _rightOptions ?'gold':'purple')">Your right arm is trapped by the $vorecreature.</span><br> <<case "grappled" "penis" "othervagina" "vagina" "coverpenis" "anus" "behind">> <<set $_changetype to true>><<rightActionInit>> <<case "struggle">> <<set $_changetype to true>><<rightActionInitStruggle>> <<case "swarmgrappled">> <<set $_changetype to true>><<rightActionInitSwarm>> <<case "mechgrappled">> <<set $_changetype to true>><<rightActionInitMachine>> <<default>> <<set $_changetype to true>><<rightActionInitTentacle>> <</switch>> <<if $_changetype isnot true>> <<rightActionsVore>> <<if Object.keys(_rightaction).length gt 0>> <<if !(Object.values(_rightaction).includes($rightactiondefault))>> <<set $rightactiondefault to "rest">> <</if>> <<set $rightaction to $rightactiondefault>> <div class="extraMargin"> <<generateCombatAction _rightaction "rightaction" "Vore">> </div> <<if $options.combatControls.includes("ists")>> <div id="rightactionDifficulty"> <<rightactionDifficulty>> </div> <</if>> <</if>> <<set $lastOptions.right to clone(_rightOptions)>> <</if>> <</widget>> <<widget "rightactionDifficultyVore">>/* But seriously, not having this blank widget will cause red blocks of error in the "lists" actions types */ <!-- Does nothing --> <</widget>> <<widget "rightActionsVore">> <<set _rightaction to {}>> <<if !(["orgasm", "pain", "unreal"].includes(_rightOptions))>> <<set _rightaction["Rest"] to "rest">> <</if>> <<switch _rightOptions>> <<case "free">> <<set _rightaction["Escape the "+$vorecreature] to "rightescape">> <<if $vorestage lte 6>> <<set _rightaction["Hold on to the "+$vorecreature] to "righthold">> <</if>> <<if $rightarm is "trapped">> <<set _rightaction["Free your right arm"] to "rightvorefree">> <</if>> <<case "bound" "trapped">> <<case "orgasm">> <<set _rightaction["Fold"] to "rightfold">> <<set _rightaction["Grip"] to "rightgrip">> <<case "pain">> <<set _rightaction["Struggle"] to "rightstruggleweak">> <<set _rightaction["Protect"] to "rightprotect">> <<case "unreal">> <<set _rightaction["Poke yourself"] to "rightpoke">> <<set _rightaction["Keep your arms out of the way"] to "rightcurl">> <</switch>> <</widget>><<widget "vore">> <<rng>> <<if $vorestage is 1>> Your thighs are gripped by the $vorecreature's mouth, your shins and feet at the mercy of its probing tongue. <<neutral 4>> <<elseif $vorestage is 2>> Your waist is gripped by the $vorecreature's mouth, your delicate parts at the mercy of its slippery tongue. <<neutral 2 "genitals">><<neutral 2 "bottom">> <<elseif $vorestage is 3>> Your chest is gripped by the $vorecreature's mouth, your body at the mercy of its slimy tongue. <<neutral 2 "breasts">><<neutral 3 "genitals">><<neutral 3 "bottom">> <<elseif $vorestage is 4>> Your shoulders are gripped by the $vorecreature's mouth, your body at the mercy of its intrusive tongue. <<neutral 3 "breasts">><<neutral 4 "genitals">><<neutral 4 "bottom">> <<elseif $vorestage is 5>> Your entire body is in the $vorecreature's mouth. Its slimy tongue presses against your whole body. <<neutral 4 "breasts">><<neutral 5 "genitals">><<neutral 5 "bottom">> <<elseif $vorestage is 6>> You are in the $vorecreature's gullet, pushed along by movements in the walls. <<neutral 5 "breasts">><<neutral 6 "genitals">><<neutral 6 "bottom">> <<elseif $vorestage is 7>> You are in the $vorecreature's stomach. It's a struggle to keep your head above the slimy liquid. <<if $vorecreature is "oyster" and $rng lte 10 and $pearlChance is undefined>> <<wearProp "oyster pearl">> You feel something round and smooth pressing against your body. You grab it and investigate it. <span class="green">You found a rare pearl.</span> It's going to fetch a tidy sum. <<tending_give oyster_pearl 1>> <<set $pearlChance to 1>> <</if>> <<neutral 6 "breasts">><<neutral 7 "genitals">><<neutral 7 "bottom">> <</if>> <<if $vorestage is 1>> <<if ($vorestruggle * currentSkillValue('physique')) gte $vorestrength>> <<if $vorestruggle is 2>> You push down on the $vorecreature's maw with both your arms, <span class="green">preventing it from swallowing you further.</span> <<elseif $vorestruggle is 1>> You push down on the $vorecreature's maw with one arm, <span class="green">preventing it from swallowing you further.</span> <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="green">but it doesn't take advantage of your vulnerability.</span> <</if>> <<else>> <<set $vorestage += 1>> <<if $vorestruggle is 2>> You push down on the $vorecreature's maw with both your arms,<span class="blue"> but it isn't enough.</span> You slide deeper into its mouth, until it swallows you up to the waist. <<elseif $vorestruggle is 1>> You push down on the $vorecreature's maw with one arm,<span class="blue"> but it isn't enough.</span> You slide deeper into its mouth, until it swallows you up to the waist. <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="blue">and it takes advantage of your vulnerability.</span> You slide deeper into its mouth, until it swallows you up to the waist. <</if>> <<if $voretrait gte 1 and random(1, 3) is 3>> You shiver at the sensation.<<arousal 100>> <</if>> <</if>> <<elseif $vorestage is 2>> <<if $worn.over_lower.integrity gt 0>> <<set $worn.over_lower.integrity -= 1>> <<elseif $worn.lower.integrity lte 0>> <<set $worn.lower.integrity -= 1>> <<elseif $worn.under_lower.integrity lte 0>> <<set $worn.under_lower.integrity -= 1>> <</if>> <<if ($vorestruggle * currentSkillValue('physique')) gte $vorestrength>> <<if $vorestruggle is 2>> You push down on the $vorecreature's maw with both your arms, <span class="green">preventing it from swallowing you further.</span> <<elseif $vorestruggle is 1>> You push down on the $vorecreature's maw with one arm, <span class="green">preventing it from swallowing you further.</span> <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="green">but it doesn't take advantage of your vulnerability.</span> <</if>> <<else>> <<set $vorestage += 1>> <<if $vorestruggle is 2>> You push down on the $vorecreature's maw with both your arms,<span class="purple"> but it isn't enough.</span> You slide deeper into its mouth, until it swallows you up to your chest. <<elseif $vorestruggle is 1>> You push down on the $vorecreature's maw with one arm,<span class="purple"> but it isn't enough.</span> You slide deeper into its mouth, until it swallows you up to your chest. <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="purple">and it takes advantage of your vulnerability.</span> You slide deeper into its mouth, until it swallows you up to your chest. <</if>> <</if>> <<elseif $vorestage is 3>> <<if $worn.over_lower.integrity gt 0>> <<set $worn.over_lower.integrity -= 1>> <<elseif $worn.lower.integrity gt 0>> <<set $worn.lower.integrity -= 1>> <<elseif $worn.under_lower.integrity gt 0>> <<set $worn.under_lower.integrity -= 1>> <</if>> <<if $worn.over_upper.integrity gt 0>> <<set $worn.over_upper.integrity -= 1>> <<elseif $worn.upper.integrity gt 0>> <<set $worn.upper.integrity -= 1>> <<elseif $worn.under_upper.integrity gt 0>> <<set $worn.under_upper.integrity -= 1>> <</if>> <<set $worn.upper.integrity -= 1>> <<if ($vorestruggle * currentSkillValue('physique')) gte $vorestrength>> <<if $vorestruggle is 2>> You push down on the $vorecreature's maw with both your arms, <span class="green">preventing it from swallowing you further.</span> <<elseif $vorestruggle is 1>> You push down on the $vorecreature's maw with one arm, <span class="green">preventing it from swallowing you further.</span> <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="green">but it doesn't take advantage of your vulnerability.</span> <</if>> <<else>> <<set $vorestage += 1>> <<if $vorestruggle is 2>> You push down on the $vorecreature's maw with both your arms,<span class="pink"> but it isn't enough.</span> You slide deeper into its mouth, until it swallows you up to your neck. <<elseif $vorestruggle is 1>> You push down on the $vorecreature's maw with one arm,<span class="pink"> but it isn't enough.</span> You slide deeper into its mouth, until it swallows you up to your neck. <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="pink">and it takes advantage of your vulnerability.</span> You slide deeper into its mouth, until it swallows you up to your neck. <</if>> <</if>> <<elseif $vorestage is 4>> <<if $worn.over_lower.integrity gt 0>> <<set $worn.over_lower.integrity -= 1>> <<elseif $worn.lower.integrity gt 0>> <<set $worn.lower.integrity -= 1>> <<elseif $worn.under_lower.integrity gt 0>> <<set $worn.under_lower.integrity -= 1>> <</if>> <<if $worn.over_upper.integrity gt 0>> <<set $worn.over_upper.integrity -= 1>> <<elseif $worn.upper.integrity gt 0>> <<set $worn.upper.integrity -= 1>> <<elseif $worn.under_upper.integrity gt 0>> <<set $worn.under_upper.integrity -= 1>> <</if>> <<if ($vorestruggle * currentSkillValue('physique')) gte $vorestrength>> <<if $vorestruggle is 2>> You grab the inside of the $vorecreature's maw with both arms, <span class="green">preventing it from swallowing you further.</span> <<elseif $vorestruggle is 1>> You grab the inside of the $vorecreature's maw with one arm, <span class="green">preventing it from swallowing you further.</span> <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="green">but it doesn't take advantage of your vulnerability.</span> <</if>> <<else>> <<set $vorestage += 1>> <<if $vorestruggle is 2>> You grab the inside of the $vorecreature's maw with both your arms,<span class="pink"> but it isn't enough.</span> The last of your body slides into its mouth, its lips closing behind you. <<elseif $vorestruggle is 1>> You grab the inside of the $vorecreature's maw with one arm,<span class="pink"> but it isn't enough.</span> The last of your body slides into its mouth, its lips closing behind you. <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="pink">and it takes advantage of your vulnerability.</span> The last of your body slides into its mouth, its lips closing behind you. <</if>> <</if>> <<elseif $vorestage is 5>> <<if $worn.over_lower.integrity gt 0>> <<set $worn.over_lower.integrity -= 1>> <<elseif $worn.lower.integrity gt 0>> <<set $worn.lower.integrity -= 1>> <<elseif $worn.under_lower.integrity gt 0>> <<set $worn.under_lower.integrity -= 1>> <</if>> <<if $worn.over_upper.integrity gt 0>> <<set $worn.over_upper.integrity -= 1>> <<elseif $worn.upper.integrity gt 0>> <<set $worn.upper.integrity -= 1>> <<elseif $worn.under_upper.integrity gt 0>> <<set $worn.under_upper.integrity -= 1>> <</if>> <<if ($vorestruggle * currentSkillValue('physique')) gte $vorestrength>> <<if $vorestruggle is 2>> You grab the inside of the $vorecreature's maw with both arms, <span class="green">preventing it from swallowing you further.</span> <<elseif $vorestruggle is 1>> You grab the inside of the $vorecreature's maw with one arm, <span class="green">preventing it from swallowing you further.</span> <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="green">but it doesn't take advantage of your vulnerability.</span> <</if>> <<else>> <<set $vorestage += 1>> <<if $vorestruggle is 2>> You grab the inside of the $vorecreature's maw with both your arms,<span class="pink"> but it isn't enough.</span> The $vorecreature sucks you further down, sliding you into its gullet. <<elseif $vorestruggle is 1>> You grab the inside of the $vorecreature's maw with one arm,<span class="pink"> but it isn't enough.</span> The $vorecreature sucks you further down, sliding you into its gullet. <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="pink">and it takes advantage of your vulnerability.</span> The $vorecreature sucks you further down, sliding you into its gullet. <</if>> <</if>> <<elseif $vorestage is 6>> <<if $worn.over_lower.integrity gt 0>> <<set $worn.over_lower.integrity -= 1>> <<elseif $worn.lower.integrity gt 0>> <<set $worn.lower.integrity -= 1>> <<elseif $worn.under_lower.integrity gt 0>> <<set $worn.under_lower.integrity -= 1>> <</if>> <<if $worn.over_upper.integrity gt 0>> <<set $worn.over_upper.integrity -= 1>> <<elseif $worn.upper.integrity gt 0>> <<set $worn.upper.integrity -= 1>> <<elseif $worn.under_upper.integrity gt 0>> <<set $worn.under_upper.integrity -= 1>> <</if>> <<if ($vorestruggle * currentSkillValue('physique')) gte $vorestrength>> <<if $vorestruggle is 2>> You grab the inside of the $vorecreature's maw with both arms, <span class="green">preventing it from swallowing you further.</span> <<elseif $vorestruggle is 1>> You grab the inside of the $vorecreature's maw with one arm, <span class="green">preventing it from swallowing you further.</span> <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="green">but it doesn't take advantage of your vulnerability.</span> <</if>> <<else>> <<set $vorestomach to 0>> <<set $vorestage += 1>> <<if $vorestruggle is 2>> You grab the inside of the $vorecreature's maw with both your arms,<span class="pink"> but it isn't enough.</span> The $vorecreature sucks you further down, depositing you in a fleshy chamber. <<if $leftarm is "trapped">><<set $leftarm to 0>><</if>><<if $rightarm is "trapped">><<set $rightarm to 0>><<swallowed>><</if>> <<elseif $vorestruggle is 1>> You grab the inside of the $vorecreature's maw with one arm,<span class="pink"> but it isn't enough.</span> The $vorecreature sucks you further down, depositing you in a fleshy chamber. <<if $leftarm is "trapped">><<set $leftarm to 0>><</if>><<if $rightarm is "trapped">><<set $rightarm to 0>><<swallowed>><</if>> <<else>> There's nothing preventing the $vorecreature from swallowing you further, <span class="pink">and it takes advantage of your vulnerability.</span> The $vorecreature sucks you further down, depositing you in a fleshy chamber. <<if $leftarm is "trapped">><<set $leftarm to 0>><</if>><<if $rightarm is "trapped">><<set $rightarm to 0>><</if>><<swallowed>> <</if>> <</if>> <<else>> <<if $worn.over_lower.integrity gt 0>> <<set $worn.over_lower.integrity -= 5>> <</if>> <<if ($worn.over_lower.name is "naked" or $worn.over_lower.integrity lte clothingData('over_lower',$worn.over_lower,'integrity_max') / 5) and $worn.lower.integrity gt 0>> <<set $worn.upper.integrity -= 5>> <</if>> <<if ($worn.over_lower.name is "naked" or $worn.over_lower.integrity lte clothingData('over_lower',$worn.over_lower,'integrity_max') / 5) and ($worn.lower.name is "naked" or $worn.lower.integrity lte clothingData('lower',$worn.lower,'integrity_max') / 5) and $worn.under_lower.integrity gt 0>> <<set $worn.under_lower.integrity -= 5>> <</if>> <<if $worn.over_upper.integrity gt 0>> <<set $worn.over_upper.integrity -= 5>> <</if>> <<if ($worn.over_upper.name is "naked" or $worn.over_upper.integrity lte clothingData('over_upper',$worn.over_upper,'integrity_max') / 5) and $worn.upper.integrity gt 0>> <<set $worn.upper.integrity -= 5>> <</if>> <<if ($worn.over_upper.name is "naked" or $worn.over_upper.integrity lte clothingData('over_upper',$worn.over_upper,'integrity_max') / 5) and ($worn.upper.name is "naked" or $worn.upper.integrity lte clothingData('upper',$worn.upper,'integrity_max') / 5) and $worn.under_upper.integrity gt 0>> <<set $worn.under_upper.integrity -= 5>> <</if>> <</if>> <br><br> <<set $vorestruggle to 0>> <<rng>> <<if $vorestage is 1>> <<if $rng gte 66>> You feel the $vorecreature licking your feet. <<neutral 5>> <<elseif $rng gte 33>> The $vorecreature's tongue protrudes from its maw, and licks your inner thighs. <<neutral 5 "genitals">> <<else>> The $vorecreature's tongue protrudes from its maw, and licks your butt. <<neutral 5 "anus">> <</if>> <<elseif $vorestage is 2>> <<if $rng gte 66>> You feel the $vorecreature licking your butt. <<neutral 5 "anus">> <<elseif $rng gte 33>> The $vorecreature gently licks your <<groin>>. <<neutral 10 "genitals">> <<else>> The $vorecreature's tongue wraps around your pelvis, and rubs up and down the length of your thighs. <<neutral 5 "genitals">> <</if>> <<elseif $vorestage is 3>> <<if $rng gte 66>> The $vorecreature's tongue presses your body against the roof of its maw. <<neutral 5>> <<elseif $rng gte 33>> The $vorecreature gently prods your <<groin>>. <<neutral 10 "genitals">> <<else>> The $vorecreature's tongue caresses your inner thighs. <<neutral 5 "genitals">> <</if>> <<elseif $vorestage is 4>> <<if $rng gte 66>> The $vorecreature runs the tip of its tongue down the length of your body. <<neutral 5>> <<elseif $rng gte 33>> The $vorecreature gently prods your <<groin>>. <<neutral 10 "genitals">> <<else>> The $vorecreature's tongue caresses your inner thighs. <<neutral 10 "genitals">> <</if>> <<elseif $vorestage is 5>> <<if $rng gte 66>> The $vorecreature runs the tip of its tongue down the length of your body. <<neutral 10>> <<elseif $rng gte 33>> The $vorecreature wraps its tongue around your body. <<neutral 10>> <<else>> The $vorecreature flicks your <<groin>> with the tip of its tongue. <<neutral 15 "genitals">> <</if>> <<elseif $vorestage is 6>> <<if $rng gte 81 and $leftarm is 0>> A groove in the side of the gullet constricts around your left arm, trapping it. <<set $leftarm to "trapped">><<set $lefttarget to "vore">><<neutral 10>> <<elseif $rng gte 61 and $rightarm is 0>> A groove in the side of the gullet constricts around your right arm, trapping it. <<set $rightarm to "trapped">><<set $righttarget to "vore">><<neutral 10>> <<elseif $rng gte 41>> The gullet tightens around your entire body, holding you in place. <<neutral 10>> <<elseif $rng gte 21>> Valves open at the side of the tube and release a warm liquid, coating you in a slimy goo. <<neutral 15>> <<elseif $rng gte 1>> The sides of the gullet push against you, sliding you along the tube. <<neutral 15>> <</if>> <<elseif $vorestage is 7>> <<if $rng gte 81 and $rightarm is 0>> A groove in the side of the chamber constricts around your right arm, trapping it. <<set $rightarm to "trapped">><<set $righttarget to "vore">><<neutral 15>> <<elseif $rng gte 61>> More liquid squirts out the side of the chamber, covering you in a slimy goo. <<neutral 15>><<outergoo>> <<elseif $rng gte 41 and $leftarm is 0>> A groove in the side of the chamber constricts around your left arm, trapping it. <<set $leftarm to "trapped">><<set $lefttarget to "vore">><<neutral 15>> <<elseif $rng gte 21>> The chamber pulses to a gentle rhythm. <<neutral 15>> <<elseif $rng gte 1>> The entire chamber pulsates and rubs against you. <<neutral 20>> <</if>> <<if $vorestomach is 0>> <<set $vorestomach to 1>> <span class="blue">The walls close in around you.</span> <<elseif $vorestomach is 1>> <<set $vorestomach to 2>> <span class="purple">The walls close in around you.</span> <<elseif $vorestomach is 2>> <<set $vorestomach to 3>> <span class="pink">The walls close in around you, squeezing your body and stealing your breath.</span> <<elseif $vorestomach is 3>> <<set $vorestomach to 4>> <span class="red">The walls close in around you. You soon won't be able to move at all.</span> <<else>> <<set $vorestomach to 5>> <span class="red">The walls close in around you. The world starts to fade.</span> <</if>> <</if>> <br><br> <<rng>> <<if $vorestage lte 5>> <<if $rng gte 75>> <<set $vorestrength to random(0, 0)>> <span class="lblue">The $vorecreature seems content to savour your taste, for now.</span> <<elseif $rng gte 50>> <<set $vorestrength to random(-5000, 10000)>> <span class="blue">The $vorecreature salivates in anticipation.</span> <<elseif $rng gte 25>> <<set $vorestrength to random(-5000, 20000)>> <span class="purple">The $vorecreature prepares to suck you in.</span> <<elseif $rng gte 1>> <<set $vorestrength to random(1, 20000)>> <span class="pink">The $vorecreature prepares to gulp you down.</span> <</if>> <br><br> <<else>> <<if $rng gte 75>> <<set $vorestrength to random(0, 0)>> <<elseif $rng gte 50>> <<set $vorestrength to random(-5000, 10000)>> <<elseif $rng gte 25>> <<set $vorestrength to random(-5000, 20000)>> <<elseif $rng gte 1>> <<set $vorestrength to random(1, 20000)>> <</if>> <</if>> <<if $voretrait gte 1>> <<set $vorestrength -= 2500>> <</if>> <<if $panicattacks gte 1 and $panicviolence is 0 and $panicparalysis is 0 and $controlled is 0 and _panicchecked isnot true>> <<rng>> <<if $rng is 100>> <<set $panicparalysis to 5>> <</if>> <<set _panicchecked to true>> <</if>> <<if $panicattacks gte 2 and $panicviolence is 0 and $panicparalysis is 0 and $controlled is 0 and _paniccheckedviolence isnot true>> <<rng>> <<if $rng is 100>> <<set $panicviolence to 3>> <</if>> <<set _paniccheckedviolence to true>> <</if>> <<if $arousal gte $arousalmax and $orgasmdown lte 0>> <<orgasm>> <</if>> <</widget>> <<widget "swallowedstat">> <<set $swallowedstat += 1>> <</widget>> <<widget "swallowed">> <<if $swallowed isnot 1>> <<set $swallowed to 1>> <<swallowedstat>> <</if>> <</widget>><<widget "voreactions">> <<animateCombat>> <<willpowerpain>> <<willpowerorgasm>> <<actioncarry>> <<actioncarrydrop>> <<combatstate>> <<carryblock>> <<if $trance lte 0 and $panicparalysis is 0 and $panicviolence is 0>> <<generateActionsVore>> <</if>> <br> <</widget>><<widget "voreeffects">> <<rng>> <<effectspain>> <<effectsorgasm>> <<effectsdissociation>> <<if $leftaction is "leftescape" and $rightaction is "rightescape">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "leftescape">><<set $rightactiondefault to "rightescape">><<set $attackstat += 2>><<set $leftactiondefault to "leftescape">><<set $rightactiondefault to "rightescape">> <<if $rng gte 40>> <<if $leftarm is "trapped">><<set $leftarm to 0>><</if>><<if $rightarm is "trapped">><<set $rightarm to 0>><</if>> <<if $vorestage is 1>> <<set $vorestage -= 1>> You hit the $vorecreature's maw with both arms, <span class="green">and make it spit you out.</span> <<elseif $vorestage is 2>> <<set $vorestage -= 1>> You hit the $vorecreature's mouth with both arms. <span class="green">It gags, letting you slide your body out, freeing your <<genitals>> from its maw.</span> <<elseif $vorestage is 3>> <<set $vorestage -= 1>> You hit the $vorecreature's mouth with both arms. <span class="green">It gags, letting you slide your body out, freeing your <<breasts>> from its maw.</span> <<elseif $vorestage is 4>> <<set $vorestage -= 1>> You hit the inside of the $vorecreature's mouth with both arms. <span class="green">It gags, letting you slide your body out, freeing your arms from its maw.</span> <<elseif $vorestage is 5>> <<set $vorestage -= 1>> You hit the inside of the $vorecreature's mouth with both arms. <span class="green">It gags, letting you slide your head back out.</span> <<elseif $vorestage is 6>> <<set $vorestage -= 1>> You hit the walls of the $vorecreature's gullet with both arms. <span class="green">It convulses, violently pushing you up into its mouth.</span> <<elseif $vorestage is 7>> <<set $vorestage -= 1>> You pound the walls of the $vorecreature's stomach with both arms. <span class="green">It convulses, violently pushing you up into its gullet.</span> <</if>> <<else>> <<if $vorestage is 1>> You hit the $vorecreature's maw with both arms, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 2>> You hit the $vorecreature's mouth with both arms, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 3>> You hit the $vorecreature's mouth with both arms, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 4>> You hit the inside of the $vorecreature's mouth with both arms, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 5>> You hit the inside of the $vorecreature's mouth with both arms, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 6>> You hit the walls of the $vorecreature's gullet with both arms, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 7>> You pound the walls of the $vorecreature's stomach with both arms, <span class="red">but it doesn't react.</span> <</if>> <</if>> <<elseif $leftaction is "leftescape">> <<set $leftaction to 0>><<set $leftactiondefault to "leftescape">><<set $attackstat += 1>><<set $leftactiondefault to "leftescape">> <<if $rng gte 20>> <<if $leftarm is "trapped">><<set $leftarm to 0>><</if>><<if $rightarm is "trapped">><<set $rightarm to 0>><</if>> <<if $vorestage is 1>> <<set $vorestage -= 1>> You hit the $vorecreature's maw with your left arm, <span class="green">and make it spit you out.</span> <<elseif $vorestage is 2>> <<set $vorestage -= 1>> You hit the $vorecreature's mouth with your left arm. <span class="green">It gags, letting you slide your body out, freeing your <<genitals>> from its maw.</span> <<elseif $vorestage is 3>> <<set $vorestage -= 1>> You hit the $vorecreature's mouth with your left arm. <span class="green">It gags, letting you slide your body out, freeing your <<breasts>> from its maw.</span> <<elseif $vorestage is 4>> <<set $vorestage -= 1>> You hit the inside of the $vorecreature's mouth with your left arm. <span class="green">It gags, letting you slide your body out, freeing your arms from its maw.</span> <<elseif $vorestage is 5>> <<set $vorestage -= 1>> You hit the inside of the $vorecreature's mouth with your left arm. <span class="green">It gags, letting you slide your head back out.</span> <<elseif $vorestage is 6>> <<set $vorestage -= 1>> You hit the walls of the $vorecreature's gullet with your left arm. <span class="green">It convulses, violently pushing you up into its mouth.</span> <<elseif $vorestage is 7>> <<set $vorestage -= 1>> You pound the walls of the $vorecreature's stomach with your left arm. <span class="green">It convulses, violently pushing you up into its gullet.</span> <</if>> <<else>> <<if $vorestage is 1>> You hit the $vorecreature's maw with your left arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 2>> You hit the $vorecreature's mouth with your left arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 3>> You hit the $vorecreature's mouth with your left arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 4>> You hit the inside of the $vorecreature's mouth with your left arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 5>> You hit the inside of the $vorecreature's mouth with your left arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 6>> You hit the walls of the $vorecreature's gullet with your left arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 7>> You pound the walls of the $vorecreature's stomach with your left arm, <span class="red">but it doesn't react.</span> <</if>> <</if>> <<elseif $rightaction is "rightescape">> <<set $rightaction to 0>><<set $rightactiondefault to "rightescape">><<set $attackstat += 1>><<set $rightactiondefault to "rightescape">> <<if $rng gte 20>> <<if $leftarm is "trapped">><<set $leftarm to 0>><</if>><<if $rightarm is "trapped">><<set $rightarm to 0>><</if>> <<if $vorestage is 1>> <<set $vorestage -= 1>> You hit the $vorecreature's maw with your right arm, <span class="green">and make it spit you out.</span> <<elseif $vorestage is 2>> <<set $vorestage -= 1>> You hit the $vorecreature's mouth with your right arm. <span class="green">It gags, letting you slide your body out, freeing your <<genitals>> from its maw.</span> <<elseif $vorestage is 3>> <<set $vorestage -= 1>> You hit the $vorecreature's mouth with your right arm. <span class="green">It gags, letting you slide your body out, freeing your <<breasts>> from its maw.</span> <<elseif $vorestage is 4>> <<set $vorestage -= 1>> You hit the inside of the $vorecreature's mouth with your right arm. <span class="green">It gags, letting you slide your body out, freeing your arms from its maw.</span> <<elseif $vorestage is 5>> <<set $vorestage -= 1>> You hit the inside of the $vorecreature's mouth with your right arm. <span class="green">It gags, letting you slide your head back out.</span> <<elseif $vorestage is 6>> <<set $vorestage -= 1>> You hit the walls of the $vorecreature's gullet with your right arm. <span class="green">It convulses, violently pushing you up into its mouth.</span> <<elseif $vorestage is 7>> <<set $vorestage -= 1>> You pound the walls of the $vorecreature's stomach with your right arm. <span class="green">It convulses, violently pushing you up into its gullet.</span> <</if>> <<else>> <<if $vorestage is 1>> You hit the $vorecreature's maw with your right arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 2>> You hit the $vorecreature's mouth with your right arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 3>> You hit the $vorecreature's mouth with your right arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 4>> You hit the inside of the $vorecreature's mouth with your right arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 5>> You hit the inside of the $vorecreature's mouth with your right arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 6>> You hit the walls of the $vorecreature's gullet with your right arm, <span class="red">but it doesn't react.</span> <<elseif $vorestage is 7>> You pound the walls of the $vorecreature's stomach with your right arm, <span class="red">but it doesn't react.</span> <</if>> <</if>> <</if>> <<if $leftaction is "lefthold" and $rightaction is "righthold">> <<set $leftaction to 0>><<set $rightaction to 0>><<set $leftactiondefault to "lefthold">><<set $rightactiondefault to "righthold">><<set $vorestruggle to 2>> <<if $vorestage is 1>> You grab hold of the $vorecreature's maw with both arms. <<elseif $vorestage is 2>> You grab hold of the $vorecreature's maw with both arms. <<elseif $vorestage is 3>> You grab hold of the $vorecreature's maw with both arms. <<elseif $vorestage is 4>> You cling to the side of the $vorecreature's mouth with both arms. <<elseif $vorestage is 5>> You cling to the side of the $vorecreature's mouth with both arms. <<elseif $vorestage is 6>> You cling to the side of the $vorecreature's gullet with both arms. <</if>> <<elseif $leftaction is "lefthold">> <<set $leftaction to 0>><<set $leftactiondefault to "lefthold">><<set $vorestruggle to 1>> <<if $vorestage is 1>> You grab hold of the $vorecreature's maw with your left arm. <<elseif $vorestage is 2>> You grab hold of the $vorecreature's maw with your left arm. <<elseif $vorestage is 3>> You grab hold of the $vorecreature's maw with your left arm. <<elseif $vorestage is 4>> You cling to the side of the $vorecreature's mouth with your left arm. <<elseif $vorestage is 5>> You cling to the side of the $vorecreature's mouth with your left arm. <<elseif $vorestage is 6>> You cling to the side of the $vorecreature's gullet with your left arm. <</if>> <<elseif $rightaction is "righthold">> <<set $rightaction to 0>><<set $rightactiondefault to "righthold">><<set $vorestruggle to 1>> <<if $vorestage is 1>> You grab hold of the $vorecreature's maw with your right arm. <<elseif $vorestage is 2>> You grab hold of the $vorecreature's maw with your right arm. <<elseif $vorestage is 3>> You grab hold of the $vorecreature's maw with your right arm. <<elseif $vorestage is 4>> You cling to the side of the $vorecreature's mouth with your right arm. <<elseif $vorestage is 5>> You cling to the side of the $vorecreature's mouth with your right arm. <<elseif $vorestage is 6>> You cling to the side of the $vorecreature's gullet with your right arm. <</if>> <</if>> <<if $leftaction is "leftvorefree">> <<set $leftaction to 0>> <<set $rightarm to 0>> <span class="lblue">Using all your strength, you manage to free your right arm from the side of the gullet.</span> <</if>> <<if $rightaction is "rightvorefree">> <<set $rightaction to 0>> <<set $leftarm to 0>> <span class="lblue">Using all your strength, you manage to free your left arm from the side of the gullet.</span> <</if>> <<if $leftaction is "vorerest">> <<set $leftaction to 0>><<set $leftactiondefault to "vorerest">> <</if>> <<if $rightaction is "vorerest">> <<set $rightaction to 0>><<set $rightactiondefault to "vorerest">> <</if>> <br><br> <</widget>><<widget "takeVirginity">> <<if Array.isArray(_args[0])>> /* Array of NPCList index's, should only be used for double penetration */ <<set $_npc to $NPCList[_args[0][0]]>> <<set $_npc2 to $NPCList[_args[0][1]]>> <<if $_npc?.fullDescription and $_npc2?.fullDescription>> <<set $_taker to `${$_npc.fullDescription} and ${$_npc2.fullDescription}`>> <</if>> <</if>> <<if !$_taker>> <<set $_taker to _args[0]>> <<set $_npcIndex to $NPCNameList.indexOf($_taker)>> <<if $_npcIndex isnot -1>> <<set $_npc to $NPCName[$_npcIndex]>> <<else>> <<run $NPCList.forEach(npc => { if (npc.fullDescription is $_taker) $_npc to npc; })>> <</if>> <</if>> <<if _args[1]>> <<if _args[1] is "penile" and playerHasStrapon()>> <!-- Do nothing --> <<else>> <<if $player.virginity[_args[1]] is true>> <<if $activeNightmare or ($wraith.mimic is $_taker)>> <<switch $_taker>> <<case "Robin">><<displayFeatFake "Robin the Lover">> <<case "Kylar">><<displayFeatFake "Kylar the Obsessed">> <<case "Eden">><<displayFeatFake "Eden the Lonely">> <<case "Whitney">><<displayFeatFake "Whitney the Tsundere">> <<case "Avery">><<displayFeatFake "Avery the Moneybags">> <<case "Leighton">><<displayFeatFake "Leighton the Shady">> <<case "Alex">><<displayFeatFake "Alex the Robust">> <<case "Great Hawk">><<displayFeatFake "Great Hawk the Terror">> <<case "Wren">><<displayFeatFake "Wren the Sly">> <<case "Black Wolf">><<displayFeatFake "Great Wolf the Alpha">> <<case "Harper">><<displayFeatFake "Harper the Hypnotist">> <<case "Morgan">><<displayFeatFake "Morgan the Lost">> <</switch>> <<if !$activeNightmare>> <<set $_taker to "Ivory Wraith">> <</if>> <<elseif _args[1] is "vaginal" or _args[1] is "penile">> <<switch $_taker>> <<case "Robin">><<earnFeat "Robin the Lover">> <<case "Kylar">><<earnFeat "Kylar the Obsessed">> <<case "Eden">><<earnFeat "Eden the Lonely">> <<case "Whitney">><<earnFeat "Whitney the Tsundere">> <<case "Avery">><<earnFeat "Avery the Moneybags">> <<case "Leighton">><<earnFeat "Leighton the Shady">> <<case "Alex">><<earnFeat "Alex the Robust">> <<case "Great Hawk">><<earnFeat "Great Hawk the Terror">> <<case "Wren">><<earnFeat "Wren the Sly">> <<case "Black Wolf">><<earnFeat "Great Wolf the Alpha">> <<case "Harper">><<earnFeat "Harper the Hypnotist">> <<case "Morgan">><<earnFeat "Morgan the Lost">> <</switch>> <</if>> <<if !$player.virginityDetails>> <<set $player.virginityDetails to {}>> <</if>> <<set $player.virginityDetails[_args[1]] to { timestamp: Time.date.timeStamp, taker: $_taker, passage: $passage, }>> <<if $combat>> <<set $player.virginityDetails[_args[1]].consensual to !!$consensual>> <<set $player.virginityDetails[_args[1]].position to $position>> <<elseif _consensualOverride isnot undefined>> <<set $player.virginityDetails[_args[1]].consensual to _consensualOverride>> <<unset _consensualOverride>> <</if>> <<if _args[1] is "penile">> <<set $player.virginityDetails[_args[1]].playerPenisSize to $player.penissize>> <<elseif ["vaginal", "anal", "oral"].includes(_args[1])>> <<if $_npc>> <<set $player.virginityDetails[_args[1]].npcPenisSize to $_npc.penissize>> <<set $player.virginityDetails[_args[1]].npcPenisdesc to $_npc.penisdesc>> <</if>> <<if $_npc2>> <<set $player.virginityDetails[_args[1]].npcPenisSize2 to $_npc2.penissize>> <<set $player.virginityDetails[_args[1]].npcPenisdesc2 to $_npc2.penisdesc>> <</if>> <<if !$player.virginityDetails[_args[1]].npcPenisSize>> <<if $tentacles>> <<run Object.values($tentacles).forEach(tentacle => { if (tentacle and tentacle.fullDesc is $_taker and tentacle.size isnot undefined) $player.virginityDetails[_args[1]].tentacleSize to tentacle.size; })>> <</if>> <</if>> <</if>> <<if $_taker isnot undefined and $_taker isnot 0>> <<set $player.virginity[_args[1]] to $_taker>> <<if $ironmanmode is true and $passage != "Loveth">> <<run ironmanAutoSave()>> <</if>> <<else>> <<set $player.virginity[_args[1]] to false>> <</if>> <!-- virgin purity loss --> <<switch _args[1]>> <<case "vaginal" "penile">> <<if $templePromised isnot $_taker>> <<purity -50>> <</if>> <<case "anal">><<purity -25>> <<case "oral">><<purity -25>> <<case "handholding">><<purity -10>> <<case "kiss">><<purity -10>> <</switch>> <</if>> <<if $player.virginity.temple is true and (_args[1] is "vaginal" or _args[1] is "penile") and $templePromised isnot $_taker>> <<set $virginityProtected to false>> <<set $player.virginity.temple to $_taker>> <</if>> <</if>> <</if>> <</widget>> <<widget "takeTempleVirginity">> <<if _args[1]>> <<if _args[1] is "penile" and playerHasStrapon()>> <!-- Do nothing --> <<else>> <<if $player.virginity.temple is true and (_args[1] is "vaginal" or _args[1] is "penile") and $templePromised isnot _args[0]>> <<set $virginityProtected to false>> <<set $player.virginity.temple to _args[0]>> <</if>> <</if>> <</if>> <</widget>> <<widget "takeHandholdingVirginity">> <<if typeof _args[0] === 'string' or _args[0] instanceof String>> <<set $_fullDescription to _args[0]>> <<if C.npc[_args[0]]>> <<set $_type to C.npc[_args[0]].type>> <<else>> <<set $_type to _args[2]>> <</if>> <<else>> <<set $_fullDescription to _args[0].fullDescription>> <<set $_type to _args[0].type>> <</if>> <<switch _args[1]>> <<case "romantic" "consensual">> <<set _npcConsensualOverride to true>> <<case "rape">> <<set _npcConsensualOverride to true>> <</switch>> <<takeNPCVirginity $_fullDescription "handholding" "pc">> <<unset _npcConsensualOverride>> <<if $player.virginity.handholding is true>> <<switch _args[1]>> <<case "romantic">> <span class="lewd">You aren't used to this kind of romantic handholding.</span><<arousal 2000>><<ggarousal>> <<set _consensualOverride to true>> <<case "rape">> <span class="red">You feel horrible, being forced to hold hands like this.</span><<stress 40>><<ggstress>> <<set _consensualOverride to false>> <<case "consensual">> <span class="green">Having your hand held feels nice.</span><<lltrauma>><<trauma -18>> <<set _consensualOverride to true>> <<case "tentacle">> <<set $_handTentacle to _args[2] or "tentacle">> <span class="lewd">You wonder what others would say about a $_handTentacle holding your hand, if they would even believe you.</span><<arousal 1000>> <<default>> <span class="blue">You feel nervous holding the hands of someone you're not close to.</span><<stress 20>><<gstress>> <</switch>> <<takeVirginity $_fullDescription "handholding">> <</if>> <<recordSperm `{target: "pc", spermOwner: _args[0], spermType: $_type, genital: "hand"}`>> <<recordSperm `{target: _args[0], spermOwner: "pc", spermType: "human", genital: "hand"}`>> <<if !$combat>><<fetishPregnancyImg>><</if>> <</widget>> <<widget "takeKissVirginity">> <<if typeof _args[0] === 'string' or _args[0] instanceof String>> <<set $_fullDescription to _args[0]>> <<if C.npc[_args[0]]>> <<set $_type to C.npc[_args[0]].type>> <<else>> <<set $_type to _args[2]>> <</if>> <<else>> <<set $_fullDescription to _args[0].fullDescription>> <<set $_type to _args[0].type>> <</if>> <<switch _args[1]>> <<case "loveInterest" "romantic">> <<set _npcConsensualOverride to true>> <<case "rape" "loveRape">> <<set _npcConsensualOverride to true>> <</switch>> <<takeNPCVirginity $_fullDescription "kiss" "pc">> <<unset _npcConsensualOverride>> <<if $player.virginity.kiss is true>> <<if _args[0].type is "plant" and $backgroundTraits.includes("plantlover") and $nectar_timer lte 14>> <<set $_kissType to "addiction">> <<else>> <<set $_kissType to _args[1]>> <</if>> <<switch $_kissType>> <<case "loveInterest">> <span class="lewd">You're happy your first kiss went to a love interest.</span><<arousal 3000>><<stress -12>><<trauma -12>><<ggarousal>><<llstress>> <<if ($wraith.mimic isnot $_fullDescription)>><<earnFeat "First Kiss">><</if>> <<set _consensualOverride to true>> <<case "romantic">> <span class="lewd">You're happy your first kiss was taken in such a romantic way.</span><<arousal 1500>><<stress -6>><<trauma -6>><<garousal>><<lstress>> <<set _consensualOverride to true>> <<case "rape">> <span class="red">Your first kiss was stolen. You feel horrible.</span><<stress 40>><<gggstress>> <<set _consensualOverride to false>> <<case "loveRape">> <span class="red">You didn't want your first kiss with <<nnpc_him $_fullDescription>> to be like this.</span><<stress 40>><<gggstress>> <<set _consensualOverride to false>> <<case "tentacle">> <span class="lewd">You wonder what others would say about giving a tentacle your first kiss, if they would even believe you.</span><<arousal 3000>> <<case "addiction">> <span class="lewd">You're so relieved, the thought of giving away your first kiss like this hardly registers to you.</span><<arousal 1000>> <<default>> <span class="blue">You feel conflicted about giving away your first kiss like this.</span><<stress 20>><<ggstress>> <</switch>> <<takeVirginity $_fullDescription "kiss">> <</if>> <<recordSperm `{target: "pc", spermOwner: _args[0], spermType: $_type, genital: "kiss"}`>> <<recordSperm `{target: _args[0], spermOwner: "pc", spermType: "human", genital: "kiss"}`>> <<if !$combat>><<fetishPregnancyImg>><</if>> <</widget>> <<widget "takeKissVirginityNamed">> <<switch _args[0]>> <<case "Robin">> <<set $_isLoveInterest to ($robinromance is 1)>> <<case "Whitney">> <<set $_isLoveInterest to ($whitneyromance is 1)>> <<case "Kylar">> <<set $_isLoveInterest to ($kylarenglish gte 1)>> <<case "Sydney">> <<set $_isLoveInterest to ($sydneyromance is 1)>> <<case "Eden">> <<set $_isLoveInterest to ($syndromeeden is 1)>> <<case "Avery">> <<set $_isLoveInterest to ($dateCount.Avery gte 3)>> <<case "Black Wolf">> <<set $_isLoveInterest to ($syndromewolves is 1 and hasSexStat("deviancy", 3))>> <<case "Great Hawk">> <<set $_isLoveInterest to ($syndromebird is 1)>> <<case "Alex">> <<set $_isLoveInterest to ($farm_stage gte 7 and $alex_countdown is undefined)>> <<default>> <<run $NPCNameList.includes(_args[0]) ? $_isLoveInterest = false : Errors.report("wrong argument passed to takeKissVirginityNamed: ", _args)>> <</switch>> <<set $_isConsensual to _args[1] or ($consensual is 1)>> <<if $_isLoveInterest>> <<set $_kissType to ($_isConsensual ? "loveInterest" : "loveRape")>> <<else>> <<set $_kissType to ($_isConsensual ? "consensual" : "rape")>> <</if>> <<takeKissVirginity _args[0] $_kissType>> <</widget>> /* Argument 0 is the npc, argument 1 is their virginity. */ <<widget "takeNPCVirginity">> <<set $_npcId to _args[0]>> <<set $_vType to _args[1]>> <!-- if the first argument is a name, find which npc has that name, else assume it is an index. --> <<if typeof $_npcId is "string">> <<set $_npcId to $NPCList.findIndex(npc => npc.fullDescription === $_npcId)>> <</if>> <<if $_npcId isnot undefined and $_npcId gte 0>> <<set $_npc to $NPCList[$_npcId]>> <<set $_straponvirginityIgnore to ($_vType is "penile" and npcHasStrapon($_npcId))>> <</if>> <<if $_npc and $_vType and $_npc.virginity and $_npc.virginity[$_vType] and ($wraith.mimic isnot $_npc.fullDescription) and !$_straponvirginityIgnore>> <<if ($_vType is "vaginal" or $_vType is "penile") and $_npc.virginity.temple is true and $templePromised isnot $_npc.fullDescription>> <<set $_npc.virginity.temple to false>> <<if !$activeNightmare and $NPCNameList.indexOf($_npc.fullDescription) isnot -1>> <<set $NPCName[$NPCNameList.indexOf($_npc.fullDescription)].virginity.temple to false>> <</if>> <</if>> /* note: virginity must be exactly equal to true; only true means that they still have their virginity. */ <<if $_npc.virginity[$_vType] is true>> <<personselect $_npcId>> <<set $_npc.virginity[$_vType] to "player">> <<switch $_vType>> <<case "vaginal">> <<set $speechNPCVaginaVirgin to 1>> <span class="pink">You feel <<his>> hymen tear, forever robbing <<him>> of <<his>> purity.</span> <<if $demon gte 6>> <span class="lewd">You feel a surge of pleasure unlike any other as you defile <<him>> and spread your impurity.</span> <<stress -50>><<trauma -50>><<lllstress>><<llltrauma>> <</if>> <<arousal 2000>><<ggarousal>> <br> <<case "penile">> <<set $speechNPCPenisVirgin to 1>> <span class="pink">You feel <<his>> foreskin separate from <<his>> glans, forever robbing <<him>> of <<his>> purity.</span> <<if $demon gte 6>> <span class="lewd">You feel a surge of pleasure unlike any other as you defile <<him>> and spread your impurity.</span> <<stress -50>><<trauma -50>><<lllstress>><<llltrauma>> <</if>> <<arousal 2000>><<ggarousal>> <br> <<case "anal">> <<set $speechNPCAnusVirgin to 1>> <span class="pink">It's a tight fit. This is probably <<his>> first time doing this.</span> <<arousal 2000>><<ggarousal>> <br> <<case "oral">> <<set $speechNPCOralVirgin to 1>> <span class="pink"><<He>> looks surprised, as if <<he>> wasn't expecting the taste. This is probably <<his>> first time.</span> <<arousal 1500>><<ggarousal>> <br> <<case "kiss">> <<set $speechNPCKissVirgin to 1>> <<set _npcKissVirginTemp to 1>> <<case "handholding">> <<set $speechNPCHandholdingVirgin to 1>> <span class="green"><<His>> hand clenches, and <<he>> looks slightly nervous.</span> <<default>> <</switch>> <<if $activeNightmare>> <<if $_npc.fullDescription is "Sydney" and ($_vType is "vaginal" or $_vType is "penile")>> <<displayFeatFake "Sydney the Pure Hearted">> <</if>> <<else>> <<run $virginTaken[$_vType].pushUnique($_npc.fullDescription)>> <<set $_i to $NPCNameList.indexOf($_npc.fullDescription)>> <<if $_i isnot -1>> <<if $_npc.fullDescription is "Sydney" and ($_vType is "vaginal" or $_vType is "penile")>> <<earnFeat "Sydney the Pure Hearted">> <</if>> <<set $NPCName[$_i].virginity to $_npc.virginity>> <<if !$NPCName[$_i].virginityDetails>> <<set $NPCName[$_i].virginityDetails to {}>> <</if>> <<set $NPCName[$_i].virginityDetails[$_vType] to { timestamp: Time.date.timeStamp, taker: "pc", passage: $passage, }>> <<if $combat>> <<set $NPCName[$_i].virginityDetails[$_vType].consensual to !!$consensual>> <<set $NPCName[$_i].virginityDetails[$_vType].position to $position>> <<elseif _npcConsensualOverride isnot undefined>> <<set $NPCName[$_i].virginityDetails[$_vType].consensual to _npcConsensualOverride>> <<unset _npcConsensualOverride>> <</if>> <<if $_vType is "penile">> <<set $NPCName[$_i].virginityDetails[$_vType].npcPenisSize to $NPCName[$_i].penissize>> <<set $NPCName[$_i].virginityDetails[$_vType].npcPenisdesc to $NPCName[$_i].penisdesc>> <<elseif ["vaginal", "anal", "oral"].includes($_vType)>> <<if playerHasStrapon() or $player.penisExist>> <<set $NPCName[$_i].virginityDetails[$_vType].playerPenisSize to playerPenisSize()>> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "NPCVirginityTakenByOther">> <!-- Argument 0 is the npc, argument1 is the virginity, argument 2 is the thing taking the virginity --> <!-- example usage: <<NPCVirginityTakenByOther "Robin" "vaginal" $NPCList[0].fullDescription>> --> <!-- example usage: <<NPCVirginityTakenByOther 0 "anal" $tentacles[$tentacleindex].fullDesc>> --> <<set $_npcId to _args[0]>> <<set $_vType to _args[1]>> <<set $_takerDesc to _args[2]>> <<set _npcVirgin to {}>> <!-- if the first argument is a name, find which npc has that name, else assume it is an index. --> <<if typeof $_npcId is "string">> <<set $_npc to $NPCList.find(npc => npc.fullDescription === $_npcId)>> <<if $_npc is undefined>> <<set $_npc to $NPCName.find(npc => npc.description === $_npcId)>> <<set $_isNamedOnly to ($_npc isnot undefined)>> <</if>> <<elseif $_npcId isnot undefined>> <<set $_npc to $NPCList[$_npcId]>> <</if>> <<if $_npc and $_npc.penisdesc && $_npc.penisdesc.includes("strap-on")>> <<set $_straponvirginityIgnore to ($_vType is "penile")>> <</if>> <<if $_npc and $_vType and $_npc.virginity and $_npc.virginity[$_vType] is true>> <!-- note: virginity must be exactly equal to true; only true means that they still have their virginity. --> <!-- note: NTR is never going to be a thing, but we record this bc it might be useful to remember HOW an npc's virginity was lost, and to what. beast/tentacle/etc --> <<set $_npc.virginity[$_vType] to $_takerDesc>> <<if !$_npc.virginityDetails>> <<set $_npc.virginityDetails to {}>> <</if>> <<set $_npc.virginityDetails[$_vType] to { timestamp: Time.date.timeStamp, taker: $_takerDesc, passage: $passage, }>> <<if $combat>> <<set $_npc.virginityDetails[$_vType].consensual to !!$consensual>> <<set $_npc.virginityDetails[$_vType].position to $position>> <</if>> <<if $_vType is "penile">> <<set $_npc.virginityDetails[$_vType].npcPenisSize to $_npc.penissize>> <<set $_npc.virginityDetails[$_vType].npcPenisdesc to $_npc.penisdesc>> <<elseif ["vaginal", "anal", "oral"].includes($_vType)>> <<set $_npcIndex to $NPCNameList.indexOf($_takerDesc)>> <<if $_npcIndex isnot -1>> <<set $_npc.virginityDetails[$_vType].npcPenisSize to $NPCName[$_npcIndex].penissize>> <<set $_npc.virginityDetails[$_vType].npcPenisdesc to $NPCName[$_npcIndex].penisdesc>> <<else>> <<run $NPCList.forEach(npc => { if (npc.fullDescription is $_takerDesc) $_npc.virginityDetails[$_vType].npcPenisSize to npc.penissize; if (npc.fullDescription is $_takerDesc) $_npc.virginityDetails[$_vType].npcPenisdesc to npc.penisdesc; })>> <</if>> <</if>> <!-- if the npc is named, this will find and update their entry in $NPCName --> <<if !$_isNamedOnly>> <<set $_i to $NPCNameList.indexOf($_npc.fullDescription)>> <<if $_i isnot -1>> <<set $NPCName[$_i].virginity to $_npc.virginity>> <<set $NPCName[$_i].virginityDetails ||= {}>> <!-- Doubled up due to the way this widget works --> <<set $NPCName[$_i].virginityDetails[$_vType] to { timestamp: Time.date.timeStamp, taker: $_takerDesc, passage: $passage, }>> <<if $combat>> <<set $NPCName[$_i].virginityDetails[$_vType].consensual to !!$consensual>> <<set $NPCName[$_i].virginityDetails[$_vType].position to $position>> <</if>> <<if $_vType is "penile">> <<set $NPCName[$_i].virginityDetails[$_vType].npcPenisSize to $NPCName[$_i].penissize>> <<set $NPCName[$_i].virginityDetails[$_vType].npcPenisdesc to $NPCName[$_i].penisdesc>> <<elseif ["vaginal", "anal", "oral"].includes($_vType)>> <<run console.log($_takerDesc)>> <<set $_npcIndex to $NPCNameList.indexOf($_takerDesc)>> <<if $_npcIndex isnot -1>> <<set $NPCName[$_i].virginityDetails[$_vType].npcPenisSize to $NPCName[$_npcIndex].penissize>> <<set $NPCName[$_i].virginityDetails[$_vType].npcPenisdesc to $NPCName[$_npcIndex].penisdesc>> <<else>> <<run $NPCList.forEach(npc => { if (npc.fullDescription is $_takerDesc) $NPCName[$_i].virginityDetails[$_vType].npcPenisSize to npc.penissize; if (npc.fullDescription is $_takerDesc) $NPCName[$_i].virginityDetails[$_vType].npcPenisdesc to npc.penisdesc; })>> <</if>> <</if>> <</if>> <</if>> <!-- temporary variables to use for scenes. --> <<set _npcVirgin[$_vType] to true>> <</if>> <</widget>> <<widget "setupMidOrgasm">> <<if $setupMidOrgasm isnot undefined and $enemyarousal gte $enemyarousalmax>> <<set _midOrgasm to false>> <<for _n to 0; _n lt $NPCList.length;_n++>> <<if $NPCList[_n].maxOrgasms gt 1>> <<set $NPCList[_n].orgasms++>> <</if>> <<if $NPCList[_n].orgasms lt $NPCList[_n].maxOrgasms>> <<set _midOrgasm to true>> <</if>> <</for>> <<if _midOrgasm is true>> <<set $enemyarousal to $enemyarousalmax / 2>> <<set $finish to 0>> <<set $ejaculatingMid to true>> <</if>> <</if>> <</widget>> <<widget "combatTrainAdvance">>/*For use after a beast/monster in a train is finished with their turn. Loads next in line into $NPCList[0]. Loads them all back into $NPCList if at the end of the train.*/ <<clearnpc>> <<if $combatTrain.length gt 0>> <<set $combatTrain.length-->> <<set $combatTrain.active += 1>> <<loadNPC 0 `"beast_" + $combatTrain.active`>> <<if $NPCList[0].monster is "monster">> <<set $monster to 1>> <<else>> <<set $monster to 0>> <</if>> <<else>> <<for _e_n to 0; _e_n lt $combatTrain.total_length + 1; _e_n++>> <<loadNPC _e_n `"beast_" + _e_n`>> <<clearNPC `"beast_" + _e_n`>> <</for>> <</if>> <<set $active_enemy to 0>> <<unset $hypnosis_deviancy_check>> <<unset $otherFilled>> <<unset $leglocktarget>> <</widget>> <<widget "beastTrainGenerate">>/*Saves all beasts/monsters in $NPCList, then loads the first into slot 0.*/ <<set _enemyno to $enemyno - 1>> <<set $combatTrain to { length: _enemyno, total_length: _enemyno, active: 0, pronouns: [], monsters: [], beastTypes: [] }>> <<for _e_n to 0; _e_n lt $enemyno; _e_n++>> <<saveNPC _e_n `"beast_" + _e_n`>> <<set $combatTrain.beastTypes.push($NPCList[_e_n].type)>> <<set $combatTrain.pronouns.push($NPCList[_e_n].pronoun)>> <<set $combatTrain.monsters.push($NPCList[_e_n].monster)>> <</for>> <<clearnpc>> <<loadNPC 0 beast_0>> <</widget>> /* Cannot remove as it is used in combat logic */ <<widget "leg_position">> <<set $_parts to [$anususe, $vaginause, $chestuse, $mouthuse]>> <<if $machine and $machine.tattoo and ["left_thigh", "right_thigh"].includes($machine.tattoo.use)>> <<set _leg_position to "up">> <<elseif $_parts.includes("penis") or $_parts.includes(1)>> <<set _leg_position to "up">> <<else>> <<set _leg_position to "down">> <</if>> <</widget>> /* Should ideally only be used if you're sure one npc is in this position */ /* Selects the NPC that has the given body part (chest, mouth, vagina) set to the given value */ /* Useful when you know one of them is in a given position by looking at the PC, but aren't sure which */ <<widget "selectNpcWithPartInPosition">> <<if _args[0] and _args[1]>> <<set $_part to _args[0]>> <<set $_position to _args[1]>> <<unset _npc>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $_part is "hand" and ($NPCList[_j]["lefthand"] is $_position or $NPCList[_j]["righthand"] is $_position)>> <<personselect _j>> <<set _npc to $NPCList[_j]>> <<break>> <<elseif $NPCList[_j][$_part] is $_position>> <<personselect _j>> <<set _npc to $NPCList[_j]>> <<break>> <</if>> <</for>> <<if _index isnot undefined>> <<personselect _j>> <<else>> <!-- Should we throw an error? If we suspect an NPC part is in this position and don't find one, is that a bug? --> <</if>> <<else>> <<run throw new Error("selectNpcWithPartInPosition used with incorrect number of variables (or one is undefined)")>> <</if>> <</widget>> <<widget "selectNpcWithPartInPositionAnus">> <<if _args[0]>> <<unset _npc>> <<for _j = 0; _j lt $enemynomax; _j++>> <<if $NPCList[_j].penis is _args[0] or $NPCList[_j].vagina is _args[0]>> <<personselect _j>> <<set _npc to $NPCList[_j]>> <<break>> <</if>> <</for>> <</if>> <</widget>> <<widget "cover_end">> <<if $enemyarousal gte $enemyarousalmax>> <<exit>> <</if>> <<if $leftarm is "vagina" or $rightarm is "vagina">> <<set $vaginause to 0>> <<elseif $leftarm is "coverpenis" or $rightarm is "coverpenis">> <<set $penisuse to 0>> <<elseif $leftarm is "anus" or $rightarm is "anus">> <<set $anususe to 0>> <<elseif $leftarm is "face" or $rightarm is "face">> <<set $face to 0>> <</if>> <</widget>> /* args[0] - 0-5 for npc, or "player", args[1] fo article (the, it, etc)*/ <<widget "condomDesc">><<silently>> <<if _args[1] is "it">> <<set _text_output to "it">> <<elseif _args[0] isnot "player" and !between(_args[0], 0, 5)>> <<run Errors.report("Bad arguments for <<condomDesc>> ", "args: " + JSON.stringify(_args) + "; stack: " + Utils.GetStack())>> <span class="error"><<print "Bad arguments for condomDesc. args: " + JSON.stringify(_args) + "; stack: " + Utils.GetStack()>></span> <<else>> <<set $_condomArticle to (_args[1] ? _args[1] : "a")>> <<set $_condom to (_args[0] ? _args[0] : 0)>> <<set _text_output to $_condomArticle>> <<if $_condom is "player" and $player.condom>> <<set $_condomDesc to clone($player.condom)>> <<elseif $NPCList[$_condom].condom>> <<set $_condomDesc to clone($NPCList[$_condom].condom)>> <<else>> <<set _text_output to "ERROR: Condom $_condom invalid">> <</if>> <<if $_condomDesc.colour is "lblue">> <<set $_colourName to "light blue">> <<else>> <<set $_colourName to $_condomDesc.colour>> <</if>> <<if $_condomArticle is "a">> <<set _text_output += (["a","e","i","o","u","A","E","I","O","U"].some(letter => $_colourName.startsWith(letter)) ? "n " + $_colourName + " " : " " + $_colourName + " ")>> <<elseif $_condomArticle is "the">> <<set _text_output += " ">> <<else>> <<set _text_output += " " + $_colourName + " ">> <</if>> <<if $_condomDesc.type isnot "plain">> <<set _text_output += $_condomDesc.type + " ">> <</if>> <<set _text_output += "condom">> <</if>> <</silently>><<print _text_output>><</widget>> /* args[0] - 0-5 for npc, args[1] "player" if the npc is equipping it on the player */ <<widget "equipNPCCondom">> <<set $_condomnpc to (_args[0] ? _args[0] : 0)>> <<if $NPCList[$_condomnpc].condom>> <<if _args[1] is "player">> <<set $player.condom to clone($NPCList[$_condomnpc].condom)>> <<set $player.condom.worn to true>> <<run delete $player.condom.willUse>> <<set $NPCList[$_condomnpc].condom to false>> <<else>> <<set $NPCList[$_condomnpc].condom.worn to true>> <</if>> <<set $NPCList[$_condomnpc].condomAsk to true>> <<else>> <span class="red">ERROR: NPC condom $_condomnpc not defined.</span> <</if>> <</widget>> /* args[0] - 0-5 for npc, args[1] "player" if the npc is removing it from the player */ <<widget "removeNPCCondom">> <<set $_condomnpc to (_args[0] ? _args[0] : 0)>> <<if _args[1] is "player">> <<set $player.condom to false>> <<else>> <<set $NPCList[$_condomnpc].condom to false>> <</if>> <</widget>> /* For the player equipping their own condom on themselves */ <<widget "equipPlayerCondom">> <<set $player.condom to { state: (random(0,100) gt 98 ? "defective" : "normal"), type: "plain", colour: setup.colours.condom[random(0, (setup.colours.condom.length -1))].csstext, worn: true }>> <<set $condoms -= 1>> <</widget>> /* For the player removing any condom from themselves */ <<widget "removePlayerCondom">> <<set $player.condom to false>> <</widget>> <<widget "giveNPCCondom">> <<set $_condomnpc to (_args[0] ? _args[0] : 0)>> <<if $NPCList[$_condomnpc].condom>> <span class="red">ERROR: NPC condom $_condomnpc overlapped with existing condom.</span> <<else>> <<set $NPCList[$_condomnpc].condom to { willUse: true, state: (random(0,100) gt 98 ? "defective" : "normal"), type: "plain", colour: setup.colours.condom[random(0, (setup.colours.condom.length -1))].csstext, worn: false }>> <<set $condoms -= 1>> <<set $NPCList[$_condomnpc].condomCanGive to false>> <<npcCondomEquipImmediate $_condomnpc "it">> <</if>> <</widget>> <<widget "npcCondomEquipImmediate">> <<set $_condomnpc to (_args[0] ? _args[0] : 0)>> <<set $_condomArticle to (_args[1] ? _args[1] : 0)>> <<if $NPCList[$_condomnpc].condom and $NPCList[$_condomnpc].condom.willUse>> /*Your penis*/ <<if $penisstate is "entrance" or $penisstate is "imminent" or $penisstate is "otheranusentrance" or $penisstate is "otheranusimminent">> <<if ($NPCList[$_condomnpc].vagina.toString().includes("penis") or $NPCList[$_condomnpc].penis.toString().includes("otheranus")) and !$player.condom and $parasite.penis.name is undefined>> <<personselect $_condomnpc>> <<if playerChastity("penis")>> <<He>> tries to put a condom on your penis, but can't seem to get it over your $worn.genitals.name. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$_condomnpc].condom.willUse to false>> <<else>> <span class="green"><<He_Short>> slips <<condomDesc $_condomnpc $_condomArticle>> onto your penis.</span> <<equipNPCCondom $_condomnpc "player">> <</if>> <</if>> <</if>> <<if $penisstate is "penetrated">> <<if $NPCList[$_condomnpc].vagina is "penis" and !$player.condom and $parasite.penis.name is undefined>> <<personselect $_condomnpc>> <span class="green"><<He_Short>> briefly frees your penis from <<his>> vagina, slips <<condomDesc $_condomnpc $_condomArticle>> on, and slides it back in.</span> <<equipNPCCondom $_condomnpc "player">> <</if>> <</if>> <<if $penisstate is "otheranus">> <<if $NPCList[$_condomnpc].penis is "otheranus" and !$player.condom and $parasite.penis.name is undefined>> <<personselect $_condomnpc>> <span class="green"><<He_Short>> briefly frees your penis from <<his>> ass, slips <<condomDesc $_condomnpc $_condomArticle>> on, and slides it back in.</span> <<equipNPCCondom $_condomnpc "player">> <</if>> <</if>> /*Their penis*/ <<if $vaginastate is "entrance" or $vaginastate is "imminent">> <<if ($NPCList[$_condomnpc].penis is "vaginaentrance" or $NPCList[$_condomnpc].penis is "vaginaimminent") and $NPCList[$_condomnpc].condom.worn is false and !$NPCList[$_condomnpc].penisdesc.includes("strap-on")>> <<personselect $_condomnpc>> <<if $NPCList[$_condomnpc].chastity.penis.includes("chastity")>> <<He>> tries to put a condom on, but can't seem to get it over <<his>> $NPCList[$_condomnpc].chastity.penis. <span class="red"><<He>> quickly gives up.</span> <<set $NPCList[$_condomnpc].condom.willUse to false>> <<else>> <span class="green"><<He_Short>> slips <<condomDesc $_condomnpc $_condomArticle>> onto <<his>> penis.</span> <<equipNPCCondom $_condomnpc>> <</if>> <</if>> <</if>> <<if $vaginastate is "penetrated">> <<if $NPCList[$_condomnpc].penis is "vagina" and $NPCList[$_condomnpc].condom.worn is false and !$NPCList[$_condomnpc].penisdesc.includes("strap-on")>> <<personselect $_condomnpc>> <span class="green">The <<person>> briefly withdraws <<his>> penis from your vagina, slips <<condomDesc $_condomnpc $_condomArticle>> on, and slides it back in.</span> <<equipNPCCondom $_condomnpc>> <</if>> <</if>> <<if $anusstate is "entrance" or $anusstate is "imminent">> <<if ($NPCList[$_condomnpc].penis is "anusentrance" or $NPCList[$_condomnpc].penis is "anusimminent") and $NPCList[$_condomnpc].condom.worn is false and !$NPCList[$_condomnpc].penisdesc.includes("strap-on")>> <<personselect $_condomnpc>> <span class="green">The <<person>> slips <<condomDesc $_condomnpc $_condomArticle>> onto <<his>> penis.</span> <<equipNPCCondom $_condomnpc>> <</if>> <</if>> <<if $anusstate is "penetrated">> <<if $NPCList[$_condomnpc].penis is "anus" and $NPCList[$_condomnpc].condom.worn is false and !$NPCList[$_condomnpc].penisdesc.includes("strap-on")>> <<personselect $_condomnpc>> <span class="green">The <<person>> briefly withdraws <<his>> penis from your ass, slips <<condomDesc $_condomnpc $_condomArticle>> on, and slides it back in.</span> <<equipNPCCondom $_condomnpc>> <</if>> <</if>> <</if>> <</widget>> <<widget "pickupSexToy">> <<if $consensual is 1 and hasSexStat("promiscuity", 3) and $enemytype is "man">> <<set $_hand to _args[0]>> <<set $_items to window.listUniqueCarriedSextoys()>> <<if $_hand is "left" and ($lefttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_items.length gt 0>> <<set _itemsLeft to {}>> <<run $_items.forEach(item => { if (($currentSexToyRight is undefined or item.name isnot $currentSexToyRight.name) and item.type.includesAny("dildo","stroker") and !item.worn){ _itemsLeft[item.namecap] = item; } })>> <<if Object.keys(_itemsLeft).length gte 1>> <<set _leftaction["Pick up item:"] to "pickupSexToy">> <</if>> <</if>> <</if>> <<if $_hand is "right" and ($righttarget is "self" or $options.targetYourself is false or _targetnumber is 1)>> <<if $_items>> <<set _itemsRight to {}>> <<run $_items.forEach(item => { if (($currentSexToyLeft is undefined or item.name isnot $currentSexToyLeft.name) and item.type.includesAny("dildo","stroker") and !item.worn){ _itemsRight[item.namecap] = item; } })>> <<if Object.keys(_itemsRight).length gte 1>> <<set _rightaction["Pick up item:"] to "pickupSexToy">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "andButtPlug">><<silently>> <<set _text_output to (playerHasButtPlug() ? " and $worn.butt_plug.name" : "")>> <</silently>><<print _text_output>><</widget>> <<widget "alongsideButtPlug">><<silently>> <<set $_alongside to either("alongside","heedless of","pushing aside")>> <<set _text_output to (playerHasButtPlug() ? ", "+$_alongside+" your "+$worn.butt_plug.name : "")>> <</silently>><<print _text_output>><</widget>><h3>Character Viewer</h3> /*Old Variables*/ <<unset $characterViewerControls>> <<unset $debugClothesEquipped>> <<unset $debugClothesEquippedIntegrity>> <<unset $debugBodyState>> <<unset $debugSelectedColors>> <<unset $debugSkinColor>> /*End*/ <<if $options.images is 1>> <<if $characterViewer is undefined>> <<set $characterViewer to {}>> <<set $characterViewer.clothesEquipped to { head:0, face:0, neck:0, hands:0, handheld:0, upper:0, lower:0, under_upper:0, under_lower:0, legs:0, feet:0, genitals:0, }>> <<set $characterViewer.clothesIntegrity to { head:"full", face:"full", neck:"full", hands:"full", handheld:"full", upper:"full", lower:"full", under_upper:"full", under_lower:"full", legs:"full", feet:"full", genitals:"full", }>> <<set $characterViewer.bodyState to { show_face: true, facestyle: "default", facevariant: "default", freckles: false, brows: "none", mouth: "none", trauma: false, blink: true, eyes_half: false, eyes_bloodshot: false, tears: 0, blush: 0, hairStage: "none", hairType: "default", fringeType: "default", fringeStage: "short", fringePosition: "back", breastSize: 0, penisSize: "none", penisVirgin: "virgin", ballsExist: true, bellySize: 0, vaginaCum: 0, anusCum: 0, mouthCum: 0, bodytype: 0, rightArmCovering: false, leftArmCovering: false, angelHalo:"hidden", angelWings:"hidden", angelWingsLeftType:"idle", angelWingsRightType:"idle", angelWingsLayer:"front", fallenAngelHalo:"hidden", fallenAngelWings:"hidden", fallenAngelWingsLeftType:"idle", fallenAngelWingsRightType:"idle", fallenAngelWingsLayer:"front", demonHorns:"hidden", demonHornsLayer:"back", demonTail:"hidden", demonTailType:"idle", demonTailLayer:"front", demonWings:"hidden", demonWingsType:"idle", demonWingsLayer:"front", wolfEars:"hidden", wolfTail:"hidden", wolfTailLayer:"front", wolfPits:"hidden", wolfPubes:"hidden", wolfCheeks:"hidden", catEars:"hidden", catTail:"hidden", catTailLayer:"front", catTailType:"idle", cowHorns:"hidden", cowHornsLayer:"back", cowEars:"hidden", cowTail:"hidden", cowTailLayer:"front", birdEyes:"hidden", birdMalar:"hidden", birdPlumage:"hidden", birdPubes:"hidden", birdWings:"hidden", birdWingsLeftType:"idle", birdWingsRightType:"idle", birdWingsLayer:"front", birdTail:"hidden", birdTailLayer:"front", foxEars:"hidden", foxTail:"hidden", foxTailLayer:"front", foxCheeks:"hidden", }>> <<set $characterViewer.colours to { dyedHairPart: "full", hair_colour_style: "simple", hair: "red", hair_colour_gradient: {style: "low-ombre", colours: ["red", "red"]}, hair_fringe_colour_style: "simple", fringe: "red", hair_fringe_colour_gradient: {style: "low-ombre", colours: ["red", "red"]}, eyesl: "purple", eyesr: "purple", head:["Range", "Range"], face:["Range", "Range"], neck:["Range", "Range"], hands:["Range", "Range"], handheld:["Range", "Range"], upper:["Range", "Range"], lower:["Range", "Range"], under_upper:["Range", "Range"], under_lower:["Range", "Range"], legs:["Range", "Range"], feet:["Range", "Range"], genitals:["Range", "Range"], }>> <<set $characterViewer.patterns to { head:["Range", "Range"], face:["Range", "Range"], neck:["Range", "Range"], hands:["Range", "Range"], handheld:["Range", "Range"], upper:["Range", "Range"], lower:["Range", "Range"], under_upper:["Range", "Range"], under_lower:["Range", "Range"], legs:["Range", "Range"], feet:["Range", "Range"], genitals:["Range", "Range"], }>> <<set $characterViewer.skinColour to { style:"", type: "light", range: 0, }>> <<set $characterViewer.controls to { charactersToShow: 1, page: "body", animations: true, autoRefresh: true, expand: false, }>> <</if>> <<if !$characterViewer.colours.hair_colour_style>> <<set $characterViewer.colours.hair_colour_style to "simple">> <<set $characterViewer.colours.hair_colour_gradient to {style: "low-ombre", colours: ["red", "red"]}>> <<set $characterViewer.colours.hair_fringe_colour_style to "simple">> <<set $characterViewer.colours.hair_fringe_colour_gradient to {style: "low-ombre", colours: ["red", "red"]}>> <</if>> <<if $tempCharacterViewerControls>> <<set $characterViewer.controls to clone($tempCharacterViewerControls)>> <<unset $tempCharacterViewerControls>> <</if>> <<if !_clothes>> <<clothesTestingGenerateClothes>> <</if>> <div id="images"> <<clothesTestingImageGenerateAll>> </div> <div style="clear:both;"></div> <<if !$characterViewer.controls.autoRefresh>> <br> <<link "Refresh Image">><<clothesTestingImageUpdate>><</link>> <br> <</if>> <div id="controlsNav"> <br> <<link "Body">> <<set $characterViewer.controls.page to "body">> <<removeclass "#controls-body" "hidden">> <<addclass "#controls-face" "hidden">> <<addclass "#controls-hair" "hidden">> <<addclass "#controls-transformations" "hidden">> <<addclass "#controls-clothes" "hidden">> <<addclass "#controls-export" "hidden">> <</link>> | <<link "Face">> <<set $characterViewer.controls.page to "face">> <<addclass "#controls-body" "hidden">> <<removeclass "#controls-face" "hidden">> <<addclass "#controls-hair" "hidden">> <<addclass "#controls-transformations" "hidden">> <<addclass "#controls-clothes" "hidden">> <<addclass "#controls-export" "hidden">> <</link>> | <<link "Hair">> <<set $characterViewer.controls.page to "hair">> <<addclass "#controls-body" "hidden">> <<addclass "#controls-face" "hidden">> <<removeclass "#controls-hair" "hidden">> <<addclass "#controls-transformations" "hidden">> <<addclass "#controls-clothes" "hidden">> <<addclass "#controls-export" "hidden">> <</link>> | <<link "Transformations">> <<set $characterViewer.controls.page to "transformations">> <<addclass "#controls-body" "hidden">> <<addclass "#controls-face" "hidden">> <<addclass "#controls-hair" "hidden">> <<removeclass "#controls-transformations" "hidden">> <<addclass "#controls-clothes" "hidden">> <<addclass "#controls-export" "hidden">> <</link>> | <<link "Clothes">> <<set $characterViewer.controls.page to "clothes">> <<addclass "#controls-body" "hidden">> <<addclass "#controls-face" "hidden">> <<addclass "#controls-hair" "hidden">> <<addclass "#controls-transformations" "hidden">> <<removeclass "#controls-clothes" "hidden">> <<addclass "#controls-export" "hidden">> <</link>> | <<link "Export/Settings">> <<set $characterViewer.controls.page to "export">> <<addclass "#controls-body" "hidden">> <<addclass "#controls-face" "hidden">> <<addclass "#controls-hair" "hidden">> <<addclass "#controls-transformations" "hidden">> <<addclass "#controls-clothes" "hidden">> <<removeclass "#controls-export" "hidden">> <</link>> | <br> </div> <br> <div id="controls" class="no-numberify"> <div id="controls-body" @class="$characterViewer.controls.page is 'body' ? '' : 'hidden'"> <<clothesTestingBodyControls>> </div> <div id="controls-face" @class="$characterViewer.controls.page is 'face' ? '' : 'hidden'"> <<clothesTestingFaceControls>> </div> <div id="controls-hair" @class="$characterViewer.controls.page is 'hair' ? '' : 'hidden'"> <<clothesTestingHairControls>> </div> <div id="controls-transformations" @class="$characterViewer.controls.page is 'transformations' ? '' : 'hidden'"> <<clothesTestingTransformationsControls>> </div> <div id="controls-clothes" @class="$characterViewer.controls.page is 'clothes' ? '' : 'hidden'"> <<characterViewerModelClothesControls>> </div> </div> <div id="controls-export" @class="$characterViewer.controls.page is 'export' ? '' : 'hidden'"> <div class="no-numberify"><<characterViewerModelExportControls>></div> </div> <br> <<link [[Temp save|$passage]]>><</link>> <br><br> <<link [[Reset Character|$passage]]>> <<set $tempCharacterViewerControls to clone($characterViewer.controls)>> <<unset $characterViewer>> <</link>> | <<link [[Reset All|$passage]]>> <<unset $characterViewer>> <</link>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls input, #controls select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <<if $characterViewer.controls.expand>> <<addclass "#passages" "debugPassages">> <</if>> <<else>> images disabled <</if>> <br><br> <<link [[Return|$lastPassage]]>> <<unset $characterViewer>> <<unset $lastPassage>> <<removeclass "#passages" "debugPassages">> <</link>><<widget "clothesTestingImageUpdate">> <<replace #images>> <<clothesTestingImageGenerateAll>> <</replace>> <</widget>> <<widget "clothesTestingImageGenerateAll">> <<set _test to []>> <<for _i to 0; _i lt $characterViewer.controls.charactersToShow; _i++>> <<capture _i>> <div @id="'no' + _i" class="left debug-hideImageOverflow debug-images"> <<characterViewerModel _i>> </div> <</capture>> <</for>> <</widget>> <<widget "clothesTestingGenerateClothes">> <<set _clothes to {}>> <<set _equip to ["upper","lower","under_upper","under_lower","head","face","neck","hands", "handheld","legs","feet","genitals"]>> <<for _i to 0; _i lt _equip.length; _i++>> <<set _slot to _equip[_i]>> <<set _clothes[_slot] to {}>> <<set _keys to Object.keys(setup.clothes[_slot])>> <<for _j to 0; _j lt _keys.length; _j++>> <<if _clothes[_slot][setup.clothes[_slot][_j].name] is undefined>> <<set _clothes[_slot][setup.clothes[_slot][_j].name] to setup.clothes[_slot][_j].index>> <</if>> <</for>> <</for>> <</widget>> <<widget "clothesTestingBodyControls">> <h4>Body</h4> <<set _penisSize to {"None":"none","Micro":"-2", "Mini":"-1", "Tiny":"0", "Small":"1", "Normal":"2", "Large":"3", "Enormous":"4"}>> <<set _breastNames to ["Flat", "Budding", "Tiny", "Small", "Pert", "Modest", "Full", "Large", "Ample", "Massive", "Huge", "Gigantic", "Enormous"]>> <<set _liquidNames to ["None","Drops","Some","Lots","Dripping","Overflowing"]>> <<link "Reset">> <<set $characterViewer.bodyState.bodytype to 0>> <<set $characterViewer.skinColour.type to "light">> <<set $characterViewer.skinColour.range to 0>> <<set $characterViewer.bodyState.penisSize to "none">> <<set $characterViewer.bodyState.penisVirgin to "virgin">> <<set $characterViewer.bodyState.ballsExist to true>> <<set $characterViewer.bodyState.breastSize to 0>> <<set $characterViewer.bodyState.cleavage to false>> <<set $characterViewer.bodyState.bellySize to 0>> <<set $characterViewer.bodyState.vaginaCum to 0>> <<set $characterViewer.bodyState.anusCum to 0>> <<set $characterViewer.bodyState.mouthCum to 0>> <<set $characterViewer.bodyState.leftArmCovering to false>> <<set $characterViewer.bodyState.rightArmCovering to false>> <<replace "#controls-body">><<clothesTestingBodyControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-body input, #controls-body select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> | <<link "Randomise">> <<set $characterViewer.bodyState.bodytype to random(0,2)>> <<set $characterViewer.skinColour.type to ["light", "medium", "dark", "gyaru", "ylight", "ymedium", "ydark", "ygyaru"].random()>> <<set $characterViewer.skinColour.range to random(0, 100)>> <<set $characterViewer.bodyState.penisSize to Object.values(_penisSize).random()>> <<set $characterViewer.bodyState.penisVirgin to ["virgin", "default"].random()>> <<set $characterViewer.bodyState.ballsExist to !random(1)>> <<set $characterViewer.bodyState.breastSize to random(0, _breastNames.length - 1)>> <<set $characterViewer.bodyState.cleavage to !random(1)>> <<set $characterViewer.bodyState.bellySize to random(0, 24)>> <<set $characterViewer.bodyState.vaginaCum to random(0, _liquidNames.length - 1)>> <<set $characterViewer.bodyState.anusCum to random(0, _liquidNames.length - 1)>> <<set $characterViewer.bodyState.mouthCum to random(0, _liquidNames.length - 1)>> <<set $characterViewer.bodyState.leftArmCovering to !random(1)>> <<set $characterViewer.bodyState.rightArmCovering to !random(1)>> <<replace "#controls-body">><<clothesTestingBodyControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-body input, #controls-body select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> <br><br> <span class="gold">Body Shape</span> <br> <label>Classic <<radiobutton "$characterViewer.bodyState.bodytype" 0 autocheck>></label> | <label>Slender <<radiobutton "$characterViewer.bodyState.bodytype" 1 autocheck>></label> | <label>Curvy <<radiobutton "$characterViewer.bodyState.bodytype" 2 autocheck>></label> | <label>Soft <<radiobutton "$characterViewer.bodyState.bodytype" 3 autocheck>></label> <br><br> <span class="gold">Skin Colour</span> <br> Reddish: <label>Light <<radiobutton "$characterViewer.skinColour.type" "light" autocheck>></label> | <label>Medium <<radiobutton "$characterViewer.skinColour.type" "medium" autocheck>></label> | <label>Dark <<radiobutton "$characterViewer.skinColour.type" "dark" autocheck>></label> | <label>Gyaru <<radiobutton "$characterViewer.skinColour.type" "gyaru" autocheck>> (Pale with no tan, very dark with full tan)</label> <br> Yellowish: <label>Light <<radiobutton "$characterViewer.skinColour.type" "ylight" autocheck>></label> | <label>Medium <<radiobutton "$characterViewer.skinColour.type" "ymedium" autocheck>></label> | <label>Dark <<radiobutton "$characterViewer.skinColour.type" "ydark" autocheck>></label> | <label>Gyaru <<radiobutton "$characterViewer.skinColour.type" "ygyaru" autocheck>></label> <br><br> <label>Initial Tan: <<numberslider "$characterViewer.skinColour.range" $characterViewer.skinColour.range 0 100 1>></label> <br><br> <span class="gold">Penis Size</span> <br> <<set _keys to Object.keys(_penisSize)>> <<for _i to 0; _i lt _keys.length; _i++>> <label> <<print _keys[_i]>> <<print '<<radiobutton "$characterViewer.bodyState.penisSize" "'+_penisSize[_keys[_i]]+'" ' + ($characterViewer.bodyState.penisSize is _penisSize[_keys[_i]] ? "checked" : "") + '>>'>> </label> | <</for>> <br><br> <span class="gold">Penis Virginity</span> <br> <label>Virgin <<radiobutton "$characterViewer.bodyState.penisVirgin" "virgin" autocheck>></label> | <label>Non-Virgin <<radiobutton "$characterViewer.bodyState.penisVirgin" "default" autocheck>></label> | <br><br> <span class="gold">Testes</span><br> <label>Yes <<radiobutton "$characterViewer.bodyState.ballsExist" true autocheck>></label> | <label>No <<radiobutton "$characterViewer.bodyState.ballsExist" false autocheck>></label> | <br><br> <span class="gold">Breasts</span> <<numberslider "$characterViewer.bodyState.breastSize" $characterViewer.bodyState.breastSize 0 _breastNames.length-1 1>> <br> <label>Breast Cleavage: <<checkbox "$characterViewer.bodyState.cleavage" false true autocheck>></label> <br><br> <span class="gold">Belly Size</span> <br> <<numberslider "$characterViewer.bodyState.bellySize" $characterViewer.bodyState.bellySize 0 24 1>> <br><br> <span class="gold">Vagina Cum Amount</span> <br> <<numberslider "$characterViewer.bodyState.vaginaCum" $characterViewer.bodyState.vaginaCum 0 _liquidNames.length-1 1>> <br><br> <span class="gold">Anus Cum Amount</span> <br> <<numberslider "$characterViewer.bodyState.anusCum" $characterViewer.bodyState.anusCum 0 _liquidNames.length-1 1>> <br><br> <span class="gold">Mouth Cum Amount</span> <br> <<numberslider "$characterViewer.bodyState.mouthCum" $characterViewer.bodyState.mouthCum 0 _liquidNames.length-1 1>> <br><br> <label> <span class="gold">Left Arm Covering Chest:</span> <<checkbox "$characterViewer.bodyState.leftArmCovering" false true autocheck>> </label> <br> <label> <span class="gold">Right Arm Covering Crotch:</span> <<checkbox "$characterViewer.bodyState.rightArmCovering" false true autocheck>> </label> <br><br> <<run $(() => { function setupListener(name, labels) { let className = name.toLowerCase(); $('#numberslider-input-characterviewerbodystate' + className).on('input change', e => $('#numberslider-value-characterviewerbodystate' + className).html(" "+labels[e.currentTarget.value])); $('#numberslider-value-characterviewerbodystate' + className).html(" "+labels[$characterViewer.bodyState[name]]); } setupListener("breastSize", _breastNames); setupListener("vaginaCum", _liquidNames); setupListener("anusCum", _liquidNames); setupListener("mouthCum", _liquidNames); })>> <</widget>> <<widget "clothesTestingFaceControls">> <h4>Face</h4> <<set _browTypes to ["none", "top", "mid", "low", "orgasm"]>> <<set _mouthTypes to ["none", "neutral", "cry", "frown", "smile"]>> <<set _eyeColours to ["purple", "dark blue", "light blue", "amber", "hazel", "green", "red", "pink", "grey", "range"]>> <<link "Reset">> <<set $characterViewer.bodyState.show_face to true>> <<set $characterViewer.bodyState.freckles to false>> <<set $characterViewer.bodyState.brows to "none">> <<set $characterViewer.bodyState.blush to 0>> <<set $characterViewer.bodyState.mouth to "none">> <<set $characterViewer.bodyState.trauma to false>> <<set $characterViewer.bodyState.blink to false>> <<set $characterViewer.bodyState.eyes_half to false>> <<set $characterViewer.bodyState.eyes_bloodshot to false>> <<set $characterViewer.bodyState.tears to 0>> <<set $characterViewer.colours.eyesl to "purple">> <<set $characterViewer.colours.eyesr to "purple">> <<replace "#controls-face">><<clothesTestingFaceControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-face input, #controls-face select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> | <<link "Randomise">> <<set $characterViewer.bodyState.show_face to true>> <<set $characterViewer.bodyState.freckles to !random(1)>> <<set $characterViewer.bodyState.brows to _browTypes.random()>> <<set $characterViewer.bodyState.blush to random(4)>> <<set $characterViewer.bodyState.mouth to _mouthTypes.random()>> <<set $characterViewer.bodyState.trauma to !random(1)>> <<set $characterViewer.bodyState.blink to !random(1)>> <<set $characterViewer.bodyState.eyes_half to !random(1)>> <<set $characterViewer.bodyState.eyes_bloodshot to !random(1)>> <<set $characterViewer.bodyState.tears to random(4)>> <<set $characterViewer.colours.eyesl to _eyeColours.random()>> <<set $characterViewer.colours.eyesr to _eyeColours.random()>> <<replace "#controls-face">><<clothesTestingFaceControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-face input, #controls-face select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> <br><br> <span class="gold">Show Face</span><br> <label>Yes <<radiobutton "$characterViewer.bodyState.show_face" true autocheck>></label> | <label>No <<radiobutton "$characterViewer.bodyState.show_face" false autocheck>></label> | <br><br> <<if setup.faceStyleOptions.length gt 1>> <span class="gold">Face style:</span><br> <<listbox "$characterViewer.bodyState.facestyle" autoselect>> <<optionsfrom setup.faceStyleOptions>> <</listbox>> <br><br> <</if>> <span class="gold">Demeanour:</span><br> <<listbox "$characterViewer.bodyState.facevariant" autoselect>> <<optionsfrom setup.faceVariantOptions[$characterViewer.bodyState.facestyle]>> <</listbox>> <br><br> <span class="gold">Freckles</span><br> <label>Yes <<radiobutton "$characterViewer.bodyState.freckles" true autocheck>></label> | <label>No <<radiobutton "$characterViewer.bodyState.freckles" false autocheck>></label> | <br><br> <span class="gold">Brow</span><br> <<for $_name range _browTypes>> <label><<print $_name.toUpperFirst()>> <<radiobutton "$characterViewer.bodyState.brows" $_name autocheck>></label> | <</for>> <br><br> <span class="gold">Blush level</span><br> <label>None <<radiobutton "$characterViewer.bodyState.blush" 0 autocheck>></label> | <label>1 <<radiobutton "$characterViewer.bodyState.blush" 1 autocheck>></label> | <label>2 <<radiobutton "$characterViewer.bodyState.blush" 2 autocheck>></label> | <label>3 <<radiobutton "$characterViewer.bodyState.blush" 3 autocheck>></label> | <label>4 <<radiobutton "$characterViewer.bodyState.blush" 4 autocheck>></label> | <br><br> <span class="gold">Mouth</span><br> <<for $_name range _mouthTypes>> <label><<print $_name.toUpperFirst()>> <<radiobutton "$characterViewer.bodyState.mouth" $_name autocheck>></label> | <</for>> <br><br> <h4>Eyes</h4> <span class="gold">Show Trauma Eyes</span><br> <label>Yes <<radiobutton "$characterViewer.bodyState.trauma" true autocheck>></label> | <label>No <<radiobutton "$characterViewer.bodyState.trauma" false autocheck>></label> | <br><br> <span class="gold">Enable blinking</span><br> <label>Yes <<radiobutton "$characterViewer.bodyState.blink" true autocheck>></label> | <label>No <<radiobutton "$characterViewer.bodyState.blink" false autocheck>></label> | <br><br> <span class="gold">Enable Half Eyes</span><br> <label>Yes <<radiobutton "$characterViewer.bodyState.eyes_half" true autocheck>></label> | <label>No <<radiobutton "$characterViewer.bodyState.eyes_half" false autocheck>></label> | <br><br> <span class="gold">Enable Bloodshot eyes</span><br> <label>Yes <<radiobutton "$characterViewer.bodyState.eyes_bloodshot" true autocheck>></label> | <label>No <<radiobutton "$characterViewer.bodyState.eyes_bloodshot" false autocheck>></label> | <br><br> <span class="gold">Tears level</span><br> <label>None <<radiobutton "$characterViewer.bodyState.tears" 0 autocheck>></label> | <label>1 <<radiobutton "$characterViewer.bodyState.tears" 1 autocheck>></label> | <label>2 <<radiobutton "$characterViewer.bodyState.tears" 2 autocheck>></label> | <label>3<<radiobutton "$characterViewer.bodyState.tears" 3 autocheck>></label> | <label>4 <<radiobutton "$characterViewer.bodyState.tears" 4 autocheck>></label> | <br><br> <span class="gold">Left Eye Colour</span> <br> <label><span class="purple">Purple</span> <<radiobutton "$characterViewer.colours.eyesl" "purple" autocheck>></label> | <label><span class="blue">Dark Blue</span> <<radiobutton "$characterViewer.colours.eyesl" "dark blue" autocheck>></label> | <label><span class="lblue">Light Blue</span> <<radiobutton "$characterViewer.colours.eyesl" "light blue" autocheck>></label> | <label><span class="tangerine">Amber</span> <<radiobutton "$characterViewer.colours.eyesl" "amber" autocheck>></label> | <label><span class="brown">Hazel</span> <<radiobutton "$characterViewer.colours.eyesl" "hazel" autocheck>></label> | <label><span class="green">Green</span> <<radiobutton "$characterViewer.colours.eyesl" "green" autocheck>></label> | <label><span class="red">Red</span> <<radiobutton "$characterViewer.colours.eyesl" "red" autocheck>></label> | <label><span class="pink">Pink</span> <<radiobutton "$characterViewer.colours.eyesl" "pink" autocheck>></label> | <label><span class="grey">Grey</span> <<radiobutton "$characterViewer.colours.eyesl" "grey" autocheck>></label> | <label><span class="grey">Range</span> <<radiobutton "$characterViewer.colours.eyesl" "range" autocheck>></label> | <br><br> <span class="gold">Right Eye Colour</span> <br> <label><span class="purple">Purple</span> <<radiobutton "$characterViewer.colours.eyesr" "purple" autocheck>></label> | <label><span class="blue">Dark Blue</span> <<radiobutton "$characterViewer.colours.eyesr" "dark blue" autocheck>></label> | <label><span class="lblue">Light Blue</span> <<radiobutton "$characterViewer.colours.eyesr" "light blue" autocheck>></label> | <label><span class="tangerine">Amber</span> <<radiobutton "$characterViewer.colours.eyesr" "amber" autocheck>></label> | <label><span class="brown">Hazel</span> <<radiobutton "$characterViewer.colours.eyesr" "hazel" autocheck>></label> | <label><span class="green">Green</span> <<radiobutton "$characterViewer.colours.eyesr" "green" autocheck>></label> | <label><span class="red">Red</span> <<radiobutton "$characterViewer.colours.eyesr" "red" autocheck>></label> | <label><span class="pink">Pink</span> <<radiobutton "$characterViewer.colours.eyesr" "pink" autocheck>></label> | <label><span class="grey">Grey</span> <<radiobutton "$characterViewer.colours.eyesr" "grey" autocheck>></label> | <label><span class="grey">Range</span> <<radiobutton "$characterViewer.colours.eyesr" "range" autocheck>></label> | <br><br> <</widget>> <<widget "clothesTestingHairControls">> <h4>Hair</h4> <<set _hairLengths to ["short", "shoulder", "chest", "navel", "thighs", "feet"]>> <<set _hairColorByName to {"Red":"red", "Jet Black":"jetblack", "Black":"black", "Brown":"brown", "Soft Brown":"softbrown", "Light Brown":"lightbrown", "Blond":"blond", "Platinum Blond":"platinumblond", "Strawberry Blond":"strawberryblond", "Soft Blond":"softblond", "Ashy blond":"ashyblond", "Burnt Orange":"burntorange", "Ginger":"ginger", "Blue":"blue", "Green":"green", "Teal":"teal", "Pink":"pink", "Hotpink":"hotpink", "Softpink":"softpink", "Crimson":"crimson", "Purple":"purple","Medium Purple":"mediumpurple", "Bright Purple":"brightpurple", "White":"white", "Snow White":"snowwhite", "Deep Blue":"deepblue","Dark Lime":"darklime", "Toxic Green":"toxicgreen",}>> <<set _hairTypeByName to {}>> <<run setup.hairstyles.sides.forEach(style => { if (!V.shopClothingFilter || !V.shopClothingFilter.active || !V.shopClothingFilter.traits.length || style.type.find(type => V.shopClothingFilter.traits.includes(type))) T.hairTypeByName[style.name_cap] = style.variable; })>> <<set _fringeTypeByName to {}>> <<run setup.hairstyles.fringe.forEach(style => { if (!V.shopClothingFilter || !V.shopClothingFilter.active || !V.shopClothingFilter.traits.length || style.type.find(type => V.shopClothingFilter.traits.includes(type))) T.fringeTypeByName[style.name_cap] = style.variable; })>> <<link "Reset">> <<set $characterViewer.bodyState.hairStage to "none">> <<set $characterViewer.bodyState.hairType to "default">> <<set $characterViewer.colours.hair to Object.values(_hairColorByName)[0]>> <<set $characterViewer.colours.hair_colour_style to "simple">> <<set $characterViewer.colours.dyedHairPart to "full">> <<set $characterViewer.bodyState.fringeStage to "none">> <<set $characterViewer.bodyState.fringeType to "default">> <<set $characterViewer.colours.fringe to Object.values(_hairTypeByName)[0]>> <<set $characterViewer.colours.hair_fringe_colour_style to "simple">> <<replace "#controls-hair">><<clothesTestingHairControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-hair input, #controls-hair select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> | <<link "Randomise">> <<set $characterViewer.bodyState.hairStage to _hairLengths.random()>> <<set $characterViewer.bodyState.hairType to Object.values(_hairTypeByName).random()>> <<set $characterViewer.colours.hair to Object.values(_hairColorByName).random()>> <<set $characterViewer.colours.hair_colour_style to ["simple", "gradient"].random()>> <<set $characterViewer.colours.hair_colour_gradient.style to ["low-ombre", "high-ombre", "split", "face-frame"].random()>> <<set $characterViewer.colours.hair_colour_gradient.colours[0] to Object.values(_hairColorByName).random()>> <<set $characterViewer.colours.hair_colour_gradient.colours[1] to Object.values(_hairColorByName).random()>> <<set $characterViewer.colours.dyedHairPart to ["full", "split"].random()>> <<set $characterViewer.bodyState.fringeStage to _hairLengths.random()>> <<set $characterViewer.bodyState.fringeType to Object.values(_fringeTypeByName).random()>> <<set $characterViewer.colours.fringe to Object.values(_hairTypeByName).random()>> <<set $characterViewer.colours.hair_fringe_colour_style to ["simple", "gradient"].random()>> <<set $characterViewer.colours.hair_fringe_colour_gradient.style to ["low-ombre", "high-ombre", "split", "face-frame"].random()>> <<set $characterViewer.colours.hair_fringe_colour_gradient.colours[0] to Object.values(_hairTypeByName).random()>> <<set $characterViewer.colours.hair_fringe_colour_gradient.colours[1] to Object.values(_hairTypeByName).random()>> <<replace "#controls-hair">><<clothesTestingHairControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-hair input, #controls-hair select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> <br><br> <span class="gold">Hair Length</span> <br> <label>None <<radiobutton "$characterViewer.bodyState.hairStage" "none" autocheck>></label> | <<for $_name range _hairLengths>> <label><<print $_name.toUpperFirst()>> <<radiobutton "$characterViewer.bodyState.hairStage" $_name autocheck>></label> | <</for>> <br><br> <span class="gold">Hair Type</span> <br> <<listbox "$characterViewer.bodyState.hairType" autoselect>> <<optionsfrom _hairTypeByName>> <</listbox>> <br><br> <span class="gold">Colour Method: </span> <br> <span @class="$characterViewer.colours.dyedHairPart is 'full' ? 'goldLink' : ''"> <<link "Full">> <<set $characterViewer.colours.dyedHairPart to "full">> <<replace "#controls-hair">><<clothesTestingHairControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-hair input, #controls-hair select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> </span> | <span @class="$characterViewer.colours.dyedHairPart is 'split' ? 'goldLink' : ''"> <<link "Split">> <<set $characterViewer.colours.dyedHairPart to "split">> <<replace "#controls-hair">><<clothesTestingHairControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-hair input, #controls-hair select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> </span> <br><br> <div id="controls-hair-colour-simple" @class="$characterViewer.colours.hair_colour_style is 'simple' ? '' : 'hidden'"> <<link "Enable Two Tone for hair">> <<set $characterViewer.colours.hair_colour_style to "gradient">> <<addclass "#controls-hair-colour-simple" "hidden">> <<removeclass "#controls-hair-colour-gradient" "hidden">> <</link>> <br><br> <span class="gold">Hair Colour</span> <br> <<listbox "$characterViewer.colours.hair" autoselect>> <<optionsfrom _hairColorByName>> <</listbox>> <br><br> </div> <div id="controls-hair-colour-gradient" @class="$characterViewer.colours.hair_colour_style is 'simple' ? 'hidden' : ''"> <<link "Disable Two Tone for hair">> <<set $characterViewer.colours.hair_colour_style to "simple">> <<removeclass "#controls-hair-colour-simple" "hidden">> <<addclass "#controls-hair-colour-gradient" "hidden">> <</link>> <br><br> <span class="gold">Style:</span> <<listbox "$characterViewer.colours.hair_colour_gradient.style" autoselect>> <<option "Low Ombré" "low-ombre">> <<option "High Ombré" "high-ombre">> <<option "Split" "split">> <<option "Face-framing highlights" "face-frame">> <</listbox>> <br><br> <span class="gold">First Colour:</span> <br> <<listbox "$characterViewer.colours.hair_colour_gradient.colours[0]" autoselect>> <<optionsfrom _hairColorByName>> <</listbox>> <br><br> <span class="gold">Second Colour:</span> <br> <<listbox "$characterViewer.colours.hair_colour_gradient.colours[1]" autoselect>> <<optionsfrom _hairColorByName>> <</listbox>> <br><br> </div> <span class="gold">Fringe Length</span> <br> <label>None <<radiobutton "$characterViewer.bodyState.fringeStage" "none" autocheck>></label> | <<for $_name range _hairLengths>> <label><<print $_name.toUpperFirst()>> <<radiobutton "$characterViewer.bodyState.fringeStage" $_name autocheck>></label> | <</for>> <br><br> <span class="gold">Fringe Type</span> <br> <<listbox "$characterViewer.bodyState.fringeType" autoselect>> <<optionsfrom _fringeTypeByName>> <</listbox>> <br><br> <<if $characterViewer.colours.dyedHairPart is "split">> <div id="controls-hair-colourfringe-simple" @class="$characterViewer.colours.hair_fringe_colour_style is 'simple' ? '' : 'hidden'"> <<link "Enable Two Tone for fringe">> <<set $characterViewer.colours.hair_fringe_colour_style to "gradient">> <<addclass "#controls-hair-colourfringe-simple" "hidden">> <<removeclass "#controls-hair-colourfringe-gradient" "hidden">> <</link>> <br><br> <span class="gold">Fringe Colour</span> <br> <<listbox "$characterViewer.colours.fringe" autoselect>> <<optionsfrom _hairColorByName>> <</listbox>> <br><br> </div> <div id="controls-hair-colourfringe-gradient" @class="$characterViewer.colours.hair_fringe_colour_style is 'simple' ? 'hidden' : ''"> <<link "Disable Two Tone for fringe">> <<set $characterViewer.colours.hair_fringe_colour_style to "simple">> <<removeclass "#controls-hair-colourfringe-simple" "hidden">> <<addclass "#controls-hair-colourfringe-gradient" "hidden">> <</link>> <br><br> <span class="gold">Style:</span> <<listbox "$characterViewer.colours.hair_fringe_colour_gradient.style" autoselect>> <<option "Low Ombré" "low-ombre">> <<option "High Ombré" "high-ombre">> <<option "Split" "split">> <<option "Face-framing highlights" "face-frame">> <</listbox>> <br><br> <span class="gold">First Colour:</span> <br> <<listbox "$characterViewer.colours.hair_fringe_colour_gradient.colours[0]" autoselect>> <<optionsfrom _hairColorByName>> <</listbox>> <br><br> <span class="gold">Second Colour:</span> <br> <<listbox "$characterViewer.colours.hair_fringe_colour_gradient.colours[1]" autoselect>> <<optionsfrom _hairColorByName>> <</listbox>> <br><br> </div> <</if>> <</widget>> <<widget "clothesTestingTransformationsControls">> <h4>Transformations</h4> <<link "Reset">> /* Figured that it was only V. that was needed for this method to work, just as i was about done... */ <<set $characterViewer.bodyState to { ...V.characterViewer.bodyState, angelHalo:"hidden", angelWings:"hidden", angelWingsLeftType:"idle", angelWingsRightType:"idle", angelWingsLayer:"front", fallenAngelHalo:"hidden", fallenAngelWings:"hidden", fallenAngelWingsLeftType:"idle", fallenAngelWingsRightType:"idle", fallenAngelWingsLayer:"front", demonHorns:"hidden", demonHornsLayer:"back", demonTail:"hidden", demonTailType:"idle", demonTailLayer:"front", demonWings:"hidden", demonWingsType:"idle", demonWingsLayer:"front", wolfEars:"hidden", wolfTail:"hidden", wolfTailLayer:"front", wolfPits:"hidden", wolfPubes:"hidden", wolfCheeks:"hidden", catEars:"hidden", catTail:"hidden", catTailLayer:"front", catTailType:"idle", cowHorns:"hidden", cowHornsLayer:"back", cowEars:"hidden", cowTail:"hidden", cowTailLayer:"front", birdEyes:"hidden", birdMalar:"hidden", birdPlumage:"hidden", birdPubes:"hidden", birdWings:"hidden", birdWingsLeftType:"idle", birdWingsRightType:"idle", birdWingsLayer:"front", birdTail:"hidden", birdTailLayer:"front", foxEars:"hidden", foxTail:"hidden", foxTailLayer:"front", foxCheeks:"hidden", }>> <<replace "#controls-transformations">><<clothesTestingTransformationsControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-transformations input, #controls-transformations select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> | <<link "Randomise">> <<set $characterViewer.bodyState to { ...V.characterViewer.bodyState, angelHalo:["hidden", "default", "traditional"].random(), angelWings:["hidden", "default", "classic"].random(), angelWingsLeftType:["idle", "cover"].random(), angelWingsRightType:["idle", "cover"].random(), angelWingsLayer:["front", "back"].random(), fallenAngelHalo:["hidden", "default", "traditional", "celestial-gold", "celestial-black", "celestial-fallenplus"].random(), fallenAngelWings:["hidden", "default", "classic", "fallenplus", "classicfallenplus"].random(), fallenAngelWingsLeftType:["idle", "cover"].random(), fallenAngelWingsRightType:["idle", "cover"].random(), fallenAngelWingsLayer:["front", "back"].random(), demonHorns:["hidden", "default", "classic", "succubus"].random(), demonHornsLayer:["front", "back"].random(), demonTail:["hidden", "default", "classic", "succubus"].random(), demonTailType:["idle", "cover"].random(), demonTailLayer:["front", "back"].random(), demonWings:["hidden", "default", "succubus", "imp"].random(), demonWingsType:["idle", "cover"].random(), demonWingsLayer:["front", "back"].random(), wolfEars:["hidden", "default", "feral"].random(), wolfTail:["hidden", "default", "feral"].random(), wolfTailLayer:["front", "back"].random(), wolfPits:"hidden", wolfPubes:"hidden", wolfCheeks:["hidden", "feral"].random(), catEars:["hidden", "default"].random(), catTail:["hidden", "default"].random(), catTailLayer:["front", "back"].random(), catTailType:["idle", "cover"].random(), cowHorns:["hidden", "default"].random(), cowHornsLayer:["front", "back"].random(), cowEars:["hidden", "default", "spotted black", "spotted brown"].random(), cowTail:["hidden", "default", "black"].random(), cowTailLayer:["front", "back"].random(), birdEyes:["hidden", "default"].random(), birdMalar:["hidden", "default"].random(), birdPlumage:["hidden", "default"].random(), birdPubes:["hidden", "default"].random(), birdWings:["hidden", "default"].random(), birdWingsLeftType:["idle", "cover"].random(), birdWingsRightType:["idle", "cover"].random(), birdWingsLayer:["front", "back"].random(), birdTail:["hidden", "default"].random(), birdTailLayer:["front", "back"].random(), foxEars:["hidden", "default"].random(), foxTail:["hidden", "default"].random(), foxTailLayer:["front", "back"].random(), foxCheeks:["hidden", "default"].random(), }>> <<replace "#controls-transformations">><<clothesTestingTransformationsControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-transformations input, #controls-transformations select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> <br><br> <span class="gold">Angel:</span> <br> Wings: <<listbox "$characterViewer.bodyState.angelWings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Classic" "classic">> <</listbox>> || Halo: <<listbox "$characterViewer.bodyState.angelHalo" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Traditional" "traditional">> <</listbox>> <br> Left Wing Type: <<listbox "$characterViewer.bodyState.angelWingsLeftType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <</listbox>> || Right Wing Type: <<listbox "$characterViewer.bodyState.angelWingsRightType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <</listbox>> <br> Wing Layering: <<listbox "$characterViewer.bodyState.angelWingsLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <span class="gold">Fallen Angel:</span> <br> Wings: <<listbox "$characterViewer.bodyState.fallenAngelWings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Classic" "classic">> <<option "Feathered" "fallenplus">> <<option "Classic Feathered" "classicfallenplus">> <</listbox>> || Halo: <<listbox "$characterViewer.bodyState.fallenAngelHalo" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Celestial" "celestial">> <<option "Black Celestial" "celestial-black">> <<option "Forgiven Celestial" "celestial-fallenplus">> <<option "Traditional" "traditional">> <</listbox>> <br> Left Wing Type: <<listbox "$characterViewer.bodyState.fallenAngelWingsLeftType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <</listbox>> || Right Wing Type: <<listbox "$characterViewer.bodyState.fallenAngelWingsRightType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <</listbox>> <br> Wing Layering: <<listbox "$characterViewer.bodyState.fallenAngelWingsLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <span class="gold">Demon:</span> <br> Horns: <<listbox "$characterViewer.bodyState.demonHorns" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Classic" "classic">> <<option "Succubus" "succubus">> <</listbox>> || Tail: <<listbox "$characterViewer.bodyState.demonTail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Classic" "classic">> <<option "Succubus" "succubus">> <</listbox>> || Demon Wings: <<listbox "$characterViewer.bodyState.demonWings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Imp" "imp">> <<option "Succubus" "succubus">> <</listbox>> <br> Demon Wings Type: <<listbox "$characterViewer.bodyState.demonWingsType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <<option "Flaunt" "flaunt">> <</listbox>> <br> Demon Tail Type: <<listbox "$characterViewer.bodyState.demonTailType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <<option "Flaunt" "flaunt">> <</listbox>> <br> Horn Layering: <<listbox "$characterViewer.bodyState.demonHornsLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> || Tail Layering: <<listbox "$characterViewer.bodyState.demonTailLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> || Wing Layering: <<listbox "$characterViewer.bodyState.demonWingsLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <span class="gold">Wolf:</span> <br> Ears: <<listbox "$characterViewer.bodyState.wolfEars" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Feral" "feral">> <</listbox>> || Tail: <<listbox "$characterViewer.bodyState.wolfTail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Feral" "feral">> <</listbox>> || Cheeks: <<listbox "$characterViewer.bodyState.wolfCheeks" autoselect>> <<option "Hide" "hidden">> <<option "Feral" "feral">> <</listbox>> <br> Tail Layering: <<listbox "$characterViewer.bodyState.wolfTailLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <span class="gold">Cat:</span> <br> Ears: <<listbox "$characterViewer.bodyState.catEars" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Tail: <<listbox "$characterViewer.bodyState.catTail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Tail: <<listbox "$characterViewer.bodyState.catTailType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <<option "Flaunt" "flaunt">> <</listbox>> <br> Tail Layering: <<listbox "$characterViewer.bodyState.catTailLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <span class="gold">Cow:</span> <br> Horns: <<listbox "$characterViewer.bodyState.cowHorns" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Ears: <<listbox "$characterViewer.bodyState.cowEars" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Spotted black" "spotted black">> <<option "Spotted brown" "spotted brown">> <</listbox>> || Tail: <<listbox "$characterViewer.bodyState.cowTail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Black" "black">> <</listbox>> <br> Horn Layering: <<listbox "$characterViewer.bodyState.cowHornsLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> || Tail Layering: <<listbox "$characterViewer.bodyState.cowTailLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <span class="gold">Bird:</span> <br> Eyes: <<listbox "$characterViewer.bodyState.birdEyes" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Malar: <<listbox "$characterViewer.bodyState.birdMalar" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Plumage: <<listbox "$characterViewer.bodyState.birdPlumage" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Pubes: <<listbox "$characterViewer.bodyState.birdPubes" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Tail: <<listbox "$characterViewer.bodyState.birdTail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> <br> Wings: <<listbox "$characterViewer.bodyState.birdWings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Left Wing Type: <<listbox "$characterViewer.bodyState.birdWingsLeftType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <</listbox>> || Right Wing Type: <<listbox "$characterViewer.bodyState.birdWingsRightType" autoselect>> <<option "Normal" "idle">> <<option "Cover" "cover">> <</listbox>> <br> Tail Layering: <<listbox "$characterViewer.bodyState.birdTailLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> || Wing Layering: <<listbox "$characterViewer.bodyState.birdWingsLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <span class="gold">Fox:</span> <br> Ears: <<listbox "$characterViewer.bodyState.foxEars" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Tail: <<listbox "$characterViewer.bodyState.foxTail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> || Cheeks: <<listbox "$characterViewer.bodyState.foxCheeks" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> <br> Tail Layering: <<listbox "$characterViewer.bodyState.foxTailLayer" autoselect>> <<option "Front" "front">> <<option "Back" "back">> <</listbox>> <br><br> <</widget>> <<widget "characterViewerModel">> <<set $_id to _args[0] or 0>> <<set $_instanceId to `characterViewer-${$_id}`>> <<selectmodel "main" $_instanceId>> /* set options and filters */ /*group toggles*/ <<set _modeloptions.show_hair to $characterViewer.bodyState.hairStage !== "none">> <<set _modeloptions.show_face to $characterViewer.bodyState.show_face>> /*body*/ <<set _modeloptions.body_type to ["classic","slender","curvy", "soft"][$characterViewer.bodyState.bodytype]>> <<set _modeloptions.breasts to $characterViewer.bodyState.cleavage ? "cleavage" : "default">> /* <<set _modeloptions.breasts to $characterViewer.clothesEquipped.under_upper isnot 0 ? "cleavage" : "default">> */ <<set _modeloptions.arm_left to $characterViewer.bodyState.leftArmCovering ? "cover" : "idle">> <<set _modeloptions.arm_right to $characterViewer.bodyState.rightArmCovering ? "cover" : "idle">> <<switch $characterViewer.bodyState.breastSize>> <<case 12>> <<set _modeloptions.breast_size to 6>> <<case 8 9 10 11>> <<set _modeloptions.breast_size to 5>> <<case 6 7>> <<set _modeloptions.breast_size to 4>> <<case 4 5>> <<set _modeloptions.breast_size to 3>> <<case 3>> <<set _modeloptions.breast_size to 2>> <<case 1 2>> <<set _modeloptions.breast_size to 1>> <<default>> <<set _modeloptions.breast_size to 0>> <</switch>> <<set _modeloptions.crotch_visible to $characterViewer.bodyState.penisSize !== "none">> <<set _modeloptions.crotch_exposed to $characterViewer.bodyState.penisSize !== "none">> <<set _modeloptions.penis to $characterViewer.bodyState.penisSize !== "none" ? $characterViewer.bodyState.penisVirgin : "">> <<set _modeloptions.penis_size to $characterViewer.bodyState.penisSize !== "none" ? $characterViewer.bodyState.penisSize : "">> <<set _modeloptions.balls to $characterViewer.bodyState.ballsExist>> <<set _modeloptions.belly to $characterViewer.bodyState.bellySize>> /*Skin & tan*/ <<set _modeloptions.skin_type to $characterViewer.skinColour.type>> <<set _modeloptions.skin_tone to $characterViewer.skinColour.range>> /*Hair*/ <<set _modeloptions.hair_colour_style to $characterViewer.colours.hair_colour_style>> <<set _modeloptions.hair_colour to $characterViewer.colours.hair>> <<set _modeloptions.hair_colour_gradient to $characterViewer.colours.hair_colour_gradient>> <<set _modeloptions.hair_sides_type to $characterViewer.bodyState.hairType>> <<set _modeloptions.hair_sides_length to $characterViewer.bodyState.hairStage>> <<set _modeloptions.hair_sides_position to $characterViewer.bodyState.fringePosition>> <<if $characterViewer.colours.dyedHairPart is "full">> <<set _modeloptions.hair_fringe_colour_style to $characterViewer.colours.hair_colour_style>> <<set _modeloptions.hair_fringe_colour to $characterViewer.colours.hair>> <<set _modeloptions.hair_fringe_colour_gradient to $characterViewer.colours.hair_colour_gradient>> <<else>> <<set _modeloptions.hair_fringe_colour_style to $characterViewer.colours.hair_fringe_colour_style>> <<set _modeloptions.hair_fringe_colour to $characterViewer.colours.fringe>> <<set _modeloptions.hair_fringe_colour_gradient to $characterViewer.colours.hair_fringe_colour_gradient>> <</if>> <<set _modeloptions.hair_fringe_type to $characterViewer.bodyState.fringeType>> <<set _modeloptions.hair_fringe_length to $characterViewer.bodyState.fringeStage>> <<set _modeloptions.brows_colour to $characterViewer.colours.hair>> <<switch $characterViewer.colours.dyedHairPart>> <<case "full">> <<set _modeloptions.hair_fringe_colour_style to $characterViewer.colours.hair_colour_style>> <<set _modeloptions.hair_fringe_colour to $characterViewer.colours.hair>> <<set _modeloptions.hair_fringe_colour_gradient to $characterViewer.colours.hair_colour_gradient>> <<case "fringe">> <<case "sides">> <</switch>> /*Face*/ <<set _modeloptions.facestyle to $characterViewer.bodyState.facestyle>> <<set _modeloptions.facevariant to $characterViewer.bodyState.facevariant>> <<set _modeloptions.freckles to $characterViewer.bodyState.freckles>> <<set _modeloptions.brows to $characterViewer.bodyState.brows>> <<set _modeloptions.mouth to $characterViewer.bodyState.mouth>> <<set _modeloptions.trauma to $characterViewer.bodyState.trauma>> <<set _modeloptions.blink to $characterViewer.bodyState.blink>> <<set _modeloptions.eyes_half to $characterViewer.bodyState.eyes_half>> <<set _modeloptions.eyes_bloodshot to $characterViewer.bodyState.eyes_bloodshot>> <<set _modeloptions.tears to $characterViewer.bodyState.tears>> <<set _modeloptions.blush to $characterViewer.bodyState.blush>> <<set _eyeOptions to ["purple","dark blue","light blue","amber","hazel","green","red","pink","grey"]>> <<if $characterViewer.colours.eyesl is "range">> <<set _modeloptions.left_eye to _eyeOptions[Math.clamp($_id,0,_eyeOptions.length - 1)]>> <<else>> <<set _modeloptions.left_eye to $characterViewer.colours.eyesl>> <</if>> <<if $characterViewer.colours.eyesr is "range">> <<set _modeloptions.right_eye to _eyeOptions[Math.clamp($_id,0,_eyeOptions.length - 1)]>> <<else>> <<set _modeloptions.right_eye to $characterViewer.colours.eyesr>> <</if>> /*Fluid*/ <<set _baseArray to ["", "Start", "VerySlow", "Slow", "Fast", "VeryFast"]>> <<set _modeloptions.drip_vaginal to _baseArray[$characterViewer.bodyState.vaginaCum]>> <<set _modeloptions.drip_anal to _baseArray[$characterViewer.bodyState.anusCum]>> <<set _modeloptions.drip_mouth to _baseArray[$characterViewer.bodyState.mouthCum]>> /*Clothes*/ <<characterViewerModelClothes $_id "head">> <<characterViewerModelClothes $_id "face">> <<characterViewerModelClothes $_id "neck">> <<characterViewerModelClothes $_id "hands">> <<characterViewerModelClothes $_id "handheld">> <<characterViewerModelClothes $_id "upper">> <<characterViewerModelClothes $_id "lower">> <<characterViewerModelClothes $_id "under_upper">> <<characterViewerModelClothes $_id "under_lower">> <<characterViewerModelClothes $_id "legs">> <<characterViewerModelClothes $_id "feet">> <<characterViewerModelClothes $_id "genitals">> <<if _modeloptions.worn.handheld.index>> <<set _modeloptions.arm_right to "hold">> <<else>> <<run delete _modeloptions.arm_right>> <</if>> /*tf*/ <<set _modeloptions.angel_wings_type to $characterViewer.bodyState.angelWings>> <<set _modeloptions.angel_wing_right to $characterViewer.bodyState.angelWingsRightType>> <<set _modeloptions.angel_wing_left to $characterViewer.bodyState.angelWingsLeftType>> <<set _modeloptions.angel_wings_layer to $characterViewer.bodyState.angelWingsLayer>> <<set _modeloptions.angel_halo_type to $characterViewer.bodyState.angelHalo>> <<set _modeloptions.fallen_wings_type to $characterViewer.bodyState.fallenAngelWings>> <<set _modeloptions.fallen_wing_right to $characterViewer.bodyState.fallenAngelWingsRightType>> <<set _modeloptions.fallen_wing_left to $characterViewer.bodyState.fallenAngelWingsLeftType>> <<set _modeloptions.fallen_wings_layer to $characterViewer.bodyState.fallenAngelWingsLayer>> <<set _modeloptions.fallen_halo_type to $characterViewer.bodyState.fallenAngelHalo>> <<set _modeloptions.demon_wings_type to $characterViewer.bodyState.demonWings>> <<set _modeloptions.demon_wings_state to $characterViewer.bodyState.demonWingsType>> <<set _modeloptions.demon_wings_layer to $characterViewer.bodyState.demonWingsLayer>> <<set _modeloptions.demon_tail_type to $characterViewer.bodyState.demonTail>> <<set _modeloptions.demon_tail_state to $characterViewer.bodyState.demonTailType>> <<set _modeloptions.demon_tail_layer to $characterViewer.bodyState.demonTailLayer>> <<set _modeloptions.demon_horns_type to $characterViewer.bodyState.demonHorns>> <<set _modeloptions.demon_horns_layer to $characterViewer.bodyState.demonHornsLayer>> <<set _modeloptions.wolf_tail_type to $characterViewer.bodyState.wolfTail>> <<set _modeloptions.wolf_tail_layer to $characterViewer.bodyState.wolfTailLayer>> <<set _modeloptions.wolf_ears_type to $characterViewer.bodyState.wolfEars>> <<set _modeloptions.wolf_pits_type to $characterViewer.bodyState.wolfPits>> <<set _modeloptions.wolf_pubes_type to $characterViewer.bodyState.wolfPubes>> <<set _modeloptions.wolf_cheeks_type to $characterViewer.bodyState.wolfCheeks>> <<set _modeloptions.wolf_cheeks_type to "disabled">> <<set _modeloptions.cat_tail_type to $characterViewer.bodyState.catTail>> <<set _modeloptions.cat_tail_state to $characterViewer.bodyState.catTailType>> <<set _modeloptions.cat_tail_layer to $characterViewer.bodyState.catTailLayer>> <<set _modeloptions.cat_ears_type to $characterViewer.bodyState.catEars>> <<set _modeloptions.cow_horns_type to $characterViewer.bodyState.cowHorns>> <<set _modeloptions.cow_horns_layer to $characterViewer.bodyState.cowHornsLayer>> <<set _modeloptions.cow_tail_type to $characterViewer.bodyState.cowTail>> <<set _modeloptions.cow_tail_layer to $characterViewer.bodyState.cowTailLayer>> <<set _modeloptions.cow_ears_type to $characterViewer.bodyState.cowEars>> <<set _modeloptions.bird_wings_type to $characterViewer.bodyState.birdWings>> <<set _modeloptions.bird_wing_right to $characterViewer.bodyState.birdWingsRightType>> <<set _modeloptions.bird_wing_left to $characterViewer.bodyState.birdWingsLeftType>> <<set _modeloptions.bird_wings_layer to $characterViewer.bodyState.birdWingsLayer>> <<set _modeloptions.bird_tail_type to $characterViewer.bodyState.birdTail>> <<set _modeloptions.bird_tail_layer to $characterViewer.bodyState.birdTailLayer>> <<set _modeloptions.bird_eyes_type to $characterViewer.bodyState.birdEyes>> <<set _modeloptions.bird_malar_type to $characterViewer.bodyState.birdMalar>> <<set _modeloptions.bird_plumage_type to $characterViewer.bodyState.birdPlumage>> <<set _modeloptions.bird_pubes_type to $characterViewer.bodyState.birdPubes>> <<set _modeloptions.fox_tail_type to $characterViewer.bodyState.foxTail>> <<set _modeloptions.fox_tail_layer to $characterViewer.bodyState.foxTailLayer>> <<set _modeloptions.fox_ears_type to $characterViewer.bodyState.foxEars>> <<set _modeloptions.fox_cheeks_type to $characterViewer.bodyState.foxCheeks>> <<if $characterViewer.controls.animations>> <<animatemodel>> <<else>> <<rendermodel>> <</if>> <</widget>> <<widget "characterViewerModelClothesControls">> <h4>Clothes</h4> <<link "Reset">> <<run Object.keys($characterViewer.clothesEquipped).forEach(slot => { $characterViewer.clothesEquipped[slot] = 0; $characterViewer.colours[slot] = ["Range", "Range"]; })>> <<replace "#controls-clothes">><<characterViewerModelClothesControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-clothes input, #controls-clothes select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> | <<link "Randomise">> <<run Object.keys($characterViewer.clothesEquipped).forEach(slot => { const item = clone(setup.clothes[slot]).random(); $characterViewer.clothesEquipped[slot] = item.index; $characterViewer.colours[slot] = [(item.colour_options || [0]).random(), (item.accessory_colour_options || [0]).random()]; })>> <<replace "#controls-clothes">><<characterViewerModelClothesControls>><</replace>> <<clothesTestingImageUpdate>> <<if $characterViewer.controls.autoRefresh>> <<run $(() => $('#controls-clothes input, #controls-clothes select').on('input change', e => wikifier('<<clothesTestingImageUpdate>>')) )>> <</if>> <</link>> <br><br> <<set $_equip to ["upper","lower","under_upper","under_lower","head","face","neck","hands", "handheld","legs","feet","genitals"]>> <<for $_i to 0; $_i lt $_equip.length; $_i++>> <<set $_slot to $_equip[$_i]>> <span class="gold"><<print $_slot.toUpperFirst()>></span> <<set _clothingMap to new Map(Object.entries(_clothes[$_slot]).sort((a, b) => a[0].localeCompare(b[0])))>> <<set $_var to `$characterViewer.clothesEquipped.${$_slot}`>> <<listbox $_var autoselect>> <<optionsfrom _clothingMap>> <</listbox>> <br> <div @id="'controls-clothes-colour-' + $_slot"> <<characterViewerModelClothesControlsColour $_slot>> </div> <<if ["over_upper","over_lower","upper","lower","under_upper","under_lower","genitals"].includes($_slot) and $characterViewer.clothesEquipped[$_slot] isnot 0>> <br> Integrity: <<listbox `"$characterViewer.clothesIntegrity." + $_slot` autoselect>> <<option "full">> <<option "frayed">> <<option "torn">> <<option "tattered">> <</listbox>> <</if>> <br><br> <</for>> <<run $(() => { function setupListener(slot = "") { let classId = '#listbox-characterviewerclothesequipped' + slot.replace(/_/g, "-"); $(classId).on('input change', e => { const slot = e.target.id.split("equipped")[1].replace(/-/g, "_"); const index = e.target.value; wikifier(`<<replace "#controls-clothes-colour-${slot}">><<characterViewerModelClothesControlsColour "${slot}">><</replace>>`); $(`#controls-clothes-colour-${slot} select`).on('input change', e => wikifier('<<clothesTestingImageUpdate>>')); }); } ["upper","lower","under_upper","under_lower","head","face","neck","hands", "handheld","legs","feet","genitals"].forEach(slot => setupListener(slot)); })>> <</widget>> <<widget "characterViewerModelClothesControlsColour">> <<if _args[0]>> <<set $_item to setup.clothes[_args[0]][$characterViewer.clothesEquipped[_args[0]] or 0]>> <<set $_options1 to ["Range", "Inversed Range"].concat($_item.colour_options or [])>> <<set $_options2 to ["Range", "Inversed Range"].concat($_item.accessory_colour_options or [])>> <<if $_item.colour_options.length gt 0>> Primary: <<set $_var to `$characterViewer.colours.${_args[0]}[0]`>> <<run $_options1.delete("custom")>> <<listbox $_var autoselect>> <<optionsfrom $_options1>> <</listbox>> <</if>> <<if $_item.accessory_colour_options.length gt 0>> <<if $_item.colour_options>>|<</if>> Secondary: <<set $_var2 to `$characterViewer.colours.${_args[0]}[1]`>> <<run $_options2.delete("custom")>> <<listbox $_var2 autoselect>> <<optionsfrom $_options2>> <</listbox>> <</if>> <<if $_item.pattern_options>> <<if $_item.colour_options.length gt 0 || $_item.accessory_colour_options.length gt 0>><br><</if>> <<set $_options3 to ["Range", "Inversed Range"].concat($_item.pattern_options or [])>> Pattern: <<set $_var3 to `$characterViewer.patterns.${_args[0]}[1]`>> <<listbox $_var3 autoselect>> <<optionsfrom $_options3>> <</listbox>> <</if>> <</if>> <</widget>> <<widget "characterViewerModelClothes">> <<set $_instanceId to _args[0]>> <<set $_slot to _args[1]>> <<set $_item to setup.clothes[$_slot][$characterViewer.clothesEquipped[$_slot]]>> <<if $_item and $characterViewer.clothesEquipped[$_slot] isnot 0 and $_item.name isnot "naked">> <<set _modeloptions.worn[$_slot].index to $characterViewer.clothesEquipped[$_slot]>> <<if ["over_upper","over_lower","upper","lower","under_upper","under_lower","genitals"].includes($_slot)>> <<set _modeloptions.worn[$_slot].integrity to $characterViewer.clothesIntegrity[$_slot]>> <</if>> <<set $_colours to $_item.colour_options>> <<run $_colours.delete("custom")>> <<set $_acc_colours to $_item.accessory_colour_options>> <<run $_acc_colours.delete("custom")>> <<set $_patterns to $_item.pattern_options || []>> <<if !Array.isArray($_colours) or $_colours.length is 0>> <<set _modeloptions.worn[$_slot].colour to "">> <<elseif $characterViewer.colours[$_slot][0] is "Range">> <<set _modeloptions.worn[$_slot].colour to $_colours[Math.clamp($_instanceId,0,$_colours.length - 1)]>> <<elseif $characterViewer.colours[$_slot][0] is "Inversed Range">> <<set _modeloptions.worn[$_slot].colour to $_colours[Math.clamp($_colours.length - $_instanceId - 1,0,$_colours.length - 1)]>> <<else>> <<set _modeloptions.worn[$_slot].colour to $characterViewer.colours[$_slot][0]>> <</if>> <<if !Array.isArray($_acc_colours) or $_acc_colours.length is 0>> <<set _modeloptions.worn[$_slot].accColour to "">> <<elseif $characterViewer.colours[$_slot][1] is "Range">> <<set _modeloptions.worn[$_slot].accColour to $_acc_colours[Math.clamp($_instanceId,0,$_acc_colours.length - 1)]>> <<elseif $characterViewer.colours[$_slot][1] is "Inversed Range">> <<set _modeloptions.worn[$_slot].accColour to $_acc_colours[Math.clamp($_acc_colours.length - $_instanceId - 1,0,$_acc_colours.length - 1)]>> <<else>> <<set _modeloptions.worn[$_slot].accColour to $characterViewer.colours[$_slot][1]>> <</if>> <<if !Array.isArray($_patterns) or $_patterns.length is 0>> <<set _modeloptions.worn[$_slot].pattern to "">> <<elseif $characterViewer.patterns[$_slot][1] is "Range">> <<set _modeloptions.worn[$_slot].pattern to $_patterns[Math.clamp($_instanceId,0,$_patterns.length - 1)]>> <<elseif $characterViewer.patterns[$_slot][1] is "Inversed Range">> <<set _modeloptions.worn[$_slot].pattern to $_patterns[Math.clamp($_patterns.length - $_instanceId - 1,0,$_patterns.length - 1)]>> <<else>> <<set _modeloptions.worn[$_slot].pattern to $characterViewer.patterns[$_slot][1]>> <</if>> <<else>> <<set _modeloptions.worn[$_slot].index to 0>> <<set _modeloptions.worn[$_slot].colour to "">> <<set _modeloptions.worn[$_slot].accColour to "">> <<set _modeloptions.worn[$_slot].pattern to "">> <</if>> <</widget>> <<widget "characterViewerModelExportControls">> <h4>Export/Settings</h4> <span class="gold">Character Setup</span> <br> <<listbox "$characterViewer.controls.charactersToShow" autoselect>> <<option "Single" 1>> <<option "Wiki" 11>> <</listbox>> <br><br> <span class="gold">Animations</span> <br> <label>Enable <<radiobutton "$characterViewer.controls.animations" true autocheck>></label> | <label>Disable <<radiobutton "$characterViewer.controls.animations" false autocheck>></label> | <br><br> <span class="gold">Expand the space for character images</span> <br> <<link "Expand Temp">> <<addclass "#passages" "debugPassages">> <</link>> | <<link "Expand">> <<set $characterViewer.controls.expand to true>> <<addclass "#passages" "debugPassages">> <</link>> | <<link "Set Default">> <<set $characterViewer.controls.expand to false>> <<removeclass "#passages" "debugPassages">> <</link>> <br><br> <span class="gold">Auto Refresh</span> <small class="red">May be laggy on slower devices</small> <br> <<if $characterViewer.controls.autoRefresh>> <<link [[Disable|$passage]]>> <<set $characterViewer.controls.autoRefresh to false>> <</link>> <<else>> <<link [[Enable|$passage]]>> <<set $characterViewer.controls.autoRefresh to true>> <</link>> <</if>> <br><br> <span class="gold">Export/Import</span> <br> <textarea id="characterViewerDataInput" rows="4" cols="40" onClick="if(V.disableAutoSelect == false)this.select();" onfocus="V.tempDisable = true;" onblur="V.tempDisable = false;"></textarea> <br> <input type="button" value="Clear Text Box" onclick="clearTextBox('characterViewerDataInput')"/> <input type="button" value="Top of Text Box" onclick="topTextArea('characterViewerDataInput')"/> <input type="button" value="Bottom of Text Box" onclick="bottomTextArea('characterViewerDataInput')"/> <input type="button" value="Get Character Data" onclick="getCharacterViewerDate()"/> <input type="button" value="Load Character Data" onclick="loadCharacterViewerDate()"/> <input id="CopyTextArea" type="button" value="Copy Text Area" onclick="copySavedata('characterViewerDataInput')"> <br><br> <label> <<checkbox "$disableAutoSelect" false true autocheck>> Disables auto select. </label> <</widget>><!-- Any widget with the goal to bug-purge events goes here. Since I didn't find an appropriate file to put this in, I decided to make my own. Feel free to delete this comment at leisure. --> <<widget "checkEventNPC">> <<if (EventSystem.isSlotTaken(_args[0]) and !EventSystem.Disable) or $enemynomax gte 6 or $enemyno gte 6>> <<set $endeventerror to $lastgenerated>> <<clearsinglenpc _args[0]>> <!-- <<endevent phaseless>> --> <</if>> <<set $lastgenerated to $passage>> <</widget>> <<widget "eventExtraInfo">> <!-- Setup useful variables --> <<set $_passages = V.event is undefined ? [] : V.event.buffer.reduce((prev, cur) => { prev.pushUnique(cur.area[0]); return prev; }, []) >> <h3>Area information</h3> <br> Passage: $_passages <br> <<if _eventAlertMajorArea is true>> <span class="red">You are in a major area, which means an NPC escaped!</span> <<if $cheatdisable is "f">> Ignore this message if you've just used a cheat. Otherwise, <span class="red">please report this!</span> <<else>> <span class="red">Please report this!</span> <</if>> <<set _eventreason to true>> <<elseif !_eventAlertMajorArea>> <span class="green">This NPC was defined in this passage</span> <<set _eventreason to true>> <<else>> <<if $passage.includes("Street Stalk")>> <span class="green">You are being stalked. Usually this means everything is in order.</span> <<set _eventreason to true>> <</if>> <<if $event isnot undefined>> <<if $_passages.includes($passage)>> <span class="green">You are in a passage where NPCs were generated.</span> <<set _eventreason to true>> <<elseif $passage.includes($_passages)>> <span class="green">You are in a subpassage from where NPCs were generated. Usually this means they are still in use.</span> <<set _eventreason to true>> <</if>> <<else>> <span class="yellow">You are not in an event.</span> <</if>> <</if>> <<if !_eventreason>> <span class="yellow">NPCs were generated at some point and may not be cleared. They could still be in use. If you feel like they shouldn't be active, please report this. If you're unsure whether or not to report this, go to a major area (i.e a street/alleyway/outside) and check this again.</span> <</if>> <br><br> <h3>NPC information</h3> <br> $enemyno NPC<<if $enemyno gt 1>>s are<<else>> is<</if>> currently active. Max: $enemynomax. Them being:<br><br> <div class="debug-event-container"> <<for $_i to 0; $_i lt $NPCList.length; $_i++>> <<set $_npc to $NPCList[$_i]>> <<set $_eventNPC to EventSystem.get($_i)>> <<if $_npc.type isnot undefined and $_eventNPC isnot undefined>> <<set $_time to new DateTime($_eventNPC.time + V.startDate)>> <div class="debug-event-item debug-event-success"> ID: $_i | $_npc.fullDescription<br> Sex: $_npc.gender | Gender: $_npc.pronouns.man<br> Description: $_npc.description<<if $_npc.role>> | Role: $_npc.role<</if>><br> Source: <<print $_eventNPC.area[0]>>, at: <<ampm $_time.getHours() $_time.getMinutes()>>.<br> </div> <<else>> <div class="debug-event-item debug-event-empty"> NPC #: $_i </div> <</if>> <</for>> </div> <<if $event isnot undefined>> <br>Extra debugging:<br> <<for $_i to 0; $_i lt $event.buffer.length; $_i++>> <<set $_eventNPC to $event.buffer[$_i]>> <<set $_time to new DateTime($_eventNPC.time + V.startDate)>> <<print ($NPCList[$_eventNPC.slot] || {}).fullDescription || "No description.">><br> Defined in passage <<print $_eventNPC.area[0]>>, at <<ampm $_time.getHours() $_time.getMinutes()>>.<br> <<if $_eventNPC.area.length gt 1>> Widget Stack: <<set $_widgetStack to $_eventNPC.area.slice(1)>> <<for $_iStack = 0; $_iStack lt $_widgetStack.length; $_iStack++>> <<print "<<$_widgetStack[$_iStack]>>">><<if $_iStack isnot $_widgetStack.length - 1>>, <</if>> <</for>> <br> <</if>> <!-- Check other event NPCs for linked passages --> <<for $_j to 0; $_j lt $event.buffer.length; $_j++>> <<set $_eventNPC2 to $event.buffer[$_j]>> <<if $_i isnot $_j and $_eventNPC.area[0] is $_eventNPC2.area[0]>> <<if _eventnumberinpassage is undefined>> <<set _eventnumberinpassage to 0>> <</if>> <<set _eventnumberinpassage += 1>> <</if>> <</for>> <!-- Check other event NPCs for linked passages --> <<if _eventnumberinpassage isnot undefined>> <<print _eventnumberinpassage>> other NPC<<if _eventnumberinpassage isnot 1>>s<</if>> have also been defined in passage <<print $_eventNPC.area[0]>>.<br> <<unset _eventnumberinpassage>> <</if>> Set in slot <<print $_eventNPC.slot>> of $$NPCList.<br> <<for $_j to 0; $_j lt $event.buffer.length; $_j++>> <<if $_i isnot $_j and $_eventNPC.slot is $_eventNPC.slot[$_j]>> <span class="red">This NPC has been overwritten or overwrote another one in slot <<print $event.slot[$_eventNPC.slot]>>!</span><br> <<break>> <</if>> <</for>> <br> <</for>> Phase: $phase <</if>> <</widget>> <!-- <<widget "eventAlert">> <<if $event[0] is $passage>> <span class="green" style="text-align: center">Event Active</span> <<if $debug is 1>> <<set _eventAlertMajorArea to false>> <span class="rainbow"><<button "More Event Info">> <<overlayReplace "eventExtraInfo">> <</button>></span> <</if>> <<elseif ["Orphanage", "Bedroom", "Barb Street", "Cliff Street", "Connudatus Street", "Danube Street", "Domus Street", "Elk Street", "Harvest Street", "High Street", "Mer Street", "Nightingale Street", "Oxford Street", "Starfish Street", "Wolf Street", "Residential alleyways", "Commercial alleyways", "Industrial alleyways", "Park", "Hallways", "Brothel", "Strip Club", "Beach", "Ocean Breeze", "Docks Work", "Residential Drain", "Commercial Drain", "Industrial Drain", "Forest", "Farmland", "Livestock Field", "Forest Wolf Cave", "Wolf Cave", "Wolf Cave Clearing", "Asylum", "Asylum Cell", "Underground Cell"].includes($passage)>> <span class="red" style="text-align: center">Event Active</span> <<set _eventAlertMajorArea to true>> <span class="rainbow"><<button "More Event Info">> <<overlayReplace "eventExtraInfo">> <</button>></span> <<elseif ["Forest Cabin", "Eden Cabin", "Eden Clearing"].includes($event[0]) and $event.length is 1>> <span class="green" style="text-align: center">Eden Active</span> <<else>> <span class="yellow" style="text-align: center">Event Active</span> <span class="rainbow"><<button "More Event Info">> <<overlayReplace "eventExtraInfo">> <</button>></span> <</if>> <</widget>> --><<widget "debug">> <<button DEBUG>> <<script>>overlayShowHide('debugOverlay')<</script>> <</button>> <<if $debugMenu is undefined>> <<set $debugMenu to [false, 'debugMain', ""]>> <</if>> <<if $debugMenu[2] is undefined>> <<set $debugMenu[2] = "">> <</if>> <<if $debug_favourite == undefined>> <<set $debug_favourite = []>> <</if>> <<if setup.debugMenu.cacheDebugDiv["debugOverlay"] == undefined or setup.debugMenu.cacheDebugDiv["debugOverlay"] == {}>> <<if $debugMenu == []>> <<set $debugMenu = [false, "debugMain", ""]>> <</if>> <<replace "#debugOverlay">><<debugContents>><</replace>> <<if $debugMenu[0] is true>> <<removeclass "#debugOverlay" "hidden">> <<else>> <<addclass "#debugOverlay" "hidden">> <</if>> <<else>> <<saveLoadCache "load">> <<if $debugMenu[2] != "" and $debugMenu[2] != undefined>> <<run window.researchEvents($debugMenu[2])>> <</if>> <</if>> <<run window.checkEventCondition()>> <</widget>> <<widget "debugContents">> <<set _selected = $debugMenu[1]>> <nav class="overlayMenu"> <ul> <li><input id="debugOverlayButton" type="button" class="close" style="width:45px;height: 35px;" value="⮨" onclick="overlayShowHide('debugOverlay', 'close')"/></li> <li><input id="debugMainButton" @class="'bg-color-debug-unselected '+(_selected == 'debugMain' ? 'bg-color-debug-selected' : '')" type="button" value="Main" style="width: 60px;" onclick="overlayMenu('debugMain', 'debug')"/></li> <li><input id="debugCharacterButton" @class="'bg-color-debug-unselected '+(_selected == 'debugCharacter' ? 'bg-color-debug-selected' : '')" type="button" value="Character" onclick="overlayMenu('debugCharacter', 'debug')"/></li> <li><input id="debugEventsButton" @class="'bg-color-debug-unselected '+(_selected == 'debugEvents' ? 'bg-color-debug-selected' : '')" type="button" value="Events" style="width: 65px;" onclick="overlayMenu('debugEvents', 'debug')"/></li> <li><input id="debugFavouritesButton" @class="'bg-color-debug-unselected '+(_selected == 'debugFavourites' ? 'bg-color-debug-selected' : '')" type="button" value="Favourites" onclick="overlayMenu('debugFavourites', 'debug')"/></li> <li><input id="debugAddButton" @class="'bg-color-debug-unselected '+(_selected == 'debugAdd' ? 'bg-color-debug-selected' : '')" style="width: 20px; padding-left: 0.259em;" type="button" value="+" onclick="overlayMenu('debugAdd', 'debug')"/></li> </ul> <div class="header-content-search-content" id="formChangeColor" style=""> <input name="searchEvents" id="searchEvents" placeholder="Filtering..." onfocusout="window.changeBorderColor()" onfocus="window.changeBorderColor()" oninput="window.researchEvents(null,event)"> </div> </nav> <<if $debugMenu[1] is "debugMain">> <div id="debugMain" class="overlayItem"> <h3>Main</h3> <<debugMain>> <br> </div> <<else>> <div id="debugMain" class="overlayItem hidden"> <h3>Main</h3> <<debugMain>> <br> </div> <</if>> <<if $debugMenu[1] is "debugCharacter">> <div id="debugCharacter" class="overlayItem"> <h3>Character</h3> <<debugCharacter>> <br> </div> <<else>> <div id="debugCharacter" class="overlayItem hidden"> <h3>Character</h3> <<debugCharacter>> <br> </div> <</if>> <<if $debugMenu[1] is "debugEvents">> <div id="debugEvents" class="overlayItem" onload="restoreDebugMenuState"> <h3>Events</h3> <<debugEvents>> <br> </div> <<else>> <div id="debugEvents" class="overlayItem hidden" onload="restoreDebugMenuState"> <h3>Events</h3> <<debugEvents>> <br> </div> <</if>> <<if $debugMenu[1] is "debugFavourites">> <div id="debugFavourites" class="overlayItem" onload="restoreDebugMenuState"> <h3>Favourites</h3> <<debugFavourites>> <br> </div> <<else>> <div id="debugFavourites" class="overlayItem hidden" onload="restoreDebugMenuState"> <h3>Favourites</h3> <<debugFavourites>> <br> </div> <</if>> <<if $debugMenu[1] is "debugAdd">> <div id="debugAdd" class="overlayItem" onload="restoreDebugMenuState"> <h3>Add passages to the Menu</h3> <<debugAdd>> <br> <br> </div> <<else>> <div id="debugAdd" class="overlayItem hidden" onload="restoreDebugMenuState"> <h3>Add passages to the Menu</h3> <<debugAdd>> <br> </div> <</if>> <<if $debugMenu[2] != "" and $debugMenu[2] != undefined>> <<run window.researchEvents($debugMenu[2])>> <</if>> <<saveLoadCache "save">> <</widget>> <<widget "debugMain">> <br> <div id="MainDebugInfo"> Allure: <<print $allure>> <br> Rng: <<print $rng>> <br> Danger: <<print $danger || '0'>> <br> Passage: <<print $passage>> <br> </div> <input type="button" id="backwords" value="Back" onclick="SugarCube.State.backward()"/> <br> <div id='debugEventsMain'> <<debugGenerateDivs "Main">> </div> <</widget>> <<widget "debugCharacter">> <div id='debugEventsCharacter'> <<debugGenerateDivs "Character">> </div> <</widget>> <<widget "debugEvents">> <div id='debugEventsEvents'> <<debugGenerateDivs "Events">> </div> <</widget>> <<widget "debugFavourites">> <<if _args[0] == "replace">> <<replace "#debugEventsFavourites">> <<debugGenerateDivs "Favourites">> <</replace>> <<else>> <div id='debugEventsFavourites'> <<debugGenerateDivs "Favourites">> </div> <</if>> <</widget>> <<widget "debugAdd">> <div id='debugEventsAdd'> <<debugGenerateDivs "Add">> </div> <</widget>> <<widget "debugGenerateDivs">> <<if ndef _event_list>> <<set _event_list to window.returnEventList()>> <</if>> <<if _event_list["Favourites"] == undefined>> <<set _event_list["Favourites"] = $debug_favourite>> <</if>> <<if _args[0] != "Add">> <<for _index = 0; _index < _event_list[_args[0]].length; _index++>> <<if _event_list[_args[0]][_index].text_only != undefined>> <<for _c = 0; _event_list[_args[0]][_index].text_only[_c] == '\n'; _c++>><br name="#"><</for>> <<if _c < _event_list[_args[0]][_index].text_only.length>> <div name="#" @id="_args[0]+'-'+_index"> <<print _event_list[_args[0]][_index].text_only>> </div> <<for _c = _event_list[_args[0]][_index].text_only.length - 1; _event_list[_args[0]][_index].text_only[_c] == '\n'; _c-->><br name="#"><</for>> <</if>> <<else>> <<run window.getNameAndPassage(_args[0], T.index)>> <<capture _args[0] _index _link_name _link_passage>> <<set _onclickTemp = "window.debugCreateLinkAndRedirect("+"'"+_args[0]+"'"+","+_index+","+"'"+_args[0]+"-"+_index+"'"+");">> <div @name="_link_name" @id="_args[0]+'-'+_index"> <a tabindex="0" @onclick="_onclickTemp">_link_name</a> <<run window.addFavouriteIcon(_args[0], _index, _args[0]+'-'+_index)>> </div> <<run window.addonClickDivPassage(_args[0], _index, _args[0]+'-'+_index)>> <</capture>> <</if>> <</for>> <<else>> <<run window.addDebugForm()>> <</if>> <</widget>> <<widget "saveLoadCache">> <<if _args[0] == "save">> <<run window.cacheDebugDiv()>> <<else>> <<run $(document).one(':passageend', (ev) => window.loadCachedDebugDiv())>> <</if>> <</widget>> <<widget "resetDebugLinks">> <<link _link_name _link_passage>> <<run window.runWidgetsInsideLink(_args[0], _index)>> <</link>> <</widget>><<if !$scenesSearch>> <<set $scenesSearch to { numberOfItems: 12, hideLocked: false, text: "", }>> <</if>> <h3>Scene Viewer</h3> <<scenes>> <<scenesSearch>> <<scenesViewerCalc>> <div id="scenesViewer"> <<scenesViewer>> </div> <div id="scenesViewerControls"> <<scenesViewerControls>> </div> <<if $debug is 1>> <!--<br> <<saveCompareTool>>--> <br> <<link [[Reset|$passage]]>><<unset $scenes>><<unset _scenes>><</link>> <</if>> <<if $lastPassage>> <br> <<link [[Exit|$lastPassage]]>><<unset $scenes>><<unset $lastPassage>><</link>> <</if>>End of '<<print $replayScene.name>>' scene. <br><br> <<unset $replayScene>> <<unfreezePlayerStats>> <<endevent>> <<link [[Exit scene|Scene Viewer]]>><</link>><<switch $sceneViewSwitch>> <<case "halloweenwhitney">><<halloweenwhitney>> <<case "halloweenkylar">><<halloweenkylar>> <<case "AlexFarmWorkStage3">><<farmVisitor>> <<case "AlexFarmWorkStage4">><<farmStage4>> <<case "AlexFarmWorkStage5">><<farmStage5>> <<case "AlexFarmWorkStage6">><<farmStage6>> <<case "AlexFarmWorkStage7">><<farmStage7>> <<case "AlexFarmWorkStage8">><<farmStage8>> <<case "AlexFarmWorkStage9">><<farmStage9>> <<case "AlexFarmWorkStage10">><<farmStage10>> <<case "AlexFarmWorkStage11">><<farmStage11>> <<case "AlexFarmWorkStage12">><<farmStage12>> <<case "schoolBully">><<schoolbully>> <<case "schoolBullyPantyCheck">><<WhitneyPantyCheck>> <<case "whitneyShoppingCentre">><<whitneyShoppingCentre>> <<case "prison_spire_options">><<prison_spire_options>> <<default>> Error occurred in scene viewer. <<print $replayScene.name>>. Please report. <br><br> <<set _exitpassage to clone($replayScene.exitpassage)>> <<unset $replayScene>> <<unfreezePlayerStats>> <<link [[Back|_exitpassage]]>> <</link>> <</switch>> <<unset $sceneViewSwitch>><<widget "setupReplayScene">> /*In case the object isn't setup correctly*/ <<set _passages to ["Scene Viewer End"]>> <<if Array.isArray(_args[2])>> <<set _passages to _args[2]>> <</if>> <<set _variablesToRestore to []>> <<freezePlayerStats>> <<set $replayScene to { name: _args[0], startPassage: (_args[1] ? _args[1] : _passages[0]), passages: _passages, exitpassage: $passage }>> <</widget>> /*Scenes when player viewing can't be tracked*/ <<widget "seenPassage">> <<if $scenePassages is undefined>> <<set $scenePassages to []>> <</if>> <<run $scenePassages.pushUnique(_args[0] || $passage)>> <</widget>> /*Scenes when player viewing can be tracked*/ <<widget "seenPassageChecks">> <<set $_robin to statusCheck("Robin")>> <<if $scenePassages is undefined>> <<set $scenePassages to []>> <</if>> <<if C.npc.Avery.init is 1>> <<run $scenePassages.pushUnique("Park Lichen")>> <</if>> <<if $_robin.init is 1>> <<run $scenePassages.pushUnique("Robin Intro")>> <</if>> <<if $bun_value gte 15000>> <<run $scenePassages.pushUnique("Photography Chef")>> <<run $scenePassages.pushUnique("Chef Opening")>> <</if>> <<if $adultshopintro or $adultshopunlocked>> <<run $scenePassages.pushUnique("AdultShopIntro")>> <</if>> <<if $adultshopunlocked>> <<run $scenePassages.pushUnique("AdultShopOpening")>> <</if>> <<if $schoolevent gte 1>> <<run $scenePassages.pushUnique("Penis School Inspection")>> <</if>> <<if $schoolevent gte 2>> <<run $scenePassages.pushUnique("Pussy School Inspection")>> <</if>> <<if $schoolevent gte 3>> <<run $scenePassages.pushUnique("Breast School Inspection")>> <</if>> <<if $halloween_whitney_proposed>> <<run $scenePassages.pushUnique("halloweenwhitney")>> <</if>> <<if $halloween_kylar_proposed>> <<run $scenePassages.pushUnique("halloweenkylar")>> <</if>> <!-- Intentional breakless design for this switch. Example: If $farm_stage is 4, it will run cases 4, 3 and 2. --> <<run switch (Math.clamp($farm_stage, 0, 12)) { case 12: $scenePassages.pushUnique("AlexFarmWorkStage12"); case 11: $scenePassages.pushUnique("AlexFarmWorkStage11"); case 10: $scenePassages.pushUnique("AlexFarmWorkStage10"); case 9: $scenePassages.pushUnique("AlexFarmWorkStage9"); case 8: $scenePassages.pushUnique("AlexFarmWorkStage8"); case 7: $scenePassages.pushUnique("AlexFarmWorkStage7"); case 6: $scenePassages.pushUnique("AlexFarmWorkStage6"); case 5: $scenePassages.pushUnique("AlexFarmWorkStage5"); case 4: $scenePassages.pushUnique("AlexFarmWorkStage4"); case 3: $scenePassages.pushUnique("AlexFarmWorkStage3"); case 2: $scenePassages.pushUnique("AlexFarmIntro"); } >> <<if $farm and $farm.milking and $farm.milking.alexNightEvent>> <<run $scenePassages.pushUnique("AlexFarmSelfMilkingCaught")>> <</if>> <<if $bullyevent gt 0>> <<run $scenePassages.pushUnique("WhitneySchoolBully1")>> <</if>> <<if $bullyevent gt 1>> <<run $scenePassages.pushUnique("WhitneySchoolBully2")>> <</if>> <<if $bullyevent gt 2>> <<run $scenePassages.pushUnique("WhitneySchoolBully3")>> <</if>> <<if $bullyevent gt 3>> <<run $scenePassages.pushUnique("WhitneySchoolBully4")>> <</if>> <<if $whitneypantiescheck>> <<run $scenePassages.pushUnique("WhitneySchoolBullyPanty")>> <</if>> <<if $whitneyskirtcheck>> <<run $scenePassages.pushUnique("WhitneySchoolBullySkirt")>> <</if>> <<if $bullyEventShopping isnot undefined>> <<run $scenePassages.pushUnique("WhitneyShopping")>> <<if $bullyEventShopping gt 1 or $whitneyCrossdressSchool gte 0 or $whitneyCrossdressNormalItems gte 0 or $whitneyCrossdressSwimwear gte 0 or $whitneyCrossdressSleepwear gte 0>> <<run $scenePassages.pushUnique("Whitney Shopping Centre Clothes")>> <</if>> <<if $whitneyCrossdressMakeup gte 0>> <<run $scenePassages.pushUnique("Whitney Shopping Centre Cosmetics")>> <</if>> <</if>> <<if $whitneyCrossdressSwimwear gte 1>> <<run $scenePassages.pushUnique("WhitneyCrossdressSwimming")>> <</if>> <<if $loft_whitney>> <<run $scenePassages.pushUnique("WhitneyOrphanageLoft")>> <</if>> <!-- Intentional breakless design for this switch. Example: If $_robin.cdquest is 3, it will run cases 3, 2 and 1. --> <<run switch (Math.clamp($_robin.cdquest, 0, 6)) { case 6: $scenePassages.pushUnique("RobinCrossdressing6", "RobinCrossdressing6I"); case 5: $scenePassages.pushUnique("RobinCrossdressing5"); case 4: $scenePassages.pushUnique("RobinCrossdressing4"); case 3: $scenePassages.pushUnique("RobinCrossdressing3"); case 2: $scenePassages.pushUnique("RobinCrossdressing2"); case 1: $scenePassages.pushUnique("RobinCrossdressing1"); } >> <<if $robinfirstrentfight is 1>> <<run $scenePassages.pushUnique("RentFirstRobinFight")>> <</if>> <<if $robinPunishments.includes("docks")>> <<run $scenePassages.pushUnique("RobinDocks")>> <</if>> <<if $robinPunishments.includes("landfill")>> <<run $scenePassages.pushUnique("RobinLandfill")>> <</if>> <<if $robinPunishments.includes("pillory")>> <<run $scenePassages.pushUnique("RobinPillory")>> <</if>> <<if $kylarSeen.includes("basement")>> <<run $scenePassages.pushUnique("KylarBasement")>> <</if>> <<if $syndromekylar is 1>> <<run $scenePassages.pushUnique("KylarAbduction")>> <</if>> <<if $kylar_sleep_abduction is 1>> <<set $scenePassages.pushUnique("KylarManorSleep")>> <</if>> <!-- Intentional breakless design for this switch. Example: If $kylar_manor_secret is 2, it will run cases 2 and 1. --> <<run switch (Math.clamp($kylar_manor_secret, 0, 3)) { case 3: $scenePassages.pushUnique("KylarMonstranceAccost"); case 2: $scenePassages.pushUnique("KylarMonstranceAsk"); case 1: $scenePassages.pushUnique("KylarManorSecret"); } >> <<if $syndromeeden>> <<set $scenePassages.pushUnique("EdenIntro")>> <</if>> <<if $edenradiointro gte 2>> <<set $scenePassages.pushUnique("EdenRadioIntro")>> <</if>> <<if $wraithPrison and $wraithPrison.vision>> <<set $scenePassages.pushUnique("Schism")>> <</if>> <<if $christmas_wraith>> <<set $scenePassages.pushUnique("Christmas Mirror")>> <</if>> <<if $temple_rank is "monk" or $temple_rank is "priest">> <<set $scenePassages.pushUnique("TempleVigil")>> <</if>> <<if $templePromised is "Sydney">> <<set $scenePassages.pushUnique("TempleSydneyPureRitual")>> <</if>> <<if $sydneySeen>> <<if $sydneySeen.includes("corruptroom")>> <<set $scenePassages.pushUnique("TempleSydneyCorrupt")>> <</if>> <<if $sydneySeen.includes("punishment")>> <<set $scenePassages.pushUnique("TempleSydneyPunish")>> <</if>> <</if>> <<if $temple_confessor_intro>> <<set $scenePassages.pushUnique("TempleConfessorIntro")>> <</if>> <<if $spear_vessel>> <<set $scenePassages.pushUnique("IslandCastle")>> <</if>> <<if $christmas_book_read gte 3>> <<set $scenePassages.pushUnique("Pinch")>> <</if>> <<if $janet_book_read is 1>> <<set $scenePassages.pushUnique("RaulAndJanet")>> <</if>> <<if $nightmaresSeen>> <<if $nightmaresSeen.includes("eden")>> <<set $scenePassages.pushUnique("NightmareEden")>> <</if>> <<if $nightmaresSeen.includes("wraith")>> <<set $scenePassages.pushUnique("NightmareWraith")>> <</if>> <<if $nightmaresSeen.includes("bird")>> <<set $scenePassages.pushUnique("NightmareBird")>> <</if>> <<if $nightmaresSeen.includes("harper")>> <<set $scenePassages.pushUnique("NightmareHarper")>> <</if>> <<if $nightmaresSeen.includes("sydneyCorrupt")>> <<set $scenePassages.pushUnique("NightmareCorruptSydney")>> <</if>> <</if>> <<if $hypnosis gte 1>> <<set $scenePassages.pushUnique("HarperHypnosisIntro")>> <</if>> <<if $hypnosis gte 2>> <<set $scenePassages.pushUnique("HarperHypnosisTrance1")>> <</if>> <<if $hypnosis gte 3>> <<set $scenePassages.pushUnique("HarperHypnosisTrance2")>> <</if>> <<if $hypnosis gte 4>> <<set $scenePassages.pushUnique("HarperHypnosisTrance3")>> <</if>> <<if $hypnosis gte 5>> <<set $scenePassages.pushUnique("HarperHypnosisTrance4")>> <</if>> <<if $harperexam gte 1>> <<set $scenePassages.pushUnique("HarperHypnosisExam1")>> <</if>> <<if $harperexam gte 2>> <<set $scenePassages.pushUnique("HarperHypnosisExam2")>> <</if>> <<if $harperexam gte 3>> <<set $scenePassages.pushUnique("HarperHypnosisExam3")>> <</if>> <<if $hookah_plot gte 1>> <<set $scenePassages.pushUnique("TentacleForestDoor")>> <</if>> <<if $hookah_plot gte 3>> <<set $scenePassages.pushUnique("TownHallComputer")>> <</if>> <<if $syndromewolves>> <<set $scenePassages.pushUnique("BlackWolfIntro")>> <</if>> <<if $pound?.progress gte 5>> <<set $scenePassages.pushUnique("FreeTheBlackDog")>> <</if>> <<if $mickeyPub gte 2>> <<set $scenePassages.pushUnique("OrphanageHacker")>> <</if>> <<if $pubfame and $pubfame.status>> <<set $scenePassages.pushUnique("PubFameIntro")>> <</if>> <<if $per_npc.anxious_guard?.name_known>> <<set $scenePassages.pushUnique("PrisonSpirePrecipice")>> <</if>> <<if $per_npc.veteran_guard?.name_known>> <<set $scenePassages.pushUnique("PrisonYardLocket")>> <</if>> <<if $per_npc.scarred_inmate?.name_known>> <<set $scenePassages.pushUnique("PrisonScarredInmate")>> <</if>> <</widget>> <<widget "scenes">> /*Be extra careful when adding new scenes, make sure that any variables that shouldn't be changed this way, are restored right after The widgets `<<freezePlayerStats>>` and `<<unfreezePlayerStats>>` can help here alongside `variablesToRestore` for more scene specific variables The variable $statFreeze to prevent other widgets from running Be aware that many objects will be restored for you, including player, worn, carried, wardrobe, sexStats, dateCount and named npc's */ <<if $scenePassages is undefined>> <<set $scenePassages to []>> <</if>> <<if $scenes is undefined>> <<seenPassageChecks>> <<set $scenes to { /*"placeHolder":{ name:"", startPassage:"", passages:["",""], manualVariableChanges:"", unlocked: $scenePassages.includes("startPassage"), lockedMessage: $someCheck ? "Optional locked message, remove line if not required" : "Locked" },*/ "Tutorial":{ name:"Tutorial", startPassage:"SV Tutorial", passages: ["SV Tutorial","Tutorial","Tutorial Finish","Tutorial Flirt","Tutorial Thank","Rent Intro","Tutorial Bailey","Garden Fence","Robin's Lemonade Set Tutorial","Robin's Lemonade Set Tutorial 2","Robin Chocolate Set Tutorial","Robin Chocolate Set Tutorial 2","Robin Walk School","Robin Walk School Tutorial"], manualVariableChanges: "<<set $tutorial to 0>><<set $debug to 0>>", unlocked: $scenePassages.includes("Tutorial"), lockedMessage: "Locked." /* Intention change */ }, "TheFarm":{ name:"The Farm", startPassage:"The Farm", passages: ["The Farm","The Farm Finish"], manualVariableChanges: "<<set $molestationstart to 1>>", unlocked: $scenePassages.includes("The Farm"), lockedMessage: "Locked." /* Intention change */ }, "AveryParkIntroduction":{ name:"Avery Park Introduction", startPassage:"Park Lichen", passages: ["Park Lichen","Park Lichen Climb","Park Lichen Help","Park Lichen Explain","Park Lichen Run","Park Lichen Honest","Park Lichen Evasive","Park Lichen Accept","Park Lichen Refuse","Park Lichen Smooch","Park Lichen Still","Park Lichen Move"], manualVariableChanges: "<<set C.npc.Avery.init to 0>>", unlocked: $scenePassages.includes("Park Lichen") }, "AveryHelicopter":{ name:"Avery Helicopter", startPassage:"SV Avery Helicopter", passages: ["SV Avery Helicopter","Avery Helicopter","Avery Helicopter Drink","Avery Helicopter Refuse","Avery Helicopter 2","Avery Helicopter Nod","Avery Helicopter Brush","Avery Helicopter Push","Avery Helicopter Sex","Avery Helicopter Sex End","Avery Helicopter Roll","Avery Helicopter Slap","Avery Helicopter Walk"], manualVariableChanges: "<<set $location to 'town'>>", unlocked: $scenePassages.includes("Avery Helicopter") }, "RobinIntro1":{ name:"Robin Intro 1", startPassage:"Orphanage", passages:[], manualVariableChanges:"<<set C.npc.Robin.init to 0>><<set Time.setTime(7, 0)>><<set $stress to 0>><<set $home_gone to 0>><<if $exposed gt 0>><<givestartclothing>><</if>>", unlocked: $scenePassages.includes("Robin Intro") }, "RobinIntro2":{ name:"Robin Intro 2", startPassage:"Shopping Centre", passages:[], manualVariableChanges:"<<set C.npc.Robin.init to 0>><<set Time.set(0)>><<set Time.setTime(18, 0)>><<set $stress to 0>><<if $exposed gt 0>><<givestartclothing>><</if>>", unlocked: $scenePassages.includes("Robin Intro") }, "RobinIntro3":{ name:"Robin Intro 3", startPassage:"Canteen", passages:[], manualVariableChanges:"<<set C.npc.Robin.init to 0>><<set $schoolstate to 'lunch'>><<set Time.setTime(12, 0)>><<set $stress to 0>><<if $exposed gt 0>><<givestartclothing>><</if>>", unlocked: $scenePassages.includes("Robin Intro") }, "ChefOpeningPhotograph":{ name:"Chef Opening Photograph", startPassage:"Photography Chef", passages:["Photography Chef","Photography Chef 2","Photography Chef 3","Photography Chef 4","Photography Chef 5","Photography Chef Tease","Photography Chef Wait","Photography Chef Cream","Photography Chef Leave","Photography Chef Milk","Photography Chef 6","Photography Chef Wait","Photography Chef Lewd Cream","Photography Chef Normal Cream","Photography Chef 7"], manualVariableChanges:"", unlocked: $scenePassages.includes("Photography Chef") }, "ChefOpeningCeremony":{ name:"Chef Opening Ceremony", startPassage:"Chef Opening", passages:["Chef Opening","Chef Opening 2","Chef Opening 3","Chef Opening Current","Chef Opening Gown","Chef Opening Tuxedo","Chef Opening 4","Chef Opening 5","Chef Opening Avery Accept","Chef Opening Avery Refuse","Chef Opening 6","Chef Opening Bailey Slap","Chef Opening Bailey Thank","Chef Opening Bailey Silent","Chef Opening 7","Chef Opening Smile","Chef Opening Funny","Chef Opening Refuse Photograph","Chef Opening 8","Chef Opening 9","Chef Opening 10","Chef Opening 11","Chef Opening Truth","Chef Opening Bailey","Chef Opening Sam","Chef Opening Self","Chef Opening Refuse","Chef Opening Local","Chef Opening Foreign","Chef Opening Staff","Chef Opening Enjoy","Chef Opening End","Chef Opening End 2"], manualVariableChanges:"", unlocked: $scenePassages.includes("Chef Opening") }, "AdultShopIntro":{ name:"Adult Shop Intro", startPassage:"SV Dilapidated Shop", passages:["SV Dilapidated Shop","Dilapidated Shop","Dilapidated Shop Intro","Dilapidated Help","Dilapidated Toy","Dilapidated Suggest","Dilapidated Let","Dilapidated Paint Suit Romance","Dilapidated Paint Watch Romance","Dilapidated Paint Look","Dilapidated Paint Watch","Dilapidated Paint Help","Dilapidated Paint Watch 2","Dilapidated End","Dilapidated Dildo","Dilapidated Dildo Refuse","Dilapidated Dildo Encourage","Dilapidated Dildo Work","Dilapidated Dildo Tease","Dilapidated Pretend","Dilapidated Beads","Dilapidated Beads Refuse","Dilapidated Beads Lick","Dilapidated Beads Lick Refuse","Dilapidated Beads Tease","Dilapidated Crop Fours","Dilapidated Crop Refuse","Dilapidated Crop Whack Hard","Dilapidated Crop Whack Soft","Dilapidated Crop Whack Refuse","Dilapidated Crop Tease","Dilapidated Crop Fours 2","Dilapidated Crop Fours End","Dilapidated Crop Fours Flirt","Dilapidated Crop Fours Cry","Dilapidated Crop Fours Work","Dilapidated Beads 2","Dilapidated Beads Refuse 2","Dilapidated Dildo Lick","Dilapidated Dildo Sydney Lick","Dilapidated Bye","Dilapidated Temple"], manualVariableChanges:"<<set $location to 'dilapidated_shop'>><<unset $adultshopintro>><<unset $adultshophelped>><<set $adultshopprogress to 0>><<set $sydney_location_override to 'shop'>><<run Time.setDate(Time.getNextWeekdayDate(6))>><<run Time.setTime(17,0)>>", unlocked: $scenePassages.includes("AdultShopIntro") }, "AdultShopOpening":{ name:"Adult Shop Opening", startPassage:"SV Adult Shop Opening", passages:["SV Adult Shop Opening","Adult Shop Opening","Adult Shop Opening 2","Adult Shop Opening Refuse","Adult Shop Opening Refuse 2","Adult Shop Opening Refuse 3","Adult Shop Opening Pure","Adult Shop Opening Pure Onesie","Adult Shop Opening Pure Babydoll","Adult Shop Opening Pure 2","Adult Shop Opening Pure 3","Adult Shop Opening Pure Refresh","Adult Shop Opening Pure Fine","Adult Shop Opening Pure Bed","Adult Shop Opening Pure Let","Adult Shop Opening Pure Hold","Adult Shop Opening Pure Kiss","Adult Shop Opening Neutral","Adult Shop Opening Neutral Onesie","Adult Shop Opening Neutral Onesie 2","Adult Shop Opening Neutral Pictures","Adult Shop Opening Neutral Refuse","Adult Shop Opening Neutral Babydoll","Adult Shop Opening Neutral Babydoll 2","Adult Shop Opening Neutral 2","Adult Shop Opening Neutral Kiss","Adult Shop Opening Neutral Smile","Adult Shop Opening Corrupt","Adult Shop Opening Corrupt Onesie","Adult Shop Opening Corrupt Onesie Ask","Adult Shop Opening Corrupt Onesie Compliment","Adult Shop Opening Corrupt Onesie 2","Adult Shop Opening Corrupt Babydoll","Adult Shop Opening Corrupt Babydoll Ask","Adult Shop Opening Corrupt Babydoll Compliment","Adult Shop Opening Corrupt Babydoll 2","Adult Shop Opening Corrupt 2","Adult Shop Opening Corrupt Niki","Adult Shop Opening Corrupt Niki Kiss","Adult Shop Opening Corrupt Niki 2","Adult Shop Opening Corrupt 3","Adult Shop Opening End","Adult Shop Opening End 2"], manualVariableChanges:"<<set $location to 'adult_shop'>><<run Time.setTime(17,0)>><<set C.npc.Sydney.virginity.kiss to true>>", unlocked: $scenePassages.includes("AdultShopOpening") }, "SchoolInspectionPenis":{ name:"School Inspection - Penis", startPassage:"Science Lesson", passages:["Penis Inspection", "Penis Inspection 1", "Penis Inspection Expose", "Penis Inspection Flaunt", "Penis Inspection Run Away", "Penis Inspection End", "Penis Inspection Flaunt No Penis", "Penis Inspection Forced", "Penis Inspection Forced Defiant", "Penis Inspection 2"], manualVariableChanges:"<<set Time.setDate(Time.getNextWeekdayDate(2))>><<set Time.setTime(9, 1)>><<set $schoolevent to 0>><<set $schooleventtimer to 0>>", unlocked: $scenePassages.includes("Penis School Inspection") }, "SchoolInspectionPussy":{ name:"School Inspection - Pussy", startPassage:"Science Lesson", passages:["Pussy Inspection", "Pussy Inspection 1", "Pussy Inspection 2", "Pussy Inspection Run", "Pussy Inspection Flaunt No Pussy", "Pussy Inspection Comply", "Pussy Inspection Flaunt", "Pussy Inspection Forced", "Pussy Inspection Forced Defiant", "Pussy Inspection End"], manualVariableChanges:"<<set Time.setDate(Time.getNextWeekdayDate(2))>><<set Time.setTime(9, 1)>><<set $schoolevent to 1>><<set $schooleventtimer to 0>>", unlocked: $scenePassages.includes("Pussy School Inspection") }, "SchoolInspectionBreast":{ name:"School Inspection - Breast", startPassage:"Science Lesson", passages:["Breast Inspection","Breast Inspection Comply","Breast Inspection Flaunt","Breast Inspection Flat Flaunt","Breast Inspection Protest","Breast Inspection End"], manualVariableChanges:"<<set Time.setTime(9, 1)>><<set $schoolevent to 2>><<set $schooleventtimer to 0>>", unlocked: $scenePassages.includes("Breast School Inspection") }, "HalloweenWhitney":{ name:"Halloween Whitney", startPassage:"Scene Viewer passages", passages:["Whitney Trick 1","Whitney Trick 2","Whitney Trick Refuse","Whitney Trick 2","Whitney Trick Refuse 2","Whitney Trick 3","Whitney Trick 4","Whitney Trick Stop","Whitney Trick Watch","Whitney Trick 5","Whitney Trick 6","Whitney Trick Exhibitionism","Whitney Trick Drink","Whitney Trick Drink","Whitney Trick Sex","Whitney Trick Sex Refuse","Whitney Trick 7","Whitney Trick Sex Finish"], manualVariableChanges:"<<set $sceneViewSwitch to 'halloweenwhitney'>>", unlocked: $scenePassages.includes("halloweenwhitney") }, "HalloweenKylar":{ name:"Halloween Kylar", startPassage:"Scene Viewer passages", passages:["Kylar Halloween Look","Kylar Halloween Watch","Kylar Halloween","Kylar Halloween Refuse","Kylar Halloween Walk","Kylar Halloween Hesitate","Kylar Halloween Forest Refuse","Kylar Halloween Continue","Kylar Halloween Angry","Kylar Halloween Continue Walk","Kylar Halloween Leave","Kylar Halloween March","Kylar Halloween Kiss","Kylar Halloween Yes","Kylar Halloween No","Kylar Halloween Town","Kylar Halloween Sex","Kylar Halloween Sex Finish","Kylar Halloween Mansion","Kylar Halloween Mansion 2","Kylar Halloween Known Drink","Kylar Halloween Unknown Refuse","Kylar Halloween Known Angry","Kylar Halloween Unknown Drink","Kylar Halloween Known Pretend","Kylar Halloween Known Hand","Kylar Halloween Known Go","Kylar Halloween Known Scare","Kylar Halloween Mansion Sex","Kylar Halloween Mansion Sex Finish","Kylar Halloween Exit","Kylar Halloween Known Chase","Kylar Halloween Known Curtain","Kylar Halloween Known Sheet","Kylar Halloween Known Front","Kylar Halloween Known Dumb","Kylar Halloween Known Clean","Kylar Halloween Known Kiss","Kylar Halloween Known Stand","Kylar Halloween Known Sex","Kylar Halloween Known Sex Finish","Kylar Halloween Rough Exit","Kylar Halloween Unknown Refuse 2","Kylar Halloween Exit 2","Kylar Halloween Skulduggery 2","Kylar Halloween Pick","Kylar Halloween Upstairs","Kylar Halloween Skulduggery","Kylar Halloween Skulduggery Kiss","Kylar Halloween Skulduggery Pull","Kylar Halloween Upstairs Dodge","Kylar Halloween Caught","Kylar Halloween Upstairs Applaud","Kylar Halloween Upstairs Angry","Kylar Halloween Kneel","Kylar Halloween Kneel Refuse","Kylar Halloween Kneel Refuse 2","Kylar Halloween Kneel Run","Kylar Halloween Kneel Help","Kylar Halloween Kneel Spray","Kylar Halloween Forced Kneel","Kylar Halloween Oral","Kylar Halloween Lick","Kylar Halloween Lick Refuse","Kylar Halloween Lick Refuse 2","Kylar Halloween End","Kylar Halloween Oral Finish","Kylar Halloween Bed","Kylar Halloween Bed 2","Kylar Halloween Bed 3","Kylar Halloween Bed 4","Kylar Halloween Bed 5","Kylar Halloween Wait","Kylar Halloween Warn","Kylar Halloween Escape","Kylar Halloween Tricks","Kylar Halloween Whitney","Kylar Halloween Accompany","Kylar Halloween Alone","Kylar Halloween Thank","Kylar Halloween Ask","Kylar Halloween Whitney Kiss","Kylar Halloween Whitney Apologise","Kylar Halloween Whitney Silent"], manualVariableChanges:"<<set $sceneViewSwitch to 'halloweenkylar'>>", unlocked: $scenePassages.includes("halloweenkylar") }, "AlexFarmIntro":{ name:"Alex Farm Intro", startPassage:"Farm Intro", passages:["Farm Intro","Farm Intro 2","Farm Intro 3","Farm Intro 4","Farm Intro 5","Farm Intro 6","Farm Intro 7","Farm Intro 8","Farm Intro 9","Farm Intro 10","Farm Intro Accept","Farm Intro Refuse"], manualVariableChanges:"", unlocked: $scenePassages.includes("AlexFarmIntro") }, "AlexFarmWorkStage03":{ name:"Alex Farm Work Stage 3", startPassage:"Scene Viewer passages", passages:["Farm Visitor"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage3'>><<farm_work_update>>", unlocked: $scenePassages.includes("AlexFarmWorkStage3") }, "AlexFarmWorkStage04":{ name:"Alex Farm Work Stage 4", startPassage:"Scene Viewer passages", passages:["Farm Stage 4"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage4'>><<farm_work_update>>", unlocked: $scenePassages.includes("AlexFarmWorkStage4") }, "AlexFarmWorkStage05":{ name:"Alex Farm Work Stage 5", startPassage:"Scene Viewer passages", passages:["Farm Stage 5","Farm Stage 5 2","Farm Stage 5 3"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage5'>><<farm_work_update>>", unlocked: $scenePassages.includes("AlexFarmWorkStage5") }, "AlexFarmWorkStage06":{ name:"Alex Farm Work Stage 6", startPassage:"Scene Viewer passages", passages:["Farm Stage 6","Farm Stage 6 2","Farm Stage 6 Look","Farm Stage 6 No Look","Farm Stage 6 Pull","Farm Stage 6 3","Farm Stage 6 Pull 2","Farm Stage 6 Pull Return","Farm Stage 6 Pull Refuse","Farm Stage 6 4","Farm Stage 6 5","Farm Stage 6 6","Farm Stage 6 7","Farm Stage 6 8"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage6'>>", unlocked: $scenePassages.includes("AlexFarmWorkStage6") }, "AlexFarmWorkStage07":{ name:"Alex Farm Work Stage 7", startPassage:"Scene Viewer passages", passages:["Farm Stage 7","Farm Stage 7 Warn","Farm Stage 7 Break","Farm Stage 7 2","Farm Fight","Farm Fight End","Farm Fight Search","Farm Fight Search Shelf","Farm Fight Search Toolbox","Farm Fight Search Cupboard","Farm Fight Search Rakes","Farm Fight Search Sheet","Farm Fight End 2","Farm Fight End Rush","Farm Fight End Confront","Farm Fight End Threaten","Farm Fight End 3","Farm Fight End Rational","Farm Fight End Tea","Farm Fight End 4","Farm Fight End Ask","Farm Fight End Apologise","Farm Fight End Suggest","Farm Fight End Accept","Farm Fight End Refuse"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage7'>>", unlocked: $scenePassages.includes("AlexFarmWorkStage7") }, "AlexFarmWorkStage08":{ name:"Alex Farm Work Stage 8", startPassage:"Scene Viewer passages", passages:["Farm Stage 8"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage8'>>", unlocked: $scenePassages.includes("AlexFarmWorkStage8") }, "AlexFarmWorkStage09":{ name:"Alex Farm Work Stage 9", startPassage:"Scene Viewer passages", passages:["Farm Stage 9 Catch","Farm Stage 9 Leave","Farm Stage 9 Empty","Farm Stage 9 Caught","Farm Stage 9 Impressed","Farm Stage 9 Curious","Farm Stage 9 Dismissive","Farm Stage 9 Lab","Farm Stage 9 Yes","Farm Stage 9 No","Farm Stage 9 Agree","Farm Stage 9 Object"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage9'>>", unlocked: $scenePassages.includes("AlexFarmWorkStage9") }, "AlexFarmWorkStage10":{ name:"Alex Farm Work Stage 10", startPassage:"Scene Viewer passages", passages:["Farm Stage 10 Impressed","Farm Stage 10 Dismiss","Farm Stage 10 Explain"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage10'>>", unlocked: $scenePassages.includes("AlexFarmWorkStage10") }, "AlexFarmWorkStage11":{ name:"Alex Farm Work Stage 11", startPassage:"Scene Viewer passages", passages:["Farm Stage 11 Confident","Farm Stage 11 Caution"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage11'>>", unlocked: $scenePassages.includes("AlexFarmWorkStage11") }, "AlexFarmWorkStage12":{ name:"Alex Farm Work Stage 12", startPassage:"Scene Viewer passages", passages:["Farm Stage 12 Hands","Farm Stage 12 Pat","Farm Stage 12 Reassure","Farm Stage 12 Embolden","Farm Stage 12 Remy","Farm Stage 12 Intercede","Farm Stage 12 Alex","Farm Stage 12 End"], manualVariableChanges:"<<set $sceneViewSwitch to 'AlexFarmWorkStage12'>>", unlocked: $scenePassages.includes("AlexFarmWorkStage12") }, "AlexFarmSelfMilkingCaught":{ name:"Alex Farm Self Milking Caught", startPassage:"Farm Barn Caught", passages:[], manualVariableChanges:"", unlocked: $scenePassages.includes("AlexFarmSelfMilkingCaught") }, "WhitneySchoolBully1":{ name:"Whitney School Bully 1", startPassage:"Scene Viewer passages", passages:[], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBully'>><<set $bullyevent to 0>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBully1") }, "WhitneySchoolBully2":{ name:"Whitney School Bully 2", startPassage:"Scene Viewer passages", passages:["Bully Locker","Bully Fight","Bully Fight Finish"], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBully'>><<set $bullyevent to 1>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBully2") }, "WhitneySchoolBully3":{ name:"Whitney School Bully 3", startPassage:"Scene Viewer passages", passages:["Bully Fight","Bully Fight Finish","Bully Top","Bully Top Flaunt"], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBully'>><<set $bullyevent to 2>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBully3") }, "WhitneySchoolBully4":{ name:"Whitney School Bully 4", startPassage:"Scene Viewer passages", passages:["Bully Fight","Bully Fight Finish","Bully Strip","Bully Strip Flaunt","Bully Walk","Bully Walk Flaunt","Bully Refuse"], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBully'>><<set $bullyevent to 3>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBully4") }, "WhitneySchoolBullyPanty":{ name:"Whitney School Bully Underwear Rule", startPassage:"Scene Viewer passages", passages:["Bully Fight","Bully Fight Finish","Bully Panties","Bully Panties 2"], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBullyPantyCheck'>><<npc Whitney>><<set $bullyevent to 10>><<set $whitneypantiescheck to 0>><<set C.npc.Whitney.dom to 18>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBullyPanty") }, "WhitneySchoolBullySkirt":{ name:"Whitney School Bully Skirt Rule", startPassage:"Scene Viewer passages", passages:["Bully Fight","Bully Fight Finish","Bully Skirt"], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBully'>><<set $bullyevent to 15>><<set $whitneyskirtcheck to 0>><<set $forcedcrossdressingdisable to 'f'>><<set C.npc.Whitney.dom to 18>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBullySkirt"), lockedMessage: $player.sex isnot "m" ? "Male exclusive scene" : "Locked" }, "WhitneySchoolBullyChastity":{ name:"Whitney School Bully Chastity Rule", startPassage:"Scene Viewer passages", passages:["Bully Chastity"], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBully'>><<set $bullyevent to 15>><<set $whitneyskirtcheck to 1>><<set $forcedcrossdressingdisable to 'f'>><<set C.npc.Whitney.dom to 18>><<set $worn.genitals to setup.clothes.genitals[0]>><<unset $whitneychastity>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBullySkirt"), lockedMessage: $player.sex isnot "m" ? "Male exclusive scene" : "Locked" }, "WhitneyShoppingCentreHairDressers":{ name:"Whitney Shopping Centre Hairdressers", startPassage:"Scene Viewer passages", passages:["Whitney Shopping Centre", "Whitney Shopping Centre Refuse","Whitney Shopping Centre Hairdressers","Whitney Shopping Centre Hairdressers Refuse","Whitney Shopping Centre Hairdressers 2","Whitney Shopping Centre Hairdressers 3"], manualVariableChanges:"<<set $sceneViewSwitch to 'whitneyShoppingCentre'>><<set $location to 'town'>><<set $bullyEventShopping to 0>>", unlocked: $scenePassages.includes("WhitneyShopping"), }, "WhitneyShoppingCentreClothes":{ name:"Whitney Shopping Centre Clothes", startPassage:"Scene Viewer passages", passages:["Whitney Shopping Centre", "Whitney Shopping Centre Refuse","Whitney Shopping Centre Clothes","Whitney Shopping Centre Clothes 2","Whitney Shopping Centre Clothes 2 Thank","Whitney Shopping Centre Clothes 2 Thank Lewd","Whitney Shopping Centre Clothes 2 Thank Lewd Sex","Whitney Shopping Centre Clothes 2 Thank Lewd Sex Finish","Whitney Shopping Centre Clothes 3"], manualVariableChanges:"<<set $sceneViewSwitch to 'whitneyShoppingCentre'>><<set $location to 'town'>><<set $bullyEventShopping to 1>><<set C.npc.Whitney.lust to 100>><<set $whitneyCrossdressSchool to 0>>", unlocked: $scenePassages.includes("Whitney Shopping Centre Clothes"), }, "WhitneyShoppingCentreCosmetics":{ name:"Whitney Shopping Centre Cosmetics", startPassage:"Scene Viewer passages", passages:["Whitney Shopping Centre", "Whitney Shopping Centre Refuse","Whitney Shopping Centre Cosmetics","Whitney Shopping Centre Cosmetics 2"], manualVariableChanges:"<<set $sceneViewSwitch to 'whitneyShoppingCentre'>><<set $location to 'town'>><<set $bullyEventShopping to 2>>", unlocked: $scenePassages.includes("Whitney Shopping Centre Cosmetics"), }, "WhitneySchoolBullySwimwear":{ name:"Whitney School Bully Swimwear Rule", startPassage:"Scene Viewer passages", passages:["Bully Fight","Bully Fight Finish","Bully Changing Room"], manualVariableChanges:"<<set $sceneViewSwitch to 'schoolBully'>><<set $bullyevent to 11>><<set $whitneyCrossdressSwimwear to 0>><<set $forcedcrossdressingdisable to 'f'>><<set C.npc.Whitney.dom to 18>><<unset $whitneyReunionScene>>", unlocked: $scenePassages.includes("WhitneySchoolBullySkirt"), lockedMessage: $player.sex isnot "m" ? "Male exclusive scene" : "Locked" }, "WhitneyOrphanageVisit":{ name:"Whitney Orphanage Visit", startPassage:"SV Street Bully Orphanage Go", passages:["SV Street Bully Orphanage Go","SV Street Bully Orphanage Go 2","Street Bully Orphanage Go","Street Bully Orphanage Promise","Street Bully Orphanage Refuse","Street Bully Orphanage Bedroom","Street Bully Orphanage Office","Street Bully Orphanage Office 2","Street Bully Orphanage Leave","Street Bully Orphanage Stay","Street Bully Orphanage Wait","Street Bully Orphanage Eavesdrop","Street Bully Orphanage Living","Street Bully Orphanage Close","Street Bully Orphanage Kiss","Street Bully Orphanage Oral","Street Bully Orphanage Sex","Street Bully Orphanage Sex Finish"], manualVariableChanges:"", unlocked: $scenePassages.includes("Street Bully Orphanage Go"), }, "WhitneyOrphanageLoft":{ name:"Whitney Orphanage Loft", startPassage:"Whitney Orphanage Loft 5", passages:["Whitney Orphanage Loft 5","Whitney Orphanage Loft Decline","Whitney Orphanage Loft Pay","Whitney Orphanage Loft Kiss","Whitney Orphanage Loft Pull","Whitney Orphanage Loft Cafe","Whitney Orphanage Loft Cafe Hello","Whitney Orphanage Loft Cafe Shake","Whitney Orphanage Loft Cafe Silent","Whitney Orphanage Loft Cafe 2","Whitney Orphanage Loft Cafe Vegetarian","Whitney Orphanage Loft Cafe 3","Whitney Orphanage Loft Cafe Steal","Whitney Orphanage Loft Cafe 4","Whitney Orphanage Loft Cafe Ask","Whitney Orphanage Loft Cafe Ask 2","Whitney Orphanage Loft Cafe 5","Whitney Orphanage Loft Cafe 6","Whitney Orphanage Loft Ladder","Whitney Orphanage Loft Modest","Whitney Orphanage Loft Flaunt","Whitney Orphanage Loft Flaunt Lewd","Whitney Orphanage Loft Insist","Whitney Orphanage Loft Slap","Whitney Orphanage Loft 7","Whitney Orphanage Loft Flirt","Whitney Orphanage Loft 8","Whitney Orphanage Loft 9","Whitney Orphanage Loft 10","Whitney Orphanage Loft 11","Whitney Orphanage Loft 12","Whitney Orphanage Loft 13"], manualVariableChanges:"<<npc Whitney>><<set $money to 200000>>", unlocked: $scenePassages.includes("WhitneyOrphanageLoft"), }, "RobinCrossdressing1":{ name:"Robin Caught Crossdressing", startPassage:"Robin Caught CD SV Start", passages:["Robin Caught CD SV Start", "Robin Caught CD","Robin CD Encourage","Robin CD Soft Discourage","Robin CD Harsh Discourage"], manualVariableChanges:"", unlocked: $scenePassages.includes("RobinCrossdressing1") }, "RobinCrossdressing2":{ name:"Robin Crossdressing In Room", startPassage:"Robin CD Door SV Start", passages:["Robin CD Door SV Start","Robin CD Door Answer", "Robin CD Door Ignore","Robin CD Door Encourage","Robin CD Door Discourage"], manualVariableChanges:"<<set $NPCName[$NPCNameList.indexOf(\"Robin\")].crossdress to 2>>", unlocked: $scenePassages.includes("RobinCrossdressing2") }, "RobinCrossdressing3":{ name:"Robin Crossdressing In Orphanage", startPassage:"Robin CD Socialise SV Start", passages:["Robin CD Socialise SV Start", "Robin CD Socialise", "Robin CD Socialise Defend", "Robin CD Socialise Change"], manualVariableChanges:"<<set $NPCName[$NPCNameList.indexOf(\"Robin\")].crossdress to 3>><<set Time.setTime(16)>>", unlocked: $scenePassages.includes("RobinCrossdressing3") }, "RobinCrossdressing4":{ name:"Robin Crossdressing At Drink Stand", startPassage:"Robin's Stand CD SV Intro", passages:["Robin's Stand CD SV Intro", "Robin's Stand CD Explain Demo", "Robin's Stand CD Explain Full", "Robin's Stand CD Accept", "Robin's Stand CD Refuse", "Robin's Stand CD Intervene", "Robin's Stand CD Listen", "Robin's Stand CD Wait", "Robin's Stand CD Reassure", "Robin's Stand CD Discourage"], manualVariableChanges:"<<set $NPCName[$NPCNameList.indexOf(\"Robin\")].crossdress to 4>><<set Time.setDate(Time.getNextWeekdayDate(7))>><<set Time.setTime(9, 0)>>", unlocked: $scenePassages.includes("RobinCrossdressing4") }, "RobinCrossdressing5":{ name:"Robin Crossdressing Before School", startPassage:"Robin School CD SV Intro", passages:["Robin School CD SV Intro", "Robin School CD Interrupt", "Robin School CD Compliment","Robin School CD Refuse","Robin School CD Accept","Robin School CD Change","Robin School CD Walk"], manualVariableChanges:"<<set $NPCName[$NPCNameList.indexOf(\"Robin\")].crossdress to 5>><<set Time.setDate(Time.getNextWeekdayDate(1))>><<set Time.setTime(7, 0)>>", unlocked: $scenePassages.includes("RobinCrossdressing5") }, "RobinCrossdressing6":{ name:"Robin Crossdressing In Canteen", startPassage:"Canteen Lunch Robin CD 1", passages:["Canteen Lunch Robin CD 1", "Canteen Lunch Robin CD 2"], manualVariableChanges:"<<set $NPCName[$NPCNameList.indexOf(\"Robin\")].crossdress to 6>><<set Time.setDate(Time.getNextWeekdayDate(1))>><<set Time.setTime(12, 0)>>", unlocked: $scenePassages.includes("RobinCrossdressing6") }, "RobinCrossdressing6I":{ name:"Robin Crossdressing Infirmary Sex", startPassage:"School Infirmary Robin CD Intro", passages:["School Infirmary Robin CD Intro", "School Infirmary Robin CD Kiss", "School Infirmary Robin CD No Sex", "School Infirmary Robin CD Receive Oral", "School Infirmary Robin CD Penetrate", "School Infirmary Robin CD Get Penetrated", "School Infirmary Robin CD Give Oral", "School Infirmary Robin CD Aftercare"], /* TODO: update this when we figure out how much time the above passage is meant to take */ manualVariableChanges:"<<set $NPCName[$NPCNameList.indexOf(\"Robin\")].crossdress to 6>><<set Time.setDate(Time.getNextWeekdayDate(1))>><<set Time.setTime(12, 0)>>", unlocked: $scenePassages.includes("RobinCrossdressing6I") }, "RentFirstRobinFight":{ name:"Rent First Robin Fight", startPassage:"Rent First Robin SV", passages:["Rent Pay","Rent Seduce","Rent Refuse","Rent First Robin Fight","Rent First Robin Fight Finish"], manualVariableChanges:"<<set $robinpaid to 1>><<set $robinromance to 1>><<set $bus to \"home\">><<set $robinfirstrentfight to 0>><<set $baileydefeatedchain to 3>><<unset $baileyReunionScene>><<set $renttime to 0>><<set $robinmissing to 0>><<set $home_gone to 0>>", unlocked: $scenePassages.includes("RentFirstRobinFight") }, "RobinDocks":{ name:"Robin Docks", startPassage:"Docks_Robin", passages:["Docks_Robin","Docks_Robin Get Help","Docks_Robin Get Help 2","Docks_Robin Get Help 3","Docks_Robin Get Help 4","Docks_Robin Swap","Docks_Robin Fight","Docks_Robin Fight Finish","Docks_Robin Rescue","Docks_Robin Leave","Docks_Robin Swap 2","Docks_Robin Comfort","Docks_Robin Ignore"], manualVariableChanges:"", unlocked: $scenePassages.includes("RobinDocks") }, "RobinLandfill":{ name:"Robin Landfill", startPassage:"Robin Mist Intro", passages:["Robin Mist Intro","Robin Mist Fight","Robin Mist Fight Finish","Robin Mist Rescue","Robin Mist Forgive","Robin Mist Silence","Robin Mist Rescue 2","Robin Mist Walk","Robin Mist Abandon"], manualVariableChanges:"", unlocked: $scenePassages.includes("RobinLandfill") }, "RobinPilloryIntro":{ name:"Robin Pillory Intro", startPassage:"Robin Pillory Intro", passages:["Robin Pillory Intro","Robin Pillory Truth","Robin Pillory Evade"], manualVariableChanges:"<<set $robinPillory to {}>>", unlocked: $scenePassages.includes("RobinPillory") }, "RobinPillory":{ name:"Robin Pillory", startPassage:"Robin Pillory Watch", passages:["Robin Pillory Watch","Robin Pillory Failure","Robin Pillory Failure 2","Robin Pillory Failure 3","Robin Pillory Failure Optimism","Robin Pillory Failure Pessimism","Robin Pillory Lockpick","Robin Pillory Distractions","Robin Pillory Speech","Robin Pillory Fruit","Robin Pillory Money","Robin Pillory Crime","Robin Pillory Flower","Robin Pillory Escape","Robin Pillory Escape End","Robin Pillory Escape Sex","Robin Pillory Escape Sex Finish","Robin Pillory Escape Orphanage","Robin Pillory Bath","Robin Pillory Bath Wait","Robin Pillory Finish"], manualVariableChanges:"<<set $robinPillory to {locks: 3, danger: 0, distractions: [], known: true}>><<run Time.setTime(15,0)>><<set C.npc.Robin.virginity.vaginal to true>><<set C.npc.Robin.virginity.anal to true>>", unlocked: $scenePassages.includes("RobinPillory") }, "RobinUndergroundDice":{ name:"Robin Underground Dice", startPassage:"Underground Robin Dice Intro", passages:["Underground Robin Dice Intro","Underground Robin Dice Intro 2","Underground Robin Dice Intro 3","Underground Robin Dice Intro 4","Underground Robin Dice Molestation","Underground Robin Dice Molestation Finish"], manualVariableChanges:"<<set $undergroundbrothel to {}>><<ruined>><<set C.npc.Robin.virginity.vaginal to true>><<set C.npc.Robin.virginity.anal to true>>", unlocked: $scenePassages.includes("RobinUnderground") }, "RobinUndergroundStage":{ name:"Robin Underground Stage", startPassage:"Underground Robin Stage Intro", passages:["Underground Robin Stage Intro","Underground Robin Stage Pig","Underground Robin Stage Pig Finish","Underground Robin Stage Molestation","Underground Robin Stage Molestation Finish"], manualVariableChanges:"<<set $undergroundbrothel to {}>><<ruined>><<set C.npc.Robin.virginity.vaginal to true>><<set C.npc.Robin.virginity.anal to true>>", unlocked: $scenePassages.includes("RobinUnderground") }, "RobinUndergroundMachine":{ name:"Robin Underground Machine", startPassage:"Underground Robin Machine Intro", passages:["Underground Robin Machine Intro","Underground Robin Machine","Underground Robin Machine End"], manualVariableChanges:"<<set $undergroundbrothel to {}>><<ruined>><<set C.npc.Robin.virginity.vaginal to true>><<set C.npc.Robin.virginity.anal to true>>", unlocked: $scenePassages.includes("RobinUnderground") }, "RobinUndergroundKiss":{ name:"Robin Underground Kiss", startPassage:"Underground Robin Kiss Intro", passages:["Underground Robin Kiss Intro","Underground Robin Kiss Molestation","Underground Robin Kiss Molestation Finish"], manualVariableChanges:"<<set $undergroundbrothel to {}>><<ruined>><<set C.npc.Robin.virginity.vaginal to true>><<set C.npc.Robin.virginity.anal to true>>", unlocked: $scenePassages.includes("RobinUnderground") }, "RobinUndergroundHunt":{ name:"Robin Underground Hunt", startPassage:"Underground Robin Hunt Intro", passages:["Underground Robin Hunt Intro","Underground Robin Hunt","Underground Robin Hunt Dog","Underground Robin Hunt Dog Finish","Underground Robin Hunt Molestation","Underground Robin Hunt Molestation Finish"], manualVariableChanges:"<<set $undergroundbrothel to {}>><<ruined>><<set C.npc.Robin.virginity.vaginal to true>><<set C.npc.Robin.virginity.anal to true>>", unlocked: $scenePassages.includes("RobinUnderground") }, "RobinUndergroundEscape":{ name:"Robin Underground Escape", startPassage:"SV undergroundEscapeForestRobin", passages:["SV undergroundEscapeForestRobin","Underground Robin Escape Stalk","Underground Robin Escape Stalk End","Underground Robin Escape Fight","Underground Robin Escape Fight Finish","Underground Robin Escape Swim","Underground Robin Escape Shore","Underground Robin Escape Orphanage","Underground Robin Escape Stay"], manualVariableChanges:"<<set $undergroundbrothel to {}>><<ruined>><<set C.npc.Robin.virginity.vaginal to true>><<set C.npc.Robin.virginity.anal to true>>", unlocked: $scenePassages.includes("RobinUnderground") }, "KylarBasement":{ name:"Kylar Basement", startPassage:"Kylar Basement", passages:["Kylar Basement","Kylar Basement 2","Kylar Basement 3","Kylar Basement Rape","Kylar Basement Rape Finish","Kylar Basement 4","Kylar Basement Protest","Kylar Basement Silent","Kylar Basement Police","Kylar Basement Police Silent","Kylar Basement Police Heroics","Kylar Basement Car"], manualVariableChanges:"<<npcincr Kylar rage 100>>", unlocked: $scenePassages.includes("KylarBasement") }, "KylarAbduction":{ name:"Kylar Abduction", startPassage:"Kylar Abduction Intro", passages:["Kylar Abduction Intro","Kylar Abduction Intro Nod","Kylar Abduction Intro Angry","Kylar Abduction Intro Plead","Kylar Abduction Intro Silent","Kylar Abduction Intro Kiss","Kylar Abduction Intro Turn","Kylar Abduction Intro Bite","Kylar Abduction Intro End","Kylar Abduction","Kylar Abduction Weaken","Kylar Abduction Rest","Kylar Abduction Event Response","Kylar Abduction Rape","Kylar Abduction Rape Finish","Kylar Abduction Rage","Kylar Abduction Stupid","Kylar Abduction Grass","Kylar Abduction Formal","Kylar Abduction Goth","Kylar Abduction Swimsuit","Kylar Abduction Normal","Kylar Abduction Kneel","Kylar Abduction Feet","Kylar Abduction Dance","Kylar Abduction Dance Cool","Kylar Abduction Dance Sophisticated","Kylar Abduction Dance Sensual","Kylar Abduction Dance Sexual","Kylar Abduction Dance Berate","Kylar Abduction Dance Compliment","Kylar Abduction Release","Kylar Abduction Comfort","Kylar Abduction Leave","Kylar Abduction Release 2","Kylar Abduction Release 3","Kylar Abduction Release Investigate","Kylar Abduction Release Investigate 2","Kylar Abduction Release Investigate 3","Kylar Abduction Release Investigate 4","Kylar Abduction Release Investigate 5","Kylar Abduction Release 4","Kylar Abduction Free","Kylar Abduction Free Wait","Kylar Abduction Free Rescue","Kylar Abduction Free Rescue 2","Kylar Abduction Free Rescue 3","Kylar Abduction Free Rescue 4","Kylar Abduction Free Rescue 5","Kylar Abduction Free Rescue Reassure","Kylar Abduction Free Rescue Mock","Kylar Abduction Free Rescue Leave","Kylar Abduction Free Rescue 6","Kylar Abduction Free Rescue Inform","Kylar Abduction Free Rescue Quiet","Kylar Abduction Free Rescue Thank","Kylar Abduction Free Rescue Angry","Kylar Abduction Free Rescue Silent","Kylar Abduction Free Refuse","Kylar Abduction Free Guilt","Kylar Abduction Free Silent","Kylar Abduction Laptop","Kylar Abduction Free Pictures","Kylar Abduction Free Video","Kylar Abduction Free Browser","Kylar Abduction Free Bailey","Kylar Abduction Free Peek","Kylar Abduction Free Corridor","Kylar Abduction Free Flicker","Kylar Abduction Free Flicker Room","Kylar Abduction Free Flicker Room 2","Kylar Abduction Free Water","Kylar Abduction Free Water Room","Kylar Abduction Free Scurry","Kylar Abduction Free Scurry Room","Kylar Abduction Free Cabinet","Kylar Abduction Free Hunt","Kylar Abduction Free Hunt Hide","Kylar Abduction Free Hunt Run","Kylar Abduction Free Breeze","Kylar Abduction Free Stairs","Kylar Abduction Free Sneak","Kylar Abduction Free Investigate","Kylar Abduction Free Investigate 2","Kylar Abduction Free Capture","Kylar Abduction Free Leave","Kylar Abduction Free Reassure","Kylar Abduction Free Mock","Kylar Abduction Free Leave 2","Kylar Abduction Hypnosis Pretend","Kylar Abduction Hypnosis","Kylar Abduction Hypnosis Resist","Kylar Abduction Hypnosis Let", "Kylar Abduction Event End","Kylar Abduction Neck Resist","Kylar Abduction Neck Headbutt","Kylar Abduction Neck Kiss","Kylar Abduction Knife Agree","Kylar Abduction Knife Disagree","Kylar Abduction Knife Whimper","Kylar Abduction Circle Encourage","Kylar Abduction Circle Discourage","Kylar Abduction Circle Nothing","Kylar Abduction Camera Smile","Kylar Abduction Camera Frown","Kylar Abduction Camera Glare","Kylar Abduction Camera Close","Kylar Abduction Food","Kylar Abduction Food Veg","Kylar Abduction Food Veg Suggest","Kylar Abduction Food Veg Bite","Kylar Abduction Food Meat","Kylar Abduction Food Meat Eat","Kylar Abduction Food Meat Refuse","Kylar Abduction Food Fruit","Kylar Abduction Food Nothing","Kylar Abduction Food Kiss","Kylar Abduction Food Spit","Kylar Abduction Food Turn","Kylar Abduction Song Like","Kylar Abduction Song Hate","Kylar Abduction Song Silent","Kylar Abduction Kids Insult","Kylar Abduction Kids Nice","Kylar Abduction Kids Terrible","Kylar Abduction Kids Silent","Kylar Abduction Parents Encourage","Kylar Abduction Parents Silent","Kylar Abduction Draw Agree","Kylar Abduction Draw Refuse","Kylar Abduction Draw Nice","Kylar Abduction Draw Horrible","Kylar Abduction Draw Silent", "Kylar Abduction Stockholm","Kylar Abduction Stockholm 2","Kylar Abduction Stockholm Offer","Kylar Abduction Stockholm Tease","Kylar Abduction Stockholm Silent","Kylar Abduction Stockholm 3","Kylar Abduction Stockholm Dress","Kylar Abduction Stockholm Dress Refuse","Kylar Abduction Stockholm 4","Kylar Abduction Stockholm 5","Kylar Abduction Stockholm 6","Kylar Abduction Stockholm 7","Kylar Abduction Stockholm Tease 2","Kylar Abduction Stockholm Ignore 2","Kylar Abduction Stockholm 8","Kylar Abduction Stockholm Refuse","Kylar Abduction Stockholm Agree","Kylar Abduction Stockholm Leave","Kylar Abduction Stockholm Suggest","Kylar Abduction Stockholm Tell","Kylar Abduction Stockholm Ignore","Kylar Abduction Stockholm Kiss","Kylar Abduction Stockholm End"], manualVariableChanges:"<<set $kylar_camera to 2>><<set $syndromekylar to 0>>", unlocked: $scenePassages.includes("KylarAbduction") }, "KylarManorSleep":{ name:"Kylar Manor Sleep", startPassage:"Manor Sleep Abduction", passages:["Manor Sleep Abduction","Manor Sleep Abduction 2","Manor Sleep Abduction 3","Manor Sleep Abduction 4","Manor Sleep Abduction Reassure","Manor Sleep Abduction Angry","Manor Sleep Abduction Silent","Manor Sleep Abduction 5"], manualVariableChanges:"<<set Time.setTime(20, 0)>><<set $outside to 0>><<location 'kylarmanor'>>", unlocked: $scenePassages.includes("KylarManorSleep") }, "KylarManorSecret":{ name:"Kylar Manor Secret", startPassage:"Manor Kylar Secret", passages:["Manor Kylar Secret","Manor Kylar Secret 2","Manor Kylar Secret 3","Manor Kylar Secret 4","Manor Kylar Secret 5"], manualVariableChanges:"<<set $outside to 0>><<location 'kylarmanor'>><<npc Kylar>><<person1>>", unlocked: $scenePassages.includes("KylarManorSecret") }, "KylarMonstranceAsk":{ name:"Kylar Monstrance Ask", startPassage:"Temple Kylar Monstrance", passages:["Temple Kylar Monstrance","Temple Kylar Monstrance Open","Temple Kylar Monstrance Refuse"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'temple'>><<npc Jordan>><<person1>>", unlocked: $scenePassages.includes("KylarMonstranceAsk") }, "KylarMonstranceAccost":{ name:"Kylar Monstrance Accost", startPassage:"SV Temple Kylar Monstrance", passages:["SV Temple Kylar Monstrance","Street Monstrance Nothing","Street Monstrance Brave","Street Monstrance Scary","Street Monstrance Silent","Street Monstrance 2","Street Monstrance 3","Street Monstrance Angry","Street Monstrance Silent 2"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'temple'>>", unlocked: $scenePassages.includes("KylarMonstranceAccost") }, "EdenIntro":{ name:"Eden Intro", startPassage:"ForestHuntDebug", passages:["ForestHuntDebug","Forest Hunter Molestation","Forest Hunter Molestation Finish","Forest Hunter Intro","Forest Hunter Resist Molestation","Forest Hunter Resist Molestation Finish","Forest Hunter Nod","Forest Hunter Refuse","Forest Hunter Punishment","Forest Hunter Punishment Finish"], manualVariableChanges:"<<set $location to 'forest'>><<set $edenforesthunt to 1>><<unset $hunterintro>><<set $syndromeeden to 0>><<unset $edenCagedEscape>><<unset $edenfreedom>>", unlocked: $scenePassages.includes("EdenIntro") }, "EdenRadioIntro":{ name:"Eden Radio Intro", startPassage:"Eden Radio Intro", passages:["Eden Valentines Bath","Eden Radio Intro 2","Eden Radio Intro 3","Eden Radio Intro 4"], manualVariableChanges:"<<npc Eden>><<person1>>", unlocked: $scenePassages.includes("EdenRadioIntro") }, "EdenValentinesBath":{ name:"Eden Valentines Bath", startPassage:"Eden Valentines Bath", passages:["Eden Valentines Bath","Eden Valentines Bath 2","Eden Valentines Relax","Eden Valentines Wash","Eden Valentines Wash Nod","Eden Valentines Bath 3","Eden Valentines Dance","Eden Valentines Dance 2","Eden Valentines Dance 3","Eden Valentines Book","Eden Valentines Book Refuse","Eden Valentines Read","Eden Valentines Book 2","Eden Valentines Listen","Eden Valentines Distract","Eden Valentines Distract Push","Eden Valentines Push","Eden Valentines Sex","Eden Valentines Sex Finish","Eden Valentines Book 3"], manualVariableChanges:"<<npc Eden>><<person1>>", unlocked: $scenePassages.includes("Eden Valentines Bath") }, "Schism":{ name:"Schism", startPassage:"Schism", passages:["Schism", "Schism 2", "Schism 3", "Schism 4", "Schism Lichen Eat", "Schism Lichen Refuse", "Schism Lichen Refuse 2", "Schism Lichen Refuse 3", "Schism 5", "Schism Gold Give", "Schism Gold Refuse", "Schism 6", "Schism Robes Accept", "Schism Robes Refuse", "Schism Robes Refuse Finish", "Schism 7", "Schism 8", "Schism Continue", "Schism 9", "Schism 10", "Schism Awakening", "Schism Awake", "Schism Battle", "Schism Battle 2", "Schism Battle 3", "Schism Struggle", "Schism Drown", "Schism Drowned", "Schism Necklace", "Schism Ghost", "Schism Wraith", "Schism Wraith 2", "Schism Failure", "Schism End"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'lake_ruin'>>", unlocked: $scenePassages.includes("Schism") }, "Christmas Mirror":{ name:"Christmas Mirror", startPassage:"Christmas Mirror", passages:["Christmas Mirror","Christmas Mirror Leave","Christmas Mirror Watch","Christmas Mirror Reach","Christmas Mirror 2","Christmas Mirror 3","Christmas Mirror 4","Christmas Mirror 5","Christmas Mirror Fall","Christmas Mirror End"], manualVariableChanges:"<<set $location to 'home'>>", unlocked: $scenePassages.includes("Christmas Mirror") }, "TempleSydneyPureRitual":{ name:"Temple Sydney Pure Ritual", startPassage:"SV Sydney Temple Pure", passages:["SV Sydney Temple Pure","Sydney Temple Pure","Sydney Temple Pure 2","Sydney Temple Pure 3","Sydney Temple Pure Eavesdrop","Sydney Temple Pure Eavesdrop 2","Sydney Temple Pure 4","Sydney Temple Pure 5","Sydney Temple Pure 6","Sydney Temple Pure Abuse","Sydney Temple Pure Appearance","Sydney Temple Pure Final","Sydney Temple Pure Fail","Sydney Temple Pure Test","Sydney Temple Pure Test Refuse","Sydney Temple Pure Test Admission","Sydney Temple Pure Pass","Sydney Temple Pure Ritual","Sydney Temple Pure Ritual 2","Sydney Temple Pure Sex","Sydney Temple Pure Sex Finish","Sydney Temple Pure End"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'temple'>><<run Time.setTime(17,0)>>", unlocked: $scenePassages.includes("TempleSydneyPureRitual"), lockedMessage: $scenePassages.includes("TempleSydneyCorrupt") ? "Mutually exclusive scene" : "Locked" }, "TempleSydneyCorrupt":{ name:"Temple Sydney Corrupt", startPassage:"SV Sydney Temple Corrupt", passages:["SV Sydney Temple Corrupt","Sydney Temple Corrupt","Sydney Temple Corrupt Cancel","Sydney Temple Corrupt 2","Sydney Temple Corrupt Lock","Sydney Temple Corrupt Pick","Sydney Temple Corrupt Fight","Sydney Temple Corrupt Fight Finish","Sydney Temple Corrupt Search","Sydney Temple Corrupt 3","Sydney Temple Corrupt 4","Sydney Temple Corrupt Sex","Sydney Temple Corrupt Sex Finish","Sydney Temple Corrupt End","Sydney Temple Corrupt End 2","Sydney Temple Corrupt End 3","Sydney Temple Corrupt End 4","Sydney Temple Corrupt End 5","Sydney Temple Corrupt End 6","Sydney Temple Corrupt End Final"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'temple'>><<run Time.setTime(21,0)>>", unlocked: $scenePassages.includes("TempleSydneyCorrupt"), lockedMessage: $scenePassages.includes("TempleSydneyPureRitual") ? "Mutually exclusive scene" : "Locked" }, "TempleSydneyPunish":{ name:"Temple Sydney Punish", startPassage:"Sydney Temple Punish Intro", passages:["Sydney Temple Punish Intro","Sydney Temple Punish Intro 2","Sydney Temple Punish Intro 3","Sydney Temple Punish Intro 4","Sydney Temple Punish","Sydney Temple Punish Repeat","Sydney Temple Punish Hold","Sydney Temple Punish Belt","Sydney Temple Punish Hit","Sydney Temple Punish Plead","Sydney Temple Punish Close","Sydney Temple Punish Touch","Sydney Temple Punish End"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'temple'>><<set $stress to 0>><<set $arousal to 0>>", unlocked: $scenePassages.includes("TempleSydneyPunish") }, "TempleVigil":{ name:"Temple Vigil", startPassage:"SV Temple Vigil Inquire", passages:["SV Temple Vigil Inquire","Temple Vigil Inquire","Temple Vigil","Temple Vigil 2","Temple Vigil 3","Temple Vigil 4","Temple Vigil Undress","Temple Vigil Undress Refuse","Temple Vigil Undress Refuse 2","Temple Vigil 5","Temple Vigil Abandon","Temple Vigil End","Temple Vigil End 2","Temple Vigil End Sydney","Temple Vigil End Sydney 2","Temple Vigil 6","Temple Vigil 7","Temple Vigil 8","Temple Vigil 9","Temple Vigil 10","Temple Vigil Refuse","Temple Vigil Refuse 2","Temple Vigil 11","Temple Vigil 12","Temple Vigil 13","Temple Vigil Focus","Temple Vigil Yield","Temple Vigil 14","Temple Vigil 15","Temple Vigil 15 Sydney"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'temple'>><<run Time.setDate(Time.getNextWeekdayDate(1))>><<run Time.setTime(20,0)>><<set $grace to 100>>", unlocked: $scenePassages.includes("TempleVigil") }, "TempleConfessorIntro":{ name:"Temple Purge and Confessor Intro", startPassage:"SV Temple Confess Purge", passages:["SV Temple Confess Purge","SV Temple Confess Purge 2","Temple Confess Purge Sex","Temple Confess Purge Sex Finish Corrupt","Temple Confess Inspect","Temple Confess Drain","Temple Confess Stop","Temple Confess Drain End","Temple Confessor Intro","Temple Confessor Intro 2","Temple Confessor Intro 3","Temple Confessor Intro 4","Temple Confessor Intro 5","Temple Confessor Intro Ask","Temple Confessor Intro 6","Temple Confessor Intro 7","Temple Confessor Intro 8"], manualVariableChanges:"<<set $outside to 0>><<set $location to 'temple'>><<unset $temple_confessor_intro>>", unlocked: $scenePassages.includes("TempleConfessorIntro") }, "IslandCastle":{ name:"Island Castle", startPassage:"SV Island Castle Approach", passages:["SV Island Castle Approach","Island Castle Dignified","Island Castle Cute","Island Castle Enter","Island Castle 2","Island Castle 3","Island Castle Stool","Island Castle Stool 2","Island Castle Stool 3","Island Castle Stool 4","Island Castle Run","Island Castle Run 2","Islander","Islander 2","Islander Play","Islander Understand","Islander 3","Islander 4","Islander Walk","Islander Kneel","Islander Spear","Islander End","Islander End 2","Islander End 3","Islander Enforce","Islander End Hide","Islander End Confident","Islander End Hand","Islander Pirate Return","Islander End Swim","Islander End Throw","Islander End Throw 2"], manualVariableChanges:"<<set $outside to 1>><<set $location to 'island'>><<unset $spear_vessel>>", unlocked: $scenePassages.includes("IslandCastle") }, "Pinch":{ name:"Pinch", startPassage: "Olive Book 1", passages:["Olive Book 1", "Olive Book 2", "Olive Book 3", "Olive Book 4", "Olive Book Full", "Olive Book Full 2", "Olive Book Full 3", "Olive Book Full 4", "Olive Book Full 5", "Olive Book Full 6", "Olive Book Full 7", "Olive Book Lew", "Olive Book Lew Molestation", "Olive Book Lew Finish", "Olive Book Full 8", "Olive Book Full 9", "Olive Book Full 10", "Olive Book Full 11", "Olive Book Pinch", "Olive Book Pinch 2", "Olive Book Pinch Gangbang", "Olive Book Pinch Finish", "Olive Book End"], manualVariableChanges:"<<set $oliveExitPassage to 'Bedroom'>>", unlocked: $scenePassages.includes("Pinch") }, "RaulAndJanet":{ name:"Raul and Janet", startPassage: "ScarletBook1", passages:["ScarletBook1", "ScarletBook2", "ScarletBook3", "ScarletBook4", "ScarletBook5", "ScarletBook6", "ScarletBook7aye", "ScarletBook7nay", "ScarletBook7nay_page2", "ScarletBook8aye", "ScarletBook8nay", "ScarletBook9", "ScarletBook10", "Loveth", "Loveth Finish", "Drama", "Drama Finish"], manualVariableChanges:"<<set $scarletExitPassage to 'Bedroom'>><<set $bus to ''>><<set $arousal to ($arousalmax / 5) * 2>>", unlocked: $scenePassages.includes("RaulAndJanet") }, "NightmareEden":{ name:"Nightmare Eden", startPassage:"Nightmare Eden", passages:["Nightmare Eden","Nightmare Eden Wake","Nightmare Eden 2","Nightmare Eden 3","Nightmare Eden Molestation","Nightmare Eden Molestation Finish","Nightmare Eden End","Nightmare Eden Wake 2","Nightmare Eden Console","Nightmare Eden Insist"], manualVariableChanges:"<<set $sleephour to 1>><<set $nightmareExit to 'Eden Cabin Bed'>>", unlocked: $scenePassages.includes("NightmareEden") }, "NightmareWraith":{ name:"Nightmare Wraith", startPassage:"Nightmare Wraith", passages:["Nightmare Wraith","Nightmare Wraith Wake","Nightmare Wraith 2","Nightmare Wraith 3","Nightmare Wraith 4","Nightmare Wraith 5","Nightmare Wraith Rape","Nightmare Wraith Rape Finish","Nightmare Wraith 6","Nightmare Wraith End"], manualVariableChanges:"<<set $sleephour to 1>><<set $nightmareExit to 'Bed'>>", unlocked: $scenePassages.includes("NightmareWraith") }, "NightmareBird":{ name:"Nightmare Bird", startPassage:"Nightmare Bird", passages:["Nightmare Bird","Nightmare Bird Wake","Nightmare Bird 2","Nightmare Bird Rape","Nightmare Bird Rape Finish","Nightmare Bird End"], manualVariableChanges:"<<set $sleephour to 1>><<set $nightmareExit to 'Bird Tower Bed'>>", unlocked: $scenePassages.includes("NightmareBird") }, "NightmareCorruptSydney":{ name:"Nightmare Corrupt Sydney", startPassage:"Nightmare Corrupt Sydney", passages:["Nightmare Corrupt Sydney","Nightmare Corrupt Sydney Wake","Nightmare Corrupt Sydney 2","Nightmare Corrupt Sydney 3","Nightmare Corrupt Sydney 4","Nightmare Corrupt Sydney 5","Nightmare Corrupt Sydney 6","Nightmare Corrupt Sydney 7","Nightmare Corrupt Sydney 8","Nightmare Corrupt Sydney 9","Nightmare Corrupt Sydney 10","Nightmare Corrupt Sydney 11","Nightmare Corrupt Sydney 12","Nightmare Corrupt Sydney Rape","Nightmare Corrupt Sydney Rape Finish","Nightmare Corrupt Sydney Rape Finish 2","Nightmare Corrupt Sydney End"], manualVariableChanges:"<<set $sleephour to 1>><<set $nightmareExit to 'Bed'>>", unlocked: $scenePassages.includes("NightmareCorruptSydney") }, "NightmareHarper":{ name:"Nightmare Harper", startPassage:"Nightmare Harper", passages:["Nightmare Harper","Nightmare Harper Wake","Nightmare Harper 2","Nightmare Harper 3","Nightmare Harper 4","Nightmare Harper 5","Nightmare Harper Machine","Nightmare Harper Machine Finish","Nightmare Harper 6","Nightmare Harper End"], manualVariableChanges:"<<set $sleephour to 1>><<set $nightmareExit to 'Bed'>>", unlocked: $scenePassages.includes("NightmareHarper") }, "HarperHypnosisIntro":{ name:"Harper Hypnosis Intro", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Trance"], manualVariableChanges:"<<unset $harperintro>><<set $hypnosis to 0>>", unlocked: $scenePassages.includes("HarperHypnosisIntro") }, "HarperHypnosisTrance1":{ name:"Harper Hypnosis Trance 1", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Trance","Doctor Harper's Office Camera"], manualVariableChanges:"<<set $harperintro to 1>><<set $hypnosis to 1>><<set $rng to 100>>", unlocked: $scenePassages.includes("HarperHypnosisTrance1") }, "HarperHypnosisTrance2":{ name:"Harper Hypnosis Trance 2", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Trance","Doctor Harper's Office Camera2"], manualVariableChanges:"<<set $harperintro to 1>><<set $hypnosis to 2>><<set $rng to 100>>", unlocked: $scenePassages.includes("HarperHypnosisTrance2") }, "HarperHypnosisTrance3":{ name:"Harper Hypnosis Trance 3", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Trance","Doctor Harper's Office Camera3"], manualVariableChanges:"<<set $harperintro to 1>><<set $hypnosis to 3>><<set $rng to 100>>", unlocked: $scenePassages.includes("HarperHypnosisTrance3") }, "HarperHypnosisTrance4":{ name:"Harper Hypnosis Trance 4", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Trance","Doctor Harper's Office Camera3","Doctor Harper's Office Camera Molestation","Doctor Harper's Office Camera Molestation Finish"], manualVariableChanges:"<<set $harperintro to 1>><<set $hypnosis to 4>><<set $rng to 100>>", unlocked: $scenePassages.includes("HarperHypnosisTrance4") }, "HarperHypnosisExam1":{ name:"Harper Hypnosis Exam 1", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Exam"], manualVariableChanges:"<<set $harperintro to 1>><<set $harperexam to 0>><<set $rng to 0>>", unlocked: $scenePassages.includes("HarperHypnosisExam1") }, "HarperHypnosisExam2":{ name:"Harper Hypnosis Exam 2", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Exam"], manualVariableChanges:"<<set $harperintro to 1>><<set $harperexam to 1>><<set $rng to 0>>", unlocked: $scenePassages.includes("HarperHypnosisExam2") }, "HarperHypnosisExam3":{ name:"Harper Hypnosis Exam 3", startPassage:"Doctor Harper's Office", passages:["Doctor Harper's Office","Doctor Harper's Office Exam"], manualVariableChanges:"<<set $harperintro to 1>><<set $harperexam to 2>><<set $rng to 0>>", unlocked: $scenePassages.includes("HarperHypnosisExam3") }, "MoorFlower":{ name:"Moor Flower", startPassage:"SV Moor Flower", passages:["SV Moor Flower","Moor Flower","Moor Phallus Plant","Moor Flower Masturbation","Moor Flower Masturbation Finish","Moor Phallus Plant Masturbation","Moor Phallus Plant Masturbation Finish","Moor Flower Ignore","Moor Flower Leave","Moor Tentacles","Moor Tentacles Finish"], manualVariableChanges:"<<set $location to 'moor'>>", unlocked: $scenePassages.includes("Moor Flower") or $scenePassages.includes("Moor Phallus Plant") }, "HookahPlot1":{ name:"Hookah Plot 1: Tentacle Forest Door", startPassage:"Tentacle Forest Door", passages:["Tentacle Forest Door","Tentacle Forest Quinn","Tentacle Forest Quinn 2","Tentacle Forest Quinn 3","Tentacle Forest Quinn 4"], manualVariableChanges:"<<set $location to 'tentworld'>><<set $tentacle_forest_time to 30>><<set $tentacle_forest_key to 1>><<set $hookah_plot to 0>>", unlocked: $scenePassages.includes("TentacleForestDoor") }, "HookahPlot2":{ name:"Hookah Plot 2: Town Hall Computer", startPassage:"Town Hall Computer", passages:["Town Hall Computer","Town Hall Computer 2","Town Hall Computer 3","Town Hall Computer 4","Town Hall Computer 5","Town Hall Computer 6","Town Hall Computer 7","Town Hall Computer 8"], manualVariableChanges:"<<set $location to 'town'>>", unlocked: $scenePassages.includes("TownHallComputer") }, "BlackWolfIntro":{ name:"Black Wolf Intro", startPassage:"ForestHuntDebug", passages:["ForestHuntDebug","Forest Wolf Molestation","Forest Wolf Molestation Finish","Forest Wolf Cave Intro","Forest Wolf Molestation Resist","Forest Wolf Molestation Resist Finish","Forest Wolf Cave Rape","Forest Wolf Cave Rape Finish","Forest Wolf Cave Rape End"], manualVariableChanges:"<<set $location to 'forest'>><<set $blackwolfhunt to 1>><<set $syndromewolves to 0>>", unlocked: $scenePassages.includes("BlackWolfIntro") }, "FreeTheBlackDog":{ name:"Free the Black Dog", startPassage:"Pound Free", passages:["Pound Free","Pound Free Reassure","Pound Free Lead","Pound Free 2","Pound Free Distract","Pound Free Run","Pound Free 3","Pound Free 4","Pound Free 5","Pound Free Fight","Pound Free Fight Finish","Pound Free Submit","Pound Free Crawl","Pound Free Stand","Pound Free Refuse","Pound Free 6","Pound Free Rape","Pound Free Rape Finish","Pound Free 7","Pound Free Beast","Pound Free Beast End"], manualVariableChanges:"<<set $location to 'town'>>", unlocked: $scenePassages.includes("FreeTheBlackDog") }, "MickeyOrphanageHacker":{ name:"Mickey Orphanage Hacker", startPassage:"Orphanage Hacker", passages:["Orphanage Hacker","Orphanage Hacker Strip Refuse","Orphanage Hacker Strip","Orphanage Hacker Strip 2","Orphanage Hacker Strip 3","Orphanage Hacker Strip 4"], manualVariableChanges:"<<set $location to 'home'>>", unlocked: $scenePassages.includes("OrphanageHacker") }, "MickeyPubFameIntro":{ name:"Mickey Pub Fame Intro", startPassage:"SV Pub Fame Intro", passages:["SV Pub Fame Intro","Pub Fame Intro","Pub Fame Intro 2","Pub Fame Intro 3","Pub Fame Intro 4"], manualVariableChanges:"<<set $location to 'pub'>><<set $mickeyPub to 2>>", unlocked: $scenePassages.includes("PubFameIntro") }, "PrisonSpirePrecipice":{ name:"Prison Spire Precipice", startPassage:"Scene Viewer passages", passages:["Prison Spire Precipice","Prison Spire Precipice Help","Prison Spire Precipice Demand"], manualVariableChanges:"<<set $sceneViewSwitch to 'prison_spire_options'>><<set $location to 'prison'>><<set $per_npc.anxious_guard.name_known to 0>><<run Time.setTime(13,0)>>", unlocked: $scenePassages.includes("PrisonSpirePrecipice") }, "PrisonYardLocket":{ name:"Prison Yard Locket", startPassage:"Prison Yard Speak", passages:["Prison Yard Speak","Prison Yard Locket"], manualVariableChanges:"<<set $location to 'prison'>><<set $per_npc.veteran_guard.name_known to 0>><<run Time.setTime(13,0)>>", unlocked: $scenePassages.includes("PrisonYardLocket") }, "PrisonScarredInmate":{ name:"Prison Scarred Inmate", startPassage:"SV Prison Scarred", passages:["SV Prison Scarred","Prison Scarred","Prison Scarred Bars","Prison Scarred Bars 2","Prison Scarred Bars Say","Prison Scarred Bars Refuse","Prison Scarred Bars Sob","Prison Scarred Refuse","Prison Scarred Pair","Prison Scarred Pair 2","Prison Scarred Pair Calm","Prison Scarred Pair Spank","Prison Scarred Pair Silent","Prison Scarred Pair Help","Prison Scarred Molestation","Prison Scarred Molestation 2","Prison Scarred Rape","Prison Scarred Rape Finish","Prison Scarred Turn","Prison Scarred Resist","Prison Scarred Fight","Prison Scarred Fight Finish","Prison Scarred Walk","Prison Scarred Walk 2","Prison Scarred Yard","Prison Scarred Yard Warn","Prison Scarred Yard End","Prison Scarred Yard Rape","Prison Scarred Yard Rape Finish","Prison Scarred Inmate Rape","Prison Scarred Inmate Rape Finish","Prison Scarred Inmate Help","Prison Scarred Sex","Prison Scarred Sex Finish","Prison Scarred Ask","Prison Scarred Sibling Refuse","Prison Scarred Sibling Agree","Prison Scarred Sibling 2","Prison Scarred Sibling 3","Prison Scarred Sibling 4","Prison Scarred Sex Refuse"], manualVariableChanges:"<<set $location to 'prison'>><<run Time.setTime(13,0)>>", unlocked: $scenePassages.includes("PrisonScarredInmate") }, }>> <</if>> <</widget>> <<widget "scenesSearch">> <span class="red">Avoid updating your games while you're replaying a scene.<<if $debug isnot 0>> "Teleporting" during a replay will break saves, avoid it if you don't know how to fix saves.<</if>></span> <br> Scenes per page: <<numberslider "$scenesSearch.numberOfItems" $scenesSearch.numberOfItems 4 40 2>> <br> <label>Hide locked: <<checkbox "$scenesSearch.hideLocked" false true autocheck>></label> <br> Search: <<textbox "$scenesSearch.text" $scenesSearch.text>> <br><br> <<run $(() => { $("#numberslider-input-scenessearchnumberofitems, #checkbox-scenessearchhidelocked").on("input change", function (e) { wikifier("<<scenesSearchUpdate>>"); }); $("#textbox-scenessearchtext").on("input keypress", function (e) { V.scenesSearch.text = e.target.value; switch(e.target.value.toLowerCase()) { case "tutorial": V.scenePassages.pushUnique("Tutorial"); V.scenes.Tutorial.unlocked = true; break; case "the farm": V.scenePassages.pushUnique("The Farm"); V.scenes.TheFarm.unlocked = true; break; } wikifier("<<scenesSearchUpdate>>"); }); })>> <</widget>> <<widget "scenesSearchUpdate">> <<set $scenesSearch.text to $scenesSearch.text.replace(/[^a-zA-Z\u4e00-\u9fa5 0-9]+/g,"")>> <<set _listPage to 1>> <<updateSceneViewer>> <</widget>> <<widget "scenesViewerCalc">> <<set _scenes to {}>> <<for _label, _value range $scenes>> <<if $scenesSearch.hideLocked and !_value.unlocked>><<continue>><</if>> <<set _lowerName to clone(_value.name).toLowerCase()>> <<set _lowerPassages to "".concat(_value.startPassage).toLowerCase()>> <<if $scenesSearch.text.length is 0 or ((_value.unlocked or $debug is 1) and (_value.name.toLowerCase().includes($scenesSearch.text.toLowerCase()) or "".concat(_value.startPassage).toLowerCase().includes($scenesSearch.text.toLowerCase())))>> <<run _scenes[_label] to clone(_value)>> <</if>> <</for>> <<set _keys to Object.keys(_scenes)>> <<set _keys to _keys.sort()>> <<set _scenesAvailable to _keys.length gt 0>> <<if _listPage is undefined>> <<set _listPage to 1>> <</if>> <<set _listMaxItems to $scenesSearch.numberOfItems>> <<set _listPageMax to Math.ceil(_keys.length / _listMaxItems)>> <<set _indexStart to ((_listPage - 1) * _listMaxItems)>> <<set _indexEnd to (_indexStart + _listMaxItems gt _keys.length ? _keys.length : _indexStart + _listMaxItems)>> <</widget>> <<widget "scenesViewer">> <<if _scenesAvailable is false>> No Scenes Found. <<exit>> <</if>> <<for _i to _indexStart; _i lt _indexEnd; _i++>> <<set _item to _scenes[_keys[_i]]>> <<if _item.unlocked is false and $debug is 0>> <span class="no-numberify red"> <<print _item.lockedMessage || "Locked">> </span> <<elseif _item.name is undefined or _item.startPassage is undefined or _item.passages is undefined>> <span class="no-numberify red"> Error in key '<<print _keys[_i]>>'. </span> <<else>> <<capture _item>> <span class="no-numberify"> <<link [[_item.name|_item.startPassage]]>><<setupReplayScene _item.name _item.startPassage _item.passages>><<print _item.manualVariableChanges>><</link>> </span> <</capture>> <</if>> <</for>> <</widget>> <<widget "scenesViewerControls">> <<if _scenesAvailable is false>><<exit>><</if>> <<set _disabled = _listPage > 1 ? "" : "disabled">> <div @class="'div-link btn-pagination prev ' + _disabled"> <<link "Previous">> <<if _listPage > 1>> <<set _listPage -= 1>> <<updateSceneViewer>> <</if>> <</link>> <div class="btn-pagination-arrow">&lt;</div> </div> <div> <<print (_listPage) + " out of " + _listPageMax>> </div> <<set _disabled = _listPage < _listPageMax ? "" : "disabled">> <div @class="'div-link btn-pagination next ' + _disabled"> <<link "Next">> <<if _listPage < _listPageMax>> <<set _listPage += 1>> <<updateSceneViewer>> <</if>> <</link>> <div class="btn-pagination-arrow">&gt;</div> </div> <<run linkifyDivs('#scenesViewerControls')>> <</widget>> <<widget "updateSceneViewer">> <<scenesViewerCalc>> <<replace "#scenesViewer">><<scenesViewer>><</replace>> <<replace "#scenesViewerControls">><<scenesViewerControls>><</replace>> <</widget>> <<widget "saveCompareTool">> Stored Variables are lost on page refresh. <div id="saveCompareUI"> <<saveCompareUI>> </div> <</widget>> <<widget "saveCompareUI">> <<link "Store Save1">><<set window.variableData1 to clone(V)>><<replace "#saveCompareUI">><<saveCompareUI>><</replace>><</link>> <<print (window.variableData1 isnot undefined ? "(Stored)" : "")>> <br> <<link "Store Save2">><<set window.variableData2 to clone(V)>><<replace "#saveCompareUI">><<saveCompareUI>><</replace>><</link>> <<print (window.variableData2 isnot undefined ? "(Stored)" : "")>> <br><br> <<if window.variableData1 and window.variableData2>> <<link "Compare Saves">><<set _comparedResult to saveDataCompare(window.variableData1,window.variableData2)>><<replace "#saveCompareUI">><<saveCompareUI>><</replace>><</link>> <</if>> <<if _comparedResult>> <<set _skip to ["map","NPCName","NPCList","saveDetails","lastgenerated","description","npcadult","lastOptions","danger","lock","femaleclimax","anusactiondefault","anusactioncarry","enemyhealthmax","enemyhealth","enemyarousal","mouthactiondefault","enemyanger","npcspeechcycle","mouthactioncarry","rng","pass","speechcycle"]>> <<if Object.keys(_comparedResult).length gt 0>> <div id="comparedResult"> <<for _label, _value range _comparedResult>> <<if _skip.includes(_label)>> <<continue>> <</if>> <div class="item"> <<if typeof _value[0] === 'object'>> <<print _label>> <br><br> <<print JSON.stringify(_value[0])>> <br><br> <<print JSON.stringify(_value[1])>> <<else>> <<print _label>> - <<print _value[0]>> - <<print _value[1]>> <</if>> </div> <</for>> </div> <<else>> Saves Identical <</if>> <</if>> <</widget>> <<widget "freezePlayerStats">> <<if $frozenValues>><<exit>><</if>> /* Should never be run more than once */ <<script>> const skipKeysOnFreeze = ["replayScene", "frozenValues", "statFreeze", "passage", "debug", "debugMenu", "options"]; V.statFreeze = true; V.frozenValues = {}; V.frozenValues.deepMerge(V, (key, value, depth) => { return !(depth === 1 && skipKeysOnFreeze.includes(key)) && typeof value !== "function"; }); <</script>> <</widget>> <<widget "unfreezePlayerStats">> <<if $replayScene>><<exit>><</if>> /* Should never be run when a scene is running */ <<script>> const skipKeysOnFreeze = ["replayScene", "frozenValues", "statFreeze", "passage", "debug", "debugMenu", "options"]; const objectsToHardRestore = ["skin", "worn", "prof", "player", "transformationParts", "sexStats", "hypnosis_traits", "parasite"]; delete V.statFreeze; if (V.frozenValues) { const retainedKeys = Object.fromEntries( Object.entries(V).filter(([key]) => skipKeysOnFreeze.includes(key)) ); const cleanedObjects = Object.fromEntries( Object.entries(V.frozenValues).filter(([key]) => objectsToHardRestore.includes(key)) ); V.deepMerge(V.frozenValues, "strict-replace"); Object.assign(V, cleanedObjects); Object.assign(V, retainedKeys); delete V.frozenValues; Time.set(); } <</script>> <<if $replayScene is undefined>> <<doVersionCheck>> <</if>> <</widget>> <<widget "SVTutorial">> <<givestartclothing>> <<set $worn.over_upper to clone(setup.clothes.over_upper[0])>> <<set $worn.over_lower to clone(setup.clothes.over_lower[0])>> <<set $worn.upper to clone(setup.clothes.upper[0])>> <<set $worn.lower to clone(setup.clothes.lower[0])>> <<exposedcheck>> <</widget>> <<widget "SVSydney">> Sydney Purity: <span id="sydneyPurity">Current Save</span> <br> <<link "Set Pure">> <<set C.npc.Sydney.purity to 100>> <<set C.npc.Sydney.corruption to 0>> <<replace "#sydneyPurity">>Pure<</replace>> <</link>> | <<link "Set Neutral">> <<set C.npc.Sydney.purity to 0>> <<set C.npc.Sydney.corruption to 0>> <<replace "#sydneyPurity">>Neutral<</replace>> <</link>> | <<link "Set Corrupt">> <<set C.npc.Sydney.purity to 0>> <<set C.npc.Sydney.corruption to 100>> <<replace "#sydneyPurity">>Corrupt<</replace>> <</link>> | <br><br> Sydney Lust: <span id="sydneyLust">Current Save</span> <br> <<link "Clear">> <<set C.npc.Sydney.lust to 0>> <<replace "#sydneyLust">>Not Lustful<</replace>> <</link>> | <<link "Set">> <<set C.npc.Sydney.lust to 100>> <<replace "#sydneyLust">>Lustful<</replace>> <</link>> | <br><br> Sydney Romance: <span id="sydneyRomance">Current Save</span> <br> <<link "Clear">> <<set $sydneyromance to 0>> <<replace "#sydneyRomance">>Not romancing<</replace>> <</link>> | <<link "Set">> <<set $sydneyromance to 1>> <<replace "#sydneyRomance">>Romancing<</replace>> <</link>> | <</widget>> <!-- False passages to initiate scene viewer scenes, for cases where starting passages have too many potential roadblocks --><br> You are in the main hall of the orphanage. <<if $christmas is 1 and Time.monthDay is 25 and Time.dayState isnot "night">> The room is alive with festive merriment. <<else>> <<if Time.dayState is "day">> A couple of orphans on cleaning duty sweep the floor. <<elseif Time.dayState is "dusk">> You hear hushed voices. <<elseif Time.dayState is "dawn">> <<if Time.schoolDay>> The orphans are heading off to school. <<else>> The orphans are leaving to find work. <</if>> <<elseif Time.dayState is "night">> The orphans must be asleep. <</if>> <</if>> <br><br> A hand rests on your shoulder from behind. <span class="red">It's Bailey.</span> <br><br> <<if $robinfirstrentfight and ($baileypaychain lt 2 or $renttime lte -1)>> <<rentduerobin 0>> <<else>> <<rentdue 0>> <</if>><<set $outside to 0>><<set $location to "home">><<effects>> <<npc Robin>><<person1>> You go to Robin's room. There's a note on the door. "Please don't enter!" <br><br> <<link [[Enter|Robin Caught CD]]>><</link>> <br> <<link [[Leave|Orphanage]]>><<set $fromRobinRoom to true>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "home">><<effects>> <<set _robin to statusCheck("Robin")>> <<npc Robin>><<person1>> You play a cooperative game with <<him>>. You're about to win the stage when there's a knock on the door. <br><br> Robin, still wearing <<his>> <<if _robin.pronoun is "f">> <<npcClothesText _robin "upper">> and chest binder, <<else>> <<npcClothesText _robin "upper">>, <</if>> flushes deeply. "This looks bad doesn't it?" <br><br> <<link [[Let Robin respond|Robin CD Door Answer]]>><</link>> <br> <<link [[Tell Robin to ignore it|Robin CD Door Ignore]]>><</link>> <br><<set $outside to 0>><<set $location to "home">><<home_effects>><<effects>> You are in the main hall of the orphanage. A couple of orphans on cleaning duty sweep the floor. <br><br> <<npc Robin>> <<generatey2>><<person2>> You see Robin talking with a <<person2>><<person>>. Robin waves you over. <br><br> <<link [[Go over|Robin CD Socialise]]>><</link>> <br> <<link [[Ignore|Orphanage]]>><<endevent>><</link>><<set _uniqueoptions to true>> <<robinroom>> <<if Time.season is "winter">> <<set _stand to "hot chocolate stand">> <<set _inLocation to "in the park">> <<else>> <<set _stand to "lemonade stand">> <<set _inLocation to "on the beach">> <</if>> Robin looks at the clock on the wall and sighs. "I need to get my _stand set up." <<He>> slowly gets up. "I'll get changed, then I'll be _inLocation if you want to see me." <br><br> <<if _robin.lovestage gte 5>> <<link [[Ask what's wrong|Robin's Stand CD Explain Full]]>><<npcincr Robin love 3>><</link>><<gglove>> <<else>> <<link [[Ask what's wrong|Robin's Stand CD Explain Demo]]>><</link>> <</if>> <br> <<if Time.season is "winter">> <<link [[Offer to help set up (0:30)|Robin Chocolate Set]]>><<pass 30>><<npcincr Robin love 1>><</link>><<glove>> <<else>> <<link [[Offer to help set up (0:30)|Robin's Lemonade Set]]>><<pass 30>><<npcincr Robin love 1>><</link>><<glove>> <</if>> <br> <<link [[Leave|Orphanage]]>><<set $fromRobinRoom to true>><<endevent>><</link>> <br><<npc Robin>><<person1>> <<set _robin to statusCheck("Robin")>> You enter Robin's room, <<hes>> standing in front of <<his>> mirror holding a <<print (_robin.pronoun is "m" ? "girl's" : "boy's")>> school uniform in front of <<him>>. <<He>> seems focused on how <<he>> looks and doesn't notice you at first. <br><br> <<if $robinromance is 1>> <<link [[Compliment|Robin School CD Compliment]]>><</link>> <<else>> <<link [[Interrupt|Robin School CD Interrupt]]>><</link>> <</if>> <br> <<link [[Leave|Orphanage]]>><</link>> <br><<set $outside to 1>><<set $location to "town">><<effects>><<set $bus to "wolf">> You are on Wolf Street. The nearby forest bleeds into the town here, particularly where the temple sits. <<if Time.dayState is "day">> <<if Weather.precipitation is "rain">> The trees sway in the wind. <<elseif Weather.isSnow>> The trees sway in the wind, dislodging snow from their branches. <<else>> It's one of the quieter parts of town. <</if>> <<elseif Time.dayState is "dawn">> You hear chanting from within. <<elseif Time.dayState is "dusk">> It strikes a forbidding silhouette against the darkening sky. <<elseif Time.dayState is "night">> It's almost pitch-black. <</if>> <<streeteffects>> <br><br> <<monstrance_accost>><<SVSydney>> <br><br> <<link [[Start|SV Temple Confess Purge 2]]>><</link>> <br>"I name you <span class="red">corrupted</span>." You kneel, positioning yourself against the seal and opening the small metal shutter. "Remove your clothes and stand against the seal of confession. I will take your corruption into myself, and you will be forgiven." <br><br> <<set $attendant to ["corrupt_1","corrupt_2","corrupt_3","corrupt_4","corrupt_5","corrupt_6","corrupt_7","corrupt_8","corrupt_9"].random()>> <<generate1>><<person1>> <<switch $attendant>> <<case "corrupt_1">> <<set _accepted to true>> "Ah... yes! Fill the hole! I understand now! Bless you, <<sister>>!" <<He>> complies. <<case "corrupt_2">> <<set _accepted to true>> "Oh? How unexpected. If you insist, dear <<sister>>." <<He>> complies. <<case "corrupt_3">> <<set _accepted to true>> <<He>> complies. "Will this make God forgive me?" <<case "corrupt_4">> <<set _accepted to true>> "Is this purification? Will this spare me the... the wall? Th-thank you, <<sister>>." <<He>> complies. <<case "corrupt_5">> <<set _accepted to true>> "Finally, someone punctual." <<He>> complies. <<case "corrupt_6">> <<set _accepted to true>> "Right away, <<sister>>. Anything to make this feeling stop. Is... is this going to hurt?" <<case "corrupt_7">> <<set _accepted to true>> <<He>> complies with your request. "This... this feels sinful, but I trust you, <<sister>>." <<case "corrupt_8">> <<set _accepted to true>> <<He>> goes silent for a moment. "Purges. Urges. Purges. Urges." <br><br> <<He>> continues to repeat <<himself>>, but complies with your request. <<case "corrupt_9">> <<set _accepted to true>> "Wonderful! Thank you, <<sister>>." <<He>> complies with your request. <</switch>> <br><br> <<link [[Next|Temple Confess Purge Sex]]>><<set $sexstart to 1>><</link>> <br><<effects>> <<generateRole 0 0 "islander">> <<generateRole 1 0 "islander">> <<person1>> You approach the guards, a <<person>> and <<person2>><<person>>. <span class="green">Your mask conceals your face.</span> They remain motionless, until you're halfway across the bridge. <br><br> "Halt," the <<person1>><<person>> says. "What gives you the right to enter here?" <span class="green">You should be able to respond in their language.</span> <br><br> <<link [[Act dignified|Island Castle Dignified]]>><</link>> <br> <<link [[Act cute|Island Castle Cute]]>><</link>> <br><<if random(1, 2) is 1>> <<set $moorFlower to "flower">> <<else>> <<set $moorFlower to "phallus plant">> <</if>> You smell a sweet fragrance. A pink flower alongside an odd plant grows among the heather. <<if $earSlime.corruption gte 80 and random(1, 4) gte 5 - numberOfEarSlime()>> <span class="red">The ear slimes weaken your ability to resist its allure.</span> <<if numberOfEarSlime() gte 2>> <<set $moorFlowerMod to 400>> <<else>> <<set $moorFlowerMod to 200>> <</if>> <<else>> <<set $moorFlowerMod to 0>> <</if>> <br><br> <<link [[Investigate the flower|Moor Flower]]>><<arousal 600>><<drugs 60>><<set $moorFlower to "flower">><</link>><<garousal>> <br> <<link [[Investigate the odd plant|Moor Phallus Plant]]>><<arousal 600>><<drugs 60>><<set $moorFlower to "phallus plant">><</link>><<garousal>> <br> <<link [[Ignore|Moor Flower Ignore]]>><</link>><<willpowerdifficulty `1 + $moorFlowerMod` `600 + $moorFlowerMod`>> <br><div id="SVTutorial"> <<link "Leaving the Orphanage">> <<replace "#SVTutorial">> <<generate1>><<person1>>As you leave the orphanage you bump into a <<person>> passing by. <<He>> staggers back and looks at you with anger, but <<his>> rage turns to lechery as <<he>> beholds you. "You're the cutest thing I've seen all week! Come 'ere." <br><br> <<link [[Next|Tutorial]]>><<set $molestationstart to 1>><<set $tutorialExit to "Domus Street">><</link>> <</replace>> <</link>> <br> <<link [[Climbing a Fence in just underwear|Garden Fence]]>><<SVTutorial>><</link>> <br> <<link [[Walking to school with Robin|Robin Walk School]]>><</link>> <br> <<link [[Helping Robin with <<nnpc_his "Robin">> lemonade stand|Robin's Lemonade Set Tutorial]]>><<npc Robin>><</link>> <br> <<link [[Helping Robin with <<nnpc_his "Robin">> hot chocolate stand|Robin Chocolate Set Tutorial]]>><<npc Robin>><</link>> <br> <<link [[Waiting it out|Rent Intro]]>><</link>> <br> <<link '"Sleep" walking'>> <<set $molestationstart to 1>> <<replace "#SVTutorial">><<slimeWakeAlleyway>><</replace>> <</link>> <br> </div><<undergroundEscapeForestRobin>><<SVSydney>> <br><br> <<link [[Start|Temple Vigil Inquire]]>><</link>> <br><<SVSydney>> <br><br> <<link [[Start|Dilapidated Shop]]>><</link>> <br><<SVSydney>> <br><br> <<link [[Start|Adult Shop Opening]]>><</link>> <br><<set $pubfame to {seen: [], tasksDone: []}>><<set $fameDecay to {}>><<set $fameDecayTimer to {}>> <<generate1>><<person1>> A hand lands on your shoulder from behind. "You've been busy," a <<person>> says in your ear. You can smell the alcohol on <<his>> breath. "Don't think I don't recognise you. You're the talk of the town. <<if $fame.bestiality gte 400>> Bit surprising not seeing a buncha mutts fucking you raw, though." <<elseif $fame.sex gte 400 or $fame.rape gte 400 or $fame.prostitution gte 400>> Bit surprising not seeing you being fucked raw, though." <<else>> Bit surprising seeing you all covered up, though." <</if>> <<stress 3>><<gstress>> <br><br> <<His>> grip tightens. "I reckon it's time I got my slice of the pie. <<if $fame.prostitution gte 400>>Hope you don't mind that I'm not paying for it.<<elseif $fame.rape gte 400>>You like it rough, right? That's what I've heard.<</if>> Come 'ere, sweetheart." <br><br> <<link [[Next|Pub Fame Intro]]>><</link>><<npc Avery>><<person1>> As you are about to leave the building, you hear a great uproar. Dozens of students are gathering outside as a helicopter descends upon the school precincts. One of the passenger doors swings open. Avery beckons from inside. <br><br> "Come on, get a move on, I haven't got all day! Important business awaits!" <br><br> <<link [[Board helicopter (0:20)|Avery Helicopter]]>><<npcincr Avery love 2>><</link>><<gglove>> <br> <<link [[Walk away|Avery Helicopter Walk]]>><<npcincr Avery love -1>><<npcincr Avery rage 5>><</link>><<garage>><<llove>>Whitney Meets Bailey First Time: <span id="baileyMeet">False</span> <br> <<link "Clear">> <<set $whitney_bailey_met to 0>> <<replace "#baileyMeet">>False<</replace>> <<run Time.setTime(17,0)>> <<replace "#timeOfDay">>Day<</replace>> <</link>> | <<link "Set">> <<set $whitney_bailey_met to 1>> <<replace "#baileyMeet">>True<</replace>> <<run Time.setTime(17,0)>> <<replace "#timeOfDay">>Day<</replace>> <</link>> | <br><br> Time of day: <span id="timeOfDay">Current Save</span> <br> <<link "Day">> <<run Time.setTime(17,0)>> <<replace "#timeOfDay">>Day<</replace>> <</link>> | <<link "Night">> <<run Time.setTime(22,0)>> <<replace "#timeOfDay">>Night<</replace>> <</link>> | <br><br> <<link [[Start|SV Street Bully Orphanage Go 2]]>><</link>> <br><<npc Whitney>><<person1>> "Just the slut I was looking for," <<he>> says. "Come on. I'm visiting your home. The orphanage." <<He>> flicks a fresh cigarette butt into the gutter, and takes your arm in <<his>> own. <br><br> <<link [[Make Whitney promise to be nice to the other residents (0:25)|Street Bully Orphanage Promise]]>><<pass 25>><</link>> <br> <<link [[Go to the orphanage (0:25)|Street Bully Orphanage Go]]>><<npcincr Whitney love 1>><<pass 25>><</link>><<glove>> <br> <<link [[Refuse|Street Bully Orphanage Refuse]]>><<npcincr Whitney love -3>><</link>><<lllove>> <br>Player Purity: <span id="playerPurity">Current Save</span> <br> <<link "High">> <<set $purity to 999>> <<replace "#playerPurity">>High<</replace>> <</link>> | <<link "Mid">> <<set $purity to 950>> <<replace "#playerPurity">>Mid<</replace>> <</link>> | <<link "Low">> <<set $purity to 450>> <<replace "#playerPurity">>Low<</replace>> <</link>> | <br><br> Player Grace: <span id="playerGrace">Current Save</span> <br> <<link "High">> <<set $grace to 100>> <<replace "#playerGrace">>High<</replace>> <</link>> | <<link "Mid">> <<set $grace to 50>> <<replace "#playerGrace">>Mid<</replace>> <</link>> | <<link "Low">> <<set $grace to 1>> <<replace "#playerGrace">>Low<</replace>> <</link>> | <<link "None">> <<set $grace to 0>> <<replace "#playerGrace">>None<</replace>> <</link>> | <br><br> Evaluation already taken: <span id="evaluation">Current Save</span> <br> <<link "No">> <<run $sydneySeen.delete("evaluation")>> <<replace "#evaluation">>No<</replace>> <</link>> | <<link "Yes">> <<run $sydneySeen.pushUnique("evaluation")>> <<replace "#evaluation">>Yes<</replace>> <</link>> | <br><br> Sydney is Pure: <span id="sydneyPurity">Current Save</span> <br> <<link "Yes">> <<set C.npc.Sydney.purity to 100>> <<replace "#sydneyPurity">>Yes<</replace>> <</link>> | <<link "Lost some">> <<set C.npc.Sydney.purity to 80>> <<replace "#sydneyPurity">>Lost some<</replace>> <</link>> | <<link "Not enough">> <<set C.npc.Sydney.purity to 0>> <<replace "#sydneyPurity">>Not enough<</replace>> <</link>> | <br><br>First met Sydney at: <span id="sydneyMet">Current Save</span> <br> <<link "Mass">> <<set $sydneyFirstSeen to "mass">> <<run $sydneySeen.pushUnique("mass")>> <<replace "#sydneyMet">>Mass<</replace>> <</link>> | <<link "Library">> <<set $sydneyFirstSeen to "library">> <<run $sydneySeen.pushUnique("library")>> <<replace "#sydneyMet">>Library<</replace>> <</link>> | <<link "Library rescue">> <<set $sydneyFirstSeen to "libRescue">> <<run $sydneySeen.pushUnique("libRescue")>> <<replace "#sydneyMet">>Library rescue<</replace>> <</link>> | <<link "Science class">> <<set $sydneyFirstSeen to "science">> <<run $sydneySeen.pushUnique("science")>> <<replace "#sydneyMet">>Science class<</replace>> <</link>> | <<link "Sirris' Shop">> <<set $sydneyFirstSeen to "shop">> <<run $sydneySeen.pushUnique("shop")>> <<replace "#sydneyMet">>shop<</replace>> <</link>> | <<link "Trial of Anguish">> <<set $sydneyFirstSeen to "anguish">> <<run $sydneySeen.pushUnique("anguish")>> <<replace "#sydneyMet">>anguish<</replace>> <</link>> | <br><br> <<link [[Start|Sydney Temple Pure]]>><<npc Sydney>><</link>> <br><<npc "Sydney">><<person1>> Sydney takes a deep breath. "I'm ready." <<He>> begins to count the number of <<monks>> around. "Perfect. We should have an opening in a minute. I'll go first, follow me in about two minutes." <<He>> begins giving you a list of directions and subtle details to look out for in the temple's back halls. <br><br> <<He>> starts to get up, but stops <<himself>> and turns back to you. "Are you absolutely sure you're ready? Broken vows are taken very seriously here, and if we get caught..." <br><br> <<link [[Yes (0:02)|Sydney Temple Corrupt 2]]>><<pass 2>><</link>> <br> <<link [[No|Sydney Temple Corrupt Cancel]]>><</link>> <br><br><br>Stage: <span id="stage">Name Learned</span> <br> <<link "1st Event">> <<set $per_npc.scarred_inmate.name_known to 0>> <<set $prison.scarred to 0>> <<set $prison.scarred_level to 0>> <<replace "#stage">>1st Event<</replace>> <</link>> | <<link "2nd Event">> <<set $per_npc.scarred_inmate.name_known to 0>> <<set $prison.scarred to 0>> <<set $prison.scarred_level to 1>> <<replace "#stage">>2nd Event<</replace>> <</link>> | <<link "3rd Event">> <<set $per_npc.scarred_inmate.name_known to 0>> <<set $prison.scarred to 0>> <<set $prison.scarred_level to 2>> <<replace "#stage">>3rd Event<</replace>> <</link>> | <<link "4th Event">> <<set $per_npc.scarred_inmate.name_known to 0>> <<set $prison.scarred to 0>> <<set $prison.scarred_level to 3>> <<replace "#stage">>4th Event<</replace>> <</link>> | <<link "5th Event">> <<set $per_npc.scarred_inmate.name_known to 0>> <<set $prison.scarred to 0>> <<set $prison.scarred_level to 5>> <<replace "#stage">>5th Event<</replace>> <</link>> | <<link "Name Learned">> <<set $per_npc.scarred_inmate.name_known to 0>> <<replace "#stage">>Name Learned<</replace>> <</link>> | <br><br> <<link [[Start|Prison Scarred]]>><</link>> <br><<set $outside to 0>><<set $location to "school">><<schooleffects>><<effects>> <!-- Generate Demon --> <<generateDemon 1>><<person1>> You investigate the noise coming from the school's hallway. Suddenly, with a HERMMMMM-POP a portal swirls open in front out you. From the portal <span class="blue">a <<person>> strides out,</span> <<his>> red eyes never leaving contact with yours. <br><br> The <<person>> opens <<his>> mouth and roars hotly. <span class="red">Your clothes are shredded to nothing in a blast of heat and wind as you wince from the impact,</span> your skin glowing hotly. <<set Skin.color.tan to 100>> <br> <<set $worn.lower.integrity to 0>><<set $worn.upper.integrity to 0>><<set $worn.under_lower.integrity to 0>><<set $worn.under_upper.integrity to 0>> <<headruined>><<legsruined>><<feetruined>> <<integritycheck>> <br> You look up, feeling a combination of awe and terror. The <<persons>> $NPCList[0].breastsdesc are standing straight out in defiance of gravity, <<his>> $NPCList[0].penisdesc dangling semi-engorged over <<his>> vagina... while the <<person>> is standing in front of you, everything shifts about lazily, as if you were looking at painting being swirled. <br><br> The <<person>> speaks in a commanding voice breaking your reverie, "Serve me well mortal and you shall be rewarded." <br><br> You consider your options... <br><br> <<link [[Run away screaming|Oxford Street]]>><</link>> <br> <<link [[Stay and see what happens...|Demon Sex]]>><<set $sexstart to 1>><</link>> <br><<effects>><<person1>> <<if $sexstart is 1>> <span class="pink">Prepare yourself, mortal.</span> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<violence 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 500>> <<set $enemyarousalmax to 10000>> <<set $ostart to $orgasmcount>><<set $oindex to 0>><<set $o to 0>> <</if>> /% DEBUG: $NPCList[0].penis $NPCList[0].vagina<br> %/ /% DEBUG: ocount $orgasmcount $o $oindex $ostart <br> %/ <<set $o to ($orgasmcount - $ostart)>> <<if $o gt $oindex>> You have cum $o times. <span class="purple">The <<person>> grows in power as <<he>> drains you. <<awareness -10>><<llawareness>></span> <br> <<set $oindex to $o>> <</if>> <<set $enemyanger to 0>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if $enemyhealth lte 0>> <span id="next"><<link [[Next|Demon Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Demon Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Demon Sex]]>><</link>></span><<nexttext>> <</if>><<schooleffects>><<effects>> <<unset $o>><<unset $ostart>><<unset $oindex>> <<person1>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation-demon>> You wake on a grassy field, refreshed but drenched in semen and goo... the <<person>> is gone, <span class="blue">leaving you with a deep sense of longing you can't shake or understand.</span> <br><br> <<set $tiredness to 1>> <<set $pain to 0>> <<drench "semen" "slime" 5>> <<clotheson>> <<endcombat>> <<link [[Next|Park]]>><</link>> <<else>> <<He>> recoils and vanishes. You are left with a deep sense of longing you can't shake or understand. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Hallways]]>><</link>> <</if>><<widget "ejaculation-demon">> <<famesex 1>> <<if $exposed is 1>> <<fameexhibitionism 1>> <<elseif $exposed gte 2>> <<fameexhibitionism 2>> <</if>> You pass out from exertion, completely spent, <span class="blue">while the <<person>> roars and continues to work away on your limp body.</span> <<animateCombat>> <</widget>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<generate1>><<generate2>><<generate3>><<generate4>><<generate5>><<generate6>><<person1>> You feel the room shake, then shift sideways. You find yourself in a featureless black room with a gang of $enemyno and an audience behind ropes. There is a sign on the wall that says <span class="orange">DEBUG</span> in bright orange letters, along with other statistics you don't understand. <br><br> <span class="red">The gang advances...</span> <br><br> <<controlloss>> <br> <<violence 1>> <<neutral 1>> <<maninit>> <</if>> <span class="orange">DEBUG GROUP:</span> <span class="red">TRST: $enemytrust HLTH: <<print Math.trunc($enemyhealth)>> : $enemyhealthmax AROSL: <<print Math.trunc($enemyarousal)>> : $enemyarousalmax ANGR: $enemyanger : $enemyangermax </span> <br> <span class="orange">DEBUG BROTHEL EVENT:</span> Enemy current of $enemynomax (1 - 6): $enemyno <br> <span class="green">DEBUG: Enemy #: Health Descr Gen Pro PP Vag Mouth LH RH Clothes</span> <br> <<for _ii = 0; _ii < $enemynomax; _ii++>> DEBUG: _ii: <<print Math.trunc($NPCList[_ii].health)>> $NPCList[_ii].description $NPCList[_ii].gender $NPCList[_ii].pronoun $NPCList[_ii].penis $NPCList[_ii].vagina $NPCList[_ii].mouth $NPCList[_ii].lefthand $NPCList[_ii].righthand $NPCList[_ii].clothes.upper.name $NPCList[_ii].clothes.lower.name <br> <</for>> DEBUG PC (P/V/A/M/LARM): $penisstate $vaginastate $anusstate $mouthstate $leftarm <br><br> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<audience>> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1>> <<if $rescue is 0>> <<set $alarm to 0>> <<if ($enemyarousal gte $enemyarousalmax) or ($enemyhealth lte 0)>> <span id="next"><<link [[Next|The Pod Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|The Pod]]>><</link>></span><<nexttext>> <</if>> <</if>> <<elseif ($enemyarousal gte $enemyarousalmax) or ($enemyhealth lte 0)>> <span id="next"><<link [[Next|The Pod Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|The Pod]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> <<He>> recoils in pain, giving you the chance you need. <<tearful>> you escape the gang, leaving them defeated on the floor. <br> You feel the room shift again, and find yourself in your bedroom. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Bedroom]]>><</link>> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $audience is 1>> A cheer erupts from the crowd as the <<person1>><<person>> climaxes. <<tearful>> you manage to stagger away before anyone else gets ideas. <<elseif $audience lte 6>> The <<person1>><<person>> and <<person2>><<person>> high-five each other. <<tearful>> you manage to stagger away while the audience congratulates each other. <<else>> A cheer erupts from the crowd, seems they enjoyed the show. <<tearful>> you manage to stagger away before anyone else gets any ideas. <</if>> <br><br> <<stealclothes>> <<clotheson>> <<endcombat>> You feel the room shift again, and find yourself in your bedroom. <br><br> <<link [[Next|Bedroom]]>><</link>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<generateBEAST 1 dog>> <<generateBEAST 2 pig>> <<generateBEAST 3 cat>> <<generateBEAST 4 fox>> <<generateBEAST 5 lizard>> <<generateBEAST 6 creature>> <<beastTrainGenerate>> You stumble from the woods onto the verge of a steep cliff. Losing your balance <span class="red">you tip over the edge, tumbling to the bottom.</span> <br><br> When you recover, you find yourself in the main yard of a small farm. You are stunned to see several animals dancing around you... singing... <br><br> <span class="green">Old McDonald's rape-y farm <br> E-I-E-I-O <br> And on this farm we found a whore <br> E-I-E-I-O</span> <br><br> <span class="red">They stop singing and advance on you</span> <br> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<if $replayScene is undefined>> DEBUG BEAST EVENT: Enemy current of $enemynomax (1 - 6): $enemyno <br> <span class="green">DEBUG: Enemy #: Gen Pro Type Monster Stance PP Vag</span> <br> <<for _ii = 0; _ii < $enemynomax; _ii++>> DEBUG: _ii: $NPCList[_ii].gender $NPCList[_ii].pronoun $NPCList[_ii].type $NPCList[_ii].monster $NPCList[_ii].stance $NPCList[_ii].penis $NPCList[_ii].vagina <br> <</for>> <br><br> <</if>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|The Farm Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|The Farm]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> <<beastwound>> <<if $combatTrain.length gt 0>> The $NPCList[0].type recoils in pain and fear, but another beast is eager for a go. <<combatTrainAdvance>> <br><br> <<link [[Next|The Farm]]>><</link>> <<else>> The $NPCList[_na].type recoils in pain and fear. <br><br> <<link [[Next|The Farm Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the $NPCList[0].type moves and another beast takes its turn. <<combatTrainAdvance>> <br><br> <<link [[Next|The Farm]]>><</link>> <<else>> Satisfied, the $NPCList[0].type moves away from you. <br><br> <<link [[Next|The Farm Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $finish is 1>> <<if $enemywounded is 1 and $enemyejaculated is 0>> The $NPCList[_na].type whimpers and flees into a barn. <<elseif $enemywounded is 0 and $enemyejaculated is 1>> The $NPCList[_na].type leaves you lying on the grass. <<elseif $enemywounded gte 2 and $enemyejaculated is 0>> Feeling that you're more trouble than you're worth, the animals flee to a nearby barn. <<elseif $enemywounded is 0 and $enemyejaculated gte 2>> The animals leave you spent and shivering on the grass. <<elseif $enemywounded gte 1 and $enemyejaculated gte 1>> The animals leave you spent and shivering on the grass. <</if>> <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> Out of nowhere a goat runs from the shed. Rearing back, <span class="green">it kicks you all the way to Domus Street and through your bedroom window.</span> <br> <<link [[Next|Bedroom]]>><</link>> <</if>><!-- Used to debug Beast generation by displaying all attributes. --> <span class="red">TOTAL BEAST TYPES: $BeastList.length</span> <br> <<for _i = 0; _i lt $BeastList.length; _i++>> /% <<generateBEAST 1 $BeastList[_i]>><!-- This can call all m/f if specified --> %/ <<beastNEWinit 1 $BeastList[_i]>> <br> Introducing Beast <<print _i>>: <span class="green">$NPCList[0].description $NPCList[0].type</span> <br> PRONOUN: <span class="red">$NPCList[0].pronoun</span> GENDER: <span class="red">$NPCList[0].gender</span> <br> PPSize,Desc: <span class="gold">$NPCList[0].penissize, $NPCList[0].penisdesc</span> BREASTSize,Desc: <span class="gold">$NPCList[0].breastsize, $NPCList[0].breastsdesc</span> <br> PenActiv: <span class="gold">$NPCList[0].penis</span> VagActiv: <span class="gold">$NPCList[0].vagina</span> <br> /% DOM: $NPCList[0].dom LUST $NPCList[0].lust RAGE: $NPCList[0].rage TRAUMA $NPCList[0].trauma<br> %/ /% STATE: $NPCList[0].state<br> %/ <</for>> <<link [[Next|Bedroom]]>><</link>><!-- Used to debug Beast Train --> <<beastNEWinit 6 dolphin>> <span class="red">BEAST TRAIN: $enemyno members</span> <br> <<for _x = $enemyno-1; _x gte 0; _x-->> Introducing Beast <<print _x+1>>: <span class="green">$NPCList[_x].description $NPCList[_x].type</span> <br> PRONOUN: <span class="red">$NPCList[_x].pronoun</span> GENDER: <span class="red">$NPCList[_x].gender</span> <br> PPSize,Desc: <span class="gold">$NPCList[_x].penissize, $NPCList[_x].penisdesc</span> BREASTSize,Desc: <span class="gold">$NPCList[_x].breastsize, $NPCList[_x].breastsdesc</span> <br> PenActiv: <span class="gold">$NPCList[_x].penis</span> VagActiv: <span class="gold">$NPCList[_x].vagina</span> <br><br> <</for>> <<link [[Next|Bedroom]]>><</link>><!-- Used to debug Named NPCs by displaying all attributes. --> <span class="red">TOTAL NAMED NPCS: $NPCName.length</span> <br> <!-- Example of introduction, variable set / increment, and put away of npc --> /% <<npc Robin>> %/ /% In walks $npc[0], and takes a bow. <<He>> has more Trauma now. And out <<he>> goes.<br> %/ /% <<npcset $npc[0] trauma 80>> %/ /% <<npcincr $npc[0] trauma 100>> %/ /% <<endnpc>> %/ <<set _genderColor to {"m": "blue", "h": "purple", "f": "pink"}>> <<for _i = 0; _i lt $NPCName.length; _i++>> <<set _nnpc to $NPCName[_i]>> <<set _nnpc_init_backup to _nnpc.init>> <<npc _nnpc.nam>> <<set _listnpc to $NPCList[0]>> <br> NNPC #<<print _i>>: <span class="green">_nnpc.nam, the _nnpc.title</span> <br> <<set _pColor to _genderColor[_nnpc.pronoun]>> <<set _gColor to _genderColor[_nnpc.gender]>> PRONOUN: <span @class="_pColor"><<print _nnpc.pronoun.toUpperCase()>></span> | GENDER: <span @class="_gColor"><<print _nnpc.gender.toUpperCase()>></span> <br> Penis Size: <span class="gold">_nnpc.penissize</span>, Desc: <span class="gold">_nnpc.penisdesc</span>, State: <span @class="_nnpc.penis is 'none' ? 'red' : 'gold'">_nnpc.penis</span> <br> Breast Size: <span class="gold">_nnpc.breastsize</span>, Desc: <span class="gold">_nnpc.breastsdesc</span> <br> TYPE: <span class="blue"><<if _nnpc.adult>>Adult<<elseif _nnpc.teen>>Teen<<else>>???<</if>></span> | INSECURITY: <span class="red">_nnpc.insecurity</span> <br> TRUST: <span class="gold">_nnpc.trust</span> | LOVE: <span class="gold">_nnpc.love</span> | DOM: <span class="gold">_nnpc.dom</span> | LUST: <span class="gold">_nnpc.lust</span> | RAGE: <span class="gold">_nnpc.rage</span> | TRAUMA: <span class="gold">_nnpc.trauma</span> <br> STATE: _nnpc.state <br> CLOTHES: <span class="teal">_nnpc.clothes.set</span> <br> Upper: <span class="teal">_nnpc.clothes.upper.name</span> | Lower: <span class="teal">_nnpc.clothes.lower.name</span> <br> Outfits: [<<print '<span class="teal">'+_nnpc.outfits.join('</span>, <span class="teal">')+"</span>">>] <br> You have <<if _nnpc_init_backup isnot 1>><span class="red">not</span><</if>> been introduced to <<him>>. <br> <<endnpc _nnpc.nam>> <<set _nnpc.init to _nnpc_init_backup>> <hr> <</for>> <<link [[Next|Bedroom]]>><</link>><!-- Keeping this only as an example on how to use Widget as Event for debug --> <<residentialex2>> <<link [[Next|Domus Street]]>><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<abomination>> You awaken to find yourself being assaulted by a strange beast! <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1>> <<if $rescue is 1>> <span id="next"><<link [[Next|Abomination Old]]>><</link>></span><<nexttext>> <<else>> <<set $alarm to 0>> <<if $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Abomination Old]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Abomination Old]]>><</link>></span><<nexttext>> <</if>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Abomination Old]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[Next|Abomination Old]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Abomination Old]]>><</link>></span><<nexttext>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<molested>> <<controlloss>> <<set $combat to 1>> <</if>> <<underwater>><<effects>><<swarmeffects>> <<swarm>> <<swarmactions>> <<if $stress gte $stressmax>> <span id="next"><<link [[Next|Swarm Test]]>><</link>></span><<nexttext>> <<elseif $swimdistance lte 0>> <span id="next"><<link [[Next|Swarm Test]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Swarm Test]]>><</link>></span><<nexttext>> <</if>><<location "sea">><<effects>> <<if $molestationstart is 1>><<set $molestationstart to 0>> <<set $combat to 1>> <<molested>> <<controlloss>> <<set $enemytype to "tentacles">> <<tentaclestart 6 15>> <<set $vorestage to 1>> <<set $vorecreature to "whale">> <<set $vorestrength to 1>><<set $position to "doggy">> <<if $hallucinations gte 1>> <<set $voretentacles to 1>> <<else>> <<set $voretentacles to 0>> <</if>> <<swarminit "fish" "swarm" "moving towards you" "encircle you" "fend off" 1 9>> <<set $swimdistance to 20>> <<set $water to 1>> <<resetLastOptions>> <<getCombatDefaultsType>> <</if>> <<voreeffects>><<swarmeffects>><<effectstentacles>> <<vore>><<swarm>><<tentacles>> <<statetentacles>> <<actionsOmni>> <<if $stress gte $stressmax>> <span id="next"><<link [[Next|Monster Test]]>><</link>></span><<nexttext>> <<elseif $vorestage lte 0>> <span id="next"><<link [[Next|Monster Test]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Monster Test]]>><</link>></span><<nexttext>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<generate1>><<generate2>><<maninit>> <<set $NPCList[0].penis to "vagina">><<set $vaginause to "penis">><<set $vaginastate to "penetrated">><<set $vaginatarget to 0>> <<set $NPCList[1].penis to "anus">><<set $anususe to "penis">><<set $anusstate to "penetrated">><<set $anustarget to 1>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1>> <<if $rescue is 1>> <span id="next"><<link [[Next|DP Test]]>><</link>></span><<nexttext>> <<else>> <<set $alarm to 0>> <<if $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Molestation Ejaculation]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[Next|Molestation Escape]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|DP Test]]>><</link>></span><<nexttext>> <</if>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Molestation Ejaculation]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[Next|Molestation Escape]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|DP Test]]>><</link>></span><<nexttext>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastNEWinit 1 dog>> <<beastCombatInit>> <<beastTrainGenerate>> You awaken to find yourself surrounded by a pack of stray dogs! <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1>> <<set $alarm to 0>> <<if $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Wolf Pack Ejaculation]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[Next|Wolf Pack Escape]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Pack]]>><</link>></span><<nexttext>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Wolf Pack Ejaculation]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[Next|Wolf Pack Escape]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Pack]]>><</link>></span><<nexttext>> <</if>><<effects>> <<beastwound>> <<if $combatTrain.length gt 0>> The beast recoils in pain and fear, but another takes its place. <<beastNEWinit $combatTrain.numberPerTrain[0] $combatTrain.beastTypes[0]>> <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Pack]]>><</link>> <<else>> The beast recoils in pain and fear. <br><br> <<link [[Next|Wolf Pack End]]>><</link>> <</if>><<effects>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the beast leaves you be. Another takes its place. <<beastNEWinit $combatTrain.numberPerTrain[0] $combatTrain.beastTypes[0]>> <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Pack]]>><</link>> <<else>> Satisfied, the beast leaves you be. <br><br> <<link [[Next|Wolf Pack End]]>><</link>> <</if>><<effects>> <<if $enemywounded is 1 and $enemyejaculated is 0>> The wolf whimpers and flees into the forest. <<elseif $enemywounded is 0 and $enemyejaculated is 1>> The wolf leaves you lying on the grass. <<elseif $enemywounded gte 2 and $enemyejaculated is 0>> Feeling that you're more trouble than you're worth, the wolves flee into the forest. <<elseif $enemywounded is 0 and $enemyejaculated gte 2>> The wolves leave you spent and shivering on the grass. <<elseif $enemywounded gte 1 and $enemyejaculated gte 1>> The wolves leave you spent and shivering on the grass. One seems to be limping. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[It was just a dream|Bedroom]]>><</link>>Add the NPCs you want.<br> <<if $enemyno lt 6>> <<if !($npc.includes("Alex"))>> <<link [[Add Alex|$passage]]>><<npc Alex -1>><</link>><br> <</if>> <<if !($npc.includes("Avery"))>> <<link [[Add Avery|$passage]]>><<npc Avery -1>><</link>><br> <</if>> <<if !($npc.includes("Bailey"))>> <<link [[Add Bailey|$passage]]>><<npc Bailey -1>><</link>><br> <</if>> <<if !($npc.includes("Briar"))>> <<link [[Add Briar|$passage]]>><<npc Briar -1>><</link>><br> <</if>> <<if !($npc.includes("Charlie"))>> <<link [[Add Charlie|$passage]]>><<npc Charlie -1>><</link>><br> <</if>> <<if !($npc.includes("Darryl"))>> <<link [[Add Darryl|$passage]]>><<npc Darryl -1>><</link>><br> <</if>> <<if !($npc.includes("Doren"))>> <<link [[Add Doren|$passage]]>><<npc Doren -1>><</link>><br> <</if>> <<if !($npc.includes("Eden"))>> <<link [[Add Eden|$passage]]>><<npc Eden -1>><</link>><br> <</if>> <<if !($npc.includes("Gwylan"))>> <<link [[Add Gwylan|$passage]]>><<npc Gwylan -1>><</link>><br> <</if>> <<if !($npc.includes("Harper"))>> <<link [[Add Harper|$passage]]>><<npc Harper -1>><</link>><br> <</if>> <<if !($npc.includes("Jordan"))>> <<link [[Add Jordan|$passage]]>><<npc Jordan -1>><</link>><br> <</if>> <<if !($npc.includes("Kylar"))>> <<link [[Add Kylar|$passage]]>><<npc Kylar -1>><</link>><br> <</if>> <<if !($npc.includes("Landry"))>> <<link [[Add Landry|$passage]]>><<npc Landry -1>><</link>><br> <</if>> <<if !($npc.includes("Leighton"))>> <<link [[Add Leighton|$passage]]>><<npc Leighton -1>><</link>><br> <</if>> <<if !($npc.includes("Mason"))>> <<link [[Add Mason|$passage]]>><<npc Mason -1>><</link>><br> <</if>> <<if !($npc.includes("Morgan"))>> <<link [[Add Morgan|$passage]]>><<npc Morgan -1>><</link>><br> <</if>> <<if !($npc.includes("Niki"))>> <<link [[Add Niki|$passage]]>><<npc Niki -1>><</link>><br> <</if>> <<if !($npc.includes("Quinn"))>> <<link [[Add Quinn|$passage]]>><<npc Quinn -1>><</link>><br> <</if>> <<if !($npc.includes("Remy"))>> <<link [[Add Remy|$passage]]>><<npc Remy -1>><</link>><br> <</if>> <<if !($npc.includes("River"))>> <<link [[Add River|$passage]]>><<npc River -1>><</link>><br> <</if>> <<if !($npc.includes("Robin"))>> <<link [[Add Robin|$passage]]>><<npc Robin -1>><</link>><br> <</if>> <<if !($npc.includes("Sam"))>> <<link [[Add Sam|$passage]]>><<npc Sam -1>><</link>><br> <</if>> <<if !($npc.includes("Sirris"))>> <<link [[Add Sirris|$passage]]>><<npc Sirris -1>><</link>><br> <</if>> <<if !($npc.includes("Sydney"))>> <<link [[Add Sydney|$passage]]>><<npc Sydney -1>><</link>><br> <</if>> <<if !($npc.includes("Whitney"))>> <<link [[Add Whitney|$passage]]>><<npc Whitney -1>><</link>><br> <</if>> <<if !($npc.includes("Winter"))>> <<link [[Add Winter|$passage]]>><<npc Winter -1>><</link>><br> <</if>> <<if !($npc.includes("Wren"))>> <<link [[Add Wren|$passage]]>><<npc Wren -1>><</link>><br> <</if>> <<if !($npc.includes("Zephyr"))>> <<link [[Add Zephyr|$passage]]>><<npc Zephyr -1>><</link>><br> <</if>> <</if>> <br><br> <<if $enemyno gte 1>> <<for _lll to 0; _lll lt $enemyno; _lll++>> $npc[_lll] is active.<br> <</for>><br> <<link "Remove $npc[0]"$passage>><<endnpc `$npc[0]`>><</link>><br> <<if $enemyno gte 2>> <<link "Remove $npc[1]"$passage>><<endnpc `$npc[1]`>><</link>><br> <</if>> <<if $enemyno gte 3>> <<link "Remove $npc[2]"$passage>><<endnpc `$npc[2]`>><</link>><br> <</if>> <<if $enemyno gte 4>> <<link "Remove $npc[3]"$passage>><<endnpc `$npc[3]`>><</link>><br> <</if>> <<if $enemyno gte 5>> <<link "Remove $npc[4]"$passage>><<endnpc `$npc[4]`>><</link>><br> <</if>> <<if $enemyno is 6>> <<link "Remove $npc[5]"$passage>><<endnpc `$npc[5]`>><</link>><br> <</if>> <<if $enemyno gte 2>> <<link [[Remove all NPCs|$passage]]>><<endnpc>><</link>><br> <</if>> <br><br> <<link [[Named NPC Gangbang]]>><<set $sexstart to 1>><</link>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<if $possessed is true>> <<set $enemyanger to 200>><<npcidlegenitals>> <</if>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or _controlRegain is 1>> <span id="next"><<link [[Next|Named NPC Gangbang Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Named NPC Gangbang]]>><</link>></span><<nexttext>> <</if>><<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><br> <<elseif $enemyhealth lte 0>> You've beaten their ass. <<elseif $finish is 1>> You ended it prematurely. <<elseif $possessed is true and $control gte $controlmax>> You maxed out your control. <<set $possessed to false>><<set _possess to 1>> <</if>> <br> <<clotheson>> <<if _possess>> <<link [[Go again|Possessed Fight Test]]>><<endcombat>><<set $possessed to true>><<set $control to 0>><</link>><<lllcontrol>><<note "+ Wraith" "wraith">><br> <<else>> <<link [[Select NPCs|Named NPC Gangbang Select]]>><<endcombat>><</link>><br> <</if>> <<link [[Back Home|Bedroom]]>><<endcombat>><</link>><<set $outside to 0>><<set $location to "home">><<effects>> <!-- Generate Ivory Wraith --> <<generateWraith 1 true>><<person1>><<rainWraith>> You find yourself standing before your mirror. You trace a holy symbol on it, and a baleful red glow begins to emanate from it. A beautiful pale figure stares back. It presses a hand against the mirror. <br><br> "<span class="wraith">I can feel your heartbeat. I am already inside you. Won't you give in?</span>" <br><br> How do you respond? <br><br> <<link [[As One.|Wraith Test]]>><<set $wraith.select to "man">><</link>> <br> <<link [[The Writhing Ensues.|Wraith Test]]>><<set $wraith.select to "tentacles">><</link>> <br> <<link [[Enveloped by Nothing.|Wraith Test]]>><<set $wraith.select to "slimetentacles">><</link>> <br> <<link [[Dissolve.|Wraith Test]]>><<set $wraith.select to "slime">><</link>> <br> <<link [[Immaculate Vanity.|Wraith Test]]>><<set $wraith.select to "arms">><</link>> <br> <<link [[The Power of Lust.|Wraith Test]]>><<set $wraith.select to "abomination">><</link>> <br> <<link [[Surprise Me.|Wraith Test]]>><<set $wraith.select to "random">><</link>> <br> <<link [[I'm going to jump out my window now, bye.|Domus Street]]>><<endWraith>><<clearWraith>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $wraith.select is "random">> <<switch random(1, 6)>> <<case 1>> <<set $wraith.select to "man">> <<case 2>> <<set $wraith.select to "tentacles">> <<case 3>> <<set $wraith.select to "slimetentacles">> <<case 4>> <<set $wraith.select to "slime">> <<case 5>> <<set $wraith.select to "arms">> <<case 6>> <<set $wraith.select to "abomination">> <</switch>> <</if>> <<if ($wraith.select.includes("slime") and $slimedisable is "t") or (($wraith.select.includes("tentacle") or $wraith.select is "abomination") and $tentacledisable is "t")>> The image in the mirror freezes, and the figure's face becomes blank. A message appears on the surface: <br><br> <span class="red">ERROR: You have chosen or randomly rolled an option disabled by your current settings. Please enable both slimes and tentacles. If both are already enabled, please tell PurityGuy that he's an idiot.</span> <br><br> The figure unfreezes, and shakes its head. It then looks at you. "<span class="wraith">Get fucked.</span>" Your mirror shatters, and signals for replacement. When you blink, it's been fixed. <br><br> <<link [[Next...?|Bedroom]]>><<endWraith>><</link>> <br> <<else>> <<initWraith $wraith.select>> <<switch $wraith.gen>> <<case "man">> A pale arm reaches out from the mirror and lifts your chin. "<span class="wraith">Forever,</span> <span class="tentacle">As One.</span>" It steps from the mirror. <<case "tentacles">> The space behind the figure begins to distort. A mass of pale tentacles shoot out from the mirror, violently pinning you to the wall and destroying your clothes. <<clothesruined>><<legsruined>><<feetruined>> <br><br> "<span class="wraith">The writhing ensues.</span>" The figure steps out of the mirror. <<case "slimetentacles">> The space behind the figure begins to distort. A mass of pale tentacles shoot out from the mirror, violently pinning you to the wall and destroying your clothes. <br><br> It raises its hand, and a swirling portal appears above you. Slimes begin to pour out and cover you. <br><br> "<span class="wraith">Be enveloped by nothing.</span>" <<clothesruined>><<legsruined>><<feetruined>> <<case "slime">> The figure raises a hand as it steps from the mirror. From behind it, a group of pale slimes leap at you! "<span class="wraith">Dissolve the shell to have your way with the flesh.</span>" <<case "arms">> The figure steps out from the mirror. As it emerges before you, several extra pairs of arms spring out from its back. "<span class="wraith">Kneel before my immaculate form.</span>" <<case "abomination">> The space behind the figure begins to distort. A mass of pale tentacles shoot out from the mirror as it steps out. "<span class="wraith">Embrace the power of lust.</span>" <</switch>> <br><br> <<link [[Next|Wraith Test Sex]]>><</link>> <</if>><<effects>> <<if $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $player.penisExist>> <<set $struggle.penis.creature to "pale slime">><<set $penisuse to "struggle">><<set $penisstate to "struggle">><<set $struggle.enemy[0].location to "penis">> <<else>> <<set $struggle.vagina.creature to "pale slime">><<set $vaginause to "struggle">><<set $vaginastate to "struggle">><<set $struggle.enemy[0].location to "vagina">> <</if>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<set $rescue to 0>> <<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Wraith Test Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[Next|Wraith Test Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Test Sex]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Wraith Test Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Test Sex]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Test Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Test Sex]]>><</link>></span><<nexttext>> <</if>> <</switch>> <br> <<link [[Back to the bedroom|Bedroom]]>><<endcombat>><<endWraith>><<clotheson>><</link>> <br><br><br><br><<effects>> <<switch $wraith.type>> <<case "man">> <<if $enemyhealth lte 0>> The figure looks down at you in shock as it staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> Its extra arms fold back in. <</if>> Its head snaps back, and it dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you think you hear laughter. "<span class="wraith">Worry not, we'll meet again soon.</span>" <br><br> <<tearful>> you sit against you bed, wondering if what just happened was real. <<set $wraith.defeated++>> <<else>> <<ejaculation>> With a bright flash, it vanishes. You feel lewd energy linger in the air, and its laughs echo between your ears. "<span class="wraith">Worry not, we'll meet again soon.</span>" <br><br> <<tearful>> you sit against you bed, wondering if what just happened was real. <</if>> <<case "tentacles">> The tentacles retreat from you, back to the pale figure's side.<<if $wraith.gen is "slimetentacles">> The slimes quickly follow.<</if>> It gives you a regal bow, before stepping back into your mirror, which promptly shatters behind it. <br><br> You blink, and your mirror looks normal again. <<tearful>> you sit against you bed, wondering if what just happened was real. <<case "slime">> The slimes disengage, retreating back to the figure. It picks one up, and begins to pet it as it walks back though your mirror. <br><br> <<tearful>> you sit against you bed, wondering if what just happened was real. <</switch>> <<clotheson>> <<endcombat>> <<endWraith>> <<link [[Next|Bedroom]]>><<set $eventskip to 1>><</link>> <br><br> <<if $plantdisable is "f" or $tentacledisable is "f">> <<link [[Consensual sex in the forest|Plantperson Test Sex]]>><<set $sexstart to 1>><<set $location to "forest">><</link>><br> <<link [[Nonconsensual sex in the forest|Plantperson Test Sex]]>><<set $molestationstart to 1>><<set $location to "forest">><</link>><br> <<link [[Consensual sex in the moor|Plantperson Test Sex]]>><<set $sexstart to 1>><<set $location to "moor">><</link>><br> <<link [[Nonconsensual sex in the moor|Plantperson Test Sex]]>><<set $molestationstart to 1>><<set $location to "moor">><</link>> <<else>> <b>Plantpeople/tentacles are disabled or otherwise unavailable.</b> I don't know what you're trying to do here. <br><br> <<link [[Enable plantpeople|Plantperson Test]]>><<hallucinogen 10>><<set $plantdisable to "f">><<set $tentacledisable to "f">><</link>><<ghallucinogens>> <</if>> <br><br> <<link [[Back home|Bedroom]]>><<endevent>><</link>><<if $sexstart is 1 or $molestationstart is 1>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>><<set $consensual to 1>> <<neutral 1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <</if>> <<generatePlant1>><<person1>> <<maninit "plant">><<npcexpose>> <<if $location is "forest">> <<enable_rescue>> <</if>> <<set $enemyarousalmax to 800>> <<set _randomtentacles to random(6, 10)>> <<makeAbomination _randomtentacles 10 "vine" "vine" true>> "Hi there!" A <<person>> pops up in front of you, <<plant_details>> strewn through <<his>> hair because you're in the $location and it's <<print Time.season>>. "You're cute! I'm gonna fuck you with my vines!" <br> A bunch of vines pop out of the ground. <</if>> <<effects>> <<effectsabomination>><<abomination>> <<stateabomination>> <br><br> <<actionsabomination>> <<if $finish is 1>> <span id="next"><<link [[FINISH|Plantperson Test Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[HEALTH|Plantperson Test Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[ORGASM|Plantperson Test Sex Finish]]>><</link>></span><<nexttext>> <<elseif $alarm is 1 and $rescue is 1>> <span id="next"><<link [[RESCUE|Plantperson Test Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Plantperson Test Sex]]>><</link>></span><<nexttext>> <</if>> <br> <<link [[Emergency exit|Plantperson Test Sex Finish]]>><<set $finish to 1>><</link>> <br><br><br><br><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if _orgasm>> "That was great!" the <<person>> cheers. "And thanks for cumming in me! Later!" <<else>> "That was fun!" the <<person>> chirps. "Later!" <</if>> <<He>> digs back into the ground, and <<his>> vines follow. One of the vines waves at you. <<elseif $enemyhealth lte 0>> "Ow!" the <<person>> whines. "You're no fun!" <<He>> digs back into the ground, and <<his>> vines follow. One of the vines flips you off, somehow. <<elseif $alarm is 1 and $rescue is 1>> You hear a gun fire close by, and a bullet lands at the <<persons>> feet. "Fuck," <<he>> hisses. "It's the <<nnpc_title "Eden">>. Fuck. Fuck shit fuck. Um." <<He>> grabs your face and gives you a syrupy kiss on each cheek, before pulling away from you. "See ya! I'm out!" <<bodyliquid "face" "goo">> <br><br> The <<person>> retracts <<his>> vines and retreats into the forest right as Eden emerges. <<nnpc_He "Eden">> helps you collect yourself. "Damn hikers," <<nnpc_he "Eden">> mutters. "Are you okay?" <<else>> "Emergency exit? Bummer," the <<person>> says. <<He>> shrugs. "Oh well. Fuck your holes until you're a gibbering mess hopelessly addicted to my nectar later!" <<He>> digs back into the ground, and <<his>> vines follow. One of the vines checks <<his>> notifications on <<his>> phone. <</if>> <<endcombat>> <<clotheson>> <<link [[Do it again|Plantperson Test]]>><</link>><br> <<link [[Back home|Bedroom]]>><</link>><<generateWraith>><<endevent>> <<if !$wraith.will>> <<set $wraith.will to random(1300, 1700)>> <</if>> <br> You feel a tap on your shoulder. You turn around. Nothing is there. You turn back. <br><br> "<span class="wraith">Boo.</span>" <br><br> You open your mouth to scream, but it is already inside you. <br><br> <<link [[Fight a stranger|Possessed Fight]]>><<set $opponent to 1>><<set $fightstart to 1>><</link>><br> <<link [[Fight Sydney|Possessed Fight]]>><<set $opponent to 2>><<set $fightstart to 1>><</link>><br> <<link [[Select your named NPCs|Named NPC Gangbang Select]]>><</link>><<if $fightstart is 1>> <<set $fightstart to 0>> <<if $opponent is 1>> <<generate1>><<person1>> <<catcall>> A <<person>> reaches for you. <br><br> Your body is made to laugh. "<span class="wraith">Those who interrupt ghosts shall join them.</span>" <<elseif $opponent is 2>> <<npc Sydney>><<person1>> Sydney freezes in front of you. "Oh, no. Beloved, something's wrong, I can feel it." <br><br> Your body is made to laugh. "<span class="wraith">False. Everything is right in the world.</span>" <</if>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <br><br> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if $enemyhealth lte 0>> <span id="next" class="nextWraith"><<link [[HEALTH|Possessed Fight Finish]]>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next" class="nextWraith"><<link [[ORGASM|Possessed Fight Finish]]>><</link>></span><<nexttext>> <<elseif _controlRegain is 1>> <span id="next" class="nextWraith"><<link [[CONTROL|Possessed Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next" class="nextWraith"><<link [[Next|Possessed Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <br><br> <<tearful>> you recover. "<span class="wraith">Shall we dance again?</span>" your mouth is forced to ask. <br><br> <<clotheson>> <<endcombat>> <<link [[Fight again|Possessed Fight]]>><<endevent phaseless>><<set $fightstart to 1>><</link>> <br> <<link [[Freshen up, then fight again|Possessed Fight]]>><<endevent phaseless>><<set $fightstart to 1>><<set $pain to 0>><<set $arousal to 0>><</link>><<lpain>><<larousal>> <<elseif $enemyhealth lte 0>> <<if $opponent is 1>> The <<person>> falls back, and scrambles away. <<elseif $opponent is 2>> Sydney moans, slaps a hand over <<his>> mouth, and runs away. <</if>> <br><br> <<tearful>> you recover. "<span class="wraith">Shall we dance again?</span>" your mouth is forced to ask. <br><br> <<clotheson>> <<endcombat>> <<link [[Fight again|Possessed Fight]]>><<set $fightstart to 1>><<endevent phaseless>><</link>> <br> <<link [[Freshen up, then fight again|Possessed Fight]]>><<set $fightstart to 1>><<endevent phaseless>><<set $pain to 0>><<set $arousal to 0>><</link>><<lpain>><<larousal>> <<else>> <<set $possessed to false>> You regain control in your body, and rip the pale figure out of your chest like you're pulling a rabbit out of a hat. <<if $opponent is 1>>The <<person>>, justifiably terrified by this development, scrambles away.<</if>> <br><br> "<span class="wraith">Congratulations. You won.</span>" It pats you on the head, then vanishes in a torrent of water. <<if $opponent is 2>>Sydney is nowhere to be seen.<</if>> <br><br> <<tearful>> you try to decide if you want to go again or not. <br><br> <<clotheson>> <<endcombat>> <<link [[Fight again|Possessed Fight]]>><<set $possessed to true>><<set $control to 0>><<set $fightstart to 1>><<endevent phaseless>><</link>><<lllcontrol>><<note "+ Wraith" "wraith">> <br> <<link [[Freshen up, then fight again|Possessed Fight]]>><<set $possessed to true>><<set $control to 0>><<set $fightstart to 1>><<endevent phaseless>><<set $pain to 0>><<set $arousal to 0>><</link>><<lpain>><<larousal>><<lllcontrol>><<note "+ Wraith" "wraith">> <br> <<link [[Decision room|Possessed Fight Test]]>><<set $possessed to true>><<set $control to 0>><</link>><<lllcontrol>><<note "Also + Wraith" "wraith">> <</if>> <br><br> <<link [[Back home|Bedroom]]>><<set $possessed to false>><<endevent>><<unset $opponent>><</link>><br> The lights flash on. You find yourself in a strange chamber, completely smooth and featureless. There is a sign on the wall that says <span class="orange">DEBUG</span> in bright orange letters. A large, opaque tube reaches to the ceiling, The words <span class="blue">CUSTOM CONSTRUCT</span> are labelled on the front. <br> A terminal is attached to the tube. You look at the prompts. <br><br> <i>Please select the construct's descriptor. Leave blank for default generation.</i> <br> <<if $npcselectdesc is undefined>><<set $npcselectdesc to "custom">><</if>> <<textbox "$npcselectdesc" $npcselectdesc>> <br><br> <i>Please select the construct's role. Leave blank for default generation.</i> <br> <<if $npcselectrole is undefined>><<set $npcselectrole to "construct">><</if>> <<textbox "$npcselectrole" $npcselectrole>> <br><br> <<link [[Sex|NPC Role Fight]]>><<set $sexstart to 1>> <<if $npcselectdesc is undefined>><<set $npcselectdesc to "custom">><</if>> <<if $npcselectrole is undefined>><<set $npcselectrole to "construct">><</if>> <<set $npcselectdesc to Util.escape($npcselectdesc)>> <<set $npcselectrole to Util.escape($npcselectrole)>> <<generateRole 0 $npcselectdesc $npcselectrole>><<person1>> <<unset $npcselectdesc>><<unset $npcselectrole>> <</link>> <br> <<link [[Fight|NPC Role Fight]]>><<set $fightstart to 1>> <<if $npcselectdesc is undefined>><<set $npcselectdesc to "custom">><</if>> <<if $npcselectrole is undefined>><<set $npcselectrole to "construct">><</if>> <<set $npcselectdesc to Util.escape($npcselectdesc)>> <<set $npcselectrole to Util.escape($npcselectrole)>> <<generateRole 0 $npcselectdesc $npcselectrole>><<person1>> <<unset $npcselectdesc>><<unset $npcselectrole>> <</link>> <br><br> <<link [[Back home|Bedroom]]>><<unset $npcselectdesc>><<unset $npcselectrole>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> With a hiss of steam, the tube retracts to the ceiling. A figure walks out, a <<if $pronoun is "m">>man<<else>>woman<</if>>. You recognise <<him>> as the <<person>> you selected. <br><br> "Beginning sex encounter," the <<person>> says in a flat tone, before <<his>> face morphs into a lascivious smile. <<catcall>> <<elseif $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> With a hiss of steam, the tube retracts to the ceiling. A figure walks out, a <<if $pronoun is "m">>man<<else>>woman<</if>>. You recognise <<him>> as the <<person>> you selected. <br><br> "Beginning combat encounter," the <<person>> says in a flat tone, before <<his>> face morphs into an angry scowl. "Oh, you're in for it now!" <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if $finish is 1>> <span id="next"><<link [[FINISH|NPC Role Fight Finish]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[HEALTH|NPC Role Fight Finish]]>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[ORGASM|NPC Role Fight Finish]]>><</link>></span><<nexttext>> <<elseif $pain gte 100 and $willpowerpain is 0>> <span id="next"><<link [[PAIN|NPC Role Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|NPC Role Fight]]>><</link>></span><<nexttext>> <</if>> <br> <<link [[Emergency exit|NPC Role Fight Finish]]>><<set $finish to 1>><</link>> <br><br><br><br><<if $finish is 1>> "Test concluded," the <<person>> says in a flat tone, abruptly stepping back. "Restoring state to default." <<elseif $enemyhealth lte 0>> "Test concluded," the <<person>> says in a flat tone, stepping away from you as if <<he>> weren't hurt at all. "Restoring state to default." <<elseif $pain gte 100 and $willpowerpain is 0>> "Test concluded," the <<person>> says in a flat tone, stepping away from you. "Restoring state to default." <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Test concluded," the <<person>> says in a flat tone, stepping away from you. "Restoring state to default." <</if>> <br><br> <<He>> walks back to the terminal and flicks a switch. <<He>> steps past it, and the tube descends from the ceiling over <<him>> again. Once the tube touches the floor, the lights switch off. <br><br> <<tearful>> you wonder what to do next. <br><br> <<endcombat>><<clotheson>> <<link [[Create another construct|NPC Role Select]]>><</link>> <br> <<link [[Back home|Bedroom]]>><</link>><br> The lights flash on. You find yourself in a strange chamber, completely smooth and featureless. There is a sign on the wall that says <span class="orange">DEBUG</span> in bright orange letters. A large, opaque tube reaches to the ceiling, The words <span class="blue">CUSTOM CONSTRUCT</span> are labelled on the front. <br> A terminal is attached to the tube. You look at the prompts. <br><br> <i>Please select the construct's outfit.</i> <br> <<set _clothesOptions to setup.npcClothesSets.map(c => c.name)>> <<listbox "_npcClothes" autoselect>> <<optionsfrom _clothesOptions>> <</listbox>> <br><br> <i>Please select the construct's configuration.</i> <br> <label>Male <<radiobutton "_npcPronoun" "m">></label> | <label>Female <<radiobutton "_npcPronoun" "f">></label> | <label>Use Settings <<radiobutton "_npcPronoun" "" checked>></label> <br> <label>Penis <<radiobutton "_npcGender" "m">></label> | <label>Vagina <<radiobutton "_npcGender" "f">></label> | <label>Both <<radiobutton "_npcGender" "h">></label> | <label>Use Settings <<radiobutton "_npcGender" "" checked>></label> <br> <label>Teen <<radiobutton "_npcType" "t">></label> | <label>Adult <<radiobutton "_npcType" "a">></label> | <label>Random <<radiobutton "_npcType" "r" checked>></label> <br><br> <!-- storing the values and then generating the npc in the next passage is a bit more convenient for debugging. --> <<link [[Sex|NPC Clothing Fight]]>> <<set $sexstart to 1>> <<set $npcOptions to {"type": _npcType, "pronoun": _npcPronoun, "gender": _npcGender, "clothes": _npcClothes}>> <</link>> <br> <<link [[Rape|NPC Clothing Fight]]>> <<set $fightstart to 1>> <<set $npcOptions to {"type": _npcType, "pronoun": _npcPronoun, "gender": _npcGender, "clothes": _npcClothes}>> <</link>> <br><br> <<link [[Back home|Bedroom]]>><</link>><<if $sexstart is 1>> <<generateNPC 1 $npcOptions.type $npcOptions.pronoun $npcOptions.gender>><<person1>> <<run npcEquipSet($NPCList[0], setup.npcClothesSets.find(n => n.name === $npcOptions.clothes))>> <<unset $npcOptions>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> With a hiss of steam, the tube retracts to the ceiling. A figure walks out, a <<personsimple>>. You recognise <<him>> as the <<person>> you selected. <br><br> "Beginning sexual encounter," the <<person>> says in a flat tone, before <<his>> face morphs into a lascivious smile. <<catcall>> <<elseif $fightstart is 1>> <<generateNPC 1 $npcOptions.type $npcOptions.pronoun $npcOptions.gender>><<person1>> <<run npcEquipSet($NPCList[0], setup.npcClothesSets.find(n => n.name === $npcOptions.clothes))>> <<unset $npcOptions>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> With a hiss of steam, the tube retracts to the ceiling. A figure walks out, a <<personsimple>>. You recognise <<him>> as the <<person>> you selected. <br><br> "Beginning combat encounter," the <<person>> says in a flat tone, before <<his>> face morphs into an angry scowl. "Oh, you're in for it now!" <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if $finish is 1>> <span id="next"><<link [[FINISH|NPC Clothing Fight Finish]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[HEALTH|NPC Clothing Fight Finish]]>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[ORGASM|NPC Clothing Fight Finish]]>><</link>></span><<nexttext>> <<elseif $pain gte 100 and $willpowerpain is 0>> <span id="next"><<link [[PAIN|NPC Clothing Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|NPC Clothing Fight]]>><</link>></span><<nexttext>> <</if>> <br> <<link [[Emergency exit|NPC Clothing Fight Finish]]>><<set $finish to 1>><</link>> <br><br><br><br><<if $finish is 1>> "Test concluded," the <<person>> says in a flat tone, abruptly stepping back. "Restoring state to default." <<elseif $enemyhealth lte 0>> "Test concluded," the <<person>> says in a flat tone, stepping away from you as if <<he>> weren't hurt at all. "Restoring state to default." <<elseif $pain gte 100 and $willpowerpain is 0>> "Test concluded," the <<person>> says in a flat tone, stepping away from you. "Restoring state to default." <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Test concluded," the <<person>> says in a flat tone, stepping away from you. "Restoring state to default." <</if>> <br><br> <<He>> walks back to the terminal and flicks a switch. <<He>> steps past it, and the tube descends from the ceiling over <<him>> again. Once the tube touches the floor, the lights switch off. <br><br> <<tearful>> you wonder what to do next. <br><br> <<endcombat>><<clotheson>> <<link [[Create another construct|NPC Clothing Select]]>><</link>> <br> <<link [[Back home|Bedroom]]>><</link>>Generating two NPCs both at slot 0. <<generate1>><<generate1>>Manipulating time itself. <br> Distorting time by $timeDistortion. <br> <<set $timeStamp += $timeDistortion>> <<run Time.set()>> $$timeStamp = $timeStamp <br> hour = <<print Time.hour>> <br> minute = <<print Time.minute>> <br><br> <<link [[Fast-Forward (0:05)|TimeTest]]>><<set $timeDistortion to 5>><</link>> <br> <<link [[Fast-Backward -(0:05)|TimeTest]]>><<set $timeDistortion to -5>><</link>> <br><br> <<link [[Go back|$prevPassage]]>><<run delete $timeDistortion>><</link>><<widget "straponGeneratorOptions">> <i>Size:</i> <<listbox "_straponSize" autoselect>> <<option "regular" 2>> <<option "large" 3>> <<option "massive" 4>> <</listbox>> <i>Colour:</i> <<set _colourOptions to ["black","red","pink","purple","fleshy","blue","green"]>> <<listbox "_straponColour" autoselect>> <<optionsfrom _colourOptions>> <</listbox>> <i>Shape:</i> <<set _shapeOptions to ["dildo","penis","beaded dildo","horse cock","knotted cock","tentacle","dolphin cock","studded cock","fist dildo"]>> <<listbox "_straponShape" autoselect>> <<optionsfrom _shapeOptions>> <</listbox>> <i>Additional Modifier:</i> <<set _modifierOptions to ["","floppy","transparent","sparkly"]>> <<listbox "_straponModifier" autoselect>> <<optionsfrom _modifierOptions>> <</listbox>> <br><br> <</widget>>The lights flash on. You find yourself in a strange chamber, completely smooth and featureless. There is a sign on the wall that says <span class="orange">DEBUG</span> in bright orange letters. A large, opaque tube reaches to the ceiling, The words <span class="blue">CUSTOM CONSTRUCT</span> are labelled on the front. <br> <<set _nnpcOptions to $NPCName.filter(npc => npc.penis === "none")>> <<set _nnpcOptions to _nnpcOptions.map(npc => npc.nam)>> A terminal is attached to the tube. <<if _nnpcOptions.length gte 1>> Its screen is a monochrome green. You look at the prompts. The first one surprises you. It's a list of the names of people you recognise, how peculiar... <br><br> <i>Please select the construct's model.</i> <br> <<listbox "_npcNameSelect" autoselect>> <<optionsfrom _nnpcOptions>> <</listbox>> <br><br> <i>Please design the construct's strap-on.</i> <br> <<set _straponSize to 3>> <span id="straponOptions"> <<straponGeneratorOptions>> </span> <<button "<i>Randomise</i>">> <<set _straponSize to [2,3,4].random()>> <<set _straponColour to ["black","red","pink","purple","fleshy","blue","green"].random()>> <<set _straponShape to ["dildo","penis","beaded dildo","horse cock","knotted cock","tentacle","dolphin cock","studded cock","fist dildo"].random()>> <<set _straponModifier to ["","","floppy","transparent","sparkly"].random()>> <<replace "#straponOptions">><<straponGeneratorOptions>><</replace>> <</button>> <br><br> Having selected the desired options, your finger hovers over the "Create" button. You really have no idea what this strange device is about to do... <br><br> <<link [[Create Construct|NNPC Strapon Generator Sex]]>> <<npc _npcNameSelect>><<npcexpose>><<person1>> <<generateNewStrapon _straponSize _straponColour _straponShape _straponModifier>> <<npcstrapon 0>> <<setNPCStrapon $NPCList[0] _newStrapon>> <<set $sexstart to 1>> <</link>> <br><br> <<else>> Its screen is a solid red colour, and it displays a message. <br><br> <span class="red"><i>Subject has no compatible candidates for construct in memory.</i></span> <br> <span class="red"><i>No actions available at this time.</i></span> <br><br> <</if>> <<link [[Back home|Bedroom]]>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> With a hiss of steam, the tube retracts to the ceiling. A figure walks out, looking identical to <<print $NPCList[0].fullDescription>>, <<if $NPCList[0].fullDescription is "Whitney">> although fully nude and holding a <<print $NPCList[0].strapon.description>> in <<his>> hand. <br><br> <<setNPCStrapon $NPCList[0] `C.npc.Whitney.strapons[0]`>> "This thing is cute and all, but I've already got one", <<he>> says, throwing it away and pulling <<his>> favourite <<print $NPCList[0].strapon.description>> out of nowhere. <<else>> although fully nude and wearing a <<print $NPCList[0].strapon.description>>. <</if>> <br><br> "Beginning sex encounter," the <<personsimple>> says in a flat tone, before <<his>> face morphs into a lascivious smile. <<catcall>> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if $finish is 1>> <span id="next"><<link [[FINISH|NNPC Strapon Generator Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[HEALTH|NNPC Strapon Generator Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[ORGASM|NNPC Strapon Generator Sex Finish]]>><</link>></span><<nexttext>> <<elseif $pain gte 100 and $willpowerpain is 0>> <span id="next"><<link [[PAIN|NNPC Strapon Generator Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|NNPC Strapon Generator Sex]]>><</link>></span><<nexttext>> <</if>> <br> <<link [[Emergency exit|NNPC Strapon Generator Sex Finish]]>><<set $finish to 1>><</link>> <br><br><br><br><<if $finish is 1>> "Test concluded," the <<personsimple>> says in a flat tone, abruptly stepping back. "Restoring state to default." <<elseif $enemyhealth lte 0>> "Test concluded," the <<personsimple>> says in a flat tone, stepping away from you as if <<he>> weren't hurt at all. "Restoring state to default." <<elseif $pain gte 100 and $willpowerpain is 0>> "Test concluded," the <<personsimple>> says in a flat tone, stepping away from you. "Restoring state to default." <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Test concluded," the <<personsimple>> says in a flat tone, stepping away from you. "Restoring state to default." <</if>> <br><br> <<He>> walks back to the terminal and flicks a switch. <<He>> steps past it, and the tube descends from the ceiling over <<him>> again. Once the tube touches the floor, the lights switch off. <br><br> <<tearful>> you wonder what to do next. <br><br> <<endcombat>><<clotheson>> <<link [[Create another construct|NNPC Strapon Generator]]>><</link>> <br> <<link [[Back home|Bedroom]]>><</link>><<if $sexstart is 1>> <<beastNEWinit 1 cow>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Cow Test Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Cow Test Sex]]>><</link>></span><<nexttext>> <</if>><<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> is spent <br><br> <<elseif $enemyhealth lte 0>> The <<beasttype>> can't take any more and runs away <br><br> <<else>> The <<beasttype>> leaves <br><br> <</if>> <<clotheson>> <<endcombat>> <<link [[Find another cow|Cow Test Sex]]>><<set $sexstart to 1>><</link>> <br> <<link [[Go home|Bedroom]]>><</link>> <br><<set $location to "town">><<set $bus to "domus">><<set $outside to 1>><<effects>> <<if $phase is 1>> <<if $enemyno gte 2>> <<person1>>You hear footsteps behind you, from more than one person. <span class="blue">You feel followed.</span> <br><br> <<link [[Next|Street Stalk Group]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<person1>>You hear footsteps behind you. <span class="blue">You feel followed.</span> <br><br> <<link [[Next|Street Stalk]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <<else>> <<if $stalkTestNPC>> <<if $stalkTestNPC is "Ivory Wraith">> <<generateWraith 1>> <<else>> <<npc $stalkTestNPC>> <</if>> <<set $NPCList[0].skills to {athletics: random(1, 1000), security: random(1, 1000)}>> <<unset $stalkTestNPC>> <</if>> <<if $enemyno gte 1>> <<person1>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <span class="red">You are being hunted by <span class="wraith">the Ivory Wraith.</span></span> <<else>> <span class="red">You are being hunted by <<print $npc[$npcrow.indexOf(0)]>>.</span> <</if>> <br><br> <<His>> athletics skill is <span class="gold"><<print $NPCList[0].skills.athletics>></span>. <br> <<His>> security skill is <span class="gold"><<print $NPCList[0].skills.security>></span>. <br><br> <</if>> <<if $enemyno is 2>> <span class="teal"><<He>> will be accompanied by a <<person2>><<person>>.</span> <<person1>> <br><br> <<elseif $enemyno gte 3>> <<He>> will be accompanied by <<switch $enemyno>> <<case 6>><span class="pink">five</span> <<case 5>><span class="purple">four</span> <<case 4>><span class="blue">three</span> <<case 3>><span class="lblue">two</span> <</switch>> others. <br><br> <</if>> <<if $NPCList[0].fullDescription is "Ivory Wraith">> <span class="blue">You can't add any NPCs to accompany the Wraith.</span> <br> <<link [[Start test|Named NPC Stalk Select]]>><<set $phase to 1>><</link>> <br> <<else>> <<switch $enemyno>> <<case 6>> <span class="blue">You can't add any more NPCs.</span> <br><br> <<link [[Start test|Named NPC Stalk Select]]>><<set $phase to 1>><</link>> <br> <<case 5>> <<link [[Add another unnamed NPC|Named NPC Stalk Select]]>><<generate6>><</link>> <br> <<link [[Start test|Named NPC Stalk Select]]>><<set $phase to 1>><</link>> <br> <<case 4>> <<link [[Add another unnamed NPC|Named NPC Stalk Select]]>><<generate5>><</link>> <br> <<link [[Start test|Named NPC Stalk Select]]>><<set $phase to 1>><</link>> <br> <<case 3>> <<link [[Add another unnamed NPC|Named NPC Stalk Select]]>><<generate4>><</link>> <br> <<link [[Start test|Named NPC Stalk Select]]>><<set $phase to 1>><</link>> <br> <<case 2>> <<link [[Add another unnamed NPC|Named NPC Stalk Select]]>><<generate3>><</link>> <br> <<link [[Start test|Named NPC Stalk Select]]>><<set $phase to 1>><</link>> <br> <<case 1>> <<link [[Add an unnamed NPC|Named NPC Stalk Select]]>><<generate2>><</link>> <br> <<link [[Start test|Named NPC Stalk Select]]>><<set $phase to 1>><</link>> <br> <</switch>> <</if>> <<if $enemyno is 0>> Choose a named NPC. <br><br> <<link [[Avery|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Avery">><</link>> <br> <<link [[Bailey|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Bailey">><</link>> <br> <<link [[Briar|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Briar">><</link>> <br> <<link [[Eden|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Eden">><</link>> <br> <<link [[Harper|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Harper">><</link>> <br> <<link [[Kylar|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Kylar">><</link>> <br> <<link [[Leighton|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Leighton">><</link>> <br> <<link [[Morgan|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Morgan">><</link>> <br> <<link [[Whitney|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Whitney">><</link>> <br> <<link [[Wraith|Named NPC Stalk Select]]>><<set $stalkTestNPC to "Ivory Wraith">><</link>> <br> <<link [[Someone else|Named NPC Stalk Select]]>><<set $stalkTestNPC to either("Alex","Charlie","Darryl","Doren","Gwylan","Jordan","Landry","Mason","Niki","Quinn","Remy","River","Robin","Sam","Sirris","Sydney","Wren", "Zephyr")>><</link>> <br> <</if>> <br> <<link [[Restart|Named NPC Stalk Select]]>><<endevent>><<set $phase to 0>><</link>> <br> <</if>><br> <<link [[Consensual sex|Hypnotist Test Sex]]>><<set $sexstart to 1>><</link>> <br> <<link [[Nonconsensual sex|Hypnotist Test Sex]]>><<set $molestationstart to 1>><</link>> <br> <<link [[Harper|Hypnotist Test Sex]]>><<set $molestationstart to 1>><<set $phase to "Harper">><</link>> <br> <<if $tentacledisable is "f">> <<link [[Tentacles|Hypnotist Test Tentacles]]>><<set $molestationstart to 1>><</link>> <<else>> <b>Tentacles are disabled or otherwise unavailable.</b> Enable tentacles to test tentacle hypnosis. <br><br> <<link [[Enable tentacles|Hypnotist Test]]>><<set $tentacledisable to "f">><</link>> <</if>> <br><br> <<link [[Back home|Bedroom]]>><<endevent>><</link>><<if $sexstart is 1 or $molestationstart is 1>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>><<set $consensual to 1>> <<neutral 1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <</if>> <<if $phase is "Harper">> <<npc Harper>><<person1>> Doctor Harper approaches you. "It's time to commit medical malpractice," <<he>> says. <<else>> <<generate1>><<person1>><<set $NPCList[0].traits.pushUnique("hypnotist")>> A <<person>> walks up to you. "Hey," <<he>> says. "You're feeling sleepy, or whatever. Let's get this over with." <</if>> <<maninit>><<enable_rescue>> <<set $NPCList[0].lefthand to "hypnosis">><<set $NPCList[0].lefttool to "pendant">> <br><br> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1 and $rescue is 1>> <span id="next"><<link [[FINISH|Hypnotist Test Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[HEALTH|Hypnotist Test Sex Finish]]>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[ORGASM|Hypnotist Test Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Hypnotist Test Sex]]>><</link>></span><<nexttext>> <</if>> <br> <<link [[Emergency exit|Hypnotist Test Sex Finish]]>><<set $finish to 1>><</link>> <br><br><br><br><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> nods and walks away, swaying <<his>> ass hypnotically. <<elseif $enemyhealth lte 0>> <<He>> frowns. "Look, what's the point in testing this out if you're just going to beat me up?" <<elseif $alarm is 1 and $rescue is 1>> "You managed to scream," <<he>> mutters. "We'll need to change that in the future." <<else>> "I suppose we can stop there," <<he>> says. <</if>> <br><br> <<endcombat>> <<clotheson>> <<link [[Do it again|Hypnotist Test]]>><</link>><br> <<link [[Back home|Bedroom]]>><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<controlloss>> <<molested>> <<tentaclestart 8 15>> <<for _t to 0; _t lt $tentacles.max; _t++>> <<set $tentacles[_t].traits.pushUnique("hypno")>> <</for>> A hoard of tentacles accosts you. Each one is capable of hypnotising you, including tentacles that typically don't have the hypno trait. <</if>> <<effects>> <<effectstentacles>> <<tentacles>> <<statetentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Hypnotist Test Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Hypnotist Test Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> The creature loses interest in you, its testing complete, and returns to nothingness. <br><br> <<clotheson>> <<endcombat>> <<link [[Do it again|Hypnotist Test]]>><</link>><br> <<link [[Back home|Bedroom]]>><</link>>Increase and decrease belly size here. If you use anything but the exit link below to exit this scene, your belly size will be stuck, so be careful! Unset V.bellySizeDebug to fix. <hr> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>><<set $consensual to 1>> <<generate1>><<person1>> <<maninit>> <<set $bellySizeDebug to playerBellySize()>> <</if>> <<effects>> <<effectsman>> <<animateCombat>> <hr> <label class="no-numberify"> <span class="lewd">Body:</span><br> <div class="small-description"> <<link [[Roll over|Pregnancy Belly Test]]>><<set $position to (V.position === "doggy" ? "missionary" : "doggy")>><</link>> <br> Change Speed: <<link [[Idle|Pregnancy Belly Test]]>><<set $animDebug to false>><<set $enemyarousal to 0>><</link>> | <<link [[Slow|Pregnancy Belly Test]]>><<set $animDebug to true>><<set $enemyarousal to 0>><</link>> | <<link [[Med|Pregnancy Belly Test]]>><<set $animDebug to true>><<set $enemyarousal to 1 + ($enemyarousalmax / 5) * 1>><</link>> | <<link [[Fast|Pregnancy Belly Test]]>><<set $animDebug to true>><<set $enemyarousal to 1 + ($enemyarousalmax / 5) * 3>><</link>> | <<link [[Very Fast|Pregnancy Belly Test]]>><<set $animDebug to true>><<set $enemyarousal to 1 + ($enemyarousalmax / 5) * 4>><</link>> | </div> <hr> <span class="lewd">Belly:</span><br> <div class="small-description"> <<set $bellySizeDebug to Math.clamp($bellySizeDebug,0,24)>> <span class="blue">Current Belly Size: $bellySizeDebug</span> <<ind>> Increase belly size by: <<link [[1|Pregnancy Belly Test]]>><<set $bellySizeDebug++>><</link>> | <<link [[5|Pregnancy Belly Test]]>><<set $bellySizeDebug += 5>><</link>> | <<link [[10|Pregnancy Belly Test]]>><<set $bellySizeDebug += 10>><</link>> | <<ind>> Decrease belly size by: <<link [[1|Pregnancy Belly Test]]>><<set $bellySizeDebug-->><</link>> | <<link [[5|Pregnancy Belly Test]]>><<set $bellySizeDebug -= 5>><</link>> | <<link [[10|Pregnancy Belly Test]]>><<set $bellySizeDebug -= 10>><</link>> | <<ind>> Description: <<bellyDescription "pc" true>> </div> <hr> <span class="green">Clothes:</span><br> <div class="small-description"> Strip: <<link [[Strip All|Pregnancy Belly Test]]>><<strip>><</link>> | <<if $worn.upper.name isnot "naked">><<link [[Upper|Pregnancy Belly Test]]>><<upperstrip>><</link>> |<</if>> <<if $worn.under_upper.name isnot "naked">><<link [[Under_Upper|Pregnancy Belly Test]]>><<underupperstrip>><</link>> |<</if>> <<if $worn.lower.name isnot "naked">><<link [[Lower|Pregnancy Belly Test]]>><<lowerstrip>><</link>> |<</if>> <<if $worn.under_lower.name isnot "naked">><<link [[Under_Lower|Pregnancy Belly Test]]>><<underlowerstrip>><</link>> |<</if>> <<if $worn.head.name isnot "naked">><<link [[Head|Pregnancy Belly Test]]>><<headstrip>><</link>> |<</if>> <<if $worn.face.name isnot "naked">><<link [[Face|Pregnancy Belly Test]]>><<facestrip>><</link>> |<</if>> <<if $worn.hands.name isnot "naked">><<link [[Hands|Pregnancy Belly Test]]>><<handsstrip>><</link>> |<</if>> <<if $worn.legs.name isnot "naked">><<link [[Legs|Pregnancy Belly Test]]>><<legsstrip>><</link>> |<</if>> <<if $worn.feet.name isnot "naked">><<link [[Feet|Pregnancy Belly Test]]>><<feetstrip>><</link>> |<</if>> <br> Displace: <<if $worn.upper.name isnot "naked">><<link [[Upper|Pregnancy Belly Test]]>><<set $leftaction to "upper">><</link>> |<</if>> <<if $worn.under_upper.name isnot "naked">><<link [[Under_Upper|Pregnancy Belly Test]]>><<set $leftaction to "under_upper">><</link>> |<</if>> <<if $worn.lower.name isnot "naked">><<link [[Lower|Pregnancy Belly Test]]>><<set $leftaction to "lower">><</link>> |<</if>> <<if $worn.under_lower.name isnot "naked">><<link [[Under_Lower|Pregnancy Belly Test]]>><<set $leftaction to "under_lower">><</link>> |<</if>> <br> <<link [[Fix All Clothes|Pregnancy Belly Test]]>><<clotheson>><</link>> </div> <hr> <span class="gold">Props:</span><br> <div class="small-description"> <<set _propList to ["haybale", "table", "bench", "milk", "semen", "rails", "neck_shackle", "arm_shackle", "leg_shackle", "breast_pump", "penis_pump", "examtable", "hospitalbed", "ivbag"]>> Add: <<for _pr1 to 0; _pr1 < _propList.length; _pr1 ++>> <<if !$prop.includes(_propList[_pr1])>> <<capture _pr1>> <<link [[_propList[_pr1]|Pregnancy Belly Test]]>><<prop _propList[_pr1]>><</link>> | <</capture>> <</if>> <</for>> <br> Remove: <<for _pr2 to 0; _pr2 < _propList.length; _pr2 ++>> <<if $prop.includes(_propList[_pr2])>> <<capture _pr2>> <<link [[_propList[_pr2]|Pregnancy Belly Test]]>><<set $prop.delete(_propList[_pr2])>><</link>> | <</capture>> <</if>> <</for>> </div> </label> <br> <<link [[Back home|Bedroom]]>><<endcombat>><<unset $bellySizeDebug>><<unset $animDebug>><<clotheson>><</link>> <br> <!-- Used in the debug start events --><<foresthunt>><<effects>> <span id="statsTEST"> GRACE:<br> <<lgrace>><<llgrace>><<lllgrace>><br> <<ggrace>><<gggrace>><<ggggrace>><br><br> STRESS:<br> <<lstress>><<llstress>><<lllstress>><br> <<gstress>><<ggstress>><<gggstress>><br><br> TIREDNESS (fatigue):<br> <<ltiredness>><<lltiredness>><<llltiredness>><br> <<gtiredness>><<ggtiredness>><<gggtiredness>><br><br> AROUSAL:<br> <<larousal>><<llarousal>><<lllarousal>><br> <<garousal>><<ggarousal>><<gggarousal>><br><br> TRAUMA:<br> <<ltrauma>><<lltrauma>><<llltrauma>><br> <<gtrauma>><<ggtrauma>><<gggtrauma>><br><br> LEWDITY (the old one):<br> <<llewdity>><<lllewdity>><<llllewdity>><br> <<glewdity>><<gglewdity>><<ggglewdity>><br><br> PAIN:<br> <<lpain>><<llpain>><<lllpain>><br> <<gpain>><<ggpain>><<gggpain>><br><br> PURITY:<br> <<lpurity>><<llpurity>><<lllpurity>><br> <<gpurity>><<ggpurity>><<gggpurity>><br><br> DELINQUENCY:<br> <<ldelinquency>><<lldelinquency>><<llldelinquency>><br> <<gdelinquency>><<ggdelinquency>><<gggdelinquency>><br><br> COOL (status):<br> <<lcool>><<llcool>><<lllcool>><br> <<gcool>><<ggcool>><<gggcool>><br><br> SALTINESS:<br> <<lsaltiness>><<llsaltiness>><<lllsaltiness>><br> <<gsaltiness>><<ggsaltiness>><<gggsaltiness>><br><br> CHAOS:<br> <<lchaos>><<llchaos>><<lllchaos>><br> <<gchaos>><<ggchaos>><<gggchaos>><br><br> TRUST:<br> <<ltrust>><<lltrust>><<llltrust>><br> <<gtrust>><<ggtrust>><<gggtrust>><br><br> OXYGEN:<br> <<loxygen>><<goxygen>><br><br> CONTROL:<br> <<lcontrol>><<llcontrol>><<llcontrol>><br> <<gcontrol>><<ggcontrol>><<gggcontrol>><br> COMBAT CONTROL:<br> Current Control: $control<br> "Starting" Control: $controlstart<br> <<link "Control Up" "statDisplay Test">><<set $control += 250>><</link>> | <<link "Control Down" "statDisplay Test">><<set $control -= 250>><</link>> | <<link "Starting Control Up" "statDisplay Test">><<set $controlstart += 250>><</link>> | <<link "Starting Control Down" "statDisplay Test">><<set $controlstart -= 250>><</link>> <br> <<lcombatcontrol>><<llcombatcontrol>><<lllcombatcontrol>><br> <<gcombatcontrol>><<ggcombatcontrol>><<gggcombatcontrol>><br><br> MYSTERY:<br> <<gmystery>><br><br> SCHOOL:<br> <<gschool>><br><br> SWIMMING:<br> <<gswimming>><<ggswimming>><<gggswimming>><br><br> ATHLETICS:<br> <<gathletics>><<ggathletics>><<gggathletics>><br><br> DANCE:<br> <<gdanceskill>><<ggdanceskill>><<gggdanceskill>><br><br> TENDING:<br> <<gtending>><<ggtending>><<gggtending>><br><br> TREASURE:<br> <<ltreasure>><<gtreasure>><br> CHANCE OF HARASSMENT:<br> <<lharass>><<gharass>><<noharass>><br><br> LOVE:<br> <<llove>><<lllove>><<llllove>><br> <<glove>><<gglove>><<ggglove>><br> WITH NPC ARGUMENT:<br> <<llove "Robin">><<lllove "Whitney">><<llllove "Kylar">><br> <<glove "Vrelnir">><<gglove "John Lewdity">><<ggglove "The Cuddle Monster">><br><br> LUST:<br> <<llust>><<lllust>><<llllust>><br> <<glust>><<gglust>><<ggglust>><br><br> WITH NPC ARGUMENT:<br> <<llust "Sydney">><<lllust "Avery">><<llllust "Eden">><br> <<glust "Me">><<gglust "Tutorial Man">><<ggglust "Tentacle Number 529">><br><br> ROBIN'S TRAUMA:<br> Current Robin Trauma: <<print C.npc.Robin.trauma>> <<link "Trauma Up" "statDisplay Test">><<npcincr "Robin" trauma 10>><</link>> | <<link "Trauma Down" "statDisplay Test">><<npcincr "Robin" trauma -10>><</link>> | <br> <<lrtrauma>><<llrtrauma>><<lllrtrauma>><br> <<grtrauma>><<ggrtrauma>><<gggrtrauma>><br><br> ATTENTION:<br> <<lattention>><<llattention>><<lllattention>><br> <<if !$daily.prison>> <span class="red">DAILY PRISON OBJECT NOT INITIALISED</span> <<else>> <<gattention>><<ggattention>><<gggattention>> <</if>><br><br> AGGRO (Remy's Encroachment):<br> <<if !$farm>> <span class="red">FARM NOT INITIALISED</span> <</if>> <<laggro>><<llaggro>><<lllaggro>><br> <<gaggro>><<ggaggro>><<gggaggro>><br><br> SUSPICION (Kylar's Jealousy):<br> <<lksuspicion>><<llksuspicion>><<lllksuspicion>><br> <<gksuspicion>><<ggksuspicion>><<gggksuspicion>><br><br> SUSPICION:<br> <<lsuspicion>><<llsuspicion>><<lllsuspicion>><br> <<gsuspicion>><<ggsuspicion>><<gggsuspicion>><br><br> AVERY'S RAGE:<br> <<if $averyragerevealed is 1>> <<link "Toggle Avery Rage Reveal" "statDisplay Test">><<set $averyragerevealed to 0>><</link>> CURRENTLY: AVERY RAGE <span class="green">REVEALED</span> <<else>> <<link "Toggle Avery Rage Reveal" "statDisplay Test">><<set $averyragerevealed to 1>><</link>> CURRENTLY: AVERY RAGE <span class="red">HIDDEN</span> <</if>> <br> <<larage>><<llarage>><<lllarage>><br> <<garage>><<ggarage>><<gggarage>><br><br> ENDEARMENT:<br> <<lendear>><<llendear>><<lllendear>><br> <<gendear>><<ggendear>><<gggendear>><br><br> HOPE:<br> <<lhope>><<llhope>><<lllhope>><br> <<ghope>><<gghope>><<ggghope>><br><br> REBELLIOUSNESS:<br> <<lreb>><<llreb>><<lllreb>><br> <<greb>><<ggreb>><<gggreb>><br><br> BODY SKILLS:<br> <<ghandskill>><<goralskill>><<gthighskill>><<gbottomskill>><<gvaginalskill>><<gpenileskill>><<ganalskill>><<gfeetskill>><<gchestskill>><br><br> STOCKHOLM:<br> <<lstockholm>><<llstockholm>><<lllstockholm>><br> <<gstockholm>><<ggstockholm>><<gggstockholm>><br><br> SHAME:<br> <<lshame>><<llshame>><<lllshame>><br> <<gshame>><<ggshame>><<gggshame>><br><br> FARM YIELD:<br> <<lfarm>><<llfarm>><<lllfarm>><br> <<gfarm>><<ggfarm>><<gggfarm>><br><br> WEAPONS:<br> <<gnet>><<gbaton>><<ggbaton>><<gggbaton>><<gwhip>><<ggwhip>><<gggwhip>><br><br> SECURITY:<br> <<lsecurity>><<llsecurity>><<lllsecurity>><br> <<gsecurity>><<ggsecurity>><<gggsecurity>><br><br> IMPATIENCE:<br> <<limpatience>><<llimpatience>><<lllimpatience>><br> <<gimpatience>><<ggimpatience>><<gggimpatience>><br><br> INTEREST:<br> <<linterest>><<llinterest>><<lllinterest>><br> <<ginterest>><<gginterest>><<ggginterest>><br><br> DARING:<br> <<ldaring>><<lldaring>><<llldaring>><br> <<gdaring>><<ggdaring>><<gggdaring>><br><br> KNOWLEDGE:<br> <<gknowledge>><br><br> BODYWRITING:<br> <<gbodywriting>><<ggbodywriting>><<gggbodywriting>><br><br> HALLUCINOGENS:<br> <<ghallucinogens>><<gghallucinogens>><<ggghallucinogens>><br><br> OBEDIENCE:<br> <<lobey>><<llobey>><<lllobey>><br> <<gobey>><<ggobey>><<gggobey>><br><br> HUNGER:<br> <<lhunger>><<llhunger>><<lllhunger>><br> <<ghunger>><<gghunger>><<ggghunger>><br><br> ACCEPTANCE:<br> <<gacceptance>><<ginsecurity "breasts_big">><br><br> WILLPOWER:<br> <<gwillpower>><<ggwillpower>><<gggwillpower>><br><br> PHYSIQUE:<br> <<lphysique>><<llphysique>><<lllphysique>><br> <<gphysique>><<ggphysique>><<gggphysique>><br><br> TANNED:<br> <<gtanned>><<ggtanned>><<gggtanned>><br><br> CORRUPTION:<br> <<link "Give Self Left Ear Slime" "statDisplay Test">><<parasite left_ear slime>><</link>><br> <<link "Corruption Up" "statDisplay Test">><<set $earSlime.corruption += 20>><</link>> | <<link "Corruption Down" "statDisplay Test">><<set $earSlime.corruption -= 20>><</link>> Current: $earSlime.corruption<br> <<link "Growth Up" "statDisplay Test">><<set $earSlime.growth += 20>><</link>> | <<link "Growth Down" "statDisplay Test">><<set $earSlime.growth -= 20>><</link>> Current: $earSlime.growth<br> <<lcorruption>><<llcorruption>><<lllcorruption>><br> <<gcorruption>><<ggcorruption>><<gggcorruption>><br><br> AWARENESS:<br> <<if $innocencestate is 1>> <<link "Toggle Innocence" "statDisplay Test">><<set $innocencestate to 0>><</link>> CURRENTLY: INNOCENT <<else>> <<link "Toggle Innocence" "statDisplay Test">><<set $innocencestate to 1>><</link>> CURRENTLY: AWARE <</if>> <br> <<lawareness>><<llawareness>><<lllawareness>><br> <<gawareness>><<ggawareness>><<gggawareness>><br><br> SYDNEY'S PURITY:<br> <<if C.npc.Sydney.purity gte 1>> <<link "CORRUPT SYDNEY" "statDisplay Test">><<set C.npc.Sydney.purity to -1>><</link>> CURRENTLY: PURE <<else>> <<link "PURIFY SYDNEY" "statDisplay Test">><<set C.npc.Sydney.purity to 1>><</link>> CURRENTLY: CORRUPT <</if>> <br> <<lspurity>><<llspurity>><<lllspurity>><br> <<gspurity>><<ggspurity>><<gggspurity>><br><br> SYDNEY'S LUST:<br> <<lslust>><<llslust>><<lllslust>><br> <<gslust>><<ggslust>><<gggslust>><br><br> SCHOOL GRADES:<br> <<link "Stars to 0" "statDisplay Test">><<set $science_star to 0>><<set $maths_star to 0>><<set $english_star to 0>><<set $history_star to 0>><</link>> | <<link "Stars to 1" "statDisplay Test">><<set $science_star to 1>><<set $maths_star to 1>><<set $english_star to 1>><<set $history_star to 1>><</link>> | <<link "Stars to 2" "statDisplay Test">><<set $science_star to 2>><<set $maths_star to 2>><<set $english_star to 2>><<set $history_star to 2>><</link>> | <<link "Stars to 3" "statDisplay Test">><<set $science_star to 3>><<set $maths_star to 3>><<set $english_star to 3>><<set $history_star to 3>><</link>> | <br> <<lscience>><<gscience>><<ggscience>><<gggscience>><br> <<lmaths>><<gmaths>><<ggmaths>><<gggmaths>><br> <<lenglish>><<genglish>><<ggenglish>><<gggenglish>><br> <<lhistory>><<ghistory>><<gghistory>><<ggghistory>><br><br> HOUSEKEEPING:<br> Current: $housekeeping <<link "Housekeeping to 0" "statDisplay Test">><<set $housekeeping to 0>><</link>> <<link "Housekeeping to 600" "statDisplay Test">><<set $housekeeping to 600>><</link>> <br> <<ghousekeeping 500>> (Threshold: 500)<br> <<gghousekeeping>><<ggghousekeeping>><br><br> NPC DOMINANCE:<br> <<ldom>><<lldom>><<llldom>><br> <<gdom>><<ggdom>><<gggdom>><br> ROBIN'S CONFIDENCE:<br> <<npc "Robin" 2>> <<ldom>><<lldom>><<llldom>><br> <<gdom>><<ggdom>><<gggdom>><br> <<endevent>> MANUAL ARGUMENT NAME CALL:<br> <<ldom "Vrelnir">><<lldom "Vrelnir">><<llldom "Vrelnir">><br> <<gdom "Vrelnir">><<ggdom "Vrelnir">><<gggdom "Vrelnir">><br> WITH MULTIPLE LOADED NAMED NPCS (Whitney slot 0, Robin slot 1):<br> <<npc "Whitney">><<npc "Eden" 2>> <<ldom>><<lldom>><<llldom>><br> <<gdom>><<ggdom>><<gggdom>><br><br> <<endevent>> RESPECT:<br> <<lrespect>><<llrespect>><<lllrespect>><br> <<grespect>><<ggrespect>><<gggrespect>><br> PIRATE RESPECT:<br> <<grespect "scum">><<ggrespect "scum">><<gggrespect "scum">><br> <<grespect "mate">><<ggrespect "mate">><<gggrespect "mate">><br><br> ALEX'S DEVIANCY:<br> <<ladeviancy>><<lladeviancy>><<llladeviancy>><br> <<gadeviancy>><<ggadeviancy>><<gggadeviancy>><br><br> HARMONY:<br> <<gharmony>><<lharmony>><br> FEROCITY:<br> <<gferocity>><<lferocity>><br> WOLF TRUST:<br> <<wolfpacktrust>><<wolfpackfear>><br><br> OTHER:<br> <<incgpenisinsecurity>><<incggpenisinsecurity>><<incgbreastinsecurity>><<gpenisacceptance 10>><br><br> </span> <br> <<if $statdisable is "f">> <<link "Toggle Stat Disable" "statDisplay Test">><<set $statdisable to "t">><</link>> CURRENTLY: STATS <span class="green">ENABLED</span> <<elseif $statdisable is "t">> <<link "Toggle Stat Disable" "statDisplay Test">><<set $statdisable to "f">><</link>> CURRENTLY: STATS <span class="red">DISABLED</span> <<else>> <<link "Toggle Stat Disable" "statDisplay Test">><<set $statdisable to "f">><</link>> CURRENTLY: SOMETHING OTHER THAN "t" OR "f" FOR SOME REASON, PROBABLY AN UNRELATED BUG, CLICK TO ENABLE <</if>> <br><br><br> <<link [[Back Home|Bedroom]]>><<endcombat>><</link>> <br><<effects>> Take penile virginity: <span class="gold"><<= !unableTakeVirginity("penile") ? "Yes":"No">>.</span><br> male vaginas 0% + female penises 100% + disable anal: <span class="gold"><<= ($cbchance is 0 and $dgchance is 100 and $analdisable isnot "f") ? "true":"false">></span><br> All NPCs are male + male vaginas 0% + disable anal: <span class="gold"><<= (maleChance() is 100 and $cbchance is 0 and $analdisable isnot "f") ? "true":"false">></span><br> All NPCs are female + female penises 100% + disable anal: <span class="gold"><<= (maleChance() is 0 and $dgchance is 100 and $analdisable isnot "f") ? "true":"false">></span><br> All NPCs are male + male vaginas 100% + strap-on penises 100% + disable anal: <span class="gold"><<= (maleChance() is 100 and $cbchance is 100 and $straponchance is 100 and $analdisable isnot "f") ? "true":"false">></span><br> All NPCs are female + female penises 0% + strap-on penises 100% + disable anal: <span class="gold"><<= (maleChance() is 0 and $dgchance is 0 and $straponchance is 100 and $analdisable isnot "f") ? "true":"false">></span> <br><br> Take vaginal virginity: <span class="gold"><<= !unableTakeVirginity("vaginal") ? "Yes":"No">>.</span><br> male vaginas 100% + female penises 0% + strap-on penises 0%: <span class="gold"><<= ($cbchance is 100 and $dgchance is 0 and $straponchance is 0) ? "true":"false">></span><br> All NPCs are male + male vaginas 100% + strap-on penises 0%: <span class="gold"><<= (maleChance() is 100 and $cbchance is 100 and $straponchance is 0) ? "true":"false">></span><br> All NPCs are female + female penises 0% + strap-on penises 0%: <span class="gold"><<= (maleChance() is 0 and $dgchance is 0 and $straponchance is 0) ? "true":"false">></span> <br><br> <<set _test to "Virginity Show Test">> Virginity: <span class="gold"><<= !unableTakeVirginity() and $player.virginity.penile is true and $player.virginity.vaginal is true ? "true" : "false">></span> <br> <<link [[Generate Take Virginity NPCs|_test]]>><<endevent>><<generatetakevirginity 1>><<generatetakevirginity 2>><<generatetakevirginity 3>><<generatetakevirginity 4>><<generatetakevirginity 5>><<generatetakevirginity 6>><</link>> <br> <<if EventSystem.any() and $debug is 1>> <<script>> V.NPCList.forEach((element, index) => { console.log(`NPC_${index}; penis: ${element.penis}; vagina: ${element.vagina}.`); }); <</script>> <</if>> <<link [[Take Virginity Combat|Underground Virgin Rape]]>><<endevent>><<generatetakevirginity 1>><<set $molestationstart to 1>><</link>> <br><br> Brothel Virginity Show: <br> <<link [[Briar's Office Show|Briar's Office Show]]>><<endevent>><<npc Briar>><<person1>><<set Time.setDate(Time.getNextWeekdayDate(5))>><</link>> <br> <<link [[Brothel Virginity Show|Brothel Stage]]>><<endevent>><<$brothelVirginityIntro to true>><<set Time.setDate(Time.getNextWeekdayDate(5))>><<acceptbrothelshow "virginity">><<set Time.setDate(Time.getNextWeekdayDate(6))>><</link>> <br> <<link [[Show Virginity Auction|Brothel Show Virginity Auction]]>><<endevent>><<set $virginitytip to 0>><<set $weekly.brothelVirginityShow to 0>><</link>> <br> Underground Brothel Virginity Show: <br> <<link [[Underground Brothel Virginity Show|Underground Intro]]>><<endevent>><<generate1>><<generate2>><</link>> <br><br> <<link [[Gameplay Settings|Settings]]>><<set $settingsExitPassage to "Virginity Show Test">><</link>> <br> <<link [[Back Home|Bedroom]]>><<endevent>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<generate1>><<generate2>><<generate3>><<person1>> <br><br> <span class="red">The gang advances...</span> <br><br> <<controlloss>> <br> <<violence 1>> <<neutral 1>> <<maninit>> <</if>> <div class="debugBorder"><<effects>></div> <div class="debugBorder"><<effectsman>></div> <div class="debugBorder"><<man>></div> <div class="debugBorder"><<audience>></div> <div class="debugBorder"><<stateman>></div> <br><br> <div class="debugBorder"><<debugactionsman>></div> <<if $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|UITest1 Finish]]>><</link>></span><<nexttext>> <<elseif $enemyhealth lte 0>> <span id="next"><<link [[Next|UITest1 Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|UITest1]]>><</link>></span><<nexttext>> <</if>>Demo Over<<widget "debugactionsman">> <!-- Unused --> <</widget>><<link [[Return|$lastPassage]]>> <<unset $lastPassage>> <</link>> <br><br> Report errors on this page, unsupported features, or if generated and reference images look different. <br> <div id="useragent"> <b>User-Agent (browser & OS versions)</b>: <<print navigator.userAgent>>. <<link "Hide">><<remove '#useragent'>><</link>> <br><br> </div> 1. <b>globalCompositeOperation</b>: <<twinescript>> let c2d = Renderer.createCanvas(16, 16); _gcoSupported = 'globalCompositeOperation' in c2d && typeof c2d.globalCompositeOperation is 'string'; _gaSupported = 'globalAlpha' in c2d && typeof c2d.globalAlpha is 'number'; <</twinescript>> <<if _gcoSupported>> <span class="green">supported</span>. <<else>> <span class="red">not supported</span>. Most of the renderer features will not work. <</if>> <br> <<dynamicblock delay "id=ontestimageloaded">> 2. <b>getImageData</b>: <<twinescript>> _gidSupported = false; let c2d = Renderer.createCanvas(_width, _height); c2d.drawImage(_testimg, 0, 0); try { c2d.getImageData(0, 0, _width, _height); _gidSupported = true; } catch (e){ console.debug(e); } <</twinescript>> <<if _gidSupported>> <span class="green">supported</span>. That's surprising. <<else>> not supported. That's the expected result. <</if>> <br> 3. <b>Composition modes</b> <br> <<if _gcoSupported>> <div style="background:#8000ff;display:inline-block"> <<twinescript>> let c2d = Renderer.createCanvas(_width*7, _height); function testOneMode(index, mode, fill) { c2d.globalCompositeOperation = 'source-over'; c2d.fillStyle = fill; c2d.fillRect(_width*index, 0, _width, _height); c2d.globalCompositeOperation = mode; c2d.drawImage(_testimg, _width*index, 0); } testOneMode(0, 'destination-in', '#00ff80'); testOneMode(1, 'saturation', '#ff0000'); testOneMode(2, 'multiply', '#808080'); testOneMode(3, 'screen', '#404040'); testOneMode(4, 'hard-light', '#00ff80'); testOneMode(5, 'color-dodge', '#404040'); testOneMode(6, 'color-burn', '#808080'); output.append(c2d.canvas); <</twinescript>> </div> - generated image <br> <div style="background:#8000ff;display:inline-block;"> <img src="img/testref1.png" style="vertical-align:middle"> </div> - reference image <br> <i>Composition modes, left-to-right: destination-in, saturation, multiply, screen, hard-light, color-dodge, color-burn</i> <br> <<else>> <span class="red">not supported</span><br> <</if>> 4. <b>globalAlpha</b> <br> <<if _gaSupported>> <<twinescript>> let c2d = Renderer.createCanvas(_width, _height); c2d.fillStyle = '#00ff80'; c2d.fillRect(0, 0, _width, _height); c2d.globalAlpha = 0.5; c2d.drawImage(_testimg, 0, 0); output.append(c2d.canvas); <</twinescript>> - generated image <br> <img src="img/testref2.png" style="vertical-align:middle"> - reference image <br> <<else>> <span class="red" not supported</span><br> <</if>> <</dynamicblock>> <<twinescript>> let image = new Image(); image.onload = ()=>{ _testimg = image; _width = Number(image.width); _height = Number(image.height); Dynamic.render("ontestimageloaded"); } image.src = "img/test0.png"; <</twinescript>> 5. <b>Model test run</b> <br> <div style="display:flex"> <div style="margin:0 2px"> Generated image:<br> <div style="width:160px;height:192px;overflow:hidden;background:#8000ff;"> <<selectmodel "main">> <<set _modeloptions.mouth to 'neutral'>> <<set _modeloptions.skin_tone to 1>> <<set _modeloptions.worn.head.index to 2>> <<set _modeloptions.worn.head.colour to 'custom'>> <<set _modeloptions.filters.worn.head.custom to {blend:{gradient:'linear',values:[110,60,130,30],colors:['#000000','#FF0000']},blendMode:'hard-light'}>> <<set _modeloptions.worn.upper.index to 1>> <<set _modeloptions.worn.upper.alpha to 0.7>> <<set _modeloptions.worn.upper.colour to "custom">> <<set _modeloptions.filters.worn.upper.custom to getCustomClothesColourCanvasFilter(90,1,4,2)>> <<set _modeloptions.worn.under_lower.index to 1>> <<set _modeloptions.worn.under_lower.colour to 'red'>> <<set _modeloptions.worn.lower.index to 1>> <<set _modeloptions.worn.lower.alpha to 0.7>> <<set _modeloptions.worn.lower.colour to _modeloptions.worn_upper_colour>> <<set _modeloptions.filters.worn_lower_custom to _modeloptions.filters.worn_upper_custom>> <<rendermodel>> </div> </div> <div> Reference image:<br> <div style="width:160px;height:192px;overflow:hidden;background:#8000ff;"> <img src="img/testref3.png"> </div> </div> </div> <br> <<link [[Return|$lastPassage]]>> <<unset $lastPassage>> <</link>><<silently>><<effects>><</silently>><br> /*<<Avatar>>*/ <<link [[<<|Testing Room]]>><<set $pain -= 10>><</link>> <<link [[<|Testing Room]]>><<set $pain -= 5>><</link>> Pain (<<print $pain>>) <<link [[>|Testing Room]]>><<set $pain += 5>><</link>> <<link [[>>|Testing Room]]>><<set $pain += 10>><</link>> <br> <<link [[<<|Testing Room]]>><<arousal -1000>><</link>> <<link [[<|Testing Room]]>><<arousal -100>><</link>> Arousal (<<print $arousal>>) <<link [[>|Testing Room]]>><<arousal 100>><</link>> <<link [[>>|Testing Room]]>><<arousal 1000>><</link>> <br> <<link [[<<|Testing Room]]>><<set $stress -= 1000>><</link>> <<link [[<|Testing Room]]>><<set $stress -= 100>><</link>> Stress (<<print $stress>>) <<link [[>|Testing Room]]>><<set $stress += 100>><</link>> <<link [[>>|Testing Room]]>><<set $stress += 1000>><</link>> <br> <<link [[<<|Testing Room]]>><<set $trauma -= 1000>><</link>> <<link [[<|Testing Room]]>><<set $trauma -= 100>><</link>> Trauma (<<print $trauma>>) <<link [[>|Testing Room]]>><<set $trauma += 100>><</link>> <<link [[>>|Testing Room]]>><<set $trauma += 1000>><</link>> <br><br> <<link [[<<|Testing Room]]>><<set $promiscuity -= 10>><</link>> <<link [[<|Testing Room]]>><<set $promiscuity -= 2>><</link>> Promiscuity (<<print $promiscuity>>) <<link [[>|Testing Room]]>><<set $promiscuity += 2>><</link>> <<link [[>>|Testing Room]]>><<set $promiscuity += 10>><</link>> <br> <<link [[<<|Testing Room]]>><<set $exhibitionism -= 10>><</link>> <<link [[<|Testing Room]]>><<set $exhibitionism -= 2>><</link>> Exhibitionism (<<print $exhibitionism>>) <<link [[>|Testing Room]]>><<set $exhibitionism += 2>><</link>> <<link [[>>|Testing Room]]>><<set $exhibitionism += 10>><</link>> <br><br> Toggle: <<link [[Gender|Testing Room]]>> /* note: add ability to switch to herm gender in the future; maybe a set of (three) buttons to pick which gender instead of a toggle? */ <<set $player.gender to ($player.sex is "m" ? "f" : "m")>> <<set $player.penisExist to ($player.sex is "m")>> <<set $player.ballsExist to ($player.sex is "m")>> <<set $player.vaginaExist to ($player.sex is "f")>> <</link>> | <<link [[Sex|Testing Room]]>> <<set $player.sex to ($player.sex is "m" ? "f" : "m")>> <<set $player.penisExist to ($player.sex is "m")>> <<set $player.ballsExist to ($player.sex is "m")>> <<set $player.vaginaExist to ($player.sex is "f")>> <</link>> | <<link [[Virginity|Testing Room]]>> <<if $player.virginity.penile isnot true or $player.virginity.vaginal isnot true>> <<set $player.virginity.vaginal to true>><<set $player.virginity.penile to true>><<set $player.virginity.anal to true>><<set $player.virginity.oral to true>> <<else>> <<set $player.virginity.vaginal to false>><<set $player.virginity.penile to false>><<set $player.virginity.anal to false>><<set $player.virginity.oral to false>><<set $player.virginity.temple to false>> <</if>> <</link>> | <<link [[Hirsute|Testing Room]]>> <<set $hirsutedisable to ($hirsutedisable is "t"? "f" : "t")>> <</link>> | <<link [[Bound Left Arm|Testing Room]]>> <<if $leftarm is "bound">> <<set $leftarm to 0>><<set $leftboundcarry to 0>> <<else>> <<set $leftarm to "bound">> <</if>> <</link>> | <<link [[Bound Right Arm|Testing Room]]>> <<if $rightarm is "bound">> <<set $rightarm to 0>><<set $rightboundcarry to 0>> <<else>> <<set $rightarm to "bound">> <</if>> <</link>> <br><br> Breast Size - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 <br> Hair Colour (<<print $haircolour>>): <<link [[Black|Testing Room]]>><<set $haircolour to "black">><</link>> | <<link [[Brown|Testing Room]]>><<set $haircolour to "brown">><</link>> | <<link [[Red|Testing Room]]>><<set $haircolour to "red">><</link>> | <<link [[Ginger|Testing Room]]>><<set $haircolour to "ginger">><</link>> | <<link [[Blond|Testing Room]]>><<set $haircolour to "blond">><</link>> | <<link [[Green|Testing Room]]>><<set $haircolour to "green">><</link>> | <<link [[Blue|Testing Room]]>><<set $haircolour to "blue">><</link>> | <<link [[Purple|Testing Room]]>><<set $haircolour to "purple">><</link>> <br> Fringe Colour (<<print $hairfringecolour>>): <<link [[Black|Testing Room]]>><<set $hairfringecolour to "black">><</link>> | <<link [[Brown|Testing Room]]>><<set $hairfringecolour to "brown">><</link>> | <<link [[Red|Testing Room]]>><<set $hairfringecolour to "red">><</link>> | <<link [[Ginger|Testing Room]]>><<set $hairfringecolour to "ginger">><</link>> | <<link [[Blond|Testing Room]]>><<set $hairfringecolour to "blond">><</link>> | <<link [[Green|Testing Room]]>><<set $hairfringecolour to "green">><</link>> | <<link [[Blue|Testing Room]]>><<set $hairfringecolour to "blue">><</link>> | <<link [[Purple|Testing Room]]>><<set $hairfringecolour to "purple">><</link>> <br> <<link [[<<|Testing Room]]>><<set $hairlength -= 100>><</link>> <<link [[<|Testing Room]]>><<set $hairlength -= 10>><</link>> Hair Length (<<print $hairlength>>) <<link [[>|Testing Room]]>><<set $hairlength += 10>><</link>> <<link [[>>|Testing Room]]>><<set $hairlength += 100>><</link>> <br> Eye Colour (<<print $leftEyeColour>>/<<print $rightEyeColour>>): <<link [[Hazel|Testing Room]]>><<set $leftEyeColour to "hazel">><<set $rightEyeColour to "hazel">><</link>> | <<link [[Amber|Testing Room]]>><<set $leftEyeColour to "amber">><<set $rightEyeColour to "amber">><</link>> | <<link [[Green|Testing Room]]>><<set $leftEyeColour to "green">><<set $rightEyeColour to "green">><</link>> | <<link [[Dark Blue|Testing Room]]>><<set $leftEyeColour to "dark blue">><<set $rightEyeColour to "dark blue">><</link>> | <<link [[Light Blue|Testing Room]]>><<set $leftEyeColour to "light blue">><<set $rightEyeColour to "light blue">><</link>> | <<link [[Purple|Testing Room]]>><<set $leftEyeColour to "purple">><<set $rightEyeColour to "purple">><</link>> <br><br> <<link [[<|Testing Room]]>><<set $wolfgirl -= 1>><</link>> Wolf (<<print $wolfgirl>>) <<link [[>|Testing Room]]>><<set $wolfgirl += 1>><</link>> | <<link [[<|Testing Room]]>><<set $angel -= 1>><</link>> Angel (<<print $angel>>) <<link [[>|Testing Room]]>><<set $angel += 1>><</link>> | <<link [[<|Testing Room]]>><<set $demon -= 1>><</link>> Demon (<<print $demon>>) <<link [[>|Testing Room]]>><<set $demon += 1>><</link>> | <<link [[<|Testing Room]]>><<set $fallenangel -= 1>><</link>> Fallen Angel (<<print $fallenangel>>) <<link [[>|Testing Room]]>><<set $fallenangel += 1>><</link>> <br><br> Semen: <<link [[<|Testing Room]]>><<bodyliquid "vagina" "semen" -1>><</link>> Vagina (<<print $player.bodyliquid.vagina.semen>>) <<link [[>|Testing Room]]>><<bodyliquid "vagina" "semen">><</link>> | <<link [[<|Testing Room]]>><<bodyliquid "anus" "semen" -1>><</link>> Anus (<<print $player.bodyliquid.anus.semen>>) <<link [[>|Testing Room]]>><<bodyliquid "anus" "semen">><</link>> | <<link [[<|Testing Room]]>><<bodyliquid "mouth" "semen" -1>><</link>> Mouth (<<print $player.bodyliquid.mouth.semen>>) <<link [[>|Testing Room]]>><<bodyliquid "mouth" "semen" 1>><</link>> <br> Goo: <<link [[<|Testing Room]]>><<bodyliquid "vagina" "goo" -1>><</link>> Vagina (<<print $player.bodyliquid.vagina.goo>>) <<link [[>|Testing Room]]>><<bodyliquid "vagina" "goo">><</link>> | <<link [[<|Testing Room]]>><<bodyliquid "anus" "goo" -1>><</link>> Anus (<<print $player.bodyliquid.anus.goo>>) <<link [[>|Testing Room]]>><<bodyliquid "anus" "goo">><</link>> | <<link [[<|Testing Room]]>><<bodyliquid "mouth" "goo" -1>><</link>> Mouth (<<print $player.bodyliquid.mouth.goo>>) <<link [[>|Testing Room]]>><<bodyliquid "mouth" "goo">><</link>> <br> Parasite: <<link [[Chest|Testing Room]]>> <<if $parasite.nipples.name is undefined>> <<parasite nipples urchin>> <<else>> <<removeparasite nipples>> <</if>> <</link>> | <<link [[Penis|Testing Room]]>> <<if $parasite.penis.name is undefined>> <<parasite penis urchin>> <<else>> <<removeparasite penis>> <</if>> <</link>> | <<link [[Clit|Testing Room]]>> <<if $parasite.clit.name is undefined>> <<parasite clit urchin>> <<else>> <<removeparasite clit>> <</if>> <</link>> <br><br> Upper Clothes: <<link [[<<|Testing Room]]>><<set $worn.upper.integrity -= 10>><</link>> <<link [[<|Testing Room]]>><<set $worn.upper.integrity -= 1>><</link>> Integrity (<<print $worn.upper.integrity>>) <<link [[>|Testing Room]]>><<set $worn.upper.integrity += 1>><</link>> <<link [[>>|Testing Room]]>><<set $worn.upper.integrity += 10>><</link>> | <<link [[<|Testing Room]]>><<set $upperwet -= 100>><</link>> Wet (<<print $upperwet>>) <<link [[>|Testing Room]]>><<set $upperwet += 1>><</link>> <br> Lower Clothes: <<link [[<<|Testing Room]]>><<set $worn.lower.integrity -= 10>><</link>> <<link [[<|Testing Room]]>><<set $worn.lower.integrity -= 1>><</link>> Integrity (<<print $worn.lower.integrity>>) <<link [[>|Testing Room]]>><<set $worn.lower.integrity += 1>><</link>> <<link [[>>|Testing Room]]>><<set $worn.lower.integrity += 10>><</link>> | <<link [[<|Testing Room]]>><<set $lowerwet -= 100>><</link>> Wet (<<print $lowerwet>>) <<link [[>|Testing Room]]>><<set $lowerwet += 1>><</link>> <br> Under Bottoms: <<link [[<<|Testing Room]]>><<set $worn.under_lower.integrity -= 10>><</link>> <<link [[<|Testing Room]]>><<set $worn.under_lower.integrity -= 1>><</link>> Integrity (<<print $worn.under_lower.integrity>>) <<link [[>|Testing Room]]>><<set $worn.under_lower.integrity += 1>><</link>> <<link [[>>|Testing Room]]>><<set $worn.under_lower.integrity += 10>><</link>> | <<link [[<|Testing Room]]>><<set $underlowerwet -= 100>><</link>> Wet (<<print $underlowerwet>>) <<link [[>|Testing Room]]>><<set $underlowerwet += 1>><</link>> <br> Under Top: <<link [[<<|Testing Room]]>><<set $worn.under_upper.integrity -= 10>><</link>> <<link [[<|Testing Room]]>><<set $worn.under_upper.integrity -= 1>><</link>> Integrity (<<print $worn.under_upper.integrity>>) <<link [[>|Testing Room]]>><<set $worn.under_upper.integrity += 1>><</link>> <<link [[>>|Testing Room]]>><<set $worn.under_upper.integrity += 10>><</link>> | <<link [[<|Testing Room]]>><<set $underupperwet -= 100>><</link>> Wet (<<print $underupperwet>>) <<link [[>|Testing Room]]>><<set $underupperwet += 1>><</link>> <br> /*ToDo: Add handling for toggling clothing.*/ /*ToDo: Wardrobe and Shop*/ <br><br> <<link [[Bedroom]]>><</link>> <br><<widget "attitudes">> <div class="settingsGrid"> <div class="settingsHeader">Attitudes</div> <div class="settingsToggleItem"> <span class="gold bold">How do you feel about consensual sex?</span> <br> <span class="black small-description"><i>Provides a bonus after consensual sex based on how assertive you were.</i></span> <br> <label> <<radiobutton "$assertiveaction" "submissive" autocheck>> <span class="meek">I like making people feel good</span> (increase submissiveness) </label> <br> <label> <<radiobutton "$assertiveaction" "defiant" autocheck>> <span class="brat">I like being in control</span> (increase defiance) </label> <br> <label> <<radiobutton "$assertiveaction" "trauma" autocheck>> <span class="green">It's naughty</span> (decrease trauma) </label> <br> <label> <<radiobutton "$assertiveaction" "stress" autocheck>> <span class="green">It's fun</span> (decrease stress) </label> </div> <div class="settingsToggleItem"> <span class="gold bold">With what demeanour do you speak with others?</span> <br> <label><<radiobutton "$speech_attitude" "neutral" autocheck>> Neutral</label> <br> <<if $submissive gt 850>> <label><<radiobutton "$speech_attitude" "meek" autocheck>> <span class="meek">Meek</span></label> <br> <<else>> <input type="radio" disabled /> <span class="black"><i>You're too defiant to adopt a meek demeanor.</i></span> <br> <</if>> <<if $submissive lt 1150>> <label><<radiobutton "$speech_attitude" "bratty" autocheck>> <span class="brat">Bratty</span></label> <br> <<else>> <input type="radio" disabled /> <span class="black"><i>You're too submissive to adopt a bratty demeanor.</i></span> <br> <</if>> </div> <div class="settingsToggleItem"> <span class="gold bold">What makes you feel uncomfortable?</span> <br> /* some events can force the switches to false without actually unlocking them */ <<if $attitudesControl.unlockExhibitionismUnderwear or $uncomfortable.underwear is false>> <label><<checkbox "$uncomfortable.underwear" false true autocheck>> Having your underwear seen by others</label> <<else>> <input type="checkbox" checked disabled /> <span class="black">Having your underwear seen by others</span> <br> <span class="blue small-description"><i>Requires higher exhibitionism.</i></span> <</if>> <br> <<if $attitudesControl.unlockExhibitionismNude or $uncomfortable.nude is false>> <label><<checkbox "$uncomfortable.nude" false true autocheck>> Being nude in front of others</label> <<else>> <input type="checkbox" checked disabled /> <span class="black">Being nude in front of others</span> <br> <span class="blue small-description"><i>Requires higher exhibitionism.</i></span> <</if>> <br> <<if $attitudesControl.unlockProstitution>> <label><<checkbox "$uncomfortable.prostituting" false true autocheck>> Prostituting yourself to help avoid Bailey's torments <br> <span class="black small-description"><i>If unchecked, you can prostitute yourself without appropriate promiscuity. Doing so will decrease control.</i></span></label> <<else>> <input type="checkbox" checked disabled /> <span class="black">Prostituting yourself to help avoid Bailey's torments</span> <br> <span class="blue small-description"><i>Bailey hasn't scared you enough.</i></span> <</if>> <br> <<if $gamemode isnot "hard">> <<if $attitudesControl.unlockLewd>> <label><<checkbox "$uncomfortable.lewd" false true autocheck>> Reflecting on all the lewd acts you've performed <br> <span class="black small-description"><i>If unchecked, exhibitionism, promiscuity, and deviancy will not decay. This can make managing control difficult.</i></span></label> <<else>> <input type="checkbox" checked disabled /> <span class="black">Reflecting on all the lewd acts you've performed</span> <br> <span class="blue small-description"><i>Requires higher exhibitionism, deviancy, or promiscuity.</i></span> <</if>> <br> <</if>> <<if $attitudesControl.unlockHypnosis>> <label><<checkbox "$uncomfortable.hypnosis" false true autocheck>> Being hypnotised during sex <br> <span class="black small-description"><i>If unchecked, you will accept hypnosis attempts during combat regardless of willpower.</i></span></label> <br> <</if>> </div> <<set _loveIntStart1 to $loveInterest.primary>> <<set _loveIntStart2 to $loveInterest.secondary>> <div id="loveInterest" class="settingsToggleItem"> <div class="gold bold">Who do you consider to be your love interest?</div> <<loveInterest>> </div> <<loveInterestFunction>> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader">Default Combat Actions</div> <div class="settingsToggleItemWide"> <<setupDefaults>> <span class="gold bold">How do you feel about others?</span> <br> <<if $moleststat gt 0 or $debug is 1>> <<set _options to ["Everyone","Strangers","Animals","Tentacles","Acquaintances","Robin","Bailey"]>> <<set _named to ["Whitney","Kylar","Eden","Avery","Leighton","Sydney","Alex","Ivory Wraith","Black Wolf","Great Hawk"]>> <<for _i to 0; _i lt _named.length; _i++>> <<set _index to $NPCNameList.indexOf(_named[_i])>> <<if $NPCName[_index].init is 1>> <<run _options.push(_named[_i])>> <</if>> <</for>> <<run _options.push("Alternative")>> <<run _options.push("Defiant")>> <<run _options.push("Submissive")>> /*Data for the later loops*/ <<set _titles to ["Left Hand","Right Hand","Feet","Mouth","Penis","Vagina","Anus"]>> <<set _dataName to ["leftaction","rightaction","feetaction","mouthaction","penisaction","vaginaaction","anusaction"]>> <<set _data to ["_leftHand","_rightHand","_feet","_mouth","_penis","_vagina","_anus"]>> <<set _defaultActions = DefaultActions.load(DefaultActions.create())>> <<listbox "_defaultoption" autoselect>> <<optionsfrom _options>> <</listbox>> <<combatDefaults>> <br> <<set _currentActionSet to 0>> <div id="othersFeelings"> <<othersFeelings 0>> </div> <<else>> <span class="black"><i>Default Actions will be unlocked after your first encounter.</i></span> <</if>> </div> </div> <</widget>> <<widget "othersFeelings">> <<set _currentOptions to _args[0]>> <<set _stringDefault to "_defaultActions.consensual['"+_options[_currentOptions]+"']">> <<switch _options[_currentOptions]>> <<case "Everyone">><span class="red small-description">"Everyone" will only apply defaults when the "Override related settings" link is used. This will override defaults for every NPC.</span> <<set _requireConfirm to true>> <<case "Acquaintances">><span class="red small-description">Will override the other named acquaintances in the list if you use "Override related settings".</span> <<set _requireConfirm to true>> <<case "Alternative" "Defiant" "Submissive">>Can be used to replace moves mid-combat. Is not changed by "Override related settings" in any way. <<set _requireConfirm to false>> <<default>><<set _requireConfirm to false>> <</switch>> <br><br> <span class="gold bold">Selected Action Set:</span> <br> Your first action set has highest priority. Default options in higher sets are used if the default action in a lower set is unavailable. <div class="featButtonContainer no-numberify"> <<if _currentActionSet gt 0>> <div class="featButton"> <<button "<span class='fa-icon fa-left'></span>">> <<set _currentActionSet-->> <<replace #othersFeelings>><<othersFeelings _currentOptions>><</replace>> <</button>> </div> <<else>> <div class="featButtonGrey"> <<button "<span class='fa-icon fa-left'></span>">><</button>> </div> <</if>> <div class="gold featButton buttonDisable"> <<set _selectedActionSet to _currentActionSet + 1>> <<button "_selectedActionSet / 10">><</button>> </div> <<if _currentActionSet lt 9>> <div class="featButton"> <<button "<span class='fa-icon fa-right'></span>">> <<set _currentActionSet++>> <<replace #othersFeelings>><<othersFeelings _currentOptions>><</replace>> <</button>> </div> <<else>> <div class="featButtonGrey"> <<button "<span class='fa-icon fa-right'></span>">><</button>> </div> <</if>> </div> <hr> Consensual Sex: <br> <span class="black small-description">Some actions require sufficient lewdity.</span> <br> <<if _options[_currentOptions] is "Tentacles">> <<tentacleDefaults false>> <<else>> <<sexDefaults false>> <</if>> <ul class="listMargin"> <<for _i to 0; _i lt _titles.length; _i++>> <<if (_titles[_i] is "Penis" and !$player.penisExist) or (_titles[_i] is "Vagina" and !$player.vaginaExist)>> <<continue>> <</if>> <!-- This creates the consensual list of items. --> <li> <<print _titles[_i]>>: <<print '<<listbox "'+_stringDefault+'.'+_dataName[_i]+'['+_currentActionSet+']" autoselect>><<optionsfrom '+_data[_i]+'>><</listbox>>'>> </li> <</for>> <<if _options[_currentOptions] is "Tentacles">> <li> <label>Auto Select different tentacle for grab actions when the current tentacle is occupied <<print '<<checkbox "_defaultActions.consensual.Tentacles.regrab[0]" false true ' + (_defaultActions.consensual.Tentacles.regrab[0] is true ? "checked" : "") + '>>'>></label> </li> <</if>> <<if _defaultActions.consensual[_options[_currentOptions]].askActions isnot undefined>> <li> <label>Ask them: <<print '<<listbox "'+_stringDefault+'.askActions['+_currentActionSet+']" autoselect>><<optionsfrom _askActions>><</listbox>>'>></label> </li> <</if>> </ul> <<set _stringDefault to "_defaultActions.rape['"+_options[_currentOptions]+"']">> <<if _options[_currentOptions] isnot "Robin">> <<if _options[_currentOptions] is "Tentacles">> <<tentacleDefaults true>> <<else>> <<sexDefaults true>> <</if>> <br><br> Assault: <br> <ul class="listMargin"> <<for _i to 0; _i lt _titles.length; _i++>> <<if (_titles[_i] is "Penis" and !$player.penisExist) or (_titles[_i] is "Vagina" and !$player.vaginaExist)>> <<continue>> <</if>> <li> <<print _titles[_i]>>: <<print '<<listbox "'+_stringDefault+"."+_dataName[_i]+'['+_currentActionSet+']" autoselect>><<optionsfrom '+_data[_i]+'>><</listbox>>'>> </li> <</for>> <<if _options[_currentOptions] is "Tentacles">> <li> <label>Auto Select different tentacle for grab actions when the current tentacle is occupied <<print '<<checkbox "_defaultActions.rape.Tentacles.regrab[0]" false true ' + (_defaultActions.rape.Tentacles.regrab[0] is true ? "checked" : "") + '>>'>></label> </li> <</if>> <<if _defaultActions.rape[_options[_currentOptions]].askActions isnot undefined>> <li> <label>Ask them: <<print '<<listbox "'+_stringDefault+'.askActions['+_currentActionSet+']" autoselect>><<optionsfrom _askActions>><</listbox>>'>></label> </li> <</if>> </ul> <</if>> <br> <<if _requireConfirm is true>> <br> <<link [[Override related settings|$passage]]>> <<run DefaultActions.save(T.defaultActions)>> <<switch _options[_currentOptions]>> <<case "Everyone">> <<set _options to ["Strangers","Animals","Acquaintances","Robin", "Bailey","Whitney","Kylar","Eden","Avery","Leighton","Sydney","Alex","Ivory Wraith","Black Wolf","Great Hawk"]>> <<for _option range _options>> <<if !$actionDefaults.consensual>> <<set $actionDefaults.consensual to {}>> <</if>> <<if !$actionDefaults.rape>> <<set $actionDefaults.rape to {}>> <</if>> <<set _index to $NPCNameList.indexOf(_option)>> <<if $NPCName[_index] && $NPCName[_index].init isnot 1>> <<continue>> <</if>> <<set $actionDefaults.consensual[_option] to clone($actionDefaults.consensual.Everyone)>> <<set $actionDefaults.rape[_option] to clone($actionDefaults.rape.Everyone)>> <</for>> <<case "Acquaintances">> <<set _options to ["Robin","Bailey","Whitney","Kylar","Eden","Avery","Leighton","Sydney","Alex","Ivory Wraith","Black Wolf","Great Hawk"]>> <<for _option range _options>> <<if !$actionDefaults.consensual>> <<set $actionDefaults.consensual to {}>> <</if>> <<if !$actionDefaults.rape>> <<set $actionDefaults.rape to {}>> <</if>> <<set _index to $NPCNameList.indexOf(_option)>> <<if $NPCName[_index] && $NPCName[_index].init isnot 1>> <<continue>> <</if>> <<set $actionDefaults.consensual[_option] to clone($actionDefaults.consensual.Acquaintances)>> <<set $actionDefaults.rape[_option] to clone($actionDefaults.rape.Acquaintances)>> <</for>> <</switch>> <</link>> <</if>> <</widget>> <<widget "setupDefaults">> <<set $actionDefaults = DefaultActions.check(DefaultActions.setup())>> <</widget>> <!-- _args[0] As Boolean: false is consensual, true is non-consensual. --> <<widget "sexDefaults">> <<set _leftHand to { "Rest": "rest", "Stroke": "leftchest", "Hold behind back": "behind", "Stop holding behind": "stopbehind" }>> <<if _args[0] is true>> <<set _leftHand["Punch"] to "lefthit">> <<set _leftHand["Pull their hand off your neck"] to "stopchokenoncon">> <<else>> <<set _leftHand["Press their hand to your neck"] to "keepchoke">> <<set _leftHand["Take their hand off your neck"] to "stopchoke">> <</if>> <<set _leftHand["Cover your face"] to "leftcoverface">> <<set _leftHand["Pose for camera"] to "leftcamerapose">> <<set _leftHand["Whack the writing tool away"] to "penwhack">> <<set _leftHand["Whack the hypnotic instrument away"] to "hypnosiswhack">> <<if currentSkillValue('skulduggery') gte 200>> <<set _leftHand["Steal"] to "steal">> <</if>> <<set _leftHand["Struggle"] to "leftstruggle">> <<set _leftHand["Stroke their penis"] to "leftstroke">> <<if hasSexStat("promiscuity", 3) or hasSexStat("deviancy", 3) or _args[0] is true>> <<set _leftHand["Grab their penis"] to "leftgrab">> <<set _leftHand["Work their shaft"] to "leftwork">> <<set _leftHand["Play with their pussy"] to "leftplay">> <<set _leftHand["Rub their clit"] to "leftclit">> <</if>> <<if hasSexStat("promiscuity", 2)>> <<if $player.penisExist>> <<set _leftHand["Play with your penis"] to "leftmasturbatepenis">> <</if>> <<if $player.vaginaExist>> <<set _leftHand["Play with your pussy"] to "leftmasturbatepussy">> <</if>> <</if>> <<if hasSexStat("promiscuity", 3) and $awareness gte 200>> <<set _leftHand["Play with your anus"] to "leftmasturbateanus">> <</if>> <<set _leftHand["Remove your buttplug"] to "removebuttplug">> <<set _leftHand["Grip"] to "leftgrip">> <<set _leftHand["Protect"] to "leftprotect">> <<set _rightHand to { "Rest":"rest", "Stroke":"rightchest", "Hold behind back": "behind", "Stop holding behind": "stopbehind" }>> <<if _args[0] is true>> <<set _rightHand["Punch"] to "righthit">> <<set _rightHand["Pull their hand off your neck"] to "stopchokenoncon">> <<else>> <<set _rightHand["Press their hand to your neck"] to "keepchoke">> <<set _rightHand["Take their hand off your neck"] to "stopchoke">> <</if>> <<set _rightHand["Cover your face"] to "rightcoverface">> <<set _rightHand["Pose for camera"] to "rightcamerapose">> <<set _rightHand["Whack the writing tool away"] to "penwhack">> <<set _rightHand["Whack the hypnotic instrument away"] to "hypnosiswhack">> <<if currentSkillValue('skulduggery') gte 200>> <<set _rightHand["Steal"] to "steal">> <</if>> <<set _rightHand["Struggle"] to "rightstruggle">> <<set _rightHand["Stroke their penis"] to "rightstroke">> <<if hasSexStat("promiscuity", 3) or hasSexStat("deviancy", 3) or _args[0] is true>> <<set _rightHand["Grab their penis"] to "rightgrab">> <<set _rightHand["Work their shaft"] to "rightwork">> <<set _rightHand["Play with their pussy"] to "rightplay">> <<set _rightHand["Rub their clit"] to "rightclit">> <</if>> <<if hasSexStat("promiscuity", 2)>> <<if $player.vaginaExist>> <<set _rightHand["Play with your pussy"] to "rightmasturbatepussy">> <</if>> <<if $player.penisExist>> <<set _rightHand["Play with your penis"] to "rightmasturbatepenis">> <</if>> <</if>> <<if hasSexStat("promiscuity", 3) and $awareness gte 200>> <<set _rightHand["Play with your anus"] to "rightmasturbateanus">> <</if>> <<set _rightHand["Remove your buttplug"] to "removebuttplug">> <<set _rightHand["Grip"] to "rightgrip">> <<set _rightHand["Grip"] to "rightprotect">> <<set _feet to { "Rest":"rest", }>> <<if _args[0] is true>> <<set _feet["Kick"] to "kick">> <</if>> <<if hasSexStat("promiscuity", 3) or hasSexStat("deviancy", 3) or _args[0] is true>> <<set _feet["Grab their penis"] to "grab">> <<set _feet["Rub their penis"] to "grabrub">> <<set _feet["Press against their pussy"] to "vaginagrab">> <<set _feet["Rub their pussy"] to "vaginagrabrub">> <</if>> <<if (_args[0] is false and (hasSexStat("promiscuity", 3) or hasSexStat("deviancy", 3))) or (_args[0] is true and (hasSexStat("promiscuity", 6) or hasSexStat("deviancy", 6)))>> <<set _feet["Leg lock them"] to "legLock">> <</if>> <<set _feet["Curl toes"] to "feetCurl">> <<set _mouth to { "Rest":"rest", "Kiss":"kiss", "Kiss Back":"kissback", "Kiss skin": "kissskin", }>> <<if _args[0] is true>> <<set _mouth["Scream"] to "scream">> <<set _mouth["Plead"] to "plead">> <</if>> <<if $wolfgirl gte 2>> <<set _mouth["Growl"] to "growl">> <</if>> <<if $submissive gte 1150>> <<set _mouth["Moan"] to "moan">> <</if>> <<if $angel gte 6 and $angelforgive isnot 1 and _args[0] is true>> <<set _mouth["Forgive"] to "forgive">> <</if>> <<if $fallenangel gte 4 and $angelforgive isnot 1 and _args[0] is true>> <<set _mouth["Disparage"] to "disparage">> <</if>> <<if $submissive lte 850 and _args[0] is true>> <<set _mouth["Demand"] to "demand">> <</if>> <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _mouth["Move your lips to their penis"] to "mouth">> <</if>> <<if hasSexStat("promiscuity", 3) or hasSexStat("deviancy", 3) or _args[0] is true>> <<set _mouth["Grab penis between breasts"] to "grasp">> <</if>> <<set _mouth["Pull away"] to "pullaway">> <<set _mouth["Lick their penis"] to "lick">> <<if hasSexStat("promiscuity", 5) or hasSexStat("deviancy", 5) or _args[0] is true>> <<set _mouth["Take their penis into your mouth"] to "swallow">> <</if>> <<set _mouth["Suck their penis"] to "suck">> <<if _args[0] is true>> <<set _mouth["Bite their penis"] to "bite">> <</if>> <<if _args[0] is false>> <<set _mouth["Swallow their cum"] to "ejacswallow">> <<set _mouth["Spit out their cum"] to "ejacspit">> <</if>> <<set _mouth["Pull away from their penis"] to "pullaway">> <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _mouth["Move your lips to their pussy"] to "othervagina">> <</if>> <<set _mouth["Lick their pussy"] to "vaginalick">> <<if _args[0] is true>> <<set _mouth["Bite their pussy"] to "bitepussy">> <</if>> <<set _mouth["Pull away from their vagina"] to "pullawayvagina">> <<if hasSexStat("promiscuity", 3) or _args[0] is true>> <<set _mouth["Move your lips to their chest"] to "movetochest">> <</if>> <<set _mouth["Lick their breasts"] to "breastlick">> <<set _mouth["Pull away from their breasts"] to "breastpull">> <<set _mouth["Suck their breasts"] to "breastsuck">> <<if _args[0] is true>> <<set _mouth["Bite their breasts"] to "breastbite">> <</if>> <<set _mouth["Keep your mouth closed"] to "breastclosed">> <<if hasSexStat("promiscuity", 4) or $deviancy gt 55 or _args[0] is true>> <<set _mouth["Edge"] to "oraledge">> <</if>> <<set _mouth["Lick ass"] to "anallick">> <<if $submissive gte 1150>> <<set _mouth["Kiss ass"] to "analkiss">> <</if>> <<if _args[0] is false>> <<set _mouth["Pull away from their ass"] to "analpull">> <</if>> <<if _args[0] is true>> <<set _mouth["Headbutt"] to "headbutt">> <</if>> <<set _mouth["Let it out (pain)"] to "letout">> <<set _mouth["Let it out (orgasm)"] to "letoutorgasm">> <<set _mouth["Ask them"] to "ask">> <<set _askActions to {"Nothing":"rest"}>> <<if _args[0] is false>> <<set _askActions["to stop"] to "finish">> <<if $player.vaginaExist>> <<set _askActions["to not put anything in your pussy"] to "novaginal">> <</if>> <<if $player.penisExist>> <<set _askActions["to not put your penis in anything"] to "nopenile">> <</if>> <<set _askActions["to not put anything in your anus"] to "noanal">> <<if $asphyxiaLvl gte 1>> <<set _askActions["to not choke you"] to "nochoke">> <</if>> <</if>> <<if (_args[0] is false and ($choketrait or ($chokeorgasm gte 1 and $submissive gt 850))) or ($awarelevel gte 2 and $submissive gte 1150)>> <<set _askActions["to choke you"] to "askchoke">> <</if>> <<if (_args[0] is false and $masochism_level gte 1) or $masochism_level gte 3>> <<set _askActions["to be more rough"] to "askrough">> <</if>> <<if $condomLvl gte 2>> <<set _askActions["to use a condom"] to "condoms">> <<set _askActions["to not use a condom"] to "noCondoms">> <</if>> <<set _askActions["to leave your top on"] to "noupper">> <<if $asphyxiaLvl gte 1 and _args[0] is false and ($choketrait or ($chokeorgasm gte 1 and $submissive gt 850) or ($awarelevel gte 2 and $submissive gte 1150))>> <<set _askActions["to choke you"] to "askchoke">> <</if>> <<if $consensual is 1 and $masochism_level gte 1 or $masochism_level gte 3>> <<set _askActions["to be more rough"] to "askrough">> <</if>> <<set _penis to { "Rest":"rest", }>> <<if hasSexStat("promiscuity", 5) or hasSexStat("deviancy", 5) or _args[0] is true>> <<set _penis["Press against their pussy"] to "penistovagina">> <<set _penis["Penetrate their pussy"] to "penisvaginafuck">> <</if>> <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _penis["Frot against their clit"] to "bay">> <</if>> <<set _penis["Tease the pussy"] to "tease">> <<set _penis["Pull away from their pussy"] to "escape">> /*After bay*/ <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _penis["Rub against their pussy"] to "rub">> <</if>> /*After penisvaginafuck*/ <<set _penis["Take the pussy"] to "take">> <<set _penis["Cooperate with their pussy"] to "cooperate">> <<if (hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true) and currentSkillValue("penileskill") gte 800>> <<set _penis["Edge their vagina"] to "vaginaEdging">> <</if>> <<if hasSexStat("promiscuity", 5) or hasSexStat("deviancy", 5) or _args[0] is true>> <<set _penis["Press against their ass"] to "penistoanus">> <<set _penis["Penetrate their ass"] to "penisanusfuck">> <</if>> <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _penis["Frot against their ass"] to "otheranusbay">> <</if>> <<set _penis["Tease the ass"] to "otheranustease">> <<set _penis["Pull away from their ass"] to "otheranusescape">> /*After otheranusbay*/ <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _penis["Rub against their ass"] to "otheranusrub">> <</if>> /*After penisanusfuck*/ <<set _penis["Take the ass"] to "otheranustake">> <<set _penis["Cooperate with their ass"] to "otheranuscooperate">> <<if (hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true) and currentSkillValue("penileskill") gte 800>> <<set _penis["Edge their ass"] to "otheranusEdging">> <</if>> <<set _penis["Press your thigh against their mouth"] to "thighbay">> <<set _penis["Rub against their face"] to "othermouthtease">> <<set _penis["Rub against their lips"] to "othermouthrub">> <<set _penis["Pull away from their mouth"] to "othermouthescape">> <<set _penis["Cooperate with their mouth"] to "othermouthcooperate">> <<set _vagina to { "Rest":"rest", "Offer your ass instead":"penisanus", }>> <<if hasSexStat("promiscuity", 5) or hasSexStat("deviancy", 5) or _args[0] is true>> <<set _vagina["Straddle their penis"] to "vaginatopenis">> <<set _vagina["Envelop their penis"] to "vaginapenisfuck">> <</if>> <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _vagina["Try to keep their penis away with your thighs"] to "penisthighs">> <</if>> <<if hasSexStat("promiscuity", 5) or hasSexStat("deviancy", 5) or _args[0] is true>> <<set _vagina["Push your pussy against theirs"] to "vaginatovagina">> <</if>> <<set _vagina["Pull away from their penis"] to "escape">> <<set _vagina["Tease the tip"] to "penistease">> /*After penisthighs*/ <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _vagina["Rub against their penis"] to "rub">> <</if>> /*After vaginapenisfuck*/ <<set _vagina["Take it"] to "take">> <<set _vagina["Cooperate"] to "cooperate">> <<if (hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true) and currentSkillValue("vaginalskill") gte 800>> <<set _vagina["Edge their penis with your vagina"] to "penisEdging">> <</if>> <<set _vagina["Press your thigh against their mouth"] to "thighbay">> <<set _vagina["Rub against their face"] to "othermouthtease">> <<set _vagina["Rub against their lips"] to "othermouthrub">> <<set _vagina["Pull away from their mouth"] to "othermouthescape">> <<set _vagina["Cooperate with their mouth"] to "othermouthcooperate">> <<set _anus to { "Rest":"rest", }>> <<if $player.vaginaExist>> <<set _anus["Offer your pussy instead"] to "penispussy">> <</if>> <<if hasSexStat("promiscuity", 5) or hasSexStat("deviancy", 5) or _args[0] is true>> <<set _anus["Straddle their penis"] to "anustopenis">> <<set _anus["Envelop their penis"] to "anuspenisfuck">> <</if>> <<if hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true>> <<set _anus["Keep their penis away with your cheeks"] to "penischeeks">> <</if>> <<set _anus["Tease the tip"] to "penistease">> <<set _anus["Pull away from their penis"] to "escape">> /*After penischeeks*/ <<set _anus["Rub against their penis"] to "rub">> /*After anuspenisfuck*/ <<set _anus["Take it"] to "take">> <<set _anus["Cooperate"] to "cooperate">> <<if (hasSexStat("promiscuity", 4) or hasSexStat("deviancy", 4) or _args[0] is true) and currentSkillValue("analskill") gte 800>> <<set _anus["Edge their penis with your ass"] to "penisEdging">> <</if>> <<set _anus["Press your butt against their mouth"] to "bottombay">> <<set _anus["Rub against their face"] to "othermouthtease">> <<set _anus["Rub against their lips"] to "othermouthrub">> <<set _anus["Pull away from their mouth"] to "othermouthescape">> <<set _anus["Cooperate with their mouth"] to "othermouthcooperate">> <<set _anus["Rub their hand with your cheeks"] to "bottomhandbay">> <<set _anus["Rub your anus against their hand"] to "handtease">> <<set _anus["Rub against their fingers"] to "handrub">> <<set _anus["Pull away from their hand"] to "handescape">> <<set _anus["Cooperate with their fingers"] to "handcooperate">> <</widget>> <<widget "tentacleDefaults">> <<set _leftHand to { "Rest":"rest", "Grab the":"leftgrab" }>> <<if hasSexStat("deviancy", 5)>> <<set _leftHand["Guide to your penis"] to "showpenis">> <<set _leftHand["Guide to your pussy"] to "showvagina">> <<set _leftHand["Guide to your ass"] to "showbottom">> <</if>> <<if _args[0] is true>> <<set _leftHand["Strike the"] to "lefthittentacle">> <</if>> <<set _leftHand["Milk it"] to "leftrub">> <<set _rightHand to { "Rest":"rest", "Grab the":"rightgrab" }>> <<if hasSexStat("deviancy", 5)>> <<set _rightHand["Guide to your penis"] to "showpenis">> <<set _rightHand["Guide to your pussy"] to "showvagina">> <<set _rightHand["Guide to your ass"] to "showbottom">> <</if>> <<if _args[0] is true>> <<set _rightHand["Strike the"] to "righthittentacle">> <</if>> <<set _rightHand["Milk it"] to "rightrub">> <<set _feet to { "Rest":"rest", "Grab the":"feetgrab" }>> <<if hasSexStat("deviancy", 5)>> <<set _feet["Guide to your penis"] to "showpenis">> <<set _feet["Guide to your pussy"] to "showvagina">> <<set _feet["Guide to your ass"] to "showbottom">> <</if>> <<if _args[0] is true>> <<set _feet["Kick the"] to "feethit">> <</if>> <<set _feet["Milk it"] to "feetrub">> <<set _mouth to { "Rest":"rest", "Lick it":"mouthlick", "Pull away":"mouthpullaway", "Kiss it":"mouthkiss", "Take it":"take", "Cooperate":"mouthcooperate" }>> <<if _args[0] is true>> <<set _mouth["Bite"] to "mouthbite">> <</if>> <<set _penis to { "Rest":"rest", "Rub":"penisrub", "Pull away":"penispullaway", "Take it":"take", "Cooperate":"peniscooperate" }>> <<set _vagina to { "Rest":"rest", "Rub":"vaginarub", "Pull away":"vaginapullaway", "Take it":"take", "Cooperate":"vaginacooperate" }>> <<set _anus to { "Rest":"rest", "Rub":"anusrub", "Pull away":"anuspullaway", "Take it":"take", "Cooperate":"anuscooperate" }>> <</widget>> <<widget "loveInterest">> Primary Love Interest: <br> <<set _npc = ["None"].concat(setup.loveInterestNpc)>> <<set _potentialLoveInterests = ["None"]>> <<if $robinromance is 1>> <<run _potentialLoveInterests.push("Robin")>> <</if>> <<if $whitneyromance is 1 and C.npc.Whitney.state isnot "dungeon">> <<run _potentialLoveInterests.push("Whitney")>> <</if>> <<if $kylarenglish gte 1 and C.npc.Kylar.state isnot "prison">> <<run _potentialLoveInterests.push("Kylar")>> <</if>> <<if $sydneyromance is 1>> <<run _potentialLoveInterests.push("Sydney")>> <</if>> <<if $syndromeeden is 1>> <<run _potentialLoveInterests.push("Eden")>> <</if>> <<if $dateCount.Avery gte 3 and C.npc.Avery.state isnot "dismissed">> <<run _potentialLoveInterests.push("Avery")>> <</if>> <<if $syndromewolves is 1 and hasSexStat("deviancy", 3)>> <<run _potentialLoveInterests.push("Black Wolf")>> <</if>> <<if $syndromebird is 1>> <<run _potentialLoveInterests.push("Great Hawk")>> <</if>> <<if $farm_stage gte 7 and $alex_countdown is undefined>> <<run _potentialLoveInterests.push("Alex")>> <</if>> <<if _potentialLoveInterests.length lte 1>> <span class="black"><i>You haven't developed feelings for anyone yet.</i></span> <<else>> <<listbox "$loveInterest.primary" autoselect>> <<optionsfrom _potentialLoveInterests>> <</listbox>> <<if $loveInterest.primary isnot "None">> <<run _potentialLoveInterests.delete($loveInterest.primary)>> <</if>> <br><br> Secondary Love Interest: <br> <<if $awarelevel gte 2>> <<if $loveInterest.primary is "None">> <<set $loveInterest.secondary to "None">> <span class="black">You need to choose a primary love interest before you can choose a secondary.</span> <<else>> <<listbox "$loveInterest.secondary" autoselect>> <<optionsfrom _potentialLoveInterests>> <</listbox>> <</if>> <<else>> <span class="black">You don't consider it possible to have more than one love interest.</span> <<set $loveInterest.secondary to "None">> <</if>> <</if>> <<if $transformationParts.traits.mateForLife isnot "disabled" and (!isLoveInterest(_loveIntStart1) or (_loveIntStart2 isnot "None" and !isLoveInterest(_loveIntStart2)))>> <<set $LIChanged to true>> <br> <span class="red">Changing your partners goes against your instincts to mate for life. It will take a toll on your mental state.</span> <<else>> <<unset $LIChanged>> <</if>> <</widget>> <<widget "attitudesControlCheck">> /* highlight the attitudes button when new attitude controls are available */ <<script>> /* back up the old variable for later comparison */ T.oldControl = clone(V.attitudesControl); /* update available controls */ V.attitudesControl.unlockExhibitionismUnderwear = V.exhibitionism >= 55; V.attitudesControl.unlockExhibitionismNude = V.exhibitionism >= 95; V.attitudesControl.unlockTransformation = V.specialTransform === 1 || V.physicalTransform === 1; V.attitudesControl.unlockDemonFlaunt = V.demon >= 6 && V.exhibitionism >= 95; V.attitudesControl.unlockProstitution = V.soldCount >= 1; /* getting the first LI automatically assigns them as a primary one, indicating that now there's options */ V.attitudesControl.unlockLoveInterest1 = V.loveInterest.primary !== "None"; /* there's no point in highlighting that you can assign the second LI if you've not assigned the first one */ V.attitudesControl.unlockLoveInterest2 = V.awarelevel >= 2 && V.loveInterest.primary !== "None" && V.loveInterest.secondary === "None"; V.attitudesControl.unlockDefaultActions = V.moleststat > 0; V.attitudesControl.unlockLewd = V.exhibitionism >= 35 || V.promiscuity >= 35 || V.deviancy >= 35; V.attitudesControl.unlockHypnosis = Object.keys(V.hypnosis_traits).length >= 1; /* set the highlight flag when one of the controls switches to true */ for (const c in V.attitudesControl) { if (V.attitudesControl[c] && !T.oldControl[c]) { V.attitudesControl.showGoldLink = true; break } } <</script>> <</widget>><<widget "attach_leash">> <<if $worn.neck.colour>><<set $_colour to $worn.neck.colour>><</if>> <<set $_collaredpolice to $worn.neck.collaredpolice>> <<if $worn.neck.name is "collar">> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 21 $_colour>> <<elseif $worn.neck.name is "free use collar">> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 22 $_colour>> <<elseif $worn.neck.name is "leather collar">> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 24 $_colour>> <<elseif $worn.neck.name is "spiked collar">> <<set $_cursed to $worn.neck.cursed>> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 26 $_colour>> <<if !_args[0] or $_cursed>><<set $worn.neck.cursed to 1>><</if>> <</if>> <<set $worn.neck.collaredpolice to $_collaredpolice>> <</widget>> <<widget "detach_leash">> <<if $worn.neck.colour>><<set $_colour to $worn.neck.colour>><</if>> <<set $_collaredpolice to $worn.neck.collaredpolice>> <<if $worn.neck.name is "collar with leash">> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 1 $_colour>> <<elseif $worn.neck.name is "free use collar with leash">> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 20 $_colour>> <<elseif $worn.neck.name is "leather collar with leash">> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 25 $_colour>> <<elseif $worn.neck.name is "spiked collar with leash">> <<set $_cursed to $worn.neck.cursed>> <<set $worn.neck.type.push("broken")>> <<neckruined _args[1]>> <<neckwear 10 $_colour>> <<if !_args[0] or $_cursed>><<set $worn.neck.cursed to 1>><</if>> <<set $worn.neck.collared to 1>> <</if>> <<set $worn.neck.collaredpolice to $_collaredpolice>> <</widget>><<widget "init_bodywriting_objects">> /*fuckdoll isn't used yet.*/ <<set setup.bodywriting to { rape_me: { index: 0, writing: "Rape me", type: "text", arrow: 1, special: "rape", gender: "n", lewd: 1, degree: 0, key: "rape_me", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, slut: { index: 1, writing: "Slut", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0, key: "slut", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, fucktoy: { index: 2, writing: "Fucktoy", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0, key: "fucktoy", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, rapetoy: { index: 3, writing: "Rapetoy", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0, key: "rapetoy", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, worthless: { index: 4, writing: "Worthless", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0, key: "worthless", sprites: ["breasts", "left_thigh", "pubic", "right_thigh"] }, free_use: { index: 5, writing: "Free use", type: "text", arrow: 1, special: "none", gender: "n", lewd: 1, degree: 0, key: "free_use", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, slave: { index: 6, writing: "Slave", type: "text", arrow: 0, special: "slave", gender: "n", lewd: 1, degree: 0, key: "slave", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, use_me: { index: 7, writing: "Use me", type: "text", arrow: 1, special: "none", gender: "n", lewd: 1, degree: 0, key: "use_me", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, hit_me: { index: 8, writing: "Hit me", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0, key: "hit_me", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, cum_rag: { index: 9, writing: "Cum rag", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0, key: "cum_rag", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, walking_dildo: { index: 10, writing: "Walking dildo", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0, key: "walking_dildo", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, rape_bait: { index: 11, writing: "Rape bait", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0, key: "rape_bait", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, bitch: { index: 12, writing: "Bitch", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0, key: "bitch", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, fuck_me: { index: 13, writing: "Fuck me", type: "text", arrow: 1, special: "none", gender: "n", lewd: 1, degree: 0, key: "fuck_me", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, hurt_me: { index: 14, writing: "Hurt me", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0, key: "hurt_me", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, enslave_me: { index: 15, writing: "Enslave me", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, treat_me_bad: { index: 16, writing: "Treat me bad", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0 }, sex_addict: { index: 17, writing: "Sex addict", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, rape_addict: { index: 18, writing: "Rape addict", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0 }, make_me_squeal: { index: 19, writing: "Make me squeal", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0 }, make_me_cum: { index: 20, writing: "Make me cum", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, free_sex: { index: 21, writing: "Free sex", type: "text", arrow: 1, special: "none", gender: "n", lewd: 1, degree: 0 }, rapists_toy: { index: 22, writing: "Rapist's toy", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0 }, no_means_yes: { index: 23, writing: "No means yes", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0, key: "no_means_yes", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, public_toy: { index: 24, writing: "Public toy", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0, key: "public_toy", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, public_property: { index: 25, writing: "Public property", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0 }, promiscuous: { index: 26, writing: "Promiscuous", type: "text", arrow: 0, special: "sex", gender: "n", lewd: 1, degree: 0 }, town_bicycle: { index: 27, writing: "Town bicycle", type: "text", arrow: 0, special: "sex", gender: "n", lewd: 1, degree: 0 }, public_slut: { index: 28, writing: "Public slut", type: "text", arrow: 0, special: "sex", gender: "n", lewd: 1, degree: 0 }, wanton: { index: 29, writing: "Wanton", type: "text", arrow: 0, special: "sex", gender: "n", lewd: 1, degree: 0 }, insatiable_slut: { index: 30, writing: "Insatiable slut", type: "text", arrow: 0, special: "sex", gender: "n", lewd: 1, degree: 0 }, doggy_slut: { index: 31, writing: "Doggy slut", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, animal: { index: 32, writing: "Animal", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, beast_fucker: { index: 33, writing: "Beast fucker", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, breedable: { index: 34, writing: "Breedable", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, deviant: { index: 35, writing: "Deviant", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, five_pound_whore: { index: 36, writing: "£5 whore", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 500, key: "five_pound_whore", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, ten_pound_a_pop: { index: 37, writing: "£10 a pop", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 1000, key: "ten_pound_a_pop", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, twenty_five_pound_per_fuck: { index: 38, writing: "£25 per fuck", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 2500, key: "twenty_five_pound_per_fuck", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, one_hundred_pound: { index: 39, writing: "£100", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 10000, key: "one_hundred_pound", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, its_not_rape_if_you_pay_me: { index: 40, writing: "It's not rape if you pay me", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 0 }, whore: { index: 41, writing: "Whore", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 0 }, slut_for_hire: { index: 42, writing: "Slut for hire", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 0 }, body_for_sale: { index: 43, writing: "Body for sale", type: "text", arrow: 1, special: "prostitution", gender: "n", lewd: 1, degree: 0 }, pervert: { index: 44, writing: "Pervert", type: "text", arrow: 0, special: "exhibitionism", gender: "n", lewd: 1, degree: 0 }, attention_whore: { index: 45, writing: "Attention whore", type: "text", arrow: 0, special: "exhibitionism", gender: "n", lewd: 1, degree: 0 }, flaunter: { index: 46, writing: "Flaunter", type: "text", arrow: 0, special: "exhibitionism", gender: "n", lewd: 1, degree: 0 }, object: { index: 47, writing: "Object", type: "text", arrow: 0, special: "exhibitionism", gender: "n", lewd: 1, degree: 0 }, strip_me: { index: 48, writing: "Strip me", type: "text", arrow: 0, special: "exhibitionism", gender: "n", lewd: 1, degree: 0 }, fuckdoll: { index: 49, writing: "Fuckdoll", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, handsome: { index: 50, writing: "Handsome", type: "text", arrow: 0, special: "none", gender: "m", lewd: 1, degree: 0 }, pretty: { index: 51, writing: "Pretty", type: "text", arrow: 0, special: "none", gender: "f", lewd: 1, degree: 0 }, hot: { index: 52, writing: "Hot", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0, key: "hot", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, beautiful: { index: 53, writing: "Beautiful", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, cute_boy: { index: 54, writing: "Cute boy", type: "text", arrow: 0, special: "none", gender: "m", lewd: 1, degree: 0, key: "cute_boy", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, cute_girl: { index: 55, writing: "Cute girl", type: "text", arrow: 0, special: "none", gender: "f", lewd: 1, degree: 0, key: "cute_girl", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, stud: { index: 56, writing: "Stud", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, beauty: { index: 57, writing: "Beauty", type: "text", arrow: 0, special: "none", gender: "f", lewd: 1, degree: 0 }, defiant_whelp: { index: 58, writing: "Defiant whelp", type: "text", arrow: 0, special: "combat", gender: "n", lewd: 1, degree: 0 }, insolent: { index: 59, writing: "Insolent", type: "text", arrow: 0, special: "combat", gender: "n", lewd: 1, degree: 0 }, brat: { index: 60, writing: "Brat", type: "text", arrow: 0, special: "combat", gender: "n", lewd: 1, degree: 0 }, punish_me: { index: 61, writing: "Punish me", type: "text", arrow: 0, special: "combat", gender: "n", lewd: 1, degree: 0 }, naughty: { index: 62, writing: "Naughty", type: "text", arrow: 0, special: "combat", gender: "n", lewd: 1, degree: 0 }, whitneys_slut: { index: 63, writing: "Whitney's slut", type: "text", arrow: 0, special: "Whitney", gender: "f", lewd: 1, degree: 0, featSkip: true }, whitneys_boyslut: { index: 64, writing: "Whitney's boyslut", type: "text", arrow: 0, special: "Whitney", gender: "m", lewd: 1, degree: 0, featSkip: true }, property_of_whitney: { index: 65, writing: "Property of Whitney", type: "text", arrow: 0, special: "Whitney", gender: "n", lewd: 1, degree: 0, featSkip: true }, whitneys_toy: { index: 66, writing: "Whitney's toy", type: "text", arrow: 0, special: "Whitney", gender: "n", lewd: 1, degree: 0, featSkip: true }, unicorn: { index: 67, writing: "unicorn", type: "object", arrow: 0, special: "none", gender: "f", lewd: 0, degree: 0 }, one_six_three: { index: 68, writing: "163", type: "text", arrow: 0, special: "none", gender: "n", lewd: 0, degree: 0, featSkip: true }, insatiable: { index: 69, writing: "Insatiable", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, stupid_whore: { index: 70, writing: "Stupid whore", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, heart: { index: 71, writing: "heart", type: "object", arrow: 0, special: "none", gender: "f", lewd: 0, degree: 0 }, paw_print: { index: 72, writing: "paw print", type: "object", arrow: 0, special: "bestiality", gender: "n", lewd: 0, degree: 0 }, flower: { index: 73, writing: "flower", type: "object", arrow: 0, special: "none", gender: "f", lewd: 0, degree: 0 }, butterfly: { index: 74, writing: "butterfly", type: "object", arrow: 0, special: "none", gender: "f", lewd: 0, degree: 0 }, star: { index: 75, writing: "star", type: "object", arrow: 0, special: "none", gender: "f", lewd: 0, degree: 0 }, skull: { index: 76, writing: "skull", type: "object", arrow: 0, special: "none", gender: "m", lewd: 0, degree: 0 }, cross: { index: 77, writing: "cross", type: "object", arrow: 0, special: "holy", gender: "n", lewd: 0, degree: 0 }, flame: { index: 78, writing: "flame", type: "object", arrow: 0, special: "none", gender: "m", lewd: 0, degree: 0 }, cattle_brand: { index: 79, writing: "cattle brand", type: "object", arrow: 0, special: "cattle", gender: "n", lewd: 1, degree: 0 }, remys_cattle: { index: 80, writing: "Remy's cattle", type: "text", arrow: 0, special: "cattle", gender: "n", lewd: 1, degree: 0 }, remys_cow: { index: 81, writing: "Remy's cow", type: "text", arrow: 0, special: "cattle", gender: "f", lewd: 1, degree: 0 }, remys_bull: { index: 82, writing: "Remy's bull", type: "text", arrow: 0, special: "cattle", gender: "m", lewd: 1, degree: 0 }, dairy_cow: { index: 83, writing: "Dairy cow", type: "text", arrow: 0, special: "cattle", gender: "n", lewd: 1, degree: 0 }, milk_me: { index: 84, writing: "Milk me", type: "text", arrow: 0, special: "cattle", gender: "n", lewd: 1, degree: 0 }, daddy_issues: { index: 85, writing: "Daddy issues", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, mommy_issues: { index: 86, writing: "Mommy issues", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, orphan: { index: 87, writing: "Orphan", type: "text", arrow: 0, special: "none", gender: "n", lewd: 0, degree: 0 }, prostitute: { index: 88, writing: "Prostitute", type: "text", arrow: 0, special: "prostitution", gender: "n", lewd: 1, degree: 0 }, ask_to_see_me_naked: { index: 89, writing: "Ask to see me naked", type: "text", arrow: 0, special: "exhibitionism", gender: "n", lewd: 1, degree: 0 }, trashy: { index: 90, writing: "Trashy", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, cocksucker: { index: 91, writing: "Cocksucker", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, side_piece: { index: 92, writing: "Side piece", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, dtf: { index: 93, writing: "D.T.F.", type: "text", arrow: 0, special: "sex", gender: "n", lewd: 1, degree: 0 }, size_queen: { index: 94, writing: "Size queen", type: "text", arrow: 0, special: "none", gender: "f", lewd: 1, degree: 0 }, abuse_me: { index: 95, writing: "Abuse me", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0 }, strugglefucker: { index: 96, writing: "Strugglefucker", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0 }, slam_pig: { index: 97, writing: "Slam pig", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, cum_dump: { index: 98, writing: "Cum dump", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, submissive: { index: 99, writing: "Submissive", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, pet: { index: 100, writing: "Pet", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, skank: { index: 101, writing: "Skank", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, gutter_whore: { index: 102, writing: "Gutter whore", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, stupid_ho: { index: 103, writing: "Stupid ho", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, asking_for_it: { index: 104, writing: "Asking for it", type: "text", arrow: 0, special: "rape", gender: "n", lewd: 1, degree: 0 }, cock_tease: { index: 105, writing: "Cock tease", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, horse_cock_only: { index: 106, writing: "Horse cock only", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, knots_only: { index: 107, writing: "Knots only", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, barn_slut: { index: 108, writing: "Barn slut", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, breeding_stud: { index: 109, writing: "Breeding stud", type: "text", arrow: 0, special: "bestiality", gender: "m", lewd: 1, degree: 0 }, breeding_mare: { index: 110, writing: "Breeding mare", type: "text", arrow: 0, special: "bestiality", gender: "f", lewd: 1, degree: 0 }, cats_toy: { index: 111, writing: "Cat's toy", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, cat_fucker: { index: 112, writing: "Cat fucker", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, cat_slut: { index: 113, writing: "Cat's slut", type: "text", arrow: 0, special: "bestiality", gender: "n", lewd: 1, degree: 0 }, criminal_scum: { index: 114, writing: "Criminal scum", type: "text", arrow: 0, special: "criminal", gender: "n", lewd: 1, degree: 0 }, criminal: { index: 115, writing: "Criminal", type: "text", arrow: 0, special: "criminal", gender: "n", lewd: 1, degree: 0 }, law_breaker: { index: 116, writing: "Law breaker", type: "text", arrow: 0, special: "criminal", gender: "n", lewd: 1, degree: 0 }, criminal_whore: { index: 117, writing: "Criminal whore", type: "text", arrow: 0, special: "criminal", gender: "n", lewd: 1, degree: 0 }, in_debt_to_society: { index: 118, writing: "In debt to society", type: "text", arrow: 1, special: "criminal", gender: "n", lewd: 1, degree: 0 }, deserves_prison: { index: 119, writing: "Deserves prison", type: "text", arrow: 0, special: "criminal", gender: "n", lewd: 1, degree: 0 }, threat_to_society: { index: 120, writing: "Threat to society", type: "text", arrow: 0, special: "criminal", gender: "n", lewd: 1, degree: 0 }, dumb_bitch: { index: 121, writing: "Dumb bitch", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, kick_me: { index: 122, writing: "Kick me", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0 }, buttslut: { index: 123, writing: "Buttslut", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, anal_whore: { index: 124, writing: "Anal whore", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, public_pet: { index: 125, writing: "Public pet", type: "text", arrow: 0, special: "none", gender: "n", lewd: 1, degree: 0 }, oh_no: { index: 126, writing: "Oh no", type: "text", arrow: 0, special: "violence", gender: "n", lewd: 1, degree: 0 }, robins_protector: { index: 127, writing: "Robin's Protector", type: "text", arrow: 0, special: "Robin", gender: "n", lewd: 0, degree: 0, featSkip: true }, robin_and_i: { index: 128, writing: "Robin & I", type: "text", arrow: 0, special: "Robin", gender: "n", lewd: 0, degree: 0, featSkip: true, key: "robin_and_i", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, the_orphan_lover: { index: 129, writing: "The Orphan Lover", type: "text", arrow: 0, special: "Robin", gender: "n", lewd: 0, degree: 0, featSkip: true }, robins_boyfriend: { index: 130, writing: "Robin's Boyfriend", type: "text", arrow: 0, special: "Robin", gender: "m", lewd: 0, degree: 0, featSkip: true, key: "robins_boyfriend", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, robins_girlfriend: { index: 131, writing: "Robin's Girlfriend", type: "text", arrow: 0, special: "Robin", gender: "f", lewd: 0, degree: 0, featSkip: true, key: "robins_girlfriend", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, whitneys_pet: { index: 132, writing: "Whitney's Pet", type: "text", arrow: 0, special: "Whitney", gender: "n", lewd: 1, degree: 0, featSkip: true, key: "whitneys_pet", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, kylars_obsession: { index: 133, writing: "Kylar's Obsession", type: "text", arrow: 0, special: "Kylar", gender: "n", lewd: 0, degree: 0, featSkip: true }, love_kylar_forever: { index: 134, writing: "Love Kylar Forever", type: "text", arrow: 0, special: "Kylar", gender: "n", lewd: 0, degree: 0, featSkip: true }, reserved_for_kylar: { index: 135, writing: "Reserved for Kylar", type: "text", arrow: 1, special: "Kylar", gender: "n", lewd: 1, degree: 0, featSkip: true }, just_kylar: { index: 136, writing: "Just Kylar", type: "text", arrow: 0, special: "Kylar", gender: "n", lewd: 0, degree: 0, featSkip: true }, edens_companion: { index: 137, writing: "Eden's Companion", type: "text", arrow: 0, special: "Eden", gender: "n", lewd: 0, degree: 0, featSkip: true }, hunter_and_prey: { index: 138, writing: "Hunter and Prey", type: "text", arrow: 0, special: "Eden", gender: "n", lewd: 1, degree: 0, featSkip: true }, its_lonely_in_the_woods: { index: 139, writing: "It's Lonely in the Woods", type: "text", arrow: 0, special: "Eden", gender: "n", lewd: 0, degree: 0, featSkip: true }, something_is_hunting_you: { index: 140, writing: "Something is Hunting You", type: "text", arrow: 0, special: "Eden", gender: "n", lewd: 1, degree: 0, featSkip: true }, averys_trophy: { index: 141, writing: "Avery's Trophy", type: "text", arrow: 0, special: "Avery", gender: "n", lewd: 0, degree: 0, featSkip: true }, uptown_boy: { index: 142, writing: "Uptown Boy", type: "text", arrow: 0, special: "Avery", gender: "m", lewd: 0, degree: 0, featSkip: true }, uptown_girl: { index: 143, writing: "Uptown Girl", type: "text", arrow: 0, special: "Avery", gender: "f", Lewd: 0, degree: 0, featSkip: true }, averys_monopoly: { index: 144, writing: "Avery's Monopoly", type: "text", arrow: 0, special: "Avery", gender: "n", lewd: 1, degree: 0, featSkip: true }, endearing: { index: 145, writing: "Endearing", type: "text", arrow: 0, special: "Avery", gender: "n", lewd: 1, degree: 0, featSkip: true }, alexs_partner: { index: 146, writing: "Alex's Partner", type: "text", arrow: 0, special: "Alex", gender: "n", lewd: 0, degree: 0, featSkip: true }, sunrise_to_sunset: { index: 147, writing: "Sunrise to Sunset", type: "text", arrow: 0, special: "Alex", gender: "n", lewd: 0, degree: 0, featSkip: true }, hay_baler: { index: 148, writing: "Hay Baler", type: "text", arrow: 0, special: "Alex", gender: "n", lewd: 0, degree: 0, featSkip: true }, cowboy: { index: 149, writing: "Cowboy", type: "text", arrow: 0, special: "Alex", gender: "m", lewd: 0, degree: 0, featSkip: true }, cowgirl: { index: 150, writing: "Cowgirl", type: "text", arrow: 0, special: "Alex", gender: "f", lewd: 0, degree: 0, featSkip: true }, sydneys_savior: { index: 151, writing: "Sydney's Saviour", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, bound_to_sydney: { index: 152, writing: "Bound to Sydney", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, sydney_makes_me_smile: { index: 153, writing: "Sydney makes me :)", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, purest_love: { index: 154, writing: "Purest Love", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, lusty_sinners: { index: 155, writing: "Lusty Sinners", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, black_wolfs_bitch: { index: 156, writing: "Black Wolf's Bitch", type: "text", arrow: 0, special: "Black Wolf", gender: "n", lewd: 1, degree: 0, featSkip: true }, all_for_my_alpha: { index: 157, writing: "All for my Alpha", type: "text", arrow: 0, special: "Black Wolf", gender: "n", lewd: 1, degree: 0, featSkip: true }, leader_of_the_pack: { index: 158, writing: "Leader of the Pack", type: "text", arrow: 0, special: "Black Wolf", gender: "n", lewd: 0, degree: 0, featSkip: true }, runs_with_wolves: { index: 159, writing: "Runs with Wolves", type: "text", arrow: 0, special: "Black Wolf", gender: "n", lewd: 1, degree: 0, featSkip: true }, great_hawks_spouse: { index: 160, writing: "Great Hawk's Spouse", type: "text", arrow: 0, special: "Great Hawk", gender: "n", lewd: 1, degree: 0, featSkip: true }, soaring_with_love: { index: 161, writing: "Soaring with Love", type: "text", arrow: 0, special: "Great Hawk", gender: "n", lewd: 0, degree: 0, featSkip: true }, terrors_mate: { index: 162, writing: "Terror's Mate", type: "text", arrow: 0, special: "Great Hawk", gender: "n", lewd: 1, degree: 0, featSkip: true }, free_bird: { index: 163, writing: "Free Bird", type: "text", arrow: 0, special: "Great Hawk", gender: "n", lewd: 0, degree: 0, featSkip: true }, book_criminal_frown: { index: 164, writing: "Book Criminal >:(", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true, key: "book_criminal_frown", sprites: ["forehead", "left_cheek", "right_cheek"] }, book_criminal_heart: { index: 165, writing: "Book Criminal <3", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true, key: "book_criminal_heart", sprites: ["forehead", "left_cheek", "right_cheek"] }, best_friend: { index: 166, writing: "Best Friend", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, interesting: { index: 167, writing: "Interesting", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, inspiring: { index: 168, writing: "Inspiring", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, study_fiend: { index: 169, writing: "Study Fiend", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, lazybones: { index: 170, writing: "Lazybones", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, copycat: { index: 171, writing: "Copycat >:(", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, attractive_force: { index: 172, writing: "Attractive force = 8.19 × 10-", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, reproductive_system: { index: 173, writing: "Reproductive System", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, breeding_cycle: { index: 174, writing: "The Breeding Cycle of-", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, water_tables: { index: 175, writing: "Water Tables", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, cytoplasm: { index: 176, writing: "Cytoplasm", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, atomic_weight: { index: 177, writing: "Atomic Weight 196.96657", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, stupid_little_fucking_sextease_bitch_fucker: { index: 178, writing: "Stupid little fucking sextease bitch fucker", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 1, degree: 0, featSkip: true }, sleepyhead: { index: 179, writing: "Sleepyhead", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true }, sinner: { index: 180, writing: "Sinner", type: "text", arrow: 0, special: "Sydney", gender: "n", lewd: 0, degree: 0, featSkip: true, key: "sinner", sprites: ["breasts", "forehead", "left_thigh", "pubic", "right_thigh"] }, brood_mother: { index: 181, writing: "Brood mother", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, inseminate_me: { index: 182, writing: "Inseminate me", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, impregnate_me: { index: 183, writing: "Impregnate me", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, pregnancy_slut: { index: 184, writing: "Pregnancy slut", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, breeding_ground: { index: 185, writing: "Breeding ground", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, seedbed: { index: 186, writing: "Seedbed", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, fertile: { index: 187, writing: "Fertile", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, fill_me_up: { index: 188, writing: "Fill me up", type: "text", arrow: 0, special: "pregnancy", gender: "f", lewd: 1, degree: 0 }, homewrecker: { index: 189, writing: "Homewrecker", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, sire: { index: 190, writing: "Sire", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, sperm_donor: { index: 191, writing: "Sperm donor", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, stallion: { index: 192, writing: "Stallion", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, condom_breaker: { index: 193, writing: "Condom breaker", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, seed_sower: { index: 194, writing: "Seed sower", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, virile: { index: 195, writing: "Virile", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, womb_filler: { index: 196, writing: "Womb filler", type: "text", arrow: 0, special: "impreg", gender: "m", lewd: 1, degree: 0 }, square: { index: 197, writing: "square", type: "object", arrow: 0, special: "islander", gender: "n", lewd: 0, degree: 0 }, triangle: { index: 198, writing: "triangle", type: "object", arrow: 0, special: "islander", gender: "n", lewd: 0, degree: 0 }, circle: { index: 199, writing: "circle", type: "object", arrow: 0, special: "islander", gender: "n", lewd: 0, degree: 0 }, triquetra: { index: 200, writing: "triquetra", type: "object", arrow: 0, special: "esoteric", gender: "n", lewd: 0, degree: 0 } }>> <<set setup.bodywriting_namebyindex to []>> <<for _label, _value range setup.bodywriting>> <<set setup.bodywriting_namebyindex[_value.index] to _label>> <</for>> <</widget>><<widget "bodywriting_init">> <<set $skin to {}>> <<set $bodypart_number to 12>> <<for _active_bodypart range setup.bodyparts>> <<set $skin[_active_bodypart] to {}>> <</for>> <</widget>> <<widget "add_bodywriting">>/*First argument is body part. Second is the tattoo/bodywriting. Third is the tool used.*/ <<if typeof _args[1] === "object">> <<set $skin[_args[0]] to clone(_args[1])>> <<elseif typeof _args[1] === "number">> <<set $skin[_args[0]] to clone(setup.bodywriting[setup.bodywriting_namebyindex[_args[1]]])>> <<else>> <<set $skin[_args[0]] to clone(setup.bodywriting[_args[1]])>> <</if>> <<set $skin[_args[0]].pen to _args[2]>> <</widget>> <<widget "bodywriting_npc_bodypart">>/*Argument is the hand used.*/ <<if $walltype is 0 or $walltype is "front">> <<set _bodypart to "forehead">> <</if>> <<if $walltype is "front">> <<set $_parts to setup.bodyparts.slice(0,6)>> <<elseif $walltype isnot 0>> <<set $_parts to setup.bodyparts.slice(6)>> <<else>> <<set $_parts to setup.bodyparts>> <</if>> <<for _i to 0; _i lt 10; _i++>> <<rng $bodypart_number>> <<switch $rng>> <<case 1>> <<if $_parts.includes("forehead")>> <<set _bodypart to "forehead">> <<break>> <</if>> <<case 2>> <<if !$worn.face.type.includes("mask") and $_parts.includes("left_cheek")>> <<set _bodypart to "left_cheek">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 3>> <<if !$worn.face.type.includes("mask") and $_parts.includes("right_cheek")>> <<set _bodypart to "right_cheek">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 4>> <<if ($worn.upper.exposed gte 2 or $worn.upper.open is 1) and ($worn.under_upper.exposed gte 1 or $worn.under_open is 1) and $_parts.includes("left_shoulder")>> <<set _bodypart to "left_shoulder">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 5>> <<if ($worn.upper.exposed gte 2 or $worn.upper.open is 1) and ($worn.under_upper.exposed gte 1 or $worn.under_open is 1) and $_parts.includes("right_shoulder")>> <<set _bodypart to "right_shoulder">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 6>> <<if $worn.upper.exposed gte 2 and ($worn.under_upper.exposed gte 1 or $worn.under_upper.open is 1) and $_parts.includes("breasts")>> <<set _bodypart to "breasts">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 7>> <<if ($worn.upper.exposed gte 2 or $worn.upper.state isnot "waist") and ($worn.under_upper.exposed gte 1 or $worn.under_upper.state isnot "waist") and $_parts.includes("back")>> <<set _bodypart to "back">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 8>> <<if ($worn.lower.exposed gte 2 or $worn.lower.anus_exposed gte 1) and ($worn.under_lower.exposed gte 1 or !$worn.under_lower.type.includes("covered") and !$worn.legs.type.includes("covered")) and $_parts.includes("left_bottom")>> <<set _bodypart to "left_bottom">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 9>> <<if ($worn.lower.exposed gte 2 or $worn.lower.anus_exposed gte 1) and ($worn.under_lower.exposed gte 1 or !$worn.under_lower.type.includes("covered") and !$worn.legs.type.includes("covered")) and $_parts.includes("right_bottom")>> <<set _bodypart to "right_bottom">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 10>> <<if $worn.lower.exposed gte 1 and ($worn.under_lower.exposed gte 1 or !$worn.under_lower.type.includes("covered") and !$worn.legs.type.includes("covered")) and $_parts.includes("pubic")>> <<set _bodypart to "pubic">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 11>> <<if $worn.lower.vagina_exposed gte 1 and !$worn.under_lower.type.includes("covered") and !$worn.legs.type.includes("covered") and $_parts.includes("left_thigh")>> <<set _bodypart to "left_thigh">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <<case 12>> <<if $worn.lower.vagina_exposed gte 1 and !$worn.under_lower.type.includes("covered") and !$worn.legs.type.includes("covered") and $_parts.includes("right_thigh")>> <<set _bodypart to "right_thigh">> <<if not $skin[_bodypart].pen>> <<break>> <</if>> <</if>> <</switch>> <</for>> <<if !_bodypart>> <<set _bodypart to "failure">> <</if>> <<if _args[0] is "left">> <<for _bwn to 0; _bwn lt $enemynomax; _bwn++>> <<if _n isnot _bwn and ($NPCList[_bwn].lefthand is "pen" + "_" + _bodypart or $NPCList[_bwn].righthand is "pen" + "_" + _bodypart)>> <<He>> tries to scrawl on your <<bodypart _bodypart>> with <<his>> <<print $NPCList[_n].lefttool>>, <span class="blue">but <<his>> colleague shoves <<him>> out of the way.</span> <<set $NPCList[_n].lefthand to 0>> <<set _bwn_stop to 1>> <<break>> <</if>> <</for>> <<else>> <<for _bwn to 0; _bwn lt $enemynomax; _bwn++>> <<if _n isnot _bwn and ($NPCList[_bwn].lefthand is "pen" + "_" + _bodypart or $NPCList[_bwn].righthand is "pen" + "_" + _bodypart)>> <<He>> tries to scrawl on your <<bodypart _bodypart>> with <<his>> <<print $NPCList[_n].righttool>>, <span class="blue">but <<his>> colleague shoves <<him>> out of the way.</span> <<set $NPCList[_n].righthand to 0>> <<set _bwn_stop to 1>> <<break>> <</if>> <</for>> <</if>> <<if _bwn_stop isnot 1>> <<if _bodypart is "failure">> <<He>> examines your body, not seeing anywhere <<he>> can access, <<brat 1>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to 0>> <span class="blue">and discards the <<print $NPCList[_n].lefttool>> in frustration.</span> <<else>> <<set $NPCList[_n].righthand to 0>> <span class="blue">and discards the <<print $NPCList[_n].righttool>> in frustration.</span> <</if>> <<elseif $skin[_bodypart].pen is "tattoo">> <<He>> tries to rub the tattoo off your <<bodypart _bodypart>>. <<brat 1>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].lefttool>> in frustration.</span> <<else>> <<set $NPCList[_n].righthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].righttool>> in frustration.</span> <</if>> <<elseif $skin[_bodypart].pen is "brand">> <<He>> tries to rub the brand off your <<bodypart _bodypart>>. <<brat 1>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].lefttool>> in frustration.</span> <<else>> <<set $NPCList[_n].righthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].righttool>> in frustration.</span> <</if>> <<elseif $skin[_bodypart].pen is "magic">> <<He>> tries to rub the seal off your <<bodypart _bodypart>>. <<brat 1>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].lefttool>> in frustration.</span> <<else>> <<set $NPCList[_n].righthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].righttool>> in frustration.</span> <</if>> <<elseif $skin[_bodypart].pen is "marker">> <<He>> tries to rub the permanent ink off your <<bodypart _bodypart>>. <<brat 1>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].lefttool>> in frustration.</span> <<else>> <<set $NPCList[_n].righthand to 0>> <span class="blue"><<He>> discards the <<print $NPCList[_n].righttool>> in frustration.</span> <</if>> <<elseif $skin[_bodypart].pen is "pen">> <<He>> looks thoughtful as <span class="lblue"><<he>> rubs off the ink scrawled on your <<bodypart _bodypart>>.</span> <<bodywriting_clear _bodypart>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to "pen" + "_" + _bodypart>> <<else>> <<set $NPCList[_n].righthand to "pen" + "_" + _bodypart>> <</if>> <<elseif $skin[_bodypart].pen is "lipstick">> <<He>> looks thoughtful as <span class="lblue"><<he>> rubs off the lipstick scrawled on your <<bodypart _bodypart>>.</span> <<bodywriting_clear _bodypart>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to "pen" + "_" + _bodypart>> <<else>> <<set $NPCList[_n].righthand to "pen" + "_" + _bodypart>> <</if>> <<elseif $skin[_bodypart].pen is "mud">> <<He>> looks thoughtful as <span class="lblue"><<he>> rubs off the mud scrawled on your <<bodypart _bodypart>>.</span> <<bodywriting_clear _bodypart>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to "pen" + "_" + _bodypart>> <<else>> <<set $NPCList[_n].righthand to "pen" + "_" + _bodypart>> <</if>> <<else>> <<if _args[0] is "left">> <<set $NPCList[_n].lefthand to "pen" + "_" + _bodypart>> <<He>> looks thoughtful as <<he>> hovers the <<print $NPCList[_n].lefttool>> over your <<bodypart _bodypart>>. <<else>> <<set $NPCList[_n].righthand to "pen" + "_" + _bodypart>> <<He>> looks thoughtful as <<he>> hovers the <<print $NPCList[_n].righttool>> over your <<bodypart _bodypart>>. <</if>> <</if>> <</if>> <<unset _bwn_stop>> <</widget>> <<widget "bodywriting_npc">> /*First arg: bodypart Second arg: tool */ <<rng>> <<if $npc[$npcrow.indexOf(_n)] is "Whitney">> <<bodywriting_npc_whitney _args[0] _args[1]>> <<elseif $npc[$npcrow.indexOf(_n)] is "Kylar">> <<bodywriting_npc_kylar _args[0] _args[1]>> <<elseif $npc[$npcrow.indexOf(_n)] is "Sydney">> <<bodywriting_npc_sydney _args[0] _args[1]>> <<elseif $NPCList[_n].type is "plant" or $role is "islander">> <<bodywriting_npc_picture _args[0] _args[1]>> <<elseif $rng gte 51>> <<bodywriting_npc_special _args[0] _args[1]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <</widget>> <<widget "bodywriting_npc_whitney">> <<rng 3>> <<switch $rng>> <<case 1>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] whitneys_boyslut _args[1]>> <<else>> <<add_bodywriting _args[0] whitneys_slut _args[1]>> <</if>> <<case 2>> <<add_bodywriting _args[0] property_of_whitney _args[1]>> <<case 3>> <<add_bodywriting _args[0] whitneys_toy _args[1]>> <</switch>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_npc_kylar">> <<rng 3>> <<switch $rng>> <<case 1>> <<add_bodywriting _args[0] love_kylar_forever _args[1]>> <<case 2>> <<add_bodywriting _args[0] reserved_for_kylar _args[1]>> <<case 3>> <<add_bodywriting _args[0] just_kylar _args[1]>> <</switch>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_npc_sydney">> <<if $consensual is 1 or $combat is 0>> <<rng 6>> <<switch $rng>> <<case 1>> <<if C.npc.Sydney.purity gte 1>> <<add_bodywriting _args[0] purest_love _args[1]>> <<else>> <<add_bodywriting _args[0] lusty_sinners _args[1]>> <</if>> <<case 2>> <<add_bodywriting _args[0] bound_to_sydney _args[1]>> <<case 3>> <<add_bodywriting _args[0] sydney_makes_me_smile _args[1]>> <<case 4>> <<if C.npc.Sydney.corruption gte 10>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] stud _args[1]>> <<else>> <<add_bodywriting _args[0] beauty _args[1]>> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] handsome _args[1]>> <<else>> <<add_bodywriting _args[0] pretty _args[1]>> <</if>> <</if>> <<case 5>> <<if C.npc.Sydney.corruption gte 10 and $daily.sydney.sex gte 2>> <<add_bodywriting _args[0] insatiable _args[1]>> <<else>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] cute_boy _args[1]>> <<else>> <<add_bodywriting _args[0] cute_girl _args[1]>> <</if>> <</if>> <<case 6>> <<add_bodywriting _args[0] sinner _args[1]>> <</switch>> <<else>> <<add_bodywriting _args[0] sinner _args[1]>> <</if>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_npc_sydney_book">> <<if $sydneyromance is 1>> <<add_bodywriting _args[0] book_criminal_heart _args[1]>> <<else>> <<add_bodywriting _args[0] book_criminal_frown _args[1]>> <</if>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_npc_sydney_science">> <<if _sydneyStatus.includes("corrupt") or _sydneyStatus.includes("Lust")>> <<switch random(1, 3)>> <<case 1>> <<add_bodywriting _args[0] attractive_force _args[1]>> <<case 2>> <<add_bodywriting _args[0] reproductive_system _args[1]>> <<case 3>> <<add_bodywriting _args[0] breeding_cycle _args[1]>> <</switch>> <<else>> <<switch random(1, 3)>> <<case 1>> <<add_bodywriting _args[0] water_tables _args[1]>> <<case 2>> <<add_bodywriting _args[0] cytoplasm _args[1]>> <<case 3>> <<add_bodywriting _args[0] atomic_weight _args[1]>> <</switch>> <</if>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_npc_sydney_friendly">> <<if C.npc.Sydney.love gte 70>> <<add_bodywriting _args[0] best_friend _args[1]>> <<elseif C.npc.Sydney.love gte 40>> <<add_bodywriting _args[0] inspiring _args[1]>> <<else>> <<add_bodywriting _args[0] interesting _args[1]>> <</if>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_npc_picture">> <<if $NPCList[0].type is "plant">> <<rng 7>> <<else>> <<rng 10>> <</if>> <<switch $rng>> <<case 1>> <<add_bodywriting _args[0] unicorn _args[1]>> <<case 2>> <<add_bodywriting _args[0] heart _args[1]>> <<case 3>> <<add_bodywriting _args[0] paw_print _args[1]>> <<case 4>> <<add_bodywriting _args[0] flower _args[1]>> <<case 5>> <<add_bodywriting _args[0] butterfly _args[1]>> <<case 6>> <<add_bodywriting _args[0] star _args[1]>> <<case 7>> <<add_bodywriting _args[0] skull _args[1]>> <<case 8>> <<add_bodywriting _args[0] cross _args[1]>> <<case 9>> <<add_bodywriting _args[0] flame _args[1]>> <<case 10>> <<add_bodywriting _args[0] cattle_brand _args[1]>> <</switch>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_normal_select">> <<rng 39>> <<switch $rng>> <<case 1>> <<add_bodywriting _args[0] slut _args[1]>> <<case 2>> <<add_bodywriting _args[0] fucktoy _args[1]>> <<case 3>> <<add_bodywriting _args[0] worthless _args[1]>> <<case 4>> <<add_bodywriting _args[0] free_use _args[1]>> <<case 5>> <<add_bodywriting _args[0] slave _args[1]>> <<case 6>> <<add_bodywriting _args[0] use_me _args[1]>> <<case 7>> <<add_bodywriting _args[0] hit_me _args[1]>> <<case 8>> <<if ($cbchance lt 100 or $dgchance gte 1) and !$player.penisExist>> <<add_bodywriting _args[0] cum_rag _args[1]>> <<elseif ($dgchance lt 100 or $cbchance gte 1) and $player.penisExist>> <<add_bodywriting _args[0] walking_dildo _args[1]>> <<else>> <<add_bodywriting _args[0] free_use _args[1]>> <</if>> <<case 9>> <<if ($dgchance lt 100 or $cbchance gte 1) and $player.penisExist>> <<add_bodywriting _args[0] walking_dildo _args[1]>> <<elseif ($cbchance lt 100 or $dgchance gte 1) and !$player.penisExist>> <<add_bodywriting _args[0] cum_rag _args[1]>> <<else>> <<add_bodywriting _args[0] free_use _args[1]>> <</if>> <<case 10>> <<add_bodywriting _args[0] rape_bait _args[1]>> <<case 11>> <<add_bodywriting _args[0] bitch _args[1]>> <<case 12>> <<add_bodywriting _args[0] fuck_me _args[1]>> <<case 13>> <<add_bodywriting _args[0] hurt_me _args[1]>> <<case 14>> <<add_bodywriting _args[0] enslave_me _args[1]>> <<case 15>> <<add_bodywriting _args[0] treat_me_bad _args[1]>> <<case 16>> <<add_bodywriting _args[0] sex_addict _args[1]>> <<case 17>> <<add_bodywriting _args[0] rape_addict _args[1]>> <<case 18>> <<add_bodywriting _args[0] make_me_squeal _args[1]>> <<case 19>> <<add_bodywriting _args[0] make_me_cum _args[1]>> <<case 20>> <<add_bodywriting _args[0] free_sex _args[1]>> <<case 21>> <<add_bodywriting _args[0] insatiable _args[1]>> <<case 22>> <<add_bodywriting _args[0] stupid_whore _args[1]>> <<case 23>> <<add_bodywriting _args[0] rapetoy _args[1]>> <<case 24>> <<add_bodywriting _args[0] cocksucker _args[1]>> <<case 25>> <<add_bodywriting _args[0] side_piece _args[1]>> <<case 26>> <<add_bodywriting _args[0] slam_pig _args[1]>> <<case 27>> <<add_bodywriting _args[0] abuse_me _args[1]>> <<case 28>> <<add_bodywriting _args[0] strugglefucker _args[1]>> <<case 29>> <<add_bodywriting _args[0] cum_dump _args[1]>> <<case 30>> <<add_bodywriting _args[0] submissive _args[1]>> <<case 31>> <<add_bodywriting _args[0] pet _args[1]>> <<case 32>> <<add_bodywriting _args[0] skank _args[1]>> <<case 33>> <<add_bodywriting _args[0] gutter_whore _args[1]>> <<case 34>> <<add_bodywriting _args[0] stupid_ho _args[1]>> <<case 35>> <<add_bodywriting _args[0] asking_for_it _args[1]>> <<case 36>> <<add_bodywriting _args[0] cock_tease _args[1]>> <<case 37>> <<add_bodywriting _args[0] dumb_bitch _args[1]>> <<case 38>> <<add_bodywriting _args[0] kick_me _args[1]>> <<case 39>> <<add_bodywriting _args[0] buttslut _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_npc_normal">> <<set _bigdick to 0>> <<for _nx to 0; _nx lt $enemynomax; _nx++>> <<if $NPCList[_nx].penissize gte 3>> <<set _bigdick to 1>> <</if>> <</for>> <<rng 10>> <<if _bigdick eq 1 and $rng eq 1>> <<add_bodywriting _args[0] size_queen _args[1]>> <<else>> <<bodywriting_normal_select _args[0] _args[1]>> <</if>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_finalisation">> <<if $skin[_args[0]].type is "text">> <i><span class="pink">"<<print $skin[_args[0]].writing>>"</span></i>. <<else>> <i><span class="pink">A picture of a <<print $skin[_args[0]].writing>></span></i>. <</if>> <<if $skin[_args[0]].arrow is 1>> <<if _args[1] is "machine">> <<set $_He to "It">> <<else>> <<set $_He to "<<He>>">> <</if>> <<switch _args[0]>> <<case "left_cheek" "right_cheek">> $_He draws an arrow beside it, <span class="red">pointing at your mouth.</span> <<case "pubic" "left_thigh" "right_thigh">> $_He draws an arrow beside it, <span class="red">pointing at your <<genitals 1>>.</span> <<case "back" "left_bottom" "right_bottom">> <<if $analdisable is "f">> $_He draws an arrow beside it, <span class="red">pointing at your <<bottom>>.</span> <</if>> <</switch>> <</if>> <<if _args[1] is "machine">> <<set $skin[_args[0]].pen to "tattoo">> <<else>> <<if $skin[_args[0]].pen is undefined>> <<set $skin[_args[0]].pen to "pen">> <</if>> <</if>> <</widget>> <<widget "bodywriting_criminal">> <<bodywriting_criminal_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <</widget>> <<widget "bodywriting_criminal_select">> <<switch random(1, 7)>> <<case 1>><<add_bodywriting _args[0] criminal_scum _args[1]>> <<case 2>><<add_bodywriting _args[0] criminal _args[1]>> <<case 3>><<add_bodywriting _args[0] law_breaker _args[1]>> <<case 4>><<add_bodywriting _args[0] criminal_whore _args[1]>> <<case 5>><<add_bodywriting _args[0] in_debt_to_society _args[1]>> <<case 6>><<add_bodywriting _args[0] deserves_prison _args[1]>> <<case 7>><<add_bodywriting _args[0] threat_to_society _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_rape_select">> <<switch random(1, 5)>> <<case 1>><<add_bodywriting _args[0] rape_me _args[1]>> <<case 2>><<add_bodywriting _args[0] rapists_toy _args[1]>> <<case 3>><<add_bodywriting _args[0] no_means_yes _args[1]>> <<case 4>><<add_bodywriting _args[0] public_toy _args[1]>> <<case 5>><<add_bodywriting _args[0] public_property _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_sex_select">> <<switch random(1, 6)>> <<case 1>><<add_bodywriting _args[0] promiscuous _args[1]>> <<case 2>><<add_bodywriting _args[0] town_bicycle _args[1]>> <<case 3>><<add_bodywriting _args[0] public_slut _args[1]>> <<case 4>><<add_bodywriting _args[0] wanton _args[1]>> <<case 5>><<add_bodywriting _args[0] insatiable_slut _args[1]>> <<case 6>><<add_bodywriting _args[0] dtf _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_bestiality_select">> <<switch random(1, 12)>> <<case 1>><<add_bodywriting _args[0] doggy_slut _args[1]>> <<case 2>><<add_bodywriting _args[0] animal _args[1]>> <<case 3>><<add_bodywriting _args[0] beast_fucker _args[1]>> <<case 4>><<add_bodywriting _args[0] breedable _args[1]>> <<case 5>><<add_bodywriting _args[0] deviant _args[1]>> <<case 6>><<add_bodywriting _args[0] horse_cock_only _args[1]>> <<case 7>><<add_bodywriting _args[0] knots_only _args[1]>> <<case 8>><<add_bodywriting _args[0] barn_slut _args[1]>> <<case 9>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] breeding_stud _args[1]>> <<else>> <<add_bodywriting _args[0] breeding_mare _args[1]>> <</if>> <<case 10>><<add_bodywriting _args[0] cats_toy _args[1]>> <<case 11>><<add_bodywriting _args[0] cat_fucker _args[1]>> <<case 12>><<add_bodywriting _args[0] cat_slut _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_prostitution_select">> <<switch random(1, 9)>> <<case 1>><<add_bodywriting _args[0] five_pound_whore _args[1]>> <<case 2>><<add_bodywriting _args[0] ten_pound_a_pop _args[1]>> <<case 3>><<add_bodywriting _args[0] twenty_five_pound_per_fuck _args[1]>> <<case 4>><<add_bodywriting _args[0] one_hundred_pound _args[1]>> <<case 5>><<add_bodywriting _args[0] its_not_rape_if_you_pay_me _args[1]>> <<case 6>><<add_bodywriting _args[0] whore _args[1]>> <<case 7>><<add_bodywriting _args[0] slut_for_hire _args[1]>> <<case 8>><<add_bodywriting _args[0] body_for_sale _args[1]>> <<case 9>><<add_bodywriting _args[0] prostitute _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_pregnancy_select">> <<switch random(1, 8)>> <<case 1>><<add_bodywriting _args[0] brood_mother _args[1]>> <<case 2>><<add_bodywriting _args[0] inseminate_me _args[1]>> <<case 3>><<add_bodywriting _args[0] impregnate_me _args[1]>> <<case 4>><<add_bodywriting _args[0] pregnancy_slut _args[1]>> <<case 5>><<add_bodywriting _args[0] breeding_ground _args[1]>> <<case 6>><<add_bodywriting _args[0] seedbed _args[1]>> <<case 7>><<add_bodywriting _args[0] fertile _args[1]>> <<case 8>><<add_bodywriting _args[0] fill_me_up _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_impreg_select">> <<switch random(1, 8)>> <<case 1>><<add_bodywriting _args[0] homewrecker _args[1]>> <<case 2>><<add_bodywriting _args[0] sire _args[1]>> <<case 3>><<add_bodywriting _args[0] sperm_donor _args[1]>> <<case 4>><<add_bodywriting _args[0] stallion _args[1]>> <<case 5>><<add_bodywriting _args[0] condom_breaker _args[1]>> <<case 6>><<add_bodywriting _args[0] seed_sower _args[1]>> <<case 7>><<add_bodywriting _args[0] virile _args[1]>> <<case 8>><<add_bodywriting _args[0] womb_filler _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_exhibitionism_select">> <<switch random(1, 5)>> <<case 1>><<add_bodywriting _args[0] pervert _args[1]>> <<case 2>><<add_bodywriting _args[0] attention_whore _args[1]>> <<case 3>><<add_bodywriting _args[0] flaunter _args[1]>> <<case 4>><<add_bodywriting _args[0] object _args[1]>> <<case 5>><<add_bodywriting _args[0] strip_me _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_beauty_select">> <<switch random(1, 5)>> <<case 1>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] handsome _args[1]>> <<else>> <<add_bodywriting _args[0] pretty _args[1]>> <</if>> <<case 2>><<add_bodywriting _args[0] hot _args[1]>> <<case 3>><<add_bodywriting _args[0] beautiful _args[1]>> <<case 4>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] cute_boy _args[1]>> <<else>> <<add_bodywriting _args[0] cute_girl _args[1]>> <</if>> <<case 5>> <<if $player.gender_appearance is "m">> <<add_bodywriting _args[0] stud _args[1]>> <<else>> <<add_bodywriting _args[0] beauty _args[1]>> <</if>> <</switch>> <</widget>> <<widget "bodywriting_scrap_select">> <<switch random(1, 6)>> <<case 1>><<add_bodywriting _args[0] defiant_whelp _args[1]>> <<case 2>><<add_bodywriting _args[0] brat _args[1]>> <<case 3>><<add_bodywriting _args[0] punish_me _args[1]>> <<case 4>><<add_bodywriting _args[0] insolent _args[1]>> <<case 5>><<add_bodywriting _args[0] naughty _args[1]>> <<case 6>><<add_bodywriting _args[0] dumb_bitch _args[1]>> <</switch>> <</widget>> <<widget "bodywriting_npc_special">> <<rng>> <<if $rng gte 90>> <<if $fame.rape gte random(200, 1000)>> <<bodywriting_rape_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <<elseif $rng gte 80>> <<if $fame.sex gte random(200, 1000)>> <<bodywriting_sex_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <<elseif $rng gte 70>> <<if $fame.bestiality gte random(200, 1000)>> <<bodywriting_bestiality_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <<elseif $rng gte 60>> <<if $fame.pregnancy gte random(200, 1000) and $player.vaginaExist and $rng gte 65>> <<bodywriting_pregnancy_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<elseif $fame.impreg gte random(200, 1000) and $player.penisExist>> <<bodywriting_impreg_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0]>> <</if>> <<elseif $rng gte 50>> <<if $fame.prostitution gte random(200, 1000)>> <<bodywriting_prostitution_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <<elseif $rng gte 40>> <<if $fame.exhibitionism gte random(200, 1000)>> <<bodywriting_exhibitionism_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <<elseif $rng gte 28>> <<if $beauty gte random(1, $beautymax)>> <<bodywriting_beauty_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <<elseif $rng gte 16>> <<if $fame.scrap gte random(1, 1000)>> <<bodywriting_scrap_select _args[0] _args[1]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <<else>> <<bodywriting_npc_normal _args[0] _args[1]>> <</if>> <</widget>> <<widget "bodywriting_machine">> <<rng>> <<if $bodywriting_special is "dungeon">> <<bodywriting_dungeon_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <<elseif $rng gte 94>> <<if $fame.rape gte random(200, 1000)>> <<bodywriting_rape_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<elseif $rng gte 87>> <<if $fame.sex gte random(200, 1000)>> <<bodywriting_sex_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<elseif $rng gte 80>> <<if $fame.bestiality gte random(200, 1000)>> <<bodywriting_bestiality_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<elseif $rng gte 73>> <<if $fame.pregnancy gte random(200, 1000) and $player.vaginaExist>> <<bodywriting_pregnancy_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_npc_normal _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<elseif $rng gte 65>> <<if $fame.prostitution gte random(200, 1000)>> <<bodywriting_prostitution_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<elseif $rng gte 59>> <<if $fame.exhibitionism gte random(200, 1000)>> <<bodywriting_exhibitionism_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<elseif $rng gte 53>> <<if $beauty gte random(1, $beautymax)>> <<bodywriting_beauty_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<elseif $rng gte 47>> <<if $fame.scrap gte random(1, 1000)>> <<bodywriting_scrap_select _args[0]>> <<bodywriting_finalisation _args[0]>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <<else>> <<bodywriting_normal_select _args[0]>> <<bodywriting_finalisation _args[0] machine>> <</if>> <</widget>> <<widget "bodypart">> <<switch _args[0]>> <<case "breasts" "chest">> <<set _text_output to "<<breasts>>">> <<case "pubic">> <<set _text_output to "pubic area">> <<case "left_bottom">> <<set _text_output to "left ass cheek">> <<case "right_bottom">> <<set _text_output to "right ass cheek">> <<case "leftarm">> <<set _text_output to "left arm">> <<case "rightarm">> <<set _text_output to "right arm">> <<case "vaginaoutside">> <<set _text_output to "labia">> <<case "thigh">> <<set _text_output to "thighs">> <<default>> <<set _text_output to _args[0].replace(/_/g," ")>> <</switch>> <<print _text_output>> <</widget>> <<widget "tattoo">> <span class="lewd">"<<print $skin[_args[0]].writing>>"</span> <<switch $skin[_args[0]].pen>> <<case "tattoo">><<set _text_output to "tattoo">> <<case "brand">><<set _text_output to "brand">> <<case "magic">><<set _text_output to "seal">> <<default>><<set _text_output to ($skin[_args[0]].type is "text" ? "writing" : "image")>> <</switch>> <<print _text_output>> <</widget>> <<widget "bodywriting_clear">> <<set $skin[_args[0]] to {}>> <</widget>> <<widget "bodywriting_clear_all">> <<bodywriting_clear forehead>> <<bodywriting_clear left_cheek>> <<bodywriting_clear right_cheek>> <<bodywriting_clear left_shoulder>> <<bodywriting_clear right_shoulder>> <<bodywriting_clear breasts>> <<bodywriting_clear back>> <<bodywriting_clear pubic>> <<bodywriting_clear left_thigh>> <<bodywriting_clear right_thigh>> <<bodywriting_clear left_bottom>> <<bodywriting_clear right_bottom>> <</widget>> <<widget "bodypart_admire_prostitution">> <<if $NPCList[_n].paid is 1>> <<elseif $skin[_args[0]].degree lte 0>> <<if (($enemyarousal + ($enemytrust * 5) - $enemyanger + ($attractiveness / 10) * (currentSkillValue("seductionskill") / 200)) gte 1000)>> <<set $enemyanger += 10>><<set $enemytrust -= 100>><<fameprostitution 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 5)>> <<case 1>><<He>> speaks. "Expensive. Fine." <<case 2>><<He>> speaks. "I'll pay, but you better be worth it." <<case 3>><<He>> speaks. "I'll pay this time, slut." <<case 4>><<He>> speaks. "I've seen worse deals." <<case 5>><<He>> speaks. "I should pay you. I doubt you're good for anything else." <</switch>> <</if>> <<He>> drops a <<printmoney 1000>><<money 1000 "prostitution">> note atop you. <<earnFeat "Billboard">><<set $NPCList[_n].paid to 1>> <<elseif (($enemyarousal + ($enemytrust * 5) - $enemyanger + ($attractiveness / 10) * (currentSkillValue("seductionskill") / 200)) gte 500)>> <<set $enemyanger += 10>><<set $enemytrust -= 100>><<fameprostitution 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 5)>> <<case 1>><<He>> speaks. "You're lucky I'm giving you a thing." <<case 2>><<He>> speaks. "If only money could buy you dignity." <<case 3>><<He>> speaks. "I've bought drinks more expensive than you." <<case 4>><<He>> speaks. "Where should I insert it?" <<case 5>><<He>> speaks. "Cheap and dirty whores are the best." <</switch>> <</if>> <<He>> drops a <<printmoney 500>><<money 500 "prostitution">> note atop you. <<earnFeat "Billboard">><<set $NPCList[_n].paid to 1>> <<else>><<set $enemytrust -= 20>> <<fameprostitution 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 5)>> <<case 1>><<He>> speaks. "Pay you? Don't make me laugh." <<case 2>><<He>> speaks. "Getting to fuck me is payment enough." <<case 3>><<He>> speaks. "Don't think you're worth anything." <<case 4>><<He>> speaks. "I hope you're not expecting cash." <<case 5>><<He>> speaks. "Whores like you don't deserve anything." <</switch>> <</if>> <</if>> <<elseif $skin[_args[0]].degree lte ($enemyarousal + ($enemytrust * 5) - $enemyanger + ($attractiveness / 10) * (currentSkillValue("seductionskill") / 200))>> <<set $enemyanger += 10>><<set $enemytrust -= $skin[_args[0]].degree>><<fameprostitution 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 5)>> <<case 1>><<He>> speaks. "I'm paying, but you better be worth it." <<case 2>><<He>> speaks. "You whores are so full of yourself." <<case 3>><<He>> speaks. "Fine, but I'm getting my money's worth." <<case 4>><<He>> speaks. "I'm gonna make you earn every penny." <<case 5>><<He>> speaks. "Fine, I'll pay. This time." <</switch>> <</if>> <<He>> drops <<printmoney $skin[_args[0]].degree>><<money $skin[_args[0]].degree "prostitution">> atop you. <<earnFeat "Billboard">><<set $NPCList[_n].paid to 1>> <<else>> <<set $enemytrust -= 20>><<fameprostitution 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 5)>> <<case 1>><<He>> speaks. "You're fucking kidding me." <<case 2>><<He>> speaks. "You're not getting a penny, slut." <<case 3>><<He>> speaks. "You're not worth a penny." <<case 4>><<He>> speaks. "I work hard for my cash. I'm not about to give it to some slut." <<case 5>><<He>> speaks. "Fucking me is the only reward you need." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_arrow">> <<if $skin[_args[0]].special is "prostitution" and $NPCList[_n].type isnot "plant">> <<bodypart_admire_prostitution _args[0]>> <</if>> <<if (_args[0] is "left_cheek" or _args[0] is "right_cheek") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "head" and ($position isnot "wall" or $walltype is "front") and $mouthuse is 0>> <<if $analingusdisablegiving is "f" and random(1, 10) is 1 and ($NPCList[_n].penis is 0 or $NPCList[_n].vagina is 0)>> <<He>> follows the arrow's instruction, <span class="blue">and swings <<his>> ass in front of your face.</span> <<neutral 5>><<set $mouthuse to "otheranus">><<set $mouthstate to "otheranus">> <<if $NPCList[_n].penis is 0>> <<set $NPCList[_n].penis to "mouthotheranus">> <</if>> <<if $NPCList[_n].vagina is 0>> <<set $NPCList[_n].vagina to "mouthotheranus">> <</if>> <<set $NPCList[_n].location.genitals = "head">><<set $speechmouthotheranus to 1>><<set $mouthtarget to _n>> <<elseif $NPCList[_n].penis is 0>> <<He>> follows the arrow's instruction, <span class="blue">and positions <<his>> $NPCList[_n].penisdesc in front of your mouth.</span> <<neutral 5>><<set $mouthuse to "penis">><<set $NPCList[_n].penis to "mouthentrance">><<set $mouthstate to "entrance">><<set $speechmouthentrance to 1>><<set $mouthtarget to _n>> <<set $NPCList[_n].location.genitals to "head">> <<elseif $NPCList[_n].vagina is 0>> <<He>> follows the arrow's instruction. <<if random(4) is 0 and $facesitdisable is "f">> <<if $position is "doggy">> <<He>> gently rolls you onto your back. <<set $position to "missionary">> <</if>> <span class="purple"> <<if $enemyanger gte (($enemyangermax / 5) * 1)>> <<print either( "<<He>> swings a leg over your face and sits down, sitting on your face.", "<<He>> sits down on your face, covering your mouth with <<his>> pussy.", "<<His>> pussy and ass descend onto your face, as <<he>> sits on it." )>> <<violence 3>><<bruise face>> <<else>> <<print either( "<<He>> straddles your face and slowly lowers <<his>> pussy down onto your mouth.", "<<He>> stands over your face and lowers <<himself>>, planting <<his>> pussy on your face.", "<<His>> pussy comes down onto your face and rests lightly on your mouth, and <<he>> waits expectantly." )>> <</if>> </span> <<submission 5>><<set $NPCList[_n].vagina to "facesit">><<set $mouthuse to "facesit">><<set $mouthstate to "vagina">><<set $mouthtarget to _n>> <<set $speechfacesit to 1>><<set $NPCList[_n].location.genitals = "head">> <<else>> <span class="purple"><<He>> wraps <<his>> legs around your head and presses <<his>> pussy against your mouth.</span> <<submission 5>><<set $mouthuse to "othervagina">><<set $NPCList[_n].vagina to "mouth">><<set $mouthstate to "othervagina">><<violence 3>><<bruise face>><<set $speechvaginamouth to 1>><<set $mouthtarget to _n>> <<set $NPCList[_n].location.genitals to "head">> <</if>> <</if>> <<elseif (_args[0] is "back" or _args[0] is "right_bottom" or _args[0] is "left_bottom") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals">> <<if $worn.lower.anus_exposed gte 1 and $worn.under_lower.anus_exposed gte 1 and $anususe is 0>> <<if $analingusdisablereceiving is "f" and $NPCList[_n].mouth is 0 and ($NPCList[_n].penis is "none" or random(1, 10) is 1)>> <<He>> follows the arrow's instruction and lowers <<his>> head, <span class="blue">until <<hes>> level with your <<bottom>>.</span> <<neutral 5>><<set $NPCList[_n].mouth to "anusentrance">><<set $anususe to "othermouth">><<set $anusstate to "othermouthentrance">> <<set $NPCList[_n].location.head to "genitals">><<set $anustarget to _n>> <<elseif $NPCList[_n].penis is 0>> <<He>> follows the arrow's instruction, <span class="blue">and positions <<his>> penis in front of your <<bottom>>.</span> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>> <span class="red">Something about it scares you.</span> <</if>> <<neutral 5>><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $speechanusentrance to 1>> <<set $NPCList[_n].location.genitals to "genitals">><<set $anustarget to _n>> <</if>> <</if>> <<elseif (_args[0] is "pubic" or _args[0] is "left_thigh" or _args[0] is "right_thigh") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals">> <<if $worn.lower.vagina_exposed gte 1 and $worn.under_lower.vagina_exposed gte 1>> <<if $penisuse is 0 and ($vaginause isnot 0 or random(1))>> <<if random(1, 5) is 1 and $NPCList[_n].mouth is 0>> <<He>> follows the arrow's instruction and lowers <<his>> head, <span class="blue">until <<hes>> level with your <<penis>>.</span> <<neutral 5>><<set $NPCList[_n].mouth to "penisentrance">><<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">> <<set $NPCList[_n].location.head to "genitals">><<set $penistarget to _n>> <<elseif $NPCList[_n].penis is 0>> <<He>> follows the arrow's instruction, <span class="blue">and angles <<his>> $NPCList[_n].penisdesc towards yours.</span> <<neutral 5>><<set $NPCList[_n].penis to "penisentrance">><<set $penisuse to "otherpenis">><<set $penisstate to "otherpenisentrance">> <<set $NPCList[_n].location.genitals to "genitals">><<set $penistarget to _n>><<set $speechfencingentrance to 1>> <<elseif $NPCList[_n].vagina is 0>> <<He>> follows the arrow's instruction, <span class="blue">and straddles you, <<his>> pussy hovering close to your <<penis>>.</span> <<neutral 5>><<set $NPCList[_n].vagina to "penisentrance">><<set $penisuse to "othervagina">><<set $penisstate to "entrance">> <<set $NPCList[_n].location.genitals to "genitals">><<set $penistarget to _n>><<set $speechpenisentrance to 1>> <</if>> <<elseif $vaginause is 0>> <<if random(1, 5) is 1 and $NPCList[_n].mouth is 0>> <<He>> follows the arrow's instruction and lowers <<his>> head, <span class="blue">until <<hes>> level with your <<pussy>>.</span> <<neutral 5>><<set $NPCList[_n].mouth to "vaginaentrance">><<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">> <<set $NPCList[_n].location.head to "genitals">><<set $vaginatarget to _n>> <<elseif $NPCList[_n].penis is 0>> <<He>> follows the arrow's instruction, <span class="blue">and moves between your legs, positioning <<his>> $NPCList[_n].penisdesc in front of your <<pussy>>.</span> <<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("vagina")>> <span class="red">Something about it scares you.</span> <</if>> <<neutral 5>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">> <<set $NPCList[_n].location.genitals to "genitals">><<set $vaginatarget to _n>><<set $speechvaginaentrance to 1>> <<elseif $NPCList[_n].vagina is 0>> <<He>> follows the arrow's instruction, <span class="blue">and moves <<his>> pussy closer to yours.</span> <<neutral 5>><<set $NPCList[_n].vagina to "vaginaentrance">><<set $vaginause to "othervagina">><<set $vaginastate to "othervaginaentrance">> <<set $NPCList[_n].location.genitals to "genitals">><<set $vaginatarget to _n>><<set $speechtribentrance to 1>> <</if>> <</if>> <</if>> <</if>> <<set $speechadmired to 1>> <</widget>> <<widget "bodypart_admire_rape">> <<set $enemytrust -= 20>><<famerape 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $consensual is 1>> <<switch random(1, 9)>> <<case 1>><<He>> speaks. "Do you get off on being treated like filth?" <<case 2>><<He>> speaks. "I didn't know you were that kind of <<girl>>." <<case 3>><<He>> speaks. "You'd like it to be rougher, aye?" <<case 4>><<He>> speaks. "You're a dirty one." <<case 5>><<He>> speaks. "Do you get taken often?" <<case 6>><<He>> speaks. "I'll treat you like you want, don't worry." <<case 7>><<He>> speaks. "So you like being a victim?" <<case 8>><<He>> speaks. "I bet you put that on yourself, slut." <<case 9>><<He>> speaks. "You're just asking for it." <</switch>> <<else>> <<switch random(1, 9)>> <<case 1>><<He>> speaks. "Hah! I knew you were a rape addict." <<case 2>><<He>> speaks. "I'm just giving you what you want, after all." <<case 3>><<He>> speaks. "Don't worry, you'll be treated how you deserve." <<case 4>><<He>> speaks. "My my, what a slut." <<case 5>><<He>> speaks. "Good to see you know your place." <<case 6>><<He>> speaks. "You're just asking for it." <<case 7>><<He>> speaks. "I knew you were a fucktoy." <<case 8>><<He>> speaks. "I knew this was all you're good for." <<case 9>><<He>> speaks. "I'm giving you what you deserve." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_exhibitionism">> <<fameexhibitionism 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "Don't worry. I'm getting a good look." <<case 2>><<He>> speaks. "Maybe I'll take some pictures." <<case 3>><<He>> speaks. "You're certainly a feast for the eyes." <<case 4>><<He>> speaks. "You're hot alright." <<case 5>><<He>> speaks. "You like being ogled at, slut?" <<case 6>><<He>> speaks. "Being leered at is all you're good for." <<case 7>><<He>> speaks. "You'd look great in a cage." <<case 8>><<He>> speaks. "Cuties like you shouldn't wear clothes." <<case 9>><<He>> speaks. "You're such an attention whore." <<case 10>><<He>> speaks. "I bet half the town's seen that ass of yours." <</switch>> <</if>> <</widget>> <<widget "bodypart_admire_bestiality">> <<famebestiality 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "You're disgusting." <<case 2>><<He>> speaks. "So you like fucking animals? Doesn't surprise me." <<case 3>><<He>> speaks. "Maybe I'm not hairy enough for you." <<case 4>><<He>> speaks. "You belong in a kennel." <<case 5>><<He>> speaks. "Filthy bitch." <<case 6>> <<if $player.gender_appearance is "f">> <<He>> speaks. "You must be in heat." <<else>> <<He>> speaks. "You must be rutting." <</if>> <<case 7>><<He>> speaks. "You're such a dirty <<girl>>." <<case 8>> <<if $player.gender_appearance is "m">> <<He>> speaks. "Good dog." <<else>> <<He>> speaks. "Good bitch." <</if>> <<case 9>><<He>> speaks. "Someone should tie you up in the park, let the neighbourhood dogs take out their stress." <<case 10>><<He>> speaks. "I knew you were a dog-fucker." <</switch>> <</if>> <</widget>> <<widget "bodypart_admire_promiscuity">> <<famesex 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "You're such a slut." <<case 2>><<He>> speaks. "I bet you'd fuck anyone." <<case 3>><<He>> speaks. "I'll let my friends know who to see if they need a fucktoy." <<case 4>><<He>> speaks. "Have you no shame?" <<case 5>><<He>> speaks. "Self-respect must be an alien concept to you." <<case 6>><<He>> speaks. "Don't worry, I know how to satisfy a <<girl>>." <<case 7>><<He>> speaks. "I'm glad I could find such a slut." <<case 8>><<He>> speaks. "Fucking must be like breathing to you." <<case 9>><<He>> speaks. "I bet you can't go a single day without a good fuck." <<case 10>><<He>> speaks. "Seems I'm giving you what you want." <</switch>> <</if>> <</widget>> <<widget "bodypart_admire_pregnancy">> <<if playerBellyVisible()>> <<famepregnancy 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $pregnancyspeechdisable is "f">> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "Doesn't look like it's something I can help with right now." <<case 2>><<He>> speaks. "So how many kids have you given birth to?" <<case 3>><<He>> speaks. "I'll let my friends know who to see if they want a kid in a couple of months." <<case 4>><<He>> speaks. "How far along are you?" <<case 5>><<He>> speaks. "Not being pregnant must be an alien concept to you." <<case 6>><<He>> speaks. "Don't worry, you're already pregnant." <<case 7>><<He>> speaks. "At least I don't need to worry about condoms." <<case 8>><<He>> speaks. "Breeding must be like breathing to you." <<case 9>><<He>> speaks. "I bet you love the feeling of giving birth." <<case 10>><<He>> speaks. "Seems like you already have what you're after." <</switch>> <</if>> <</if>> <<else>> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $pregnancyspeechdisable is "f">> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "You want a kid that much, slut?" <<case 2>><<He>> speaks. "So how many kids have you given birth to?" <<case 3>><<He>> speaks. "I'll let my friends know who to see if they want a kid." <<case 4>><<He>> speaks. "Are you ovulating right now?" <<case 5>><<He>> speaks. "Not being pregnant must be an alien concept to you." <<case 6>><<He>> speaks. "Don't worry, I know how to get you pregnant." <<case 7>><<He>> speaks. "I'm glad I don't need to worry about condoms." <<case 8>><<He>> speaks. "Breeding must be like breathing to you." <<case 9>><<He>> speaks. "I bet you love the feeling of giving birth." <<case 10>><<He>> speaks. "Seems I'm giving you what you want." <</switch>> <</if>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_impreg">> <<fameimpreg 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $pregnancyspeechdisable is "f">> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "You want a kid that much, slut?" <<case 2>><<He>> speaks. "So how many kids have you sired?" <<case 3>><<He>> speaks. "I'll let my friends know who to see if they want a kid." <<case 4>><<He>> speaks. "Just how many people have you knocked up?" <<case 5>><<He>> speaks. "You must love seeing baby bumps." <<case 6>><<He>> speaks. "What a stud." <<case 7>><<He>> speaks. "I'm glad I don't need to worry about condoms." <<case 8>><<He>> speaks. "Breeding must be like breathing to you." <<case 9>><<He>> speaks. "I bet you love the feeling of impregnating others." <<case 10>><<He>> speaks. "Seems I'm giving you what you want." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_girly">> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $player.gender_appearance is "m">> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "You want to be treated like a girl? Fine by me." <<case 2>><<He>> speaks. "That's an odd thing for a boy to wear." <<case 3>><<He>> speaks. "So girly." <<case 4>><<He>> speaks. "Makes you look like a girl." <<case 5>><<He>> speaks. "Don't worry, I'll treat you like a girl." <<case 6>><<He>> speaks. "Aren't you embarrassed to be covered in such a girly thing?" <<case 7>><<He>> speaks. "Cute." <<case 8>><<He>> speaks. "I bet you like dressing up as a girl, slut." <<case 9>><<He>> speaks. "I bet your friends make fun of you." <<case 10>><<He>> speaks. "Why would you wear such a thing?" <</switch>> <<else>> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "Cute." <<case 2>><<He>> speaks. "I bet you wanna be treated like a princess, but you're just a slut." <<case 3>><<He>> speaks. "I'll treat you like a kidnapped princess." <<case 4>><<He>> speaks. "So cute and feminine." <<case 5>><<He>> speaks. "I think you need someone strong to protect you." <<case 6>><<He>> speaks. "Most girls would be embarrassed to wear such a thing." <<case 7>><<He>> speaks. "Do other girls wear marks like this?" <<case 8>><<He>> speaks. "Advertising your femininity? Like anyone would mistake you for a boy." <<case 9>><<He>> speaks. "You're fucking hot, that's for sure." <<case 10>><<He>> speaks. "So glad I get such a pretty girl to play with." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_boyish">> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $player.gender_appearance is "m">> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "So glad I get such a handsome boy to play with." <<case 2>><<He>> speaks. "You're fucking hot, that's for sure." <<case 3>><<He>> speaks. "Advertising your masculinity? Like anyone would mistake you for a girl." <<case 4>><<He>> speaks. "Do other boys wear marks like this?" <<case 5>><<He>> speaks. "Most boys would be embarrassed to wear such at thing." <<case 6>><<He>> speaks. "I think you need someone strong to protect you." <<case 7>><<He>> speaks. "So strong and masculine." <<case 8>><<He>> speaks. "I'll treat you like a kidnapped prince." <<case 9>><<He>> speaks. "You're a hot fucktoy alright." <<case 10>><<He>> speaks. "It's not wrong." <</switch>> <<else>> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "Why would you wear such a thing?" <<case 2>><<He>> speaks. "I bet your friends make fun of you." <<case 3>><<He>> speaks. "I bet you like dressing up as a boy, but you're just a slut." <<case 4>><<He>> speaks. "Hot." <<case 5>><<He>> speaks. "Aren't you embarrassed to be covered in such a boyish thing?" <<case 6>><<He>> speaks. "Don't worry, I'll treat you like a boy." <<case 7>><<He>> speaks. "Makes you look like a boy." <<case 8>><<He>> speaks. "So boyish." <<case 9>><<He>> speaks. "That's an odd thing for a girl to wear." <<case 10>><<He>> speaks. "You want to be treated like a boy? Fine by me." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_combat">> <<famescrap 1>><<set $enemytrust -= 5>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "I need to watch myself around you." <<case 2>><<He>> speaks. "I bet you like being treated badly, really." <<case 3>><<He>> speaks. "Your brattiness is a front. I can see through it." <<case 4>><<He>> speaks. "Do I need to watch my <<if $NPCList[_n].pronoun is "f">>purse<<else>>wallet<</if>>?" <<case 5>><<He>> speaks. "Try anything funny and you'll get beat." <<case 6>><<He>> speaks. "Like you could take me." <<case 7>><<He>> speaks. "You must have a high opinion of yourself." <<case 8>><<He>> speaks. "The people you've beaten must be real wimps." <<case 9>><<He>> speaks. "You don't look so tough." <<case 10>><<He>> speaks. "Bratty little <<bitch>>." <</switch>> <</if>> <</widget>> <<widget "bodypart_admire_violence">> <<set $enemyanger += 20>> <<if !$speechadmired>><<set $speechadmired to 1>> <<switch random(1, 10)>> <<case 1>><<He>> speaks. "So you like it rough." <<case 2>><<He>> speaks. "I'm just giving you what you want." <<case 3>><<He>> speaks. "I bet you're addicted to pain." <<case 4>><<He>> speaks. "Sluts like you do deserve beatings." <<case 5>><<He>> speaks. "I'll hurt you all you want, and then some." <<case 6>><<He>> speaks. "Like I need to be asked." <<case 7>><<He>> speaks. "It's a dream come true." <<case 8>><<He>> speaks. "I can be rougher." <<case 9>><<He>> speaks. "So that's how you like it." <<case 10>><<He>> speaks. "Will you cum if I hit you hard enough?" <</switch>> <</if>> <</widget>> <<widget "bodypart_admire_lewd">> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $skin[_args[0]].type is "text">> <<switch random(1, 10)>> <<case 1>> <<if $skin[_args[0]].pen is "tattoo">> <<He>> speaks. "Such a lewd tattoo." <<elseif $skin[_args[0]].pen is "brand">> <<He>> speaks. "Such a lewd brand." <<else>> <<He>> speaks. "Such lewd writing." <</if>> <<case 2>> <<if $skin[_args[0]].pen is "tattoo">> <<He>> speaks. "Why would you have yourself tattooed so?" <<elseif $skin[_args[0]].pen is "brand">> <<He>> speaks. "Why would you burn that into your skin?" <<else>> <<He>> speaks. "Did you write this?" <</if>> <<case 3>><<He>> speaks. "Suits you." <<case 4>><<He>> speaks. "I like my sluts signposted." <<case 5>><<He>> speaks. "You're a perfect canvas." <<case 6>><<He>> speaks. "I see others have marked their territory." <<case 7>><<He>> speaks. "Short and to the point." <<case 8>><<He>> speaks. "Good to see sluts come with instructions now." <<case 9>><<He>> speaks. "Maybe I'll add my mark." <<case 10>><<He>> speaks. "I can think of worse things to write on you." <</switch>> <<else>> <<switch random(1, 10)>> <<case 1>> <<if $skin[_args[0]].pen is "tattoo">> <<He>> speaks. "Such a lewd tattoo." <<elseif $skin[_args[0]].pen is "brand">> <<He>> speaks. "Such a lewd brand." <<else>> <<He>> speaks. "Such a lewd drawing." <</if>> <<case 2>> <<if $skin[_args[0]].pen is "tattoo">> <<He>> speaks. "Why would you have yourself tattooed so?" <<elseif $skin[_args[0]].pen is "brand">> <<He>> speaks. "Why would you burn that into your skin?" <<else>> <<He>> speaks. "Did you draw this?" <</if>> <<case 3>><<He>> speaks. "Suits you." <<case 4>> <<if $skin[_args[0]].pen is "tattoo">> <<He>> speaks. "I love tattooed sluts." <<elseif $skin[_args[0]].pen is "brand">> <<He>> speaks. "Burned into you. Lovin' it." <<else>> <<He>> speaks. "You should get that as a tattoo." <</if>> <<case 5>><<He>> speaks. "You're a perfect canvas." <<case 6>><<He>> speaks. "I see others have marked their territory." <<case 7>><<He>> speaks. "Someone's an artist." <<case 8>> <<if $skin[_args[0]].pen is "tattoo">> <<He>> speaks. "You should get more lewd tattoos." <<elseif $skin[_args[0]].pen is "brand">> <<He>> speaks. "You should get more lewd brands." <<else>> <<He>> speaks. "I might leave my own mark." <</if>> <<case 9>> <<if $skin[_args[0]].pen is "tattoo">> <<He>> speaks. "Good use of ink." <<elseif $skin[_args[0]].pen is "brand">> <<He>> speaks. "I can think of worse things to brand you with." <<else>> <<He>> speaks. "I can think of worse things to draw on you." <</if>> <<case 10>><<He>> speaks. "I've seen lewder." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_criminal">> <<set $enemytrust -= 35>> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $consensual is 1>> <<switch random(1, 9)>> <<case 1>><<He>> speaks. "I should watch my money." <<case 2>><<He>> speaks. "I'm keeping an eye on you." <<case 3>><<He>> speaks. "Maybe I should punish you." <<case 4>><<He>> speaks. "Don't try to steal anything." <<case 5>><<He>> speaks. "Don't think about robbing me." <<case 6>><<He>> speaks. "Should I be worried?" <<case 7>><<He>> speaks. "Who'd you steal from?" <<case 8>><<He>> speaks. "I didn't know being a slut was illegal." <<case 9>><<He>> speaks. "I bet you tried whoring yourself." <</switch>> <<else>> <<switch random(1, 9)>> <<case 1>><<He>> speaks. "You deserve to be treated like this." <<case 2>><<He>> speaks. "I'm doing my part for the community." <<case 3>><<He>> speaks. "Punishing whores is fun." <<case 4>><<He>> speaks. "Be good, or I'll tell the police you robbed me." <<case 5>><<He>> speaks. "Steal from me and I'll fuck you up." <<case 6>><<He>> speaks. "Don't try anything. I've counted every penny." <<case 7>><<He>> speaks. "I bet you tried to whore yourself, you dumb slut." <<case 8>><<He>> speaks. "I knew this was all you're good for." <<case 9>><<He>> speaks. "I'm giving you what you deserve." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_cum_heavy">> <<if $NPCList[_n].type is "plant">> <<He>> licks <<his>> lips. <<else>> <<famesex 2>> <<if !$speechadmired>><<set $speechadmired to 1>> <<He>> speaks. <<if _args[0] is "anus" and $player.sex is "m" and $player.penissize lte 1 and random(1, 5) is 1>> <<if random(1, 2) is 1>> "Doesn't surprise me, with a dick that small." <<else>> "With such a tiny cock, I guess that's the only way you could pleasure someone." <</if>> <<if $player.penissize is 1>> <<insecurity "penis_small" 1>> <<else>> <<insecurity "penis_small" 2>> <</if>> <<else>> <<switch random(1, 11)>> <<case 1>>"What a fucking cum rag." <<case 2>>"What a filthy slut." <<case 3>>"What a fucking cumdump." <<case 4>>"You nasty cumdump!" <<case 5>>"Does walking around covered in cum excite you?" <<case 6>>"Do you ever clean yourself?" <<case 7>>"Fucking sluts won't even take a bath anymore." <<case 8>>"Were you whoring yourself?" <<case 9>>"Fuck, are you addicted to cum or what?" <<case 10>>"Someone knows how to have fun." <<case 11>> <<if _args[0] is "vagina">> "Are you that desperate for a baby?" <<elseif _args[0] is "anus">> "Looks like your ass is getting a lot of action." <<else>> "Someone knows how to have fun." <</if>> <</switch>> <</if>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_cum_light">> <<if $NPCList[_n].type is "plant">> <<He>> licks <<his>> lips. <<else>> <<famesex 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<He>> speaks. <<if _args[0] is "vagina">> <<switch random(1, 9)>> <<case 1>> <<if maleChance() gt 0>> "Did you have some fun with your boyfriend?" <<else>> "I see someone had fun already." <</if>> <<case 2>> <<if maleChance() gt 0>> "Did your boyfriend do that?" <<else>> "Who put that load in you?" <</if>> <<case 3>> <<if maleChance() gt 0>> "I bet you made your boyfriend happy." <<else>> "You must've made someone very happy." <</if>> <<case 4>>"Don't worry, I'll give you some more." <<case 5>>"Guess I'll be taking sloppy seconds." <<case 6>>"At least clean yourself after slutting out." <<case 7>>"I see someone had fun already." <<case 8>>"Do you like being creampied?" <<case 9>><<if $pregnancyspeechdisable is "f">>"Are you trying to get pregnant?"<<else>>"Do you like being filled?"<</if>> <</switch>> <<elseif _args[0] is "anus">> <<if $player.sex is "m" and $player.penissize lte 1 and random(1, 5) is 1>> <<if random(1, 2) is 1>> "Doesn't surprise me, with a dick that small." <<else>> "With such a tiny cock, I guess that's the only way you could pleasure someone." <</if>> <<if $player.penissize is 1>> <<insecurity "penis_small" 1>> <<else>> <<insecurity "penis_small" 2>> <</if>> <<else>> <<switch random(1, 10)>> <<case 1>> <<if maleChance() gt 0>> "Did you have some fun with your boyfriend?" <<else>> "I see someone had fun already." <</if>> <<case 2>> <<if maleChance() gt 0>> "Did your boyfriend do that?" <<else>> "Who put that load in you?" <</if>> <<case 3>> <<if maleChance() gt 0>> "I bet you made your boyfriend happy." <<else>> "You must've made someone very happy." <</if>> <<case 4>>"Don't worry, I'll give you some more." <<case 5>>"Guess I'll be taking sloppy seconds." <<case 6>>"At least clean yourself after slutting out." <<case 7>>"I see someone had fun already." <<case 8>>"Nice to know you don't mind taking it in the ass." <<case 9>>"Did you enjoy getting your ass filled?" <<case 10>>"Were you trying to stay a virgin?" <</switch>> <</if>> <<else>> <<switch random(1, 8)>> <<case 1>> <<if maleChance() gt 0>> "Did you have some fun with your boyfriend?" <<else>> "I see someone had fun with you already." <</if>> <<case 2>> <<if maleChance() gt 0>> "Did your boyfriend do that?" <<else>> "Who dumped that load on you?" <</if>> <<case 3>> <<if maleChance() gt 0>> "I bet you made your boyfriend happy." <<else>> "You must've made someone very happy." <</if>> <<case 4>>"Do you like having cum on you?" <<case 5>>"Don't worry, I'll give you some more." <<case 6>>"At least clean yourself after slutting out." <<case 7>>"I see someone had fun with you already." <<case 8>>"Were you trying to stay a virgin?" <</switch>> <</if>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_parasite_comment">> <<if $NPCList[_n].type is "plant">> <<if !$speechadmired>><<set $speechadmired to 1>> <<if _args[0] is "penis">> <<He>> pouts. "That thing better not block your cum<<if $orgasmcurrent gte 1>> again<</if>>." <<else>> <<He>> raises an eyebrow. "Alright. Gotta admit, that's a new one." <</if>> <</if>> <<else>> <<famebestiality 1>> <<if !$speechadmired>><<set $speechadmired to 1>> <<He>> speaks. <<switch random(1, 8)>> <<case 1>>"That must feel good." <<case 2>>"I bet that keeps you horny. That's why you haven't taken it off yet." <<case 3>>"You should see a doctor about that." <<case 4>>"Fuck, is that real?" <<case 5>>"Did you put that on yourself?" <<case 6>>"Where did you even find that?" <<case 7>>"I would never suspect a <<girl>> like you to be into that." <<case 8>>"Not my thing, but I guess I can't be picky." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_kylar">> <<set _silent to 1>> <<set $_kylar to statusCheck("Kylar")>> <<switch $skin[_args[0]].special>> <<case "Kylar">> <<switch $skin[_args[0]].writing>> <<case "Reserved for Kylar">> "Reserved for me," <<he>> says lovingly as <<he>> <<if (_args[0] is "left_cheek" or _args[0] is "right_cheek") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "head" and $NPCList[_n].penis is 0 and $mouthuse is 0>> <span class="blue">positions <<his>> $NPCList[_n].penisdesc in front of your mouth</span>. <<neutral 5>><<set $mouthuse to "penis">><<set $NPCList[_n].penis to "mouthentrance">><<set $mouthstate to "entrance">><<set $NPCList[_n].location.genitals to "head">><<set $mouthtarget to _n>> <<elseif (_args[0] is "left_cheek" or _args[0] is "right_cheek") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "head" and $NPCList[_n].vagina is 0 and $mouthuse is 0>> <<if random(4) is 0 and $facesitdisable is "f">> gently rolls you onto your back and <span class="purple">straddles your face, lowering <<his>> pussy down onto your mouth</span>. <<submission 5>><<set $NPCList[_n].vagina to "facesit">><<set $mouthuse to "facesit">><<set $mouthstate to "vagina">><<set $position to "missionary">><<set $mouthtarget to _n>> <<else>> <span class="blue">wraps <<his>> legs around your head, pressing <<his>> pussy against your mouth</span>. <<submission 5>><<set $mouthuse to "othervagina">><<set $NPCList[_n].vagina to "mouth">><<set $mouthstate to "othervagina">><<set $mouthtarget to _n>> <</if>> <<elseif (_args[0] is "back" or _args[0] is "right_bottom" or _args[0] is "left_bottom") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $worn.lower.anus_exposed gte 1 and $worn.under_lower.anus_exposed gte 1 and $NPCList[_n].penis is 0 and $anususe is 0>> <span class="blue">positions <<his>> penis in front of your <<bottom>></span>. <<neutral 5>><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $anustarget to _n>> <<elseif (_args[0] is "pubic" or _args[0] is "left_thigh" or _args[0] is "right_thigh") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $player.vaginaExist and $worn.lower.vagina_exposed gte 1 and $worn.under_lower.vagina_exposed gte 1 and $NPCList[_n].penis is 0 and $vaginause is 0>> <span class="blue">moves between your legs, positioning <<his>> $NPCList[_n].penisdesc in front of your pussy</span>. <<neutral 5>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">><<set $NPCList[_n].location.genitals to "genitals">><<set $vaginatarget to _n>> <<elseif (_args[0] is "pubic" or _args[0] is "left_thigh" or _args[0] is "right_thigh") and $NPCList[_n].location.genitals is 0 and $NPCList[_n].location.head isnot "genitals" and $player.penisExist and $worn.lower.vagina_exposed gte 1 and $worn.under_lower.vagina_exposed gte 1 and $NPCList[_n].vagina is 0 and $penisuse is 0>> <span class="blue">straddles you, <<his>> pussy hovering close to your <<penis>></span>. <<neutral 5>><<set $penisuse to "othervagina">><<set $NPCList[_n].vagina to "penisentrance">><<set $penisstate to "entrance">><<set $NPCList[_n].location.genitals to "genitals">><<set $penistarget to _n>> <<else>> smiles at you. <</if>> <<case "Kylar's Obsession">> <<He>> looks nervous. "I-it doesn't bother you, right?" <<case "Love Kylar Forever">> <<if random(1) and ($NPCList[_n].lefthand is 0 or $NPCList[_n].righthand is 0)>> <<He>> traces <<his>> finger along the letters, smiling. "F-o-r-e-v-e-r." <<else>> <<He>> smiles. "One day we'll get married, and it really will be forever!" <</if>> <<case "Just Kylar">> <<He>> looks down. "I-I hope you only love me..." <<default>> <<He>> smiles at you. <<unset _silent>> <</switch>> <<set $enemyanger -= 10>><<set $enemytrust += 10>><<npcincr Kylar rage -2>> <<case "Robin">> <<if _kylarStatus.includes("Rage")>> <<He>> snarls. "Forget about <<nnpc_him "Robin">>! I'm better than <<nnpc_him "Robin">>!" <<else>> <<He>> growls. "Robin can't take care of you like I can!" <</if>> <<set $enemyanger += 30>><<set $enemytrust -= 30>><<npcincr Kylar rage 3>> <<case "Whitney">> <<if _kylarStatus.includes("Rage")>> <<He>> snarls. "You're not Whitney's! You're mine!" <<else>> <<He>> freezes. "Wh... Whitney doesn't treat you right! I can!" <</if>> <<set $enemyanger += 30>><<set $enemytrust -= 30>><<npcincr Kylar rage 3>> <<case "Sydney">> <<if $skin[_args[0]].lewd isnot 1>> <<He>> frowns, but doesn't say anything about it. <<unset _silent>> <<set $enemyanger += 5>><<set $enemytrust -= 5>> <<elseif !$kylarSeen.includes("sydneyWriting") and _args[0].lewd is 1>> <<He>> frowns, reading it again, and <<his>> lip curls. "<<nnpc_He "Sydney">>... Forget about <<nnpc_him "Sydney">>." <<set $enemyanger += 20>><<set $enemytrust -= 20>><<npcincr Kylar rage 1>><<set $kylarSeen.pushUnique("sydneyWriting")>> <<elseif _kylarStatus.includes("Rage")>> <<He>> growls. "Sydney doesn't know you like I do!" <<set $enemyanger += 30>><<set $enemytrust -= 30>><<npcincr Kylar rage 3>> <<else>> <<He>> frowns. "I don't like how close you are to <<nnpc_him "Sydney">>." <<set $enemyanger += 20>><<set $enemytrust -= 20>><<npcincr Kylar rage 1>> <</if>> <<case "Black Wolf" "Great Hawk">> <<His>> eyes narrow. "I can be an animal, too. Watch!" <<set $enemyanger += 30>><<set $enemytrust -= 30>><<npcincr Kylar rage 3>> <<case "Eden" "Avery" "Alex">> <<if _kylarStatus.includes("Rage")>> <<He>> snarls. "Whoever they are, they're worthless!" <<else>> <<He>> growls. "You don't need them! You only need me!" <</if>> <<set $enemyanger += 30>><<set $enemytrust -= 30>><<npcincr Kylar rage 3>> <<case "prostitution" "rape" "exhibitionism" "sex">> <<He>> grimaces. <<unset _silent>> <<set $enemyanger += 20>><<set $enemytrust -= 20>><<npcincr Kylar rage 1>> <<case "pregnancy">> /*ToDo: Pregnancy, write once Kylar's reaction to/thoughts on pregnancy is better understood. May differ based on gender, jealousy and whether or not Kylar has impregnated the PC in the past.*/ <<case "combat" "violence" "criminal">> <<His>> eyes widen, but <<he>> doesn't say anything about it. <<unset _silent>> <<default>> <<if $skin[_args[0]].lewd is 1>> <<He>> frowns. <<unset _silent>> <<set $enemyanger += 10>><<set $enemytrust -= 10>><<npcincr Kylar rage 1>> <<else>> /*Do nothing.*/ <<unset _silent>> <</if>> <</switch>> <</widget>> <<widget "bodypart_admire_named">> <<switch $npc[$npcrow.indexOf(_n)]>> <<case "Kylar">> <<bodypart_admire_kylar _args[0]>> <<set _admireNothing to true>> <<case "Robin">> <<switch $skin[_args[0]].special>> <<case "Robin">> <<switch $skin[_args[0]].writing>> <<case "Robin's Protector">> <<if $NPCName[_n].trauma gte 10>> <<He>> winces. <<npcincr Robin dom -1>> <<else>> <<He>> grins. <<set _text_output to "You really do keep me safe!">> <<npcincr Robin love 1>> <</if>> <<case "Robin & I">> <<if random(1)>> <<He>> gives you a soft look. <<set _text_output to "I'm still amazed you chose me,">> <<else>> <<He>> eyes meet yours. <<set _text_output to "I wouldn't have it any other way... you know?">> <</if>> <<npcincr Robin love 1>><<npcincr Robin dom 1>> <<case "The Orphan Lover">> <<He>> smiles. <<if random(1)>> <<set _text_output to "You really love me?">> <<else>> <<if $NPCName[_n].dom gte 20>> <<set _text_output to "I'm so glad to have you.">> <<else>> <<set _text_output to "I'm so lucky to have you.">> <</if>> <</if>> <<npcincr Robin love 1>><<npcincr Robin dom 1>> <<case "Robin's Boyfriend" "Robin's Girlfriend">> <<He>> giggles. <<set _text_output to "I'm so happy we're together!">> <<npcincr Robin love 1>><<npcincr Robin dom 1>> <<default>> <<He>> smiles. <<npcincr Robin love 1>> <</switch>> <<default>> /*Do nothing.*/ <<set _admireNothing to true>> <</switch>> <<case "Eden">> <<switch $skin[_args[0]].special>> <<case "Eden">> <<switch $skin[_args[0]].writing>> <<case "Eden's Companion">> <<if random(1)>> <<set _text_output to "That's right. You're mine, my <<wife>>. Never forget that.">> <<else>> <<set _text_output to "A nice little reminder of who you belong to.">> <</if>> <<case "Hunter and Prey">> <<He>> smiles. <<if random(1)>> <<set _text_output to "You want to be chased, is that it?">> <<else>> <<set _text_output to "You enjoy being prey, is that it?">> <</if>> <<npcincr Eden lust 1>> <<case "It's Lonely in the Woods">> <<His>> eyes soften. <<set _text_output to "It's much better with a <<girl>> like you around.">> <<case "Something is Hunting You">> <<He>> raises an eyebrow. <<set _text_output to "Do you like that? Being hunted?">> <<npcincr Eden lust 1>> <<default>> <<He>> chuckles. <</switch>> <<set $enemyanger -= 10>><<set $enemytrust += 10>> <<case "Black Wolf">> <<He>> scowls. <<if random(1)>> <<set _text_output to "Whose pet do you think you are?">> <<else>> <<set _text_output to "Maybe I'll start treating you like an animal, then.">> <</if>> <<set $enemyanger += 20>><<set $enemytrust -= 20>> <<default>> <<bodypart_admire_generic _args[0]>> <</switch>> <<case "Avery">> <<switch $skin[_args[0]].special>> <<case "Avery">> <<switch $skin[_args[0]].writing>> <<case "Avery's Trophy">> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte random(20, 100)>> <<He>> scoffs. <<set _text_output to "Don't flatter yourself.">> <<set $enemyanger += 20>><<set $enemytrust -= 20>><<npcincr Avery rage 1>> <<else>> <<if random(1)>> <<He>> raises an eyebrow. <<set _text_output to "You better keep behaving so perfectly.">> <<else>> <<He>> smiles. <<set _text_output to "It would be a shame not to show you off.">> <</if>> <<set $enemyanger -= 10>><<set $enemytrust += 10>><<npcincr Avery rage -1>> <</if>> <<case "Uptown Boy" "Uptown Girl">> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte random(20, 100)>> <<He>> scoffs. <<set _text_output to "An urchin like you? As if.">> <<set $enemyanger += 20>><<set $enemytrust -= 20>><<npcincr Avery rage 1>> <<else>> <<He>> laughs. <<set _text_output to "One day you just might be.">> <<set $enemyanger -= 10>><<set $enemytrust += 10>><<npcincr Avery rage -1>> <</if>> <<case "Avery's Monopoly">> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte random(20, 100)>> <<He>> sneers. <<set _text_output to "You're more of a subsidiary.">> <<set $enemyanger += 20>><<set $enemytrust -= 20>><<npcincr Avery rage 1>> <<else>> <<if random(1)>> <<He>> laughs. <<set _text_output to "Maybe we should play that lewd dice game some time.">> <<else>> <<He>> laughs. <<set _text_output to "What's next? Sole Shareholder?">> <</if>> <<set $enemyanger -= 10>><<set $enemytrust += 10>><<npcincr Avery rage -1>> <</if>> <<case "Endearing">> <<if $averyragerevealed is 1 and C.npc.Avery.rage gte random(20, 100)>> <<He>> scowls. <<set _text_output to "You're not as cute as you think.">> <<set $enemyanger += 20>><<set $enemytrust -= 20>><<npcincr Avery rage 1>> <<else>> <<His>> eyes soften. <<set _text_output to "You truly are, my dear.">> <<set $enemyanger -= 10>><<set $enemytrust += 10>><<npcincr Avery rage -1>> <</if>> <<default>> <<He>> cocks an eyebrow. <</switch>> <<default>> <<bodypart_admire_generic _args[0]>> <</switch>> <<case "Alex">> <<switch $skin[_args[0]].special>> <<case "Alex">> <<switch $skin[_args[0]].writing>> <<case "Alex's Partner">> <<He>> smiles wide. <<if $player.gender_appearance is "m">> <<set _text_output to "You sure are! You're my man!">> <<else>> <<set _text_output to "You sure are! You're my woman!">> <</if>> <<npcincr Alex love 1>> <<case "Sunrise to Sunset">> <<He>> sighs. <<set _text_output to "If only we didn't have to work all day.">> <<npcincr Alex love 1>> <<case "Cowboy" "Cowgirl">> <<He>> chuckles. <<set _text_output to "We can do some riding, that's for sure.">> <<npcincr Alex lust 3>> <<case "Hay Baler">> <<if random(1)>> <<He>> tilts <<his>> head. <<set _text_output to "Like 'em strong, do you?">> <<else>> <<He>> grins. <<set _text_output to "There's better ways to make you sweat.">> <</if>> <<npcincr Alex lust 3>> <<default>> <<He>> chuckles. <</switch>> <<default>> <<bodypart_admire_generic _args[0]>> <</switch>> <<case "Black Wolf">> /*Not obtainable*/ <<if $monster is 1>> <<if random(1)>> <<bHe>> frowns. <<set _text_output to "Stupid human scratchings. Make no sense.">> <<else>> <<bHe>> tilts <<bhis>> head. <<set _text_output to "Is that dirt?">> <</if>> <</if>> <<case "Great Hawk">> /*Not obtainable*/ <<if $monster is 1>> <<bHe>> tilts <<bhis>> head. <<if random(1)>> <<set _text_output to "Did someone scratch you? What are these?">> <<else>> <<set _text_output to "Is this landbound custom?">> <</if>> <</if>> <<case "Bailey">> <<switch $skin[_args[0]].special>> <<case "Robin">> <<switch $skin[_args[0]].writing>> <<case "Robin & I">> <<He>> sneers. <<set _text_output to "Good thinking. They'll pay double for a package deal.">> <<default>> <<if $speechadmired>> <<He>> glares. <<else>> <<He>> smiles. <</if>> <<set _text_output to "Don't worry, I'll be paying <<nnpc_him 'Robin'>> a visit soon.">> <</switch>> <<case "prostitution">> <<if $skin[_args[0]].degree gte 10000>> <<He>> nods. <<if random(1)>> <<set _text_output to "Decent price.">> <<else>> <<set _text_output to "Good. You know your worth.">> <</if>> <<else>> <<He>> sneers. <<if random(1)>> <<set _text_output to "You're selling yourself short.">> <<else>> <<set _text_output to "At least you know what you're good for.">> <</if>> <</if>> <<case "rape">> <<He>> curls <<his>> lip. <<if random(1)>> <<set _text_output to "Throwing your body away like garbage. Pathetic.">> <<else>> <<set _text_output to "What a waste.">> <</if>> <<default>> /*Do nothing.*/ <<set _admireNothing to true>> <</switch>> <<case "Briar">> <<if $skin[_args[0]].special is "prostitution">> <<if $skin[_args[0]].degree gte 10000>> <<He>> balks. <<if random(1)>> <<set _text_output to "Someone's full of <<pherself>>.">> <<else>> <<set _text_output to "Like hell you're worth that much.">> <</if>> <<elseif $skin[_args[0]].degree gte 2500>> <<if random(1)>> <<He>> smirks. <<set _text_output to "A pity. You could've made much more with me.">> <<else>> <<He>> scowls. <<set _text_output to "You're not worth shit.">> <</if>> <<else>> <<He>> scoffs. <<if random(1)>> <<set _text_output to "Who'd want a cheap street rat?">> <<else>> <<set _text_output to "At least my whores have some dignity.">> <</if>> <</if>> <<set $enemyanger += 30>><<set $enemytrust -= 30>> <<else>> <<bodypart_admire_generic _args[0]>> <</if>> <<case "Remy">> <<switch $skin[_args[0]].special>> <<case "Alex">> <<if random(1)>> <<if $speechadmired>> <<He>> flashes a smug grin. <<else>> <<He>> smiles. <</if>> <<set _text_output to "You're in better hands now.">> <<else>> <<His>> eyes narrow. <<set _text_output to "That upstart would've squandered such a fine specimen.">> <</if>> <<set $enemytrust -= 20>> <<case "cattle">> <<if $cow gte 6>> <<He>> smiles. <<if random(1)>> <<set _text_output to "The pride of this ranch.">> <<else>> <<set _text_output to "A fine specimen, indeed.">> <</if>> <<set $enemyanger -= 5>><<set $enemytrust += 5>><<livestock_obey 1>> <<else>> <<He>> smiles. <<if random(1)>> <<set _text_output to "I'll make a prize of you yet.">> <<else>> <<set _text_output to "You belong here. Never forget that.">> <</if>> <</if>> <<case "prostitution">> <<He>> laughs. <<set _text_output to "You're more valuable than you know.">> <<default>> <<bodypart_admire_generic _args[0]>> <</switch>> <<case "Mason" "Sydney">> /*Do nothing.*/ <<set _admireNothing to true>> <<default>> <<bodypart_admire_generic _args[0]>> <</switch>> <<if !$speechadmired and !_admireNothing>><<set $speechadmired to 1>> "<<print _text_output>>" <</if>> <</widget>> <<widget "bodypart_admire_plant">> <<if !$speechadmired>><<set $speechadmired to 1>> <<if $skin[_args[0]].type is "object">> <<switch $skin[_args[0]].writing>> <<case "unicorn">> "Horses like that exist? Whoa." <<case "heart" "cross">> "Aw, how cute! ...What is it?" <<case "paw_print">> <<if $location is "forest">> "Hey, are you with the... never mind." <<else>> "Exotic!" <</if>> <<case "flower" "butterfly">> "Oh, I love it!" <<set $enemytrust += 20>> <<case "star">> <<if $location is "forest">> "I wish we could see the stars, but the trees block most of them out..." <<elseif Time.dayState is "night">> "Just like the sky!" <<else>> "Just like the night sky..." <</if>> <<case "skull">> "You mean you have one of those in your body? I don't buy it." <<case "flame">> <<if $skin[_args[0]].pen is "brand" or $skin[_args[0]].pen is "magic">> "That's not... actually burning you, is it?" <<else>> "You've got a taste for the dangerous." <</if>> <<case "cattle_brand">> <<if $location is "moor">> "Don't worry. I won't let Remy take you from me." <<else>> "Aw, how cute! ...What is it?" <</if>> <<case "penis">> "Ooh, how lewd! ...What do you mean, unused?!" <</switch>> <<else>> <<switch $skin[_args[0]].pen>> <<case "tattoo">> "What is that, a birthmark?" <<case "brand">> "Yowch, wouldn't want that seared into me." <<case "magic">> "Did I have a funky mushroom, or is that actually glowing?" <<case "lipstick">> "Ooh, pink!" <<case "mud">> "Nature's canvas." <<default>> "It's a shame to draw on such cute skin." <</switch>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire">> <<if !$noAdmire and ($role isnot "islander" or $islander_language gte 100)>> <<if _args[0].includes("random_")>> <<set _args[0] to _args[0].replace("random_", (random(0,1) ? "left_" : "right_"))>> <!-- ex "random_cheek" turns into either "right_cheek" or "left_cheek" --> <</if>> <<switch _args[1]>> <<case "bodywriting">> <<if $skin[_args[0]] is undefined or $newlyWritten.includes(_args[0])>> <<elseif $skin[_args[0]].writing>> <<if _args[0] is "forehead" or (_args[0] is "left_cheek" or _args[0] is "right_cheek") and !$worn.face.type.includes("mask") or (_args[0] is "left_shoulder" or _args[0] is "right_shoulder") and ($worn.upper.exposed gte 1 or $worn.upper.open is 1) and ($worn.under_upper.exposed gte 1 or $worn.under_open is 1) or _args[0] is "breasts" and $worn.upper.exposed gte 1 and ($worn.under_upper.exposed gte 1 or $worn.under_upper.open is 1) or _args[0] is "back" and ($worn.upper.exposed gte 1 or $worn.upper.state isnot "waist") and ($worn.under_upper.exposed gte 1 or $worn.under_upper.state isnot "waist") or (_args[0] is "left_bottom" or _args[0] is "right_bottom") and ($worn.lower.exposed gte 1 or $worn.lower.anus_exposed gte 1) and ($worn.under_lower.exposed gte 1 or !$worn.under_lower.type.includes("covered")) or _args[0] is "pubic" and $worn.lower.exposed gte 1 and ($worn.under_lower.exposed gte 1 or !$worn.under_lower.type.includes("covered")) or (_args[0] is "left_thigh" or _args[0] is "right_thigh") and $worn.lower.vagina_exposed gte 1 and !$worn.under_lower.type.includes("covered")>>/*Makes sure bodywriting isn't seen if obstructed by clothing.*/ <<if $skin[_args[0]].type is "text">> <<He>> reads the "<<print $skin[_args[0]].writing>>" writing on your <<bodypart _args[0]>>. <<else>> <<He>> examines the <<print $skin[_args[0]].writing>> image on your <<bodypart _args[0]>>. <</if>> <<if $npc[_n]>> <<bodypart_admire_named _args[0]>> <<else>> <<bodypart_admire_generic _args[0]>> <</if>> <</if>> <</if>> <<case "cum">> <<bodypart_admire_cum_convert _args[0]>> <<case "parasite">> <<bodypart_admire_parasite_convert _args[0]>> <</switch>> <</if>> <</widget>> <<widget "bodypart_admire_generic">> <<if $skin[_args[0]].arrow is 1 and (_args[0] is "left_cheek" or _args[0] is "right_cheek" or _args[0] is "back" or _args[0] is "left_bottom" or _args[0] is "right_bottom" or _args[0] is "pubic" or _args[0] is "left_thigh" or _args[0] is "right_thigh")>> <<bodypart_admire_arrow _args[0]>> <<elseif $NPCList[_n].type is "plant">> <<bodypart_admire_plant _args[0]>> <<elseif $skin[_args[0]].special is "prostitution">> <<bodypart_admire_prostitution _args[0]>> <<elseif $skin[_args[0]].special is "rape">> <<bodypart_admire_rape _args[0]>> <<elseif $skin[_args[0]].special is "exhibitionism">> <<bodypart_admire_exhibitionism _args[0]>> <<elseif $skin[_args[0]].special is "bestiality" or $skin[_args[0]].special is "Black Wolf" or $skin[_args[0]].special is "Great Hawk">> <<bodypart_admire_bestiality _args[0]>> <<elseif $skin[_args[0]].special is "sex">> <<bodypart_admire_promiscuity _args[0]>> <<elseif $skin[_args[0]].special is "pregnancy">> <<bodypart_admire_pregnancy _args[0]>> <<elseif $skin[_args[0]].special is "impreg">> <<bodypart_admire_impreg _args[0]>> <<elseif $skin[_args[0]].gender is "f">> <<bodypart_admire_girly _args[0]>> <<elseif $skin[_args[0]].gender is "m">> <<bodypart_admire_boyish _args[0]>> <<elseif $skin[_args[0]].special is "combat">> <<bodypart_admire_combat _args[0]>> <<elseif $skin[_args[0]].special is "violence">> <<bodypart_admire_violence _args[0]>> <<elseif $skin[_args[0]].special is "criminal">> <<bodypart_admire_criminal _args[0]>> <<elseif $skin[_args[0]].writing>> <<bodypart_admire_lewd _args[0]>> <</if>> <</widget>> <<widget "bodypart_admire_cum_convert">> <<switch _args[0]>> <<case "forehead">> <<bodypart_admire_cum hair>> <<case "left_bottom", "right_bottom">> <<if random(1, 2) is 1>> <<bodypart_admire_cum bottom>> <<else>> <<bodypart_admire_cum anus>> <</if>> <<case "left_shoulder">> <<bodypart_admire_cum leftarm>> <<case "right_shoulder">> <<bodypart_admire_cum rightarm>> <<case "pubic">> <<if $player.penisExist and (!$player.vaginaExist or random(1, 2) is 1)>> <<bodypart_admire_cum penis>> <<else>> <<if random(1, 2) is 1>> <<bodypart_admire_cum vagina>> <<else>> <<bodypart_admire_cum vaginaoutside>> <</if>> <</if>> <<case "back">> <<bodypart_admire_cum neck>> <<case "breasts">> <<bodypart_admire_cum chest>> <<case "left_thigh", "right_thigh">> <<bodypart_admire_cum thigh>> <<case "left_cheek", "right_cheek">> <<if random(1, 2) is 1>> <<bodypart_admire_cum face>> <<else>> <<bodypart_admire_cum mouth>> <</if>> <<default>> <<set _admireNothing to true>> <</switch>> <<if $NPCList[_n].type is "plant">> <<set _admireNothing to true>> <</if>> <</widget>> <<widget "bodypart_admire_parasite_convert">> <<switch _args[0]>> <<case "left_bottom", "right_bottom">> <<bodypart_admire_parasite bottom>> <<case "left_shoulder">> <<bodypart_admire_parasite left_arm>> <<case "right_shoulder">> <<bodypart_admire_parasite right_arm>> <<case "pubic">> <<if $player.penisExist and (!$player.vaginaExist or random(1, 2) is 1)>> <<bodypart_admire_parasite penis>> <<else>> <<bodypart_admire_parasite clit>> <</if>> <<case "breasts">> <<bodypart_admire_parasite nipples>> <<default>> <<set _admireNothing to true>> <</switch>> <</widget>> <<widget "bodypart_admire_cum">> <<if _admireNothing>> <<elseif setup.bodyliquid.combined(_args[0]) gte 4>> <<set _bodypartLiquidText to formatList( ["semen", "goo", "nectar"].filter(stuff => $player.bodyliquid[_args[0]][stuff] gte 1) ).replace("goo", "slime") >> <<if _args[0] is "vagina" or _args[0] is "anus" or _args[0] is "mouth">> <<He>> <<print either("sees a large amount of", "spots the", "notices the", "eyes up the", "stares at the")>> <<print _bodypartLiquidText>> <<print either("oozing from", "pouring out of", "running from", "drooling from", "streaming from")>> your <<bodypart _args[0]>>. <<else>> <<He>> <<print either("sees a large amount of", "spots the", "notices the", "eyes up the", "stares at the")>> <<print _bodypartLiquidText>> <<print either("coating", "soaking", "running down", "cascading off", "dripping off of")>> your <<bodypart _args[0]>>. <</if>> <<if !$npc[_n]>> <<bodypart_admire_cum_heavy _args[0]>> <</if>> <<elseif setup.bodyliquid.combined(_args[0]) gte 2>> <<set _bodypartLiquidText to formatList( ["semen", "goo", "nectar"].filter(stuff => $player.bodyliquid[_args[0]][stuff] gte 1) ).replace("goo", "slime") >> <<if _args[0] is "vagina" or _args[0] is "anus" or _args[0] is "mouth">> <<He>> <<print either("sees a small amount of", "spots some", "notices some", "eyes up the")>> <<print _bodypartLiquidText>> <<print either("dripping from", "leaking from", "running from", "dribbling out of")>> your <<bodypart _args[0]>>. <<else>> <<He>> <<print either("sees a small amount of", "spots some", "notices some", "eyes up the")>> <<print _bodypartLiquidText>> on your <<bodypart _args[0]>>. <</if>> <<if !$npc[_n]>> <<bodypart_admire_cum_light _args[0]>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_parasite">> <<if _admireNothing or $parasite[_args[0]].name is undefined>> <<elseif (_args[0] is "nipples" and $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1) or (["bottom","clit","penis"].includes(_args[0]) and $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1) or !["nipples","bottom","clit","penis"].includes(_args[0])>> <<He>> <<print either("notices", "stares at", "glances at", "eyes up", "sees")>> the <<print $parasite[_args[0]].name>> on your <<bodypart _args[0]>>. <<if !$npc[_n]>> <<bodypart_admire_parasite_comment _args[0]>> <</if>> <</if>> <</widget>> <<widget "bodypart_admire_chance">> <<if $enemytype isnot "beast" and ($NPCList[_n].mouth is 0 or $NPCList[_n].mouth is "speech_only" or ($NPCList[_n].type is "plant" and $speechkissvirgin is 1)) and $speechdisable isnot 1>> <<switch random(1, 5)>> <<case 5>> <<bodypart_admire _args[0] bodywriting>> <<case 4>> <<bodypart_admire _args[0] cum>> <<case 3>> <<bodypart_admire _args[0] parasite>> <<default>> /*Do nothing*/ <<set _admireNothing to true>> <</switch>> <</if>> <</widget>> <<widget "bodywriting">> <<bodywritingExposureCheck true true>> <<for _active_bodypart range setup.bodyparts>> <<if $skin[_active_bodypart].writing>> <<if $skin[_active_bodypart].type is "text">> <<if isLoveInterest($skin[_active_bodypart].special)>> "<span class="lewd"><<print $skin[_active_bodypart].writing>></span>" has been <<elseif $skin[_active_bodypart].special isnot "none">> "<span class="red"><<print $skin[_active_bodypart].writing>></span>" has been <<elseif $skin[_active_bodypart].lewd is 1>> "<span class="pink"><<print $skin[_active_bodypart].writing>></span>" has been <<else>> "<span class="purple"><<print $skin[_active_bodypart].writing>></span>" has been <</if>> <<if $skin[_active_bodypart].pen is "pen">> written on your <<bodypart _active_bodypart>> in regular pen. <<elseif $skin[_active_bodypart].pen is "marker">> written on your <<bodypart _active_bodypart>> in <span class="purple">permanent marker.</span> <<elseif $skin[_active_bodypart].pen is "tattoo">> <span class="red">tattooed</span> on your <<bodypart _active_bodypart>>. <<elseif $skin[_active_bodypart].pen is "lipstick">> written on your <<bodypart _active_bodypart>> in lipstick. <<elseif $skin[_active_bodypart].pen is "mud">> written on your <<bodypart _active_bodypart>> in mud. <<elseif $skin[_active_bodypart].pen is "brand">> <span class="red">branded</span> on your <<bodypart _active_bodypart>>. <<elseif $skin[_active_bodypart].pen is "magic">> <span class="pink">sealed</span> on your <<bodypart _active_bodypart>>. <</if>> <<else>> <<if $skin[_active_bodypart].special isnot "none">> A picture of a <span class="red"><<print $skin[_active_bodypart].writing>></span> has been <<elseif $skin[_active_bodypart].lewd is 1>> A picture of a <span class="pink"><<print $skin[_active_bodypart].writing>></span> has been <<else>> A picture of a <span class="purple"><<print $skin[_active_bodypart].writing>></span> has been <</if>> <<if $skin[_active_bodypart].pen is "pen">> drawn on your <<bodypart _active_bodypart>> in regular pen. <<elseif $skin[_active_bodypart].pen is "lipstick">> drawn on your <<bodypart _active_bodypart>> in lipstick. <<elseif $skin[_active_bodypart].pen is "mud">> drawn on your <<bodypart _active_bodypart>> in mud. <<elseif $skin[_active_bodypart].pen is "marker">> drawn on your <<bodypart _active_bodypart>> in <span class="purple">permanent marker.</span> <<elseif $skin[_active_bodypart].pen is "tattoo">> <span class="red">tattooed</span> on your <<bodypart _active_bodypart>>. <<elseif $skin[_active_bodypart].pen is "brand">> <span class="red">branded</span> on your <<bodypart _active_bodypart>>. <<elseif $skin[_active_bodypart].pen is "magic">> <span class="pink">sealed</span> on your <<bodypart _active_bodypart>>. <</if>> <</if>> <<if $skin[_active_bodypart].arrow is 1>> <<if _active_bodypart is "left_cheek" or _active_bodypart is "right_cheek">> An arrow points to your mouth. <<elseif _active_bodypart is "left_bottom" or _active_bodypart is "right_bottom" or _active_bodypart is "back">> An arrow points to your anus. <<elseif _active_bodypart is "pubic" or _active_bodypart is "left_thigh" or _active_bodypart is "right_thigh">> An arrow points to your <<genitals true>>. <</if>> <</if>> <<if _skin_array.includes(_active_bodypart)>> <span class="purple">It's currently visible.</span> <<else>> <span class="lblue">It isn't currently visible.</span> <</if>> <br> <</if>> <</for>> <</widget>> <<widget "bodywriting_prostitution_check">> <!-- unused --> <</widget>> <<widget "tattoo_parlour">> <<generate1>><<person1>> <<if ["bestiality", "Black Wolf", "Great Hawk"].includes($tattoo_parlour.special)>> <<set $_embarassingType to "deviant">> <<elseif $tattoo_parlour.lewd is 1>> <<set $_embarassingType to "lewd">> <<elseif ["left_bottom", "right_bottom", "pubic", "breasts"].includes($tattoo_bodypart)>> <<set $_embarassingType to "location">> <</if>> <<if $tattoo_choice>> <<if $tattoo_parlour.type is "text">> <<set $_request to `<span class="pink">"<<print $tattoo_parlour.writing>>"</span>`>> <<else>> <<set $_request to `a <span class="pink"><<print $tattoo_parlour.writing>></span>`>> <</if>> <<if $_embarassingType>> Blushing, you tell the tattoo artist you want $_request tattooed on your <<bodypart $tattoo_bodypart>>. <<control 50>><<gggcontrol>> <<else>> You tell the tattoo artist you want $_request tattooed on your <<bodypart $tattoo_bodypart>>. <<control 25>><<ggcontrol>> <</if>> <<else>> <<set $_writing to ($tattoo_parlour.type is "text" ? "writing" : "image")>> <<if $_embarassingType>> Blushing, you tell the tattoo artist you want the $_writing on your <<bodypart $tattoo_bodypart>> to become permanent. <<else>> You tell the tattoo artist you want the $_writing on your <<bodypart $tattoo_bodypart>> to become permanent. <</if>> <</if>> <<if $_embarassingType is "deviant">> <<Hes>> unfazed by your deviant request. <<elseif $_embarassingType is "lewd">> <<Hes>> unfazed by your lewd request. <<elseif $_embarassingType is "location">> <<Hes>> unfazed by the location. <</if>> <br><br> <<set $_skirt to setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt>> <<if ["left_bottom", "right_bottom"].includes($tattoo_bodypart)>> "Alright," <<he>> says, pulling the curtain shut. "Let's see your bottom." <<if $worn.lower.type.includes("naked")>> <<if $worn.under_lower.type.includes("naked")>> You <<nervously>> turn, showing <<him>> your <<bottom>>. <<else>> You <<nervously>> pull down your $worn.under_lower.name, baring your <<bottom>>. <</if>> <<elseif $worn.under_lower.type.includes("naked")>> <<if $_skirt is 1>> You <<nervously>> flip up your skirt, baring your <<bottom>>. <<else>> You <<nervously>> pull down your $worn.lower.name, baring your <<bottom>>. <</if>> <<else>> <<if $_skirt is 1>> You <<nervously>> flip up your skirt, baring your $worn.under_lower.name. <<elseif $worn.lower.set is $worn.upper.set>> You <<nervously>> remove your $worn.upper.name, baring your <<undertop>> and $worn.under_lower.name. <<else>> You <<nervously>> pull down your $worn.lower.name, baring your $worn.under_lower.name. <</if>> "Those need to go," <<he>> says. "Or they'll get in the way." <<if $worn.under_lower.set is $worn.under_upper.set>> You follow <<his>> instruction, and shuffle out of your $worn.under_upper.name while <<his>> back is turned. <<else>> You follow <<his>> instruction, and pull down your $worn.under_lower.name while <<his>> back is turned. <</if>> <</if>> <br><br> <<elseif ["pubic", "left_thigh", "right_thigh"].includes($tattoo_bodypart)>> "Alright," <<he>> says, pulling the curtain shut. <<if $worn.lower.type.includes("naked")>> <<if $tattoo_bodypart is "pubic" and !$worn.under_lower.type.includes("naked")>> "Those need to go," <<he>> says. "Or they'll get in the way." <<if $worn.under_lower.set is $worn.under_upper.set>> You <<nervously>> follow <<his>> instruction, and shuffle out of your $worn.under_upper.name while <<his>> back is turned. <<else>> You <<nervously>> follow <<his>> instruction, and pull down your $worn.under_lower.name while <<his>> back is turned. <</if>> <</if>> <<else>> <<if $_skirt is 1>> "You'll have to pull your skirt right up. Don't want fabric getting in the way." You <<nervously>> lift your $worn.lower.name, baring your <<undies>>. <<elseif $worn.upper.set is $worn.lower.set>> "You'll have to strip right down. Don't want fabric getting in the way." You <<nervously>> remove your $worn.upper.name, baring your <<undertop>> and <<undies>>. <<else>> "You'll have to take your bottoms off. Don't want the fabric getting in the way." You <<nervously>> pull down your $worn.lower.name, baring your <<undies>>. <</if>> <<if $tattoo_bodypart is "pubic" and !$worn.under_lower.type.includes("naked")>> "Those need to go too," <<he>> says. <<if $worn.under_lower.set is $worn.under_upper.set>> You follow <<his>> instruction, and shuffle out of your $worn.under_upper.name while <<his>> back is turned. <<else>> You follow <<his>> instruction, and pull down your $worn.under_lower.name while <<his>> back is turned. <</if>> <</if>> <</if>> <br><br> <<elseif ["breasts", "back"].includes($tattoo_bodypart)>> "Alright," <<he>> says, pulling the curtain shut. <<if !$worn.upper.type.includes("naked")>> <<if $worn.upper.open is 1 or $worn.upper.type.includes("naked")>> "Could you pull your top down?" You <<nervously>> tug down your $worn.upper.name, <<else>> "Could you take your top off?" You <<nervously>> remove your $worn.upper.name, <</if>> exposing your <<undertop>>. <</if>> <br><br> <</if>> <<if ["left_bottom", "right_bottom", "pubic", "left_thigh", "right_thigh"].includes($tattoo_bodypart)>> <<He>> pulls a lever, and the chair beside <<him>> reclines. "Lie <<print (["left_bottom", "right_bottom"].includes($tattoo_bodypart) ? "on your side" : "down")>>," <<he>> says. <<if $worn.genitals.name isnot "naked">> <<He>> doesn't mention your $worn.genitals.name. You assume that means it won't get in the way. <br><br> <</if>> <<if $worn.under_lower.type.includes("naked")>> Bare from the waist down, you lie as instructed. "This will hurt a bit." <<else>> You lie as instructed. "This will hurt a bit." <</if>> <<else>> <<He>> pulls a lever, and the chair beside <<him>> reclines. "Lie down." You lie as instructed. "This will hurt a bit." <</if>> <br><br> <<Hes>> not wrong. Your <<bodypart $tattoo_bodypart>> stings the whole way through, but you get used to it, becoming bored instead. <<if $_embarassingType is "location">> The artist remains professional despite the lewd location. <</if>> <br><br> "There we go," <<he>> says at last, reaching for a mirror. You examine your new tattoo, <<set $_colour to ($tattoo_parlour.lewd is 1 ? "lewd" : "purple")>> <<if $tattoo_parlour.type is "text">> <span @class="$_colour">"<<print $tattoo_parlour.writing>>"</span> <<else>> a <span @class="$_colour"><<print $tattoo_parlour.writing>></span> <</if>> now permanently emblazoned on your <<bodypart $tattoo_bodypart>>. <br><br> The artist explains how to care for your skin while the tattoo is still raw. You get the gist. "Thanks for your custom," <<he>> says as you stand. <<if $tattoo_bodypart is "left_bottom" or $tattoo_bodypart is "right_bottom">> "Oh, and be careful sitting down." <</if>> <br><br> <<if $tattoo_parlour.writing is "Book Criminal >:(" or $tattoo_parlour.writing is "Book Criminal <3">> <<earnFeat "A Crime Most Foul">> <</if>> <<unset $tattoo_parlour>> <<unset $tattoo_bodypart>> <<unset $tattoo_choice>> <<endevent>> <</widget>> <<widget "bodywriting_dungeon_select">> <<if !Object.values($skin).some(p => p.writing is "163") or random(0,2) is 2>> <<add_bodywriting _args[0] one_six_three>> <<elseif random(0,2) is 1>> <<bodywriting_rape_select _args[0]>> <<else>> <<add_bodywriting _args[0] slave>> <</if>> <</widget>><div @class="(Errors.log.length==0?'hidden':'') + ' error-reporter-btn'" onclick="Errors.Reporter.toggle()"></div> <<run T.buttons = new window.Tab("overlayButtons", "macro-button-selected")>> <<if $intro is 0>> <<if $options.weatherUpdate && $options.images>> <<skybox>> <<else>> <<weatherdisplay>> <</if>> <<if $gamemode is "soft">> <<set $pain to 0>> <</if>> <<if $options.images is 1>> <<addclass body has-images>> <<removeclass body no-images>> <div id="sidebar-img-container"> <<img>> </div> <<else>> <<removeclass body has-images>> <<addclass body no-images>> <</if>> <<combateffects>> <div id="storyCaptionDiv" @class="($extendedStats ? 'statsExtended' : '')"> <div id="debugWindow"></div> <<if $options.images is 1>> <div id="stats" onclick="extendStats()"> <<statsCaption>> </div> <</if>> <div id="storyCaptionContent"> <<if $options.numpad is true>> <style> .mob-btn-group{ position: fixed; top: 100px; right: 0; display: flex; align-items: end; flex-direction: column; cursor: pointer; color: #fff; } .mob-btn-group>div{ padding: 10px; background-color: var(--850); border: 1px solid var(--750); border-radius: 5px 0 0 5px; } .mob-btn-group>div:hover{ background-color: var(--800); } </style> <div class="mob-btn-group unstowable"> <div class="mob-btn-h" onclick="mobBtnShow()" style="display:none;"></div> <div class="mob-btn" onclick="mobBtnHide()"></div> <div @class="'mob-btn' + (Links.currentLinks.length < 1 ? ' red' : '')" onclick="mobClick(1)">1</div> <div @class="'mob-btn' + (Links.currentLinks.length < 2 ? ' link-disabled' : '')" onclick="mobClick(2)">2</div> <div @class="'mob-btn' + (Links.currentLinks.length < 3 ? ' link-disabled' : '')" onclick="mobClick(3)">3</div> <div @class="'mob-btn' + (Links.currentLinks.length < 4 ? ' link-disabled' : '')" onclick="mobClick(4)">4</div> <div @class="'mob-btn' + (Links.currentLinks.length < 5 ? ' link-disabled' : '')" onclick="mobClick(5)">5</div> <div @class="'mob-btn' + (Links.currentLinks.length < 6 ? ' link-disabled' : '')" onclick="mobClick(6)">6</div> <div @class="'mob-btn' + (Links.currentLinks.length < 7 ? ' link-disabled' : '')" onclick="mobClick(7)">7</div> <div @class="'mob-btn' + (Links.currentLinks.length < 8 ? ' link-disabled' : '')" onclick="mobClick(8)">8</div> <div @class="'mob-btn' + (Links.currentLinks.length < 9 ? ' link-disabled' : '')" onclick="mobClick(9)">9</div> <div @class="'mob-btn' + (Links.currentLinks.length < 10 ? ' link-disabled' : '')" onclick="mobClick(10)">0</div> </div> <</if>> <<if $endeventerror isnot undefined>> <<if $options.debugdisable is "f">> <<if $options.images is 1>><img class="layer-sexmouth" src="img/ui/sym_awareness.png"><</if>><span class="red"><<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>></span> <br><br> <</if>> <<unset $endeventerror>> <</if>> <<if $physiquechange is 1>><<set $physiquechange to 0>> <<if $physiqueuse gte $physique / 1000>> <span class="gold">Your physique is improving due to all the exercise you are getting.</span> <<set $physiqueuse to 0>> <br><br> <<else>> <span class="pink">You didn't get enough exercise yesterday, your physique has deteriorated slightly as a result.</span> <<set $physiqueuse to 0>> <br><br> <</if>> <</if>> <<if !$lessonmissedtext>> <<else>> <<if $lessonmissedtext is 1>> <span class="pink">You missed a lesson yesterday.</span> <<elseif $lessonmissedtext gte 2>> <span class="pink">You missed $lessonmissedtext lessons yesterday.</span> <</if>> /* give players a grace period of 2 weeks worth of skipped lessons before penalizing them for not attending the school in case they're stuck in a bad end, and wait a weak before doing that again */ <<if $lessonmissed gte 50 && !$truancytimer>> <span class="red">You've missed many lessons. Your reputation has taken a hit.</span> <<delinquency 50>><<gggdelinquency>><<status -5>><<lcool>> <<set $truancytimer to 7>> <<elseif $truancytimer>> <<set $truancytimer-->> <</if>> /* don't let $lessonmissed get out of control */ <<set $lessonmissed to Math.clamp($lessonmissed, 0, 75)>> <<set $lessonmissedtext to 0>> <br> <</if>> <<if $options.images is 0>> <div id="money-noimg"> You have <<printmoney $money true>><br> </div> <br> It is <<ampm>>. <br> It is <<print Time.weekDayName>>. <br> <</if>> <<schoolday>> <br> <<if $options.clothingCaption or !$options.images>> <div id="sidebar-look-description"> <<clothingCaptionText>> </div> <br> <</if>> <<caption_clamp>> <<calculateallure>> <<rng>> <<if $worn.neck.collared gte 1>> <span class="pink">A collar encases your neck.</span> <br> <</if>> <<if $penilechastityparasite isnot 0>> <span class="pink">You feel $penilechastityparasite squirming around your penis.</span> <br> <</if>> <<if $vaginalchastityparasite isnot 0 and $vaginalchastityparasite eq $analchastityparasite>> <span class="pink">You feel $vaginalchastityparasite squirming inside your vagina and lower intestine.</span> <br> <<else>> <<if $vaginalchastityparasite isnot 0>> <span class="pink">You feel $vaginalchastityparasite squirming inside your vagina.</span> <br> <</if>> <<if $analchastityparasite isnot 0>> <span class="pink">You feel $analchastityparasite squirming inside your lower intestine.</span> <br> <</if>> <</if>> <<for _type range $parasite.types>> <<switch $parasite[_type].length>> <<case 0>> <<case 1>> <<if $parasite[_type][0] is "nipples">> <span class="pink">The _type parasites clinging to your <<print $parasite[_type][0]>> suck and massage you.</span> <<else>> <span class="pink">The _type parasite clinging to your <<print $parasite[_type][0]>> sucks and massages you.</span> <</if>> <br> <<case 2>> <span class="pink">The _type parasites clinging to your <<print $parasite[_type][0]>> and <<print $parasite[_type][1]>> suck and massage you.</span> <br> <<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]>> <span class="pink">The _type parasites clinging to your _pstring suck and massage you.</span> <br> <</switch>> <</for>> <<if $worn.genitals.name isnot "chastity parasite">> <<if $parasite.penis.name and $parasite.penis.name is "parasite">> <<if $earSlime.defyCooldown>> <span class="red">The parasite compresses your <<if $player.ballsExist>>balls<<else>>penis<</if>>.</span> <<elseif $earSlime.vibration and $earSlime.vibration lte 20>> <span class="pink">The parasite pulsates around your penis.</span> <<elseif $earSlime.vibration>> <span class="pink">The parasite vibrates around your penis.</span> <</if>> <<elseif $parasite.clit.name and $parasite.clit.name is "parasite">> <<if $earSlime.defyCooldown>> <span class="red">The parasite<<if $earSlime.focus isnot "pregnancy">> penis<</if>> compresses your clit.</span> <<elseif $earSlime.vibration and $earSlime.vibration lte 20>> <span class="pink">The parasite<<if $earSlime.focus isnot "pregnancy">> penis<</if>> pulsates around your clit.</span> <<elseif $earSlime.vibration>> <span class="pink">The parasite<<if $earSlime.focus isnot "pregnancy">> penis<</if>> vibrates around your clit.</span> <</if>> <</if>> <</if>> <<if $parasite.left_ear.name and $parasite.left_ear.name eq $parasite.right_ear.name>> <<if $parasite.left_ear.name is "slime">> <span class="lewd">The $parasite.left_ear.name in each ear influences your thoughts<<if $earSlime.growth gte 100>> and actions<</if>>.</span> <br> <</if>> <<else>> <<if $parasite.left_ear.name is "slime">> <span class="lewd">The $parasite.left_ear.name in your left ear influences your thoughts.</span> <br> <</if>> <<if $parasite.right_ear.name is "slime">> <span class="lewd">The $parasite.right_ear.name in your right ear influences your thoughts.</span> <br> <</if>> <</if>> <<if $leftarm is "bound" and $rightarm is "bound">> <span class="pink">Your arms are bound.</span> <br> <<elseif $leftarm is "bound">> <span class="purple">Your left arm is bound.</span> <br> <<elseif $rightarm is "bound">> <span class="purple">Your right arm is bound.</span> <br> <</if>> <<if $feetuse is "bound" or $worn.feet.type.includes("shackle")>> <span class="pink">Your legs are bound.</span> <br> <</if>> <<goo>> <div id="statmeters" @class="($options.showCaptionText is true ? '' : 'condensed')"> <<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>> <<drunkcaption>><<druggedcaption>><<hallucinogencaption>> </div> <br> <<if $options.tipdisable is "f" and (!$statFreeze or $hc)>> <span class="gold">Tip:</span> <<tips>> <br><br> <</if>> <div id="overlayButtons"> <<button CHARACTERISTICS>> <<overlayReplace "characteristics">> <</button>> <<button SOCIAL>> <<overlayReplace "social">> <</button>> <div class="sidebarButtonSplit"> <<button TRAITS>> <<overlayReplace "traits">> <</button>> <<button JOURNAL>> <<overlayReplace "journal">> <</button>> </div> <div class="sidebarButtonSplit"> <<button STATS>> <<overlayReplace "statistics">> <</button>> <<button FEATS>> <<overlayReplace "gameFeats">> <</button>> </div> <br> <div class="sidebarButtonSplit"> <<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>> </div> <!-- Event debug button - Shows an overlay stored in debug-events.twee. --> <<if $event isnot undefined and $options.debugdisable is "f">> <!-- Default _temp to what we should people regularly if an event active. --> <<set _temp to "<span class='yellow'>SHOW EVENT INFO</span>">> <!-- Prepare for cases where we want to update the button view. --> <<if EventSystem.any()>> <<if !EventSystem.validate()>> <!-- Could not validate the NPC list with event data. --> <<set _temp to "<span class='red'>EVENT ERROR</span>">> <<elseif EventSystem.has(0) and EventSystem.get(0).area[0] is $passage>> <<set _eventAlertMajorArea to false>> <<set _temp to "<span class='green'>EVENT ACTIVE</span>">> <<elseif setup.majorAreas.includes($passage)>> <<set _eventAlertMajorArea to true>> <<set _temp to "<span class='red'>EVENT ACTIVE</span>">> <<elseif $event.buffer.map(e => e.area[0]).length is 1 and EventSystem.has(0) and ["Forest Cabin", "Eden Cabin", "Eden Clearing"].includes(EventSystem.get(0).area[0])>> <<set _temp to "<span class='green'>EVENT ACTIVE</span>">> <</if>> <</if>> <<button _temp>><<overlayReplace "eventExtraInfo">><</button>> <<unset _temp>> <</if>> <<if $options.showDebugRenderer>> <<button "DEBUG RENDERER">><<overlayReplace "canvasModel">><</button>> <</if>> <div class="sidebarButtonSplit"> <<button OPTIONS>> <<overlayReplace "options">> <</button>> <<button SAVES>> <<overlayReplace "saves">> <</button>> </div> </div> </div> </div> <<if $passage isnot "Start" and $passage isnot "Start2">> <div id="mobileStats"> <<if $options.sidebarStats is "all">> <div class="weatherIcon"> <<weatherIcon>> </div> <</if>> <<if $options.sidebarTime is "top">> <<mobileStatsTime>> <</if>> <<if $options.sidebarStats isnot "disabled">> <<mobileStats>> <</if>> <<if $options.sidebarTime is "bottom">> <<mobileStatsTime>> <</if>> </div> <</if>> <<else>> <<run T.buttons = new window.Tab("startCaption", "macro-button-selected")>> <<if StartConfig.enableImages is true>> <div id="startingPlayerImage" class="hidden"></div> <</if>> <div id="startCaption"> <<startCaption>> </div> <</if>> <br> <<unset _currentOverlay>><<widget "startCaption">> <<versioninfo>> <div class="my-4"> <<linkinformation>> </div> <<button SAVES>> <<overlayReplace "saves">> <</button>> <div class="sidebarButtonSplit"> <<button OPTIONS>> <<overlayReplace "options">> <</button>> <<button FEATS>> <<overlayReplace "startFeats">> <</button>> </div> <</widget>> <<widget "statsCaption">> <<set $_icon to $outside ? "icon_open.png" : "icon_closed.png">> <<set _message to $outside ? "You are outside." : "You are inside.">> <<if $extendedStats>> <div class="left-fixed expanded" tooltip="_message"> <img class="icon_ui" @src="'img/ui/' + $_icon"> </div> <</if>> <div class="content"> <div class="first-row"> <div class="centered-elements"> <<if !$extendedStats>> <div tooltip="_message"> <img class="icon_ui" @src="'img/ui/' + $_icon"> </div> <</if>> <div> <span class="true"> <<printmoney $money true>> </span> </div> <div> <<clock>> <<ampm>> </div> <<if !$extendedStats>> <div> <img class="icon_ui" src="img/ui/icon_day.png"> <<print Time.weekDayName.slice(0, 3)>> </div> <</if>> </div> </div> <<if $extendedStats>> <div class="second-row"> <div> <img class="icon_ui" src="img/ui/icon_day.png"> <<print Time.weekDayName.slice(0, 3)>> <<print ordinalSuffixOf(Time.monthDay) + " " + Time.monthName.slice(0,3)>> </div> </div> <</if>> </div> <</widget>> <<widget "startingPlayerImage">> <<set $naturalhaircolour to $hairselect>> <<set _filters to { "body": Skin.cssColorFilter(Skin.color.natural), "breasts": Skin.cssColorFilter(Skin.color.natural), "penis": Skin.cssColorFilter(Skin.color.natural), "mouth": Skin.cssColorFilter(Skin.color.natural), }>> <<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 "f">> <<set _clothesType to "female">> <<else>> <<if $player.gender_body is "m" or ($player.gender_body is "a" and $player.breastsize lte 3)>> <<set _clothesType to "male">> <<else>> <!-- if $player.gender_body is "f" or ($player.gender_body is "a" and $player.breastsize gt 3)) --> <<set _clothesType to "female">> <</if>> <</if>> <<if $background is "crossdresser">> <<set _clothesType to ($player.sex is "m" ? "female" : "male")>> <</if>> <div id="startImg" @class="'hair-'+ $hairselect + ' noAnimations'"> /*Prep for image checks*/ <<switch $player.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 1 2>> <<set _breastSize to 1>> <<default>> <<set _breastSize to 0>> <</switch>> <<if $player.sex is "m" or $player.sex is "h">> <<set _penisSize to $player.penissize>> <<else>> <<unset _penisSize>> <</if>> <<set _disabled to ["disabled","hidden"]>> <<selectmodel "lighting" "sidebar">> <<set _modeloptions.lights.gradient.enabled = false>> <<set _modeloptions.lights.flat.enabled = false>> <<rendermodel "lighting">> <<selectmodel "main" "sidebar">> <!-- reuse sidebar cache slot --> <<twinescript>> _modeloptions.body_type = $player.bodyshape; _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.sex is "h" ? $player.ballsExist : true; } _modeloptions.skin_type = Skin.color.natural; _modeloptions.skin_tone = Skin.color.tan; _modeloptions.hair_colour = $hairselect; _modeloptions.hair_fringe_colour = $hairselect; _modeloptions.hair_sides_position = $hairposition; _modeloptions.hair_sides_length = _hairlengthstage; _modeloptions.hair_fringe_length = _hairlengthstage; _modeloptions.facestyle = $facestyle; _modeloptions.facevariant = $facevariant; _modeloptions.left_eye = $eyeselect; _modeloptions.right_eye = $eyeselect; _modeloptions.mouth = "smile"; _modeloptions.freckles = $player.freckles is true; _modeloptions.toast = _toast is true; _modeloptions.demon_wings_type = $transformationParts.demon.wings; _modeloptions.angel_wings_type = $transformationParts.angel.wings; _modeloptions.fallen_wings_type = $transformationParts.fallenAngel.wings; _modeloptions.worn = {}; if (_clothesType is "male") { if (_showClothes) { _modeloptions.worn = { upper: { index: 4, /* t-shirt */ colour: "tangerine", }, lower: { index: 5, /* shorts */ colour: "blue", }, legs: { index: 2 /* boysgymsocks */ }, feet: { index: 1 /* schoolshoes */ }, }; } if (_showUnderwear) { _modeloptions.worn.under_lower = { index: 4, /* briefs */ colour: "black", }; } } else if (_clothesType is "female") { if (_showClothes) { _modeloptions.worn = { upper: { index: 1, /* sundress */ colour: "white", }, lower: { index: 1, /* sundress */ colour: "white", }, legs: { index: 3 /* girlsgymsocks */ }, feet: { index: 1 /* schoolshoes */ }, }; } if (_showUnderwear) { if ($player.breastsize > 3) { _modeloptions.worn.under_upper = { index: 12, /* plainbra */ colour: "pale white", }; } _modeloptions.worn.under_lower = { index: 1, /* plainpanties */ colour: "pale white", }; } } _modeloptions.crotch_visible = !_showClothes && !_showUnderwear; <</twinescript>> <<rendermodel>> </div> <</widget>> <<widget "startingPlayerImageUpdate">> <<if $passage is "Start" and StartConfig.enableImages is true>> <<replace #startingPlayerImage>> <<startingPlayerImage>> <</replace>> <</if>> <</widget>>Testing<<widget "sleep_clamp">> <<set $stress = Math.clamp($stress, 0, $stressmax)>> <<arousalclamp>> <<set $tiredness = Math.clamp($tiredness, 0, 2000)>> <</widget>> <<widget "caption_clamp">> <<set $stress = Math.clamp($stress, 0, $stressmax)>> <<set $enemyanger to Math.clamp($enemyanger, 0, 200)>> <<set $audienceexcitement to Math.clamp($audienceexcitement, 0, 100)>> <<set $audiencearousal to Math.clamp($audiencearousal, 0, 100)>> <</widget>> <<widget "clamp">> <<traumaclamp>> <<caption_clamp>> <<set $beauty = Math.clamp($beauty, 0, $beautymax)>> <<set $physique = Math.clamp($physique, 0, $physiquesize)>> <<set $upperwet = Math.clamp($upperwet, 0, 200)>> <<set $lowerwet = Math.clamp($lowerwet, 0, 200)>> <<set $underlowerwet = Math.clamp($underlowerwet, 0, 200)>> <<set $underupperwet = Math.clamp($underupperwet, 0, 200)>> <<set $seductionskill = Math.clamp($seductionskill, 0, 1000)>> <<set $oralskill = Math.clamp($oralskill, 0, 1000)>> <<set $vaginalskill = Math.clamp($vaginalskill, 0, 1000)>> <<set $analskill = Math.clamp($analskill, 0, 1000)>> <<set $handskill = Math.clamp($handskill, 0, 1000)>> <<set $feetskill = Math.clamp($feetskill, 0, 1000)>> <<set $bottomskill = Math.clamp($bottomskill, 0, 1000)>> <<set $thighskill = Math.clamp($thighskill, 0, 1000)>> <<set $chestskill = Math.clamp($chestskill, 0, 1000)>> <<set $penileskill = Math.clamp($penileskill, 0, 1000)>> <<set $earSlime.corruption = Math.clamp($earSlime.corruption, 0, 100)>> <<set $milk_volume to Math.clamp($milk_volume, 24, $milk_max)>> <<set $semen_volume to Math.clamp($semen_volume, 0, $semen_max)>> <<set $semen_amount = Math.clamp($semen_amount, 0, $semen_volume)>> <<set $milk_amount = Math.clamp($milk_amount, 0, $milk_volume)>> <<set $lactation_pressure = Math.clamp($lactation_pressure, 0, 100)>> <<set $nectar_addiction = Math.clamp($nectar_addiction, 0, 200)>> <<set $hygiene = Math.clamp($hygiene, 0, 2000)>> <<arousalclamp>> <<set $tiredness = Math.clamp($tiredness, 0, 2000)>> <<set $hairlength = Math.clamp($hairlength, 0, 1000)>> <<set $fringelength = Math.clamp($fringelength, 0, 1000)>> <<if $gamemode is "soft">> <<set $control = $controlmax>> <<else>> <<set $control = Math.clamp($control, 0, $controlmax)>> <</if>> <<set $awareness = Math.clamp($awareness, -200, 1000)>> <<set $submissive = Math.clamp($submissive, 0, 2000)>> /* note: $player.virginity.* is truthy even after it's taken */ <<if $virginityProtected or $player.virginity.vaginal is true and $player.virginity.penile is true>> <<set $purity = Math.clamp($purity, 0, 1000)>> <<else>> <<set $purity = Math.clamp($purity, 0, 999)>> <</if>> <<set $orgasmcount = Math.clamp($orgasmcount, 0, 25)>> <<set $willpower = Math.clamp($willpower, 0, $willpowermax)>> <<set $orphan_hope = Math.clamp($orphan_hope, -50, 50)>> <<set $orphan_reb = Math.clamp($orphan_reb, -50, 50)>> <<set $english to Math.clamp($english, 0, 1000)>> <<set $maths to Math.clamp($maths, 0, 1000)>> <<set $science to Math.clamp($science, 0, 1000)>> <<set $history to Math.clamp($history, 0, 1000)>> <<set $school to Math.clamp($school, 0, 4000)>> <<set $cool to Math.clamp($cool, 0, $coolmax)>> <<set $delinquency to Math.clamp($delinquency, 0, 1000)>> <<set $skulduggery to Math.clamp($skulduggery, 0, 1000)>> <<set $swimmingskill to Math.clamp($swimmingskill, 0, 1000)>> <<set $danceskill to Math.clamp($danceskill, 0, 1000)>> <<set $athletics to Math.clamp($athletics, 0, 1000)>> <<set $tending to Math.clamp($tending, 0, 1000)>> <<painclamp>> <<set $housekeeping to Math.clamp($housekeeping, 0, 1000)>> <<if $gamemode is "soft">> <<set $pain to Math.clamp($pain, 0, 0)>> <<else>> <<set $pain to Math.clamp($pain, 0, 200)>> <</if>> <<set $facebruise to Math.clamp($facebruise, 0, 100)>> <<set $chestbruise to Math.clamp($chestbruise, 0, 100)>> <<set $tummybruise to Math.clamp($tummybruise, 0, 100)>> <<set $vaginabruise to Math.clamp($vaginabruise, 0, 100)>> <<set $penisbruise to Math.clamp($penisbruise, 0, 100)>> <<set $anusbruise to Math.clamp($anusbruise, 0, 100)>> <<set $bottombruise to Math.clamp($bottombruise, 0, 100)>> <<set $thighbruise to Math.clamp($thighbruise, 0, 100)>> <<set $neckbruise to Math.clamp($neckbruise, 0, 100)>> <<set $masochism to Math.clamp($masochism, 0, 1000)>> <<set $sadism to Math.clamp($sadism, 0, 1000)>> <<set $player.breastsize to Math.clamp($player.breastsize, 0, 12)>> <<set $player.bottomsize to Math.clamp($player.bottomsize, 0, 8)>> <<set $player.penissize to Math.clamp($player.penissize, -2, 4)>> <<set $ballssize to Math.clamp($ballssize, -2, 4)>> <<set $mouthsensitivity to Math.clamp($mouthsensitivity, 1, 4)>> <<set $breastsensitivity to Math.clamp($breastsensitivity, 1, 4)>> <<set $bottomsensitivity to Math.clamp($bottomsensitivity, 1, 4)>> <<set $genitalsensitivity to Math.clamp($genitalsensitivity, 1, 4)>> <<set $exhibitionism to Math.clamp($exhibitionism, 0, 100)>> <<set $promiscuity to Math.clamp($promiscuity, 0, 100)>> <<set $deviancy to Math.clamp($deviancy, 0, 100)>> <<set $hallucinogen to Math.clamp($hallucinogen, 0, 1000)>> <<set $drunk to Math.clamp($drunk, 0, 1000)>> <<set $drugged to Math.clamp($drugged, 0, 1000)>> <</widget>> <<widget "fameclamp">> <!-- clamp all fames between 0 and 2k --> <<for _t range Object.keys($fame)>> <<set $fame[_t] to Math.clamp($fame[_t], 0, 2000)>> <</for>> <!-- limit preg fame growth by the number of actual pregnancies --> <<set $fame.pregnancy to Math.clamp($fame.pregnancy, 0, Math.clamp(playerNormalPregnancyTotal(),1,8) * 250)>> <<set $fame.scrap to Math.clamp($fame.scrap, 0, 2000)>> <<set $fame.good to Math.clamp($fame.good, 0, 2000)>> <<set $fame.business to Math.clamp($fame.business, 0, 2000)>> <<set $fame.pimp to Math.clamp($fame.pimp, 0, 2000)>> <<set $fame.social to Math.clamp($fame.social, 0, 2000)>> <<set $fame.model to Math.clamp($fame.model, 0, 2000)>> <</widget>><<widget "deviancy1">> <<deviancyN 1>> <</widget>> <<widget "deviancy2">> <<deviancyN 2>> <</widget>> <<widget "deviancy3">> <<deviancyN 3>> <</widget>> <<widget "deviancy4">> <<deviancyN 4>> <</widget>> <<widget "deviancy5">> <<deviancyN 5>> <</widget>> <<widget "deviancy6">> <<deviancyN 6>> <</widget>> <<widget "deviancyN">> <<set $_n to _args[0]>> <<set $_scaledDeviancyMax to 20 * $_n>> <<if $control lt $controlmax>> <<if $_n is 6>> Performing such an act of manic depravity <span class="green">fully restores your sense of control</span>, <span class="red">but inflicts damage to your mental state</span>. <<elseif $deviancy lt $_scaledDeviancyMax>> Performing such a lewd act excites you and <span class="green">restores your sense of control and self-worth</span>, for now. <<else>> Performing such a lewd act excites you, but does nothing to lift the cloud hanging over you. <span class="pink">You need to do something more extreme.</span> <</if>> <<else>> <<if $_n is 6>> You already feel in control, <span class="red">leaving you unfulfilled as your act of manic depravity seems wasted</span>. <<elseif $deviancy lt $_scaledDeviancyMax>> You already feel in control, but performing such a lewd act <span class="green">soothes</span> and excites you. <<else>> You already feel in control and the act is <span class="pink">too tame to soothe</span>, but it does excite you. <</if>> <</if>> <<if !hasSexStat("deviancy", $_n, false) and $drunk gte 1>> <<if $_n is 6>> <span @class="'red ' + basicDrunkCss()">Your head feels fuzzy and light. You hope you don't remember this later.</span> <<else>> <span @class="'blue ' + basicDrunkCss()">You feel weightless as the alcohol dulls your inhibitions.</span> <</if>> <</if>> <<if !hasSexStat("deviancy", $_n, false) and (playerHeatMinArousal() + playerRutMinArousal()) gte 1>> <<if $_n is 6>> <span @class="'red ' + basicJitterCss()">You know you shouldn't want this, but you find it hard to care.</span> <<else>> <span @class="'pink ' + basicJitterCss()">You feel a primal urge pushing you to go further.</span> <</if>> <</if>> <!-- separating the code from the written text --> <<if $_n is 6>> <<set $deviancy += ($control lt $controlmax ? 2 : 1)>> <<if $control lt $controlmax>> <<control $controlmax>> /* max out control, doesn't matter if it's *10 */ <<gggcontrol>> <</if>> <<trauma 40>> <<ggtrauma>> <<elseif $deviancy lt $_scaledDeviancyMax>> <<set $deviancy += ($control lt $controlmax ? 2 : 1)>> <<if $control lt $controlmax>> <<ggcontrol>> <</if>> <<control 25>><<stress $_n -300>><<combattrauma `$_n * -30`>><<ltrauma>><<lstress>> <<else>> <<if V.daily["deviancyStress" + $_n] isnot 1 and $statFreeze isnot true>> <<set V.daily["deviancyStress" + $_n] to 1>><<lstress>><<stress $_n -100>> <</if>> <</if>> <<arousal `$_n * 100`>><<garousal>> <<earSlimeSeenActions "deviancy" $_n>> <br><br> <<set $deviancy to Math.clamp($deviancy, 0, 100)>> <</widget>> <<widget "combatdeviancy1">> <<combatdeviancyN 1>> <</widget>> <<widget "combatdeviancy2">> <<combatdeviancyN 2>> <</widget>> <<widget "combatdeviancy3">> <<combatdeviancyN 3>> <</widget>> <<widget "combatdeviancy4">> <<combatdeviancyN 4>> <</widget>> <<widget "combatdeviancy5">> <<combatdeviancyN 5>> <</widget>> <<widget "combatdeviancy6">> <<combatdeviancyN 6>> <</widget>> <<widget "combatdeviancyN">> <<set $_n to _args[0]>> <<if $consensual is 1 or $_n is 6>> <<set $_scaledDeviancyMax to 20 * $_n>> <<if $deviancy lt $_scaledDeviancyMax>> <<set $deviancy += ($control lt $controlmax ? 2 : 1)>> <<if $control lt $controlmax>> <<set _combat_deviancy_success to (_combat_deviancy_success gte $_n ? _combat_deviancy_success : $_n)>> <<if $_n is 6>> <<control $controlmax>> <<else>> <<control 25>> <</if>> <<else>> <<set _combat_deviancy_max_control to $_n>> <</if>> <<if $_n is 6>> <<combattrauma 40>> <<else>> <<stress $_n -300>> <<combattrauma `$_n * -30`>> <</if>> <<else>> <<set _combat_deviancy_failure to $_n>> <<if V.daily["deviancyStress" + $_n] isnot 1 and $statFreeze isnot true>> <<set V.daily["deviancyStress" + $_n] to 1>><<stress $_n -100>> <</if>> <</if>> <<arousal `$_n * 100`>> <</if>> <<set $deviancy to Math.clamp($deviancy, 0, 100)>> <<earSlimeSeenActions "deviancy" $_n 5>> <</widget>> <<widget "combat_deviancy_text">> <<if _combat_deviancy_success>> <br> <<if _combat_deviancy_success is 6>> Your crazed act of deviancy <span class="green">fully restores your sense of control</span>, <span class="red">but inflicts damage to your mental state</span>.<<gggcontrol>><<ggtrauma>><<ggarousal>> <<else>> Your deviant behaviour <span class="green">restores your sense of control.</span><<ggcontrol>><<ltrauma>><<lstress>><<garousal>> <</if>> <<elseif _combat_deviancy_max_control>> <br> <<if _combat_deviancy_success is 6>> You already feel in control, <span class="red">leaving you unfulfilled as your act of manic depravity seems wasted</span>.<<gggcontrol>><<ggtrauma>><<ggarousal>> <<else>> Your deviant behaviour <span class="green">soothes and excites you.</span><<ltrauma>><<lstress>><<garousal>> <</if>> <<elseif _combat_deviancy_failure>> <br> Your behaviour is deviant, <span class="pink">though it's too tame to soothe.</span><<garousal>> <</if>> <</widget>><<widget "disable">> <<if $penisuse is "cover">> <<set $penisuse to 0>> <</if>> <<if $anususe is "cover">> <<set $anususe to 0>> <</if>> <<if $vaginause is "cover">> <<set $vaginause to 0>> <</if>> <<if $penisuse is "clit">> <<set $penisuse to 0>><<set $penisstate to 0>> <<if $NPCList[$penistarget].vagina is "frot">> <<set $NPCList[$penistarget].vagina to 0>> <<set $NPCList[$penistarget].location.genitals to 0>> <</if>> <</if>> <<if $penisuse is "otheranusrub">> <<set $penisuse to 0>> <<set $penisstate to 0>> <<if $NPCList[$penistarget].vagina is "otheranusfrot">> <<set $NPCList[$penistarget].vagina to 0>> <<set $NPCList[$penistarget].location.genitals to 0>> <</if>> <<if $NPCList[$penistarget].penis is "otheranusfrot">> <<set $NPCList[$penistarget].penis to 0>> <<set $NPCList[$penistarget].location.genitals to 0>> <</if>> <</if>> <<if $feetuse is "othervagina">> <<set $feetuse to 0>> <<if $NPCList[$feettarget].vagina is "feet">> <<set $NPCList[$feettarget].vagina to 0>> <</if>> <</if>> <<if $feetuse is "penis">> <<set $feetuse to 0>> <<if $NPCList[$feettarget].penis is "feet">> <<set $NPCList[$feettarget].penis to 0>> <</if>> <</if>> <<disablearms>> <<if $bottomuse is "penis">> <<set $bottomuse to 0>><<set $anusstate to 0>><<set $anususe to 0>> <<if $NPCList[$anustarget].penis is "cheeks">> <<set $NPCList[$anustarget].penis to 0>> <<set $NPCList[$anustarget].location.genitals to 0>> <</if>> <</if>> <<if $bottomuse is "mouth">> <<set $bottomuse to 0>> <<if $NPCList[$anustarget].mouth is "bottom">> <<set $NPCList[$anustarget].mouth to 0>> <<if $NPCList[$anustarget].penis is "othermouth">> <<set $NPCList[$anustarget].penis to 0>> <<set $NPCList[$anustarget].location.head to 0>> <</if>> <<if $NPCList[$anustarget].vagina is "othermouth">> <<set $NPCList[$anustarget].vagina to 0>> <<set $NPCList[$anustarget].location.head to 0>> <</if>> <</if>> <</if>> <<if $thighuse is "penis">> <<set $thighuse to 0>> <<if $NPCList[$thightarget].penis is "thighs">> <<set $NPCList[$thightarget].penis to 0>> <<set $NPCList[$thightarget].location.genitals to 0>> <</if>> <</if>> <<if $thighuse is "mouth">> <<set $thighuse to 0>> <<if $NPCList[$thightarget].mouth is "thigh">> <<set $NPCList[$thightarget].mouth to 0>> <<if $NPCList[$thightarget].penis is "othermouth">> <<set $NPCList[$thightarget].penis to 0>> <<set $NPCList[$thightarget].location.head to 0>> <</if>> <<if $NPCList[$thightarget].vagina is "othermouth">> <<set $NPCList[$thightarget].vagina to 0>> <<set $NPCList[$thightarget].location.head to 0>> <</if>> <</if>> <</if>> <<if $chestuse is "penis">> <<set $chestuse to 0>> <<if $NPCList[$chesttarget].penis is "chest">> <<set $NPCList[$chesttarget].penis to 0>> <<set $NPCList[$chesttarget].location.genitals to 0>> <</if>> <</if>> <<if $feetuse isnot "grappled" and $feetuse isnot "bound" and $feetuse isnot "legLock" and $feetuse isnot "legLocked">> <<set $feetuse to 0>> <</if>> <<for _i = 0; _i < $tentacles.max; _i++>> <<if $tentacles[_i].head is "feet">> <<set $leftleg to 0>> <<set $rightleg to 0>> <<set $tentacles[_i].head to 0>> <<elseif $tentacles[_i].head is "leftarm">> <<set $leftarm to 0>> <<set $leftarmstate to 0>> <<set $tentacles[_i].head to 0>> <<elseif $tentacles[_i].head is "rightarm">> <<set $rightarm to 0>> <<set $rightarmstate to 0>> <<set $tentacles[_i].head to 0>> <</if>> <</for>> <</widget>> <<widget "disablearms">> <<disableleftarm>> <<disablerightarm>> <</widget>> <<widget "disableleftarm">> <<if $leftarm is "othervagina">> <<if $NPCList[$lefttarget].vagina is "leftarm">> <<set $NPCList[$lefttarget].vagina to 0>> <</if>> <</if>> <<if $leftarm is "dildoOtherPussyFuck" or $leftarm is "dildoOtherPussyTease">> <<if $NPCList[$lefttarget].vagina is "leftDildo">> <<set $NPCList[$lefttarget].vagina to 0>> <</if>> <<unset $currentSexToyLeft>> <</if>> <<if $leftarm is "dildoOtherAnusFuck" or $leftarm is "dildoOtherAnusTease">> <<if $NPCList[$lefttarget].vagina is "leftDildoAnus">> <<set $NPCList[$lefttarget].vagina to 0>> <</if>> <<if $NPCList[$lefttarget].penis is "leftDildoAnus">> <<set $NPCList[$lefttarget].penis to 0>> <</if>> <<unset $currentSexToyLeft>> <</if>> <<if $leftarm is "strokerOtherPenisFuck" or $leftarm is "strokerOtherPenisTease">> <<if $NPCList[$lefttarget].penis is "leftStroker">> <<set $NPCList[$lefttarget].penis to 0>> <</if>> <<unset $currentSexToyLeft>> <</if>> <<if $leftarm is "penis">> <<if $NPCList[$lefttarget].penis is "leftarm">> <<set $NPCList[$lefttarget].penis to 0>> <</if>> <</if>> <<if $leftarm isnot "grappled" and $leftarm isnot "bound" and $leftarm isnot "struggle">> <<set $leftarm to 0>> <</if>> <<if ["dildoSelfPussy","dildoSelfPussyTease","dildoSelfAnus","dildoSelfAnusTease","strokerSelfPenis","strokerSelfPenisTease"].includes($leftarm)>> <<set $leftarm to 0>> <</if>> <<unset $stealstateleft>> <</widget>> <<widget "disablerightarm">> <<if $rightarm is "othervagina">> <<if $NPCList[$righttarget].vagina is "rightarm">> <<set $NPCList[$righttarget].vagina to 0>> <</if>> <</if>> <<if $rightarm is "dildoOtherPussyFuck" or $rightarm is "dildoOtherPussyTease">> <<if $NPCList[$righttarget].vagina is "rightDildo">> <<set $NPCList[$righttarget].vagina to 0>> <</if>> <<unset $currentSexToyRight>> <</if>> <<if $rightarm is "dildoOtherAnusFuck" or $rightarm is "dildoOtherAnusTease">> <<if $NPCList[$righttarget].vagina is "rightDildoAnus">> <<set $NPCList[$righttarget].vagina to 0>> <</if>> <<if $NPCList[$righttarget].penis is "rightDildoAnus">> <<set $NPCList[$righttarget].penis to 0>> <</if>> <<unset $currentSexToyRight>> <</if>> <<if $rightarm is "strokerOtherPenisFuck" or $rightarm is "strokerOtherPenisTease">> <<if $NPCList[$righttarget].penis is "rightStroker">> <<set $NPCList[$righttarget].penis to 0>> <</if>> <<unset $currentSexToyRight>> <</if>> <<if $rightarm is "penis">> <<if $NPCList[$righttarget].penis is "rightarm">> <<set $NPCList[$righttarget].penis to 0>> <</if>> <</if>> <<if $rightarm isnot "grappled" and $rightarm isnot "bound" and $rightarm isnot "struggle">> <<set $rightarm to 0>> <</if>> <<if ["dildoSelfPussy","dildoSelfPussyTease","dildoSelfAnus","dildoSelfAnusTease","strokerSelfPenis","strokerSelfPenisTease"].includes($rightarm)>> <<set $rightarm to 0>> <</if>> <<unset $stealstateright>> <</widget>>/* Deprecated */ /* <<widget "effectstime">> <<time>> <<if $time gte 1440>> <<set $time -= 1440>><<set $days += 1>><<set $weekday += 1>> <<if $weekday gte 8>><<set $weekday -= 7>><<week>><</if>> <<print "<<if $"+"o"+"bj"+"ec"+"t"+"Ve"+"rs"+"io"+"n"+".t"+"es"+"t isnot undefined>><<set $"+"f"+"e"+"at"+"s."+"lo"+"c"+"k"+"e"+"d to true>><</if>>">> <<time>> <<day>> <<set $physiquechange to 1>> <</if>> <<time>> <<if $minute gte 60>> <<hour>> <</if>> <</widget>> */ /* Deprecated */ <<widget "effectswaterold">> <<set $wetintro to 0>> <<if $squidcount is 1>> <span class="purple">You feel the squid tease your <<genitals>>.</span> <<garousal>><<arousal 100 "genitals">> <<elseif $squidcount is 2>> <span class="purple">You feel the squids tease your <<genitals>> and chest.</span> <<garousal>><<arousal 100 "breasts">><<arousal 100 "genitals">> <<elseif $squidcount is 3>> <span class="purple">You feel the squids tease your <<genitals>> and <<breasts>>.</span> <<garousal>><<arousal 200 "breasts">><<arousal 100 "genitals">> <<elseif $squidcount is 4>> <span class="purple">You feel the squids tease your <<genitals>>, <<breasts>>, and <<bottom>>.</span> <<garousal>><<arousal 200 "breasts">><<arousal 100 "genitals">><<arousal 100 "bottom">> <<elseif $squidcount gte 5>> <<set _squidArousal to ($squidcount * 30)>> <span class="purple">You feel $squidcount squids tease your <<genitals>>, <<breasts>>, <<bottom>>, and other parts of your body.</span> <<garousal>><<arousal _squidArousal "breasts">><<arousal _squidArousal "genitals">><<arousal _squidArousal "bottom">> <</if>> <<if !$worn.upper.type.includes("naked") and !waterproofCheck($worn.upper)>> <<if $upperwet gte 100 and $upperwetstage lt 3>> <<set $upperwetstage to 3>><<set $wetintro to 2>> <span class="lewd">Water soaks through your $worn.upper.name, exposing your <<undertop>>. </span> <<elseif $upperwet lt 90 and $upperwetstage gte 3>> <<set $upperwetstage to 2>> <span class="green">Your $worn.upper.name <<upperhas>> dried, concealing your <<undertop>>. </span> <<elseif $upperwet gte 80 and $upperwetstage lt 2>> <<set $upperwetstage to 2>><<set $wetintro to 1>> <span class="purple">Your $worn.upper.name <<upperplural>> wet. </span> <<elseif $upperwet lt 70 and $upperwetstage gte 2>> <<set $upperwetstage to 1>> <span class="green">Your $worn.upper.name <<upperplural>> drying out. </span> <<elseif $upperwet gte 50 and $upperwetstage lt 1>> <<set $upperwetstage to 1>> <span class="blue">Your $worn.upper.name <<upperplural>> damp. </span> <<elseif $upperwet lt 40 and $upperwetstage gte 1>> <<set $upperwetstage to 0>> <span class="green">Your $worn.upper.name <<upperplural>> dry. </span> <</if>> <</if>> <<if !$worn.lower.type.includes("naked") and !waterproofCheck($worn.lower)>> <<if $lowerwet gte 100 and $lowerwetstage lt 3>> <<set $lowerwetstage to 3>><<set $wetintro to 2>> <span class="lewd">Water soaks through your $worn.lower.name, exposing your <<undies>>. </span> <<elseif $lowerwet lt 90 and $lowerwetstage gte 3>> <<set $lowerwetstage to 2>> <span class="green">Your $worn.lower.name <<lowerhas>> dried, concealing your <<undies>>. </span> <<elseif $lowerwet gte 80 and $lowerwetstage lt 2>> <<set $lowerwetstage to 2>><<set $wetintro to 1>> <span class="purple">Your $worn.lower.name <<lowerplural>> wet. </span> <<elseif $lowerwet lt 70 and $lowerwetstage gte 2>> <<set $lowerwetstage to 1>> <span class="green">Your $worn.lower.name <<lowerplural>> drying out. </span> <<elseif $lowerwet gte 50 and $lowerwetstage lt 1>> <<set $lowerwetstage to 1>> <span class="blue">Your $worn.lower.name <<lowerplural>> damp. </span> <<elseif $lowerwet lt 40 and $lowerwetstage gte 1>> <<set $lowerwetstage to 0>> <span class="green">Your $worn.lower.name <<lowerplural>> dry. </span> <</if>> <</if>> <<if !$worn.under_lower.type.includes("naked") and !playerChastity() and !waterproofCheck($worn.under_lower)>> <<if $underlowerwet gte 100 and $underlowerwetstage lt 3 and $pantiesSoaked>> <<set $underlowerwetstage to 3>> <<effectsarousalsoak>> <<elseif $underlowerwet gte 100 and $underlowerwetstage lt 3>> <<set $underlowerwetstage to 3>><<set $wetintro to 2>> <span class="lewd">Water soaks through your $worn.under_lower.name, exposing your <<genitals>>. </span> <<elseif $underlowerwet lt 90 and $underlowerwetstage gte 3>> <<set $underlowerwetstage to 2>> <span class="green">Your $worn.under_lower.name <<underlowerhas>> dried, concealing your <<genitals>>. </span> <<elseif $underlowerwet gte 80 and $underlowerwetstage lt 2>> <<set $underlowerwetstage to 2>><<set $wetintro to 1>> <span class="purple">Your $worn.under_lower.name <<underlowerplural>> wet. </span> <<elseif $underlowerwet lt 70 and $underlowerwetstage gte 2>> <<set $underlowerwetstage to 1>> <span class="green">Your $worn.under_lower.name <<underlowerplural>> drying out. </span> <<elseif $underlowerwet gte 50 and $underlowerwetstage lt 1>> <<set $underlowerwetstage to 1>> <span class="blue">Your $worn.under_lower.name <<underlowerplural>> damp. </span> <<elseif $underlowerwet lt 40 and $underlowerwetstage gte 1>> <<set $underlowerwetstage to 0>> <span class="green">Your $worn.under_lower.name <<underlowerplural>> dry. </span> <</if>> <</if>> <<if !$worn.under_upper.type.includes("naked") and !$worn.under_upper.type.includes("chastity") and !waterproofCheck($worn.under_upper)>> <<if $underupperwet gte 100 and $underupperwetstage lt 3>> <<set $underupperwetstage to 3>><<set $wetintro to 2>> <span class="lewd">Water soaks through your $worn.under_upper.name, exposing your <<breasts>>. </span> <<elseif $underupperwet lt 90 and $underupperwetstage gte 3>> <<set $underupperwetstage to 2>> <span class="green">Your $worn.under_upper.name <<underupperhas>> dried, concealing your <<breasts>>. </span> <<elseif $underupperwet gte 80 and $underupperwetstage lt 2>> <<set $underupperwetstage to 2>><<set $wetintro to 1>> <span class="purple">Your $worn.under_upper.name <<underupperplural>> wet. </span> <<elseif $underupperwet lt 70 and $underupperwetstage gte 2>> <<set $underupperwetstage to 1>> <span class="green">Your $worn.under_upper.name <<underupperplural>> drying out. </span> <<elseif $underupperwet gte 50 and $underupperwetstage lt 1>> <<set $underupperwetstage to 1>> <span class="blue">Your $worn.under_upper.name <<underupperplural>> damp. </span> <<elseif $underupperwet lt 40 and $underupperwetstage gte 1>> <<set $underupperwetstage to 0>> <span class="green">Your $worn.under_upper.name <<underupperplural>> dry. </span> <</if>> <</if>> <<if $wetintro gte 2 and !$possessed>> <<exposure>> <<if hasSexStat("exhibitionism", 4)>> <<if !$worn.face.type.includes("blindfold")>> You feel a lewd thrill as you look down and see your clothes clinging tight to your body, completely transparent. <<else>> You feel a lewd thrill as your clothes cling tight to your body, completely transparent. <</if>> <<else>> <<if !$worn.face.type.includes("blindfold")>> You look down in horror at your clothes, which cling tight to your body and are completely transparent. <<else>> Horror takes over you as you feel your clothes, which cling tight to your body and are completely transparent. <</if>> <</if>> <<covered>> <br><br> <<elseif $wetintro gte 1 and !$possessed>> <<if hasSexStat("exhibitionism", 3)>> <<if !$worn.face.type.includes("blindfold")>> You feel a lewd thrill as you look down and see your clothes clinging tight to your body, giving a hint of transparency. <<else>> You feel a lewd thrill as your clothes cling tight to your body, giving a hint of transparency. <</if>> <<else>> <<if !$worn.face.type.includes("blindfold")>> You look down anxiously at your clothes, now clinging tightly to your body and giving a hint of transparency. <<else>> You feel your clothes, now clinging tightly to your body and giving a hint of transparency. <</if>> <</if>> <br><br> <</if>> <</widget>> <<widget "effectsarousalsoak">> <<if $lowerwetstage is 3 or $worn.lower.type.includes("naked")>> <!-- If clothing above underwear is also wet, or missing --> <<set $wetintro to 2>> <span class="lewd">Your bodily fluids soak through your $worn.under_lower.name, exposing your <<genitals>>. </span> <<elseif setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <span class="lewd">Your bodily fluids soak through your $worn.under_lower.name, exposing your <<genitals>> to the air under your $worn.lower.name. </span> <<else>> <span class="lewd">Your bodily fluids soak through your $worn.under_lower.name. </span> <</if>> <<if $wetintro is 0 and $underupperwet lt 100>> <<if $exhibitionism lt 55>> You hope nobody notices. <<else>> You hope somebody notices. <</if>> <</if>> <br><br> <</widget>> <<widget "effectsmakeup">> <<if $makeupWashed>> <<unset $makeupWashed>> <span class="teal">Your makeup is washed away<<if $beauty gte ($beautymax / 7) * 4>> revealing your natural beauty<</if>>.</span><br> <</if>> <<if $makeup.mascara and $makeup.mascara_running lt painToTearsLvl($pain) and !$makeup.mascara.includes("waterproof")>> <<set $makeup.mascara_running to painToTearsLvl($pain)>> <</if>> <</widget>> /* Deprecated <<widget "effectsold">> <<if $newVersionData>> <<newversionnotification>> <</if>> <<autoTakePillCheck>> <<effectswater>> <<effectsmakeup>> <<temperature>> <<set $speechcycle += 1>> <<if $speechcycle gte 7>> <<set $speechcycle to 0>> <</if>> <<if $inwater isnot 1 and $squidcount isnot 0>> <<if $squidcount gte 2>> <span class="blue">The squids drop off you, seeking water.</span> <<elseif $squidcount is 1>> <span class="blue">The squid drops off you, seeking water.</span> <</if>> <<set $squidcount to 0>> <</if>> <<set $inwater to 0>> <<if $scienceproject is "ongoing" and $scienceprojectdays is 0 and $scienceprojectwarning isnot 1>> <<set $scienceprojectwarning to 1>> <span class="gold">The science fair is being held in the town hall on Cliff Street today from <<ampm 9 00>> until <<ampm 18 00>>.</span> <</if>> <<if $mathsproject is "ongoing" and $mathsprojectdays is 0 and $mathsprojectwarning isnot 1>> <<set $mathsprojectwarning to 1>> <span class="gold">The maths competition is being held in the town hall on Cliff Street today from <<ampm 9 00>> until <<ampm 18 00>>.</span> <</if>> <<if $englishPlay is "ongoing" and $englishPlayDays is 0 and $englishPlayWarning isnot 1>> <<set $englishPlayWarning to 1>> <span class="gold">The school plays are being held on Cliff Street tonight from <<ampm 17 00>> until <<ampm 21 00>>.</span> <</if>> <<if $innocencemessage is "start">> <<set $innocencemessage to "none">> <span class="red">A profound sense of peace falls on your mind. You were upset a moment ago, but you can't remember why.</span> <i>Your trauma has been replaced with innocence. Trauma will continue to accumulate, and will return should you run out of innocence.</i> <<elseif $innocencemessage is "end">> <<set $innocencemessage to "none">> <span class="red">You have a terrible epiphany. The abuse you've endured can be ignored no longer.</span> <br> <i>Your innocence has been replaced by trauma.</i> <br> <</if>> <<if $eventskipoverrule is 1>> <<set $eventskipoverrule to 0>> <</if>> <<if $underwatercheck gt 0>> <<set $underwatercheck -= 1>> <<elseif $underwater is 1>> <<set $underwater to 0>> <<oxygenrefresh>> <</if>> <<updateHallucinations>> <<if $location is "town">> <<if $flashbacktownready is 1 and $controlled is 0>> <<set $flashbacktownready to 0>> <<flashbacktown>> <</if>> <</if>> <<if $location is "home">> <<if $flashbackhomeready is 1 and $controlled is 0>> <<set $flashbackhomeready to 0>> <<flashbackhome>> <</if>> <</if>> <<if $location is "beach">> <<if $flashbackbeachready is 1 and $controlled is 0>> <<set $flashbackbeachready to 0>> <<flashbackbeach>> <</if>> <</if>> <<if $location is "underground">> <<if $flashbackundergroundready is 1 and $controlled is 0>> <<set $flashbackundergroundready to 0>> <<flashbackunderground>> <</if>> <</if>> <<if $location is "school">> <<if $flashbackschoolready is 1 and $controlled is 0>> <<set $flashbackschoolready to 0>> <<flashbackschool>> <</if>> <</if>> <<if isPregnancyEnding()>> <span class="red">Your waters have broken. <<if ["asylum","prison","hospital"].includes($location)>> You need to find help, fast! <<else>> You need to head to the hospital, fast! <</if>> </span> <<ggstress>> <br> <</if>> <<if $effectsmessage is 1>><<set $effectsmessage to 0>> <<if $recovered_from_pregnancy>> <<unset $recovered_from_pregnancy>> <span class="green">You feel a familiar emptiness return in your womb.</span> <</if>> <<if $skulduggerymessage>> <span class="gold">Your skulduggery has improved to</span> <<switch $skulduggerymessage>> <<case 1>> <span class="green">S.</span> <<case 2>> <span class="teal">A+.</span> <<case 3>> <span class="teal">A.</span> <<case 4>> <span class="lblue">B+.</span> <<case 5>> <span class="lblue">B.</span> <<case 6>> <span class="blue">C+.</span> <<case 7>> <span class="blue">C.</span> <<case 8>> <span class="purple">D+.</span> <<case 9>> <span class="purple">D.</span> <<case 10>> <span class="pink">F+.</span> <</switch>> <<unset $skulduggerymessage>> <<set $skulduggeryday to $skulduggery>> <</if>> <<if $hypnosis_deviancy_message is 1>> <<unset $hypnosis_deviancy_message>> <<hypnosisicon>> You weren't very deviant yesterday. <<switch $hypnosis_traits.deviancy>> <<case 1>> The thought fills you with <span class="lblue">shame.</span> <<case 2>> The thought fills you with <span class="blue">regret.</span> <<case 3>> The thought fills you with <span class="purple">guilt.</span> <<case 4>> The thought fills you with <span class="pink">intense guilt.</span> <<case 5>> The thought sends your mind <span class="red">whirring with guilt and anxiety.</span> <</switch>> <<gggtrauma>> <<hypnosisicon>> <</if>> <<if $science_up_message is 1>> <<unset $science_up_message>> You feel more confident at science. <<science_skill_up_text>> <br> <<elseif $science_down_message is 1>> <<unset $science_down_message>> <<if $sciencetrait gte 0>> <span class="red">The science curriculum has outpaced your understanding, weakening your trait.</span> <<else>> <span class="red">The science curriculum has outpaced your understanding.</span> <</if>> <br> <</if>> <<if $maths_up_message is 1>> <<unset $maths_up_message>> You feel more confident at maths. <<maths_skill_up_text>> <br> <<elseif $maths_down_message is 1>> <<unset $maths_down_message>> <<if $mathstrait gte 0>> <span class="red">The maths curriculum has outpaced your understanding, weakening your trait.</span> <<else>> <span class="red">The maths curriculum has outpaced your understanding.</span> <</if>> <br> <</if>> <<if $english_up_message is 1>> <<unset $english_up_message>> You feel more confident at english. <<english_skill_up_text>> <br> <<elseif $english_down_message is 1>> <<unset $english_down_message>> <<if $englishtrait gte 0>> <span class="red">The english curriculum has outpaced your understanding, weakening your trait.</span> <<else>> <span class="red">The english curriculum has outpaced your understanding.</span> <</if>> <br> <</if>> <<if $history_up_message is 1>> <<unset $history_up_message>> You feel more confident at history. <<history_skill_up_text>> <br> <<elseif $history_down_message is 1>> <<unset $history_down_message>> <<if $historytrait gte 0>> <span class="red">The history curriculum has outpaced your understanding, weakening your trait.</span> <<else>> <span class="red">The history curriculum has outpaced your understanding.</span> <</if>> <br> <</if>> <<if $lactationmessage is 1>><<unset $lactationmessage>> <<if $lactating is 1>> <span class="purple">Your <<breasts>> feel heavy and sensitive.</span> <<else>> <span class="lblue">Your <<breasts>> feel light. They are no longer so sensitive.</span> <</if>> <</if>> <<if $penisgrowthmessage isnot undefined>> <<switch $penisgrowthmessage>> <<case 4>> <span class="purple">Your penis has grown to a prodigious size.</span> <<case 3>> <span class="purple">Your penis has grown larger.</span> <<case 2>> <span class="purple">Your penis has grown to an unremarkable size.</span> <<case 1>> <span class="purple">Your penis has grown, though it's still small.</span> <<case 0>> <span class="purple">Your penis looks like it's recovering.</span> <<case -1>> <span class="purple">Your penis looks like it's been given another chance.</span> <</switch>> <<unset $penisgrowthmessage>> <</if>> <<if $penisshrinkmessage isnot undefined>> <<if $worn.genitals.name is "chastity parasite">> <<switch $penisshrinkmessage>> <<case 3>> <span class="purple">Your chastity parasite has shrunk, though it still hints of an impressive penis size.</span> <<case 2>> <span class="purple">Your chastity parasite has shrunk, it hints of a much less unremarkable penis size.</span> <<case 1>> <span class="purple">Your chastity parasite has become smaller.</span> <<case 0>> <span class="purple">Your chastity parasite has become tiny.</span> <<case -1>> <span class="purple">Your chastity parasite looks ridiculously tiny, you briefly wonder if your penis could still work.</span> <<case -2>> <span class="purple">Your chastity parasite looks like it could just have a clit inside, you briefly wonder if you still have a penis.</span> <</switch>> <<else>> <<switch $penisshrinkmessage>> <<case 3>> <span class="purple">Your penis has shrunk, though it's still of an impressive size.</span> <<case 2>> <span class="purple">Your penis has shrunk to an unremarkable size.</span> <<case 1>> <span class="purple">Your penis has become smaller.</span> <<case 0>> <span class="purple">Your penis has become tiny.</span> <<case -1>> <span class="purple">Your penis looks like it may shrivel up.</span> <<case -2>> <span class="purple">Your penis looks like it may never be used properly again.</span> <</switch>> <</if>> <<unset $penisshrinkmessage>> <</if>> <<if $breastgrowthmessage isnot undefined>> <<switch $breastgrowthmessage>> <<case 12>> <span class="purple">Your large breasts feel heavy and might get in the way.</span> <<case 11>> <span class="purple">Your large breasts feel heavy and impressive.</span> <<case 9 10>> <span class="purple">Your breasts feel heavy.</span> <<case 7 8>> <span class="purple">Your breasts feel a little heavier.</span> <<case 5 6>> <span class="purple">Your small breasts will be obvious to those around you.</span> <<case 3 4>> <span class="purple">Your small breasts might be obvious to others.</span> <<case 1 2>> <span class="purple">Your chest feels odd; it might be growing.</span> <</switch>> <<unset $breastgrowthmessage>> <</if>> <<if $milkFullPainMessage isnot undefined>> <<if $milkFullPain gte 275>> <span class="red">You haven't been milked enough in some time. Your <<breasts>> throb painfully from being so full.</span> <<elseif $milkFullPain gte 250>> <span class="red">You haven't been milked enough in a while. Your <<breasts>> are sore from being so full.</span> <<else>> <span class="red">You haven't been milked enough recently. Your <<breasts>> feel a little sore from being so full.</span> <</if>> <<set $daily.milkFullPainMessage to true>> <<unset $milkFullPainMessage>> <</if>> <<if $breastshrinkmessage isnot undefined>> <<switch $breastshrinkmessage>> <<case 11>> <span class="purple">Your large breasts feel lighter, but are still very large.</span> <<case 9 10>> <span class="purple">Your breasts feel light, and are looking less impressive.</span> <<case 7 8>> <span class="purple">Your breasts feel lighter.</span> <<case 5 6>> <span class="purple">Your small breasts feel a little lighter.</span> <<case 3 4>> <span class="purple">Your small breasts look less obvious.</span> <<case 1 2>> <span class="purple">Your chest looks flatter.</span> <<case 0>> <span class="purple">Your chest looks flat.</span> <</switch>> <<unset $breastshrinkmessage>> <</if>> <<if $bottomgrowthmessage isnot undefined>> <<switch $bottomgrowthmessage>> <<case 8>> <span class="purple">Your large butt has become even larger.</span> <<case 7>> <span class="purple">Your butt feels heavy.</span> <<case 6>> <span class="purple">Your butt feels plump.</span> <<case 5>> <span class="purple">Your butt feels round.</span> <<case 4>> <span class="purple">Your butt feels plush.</span> <<case 3>> <span class="purple">Your butt has gained a little weight.</span> <<case 2>> <span class="purple">Your small butt sticks out more than you remember.</span> <<case 1>> <span class="purple">Your butt doesn't feel so small any more.</span> <</switch>> <<unset $bottomgrowthmessage>> <</if>> <<if $bottomshrinkmessage isnot undefined>> <<switch $bottomshrinkmessage>> <<case 7>> <span class="purple">Your large butt feels a bit lighter.</span> <<case 6>> <span class="purple">Your butt feels lighter.</span> <<case 5>> <span class="purple">Your butt isn't quite as cushioned as before.</span> <<case 4>> <span class="purple">Your butt has lost weight.</span> <<case 3>> <span class="purple">Your butt feels small.</span> <<case 2>> <span class="purple">Your butt feels a lot sleeker.</span> <<case 1>> <span class="purple">Your butt feels small.</span> <<case 0>> <span class="purple">Your butt feels tiny.</span> <</switch>> <<unset $bottomshrinkmessage>> <</if>> <<if $speech_attitude_bratty_message>> <span class="purple">You've become too submissive to adopt a bratty demeanor in conversation.</span> <<unset $speech_attitude_bratty_message>> <</if>> <<if $speech_attitude_meek_message>> <span class="purple">You've become too defiant to adopt a meek demeanor in conversation.</span> <<unset $speech_attitude_meek_message>> <</if>> <<if $pillsTaken>> <span class="purple">You take your daily pills.</span> <<if $pillsTakenLast>> <span class="red">You have run out of some of them.</span> <<unset $pillsTakenLast>> <</if>> <<unset $pillsTaken>> <</if>> <<if $hairGrowthApplied>> <span class="purple">You apply growth formula to your hair<<if $hairGrowthAppliedLast>>, <span class="red">but used the last of it</span><<unset $hairGrowthAppliedLast>><</if>>.</span> <<unset $hairGrowthApplied>> <</if>> <<if $exhibitionism_message is 1>> <<set $exhibitionism_message to 0>> <span class="lblue">You've spent time in public with no underwear on. You wonder if people can tell, and shiver at the thought.</span> <<exhibitionism1>> <</if>> <<if $rebuy_success.length gt 0>> <<set _rebuyMessage to {}>> <<run $rebuy_success.forEach(item => { if(T.rebuyMessage[item[1]] === undefined){ T.rebuyMessage[item[1]] = []; } T.rebuyMessage[item[1]].push(item[0]); })>> <span class="lblue"> <<for $_label, $_value range _rebuyMessage>> Your <<for $_i to 0; $_i lt $_value.length; $_i++>> <<print $_value[$_i]>><<if $_value.length gt 2 and $_i lt $_value.length - 2>>, <<elseif $_value.length gte 2 and $_i is $_value.length - 2>> and <</if>> <</for>> <<if $_value.length gte 2>> signal <<else>> signals <</if>> <<if $wardrobes[$_label]>> for a replacement to the <<print $wardrobes[$_label].name>>. <<else>> for a replacement. (Likely One-off update error, no need to report unless seen multiple times in the same save) <<if Array.isArray($rebuy_success)>><<print JSON.stringify($rebuy_success)>><</if>> <</if>> <</for>> </span> <<set $rebuy_success to []>> <</if>> <<if $rebuy_failure.length gt 0>> <span class="purple">Your <<for _i to 0; _i lt $rebuy_failure.length; _i++>> <<print $rebuy_failure[_i]>><<if $rebuy_failure.length gt 2 and _i lt $rebuy_failure.length - 2>>, <<elseif $rebuy_failure.length gte 2 and _i is $rebuy_failure.length - 2>> and <</if>> <</for>> <<if $rebuy_failure.length gte 2>> signal <<else>> signals <</if>> for a replacement, but you don't have enough money.</span> <<set $rebuy_failure to []>> <</if>> <<if $masochism_message is "up 1">><<unset $masochism_message>> <span class="blue">Your thoughts wander over the attacks you've suffered. You shiver. <i>You've become a guilty masochist.</i></span> <</if>> <<if $masochism_message is "up 2">><<unset $masochism_message>> <span class="purple">Your thoughts turn to the attacks you've suffered. A thrill follows, unbeckoned. <i>You've become a normal masochist.</i></span> <</if>> <<if $masochism_message is "up 3">><<unset $masochism_message>> <span class="pink">Your body yearns for more abuse. <i>You've become a hardened masochist.</i></span> <</if>> <<if $masochism_message is "up 4">><<unset $masochism_message>> <span class="red">Your body craves more abuse. <i>You've become a drooling masochist.</i></span> <</if>> <<if $masochism_message is "down 0">><<unset $masochism_message>> <span class="lblue"><i>You are no longer a masochist.</i></span> <</if>> <<if $masochism_message is "down 1">><<unset $masochism_message>> <span class="blue">You are no longer so masochistic, and can only be considered a <i>guilty masochist.</i></span> <</if>> <<if $masochism_message is "down 2">><<unset $masochism_message>> <span class="purple">You are no longer so masochistic, and can only be considered a <i>normal masochist.</i></span> <</if>> <<if $masochism_message is "down 3">><<unset $masochism_message>> <span class="pink">You are no longer so masochistic, and can only be considered a <i>hardened masochist.</i></span> <</if>> <<if $sadism_message is "up 1">><<unset $sadism_message>> <span class="blue">Your thoughts turn to the pain you've inflicted. You shiver. <i>You've become a guilty sadist.</i></span> <</if>> <<if $sadism_message is "up 2">><<unset $sadism_message>> <span class="purple">Your thoughts turn to the pain you've inflicted. A thrill follows, unbeckoned. <i>You've become a normal sadist.</i></span> <</if>> <<if $sadism_message is "up 3">><<unset $sadism_message>> <span class="pink">You yearn to hurt others. <i>You've become a hardened sadist.</i></span> <</if>> <<if $sadism_message is "up 4">><<unset $sadism_message>> <span class="red">If they want to play rough, so be it. <i>You've become a vengeful sadist.</i></span> <</if>> <<if $sadism_message is "down 0">><<unset $sadism_message>> <span class="lblue"><i>You are no longer a sadist.</i></span> <</if>> <<if $sadism_message is "down 1">><<unset $sadism_message>> <span class="blue">You are no longer so sadistic, and can only be considered a <i>guilty sadist.</i></span> <</if>> <<if $sadism_message is "down 2">><<unset $sadism_message>> <span class="purple">You are no longer so sadistic, and can only be considered a <i>normal sadist.</i></span> <</if>> <<if $sadism_message is "down 3">><<unset $sadism_message>> <span class="pink">You are no longer so sadistic, and can only be considered a <i>hardened sadist.</i></span> <</if>> <<if $school_crossdress_message gte 5>> <<unset $school_crossdress_message>> <span class="red">Your crossdressing has become common knowledge at school. Everyone knows, including the teachers.</span> <<elseif $school_crossdress_message gte 4>> <<unset $school_crossdress_message>> <span class="pink">Rumours of your crossdressing are spreading throughout the school.</span> <<elseif $school_crossdress_message gte 3>> <<unset $school_crossdress_message>> <span class="purple">Rumours of your crossdressing are spreading, and have become a popular topic of conversation at school.</span> <<elseif $school_crossdress_message gte 2>> <<unset $school_crossdress_message>> <span class="blue">Whispers of your crossdressing are spreading through the school.</span> <<elseif $school_crossdress_message gte 1>> <<unset $school_crossdress_message>> <span class="lblue">A few cliques at school have begun whispering of your crossdressing.</span> <</if>> <<if $school_herm_message gte 5>> <<unset $school_herm_message>> <span class="red">Everyone at school has heard of your unique genitalia, including the teachers.</span> <<elseif $school_herm_message gte 4>> <<unset $school_herm_message>> <span class="pink">Rumours of your unique genitalia have spread throughout the school.</span> <<elseif $school_herm_message gte 3>> <<unset $school_herm_message>> <span class="purple">It sounds far-fetched to many, but the school is rife with gossip about a student with both boy and girl parts.</span> <<elseif $school_herm_message gte 2>> <<unset $school_herm_message>> <span class="blue">Rumours of a student with both boy and girl parts are spreading through the school.</span> <<elseif $school_herm_message gte 1>> <<unset $school_herm_message>> <span class="lblue">A few cliques at school have begun whispering about a student with both boy and girl parts.</span> <</if>> <<if $orgasm_trait_message is 1>> <<unset $orgasm_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Hedonist" trait.</span> <<else>> <span class="gold">You've gained the "Orgasm Addict" trait.</span> <</if>> <</if>> <<if $molest_trait_message is 1>> <<unset $molest_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Graceful" trait.</span> <<else>> <span class="gold">You've gained the "Plaything" trait.</span> <</if>> <</if>> <<if $rape_trait_message is 1>> <<unset $rape_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Survivor" trait.</span> <<else>> <span class="gold">You've gained the "Fucktoy" trait.</span> <</if>> <</if>> <<if $bestiality_trait_message is 1>> <<unset $bestiality_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Tamer" trait.</span> <<else>> <span class="gold">You've gained the "Bitch" trait.</span> <</if>> <</if>> <<if $tentacle_trait_message is 1>> <<unset $tentacle_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Witch" trait.</span> <<else>> <span class="gold">You've gained the "Prey" trait.</span> <</if>> <</if>> <<if $vore_trait_message is 1>> <<unset $vore_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Daredevil" trait.</span> <<else>> <span class="gold">You've gained the "Tasty" trait.</span> <</if>> <</if>> <<if $milk_trait_message is 1>> <<unset $milk_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Milk Enthusiast" trait.</span> <<else>> <span class="gold">You've gained the "Milk Addict" trait.</span> <</if>> <</if>> <<if $cum_trait_message is 1>> <<unset $cum_trait_message>> <<if $submissive lte 850>> <span class="gold">You've gained the "Cumoisseur" trait.</span> <<else>> <span class="gold">You've gained the "Cum Dump" trait.</span> <</if>> <</if>> <<if $nectarmessage is "traitGain">><<unset $nectarmessage>> <span class="purple">You find yourself craving more sweet nectar. You've gained the <<if $submissive lte 850>>"Dendrophile"<<else>>"Plant Lover"<</if>> and</span> <span class="red">"Nectar Addict"</span> <span class="purple">traits.</span> <</if>> <<if $nectarmessage is "traitLost">><<unset $nectarmessage>> <span class="lblue">The cravings for nectar finally subside. You've lost the <<if $submissive lte 850>>"Dendrophile"<<else>>"Plant Lover"<</if>> and</span> <span class="red">"Nectar Addict"</span> <span class="lblue">traits.</span> <</if>> <<if $nectarmessage is "withdrawals">><<unset $nectarmessage>> <span class="red">Your body craves nectar, and has begun to suffer from withdrawals.</span> <<stress 12>><<ggstress>><<trauma 12>><<ggtrauma>><<physique_loss 4>><<lphysique>> <br> <</if>> <<if $hiddenTransformMessage is 1>> <span class="red">Your mental state is too fragile to continue hiding your inner self.</span> <<unset $hiddenTransformMessage>> <<elseif $hiddenTransformMessage is 2>> <span class="red">Hiding your inner self takes a toll on your mental state.</span> <<gtrauma>> <<unset $hiddenTransformMessage>> <</if>> <<if $prof_spray_message is 1>> <<unset $prof_spray_message>> <span class="green">Your spray was accurate. You didn't need to use a full cartridge, saving ammo.</span> <</if>> <<if $community_message is "missed">> <<unset $community_message>> <span class="red">You missed community service. The police have taken note.</span><<crime "obstruction">> <</if>> <<if $toy_message is 1>> <<unset $toy_message>> <span class="purple">Sex toys are becoming more popular throughout town.</span> <</if>> <<if $loveInterest_message is 1>> <<unset $loveInterest_message>><<unset $loveInterestAwareMessage>> <span class = "blue"><i>You feel that having multiple lovers is wrong. You can no longer choose more than one love interest.</i></span> <<elseif $loveInterest_message is 2 and !$loveInterestAwareMessage>> <<unset $loveInterest_message>><<set $loveInterestAwareMessage to 1>> <span class = "pink"><i>Your mind is open to the possibility of multiple lovers. You may now choose a second love interest.</i></span> <</if>> <<if $fallenangelmessage is 1>> <<unset $fallenangelmessage>> <span class="red">You feel dark presence clawing at your skin.</span> <<gstress>><<set $stress += $stressmax>> <</if>> <<if $demonmessage is 1>> <<unset $demonmessage>> <span class="red">You feel a terrible light sear through you.</span> <<gstress>><<set $stress += $stressmax>> <</if>> <<if $bookoverduemessage is 1>> <<unset $bookoverduemessage>> <<crimeUp 5 "thievery">> <<delinquency `5 / 4`>> <span class="red">You have a book severely overdue, and the police have been informed.</span> <<elseif $bookoverduemessage is 2>> <<unset $bookoverduemessage>> <<delinquency `3 / 4`>> <span class="red">You have a book overdue, and have incurred delinquency.</span> <</if>> <<if $wraithcompoundmessage is 1>> <<unset $wraithcompoundmessage>> <span class="red">A fell mist hangs over Elk Street.</span> <</if>> <<if $earSlimebreastsParasite or $earSlimePenisParasite or $earSlimeClitParasite>> <<set $_count to ($earSlimebreastsParasite ? 1 : 0) + ($earSlimePenisParasite ? 1 : 0) + ($earSlimeClitParasite ? 1 : 0)>> <<if $earSlimebreastsParasite is 1>> <<set $_parasiteMessage to `A new parasite forms around your ${$player.breastsize gte 1 ? "breasts" : "chest"}`>> <</if>> <<if $earSlimePenisParasite is 1>> <<if $_parasiteMessage>> <<set $_parasiteMessage += ' and the base of your penis'>> <<else>> <<set $_parasiteMessage to 'A new parasite forms around the base of your penis'>> <</if>> <</if>> <<if $earSlimeClitParasite>> <<set $_looks to playerChastity("vagina") ? "feels" : "looks">> <<if $earSlime.focus is "pregnancy">> <<set $_parasiteMessage to 'A new parasite forms around your <<pussy>>'>> <<else>> <<if $_parasiteMessage>> <<set $_parasiteMessage += ` and clit. It ${$_looks} like you have your own penis now`>> <<else>> <<set $_parasiteMessage to `A new parasite forms around the base of your clit, it ${$_looks} similar to a penis`>> <</if>> <</if>> <</if>> <span class="blue"> A satisfied warmth fills you. <<print $_parasiteMessage>>. You can tell that <<if $_count gt 1>>they are<<else>>it's<</if>> from the slimes in your ears. </span> <<if $earSlimePenisParasite and $earSlimePenisParasite isnot 1>> <span class="red">The previous $earSlimePenisParasite falls off shortly after it finishes growing.</span> <</if>> <<if $earSlimeClitParasite and $earSlimeClitParasite isnot 1>> <span class="red">The $earSlimeClitParasite that was on your clit falls off as the new one grows larger.</span> <</if>> <<unset $earSlimebreastsParasite>> <<unset $earSlimePenisParasite>> <<unset $earSlimeClitParasite>> <</if>> <<if $penisslimebrokenchastitymessage>> <span class="purple">The parasite at the base of your genitals frees you from the <<print $penisslimebrokenchastitymessage>><<if $penisslimecagemessage is 1>>, and almost just as quickly, a new chastity parasite forms around your penis<<unset $penisslimecagemessage>><</if>>. </span> <<unset $penisslimecagemessage>> <<unset $penisslimebrokenchastitymessage>> <</if>> <<if $penisslimecagemessage is 1>> <span class="purple">A new chastity parasite forms around your penis.</span> <<unset $penisslimecagemessage>> <<elseif $penisslimecagemessage is 2>> <span class="purple">Your chastity parasite looks brand new again.</span> <<unset $penisslimecagemessage>> <</if>> <</if>> <<if $foxCrimeMessage>> <<if $blackmoney gte 100>> <span class="gold">You feel an animalistic satisfaction towards your growing collection of stolen goods.</span> <<else>> <span class="gold">You feel an animalistic satisfaction as you commit such crimes.</span> <</if>> <<unset $foxCrimeMessage>> <</if>> <<if $pregnancyDailyEvent>> <<pregnancyDailyEvent>> <<unset $pregnancyDailyEvent>> <</if>> <<if $daily.parasiteEvent>> <<if $sexStats.vagina.pregnancy.type is "parasite">> <<set $_minDaysLeft to $sexStats.vagina.pregnancy.fetus.reduce((prev,curr) => prev.daysLeft < curr.daysLeft ? prev.daysLeft : curr.daysLeft, 30)>> <</if>> <<if $sexStats.anus.pregnancy.type is "parasite">> <<set $_minDaysLeft to $sexStats.anus.pregnancy.fetus.reduce((prev,curr) => prev.daysLeft < curr.daysLeft ? prev.daysLeft : curr.daysLeft, $_minDaysLeft || 30)>> <</if>> <<set _stressMulti to Math.clamp(2 - $sexStats.anus.pregnancy.motherStatus + $sexStats.vagina.pregnancy.motherStatus, 0, 2)>> <<set _arousalMulti to Math.clamp(1 + $sexStats.anus.pregnancy.motherStatus + $sexStats.vagina.pregnancy.motherStatus, 1, 3)>> <<set $_arousalGain to 0>> <<if $daily.parasiteEvent.includes("anus3") && $daily.parasiteEvent.includes("vagina3")>><<run $daily.parasiteEvent.delete("vagina3")>><</if>> <<for _i to 0; _i lt $daily.parasiteEvent.length; _i++>> <<switch $daily.parasiteEvent[_i]>> <<case "anus0" "vagina0">> <<if $pregnancyStats.parasiteDoctorEvents gte 4>> You feel <<if $pregnancyStats.namesParasitesChild is true>>your grown child<<else>>the grown parasite<</if>> in your <<print $daily.parasiteEvent[_i] === "anus0" ? "stomach" : "uterus">>. <<ggarousal>> <<else>> You feel something large move around in your <<print $daily.parasiteEvent[_i] === "anus0" ? "stomach" : "uterus">>. Might be best to go to the hospital again. <<ggarousal>> <</if>> <<set $_arousalGain += 2000>> <<case "anus1" "vagina1">> <<if $pregnancyStats.parasiteDoctorEvents gte 2>> You feel one of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>> move around in your <<print $daily.parasiteEvent[_i] === "anus1" ? "stomach" : "uterus">>. <<ggarousal>><<if _stressMulti gt 0>><<gstress>><</if>> <<else>> You feel something move around in your <<print $daily.parasiteEvent[_i] === "anus1" ? "stomach" : "uterus">>. Might be best to go to the hospital. <<ggarousal>><<if _stressMulti gt 0>><<gstress>><</if>> <</if>> <<set _arousal to _arousalMulti * 500 / ($_minDaysLeft + 1)>><<set $stress += 300 * _stressMulti>> <<set $_arousalGain += _arousal>> <<case "anus2" "vagina2">> Your <<print $daily.parasiteEvent[_i] === "anus2" ? "stomach" : "uterus">> rumbles a little. You hope the noise hasn't attracted any attention. <<if _stressMulti gt 0>><<gstress>><</if>> <<set _arousal to _arousalMulti * 250 / ($_minDaysLeft + 1)>><<set $stress += 200 * _stressMulti>> <<set $_arousalGain += _arousal>> <<case "anus3" "vagina3">> You feel a little lightheaded for a moment. <<if _stressMulti gt 0>><<gstress>><</if>> <<set $stress += 100 * _stressMulti>> <</switch>> <</for>> <<if $_arousalGain>><<arousal `Math.clamp($_arousalGain, 0, 10000)`>><</if>> <br> <<run delete $daily.parasiteEvent>> <</if>> <<if $earSlime.event.includes("get sperm into your") and $earSlime.event.includes("completed") and $earSlime.eventTimer lte 2>> <<set $earSlime.event to "">> <span class="green">The slime in your ear is pleased that you completed its task of getting sperm into your <<print $player.vaginaExist ? "vagina" : "anus">>.</span> <<pain -4>><<stress -6>><<trauma -12>><<lpain>><<lltrauma>><<lstress>> <br> <<elseif $earSlime.event.includes("get your own sperm into your") and $earSlime.event.includes("completed") and $earSlime.eventTimer lte 2>> <<set $earSlime.event to "">> <span class="green">The slime in your ear is pleased that you completed its task of getting your own sperm into your <<print $player.vaginaExist ? "vagina" : "anus">>.</span> <<pain -4>><<stress -6>><<trauma -12>><<lpain>><<lltrauma>><<lstress>> <<if $earSlime.growth gte 100 and $earSlime.focus is "pregnancy" and $worn.genitals.name is "naked">> <span class="purple">A new chastity parasite forms around your penis.</span> <<genitalswear 8>> <<set $worn.genitals.origin to "ear slime">> <</if>> <br> <<elseif $earSlime.event and ($earSlime.eventTimer lte 2 or ($earSlime.noSleep and Time.dayState isnot "night"))>> <<if $earSlime.startedThreats>> <span class="red">The slime in your ear punishes you for failing to complete your task.</span> <<ggpain>><<ggtrauma>><<ggstress>><<pain 16>><<stress 12>><<trauma 12>> <<set $earSlime.defyCooldown += 4>> <<else>> <span class="cyan">The slime in your ear is upset you were unable to complete what you said you would do.</span> <</if>> <<set $earSlime.event to "">><<set $earSlime.noSleep to false>> <br> <</if>> <<integritycheck>> <<exposure>> <<set $orgasmdown -= 1>> <<if $exposed gte 1 and $exposedcheck is 1>> <<set $exposedcheck to 0>> You feel self-conscious about your <<nudity>>. <br> <</if>> <<if $timer gte 1>> <<set $timer -= 1>> <</if>> <!-- <<set $turnCount++>> --> <<bindings>> <<if $worn.genitals.cursed is 1 and $worn.genitals.integrity lte 0>> <<set $worn.genitals.type.push("broken")>> <</if>> <<heelsUpdate>> <<if $combat is 1>> <<pass 10 seconds>> <</if>> <br> <<set $menu to 0>> <<if $combat is 0 and $ironmanmode is true>> <<run IronMan.scheduledSaves()>> <</if>> <</widget>> */<<widget "exhibitionism1">> <<exhibitionismN 1>> <</widget>> <<widget "exhibitionism2">> <<exhibitionismN 2>> <</widget>> <<widget "exhibitionism3">> <<exhibitionismN 3>> <</widget>> <<widget "exhibitionism4">> <<exhibitionismN 4>> <</widget>> <<widget "exhibitionism5">> <<exhibitionismN 5>> <</widget>> <<widget "exhibitionism6">> <<exhibitionismN 6>> <</widget>> <<widget "exhibitionismN">> <<set $_n to _args[0]>> <<set $_scaledExhibitionismMax to 20 * $_n>> <<if $desperateaction is 1>> You feel disgusting, but it's better than what Bailey has in store for you. <<elseif $desperateaction is 2>> You feel disgusting, but it's better than the alternative. <<elseif typeof $desperateaction is "string">> You feel disgusting, but <<print $desperateaction>>. <<else>> <<if $control lt $controlmax>> <<if $_n is 6>> Performing such an act of manic depravity <span class="green">fully restores your sense of control</span>, <span class="red">but inflicts damage to your mental state</span>. <<elseif $exhibitionism lt $_scaledExhibitionismMax>> Performing such a lewd act excites you and <span class="green">restores your sense of control and self-worth</span>, for now. <<else>> Performing such a lewd act excites you, but does nothing to lift the cloud hanging over you. <span class="pink">You need to do something more extreme.</span> <</if>> <<else>> <<if $_n is 6>> You already feel in control, <span class="red">leaving you unfulfilled as your act of manic depravity seems wasted</span>. <<elseif $exhibitionism lt $_scaledExhibitionismMax>> You already feel in control, but performing such a lewd act <span class="green">soothes</span> and excites you. <<else>> You already feel in control and the act is <span class="pink">too tame to soothe</span>, but it does excite you. <</if>> <</if>> <<if !hasSexStat("exhibitionism", $_n, false) and $drunk gte 1>> <<if $_n is 6>> <span @class="'red ' + basicDrunkCss()">Your head feels fuzzy and light. You hope you don't remember this later.</span> <<else>> <span @class="'blue ' + basicDrunkCss()">You feel weightless as the alcohol dulls your inhibitions.</span> <</if>> <</if>> <</if>> <!-- separating the code from the written text --> <<if $desperateaction is 1 or $desperateaction is 2 or typeof $desperateaction is "string">> <<control `$_n * -10`>> <<switch $_n>> <<case 1>><<lcontrol>> <<case 2>><<llcontrol>> <<case 3>><<llcontrol>> <<case 4>><<llcontrol>> <<case 5>><<lllcontrol>> <</switch>> <<gtrauma>><<trauma $_n>> <<else>> <<if $_n is 6>> <<set $exhibitionism += 2>> <<if $control lt $controlmax>> <<control $controlmax>> <<gggcontrol>> <</if>> <<trauma 40>> <<ggtrauma>> <<elseif $exhibitionism lt $_scaledExhibitionismMax>> <<set $exhibitionism += 2>> <<if $control lt $controlmax>> <<ggcontrol>> <</if>> <<control 25>> <<stress $_n -300>> <<combattrauma `$_n * -30`>> <<ltrauma>> <<lstress>> <<else>> <<if V.daily["exhibitionismStress" + $_n] isnot 1 and $statFreeze isnot true>> <<set V.daily["exhibitionismStress" + $_n] to 1>><<lstress>><<stress $_n -100>> <</if>> <</if>> <<arousal `$_n * 100`>><<garousal>> <</if>> <<earSlimeSeenActions "exhibitionism" $_n>> <br><br> <<unset $desperateaction>> <<set $exhibitionism to Math.clamp($exhibitionism, 0, 100)>> <</widget>> <<widget "exhibitionism">> <<if _args[0] is "street">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are standing on a public street in a state of undress! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> It's dark enough that you could remain mostly concealed by sticking to the shadows. Alternatively you could avoid the street entirely. You might feel less exposed but there's something foreboding about the darkness. <br><br> <<else>> <<arousal 40>> You are standing on a public street in a state of undress! You take cover behind a parked car, shielding you from view for now. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> You are standing on a public street completely exposed! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> It's dark enough that you could remain mostly concealed by sticking to the shadows. Alternatively you could avoid the street entirely. You might feel less exposed but there's something foreboding about the darkness. <br><br> <<else>> <<arousal 80>> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are standing on a public street in a state of undress! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> It's dark enough that you could remain mostly concealed by sticking to the shadows. Alternatively you could avoid the street entirely. You might feel less exposed but there's something foreboding about the darkness. <br><br> <<else>> <<arousal 10>> You are standing on a public street in a state of undress! You take cover behind a parked car, shielding you from view for now. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> You are standing on a public street completely exposed! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> It's dark enough that you could remain mostly concealed by sticking to the shadows. Alternatively you could avoid the street entirely. You might feel less exposed but there's something foreboding about the darkness. <br><br> <<else>> <<arousal 5>> You are standing on a public street in a state of undress! You take cover behind a parked car, shielding you from view for now. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<elseif _args[0] is "alley">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are standing in a public alley in a state of undress! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 40>> You are standing in a public alley in a state of undress. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> You are standing in a public alley with your vulnerables exposed! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 80>> You are standing in a public alley with your vulnerables exposed! <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are standing in a public alley in a state of undress! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 10>> You are standing in a public alley in a state of undress. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> You are standing in a public alley with your vulnerables exposed! The cold night air blows against your bare skin. There appears to be no one else around, but you don't know how long that will last. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 5>> You are standing in a public alley with your vulnerables exposed! <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<elseif _args[0] is "park">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are standing next to a bush, ready to hide behind it at a moment's notice. The cold night air blows against your bare skin. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back<<else>>.<</if>> <br><br> <<else>> <<arousal 40>> You are hiding behind a bush, hidden from the people using the park. If you're careful you might be able to remain concealed by hiding behind vegetation. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> You are standing next to a bush, ready to hide behind it at a moment's notice. The cold night air blows against your bare skin. <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back<<else>>.<</if>> <br><br> <<else>> <<arousal 80>> You are hiding behind a bush, hidden from the people using the park. If you're careful you might be able to remain concealed by hiding behind vegetation. <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are hiding behind a bush. The cold night air blows against your bare skin. You are thankful the park remains mostly empty at night, but that might make you more obvious. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 10>> You are hiding behind a bush. If you're careful you might be able to remain concealed by hiding behind vegetation. You hope nobody notices you, but you don't know how long that might last. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> You are hiding behind a bush. The cold night air blows against your bare skin. You are thankful the park remains mostly empty at night, but that might make you more obvious. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 5>> You are hiding behind a bush. If you're careful you might be able to remain concealed by hiding behind vegetation. You hope nobody notices you, but you don't know how long that might last. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<elseif _args[0] is "roof">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 80>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 5>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<elseif _args[0] is "garden">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 80>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 5>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<elseif _args[0] is "building">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 80>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>><<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 5>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<elseif _args[0] is "classroom">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 80>> <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 5>> <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<elseif _args[0] is "beach">> <<if $uncomfortable.nude is false>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are alone, but being in such a lewd state of dress is as terrifying as it is thrilling. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 40>> Even for the beach, your state of undress is too much. You hide behind a windbreaker. <br><br> You feel a sense of excitement that's even stronger if you don't cover your undressed body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 40>> You are alone, but being in such a lewd state of dress is as terrifying as it is thrilling. <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <<else>> <<arousal 80>> You're completely exposed in broad daylight! Thankfully, there are enough windbreakers to hide your body. <br><br> You feel a sense of excitement that's even stronger if you don't cover your naked body<<if $leftarm is "bound" and $rightarm is "bound">>, which you can't do anyway, as your arms are tied behind your back.<<else>>.<</if>> <br><br> <</if>> <</if>> <<else>> <<if $exposed is 1>> <<if Weather.dayState is "night">> <<arousal 20>> You are alone, but being in such a lewd state of dress is as terrifying as it is thrilling. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 10>> You are dressed too lewdly even for here! You feel excitement and terror in equal measure. If you keep low you might be able to use the numerous windbreakers scattered across the beach to shield yourself. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your state of undress.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<if Weather.dayState is "night">> <<arousal 10>> You are alone, but being in such a lewd state of dress is as terrifying as it is thrilling. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <<else>> <<arousal 5>> You are in broad daylight with your unmentionables uncovered! This is no good, no good at all! Maybe if you keep low you might be able to use the numerous windbreakers scattered across the beach to shield your nudity. <br><br> You feel intense embarrassment at your exposure<<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness.<<else>> and cover yourself as best you can.<</if>> <br><br> <</if>> <</if>> <</if>> <<else>> BUG - Missing/typo'd location in "exhibitionism" widget<br><br> <</if>> <</widget>> <<widget "exhibitionismgarden">> You are hiding behind the garden shed. <<if $exposed is 1>> <<arousal 20>> <<elseif $exposed is 2>> <<arousal 50>> <</if>> <<if Weather.dayState is "night">> The cold night air blows against your bare skin. <</if>> You hope you can make it to your bedroom without anyone seeing you. <br><br> You feel intense embarrassment at your exposure <<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness. <<else>> and cover yourself as best you can. <</if>> <br><br> <</widget>> <<widget "exhibitionismroof">> <<if $exposed is 1>> <<arousal 20>> <<elseif $exposed is 2>> <<arousal 50>> <</if>> <<if Weather.dayState is "night">> The cool night breeze makes you shiver. <</if>> The open air makes you feel more exposed than ever despite no one being around. <br><br> You feel intense embarrassment at your exposure <<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness. <<else>> and cover yourself as best you can. <</if>> <br><br> <</widget>> <<widget "exhibitionismbuilding">> <<if $exposed is 1>> <<arousal 20>> <<if Weather.dayState is "night">> You are alone, but being in such a lewd state of dress is as terrifying as it is thrilling. <br><br> You feel intense embarrassment at your exposure <<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness. <<else>> and cover yourself as best you can. <</if>> <br><br> <<else>> You are dressed lewdly in a public space! You feel excitement and terror in equal measure. <br><br> You also feel intensely embarrassed at your exposure <<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness. <<else>> and cover yourself as best you can. <</if>> <br><br> <</if>> <<elseif $exposed is 2>> <<arousal 50>> <<if Weather.dayState is "night">> You are alone, but being in such a lewd state of dress is as terrifying as it is thrilling. <br><br> You feel intense embarrassment at your exposure <<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness. <<else>> and cover yourself as best you can. <</if>> <br><br> <<else>> You are in public with your unmentionables uncovered! You feel excitement and terror in equal measure. <br><br> You also feel intensely embarrassed at your exposure <<if $leftarm is "bound" and $rightarm is "bound">> but with your arms bound you can do nothing to hide your nakedness. <<else>> and cover yourself as best you can. <</if>> <br><br> <</if>> <</if>> <</widget>> <<widget "exhibitionclassroom">> <<if $exposed gte 1>> You're alone in the room, but being exposed in this often-crowded space makes you feel vulnerable and conscious of your <<nudity>>. <br><br> <</if>> <</widget>><<widget "fame">> <!-- Usage: <<fame 10 "scrap" "good">>. Raises fames regardless of mask, gloryhole, etc. --> <<if _args.length gte 2 and $statFreeze isnot true>> <<set [$_gain, ...($_fameTypes)] to _args>> <!-- remove first element of array since it's the number --> <<run $_fameTypes.forEach(fameType => $fame[fameType] += $_gain)>> <!-- add the specified amount to each specified fame type --> <<fameclamp>> <</if>> <</widget>> <<widget "fameexhibitionism">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole and !($npc.length is 1 and ["Eden", "Robin", "Kylar", "Sydney"].includes($npc[0])) or _args[2] is true>> <<set $fame.exhibitionism += _args[0]>> <<set $fame.exhibitionism to Math.clamp($fame.exhibitionism, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "fameprostitution">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.prostitution += _args[0]>> <<set $fame.prostitution to Math.clamp($fame.prostitution, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famebestiality">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.bestiality += _args[0]>> <<set $fame.bestiality to Math.clamp($fame.bestiality, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famerape">> <<if _args[0] and $statFreeze isnot true>> <<if ($face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole and !($npc.length is 1 and ["Eden", "Robin", "Kylar", "Sydney"].includes($npc[0]))) or _args[2] is true>> <<set $fame.rape += _args[0]>> <<set $fame.rape to Math.clamp($fame.rape, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famesex">> <<if _args[0] and $statFreeze isnot true or _args[2] is true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole and !($npc.length is 1 and ["Eden", "Robin", "Sydney"].includes($npc[0])) or _args[2] is true>> <<set $fame.sex += _args[0]>> <<set $fame.sex to Math.clamp($fame.sex, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famepregnancy">> <<if _args[0] and $statFreeze isnot true and playerBellyVisible()>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.pregnancy += _args[0]>> <<set $fame.pregnancy to Math.clamp($fame.pregnancy, 0, Math.clamp(playerNormalPregnancyTotal() + 1,1,8) * 250)>> <</if>> <</if>> <</widget>> <<widget "fameimpreg">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.impreg += _args[0]>> <<set $fame.impreg to Math.clamp($fame.impreg, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famegood">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.good += _args[0]>> <<set $fame.good to Math.clamp($fame.good, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famebusiness">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.business += _args[0]>> <<set $fame.business to Math.clamp($fame.business, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famepimp">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.pimp += _args[0]>> <<set $fame.pimp to Math.clamp($fame.pimp, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famescrap">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.scrap += _args[0]>> <<set $fame.scrap to Math.clamp($fame.scrap, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famesocial">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.social += _args[0]>> <<set $fame.social to Math.clamp($fame.social, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famemodel">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[2] is true>> <<set $fame.model += _args[0]>> <<set $fame.model to Math.clamp($fame.model, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "famedance">> <<exposure>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole and $statFreeze isnot true>> <<if $exposed is 1>> <<set $fame.exhibitionism += $audience>> <<set $fame.exhibitionism to Math.clamp($fame.exhibitionism, 0, 2000)>> <<elseif $exposed gte 2>> <<set $fame.exhibitionism += ($audience * 2)>> <<set $fame.exhibitionism to Math.clamp($fame.exhibitionism, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "fameschoolex">> <<if _args[0] and $statFreeze isnot true>> <<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole>> <<set $fame.exhibitionism += _args[0]>> <<set $fame.exhibitionism to Math.clamp($fame.exhibitionism, 0, 2000)>> <</if>> <</if>> <</widget>> <<widget "fameProse">> <<switch _args[0]>> <<case "scrap">> <<set $_output to "combat">> <<case "good">> <<set $_output to "kindness">> <<case "social">> <<set $_output to "socialite">> <<case "model">> <<set $_output to "modelling">> <<case "impreg">> <<set $_output to "impregnation">> <<default>> <<set $_output to _args[0]>> <</switch>> <<print $_output>> <</widget>><<widget "earnFeat">> <<if _args[0] and $feats.locked is false and $cheatdisable is "t" and $debug is 0 and $gamemode isnot "soft" and $alluremod gte 1 and !$statFreeze>> <<if $feats.currentSave[_args[0]] is undefined and (!$feats.soft or !setup.feats[_args[0]].softLockable) and (!$feats.pregnancyLocked or !setup.feats[_args[0]].pregnancyLockable) and (!$feats.pregnancySillyLocked or !setup.feats[_args[0]].pregnancySillyLockable)>> <<set $feats.currentSave[_args[0]] to Date()>> <<displayFeat _args[0]>> <</if>> <</if>> <</widget>> <<widget "updateFeats">> <<if _passageCheck is "Start">> <<set _recalledFeats to JSON.parse(localStorage.getItem("dolFeats"))>> <</if>> <<if _recalledFeats is undefined or _recalledFeats is null>> <<set _recalledFeats to {points: 0}>> <</if>> <<set _points to 0>> <<set _keys to Object.keys(setup.feats)>> <<for _i to 0; _i lt _keys.length; _i++>> <<set _gainPoints to false>> <<if $feats.currentSave[_keys[_i]] isnot undefined>> <<set _gainPoints to true>> <<set _saveTime to getTimeNumber($feats.currentSave[_keys[_i]])>> <<set _allSaveTime to getTimeNumber($feats.allSaves[_keys[_i]])>> <<if _saveTime lt _allSaveTime>> <<set $feats.allSaves[_keys[_i]] to $feats.currentSave[_keys[_i]]>> <</if>> <</if>> <<set _allSaveTime to getTimeNumber($feats.allSaves[_keys[_i]])>> <<set _recalledSaveTime to getTimeNumber(_recalledFeats[_keys[_i]])>> <<if _allSaveTime gt _recalledSaveTime>> <<if _recalledFeats[_keys[_i]] isnot undefined>> <<set $feats.allSaves[_keys[_i]] to _recalledFeats[_keys[_i]]>> <<set _gainPoints to true>> <</if>> <<else>> <<if $feats.allSaves[_keys[_i]] isnot undefined>> <<set _gainPoints to true>> <</if>> <</if>> <<if _gainPoints is true>> <<set _points += setup.feats[_keys[_i]].difficulty>> <</if>> <</for>> <<set $feats.allSaves.points to _points>> <!--Store a record of which clothes the player has unlocked--> <<if _recalledFeats.specialClothes isnot undefined>> <<set $feats.allSaves.specialClothes to _recalledFeats.specialClothes>> <<elseif $feats.allSaves.specialClothes is undefined>> <<set $feats.allSaves.specialClothes to {}>> <</if>> <<if $specialClothes and $feats.locked is false and $cheatdisable is "t">> <<for $_label, $_value range $specialClothes>> <<if $_value is "unlocked">> <<set $feats.allSaves.specialClothes[$_label] to $_value>> <</if>> <</for>> <</if>> <<if _passageCheck is "Start">> <<else>> <<set localStorage.setItem("dolFeats",JSON.stringify($feats.allSaves))>> <</if>> <</widget>> <<widget "setupFeats">> <<if $featsBoosts is undefined or _args[0] is true>> <<set _keys to Object.keys($feats.allSaves)>> <<set _moneyFeats to _keys.count("Pocket Change") + _keys.count("Money Maker") + _keys.count("Tycoon") + _keys.count("Millionaire")>> <<set _moneyFeatsLimit to (_moneyFeats * 10)>> <<set _purityFeats to _keys.count("Angel") + _keys.count("Fallen Angel")>> <<set _newLife to _keys.count("Broodmother Host") + _keys.count("Top Broodmother Host")>> <<set _newLifeLimit to (_newLife * 20)>> <<set _earSlimeFeats to _keys.count("Ear Slime Lover") + _keys.count("Ear Slime Amalgam")>> <<set _tattoosFeats to _keys.count("A Living Canvas") + _keys.count("Billboard")>> <<set _sexToysFeats to _keys.count("Opened Pandoras Box") + _keys.count("Opened Pandoras Cocks")>> <<set $featsBoosts to { upgrades:{ money:0, grades:0, skulduggery:0, dancing:0, swimming:0, athletics:0, tending:0, greenThumb:0, housekeeping:0, seduction:0, purity:0, impurity:0, newLife:0, aNewBestFriend:0, tattoos:0, randomClothing:0, specialClothing:0, sexToys:0, }, upgradeDetails:{ money:{cost:5, limit: _moneyFeatsLimit, minCount: 1, count:_moneyFeats, exclusive:""}, grades:{cost:15, limit: 30, minCount: 1, count:_keys.count("Perfect Record"), exclusive:""}, skulduggery:{cost:5, limit: 20, minCount: 1, count:_keys.count("Thief"), exclusive:""}, dancing:{cost:5, limit: 20, minCount: 1, count:_keys.count("May I have this Dance?"), exclusive:""}, swimming:{cost:5, limit: 20, minCount: 1, count:_keys.count("Aquanaut"), exclusive:""}, athletics:{cost:5, limit: 20, minCount: 1, count:_keys.count("Swift"), exclusive:""}, tending:{cost:5, limit: 20, minCount: 1, count:_keys.count("Green Fingered"), exclusive:""}, greenThumb:{cost:40, limit: 40, minCount: 1, count:_keys.count("Green Fingered"), exclusive:"", hidden:true}, housekeeping:{cost:5, limit: 20, minCount: 1, count:_keys.count("Majordomo"), exclusive:""}, seduction:{cost:5, limit: 20, minCount: 1, count:_keys.count("Seductress"), exclusive:""}, purity:{cost:20, limit: 100, minCount: 2, count:_purityFeats, exclusive:"impurity"}, impurity:{cost:20, limit: 100, minCount: 1, count:_keys.count("Demon"), exclusive:"purity"}, newLife:{cost:20, limit: _newLifeLimit, minCount: 1, count:_newLife, exclusive:""}, aNewBestFriend:{cost:10, limit: 10 * _earSlimeFeats, minCount: 1, count:_earSlimeFeats, exclusive:""}, tattoos:{cost:5, limit: 25, minCount: 2, count:_tattoosFeats, exclusive:""}, randomClothing:{cost:1, limit: 20, minCount: 0, count:0, exclusive:""}, specialClothing:{cost:40, limit: 40, minCount: 1, count:_keys.count("Curious Attire"), exclusive:""}, sexToys:{cost:30, limit: 30 * _sexToysFeats, minCount: 1, count:_sexToysFeats, exclusive:""}, }, missing:{ money:"Unlock this boost by obtaining the 'Pocket Change' feat", grades:"Unlock this boost by obtaining the 'Perfect Record' feat", skulduggery:"Unlock this boost by obtaining the 'Thief' feat", dancing:"Unlock this boost by obtaining the 'May I have this Dance?' feat", swimming:"Unlock this boost by obtaining the 'Aquanaut' feat", athletics:"Unlock this boost by obtaining the 'Swift' feat", tending:"Unlock this boost by obtaining the 'Green Fingered' feat", housekeeping:"Unlock this boost by obtaining the 'Majordomo' feat", seduction:"Unlock this boost by obtaining the 'Seductress' feat", purity:"Unlock this boost by obtaining the 'Walk Like an Angel' and 'Falling, Falling, Falling...' feats", impurity:"Unlock this boost by obtaining the 'Devilish Looks' feat", newLife:"Unlock this boost by obtaining a hidden feat (" + setup.feats["Broodmother Host"].hint + ")", aNewBestFriend:"Unlock this boost by obtaining a hidden feat (" + setup.feats["Ear Slime Lover"].hint + ")", tattoos:"Unlock this boost by obtaining the 'Billboard' and 'A Living Canvas' feats", randomClothing:"", specialClothing:"Unlock this boost by obtaining a hidden feat (" + setup.feats["Curious Attire"].hint + ")", sexToys:"Unlock this boost by obtaining a hidden feat (" + setup.feats["Opened Pandoras Box"].hint + ")", }, name:{ money:"Starting Money", grades:"School Grades", skulduggery:"Skulduggery Grade", dancing:"Dancing Grade", swimming:"Swimming Grade", athletics:"Athletics Grade", tending:"Tending Grade", greenThumb:"Green Thumb Trait", housekeeping:"Housekeeping Grade", seduction:"Seduction Grade", purity:"Daily Purity Boost", impurity:"Daily Impurity Boost", newLife:"A New Life", aNewBestFriend:"A New Best Friend", tattoos:"Starting Tattoos", randomClothing:"Random Clothing", specialClothing:"Special Clothing", sexToys:"Sex Toys", }, pointsUsed: 0, clothingGender:"Either", clothingCustomColors:false, tattoos:{ 1:{bodypart:"Random",tattoo:"Random",pen:"Tattoo"}, 2:{bodypart:"Random",tattoo:"Random",pen:"Tattoo"}, 3:{bodypart:"Random",tattoo:"Random",pen:"Tattoo"}, 4:{bodypart:"Random",tattoo:"Random",pen:"Tattoo"}, 5:{bodypart:"Random",tattoo:"Random",pen:"Tattoo"}, }, sexToys:[{},{},{},{},{},{}], earSlimeType: "immaturePassive", }>> <</if>> <</widget>> <<widget "update_school_skills">> <<for _subject range ["science", "english", "maths", "history"]>> <<if V[_subject + 'trait'] gte 4>> <<set V[_subject] to 1000>> <<elseif V[_subject + 'trait'] gte 3>> <<set V[_subject] to 700>> <<elseif V[_subject + 'trait'] gte 2>> <<set V[_subject] to 400>> <<elseif V[_subject + 'trait'] gte 1>> <<set V[_subject] to 200>> <<else>> <<set V[_subject] to 100>> <</if>> <</for>> <</widget>> <<widget "applyFeatsBoost">> <<set _upgrades to $featsBoosts.upgrades>> <<set _details to $featsBoosts.upgradeDetails>> <<if $featsBoosts.pointsUsed gt 0>> <<earnFeat "A New Life">> <</if>> <<if _upgrades.money gt 0>> <<money `_upgrades.money * _details.money.count / _details.money.cost * 5000` "startingMoney">> <</if>> <<if _upgrades.grades gt 0>> <<set $sciencetrait += _upgrades.grades / _details.grades.cost * 1>> <<set $englishtrait += _upgrades.grades / _details.grades.cost * 1>> <<set $mathstrait += _upgrades.grades / _details.grades.cost * 1>> <<set $historytrait += _upgrades.grades / _details.grades.cost * 1>> <<update_school_skills>> <</if>> <<if _upgrades.skulduggery gt 0>> <<set $skulduggery to _upgrades.skulduggery / _details.skulduggery.cost * 100>> <<set $skulduggeryday to _upgrades.skulduggery / _details.skulduggery.cost * 100>> <</if>> <<if _upgrades.dancing gt 0>> <<set $danceskill to _upgrades.dancing / _details.dancing.cost * 100>> <</if>> <<if _upgrades.tending gt 0>> <<set $tending += _upgrades.tending / _details.tending.cost * 100>> <</if>> <<if _upgrades.swimming gt 0>> <<set $swimmingskill += _upgrades.swimming / _details.swimming.cost * 100>> <</if>> <<if _upgrades.athletics gt 0>> <<set $athletics += _upgrades.athletics / _details.athletics.cost * 100>> <</if>> <<if _upgrades.seduction gt 0>> <<set $seductionskill to _upgrades.seduction / _details.seduction.cost * 100>> <</if>> <<if _upgrades.housekeeping gt 0>> <<set $housekeeping to _upgrades.housekeeping / _details.housekeeping.cost * 100>> <</if>> <<if _upgrades.purity gt 0>> <<set $featsPurityBoost to _upgrades.purity / _details.purity.cost>> <</if>> <<if _upgrades.impurity gt 0>> <<set $featsPurityBoost to _upgrades.impurity / _details.impurity.cost * -1>> <</if>> <<if _upgrades.newLife gt 0 and $parasitepregdisable is "f">> <<impregnateParasite "tentacle" 400>> <<fertiliseParasites>> <<set _pregnancy to $sexStats.anus.pregnancy>> <<set _pregnancy.motherStatus to 2>> <<set $pregnancyStats.parasiteDoctorEvents to 2>> <<set _pregnancy.fetus[0].stats.gender to "Hermaphrodite">> <<if _upgrades.newLife is 40>> <<set _pregnancy.fetus[0].stats.growth to 7>> <<set _pregnancy.fetus[0].stats.speed to 54>> <</if>> <<set _pregnancy.fetus[0].stats.lastEgg to Math.floor(_pregnancy.fetus[0].stats.growth / 3)>> <</if>> <<if _upgrades.aNewBestFriend gt 0>> <<parasite left_ear slime>> <<switch $featsBoosts.earSlimeType>> <<case "immatureAggressive">> <<set $earSlime.corruption to 20>> <<set $earSlime.growth to 0>> <<set $earSlime.startedThreats to true>> <<set $earSlime.exhibitionism to 2>> <<set $earSlime.deviancy to 2>> <<set $earSlime.promiscuity to 2>> <<case "grownAggressive">> <<set $earSlime.corruption to 100>> <<set $earSlime.growth to 25>> <<set $earSlime.startedThreats to true>> <<set $earSlime.exhibitionism to 2>> <<set $earSlime.promiscuity to 2>> <<set $earSlime.deviancy to 2>> <<default>> <<set $earSlime.corruption to 0>> <</switch>> <</if>> <<if _upgrades.aNewBestFriend gt 10>> <<parasite right_ear slime>> <</if>> <<if _upgrades.greenThumb gt 0>> <<set $backgroundTraits.pushUnique("greenthumb")>> <<if $fertiliser>> <<set $fertiliser.current++>> <</if>> <</if>> <<if _upgrades.randomClothing gt 0>> <<set _clothingItems to _upgrades.randomClothing * 3>> <<set _options to { head:[], face:[], neck:[], hands:[], handheld:[], upper:[], lower:[], under_upper:[], under_lower:[], legs:[], feet:[] }>> <<set _equip to setup.clothingLayer.body>> <<for _i to 0; _i lt _equip.length; _i++>> <<set _slot to _equip[_i]>> <<for _j to 0; _j lt setup.clothes[_slot].length; _j++>> <<if (setup.clothes[_slot][_j].gender is "f" and $featsBoosts.clothingGender is "Male") or (setup.clothes[_slot][_j].gender is "m" and $featsBoosts.clothingGender is "Female")>> <<continue>> <</if>> <<if setup.clothes[_slot][_j].outfitSecondary isnot undefined>> <<continue>> <</if>> <<if setup.clothes[_slot][_j].shop.includes("clothing")>> <<run _options[_slot].push(_j)>> <</if>> <</for>> <</for>> <<set _equip to ["head","face","neck","upper","upper","upper","upper","upper","lower","lower","lower","lower","lower","under_upper","under_upper","under_upper","under_lower","under_lower","under_lower","hands","legs","feet"]>> <<for _i to 0; _i lt _clothingItems; _i++>> <<set _slot to _equip.random()>> <<set _index to _options[_slot].random()>> <<set _item to clone(setup.clothes[_slot][_index])>> <<if _item.colour_options.length gt 0>> <<set _colors to clone(_item.colour_options)>> <<if $featsBoosts.clothingCustomColors is false>> <<run _colors.delete("custom")>> <</if>> <<set _item.colour to _colors.random()>> <<if $featsBoosts.clothingCustomColors is true and _item.colour is "custom">> <<set _item.colourCustom to customColour(random(0,360), (random(0,20)/10), (random(5,40)/10), (random(0,20)/10), (random(0,100)/100))>> <</if>> <</if>> <<if _item.accessory_colour_options.length gt 0>> <<set _colors to clone(_item.accessory_colour_options)>> <<if $featsBoosts.clothingCustomColors is false>> <<run _colors.delete("custom")>> <</if>> <<set _item.accessory_colour to _colors.random()>> <<if $featsBoosts.clothingCustomColors is true and _item.accessory_colour is "custom">> <<set _item.accessory_colourCustom to customColour(random(0,360), (random(0,20)/10), (random(5,40)/10), (random(0,20)/10), (random(0,100)/100))>> <</if>> <</if>> <<if _item.pattern_options and _item.pattern_options.length gt 0>> <<set _item.pattern to clone(_item.pattern_options).random()>> <</if>> <<set $_.outfitPrimary to _item.outfitPrimary>> <<set $_.items to {}>> <<run $_.items[_slot] to clone(_item)>> <<if $_.outfitPrimary isnot undefined>> <<for _labelf, _valuef range $_.outfitPrimary>> <<for _j to 0; _j lt setup.clothes[_labelf].length; _j++>> <<if _valuef is setup.clothes[_labelf][_j].name>> <<set $_.items[_labelf] to clone(setup.clothes[_labelf][_j])>> <<set $_.items[_labelf].colour to clone($_.items[_slot].colour)>> <<set $_.items[_labelf].accessory_colour to clone($_.items[_slot].accessory_colour)>> <<if $_.items[_labelf].pattern_options and $_.items[_labelf].pattern_options.length gt 0>><<set $_.items[_labelf].pattern to clone($_.items[_slot].pattern)>><</if>> <<if $featsBoosts.clothingCustomColors is true and _item.colour is "custom">> <<set $_.items[_labelf].colourCustom to clone($_.items[_slot].colourCustom)>> <</if>> <<if $featsBoosts.clothingCustomColors is true and _item.accessory_colour is "custom">> <<set $_.items[_labelf].accessory_ColourCustom to clone($_.items[_slot].accessory_colourCustom)>> <</if>> <<break>> <</if>> <</for>> <</for>> <</if>> <<if $_.items[_slot] isnot undefined and $wardrobe[_slot].length lt $wardrobe.space>> <<for _labelf, _valuef range $_.items>> <<run $wardrobe[_labelf].push(_valuef)>> <</for>> <<else>> <<set _clothingItems += 1>> <</if>> <<unset _item>> <</for>> <</if>> <<if _upgrades.tattoos gt 0>> <<featsTattooOptions>> <<set _totalTattoos to $featsBoosts.upgrades.tattoos / $featsBoosts.upgradeDetails.tattoos.cost>> <<set _bodyPartOptions to ["forehead","left_cheek","right_cheek","left_shoulder","right_shoulder","back","breasts","left_bottom","right_bottom","left_thigh","right_thigh","pubic"]>> /*Remove non-random locations*/ <<for _label, _value range $featsBoosts.tattoos>> <<if _value.tattoo isnot "Random">> <<set _bodyPart to _value.bodypart.toLowerCase()>> <<set _bodyPart to _bodyPart.replace(" ", "_")>> <<run _bodyPartOptions.delete(_bodyPart)>> <</if>> <</for>> /*Add non-random bodyparts*/ <<for _label, _value range $featsBoosts.tattoos>> <<if _label gt _totalTattoos>> <<break>> <</if>> <<if _value.bodypart is "Random">> <<continue>> <</if>> <<set _bodyPart to _value.bodypart.toLowerCase()>> <<set _bodyPart to _bodyPart.replace(" ", "_")>> <<run _bodyPartOptions.delete(_bodyPart)>> <<if _value.tattoo is "Random">> <<set _tattoo to _featsTattooAll.pluck()>> <<else>> <<set _tattoo to _value.tattoo>> <</if>> <<for _label2, _value2 range setup.bodywriting>> <<if _value2.writing is _tattoo>> <<add_bodywriting _bodyPart _label2 `_value.pen.toLowerCase()`>> <<break>> <</if>> <</for>> <</for>> /*Add random bodyparts*/ <<for _label, _value range $featsBoosts.tattoos>> <<if _label gt _totalTattoos>> <<break>> <</if>> <<if _value.bodypart isnot "Random">> <<continue>> <</if>> <<set _bodyPart to _bodyPartOptions.pluck()>> <<if _value.tattoo is "Random">> <<set _tattoo to _featsTattooAll.pluck()>> <<else>> <<set _tattoo to _value.tattoo>> <</if>> <<for _label2, _value2 range setup.bodywriting>> <<if _value2.writing is _tattoo>> <<add_bodywriting _bodyPart _label2 `_value.pen.toLowerCase()`>> <<break>> <</if>> <</for>> <</for>> <<bodywritingExposureCheck true>> <</if>> <<if _upgrades.specialClothing gt 0>> <<set _unlocked to $feats.allSaves.specialClothes>> <<specialClothesSetup>> <<for $_label, $_value range _unlocked>> <<set $specialClothes[$_label] to $_value>> <</for>> <</if>> <<if _upgrades.sexToys gt 0>> <<set _totalToys to _upgrades.sexToys / 10>> <<set _indexList to []>> <<run Object.values(setup.sextoys).forEach(toy => T.indexList.push(toy.index))>> <<for _i to 0; _i lt _totalToys; _i++>> <<if $featsBoosts.sexToys[_i].index isnot undefined and $featsBoosts.sexToys[_i].index isnot -1>> <<set _sexToyIndex to $featsBoosts.sexToys[_i].index>> <<set _sexToyColour to $featsBoosts.sexToys[_i].colour>> <<run _indexList.delete(_sexToyIndex)>> <<else>> <<set _sexToyIndex to _indexList.pluck()>> <</if>> <<run console.log(_sexToyColour)>> <<if !_sexToyColour or _sexToyColour is -1>> <<set _sexToyColourOptions to Object.values(setup.sextoys).find(toy => toy.index is _sexToyIndex).colour_options>> <<set _sexToyColour to _sexToyColourOptions[random(0, _sexToyColourOptions.length - 1)]>> <</if>> <<run sexShopOnBuyClick(_sexToyIndex, false, _sexToyColour, false)>> <<unset _sexToyColour>> <</for>> <</if>> /* Clean Up */ <<run delete $featsBoosts.name>> <<run delete $featsBoosts.missing>> <<run delete $featsBoosts.clothingCustomColors>> <<run delete $featsBoosts.clothingGender>> <<run delete $featsBoosts.upgradeDetails>> <<run delete $featsBoosts.tattoos>> <<run delete $featsBoosts.sexToys>> <</widget>> <!-- Paste in the console to get the total number of vrelcoins var count = 0; for (var i = 0; i < Object.keys(setup.feats).length;i++){ count += setup.feats[Object.keys(setup.feats)[i]].difficulty }--><<widget "barbicon">> <<icon "barb.png">> <</widget>> <<widget "wolfcaveicon">> <<switch _args[0]>> <<case "pup">><<icon "wolfpup.png">> <<case "sleep">><<icon "wolfsleep.png">> <<case "stream">><<icon "stream.png">> <<case "black dog">><<icon "blackdog.png">> <<case "bw">><<icon "blackwolf.png">> <<case "ferocity">><span class="icon-container"><img class="icon" src="img/ui/wolfferocity.png"></span> <<case "harmony">><span class="icon-container"><img class="icon" src="img/ui/wolfharmony.png"></span> <<case "children">> <<run Object.values($children).forEach(child => { if (child.type is "wolf" and child.location is "wolf_cave") { if (!T.childrenIconSelect) T.childrenIconSelect = []; T.childrenIconSelect.push(child.childId); } })>> <<if _childrenIconSelect.length gte 2>> <<set $_child1 to _childrenIconSelect.pluck()>> <<set $_child2 to _childrenIconSelect.pluck()>> <<if $children[$_child1].features.monster isnot $children[$_child2].features.monster>> <<set _wolfkid to ($children[$_child1].features.monster is "monster") ? $_child1 : $_child2>> <<set _wolfpup to (_wolfkid is $_child1 ? $_child2 : $_child1)>> <<set $_baseIcon to "children/pups/duo_features.png">> <<set $_wolfkidHair to "children/pups/duo_monster_hair.png">> <<set $_wolfkidSkin to "children/pups/duo_monster_skin.png">> <<set $_wolfkidEyes to "children/pups/duo_monster_eyes.png">> <<set $_wolfpupHair to "children/pups/duo_wolf_hair.png">> <<set $_wolfpupEyes to "children/pups/duo_wolf_eyes.png">> <<set _wolfkidSkinFilter = "filter: " + setup.colours.getSkinCSSFilter($children[_wolfkid].features.skinColour)>> <<set _wolfPupEyeClass = $children[_wolfpup].features.eyeColour?.replace("pc",V.eyeselect)?.replace(/ /g, '-')>> <<set _wolfKidEyeClass = $children[_wolfkid].features.eyeColour?.replace("pc",V.eyeselect)?.replace(/ /g, '-')>> <span class="icon-container"> <<icon $_baseIcon>> <span @style="_wolfkidSkinFilter"> <<icon $_wolfkidSkin>> </span> <span @class="'hair-'+$children[_wolfkid].features.hairColour"> <span class="colour-hair"><<icon $_wolfkidHair>></span> </span> <span @class="'hair-'+$children[_wolfpup].features.hairColour"> <span class="colour-hair"><<icon $_wolfpupHair>></span> </span> <span @class="'eye-'+_wolfPupEyeClass"> <<icon $_wolfpupEyes>> </span> <span @class="'eye-'+_wolfKidEyeClass"> <<icon $_wolfkidEyes>> </span> <<set $_baseIcon to "children/pups/duo_features.png">> </span> <<else>> <<set _monster to $children[$_child1].features.monster is "monster">> <<set $_wolfHair to _monster ? "children/pups/monster_fur.png" : "children/pups/beast_fur.png">> <<set $_wolfSkin to _monster ? "children/pups/monster_body.png" : null>> <<set $_wolfEyes to _monster ? "children/pups/monster_eyes.png" : "children/pups/beast_eyes.png">> <<set _wolfEyeClass = $children[$_child1].features.eyeColour?.replace("pc",V.eyeselect)?.replace(/ /g, '-')>> <span class="icon-container"> <<if $_wolfSkin>> <<set _wolfkidSkinFilter = "filter: " + setup.colours.getSkinCSSFilter($children[$_child1].features.skinColour)>> <span @style="_wolfkidSkinFilter"> <<icon $_wolfSkin>> </span> <</if>> <span @class="'hair-'+$children[$_child1].features.hairColour"> <span class="colour-hair"><<icon $_wolfHair>></span> </span> <span @class="'eye-'+_wolfEyeClass"> <<icon $_wolfEyes>> </span> <<if $_wolfSkin>> <<icon "children/pups/monster_paws.png">> <</if>> </span> <</if>> <</if>> <<default>><<icon "wolves.png">> <</switch>> <</widget>> <<widget "clifficon">> <<icon "cliff.png">> <</widget>> <<widget "starfishicon">> <<icon "starfish.png">> <</widget>> <<widget "fishtankicon">> <<switch $container.home.name>> <<case "Small Fish Tank">> <<icon "tank_small.gif">> <<case "Fish Tank">> <<icon "tank_medium.gif">> <<case "Large Fish Tank">> <<switch $container.home.decorations>> <<case "Standard Decorations">><<icon "tank_large_decor.gif">> <<case "Exotic Decorations">><<icon "tank_large_exotic.gif">> <<default>><<icon "tank_large.gif">> <</switch>> <<case "Huge Fish Tank">> <<switch $container.home.decorations>> <<case "Standard Decorations">><<icon "tank_huge_decor.gif">> <<case "Exotic Decorations">><<icon "tank_huge_exotic.gif">> <<default>><<icon "tank_huge.gif">> <</switch>> <<default>> <<icon "tank_medium.gif">> <</switch>> <</widget>> <<widget "mericon">> <<icon "mer.png">> <</widget>> <<widget "domusicon">> <<icon "domus.png">> <</widget>> <<widget "connudatusicon">> <<icon "connudatus.png">> <</widget>> <<widget "highicon">> <<icon "high.png">> <</widget>> <<widget "oxfordicon">> <<icon "oxford.png">> <</widget>> <<widget "harvesticon">> <<icon "harvest.png">> <</widget>> <<widget "danubeicon">> <<icon "danube.png">> <</widget>> <<widget "wolficon">> <<icon "wolf.png">> <</widget>> <<widget "nightingaleicon">> <<icon "nightingale.png">> <</widget>> <<widget "elkicon">> <<icon "elk.png">> <</widget>> <<widget "busicon">> <<icon "bus.png">> <</widget>> <<widget "brothelicon">> <<switch _args[0]>> <<case "gloryhole">><<icon "actions/gloryhole.png">> <<case "stage">><<icon "stage.png">> <<default>><<icon "brothel.gif">> <</switch>> <</widget>> <<widget "swimmingicon">> <<icon "swimming.png">> <</widget>> <<widget "scienceicon">> <<switch _args[0]>> <<case "pink lichen">><<icon "lichen_pink.png">> <<case "white lichen">><<icon "lichen_white.png">> <<case "violet lichen">><<icon "lichen_violet.png">> <<case "purple lichen">><<icon "lichen_purple.png">> <<default>><<icon "science.png">> <</switch>> <</widget>> <<widget "historyicon">> <<icon "history.png">> <</widget>> <<widget "mathicon">> <<icon "math.png">> <</widget>> <<widget "englishicon">> <<icon "english.png">> <</widget>> <<widget "parkicon">> <<switch _args[0]>> <<case "fountain">><<icon "fountain.png">> <<default>><<icon "park.gif">> <</switch>> <</widget>> <<widget "policeicon">> <<icon "police.png">> <</widget>> <<widget "peppersprayicon">> <<icon "spray.png">> <</widget>> <<widget "sewericon">> <<switch _args[0]>> <<case "algae">><<icon "algae.png">> <<case "breeze">><<icon "breeze.png">> <<case "drain">><<icon "drain_ocean.png">> <<case "litter">><<icon "litter.png">> <<case "main">><<icon "sewermain.png">> <<case "mud">><<icon "mud.png">> <<case "wood">><<icon "log.png">> <<case "webs">><<icon "webs.png">> <<case "rubble">><<icon "rubble.png">> <<case "rubbish">><<icon "rubbish.png">> <<case "ruins">><<icon "ruins.png">> <<case "sculpture">><<icon "sculpture.png">> <<case "scrap">><<icon "scrap.png">> <<case "smuggler">><<icon "smuggler.png">> <<case "waterfall">><<icon "waterfall.png">> <<default>><<icon "sewer.png">> <</switch>> <</widget>> <<widget "foresticon">> <<switch _args[0]>> <<case "bush">><<icon "bush.png">> <<case "churchyard">><<icon "churchyard.png">> <<case "river">><<icon "river.png">> <<case "bog">><<icon "bog.png">> <<default>><<icon "forest.png">> <</switch>> <</widget>> <<widget "islandicon">> <<switch _args[0]>> <<case "explore">><<icon "actions/explore.png">> <<case "mask">><<icon "clothes/islander_mask.png">> <<case "nuts">><<icon "nuts.png">> <<default>><<icon "island.png">> <</switch>> <</widget>> <<widget "pubicon">> <<icon "pub.png">> <</widget>> <<widget "lockericon">> <<switch _args[0]>> <<case "put in">><<icon "putinlocker.png">> <<default>><<icon "locker.png">> <</switch>> <</widget>> <<widget "loitericon">> <<icon "loiter.gif">> <</widget>> <<widget "compoundicon">> <<icon "compound.gif">> <</widget>> <<widget "oakicon">> <<icon "danube_oak.png">> <</widget>> <<widget "heelsicon">> <<switch _args[0]>> <<case "hobble">><<icon "actions/hobbleheels.png">> <<default>><<icon "exerciseheels.png">> <</switch>> <</widget>> <<widget "exerciseicon">> <<icon "physique.png">> <</widget>> <<widget "getinicon">> <<icon "get_in.png">> <</widget>> <<widget "refuseicon">> <<icon "refuse.png">> <</widget>> <<widget "getouticon">> <<switch _args[0]>> <<case "dig">><<icon "dig.png">> <<case "hole">><<icon "get_out_hole.png">> <<default>><<icon "get_out.png">> <</switch>> <</widget>> <<widget "loveicon">> <<switch _args[0]>> <<case "kiss">><<icon "actions/kiss.png">> <<case "hug">><<icon "actions/hug.png">> <<default>><<iconUi "love_interest.png">> <</switch>> <</widget>> <<widget "lockicon">> <<switch _args[0]>> <<case "key">><<icon "key_cabinet.png">> <<case "bronze key">><<icon "key_bronze.png">> <<case "old key">><<icon "key_old.png">> <<case "iron key">><<icon "key_iron.png">> <<case "pick">><<icon "lockpick.png">> <<case "unlock">><<icon "padlock_unlocked.png">> <<default>><<icon "padlock.png">> <</switch>> <</widget>> <<widget "templeicon">> <<switch _args[0]>> <<case "altar">><<icon "altar.gif">> <<case "baton">><<icon "baton.png">> <<case "cloister">><<icon "cloister.png">> <<case "confession">><<icon "confessional.png">> <<case "garden">><<switch Weather.dayState>><<case "night">><<icon "temple_garden_night.png">><<default>><<icon "temple_garden.png">><</switch>> <<case "pew">><<icon "pew.png">> <<case "pray">><<skinicon "pray">> <<case "prayer room">><<icon "prayer_room.png">> <<case "quarters">><<icon "quarters.png">> <<case "statue">> <<if $world_corruption_soft lte 25>> <<icon "statue_low.png">> <<elseif $world_corruption_soft lte 99>> <<icon "statue_mid.png">> <<else>> <<icon "statue_high.png">> <</if>> <<case "trial">><<icon "trial_of_purity.gif">> <<case "trialcontinue">><<icon "trial_continue.gif">> <<case "trialbail">><<icon "trial_jump.gif">> <<case "whip">><<icon "whip.png">> <<case "virginity">><<icon "virginity_test.png">> <<default>><<wolficon>> <</switch>> <</widget>> <<widget "edenicon">> <<switch _args[0]>> <<case "broom">><<icon "broom_dustpan.png">> <<case "coat stand">><<icon "coatstand.png">> <<case "curtains">><<icon "curtains.png">> <<case "fix">><<icon "hammer_nails.png">> <<case "radio">><<icon "radio.png">> <<case "rug">><<icon "rug.png">> <<case "scarf">><<icon "clothes/scarf.png">> <<case "salve">><<icon "salve.png">> <<case "soap">><<icon "soap.png">> <<case "supplies">><<icon "supplies.png">> <<case "target">><<icon "target.png">> <<default>><<icon "cabin.png">> <</switch>> <</widget>> <<widget "choreicon">> <<switch _args[0]>> <<case "sweep">><<icon "broom_dustpan.png">> <<case "clean">><<icon "sponge.png">> <<case "fix">><<icon "hammer_nails.png">> <<case "litter">><<icon "litter.png">> <<case "rubbish">><<icon "rubbish.png">> <<case "trashcan">><<icon "landfill.png">> <<case "trim">><<icon "shears.gif">> <<default>><<icon "sponge.png">> <</switch>> <</widget>> <<widget "wraithicon">> <<icon "wraith.png">> <</widget>> <<widget "assignmenticon">> <<icon "assignment.png">> <</widget>> <<widget "couchicon">> <<icon "couch.png">> <</widget>> <<widget "mysteryicon">> <<icon "ask.png">> <</widget>> <<widget "stallicon">> <<switch _args[0]>> <<case "open">><<icon "stall_open.png">> <<case "balloon">><<icon "stall_balloon.png">> <<default>><<icon "stall.png">> <</switch>> <</widget>> <<widget "entertownicon">> <<switch Weather.dayState>> <<case "night">> <<icon "town_night.png">> <<default>> <<icon "town.png">> <</switch>> <</widget>> <<widget "relaxicon">> <<icon "actions/relax.png">> <</widget>> <<widget "farmicon">> <<switch _args[0]>> <<case "alexbed">><<icon "farm_alexbed.png">> <<case "alexdesk">><<icon "farm_alexdesk.png">> <<case "barn">><<icon "barn.png">> <<case "clear yard">><<icon "clearyard.gif">> <<case "cottage">><<icon "cottage.png">> <<case "grass">><<icon "grass.png">> <<case "kennel">><<icon "kennel.png">> <<case "meadow">><<icon "meadow.png">> <<case "tv">><<icon "TV.gif">> <<case "lab">><<icon "farm_lab.gif">> <<case "parasitebarn">><<icon "farm_parasitebarn.png">> <<case "relax">><<icon "farm_alexrelax.png">> <<default>> <<switch Time.season>> <<case "autumn">><<icon "farmlands_autumn.png">> <<case "winter">><<icon "farmlands_winter.png">> <<default>><<icon "farmlands.png">> <</switch>> <</switch>> <</widget>> <<widget "tendingicon">> <<switch _args[0]>> <<case "basket">> <<set _tending = `tending/${_args[0] || "basket"}.png`>> <<icon _tending>> <<case "aphrodisiac shrooms">><<icon "tending/mushroom_aphrodisiac.png">> <<case "carrots">><<icon "tending/carrot.png">> <<case "eggs">><<icon "tending/egg.png">> <<case "ghostshrooms">><<icon "tending/ghostshroom.png">> <<case "milk">><<icon "tending/milk.png">> <<case "mushrooms">><<icon "tending/mushroom.png">> <<case "truffles">><<icon "tending/truffle.png">> <<case "wolfshrooms">><<icon "tending/wolfshroom.png">> <<default>> <<set _string to "tending/" + _args[0]>> <<if !_string.includes(".png") and !_string.includes(".gif")>> <<set _string += ".png">> <</if>> <<icon _string>> <</switch>> <</widget>> <<widget "crimeicon">> <<switch _args[0]>> <<case "black box">><<icon "blackbox.gif">> <<case "mark">><<icon "mark.gif">> <<case "safe">><<icon "safe.gif">> <<case "shackles">><<icon "shackles.png">> <<case "plunder">><<icon "actions/plunder.png">> <<default>><<icon "actions/crime.png">> <</switch>> <</widget>> <<widget "antiqueicon">> <<icon `"antiques/antique_" + _args[0] + ".png"`>> <</widget>> <<widget "symbol">> <<switch _args[0]>> <<case "purity">><<tficon "angel">><<exit>> <<case "corruption">><<tficon "demon">><<exit>> <<case "promiscuity" "lust">><<set _symbol to "sym_lust.png">> <<case "trauma" "willpower" "fear">><<set _symbol to "sym_trauma.png">> <<default>><<set _symbol to `sym_${_args[0]}.png`>> <</switch>> <<iconUi _symbol>> <</widget>> <<widget "gifticon">> <<switch _args[0]>> <<case "balloons">><<icon "balloons.png">> <<case "christmas">><<icon "gift_christmas.png">> <<case "christmas hat">><<icon "clothes/christmas_hat.png">> <<case "gothic">><<icon "clothes/gothic_gown.png">> <<case "hunting">><span class="clothes-brown"><<icon "clothes/hunting_coat.png">></span> <<case "kimono">><<icon "clothes/kimono.png">> <<case "love">><<icon "gift_li.png">> <<case "wrapping">><<icon "wrapping.png">> <<case "shirt">><span class="clothes-light-blue"><<icon "clothes/t-shirt.png">></span> <<case "sundress">><span class="clothes-light-pink"><<icon "clothes/sundress.png">></span> <<case "tuxedo">><<icon "clothes/tuxedo_jacket.png">> <<case "valentine">><<icon "gift_vday.png">> <<default>><<icon "gift_christmas.png">> <</switch>> <</widget>> <<widget "mooricon">> <<switch _args[0]>> <<case "remy">><<icon "estate.png">> <<case "remy cottage">><<icon "remy_cottage.png">> <<default>><<icon "moor.png">> <</switch>> <</widget>> <<widget "birdicon">> <<switch _args[0]>> <<case "nest">> <<set $_nestImg to "birdTower/nest">> <<switch $bird.upgrades.nest>> <<case 0>><<set $_nestImg += "_wood">> <<case 1>><<set $_nestImg += "_padded">> <<case 2>><<set $_nestImg += "_cushioned">> <<case 3>> <<set $_nestImg += "_luxurious">> <<if $bird.upgrades.decor gte 4>> <<set $_nestImg += "_decor">> <</if>> <</switch>> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer))>> <<set $_nestImg += "_eggs">> <</if>> <<set $_nestImg += ".png">> <<icon $_nestImg>> <<case "perch">> <<set $_perchImg to "birdTower/perch">> <<switch Weather.dayState>> <<case "night">> <<if Weather.bloodMoon>> <<set $_perchImg += "_blood">> <<else>> <<set $_perchImg += "_night">> <</if>> <<default>> <<switch Weather.name>> <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "snow">> <<set $_perchImg += "_snow">> <<else>> <<set $_perchImg += "_rain">> <</if>> <<default>><<set $_perchImg += ("_" + Weather.dayState)>> <</switch>> <</switch>> <<if $bird.upgrades?.decor gte 3>> <<set $_perchImg += "_decor">> <</if>> <<set $_perchImg += ".png">> <<icon $_perchImg>> <<case "perch_up">><<icon "actions/perch_get_up.png">> <<case "preen">> <<set $_frontIcon = 'birdTower/preen_wing_debris.png'>> <<if $daily.birdGroom is undefined>> <<icon $_frontIcon infront>> <</if>> <<icon "birdTower/preen_wing.png">> <<case "preen_self">> <<set $_hairIcon = 'birdTower/preen_wing_hair.png'>> <<set $_frontIcon = 'birdTower/preen_wing_debris.png'>> <<if $daily.birdSelfPreen is undefined>> <<icon $_frontIcon infront>> <</if>> <span @class="'hair-'+$haircolour"> <span class="colour-hair"><<icon $_hairIcon>></span> </span> <<case "hunt">> <<set $_huntImg to "birdTower/prepare_hunt_" + Weather.dayState + ".gif">> <<icon $_huntImg>> <<case "firepit">> <<if $bird.upgrades>> <<set $_firePitImg to "birdTower/firepit_">> <<switch $bird.upgrades.firepit>> <<case 0 1>><<set $_firePitImg += "makeshift_">> <<case 2>><<set $_firePitImg += "robust_">> <<case 3>><<set $_firePitImg += "bonfire_">> <</switch>> <<set $_firePitTime to getBirdBurnTime()>> <<if $_firePitTime lte 0>> <<set $_firePitImg += "0.gif">> <<elseif $_firePitTime lte 120>> <<set $_firePitImg += "1.gif">> <<elseif $_firePitTime lte 480>> <<set $_firePitImg += "2.gif">> <<elseif $_firePitTime lte 960>> <<set $_firePitImg += "3.gif">> <<else>> <<set $_firePitImg += "4.gif">> <</if>> <<icon $_firePitImg>> <<else>> <<icon "campfire.gif">> <</if>> <<case "rainwater">> <<if $bird.upgrades?.pot is 3 and getBirdBurnTime() gt 0>> <<icon "birdTower/rain_pool_heated.gif">> <<else>> <<icon "birdTower/rain_pool.gif">> <</if>> <<case "rack">> <<switch $bird.upgrades.rack>> <<case 0 1>><<icon "birdTower/drying_rack_makeshift.png">> <<case 2>><<icon "birdTower/drying_rack_expanded.png">> <<case 3>><<icon "birdTower/drying_rack_enclosed.png">> <</switch>> <<case "snare">><<icon "birdTower/snare_no_bait.png">> <<case "snare_bait">><<icon "birdTower/snare_bait.png">> <<case "snare_lurker">><<icon "birdTower/snare_lurker.gif">> <<case "sing">><<icon "sing.png">> <<case "tower">><<icon "birdTower/tower.png">> <<case "tools">><<icon "birdTower/toolbox.png">> <<case "pot">><<icon "birdTower/cooking_pot.png">> <<case "pot_cook">> <<if getBirdBurnTime() gt 0>> <<icon "birdTower/cooking_pot_boil.gif">> <<else>> <<icon "birdTower/cooking_pot.png">> <</if>> <<case "telescope">><<icon "birdTower/ornate_telescope.png">> <<case "wood">><<icon "birdTower/wood.png">> <<case "fabric">><<icon "birdTower/fabric.png">> <<case "sticks">><<icon "birdTower/stick.png">> <<case "leaves">><<icon "birdTower/leaf.png">> <<case "junk">><<icon "birdTower/junk.png">> <<case "lurkers">><<icon "birdTower/lurker_dead.png">> <<case "lurkers_netted">><<icon "birdTower/lurker_netted.png">> <<case "leather">><<icon "birdTower/lurker_leather.png">> <<case "feathers">><<icon "birdTower/feather.png">> <<case "tarp" "shelter">><<icon "birdTower/tarp.png">> <<case "mirror">> <<if $bird.upgrades?.decor gte 3>> <<icon "birdTower/mirror_tower_decor.png">> <<else>> <<icon "birdTower/mirror_tower.png">> <</if>> <<case "wardrobe">><<if $bird.upgrades?.decor gte 4>><<icon "birdTower/wardrobe_tower_decor.png">><<else>><<icon "birdTower/wardrobe_tower.png">><</if>> <<case "eggs">> <<switch _eggIcon>> <<case 1>><<icon "birdTower/hawk_egg_one.png">> <<case 2>><<icon "birdTower/hawk_egg_two.png">> <<default>><<icon "birdTower/hawk_egg_three.png">> <</switch>> <<case "kiss">><<if $monster is 1>><<icon "actions/kiss_greathawk_monster.png">><<else>><<icon "actions/kiss_greathawk_beast.png">><</if>> <<case "ask">><<icon "birdTower/socialise_question.png">> <<case "fly_down">><<icon "actions/flight_land.png">> <<case "bracelet">><<icon "birdTower/bracelet.png">> <<case "wallet">><<icon "birdTower/wallet.png">> <<case "ring">><<icon "birdTower/ring.png">> <<case "watch">><<icon "birdTower/watch.png">> <<case "necklace">><<icon "birdTower/necklace.png">> <<case "antique bullet">><<icon "antiques/antique_bullet.png">> <<case "silver">><<icon "birdTower/silver_bar.gif">> <<case "trapdoor">><<if $bird.lock is 1>><<icon "birdTower/trap_door_locked.png">><<else>><<icon "birdTower/trap_door.png">><</if>> <<case "children">> <<run Object.values($children).forEach(child => { if (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined) { if (!T.childrenIconSelect) T.childrenIconSelect = []; T.childrenIconSelect.push(child.childId); } })>> <<if _childrenIconSelect.length gte 2>> <<set $_child1 to _childrenIconSelect.pluck()>> <<set $_child2 to _childrenIconSelect.pluck()>> <<if $children[$_child1].features.monster is $children[$_child2].features.monster>> <<if $children[$_child1].features.monster is "monster">> <<set _childIconFilter1 = "filter: " + setup.colours.getSkinCSSFilter($children[$_child1].features.skinColour)>> <<set _childIconFilter2 = "filter: " + setup.colours.getSkinCSSFilter($children[$_child2].features.skinColour)>> <<set $_baseIcon to "birdTower/child_harpies.png">> <<set $_skinIcon1 to "birdTower/child_harpies_skin1.png">> <<set $_skinIcon2 to "birdTower/child_harpies_skin2.png">> <span class="icon-container"> <<icon $_baseIcon>> <span @style="_childIconFilter1"> <<icon $_skinIcon2>> </span> <span @style="_childIconFilter2"> <<icon $_skinIcon1>> </span> </span> <<else>> <<icon "birdTower/child_hawks.png">> <</if>> <<else>> <<set _childIconFilter = "filter: " + ($children[$_child1].features.monster is "monster" ? setup.colours.getSkinCSSFilter($children[$_child1].features.skinColour) : setup.colours.getSkinCSSFilter($children[$_child2].features.skinColour))>> <<set $_baseIcon to "birdTower/child_birds.png">> <<set $_skinIcon to "birdTower/child_birds_skin.png">> <span class="icon-container"> <<icon $_baseIcon>> <span @style="_childIconFilter"> <<icon $_skinIcon>> </span> </span> <</if>> <<else>> <<if $children[_childrenIconSelect[0]].features.monster is "monster">> <<set _childIconFilter = "filter: " + setup.colours.getSkinCSSFilter($children[_childrenIconSelect[0]].features.skinColour)>> <<set $_baseIcon to "birdTower/child_harpy.png">> <<set $_skinIcon to "birdTower/child_harpy_skin.png">> <span class="icon-container"> <<icon $_baseIcon>> <span @style="_childIconFilter"> <<icon $_skinIcon>> </span> </span> <<else>> <<icon "birdTower/child_hawk.png">> <</if>> <</if>> <<default>><<icon "birdTower/tower.png">> <</switch>> <</widget>> <<widget "tficon">> <<switch _args[0]>> <<case "angel" "fallenangel" "demon">> <<iconUi `"tf_" + _args[0] + ".png"`>> <<case "wolf">> <<set $_hairIcon = 'tf_wolf.png'>> <<set $_frontIcon = 'tf_wolf_acc.png'>> <<case "cat">> <<set $_hairIcon = 'tf_cat.png'>> <<set $_frontIcon = 'tf_cat_acc.png'>> <<case "cow">> <<set $_baseIcon = 'tf_cow.png'>> <<case "fox">> <<set $_hairIcon = 'tf_fox.png'>> <<set $_frontIcon = 'tf_fox_acc.png'>> <<case "bird" "harpy">> <<set $_hairIcon = 'tf_harpy.png'>> <</switch>> <<if $_baseIcon>> <<icon $_baseIcon>> <<elseif $_hairIcon>> <<if $_frontIcon>> <<icon $_frontIcon infront>> <</if>> <span @class="'hair-'+$haircolour"> <span class="colour-hair"><<icon $_hairIcon>></span> </span> <</if>> <</widget>> <<widget "alleyicon">> <<switch Weather.dayState>> <<case "day">> <<icon "alley.png">> <<case "night">> <<icon "alley_night.png">> <<case "dawn">> <<icon "alley_dawn.png">> <<case "dusk">> <<icon "alley_dusk.png">> <<default>> <<icon "alley.png">> <</switch>> <</widget>> <<widget "arcadeicon">> <<icon "arcade.gif">> <</widget>> <<widget "gameicon">> <<switch _args[0]>> <<case "controller">> <<set $_baseIcon to "robin_controller.png">> <<case "cards">> <<set $_cardIcon = "game_cards.gif">> <<set $_frontIcon = "game_acc_cards.gif">> <<case "cards_0" "cards_1" "cards_2">> <<set $_cardIcon = "game_cards_bet.gif">> <<set $_frontIcon = "game_acc_" + _args[0] +".gif">> <<default>> <<set $_baseIcon to "game_" + _args[0] +".png">> <</switch>> <<if $_baseIcon>> <<icon $_baseIcon>> <<elseif $_cardIcon>> <<icon $_frontIcon infront>> <span @class="'clothes-' + $cardcover.colour"> <<icon $_cardIcon>> </span> <</if>> <</widget>> <<widget "poundicon">> <<if Weather.precipitation is "rain">> <<icon "pound_rust.png">> <<else>> <<icon "pound.png">> <</if>> <</widget>> <<widget "dancestudioicon">> <<icon "dancestudio.png">> <</widget>> <<widget "flatsicon">> <<icon "flats.png">> <</widget>> <<widget "maleicon">> <<icon "male.png">> <</widget>> <<widget "femaleicon">> <<icon "female.png">> <</widget>> <<widget "museumicon">> <<icon "museum.png">> <</widget>> <<widget "homeicon">> <<icon "orphanage.png">> <</widget>> <<widget "roadicon">> <<if (Weather.bloodMoon or $forcedBloodmoon)>> <<icon "roadnight_blood.png">> <<else>> <<switch Weather.dayState>> <<case "day">> <<icon "roadday.png">> <<case "night">> <<icon "roadnight.png">> <<case "dawn">> <<icon "roaddawn.png">> <<case "dusk">> <<icon "roaddusk.png">> <<default>> <<icon "roadday.png">> <</switch>> <</if>> <</widget>> <<widget "forestroadicon">> <<icon `"forest_road_" + _args[0] + ".png"`>> <</widget>> <<widget "schoolicon">> <<switch _args[0]>> <<case "building">><span style="position:relative;bottom:5px"><<icon "schoolnew.png">></span> <<case "computer">><<icon "computer.png">> <<case "courtyard">><<icon "actions/school_courtyard.png">> <<case "headdesk">><<icon "headdesk.png">> <<case "infirmary">><<icon "infirmary.png">> <<case "library">> <<icon "library.png">> <<case "library desk">><<icon "library_desk.png">> <<case "stump">><<icon "stump.png">> <<default>><<icon "school.png">> <</switch>> <</widget>> <<widget "spaicon">> <<switch _args[0]>> <<case "massage">><<icon "spa.gif">> <<case "tanning">><<icon "tanning.png">> <<default>><<icon "spa.png">> <</switch>> <</widget>> <<widget "stripclubicon">> <<icon "stripclub.gif">> <</widget>> <<widget "stairsicon">> <<set _stairs = `actions/stairs${_args[0] || "downup"}${_args[1] || ""}.png`>> <<icon _stairs>> <</widget>> <<widget "walkicon">> <<set _direction to _args[0] is "west" ? "flip" : "">> <<icon "actions/walk.png" _direction>> <</widget>> <<widget "runicon">> <<set _direction to _args[0] is "west" ? "flip" : "">> <<icon "actions/run.png" _direction>> <</widget>> <<widget "glideicon">> <<set _direction to _args[0] is "west" ? "flip" : "">> <<icon "actions/wing.png" _direction>> <</widget>> <<widget "swimicon">> <<switch _args[0]>> <<case "back">><<icon "actions/swim.png" "flip">> <<case "break">><<icon "actions/breakice.png">> <<case "dive">><<icon "actions/dive.png">> <<case "down">><<icon "actions/swimdown.png">> <<case "leave">><<icon "actions/leavewater.png">> <<case "up">><<icon "actions/swimup.png">> <<default>><<icon "actions/swim.png">> <</switch>> <</widget>> <<widget "sneakicon">> <<icon "actions/sneak.png">> <</widget>> <<widget "caveicon">> <<switch _args[0]>> <<case "left">><<icon "actions/caveleft.png">> <<case "right">><<icon "actions/caveright.png">> <<case "north">><<icon "actions/cavenorth.png">> <<case "south">><<icon "actions/cavesouth.png">> <<case "west">><<icon "actions/cavedeeper.png">> <<case "east">><<icon "actions/cavedeeper.png" "flip">> <<case "sea">><<icon "actions/cavesea.png">> <<case "torch">><<icon "torch.gif">> <<case "treasure">><<icon "treasure_chest.png">> <<default>><<icon "actions/cavedeeper.png">> <</switch>> <</widget>> <<widget "tentacleicon">> <<switch _args[0]>> <<case "north">><<icon "actions/tentanorth.png">> <<case "south">><<icon "actions/tentasouth.png">> <<case "west">><<icon "actions/tentadeeper.png">> <<case "east">><<icon "actions/tentadeeper.png" "flip">> <<default>><<icon "actions/tentadeeper.png">> <</switch>> <</widget>> <<widget "entranceicon">> <<icon "actions/entrance.png">> <</widget>> <<widget "exiticon">> <<icon "actions/exit.png">> <</widget>> <<widget "lakeicon">> <<switch _args[0]>> <<case "campfire">><<icon "birdTower/firepit_robust_3.gif">> <<case "dock">><<icon "lake_dock.png">> <<case "field office">><<icon "field_office.png">> <<case "firepit">> <<set $_firePitImg to "birdTower/firepit_bonfire_">> <<set _edenHeaterBurnTime to Cooker.getBurnTime($edenHeater)>> <<set _burnTimeRatio to _edenHeaterBurnTime / $edenHeater.maxBurnTime>> <<set _startingBurnTimeRatio = Math.max(($edenHeaterStartingLastsUntil ?? $edenHeater.lastsUntil) - $timeStamp, 0) / $edenHeater.maxBurnTime>> <<if _edenHeaterBurnTime is 0>> <<set $_firePitImg += "0.gif">> <<elseif _burnTimeRatio lte 0.05 or _startingBurnTimeRatio gte 0.95>> <<set $_firePitImg += "1.gif">> <<elseif _burnTimeRatio lte 0.1 or _startingBurnTimeRatio gte 0.9>> <<set $_firePitImg += "2.gif">> <<elseif _burnTimeRatio lte 0.2 or _startingBurnTimeRatio gte 0.8>> <<set $_firePitImg += "3.gif">> <<else>> <<set $_firePitImg += "4.gif">> <</if>> <<icon $_firePitImg>> <<case "fishing">><<icon "fishing.png">> <<case "key">><<icon "bronze_key.png">> <<case "meditate">><<icon "actions/meditate.png">> <<case "pond">> <<if Weather.waterTemperature gte 36>> <<icon "pond_steam.gif">> <<else>> <<icon "pond.png">> <</if>> <<case "pond twigs">> <span class="icon-container"> <<icon "pond.png">> <<icon "pond_twig.png">> </span> <<case "pots">><<icon "pots.png">> <<case "skate">><span class="clothes-tan"><<icon "clothes/ice_skates.png">></span> <<case "waterfall">><<icon "waterfall_lake.png">> <<default>><<icon "lake.png">> <</switch>> <</widget>> <<widget "bedicon">> <<switch _args[0]>> <<case "zzz">><<icon "zzz.png">> <<case "single">><<furnitureicon "bed">> <<case "double">><<furnitureicon "doublebed">> <<case "deluxe">><<furnitureicon "doublebeddeluxe">> <<case "eden">><<icon "bededen.png">> <<case "farm">><<icon "farm_pcbed.png">> <<case "alex">><<icon "farm_alexli.png">> <<case "exotic">><<furnitureicon "doublebedexotic">> <<case "hospital">><<icon "hospital_bed.png">> <<case "kylar">><<icon "kylars_bed.png">> <<case "parents">><<icon "kylars_parents.gif">> <<case "wicker">><<furnitureicon "doublebedwicker">> <<case "yellow">><<furnitureicon "doublebedyellow">> <<default>><<icon "bed.png">> <</switch>> <</widget>> <<widget "furnitureicon">> <<set _path to _args[0].replace(/ /g, '_')>> <<icon `"furniture/" + _args[0] + ".png"`>> <</widget>> <<widget "deskchairicon">> <<if $options.images is 1>> <<set $_desk to Furniture.get('desk').iconFile>> <<set $_chair to Furniture.get('chair').iconFile2>> <span> <<if $_chair>><<icon `"furniture/" + $_chair + ".png"` "infront">><</if>> <<if $_desk>><<icon `"furniture/" + $_desk + ".png"`>><</if>> </span> <</if>> <</widget>> <<widget "bedroomtablechairicon">> <<if $options.images is 1>> <<set $_table to Furniture.get('table')>> <<set $_chair to Furniture.get('chair')>> <span> <<if $_table>><img class="icon infront" @src="'img/misc/icon/furniture/' + $_table.iconFile + '.png'"><</if>> <<if $_chair>><img class="icon" @src="'img/misc/icon/furniture/' + $_chair.iconFile + '.png'"><</if>> </span> <</if>> <</widget>> <<widget "wardrobeicon">> <<icon "wardrobe.png">> <</widget>> <<widget "gardenicon">> <<switch _args[0]>> <<case "fertiliser">><<icon "fertiliser.png">> <<case "flower">><<icon "flower.png">> <<case "kylar">><<icon "kylars_garden.png">> <<case "overgrown">><<icon "kylars_garden_overgrown.png">> <<case "plot">><<icon "gardenplot.png">> <<case "strangled">><<icon "gardenstrangled.png">> <<case "tangled">><<icon "gardentangled.png">> <<case "till">><<icon "till.png">> <<case "water">><<icon "watering_can.gif">> <<case "weeds">><<icon "gardenweeds.png">> <<default>><<icon "garden.png">> <</switch>> <</widget>> <<widget "laddericon">> <<icon "ladder.png">> <</widget>> <<widget "lofticon">> <<icon "loft.png">> <</widget>> <<widget "fenceicon">> <<icon "fence.gif">> <</widget>> <<widget "undobindingsicon">> <<icon "bindings.png">> <</widget>> <<widget "bathroomicon">> <<switch _args[0]>> <<case "shower">><<icon "shower.gif">> <<case "sink">><<icon "sink.png">> <<case "bath">><<icon "bath.png">> <<case "robe">><<icon "clothes/bathrobe.png">> <<case "shave">><<icon "shave.png">> <<case "toilet">><<icon "toilet.png">> <<default>><<icon "bathroom.png">> <</switch>> <</widget>> <<widget "shavestyleicon">> <<if $options.images is 1>> <<set _shaveIconFilter = "filter: " + setup.colours.getSkinCSSFilter(Skin.color.natural, Skin.color.tan)>> <<set $_fileName = 'shave_' + _args[0] + '_' + ($player.penisExist ? 'm' : 'f') + '.png'>> <span @style="_shaveIconFilter"> <<icon $_fileName>> </span> <</if>> <</widget>> <<widget "skinicon">> <<if $options.images is 1>> <<set _iconFilter = "filter: " + setup.colours.getSkinCSSFilter(Skin.color.natural, Skin.color.tan)>> <<switch _args[0]>> <<case "chef">> <<set $_skinIcon = 'chef_hands.png'>> <<set $_frontIcon = 'chef_bowl.png'>> <<case "give">> <<set $_skinIcon = 'give_hand.png'>> <<set $_frontIcon = 'give_tray.png'>> <<case "waiter">> <<set $_skinIcon = 'waiter_arm.png'>> <<set $_frontIcon = 'waiter_platter.png'>> <<case "hitchhike">> <<set $_skinIcon = 'hitchhike_thumb.png'>> <<set $_frontIcon = 'hitchhike_car.png'>> <<case "masturbate">> <<set $_skinIcon = `masturbation_${$player.penisExist ? 'penis' : 'vagina'}.gif`>> <<set $_noFront to 1>> <<case "strip">> <<set $_skinIcon = 'strip_skin.png'>> <<set $_frontIcon = 'strip_undies.png'>> <<case "pray">> <<set $_skinIcon = 'pray_hands.png'>> <<set $_frontIcon = 'pray.png'>> <<case "breastEnlarge">> <<set $_skinIcon = 'breast_enlarge_skin.png'>> <<set $_frontIcon = 'breast_enlarge_arrows.png'>> <<case "breastReduce">> <<set $_skinIcon = 'breast_reduce_skin.png'>> <<set $_frontIcon = 'breast_reduce_arrows.png'>> <<case "penisEnlarge">> <<set $_skinIcon = 'penis_enlarge_skin.png'>> <<set $_frontIcon = 'penis_enlarge_arrows.png'>> <<case "penisReduce">> <<set $_skinIcon = 'penis_reduce_skin.png'>> <<set $_frontIcon = 'penis_reduce_arrows.png'>> <<case "wash">> <<set $_skinIcon = 'wash_skin.png'>> <<set $_frontIcon = 'wash_bubbles.png'>> <<case "manacles">> <<set $_skinIcon = 'manacles_skin.png'>> <<set $_frontIcon = 'manacles.gif'>> <</switch>> <span class="icon-container"> <span @style="_iconFilter"> <<icon $_skinIcon>> </span> <<if !$_noFront>><<icon $_frontIcon>><</if>> </span> <</if>> <</widget>> <<widget "pregnancyicon">> <<if $options.images is 1>> <<if _args[0] is "player">> <<set _pregnancyIconFilter = "filter: " + setup.colours.getSkinCSSFilter(Skin.color.natural, Skin.color.tan)>> <<set $_skinIcon to "belly_human_breasts">> <<switch $player.breastsize>> <<case 0>><<set $_skinIcon += "0.png">> <<case 1 2>><<set $_skinIcon += "1.png">> <<case 3 4>><<set $_skinIcon += "2.png">> <<case 5 6>><<set $_skinIcon += "3.png">> <<case 7 8>><<set $_skinIcon += "4.png">> <<case 9 10>><<set $_skinIcon += "5.png">> <<case 11 12>><<set $_skinIcon += "6.png">> <</switch>> <span @style="_pregnancyIconFilter"> <<icon $_skinIcon>> </span> <<elseif C.npc[_args[0]]>> <<if _args[0] is "Great Hawk">> <<if $monster is 1 or ($monsterchance gte $rng and $hallucinations gte 1) or ($monsterchance gte $rng and $monsterhallucinations is "f") or ($greathawkmonster is 2) or ($bestialitydisable is "t")>> <<set _skin to C.npc["Great Hawk"].skincolour is "black" ? "dark" : "light">> <<set _pregnancyIconFilter = "filter: " + setup.colours.getSkinCSSFilter(_skin)>> <<set $_frontIcon to "birdTower/belly_harpy.png">> <<set $_skinIcon to "birdTower/belly_harpy_breasts">> <<switch C.npc["Great Hawk"].breastsize>> <<case 0>><<set $_skinIcon += "0.png">> <<case 1 2>><<set $_skinIcon += "1.png">> <<case 3 4>><<set $_skinIcon += "2.png">> <<case 5 6>><<set $_skinIcon += "3.png">> <<case 7 8>><<set $_skinIcon += "4.png">> <<case 9 10>><<set $_skinIcon += "5.png">> <<case 11 12>><<set $_skinIcon += "6.png">> <</switch>> <span class="icon-container"> <span @style="_pregnancyIconFilter"> <<icon $_skinIcon>> </span> <<icon $_frontIcon>> </span> <<else>> <<icon "birdTower/belly_hawk.png">> <</if>> <<else>> <<set _skin to C.npc[_args[0]].skincolour is "black" ? "dark" : "light">> <<set _pregnancyIconFilter = "filter: " + setup.colours.getSkinCSSFilter(_skin)>> <<set $_skinIcon to "belly_human_breasts">> <<switch C.npc[_args[0]].breastsize>> <<case 0>><<set $_skinIcon += "0.png">> <<case 1 2>><<set $_skinIcon += "1.png">> <<case 3 4>><<set $_skinIcon += "2.png">> <<case 5 6>><<set $_skinIcon += "3.png">> <<case 7 8>><<set $_skinIcon += "4.png">> <<case 9 10>><<set $_skinIcon += "5.png">> <<case 11 12>><<set $_skinIcon += "6.png">> <</switch>> <span @style="_pregnancyIconFilter"> <<icon $_skinIcon>> </span> <</if>> <</if>> <</if>> <</widget>> <<widget "dressasyouwereicon">> <<set _slot to setup.clothingLayer.all.find(c => V.carried[c].name !== "naked")>> <<if _temp_clothes_present and _temp_strip>> <<set _slot to setup.clothingLayer.all.find(c => V.store[c].find(item => item.location is T.temp_strip))>> <<set _item to V.store[_slot].find(item => item.location is T.temp_strip)>> <<clothingicon _item _slot>> <<elseif _slot>> <<clothingicon $carried[_slot] _slot>> <<else>> <span class="clothes-light-blue"><<icon "clothes/serafuku.png">></span> <</if>> <</widget>> <<widget "towelicon">> <span class="clothes-off-white"><<icon "clothes/towel.png">></span> <</widget>> <<widget "bedroomicon">> <<icon "bedroom.png">> <</widget>> <<widget "mirroricon">> <<switch _args[0]>> <<case "blood">><<icon "mirrorblood.gif">> <<case "home">><<icon "mirrorhome.png">> <<case "temple">><<icon "mirrortemple.png">> <<case "school">><<icon "mirrorschool.png">> <<default>> <<switch $location>> <<case "home">><<icon "mirrorhome.png">> <<case "prison">><<prisonicon "mirror">> <<case "temple">><<icon "mirrortemple.png">> <<case "school">><<icon "mirrorschool.png">> <<default>><<icon "mirror.png">> <</switch>> <</switch>> <</widget>> <<widget "animalicon">> <<icon `_args[0] + ".png"`>> <</widget>> <<widget "investigateicon">> <<icon "investigate.png">> <</widget>> <<widget "robinicon">> <<icon `"robin_" + _args[0] + ".png"`>> <</widget>> <<widget "shopicon">> <<switch _args[0]>> <<case "adult">><<icon "adultshop.gif">> <<case "closed">><<icon "closedstore.png">> <<case "clothing">><<icon "clothingshop.png">> <<case "dilapidated">><<icon "dilapidatedshop.png">> <<case "forest">><<icon "forestshop.png">> <<case "tailor">><<icon "tailorThread.png">> <<case "tattoo">><<icon "tattoo.png">> <<case "toy">><<icon "toyshop2.png">> <<case "register">><<icon "cash_register.png">> <<default>><<icon "shopping_centre.png">> <</switch>> <</widget>> <<widget "petshopicon">> <<switch _args[0]>> <<case "brush">><<icon "kennel_brush.png">> <<case "cage">><<icon "cage.png">> <<case "chew">><<icon "childToys/rope.png">> <<case "decor">><<icon "tank_decor.png">> <<case "decor exotic">><<icon "tank_decor_exotic.png">> <<case "dog bowl">><<icon "dog_bowl.png">> <<case "dog food">><<icon "dog_bowl_food.png">> <<case "dog leash">><<icon "dog_leash_acc.png" "infront">><<icon "dog_leash.png">> <<case "feeder">><<icon "automatic_feeder.gif">> <<case "tanks">><<icon "tanks.png">> <<case "tank small">><<icon "tank_small.gif">> <<case "tank medium">><<icon "tank_medium.gif">> <<case "tank large">><<icon "tank_large.gif">> <<case "tank huge">><<icon "tank_huge.gif">> <<case "treat">><<icon "dogtreat.png">> <<default>><<icon "petshop.png">> <</switch>> <</widget>> <<widget "hairdressericon">> <<switch _args[0]>> <<case "chair">><<icon "hairdresser_chair.png">> <<case "gel">><<icon "hairgel.png">> <<case "hairspray">><<icon "hairspray.png">> <<default>><<icon "hairdresser.gif">> <</switch>> <</widget>> <<widget "cosmeticsicon">> <<switch _args[0]>> <<case "blusher">><<icon "blusher.png">> <<case "contacts">><<icon "contacts.png">> <<case "dyes">><<icon "dye.png">> <<case "mascara">><<icon "mascara.png">> <<case "eyeshadow">><<icon "eyeshadow.png">> <<case "sunscreen">><<icon "sunscreen.png">> <<default>><<icon "cosmetics.gif">> <</switch>> <</widget>> <<widget "rebuyicon">> <<switch _args[0]>> <<case "disable">><<icon "rebuy_disabled.png">> <<default>><<icon "rebuy.png">> <</switch>> <</widget>> <<widget "pregnancytesticon">> <<icon "pregnancy_test.gif">> <</widget>> <<widget "beachicon">> <<switch _args[0]>> <<case "seaweed">><<icon "seaweed.png">> <<case "rocks">><<icon "sea_rocks.png">> <<default>><<icon "beach.gif">> <</switch>> <</widget>> <<widget "chaleticon">> <<icon "chalet.png">> <</widget>> <<widget "prisonicon">> <<icon `"prison_" + _args[0] + ".png"`>> <</widget>> <<widget "hospitalicon">> <<icon "hospital.png">> <</widget>> <<widget "procedureicon">> <<switch _args[0]>> <<case "breast enlarge">><<skinicon "breastEnlarge">> <<case "breast reduce">><<skinicon "breastReduce">> <<case "penis enlarge">><<skinicon "penisEnlarge">> <<case "penis reduce">><<skinicon "penisReduce">> <<case "parasite">><<icon "antiParasiteCream.png">> <<case "paternity">><<icon "paternityTest.png">> <</switch>> <</widget>> <<widget "condomicon">> <<switch _args[0]>> <<case "machine">><<icon "condom_machine.png">> <<default>><<icon "condom.png">> <</switch>> <</widget>> <<widget "pillicon">> <<switch _args[0]>> <<case "breastEnlarge">><<icon "smalluparrow.png" "infront">><<icon "pillbreast.png">> <<case "breastReduce">><<icon "smalldownarrow.png" "infront">><<icon "pillbreast.png">> <<case "breastBlock">><<icon "smallcross.png" "infront">><<icon "pillbreast.png">> <<case "penisEnlarge">><<icon "smalluparrow.png" "infront">><<icon "pillpenis.png">> <<case "penisReduce">><<icon "smalldownarrow.png" "infront">><<icon "pillpenis.png">> <<case "penisBlock">><<icon "smallcross.png" "infront">><<icon "pillpenis.png">> <<case "bottomEnlarge">><<icon "smalluparrow.png" "infront">><<icon "pillbottom.png">> <<case "bottomReduce">><<icon "smalldownarrow.png" "infront">><<icon "pillbottom.png">> <<case "bottomBlock">><<icon "smallcross.png" "infront">><<icon "pillbottom.png">> <<case "fertility">><<icon "fertility_booster.png">> <<case "contraceptive">><<icon "contraceptive_pills.png">> <<case "morningAfter">><<icon "morningAfter.png">> <<case "blue">><<icon "pillblue.png">> /*unused*/ <<case "stimulant">><<icon "stimulant.png">> <<default>><<icon "pill_collection.png">> <</switch>> <</widget>> <<widget "asylumicon">> <<switch _args[0]>> <<case "door">><<icon "asylum_door.png">> <<case "wardrobe">><<icon "asylum_wardrobe.png">> <<case "cell">><<icon "asylum_cell.png">> <<case "bed">><<icon "hospital_bed.png">> <<default>><<icon "hospital_bed.png">> <</switch>> <</widget>> <<widget "socialiseicon">> <<switch _args[0]>> <<case "angry">><<icon "socialise_angry.png">> <<case "party">><<icon "solocup.png">> <<case "volleyball">><<icon "volleyball.png">> <<case "cinema">><<icon "ticket.png">> <<case "ask">><<icon "birdTower/socialise_question.png">> <<case "dance">><<icon "dance.gif">> <<default>><<icon "socialise.png">> <</switch>> <</widget>> <<widget "smokeicon">> <<icon "cig.png">> <</widget>> <<widget "daydreamicon">> <<icon "daydream.png">> <</widget>> <<widget "photographystudioicon">> <<icon "camera.png">> <</widget>> <<widget "officeicon">> <<switch _args[0]>> <<case "files">><<icon "filing_cabinet.png">> <<default>><<icon "office.png">> <</switch>> <</widget>> <<widget "pilloryicon">> <<icon "watch_pillory.png">> <</widget>> <<widget "cafeicon">> <<icon "cafe.png">> <</widget>> <<widget "docksicon">> <<icon "docks.png">> <</widget>> <<widget "landfillicon">> <<icon "rubbish.png">> <</widget>> <<widget "coastalpathicon">> <<switch Weather.dayState>> <<case "day">> <<icon "coastalpath_day.png">> <<case "night">> <<icon "coastalpath_night.png">> <<case "dawn">> <<icon "coastalpath_dawn.png">> <<case "dusk">> <<icon "coastalpath_dusk.png">> <<default>> <<icon "coastalpath_day.png">> <</switch>> <</widget>> <<widget "baskicon">> <<icon "bask.png">> <</widget>> <<widget "changingroomicon">> <<icon "changingroom.png">> <</widget>> <<widget "scarleticon">> <<icon "scarlet.png">> <</widget>> <<widget "oliveicon">> <<icon "olive.png">> <</widget>> <<widget "sextoysicon">> <<switch _args[0]>> <<case "anal beads">><span class="clothes-silver"><<icon "sexToys/analbeads.png">></span> <<case "dildo">><span class="clothes-fleshy"><<icon "sexToys/dildo.png">></span> <<case "horse strap-on">><<icon "sexToys/strap-on_horse_cock.png">> <<case "knotted strap-on">><<icon "sexToys/strap-on_knotted_cock.png">> <<case "lube">><span class="clothes-light-blue"><<icon "sexToys/lube.png">></span> <<case "pump">><span class="clothes-pink"><<icon "sexToys/handheld_pump.png">></span> <<case "smalldildo">><span class="clothes-fleshy"><<icon "sexToys/dildo_small.png">></span> <<case "strap-on">><<icon "sexToys/strap-on.png">> <<case "stroker">><<icon "sexToys/onahole.png">> <<default>><<icon "sexToys/bulletvibe.png">> <</switch>> <</widget>> <<widget "busstationicon">> <<icon "busstation.png">> <</widget>> <<widget "factoryicon">> <<icon "factory.gif">> <</widget>> <<widget "foodicon">> <<icon `"food/" + _args[0] + ".png"`>> <</widget>> <<widget "hypnosisicon">> <<iconUi "hypnosis.png">> <</widget>> <<widget "dooricon">> <<switch _args[0]>> <<case "basement">><<icon "basement_door.png">> <<case "domus">><<icon "domus_house.png">> <<case "danube">><<icon "danube_house.png">> <<case "doren">><<icon "doren_flat.png">> <<case "locked">><<icon "padlocked_door.png">> <<case "open">><<icon "flat_door_open.png">> <<case "orphanage">><<icon "orphanage_doors.png">> <<case "trapdoor">><<icon "trapdoor.png">> <<default>><<icon "flat_door.png">> <</switch>> <</widget>> <<widget "childicon">> <<set _toy to _args[0].replace(/ /g, "_");>> <<icon `"childToys/" + _toy + ".png"`>> <</widget>> <<widget "childrenicon">> <<set $_child to $children[_args[0]]>> <<set _monster to $_child.features.monster is "monster">> <<switch $_child.type>> <<case "hawk">> <<if _monster>> <<set _childIconFilter = "filter: " + setup.colours.getSkinCSSFilter($_child.features.skinColour)>> <<set $_baseIcon to "birdTower/child_harpy.png">> <<set $_skinIcon to "birdTower/child_harpy_skin.png">> <span class="icon-container"> <<icon $_baseIcon>> <span @style="_childIconFilter"> <<icon $_skinIcon>> </span> </span> <<else>> <<icon "birdTower/child_hawk.png">> <</if>> <<case "wolf">> <<set $_wolfHair to _monster ? "children/pups/monster_fur.png" : "children/pups/beast_fur.png">> <<set $_wolfSkin to _monster ? "children/pups/monster_body.png" : null>> <<set $_wolfEyes to _monster ? "children/pups/monster_eyes.png" : "children/pups/beast_eyes.png">> <<set _wolfEyeClass = $_child.features.eyeColour?.replace("pc",V.eyeselect)?.replace(/ /g, '-')>> <span class="icon-container"> <<if $_wolfSkin>> <<set _wolfkidSkinFilter = "filter: " + setup.colours.getSkinCSSFilter($_child.features.skinColour)>> <span @style="_wolfkidSkinFilter"> <<icon $_wolfSkin>> </span> <</if>> <span @class="'hair-'+$_child.features.hairColour"> <span class="colour-hair"><<icon $_wolfHair>></span> </span> <span @class="'eye-'+_wolfEyeClass"> <<icon $_wolfEyes>> </span> <<if $_wolfSkin>> <<icon "children/pups/monster_paws.png">> <</if>> <<if $_child.localVariables.activity is "crying" and _monster>> <<icon "children/pups/monster_tears.png">> <</if>> </span> <<default>> <<set $_hair to "children/humans/hair.png">> <<set $_skin to "children/humans/body.png">> <<set $_eyes to "children/humans/eyes.png">> <<if $_child.features.eyeColour>> <<set _eyeClass = $_child.features.eyeColour?.replace("pc",V.eyeselect)?.replace(/ /g, '-')>> <<else>> <<set _eyeClass = "hazel">> <</if>> <<set _skinFilter = "filter: " + setup.colours.getSkinCSSFilter($_child.features.skinColour)>> <span class="icon-container"> <span @style="_skinFilter"> <<icon $_skin>> </span> <<if $_child.features.divineTransform>> <<set $_divine to `children/humans/transformations_${$_child.features?.divineTransform}.png`>> <<icon $_divine>> <</if>> <<if $_child.features.beastTransform>> <<set $_beast to `children/humans/transformations_${$_child.features?.beastTransform}.png`>> <span @class="'hair-'+$_child.features.hairColour"> <span class="colour-hair"><<icon $_beast>></span> </span> <</if>> <<icon "children/humans/diaper.png">> <span @class="'hair-'+$_child.features.hairColour"> <span class="colour-hair"><<icon $_hair>></span> </span> <span @class="'eye-'+_eyeClass"> <<icon $_eyes>> </span> </span> <</switch>> <</widget>> <<widget "officebuildingicon">> <<icon "office_building.png">> <</widget>> <<widget "kitchenicon">> <<icon `"kitchen_" + (_args[0] || "pot") + ".png"`>> <</widget>> <<widget "supermarketicon">> <<icon `"supermarket_" + (_args[0] || "basket") + ".png"`>> <</widget>> <<widget "kylarmanoricon">> <<switch _args[0]>> <<case "pipe">><<icon `"kylars_" + _args[0] + ".gif"`>> <<default>><<icon `"kylars_" + (_args[0] || "manor") + ".png"`>> <</switch>> <</widget>> <<widget "main_hall_icon">> <<if $christmas is 1>> <<icon "mainhall_christmas.png">> <<elseif $halloween is 1>> <<icon "mainhall_halloween.png">> <<else>> <<icon "mainhall.png">> <</if>> <</widget>> <<widget "townhallicon">> <<icon "town_hall.png">> <</widget>> <<widget "venticon">> <<switch _args[0]>> <<case "eyes">><<icon "vent_eyes.png">> <<default>><<icon "vent.png">> <</switch>> <</widget>> <<widget "ind">> <<icon "indent.png">> <</widget>> <<widget "clothingicon">> <<if $options.images is 1>> <<set $_item to setup.clothes[_args[1]][clothesIndex(_args[1],_args[0])]>> <<if $_item.iconFile>> <<if typeof($_item.iconFile) === 'string'>> <<if $_item.iconFile is "pattern" and !["secondary", "tertiary"].includes($_item.pattern_layer)>> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.name.replace(/ /g, '_') + "_" + (_args[0].pattern || $_item.pattern_options[0]).replace(/ /g, '_') + ".png" >> <<else>> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.iconFile>> <</if>> <<else>> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.name_cap + ".png">> <</if>> <<if _args[0].colour is 0 or $_item.colour_options.length lt 2>> <img class="icon" alt="" @src="$clothesiconFile"> <<else>> <img alt="" @class="'icon-'+ _args[0].colour.replace(/ /g, '-') + ' icon'" @src="$clothesiconFile" @style="(_args[0].colour is 'custom'? _args[0].colourCustom : '')"> <</if>> <</if>> <<if $_item.accIcon isnot 0 and ($_item.accessory isnot 0 || $_item.breast_acc_img)>> <<if typeof($_item.accIcon) === 'string'>> <<if $_item.accIcon is "pattern" and $_item.pattern_layer === "secondary">> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.name.replace(/ /g, '_') + "_" + (_args[0].pattern || $_item.pattern_options[0]).replace(/ /g, '_') + ".png" >> <<else>> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.accIcon>> <</if>> <<else>> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.name_cap + "_acc.png">> <</if>> <span class="spanIcon"> <<if !_args[0].accessory_colour or $_item.accessory_colour_options.length lt 2>> <img class="accIcon" alt="" @src="$clothesiconFile"> <<else>> <img @class="'icon-'+ _args[0].accessory_colour.replace(/ /g, '-') + ' accIcon'" alt="" @src="$clothesiconFile" @style="(_args[0].accessory_colour is 'custom'? _args[0].accessory_colourCustom : '')"> <</if>> </span> <</if>> <<if $_item.detailIcon>> <<if typeof($_item.detailIcon) === 'string'>> <<if $_item.detailIcon is "pattern" and $_item.pattern_layer === "tertiary">> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.name.replace(/ /g, '_') + "_" + (_args[0].pattern || $_item.pattern_options[0]).replace(/ /g, '_') + ".png" >> <<else>> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.detailIcon>> <</if>> <<else>> <<set $clothesiconFile = "img/misc/icon/clothes/" + $_item.name.replace(/ /g, '_') + "_detail.png">> <</if>> <span class="spanIcon"> <img class="accIcon" alt="" @src="$clothesiconFile"> </span> <</if>> <</if>> <</widget>> <<widget "steedicon">> <<set _icons to { "appaloosa": { class: "clothes-off-white", spots: "clothes-black" }, "bay": { class: "icon-bronze" }, "black": { class: "clothes-blue-steel" }, "brown": { class: "clothes-brown" }, "buckskin": { class: "clothes-pale-yellow" }, "chestnut": { class: "clothes-tangerine" }, "cremello": { class: "clothes-off-white" }, "dun": { class: "clothes-sand" }, "grey": { class: "clothes-grey" }, "overo": { class: "clothes-sand",spots: "icon-bronze" }, "palomino": { class: "clothes-pale-yellow" }, "piebald": { class: "clothes-blue-steel", spots: "clothes-off-white" }, "roan": { class: "clothes-tan" }, "skewbald": { class: "icon-bronze", spots: "clothes-off-white" }, "spotted": { class: "clothes-sand", spots: "clothes-tan" }, "tobiano": { class: "clothes-off-white", spots: "clothes-wine" }, }>> <<set _direction to $location is "town" ? "flip" : "">> <<if _icons.hasOwnProperty($farm?.steed) || _icons.hasOwnProperty($NPCList[0].hair)>> <<set _horse to $NPCList[0].hair || $farm.steed>> <<if _icons[_horse].spots>> <span @class="'icon-container icon infront'"> <span @class="_icons[_horse].spots"> <<icon "horsespottedicon.png" _direction>> </span> </span> <</if>> <span @class="_icons[_horse].class"> <<icon "horsebodyicon.png" _direction>> </span> <<else>> <span class="icon-bronze"> <<icon "horsebodyicon.png" _direction>> </span> <</if>> <</widget>> <<widget "techicon">> <<switch _args[0]>> <<case "lightbulb">><<icon "lightbulb.gif">> <<default>><<icon `_args[0] + ".png"`>> <</switch>> <</widget>><<widget "kitchenDisplay">> <div id="kitchenDisplay" class="food_ui no-numberify"> <div id="body"> <div id="mainSection"> <div id="search"> Search: <<textbox "_foodSearch" "">> <<run $(() => { var foodTimer = null; $('#textbox--foodsearch').on('input change keypress', e => { _foodSearch = e.target.value; clearTimeout(foodTimer); foodTimer = setTimeout(updateUI, 300); }); var updateUI = () => { Wikifier.wikifyEval('<<replace "#itemList">><<kitchenDisplayRecipes>><</replace>>'); } })>> <<link "Options">> <<replace "#altSection">> <<kitchenDisplayOptions>> <<removeclass "#altSection, #mobileCloser" "mobileHidden">> <</replace>> <</link>> </div> <div id="itemList"> <<kitchenDisplayRecipes>> </div> </div> <div id="altSection" class="mobileHidden"> <<if $lastRecipeViewed and setup.plants[$lastRecipeViewed]>> <<kitchenDisplayRecipeDetail $lastRecipeViewed>> <<else>> <<kitchenDisplayOptions>> <</if>> </div> <div id="mobileCloser" class="mobileOnly mobileHidden" onclick="wikifier('addclass', '#altSection', 'mobileHidden'); wikifier('addclass', '#mobileCloser', 'mobileHidden');"></div> </div> </div> <br> <</widget>> <<widget "kitchenDisplayOptions">> <div id="basket"> <span class="gold bold">Options:</span> <div class="mobileOnly"> <<link "Close">> <<addclass "#altSection, #mobileCloser" "mobileHidden">> <</link>> <br><br> </div> </div> <div id="basketItems" class="info"> Search for: <<listbox "$options.ingredientsSearch" autoselect>> <<option "All" "all">> <<option "Recipes" "recipes">> <<option "Ingredients" "ingredients">> <</listbox>> <<run $(() => { $('#listbox-optionsingredientssearch').on('input change', e => { Wikifier.wikifyEval('<<replace "#itemList">><<kitchenDisplayRecipes>><</replace>>'); }); })>> <br><br> <label>Auto-manage ingredients: <<checkbox "$options.ingredientsAutoManage" false true autocheck>></label> <<if $chef_state gte 3>> <br> <label>Allow lewd auto-managed ingredients: <<checkbox "$options.ingredientsAutoManageLewd" false true autocheck>></label> <<run $(() => { $('#checkbox-optionsingredientsautomanage').on('input change', e => { if (!$options.ingredientsAutoManageLewd) Wikifier.wikifyEval('<<replace "#itemList">><<kitchenDisplayRecipes>><</replace>>'); }); $('#checkbox-optionsingredientsautomanagelewd').on('input change', e => { Wikifier.wikifyEval('<<replace "#itemList">><<kitchenDisplayRecipes>><</replace>>'); }); })>> <</if>> </div> <</widget>> <<widget "kitchenDisplayRecipes">> <<kitchenFilter>> <<if _recipeKeys.some(key => key.group isnot "Provided Ingredients")>> <<for _category range _recipesGroups>> <<if !_recipeKeys.find(key => key.group is _category)>><<continue>><</if>> <<set _categoryVar to "_" + _category.replace(" ", "")>> <<foldout false _categoryVar>> <span class="gold"><<print _category.toLocaleUpperFirst()>></span> <<set _filteredRecipes to _recipeKeys.filter(key => key.group is _category)>> <<for $_i, $_keyObject range _filteredRecipes>> <div @id="$_keyObject.key" class="item"><<kitchenDisplayRecipe $_keyObject.key>></div> <<if $_i < _filteredRecipes.length - 1>><hr><</if>> <</for>> <</foldout>> <</for>> <<else>> <div class="info">You haven't learned how to cook yet! Attend housekeeping classes to unlock new recipes.</div> <<for _category range _recipesGroups>> <<if !_recipeKeys.find(key => key.group is _category)>><<continue>><</if>> <<set _categoryVar to "_" + _category.replace(" ", "")>> <<foldout false _categoryVar>> <span class="gold"><<print _category.toLocaleUpperFirst()>></span> <<set _filteredRecipes to _recipeKeys.filter(key => key.group is _category)>> <<for $_i, $_keyObject range _filteredRecipes>> <div @id="$_keyObject.key" class="item"><<kitchenDisplayRecipe $_keyObject.key>></div> <<if $_i < _filteredRecipes.length - 1>><hr><</if>> <</for>> <</foldout>> <</for>> <</if>> <</widget>> <<widget "kitchenDisplayRecipe">> <<set $_setupItem to setup.plants[_args[0]]>> <div class="details"> <div> <<tendingicon $_setupItem.icon>> <<recipe_name _args[0] "cap">> | Owned: <span class="gold"><<print $plants[_args[0]].amount>></span> </div> <<set $_group to _recipeKeys.find((obj) => obj.key is _args[0]).group>> <<switch $_group>> <<case "Missing Ingredients">> <div> <span class="red">Missing:</span> <<print formatList($_setupItem.ingredients.filter(ingredient => { return ingredientsTotal(ingredient, _args[0], true) lte 0 and !ingredientsProvided(ingredient, _args[0]); }).sort(), "and", true).replace(/_/g, " ")>> </div> <<case "Restricted Ingredients">> <div> <span class="red">Restricted:</span> <<print formatList($_setupItem.ingredients.filter(ingredient => { return !ingredientIsAllowed(ingredient); }).sort(), "and", true).replace(/_/g, " ")>> </div> <</switch>> </div> <div class="recipe"> <<capture _args[0]>> <<if $options.images is 1>> <<set _file to `recipe_${setup.plants[_args[0]].type}.png`>> <<link "<<icon _file>>">> <<replace "#altSection">><<kitchenDisplayRecipeDetail _args[0]>><</replace>> <<removeclass "#altSection, #mobileCloser" "mobileHidden">> <</link>> <<else>> <<link "Details">> <<replace "#altSection">><<kitchenDisplayRecipeDetail _args[0]>><</replace>> <<removeclass "#altSection, #mobileCloser" "mobileHidden">> <</link>> <</if>> <</capture>> </div> <</widget>> <<widget "kitchenDisplayRecipeDetail">> <<set $lastRecipeViewed to _recipeKeys.some((obj) => obj.key is _args[0]) ? _args[0] : _recipeKeys[0].key>> <<set $_setupItem to setup.plants[$lastRecipeViewed]>> <div id="basket"> <div> <<tendingicon $_setupItem.icon>> <div class="recipeTitle"><<recipe_name $lastRecipeViewed "cap">>:</div> </div> <div class="mobileOnly"> <<link "Close">> <<addclass "#altSection, #mobileCloser" "mobileHidden">> <</link>> </div> </div> <<set _basketOpen to false>> <div id="basketItems"> Owned: <span class="gold"><<print $plants[$lastRecipeViewed].amount>></span> <<if $_setupItem?.ingredients.length>> <br> Time: <span class="gold"><<print $_setupItem.days>></span> minute<<if $_setupItem.days isnot 1>>s<</if>> <br> Result: <span class="gold"><<print $_setupItem.multiplier>></span> <hr> <</if>> <div id="requiredForRecipe"> <<requiredForRecipe $lastRecipeViewed>> <<kitchenDisplayRecipeMake>> </div> <<knownFoodRecipes $lastRecipeViewed>> </div> <</widget>> <<widget "kitchenDisplayRecipeMake">> <<set $_setupItem to setup.plants[$lastRecipeViewed]>> <<set $_group to _recipeKeys.find((obj) => obj.key is $lastRecipeViewed).group>> <<if $_setupItem?.ingredients.length>> <<switch $_group>> <<case "Restricted Ingredients">> <span class="purple">Some required ingredients are banned in this kitchen.</span> <<case "Missing Ingredients">> <span class="purple">You do not have all the required ingredients.</span> <<default>> <<if $tiredness gte C.tiredness.max>> <span class="purple">You're too tired to cook!</span> <<elseif $_setupItem.ingredients.every(ingredient => $plants[ingredientUsed(ingredient, $lastRecipeViewed)].amount gte 1 or _ingredientsSupplied?.includes(ingredientUsed(ingredient, $lastRecipeViewed)))>> Make: <<set _hours to Math.floor($_setupItem.days / 60)>> <<set _minutes to $_setupItem.days % 60>> <<set _timeString to " (" + (_hours lt 10 ? "0": "") +_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")">> <<link [["1" + _timeString|$passage]]>><<make_recipe $lastRecipeViewed 1>><</link>> <<if $_setupItem.ingredients.every(ingredient => $plants[ingredientUsed(ingredient, $lastRecipeViewed)].amount gte 3 or _ingredientsSupplied?.includes(ingredientUsed(ingredient, $lastRecipeViewed)))>> <<set _hours to Math.floor($_setupItem.days * 3 / 60)>> <<set _minutes to ($_setupItem.days * 3) % 60>> <<set _timeString to " (" + (_hours lt 10 ? "0": "") +_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")">> /* Prevent passing too much time */ <<set _futureTime to new DateTime(Time.date.timeStamp)>> <<set _futureTime to _futureTime.addHours(_hours)>> <<set _futureTime to _futureTime.addMinutes(_minutes)>> <<if !_hourRestriction or _futureTime.hour lt _hourRestriction or _futureTime.minute lte 15>> | <<link [["3" + _timeString|$passage]]>><<make_recipe $lastRecipeViewed 3>><</link>> <</if>> <</if>> <br> <<if $_group is "Provided Ingredients">><span class="purple">This kitchen gives you access to an infinite supply of this item.</span><</if>> <<elseif $_group is "Provided Ingredients">> <span class="purple">You do not have the ingredients to make this item, but you have access to an infinite supply of it in this kitchen.</span> <<else>> <span class="purple">You are missing an ingredient, but may be able to use a substitute.</span> <</if>> <</switch>> <<else>> <<switch $_group>> <<case "Provided">> <span class="purple">This kitchen provides you with an infinite supply of this ingredient.</span> <<case "Restricted Ingredients">> <span class="purple">This ingredient is banned in this kitchen.</span> <<case "Missing Ingredients">> <<if $_setupItem.shop>> <span class="purple">You need to find a means to buy or access these.</span> <<else>> <span class="purple">You need to find a means to access these.</span> <</if>> <</switch>> <</if>> <</widget>> <<widget "requiredForRecipe">> <<if Array.isArray(setup.plants[_args[0]]?.ingredients) and setup.plants[_args[0]]?.ingredients.length gt 0>> Ingredients: <div class="itemSummary"> <<for $_ingredient range clone(setup.plants[_args[0]].ingredients).sort()>> <<set $_usedIngredient to ingredientUsed($_ingredient, _args[0])>> <div class="basketItem"> <<set _icon to setup.plants[$_usedIngredient].ingredientIcon || setup.plants[$_usedIngredient].icon>> <<tendingicon _icon>> <<print $_usedIngredient.replace(/_/g, " ").toLocaleUpperFirst()>> <<if _ingredientsSupplied?.includes($_usedIngredient)>> <span class="gold">(∞)</span> <<else>> <<set _ingredientsUnavailable to $plants[$_usedIngredient].amount gt 0>> <span @class="$plants[$_usedIngredient].amount gt 0 ? 'gold' : 'red'">(<<print $plants[$_usedIngredient].amount>>)</span> <</if>> <<if !$options.ingredientsAutoManage and ingredientsOptions($_ingredient, _args[0]).length gt 1>> <<capture $_ingredient _args[0] _args[1]>> <<link ">>">> <<run ingredientsNextAlternative($_ingredient, _args[0])>> <<replace "#requiredForRecipe">> <<requiredForRecipe _args[0] _args[1]>> <<kitchenDisplayRecipeMake>> <</replace>> <</link>> <</capture>> <</if>> </div> <</for>> </div> <hr> <</if>> <</widget>> <<widget "learn_recipe">> <<if $plants[_args[0]].recipe isnot true>> <span class="gold">You have learned how to make <<recipe_name _args[0]>>!</span> <<tendingicon setup.plants[_args[0]].icon>> <</if>> <<set $plants[_args[0]].recipe to true>> <<set _recipes_known to 0>> <<set _food_keys_recipes to Object.keys(setup.plants)>> <<for _e to 0; _e lt _food_keys_recipes.length; _e++>> <<set _food_recipes to _food_keys_recipes[_e]>> <<if $plants[_food_recipes].recipe is true>> <<set _recipes_known++>> <</if>> <</for>> <<if _recipes_known gte 5>> <<earnFeat "Chef de Tournant">> <</if>> <<if _recipes_known gte 20>> <<earnFeat "Chef de Partie">> <</if>> <<if _recipes_known gte 50>> <<earnFeat "Sous Chef">> <</if>> <</widget>> <<widget "learn_recipe_all">> <<set _food_keys to Object.keys(setup.plants)>> <<for $_i to 0; $_i lt _food_keys.length; $_i++>> <<set _food to _food_keys[$_i]>> <<if setup.plants[_food].ingredients.length gte 1>> <<learn_recipe _food>> <</if>> <</for>> <</widget>> <<widget "make_recipe">> <<tending_give _args[0] `setup.plants[_args[0]].multiplier * (_args[1] or 1)`>> <<for $_ingredient range setup.plants[_args[0]].ingredients>> <<if !_ingredientsSupplied?.includes($_ingredient) or !_ingredientsSupplied?.includes(ingredientUsed($_ingredient, _args[0]))>> <<set $_ingredient to ingredientUsed($_ingredient, _args[0])>> <<tending_give $_ingredient `-(_args[1] or 1)`>> <</if>> <</for>> <<wearProp setup.plants[_args[0]].handheld>> <<pass `setup.plants[_args[0]].days * (_args[1] or 1)`>> <</widget>> <<widget "knownFoodRecipes">> <<if _args[0]>> <<set _knownRecipes to []>> <<run Object.keys(setup.plants).forEach(item => { if (setup.plants[item]?.ingredients.includes(_args[0])) { if ($plants[item].recipe) _knownRecipes.pushUnique(item); } })>> <<if _knownRecipes.length>> <hr> Known Recipes: <br> <<for $_recipe range _knownRecipes>> <div class="recipe"> <div><<tendingicon setup.plants[$_recipe].icon>></div> <div> <mouse class="tooltip"> <<print $_recipe.replace(/_/g, " ").toLocaleUpperFirst()>> <span> Ingredients: <ul> <<for $_secondaryIngredients range setup.plants[$_recipe].ingredients>> <li> <<print $_secondaryIngredients.replace(/_/g, " ").toLocaleUpperFirst()>> <<if _ingredientsSupplied?.includes($_secondaryIngredients)>> <i class="gold">(∞)</i> <<else>> <i class="gold">(<<print $plants[$_secondaryIngredients].amount>>)</i> <</if>> </li> <</for>> </ul> </span> </mouse> </div> </div> <</for>> <<elseif _foundRecipes>> You don't know any recipes that use this item. <</if>> <<if setup.plants[_args[0]]?.type is "food" and Array.isArray($plants[_args[0]].knownFavorite) and $plants[_args[0]].knownFavorite.length>> Known Favourite: <ul> <<for $_npc range $plants[_args[0]].knownFavorite>> <li><<print $_npc>></li> <</for>> </ul> <</if>> <</if>> <</widget>> <<widget "ingredientsSupplied">> <<set _ingredientsSupplied to []>> <<if _args[0]>> <<run _args.forEach(key => _ingredientsSupplied.pushUnique(key))>> <</if>> <</widget>> <<widget "ingredientsExceptions">> <<set _ingredientsExceptions to []>> <<if _args[0]>> <<run _args.forEach(key => _ingredientsExceptions.pushUnique(key))>> <</if>> <</widget>> /* Vrel: If I remember right, that's as far as I got with the UI for the PC eating their own food. Should probably be removed once said feature has been implemented <<widget "food_list">> <summary class="journal"><<print _args[0].toLocaleUpperFirst()>></summary> <<set _food_keys to Object.keys(setup.plants)>> <<for _i to 0; _i lt _food_keys.length; _i++>> <<set _food to _food_keys[_i]>> <<if _args[0] is "sweets" and setup.plants[_food].special.includes("sweet") or _args[0] is "drinks" and setup.plants[_food].special.includes("drink") or _args[0] is "savouries" and !setup.plants[_food].special.includes("sweet") and !setup.plants[_food].special.includes("drink") and setup.plants[_food].type isnot "ingredient">> <<set _recipe_go to true>> <<else>> <<set _recipe_go to false>> <</if>> <<if $plants[_food].recipe is true and _recipe_go is true>> <div class="kitchen-recipe-box"> <div class="recipe-text"><<tendingicon setup.plants[_food].icon>><<print _food.toLocaleUpperFirst().replace(/_/g," ")>></div> Number owned: <<print $plants[_food].amount>> <br> <<if _ingredients_available isnot false>> <<capture _food>> <br> <<if $tiredness gte C.tiredness.max>> <span class="purple">You're too tired to cook!</span> <<else>> <<link [[Make|$passage]]>><<make_recipe _food>><</link>> <</if>> <</capture>> <</if>> <<set _recipe_known to true>> </div> <</if>> <</for>> <<if _recipe_known is false>> <span class="blue">You know no recipes!</span> <span class="gold">You can learn them from the housekeeping class at school.</span> <</if>> <</widget>> <<widget "food_list_all">> <<food_list "savouries">> <br> <<food_list "sweets">> <br> <<food_list "drinks">> <br> <</widget>>*/ <<widget "housekeeping_exam_select">> <<unset $chosen_recipe>> <<set _food_keys to Object.keys(setup.plants)>> <<set _possible_recipes to []>> <<set $_foodOptions to Object.entries(clone(setup.plants)).filter(([key, item]) => !$plants[key].recipe and item.ingredients?.length)>> <<for $_difficulty to 1; $_difficulty lt 5; $_difficulty++>> <<run $_foodOptions.forEach(([key, item]) => { if (item.difficulty is $_difficulty and item.ingredients.every(ingredient => !setup.plants[ingredient].ingredients?.length or $plants[ingredient].recipe)) { _possible_recipes.pushUnique(key); } })>> <<if _possible_recipes.length>> <<set $chosen_recipe to _possible_recipes.pluck()>> <<break>> <</if>> <</for>> <<if !$chosen_recipe>><<set $chosen_recipe to "none">><</if>> <</widget>> <<widget "food_gift_list">> <<set _food_keys to Object.keys(setup.plants)>> <<for _i to 0; _i lt _food_keys.length; _i++>> <<set _food to _food_keys[_i]>> <<if setup.plants[_food].type is "food">> <<if $plants[_food].amount gte 1>> <<set _food_gift_found to true>> <label><<tendingicon setup.plants[_food].icon>><<recipe_name _food "cap">> (<<print $plants[_food].amount>>) <<radiobutton "$gift" setup.plants[_food] checked>></label> | <</if>> <</if>> <</for>> <<if _food_gift_found isnot true>> You don't have any homemade food to gift. <</if>> <br><br> <</widget>> <<widget "give_gift">> <<tending_give $gift.name -1>> <<set $daily.giftedFood[_args[0]] to $gift.name>> <</widget>> <<widget "recipe_name">><<silently>> <<set $_difficultyColour to _args[1]?.includes("difficulty") ? ["","green","blue","purple","pink","red"][setup.plants[_args[0]].difficulty] : "white">> <<set $_recipeName to setup.plants[_args[0]]?.recipe_name or setup.plants[_args[0]].name.replace(/_/g," ")>> <<if _args[1]?.includes("cap")>> <<set $_recipeName to $_recipeName.toUpperFirst()>> <</if>> <</silently>><span @class=$_difficultyColour><<print $_recipeName>></span><</widget>> <<widget "saveFavoriteFood">> <<if C.npc[_args[0]] and setup.plants[_args[1]]?.type is "food">> <<if !$plants[_args[1]].knownFavorite>><<set $plants[_args[1]].knownFavorite to []>><</if>> <<run $plants[_args[1]].knownFavorite.pushUnique(_args[0])>> <</if>> <</widget>> <<widget "recipe_exam_description">> <<if setup.plants[_args[0]].ingredients.length lt 1>> <span class="black">Food item "_args[0]" is not a cookable recipe! Please report this!</span> <<else>> <<if _difficultyNotice is 1>> "We're going to start you off with simpler recipes," River says. "These are easier to make, but still either helpful or tasty. We're starting off with a recipe for <<recipe_name _args[0] "difficulty">>." <<He>> clears <<his>> throat. <<elseif _difficultyNotice is 2>> "We're moving up a level," River says. "You've demonstrated knowledge of the basics. Good. These next dishes are more complex, either because they take longer to make, require more ingredients, or are easier to make mistakes with. Today, you'll be learning to make <<recipe_name _args[0] "difficulty">>." <<He>> clears <<his>> throat. <<elseif _difficultyNotice is 3>> "We're moving to the advanced dishes today," River says. "Generally, the harder a dish, the more 'worth it' making it is. Though that's all subjective, of course. Your first advanced exam will be a recipe for <<recipe_name _args[0] "difficulty">>." <<He>> clears <<his>> throat. <<elseif _difficultyNotice is 4>> River claps to grab the class's attention. "As of today, you will be learning even more difficult dishes. There are not very many dishes left I can teach you. Regardless, these next few exams will be the hardest you've taken in this class yet. The first of them will be a recipe for <<recipe_name _args[0] "difficulty">>." <<He>> clears <<his>> throat. <<else>> "You will be learning a recipe for <<recipe_name _args[0] "difficulty">>," River says. <</if>> <<switch _args[0]>> <<case "apple_crumble">> "Very similar to an apple crisp, but there are differences. It's all in the topping." <<case "apple_strudel">> "If you're making these yourself, I recommend eating them warm. Fortunately, they're also good cold." <<case "arancini">> "Careful you don't burn yourself. Yes, I'll be saying that every time we're working with hot oil. It's important." <<case "bakewell_tart">> "Cherry bakewell tart, specifically. You can experiment with other fruit in your own time." <<case "banana_bread">> "Very similar to pumpkin bread or zucchini bread, but bananas are the cheapest for the academy to buy in bulk." <<case "bangers_and_mash">> "Don't be intimidated by the full plate. It's more arranging than anything." <<case "beef_wellington">> "You remember salmon wellington. This is very similar. Beef is hardier than salmon, so you don't need to be as delicate, but this is compounded by the serving size for beef wellington being larger." <<case "belgian_bun">> "Unlike most pastries, the cherry is not optional. If you used a different berry, it would no longer be a Belgian bun." <<case "bread">> "Homemade bread does not come pre-sliced. Yes, it's inconvenient, but you'll find it tastes far better than store-bought." <<case "brownie">> "I recommend serving warm with a scoop of vanilla ice cream. That's not on the exam, though." <<case "butter">> "I hear those groans. You'll be thanking me when the grocery store only has margarine." <<case "carbonara">> "This uses spaghetti as the base, but as with nearly all pastas, the flavour lies in the sauce. And the pork, in this case." <<case "carrot_cake">> "I know that, by name alone, it doesn't sound appealing. But stow your expectations. I think you'll be surprised." <<case "cauliflower_cheese">> "Don't chop the cauliflower. Break it into pieces with your hands. You'll get more natural bites that way." <<case "cheese">> "Apologies to the lactose intolerant among you, but cheese is a very common ingredient in many dishes." <<case "cheese_and_crackers">> "Always nice when you have guests over. It sounds unimpressive, but this is only a few steps removed from a charcuterie board." <<case "cheese_topped_trout">> "A common culinary rule is that cheese and seafood should never be on the same plate together. Like any culinary rule, sufficiently accomplished chefs can ignore it." <<case "cheeseburger">> "If you can make hamburgers, there's no reason you can't make this. Do not use pre-sliced cheese. Slice your own cheese, it's worth it." <<case "chelsea_bun">> "If you've ever had a cinnamon bun, these are extremely similar. The main difference is that Chelsea buns are more glazed, while cinnamon buns are more frosted." <<case "chicken_tikka_masala">> "The tikka and the masala- or the chicken and the sauce- are made separately, and then combined to simmer. This will test your ability to focus on two different processes at once." <<case "chicken_vindaloo">> "I will be entirely honest with you. This is likely the spiciest dish you'll learn in this class. If you have a problem with spice, well, I'm afraid that's a you problem." <<case "chilli_con_carne">> "Chilli con carne has a thicker sauce than standard chilli, and uses chunks of beef rather than ground beef. Many of the fundamentals are the same, however." <<case "chips">> "One of the most popular side dishes there is, and for a reason." <<case "choc_chip_cookie">> "Do not flatten them before putting them in the oven. Keep the dough in balls. They flatten out while baking." <<case "chocolate">> "This is for using as ingredients, not for eating on its own. That being said, there is no chef on this planet that has <i>never</i> had a nibble anyway." <<case "clam_chowder">> "Chowder is not just a type of soup; it's thicker and creamier. It's also unlike stew, as stew is meatier and tends to lack the cream that chowder has." A few students snicker at the description. River ignores them. <<case "crumpet">> "These are porous, to allow for spreadings to soak in. I recommend eating with honey or jam." <<case "crème_brulee">> "You may have seen recipes saying you need a blow torch for the best effect. That's not true. Broiling it will do just as well." <<case "fish_and_chips">> "Go to any pub in town, and they'll be serving this." <<He>> pauses. "I was speaking generally. That is not encouragement to go to pubs." <<case "flapjack">> "Not pancakes. These are made to be snacks, not breakfast." <<case "flour">> "Not the most exciting recipe, I'm aware, but you'll want to know how to make it. Flour is the foundation of so many meals." <<case "full_english_breakfast">> "It's called a breakfast, but you can have this any time of day. You shouldn't. But you can." <<case "ghostbrew">> <!-- failsafe --> <<He>> pauses. "Wait. This wasn't in the syllabus. You shouldn't be learning about this." <<He>> clicks <<his>> tongue. "<span class="red">Report this to Vrelnir when you have a second.</span> In the meantime, I suppose we'll just... push on." <<case "hamburger">> "The quintessential junk food." <<He>> smiles thinly. "But you're not making junk food. You're learning to make <i>real</i> hamburgers." <<case "honey">> "To be honest, I would prefer if you just bought honey. Foraging for honeycomb is far too dangerous and tedious just to make some dessert. The local stores don't stock it, though, so here we are." <<case "honeyed_pork">> "Adding hints of sweetness to a savoury dish is a common trick. That being said, in this case, the honey sauce is just a glaze applied to the pork." <<case "jam">> "Not jelly. Jam and jelly are two separate things; jam uses fruit, jelly uses fruit juice. We're not getting into preserves." <<case "jammie_dodger">> "If you don't care about looks, you don't need to make the hole shaped exactly like a heart. However, for the sake of this exam, I <i>will</i> be judging aesthetics. Keep that in mind." <<case "kedgeree">> "Some purists will insist haddock is the only option for fish; anything else, like salmon or tuna, and it's not a kedgeree. I don't believe this to be the case, though haddock is notably more traditional than other fish." <<case "lasagne">> "Anyone who makes a 'pasta cake' joke will be on dish cleaning duty." <<case "lemon_meringue_pie">> "The ideal lemon meringue pie is not overpowering in its sourness. It's more tart than anything, blended with sweetness." <<case "lemonade">> "An excellent drink for the summer months, if you wish to cool off. Serve it hot for a satisfactory cold remedy, alongside some honey." <<case "linguine">> "It's recommended you use linguine as a base for other flavours, like seafood or alfredo. However, if your linguine cannot stand on its own, no amount of sauce will cover that up." <<case "macaroni_cheese">> "Remember to boil it for less time than the package says for. It will finish cooking in the oven." <<case "melting_moment">> "A rare pastry that doesn't require eggs to make." <<case "mince_pie">> "This was originally mince<i>meat</i> pie, and the meat was eventually phased out of the recipe. However, the 'mince' part of the name isn't actually derived from mincemeat. Though that's a lesson for English class, perhaps." <<case "naan_bread">> "This makes for an excellent side, especially if you slather it in garlic butter. It's not a main dish, however. A snack at most." <<case "omelette">> "A simple breakfast. You can add anything you want to this, but the exam will only focus on the fundamental technique." <<case "onion_bhaji">> "I'm aware some of you take issue with onion, either due to the taste or the texture. Hopefully, this dish will help you get over that." <<case "orange_juice">> "I see those eye rolls. If you'd like to stuff your body with preservatives, by all means, keep drinking store-bought." <<case "pasta">> "The foundation for so many savoury meals. Much like pastries and sweet dishes." <<if $plants.pastry.recipe>> <<He>> smiles. "Sound familiar?" <</if>> <<case "pastry">> "The foundation for so many sweet meals. Much like pasta and savoury dishes." <<if $plants.pasta.recipe>> <<He>> smiles. "Sound familiar?" <</if>> <<case "peach_panzanella">> "The bread must be cubed, and the peaches must be sliced into wedges. That's not a hard rule for the dish itself, but it's a requirement for this exam. This lesson is primarily about knife control." <<case "pizza">> "This will still end up slightly greasy, I'm afraid. That's just what happens when you cook cheese." <<case "plum_pudding">> "Despite the name, plums aren't actually a required ingredient. Any dried fruit will do. We're using plums for this exam, however." <<case "poached_pear">> "Do not raise the water to boiling temperatures. Poaching is done at lower heat levels." <<case "porridge">> "A good breakfast for when you're in a hurry. I'd recommend adding fruit or honey for taste, but it's edible without." <<case "potato_pancake">> "Very similar to bubble and squeak, but without the vegetables on the side. This makes potato pancakes more fitting as a breakfast, or a snack." <<case "prawn_bisque">> "Do not remove the shells until the prawns have been simmered. This helps the broth gain a lot of flavour you would otherwise lose. The shells are sieved out later." <<case "quiche">> "No, this is not just a savoury pie. Really, the only things they have in common is they both use pie crust." <<case "rich_biscuit">> "If you dunk these into the tea, it's an instant failure." You can't tell if <<hes>> joking or not. <<case "roast_dinner">> "You know how to make everything that goes into this. All that matters now is putting it together." <<case "salad">> "There's more than one type of salad, of course, but most of them share the same fundamentals. If you can make a garden salad, you can probably make a Caesar salad." <<case "salmon_wellington">> "This takes a long time in the oven, and the pastry needs to chill beforehand as well. Those are just waiting periods, though, so we'll be skipping those for the exam. Otherwise we'd be here until lunch." <<case "samosa">> "You can experiment with different shapes in your own time. For now, we're learning how to make them in triangles." <<case "sausage_roll">> "You've already learned how to make sausages. Now it's time to put them to use." <<case "scone">> "Unflavoured, but don't be afraid to experiment in your own time. You could put anything in a scone." <<He>> pauses. "Almost anything." <<case "shortbread">> "Contrary to what the name would have you think, these are a type of cookie. You won't be making sandwiches with these." <<case "soufflé">> "As far as desserts go, this recipe has a reputation for a reason. It's easy to mess up, and hard to get perfect. Pay close attention while preparing." <<case "spaghetti_bolognese">> "Take care to remove the bay leaves when you're finished. They impart flavour during the cooking process, but they should not be eaten themselves." <<case "sponge_cake">> "The ideal sponge cake should be so fluffy, you barely notice it's there. ...That's a joke. If you can't notice if your cake is there, you likely haven't made anything." <<case "steak">> "I'm sure many of you have been waiting for this one. To be quite honest, I've been waiting for it too." <<case "sticky_toffee_pudding">> "As with all cakes, be careful not to overbake it. When in doubt, use the toothpick trick." <<case "stuffing">> "Thanksgiving isn't a proper holiday here, like it is overseas. That means you can make this any time of year without feeling guilty." <<case "sweet_and_sour_chicken">> "Fried, not baked. Not deep-fried, though. We're making food, not junk." <<case "swiss_roll">> "Most Swiss rolls are dark brown, due to the chocolate used. However, the chocolate is optional. We'll be skipping it for this recipe." <<case "tart">> "It tastes exactly how the name suggests." <<case "turnip_soup">> "This is a meal I've made more times than I can count. Not the most exciting dish, but keeps your stomach full and warm." <<case "wolfbrew">> <!-- failsafe --> <<He>> pauses. "Wait. This wasn't in the syllabus. You shouldn't be learning about this." <<He>> clicks <<his>> tongue. "<span class="red">Report this to Vrelnir when you have a second.</span> In the meantime, I suppose we'll just... push on." <<case "yorkshire_pudding">> "This isn't the type of pudding you would have for dessert. If you're making this alongside roast beef, use the meat drippings for extra flavour." <<default>> "Let's get right into it." <<if $debug is 1 or $options.debugdisable is "f">> <span class="black">Food item "_args[0]" does not have an exam description!</span> <</if>> <</switch>> <<if setup.plants[_args[0]].ingredients.includes("chicken_egg") and !$housekeepingTips.includes("alternativeEgg")>> <<set $housekeepingTips.pushUnique("alternativeEgg")>> <br><br> "Most recipes will call for standard eggs, those being chicken eggs," <<he>> adds. "But keep in mind that <span class="gold">any type of egg can be used as a substitute</span> if you don't have chicken eggs." <</if>> <<if _args[0] is "lasagne" and !$housekeepingTips.includes("alternativeLasagne")>> <<set $housekeepingTips.pushUnique("alternativeLasagne")>> <br><br> "Lasagne is typically made with beef," <<he>> adds. "But if you don't have any beef, or if you'd just prefer a different flavour, <span class="gold">you can also substitute chicken instead</span>. Not pork, though." <</if>> <</if>> <br><br> <</widget>> <<widget "allowLewdIngredients">> <<set _allowLewdIngredients to true>> <<if !$housekeepingTips.includes("alternativeLewd") and $plants.bottle_of_breast_milk.amount + $plants.bottle_of_semen gte 1>> <<set $housekeepingTips.pushUnique("alternativeLewd")>> You doubt you could get away with it in more controlled kitchens, but this kitchen seems quite free. If you're running short on milk or cream, <span class="gold">you may be able substitute with lewder ingredients</span>. <</if>> <</widget>><<widget "init_locations">> /* parent: the location this location is in. values are inherited from here area: marker for locations that represent large areas with many locations inside. you don't usually want to set the pc location to them. use a more specialised location instead. bus: marker for sub-areas within the town outside: if the location is outside or indoors tanning: factor applied to tanning. only used for outside locations location: locations that should show up in C.location, don't set this on e.g. indoor variants or single rooms. you can get those with C.sublocation if you need them */ <<script>> setup.addlocation = function(location) { setup.locations[location] = { name: location, parent: "world" }; return { data: setup.locations[location], parent: function(parent) { this.data.parent = parent; return this; }, area: function() { this.data.area = true; return this; }, bus: function() { this.data.bus = true; return this; }, outside: function() { this.data.outside = 1; return this; }, inside: function() { this.data.outside = 0; return this; }, tanning: function(tanning) { this.data.tanning = tanning; return this; }, descr: function(descr) { this.data.descr = descr; return this; }, location: function(name = undefined) { this.data.location = true; this.data.location_name = name; /* override for weird inheritance, e.g. drains */ return this; }, build: function() { if (this.data.descr === undefined) { this.data.descr = this.data.name.replace(/_/, " ").replace(/(^|\s)\S/g, function(t) { return t.toUpperCase() }); } let parent = this.data.name; while (parent !== undefined) { if (this.data.area_name === undefined && setup.locations[parent].area) { this.data.area_name = setup.locations[parent].name; } if (this.data.location_name === undefined && setup.locations[parent].location) { this.data.location_name = setup.locations[parent].name; } if (this.data.bus_name === undefined && setup.locations[parent].bus) { this.data.bus_name = setup.locations[parent].name; } if (this.data.outside === undefined && setup.locations[parent].outside !== undefined) { this.data.outside = setup.locations[parent].outside; } if (this.data.tanning === undefined && setup.locations[parent].tanning !== undefined) { this.data.tanning = setup.locations[parent].tanning; } parent = setup.locations[parent].parent; } if (!this.data.outside) { this.data.tanning = 0; } } }; }; setup.locations = { world: { parent: undefined, area: true, location: true, bus: false, outside: 1, tanning: 1.0 } }; setup.addlocation( "town" ).parent("world").area().location().tanning(0.5).build(); setup.addlocation( "alley" ).parent("town").location().build(); setup.addlocation( "beach" ).parent("town").location().tanning(1.1).build(); setup.addlocation( "changingroom" ).parent("beach").inside().build(); setup.addlocation( "seabeach" ).parent("beach").bus().tanning(1.0).build(); setup.addlocation( "drain" ).parent("town").location().inside().build(); setup.addlocation( "sewers" ).parent("drain").location().build(); setup.addlocation( "underground" ).parent("town").location().inside().build(); /* both underground brothel and various caves */ setup.addlocation( "promenade" ).parent("town").location().build(); setup.addlocation( "residential" ).parent("town").bus().build(); setup.addlocation( "domus" ).parent("residential").bus().build(); setup.addlocation( "home" ).parent("domus").location().inside().build(); setup.addlocation( "backyard" ).parent("home").outside().build(); setup.addlocation( "garden" ).parent("home").outside().build(); setup.addlocation( "barb" ).parent("residential").bus().build(); setup.addlocation( "dance_studio" ).parent("barb").location().inside().build(); setup.addlocation( "police_station" ).parent("barb").location().inside().build(); setup.addlocation( "flats" ).parent("barb").location().inside().build(); setup.addlocation( "canal" ).parent("barb").location().inside().build(); setup.addlocation( "mines" ).parent("flats").location().inside().build(); setup.addlocation( "danube" ).parent("residential").bus().build(); setup.addlocation( "spa" ).parent("danube").location().inside().build(); setup.addlocation( "kylarmanor" ).parent("danube").location("kylar_manor").bus().inside().build(); setup.addlocation( "kylarmanor_outside" ).parent("kylarmanor").location("kylar_manor").bus().outside().build(); setup.addlocation( "kylarmanor_grounds" ).parent("kylarmanor_outside").location("kylarmanor_grounds").bus().outside().build(); setup.addlocation( "wolf" ).parent("residential").bus().build(); setup.addlocation( "temple" ).parent("danube").location().inside().build(); setup.addlocation( "residential_alley" ).parent("residential").location("alley").build(); setup.addlocation( "residential_drain" ).parent("residential").location("drain").inside().build(); setup.addlocation( "commercial" ).parent("town").bus().location().build(); setup.addlocation( "connudatus" ).parent("town").bus().build(); setup.addlocation( "strip_club" ).parent("connudatus").location().inside().build(); setup.addlocation( "cliff" ).parent("town").bus().build(); setup.addlocation( "townhall" ).parent("cliff").location().inside().build(); setup.addlocation( "cafe" ).parent("cliff").location().inside().build(); setup.addlocation( "cafe_outside" ).parent("cafe").outside().build(); /* outside seating */ setup.addlocation( "high" ).parent("town").bus().build(); setup.addlocation( "shopping_centre" ).parent("high").location().inside().build(); setup.addlocation( "shopping_centre_roof" ).parent("shopping_centre").location().inside().build(); setup.addlocation( "office" ).parent("high").location().inside().build(); setup.addlocation( "starfish" ).parent("town").bus().build(); setup.addlocation( "arcade" ).parent("starfish").location().inside().build(); setup.addlocation( "nightingale" ).parent("town").bus().build(); setup.addlocation( "hospital" ).parent("nightingale").location().inside().build(); setup.addlocation( "park" ).parent("town").location().tanning(0.75).build(); setup.addlocation( "parkmens" ).parent("park").inside().bus().descr("Men's Room").build(); setup.addlocation( "parkwomens" ).parent("park").inside().bus().descr("Women's Room").build(); setup.addlocation( "chocolate_stand" ).parent("park").inside().build(); setup.addlocation( "parkcafe" ).parent("park").inside().build(); setup.addlocation( "parktree" ).parent("park").inside().descr("Park").build(); setup.addlocation( "oxford" ).parent("town").bus().build(); setup.addlocation( "school" ).parent("oxford").location().inside().build(); setup.addlocation( "schoolgrounds" ).parent("school").outside().build(); setup.addlocation( "pool" ).parent("school").location().build(); setup.addlocation( "museum" ).parent("oxford").location().inside().build(); setup.addlocation( "commercial_alley" ).parent("commercial").location("alley").build(); setup.addlocation( "commercial_drain" ).parent("commercial").location("drain").inside().build(); setup.addlocation( "pound" ).parent("starfish").location().inside().build(); setup.addlocation( "industrial" ).parent("town").bus().location().build(); setup.addlocation( "mer" ).parent("industrial").bus().build(); setup.addlocation( "docks" ).parent("mer").location().outside().build(); setup.addlocation( "docks_building" ).parent("docks").inside().build(); setup.addlocation( "elk" ).parent("industrial").bus().build(); setup.addlocation( "compound" ).parent("elk").location().build(); setup.addlocation( "compound_building" ).parent("compound").location().inside().build(); setup.addlocation( "landfill" ).parent("elk").location().build(); setup.addlocation( "night_monster_lair" ).parent("elk").location().inside().build(); setup.addlocation( "harvest" ).parent("industrial").bus().build(); setup.addlocation( "brothel" ).parent("harvest").location().inside().build(); setup.addlocation( "pub" ).parent("harvest").location().inside().build(); setup.addlocation( "industrial_alley" ).parent("industrial").location("alley").build(); setup.addlocation( "industrial_drain" ).parent("industrial").location("drain").inside().build(); setup.addlocation( "forest" ).parent("world").area().location().tanning(0.1).build(); setup.addlocation( "churchyard" ).parent("forest").location().outside().tanning(0.1).build(); setup.addlocation( "sepulchre" ).parent("churchyard").location().inside().build(); setup.addlocation( "wolf_cave" ).parent("forest").location().inside().build(); setup.addlocation( "wolf_cave_yard" ).parent("wolf_cave").outside().tanning(0.5).build(); setup.addlocation( "asylum" ).parent("forest").location().inside().build(); setup.addlocation( "asylum_yard" ).parent("asylum").outside().tanning(0.5).build(); setup.addlocation( "cabin" ).parent("forest").location().inside().build(); setup.addlocation( "lake" ).parent("forest").location().tanning(1.0).build(); setup.addlocation( "lake_ruin" ).parent("lake").location().inside().build(); setup.addlocation( "lake_office" ).parent("lake").location("lake_office").inside().build(); setup.addlocation( "farmroad3" ).parent("forest").bus().tanning(1.0).build(); setup.addlocation( "plains" ).parent("world").area().build(); setup.addlocation( "farm" ).parent("plains").location().build(); /* underground farm */ setup.addlocation( "estate" ).parent("farm").location().build(); setup.addlocation( "alex_farm" ).parent("plains").location().build(); setup.addlocation( "alex_cottage" ).parent("alex_farm").location().inside().build(); setup.addlocation( "alex_stables" ).parent("alex_farm").inside().build(); setup.addlocation( "riding_school" ).parent("plains").location().build(); setup.addlocation( "moor" ).parent("plains").location().build(); setup.addlocation( "castle" ).parent("moor").location().build(); setup.addlocation( "tower" ).parent("castle").location().build(); setup.addlocation( "sea" ).parent("world").area().location().bus().build(); setup.addlocation( "searocks" ).parent("sea").bus().build(); setup.addlocation( "seadocks" ).parent("sea").bus().build(); setup.addlocation( "seacliffs" ).parent("sea").bus().build(); setup.addlocation( "pirate_ship" ).parent("sea").location().inside().build(); setup.addlocation( "coastpath" ).parent("sea").location().build(); setup.addlocation( "prison" ).parent("sea").location().inside().build(); setup.addlocation( "prison_beach" ).parent("prison").location().tanning(1.1).build(); setup.addlocation( "island" ).parent("sea").location().build(); setup.addlocation( "tentworld" ).parent("world").area().location().tanning(0).inside().build(); /* TODO: remove inside() when consuming code has been adapted */ <</script>> <</widget>> <!-- This shall replace all "set $location/$outside/$bus" when this system is fully implemented --> <<widget "location">> <<set _location to _args[0]>> <<if ndef setup.locations[_location]>> <<set $locationerror to _location>> /* unused */ <<else>> <<set $sublocation to _location>> <<set $area to CU.area>> <<set $location to CU.location>> <<if def CU.bus>> <<set $bus to CU.bus>> <</if>> <<set $outside to CU.outside>> <</if>> <</widget>> <!-- Do NOT use these computes until all "set $location"s have been eliminated! --> <<compute "area">> setup.locations[$sublocation].area_name <</compute>> <<compute "location">> setup.locations[$sublocation].location_name <</compute>> <<compute "sublocation">> setup.locations[$sublocation].name <</compute>> <<compute "bus">> setup.locations[$sublocation].bus_name <</compute>> <<compute "outside">> setup.locations[$sublocation].outside <</compute>> <<compute "tanning">> setup.locations[$sublocation].tanning <</compute>> <<compute "location_pretty_name">> setup.locations[$sublocation].descr <</compute>><<widget "calchairlengthstage">> <<if $hairlength gte 1000>> <<set $hairlengthstage to "feet">> <<elseif $hairlength gte 800>> <<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>> <<if $fringelength gte 1000>> <<set $fringelengthstage to "feet">> <<elseif $fringelength gte 800>> <<set $fringelengthstage to "thighs">> <<elseif $fringelength gte 600>> <<set $fringelengthstage to "navel">> <<elseif $fringelength gte 400>> <<set $fringelengthstage to "chest">> <<elseif $fringelength gte 200>> <<set $fringelengthstage to "shoulder">> <<else>> <<set $fringelengthstage to "short">> <</if>> <<set $hairlength = Math.clamp($hairlength, 0, 1000)>> <<set $fringelength = Math.clamp($fringelength, 0, 1000)>> <</widget>> <<widget "mirror">> <div id="mirror"> <<if _args[0] isnot undefined>> <<mirrorDisplay _args[0]>> <<else>> <<mirrorDisplay>> <</if>> </div> <</widget>> <<widget "preMirror">> <<if (Browser.isMobile).any()>> <<set $showMannequins to 0>> <<else>> <<set $showMannequins to 1>> <</if>> <</widget>> <<widget "postMirror">> <<shopClothingFilterReset>> /* Due to the reusing of shop code */ <</widget>> <<widget "mirrorDisplay">> <<switch $mirrorMenu>> <<case "appearance">> <<if playerBellyVisible(true) and !playerAwareTheyArePregnant()>> <<mirrorAppearancePregnancy>> <<else>> <<mirrorAppearance>> <</if>> <<case "body">> <<visual-settings>> <<case "skin">> <<mirrorSkin>> <<case "hair">> <<mirrorHair>> <<case "makeup">> <<mirrorMakeup>> <<case "transformation">> <<mirrorTransformation>> <<default>> <<mirrorMenu _args[0]>> <</switch>> <<calchairlengthstage>> <br><br> <</widget>> <<widget "mirrorwet">> <<if _args[1] or _args[2] or _args[3]>> <br> <<set $_part to _args[0]>> <<set $_semen to _args[1]>> <<set $_slime to _args[2]>> <<set $_nectar to _args[3]>> Your $_part <<if $_part is "thighs" or $_part is "feet">> are <<else>> is <</if>> <<if $_semen gt 0>> <<switch Math.clamp($_semen, 1, 5)>> <<case 1>> <span class="blue">moist</span> with <<case 2>> <span class="purple">wet</span> with <<case 3>> <span class="purple">slick</span> with <<case 4>> <span class="pink">soaked</span> in <<case 5>> <span class="red">drenched</span> in <</switch>> <<if $_slime gt 0 and $_nectar gt 0>> semen, <<elseif $_slime gt 0 or $_nectar gt 0>> semen and <<else>> semen. <</if>> <</if>> <<if $_slime gt 0>> <<switch Math.clamp($_slime, 1, 5)>> <<case 1>> <span class="blue">moist</span> with <<case 2>> <span class="purple">wet</span> with <<case 3>> <span class="purple">slick</span> with <<case 4>> <span class="pink">soaked</span> in <<case 5>> <span class="red">drenched</span> in <</switch>> <<if $_nectar gt 0>> slime and <<else>> slime. <</if>> <</if>> <<if $_nectar gt 0>> <<switch Math.clamp($_nectar, 1, 5)>> <<case 1>> <span class="blue">moist</span> with <<case 2>> <span class="purple">wet</span> with <<case 3>> <span class="purple">slick</span> with <<case 4>> <span class="pink">soaked</span> in <<case 5>> <span class="red">drenched</span> in <</switch>> nectar. <</if>> <</if>> <</widget>> <<widget "mirrorMenu">> <<set $_mirror to _args[0] || 'mirror'>> You look into the $_mirror. <<if $fallenangel is 2>> A pathetic excuse of a person <<elseif $hallucinogen gte 200>> The $_mirror melts away into an inky black puddle, floating before you. <<if $_mirror is 'mirror'>> Shards of glass graze past your skin and dissolve into the air. <</if>> <br> You stare into the void, and the void <<elseif $hallucinogen gte 100>> The surface folds over itself at an angle you can't quite understand, and something unrecognisable <<elseif $hallucinogen gt 0>> The surface ripples at your presence, and a vaguely familiar <<girl>> <<elseif $trauma gte $traumamax>> A <<girl>> with glazed eyes <<else>> A <<= $pain gte 100 ? "crying" : $pain gte 40 ? "tearful" : $pain gte 1 ? "frowning" : "cheerful">> <<girl>> <</if>> stares back. <<if ["haunt", "despair"].includes($wraith.state) and $hallucinations gte 1 and ((random(1, 100) is 1) or ($controlled is 0 and random(1, 100) lte 5))>> <span class="fading">A pale figure stands behind.</span> <</if>> <br><br> <<crimeicon "mark">><<link "Examine how you are seen by others">><<set $mirrorMenu to "appearance">><<replace #mirror>><<mirrorDisplay>><</replace>><<numberify "#passages > .passage">><</link>> <br><br> <<if !$simpleMirror>> __Appearance__ <br> <<investigateicon>><<link "Examine your body">><<set $mirrorMenu to "skin">><<replace #mirror>><<mirrorDisplay>><</replace>><<numberify "#passages > .passage">><</link>> <br><br> <</if>> __Hair__ <br> <<hairdressericon "hairspray">><<link "Change your hair style">><<set $mirrorMenu to "hair">><<replace #mirror>><<mirrorDisplay>><</replace>><<numberify "#passages > .passage">><</link>> <br><br> __Makeup__ <br> <<cosmeticsicon>><<link "Apply makeup">><<set $mirrorMenu to "makeup">><<replace #mirror>><<mirrorDisplay>><</replace>><<numberify "#passages > .passage">><</link>> <br><br> <<if $worn.neck.name is "love locket">> __Locket__ <br> <span @class="'clothes-'+$worn.neck.colour.replace(' ','-')"><<icon "locket.png">></span><<link [[Customise locket|Mirror Locket]]>><<set $passage_mirror to $passage>><</link>> <br><br> <</if>> <<if !$simpleMirror>> <<if $specialTransform is 1 or $physicalTransform is 1>> __Transformation__ <br> <<if $demon gte 6>><<tficon "demon">> <<elseif $wolf gte 6>><<tficon "wolf">> <<elseif $angel gte 6>><<tficon "angel">> <<elseif $fallenangel gte 2>><<tficon "fallenangel">> <<elseif $cat gte 6>><<tficon "cat">> <<elseif $cow gte 6>><<tficon "cow">> <<elseif $harpy gte 6>><<tficon "bird">> <<elseif $fox gte 6>><<tficon "fox">> <<else>><<tficon "angel">> <</if>> <<link "Examine your inner self">><<set $mirrorMenu to "transformation">><<replace #mirror>><<mirrorDisplay>><</replace>><<numberify "#passages > .passage">><</link>> <<else>> Obtain otherworldly powers to examine further. <</if>> <</if>> <br><br> <</widget>> <<widget "mirrorGender">> <div class="settingsGrid"> <div class="settingsHeader">Gender Appearance</div> <<settextcolorfromfemininity $player.femininity>> <div class="settingsToggleItem"> You look like a <span @class="_text_color"><<if playerBellyVisible(true)>>pregnant <</if>><<girl>>.</span> </div> <div class="settingsToggleItem"> <span class="gold bold">Gender:</span> <br> <label class="blue">Male <<radiobutton "$player.gender" "m" autocheck>></label> | <label class="pink">Female <<radiobutton "$player.gender" "f" autocheck>></label> | <label class="purple">Neither <<radiobutton "$player.gender" "n" autocheck>></label> <br> <span class="small-description">How you see yourself. Does not change your genitals or affect how other people perceive you.</span> </div> <div class="settingsToggleItem"> <span class="gold bold">Contributing Factors:</span> <br> <<for _x range $player.gender_appearance_factors>> <<if _x.femininity is 0 or !_x.factor>> <<continue>> <</if>> <<settextcolorfromfemininity _x.femininity>> <span @class="_text_color"> _x.factor <<if $debug is 1>> _x.femininity <<else>> <<print "+".repeat( Math.trunc(Math.clamp( Math.abs(_x.femininity) / 100, 0, 10 )) )>> <</if>> </span> <br> <</for>> <<if $debug is 1>> <<settextcolorfromfemininity $player.femininity>> Total femininity: <span @class="_text_color">$player.femininity</span> <br> <</if>> </div> <div class="settingsToggleItem"> <span class="gold bold">Behaviour:</span> <br> <<if $player.gender_posture is "n">> You turn around to get a look at yourself. You look like a <<girl>>. Maybe if you carried yourself differently, you could change that. <<elseif $player.gender_posture is "f">> You strike a few girly poses and put on your best feminine voice. <br> <span class="pink">Others will be more likely to think that you're a girl.</span> <<elseif $player.gender_posture is "m">> You flex your muscles and add some gruff to your voice. <br> <span class="lblue">Others will be more likely to think that you're a boy.</span> <</if>> <br><br> <<set _postures to ["masculine", "feminine", "natural"]>> Posture: <<capture _i>> <<for _i = 0; _i < _postures.length; _i++>> <span @class="$player.gender_posture is _postures[_i].charAt(0) ? 'goldLink no-numberify' : 'unselected no-numberify'"> <<link _postures[_i].toUpperFirst()>> <<set $player.gender_posture to _postures[_i].charAt(0)>> <<exposedcheck>> <<replace "#mirrorGender">><<mirrorGender>><</replace>> <</link>> </span> <<= _i lt _postures.length - 1 ? "|" : "">> <</for>> <</capture>> </div> </div> <</widget>> <<widget "mirrorAppearance">> <<mirroricon>><<link "Back">><<replace #mirror>><<mirrorMenu>><</replace>><<numberify "#passages > .passage">><<unset $mirrorMenu>><</link>> <br><br> <span id="mirrorGender"> <<mirrorGender>> </span> <hr> <div class="settingsGrid"> <<set _increaseAllure to []>> <<set _increaseAttractive to []>> <<set _increaseBoth to (name) => { _increaseAllure.push(name); _increaseAttractive.push(name); }>> <<if $beauty gte ($beautymax / 7) * 6>> <<run _increaseBoth("Beauty: Divine +++++")>> <<elseif $beauty gte ($beautymax / 7) * 5>> <<run _increaseBoth("Beauty: Ravishing ++++")>> <<elseif $beauty gte ($beautymax / 7) * 4>> <<run _increaseBoth("Beauty: Beautiful +++")>> <<elseif $beauty gte ($beautymax / 7) * 3>> <<run _increaseBoth("Beauty: Charming ++")>> <<elseif $beauty gte ($beautymax / 7) * 2>> <<run _increaseBoth("Beauty: Pretty +")>> <<elseif $beauty gte ($beautymax / 7)>> <<run _increaseBoth("Beauty: Cute")>> <</if>> <<run _increaseBoth(`Hair length ${$hairlength gte 333 ? "+".repeat($hairlength gte 666 ? 2 : 1) : ""}`)>> <<if $worn.upper.type.includes("naked")>> <<run _increaseBoth("Topless")>> <<elseif $worn.upper.reveal gte 500>> <<run _increaseBoth("Revealing top")>> <</if>> <<if $worn.lower.type.includes("naked")>> <<run _increaseBoth("Bottomless")>> <<elseif $worn.lower.reveal gte 500>> <<run _increaseBoth("Revealing bottoms")>> <</if>> <<if $worn.under_lower.type.includes("naked")>> <<run _increaseBoth("Pantiless")>> <<elseif $worn.under_lower.reveal gte 500>> <<run _increaseBoth("Sexy underwear")>> <</if>> <<if $wolfgirl gte 6>> <<run _increaseBoth(`Wolfy ${"+".repeat(2 - ["ears", "tail"].filter(p => $transformationParts.wolf[p] is "hidden").length)}`)>> <</if>> <<if $cat gte 6>> <<run _increaseBoth(`Catlike ${"+".repeat(2 - ["ears", "tail"].filter(p => $transformationParts.cat[p] is "hidden").length)}`)>> <</if>> <<if $cow gte 6>> <<run _increaseBoth(`Bovine ${"+".repeat(2 - Math.ceil(["ears", "tail", "horns"].filter(p => $transformationParts.cow[p] is "hidden").length / 2))}`)>> <</if>> <<if $harpy gte 6>> <<run _increaseBoth(`Harpy ${"+".repeat(2 - Math.ceil(["tail", "eyes", "malar", "plumage", "wings"].filter(p => $transformationParts.bird[p] is "hidden").length / 3))}`)>> <</if>> <<if $fox gte 6>> <<run _increaseAttractive.push(`Vulpine ${"+".repeat(3 - ["ears", "tail"].filter(p => $transformationParts.fox[p] is "hidden").length)}`)>> <<run _increaseAllure.push(`Foxy ${"+".repeat(3 - ["ears", "tail"].filter(p => $transformationParts.fox[p] is "hidden").length)}`)>> <</if>> <<if $angel gte 6>> <<run _increaseBoth(`Angel ${"+".repeat(2 - ["halo", "wings"].filter(p => $transformationParts.angel[p] is "hidden").length)}`)>> <</if>> <<if $fallenangel gte 2>> <<run _increaseBoth(`Fallen angel ${"+".repeat(2 - ["halo", "wings"].filter(p => $transformationParts.fallenAngel[p] is "hidden").length)}`)>> <</if>> <<if $demon gte 6>> <<run _increaseBoth(`Demon ${"+".repeat(2 - Math.ceil(["horns", "tail", "wings"].filter(p => $transformationParts.demon[p] is "hidden").length / 2))}`)>> <</if>> <<if $earSlime.growth gt 50>> <<run _increaseAllure.push(`Ear slime pheromones${$earSlime.growth gt 75 ? " " + "+".repeat(Math.ceil(($earSlime.growth - 75) / 25)): ""}`)>> <</if>> <<if $makeup.lipstick != 0 or $makeup.eyeshadow != 0 or $makeup.mascara != 0 or $makeup.blusher != 0>> <<run _increaseAllure.push("Alluring makeup")>> <<run _increaseAttractive.push("Attractive makeup")>> <</if>> <<if $worn.upper.reveal + $worn.lower.reveal gte 50>> <<set $_outfit to $worn.lower.name is "naked" or ($worn.upper.name is "naked" and $player.perceived_breastsize gt 2) ? '"outfit"' : 'outfit'>> <<run _increaseAllure.push(`Alluring ${$_outfit} ${"+".repeat(Math.floor(($worn.upper.reveal + $worn.lower.reveal) / 400))}`)>> <<run _increaseAttractive.push(`Attractive ${$_outfit} ${"+".repeat(Math.floor(($worn.upper.reveal + $worn.lower.reveal) / 400))}`)>> <</if>> <<if $worn.head.reveal gte 50>> <<run _increaseAllure.push(`Alluring headwear ${"+".repeat(Math.floor($worn.head.reveal / 200))}`)>> <<run _increaseAttractive.push(`Attractive headwear ${"+".repeat(Math.floor($worn.head.reveal / 200))}`)>> <</if>> <<if $worn.face.reveal gte 50>> <<run _increaseAllure.push(`Alluring face accessory ${"+".repeat(Math.floor($worn.face.reveal / 200))}`)>> <<run _increaseAttractive.push(`Attractive face accessory ${"+".repeat(Math.floor($worn.face.reveal / 200))}`)>> <</if>> <<if $worn.neck.reveal gte 50>> <<run _increaseAllure.push(`Alluring neck accessory ${"+".repeat(Math.floor($worn.neck.reveal / 200))}`)>> <<run _increaseAttractive.push(`Attractive neck accessory ${"+".repeat(Math.floor($worn.neck.reveal / 200))}`)>> <</if>> <<if $worn.legs.reveal gte 50>> <<run _increaseAllure.push(`Alluring legwear ${"+".repeat(Math.floor($worn.legs.reveal / 200))}`)>> <<run _increaseAttractive.push(`Attractive legwear ${"+".repeat(Math.floor($worn.legs.reveal / 200))}`)>> <</if>> <<if $worn.feet.reveal gte 50>> <<run _increaseAllure.push(`Alluring shoes ${"+".repeat(Math.floor($worn.feet.reveal / 200))}`)>> <<run _increaseAttractive.push(`Attractive shoes ${"+".repeat(Math.floor($worn.feet.reveal / 200))}`)>> <</if>> <<if Weather.dayState is "night">> <<run _increaseAllure.push("Night")>> <</if>> <<if $exposed gte 1>> <<run _increaseAllure.push("Exposed")>> <</if>> <<if $liquidcount gte 1>> <<run _increaseAllure.push("Smell of lewd fluids")>> <</if>> <<if $liquidcount gte 10>> <<run _increaseAllure.push("Covered in lewd fluids")>> <</if>> <<if $liquidcount gte 30>> <<run _increaseAllure.push("Drenched in lewd fluids")>> <</if>> <<if Time.isBloodMoon()>> <<run _increaseAllure.push("Full moon")>> <</if>> <<set _negLabels = [ { threshold: 1000, class: "red", label: "Notorious" }, { threshold: 600, class: "pink", label: "Famous" }, { threshold: 400, class: "purple", label: "Recognised" }, { threshold: 200, class: "blue", label: "Known" }, { threshold: 100, class: "lblue", label: "Low-key" }, { threshold: 30, class: "teal", label: "Obscure" } ]>> <<set _posLabels = [ { threshold: 1000, class: "green", label: "Notorious" }, { threshold: 600, class: "teal", label: "Famous" }, { threshold: 400, class: "lblue", label: "Recognised" }, { threshold: 200, class: "blue", label: "Known" }, { threshold: 100, class: "purple", label: "Low-key" }, { threshold: 30, class: "pink", label: "Obscure" } ]>> <<set _neg = [ { type: "sex", name: "slut" }, { type: "prostitution", name: "whore" }, { type: "rape", name: "fucktoy" }, { type: "bestiality", name: $bestialitydisable is "f" ? "bitch" : "monster fucker" }, { type: "exhibitionism", name: "flaunter" }, { type: "pregnancy", name: $fame.pregnancy gte 1000 ? "broodmother" : ($fame.pregnancy gte 400 ? "breeder" : "mother") }, { type: "impreg", name: $fame.impreg gte 1000 ? "allfather" : ($fame.impreg gte 400 ? "sire" : "inseminator") }, ]>> <<set _pos = [ { type: "scrap", name: "scrapper" }, { type: "good", name: "do-gooder" }, { type: "business", name: "entrepreneur" }, { type: "social", name: $fame.social gte 1000 ? "schmoozer" : "socialite" }, { type: "model", name: $fame.model gte 1000 ? "show off" : "model" }, ]>> <<set _decreaseAllure to _pos.some(fame => (_posLabels.some(status => $fame[fame.type] >= status.threshold)))>> <div class="settingsHeader">Attractiveness</div> <div class="settingsToggleItemWide"> <i>Attractiveness</i> measures your ability to use your looks to your advantage. <br> Rating: <<if $attractiveness gte 5000>> <span class="green">S</span> <<elseif $attractiveness gte 4000>> <span class="teal">A</span> <<elseif $attractiveness gte 3000>> <span class="lblue">B</span> <<elseif $attractiveness gte 2000>> <span class="blue">C</span> <<elseif $attractiveness gte 1000>> <span class="purple">D</span> <<else>> <span class="pink">F</span> <</if>> </div> <div class="settingsToggleItemWide"> <span class="gold bold">Contributing Factors:</span> <br> <span class="green"> <<for _item range _increaseAttractive>> <<= _item>> <br> <</for>> </span> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader">Allure</div> <div class="settingsToggleItemWide"> <i>Allure</i> is the dark side of attractiveness, and measures how much people will want to molest you. <br> Currently: <<if $allure gte 6000 * $alluremod>> <span class="red">You look like you need to be ravaged.</span> <<elseif $allure gte 4000 * $alluremod>> <span class="pink">You look perverted.</span> <<elseif $allure gte 3000 * $alluremod>> <span class="purple">You look lewd.</span> <<elseif $allure gte 2000 * $alluremod>> <span class="blue">You stand out.</span> <<elseif $allure gte 1500 * $alluremod>> <span class="lblue">You attract attention.</span> <<elseif $allure gte 1000 * $alluremod>> <span class="teal">You attract glances.</span> <<else>> <span class="green">You look unremarkable.</span> <</if>> </div> <div @class="_decreaseAllure ? 'settingsToggleItem' : 'settingsToggleItemWide'"> <span class="gold bold">Increasing Allure:</span> <br> <span class="red"> <<for _item range _increaseAllure>> <<= _item>> <br> <</for>> </span> <<if !["island"].includes($location)>> <<for _fame range _neg>> <<set _famous = _negLabels.find(status => $fame[_fame.type] >= status.threshold)>> <<if _famous>> <span @class="_famous.class">Fame: <<= _famous.label>> <<= _fame.name>> <<= "+".repeat([30, 100, 200, 400, 600, 1000].indexOf(_famous.threshold))>></span> <br> <</if>> <</for>> <</if>> </div> <<if _decreaseAllure>> <div class="settingsToggleItem"> <span class="gold bold">Decreasing Allure:</span> <br> <<if !["island"].includes("location")>> <<for _fame range _pos>> <<set _famous = _posLabels.find(status => $fame[_fame.type] >= status.threshold)>> <<if _famous>> <span @class="_famous.class">Fame: <<= _famous.label>> <<= _fame.name>> <<= "+".repeat([30, 100, 200, 400, 600, 1000].indexOf(_famous.threshold))>></span> <br> <</if>> <</for>> <</if>> <<if $moorLuck gt 5>> <span class="green">????</span> <br> <<elseif $moorLuck gt 0>> <span class="lblue">????</span> <br> <</if>> </div> <</if>> </div> <</widget>> <<widget "mirrorAppearancePregnancy">> <<run updateMoment()>> You look like a <span class="lewd">pregnant <<girl>>...</span><<garousal>><<gstress>> <<arousal 300>><<stress 10>> <br><br> <<if getPregnancyObject().potentialFathers.length is 1>> <<set $_fatherName to pregnancyNameCorrection(getPregnancyObject().potentialFathers[0].source)>> <span class="lewd">It's clear that <<print $_fatherName === "yourself" ? "you are" : $_fatherName + " is">> the father.</span> <<else>> <span class="red">You wonder who the father is.</span> <</if>> <<set getPregnancyObject().awareOf to "mirror">> <</widget>> <<widget "mirrorBodywriting">> <<set _array to _args[0] is "visible" ? _skin_array : _hidden_writing>> <<for _index, _active_bodypart range _array>> <<if $skin[_active_bodypart].writing>> <<silently>><<bodypart _active_bodypart>><</silently>> <<= _text_output.toUpperFirst()>>: <<if isLoveInterest($skin[_active_bodypart].special)>> <<set _colour to "lewd">> <<elseif $skin[_active_bodypart].special isnot "none">> <<set _colour to "red">> <<elseif $skin[_active_bodypart].lewd is 1>> <<set _colour to "pink">> <<else>> <<set _colour to "purple">> <</if>> <<if $skin[_active_bodypart].type is "text">> <<set _written to "written">> <span @class="_colour">"<<= $skin[_active_bodypart].writing.toUpperFirst()>>"</span> <<else>> <<set _written to "drawn">> A picture of a <span @class="_colour"><<= $skin[_active_bodypart].writing>></span> <</if>> <<if $skin[_active_bodypart].arrow is 1>> <<if _active_bodypart is "left_cheek" or _active_bodypart is "right_cheek">> and an arrow pointing to your mouth <<elseif _active_bodypart is "left_bottom" or _active_bodypart is "right_bottom" or _active_bodypart is "back">> and an arrow pointing to your anus <<elseif _active_bodypart is "pubic" or _active_bodypart is "left_thigh" or _active_bodypart is "right_thigh">> and an arrow pointing to your <<genitals true>> <</if>> <</if>> <<switch $skin[_active_bodypart].pen>> <<case "marker">> (_written in permanent marker) <<case "magic">> (<span class="pink">seal</span>) <<case "tattoo" "brand">> (<span class="red"><<= $skin[_active_bodypart].pen>></span>) <<default>> (_written in <<= $skin[_active_bodypart].pen>>) <</switch>> <<= _index lt _array.length - 1 ? "<br>" : "">> <</if>> <</for>> <</widget>> <<widget "visual-settings">> <<mirroricon>><<link "Back">><<replace #mirror>><<mirrorMenu>><</replace>><<numberify "#passages > .passage">><<unset $mirrorMenu>><</link>> <</widget>> <<widget "faceStyleOptions">> Your currently selected style is: <<listbox "_facestyle" autoselect>> <<optionsfrom setup.faceStyleOptions>> <</listbox>> <br> <<link "Apply">> <<if $facestyle isnot _facestyle>> <<set $facestyle to _facestyle>> <<set $facevariant to "default">> <<replace "#visualsFaceVariantRadios">><<faceVariantOptions>><</replace>> <<updatesidebarimg true>> <</if>> <</link>> <</widget>> <<widget "faceVariantOptions">> <<if Object.keys(setup.faceVariantOptions[$facestyle]).length gt 1>> Your current demeanour is set to: <<listbox "$facevariant" autoselect>> <<optionsfrom setup.faceVariantOptions[$facestyle]>> <</listbox>> <br> <<run $(() => { $("#listbox-facevariant").on("change", () => { Wikifier.wikifyEval('<<updatesidebarimg true>>'); }); })>> <<else>> There are <mouse class = "gold tooltip-small" style="border-bottom-color:white"> no alternative demeanours available. <span class="blue"> Selecting a different face style may make additional demeanours available to you. </span> </mouse> <</if>> <</widget>> <<widget "mirrorSkin">> <<mirroricon>><<link "Back">><<handheldon>><<updatesidebarimg>><<replace #mirror>><<mirrorMenu>><</replace>><<numberify "#passages > .passage">><<unset $mirrorMenu>><</link>> <br><br> <div class="settingsGrid"> <div class="settingsHeader">Skin</div> <div class="settingsToggleItem"> <span class="gold bold">Tanning:</span> <br> <span id="sunscreenDescription"> <<sunscreenDesc>> </span> <span id="sunscreenLinks"> <<sunscreenLinks>> </span> <br> <label data-target="options.images" data-disabledif="V.options.images===0"> <<checkbox "$options.tanLines" false true autocheck>> Enable tanning lines from clothing </label> <mouse class="tooltip-small linkBlue">(?)<span>Disables the visual aspect of tanning lines. Only for sidebar.</span></mouse> </div> <div class="settingsToggleItem"> <span class="gold bold">Body Liquids:</span> <<if $liquidcount gt 0>> <<mirrorwet "neck" $player.bodyliquid.neck.semen $player.bodyliquid.neck.goo $player.bodyliquid.neck.nectar>> <<mirrorwet "right arm" $player.bodyliquid.rightarm.semen $player.bodyliquid.rightarm.goo $player.bodyliquid.rightarm.nectar>> <<mirrorwet "left arm" $player.bodyliquid.leftarm.semen $player.bodyliquid.leftarm.goo $player.bodyliquid.leftarm.nectar>> <<mirrorwet "thighs" $player.bodyliquid.thigh.semen $player.bodyliquid.thigh.goo $player.bodyliquid.thigh.nectar>> <<mirrorwet "bottom" $player.bodyliquid.bottom.semen $player.bodyliquid.bottom.goo $player.bodyliquid.bottom.nectar>> <<mirrorwet "tummy" $player.bodyliquid.tummy.semen $player.bodyliquid.tummy.goo $player.bodyliquid.tummy.nectar>> <<mirrorwet "chest" $player.bodyliquid.chest.semen $player.bodyliquid.chest.goo $player.bodyliquid.chest.nectar>> <<mirrorwet "face" $player.bodyliquid.face.semen $player.bodyliquid.face.goo $player.bodyliquid.face.nectar>> <<mirrorwet "hair" $player.bodyliquid.hair.semen $player.bodyliquid.hair.goo $player.bodyliquid.hair.nectar>> <<mirrorwet "feet" $player.bodyliquid.feet.semen $player.bodyliquid.feet.goo $player.bodyliquid.feet.nectar>> <<mirrorwet "labia" $player.bodyliquid.vaginaoutside.semen $player.bodyliquid.vaginaoutside.goo $player.bodyliquid.vaginaoutside.nectar>> <<mirrorwet "vagina" $player.bodyliquid.vagina.semen $player.bodyliquid.vagina.goo $player.bodyliquid.vagina.nectar>> <<mirrorwet "penis" $player.bodyliquid.penis.semen $player.bodyliquid.penis.goo $player.bodyliquid.penis.nectar>> <<mirrorwet "anus" $player.bodyliquid.anus.semen $player.bodyliquid.anus.goo $player.bodyliquid.anus.nectar>> <<mirrorwet "mouth" $player.bodyliquid.mouth.semen $player.bodyliquid.mouth.goo $player.bodyliquid.mouth.nectar>> <<else>> <br> Your skin feels <span class="green">clean</span>. <</if>> </div> </div> <hr> <div class="settingsGrid"> <<bodywritingExposureCheck true true>> <<bodywritingHiddenCheck true true>> <div class="settingsHeader">Body</div> <<if _bodywriting_exposed is 1 and _bodywriting_hidden is 1>> <div class="settingsToggleItem"> <div class="skinMenu"> <span class="gold bold">Visible Bodywriting:</span> <br> <<mirrorBodywriting "visible">> <br> </div> </div> <div class="settingsToggleItem"> <div class="skinMenu"> <span class="gold bold">Hidden Bodywriting:</span> <br> <<mirrorBodywriting "hidden">> <br> </div> </div> <<elseif _bodywriting_exposed is 1 || _bodywriting_hidden is 1>> <div class="settingsToggleItemWide"> <<if _bodywriting_exposed is 1>> <span class="gold bold">Visible Bodywriting:</span> <br> <<mirrorBodywriting "visible">> <br> <<elseif _bodywriting_hidden is 1>> <span class="gold bold">Hidden Bodywriting:</span> <br> <<mirrorBodywriting "hidden">> <</if>> </div> <</if>> <div class="settingsToggleItemWide"> <<if $bodyWritingSelected is null>> <<unset $bodyWritingSelected>> <</if>> <<if $bodyWritingSelected isnot undefined>> You write <<if isLoveInterest($skin[$bodyPartSelected].special)>> "<span class="lewd"><<print $bodyWritingSelected>></span>" <<elseif $skin[$bodyPartSelected].special isnot "none">> "<span class="red"><<print $bodyWritingSelected>></span>" <<elseif $skin[$bodyPartSelected].lewd is 1>> "<span class="pink"><<print $bodyWritingSelected>></span>" <<else>> "<span class="purple"><<print $bodyWritingSelected>></span>" <</if>> on your <<bodypart $bodyPartSelected>>. <<unset $bodyWritingSelected>> <<unset $bodyPartSelected>> <hr> <</if>> <<bodywritingOptions>> /*Needs to be last*/ <div class="mirrorContainer"> <<bodywritingMenuLinks>> </div> </div> <div class="settingsToggleItemWide"> <div class="skinMenu"> <span class="gold bold">Body shape:</span> <mouse class="tooltip-small linkBlue">(?)<span>This is a cosmetic change that does not contribute towards gender appearance.</span></mouse> <br> Your chosen body shape is: <<set _bodyOptions to { "Classic": "classic", "Slender": "slender", "Curvy": "curvy", "Soft": "soft" }>> <<listbox "$player.bodyshape" autoselect>> <<optionsfrom _bodyOptions>> <</listbox>> <br> <<link "Apply">> <<updatesidebarimg true>> <</link>> </div> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader">Facial Settings</div> <<if setup.faceStyleOptions.length gt 1>> <div id="visualsFaceStyle" class="settingsToggleItem"> <span class="gold bold">Face style:</span><br> <<faceStyleOptions>> </div> <</if>> <div id="visualsFaceVariants" @class="setup.faceStyleOptions.length gt 1 ? 'settingsToggleItem' : 'settingsToggleItemWide'"> <span class="gold bold">Demeanour:</span> <br> <div id="visualsFaceVariantRadios"> <<faceVariantOptions>> </div> </div> </div> <</widget>> <<widget "sunscreenLinks">> <<if Skin.Sunscreen.isApplied()>> <br> <<cosmeticsicon "sunscreen">><<link "Remove sunscreen">> <<handheldon>> <<replace #sunscreenDescription>><<sunscreenApply "remove">><</replace>> <<replace #sunscreenLinks>><<sunscreenLinks>><</replace>> <</link>> <<note `Skin.Sunscreen.usesLeft + ' use'+(Skin.Sunscreen.usesLeft > 1 ? 's' : '') + ' left'`>> <<else>> <<if Skin.Sunscreen.usesLeft gt 0>> <br> <<cosmeticsicon "sunscreen">><<link "Apply sunscreen">> <<handheldon>> <<replace #sunscreenDescription>><<sunscreenApply>><</replace>> <<replace #sunscreenLinks>><<sunscreenLinks>><</replace>> <</link>> <<note `Skin.Sunscreen.usesLeft + ' use'+(Skin.Sunscreen.usesLeft > 1 ? 's' : '') + ' left'`>> <</if>> <</if>> <</widget>> <<widget "sunscreenDesc">> Your skin is <<if Skin.Sunscreen.isApplied()>> <mouse class = "gold tooltip-small" style="border-bottom-color:white"> protected against the sun <span class="black"> Sunscreen is keeping your skin from getting tanned. <<if Skin.Sunscreen.usesLeft is 0>> <br> <i class="blue">Sunscreen can be acquired at the shops</i> <</if>> </span> </mouse> <<set $_timeLeft to Math.floor(Skin.Sunscreen.timeLeft / 60)>> (<<print getTimeString($_timeLeft)>> left). <<else>> <mouse class = "gold tooltip-small" style="border-bottom-color:white"> not protected against the sun. <span class="black"> Your skin will tan when exposed to the sun. <<if Skin.Sunscreen.usesLeft is 0>> <br> <i class="blue">Sunscreen can be acquired at the cosmetics shop</i> <</if>> </span> </mouse> <</if>> <</widget>> <<widget "sunscreenApply">> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<if _args[0] is "remove">> <<run Skin.Sunscreen.remove()>> <<else>> <<run Skin.Sunscreen.apply()>> <</if>> <</if>> <<if $leftarm is "bound" and $rightarm is "bound">> <span class="red">Both of your arms are bound</span>, and you find it difficult to do anything about your skin this way. <hr> <<elseif _args[0] is "remove">> <<wearProp "rag" "white">><<updatesidebarimg>> You scrub a damp towel over your skin, removing any last traces of sunscreen. <hr> <<else>> <<wearProp "sunscreen">><<updatesidebarimg>> You squirt a hefty dollop of sunscreen onto your hand and rub it into your skin. <hr> <</if>> <<sunscreenDesc>> <</widget>> <<widget "bodywritingOptions">> <<set _bodyWritingOptions to { General: { "Cute boy":"cute_boy", "Cute girl":"cute_girl", "Orphan":"orphan" } }>> <<if $beauty gte ($beautymax / 7) * 3>> <<set _bodyWritingOptions.General["Handsome"] to "handsome">> <<set _bodyWritingOptions.General["Pretty"] to "pretty">> <</if>> <<if $beauty gte ($beautymax / 7) * 4>> <<set _bodyWritingOptions.General["Stud"] to "stud">> <<set _bodyWritingOptions.General["Beauty"] to "beauty">> <</if>> <<if $beauty gte ($beautymax / 7) * 5>> <<set _bodyWritingOptions.General["Beautiful"] to "beautiful">> <</if>> <<if $trauma gte (($traumamax / 5) * 2)>> <<set _bodyWritingOptions.General["Daddy issues"] to "daddy_issues">> <<set _bodyWritingOptions.General["Mommy issues"] to "mommy_issues">> <<set _bodyWritingOptions.General["Trashy"] to "trashy">> <</if>> <<if $trauma gte (($traumamax / 5) * 3)>> <<set _bodyWritingOptions.General["Worthless"] to "worthless">> <<set _bodyWritingOptions.General["Oh no"] to "oh_no">> <<set _bodyWritingOptions.General["Dumb bitch"] to "dumb_bitch">> <</if>> <<if hasSexStat("promiscuity", 2)>> <<set _bodyWritingOptions.General["Hot"] to "hot">> <</if>> <<if hasSexStat("promiscuity", 3)>> <<set _bodyWritingOptions.Promiscuity = {}>> <<set _bodyWritingOptions.Promiscuity["Slut"] to "slut">> <<set _bodyWritingOptions.Promiscuity["Promiscuous"] to "promiscuous">> <<set _bodyWritingOptions.Promiscuity["Wanton"] to "wanton">> <<set _bodyWritingOptions.Promiscuity["D.T.F."] to "dtf">> <</if>> <<if hasSexStat("promiscuity", 4)>> <<set _bodyWritingOptions.Promiscuity["Insatiable slut"] to "insatiable_slut">> <<set _bodyWritingOptions.Promiscuity["Free Sex"] to "free_sex">> <<set _bodyWritingOptions.Promiscuity["Town bicycle"] to "town_bicycle">> <<set _bodyWritingOptions.Promiscuity["Size queen"] to "size_queen">> <<if $orgasmtrait gte 1>> <<set _bodyWritingOptions.Promiscuity["Sex addict"] to "sex_addict">> <<set _bodyWritingOptions.Promiscuity["Make me cum"] to "make_me_cum">> <</if>> <</if>> <<if hasSexStat("promiscuity", 5)>> <<set _bodyWritingOptions.Promiscuity["Fuck Me"] to "fuck_me">> <<set _bodyWritingOptions.Promiscuity["Cocksucker"] to "cocksucker">> <<set _bodyWritingOptions.Promiscuity["Cum dump"] to "cum_dump">> <<set _bodyWritingOptions.Promiscuity["Public Slut"] to "public_slut">> <<if $analstat gte 100>> <<set _bodyWritingOptions.Promiscuity["Buttslut"] to "buttslut">> <<set _bodyWritingOptions.Promiscuity["Anal whore"] to "anal_whore">> <</if>> <</if>> <<if hasSexStat("promiscuity", 3)>> <<set _bodyWritingOptions.Prostitution = {}>> <<if $trauma gte (($traumamax / 5) * 2)>> <<set _bodyWritingOptions.Prostitution["It's not rape if you pay me"] to "its_not_rape_if_you_pay_me">> <</if>> <<set _bodyWritingOptions.Prostitution["£5 whore"] to "five_pound_whore">> <<set _bodyWritingOptions.Prostitution["£10 a pop"] to "ten_pound_a_pop">> <<set _bodyWritingOptions.Prostitution["Slut for hire"] to "slut_for_hire">> <</if>> <<if hasSexStat("promiscuity", 4)>> <<set _bodyWritingOptions.Prostitution["£25 per fuck"] to "twenty_five_pound_per_fuck">> <<set _bodyWritingOptions.Prostitution["£100"] to "one_hundred_pound">> <<set _bodyWritingOptions.Prostitution["Body for sale"] to "body_for_sale">> <<if $trauma gte (($traumamax / 5) * 3)>> <<set _bodyWritingOptions.Prostitution["Stupid whore"] to "stupid_whore">> <<else>> <<set _bodyWritingOptions.Prostitution["Whore"] to "whore">> <</if>> <<set _bodyWritingOptions.Prostitution["Prostitute"] to "prostitute">> <</if>> <<if hasSexStat("exhibitionism", 3)>> <<set _bodyWritingOptions.Exhibitionism to {}>> <<set _bodyWritingOptions.Exhibitionism["Pervert"] to "pervert">> <<set _bodyWritingOptions.Exhibitionism["Attention whore"] to "attention_whore">> <<set _bodyWritingOptions.Exhibitionism["Flaunter"] to "flaunter">> <<set _bodyWritingOptions.Exhibitionism["Object"] to "object">> <<set _bodyWritingOptions.Exhibitionism["Strip me"] to "strip_me">> <<set _bodyWritingOptions.Exhibitionism["Ask to see me naked"] to "ask_to_see_me_naked">> <</if>> <<if hasSexStat("deviancy", 4)>> <<set _bodyWritingOptions.Deviancy to {}>> <<set _bodyWritingOptions.Deviancy["Doggy slut"] to "doggy_slut">> <<set _bodyWritingOptions.Deviancy["Animal"] to "animal">> <<set _bodyWritingOptions.Deviancy["Beast fucker"] to "beast_fucker">> <<set _bodyWritingOptions.Deviancy["Breedable"] to "breedable">> <<set _bodyWritingOptions.Deviancy["Deviant"] to "deviant">> <</if>> <<if $masochism_level gte 1>> <<set _bodyWritingOptions.Masochism to {}>> <<set _bodyWritingOptions.Masochism["Hit me"] to "hit_me">> <<set _bodyWritingOptions.Masochism["Hurt me"] to "hurt_me">> <<set _bodyWritingOptions.Masochism["Treat me bad"] to "treat_me_bad">> <<set _bodyWritingOptions.Masochism["Make me squeal"] to "make_me_squeal">> <</if>> <<if $submissive gte 1200>> <<set _bodyWritingOptions.Submission to {}>> <<set _bodyWritingOptions.Submission["Submissive"] to "submissive">> <<set _bodyWritingOptions.Submission["Pet"] to "pet">> <<if hasSexStat("deviancy", 3)>> <<set _bodyWritingOptions.Submission["Public pet"] to "public_pet">> <</if>> <<if hasSexStat("promiscuity", 4)>> <<set _bodyWritingOptions.Submission["Free use"] to "free_use">> <<set _bodyWritingOptions.Submission["Use Me"] to "use_me">> <</if>> <<if $submissive gte 1500>> <<set _bodyWritingOptions.Submission["Slave"] to "slave">> <<set _bodyWritingOptions.Submission["Enslave Me"] to "enslave_me">> <<set _bodyWritingOptions.Submission["Cum rag"] to "cum_rag">> <<if hasSexStat("promiscuity", 5)>> <<set _bodyWritingOptions.Submission["Fuckdoll"] to "fuckdoll">> <<set _bodyWritingOptions.Submission["Fucktoy"] to "fucktoy">> <<if $player.penisExist>> <<set _bodyWritingOptions.Submission["Walking dildo"] to "walking_dildo">> <</if>> <</if>> <</if>> <</if>> <<if ($player.vaginaExist or ($sexStats.anus.pregnancy.awareOf or $sexStats.anus.pregnancy.givenBirth gte 1)) and hasSexStat("promiscuity", 5)>> <<set _bodyWritingOptions.Pregnancy to {}>> <<set _bodyWritingOptions.Pregnancy["Brood mother"] to "brood_mother">> <<set _bodyWritingOptions.Pregnancy["Inseminate me"] to "inseminate_me">> <<set _bodyWritingOptions.Pregnancy["Impregnate me"] to "impregnate_me">> <<set _bodyWritingOptions.Pregnancy["Pregnancy slut"] to "pregnancy_slut">> <<set _bodyWritingOptions.Pregnancy["Breeding ground"] to "breeding_ground">> <</if>> <<set _bodyWritingOptions["Love Interests"] to {}>> <<if $robinromance is 1>> <<set _bodyWritingOptions["Love Interests"]["Robin's Protector"] to "robins_protector">> <<set _bodyWritingOptions["Love Interests"]["Robin & I"] to "robin_and_i">> <<set _bodyWritingOptions["Love Interests"]["The Orphan Lover"] to "the_orphan_lover">> <<if ($player.penisExist or $player.gender_appearance is "m" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Robin's Boyfriend"] to "robins_boyfriend">> <</if>> <<if ($player.vaginaExist or $player.gender_appearance is "f" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Robin's Girlfriend"] to "robins_girlfriend">> <</if>> <</if>> <<if $whitneyromance is 1>> <<set _bodyWritingOptions["Love Interests"]["Whitney's Pet"] to "whitneys_pet">> <<set _bodyWritingOptions["Love Interests"]["Property of Whitney"] to "property_of_whitney">> <<set _bodyWritingOptions["Love Interests"]["Whitney's Toy"] to "whitneys_toy">> <<if ($player.penisExist or $player.gender_appearance is "m" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Whitney's Boyslut"] to "whitneys_boyslut">> <</if>> <<if ($player.vaginaExist or $player.gender_appearance is "f" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Whitney's Slut"] to "whitneys_slut">> <</if>> <</if>> <<if $kylarenglish gte 1 and C.npc.Kylar.state isnot "prison">> <<set _bodyWritingOptions["Love Interests"]["Kylar's Obsession"] to "kylars_obsession">> <<set _bodyWritingOptions["Love Interests"]["Love Kylar Forever"] to "love_kylar_forever">> <<set _bodyWritingOptions["Love Interests"]["Reserved for Kylar"] to "reserved_for_kylar">> <<set _bodyWritingOptions["Love Interests"]["Just Kylar"] to "just_kylar">> <</if>> <<if $syndromeeden is 1>> <<set _bodyWritingOptions["Love Interests"]["Eden's Companion"] to "edens_companion">> <<set _bodyWritingOptions["Love Interests"]["Hunter and Prey"] to "hunter_and_prey">> <<set _bodyWritingOptions["Love Interests"]["It's Lonely in the Woods"] to "its_lonely_in_the_woods">> <<set _bodyWritingOptions["Love Interests"]["Something is Hunting you"] to "something_is_hunting_you">> <</if>> <<if $dateCount.Avery gte 3 and C.npc.Avery.state isnot "dismissed">> <<set _bodyWritingOptions["Love Interests"]["Avery's Trophy"] to "averys_trophy">> <<set _bodyWritingOptions["Love Interests"]["Endearing"] to "endearing">> <<if ($player.penisExist or $player.gender_appearance is "m" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Uptown Boy"] to "uptown_boy">> <</if>> <<if ($player.vaginaExist or $player.gender_appearance is "f" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Uptown Girl"] to "uptown_girl">> <</if>> <<set _bodyWritingOptions["Love Interests"]["Avery's Monopoly"] to "averys_monopoly">> <</if>> <<if $farm_stage gte 7 and $alex_countdown is undefined>> <<set _bodyWritingOptions["Love Interests"]["Alex's Partner"] to "alexs_partner">> <<set _bodyWritingOptions["Love Interests"]["Sunrise to Sunset"] to "sunrise_to_sunset">> <<set _bodyWritingOptions["Love Interests"]["Hay Baler"] to "hay_baler">> <<if ($player.penisExist or $player.gender_appearance is "m" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Cowboy"] to "cowboy">> <</if>> <<if ($player.vaginaExist or $player.gender_appearance is "f" or $backgroundTraits.includes("crossdresser"))>> <<set _bodyWritingOptions["Love Interests"]["Cowgirl"] to "cowgirl">> <</if>> <</if>> <<if $sydneyromance is 1>> <<set _bodyWritingOptions["Love Interests"]["Sydney's Saviour"] to "sydneys_savior">> <<set _bodyWritingOptions["Love Interests"]["Bound to Sydney"] to "bound_to_sydney">> <<set _bodyWritingOptions["Love Interests"]["Sydney Makes Me :)"] to "sydney_makes_me_smile">> <<if C.npc.Sydney.purity gt 1>> <<set _bodyWritingOptions["Love Interests"]["Purest Love"] to "purest_love">> <<else>> <<set _bodyWritingOptions["Love Interests"]["Lusty Sinners"] to "lusty_sinners">> <</if>> <</if>> <<if $syndromewolves is 1 and hasSexStat("deviancy", 3)>> <<set _bodyWritingOptions["Love Interests"]["Black Wolf's Bitch"] to "black_wolfs_bitch">> <<set _bodyWritingOptions["Love Interests"]["All for my Alpha"] to "all_for_my_alpha">> <<if $wolfpackleader is 1>> <<set _bodyWritingOptions["Love Interests"]["Leader of the Pack"] to "leader_of_the_pack">> <</if>> <<set _bodyWritingOptions["Love Interests"]["Runs With Wolves"] to "runs_with_wolves">> <</if>> <<if $syndromebird is 1>> <<set _bodyWritingOptions["Love Interests"]["Great Hawk's Spouse"] to "great_hawks_spouse">> <<set _bodyWritingOptions["Love Interests"]["Soaring With Love"] to "soaring_with_love">> <<set _bodyWritingOptions["Love Interests"]["Terror's Mate"] to "terrors_mate">> <<set _bodyWritingOptions["Love Interests"]["Free Bird"] to "free_bird">> <</if>> <<if $debug is 1>> <<set _bodyWritingOptions["Debug"] to setup.bodywriting>> <<set _debugBodywritingOptionsKeys to Object.keys(setup.bodywriting)>> <<link [[Wash yourself|$passage]]>> <<set $mirrorMenu to "skin">> <<wash>> <</link>> <<link [[Bind hands|$passage]]>> <<set $mirrorMenu to "skin">> <<bind>> <</link>><span class="black"> (Will destroy handheld items.)</span> <br/> <<print Object.values(setup.bodywriting).length>> known bodywriting options. <</if>> <</widget>> <<widget "bodywritingMenuLinks">> <div id="bodywritingMenuLinks"> <<set _keys to Object.keys(_bodyWritingOptions)>> <<if $bodywritingSet is undefined>> <<set $bodywritingSet to "General">> <</if>> <<for _i to 0; _i lt _keys.length; _i++>> <<capture _i _keys>> <div @id="'link-'+_keys[_i].replace(/ /g,'-')" @class="(_keys[_i] is $bodywritingSet ? 'no-numberify bodywritingSelected' : 'no-numberify bodywriting')"> <<button _keys[_i]>> <<removeclass `'#link-'+$bodywritingSet.replace(/ /g,'-')` "bodywritingSelected">> <<addclass `'#link-'+$bodywritingSet.replace(/ /g,'-')` "bodywriting">> <<set $bodywritingSet to clone(_keys[_i])>> <<addclass `'#link-'+$bodywritingSet.replace(/ /g,'-')` "bodywritingSelected">> <<replace "#bodywritingMenu">><<bodywritingMenu _args[0]>><</replace>> <</button>> </div> <</capture>> <</for>> </div> <br> <div id="bodywritingMenu" class="skinMenu no-numberify"> <<bodywritingMenu _args[0]>> </div> <div class="skinMenu"> <label data-target="options.images" data-disabledif="V.options.images===0"> <<checkbox "$options.bodywritingImages" false true autocheck>> Enable bodywriting images </label> </div> <</widget>> <<widget "bodywritingMenu">> <<if Object.keys(_bodyWritingOptions[$bodywritingSet]).length gt 0>> <span class="gold bold">Add Bodywriting:</span> <br> <<set _bodyPartOptions to {}>> <<if _args[0] isnot undefined>> <<set _bodyPartOptionsSkip to _args[0]>> <<else>> <<set _bodyPartOptionsSkip to ["back", "left_bottom", "right_bottom"]>> <</if>> <<for _label, _value range $skin>> <<if _bodyPartOptionsSkip.includes(_label)>> <<continue>> <<elseif Object.keys(_value).length is 0>> <<silently>><<bodypart _label>><</silently>> <<set _bodyPartOptions[_text_output.toUpperFirst()] to _label>> <</if>> <</for>> <<if $debug is 1>> Write <<listbox "_bodyWritingDebugSelected">> <<optionsfrom _bodyWritingOptions[$bodywritingSet]>> <</listbox>> everywhere <<link [[Confirm|$passage]]>> <<set $mirrorMenu to "skin">> <<for _part, _value range $skin>> <<add_bodywriting _part _bodyWritingDebugSelected "pen">> <</for>> <</link>> <br /> Write <<listbox "_bodyWritingDebugSelected">> <<optionsfrom _bodyWritingOptions[$bodywritingSet]>> <</listbox>> everywhere where it has custom sprites <<link [[Confirm|$passage]]>> <<set $mirrorMenu to "skin">> <<for _part, _value range $skin>> <<if _bodyWritingDebugSelected.sprites.includes(_part)>> <<add_bodywriting _part _bodyWritingDebugSelected "pen">> <</if>> <</for>> <</link>> <br /> <br /> <</if>> <<if Object.keys(_bodyPartOptions).length gt 0>> Write <<listbox "_bodyWritingSelected">> <<optionsfrom _bodyWritingOptions[$bodywritingSet]>> <</listbox>> on your <<listbox "_bodyPartSelected">> <<optionsfrom _bodyPartOptions>> <</listbox>> <<link [[Confirm|$passage]]>> <<set $mirrorMenu to "skin">> <<set $bodyWritingSelected to Object.keys(_bodyWritingOptions[$bodywritingSet])[Object.values(_bodyWritingOptions[$bodywritingSet]).indexOf(_bodyWritingSelected)]>> <<set $bodyPartSelected to _bodyPartSelected>> <<add_bodywriting _bodyPartSelected _bodyWritingSelected "pen">> <</link>> <<else>> You're not sure where else you can write an advertisement. <</if>> <<else>> You have not unlocked any bodywriting options for this category yet. <</if>> <</widget>> <<widget "hairDescription">> You check your hair in the mirror. <<if $hairtype is "default" and $fringetype is "default">> Your hair is not currently styled. Your sides are positioned <<if $hairposition is "front">>in front of<<else>>behind<</if>> your body. Your hair <<if $hairgelBottles is undefined>><<set $hairgelBottles to 0>><</if>> <<if $earsposition is "front">> <span class="gold"> is tucked behind your ears</span> <<else>> <span class="gold">hangs in front of your ears</span> <</if>> and is <<if $ruffledisable is "t">> <mouse class = "gold tooltip-small" style="border-bottom-color:white"> fixed in place. <span class="black">Your hairstyle cannot be ruined. <br> <i class="red">Selecting a new hairstyle will re-enable hair ruffling. <<print ($hairgelBottles is 0 ? "Hair gel can be acquired at the shops." : "Hair gel will need to be re-applied.")>></i></span> </mouse> <<else>> <mouse class = "gold tooltip-small" style="border-bottom-color:white"> not fixed in place. <span class="black">Certain situations may change your hair to a messier style. <br> <i class="teal">You can apply hair gel to disable hair ruffling.<<print ($hairgelBottles is 0 ? " Hair gel can be acquired at the shops." : "")>></i> </span> </mouse> <</if>> <div class="no-numberify"> <<link [[Randomise your hairstyle|$passage]]>> <<set _hairType to Object.values(_hairTypeByName)>> <<set $hairtype to _hairType[random(0,_hairType.length - 1)]>> <<set _fringeType to Object.values(_fringeTypeByName)>> <<set $fringetype to _fringeType[random(0,_fringeType.length - 1)]>> <<set $hairposition to ["front","back"][random(0,1)]>> <</link>> | <<switch $hairposition>> <<case "front">> <<link "Position sides behind body">> <<run State.setVar("$hairposition", "back")>> <<run Engine.show()>> <</link>> <<case "back">> <<link "Position sides in front of body">> <<run State.setVar("$hairposition", "front")>> <<run Engine.show()>> <</link>> <<default>> <<link "Position sides in front of body">> <<run State.setVar("$hairposition", "front")>> <<run Engine.show()>> <</link>> <</switch>> | <<switch $earsposition>> <<case "front">> <<link "Position hair in front of ears">> <<run State.setVar("$earsposition", "back")>> <<run Engine.show()>> <</link>> <<case "back">> <<link "Tuck hair behind ears">> <<run State.setVar("$earsposition", "front")>> <<run Engine.show()>> <</link>> <<default>> <<link "Tuck hair behind ears">> <<run State.setVar("$earsposition", "front")>> <<run Engine.show()>> <</link>> <</switch>> | <<switch $browsposition>> <<case "front">> <<link "Position brows behind hair">> <<run State.setVar("$browsposition", "back")>> <<run Engine.show()>> <</link>> <<case "back">> <<link "Position brows in front of hair">> <<run State.setVar("$browsposition", "front")>> <<run Engine.show()>> <</link>> <<default>> <<link "Position brows behind hair">> <<run State.setVar("$browsposition", "back")>> <<run Engine.show()>> <</link>> <</switch>> <br><br> </div> <<else>> <<if $hairtype is "default">> Currently, your fringe is in the <span class="gold">$fringetype</span> style. Your sides are left <span class="gold">natural</span> and are positioned <<if $hairposition is "front">>in front of<<else>>behind<</if>> your body. <<elseif $fringetype is "default">> Currently, your fringe is left <span class="gold">natural</span>. Your sides are in the <span class="gold">$hairtype</span> style and are positioned <<if $hairposition is "front">>in front of<<else>>behind<</if>> your body. <<else>> Currently, your fringe is in the <span class="gold">$fringetype</span> style. Your sides are in the <span class="gold">$hairtype</span> style and are positioned <<if $hairposition is "front">>in front of<<else>>behind<</if>> your body. <</if>> Your hair <<if $hairgelBottles is undefined>><<set $hairgelBottles to 0>><</if>> <<if $earsposition is "front">> <span class="gold"> is tucked behind your ears</span> <<else>> <span class="gold">hangs in front of your ears</span> <</if>> and is <<if $ruffledisable is "t">> <mouse class = "gold tooltip-small" style="border-bottom-color:white"> fixed in place. <span class="black">Your hairstyle cannot be ruined. <br> <i class="red">Selecting a new hairstyle will re-enable hair ruffling. <<print ($hairgelBottles is 0 ? "Hair gel can be acquired at the shops." : "Hair gel will need to be re-applied.")>></i></span> </mouse> <<else>> <mouse class = "gold tooltip-small" style="border-bottom-color:white"> not fixed in place. <span class="black">Certain situations may change your hair to a messier style. <br> <i class="teal">You can apply hair gel to disable hair ruffling.<<print ($hairgelBottles is 0 ? " Hair gel can be acquired at the shops." : "")>></i> </span> </mouse> <</if>> <div class="no-numberify"> <<link [[Randomise your hairstyle|$passage]]>> <<set _hairType to Object.values(_hairTypeByName)>> <<set $hairtype to _hairType[random(0,_hairType.length - 1)]>> <<set _fringeType to Object.values(_fringeTypeByName)>> <<set $fringetype to _fringeType[random(0,_fringeType.length - 1)]>> <<set $hairposition to ["front","back"][random(0,1)]>> <</link>> | <<switch $hairposition>> <<case "front">> <<link "Position sides behind body">> <<run State.setVar("$hairposition", "back")>> <<run Engine.show()>> <</link>> <<case "back">> <<link "Position sides in front of body">> <<run State.setVar("$hairposition", "front")>> <<run Engine.show()>> <</link>> <<default>> <<link "Position sides in front of body">> <<run State.setVar("$hairposition", "front")>> <<run Engine.show()>> <</link>> <</switch>> | <<switch $earsposition>> <<case "front">> <<link "Position hair in front of ears">> <<run State.setVar("$earsposition", "back")>> <<run Engine.show()>> <</link>> <<case "back">> <<link "Tuck hair behind ears">> <<run State.setVar("$earsposition", "front")>> <<run Engine.show()>> <</link>> <<default>> <<link "Tuck hair behind ears">> <<run State.setVar("$earsposition", "front")>> <<run Engine.show()>> <</link>> <</switch>> | <<switch $browsposition>> <<case "front">> <<link "Position brows behind hair">> <<run State.setVar("$browsposition", "back")>> <<run Engine.show()>> <</link>> <<case "back">> <<link "Position brows in front of hair">> <<run State.setVar("$browsposition", "front")>> <<run Engine.show()>> <</link>> <<default>> <<link "Position brows behind hair">> <<run State.setVar("$browsposition", "back")>> <<run Engine.show()>> <</link>> <</switch>> <br><br> </div> <</if>> <</widget>> <<widget "mirrorHair">> <<mirroricon>><<link "Back">><<handheldon>><<updatesidebarimg>><<replace #mirror>><<mirrorMenu>><</replace>><<numberify "#passages > .passage">><<unset $mirrorMenu>><</link>> <<shopClothingFilterSettingsDefault>> /* Due to reusing the traits filtering */ <br><br> <div id="hairDescription"> <<hairDescription>> </div> <div id="hairgelLinks"> <<hairgelLinks>> </div> <br> <<set _hairTypeByName to {}>> <<run setup.hairstyles.sides.sort((a, b) => { if (a.name === "natural") return -1; if (b.name === "natural") return 1; return a.name.localeCompare(b.name); }).forEach(style => { if (!V.shopClothingFilter.active || !V.shopClothingFilter.traits.length || style.type.find(type => V.shopClothingFilter.traits.includes(type))) { T.hairTypeByName[style.name] = style.variable; } })>> <<set _fringeTypeByName to {}>> <<run setup.hairstyles.fringe.sort((a, b) => { if (a.name === "natural") return -1; if (b.name === "natural") return 1; return a.name.localeCompare(b.name); }).forEach(style => { if (!V.shopClothingFilter.active || !V.shopClothingFilter.traits.length || style.type.find(type => V.shopClothingFilter.traits.includes(type))) { T.fringeTypeByName[style.name] = style.variable; } })>> <div id="hairContainer"> <div class="containerHeader" class="no-numberify"> <<mirrorhairdisplayLinks "hair">> </div> <<mirrorhairdisplay "$hairtype" "sides">> </div> <br><br> <</widget>> <<widget "hairgelLinks">> <div class="no-numberify"> <<link [[($showMannequins ? "Hide" : "Show") + " Mannequins"|$passage]]>><<set $showMannequins to 1 - ($showMannequins or 0)>><</link>> <mouse class="tooltip-small linkBlue">(?)<span>Disable preview images for hairstyles. <i class="red">Enabling mannequins may cause performance issues on some devices.</i></span></mouse> <<if $hairgelBottles isnot undefined and $hairgelBottles gte 1>> | <<hairdressericon "gel">> <<if $ruffledisable is "f">> <<link "Apply hair gel">><<replace #hairDescription>><<hairgelApply>><</replace>><<replace #hairgelDesc>><<hairgelDesc>><</replace>><<replace#hairgelLinks>><<hairgelLinks>><</replace>><</link>> | <</if>> <div id="hairgelDesc" style="display:inline"><<hairgelDesc>></div> <</if>> </div> <</widget>> <<widget "hairgelApply">> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $ruffledisable to "t">> <<set $hairgelBottles += -1>> <</if>> <<hairDescription>> <<if $leftarm is "bound" and $rightarm is "bound">> <span class="red">Both of your arms are bound</span>, and you find it difficult to do anything about your hair this way. <hr> <<else>> <<wearProp "hairgel">><<updatesidebarimg>> You squirt a hefty dollop of hair gel onto your hand and slick it through your hair. By the time you're finished, your hairstyle is securely in place, and the small bottle is empty. <span class="pink">If you decide to change up your hairstyle, you'll need to <<print ($hairgelBottles is 0) ? "acquire" : "apply">> more.</span> <hr> <</if>> <</widget>> <<widget "hairgelDesc">> You have <span class="gold">$hairgelBottles</span> <<print ($hairgelBottles is 1) ? "bottle" : "bottles">> of hair gel remaining. <</widget>> <<widget "mirrorhairdisplay">> <<if _hairCategory isnot _args[0]>> <<set _perPage to $showMannequins ? 14 : 100>> <<set _page to 1>> <</if>> <<set _hairCategory to _args[0]>> <<mirrorhairOptions _args[1]>> <div id="hairContainerElements"> <<mirrorhairdisplayElements _hairOptions>> </div> <div id="hairContainerPages" class="no-numberify"> <<mirrorhairControls _args[1]>> </div> <</widget>> <<widget "mirrorhairControls">> <<if $showMannequins>> <div class="containerFooter"> <div class="tab"> <<if _page gt 1>> <<button '<span class="fa-icon fa-left"></span> Previous'>> <<if _page gt 1>><<set _page-->><</if>> <<mirrorhairOptions _args[0]>> <<replace "#hairContainerElements">><<mirrorhairdisplayElements _hairOptions>><</replace>> <<replace "#hairContainerPages">><<mirrorhairControls _args[0]>><</replace>> <</button>> <<else>> <button class="link-internal macro-button no-numberify buttonDisabled" disabled>Previous</button> <</if>> </div> <div class="tab"> <<if _page lt _pageMax>> <<button 'Next <span class="fa-icon fa-right"></span>'>> <<if _page lt _pageMax>><<set _page++>><</if>> <<mirrorhairOptions _args[0]>> <<replace "#hairContainerElements">><<mirrorhairdisplayElements _hairOptions>><</replace>> <<replace "#hairContainerPages">><<mirrorhairControls _args[0]>><</replace>> <</button>> <</if>> </div> <div class="tab"> <div class="buttonPage"> <<button '_page/_pageMax'>> <</button>> </div> </div> </div> <</if>> <</widget>> <<widget "mirrorhairTraits">> <div id="hairContainerFilter"> <div class="tab"> <<button "<span class='fa-icon fa-check'></span> Apply">> <<set $shopClothingFilter.active = true>> <<run updateMoment()>> <</button>> <<button "<span class='fa-icon fa-reset'></span> Reset Filters">> <<shopClothingFilterReset>> <<replace "#hairContainerTraits">><<mirrorHairTraitList>><</replace>> <<run updateMoment()>> <</button>> <<button "<span class='fa-icon fa-selected'></span> Select/Deselect All">> <<run toggleAllHairTraitsFilter()>> <</button>> </div> </div> <</widget>> <<widget "mirrorhairOptions">> <<set _hairOptions to {}>> <<run setup.hairstyles[_args[0]].forEach(style => { if (!V.shopClothingFilter.active || !V.shopClothingFilter.traits.length || style.type.find(type => V.shopClothingFilter.traits.includes(type))) T.hairOptions[style.name] = style.variable; })>> <<set _pageMax to Math.ceil(Object.keys(_hairOptions).length / _perPage)>> <<run Object.keys(_hairOptions).forEach((key, index) => { if (!between(index, T.perPage * (T.page - 1), (T.perPage * T.page) - 1)) { delete T.hairOptions[key]; } })>> <</widget>> <<widget "mirrorhairdisplayLinks">> <div class="tab"> <span @class="_args[0] is 'hair' ? 'tab-selected' : 'tab'"> <<button "Sides">> <<replace "#hairContainer">> <div class="containerHeader" class="no-numberify"> <<mirrorhairdisplayLinks "hair">> </div> <<mirrorhairdisplay "$hairtype" "sides">> <</replace>> <</button>> </span> </div> <div class="tab"> <span @class="_args[0] is 'fringe' ? 'tab-selected' : ''"> <<button "Fringe">> <<replace "#hairContainer">> <div class="containerHeader" class="no-numberify"> <<mirrorhairdisplayLinks "fringe">> </div> <<mirrorhairdisplay "$fringetype" "fringe">> <</replace>> <</button>> </span> </div> <div class="tab"> <span @class="_args[0] is 'style' ? 'tab-selected' : ''"> <<button "Save/Load">> <<replace "#hairContainer">> <div class="containerHeader" class="no-numberify"> <<mirrorhairdisplayLinks "style">> </div> <<mirrorhairdisplaySave>> <</replace>> <</button>> <div id="hairContainerSave" class="no-numberify"> </div> </span> </div> <div class="tab"> <span @class="_args[0] is 'filter' ? 'tab-selected' : ''"> <<button "Filters">> <<replace "#hairContainer">> <div class="containerHeader" class="no-numberify"> <<mirrorhairdisplayLinks "filter">> </div> <<mirrorhairdisplayFilter>> <</replace>> <</button>> </span> </div> <</widget>> <<widget "mirrorhairdisplayElements">> <div id="hairGridSides" class="no-numberify hairGrid"> <<for _label, _hairName range _args[0]>> <<capture _hairCategory, _hairName>> <div @id="'hairGrid-' + _hairCategory.replace('$','') + '-' + _hairName.replace(/ /g,'')" @class="'gridItem' + (_hairName is V[_hairCategory.replace('$','')] ? ' selectedHair' : '')" @onclick="`wikifier('mirrorhairdisplayClick', '${T.hairCategory.replace('$','')}', '${T.hairName.replace(/ /g,'_')}');`"> <<if $options.images is 1 and $showMannequins is 1>> <<selectmodel "main">> <<set _modeloptions.tanningEnabled to false>> <<set _modeloptions.skin_type = Skin.color.natural>> <<set _modeloptions.skin_tone = Skin.color.tan>> <<set _modeloptions.freckles = $player.freckles == true and $makeup.concealer != 1>> <<set _modeloptions.mouth to 'neutral'>> <<set _modeloptions.facevariant = $facevariant>> <<set _modeloptions.left_eye = $makeup.eyelenses.left != 0 ? $makeup.eyelenses.left : $leftEyeColour>> <<set _modeloptions.right_eye = $makeup.eyelenses.right != 0 ? $makeup.eyelenses.right : $rightEyeColour>> <<set _modeloptions.hair_colour = $haircolour>> <<set _modeloptions.hair_fringe_colour = $hairfringecolour>> <<set _modeloptions.hair_fringe_colour_gradient = $hairFringeColourGradient>> <<set _modeloptions.hair_fringe_colour_style = $hairFringeColourStyle>> <<set _modeloptions.hair_colour_gradient = $hairColourGradient>> <<set _modeloptions.hair_colour_style = $hairColourStyle>> <<set _modeloptions.hair_sides_length to $hairlengthstage>> <<set _modeloptions.hair_sides_position to $hairposition>> <<set _modeloptions.hair_fringe_length to $fringelengthstage>> <<if _hairCategory is "$hairtype">> <<set _modeloptions.hair_sides_type to _hairName>> <<set _modeloptions.hair_fringe_type to $fringetype>> <<else>> <<set _modeloptions.hair_fringe_type to _hairName>> <<set _modeloptions.hair_sides_type to $hairtype>> <</if>> <<set _modeloptions.ears_position to $earsposition>> <<rendermodel "hairstyleMannequin">> <br> <</if>> <<print toTitleCase(_label)>> </div> <</capture>> <</for>> </div> <</widget>> <<widget "mirrorhairdisplayClick">> <<if _args[0] and _args[1]>> <<if Object.values(_hairOptions).includes(V[_args[0]])>> <<set _id to "#hairGrid-" + _args[0] + "-" + V[_args[0]].replace(/ /g,"")>> <<removeclass _id "selectedHair">> <</if>> <<set V[_args[0]] to _args[1].replace(/_/g," ")>> <<set _id2 to "#hairGrid-" + _args[0] + "-" + _args[1].replace(/_/g,"")>> <<set $ruffledisable to "f">> <<addclass _id2 "selectedHair">> <<updatesidebarimg>> <<replace #hairDescription>><<hairDescription>><</replace>> <<replace #hairgelLinks>><<hairgelLinks>><</replace>> <</if>> <</widget>> <<widget "mirrorhairdisplaySave">> <div id="hairContainerHairstyle"> <<mirrorHairSaveOptions>> </div> <div id="hairContainerSave" class="no-numberify"> <<mirrorHairSave>> </div> <</widget>> <<widget "mirrorHairSaveOptions">> <<if !$savedHairStyles>> <<set $savedHairStyles to { Default: { hairtype:$hairtype, fringetype:$fringetype, hairposition:$hairposition } }>> <</if>> <div class="no-numberify saveHair"> <span class="bold">Select a hairstyle:</span> <hr style="border:none;margin:.25em 0"> <<set _savedHairStylesKeys to Object.keys($savedHairStyles)>> <<if _savedHairStylesKeys.length gt 0>> <<listbox '_selectedSavedHairStyle'>> <<optionsfrom _savedHairStylesKeys>> <</listbox>> <</if>> <br> </div> <div class="no-numberify saveHair"> <span class="bold" style="margin:.25em 0">Create a new hairstyle:</span> <hr style="border:none;margin:.25em 0"> <label>Name: <<textbox "_hairStyleName" "">></label> <mouse class="tooltip linkBlue"> (?)<span>Saves your current hairstyle, so it may be worn later. Duplicate names will overwrite existing styles.</span></mouse> <span id="textbox-error"></span> </div> <</widget>> <<widget "mirrorhairdisplayFilter">> <div id="hairContainerTraits" class="no-numberify"> <<mirrorHairTraitList>> </div> <div id="hairContainerFilter"> <<mirrorhairTraits>> </div> <</widget>> <<widget "mirrorHairTraitList">> <<set _shopLocation to "mirrorhair">> <div class="hairGridTraits"> <div class="traitCategory"> <<set _textureTraits to ["curly", "sleek", "wavy", "textured"]>> <span class="gold" style="padding-left:5px">Texture:</span> <<for _trait range _textureTraits.sort()>> <<silently>><< _trait>><</silently>> <<set _traitObj to setup.shopDetails[_trait]>> <div class="filters-trait-row"> <label> <<set _checked = $shopClothingFilter.traits.includes(_trait) ? 'checked="checked"' : ''>> <<clothingtrait _trait 'display_normal'>> <<print '<input type="checkbox" @id="_trait" @value="_trait" ' + _checked + ' onclick="window.shopClothingFilterToggleTrait(this.value)">'>> <<if !_traitObj.desc>> <<print _traitObj.name>> <<else>> <mouse class = "tooltip-small"> <<print _traitObj.name>> <span class="black"><<print _traitObj.desc>></span> </mouse> <</if>> </label> </div> <</for>> </div> <div class="traitCategory"> <span class="gold" style="padding-left:5px">Style:</span> <<set _styleTraits to ["braids", "buns", "pigtails", "ponytail"]>> <<for _trait range _styleTraits.sort()>> <<silently>><< _trait>><</silently>> <<set _traitObj to setup.shopDetails[_trait]>> <div class="filters-trait-row"> <label> <<set _checked = $shopClothingFilter.traits.includes(_trait) ? 'checked="checked"' : ''>> <<clothingtrait _trait 'display_normal'>> <<print '<input type="checkbox" @id="_trait" @value="_trait" ' + _checked + ' onclick="window.shopClothingFilterToggleTrait(this.value)">'>> <<if !_traitObj.desc>> <<print _traitObj.name>> <<else>> <mouse class = "tooltip-small"> <<print _traitObj.name>> <span class="black"><<print _traitObj.desc>></span> </mouse> <</if>> </label> </div> <</for>> </div> <div class="traitCategory"> <span class="gold" style="padding-left:5px">Other</span> <<set _otherTraits to ["loose","short"]>> <<for _trait range _otherTraits.sort()>> <<silently>><< _trait>><</silently>> <<set _traitObj to setup.shopDetails[_trait]>> <div class="filters-trait-row"> <label> <<set _checked = $shopClothingFilter.traits.includes(_trait) ? 'checked="checked"' : ''>> <<clothingtrait _trait 'display_normal'>> <<print '<input type="checkbox" @id="_trait" @value="_trait" ' + _checked + ' onclick="window.shopClothingFilterToggleTrait(this.value)">'>> <<if !_traitObj.desc>> <<print _traitObj.name>> <<else>> <mouse class = "tooltip-small"> <<print _traitObj.name>> <span class="black"><<print _traitObj.desc>></span> </mouse> <</if>> </label> </div> <</for>> </div> </div> <</widget>> <<widget "mirrorHairSave">> <div class="hairContainerSave"> <<if _savedHairStylesKeys.length gt 0>> <div class="tab"> <<button '<span class="fa-icon fa-check"></span> Wear'>> <<set $hairtype to $savedHairStyles[_selectedSavedHairStyle].hairtype>> <<set $fringetype to $savedHairStyles[_selectedSavedHairStyle].fringetype>> <<set $hairposition to $savedHairStyles[_selectedSavedHairStyle].hairposition>> <<set $ruffledisable to "f">> <<updatesidebarimg>> <</button>> <<button '<span class="fa-icon fa-overwrite"></span> Overwrite'>> <<set $savedHairStyles[_selectedSavedHairStyle].hairtype to $hairtype>> <<set $savedHairStyles[_selectedSavedHairStyle].fringetype to $fringetype>> <<set $savedHairStyles[_selectedSavedHairStyle].hairposition to $hairposition>> <<updatesidebarimg>> <</button>> <<button '<span class="fa-icon fa-delete"></span> Delete'>> <<if _selectedSavedHairStyle isnot "Default">> <<run $outfit.forEach((o) => { if(o.hairStyle === T.selectedSavedHairStyle){ o.hairStyle = undefined; } })>> <<run delete $savedHairStyles[_selectedSavedHairStyle]>> <<updatesidebarimg>> <<replace #hairContainerHairstyle>><<mirrorHairSaveOptions>><</replace>> <</if>> <</button>> <<button '<span class="fa-icon fa-save"></span> Save'>> <<if _hairStyleName is "">> <<replace "#textbox-error">><br> <span class="red">Please enter a name.</span><</replace>> <<else>> <<replace "#textbox-error">><</replace>> <<set _hairStyleName to _hairStyleName.replace(/[^a-zA-Z\u4e00-\u9fa50-9_-]+/g,"").substring(0,30)>> <<set $savedHairStyles[_hairStyleName] to { hairtype:$hairtype, fringetype:$fringetype, hairposition:$hairposition }>> <<replace #hairContainerHairstyle>><<mirrorHairSaveOptions>><</replace>> <</if>> <</button>> </div> <<else>> <div class="tab"> <<button '<span class="fa-icon fa-save"></span> Save'>> <<if _hairStyleName is "">> <<replace "#textbox-error">><br> <span class="red">Please enter a name.</span><</replace>> <<else>> <<replace "#textbox-error">><</replace>> <<set _hairStyleName to _hairStyleName.replace(/[^a-zA-Z\u4e00-\u9fa50-9_-]+/g,"").substring(0,30)>> <<set $savedHairStyles[_hairStyleName] to { hairtype:$hairtype, fringetype:$fringetype, hairposition:$hairposition }>> <<replace #hairContainerHairstyle>><<mirrorHairSaveOptions>><</replace>> <</if>> <</button>> </div> <</if>> </div> <</widget>> <<widget "mirrorMakeupPart">> <<set _itemType = _args[0]>> <<set _items = $makeup.owned[_itemType].filter(x => x.count > 0)>> <<if $makeup.owned[_itemType].length == 0>> <<cosmeticsicon _itemType>> You don't own any _itemType. <<elseif _items.length == 0>> You ran out of _itemType. <br> <</if>> <<if _items.length != 0 or $makeup[_itemType] != 0>> <<cosmeticsicon _itemType>> <span class="gold bold"><<= _itemType.toUpperFirst()>>:</span> <<if $makeup[_itemType] != 0>> <<capture _itemType>> <span class="no-numberify"> <<link "Remove">> <<if _itemType is "eyelenses">> <!-- A safety check for $makeup.eyelenses --> <<set $makeup.eyelenses to { left: 0, right: 0 }>> <<else>> <<set $makeup[_itemType] to 0>> <</if>> <<if _itemType == 'mascara'>> <<set $makeup.mascara_running = 0>> <</if>> <<run Engine.show()>> <</link>> </span> <</capture>> <</if>> <div class="makeupList no-numberify capitalize"> <<for _i, _item range _items>> <span @class="$makeup[_itemType] == _item.colour ? 'makeupWorn' : 'makeupItem'"> <<capture _item, _itemType>> <<set _name to `_item.colour <span @class="_itemType+'-'+_item.colour.replace(/ /g, '-')"><span class="colour-sample"></span></span> × _item.count`>> <<button _name>> <<handheldon>> <<if _itemType is "lipstick">> <<set _colour to _item.colour is "dark red" ? "jewel red" : _item.colour is "orange" ? "tangerine" : _item.colour>> <<wearProp _itemType _colour>> <<else>> <<wearProp _itemType>> <</if>> <<if $makeup[_itemType] !== _item.colour>> <<set $makeup[_itemType] = _item.colour>> <<set _item.count -= 1>> <<if _itemType == 'mascara'>> <<set $makeup.mascara_running = 0>> <</if>> <<run Engine.show()>> <</if>> <</button>> <</capture>> </span> <</for>> </div> <</if>> <</widget>> <<widget "mirrorMakeup">> <<mirroricon>><<link "Back">><<replace #mirror>><<mirrorMenu>><</replace>><<numberify "#passages > .passage">><<unset $mirrorMenu>><</link>> <br><br> <div class="settingsGrid"> <div class="settingsHeader">Makeup</div> <<set _makeup to []>> <<if $makeup.lipstick isnot 0>> <<run _makeup.push($makeup.lipstick + " lipstick")>> <</if>> <<if $makeup.eyeshadow isnot 0>> <<run _makeup.push($makeup.eyeshadow + " eyeshadow")>> <</if>> <<if $makeup.blusher isnot 0>> <<run _makeup.push($makeup.blusher + " blusher")>> <</if>> <<if $makeup.mascara isnot 0>> <<run _makeup.push($makeup.mascara + " mascara")>> <</if>> <<if $makeup.concealer is 1>> <<run _makeup.push("concealer")>> <</if>> <<set _makeupNames to ["lipstick","eyeshadow","mascara","blusher","browscolour","eyelenses"]>> <<set _makeupData to ["lipstick","eyeshadow","mascara","blusher","hairdye","eyelenses"]>> <<set _ownsMakeup to _makeupData.some(item => $makeup.owned[item].some(colour => colour.count > 0))>> <<set _removableMakeup to _makeup.length gt 1 or (_makeup.length is 1 and _makeup[0] isnot "concealer")>> <div class="settingsToggleItemWide"> <<if _makeup.length gt 0>> You are wearing <<=_makeup.reduce( (a, b, i, array) => a + ( i < array.length - 1 ? ', ' : (array.length > 2 ? ', and ' : ' and ') ) + b)>>. <<else>> You are not wearing any makeup. <</if>> <<if _ownsMakeup or _makeup.length gt 0 or $player.freckles == true>> <br><br> Makeup: <</if>> <<if _removableMakeup>> <<link [[Remove all|$passage]]>> <<set $makeup.lipstick to 0>> <<set $makeup.eyeshadow to 0>> <<set $makeup.mascara to 0>> <<set $makeup.blusher to 0>> <<set $makeup.eyelenses to { left: 0, right: 0 }>> <<set $makeup.mascara_running to 0>> <</link>> <<if _makeup.includes("concealer")>> <mouse class="tooltip linkBlue">(?)<span>Will not remove concealer.</span></mouse> <</if>> | <</if>> <<if _ownsMakeup>> <<link [[Randomise|$passage]]>> <<for _i to 0; _i lt _makeupNames.length; _i++>> <<set _ownedMakeup to $makeup.owned[_makeupData[_i]]>> <<if _makeupNames[_i] is "eyelenses">> <<set _rng to random(0, _ownedMakeup.length)>> <<set _lens to _rng is _ownedMakeup.length ? 0 : _ownedMakeup[_rng]>> <<set $makeup.eyelenses to { left: _lens, right: _lens }>> <<else>> <<set _rngset to []>> <<for _label, _value range _ownedMakeup>> <<if _value.count gt 0>> <<run _rngset.push(_label)>> <</if>> <</for>> <<run _rngset.push(_ownedMakeup.length)>> <<set _rng to _rngset[random(0, _rngset.length - 1)]>> <<if _rng is _ownedMakeup.length and _makeupNames[_i] is "browscolour">> /*Do Nothing*/ <<elseif _rng is _ownedMakeup.length>> <<set $makeup[_makeupNames[_i]] to 0>> <<elseif _ownedMakeup[_rng].count gt 0 and $makeup[_makeupNames[_i]] isnot _ownedMakeup[_rng].colour>> <<set $makeup[_makeupNames[_i]] to _ownedMakeup[_rng].colour>> <<set _ownedMakeup[_rng].count-->> <</if>> <</if>> <</for>> <</link>> <</if>> /* CONCEALER */ <<if $player.freckles == true>> <<if _ownsMakeup>>|<</if>> <<if $makeup.concealer == 0>> <<link "Hide freckles with concealer">> <<set $makeup.concealer = 1>> <<run Engine.show()>> <</link>> <<else>> <<link "Remove concealer">> <<set $makeup.concealer = 0>> <<run Engine.show()>> <</link>> <</if>> <</if>> <<if $makeup.presets is undefined>> <<set $makeup.presets to {}>> <</if>> <<if Object.keys($makeup.presets).length gt 0>> <br> Presets: <<for _label, _value range $makeup.presets>> <<capture _label>> <<link _label>> <<replace "#makeupPresets">> <<makeupPresets _label>> <</replace>> <</link>> <<if _label != Object.keys(V.makeup.presets).slice(-1)[0]>>|<</if>> <</capture>> <</for>> <div id="makeupPresets"></div> <</if>> </div> <div class="settingsToggleItem"> <<mirrorMakeupPart "lipstick">> </div> <div class="settingsToggleItem"> <<mirrorMakeupPart "eyeshadow">> </div> <div class="settingsToggleItem"> <<mirrorMakeupPart "mascara">> </div> <div class="settingsToggleItem"> <<mirrorMakeupPart "blusher">> </div> <div class="settingsToggleItemWide"> <span class="gold bold">New Makeup Preset</span> <br> Saves the makeup you currently have equipped. <br> <<textbox "_newPresetName" "">> <br> <<link [[Save preset|$passage]]>> <<set _newPresetName to _newPresetName.replace(/[^a-zA-Z\u4e00-\u9fa5 0-9]+/g,"")>> <<set $makeup.presets[_newPresetName] to { lipstick:clone($makeup.lipstick), eyeshadow:clone($makeup.eyeshadow), mascara:clone($makeup.mascara), blusher:clone($makeup.blusher), browscolour:clone($makeup.browscolour), eyelenses:clone($makeup.eyelenses), }>> <</link>> </div> <<if !$simpleMirror>> <div class="settingsToggleItemWide"> <<cosmeticsicon "contacts">> <<if $makeup.owned.eyelenses.length == 0 and $makeup.owned.custom_eyelenses.length == 0>> You don't own any contact lenses. <<else>> <span class="gold bold">Contact Lenses:</span> <<if $makeup.eyelenses.left != 0 || $makeup.eyelenses.right != 0>> <span class="no-numberify"> <<link "Remove">> <<set $makeup.eyelenses = { left: 0, right: 0 }>> <<run Engine.show()>> <</link>> </span> <br> You are wearing <<if $makeup.eyelenses.left is $makeup.eyelenses.right>> <<= $makeup.eyelenses.left>> contacts. <<elseif $makeup.eyelenses.left != 0 and $makeup.eyelenses.right != 0>> <<= $makeup.eyelenses.left>> contacts in your left eye and <<= $makeup.eyelenses.right>> contacts in your right eye. <<else>> <<set _lens to $makeup.eyelenses.left != 0 ? $makeup.eyelenses.left : $makeup.eyelenses.right>> <<set _eye to $makeup.eyelenses.left != 0 ? "left" : "right">> <<= _lens>> contacts in your <<= _eye>> eye. Your <<= _eye is "left" ? "right" : "left">> eye is your natural <<= _eye is "left" ? $rightEyeColour : $leftEyeColour>> colour. <</if>> <<else>> <br> You are not wearing any contact lenses. <</if>> <br><br> Put contacts in: <label><<radiobutton "_contact_eye_selected" "Both" checked>> Both eyes</label> | <label><<radiobutton "_contact_eye_selected" "Left eye">> Left eye</label> | <label><<radiobutton "_contact_eye_selected" "Right eye">> Right eye</label> <br> <div class="makeupList no-numberify capitalize"> <<for _i, _colour range $makeup.owned.eyelenses>> <<switch _contact_eye_selected>> <<default>><<set _eye to "left">> <</switch>> <span class="makeupItem"> <<capture _colour>> <<set _contactName to `_colour <span @class="'eye-'+_colour.replace(/ /g, '-')"><span class="colour-sample bgcolour-eyes left-"></span></span>`>> <<button _contactName>> <<handheldon 1>> <<if _contact_eye_selected == "Both">> <<set $makeup.eyelenses = { left: _colour, right: _colour }>> <<elseif _contact_eye_selected == "Left eye">> <<set $makeup.eyelenses.left = _colour>> <<elseif _contact_eye_selected == "Right eye">> <<set $makeup.eyelenses.right = _colour>> <</if>> <<run Engine.show()>> <</button>> <</capture>> </span> <</for>> /* I wish a fiery death on whoever made the custom contacts */ <<for _i = 0; _i < $makeup.owned.custom_eyelenses.length; _i++>> <<run _colour = $makeup.owned.custom_eyelenses[_i]>> <<for _e = 0; _e < $custom_eyecolours.length; _e++>> <<if $custom_eyecolours[_e].variable == $makeup.owned.custom_eyelenses[_i]>> <<set _background_colour to clone($custom_eyecolours[_e].canvasfilter.blend)>> <</if>> <</for>> <span class="makeupItem"> <<capture _colour _background_colour>> <<set _colourSpaced to window.colorNameTranslate(_colour, "spaced name")>> <<set _customName to `_colourSpaced [C] <span class="eye-custom"><span @style="'background:'+_background_colour" class="colour-sample"></span></span>`>> <<button _customName>> <<if _contact_eye_selected == "Both">> <<set $makeup.eyelenses = { left:_colour, right:_colour }>> <<elseif _contact_eye_selected == "Left eye">> <<set $makeup.eyelenses.left = _colour>> <<elseif _contact_eye_selected == "Right eye">> <<set $makeup.eyelenses.right = _colour>> <</if>> <<run Engine.show()>> <</button>> <</capture>> </span> <</for>> </div> <</if>> </div> /* WHY IS THIS IN THE BEDROOM AND NOT THE BATHROOM WITH THE PUBIC HAIR DYE? WHY IS IT SAVED WITH MAKEUP PRESETS? */ <div class="settingsToggleItemWide"> <<cosmeticsicon "dyes">> <<set _dyes = $makeup.owned.hairdye.filter(x => x.count > 0)>> <<if _dyes.length == 0>> You have no hair dye to dye your eyebrows with. <<else>> <span class="gold bold">Eyebrow Colour:</span> <br> <<if $mirror_eyebrow_dye is true>> <<handheldon 1>> <<wearProp "hairdye">> <<unset $mirror_eyebrow_dye>> You open up the box with <<= setup.colours.hair_map[$browsDyeOption].name>> dye and prepare the mixture. Using a small brush, you carefully apply the dye to your eyebrows. You wait several minutes for the dye to set and hope you didn't mess up anything. <<set $makeup.owned.hairdye.find(x => x.colour == $browsDyeOption).count -= 1>><<set $makeup.browscolour = $browsDyeOption>><<unset $browsDyeOption>> <hr> <</if>> <<if $makeup.browscolour != 0>> Your brows are coloured with <<hairmapcolourtext $makeup.browscolour>> hair dye. Visit a hairdresser to restore them to their natural <<hairmapcolourtext $naturalhaircolour>> colour. <<else>> Your brows are their natural <<hairmapcolourtext $naturalhaircolour>> colour. <</if>> <br><br> Dying your eyebrows will take <span class="gold">0:15</span> minutes. <br> <div class="makeupList no-numberify capitalize"> <<for _i to 0; _i lt _dyes.length; _i++>> <<if $makeup.browscolour is _dyes[_i].colour or $naturalhaircolour is _dyes[_i].colour>> <<continue>> <</if>> <<set _displayName = (_dyes[_i].colour in setup.colours.hair_map ? setup.colours.hair_map[_dyes[_i].colour].name : _dyes[_i].colour.charAt(0).toUpperCase() + _dyes[_i].colour.slice(1)) + " ×" + _dyes[_i].count + " ">> <<set _dyeName to _displayName + `<span @class="'hair-' + _dyes[_i].colour.replace(/ /g, '-')"><span class="colour-sample bgcolour-hair colour-hair"></span>`>> <<capture _dyes, _i>> <<button _dyeName>> <<set $mirror_eyebrow_dye to true>><<pass 15>> <<set $browsDyeOption to _dyes[_i].colour>> <<run Engine.show()>> <</button>> <</capture>> <</for>> </div> <</if>> </div> <</if>> </div> <</widget>> <<widget "makeupPresets">> <<set _presetChosen to $makeup.presets[_args[0]]>> <hr> Preset: <<print _args[0]>> <br> <<for $_label, $_value range _presetChosen>> <<switch $_label>> <<case "browscolour">> Eyebrow Dye: <<makeupPresetsItem "hairdye" $_value>> <<case "lipstick">> Lipstick: <<makeupPresetsItem $_label $_value>> <<case "eyeshadow">> Eyeshadow: <<makeupPresetsItem $_label $_value>> <<case "mascara">> Mascara: <<makeupPresetsItem $_label $_value>> <<case "blusher">> Blusher: <<makeupPresetsItem $_label $_value>> <<case "eyelenses">> Contact Lenses: <<makeupPresetsItem $_label $_value>> <</switch>> <br> <</for>> <br> <<link [[Apply preset makeup|$passage]]>> <<for $_makeupName range _makeupNames>> <<set _preset to _presetChosen[$_makeupName]>> <<if $_makeupName is "eyelenses">> <<if _preset.left is 0 and _preset.right is 0>> <<set $makeup.eyelenses to { left:0, right:0 }>> <<elseif $makeup.owned.eyelenses.includes(_preset.left) and $makeup.owned.eyelenses.includes(_preset.right)>> <<set $makeup.eyelenses to _preset>> <<elseif $makeup.owned.custom_eyelenses.includes(_preset.left) and $makeup.owned.custom_eyelenses.includes(_preset.right)>> <<set $makeup.eyelenses to _preset>> <</if>> <<elseif _preset is 0 and $_makeupName is "hairdye">> /*Do Nothing*/ <<elseif _preset is 0>> <<set $makeup[$_makeupName] to 0>> <<else>> <<set $_makeupName2 to ($_makeupName is "browscolour" ? "hairdye" : $_makeupName)>> <<set $_target to $makeup.owned[$_makeupName2].find(invMakeup => invMakeup.colour is _preset and invMakeup.colour isnot $makeup[$_makeupName] and invMakeup.count gt 0)>> <<if $_target>> <<set $makeup[$_makeupName] to clone($_target.colour)>> <<set $_target.count-->> <</if>> <</if>> <</for>> <</link>> | <<link [[Delete preset|$passage]]>> <<run delete $makeup.presets[_args[0]]>> <</link>> <</widget>> <<widget "makeupPresetsItem">> <<if _args[0] isnot undefined and _args[1] isnot undefined>> <<if _args[1] is 0 and _args[0] is "hairdye">> <span class="green">Natural</span> <<elseif _args[1] is 0>> None <<else>> <<if _args[0] is "eyelenses">> <<if _args[1].left == 0 && _args[1].right == 0>> None <<elseif _args[1].left == _args[1].right>> <span class="green"><<print _args[1].left.toUpperFirst()>> (Owned)</span> <<else>> <<if _args[1].left == 0>> <<set _args[1].left to "None">> <</if>> <<if _args[1].right == 0>> <<set _args[1].right to "None">> <</if>> <span class="green"><<print _args[1].left.toUpperFirst() + " (Left), " + _args[1].right.toUpperFirst()+" (Right)">></span> <</if>> <<else>> <<for $_i to 0; $_i lt $makeup.owned[_args[0]].length; $_i++>> <<if $makeup.owned[_args[0]][$_i].colour is _args[1]>> <<if $makeup.owned[_args[0]][$_i].count gt 0>> <span class="green"><<print _args[1].toUpperFirst()>> (<<print "×"+$makeup.owned[_args[0]][$_i].count>>)</span> <<else>> <span class="red"><<print _args[1].toUpperFirst()>> (× 0)</span> <</if>> <<break>> <</if>> <</for>> <</if>> <</if>> <</if>> <</widget>> <<widget "browsColourPreview">> <span id="browsColourPreview"> <<if $browsDyeOption isnot "noChange">> <span @class="'hair-' + $browsDyeOption.replace(/ /g, '-')"> <span class="colour-sample bgcolour-hair colour-hair"></span> </span> <br><<link [[Dye eyebrows (0:15)|$passage]]>><<set $mirror_eyebrow_dye to true>><<pass 15>><</link>> <</if>> </span> <</widget>> <<widget "mirrorTransformation">> <<mirroricon>><<link "Back">><<replace #mirror>><<mirrorMenu>><</replace>><<numberify "#passages > .passage">><<unset $mirrorMenu>><</link>> <<set _angel to $transformationParts.angel>> <<set _fallen to $transformationParts.fallenAngel>> <<set _demon to $transformationParts.demon>> <<set _cat to $transformationParts.cat>> <<set _cow to $transformationParts.cow>> <<set _wolf to $transformationParts.wolf>> <<set _bird to $transformationParts.bird>> <<set _fox to $transformationParts.fox>> <<set _traits to $transformationParts.traits>> <<set _divine to ["angel", "fallenangel", "demon"].find(tf => V[tf] > 1)>> <<set _animal to ["cat", "cow", "wolfgirl", "harpy", "fox"].find(tf => V[tf] > 1)>> <div class="settingsGrid"> <div class="settingsHeader">Transformations</div> <div class="settingsToggleItemWide"> Hiding parts of your Inner Self lowers your attractiveness, but will also slowly increase your Trauma over time. <<if ["wolfgirl", "harpy", "fox"].includes(_animal)>>Pubes, pits, and cheeks can be hidden without affecting your attractiveness or incurring Trauma.<</if>> If your Trauma gets too high, you will be unable to hide. </div> <<if _divine>> <div @class="_animal ? 'settingsToggleItem' : 'settingsToggleItemWide'"> <<tficon _divine>> <span class="gold bold">Divine: <<= _divine is "fallenangel" ? "Fallen Angel" : _divine.toUpperFirst()>></span> <<if $angel gt 1>> <<if _angel.halo isnot "disabled">> <div class='tf-part-item'> Halo: <<listbox "_angel.halo" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Celestial" "celestial">> <<option "Traditional" "traditional">> <</listbox>> </div> <</if>> <<if _angel.wings isnot "disabled">> <div class='tf-part-item'> Wings: <<listbox "_angel.wings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Cherub" "cherub">> <<option "Classic" "classic">> <</listbox>> </div> <</if>> <<elseif $fallenangel gt 1>> <<if _fallen.halo isnot "disabled">> <div class='tf-part-item'> Halo: <<if $fallenangel gte 4>> <<listbox "_fallen.halo" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Celestial" "celestial">> <<option "Dark Celestial" "celestial-black">> <<option "Forgiven Celestial" "celestial-fallenplus">> <<option "Traditional" "traditional">> <</listbox>> <<else>> <<listbox "_fallen.halo" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Celestial" "celestial">> <<option "Dark Celestial" "celestial-black">> <<option "Traditional" "traditional">> <</listbox>> <</if>> </div> <</if>> <<if _fallen.wings isnot "disabled">> <div class='tf-part-item'> Wings: <<if $fallenangel gte 4>> <<listbox "_fallen.wings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Torn" "torn">> <<option "Cherub" "cherub">> <<option "Dark Cherub" "cherub-black">> <<option "Forgiven Cherub" "cherub-fallenplus">> <<option "Feathered" "fallenplus">> <<option "Classic Feathered" "classicfallenplus">> <<option "Classic" "classic">> <</listbox>> <<else>> <<listbox "_fallen.wings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Torn" "torn">> <<option "Cherub" "cherub">> <<option "Dark Cherub" "cherub-black">> <<option "Classic" "classic">> <</listbox>> <</if>> </div> <</if>> <<elseif $demon gt 1>> <<if _demon.horns isnot "disabled">> <div class='tf-part-item'> Horns: <<listbox "_demon.horns" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Classic" "classic">> <<option "Succubus" "succubus">> <</listbox>> <<gencolourselector "_demon.horns_colour">> </div> <</if>> <<if _demon.wings isnot "disabled">> <div class='tf-part-item'> Wings: <<listbox "_demon.wings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Imp" "imp">> <<option "Succubus" "succubus">> <</listbox>> <<gencolourselector "_demon.wings_colour">> </div> <</if>> <<if _demon.tail isnot "disabled">> <div class='tf-part-item'> Tail: <<listbox "_demon.tail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Imp" "imp">> <<option "Classic" "classic">> <<option "Succubus" "succubus">> <</listbox>> <<gencolourselector "_demon.tail_colour">> </div> <</if>> <<if $demon gte 4>> <div class='tf-part-item'> <<if hasSexStat("exhibitionism", 6)>> Flaunting when exposed: <<listbox "_traits.flaunting" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> <<ind>> <<else>> <span class="black">Flaunting (requires higher exhibitionism):</span> <<listbox "_traits.flaunting" autoselect>> <<option "Hide" "hidden">> <</listbox>> <<ind>> <</if>> </div> <</if>> <</if>> </div> <</if>> <<if _animal>> <div @class="_divine ? 'settingsToggleItem' : 'settingsToggleItemWide'"> <span class="gold bold"><<tficon _animal>>Animal: <<= _animal is "harpy" ? "Bird" : _animal is "wolfgirl" ? "Wolf" : _animal.toUpperFirst()>></span> <<if $cat gt 1>> <<if _cat.ears isnot "disabled">> <div class='tf-part-item'> Ears: <<listbox "_cat.ears" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _cat.tail isnot "disabled">> <div class='tf-part-item'> Tail: <<listbox "_cat.tail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _cat.heterochromia isnot "disabled">> <div class='tf-part-item'> Heterochromia: <<listbox "_cat.heterochromia" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <</if>> <<if $cow gt 1>> <<if _cow.horns isnot "disabled">> <div class='tf-part-item'> Horns: <<listbox "_cow.horns" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _cow.ears isnot "disabled">> <div class='tf-part-item'> Ears: <<listbox "_cow.ears" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Spotted black" "spotted black">> <<option "Spotted brown" "spotted brown">> <</listbox>> </div> <</if>> <<if _cow.tail isnot "disabled">> <div class='tf-part-item'> Tail: <<listbox "_cow.tail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Black" "black">> <</listbox>> </div> <</if>> <</if>> <<if $wolfgirl gt 1>> <<if _wolf.ears isnot "disabled">> <div class='tf-part-item'> Ears: <<listbox "_wolf.ears" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Feral" "feral">> <</listbox>> </div> <</if>> <<if _wolf.tail isnot "disabled">> <div class='tf-part-item'> Tail: <<listbox "_wolf.tail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <<option "Feral" "feral">> <</listbox>> </div> <</if>> <<if _wolf.cheeks isnot "disabled">> <div class='tf-part-item'> Cheeks: <<listbox "_wolf.cheeks" autoselect>> <<option "Hide" "hidden">> <<option "Feral" "feral">> <</listbox>> </div> <</if>> <<if _wolf.pubes isnot "disabled" and $pbdisable is "f">> <div class='tf-part-item'> Pubes: <<listbox "_wolf.pubes" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _wolf.pits isnot "disabled" and $pbdisable is "f">> <div class='tf-part-item'> Pits: <<listbox "_wolf.pits" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <</if>> <<if $harpy gt 1>> <<if _bird.eyes isnot "disabled">> <div class='tf-part-item'> Eyes: <<listbox "_bird.eyes" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _bird.malar isnot "disabled">> <div class='tf-part-item'> Malar Stripes: <<listbox "_bird.malar" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _bird.plumage isnot "disabled">> <div class='tf-part-item'> Plumage: <<listbox "_bird.plumage" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _bird.tail isnot "disabled">> <div class='tf-part-item'> Tail: <<listbox "_bird.tail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _bird.wings isnot "disabled">> <div class='tf-part-item'> Wings: <<listbox "_bird.wings" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _bird.pubes isnot "disabled" and $pbdisable is "f">> <div class='tf-part-item'> Pubes: <<listbox "_bird.pubes" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <</if>> <<if $fox gt 1>> <<if _fox.ears isnot "disabled">> <div class='tf-part-item'> Ears: <<listbox "_fox.ears" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _fox.tail isnot "disabled">> <div class='tf-part-item'> Tail: <<listbox "_fox.tail" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <<if _fox.cheeks isnot "disabled">> <div class='tf-part-item'> Cheeks: <<listbox "_fox.cheeks" autoselect>> <<option "Hide" "hidden">> <<option "Default" "default">> <</listbox>> </div> <</if>> <br> <</if>> <<set $_chimeraOptions to { "demoncat_tail" : !["disabled", "hidden"].includesAny(_demon.tail, _cat.tail), "demoncow_tail" : !["disabled", "hidden"].includesAny(_demon.tail, _cow.tail), "demonwolf_tail" : !["disabled", "hidden"].includesAny(_demon.tail, _wolf.tail), "demonharpy_wings" : !["disabled", "hidden"].includesAny(_demon.wings, _bird.wings), "angelharpy_wings" : !["disabled", "hidden"].includesAny(_angel.wings, _bird.wings), "fallenharpy_wings" : !["disabled", "hidden"].includesAny(_fallen.wings, _bird.wings), }>> <<set $_chimeraEnabled to Object.values($_chimeraOptions).some(o => o) ? "" : " hide">> <div @class="'chimera' + $_chimeraEnabled"> <<if _divine>><<tficon _divine>><</if>> <span class="gold bold">Chimera</span> <<if $_chimeraOptions.demoncat_tail>> /* Using demon cat chimera tail. */ <div class='tf-part-item'> Demon cat tail: <<listbox "$chimera.demoncat.tail" autoselect>> <<option "Show" true>> <<option "Hide" false>> <</listbox>> </div> <</if>> <<if $_chimeraOptions.demoncow_tail>> /* Using demon cow chimera tail. */ <div class='tf-part-item'> Demon cow tail: <<listbox "$chimera.demoncow.tail" autoselect>> <<option "Show" true>> <<option "Hide" false>> <</listbox>> </div> <</if>> <<if $_chimeraOptions.demonwolf_tail>> /* Using demon wolf chimera tail. */ <div class='tf-part-item'> Demon wolf tail: <<listbox "$chimera.demonwolf.tail" autoselect>> <<option "Show" true>> <<option "Hide" false>> <</listbox>> </div> <</if>> <<if $_chimeraOptions.demonharpy_wings>> /* Using demon harpy chimera wings. */ <div class='tf-part-item'> Demon harpy wings: <<listbox "$chimera.demonharpy.wings" autoselect>> <<option "Show" true>> <<option "Hide" false>> <</listbox>> </div> <</if>> <<if $_chimeraOptions.angelharpy_wings>> /* Using angel harpy chimera wings. */ <div class='tf-part-item'> Angel harpy wings: <<listbox "$chimera.angelharpy.wings" autoselect>> <<option "Show" true>> <<option "Hide" false>> <</listbox>> </div> <</if>> <<if $_chimeraOptions.fallenharpy_wings>> /* Using fallen angel harpy chimera wings. */ <div class='tf-part-item'> Fallen harpy wings: <<listbox "$chimera.fallenharpy.wings" autoselect>> <<option "Show" true>> <<option "Hide" false>> <</listbox>> </div> <</if>> </div> </div> <</if>> <<if !["demon", "cow"].every(transform => T[transform].horns is "disabled") || !["demon", "cat", "cow", "wolf", "bird", "fox"].every(transform => T[transform].tail is "disabled") || !["angel", "fallen", "demon", "bird"].every(transform => T[transform].wings is "disabled")>> <div class="settingsToggleItemWide no-numberify"> <span class="gold bold">Layer Adjustments:</span> <br> <div class="no-numberify"> <<if !["demon", "cow"].every(transform => T[transform].horns is "disabled")>> <<switch $hornslayer>> <<case "front">> <<link "Prioritise headwear over horns">> <<run State.setVar("$hornslayer", "back")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <<case "back">> <<link "Prioritise horns over headwear">> <<run State.setVar("$hornslayer", "front")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <<default>> <<link "Prioritise horns over headwear">> <<run State.setVar("$hornslayer", "front")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <</switch>> <br> <</if>> <<if !["demon", "cat", "cow", "wolf", "bird", "fox"].every(transform => T[transform].tail is "disabled")>> <<switch $taillayer>> <<case "front">> <<link "Push tail back">> <<run State.setVar("$taillayer", "back")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <<case "back">> <<link "Move tail forward">> <<run State.setVar("$taillayer", "front")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <<default>> <<link "Push tail back">> <<run State.setVar("$taillayer", "back")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <</switch>> <br> <</if>> <<if !["angel", "fallen", "demon", "bird"].every(transform => T[transform].wings is "disabled")>> <<switch $wingslayer>> <<case "front">> <<link "Push wings behind">> <<run State.setVar("$wingslayer", "back")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <<case "back">> <<link "Move wings forward">> <<run State.setVar("$wingslayer", "front")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <<default>> <<link "Push wings behind">> <<run State.setVar("$wingslayer", "back")>> <<run Engine.show()>> <<updatesidebarimg true>> <</link>> <</switch>> <br> <</if>> </div> <</if>> <div class="mainButton"> <<button [[Confirm|$passage]]>> <<set $mirrorMenu to "transformation">> <<if $transformationParts.cat.heterochromia is "hidden">> <<catHeterochromiaTF "hide">> <<elseif $cat gte 7 and $cat lte 10>> <<catHeterochromiaTF `$cat - 7`>> <</if>> <</button>> </div> <<if _isMenuEnabled>> <details class="expandMenu"> <summary class="expandMenu">Custom Colours</summary> <div class="menuWarning"> You haven't chosen any transformation parts! Select the checkboxes for the parts you'd like to recolour. </div> <div class="menuContent hidden"> <<set _options to ['ffffff', 'ff0000', '00ff00', '0000ff', '590099', '000000']>> <<gencoloursquares _options>> <<gencolourpicker>> </div> </details> <</if>> </div> <!-- Attach an event to every listbox item to update the PC on the sidebar. --> <<script>> jQuery('.passage').on('change', 'select.macro-listbox', function (e) { Wikifier.wikifyEval('<<updatesidebarimg true>>'); }); <</script>> <</widget>><<widget "mobileStats">> <<if Number.isFinite($pain) and ($options.sidebarStats is "all" or $pain gt 50)>> <<mobileStatsColor "pain">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">P<span>Pain: <<print $pain.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($arousal) and ($options.sidebarStats is "all" or $arousal gt $arousalmax / 2)>> <<mobileStatsColor "arousal">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">Ar<span>Arousal: <<print $arousal.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($tiredness) and ($options.sidebarStats is "all" or $tiredness gt C.tiredness.max / 2)>> <<mobileStatsColor "fatigue">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">F<span>Fatigue: <<print $tiredness.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($stress) and ($options.sidebarStats is "all" or $stress gt $stressmax / 2)>> <<mobileStatsColor "stress">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">S<span>Stress: <<print $stress.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($innocencestate) and $innocencestate is 1 and ($options.sidebarStats is "all" or $awareness gt -100)>> <<mobileStatsColor "innocence">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">I<span>Innocence: <<print Math.abs($awareness).toFixed(2)>></span></mouse> </div> <<elseif Number.isFinite($trauma) and ($options.sidebarStats is "all" or $trauma gt $traumamax / 2)>> <<mobileStatsColor "trauma">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">T<span>Trauma: <<print $trauma.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($control) and ($options.sidebarStats is "all" or $control gt $controlmax / 2)>> <<mobileStatsColor "control">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">C<span>Control: <<print $control.toFixed(2)>></span></mouse> </div> <</if>> <<mobileStatsColor "allure">> <<if Number.isFinite($allure)>> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">Al<span>Allure: <<print $allure.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($drunk) and $drunk gt 0>> <<mobileStatsColor "drunk">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">Dk<span>Drunk: <<print $drunk.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($drugged) and $drugged gt 0>> <<mobileStatsColor "drugged">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">Dg<span>Drugged: <<print $drugged.toFixed(2)>></span></mouse> </div> <</if>> <<if Number.isFinite($hallucinogen) and $hallucinogen gt 0>> <<mobileStatsColor "hallucinogen">> <div @class="'stat ' + _mobileColor"> <mouse class="tooltip-centertop">H<span>Hallucinogen: <<print $hallucinogen.toFixed(2)>></span></mouse> </div> <</if>> <</widget>> <<widget "mobileStatsTime">> <<set _hour to $options.timestyle === "ampm" ? ((Time.hour + 11) % 12) + 1 : Time.hour>> <div class="stat time"> <<print _hour.toString().padStart(2, "0")>> <br> <span class="vertical">:</span> <br> <<print Time.minute.toString().padStart(2, "0")>> <<if $options.timestyle === "ampm">> <br> <<print Time.hour >= 12 ? "pm" : "am">> <</if>> </div> <</widget>> <<widget "mobileStatsColor">> <<switch _args[0]>> <<case "pain">> <<mobileStatsColorSet `($pain gte 100 and $willpowerpain is 0 ? $pain : Math.clamp($pain, 0, 99))` 100>> <<case "arousal">> <<mobileStatsColorSet `Math.clamp($arousal, 0, $arousalmax)` $arousalmax>> <<case "fatigue">> <<mobileStatsColorSet `Math.clamp($tiredness, 0, C.tiredness.max)` `C.tiredness.max`>> <<case "stress">> <<mobileStatsColorSet `Math.clamp($stress, 0, $stressmax)` $stressmax>> <<case "innocence">> <<mobileStatsColorSetIverted `Math.clamp($awareness, 0, -200)` -200>> <<case "trauma">> <<mobileStatsColorSet `Math.clamp($trauma, 0, $traumamax)` $traumamax>> <<case "control">> <<mobileStatsColorSetIverted `Math.clamp($control, 0, $controlmax)` $controlmax>> <<case "allure">> <<mobileStatsColorAllure>> <<case "drunk">> <<mobileStatsColorSet `Math.clamp($drunk, 50, 500)` 500>> <<case "drugged">> <<mobileStatsColorSet `Math.clamp($drugged, 50, 500)` 500>> <<case "hallucinogen">> <<mobileStatsColorSet `Math.clamp($hallucinogen, 50, 500)` 500>> <</switch>> <</widget>> <<widget "mobileStatsColorSet">> <<if _args[0] is 0>> <<set _mobileColor to "green">> <<else>> <<set _percent=Math.floor((_args[0]/_args[1])*10)>> <<switch _percent>> <<case 8 9>> <<set _mobileColor to "pink">> <<case 6 7>> <<set _mobileColor to "purple">> <<case 4 5>> <<set _mobileColor to "blue">> <<case 2 3>> <<set _mobileColor to "lblue">> <<case 0 1>> <<set _mobileColor to "teal">> <<default>> <<set _mobileColor to "red">> <</switch>> <</if>> <</widget>> <<widget "mobileStatsColorSetIverted">> <<if _args[0] is 0>> <<set _mobileColor to "red">> <<else>> <<set _percent=Math.floor((_args[0]/_args[1])*10)>> <<switch _percent>> <<case 8 9>> <<set _mobileColor to "teal">> <<case 6 7>> <<set _mobileColor to "lblue">> <<case 4 5>> <<set _mobileColor to "blue">> <<case 2 3>> <<set _mobileColor to "purple">> <<case 0 1>> <<set _mobileColor to "pink">> <<default>> <<set _mobileColor to "green">> <</switch>> <</if>> <</widget>> <<widget "mobileStatsColorAllure">> <<if $allure gte (6000 * $alluremod)>> <<set _mobileColor to "red">> <<else>> <<switch Math.floor($allure / $alluremod / 1000)>> <<case 3>> <<set _mobileColor to "purple">> <<case 2>> <<set _mobileColor to "blue">> <<case 1>> <<if $allure / $alluremod gte 1500>> <<set _mobileColor to "lblue">> <<else>> <<set _mobileColor to "teal">> <</if>> <<case 0>> <<set _mobileColor to "green">> <<default>> <<set _mobileColor to "pink">> <</switch>> <</if>> <</widget>><<widget "init_names">> <<set $NPC_names_m to [ "Oliver", "Noah", "George", "Arthur", "Freddie", "Leo", "Theo", "Oscar", "Charlie", "Harry", "Michael", "Christopher", "Matthew", "Joshua", "Jacob", "Nicholas", "Andrew", "Daniel", "Tyler", "Joseph", "James", "David", "Robert", "Jack", "Richard", "Paul", "Mark", "Thomas", "Adam", "Jason", "Connor", "Jake", "John", "Brian", "William", "Ben", "Kevin", "Eric", "Jeffrey", "Jamie", "Louis", "Ryan", "Mark", "Joe", "Stephen", "Ian", "Austin", "Kyle", "Zach", "Patrick" ]>> <<set $NPC_names_f to [ "Olivia", "Amelia", "Isla", "Ava", "Mia", "Grace", "Freya", "Lily", "Sophia", "Ivy", "Jessica", "Ashley", "Emily", "Sarah", "Samantha", "Amanda", "Brittany", "Elizabeth", "Taylor", "Megan", "Laura", "Gemma", "Emma", "Rebecca", "Claire", "Victoria", "Rachel", "Amy", "Jennifer", "Nicola", "Katie", "Lisa", "Julie", "Melissa", "Michelle", "Kim", "Angela", "Heather", "Stephanie", "Nicole", "Christina", "Susan", "Karen", "Jacqueline", "Deborah", "Tracey", "Jane", "Helen", "Diane", "Sharon" ]>> <</widget>><<widget "endnpc">> /* We properly change how Named NPCs are ended. * The way we want to do this is: if an argument is passed (the argument being the Named NPC's name) we clearnpc the specific NPC in question. * If no argument is passed, we clear all the Named NPCs. */ <<if _args[0]>> <<set _passargs to _args[0]>> <<set _leindex to $npc.indexOf(_passargs)>> <<set C.npc[_passargs].trust += ($enemytrust / 100)>> <<for _temp to 0; _temp lt $NPCList.length; _temp++>> <<if $NPCList[_temp].fullDescription is _passargs>> <<set _ii to clone(_temp)>> <<break>> <</if>> <</for>> <!-- In case someone calls the wrong NPC, or doesn't use upper case --> <<if _ii is undefined>> <span class="red">Error: <<print _passargs>> is not active. Aborting.</span> <<else>> <<set $NPCList[_ii].lefthand to "none">> <<set $NPCList[_ii].righthand to "none">> <<set $NPCList[_ii].penis to "none">> <<set $NPCList[_ii].vagina to "none">> <<set $NPCList[_ii].mouth to "none">> <<set $NPCList[_ii].chest to "none">> <<set $NPCList[_ii].gender to 0>> <<set $NPCList[_ii].pronoun to 0>> <<set $NPCList[_ii].description to 0>> <<set $NPCList[_ii].fullDescription to 0>> <<set $NPCList[_ii].insecurity to 0>> <<set $NPCList[_ii].lactation to 0>> <<set $NPCList[_ii].intro to 0>> <<set $NPCList[_ii].speechanusescape to 0>> <<set $NPCList[_ii].speechpenisescape to 0>> <<set $NPCList[_ii].speechvaginaescape to 0>> <<set $NPCList[_ii].type to 0>> <<set $NPCList[_ii].stance to 0>> <<set $NPCList[_ii].monster to 0>> /*multiple orgasms code needs work <<set $NPCList[_ii].maxOrgasms to 1>> <<set $NPCList[_ii].orgasms to 0>> */ <<set $NPCList[_ii].paid to 0>> <<if _ii < 1>> <<set $NPCList[_ii].breastsize to 3>> <<set $NPCList[_ii].breastsdesc to "breasts">> <<set $NPCList[_ii].breastdesc to "breast">> <<set $NPCList[_ii].penisdesc to "penis">> <<set $NPCList[_ii].penissize to 2>> <<set $NPCList[_ii].health to 200>> <<set $NPCList[_ii].healthmax to 200>> <<else>> <<set $NPCList[_ii].breastsize to 0>> <<set $NPCList[_ii].breastsdesc to 0>> <<set $NPCList[_ii].breastdesc to 0>> <<set $NPCList[_ii].penisdesc to 0>> <<set $NPCList[_ii].penissize to 0>> <<set $NPCList[_ii].health to 0>> <</if>> <<set $enemyno -= 1>> <<set $enemynomax -= 1>> <<if $endeventerror is undefined>> <<run EventSystem.pop(_ii)>> <</if>> <<if $enemyno is 0>> <<set $pronoun to 0>> <<if $endeventerror is undefined>> <<run EventSystem.clear()>> <</if>> <</if>> <<set $npc.splice(_leindex, 1)>> <<set $npcnum.splice(_leindex, 1)>> <<set $npcrow.splice(_leindex, 1)>> <</if>> <<unset _temp>> <<unset _leindex>> <<else>> <!-- For each and every named NPC defined, we increase their trust. --> <<for _temp to 0; _temp lt $npc.length; _temp++>> <<set _nam to clone($npc[_temp])>> <<set C.npc[_nam].trust += ($enemytrust / 100)>> <</for>> <<clearnpc>> <<unset _temp>> <</if>> <</widget>> <!-- Named NPC aka NNPC notes --> <!-- $NPCNameList.indexOf("Eden") returns the index value of Eden array, allowing name-friendly calls --> <!-- To call NNPC Eden, use <<npc Eden>>, and <<endnpc>> to put them away. --> /*Gender neutral names for future reference Aiden Akira Alex Alexis Ariel Armani Ashanti Ashton Aspen Aubrey August Blair Blake Brogan Brooklyn Bryce Cameron Carson Casey Chris Courtney Dana Delaney Devon Dominique Drew Dylan Easton Elia Elliot Esme Evan Farai Faris Ferris Finley Flynn Frankie Genesis Hayden Hollis Hudson Ira Ivory Jamie Jayden Jean Jeryn Jesse Joey Jun Justice Keegan Kendall Kennedy Kerry Kim Kirby Kit Kris Kyrie Lashawn Lee Lesley Lincoln Linden Mackenzie Maddox Madison Mel Michael Nakia Nasim Noah Noor Nyx Odell Orion Palmer Paris Payson Peyton Phoenix Raz Reagan Rebel Rei Ren Rey Riley Roan Rotem Ryan Shannon Sharon Shaw Shay Shiloh Spencer Sydney Taylor Teagan Toby Tracy Tyne Willow Wren Wynne Yael Yannick Zain Zane Zephyr Zia Zohar */ <<widget "initnpcskin">> <<for _i to 0; _i lt $NPCName.length; _i++>> <<initnpcskinsingle _i _args[0]>> <</for>> <</widget>> <<widget "initnpcskinsingle">> <<set _i to _args[0]>> <<if !$NPCName[_i].skincolour or $NPCName[_i].skincolour is "none" or _args[1] is "skincolour">> <<if random(0, 99) lte $blackchance>> <<set $NPCName[_i].skincolour to "black">> <<else>> <<set $NPCName[_i].skincolour to "white">> <</if>> <</if>> <</widget>> <<widget "initnpcgender">> <<for _i to 0; _i lt $NPCName.length; _i++>> <<initnpcgendersingle _i _args[0]>> <</for>> <</widget>> <<widget "initnpcgendersingle">> <<set _i to _args[0]>> <!-- Set Pronoun --> <<if !$NPCName[_i].pronoun or $NPCName[_i].pronoun is "none" or _args[1] is "genders">> <<if $passage is "Start">> <<if $player.sex is "m">> <<set _override to "m">> <<elseif $player.sex is "h">> <<if $player.gender_body is "m" or ($player.gender_body is "a" and $player.breastsize lte 3)>> <<set _override to "m">> <<else>> <!-- if $player.gender_body is "f" or ($player.gender_body is "a" and $player.breastsize gt 3)) --> <<set _override to "f">> <</if>> <<else>> <!-- if $player.sex is "f" --> <<set _override to "f">> <</if>> <<if $background is "crossdresser">> <<set _override to (_override is "m" ? "f" : "m")>> <</if>> <</if>> <<if ($NPCName[_i].type is "human" and maleChance(_override) lt random(1, 100)) or ($NPCName[_i].type isnot "human" and beastMaleChance(_override) lt random(1, 100))>> <<set $NPCName[_i].pronoun to "f">> <<else>> <<set $NPCName[_i].pronoun to "m">> <</if>> <</if>> <!-- Set Gender --> <<if $NPCName[_i].pregnancy?.type>> <<set $NPCName[_i].gender to "f">> <<elseif !$NPCName[_i].gender or $NPCName[_i].gender is "none" or _args[1] is "genders">> <<if $NPCName[_i].pronoun is "m">> <<if random(0, 99) gte $cbchance>> <<set $NPCName[_i].gender to "m">> <<else>> <<set $NPCName[_i].gender to "f">> <</if>> <<elseif $NPCName[_i].pronoun is "f">> <<if random(0, 99) gte $dgchance>> <<set $NPCName[_i].gender to "f">> <<else>> <<set $NPCName[_i].gender to "m">> <</if>> <</if>> <</if>> <<if $NPCName[_i].nam is "Ivory Wraith">> <<set $NPCName[_i].pronoun to "i">> <</if>> <!-- Set Genital Existence --> <<if $NPCName[_i].type isnot "human">> <<set $NPCName[_i].penis to ($NPCName[_i].gender !== "f" ? 0 : "none")>> <<set $NPCName[_i].vagina to ($NPCName[_i].gender !== "m" ? 0 : "none")>> <<else>> <<set $NPCName[_i].penis to ($NPCName[_i].gender !== "f" ? "clothed" : "none")>> <<set $NPCName[_i].vagina to ($NPCName[_i].gender !== "m" ? "clothed" : "none")>> <</if>> <!-- Set breast defaults--> <<set _b_mod_lower to Math.clamp($breast_mod, 0, 12)>> <<set _b_mod_upper to Math.clamp($breast_mod + 12, 0, 12)>> <!-- can't use breastsize, since that would either break the numberslider or make one of the sizes always be randomised, but can use breastdesc not being changed from 0 as a substitute --> <<if $NPCName[_i].breastdesc is 0 or _args[1] is "breasts">> <<if $NPCName[_i].pronoun is "m">> <<set $NPCName[_i].breastsize to 0>> <<else>> <<set $NPCName[_i].breastsize to random(_b_mod_lower, _b_mod_upper)>> <</if>> <</if>> <<if $NPCName[_i].breastsize gt 0>> <<set _brdes to ["nipple","budding","tiny","small","pert","modest","full","large","ample","massive","huge","gigantic","enormous"]>> <<set $NPCName[_i].breastdesc to _brdes[$NPCName[_i].breastsize]+" breast">> <<else>> <<set $NPCName[_i].breastdesc to "nipple">> <</if>> <<set $NPCName[_i].breastsdesc to $NPCName[_i].breastdesc + "s">> <!-- Set pp to defaults--> /* New way to set upper and lower bounds. * This method makes use of all other slider positions, but does nothing when slider is between -1 and 1, * for a total of 15 unique positions vs the current method's 9. (max would be 17) * Changing the penis_mod slider to range from -7 to 7 would work to make every slider position unique here, but potentially affects unnamed npc generation. */ /* <<set _p_mod_upper to 8>><<set _p_mod_lower to 1>> <<if $penis_mod gt 0>> <<set _p_mod_lower += $penis_mod - 1>> <<elseif $penis_mod lt 0>> <<set _p_mod_upper += $penis_mod + 1>> <</if>> alternative way to write that: <<set _p_mod_lower to ($penis_mod > 0 ? $penis_mod : 1)>> <<set _p_mod_upper to ($penis_mod < 0 ? 9 + $penis_mod : 8)>> */ <<if $penis_mod is 8>>/*Clumsy way to get average penis size setting working for NNPCs.*/ <<set _p_mod_upper to 8>><<set _p_mod_lower to 8>> <<elseif $penis_mod gte 6>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 7>> <<elseif $penis_mod gte 4>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 5>> <<elseif $penis_mod gte 2>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 3>> <<elseif $penis_mod gte 0>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 1>> <<elseif $penis_mod gte -2>> <<set _p_mod_upper to 7>><<set _p_mod_lower to 1>> <<elseif $penis_mod gte -4>> <<set _p_mod_upper to 5>><<set _p_mod_lower to 1>> <<elseif $penis_mod gte -6>> <<set _p_mod_upper to 3>><<set _p_mod_lower to 1>> <<else>> <<set _p_mod_upper to 1>><<set _p_mod_lower to 1>> <</if>> <<if $NPCName[_i].penissize is 0 or _args[1] is "penis">> <<if $NPCName[_i].gender is "f">> <<set $NPCName[_i].penissize to 0>> <<set $NPCName[_i].penisdesc to "none">> <<else>> <<switch random(_p_mod_lower, _p_mod_upper)>> <<case 8>> <<set $NPCName[_i].penisdesc to either("massive cock","huge cock","humongous cock","immense cock","gigantic cock","enormous cock")>> <<set $NPCName[_i].penissize to 4>> <<case 5 6 7>> <<set $NPCName[_i].penisdesc to either("thick cock","hefty cock","big cock","large cock","veiny cock","meaty cock")>> <<set $NPCName[_i].penissize to 3>> <<case 2 3 4>> <<set $NPCName[_i].penisdesc to "penis">> <<set $NPCName[_i].penissize to 2>> <<default>> <<set $NPCName[_i].penisdesc to either("tiny penis","pathetic cock","little penis","small penis","mini penis","micro penis")>> <<set $NPCName[_i].penissize to 1>> <</switch>> <</if>> <</if>> <!-- Set pp to size in case PC selected it--> <<if $NPCName[_i].penissize isnot 0>> <<switch $NPCName[_i].penissize>> <<case 4>> <<set $NPCName[_i].penisdesc to either("massive cock","huge cock","humongous cock","immense cock","gigantic cock","enormous cock")>> <<case 3>> <<set $NPCName[_i].penisdesc to either("thick cock","hefty cock","big cock","large cock","veiny cock","meaty cock")>> <<case 1>> <<set $NPCName[_i].penisdesc to either("tiny penis","pathetic cock","little penis","small penis","mini penis","micro penis")>> <<default>> <<set $NPCName[_i].penisdesc to "penis">> <</switch>> <</if>> <<switch $NPCName[_i].nam>> <<case "Jordan">> <<set $NPCName[_i].title to ($NPCName[_i].pronoun is "m" ? "priest" : "priestess")>> <<case "Leighton">> <<set $NPCName[_i].title to ($NPCName[_i].pronoun is "m" ? "headmaster" : "headmistress")>> <<case "Eden">> <<set $NPCName[_i].title to ($NPCName[_i].pronoun is "m" ? "hunter" : "huntress")>> <<case "Avery">> <<set $NPCName[_i].title to ($NPCName[_i].pronoun is "m" ? "businessman" : "businesswoman")>> <</switch>> <<generatePronouns $NPCName[_i]>> <</widget>> <<widget "initnpc">> <<set _nam to _args[0]>> <<set _i to $NPCNameList.indexOf(_nam)>> <<if $NPCName[_i].init is 0>> <!-- This prevents double-init from wiping variables --> <<set $NPCName[_i].init to 1>> <<set $NPCName[_i].trust to 0>> <<set $NPCName[_i].love to 0>> <<set $NPCName[_i].dom to 0>> <<set $NPCName[_i].lust to 0>> <<set $NPCName[_i].trauma to 0>> <<set $NPCName[_i].rage to 0>> <<set $NPCName[_i].state to "active">> <<set $NPCName[_i].purity to 0>> <<set $NPCName[_i].corruption to 0>> <<set $NPCName[_i].chastity to {penis:"", vagina:"", anus:""}>> <<set $NPCName[_i].name_known to 1>> <<if !$NPCName[_i].skincolour>> <<if random(1, 100) lte $blackchance>> <<set $NPCName[_i].skincolour to "black">> <<else>> <<set $NPCName[_i].skincolour to "white">> <</if>> <</if>> <<generatePronouns $NPCName[_i]>> <<initNNPCClothes _nam>> <<initNNPCstrapon $NPCName[_i]>> <!-- Special Cases NNPC Variables, Introductions, Adjustments --> <<switch _nam>> <<case Kylar>> <<set C.npc.Kylar.state to 0>> <<case Robin>> <<set $robinSeen to []>> <<set $NPCName[_i].cdquest to 0>> <<case River>> <<if $NPCName[_i].pronoun is "m">> //River teaches maths and housekeeping at the local school. His short brown hair is flecked with grey and his piercing blue eyes scrutinise his surroundings. Students tend to be well-behaved in his class.// <<else>> //River teaches maths and housekeeping at the local school. Her long brown hair is flecked with grey and her piercing blue eyes scrutinise her surroundings. Students tend to be well-behaved in her class.// <</if>> <<case Leighton>> <<if $NPCName[_i].pronoun is "m">> <<set $NPCName[_i].title to "headmaster">> //Leighton is the headmaster of the local school. He has green eyes and well-kept greying black hair. Tall and stately, he has a firm attitude towards the students at his school.// <<else>> <<set $NPCName[_i].title to "headmistress">> //Leighton is the headmistress of the local school. She has green eyes and greying black hair, held behind her head in a bun. Tall and stately, she has a firm attitude towards the students at her school.// <</if>> <<case Mason>> <<if $NPCName[_i].pronoun is "m">> //Mason is the swimming teacher at the local school. He's the youngest teacher, only a few years older than some of the students. His toned body is naturally shown off during class, but if he notices the way he's leered at, he gives no indication.// <<else>> //Mason is the swimming teacher at the local school. She's the youngest teacher, only a few years older than some of the students. Her toned body is naturally shown off during class, but if she notices the way she's leered at, she gives no indication.// <</if>> <<set $NPCName[_i].chastityKeyCarried to 0>> /* Mason is carrying the key to unlock Winter's Chastity belt. 1 is carried, 2 player knows it is carried */ <<set $NPCName[_i].chastityRemoved to 0>> /* Number of chastity devices Mason has removed */ <<set $NPCName[_i].chastityRemovalDeclined to 0>> /* Whether you've declined Mason's offer to remove it (prompts more passive checking). Resets when a device is removed */ <<case Winter>> <<if $NPCName[_i].pronoun is "m">> //Winter teaches history at the local school. He's an older gentleman, well-groomed and sophisticated.// <<else>> //Winter teaches history at the local school. She's an older lady, well-groomed and sophisticated.// <</if>> <<case Doren>> <<if $NPCName[_i].pronoun is "m">> //Doren teaches English at the local school. His shaggy red hair and beard give him a savage look.// <<else>> //Doren teaches English at the local school. Her shaggy red hair gives her a savage look.// <</if>> <<case Sirris>> <<if $NPCName[_i].pronoun is "m">> //Sirris teaches science at the local school. He's calm and patient, which sometimes leads to a disordered classroom.// <<else>> //Sirris teaches science at the local school. She's calm and patient, which sometimes leads to a disordered classroom.// <</if>> <<case Eden>> <<if $NPCName[_i].pronoun is "m">> <<set $NPCName[_i].title to "hunter">> <<else>> <<set $NPCName[_i].title to "huntress">> <</if>> <<set $NPCName[_i].name_known to 0>> <<case Avery>> <<if $NPCName[_i].pronoun is "m">> <<set $NPCName[_i].title to "businessman">> <<else>> <<set $NPCName[_i].title to "businesswoman">> <</if>> <<if $averySeen is undefined>> <<set $averySeen to []>> <</if>> <<if $averyRejected is undefined>> <<set $averyRejected to {}>> <<set $weekly.averyRejected to {}>> <</if>> <<case Jordan>> <<if $NPCName[_i].pronoun is "m">> <<set $NPCName[_i].title to "priest">> <<else>> <<set $NPCName[_i].title to "priestess">> <</if>> <<case Whitney>> <<set C.npc.Whitney.dom to 10>> <<case "Great Hawk">> <<set C.npc["Great Hawk"].dom to 50>> <<case Sydney>> <<set $NPCName[_i].purity to 100>> <<set $NPCName[_i].chastity to {penis:"chastity belt", vagina:"chastity belt", anus:"anal shield"}>> <<set $sydneySeen to []>> <<set $sydneyFirstSeen to "">> <<set $sydney to { glasses: "glasses", hair: "ponytail", swim: "school", sexTotal: 0, rank: "initiate", }>> <<case "Ivory Wraith">> <<checkWraith>> <<set $genderknown.pushUnique("Ivory Wraith")>> <<set C.npc["Ivory Wraith"].lust to 0>> <<if $wraith.state is "haunt">> <<set C.npc["Ivory Wraith"].lust to 20>> <<if $wraithPrison and $wraithPrison.vision>> <<set C.npc["Ivory Wraith"].lust -= 5>> <</if>> <</if>> <<set C.npc["Ivory Wraith"].skincolour to "ghost">> <<case Remy>> <<if $remySeen is undefined>> <<set $remySeen to []>> <</if>> <<case Wren>> <<if $wrenSeen is undefined>> <<set $wrenSeen to []>> <</if>> <<case Niki>> <<if $nikiSeen is undefined>> <<set $nikiSeen to []>> <</if>> <<default>> <</switch>> <</if>> <</widget>> <<widget "initNNPCClothes">> <<set _nam to _args[0]>> <<set _i to $NPCNameList.indexOf(_nam)>> <<set $_generation to (_args[1] ? _args[1] : "none")>> <<if !$NPCName[_i].outfits or $_generation is "reset" or $_generation is "update">> <<if $_generation isnot "update">> <<set $NPCName[_i].outfits to ["naked", "maleDefault", "femaleDefault"]>> <</if>> <<switch _nam>> <<case Kylar>> <<set $NPCName[_i].outfits.pushUnique( "maleSchool", "femaleSchool", "maleSchoolSwim", "femaleSchoolSwim", "maleTown1", "femaleTown1", "maleWarm1", "femaleWarm1", "coldHoodie" )>> <<case Robin>> <<set $NPCName[_i].outfits.pushUnique( "maleSchool", "femaleSchool", "maleSchoolLong", "femaleSchoolLong", "maleSchoolSwimShirt", "femaleSchoolSwim", "maleTown1", "femaleTown1", "maleWarm1", "femaleWarm1", "coldPuffer", "pyjamas" )>> <<case Whitney>> <<set $NPCName[_i].outfits.pushUnique( "Whitney", "maleSchoolBlazer", "femaleSchoolBlazer", "maleSchoolSwim", "femaleSchoolSwim", "coldHoodie" )>> <<case Sydney>> <<set $NPCName[_i].outfits.pushUnique( "maleSchoolLong", "femaleSchoolLong", "maleSchoolSwimShirt", "femaleSchoolSwim", "neutralRobe", "coldTrench" )>> <<case Alex>><<set $NPCName[_i].outfits.pushUnique("wildsFlannel", "AlexJorts", "AlexSkirt", "coldCoat")>> <<case Avery>><<set $NPCName[_i].outfits.pushUnique("business", "maleFormal1", "femaleFormal1", "pyjamas")>> <<case Eden>><<set $NPCName[_i].outfits.pushUnique("Eden")>> <<case Morgan>><<set $NPCName[_i].outfits.pushUnique("Morgan")>> <<case Briar>><<set $NPCName[_i].outfits.pushUnique("maleBriar", "femaleBriar")>> <<case Darryl>><<set $NPCName[_i].outfits.pushUnique("maleFormal1", "femaleFormal1")>> <<case Remy>><<set $NPCName[_i].outfits.pushUnique("ridingFormal")>> <<case Landry>><<set $NPCName[_i].outfits.pushUnique("maleLandry", "femaleLandry")>> <<case Charlie>><<set $NPCName[_i].outfits.pushUnique("dance")>> <<case Harper>><<set $NPCName[_i].outfits.pushUnique("doctor")>> <<case Jordan>><<set $NPCName[_i].outfits.pushUnique("maleRobe", "femaleRobe")>> <<case Sirris>><<set $NPCName[_i].outfits.pushUnique("teacher", "townTurtleneck", "townCollar")>> <<case Doren>><<set $NPCName[_i].outfits.pushUnique("teacher", "townTrack", "townCollar")>> <<case River>><<set $NPCName[_i].outfits.pushUnique("teacher", "neutralRobe", "townCollar")>> <<case Winter>><<set $NPCName[_i].outfits.pushUnique("teacher")>> <<case Mason>><<set $NPCName[_i].outfits.pushUnique("teacher", "maleSchoolSwim", "neutralSwim", "townTrack")>> <<case Leighton>><<set $NPCName[_i].outfits.pushUnique("teacher", "maleFormal1", "femaleFormal1")>> <<case "Black Wolf" "Great Hawk">><<set $NPCName[_i].outfits to ["naked"]>> <<case "Ivory Wraith">><<set $NPCName[_i].outfits to ["naked", "moonRobe"]>> <<default>> <!-- Maybe should be left as a default case for futureproofing? Assigns area-appropriate clothes without saving them to the NPC. If this does not run, named NPC will only have default and naked clothes. <<set $NPCName[_i].outfits to undefined>> --> <</switch>> <</if>> <<getNNPCClothes _nam>> <</widget>> <<widget "getNNPCClothes">> <<set _nam to _args[0]>> <<set _i to $NPCNameList.indexOf(_nam)>> <<if !$NPCName[_i].outfits>> <<generateNPCClothes $NPCName[_i]>> <<run console.log('Named NPC [', $NPCName[_i], '] generated with area-appropriate clothes due to a lack of outfits.')>> <<else>> <<switch _nam>> <<case Alex>> <<if $location is "alex_cottage" and (Time.hour gte 21 or Time.hour lte 5)>> <<if $NPCName[_i].pronoun is "m">> <<npcClothesName $NPCName[_i] "maleAlexSleep">> <<else>> <<npcClothesName $NPCName[_i] "femaleAlexSleep">> <</if>> <<else>> <<generateNPCClothes $NPCName[_i]>> <</if>> <<case Avery>> <<if Time.hour gte 18>> <<npcClothesType $NPCName[_i] "formal">> <<else>> <<npcClothesType $NPCName[_i] "business">> <</if>> <<case Robin>> <<run getRobinCrossdressingStatus($NPCName[_i].crossdress)>> <<set $NPCName[_i].crossdressing to _robin_cd>> <<run statusCheck("Robin")>> <<switch _robin_location>> <<case "sleep">> <<npcClothesType $NPCName[_i] "sleep">> <<case "school">> <<npcClothesType $NPCName[_i] "school">> <<case "park">> <<npcClothesType $NPCName[_i] "cold">> <<case "halloween">> <<if $halloween_robin_costume>> <<npcClothesName $NPCName[_i] $halloween_robin_costume>> <<else>> <<generateNPCClothes $NPCName[_i]>> <</if>> <<default>> <<generateNPCClothes $NPCName[_i]>> <</switch>> <<case Sydney>> <<sydneySchedule>> <<switch _sydney_location>> <<case "temple">> <<npcClothesType $NPCName[_i] "temple">> <<case "school" "class" "lunch" "library">> <<npcClothesType $NPCName[_i] "school">> <<default>> <<generateNPCClothes $NPCName[_i]>> <</switch>> <<case Kylar>> <<if $kylar_clothes is "formal">> <<npcClothesType $NPCName[_i] "formal">> <<elseif $kylar_clothes is "goth">> <<npcClothesType $NPCName[_i] "formalRare">> <<elseif $kylar_clothes is "swimsuit">> <<npcClothesType $NPCName[_i] "beach">> <<else>> <<generateNPCClothes $NPCName[_i]>> <</if>> <<case Eden Morgan Briar Landry Remy>> <<npcClothesType $NPCName[_i] _nam>> <<case Darryl>> <<npcClothesType $NPCName[_i] "formal">> <<case Charlie>> <<npcClothesType $NPCName[_i] "dance_studio">> <<case Harper>> <<npcClothesType $NPCName[_i] "hospital">> <<case Jordan>> <<npcClothesType $NPCName[_i] "temple">> <<case Mason>> <<npcClothesType $NPCName[_i] "beach">> <<case "Black Wolf" "Great Hawk">> <<npcClothesType $NPCName[_i] "naked">> <<case "Ivory Wraith">> <<npcClothesType $NPCName[_i] "Wraith">> <<default>> <<generateNPCClothes $NPCName[_i]>> <</switch>> <</if>> <<if $NPCName[_i].penis isnot "none">> <<set $NPCName[_i].penis to ($NPCName[_i].clothes.lower.name is "naked" ? 0 : "clothed")>> <</if>> <<if $NPCName[_i].vagina isnot "none">> <<set $NPCName[_i].vagina to ($NPCName[_i].clothes.lower.name is "naked" ? 0 : "clothed")>> <</if>> <<set $NPCName[_i].chest to ($NPCName[_i].clothes.upper.name is "naked" ? 0 : "clothed")>> <</widget>> <!-- addNNPCOutfit and removeNNPCOutfit should only ever be used on named NPCs! --> <<widget "addNNPCOutfit">> <<set _nam to _args[0]>> <<set _i to $NPCNameList.indexOf(_nam)>> <<set $_newNPCOutfit to _args[1]>> <<if _args[0] and _args[1]>> <<if !setup.npcClothesSets.some(set => set.name.includes($_newNPCOutfit))>> <<error { message : `NPC (${_nam}) was given invalid outfit (Outfit name: ${$_newNPCOutfit}). Please inform PurityGuy.`, source : Utils.GetStack() }>> <<elseif _i lt 0>> <<error { message : `NPC (${_nam}) ${"is"} invalid (Must be a named NPC. check for typos!). Please inform PurityGuy.`, source : Utils.GetStack() }>> <<else>> <<if !$NPCName[_i].outfits>> <<set $NPCName[_i].outfits to ["naked", "maleDefault", "femaleDefault"]>> <</if>> <<set $NPCName[_i].outfits.pushUnique($_newNPCOutfit)>> <</if>> <</if>> <</widget>> <<widget "removeNNPCOutfit">> <<set _nam to _args[0]>> <<set _i to $NPCNameList.indexOf(_nam)>> <<set $_newNPCOutfit to _args[1]>> <<if _args[0] and _args[1]>> <<if _i lt 0>> <<error { message : `NPC (${_nam}) ${"is"} invalid (Must be a named NPC. Check for typos!). Please inform PurityGuy.`, source : Utils.GetStack() }>> <<elseif !$NPCName[_i].outfits>> <<error { message : `NPC (${_nam}) attempted to remove outfit (Outfit name: ${$_newNPCOutfit}) while having no outfits. Why don't you remove that pesky skin of yours? Please inform PurityGuy.`, source : Utils.GetStack() }>> <<elseif !$NPCName[_i].outfits.some(x => x.includes($_newNPCOutfit))>> <<error { message : `NPC (${_nam}) had non-existent outfit removed (Outfit name: ${$_newNPCOutfit}). Please inform PurityGuy.`, source : Utils.GetStack() }>> <<else>> <<set $NPCName[_i].outfits.delete($_newNPCOutfit)>> <<if $NPCName[_i].outfits.length is 0>> <<set $NPCName[_i].outfits to undefined>> <</if>> <</if>> <</if>> <</widget>> <!-- generates the strapon that the NNPC will use if the scene or rng calls for it. doesn't guarantee they will have it 100% of the time. --> <<widget "initNNPCstrapon">> <<set $_npcName to _args[0]>> <<set $_name to $_npcName.nam>> <<switch $_name>> <<case "Whitney">> <<set $_npcName.strapons to [{"state": "worn", "color": "dark red", "size": 3, "description":"large dark red strap-on cock"}]>> <<default>> <<set $_npcName.strapons to []>> <</switch>> <</widget>> <!-- give an NNPC a *new* strapon --> <!-- <<giveNNPCnewstrapon _npcNameSelect _straponSize _straponColour _straponShape _modifierOptions>> --> <<widget "giveNNPCnewstrapon">> <<set $_name to _args[0]>> <<set $_npcName to $NPCName.find(npc => npc.nam === $_name)>> <<set $_index to $NPCName.findIndex(npc => npc.nam === $_name)>> <<if _newStrapon is undefined>> <<run throw new Error("giveNNPCnewstrapon was run when _newStrapon was undefined! Call generateNewStrapon first!")>> <<else>> <<set $_strapon to clone(_newStrapon)>> <!-- unset _newStrapon so that we can't accidentally dupe strapons. That's right, we're forcing you to generate multiple if you want identical ones. --> <<unset _newStrapon>> <</if>> <!-- if the nnpc's name is in the following list, they will refuse to accept a new strapon --> <<if !["Whitney"].includes($_name)>> <<if $_npcName.strapons is undefined or $_npcName.strapons.length is 0>> <<set $NPCName[$_index].strapons to [$_strapon]>> <<else>> <<set $NPCName[$_index].strapons.push($_strapon)>> <</if>> <</if>> <</widget>> <<widget "npc">> /* Prepare the call for multiple Named NPCs at the same time. * We do this by changing all $NPCList[0] calls to $NPCList[x] in which x can be any temporary variable. In this case, we'll use _npcno. * We also give the option to set the Named NPC in any available row if so desired, by calling a second argument _args[1]. In case no _args[1] is passed, it will default to the first row. * We also now have the option to have the Named NPC be set into the first available slot instead, by setting the secent argument _args[1] to a negative number, such as -1. However this will bypass the check for npcs that have broken free from a previous passage. * Remember: available rows go from 0 to 5 ($NPCList[0] to $NPCList[5]). No more than that. */ <<if _args[1] lt 0>> <<for _controller to 0; _controller lte $NPCList.length; _controller++>> <<if _controller gte 6>> <!-- Since 6 is past our limit, we want to alert the user something went wrong. For simplicity, we'll set _npcno to 0 and overwrite $NPCList[0] --> <span class="red"> Error: There are already 6 active NPCs. Clearing NPC 0 to make space for Named NPC.</span> <<set _npcno to 0>> <<clearsinglenpc 0>> <<set _overwrite to true>> <<break>> <!-- Always remember to break the for loop when the condition is met --> <</if>> <<if $NPCList[_controller].gender is undefined and $NPCList[_controller].description is undefined>> <!-- These comparisons could be changed to a proper variable, for example $NPCList[x].active which would store if NPC x is active or not. To make things simple, we compare to .gender and .description since those two are always set to something other than 0 if the NPC in question is in fact active --> <<set _npcno to clone(_controller)>> <<break>> <!-- Always remember to break the for loop when the condition is met --> <</if>> <</for>> <<elseif _args[1]>> <<set _npcno to _args[1] - 1>> <<else>> <<set _npcno to 0>> <</if>> <<if _npcno is 0 and $enemyno gte 1 and !_overwrite>> <<set $endeventerror to $lastgenerated>> <<endevent phaseless>> <</if>> <<set $lastgenerated to $passage>> <<set _nam to _args[0]>> <<set _i to $NPCNameList.indexOf(_nam)>> <!-- Initialise NPC on first time called, introducing them to PC --> <<if $NPCName[_i].init isnot 1>> <<initnpc _nam>> <</if>> <!-- Determine what outfit the NPC should be wearing --> <<if !$NPCName[_i].outfits>> <<initNNPCClothes _nam>> <<else>> <<getNNPCClothes _nam>> <</if>> <<if !$NPCName[_i].strapons>> <<initNNPCstrapon $NPCName[_i]>> <</if>> <<set $NPCList[_npcno].virginity to $NPCName[_i].virginity>> <!-- Set global variables --> /* Both $npc and $npcnum will keep defined NPCs in the order they were defined. * DO NOT COMPARE NEITHER $npc NOR $npcnum TO $NPCList. * Since when defining an NPC one can choose in which row of $NPCList to put it, comparing them could result in missmatches. */ <<set $npc.push(_nam)>> <<set $npcnum.push(_i)>> <<set $NPCList[_npcno].fullDescription to _nam>> <!-- Set a variable to be compared to $NPCList, for simplicity. The row indicates which NPC it is, value is where in $NPCList it was defined. --> <<set $npcrow.push(_npcno)>> <<if $npc.length gt 1>> <<set $pronoun to "t">> <!-- In case more than 1 Named NPC is defined, we set pronoun to "they". --> <<else>> <<set $pronoun to $NPCName[_i].pronoun>> <</if>> /*Sets up multiple orgasms, code needs work*/ /*<<set $NPCList[0].maxOrgasms to 1>> <<set $NPCList[0].orgasms to 0>> <<if $NPCList[0].fullDescription is "Robin">> <<set $NPCList[0].maxOrgasms to 2>> <<set $setupMidOrgasm to true>> <</if>> */ <!-- Set combat variables --> <<set $NPCList[_npcno].pronoun to $NPCName[_i].pronoun>> <<set $NPCList[_npcno].pronouns to clone($NPCName[_i].pronouns)>> <<set $NPCList[_npcno].gender to $NPCName[_i].gender>> <<set $NPCList[_npcno].type to $NPCName[_i].type>> <<set $NPCList[_npcno].lefthand to 0>> <<set $NPCList[_npcno].righthand to 0>> <<set $NPCList[_npcno].mouth to 0>> <<set $NPCList[_npcno].anus to 0>>/* is not actually used anywhere */ <<set $NPCList[_npcno].chest to 0>> <<set $NPCList[_npcno].traits to []>> <<switch _nam>> <<case "Eden" "Black Wolf" "Great Hawk">> <<set $NPCList[_npcno].health to 600>> <<set $NPCList[_npcno].healthmax to 600>> <<case "Bailey">> <<set $NPCList[_npcno].health to 400>> <<set $NPCList[_npcno].healthmax to 400>> <<case "Harper">> <<set $NPCList[_npcno].health to 200>> <<set $NPCList[_npcno].healthmax to 200>> <<set $NPCList[_npcno].traits.push("hypnotist")>> <<case "Ivory Wraith">> <<statsWraith>> <<set $NPCList[_npcno].health to _wraithHP>> <<set $NPCList[_npcno].healthmax to _wraithHP>> <<set $NPCList[_npcno].traits to ["brooding", "watchful", "willful", "beautiful"]>> <<set _condomIgnore to true>> <<case "Alex">> <<set $NPCList[_npcno].health to 200>> <<set $NPCList[_npcno].healthmax to 200>> /* Alex never thinks to bring a condom. */ <<set _condomIgnore to true>> <<case "Morgan">> <<set $NPCList[_npcno].health to 200>> <<set $NPCList[_npcno].healthmax to 200>> /* I'm so sorry.*/ <<set $NPCName[_i].pregnancyAvoidance to random(0,100)>> <<default>> <<set $NPCList[_npcno].health to 200>> <<set $NPCList[_npcno].healthmax to 200>> <</switch>> <<set $NPCList[_npcno].breastsize to $NPCName[_i].breastsize>> <<set $NPCList[_npcno].breastsdesc to $NPCName[_i].breastsdesc>> <<set $NPCList[_npcno].breastdesc to $NPCName[_i].breastdesc>> <<set $NPCList[_npcno].vagina to $NPCName[_i].vagina>> <<if $breastfeedingdisable is "f" and _nam is "Morgan" and $NPCName[_i].pronoun is "f" and $NPCName[_i].breastsize gt 0>> <<set $NPCList[_npcno].lactation to 1>> <</if>> <<set $NPCList[_npcno].penis to $NPCName[_i].penis>> <<set $NPCList[_npcno].penissize to $NPCName[_i].penissize>> <<set $NPCList[_npcno].penisdesc to $NPCName[_i].penisdesc>> <<set $NPCList[_npcno].chastity to clone($NPCName[_i].chastity)>> <<set $NPCList[_npcno].clothes to clone($NPCName[_i].clothes)>> <<set $NPCList[_npcno].chest to clone($NPCName[_i].chest)>> <<if $NPCList[_npcno].penis is "none" and $NPCName[_i].strapons and $NPCName[_i].strapons.length gt 0 and random(0,99) lt $straponchance>> <<set $NPCList[_npcno].penis to $NPCList[_npcno].vagina>> <<set $NPCList[_npcno].vagina to "none">> <<set $NPCList[_npcno].gender to "m">> <<set $_strapon to clone($NPCName[_i].strapons.random())>> <<setNPCStrapon $NPCList[_npcno] $_strapon>> <</if>> <<set $NPCList[_npcno].skincolour to $NPCName[_i].skincolour>> <<set $NPCList[_npcno].insecurity to $NPCName[_i].insecurity>> <<set $NPCList[_npcno].description to $NPCName[_i].title>> <<set $NPCList[_npcno].insecurity to $NPCName[_i].insecurity>> <<set $NPCList[_npcno].description to $NPCName[_i].title>> <<set $NPCList[_npcno].adult to $NPCName[_i].adult>> <<set $NPCList[_npcno].teen to $NPCName[_i].teen>> <<set $NPCList[_npcno].location to { head: 0, genitals: 0, }>> <<set $NPCList[_npcno].bold to 0>> <<set $NPCList[_npcno].condom to false>> <<set $NPCList[_npcno].pregnancyAvoidance to $NPCName[_i].pregnancyAvoidance>> <<set $NPCList[_npcno].name_known to $NPCName[_i].name_known>> <<if $condomLvl gte 2>> <!-- 50 is the threshold for named NPCs bringing their own condoms, do not change --> <<if ($NPCList[_npcno].pregnancyAvoidance gte 50 and !_condomIgnore)>> <<set $NPCList[_npcno].condom to { willUse: true, state: (random(0,100) gt 98 ? "defective" : "normal"), type: "plain", colour: setup.colours.condom[random(0, (setup.colours.condom.length -1))].csstext, worn: false }>> <!-- Kylar brings their own sabotaged condoms --> <<elseif _nam is "Kylar">> <<set $NPCList[_npcno].condom to { willUse: false, state: "sabotaged", type: "plain", colour: setup.colours.condom[random(0, (setup.colours.condom.length -1))].csstext, worn: false }>> <</if>> <</if>> <!-- Whitney and Avery should wear strap-ons based on strap-on chance --> <<if $NPCList[_npcno].penis is "none" and (_nam is "Whitney" or _nam is "Avery") and !_strapIgnore and random(0,99) lt $straponchance>> <<npcstrapon _npcno>> <</if>> <<if _nam is "Sydney" and $sydney_toy isnot undefined>> <<giveNPCsextoy _npcno $sydney_toy>> <</if>> <!-- Following sections adjusted for the changes converting from $claws to .claws --> <!-- Adjust for Beast type NNPCs: Black Wolf --> <!-- Changed all instances of zeroes (0) to _npcno in the event multi-beast is properly implemented --> <<if $NPCList[_npcno].type is "wolf">> <<set $beastname to "blackwolf">> <<set $NPCList[_npcno].lefthand to "none">> <<set $NPCList[_npcno].righthand to "none">> <<set $NPCList[_npcno].stance to "approach">> <<if $daily.bwMonsterRoll isnot undefined and $blackwolfmonster is 1>> <<if $daily.bwMonsterRoll is true>> <<set $NPCList[_npcno].monster to "monster">> <<set $monster to 1>><<set _monsterOverride to true>> <<set $NPCList[_npcno].type to ($NPCList[0].pronoun is "f" ? "wolfgirl" : "wolfboy")>> <<set $NPCList[_npcno].lefthand to 0>> <<set $NPCList[_npcno].righthand to 0>> <<run delete $NPCList[_npcno].claws>> <<else>> <<set $NPCList[_npcno].monster to 0>> <<set $NPCList[_npcno].pronoun to "i">> <<set $NPCList[_npcno].claws to "claws">> <</if>> <<elseif $blackwolfmonster gte 1>> <<if ($monsterchance gte $rng and ($hallucinations gte 1 or $monsterhallucinations is "f")) or ($blackwolfmonster is 2)>> <<set $daily.bwMonsterRoll to true>> <<set $NPCList[_npcno].monster to "monster">> <<set $monster to 1>><<set _monsterOverride to true>> <<set $NPCList[_npcno].type to ($NPCList[0].pronoun is "f" ? "wolfgirl" : "wolfboy")>> <<set $NPCList[_npcno].lefthand to 0>> <<set $NPCList[_npcno].righthand to 0>> <<run delete $NPCList[_npcno].claws>> <<else>> <<set $daily.bwMonsterRoll to false>> <<set $NPCList[_npcno].monster to 0>> <<set $NPCList[_npcno].pronoun to "i">> <<set $NPCList[_npcno].claws to "claws">> <</if>> <<else>> <<set $daily.bwMonsterRoll to false>> <<set $NPCList[_npcno].monster to 0>> <<set $NPCList[_npcno].pronoun to "i">> <<set $NPCList[_npcno].claws to "claws">> <</if>> <</if>> <!-- Adjust for Beast type NNPCs: Great Hawk --> <<if $NPCList[_npcno].type is "hawk">> <<set $beastname to "greathawk">> <<set $NPCList[_npcno].lefthand to "none">> <<set $NPCList[_npcno].righthand to "none">> <<set $NPCList[_npcno].stance to "approach">> <<if $daily.ghMonsterRoll isnot undefined and $greathawkmonster is 1>> <<if $daily.ghMonsterRoll is true>> <<set $NPCList[_npcno].monster to "monster">> <<set $monster to 1>><<set _monsterOverride to true>> <<set $NPCList[_npcno].type to "harpy">> <<set $NPCList[_npcno].lefthand to 0>> <<set $NPCList[_npcno].righthand to 0>> <<run delete $NPCList[_npcno].claws>> <<else>> <<set $NPCList[_npcno].monster to 0>> <<set $NPCList[_npcno].pronoun to "i">> <<set $NPCList[_npcno].claws to "talons">> <</if>> <<elseif $greathawkmonster gte 1 or $bestialitydisable is "t">> <<if ($monsterchance gte $rng and ($hallucinations gte 1 or $monsterhallucinations is "f")) or ($greathawkmonster is 2) or ($bestialitydisable is "t")>> <<set $daily.ghMonsterRoll to true>> <<set $NPCList[_npcno].monster to "monster">> <<set $monster to 1>><<set _monsterOverride to true>> <<set $NPCList[_npcno].type to "harpy">> <<set $NPCList[_npcno].lefthand to 0>> <<set $NPCList[_npcno].righthand to 0>> <<run delete $NPCList[_npcno].claws>> <<else>> <<set $daily.ghMonsterRoll to false>> <<set $NPCList[_npcno].monster to 0>> <<set $NPCList[_npcno].pronoun to "i">> <<set $NPCList[_npcno].claws to "talons">> <</if>> <<else>> <<set $daily.ghMonsterRoll to false>> <<set $NPCList[_npcno].monster to 0>> <<set $NPCList[_npcno].pronoun to "i">> <<set $NPCList[_npcno].claws to "talons">> <</if>> <</if>> <<if $enemyno lt 6>><<set $enemyno += 1>><</if>> <<if $NPCList[0].monster is "monster" or _monsterOverride>> <<set $monster to 1>> <<else>> <<set $monster to 0>> <</if>> /*Run pregnancy Checks*/ <<if playerIsPregnant() and playerBellyVisible(true) and _nam isnot "Robin">> <<setKnowsAboutPregnancy "pc" _args[0]>> <</if>> <<if npcIsPregnant(_args[0]) and npcBellyVisible(_args[0])>> <<setKnowsAboutPregnancy _args[0] "pc">> <</if>> <<set $NPCList[_npcno].index to _npcno>> <<run EventSystem.push($passage, _npcno, $timeStamp)>> <<set $index to _npcno>> <</widget>> <<widget "npcrelationship">> <!-- Robin, Avery, Kylar are unique and are treated differently --> <<set _i to V.NPCName.findIndex(i => i.nam === _args[0])>> <<if _i !== -1>> <<set _npc to _args[0]>> <<else>> <<error { message: "<<npcrelationship>> was provided incorrect arguments" }>> <</if>> <<if $NPCName[_i].init is 1>> <<relationshiptext>> <br> <</if>> <</widget>> <<widget "npcincr">> <!-- Arguments passed are NNPC name, variable type, and value (+/-)--> <<set _nam to _args[0]>> <<set _var to _args[1]>> <<set _val to _args[2]>> <<if _args[3]>> <<set _cheat to _args[3]>> <</if>> <<set _i to $NPCNameList.indexOf(_nam)>> <<switch _var>> <<case love>> <<set $NPCName[_i].love += _val>> <<case dom>> <<set $NPCName[_i].dom += _val>> <<case trust>> <<set $NPCName[_i].trust += _val>> <<case lust>> <<if _nam is "Sydney" and !_sydneyChastity and _val gt 0 and !_cheat>> <<set $NPCName[_i].lust += (_val + 1)>> <<else>> <<set $NPCName[_i].lust += _val>> <</if>> <<set _lustincr to 1>> <<case rage>> <<set $NPCName[_i].rage += _val>> <<case state>> <<set $NPCName[_i].state to _val>> <<case init>> <<set $NPCName[_i].init to _val>> <<case trauma>> <<if _nam is "Robin" and _val lt 0>> <<set $NPCName[_i].trauma += Math.round(_val * ($robinTraumaMultiplier || 1))>> <<if $NPCName[_i].trauma lt 0>> <<set $NPCName[_i].trauma = 0>> <</if>> <<else>> <<set $NPCName[_i].trauma += _val>> <<if $NPCName[_i].trauma gt 100>> <<set $NPCName[_i].trauma = 100>> <</if>> <</if>> <<case purity>> <<if $NPCName[_i].corruption gt 0>> <<set $NPCName[_i].corruption -= _val>> <<if $NPCName[_i].corruption lte 0>> <<if $purityEvent is 1>> <<set _rollover to -$NPCName[_i].corruption>> <<set $NPCName[_i].purity += (_rollover + 4)>> <<set $NPCName[_i].corruption = 0>> <<set $purityRollover to 1>> <<else>> <<set $NPCName[_i].corruption = 1>> <</if>> <</if>> <<else>> <<set $NPCName[_i].purity += _val>> <<if $NPCName[_i].purity lte 0>> <<if $corruptionEvent is 1>> <<set _rollover to -$NPCName[_i].purity>> <<set $NPCName[_i].corruption += (_rollover + 10)>> <<set $NPCName[_i].purity = 0>> <<set $corruptionRollover to 1>> <<else>> <<set $NPCName[_i].purity = 1>> <</if>> <</if>> <<if $NPCName[_i].purity gte 100 and ($NPCName[_i].virginity.vaginal isnot true or $NPCName[_i].virginity.penile isnot true)>> <<set $NPCName[_i].purity = 99>> <</if>> <<if $NPCName[_i].purity lte 50 and _val lt 0 and _lustincr isnot 1>> <<npcincr Sydney lust 1>> <</if>> <</if>> <<unset $purityEvent>> <<unset $corruptionEvent>> <<default>> <span class="red">NPCINCR error - Unknown variable _var</span> <br><br> <</switch>> <<relationshipclamp>> <</widget>> <<widget "npcset">> <!-- Sets selected NNPC variables using NNPC name--> <!-- Arguements passed are NNPC name, variable type, value --> <<set _nam to _args[0]>> <<set _var to _args[1]>> <<set _val to _args[2]>> <<set _i to $NPCNameList.indexOf(_nam)>> <<switch _var>> <<case love>> <<set $NPCName[_i].love to _val>> <<case dom>> <<set $NPCName[_i].dom to _val>> <<case trust>> <<set $NPCName[_i].trust to _val>> <<case lust>> <<set $NPCName[_i].lust to _val>> <<case rage>> <<set $NPCName[_i].rage to _val>> <<case state>> <<set $NPCName[_i].state to _val>> <<case init>> <<set $NPCName[_i].init to _val>> <<case trauma>> <<set $NPCName[_i].trauma to _val>> <<case purity>> <<set $NPCName[_i].purity to _val>> <<case corruption>> <<set $NPCName[_i].corruption to _val>> <<default>> <span class="red">NPCSET error - Unknown value _var</span> <br><br> <</switch>> <</widget>> <<widget "relationshiptext">> <!-- Special cases for Robin, Avery, Kylar, Whitney, Sydney, Alex, Wraith --> <<switch _npc>> <<case Robin>> Robin <<if $robin.timer.hurt gte 2>> <span class="red">feels betrayed.</span> <<elseif $robin.timer.hurt gte 1>> <span class="purple">feels conflicted.</span> <<elseif $robinromance is 1>> <<if $NPCName[_i].trauma gte 80>> <<if $NPCName[_i].lust gte 50>> <span class="red">is lost in need for you.</span> <<else>> <span class="red">is nothing without you.</span> <</if>> <<elseif $NPCName[_i].dom gte 40>> <span class="lewd">cherishes you.</span> <<else>> <span class="lewd">loves you.</span> <</if>> <<elseif $NPCName[_i].trauma gte 80>> <span class="red">is traumatised.</span> <<elseif $NPCName[_i].trauma gte 40>> <span class="red">is in pain.</span> <<elseif $NPCName[_i].trauma gte 10>> <span class="purple">is troubled.</span> <<elseif $NPCName[_i].dom gte 80>> <span class="teal">feels protective of you.</span> <<elseif $NPCName[_i].dom gte 20>> <span class="teal">thinks you're <<nnpc_his "Robin">> best friend.</span> <<else>> <span class="teal">looks up to you.</span> <</if>> <<case Avery>> Avery <<if $NPCName[_i].state is "dismissed">> <span class="red">has moved on.</span> <<elseif $NPCName[_i].rage gte 96>> <span class="red">has given up on you.</span> <<elseif $NPCName[_i].love gte 60>> <<if $NPCName[_i].rage gte 60>> <span class="pink">is infuriated by you.</span> <<elseif $NPCName[_i].rage gte 20>> <span class="blue">wants you on a tighter leash.</span> <<else>> <span class="green">prizes you.</span> <</if>> <<elseif $NPCName[_i].love gte 20>> <<if $NPCName[_i].rage gte 60>> <span class="pink">is furious with you.</span> <<elseif $NPCName[_i].rage gte 20>> <span class="purple">sees you as a possession.</span> <<else>> <span class="teal">thinks you're cute.</span> <</if>> <<else>> <<if $NPCName[_i].rage gte 60>> <span class="pink">thinks you're insolent.</span> <<elseif $NPCName[_i].rage gte 20>> <span class="blue">thinks you're a brat.</span> <<else>> has no strong opinion of you. <</if>> <</if>> <<case Kylar>> Kylar <<if $NPCName[_i].state is "prison" and $location isnot "prison">> <span class="red"> is imprisoned.</span> <<elseif $NPCName[_i].love gte 90>> <<if $NPCName[_i].rage gte 90>> <span class="red">is hysterical.</span> <<elseif $NPCName[_i].rage gte 60>> <span class="pink">is obsessed with you.</span> <<elseif $NPCName[_i].rage gte 30>> <span class="blue">is obsessed with you.</span> <<else>> <span class="green">is obsessed with you.</span> <</if>> <<elseif $NPCName[_i].love gte 60>> <<if $NPCName[_i].rage gte 90>> <span class="red">is hysterical.</span> <<elseif $NPCName[_i].rage gte 60>> <span class="pink">is enamoured with you.</span> <<elseif $NPCName[_i].rage gte 30>> <span class="purple">is enamoured with you.</span> <<else>> <span class="teal">is enamoured with you.</span> <</if>> <<elseif $NPCName[_i].love gte 30>> <<if $NPCName[_i].rage gte 90>> <span class="red">is hysterical.</span> <<elseif $NPCName[_i].rage gte 60>> <span class="pink">is infatuated with you.</span> <<elseif $NPCName[_i].rage gte 30>> <span class="purple">is infatuated with you.</span> <<else>> <span class="lblue">is infatuated with you.</span> <</if>> <<else>> <<if $NPCName[_i].rage gte 90>> <span class="red">is hysterical.</span> <<elseif $NPCName[_i].rage gte 60>> <span class="pink">is fixated on you.</span> <<elseif $NPCName[_i].rage gte 30>> <span class="purple">is fixated on you.</span> <<else>> <span class="blue">is fixated on you.</span> <</if>> <</if>> <<case Whitney>> Whitney <<if $NPCName[_i].state is "dungeon">> <span class="red">is gone.</span> <<elseif $whitneyRescueStatus isnot undefined>> <<if $whitneyRescueStatus is "humiliated" and !$whitneyRescueTimer>> <span class="red">is vulnerable.</span> <<elseif $whitneyRescueStatus is "humiliated">> <span class="red">is humiliated.</span> <<elseif $whitneyRescueStatus is "shaken">> <span class="pink">is unnerved and agitated.</span> <<elseif $whitneyRescueStatus is "grateful">> is <span class="green">grateful.</span> <</if>> <<elseif $NPCName[_i].love gte 20>> <<if $NPCName[_i].lust gte 60>> <span class="lewd">is up for some fun.</span> <<else>> <<if $NPCName[_i].dom gte 20>> <span class="lewd">owns you.</span> <<elseif $NPCName[_i].dom lte 8>> thinks you're <span class="green"><<nnpc_his "Whitney">> <<girlfriend>>.</span> <<else>> <span class="lewd">thinks you're <<nnpc_his "Whitney">> pet.</span> <</if>> <</if>> <<elseif $NPCName[_i].love lte 5>> <<if $NPCName[_i].lust gte 60>> <<if $NPCName[_i].dom gte 18>> <span class="pink">wants to make you beg.</span> <<else>> <span class="pink">wants to hear you beg.</span> <</if>> <<else>> <<if $NPCName[_i].dom gte 20>> thinks you're <span class="red">pathetic.</span> <<elseif $NPCName[_i].dom lte 7>> <<if $NPCName[_i].dom lte 2 and $NPCName[_i].love lte 2>> <span class="red">has a vendetta against you.</span> <<else>> thinks you're <span class="red">a threat to <<nnpc_his "Whitney">> status.</span> <</if>> <<else>> thinks you're <span class="red">a freak.</span> <</if>> <</if>> <<else>> <<if $NPCName[_i].dom gte 20>> thinks you're <span class="teal">fun to pick on.</span> <<elseif $NPCName[_i].dom lte 8>> finds you <span class="purple">annoying.</span> <<else>> thinks you're <span class="pink">an easy target.</span> <</if>> <</if>> <<case Sydney>> Sydney <<if $sydneyromance is 1>> <<if $NPCName[_i].purity gt 80>> <<if $NPCName[_i].lust gte 60>> <span class="lewd">can't think of anything but you.</span> <<else>> <span class="lewd">loves you beyond words.</span> <</if>> <<elseif $NPCName[_i].purity gte 40>> <<if $NPCName[_i].lust gte 30>> <span class="lewd">yearns for your touch.</span> <<else>> <span class="lewd">feels bound to you.</span> <</if>> <<elseif $NPCName[_i].corruption gte 40>> <<if $NPCName[_i].lust gte 20>> <span class="lewd">wants to be <<if $NPCName[_i].virginity.vaginal is true and $NPCName[_i].virginity.penile is true>>deflowered<<else>>defiled<</if>> by you.</span> <<else>> <span class="lewd">loves you beyond words.</span> <</if>> <<elseif $NPCName[_i].corruption gte 10>> <<if $NPCName[_i].lust gte 10>> <span class="lewd">craves your touch.</span> <<else>> <span class="lewd">belongs to you.</span> <</if>> <<else>> <span class="lewd">loves you.</span> <</if>> <<elseif $NPCName[_i].love gte 60>> <<if $NPCName[_i].purity gte 50>> <<if $purity lte 500 or $demon gte 6>> <span class="blue">wants to save you.</span> <<elseif $temple_rank is "monk" or $temple_rank is "priest" or $angel gte 6>> <span class="green">considers you an inspiration.</span> <<elseif $temple_rank is "initiate">> <span class="green">considers you a prodigy.</span> <<else>> <span class="green">is very fond of you.</span> <</if>> <<elseif $NPCName[_i].corruption gte 10>> <span class="lewd">is influenced by you.</span> <<else>> <span class="purple">is torn.</span> <</if>> <<elseif $NPCName[_i].love gte 30>> <<if $NPCName[_i].purity gte 50>> <<if $purity lte 500 or $demon gte 6>> thinks you're <span class="blue">misguided.</span> <<elseif $temple_rank is "monk" or $temple_rank is "priest" or $angel gte 6>> <span class="teal">looks up to you.</span> <<elseif $temple_rank is "initiate">> <span class="teal">sees you as an equal.</span> <<else>> <span class="teal">enjoys your company.</span> <</if>> <<elseif $NPCName[_i].corruption gte 10>> <span class="pink">wants to know you better.</span> <<else>> <span class="purple">is conflicted.</span> <</if>> <<elseif $NPCName[_i].love gte 10>> <<if $sydneySeen and $sydneySeen.includes("initiate")>> <<if $purity lte 500 or $demon gte 6>> <span class="pink">thinks you're lost.</span> <<else>> <span class="lblue">is proud of you.</span> <</if>> <<else>> <span class="lblue">is intrigued by you.</span> <</if>> <<else>> <<if $sydneySeen and $sydneySeen.includes("initiate")>> <<if $purity lte 500 or $demon gte 6>> <span class="red">thinks you're heretical.</span> <<elseif $sydney.rank is "initiate" and $temple_rank is "initiate">> <span class="blue">is happy to know another initiate.</span> <<else>> <span class="blue">is happy to know another worshipper.</span> <</if>> <<else>> has no strong opinion of you. <</if>> <</if>> <<case Alex>> Alex <<if $alex_countdown is undefined and $farm_stage gte 7>> <<if $NPCName[_i].lust gte 60>> <span class="lewd">wants to ride until sun<<if Time.dayState is "night">>rise<<else>>set<</if>>.</span> <<elseif $NPCName[_i].dom gte 30>> <span class="lewd">is in charge.</span> <<elseif $NPCName[_i].dom lte -30>> <span class="lewd">depends on you.</span> <<else>> <span class="lewd">thinks you're <<nnpc_his "Alex">> partner.</span> <</if>> <<elseif $farm_stage gte 6>> <<if $NPCName[_i].dom gte 30>> <span class="pink">is in control.</span> <<elseif $NPCName[_i].dom lte -30>> <span class="teal">relies on you.</span> <<else>> <span class="blue">can't be more grateful.</span> <</if>> <<elseif $farm_stage gte 5>> <<if $NPCName[_i].dom gte 10>> <span class="blue">respects you.</span> <<elseif $NPCName[_i].dom lte -10>> <span class="blue">admires you.</span> <<else>> <span class="blue">appreciates you.</span> <</if>> <<elseif $farm_stage gte 4>> <<if $NPCName[_i].dom gte 10>> <span class="green">thinks you're responsible.</span> <<elseif $NPCName[_i].dom lte -10>> <span class="green">thinks you're capable.</span> <<else>> <span class="green">likes having you around.</span> <</if>> <<elseif $NPCName[_i].love gte 10>> <span class="green">is glad to have help.</span> <<elseif $NPCName[_i].love lte -10>> <<if $NPCName[_i].lust gte 10>> <span class="purple">thinks you're a pervert.</span> <<elseif $NPCName[_i].dom gte 10>> <span class="red">wants a new farmhand.</span> <<else>> <span class="red">thinks you're a bother.</span> <</if>> <<else>> has no strong opinion of you. <</if>> <<case "Ivory Wraith">> <<if $wraith>> <<if $wraith.hunt and !$wraith.type>> The Wraith <<if $wraith.state is "haunt">> <span class="red">is fiercely hunting you.</span> <<else>> <span class="blue">is stalking you.</span> <</if>> <<elseif _rngWraithLineChance is 1>> <<if !_rngWraithLine>> <<set _rngWraithLine to true>> <<silently>><<speechWraith "lines">><</silently>> <</if>> _line1 <<elseif $bus isnot "lake_ruin_prison" and !$wraith.type and Time.isBloodMoon()>> The Wraith <<if $wraith.state is "haunt">> <span class="red">is looking for you.</span> <<else>> <span class="blue">prowls.</span> <</if>> <<else>> The Wraith <<if $wraith.state is "haunt">> <<if $NPCName[_i].lust gte 18>> <span class="red">is manic.</span> <<elseif $NPCName[_i].lust gte 14>> <span class="pink">is enraged.</span> <<else>> <span class="purple">holds a grudge.</span> <</if>> <<elseif $wraith.state is "despair">> <<if $NPCName[_i].lust gte 18>> <span class="red">is manic.</span> <<elseif $NPCName[_i].lust gte 14>> <span class="pink">is in anguish.</span> <<else>> <span class="purple">is melancholy.</span> <</if>> <<else>> <<if $NPCName[_i].lust gte 15>> <span class="purple">is obsessed with you.</span> <<elseif $NPCName[_i].lust gte 6>> <span class="purple">is intrigued by you.</span> <<else>> <span class="blue">is entertained by you.</span> <</if>> <</if>> <</if>> <</if>> <<case "Great Hawk">> Great Hawk <<if $syndromebird is 1>> <<if $NPCName[_i].love gte 60>> <<if $NPCName[_i].dom gte 50>> has <span class="lewd">claimed you as <<if $greathawkmonster gte 1>><<nnpc_his "Great Hawk">><<else>>its<</if>> <<wife>>.</span> <<elseif $NPCName[_i].dom gte 20>> <span class="lewd">thinks you're <<if $greathawkmonster gte 1>><<nnpc_his "Great Hawk">><<else>>its<</if>> <<wife>>.</span> <<else>> <span class="lewd">thinks you're a good <<wife>>.</span> <</if>> <<elseif $NPCName[_i].love gte 20>> <<if $NPCName[_i].dom gte 50>> <span class="red">wants you to return <<if $greathawkmonster gte 1>><<nnpc_his "Great Hawk">><<else>>its<</if>> affections.</span> <<elseif $NPCName[_i].dom gte 20>> <span class="red">is distraught.</span> <<else>> <span class="red">is desperate for your affection.</span> <</if>> <<else>> <<if $NPCName[_i].dom gte 50>> <span class="teal">wants you as a mate.</span> <<elseif $NPCName[_i].dom gte 20>> is lonely. <<else>> <span class="teal">is smitten with you.</span> <</if>> <</if>> <<else>> <span class="red">wants you to stay forever.</span> <</if>> <<case "Black Wolf">> Black Wolf <<if $syndromewolves is 1>> <<if $NPCName[_i].love gte $npclovehigh>> <<if $wolfpackferocity gt $wolfpackharmony>> <span class="lewd"><<print $blackwolfmonster gte 1 ? "is" : "seems">> proud you're <<if $blackwolfmonster gte 1>><<nnpc_his "Black Wolf">><<else>>its<</if>> mate.</span> <<elseif $wolfpackharmony gt $wolfpackferocity>> <span class="lewd"><<print $blackwolfmonster gte 1 ? "is" : "seems">> glad you're <<if $blackwolfmonster gte 1>><<nnpc_his "Black Wolf">><<else>>its<</if>> mate.</span> <<else>> <span class="lewd">thinks of you as <<if $blackwolfmonster gte 1>><<nnpc_his "Black Wolf">><<else>>its<</if>> mate.</span> <</if>> <<elseif $NPCName[_i].love lte $npclovelow>> <<if $wolfpackferocity gt $wolfpackharmony>> <span class="red">wants you out of the pack.</span> <<elseif $wolfpackharmony gt $wolfpackferocity>> <span class="red">is wary of you.</span> <<else>> <span class="red">thinks you're a terrible packmate.</span> <</if>> <<else>> <<if $wolfpackferocity gt $wolfpackharmony>> <span class="pink">thinks you're a strong packmate.</span> <<elseif $wolfpackharmony gt $wolfpackferocity>> <span class="teal">thinks you're a worthy packmate.</span> <<else>> <span class="teal">values your place in the pack.</span> <</if>> <</if>> <<else>> <<if $NPCName[_i].love gte $npclovehigh>> <<if $wolfpackferocity gt $wolfpackharmony>> thinks you'd be a <span class="green">powerful</span> packmate. <<elseif $wolfpackharmony gt $wolfpackferocity>> thinks you'd be a <span class="green">valuable</span> packmate. <<else>> thinks you'd be a <span class="green">good</span> packmate. <</if>> <<elseif $NPCName[_i].love lte $npclovelow>> <<if $wolfpackferocity gt $wolfpackharmony>> thinks you'd be a <span class="red">weak</span> packmate. <<elseif $wolfpackharmony gt $wolfpackferocity>> thinks you'd be a <span class="red">useless</span> packmate. <<else>> thinks you'd be a <span class="red">poor</span> packmate. <</if>> <<else>> <<if $wolfpackferocity gt $wolfpackharmony>> <span class="pink">wants to tussle with you.</span> <<elseif $wolfpackharmony gt $wolfpackferocity>> <span class="teal">wants to spend more time with you.</span> <<else>> has no strong opinion of you. <</if>> <</if>> <</if>> <!-- Default cases for all other NNPCs --> <<default>> _npc <<if $NPCName[_i].love gte $npclovehigh>> <<if $NPCName[_i].dom gte $npcdomhigh>> thinks you're <span class="green">adorable.</span> <<elseif $NPCName[_i].dom lte $npcdomlow>> thinks you're <span class="green">inspiring.</span> <<else>> thinks you're <span class="green">delightful.</span> <</if>> <<elseif $NPCName[_i].love lte $npclovelow>> <<if $NPCName[_i].dom gte $npcdomhigh>> thinks you're <span class="red">pathetic.</span> <<elseif $NPCName[_i].dom lte $npcdomlow>> thinks you're <span class="red">irritating.</span> <<else>> thinks you're <span class="red">terrible.</span> <</if>> <<else>> <<if $NPCName[_i].dom gte $npcdomhigh>> thinks you're <span class="pink">cute.</span> <<elseif $NPCName[_i].dom lte $npcdomlow>> <span class="teal">looks up to you.</span> <<else>> has no strong opinion of you. <</if>> <</if>> <</switch>> <</widget>> <<widget "push_nnpc_genderknown">> <!-- Can be used in any situation to let all active named NPCs known the player's gender --> <!-- Use _args[0] to ignore clothing --> <!-- Won't ignore the chastity belt's "hidden" property (for now) --> <<if _args[0] or $exposed gte 2>> <<if !playerChastity("hidden")>> <<run $npc.forEach(npc => $genderknown.pushUnique(npc))>> <</if>> <</if>> <</widget>> /* <<widget "NPCStatusCheck">> [OBSOLETE; use statusCheck(name)] <!-- When NPCs are updated and made compatible with statusCheck-style widgets, add them to here. Make a new if statement, NOT an elseif --> <!-- Usage: call a SINGLE argument with every relevant NPC. <<NPCStatusCheck("Kylar Sydney")>> will call <<kylarStatusCheck>> and <<sydneyStatusCheck>> --> [DOES NOT WORK WITH statusCheck(name)] <<if _args[0].includes("Robin")>> <<set _robin to C.npc.Robin>> <<if _robin.init is 1>> <<robinStatusCheck>> <</if>> <</if>> <<if _args[0].includes("Kylar")>> <<set _kylar to C.npc.Kylar>> <<if _kylar.init is 1>> <<kylarStatusCheck>> <</if>> <</if>> <<if _args[0].includes("Sydney")>> <<set _sydney to C.npc.Sydney>> <<if _sydney.init is 1>> <<sydneyStatusCheck>> <</if>> <</if>> <</widget>> */<<widget "underworld_nickname">><<silently>> <<if $fame.sex gte 400>> <<if $fame.prostitution gte 400>> <<if $fame.rape gte 400>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Our Boy">> <<else>> <<set _text_output to "Our Girl">> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<set _text_output to "The Boy">> <<else>> <<set _text_output to "The Girl">> <</if>> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Plaything">> <<else>> <<set _text_output to "Fucktoy">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Pike">> <<else>> <<set _text_output to "Rapier">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Ultra Slut">> <<else>> <<set _text_output to "Super Slut">> <</if>> <</if>> <</if>> <<else>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Milker">> <<else>> <<set _text_output to "Milky">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Kibbles">> <<else>> <<set _text_output to "Nibbles">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Weaver">> <<else>> <<set _text_output to "Needle">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Pokies">> <<else>> <<set _text_output to "Pokey">> <</if>> <</if>> <</if>> <</if>> <<else>> <<if $fame.rape gte 400>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Wolf Whore">> <<else>> <<set _text_output to "Wolf Slut">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Dog Whore">> <<else>> <<set _text_output to "Dog Slut">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Spike">> <<else>> <<set _text_output to "Rough-and-Tumble">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Freebies">> <<else>> <<set _text_output to "Free Slut">> <</if>> <</if>> <</if>> <<else>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Doggy Squeezer">> <<else>> <<set _text_output to "Wolf Warrior">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Doggy Milker">> <<else>> <<set _text_output to "Wolf Rider">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Pimp">> <<else>> <<set _text_output to "Madame">> <</if>> <<else>> <<set _text_output to "Sabre">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Slut Dad">> <<else>> <<set _text_output to "Slut Mum">> <</if>> <<else>> <<set _text_output to "Slut">> <</if>> <</if>> <</if>> <</if>> <</if>> <<else>> <<if $fame.prostitution gte 400>> <<if $fame.rape gte 400>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Hound Father">> <<else>> <<set _text_output to "Hound Mother">> <</if>> <<else>> <<set _text_output to "Hound">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Dogged One">> <<else>> <<set _text_output to "Pup">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Dagger">> <<else>> <<set _text_output to "Scar">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Sex Beggar">> <<else>> <<set _text_output to "Rape Beggar">> <</if>> <</if>> <</if>> <<else>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Fang">> <<else>> <<set _text_output to "Claw">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "The Hound">> <<else>> <<set _text_output to "Puppy">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Stiletto">> <<else>> <<set _text_output to "Knife">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Whoredad">> <<else>> <<set _text_output to "Whoremum">> <</if>> <<else>> <<set _text_output to "Penny Chaser">> <</if>> <</if>> <</if>> <</if>> <<else>> <<if $fame.rape gte 400>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "Tasty">> <<else>> <<set _text_output to "The Rabbit">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Kitten">> <<else>> <<set _text_output to "Bitch">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "The Rough One">> <<else>> <<if $player.gender_appearance is "m">> <<set _text_output to "Spear-Prick">> <<else>> <<set _text_output to "Vagina Dentata">> <</if>> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Free Samples">> <<else>> <<set _text_output to "Rape Bait">> <</if>> <</if>> <</if>> <<else>> <<if $fame.bestiality gte 400>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Den Father">> <<else>> <<set _text_output to "Den Mother">> <</if>> <<else>> <<set _text_output to "The Wolf">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<set _text_output to "Rancher">> <<else>> <<set _text_output to "Paw">> <</if>> <</if>> <<else>> <<if $fame.scrap gte 400>> <<if $fame.pimp gte 400>> <<set _text_output to "The Rat">> <<else>> <<set _text_output to "Scrappy">> <</if>> <<else>> <<if $fame.pimp gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Dad">> <<else>> <<set _text_output to "Mum">> <</if>> <<else>> <<set _text_output to "meat">> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if _args[0] is "cap">><<capitalise>><</if>> <</silently>><<print _text_output>><</widget>> <<widget "overworld_nickname">><<silently>> <<if $fame.exhibitionism gte 400>> <<if $fame.good gte 400>> <<if $fame.business gte 400>> <<if $fame.social gte 400>> <<set _text_output to "The Orphan">> <<elseif $fame.model gte 400>> <<set _text_output to "Crowd Pleaser">> <<else>> <<set _text_output to "Gold Heart">> <</if>> <<else>> <<if $fame.social gte 400>> <<if $fame.model gte 400>> <<set _text_output to "Scandalous">> <<else>> <<set _text_output to "Flaunty">> <</if>> <<else>> <<if $fame.model gte 400>> <<set _text_output to "Venus">> <<else>> <<set _text_output to "Smiles">> <</if>> <</if>> <</if>> <<else>> <<if $fame.business gte 400>> <<if $fame.social gte 400>> <<if $fame.model gte 400>> <<set _text_output to "Centerfold">> <<else>> <<set _text_output to "Orchid">> <</if>> <<else>> <<if $fame.model gte 400>> <<set _text_output to "Hot Shot">> <<else>> <<if $player.gender_appearance is "m">> <<set _text_output to "Suspicious Shop Boy">> <<else>> <<set _text_output to "Suspicious Shop Girl">> <</if>> <</if>> <</if>> <<else>> <<if $fame.social gte 400>> <<if $fame.model gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Star">> <<else>> <<set _text_output to "Starlet">> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<set _text_output to "Party Boy">> <<else>> <<set _text_output to "Party Girl">> <</if>> <</if>> <<else>> <<if $fame.model gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Pin-Up Boy">> <<else>> <<set _text_output to "Pin-Up Girl">> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<set _text_output to "Lewd Boy">> <<else>> <<set _text_output to "Lewd Girl">> <</if>> <</if>> <</if>> <</if>> <</if>> <<else>> <<if $fame.good gte 400>> <<if $fame.business gte 400>> <<if $fame.social gte 400>> <<if $fame.model gte 400>> <<set _text_output to "Icon">> <<else>> <<set _text_output to "Flower">> <</if>> <<else>> <<if $fame.model gte 400>> <<set _text_output to "Mascot">> <<else>> <<set _text_output to "Charity">> <</if>> <</if>> <<else>> <<if $fame.social gte 400>> <<if $fame.model gte 400>> <<set _text_output to "Poppet">> <<else>> <<set _text_output to "Preachy">> <</if>> <<else>> <<if $fame.model gte 400>> <<set _text_output to "Muse">> <<else>> <<set _text_output to "Angel">> <</if>> <</if>> <</if>> <<else>> <<if $fame.business gte 400>> <<if $fame.social gte 400>> <<if $fame.model gte 400>> <<set _text_output to "Promo">> <<else>> <<set _text_output to "Tulip">> <</if>> <<else>> <<if $fame.model gte 400>> <<set _text_output to "Money Shot">> <<else>> <<if $player.gender_appearance is "m">> <<set _text_output to "Shop Boy">> <<else>> <<set _text_output to "Shop Girl">> <</if>> <</if>> <</if>> <<else>> <<if $fame.social gte 400>> <<if $fame.model gte 400>> <<set _text_output to "Trendy">> <<else>> <<set _text_output to "Wallflower">> <</if>> <<else>> <<if $fame.model gte 400>> <<if $player.gender_appearance is "m">> <<set _text_output to "Glamour Boy">> <<else>> <<set _text_output to "Glamour Girl">> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<set _text_output to "some orphan boy">> <<else>> <<set _text_output to "some orphan girl">> <</if>> <</if>> <</if>> <</if>> <</if>> <</if>> <<if _args[0] is "cap">><<capitalise>><</if>> <</silently>><<print _text_output>><</widget>> <<widget "pcpetname">><<silently>> <<if _args[0]>> <<set $_npc to _args[0]>> <<elseif $npc.length gte 1>> <<set $_npc to $npc[0]>> <</if>> <<set $_mod to _args[1]>> <<if $wraith.mimic is $_npc>> <<set $_wraith to true>> <</if>> <<set _names to []>> <<set _gender to $player.gender_appearance>> <<switch $_npc>> <<case "Avery" "avery">> /* note: female terms for male pc are intentional */ <<set _names.push(_gender is "m" ? "boy" : "girl")>> <<set _love to C.npc.Avery.love>> <<set _rage to C.npc.Avery.rage>> <<if _love + _rage gte 25>> /* generic */ <<if _love gte 30>> <<set _names.push("doll", "sunshine")>> <<if _love gte 60>> <<set _names.push("princess")>> <<if _gender is "m">><<set _names.push("prince")>><</if>> <</if>> <</if>> <<if _rage gte 30>> <<set _names.push("brat")>> <<if _rage gte 60>> <<set _names.push("cunt")>> <<if _gender is "m">><<set _names.push("dick")>><</if>> <</if>> <</if>> /* tf */ <<if ($cat gte 6) and ($transformationParts.cat.ears isnot "hidden") and ($transformationParts.cat.tail isnot "hidden")>> <<set _names.push("kitten", "pussy")>> <</if>> <<if ($wolfgirl gte 6) and ($transformationParts.wolf.ears isnot "hidden") and ($transformationParts.wolf.tail isnot "hidden")>> <<set _names.push("puppy", "pup")>> <</if>> <<if ($cow gte 6) and ($transformationParts.cow.ears isnot "hidden") and ($transformationParts.cow.tail isnot "hidden") and ($transformationParts.cow.horns isnot "hidden")>> <<set _names.push(_gender is "m"? "cowboy" : "cowgirl")>> <</if>> <<if ($harpy gte 6) and ($transformationParts.bird.wings isnot "hidden") and ($transformationParts.bird.tail isnot "hidden") and ($transformationParts.bird.plumage isnot "hidden")>> <<set _names.push("nestling", "cygnet")>> <</if>> <<if ($fox gte 6) and ($transformationParts.fox.ears isnot "hidden") and ($transformationParts.fox.tail isnot "hidden")>> <<set _names.push(_gender is "m" ? "kit" : "vixen")>> <</if>> <<if ($angel gte 6) and ($transformationParts.angel.wings isnot "hidden") and ($transformationParts.angel.halo isnot "hidden")>> <<set _names.push("angel", "cherub")>> <</if>> <<if ($demon gte 6) and ($transformationParts.demon.wings isnot "hidden") and ($transformationParts.demon.tail isnot "hidden") and ($transformationParts.demon.horns isnot "hidden")>> <<set _names.push("demon", "succubus")>> <<if _gender is "m">><<set _names.push("incubus")>><</if>> <</if>> /* attitude */ <<if random(0, 100) lt 40>> <<if $submissive gte 1150>> <<set _names.push("pet")>> <<if $submissive gte 1500>> <<set _names.push("toy")>> <<if $submissive gte 1900>> <<set _names.push("slave")>> <</if>> <</if>> <</if>> <</if>> /* fame */ <<if random(0, 100) lt 20>> <<if $fame.exhibitionism gte 400>> <<set _names.push("show off")>> <<if $fame.exhibitionism gte 600>> <<set _names.push("flaunty")>> <</if>> <</if>> <<if $fame.sex gte 400>> <<set _names.push("nymph")>> <<if $fame.sex gte 600>> <<set _names.push("slut")>> <</if>> <</if>> <<if $fame.prostitution gte 400>> <<set _names.push("tramp")>> <<if $fame.prostitution gte 600>> <<set _names.push("whore")>> <</if>> <</if>> <<if $fame.rape gte 400>> <<set _names.push("fuckdoll")>> <<if $fame.rape gte 600>> <<set _names.push("fucktoy")>> <</if>> <</if>> <</if>> /* mimic */ <<if $_wraith>> <<set _names.push("thief","graverobber")>> <</if>> <</if>> /* pick and decorate */ <<set _text_output to _names.pluck()>> <<if _love gte 30 and random(0, 100) lt _love - 30 and !["boy","girl"].includes(_text_output)>> <<set _text_output to "little " + _text_output>> <</if>> <<if _rage gte 50 and random(0, 100) lt _rage - 30>> <<set _text_output to "insufferable " + _text_output>> <</if>> <<if _love gte 60 and random(0, 100) lt _love - 30 and _args[1] isnot "my">> <<set _text_output to "my " + _text_output>> <</if>> <<case "wraith" "Wraith" "Ivory Wraith">> <<set _pre to [""]>> /* generic */ <<set _names.push( "manifestation", "reflection", "body" )>> <<if playerIsPregnant()>> <<set _names.push("lifebearer")>> <</if>> <<if $location is "lake" or $location is "forest">> <<set _names.push("trespasser")>> <</if>> /* angry or calm */ <<if $wraith.state is "haunt" and $_mod isnot "nice" or $_mod is "angry">> <<set _names.push( "graverobber","graverobber","graverobber","graverobber","graverobber","graverobber", "thief","thief","thief","thief", "vulture","vulture", "forsaker", "scion", "twig" )>> <<if playerIsPregnant()>> <<set _names.push("seedbed")>> <</if>> <<set _pre.push( "wretched ", "baleful ", "cruel " )>> <<else>> <<if $wraith.state is "despair">> <<set _names.push("accomplice")>> <</if>> <<set _names.push( "promise", "droplet", "memory", "pearl" )>> <<if $temple_rank isnot undefined and $temple_rank isnot "prospective">> <<set _names.push( "coalwalker" )>> <</if>> <<if $temple_confessor_intro>> <<set _names.push( "confessor" )>> <</if>> <</if>> /* offspring */ <<if ["dead","sold"].includes($wraith.offspring)>> <<set _names.push( "oathbreaker", "mutineer", "serpent" )>> <</if>> /* tfs */ <<if $angel gte 6>> <<set _names.push( "messenger", "gaoler" )>> <<set _pre.push("fluttering ")>> <</if>> <<if $fallen_angel gte 2>> <<set _names.push( "wingless", "shard" )>> <<set _pre.push("fallen ")>> <</if>> <<if $demon gte 6>> <<set _names.push( "hellion", "imp" )>> <</if>> /* pick and decorate */ <<set _text_output to _names.pluck()>> <<if random(1,100) lte 15>> <<set _text_output to _pre.pluck() + _text_output>> <</if>> <<default>> <<girl>> <</switch>> <</silently>><<print _text_output>><</widget>> <<widget "pcPetname">><<silently>> <<pcpetname _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "foxnickname">><<silently>> <<if $fox gte 6>> <<set _text_output to "kit">> <<elseif $cat gte 6>> <<set _text_output to "stray">> <<elseif $wolf gte 6>> <<set _text_output to "pup">> <<else>> <<set _text_output to "meat">> <</if>> <</silently>><<print _text_output>><</widget>><<widget "orgasm">> <<orgasmstat>><<orgasmcount 1>><<set $orgasmdown to 3>> <<if $combat is 1>> <<set $speechcum to 1>><<set $speechorgasmcount += 1>> <</if>> <<tinyPenisDryOrgasmChance>> <<if $earSlime.growth gte 100 and $earSlime.defyCooldown gte Math.clamp(30 - Math.floor($earSlime.growth / 9), 2, 20) and !$possessed and $ruinedorgasmdisable is "f">> <span class="red">You are almost overcome by sensation, but it ends prematurely.</span><<pain 10>><<stress 10>><<gpain>><<gstress>> <br> <<set _deniedOrgasm to true>> <<set $ruinedOrgasmStat++>> <<set $ruinedOrgasmTimeStat to Time.date.timeStamp>> <<if $masturbating>> <<set $masturbationRuinedOrgasm++>> <</if>> <<elseif $player.penisExist>> <<if $earSlime.focus is "pregnancy" and $earSlime.growth gte 100>> <<set _cumDesc to "watery cum">> <<elseif $earSlime.focus is "impregnation" and $earSlime.growth gte 100>> <<set _cumDesc to "thick cum">> <<else>> <<set _cumDesc to "cum">> <</if>> <<if $femaleclimax is 1>> <span class="pink">You are overcome by sensation and climax like a girl.</span> <<semenvolume `$player.penissize is -2 ? -5 : -1`>> <<elseif $semen_volume is 0 or $semen_amount lt 0.1>> <span class="pink">You are overcome by sensation and climax, but nothing comes out.</span> <<set $femaleclimax to 1>> <<semenvolume -1>> <<else>> <<set $parasitePenis to $player.sex is "f" and $parasite.clit.name is "parasite" ? " parasitic" : "">> <<if !playerHasStrapon()>> <<bodyliquid "penis" "semen">> <</if>> <<if wearingCondom("player")>> <<set _condom to $player.condom.state>> <</if>> <<if ($parasite.penis.name and $parasite.penis.name isnot "parasite") or $worn.genitals.name is "chastity parasite">> /* No need for you to know it breaks */ <<elseif _condom is "defective">> <span class="red">The condom broke.</span> <<elseif _condom is "sabotaged">> <span class="red">The tip of the condom bursts, exposing the head of your<<print $parasitePenis>> penis.</span> <</if>> <<if $parasite.penis.name and $parasite.penis.name isnot "parasite">> <span class="pink">You are overcome by sensation, and ejaculate into the parasite latched onto your<<print $parasitePenis>> penis.</span> <<elseif $worn.genitals.name is "chastity parasite">> <span class="pink">You are overcome by sensation and climax into your chastity parasite.</span> <<elseif _condom is "normal" or _condom is "used">> <span class="pink">You are overcome by sensation, and ejaculate into the condom that covers your<<print $parasitePenis>> penis.</span> <<set $player.condom.state to "used">> <<elseif playerHasStrapon()>> <span class="pink">You are overcome by sensation and climax under your strap-on.</span> <<elseif $penisuse is "othervagina">> <<if $NPCList[$penistarget].vagina is "penis">> <<personselect $penistarget>> <<penileejacstat>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> deep into <<his>> womb.</span> <<if $earSlime.event is "ejaculate into someone's vagina">> <<set $earSlime.event to "">> <<set $_earslimeEjaculateTask to true>> <</if>> <<purity -1>><<internalejac>><<creampie "npc" "vagina">><<fillOther>> <<if $earSlime.focus is "pregnancy" and $earSlime.growth gte 75>> <<set _orgasmSpermRng to 25>> <<elseif $earSlime.focus is "impregnation" and $earSlime.growth gte 75>> <<set _orgasmSpermRng to 200>> <<else>> <<set _orgasmSpermRng to 100>> <</if>> <<if $semen_amount lte ($semen_volume * (6 / 24))>> <<set _orgasmSpermRng to Math.floor(_orgasmSpermRng / 2)>> <</if>> <<if $abomination is 1>> /*ToDo: Pregnancy, figure out how the Wraith, plantpeople, etc will handle pregnancy.*/ <<elseif $npcrow.includes($penistarget)>> <<recordSperm `{target: $NPCList[$penistarget].fullDescription, spermOwner: "pc", spermType: "human", rngModifier: _orgasmSpermRng}`>> <<elseif $NPCList[$penistarget].pregnancy is 0 and ["realistic", "fetish"].includes($pregnancytype)>> /* Pregnancy Count */ <<set $_count to Object.values($storedNPCs).reduce((prev, curr) => { if(curr.pregnancy) return prev + 1; return prev; },0)>> /* Pregnancy chance checks */ <<set $_impregnatedChance to 200 / (20 - $baseNpcPregnancyChance)>> <<if V.sexStats.pills.pills["fertility booster"].doseTaken gt 0>> <<set $_impregnatedChance to Math.ceil($_impregnatedChance * (1 + (V.sexStats.pills.pills["fertility booster"].doseTaken * 0.5)))>> <</if>> <<if V.sexStats.pills.pills["contraceptive"].doseTaken gt 0>> <<set $_impregnatedChance to Math.ceil($_impregnatedChance * 0.1)>> <</if>> <<set $_impregnatedChance to Math.floor($_impregnatedChance * (_orgasmSpermRng / 100))>> /*If random NPC is impregnated, store NPC and fetus*/ <<if ($_impregnatedChance gte random(0,200) or _npcForceImpregnation)>> <<switch $NPCList[$penistarget].type>> <<case "human">><<set $_pregnancy to pregnancyGenerator.human(V.NPCList[$penistarget], "pc", true)>> <<case "wolf">><<set $_pregnancy to pregnancyGenerator.wolf(V.NPCList[$penistarget], "pc", true, "vagina", false)>> <<case "wolfgirl" "wolfboy">><<set $_pregnancy to pregnancyGenerator.wolf(V.NPCList[$penistarget], "pc", true, "vagina", true)>> <</switch>> <<if $_pregnancy and !(typeof $_pregnancy is "string" || $_pregnancy instanceof String)>> <<if $consensual is 1 and ((random(0, 1 + $_count) is 0 and $_count lte 10) or (setup.pregnancy.randomAlwaysKeep.includes($location) and $_count lte 15))>> <<storeNPC $penistarget "pregnancy">> <<set $storedNPCs[_lastStoredName].pregnancy to $_pregnancy>> <</if>> <<if $pregnancytype is "fetish">><<set _npcIsNowPregnant to $NPCList[$penistarget].fullDescription>><</if>> <<set $NPCList[$penistarget].pregnancy to 1>> <</if>> <</if>> <</if>> <<elseif $NPCList[$penistarget].vagina is "penisimminent" or $NPCList[$penistarget].vagina is "penisentrance">> <<personselect $penistarget>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> on <<his>> pussy.</span> <</if>> <<elseif $penisuse is "otheranus">> <<for $_i = 0; $_i lt $enemynomax; $_i++>> <<if $NPCList[$_i].penis is "otheranus" or $NPCList[$_i].vagina is "otheranus">> <<personselect $_i>> <<penileejacstat>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> deep into <<his>> bowels.</span> <<purity -1>><<internalejac>><<creampie "npc" "anus">><<fillOther>> <<elseif $NPCList[$_i].penis is "otheranusimminent" or $NPCList[$_i].penis is "otheranusentrance" or $NPCList[$_i].vagina is "otheranusimminent" or $NPCList[$_i].vagina is "otheranusentrance">> <<personselect $_i>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> on <<his>> ass.</span> <</if>> <</for>> <<elseif $penisuse is "othermouth">> <<for $_i = 0; $_i lt $enemynomax; $_i++>> <<if $NPCList[$_i].mouth is "penis">> <<personselect $_i>> <<penileejacstat>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> into <<his>> mouth.</span> <<purity -1>><<internalejac>><<creampie "npc" "mouth">><<fillOther>> <<elseif $NPCList[$_i].mouth is "penisimminent" or $NPCList[$_i].mouth is "penisentrance">> <<personselect $_i>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> on <<his>> face.</span> <</if>> <</for>> <<elseif $penisuse is "otherpenis">> <<for $_i = 0; $_i lt $enemyno; $_i++>> <<if $NPCList[$_i].penis is "penis">> <<personselect $_i>> <<penileejacstat>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> over <<his>> penis.</span> <<purity -1>><<internalejac>><<fillOther>> <!-- <<creampie "npc" "penis">> --> <<elseif $NPCList[$_i].penis is "penisimminent" or $NPCList[$_i].penis is "penisentrance">> <<personselect $_i>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> over <<his>> cock and stomach.</span> <</if>> <</for>> <<elseif $penisuse is "tentacle">> <<if $penisstate isnot "tentacleentrance" and $penisstate isnot "tentacleimminent">> <<penileejacstat>> <span class="pink">You are overcome by sensation. The $tentaclePenis milks you of your semen.</span> <<purity -1>><<internalejac>><<fillOther>> <!-- <<creampie "npc" "tentacle">> --> <<else>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> on the $tentaclePenis.</span> <</if>> <<elseif $mouth is "mpenisentrance">> <span class="pink"> You are overcome by sensation. A surge of _cumDesc erupts from your<<print $parasitePenis>> penis onto your face<<if $rng gte 10 and $semen_amount gt ($semen_volume / 24) * 18>> and hair.<<bodyliquid "hair" "semen">><<else>>.<</if>> </span> <<if $semen_amount gt ($semen_volume / 24) * 18>> <<bodyliquid "face" "semen">> <</if>> <<elseif $mouth is "mpenis">> <<if $selfsuckDepth gte 2>> <span class="pink">You are overcome by sensation. A surge of _cumDesc pumps up the length of your<<print $parasitePenis>> penis and flows straight down your throat.</span> <<else>> <span class="pink">You are overcome by sensation and ejaculate<<if _cumDesc isnot "cum">> _cumDesc<</if>> in your mouth, forcing you to quickly drink it down.</span> <</if>> <<set $_released to calculateSemenReleased()>> <<if $_released gt 0>> <<cumswallow "pc" $_released>> <</if>> <<elseif playerChastity()>> <span class="pink">You are overcome by sensation. A surge of _cumDesc erupts from your<<print $parasitePenis>> penis into your $worn.genitals.name.</span> <<elseif $leftarm is "mpenisentrance" or $rightarm is "mpenisentrance">> <<if $leftarm is "mpenisentrance" and $semen_amount gte random(500,1500)>> <<set $leftFingersSemen to 1>> <<set $_hand to "left hand">> <</if>> <<if $rightarm is "mpenisentrance" and $semen_amount gte random(500,1500)>> <<set $rightFingersSemen to 1>> <<set $_hand to ($_hand is undefined ? "right hand" : "hands")>> <</if>> <span class="pink">You are overcome by sensation. A surge of _cumDesc erupts from your<<print $parasitePenis>> penis<<if $_hand>>, and some of it gets on your $_hand<</if>>.</span> <<else>> <span class="pink">You are overcome by sensation. A surge of _cumDesc erupts from your<<print $parasitePenis>> penis.</span> <</if>> <<if $semen_amount lte ($semen_volume * (6 / 24))>> <span class="pink">Exhausted, your body only manages to produce a few droplets of watery cum.</span> <<semenvolume -2>> <<elseif $semen_amount lte ($semen_volume * (12 / 24))>> <span class="pink">Tired from overuse, your cum is thin and watery.</span> <<semenvolume -1>> <<elseif $semen_amount lte ($semen_volume * (18 / 24))>> <span class="pink">The repeated orgasms are taking their toll, reducing the amount of _cumDesc your body manages to produce.</span> <<semenvolume -1>> <</if>> <</if>> <</if>> <<if $player.vaginaExist and !_deniedOrgasm>> <<if !$player.penisExist>> <span class="pink">You are overcome by sensation and climax.</span> <</if>> <<if $leftarm is "mvaginafist" or $rightarm is "mvaginafist">> <span class="pink">You feel your muscles clamp down around your hand, pulsing as your orgasm runs its course.</span> <<elseif $leftarm is "mvagina" or $rightarm is "mvagina">> <span class="pink">You feel your muscles clamp down around your fingers, pulsing as your orgasm runs its course.</span> <</if>> <</if>> <<if $arousalmasochism/$arousal gte 0.70>> <!-- If over 70% arousal is from pain, PC has added reaction NG v2.7 combat get 4 points per orgasm everything else get 8 points per day if from just pain, 10 if its from a denied orgasm --> <<if $combat>> <span class="green">Your body writhes and yearns for more pain.</span> <<masochism 4>> <<elseif $daily.masturbationMasochism or 0 lte _deniedOrgasm ? 10 : 8>> <span class="green">Your body writhes and yearns for more pain.</span> <<masochism `_deniedOrgasm ? 2 : 1`>> <<set $daily.masturbationMasochism to ($daily.masturbationMasochism or 0) + (_deniedOrgasm ? 2 : 1)>> <<else>> <span class="red">Your body yearns for more pain from elsewhere.</span> <</if>> <</if>> <<if $masturbation_bowl is 1>><<set _liquid_collection_text to []>><</if>> <<if $player.penisExist and !_deniedOrgasm>> <<semenOrgasm>>/*Makes changes to semen values*/ <</if>> <<if $player.vaginaExist and !_deniedOrgasm>> <<vaginaFluidOrgasm>> <<if _lube_released gt 10>> <span class="pink">Fluids gush from your <<pussy>>.</span> <<elseif _lube_released gt 0>> <span class="pink">Fluids leak from your <<pussy>>.</span> <</if>> <</if>> <<if $lactating is 1 and $milk_volume gte 1000 and $milk_amount gte ($milk_volume / 3) and $breastsensitivity gte 1.5>> <<if $worn.over_upper.exposed is 0 or $worn.upper.exposed is 0 or $worn.under_upper.exposed is 0>> <<if $milk_amount gte (($milk_volume / 3) * 2) and $milk_amount gte 2500>> <<breastfeed 4>><<set $_wetAmount to 100>><<set $_milkText to "sprays">> <<else>> <<breastfeed 2>><<set $_wetAmount to 50>><<set $_milkText to "leaks">> <</if>> <<if $worn.under_upper.exposed is 0>> <<set $_milkedName to $worn.under_upper.name>> <<if !$worn.under_upper.type.includes("swim") and !$worn.under_upper.type.includes("naked")>> <<underupperwet $_wetAmount>> <</if>> <<elseif $worn.upper.exposed is 0>> <<set $_milkedName to $worn.upper.name>> <<if !$worn.upper.type.includes("swim") and !$worn.upper.type.includes("naked")>> <<upperwet $_wetAmount>> <</if>> <<else>> <<set $_milkedName to $worn.over_upper.name>> <</if>> <span class="pink">Milk $_milkText from your <<breasts>> into your $_milkedName.</span> <<if $combat is 1>><<set $speechmilk to 1>><</if>> <<elseif $combat is 1 and ($cheststate is "chest" or $cheststate is "chestimminent") and $breastfeedingdisable is "f">> <<for $_i = 0; $_i lt $enemynomax; $_i++>> <<if $NPCList[$_i].mouth is "chest">> <<personselect $_i>> <<if $milk_amount gte (($milk_volume / 3) * 2) and $milk_amount gte 2500>> <<if $milk_amount gte 2500>> <span class="pink">Your orgasm makes your <<breasts>> start spraying milk. You flood <<his>> mouth, and <<hes>> forced to disengage, coughing.</span> <<breastfeed 10>> <<set $cheststate to "chestimminent">><<set $NPCList[$_i].mouth to "chestimminent">> <<milkvolume 1>><<set $enemyanger += 10>> <<set $speechmilk to 3>> <<else>> <span class="pink">Your orgasm makes your <<breasts>> start spraying milk. <<He>> struggles to drink it all down.</span> <<breastfeed 8>><<milkvolume 1>><<sex 2 "breast" $_i>> <<set $speechmilk to 1>> <</if>> <<else>> <span class="pink">Your orgasm makes your <<breasts>> leak even more milk into <<his>> eager mouth.</span> <<breastfeed 4>><<milkvolume 1>><<sex 2 "breast" $_i>> <<set $speechmilk to 1>> <</if>> <<elseif $NPCList[$_i].mouth is "chestimminent" or $NPCList[$_i].mouth is "chestentrance">> <<personselect $_i>> <<if $milk_amount gte (($milk_volume / 3) * 2) and $milk_amount gte 2500>> <span class="pink">Your orgasm makes your <<breasts>> start spraying milk all over <<his>> face.</span> <<breastfeed 8>> <<set $speechmilk to 2>> <<else>> <span class="pink">Your orgasm makes your <<breasts>> leak milk.</span> <<breastfeed 3>> <<set $speechmilk to 1>> <</if>> <</if>> <</for>> <<elseif $masturbating and $mouthaction is "mbreastsuck" or $mouthaction is "mbreastlick">> <<if $milk_amount gte (($milk_volume / 3) * 2) and $milk_amount gte 2500>> <<if $milk_amount gte 2500>> <span class="pink">A surge of milk floods your mouth. You disengage temporarily to gasp and cough after managing to swallow it all.</span> <<else>> <span class="pink">Milk sprays into your mouth. You struggle to drink it all down in one gulp.</span> <</if>> <<else>> <span class="pink">You quickly drink down the thin stream of milk flowing into your mouth.</span> <</if>> <<else>> <<if $milk_amount gte (($milk_volume / 3) * 2) and $milk_amount gte 2500>> <<if $leftarm is "mbreastpump" and $rightarm is "mbreastpump">> <span class="pink">Milk bursts from your <<breasts>>.</span> <<else>> <span class="pink"><<if $leftarm is "mbreastpump" or $rightarm is "mbreastpump">>Some milk<<else>>Milk<</if>> sprays from your <<breasts>><<if $lactating and $bugsinside>>, launching some of the insects into the air<</if>>.</span> <<set _milkEscaped to true>> <</if>> <<breastfeed 4>> <<else>> <span class="pink">Milk leaks from your <<breasts>>.</span> <<breastfeed 2>> <</if>> <<if $combat is 1>><<set $speechmilk to 1>><</if>> <</if>> <</if>> <<if _deniedOrgasm>> <span class="blue">A forgiving warmth fills you.</span> You can tell it's the slimes in your ears, rewarding you for having a ruined orgasm. <<gcorruption>><<ltrauma>><<trauma -1>><<corruption 1>> <br> <<elseif numberOfEarSlime() gte 2 and $_earslimeEjaculateTask>> <span class="green">A pleased warmth fills you.</span> You almost forget the strife of the world. You can tell it's the slimes in your ears, rewarding you for having an orgasm while completing their request. <<gcorruption>><<lltrauma>><<llstress>><<trauma -24>><<stress -24>><<corruption 2>> <br> <<elseif numberOfEarSlime() gte 2>> <span class="blue">A soothing warmth fills you.</span> You almost forget the strife of the world. You can tell it's the slimes in your ears, rewarding you for having an orgasm. <<gcorruption>><<ltrauma>><<lstress>><<trauma -12>><<stress -12>><<corruption 2>> <br> <<elseif $parasite.left_ear.name is "slime">> <span class="blue">A soothing warmth fills you.</span> You almost forget the strife of the world. You can tell it's the slime in your left ear, rewarding you for having an orgasm. <<gcorruption>><<ltrauma>><<lstress>><<trauma -6>><<stress -6>><<corruption 1>> <br> <<elseif $parasite.right_ear.name is "slime">> <span class="blue">A soothing warmth fills you.</span> You almost forget the strife of the world. You can tell it's the slime in your right ear, rewarding you for having an orgasm. <<gcorruption>><<ltrauma>><<lstress>><<trauma -6>><<stress -6>><<corruption 1>> <br> <</if>> <!-- This code is orphaned, the $swarmchestgrab variable is not referenced or set in any other file --> <<if $swarmchestgrab gte 1 and !_deniedOrgasm>> <span class="pink">Your convulsions launch the _swarmcreature away from your chest.</span> <<set $swarmchestgrab to 0>> <</if>> <<if $orgasmcount lte 4>> <<set $stress -= 200>> <<set $_arousalDrop to -3000 - ($orgasmcount * 1000)>> <<if _deniedOrgasm>><<set $_arousalDrop += 1000>><</if>> <<if $drugged gte 1>> <<arousal $_arousalDrop>><<drugs -20>> <<else>> <<arousal `$_arousalDrop * 2`>> <</if>> <<if _deniedOrgasm>> <span class="pink">You shudder despite the lack of release.</span> <<else>> <span class="pink">You shudder from the sudden release.</span> <</if>> <<elseif $orgasmcount lte 5>> <<set $stress -= 200>> <<if $drugged gte 1>> <<arousal -8000>><<drugs -20>> <<else>> <<arousal -10000>> <</if>> <span class="pink">You feel spent.</span> <<elseif $orgasmcount lte 8>> <<set $stress -= 100>> <<if $drugged gte 1>> <<set $_arousalDrop to -7000 + (($orgasmcount - 8) * 1000)>> <<arousal $_arousalDrop>><<drugs -20>> <<else>> <<arousal -10000>> <</if>> <<if _deniedOrgasm>> <span class="pink">Despite being denied the orgasm, you're left feeling like you've nothing to give.</span> <<else>> <span class="pink">Despite feeling like you've nothing left to give, the orgasm is intense.</span> <</if>> <<elseif $orgasmcount lte 11>> <<if $drugged gte 1>> <<set $_arousalDrop to -4000 + (($orgasmcount - 9) * 1000)>> <<arousal $_arousalDrop>><<drugs -20>> <<else>> <<arousal -10000>> <</if>> <span class="pink">Your body is tiring from the repeated<<if _deniedOrgasm>> failed<</if>> climaxes.</span> <<elseif $orgasmcount lte 18>> <<if $drugged gte 1>> <<arousal -2000>><<drugs -20>> <<else>> <<arousal -10000>> <</if>> <<set $stress += 100>> <span class="pink">The repeated<<if _deniedOrgasm>> failed<</if>> orgasms are causing you great strain. You don't want to cum any more.</span> <<elseif $orgasmcount lte 23>> <<if $drugged gte 1>> <<arousal -2000>><<drugs -20>> <<else>> <<arousal -10000>> <</if>> <<set $stress += 100>><<combattrauma 10>> <span class="pink">Your mind and body buckle under the continued<<if _deniedOrgasm>> failed<</if>> orgasms.</span> <<else>> <<if $drugged gte 1>> <<arousal -2000>><<drugs -20>> <<else>> <<arousal -10000>> <</if>> <<set $stress += 100>><<combattrauma 10>><<pain 1>> <<if _deniedOrgasm>> <span class="red">You've had so many failed orgasms in such a short span of time that you are numb to them.</span> <<else>> <span class="red">You've had so many orgasms in such a short span of time that you no longer gain any pleasure from them. They're painful, both physically and psychologically.</span> <</if>> <</if>> <!-- Chance to get "dick drunk" after 3rd orgasm, chance is 45% for consensual and 15% otherwise, +5% for each following orgasm, but aphrodisiacs make it 100% --> <<if $orgasmcount gte 3 and $drunk lte 1000 and playerIsPenetrated() and $mouth isnot "mpenis" and !_deniedOrgasm>> <<if $drugged gt 0 or (random(1,100) + ($orgasmcount * 5) gte ($consensual ? 70 : 100))>> <<alcohol 25>> <span class="purple"><<print either("You feel dizzy.", "You feel lightheaded.", "You can't think straight.")>></span> <</if>> <</if>> <!-- If came while being choked --> <<if $neckuse is "hand" and $oxygen lt $oxygenmax and !_deniedOrgasm>> <<set $chokeorgasm += 1>> <<if $chokeorgasm gte 35 and $choketrait isnot 1>> <<set $choketrait = 1>> <br><span class="green">You feel that your orgasms are more intense when you can't breathe, and you like it.</span> <</if>> <</if>> <<if ($halloween is 1 or $NPCList[0].fullDescription is "Ivory Wraith") and random(1, 10000) is 10000>> <span class="pink">Bustin' makes you feel good.</span> <</if>> <br><br> <<if $orgasmtrait gte 1 and !_deniedOrgasm>> <<set $stress -= 100>> <</if>> <<set $orgasmcurrent += 1>> <<wetnessCalculate>> <<if $masturbation_bowl is 1>> <<if $masturbation_milk gt 0>> <<set _liquid_collection_text.push($masturbation_milk.toFixed(1) + " mL of milk")>> <</if>> <<if _liquid_collection_text.length is 0>> <span class="purple">You've failed to gather anything.</span> <<else>> <span class="gold">You've gathered <<print formatList(_liquid_collection_text, "and", true)>>.</span> <</if>> <br> <</if>> <</widget>> <<widget "orgasmstreet">> <<orgasm>> <<if $exposed gte 1>> <<if Weather.dayState isnot "night">> You steady yourself as your spasms subside, feeling exposed and hoping the noise hasn't given away your hiding place. <<else>> You steady yourself as your spasms subside, feeling exposed and hoping the noise hasn't attracted attention. <</if>> <<else>> <<if Weather.dayState isnot "night">> The sight and sound of a <<girl>> convulsing in climax draws attention, and as you regain control you find yourself stared at from all directions. Face red, you flee the scene. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<else>> You steady yourself as your spasms subside, and hope the noise hasn't attracted attention. <</if>> <</if>> <br><br> <</widget>> <<widget "orgasmforest">> <<orgasm>> <<if $exposed gte 1>> <<if Time.dayState isnot "night">> You steady yourself against a tree as your spasms subside. <<else>> You steady yourself against a tree as your spasms subside. <</if>> <<else>> <<if Time.dayState isnot "night">> You steady yourself against a tree as your spasms subside. <<else>> You steady yourself against a tree as your spasms subside. <</if>> <</if>> <br><br> <</widget>> <<widget "orgasmbog">> <<orgasm>> <<if $bogwater gte 1>> You sink under the surface of the water for a moment, but swiftly resurface. <<else>> You nearly tumble into the water, but manage to steady yourself. <</if>> <br><br> <</widget>> <<widget "orgasmbeach">> <<orgasm>> <<if $exposed gte 1>> <<if Time.dayState isnot "night">> You steady yourself as your spasms subside, feeling exposed and hoping the noise hasn't given away your hiding place. <<else>> You steady yourself as your spasms subside, feeling exposed on the open beach. <</if>> <<else>> <<if Time.dayState isnot "night">> The sight and sound of a <<girl>> convulsing in climax draws attention, and as you regain control you find yourself stared at from all across the beach. Face red, you flee the scene. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<else>> You steady yourself as your spasms subside, feeling exposed on the open beach. <</if>> <</if>> <br><br> <</widget>> <<widget "orgasmstage">> <<if hasSexStat("exhibitionism", 5) and $backgroundTraits.includes("lustful") and $orgasmtrait gte 1>> You feel a massive orgasm building up. <br><br> Blinded by your <span class="lewd">lust</span> and your <span class="lewd">hedonism</span>, you <<if $exposed lte 1 and $leftarm isnot "bound" and $rightarm isnot "bound">> rip the clothes still covering you and <<clothesstrip>> <</if>> kneel right at the edge of the stage, presenting your naked <<body_size_text>> and <<breasts>> to the crowd. Hands reach out to grope you. <<arousal 500 "breasts">><<garousal>> <br><br> <<set $audience += 26>> /* Fills all unoccupied NPC slots; generatel not to be confused with generate1 */ <<if $enemyno is 0>> <<generatel>><<generatel>><<generatel>><<generatel>><<generatel>><<generatel>> <<elseif $enemyno is 1>> <<generatel>><<generatel>><<generatel>><<generatel>><<generatel>> <<elseif $enemyno is 2>> <<generatel>><<generatel>><<generatel>><<generatel>> <<elseif $enemyno is 3>> <<generatel>><<generatel>><<generatel>> <<elseif $enemyno is 4>> <<generatel>><<generatel>> <<elseif $enemyno is 5>> <<generatel>> <</if>> The muscles in your legs and abs tense. Your pelvis twitches back and forth. You moan and convulse with a mix of pain and pleasure while the audience cheers. <br><br> <<orgasm>> After a while, the spasms subside. You lie on the floor gasping for air. The music has stopped. The multitude around you gaze at your body, covered in sweat and fluids. <br><br> You rise, shaking, to your feet and bow. The gathered crowd erupts in applause. <<fameexhibitionism 15>> <<set $audiencearousal += 80>> <<set $audienceexcitement += 50>> <<set $audiencemod += 5>> <<else>> You feel an orgasm build within, interrupting your dance. <<orgasm>> <<if currentSkillValue('danceskill') lte 500>> It breaks your focus. You try to regain balance, but your knees give in and you fall to your knees. The gathered crowd taunts you, and mocks your dance skills. <br><br> <<if $worn.feet.type.includes("heels")>> You try to climb to your feet, but one last orgasmic shiver disrupts your balance. The heel on one of your shoes breaks your fall, and your weight breaks your heel. You crash to the floor again, eliciting laughter from the crowd.<<ggpain>> <<pain 10>> <<feetruined>> <br><br> <</if>> <<if $dancelocation is "smuggler_forced" or $dancelocation is "underground">> You feel ashamed, but you've nowhere to run. <<ggtrauma>><<gggstress>><<trauma 12>><<stress 24>> <<else>> <<tearful>> you crawl out of sight, face red and ashamed. <<gtrauma>><<gstress>><<trauma 10>><<stress 10>> <<set $danceevent to "finish">> <</if>> <<elseif currentSkillValue('danceskill') gte 500 and hasSexStat("exhibitionism", 4) and hasSexStat("promiscuity", 4)>> You drop to your knees before you collapse outright. Your <<body_size_text>> is wracked by violent spasms. The crowd cheers you on. <br><br> You climb to your feet and continue dancing, as the crowd jeer. <<fameexhibitionism 15>> <<set $audiencearousal += 10>> <<set $audienceexcitement += 5>> <<set $audiencemod += 2>> <<else>> You try to conceal your spasming body with your dance moves. <<if $dancelocation is "smuggler_forced" or $dancelocation is "underground">> The humiliation is too much to bear, but you stay put for fear of your captors. <<trauma 10>><<stress 12>><<gtrauma>><<ggstress>> <<else>> But it's too much to bear. You flee the scene with as much grace as you can manage. <<gtrauma>><<gstress>><<trauma 5>><<stress 5>> <<set $danceevent to "finish">> <</if>> <</if>> <</if>> <</widget>> <<widget "orgasmLocation">> <<orgasm>> <<switch _args[0]>> <<case "schoolHallway">> <<if ["early","late","earlynoschool","latenoschool","daynoschool"].includes($schoolstate)>> You steady yourself as your spasms subside. You feel fortunate that the hallway is empty right now, and hope the noise hasn't attracted attention. <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws attention, and as you regain control you find yourself stared at from all directions by your fellow students. A few whispers start to run down the hallway. Face red, you turn around a corner, out of sight. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "emptyClassroom">> You steady yourself as your spasms subside. You feel fortunate that the classroom is empty right now, and hope the noise hasn't attracted attention. <<case "classroom">> <<if $schoolstate is "second" and ($whitneymaths is "active" or $whitneymaths is "seat")>> Having taken notice of your orgasm, Whitney smiles at you. <<npcincr Whitney lust 1>><<glust>> <br><br> <<elseif $schoolstate is "third" and ($kylarenglishstate is "watching" or $kylarenglishstate is "seat")>> Kylar watches you, transfixed by your orgasm. <<npcincr Kylar lust 1>><<glust>> <br><br> <<elseif $schoolstate is "fourth" and $robinhistory is "seat">> Robin politely tries to look away, but still can't avoid a peek. <<npcincr Robin lust 1>><<glust>> <br><br> <</if>> You manage to keep yourself from moaning, but your spasms announce your climax to the students around you. A few whispers start to run through the classroom, but are quickly shut down by <<print _teacher>>. <<nnpc_He _teacher>> doesn't seem to know the reason, but understands that you are the talk of the class. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>><<detention 1>><<gdelinquency>> <<case "swimClassroom">> You manage to keep quiet, so as to not draw Mason's attention. However, your spasms announce your climax to the students around you. A few whispers start to run through the pool. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<case "emptySwimClassroom">> You steady yourself as your spasms subside. You feel fortunate that the pool is empty right now, and hope the noise hasn't attracted attention. <<case "canteen">> <<if ["early","late","earlynoschool","latenoschool","daynoschool"].includes($schoolstate)>> You steady yourself as your spasms subside. You feel fortunate that the canteen is empty right now, and hope the noise hasn't attracted attention. <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws attention, and as you regain control you find yourself stared at from all directions by your fellow students. A few whispers start to run through the canteen. Face red, you attempt to conceal yourself. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "library">> <<if ["early","late","earlynoschool","latenoschool","daynoschool"].includes($schoolstate)>> You steady yourself as your spasms subside. You feel fortunate that the library is empty right now, and hope the noise hasn't attracted attention. <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws attention, and as you regain control you find yourself stared at from all directions by your fellow students. A few whispers start to run through the library. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<if $sydneySeen and _sydney_location is "library">> <br><br> Sydney clears <<nnpc_his "Sydney">> throat. The other students get the message and the whispers stop. <</if>> <</if>> <<case "boyChangingRoom">> <<if $changingroomstate is "empty">> You steady yourself as your spasms subside. You feel fortunate that the room is empty right now, and hope the noise hasn't attracted attention. <<elseif $player.gender_appearance is "f">> The sight and sound of a <<girl>> convulsing in climax incites the <<if $changingRoomGender is "girls">>girls<<else>>boys<</if>>. Their reactions vary. Some cheer you on. Some try to look away. And some shout all kinds of insults at you. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws attention, and as you regain control you find yourself stared at from all directions by your fellow students. A few whispers start to run through the room. Face red, you turn away to hide your face. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "girlChangingRoom">> <<if $changingroomstate is "empty">> You steady yourself as your spasms subside. You feel fortunate that the room is empty right now, and hope the noise hasn't attracted attention. <<elseif $player.gender_appearance is "m">> The sight and sound of a <<girl>> convulsing in climax incites the <<if $changingRoomGender is "girls">>girls<<else>>boys<</if>>. Their reactions vary. Some cheer you on. Some try to look away. And some shout all kinds of insults at you. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws attention, and as you regain control you find yourself stared at from all directions by your fellow students. A few whispers start to run through the room. Face red, you turn away to hide your face. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "policeStation">> <<if Time.dayState is "night">> <<set $_quiet to "police station">> <<else>> The sight and sound of a <<girl>> convulsing in climax draws the attention of those in the police station. Their reactions are mixed. Some citizens filing a complaint avoid looking. Some more sketchy individuals loudly cheer you on. As you regain control of yourself, you see two officers coming in your direction. Face red, you decide it's best to flee the scene. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "danceStudio">> <<if $openinghours is 0 and Time.hour isnot $closinghour>> <<set $_quiet to "studio">> <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws the attention of those in the studio. Their reactions are mixed. Some avoid looking. Some stare at you with displeasure. But some also cheer you on. As you regain control of yourself, you notice how rowdy the studio has become. Face red, you try to make yourself look as small and unassuming as possible. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "pound">> The sight and sound of a <<girl>> convulsing in climax draws the attention of the <<pound_text>>, who watch with curiosity as you shake and steady yourself. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <<case "danceStudioLesson">> The sight and sound of a <<girl>> convulsing in climax draws the attention of those in the studio. Their reactions are mostly muted, only the odd glances as they focus on their dancing. As you regain control of yourself, you notice Charlie blushing. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>><<npcincr Charlie love 1>> <<case "danceStudioHeelLesson">> The sight and sound of a <<girl>> convulsing in climax draws the attention of those in the studio. Their reactions are mostly muted, only the odd glances as they focus on Charlie. As you regain control of yourself, you notice Charlie blushing. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>><<npcincr Charlie love 1>> <<case "cafe">> <<if $openinghours is 0>> <<set $_quiet to "cafe">> <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws the attention of the patrons. Their reactions are mixed. Some avoid looking. Some stare at you with displeasure. But some also cheer you on. As you regain control of yourself, you notice how rowdy the cafe has become. Face red, you try to make yourself look as small and unassuming as possible. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "arcade">> <<if Weather.dayState is "night" or Weather.dayState is "dawn">> <<set $_quiet to "arcade">> <<else>> You steady yourself as your spasms subside. Fortunately, the loud ambient noise has stifled your moans, and the dim lights made your spasms almost imperceptible. Still, as you look around, you notice a <<generatey1>><<person1>><<person>> staring at you, with a look of surprise and disbelief. <<His>> attention, however, quickly goes back to the game <<he>> was playing. <<endevent>> <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "docks">> <<if Weather.dayState is "night">> <<set $_quiet to "docks">> <<else>> You steady yourself as your spasms subside. You look around, and it doesn't look like anyone noticed your orgasm. That is, until you take note of a <<generate1>><<person1>><<person>> looking at you from afar. <<He>> gives you a grin, and then goes back to work. <<endevent>> <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "stripClub">> <<if Weather.dayState isnot "night" and Weather.dayState isnot "dusk" and Time.hour isnot 6>> <<set $_quiet to "club">> <<else>> You steady yourself as your spasms subside. Fortunately, the loud ambient noise has stifled your moans, and the dim lights made your spasms almost imperceptible. Still, as you look around, you notice a patron staring at you. <<generate1>><<person1>><<He>> grins and gives you a wink, before getting up and leaving. <<endevent>> <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "shoppingCentre">> <<if Time.dayState is "night">> <<set $_quiet to "shopping centre">> <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws the attention of the other shoppers. Their reactions are mixed. Some avoid looking. Some stare at you with displeasure. But some also cheer you on. As you regain control of yourself, you notice how rowdy the place has become. Face red, you flee around a corner. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "museum">> <<if Time.dayState is "night">> <<set $_quiet to "museum">> <<else>> The sight and sound of a <<girl>> convulsing in climax draws the attention of the other visitors. As you regain control, you feel yourself stared from all directions. Face red, you flee the scene. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "brothel">> The sight and sound of a <<girl>> convulsing in climax draws attention. Those in the brothel cheer you on, while shouting all kinds of profanities. As you regain control of yourself, you notice how rowdy the place has become. Face red, you disappear into a crowded area. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<case "pub">> The sight and sound of a <<girl>> convulsing in climax draws attention. Those in the pub cheer you on, while shouting all kinds of profanities. As you regain control of yourself, you notice how rowdy the place has become. Face red, you disappear into a crowded area <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <<case "spa">> <<if $openinghours is 0 and Time.hour isnot $closinghour>> <<set $_quiet to "spa">> <<else>> The sight and sound of a <<girl>> convulsing in climax draws the attention of the patrons. Their reactions are mixed. Some avoid looking. Some stare at you with displeasure. But some also cheer you on. As you regain control of yourself, you notice how rowdy the spa has become. Face red, you duck behind a tanning bed. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "temple">> <<if Time.dayState is "night">> <<set $_quiet to "temple walls">> <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws attention. The prevalent silence only makes your moans more obvious. Most look at you with disdain, but some shower you with a lustful gaze. As you regain control, you notice yourself stared at from all directions. Face red, you duck behind a pew. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "hospital">> <<if Time.dayState is "night">> <<set $_quiet to "hospital">> <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws attention. The reaction of those in the hospital is mixed. Some avoid looking. Some stare at you with displeasure. But some also cheer you on. As you regain control of yourself, you notice how rowdy the place has become. Face red, you try to feign it as a medical condition. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "countryside">> <<switch random(1,10)>> <<case 1 2 3>> You steady yourself as your spasms subside. A car passes by your side. You wonder if the people inside noticed your climax. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <<case 4>> You steady yourself as your spasms subside. A truck passes by your side. You wonder if the driver noticed your climax. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <<case 5>> You steady yourself as your spasms subside. A tractor passes by your side. You wonder if the farmer noticed your climax. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <<default>> <<set $_quiet to "countryside">> <</switch>> <<case "meadow">> <<if $rng gte 91>> <<beastNEWinit 1 fox>> You grip the blades, steadying yourself as your spasms subside. You think there's no one around to listen, but you notice a <<beasttype>> staring at you, hiding in the grass. <<bHe>> runs off before you can flee. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <<endevent>> <<else>> You grip the blades, steadying yourself as your spasms subside. The sounds of your climax get carried by the breeze, but fortunately there's no one around to listen. <</if>> <<case "alexFarmWork">> <<if Time.dayState is "night">> You steady yourself as your spasms subside, and hope the noise hasn't disturbed the animals. <<elseif ($exposed gte 2 and $uncomfortable.nude is true) or ($exposed is 1 and $uncomfortable.underwear is true)>> <<set $_hidden to true>> <<elseif ["shower","tending","admin","clearing"].includes($farm_work.alex)>> The sight and sound of a <<girl>> convulsing in climax agitate the animals around you. Fortunately, Alex is not around to see you in such a state. You steady yourself and go back to work. <<else>> The sight and sound of a <<girl>> convulsing in climax agitate the animals around you. Alex takes notice of the small commotion, looking at you as your orgasm starts to subside. Face deep red, you both avoid eye contact, and try to act like nothing happened. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<npcincr Alex lust 1>><<glust>> <</if>> <<case "alexFarmTending">> Noticing your spasms, Alex comes to check on you. Once <<nnpc_he "Alex">> understands what's happening, however, <<nnpc_he "Alex">> stops <<nnpc_himself "Alex">>, watching as your orgasm subsides. Face deep red, you both avoid eye contact, and try to act like nothing happened. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<npcincr Alex lust 1>><<glust>> <<case "alexFarmTendingAlone">> You steady yourself as your spasms subside, and feel grateful that Alex isn't around right now to see you in such a state. <<case "alexFarmAdmin">> Your loud moans attract the attention of Alex and the person on the phone. "I-I'm sorry," <<nnpc_he "Alex">> stammers. "Th-that was just the wind." <br><br> <<nnpc_He "Alex">> continues the call with <<nnpc_his "Alex">> face deep red, and you both avoid eye contact as your spasms subside. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<npcincr Alex lust 1>><<glust>> <<case "sewers">> Your loud moans echo through the tunnels. <<if _args[1]>> As your spasms subside, you hope the noise hasn't attracted further attention. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <<set $sewerschasedstep -= 1>> <<else>> As your spasms subside, you hope the noise hasn't attracted attention. <</if>> <<case "lake">> <<if _args[1]>> You steady yourself against a tree as your spasms subside. Fortunately, there's no one around right now to see you in such a state. <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> You steady yourself as your spasms subside. Fortunately, the loud ambient noise has stifled your moans, and the foliage provides cover for your spasms. Still, as you look around, you notice a <<generatey1>><<person1>><<person>> staring at you. <<He>> grins, before going back to <<his>> friends. <<endevent>> <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "campsite">> <<if Weather.precipitation !== "none" or Time.hour lt 18 or $daily.lakeCouple is 1>> You steady yourself against a tree as your spasms subside. Fortunately, there's no one around right now to see you in such a state. <<elseif $exposed gte 1>> <<set $_hidden to true>> <<else>> The sight and sound of a <<girl>> convulsing in climax draws the attention of the campers. They look surprised for a moment, but soon smile at your lewd display. As you regain control of yourself, you notice their lustful gaze. Face red, you flee the scene. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>><<fameexhibitionism 10>> <</if>> <<case "moor">> You almost fall down to the short grass, but manage to steady yourself as your orgasm subsides. <</switch>> <<if $_hidden>> You steady yourself as your spasms subside, feeling exposed and hoping the noise hasn't given away your hiding place. <</if>> <<if $_quiet>> Your loud moans echo through the empty <<print $_quiet>>. As your spasms subside, you hope the noise hasn't attracted attention. <</if>> <br><br> <</widget>> <<widget "breastfeed">> <<set _milk_released to random(10, 50)>> <<if $cow gte 6>> <<set _milk_released *= 2>> <</if>> <<set _milk_released /= 10>> <<set _milk_released to parseFloat(_milk_released.toFixed(1))>> <<if _args[0]>><<set _milk_released *= _args[0]>><</if>> /* if the player doesn't have enough milk, set _milk_released to whatever they have left */ <<if $milk_amount lt _milk_released>> <<set _milk_released to $milk_amount>> <</if>> <<set $milk_produced_stat += Math.trunc(_milk_released)>> <<milkvolume 1>> <<if ($worn.over_upper.exposed is 0 and $worn.upper.exposed is 0 and $worn.under_upper.exposed is 0) or _args[1] is "drunk">> <<else>> <<set $_milkEscaped to _milkEscaped and _args[1] isnot "pump">> <<if $masturbating>> <<if $masturbation_bowl is 1 and $_milkEscaped>> /* Either Milk sprays everywhere or is drunk, so isn't collected */ <<else>> <<set $masturbation_milk += _milk_released>> <</if>> <</if>> <<if _args[1] is "pump">> <<set $bottledMilk to ($bottledMilk or 0) + _milk_released>> <</if>> <<if $masturbation_bowl is 1>> <<if $_milkEscaped>> <span class="red">The force of your orgasm makes<<if $leftarm is "mbreastpump" or $rightarm is "mbreastpump">> some of<</if>> your milk spray out wildly, missing the bowl entirely.</span> <<gsuspicion>><<set $chef_sus += 5>><br> <<else>> <span class="gold">You gather <<print (_milk_released).toFixed(1)>> mL of your breast milk.</span> <</if>> <<elseif $leftaction is "mbreastpumppump" or $rightaction is "mbreastpumppump">> <span class="gold">You store <<print (_milk_released).toFixed(1)>> mL of your breast milk.</span> <</if>> <</if>> <<milk_amount `-_milk_released`>> <</widget>> <<widget "orgasmHourlyRecovery">> <<if $purity gte 990>> <<orgasmcount -1>> <<else>> <<set _orgmod to Math.floor((1100-$purity)/100)>> <<set _orgmod to Math.clamp(_orgmod, 2, 11)>> <<orgasmcount `-_orgmod`>> <</if>> <<if $cow gte 6>> <<semenvolume 1>> <<milkvolume 1>> <</if>> <<if $player.penisExist>> <<if $arousal gte $arousalmax * (4/5)>> <<set $_semen_gain to Math.floor($semen_volume * (3/24))>> <<elseif $arousal gte $arousalmax * (3/5)>> <<set $_semen_gain to Math.floor($semen_volume * (2/24))>> <<else>> <<set $_semen_gain to Math.floor($semen_volume * (1/24))>> <</if>> <<if $cow gte 6 or ($earSlime.growth gte 100 and $earSlime.focus is "impregnation")>> <<set $_semen_gain *= 2>> <</if>> <<if $earSlime.growth gte 100 and $earSlime.focus is "pregnancy">> <<set $_semen_gain /= 4>> <</if>> <<if $drugged gte 1>> <<set $_semen_gain += Math.floor($semen_volume * (1/24))>> <</if>> <<semen_amount $_semen_gain>> <<if $semen_amount gte $semen_volume>> <<if $arousal gte $arousalmax * (4/5)>> <<semenvolume 2>> <<elseif $arousal gte $arousalmax * (3/5)>> <<semenvolume 1>> <</if>> <<if $drugged gte 1>> <<semenvolume 1>> <</if>> <<set $semen_amount to $semen_volume>> <</if>> <</if>> <<set $_milk_gain to $milk_volume / 24>> <<if $earSlime.growth gte 75 and $earSlime.focus is "impregnation">> <<set $_milk_gain /= 4>> <</if>> <<if $earSlime.growth gte 75 and $earSlime.focus is "pregnancy">> <<set $_milk_gain *= 2>> <</if>> <<milk_amount `Math.floor($_milk_gain)`>> <<if $milk_amount is $milk_volume and $lactating>> <<set $milkFullPain to Math.clamp(($milkFullPain || 0) + Math.ceil($milk_volume / 1000),0,200 + Math.ceil($milk_volume / 60))>> <<else>> <<set $milkFullPain to 0>> <</if>> <</widget>> <<widget "semenOrgasm">> <<set _semen_released to calculateSemenReleased()>> <<if $semen_amount gte 1 and $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and $mouth isnot "mpenis" and $worn.genitals.name isnot "chastity parasite">> <<if $masturbating>> <<set $masturbation_semen += _semen_released>> <</if>> <<if $masturbation_bowl is 1>> <<set _liquid_collection_text.push($masturbation_semen.toFixed(1) + " mL of <<semen>>")>> <</if>> <</if>> <<if $femaleclimax isnot 1>> <<semenvolume 1>> <</if>> <<set $semen_produced_stat += _semen_released>> <<semen_amount `-_semen_released`>> <</widget>> <<widget "wetnessCalculate">> <<if $player.vaginaExist>> <<vaginaWetnessCalculate>> <</if>> <<if $player.penisExist>> <<set $_minimumPenis to 0>> <<if playerRutMinArousal() and numberOfEarSlime() and $earSlime.focus is "impregnation" and $earSlime.growth gte 100>> <<set $_minimumPenis += Math.floor(($earSlime.growth - 100) / 2)>> <</if>> <<set $penisWetness to setup.bodyliquid.combined("penis") * 12>> <<set $penisWetness to Math.clamp($penisWetness, Math.clamp($_minimumPenis, 0, 45), 120)>> <</if>> <<set $anusWetness to (setup.bodyliquid.combined("anus") + setup.bodyliquid.combined("bottom")) * 6>> <<set $_minimum to 0>> <<if playerHeatMinArousal() and numberOfEarSlime() and $earSlime.focus is "pregnancy" and $earSlime.growth gte 100 and $player.sex is "m">> <<set $_minimum += Math.floor(($earSlime.growth - 100) / 2)>> <</if>> <<set $anusWetness to Math.clamp($anusWetness, Math.clamp($_minimum, 0, 45), 120)>> <<if $combat is 1>> <<penetrationPainCalculate>> <</if>> <</widget>> <<widget "vaginaWetnessCalculate">> <<set _totalArousal = 0>> <<set _length to $trackedArousal.length>> <<for _ia to 0; _ia lt _length; _ia++>> <<set _totalArousal += $trackedArousal[_ia] / ((_length - _ia) * 1.5)>> <</for>> <<if $combat is 1>> <!-- combatWetBoost can be from 0 to 5, because max promiscuity/deviancy is 100. --> <<if $enemytype is "man">> <<set $combatWetBoost to Math.floor($promiscuity /20)>> <<elseif $enemytype is "tentacles" or $enemytype is "beast">> <<set $combatWetBoost to Math.floor($deviancy /20)>> <<else>> <<set $combatWetBoost to 0>> <</if>> <!-- combatArousalWetness has been replaced by vaginaArousalWetness but I don't want to remove it completely so it's commented out for now. --> /* <<set $_combatArousalWetness to 75 - Math.floor(Math.pow(0.99985,_totalArousal) * 75)>> <<set $combatWetBoost += $_combatArousalWetness>> */ <<else>> <<set $combatWetBoost to 0>> <</if>> <<set $_minimum to 0>> <<if playerHeatMinArousal() and numberOfEarSlime() and $earSlime.focus is "pregnancy" and $earSlime.growth gte 100>> <<set $_minimum += Math.floor(($earSlime.growth - 100) / 2)>> <</if>> <<set $vaginaWetness to $vaginaArousalWetness + $combatWetBoost + (setup.bodyliquid.combined("vagina") + setup.bodyliquid.combined("vaginaoutside")) * 6>> <<set $vaginaWetness to Math.clamp($vaginaWetness, Math.clamp($_minimum, 0, 45), 120)>> <</widget>> <<widget "penetrationPainCalculate">> <<set $vaginalPain to 0>> <<set $analPain to 0>> <<set $penisPain to 0>> <<if $demon lt 6 and $gamemode isnot "soft">> <<if $player.vaginaExist>> <<if $consensual is 1>> <<set $vaginalPain to Math.floor(3 * Math.pow(0.4,$vaginaWetness/8))>> <<else>> <<set $vaginalPain to Math.floor(6 * Math.pow(0.5,$vaginaWetness/25))>> <</if>> <</if>> <<if $player.penisExist>> <<if $consensual is 1>> <<set $penisPain to Math.floor(3 * Math.pow(0.4,$penisWetness/8))>> <<else>> <<set $penisPain to Math.floor(6 * Math.pow(0.5,$penisWetness/25))>> <</if>> <</if>> <<if $consensual is 1>> <<set $analPain to Math.floor(3 * Math.pow(0.4,$anusWetness/8))>> <<else>> <<set $analPain to Math.floor(6 * Math.pow(0.5,$anusWetness/25))>> <</if>> <<if $gamemode is "hard">> <<set $vaginalPain *= 2>> <<set $penisPain *= 2>> <<set $analPain *= 2>> <</if>> <</if>> <</widget>> <!-- Lube is only released when vaginaArousalWetness is over 60 (also, its max value is 100)--> <!-- "passive" means the lube is dripping out, while "active" means it is being pushed out --> <<widget "vaginaFluidPassive">> <<set $_lube_max to Math.round(30*Math.log10($vaginaArousalWetness - 59))>> <<set _lube_released to random(0, $_lube_max)/20>> <!-- Expected value is between 0 and 2.5, much more likely to be on the lower end due to wetness having a softcap --> <<set _lube_released to parseFloat(_lube_released.toFixed(1))>> <<set $masturbation_vaginaFluid += _lube_released>> <<set $lube_produced_stat += _lube_released>> <</widget>> <<widget "vaginaFluidActive">> <<set $_lube_max to Math.ceil(30*Math.log10($vaginaArousalWetness - 59))>> <<set _lube_released to random(10, $_lube_max)/10>> <!-- Expected value is between 1 and 5, much more likely to be on the lower end due to wetness having a softcap --> <<set _lube_released to parseFloat(_lube_released.toFixed(1))>> <<set $masturbation_vaginaFluid += _lube_released>> <<set $lube_produced_stat += _lube_released>> <</widget>> <<widget "vaginaFluidOrgasm">> <<addVaginalWetness 10>> <<if $vaginaArousalWetness gte 60>> <<set _lube_released to (2*Math.log10($vaginaArousalWetness - 59)) + 11>> <<elseif $vaginaArousalWetness gte 30>> <<set _lube_released to ($vaginaArousalWetness / 10) + 5>> <<else>> <<set _lube_released to 0>> <</if>> <!-- Expected value is either 0, or between 5 and 15 --> <<set _lube_released to parseFloat(_lube_released.toFixed(1))>> <<if $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1>> <<if $masturbating>> <<set $masturbation_vaginaFluid += _lube_released>> <</if>> <<if $masturbation_bowl is 1>> <<set _liquid_collection_text.push($masturbation_vaginaFluid.toFixed(1) + " mL of vaginal fluid")>> <</if>> <<elseif $worn.under_lower.vagina_exposed is 0>> <<set $underlowerwet += Math.round(30 * Math.clamp((1 - $underlowerwet/100), 0, 1))>> <</if>> <<set $lube_produced_stat += _lube_released>> <</widget>> <<widget "tinyPenisDryOrgasmChance">> <<if !$player.penisExist or $player.penissize gte 0>> <!-- Cannot have a "femaleclimax" (aka an orgasm with no cum, but with extra humiliation) without a size -1 or lower penis --> <<set $femaleclimax to 0>> <<else>> <!-- Guaranteed at size -2 --> <<set $femaleclimax to 1>> <!-- chance at -1, if haven't cum in a while --> <<if $player.penissize is -1 and $orgasmdown lt 0>> <<set $_femaleclimaxchance to 50>> <<if ['penetrated', 'tentacle', 'tentacledeep', 'doublepenetrated'].includes($anusstate)>> <<set $_femaleclimaxchance += 40>> <<if $anusstate is "doublepenetrated">> <<set $_femaleclimaxchance += 20>> <</if>> <</if>> <<if ['penetrated', 'tentacle', 'tentacledeep'].includes($mouthstate)>> <<set $_femaleclimaxchance += 20>> <</if>> <<if ['penetrated', 'otheranus', 'tentacle', 'tentacledeep'].includes($penisstate)>> <<set $_femaleclimaxchance -= 40>> <</if>> <<set $femaleclimax to (random(1, 100) lte $_femaleclimaxchance ? 1 : 0)>> <</if>> <</if>> <</widget>> <<widget "orgasmcount">> <<if _args[0]>> <<set $orgasmcount += _args[0]>> <<set $orgasmcount = Math.clamp($orgasmcount, 0, 25)>> <</if>> <</widget>><<widget "characteristics">> <br> You are <<if $wraithSkin>> a spirit <<elseif $wolfgirl gte 6 or $cat gte 6 or $cow gte 6 or $harpy gte 6 or $fox 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 $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>> <<elseif $fox gte 6>> fox <</if>> <<else>> <<if $angel gte 6>> an angel <<elseif $fallenangel gte 2>> a fallen angel <<elseif $demon gte 6>> a demon <<else>> a<<if $player.gender is "n">>n<</if>> <</if>> <</if>> <<pcGender>>. <br><br> <<switch $bodysize>> <<case 0>>You are tiny compared to others. <<case 1>>You are small compared to others. <<case 2>>You are of average height. <<case 3>>You are large compared to others. <</switch>> <!-- Eye details --> <<print window.buildEyeDetails()>> <!-- --> You have a <<skincolourtext>> <<if $player.breastsize gte 1>> <<if $player.breastsize is $player.perceived_breastsize>> You have <<breasts>>. <<else>> You have <<breasts>>, but your clothing <<if $player.perceived_breastsize is 0>> hides them, making them look flat. <<elseif $player.perceived_breastsize lt $player.breastsize>> hides them, making them look <<breastsizedesc $player.perceived_breastsize>>. <<else>> /*if $player.perceived_breastsize gt $player.breastsize*/ pads them, making them look <<breastsizedesc $player.perceived_breastsize>>. <</if>> <</if>> <<elseif $player.breastsize is 0 and $player.perceived_breastsize gte 1>> Your chest is flat, but your clothing pads it, making it look <<breastsizedesc $player.perceived_breastsize>>. <</if>> You have a <<bottom true>>. <<if $player.penisExist and $player.vaginaExist>> <<silently>> <<penis false true>><<set _penis to _text_output>> <<pussy false true>><<set _pussy to _text_output>> <</silently>> You have <<a _penis>> and <<a _pussy>>. <<else>> You have <<if $player.penisExist>> <<silently>><<penis false true>><<set _penis to _text_output>><</silently>> <<a _penis>>. <</if>> <<if $player.vaginaExist>> <<silently>><<pussy false true>><<set _pussy to _text_output>><</silently>> <<a _pussy>>. <</if>> <</if>> <!--Hair Details--> <<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, <<fringedescription>>' }, { requiredValue: 200, color: '', preText: 'When left natural, your ', description: '<<haircolourtext>>', postText: ' hair comes down to your shoulders, <<fringedescription>>' }, { requiredValue: 300, color: '', preText: 'When left natural, your ', description: '<<haircolourtext>>', postText: ' hair is quite long, and comes down to the top of your chest, <<fringedescription>>' }, { requiredValue: 400, color: '', preText: 'When left natural, your long ', description: '<<haircolourtext>>', postText: ' hair hangs down to your nipples, <<fringedescription>>' }, { requiredValue: 500, color: '', preText: 'When left natural, your long ', description: '<<haircolourtext>>', postText: ' hair reaches the top of your tummy, <<fringedescription>>' }, { requiredValue: 600, color: '', preText: 'When left natural, your long ', description: '<<haircolourtext>>', postText: ' hair reaches your navel, <<fringedescription>>' }, { requiredValue: 700, color: '', preText: 'When left natural, your very long ', description: '<<haircolourtext>>', postText: ' hair reaches your thighs, <<fringedescription>>' }, { requiredValue: 800, color: '', preText: 'When left natural, your very long ', description: '<<haircolourtext>>', postText: ' hair reaches your knees, <<fringedescription>>' }, { requiredValue: 900, color: '', preText: 'When left natural, your extremely long ', description: '<<haircolourtext>>', postText: ' hair reaches your ankles, <<fringedescription>>' }, { requiredValue: 1000, color: '', preText: 'When left natural, your ', description: '<<haircolourtext>>', postText: ' hair is so long you need be careful lest you trip on it, <<fringedescription>>' } ] }>> <<characteristic-text _hairTextConfig>> <br><br> <!--Pregnancy Details--> <<set $_pregnancy to getPregnancyObject()>> <<set $_menstruation to $sexStats.vagina.menstruation>> <<set $_pills to $sexStats.pills>> <<set $_knowsTheyCanBecomePregnant to ($playerPregnancyHumanDisable is "f" or $playerPregnancyBeastDisable is "f") and playerAwareTheyCanBePregnant()>> <<set $_heatArousal to playerHeatMinArousal()>> <<set $_rutArousal to playerRutMinArousal()>> <<set $_heatRutDisplay to ($_heatArousal and playerAwareTheyAreInHeat() ? "heat" : "") + ($_heatArousal and playerAwareTheyAreInHeat() and $_rutArousal ? " and " : "") + ($_rutArousal ? "rut" : "")>> <<if $_pregnancy.fetus.length and $_pregnancy.awareOf>> <<if $_pregnancy.timer / $_pregnancy.timerEnd lte 0.33>> <<set _trimester to "first">> <<elseif $_pregnancy.timer / $_pregnancy.timerEnd lte 0.66>> <<set _trimester to "second">> <<else>> <<set _trimester to "third">> <</if>> <<if $_pregnancy.awareOfDetails || $_pregnancy.potentialFathers.every((father, index, array) => father.type === array[0].type)>> <<if $_pregnancy.awareOfDetails>> <<set $_number to $_pregnancy.fetus.length>> <<elseif $_pregnancy.awareOfMultiple>> <<set $_number to $_pregnancy.fetus.length is 1 ? 1 : "more than one">> <<else>> <<set $_number to "an unknown number of">> <</if>> <<switch $_pregnancy.type>> <<case "human">> <<if $_number isnot "an unknown number of" and $_number isnot "more than one" and $_number gt 1>> <<set _childType to "">> <<if $_pregnancy.fetus[0].features.identical is true and $_pregnancy.awareOfDetails>> <<set _childType += "identical ">> <</if>> <<set _childType += ($_number is 3 ? "triplets" : "twins")>> <<else>> <<set _childType to ($_number is 1 || $_number is "more than one" ? "baby" : "babies")>> <</if>> <<case "wolf">> <<set _childType to ($_number is 1 || $_number is "more than one" ? "wolf pup" : "wolf pups")>> <<case "hawk">> <<set _childType to ($_number is 1 || $_number is "more than one" ? "hawk egg" : "hawk eggs")>> <</switch>> <<if $_pregnancy.type is "hawk">> You're pregnant with <<number $_number>> _childType, <<switch _trimester>> <<case "first">>and it will be a while before you can lay <<if $_number is 1>>it<<else>>them<</if>>. <<case "second">>but it will still take some time to lay <<if $_number is 1>>it<<else>>them<</if>>. <<case "third">>and you'll be ready to lay <<if $_number is 1>>it<<else>>them<</if>> soon. <</switch>> <<else>> You're pregnant with <<if !["twins", "identical twins", "triplets"].includes(_childType)>><<number $_number>><</if>> _childType, in the _trimester trimester of your pregnancy. <</if>> <<else>> You know you're in the _trimester trimester of your pregnancy. <</if>> <<if between($_pregnancy.timer / $_pregnancy.timerEnd, 0.1, 1) and !$daily.ultrasoundDone>> <span class="blue">You can get an ultrasound done at the hospital.</span> <</if>> <<if $_pregnancy.potentialFathers.length is 1>> You know that the father is <<print pregnancyNameCorrection($_pregnancy.potentialFathers[0].source)>>. <<elseif $_pregnancy.potentialFathers.length is 2>> You're sure that the father is either <<print pregnancyNameCorrection($_pregnancy.potentialFathers[0].source)>> or <<print pregnancyNameCorrection($_pregnancy.potentialFathers[1].source)>>. <<elseif $_pregnancy.potentialFathers.length is 3>> You're pretty sure that the father is either <<print pregnancyNameCorrection($_pregnancy.potentialFathers[0].source)>>, <<print pregnancyNameCorrection($_pregnancy.potentialFathers[1].source)>> or <<print pregnancyNameCorrection($_pregnancy.potentialFathers[2].source)>>. <<else>> You're unsure who the father is. <</if>> <br><br> <<elseif $_knowsTheyCanBecomePregnant and $_pills.pills.contraceptive.doseTaken>> <<if $_pills.pills.contraceptive.doseTaken gte 2>> You have overdosed on a contraceptive, reducing your chance of impregnation to zero. <<else>> You have taken a contraceptive, reducing your chance of impregnation to almost zero. <</if>> <br><br> <<elseif $_knowsTheyCanBecomePregnant and (($sciencetrait gte 4 and $awareness gte 200) or $awareness gte 500)>> <<set $_risk to playerPregnancyRisk()>> <<if $_risk isnot undefined>> <<switch $_risk>> <<case 6>><<set $_pregnancyRisk to "very safe">><<set $_pregnancyRiskColour to "green">> <<case 5>><<set $_pregnancyRisk to "safe">><<set $_pregnancyRiskColour to "teal">> <<case 3 4>><<set $_pregnancyRisk to "some-what safe">><<set $_pregnancyRiskColour to "lblue">> <<case 1 2>><<set $_pregnancyRisk to "risky">><<set $_pregnancyRiskColour to "pink">> <<case 0>><<set $_pregnancyRisk to "dangerous">><<set $_pregnancyRiskColour to "red">> <</switch>> <<if $_heatArousal or $_rutArousal>> <<heatRutDisplay>> Intercourse will be <span @class="$_pregnancyRiskColour">$_pregnancyRisk</span>. <<else>> You feel that it's <span @class="$_pregnancyRiskColour">$_pregnancyRisk</span> to have intercourse. <</if>> <br><br> <</if>> <<else>> <<heatRutDisplay true>> <</if>> <!--Semen Details--> <<if $player.penisExist and $player.penissize gte -1>> <<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: 1, color: 'pink', preText: "but you\'re ", description: 'almost empty. '}, { 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, <span class="pink">your arousal is increasing your capacity.</span> <<elseif $arousal gte ($arousalmax / 5) * 3>> As you're already full, <span class="purple">your arousal is increasing your capacity.</span> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <span class="pink">Your arousal is helping recover.</span> <<elseif $arousal gte ($arousalmax / 5) * 3>> <span class="purple">Your arousal is helping recover.</span> <</if>> <</if>> <</if>> <br> <</if>> <!--Lactation Details--> <<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: 1, color: 'pink', preText: "but you\'re ", description: ' almost empty.'}, { 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 $milkFullPain and $milkFullPain gt 200>> Being full for so long is causing you some pain. <<if !$player.inventory.sextoys["breast pump"] and $milkFullPain gt 225>><span class="gold">A breast pump from the pharmacy might help.</span><</if>> <</if>> <br> <</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.' } ]>> <!--Vagina Wetness--> <<if $player.vaginaExist>> <<set _vaginaWetnessTextConfig = { currentValue : $vaginaWetness, preText: 'Your vagina is ', states: _holeWetnessStates}>> <<characteristic-text _vaginaWetnessTextConfig>> <br> <</if>> <!--Penis Wetness--> <<if $player.penisExist>> <<set _penisWetnessTextConfig = { currentValue : $penisWetness, preText: 'Your penis is ', states: [ { requiredValue: 0, color: 'green', description: 'dry.', postText: ($player.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: ($player.penissize >= 4) ? " It shouldn\'t have much trouble sliding into places, even at your size." : ''} ]}>> <<characteristic-text _penisWetnessTextConfig>> <br> <</if>> <!--Anal Wetness--> <<if $analdisable is "f">> <<set _analWetnessTextConfig = { currentValue : $anusWetness, preText: 'Your ass is ', states: _holeWetnessStates}>> <<characteristic-text _analWetnessTextConfig>> <</if>> <br><br> <<bodywriting>> <div id="characteristics-display"> <br> <span class="gold">Core Characteristics</span> <div id="base-characteristics" class="characteristic-box-list"> <!--Core skill configurations--> <<silently>> <!--PURITY--> <<if $demon gte 6>> <<set _purityIcon='ui/tf_demon'>> <<elseif $fallenangel gte 2>> <<set _purityIcon='ui/tf_fallenangel'>> <<else>> <<set _purityIcon='ui/tf_angel'>> <</if>> <<set _purityConfig = { name : "Purity", icon : _purityIcon, displayType : "level", currentValue : $purity, modifier: 100, modTypes: { good: [], bad: [] }, 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.'} ] }>> <!--AWARENESS--> <<set _awarenessConfig = { name : "Awareness", icon : "ui/sym_awareness", displayType : "level", currentValue : $awareness, modifier: 100, modTypes: { good: [], bad: [] }, 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.'} ] }>> <!--PHYSIQUE--> <<set _physiqueConfig = { name : "Physique", icon : "ui/sym_physique", displayType : "level", currentValue : $physique, maxValue: $physiquesize, modifier: 100, modTypes: { good: [], bad: [] }, states : [ { requiredValue: 0, level: 0, color: 'red', description: `You are ${$player.bodyshape === "soft" ? "malnourished" : "emaciated"}.`}, { requiredValue: $physiquesize / 7, level: 1, color: 'pink', description: `Your body is ${$player.bodyshape === "soft" ? "squishy" : "skinny"}.`}, { requiredValue: ($physiquesize / 7) * 2, level: 2, color: 'purple', description: `Your body is ${$player.bodyshape === "soft" ? "soft and supple" : "lithe and slender"}.`}, { requiredValue: ($physiquesize / 7) * 3, level: 3, color: 'blue', description: `Your body is ${$player.bodyshape === "soft" ? "well built" : "slim"}.`}, { requiredValue: ($physiquesize / 7) * 4, level: 4, color: 'lblue', description: `Your body is ${$player.bodyshape === "soft" ? "sturdy" : "slim"} and athletic.`}, { requiredValue: ($physiquesize / 7) * 5, level: 5, color: 'teal', description: `Your body is ${$player.bodyshape === "soft" ? "robust" : "toned"} and firm.`}, { requiredValue: ($physiquesize / 7) * 6, level: 6, color: 'green', description: `Your body is ${$player.bodyshape === "soft" ? "robust" : "toned"} and powerful.`} ] }>> <<if playerBellySize() gte 10 and playerNormalPregnancyTotal() lt 50>> <<switch playerNormalPregnancyTotal()>> <<case 0>><<set _pregnancyModifier to 36>> <<case 1>><<set _pregnancyModifier to 48>> <<case 2>><<set _pregnancyModifier to 60>> <<case 3 4 5>><<set _pregnancyModifier to 78>> <<case 6 7>><<set _pregnancyModifier to 96>> <<default>><<set _pregnancyModifier to 120>> <</switch>> <<set _physiqueConfig.modifier to Math.floor(_physiqueConfig.modifier * (1 - (playerBellySize() / _pregnancyModifier)))>> <<set _physiqueConfig.modTypes.bad.pushUnique(playerAwareTheyArePregnant() ? "Pregnant" : "Large Belly")>> <</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)))>> <<set _physiqueConfig.modTypes.bad.pushUnique("heels")>> <</if>> <<if $worn.feet.type.includes("rugged")>> <<set _physiqueConfig.modifier to Math.floor(_physiqueConfig.modifier * (1 + (currentSkillValue("feetskill") / 10000)))>> <<set _physiqueConfig.modTypes.good.pushUnique("rugged footwear")>> <</if>> <</switch>> <!--WILLPOWER--> <<set _willpowerConfig = { name : "Willpower", icon : "ui/sym_trauma", displayType : "level", currentValue : $willpower, maxValue: $willpowermax, modifier: 100, modTypes: { good: [], bad: [] }, 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 numberOfEarSlime() gte 2 and $earSlime.growth gt 50>> <<set _willpowerConfig.modifier to Math.floor(_willpowerConfig.modifier * (0.9 - Math.clamp(($earSlime.growth - 50) / 1000, 0, 0.1)))>> <<set _willpowerConfig.modTypes.bad.pushUnique("ear slimes")>> <<elseif numberOfEarSlime() gte 2>> <<set _willpowerConfig.modifier to Math.floor(_willpowerConfig.modifier * 0.9)>> <<set _willpowerConfig.modTypes.bad.pushUnique("ear slimes")>> <</if>> <!--BEAUTY--> <<set _beautyConfig = { name : "Beauty", icon : "ui/sym_beauty", displayType : "level", currentValue : $beauty, maxValue: $beautymax, modifier: 100, modTypes: { good: [], bad: [] }, 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.'} ] }>> <!--PROMISCUITY--> <<set _promiscuityConfig = { name : "Promiscuity", icon : "ui/sym_lust", displayType : "level", currentValue : $promiscuity, maxValue: 100, modifier: 100, modTypes: { good: [], bad: [] }, 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.'} ] }>> <!--EXHIBITIONISM--> <<set _exhibitionismConfig = { name : "Exhibitionism", icon : "ui/sym_exhibitionism", displayType : "level", currentValue : $exhibitionism, maxValue: 100, modifier: 100, modTypes: { good: [], bad: [] }, 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.'} ] }>> <!--DEVIANCY--> <<set _deviancyConfig = { name : "Deviancy", icon : "ui/sym_deviancy", displayType : "level", currentValue : $deviancy, maxValue: 100, modifier: 100, modTypes: { good: [], bad: [] }, 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.'} ] }>> <!-- Visual indicator for lewd stats being affected by alcohol --> <<if $drunk gte 1>> <<set _promiscuityConfig.modTypes.good.pushUnique("alcohol")>> <<set _exhibitionismConfig.modTypes.good.pushUnique("alcohol")>> <<set _deviancyConfig.modTypes.good.pushUnique("alcohol")>> <</if>> <!-- Visual indicator for lewd stats being affected by heat --> <<if playerHeatMinArousal() gte 1>> <<set _promiscuityConfig.modTypes.good.pushUnique("in heat")>> <<set _deviancyConfig.modTypes.good.pushUnique("in heat")>> <</if>> <!-- Visual indicator for lewd stats being affected by rut --> <<if playerRutMinArousal() gte 1>> <<set _promiscuityConfig.modTypes.good.pushUnique("in rut")>> <<set _deviancyConfig.modTypes.good.pushUnique("in rut")>> <</if>> <!-- MOOR LUCK, at the end so it appears at the end of the mouseover tooltip --> <<if $moorLuck gt 0>> <<set _physiqueConfig.modifier to Math.floor(_physiqueConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _physiqueConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _willpowerConfig.modifier to Math.floor(_willpowerConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _willpowerConfig.modTypes.good.pushUnique("<i>????</i>")>> <</if>> <</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>> </div> <!--Common states for skills with grades--> <<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>> <br> <span class="gold">Skills</span> <div id="base-skills" class="characteristic-box-list" @style="($parasite.left_ear.name == 'slime' || $parasite.right_ear.name == 'slime') ? '--min-width: 30%;' : ''"> <!--Additional skills configurations--> <<silently>> <<set _corruptionConfig = { name : "Corruption", displayType : "none", currentValue : $earSlime.corruption, modifier: 100, modTypes: { good: [], bad: [] }, meterColor: $earSlime.startedThreats ? "purple" : "blue", secondValue: $earSlime.growth / 2, secondMeterColor: "red"}>> <<set _skulduggeryConfig = { name : "Skulduggery", displayType : "grade", currentValue : $skulduggery, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>> <<set _dancingConfig = { name : "Dancing", displayType : "grade", currentValue : $danceskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>> <<set _swimmingConfig = { name : "Swimming", displayType : "grade", currentValue : $swimmingskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>> <<set _athleticsConfig = { name : "Athletics", displayType : "grade", currentValue : $athletics, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>> <<set _tendingConfig = { name : "Tending", displayType : "grade", currentValue : $tending, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>> <<set _housekeepingConfig = { name : "Housekeeping",displayType : "grade", currentValue : $housekeeping, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>> <<set _bellySize to playerBellySize()>> <<if _bellySize gte 10 and playerNormalPregnancyTotal() lt 50>> <<switch playerNormalPregnancyTotal()>> <<case 0>><<set _pregnancyModifier to 36>> <<case 1>><<set _pregnancyModifier to 48>> <<case 2>><<set _pregnancyModifier to 60>> <<case 3 4 5>><<set _pregnancyModifier to 78>> <<case 6 7>><<set _pregnancyModifier to 96>> <<default>><<set _pregnancyModifier to 120>> <</switch>> <<set _dancingConfig.modifier to Math.floor(_dancingConfig.modifier * (1 - (_bellySize / _pregnancyModifier)))>> <<set _dancingConfig.modTypes.bad.pushUnique(playerAwareTheyArePregnant() ? "Pregnant" : "Large Belly")>> <<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (1 - (_bellySize / _pregnancyModifier)))>> <<set _swimmingConfig.modTypes.bad.pushUnique(playerAwareTheyArePregnant() ? "Pregnant" : "Large Belly")>> <<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * (1 - (_bellySize / _pregnancyModifier)))>> <<set _athleticsConfig.modTypes.bad.pushUnique(playerAwareTheyArePregnant() ? "Pregnant" : "Large Belly")>> <</if>> <<if $worn.hands.type.includes("sticky_fingers")>> <<set _skulduggeryConfig.modifier to Math.floor(_skulduggeryConfig.modifier * 1.05)>> <<set _skulduggeryConfig.modTypes.good.pushUnique("sticky fingers")>> <</if>> <<if $transformationParts.traits.sharpEyes isnot "disabled">> <<set _skulduggeryConfig.modifier to Math.floor(_skulduggeryConfig.modifier * 1.05)>> <<set _skulduggeryConfig.modTypes.good.pushUnique("sharp eyes")>> <</if>> <<if $fox gte 6>> <<set _skulduggeryConfig.modifier to Math.floor(_skulduggeryConfig.modifier * 1.10)>> <<set _skulduggeryConfig.modTypes.good.pushUnique("fox")>> <</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 [$worn.under_upper.type, $worn.under_lower.type, $worn.upper.type, $worn.lower.type].flat().includes("dance")>> <<set _dancingConfig.modTypes.good.pushUnique("dancing attire")>> <<else>> <<set _dancingConfig.modTypes.good.pushUnique("naked")>> <</if>> <</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 $worn.under_upper.type.includes("swim") or $worn.under_lower.type.includes("swim") or $worn.upper.type.includes("swim") or $worn.lower.type.includes("swim")>> <<set _swimmingConfig.modTypes.good.pushUnique("swimwear")>> <<else>> <<set _swimmingConfig.modTypes.good.pushUnique("naked")>> <</if>> <</if>> <<if $worn.feet.type.includes("swim")>> <<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (1 + (currentSkillValue("feetskill") / 10000)))>> <<set _swimmingConfig.modTypes.good.pushUnique("flippers")>> <<elseif !$worn.feet.type.includes("naked")>> <<if $worn.feet.type.includes("heels")>> <<set _heels to 0.1>> <<set _swimmingConfig.modTypes.bad.pushUnique("heels")>> <<else>> <<set _heels to 0>> <<set _swimmingConfig.modTypes.bad.pushUnique("shoes")>> <</if>> <<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (0.9 + (currentSkillValue("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)))>> <<set _athleticsConfig.modTypes.bad.pushUnique("heels")>> <</if>> <<if $worn.feet.type.includes("rugged")>> <<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * (1 + (currentSkillValue("feetskill") / 10000)))>> <<set _athleticsConfig.modTypes.good.pushUnique("rugged footwear")>> <</if>> <</switch>> <<if $worn.feet.type.includes("shackle")>> <<set _athleticsConfig.modifier to 0>> <<set _athleticsConfig.modTypes.bad.pushUnique("<b>shackled</b>")>> <<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * 0.5)>> <<run _swimmingConfig.modTypes.bad.delete("heels","shoes")>> <<set _swimmingConfig.modTypes.bad.pushUnique("<b>shackled</b>")>> <<set _dancingConfig.modifier to Math.floor(_dancingConfig.modifier * 0.5)>> <<set _dancingConfig.modTypes.bad.pushUnique("<b>shackled</b>")>> <</if>> <<if $backgroundTraits.includes("plantlover")>> <<set _tendingConfig.modifier to Math.floor(_tendingConfig.modifier * (1 + ($trauma / ($traumamax * 2))))>> <<if $submissive lte 850>> <<set _tendingConfig.modTypes.good.pushUnique("dendrophile")>> <<else>> <<set _tendingConfig.modTypes.good.pushUnique("plant lover")>> <</if>> <</if>> <<if $worn.upper.type.includes("maid")>> <<set _housekeepingConfig.modifier to Math.floor(_housekeepingConfig.modifier * 1.05)>> <<set _housekeepingConfig.modTypes.good.pushUnique("maid outfit")>> <</if>> <<if $worn.lower.type.includes("maid")>> <<set _housekeepingConfig.modifier to Math.floor(_housekeepingConfig.modifier * 1.05)>> <<set _housekeepingConfig.modTypes.good.pushUnique("maid outfit")>> <</if>> <<if $worn.head.type.includes("maid")>> <<set _housekeepingConfig.modifier to Math.floor(_housekeepingConfig.modifier * 1.05)>> <<set _housekeepingConfig.modTypes.good.pushUnique("maid outfit")>> <</if>> <<if $worn.handheld.type.includes("maid")>> <<set _housekeepingConfig.modifier to Math.floor(_housekeepingConfig.modifier * 1.05)>> <<set _housekeepingConfig.modTypes.good.pushUnique("cleaning supplies")>> <</if>> <<if $moorLuck gt 0>> <<set _skulduggeryConfig.modifier to Math.floor(_skulduggeryConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _skulduggeryConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _dancingConfig.modifier to Math.floor(_dancingConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _dancingConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _swimmingConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _athleticsConfig.modifier to Math.floor(_athleticsConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _athleticsConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _tendingConfig.modifier to Math.floor(_tendingConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _tendingConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _housekeepingConfig.modifier to Math.floor(_housekeepingConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _housekeepingConfig.modTypes.good.pushUnique("<i>????</i>")>> <</if>> <</silently>> <<characteristic-box _skulduggeryConfig>> <<characteristic-box _dancingConfig>> <<characteristic-box _swimmingConfig>> <<characteristic-box _athleticsConfig>> <<characteristic-box _tendingConfig>> <<characteristic-box _housekeepingConfig>> <<if numberOfEarSlime()>> <<characteristic-box _corruptionConfig>> <</if>> </div> <br> <span class="gold">Sex Skills</span> <!--Sex skills configurations--> <<silently>> <<set _seductionConfig = { name : "Seduction", displayType : "grade", currentValue : $seductionskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : 0}>> <<set _oralConfig = { name : "Oral", displayType : "grade", currentValue : $oralskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : $mouthsensitivity}>> <<set _chestConfig = { name : "Chest", displayType : "grade", currentValue : $chestskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : $breastsensitivity}>> <<set _handsConfig = { name : "Hands", displayType : "grade", currentValue : $handskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : 0}>> <<set _buttocksConfig = { name : "Buttocks", displayType : "grade", currentValue : $bottomskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : $bottomsensitivity}>> <<set _analConfig = { name : "Anal", displayType : "grade", currentValue : $analskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : $bottomsensitivity}>> <<set _thighsConfig = { name : "Thighs", displayType : "grade", currentValue : $thighskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : 0}>> <<set _feetConfig = { name : "Feet", displayType : "grade", currentValue : $feetskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : 0}>> <<if $player.penisExist>> <<set _penileConfig = { name : "Penile", displayType : "grade", currentValue : $penileskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : $genitalsensitivity}>> <</if>> <<if playerHasStrapon()>> <<set _penileConfig = { name : "Strap-on use",displayType : "grade", currentValue : $penileskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : 0}>> <</if>> <<if $player.vaginaExist>> <<set _vaginalConfig = { name : "Vaginal", displayType : "grade", currentValue : $vaginalskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades, sensitivity : $genitalsensitivity}>> <</if>> <<if $earSlime.growth gt 50 and !V.earSlime.defyCooldown>> <<set _seductionConfig.modTypes.good.pushUnique("ear slimes")>> <<set _seductionConfig.modifier to Math.floor(_seductionConfig.modifier * (1 + (($earSlime.growth - 50) / 600)))>> <</if>> <<if $earSlime.growth gte 100 and $earSlime.focus is "pregnancy">> <<if _vaginalConfig>> <<set _vaginalConfig.modTypes.good.pushUnique("ear slimes")>> <<set _vaginalConfig.modifier to Math.floor(_vaginalConfig.modifier * (1 + (($earSlime.growth - 100) / 500)))>> <</if>> <<if _penileConfig>> <<set _penileConfig.modTypes.bad.pushUnique("ear slimes")>> <<set _penileConfig.modifier to Math.floor(_penileConfig.modifier * (1 - (($earSlime.growth - 100) / 400)))>> <</if>> <<if !$player.vaginaExist>> <<set _analConfig.modTypes.good.pushUnique("ear slimes")>> <<set _analConfig.modifier to Math.floor(_analConfig.modifier * (1 + (($earSlime.growth - 100) / 500)))>> <</if>> <</if>> <<if $earSlime.growth gte 100 and $earSlime.focus is "impregnation">> <<if _vaginalConfig>> <<set _vaginalConfig.modTypes.bad.pushUnique("ear slimes")>> <<set _vaginalConfig.modifier to Math.floor(_vaginalConfig.modifier * (1 - (($earSlime.growth - 100) / 400)))>> <</if>> <<if _penileConfig>> <<set _penileConfig.modTypes.good.pushUnique("ear slimes")>> <<set _penileConfig.modifier to Math.floor(_penileConfig.modifier * (1 + (($earSlime.growth - 100) / 500)))>> <</if>> <</if>> <<if playerHeatMinArousal()>> <<if _vaginalConfig>> <<set _vaginalConfig.modTypes.good.pushUnique("in heat")>> <<set _vaginalConfig.modifier to Math.floor(_vaginalConfig.modifier * (1 + (Math.clamp(playerHeatMinArousal(), 0, 4000) / 20000)))>> <</if>> <<if !$player.vaginaExist>> <<set _analConfig.modTypes.good.pushUnique(playerAwareTheyCanBePregnant() ? "in heat" : "<i>????</i>")>> <<set _analConfig.modifier to Math.floor(_analConfig.modifier * (1 + (Math.clamp(playerHeatMinArousal(), 0, 4000) / 20000)))>> <</if>> <</if>> <<if playerRutMinArousal()>> <<set _penileConfig.modTypes.good.pushUnique("in rut")>> <<set _penileConfig.modifier to Math.floor(_penileConfig.modifier * (1 + (Math.clamp(playerRutMinArousal(), 0, 4000) / 20000)))>> <</if>> <</silently>> <<if $options.images is 1>> <div id="player-body"> <<player-base-body>> </div> <div id="sex-diagram"> <div class="characteristic-box-list left-column"> <div class="sex-diagram-box"> <<characteristic-box _seductionConfig>> <div class="connector-box"></div> </div> <div class="sex-diagram-box"> <<characteristic-box _chestConfig>> <<connector-box 52 35 10>> </div> <div class="sex-diagram-box"> <<characteristic-box _buttocksConfig>> <<connector-box 37 50 20>> </div> <<if $player.vaginaExist>> <div class="sex-diagram-box"> <<characteristic-box _vaginalConfig>> <<connector-box 0 50 3>> </div> <div class="sex-diagram-box"> <<characteristic-box _thighsConfig>> <<connector-box 37 35 10 true>> </div> <<else>> <div class="sex-diagram-box"> <<characteristic-box _thighsConfig>> <<connector-box 0 35 10>> </div> <</if>> </div> <div class="characteristic-box-list right-column"> <div class="sex-diagram-box"> <<connector-box 71 35 3>> <<characteristic-box _oralConfig>> </div> <div class="sex-diagram-box"> <<connector-box 74 50 15>> <<characteristic-box _handsConfig>> </div> <<if $player.penisExist or playerHasStrapon()>> <div class="sex-diagram-box"> <<connector-box 36 65 2>> <<characteristic-box _penileConfig>> </div> <div class="sex-diagram-box"> <<connector-box 2 50 12 true>> <<characteristic-box _analConfig>> </div> <div class="sex-diagram-box"> <<connector-box 0 50 14>> <<characteristic-box _feetConfig>> </div> <<else>> <div class="sex-diagram-box"> <<connector-box 39 65 12>> <<characteristic-box _analConfig>> </div> <div class="sex-diagram-box"> <<connector-box 45 80 15>> <<characteristic-box _feetConfig>> </div> <</if>> </div> </div> <<else>> <div id="sex-skills" class="characteristic-box-list"> <<characteristic-box _seductionConfig>> <<characteristic-box _oralConfig>> <<if $player.vaginaExist>> <<characteristic-box _vaginalConfig>> <</if>> <<if $player.penisExist>> <<characteristic-box _penileConfig>> <</if>> <<if playerHasStrapon()>> <<characteristic-box _penileConfig>> <</if>> <<characteristic-box _analConfig>> <<characteristic-box _handsConfig>> <<characteristic-box _feetConfig>> <<characteristic-box _thighsConfig>> <<characteristic-box _buttocksConfig>> <<characteristic-box _chestConfig>> </div> <</if>> <br> <span class="gold">School Performance</span> <div id="school-grades" class="characteristic-box-list"> <!--School grade configurations--> <<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, modTypes: { good: [], bad: [] }, percent: $science_exam, showStars: true, starLevel: $science_star, states : _schoolGradeStates}>> <<set _mathsConfig = { name : 'Maths', icon : 'misc/icon/math', displayType : "grade", currentValue : $mathstrait, modifier: 100, modTypes: { good: [], bad: [] }, percent: $maths_exam, showStars: true, starLevel: $maths_star, states : _schoolGradeStates}>> <<set _englishConfig = { name : 'English', icon : 'misc/icon/english', displayType : "grade", currentValue : $englishtrait, modifier: 100, modTypes: { good: [], bad: [] }, percent: $english_exam, showStars: true, starLevel: $english_star, states : _schoolGradeStates}>> <<set _historyConfig = { name : 'History', icon : 'misc/icon/history', displayType : "grade", currentValue : $historytrait, modifier: 100, modTypes: { good: [], bad: [] }, 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 _scienceConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _mathsConfig.modifier to Math.floor(_mathsConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _mathsConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _englishConfig.modifier to Math.floor(_englishConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _englishConfig.modTypes.good.pushUnique("<i>????</i>")>> <<set _historyConfig.modifier to Math.floor(_historyConfig.modifier * (1 + ($moorLuck / 100)))>> <<set _historyConfig.modTypes.good.pushUnique("<i>????</i>")>> <</if>> <</silently>> <<characteristic-box _scienceConfig>> <<characteristic-box _mathsConfig>> <<characteristic-box _englishConfig>> <<characteristic-box _historyConfig>> </div> <div class="characteristic-box-extras"> <<set _schoolPerformanceConfig = { currentValue : $school, preText: 'Your overall school performance is ', modifier: 100, modTypes: { good: [], bad: [] }, 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>> <br> </div> <br> <span class="gold">Weapon Skills</span> <div id="prof" class="characteristic-box-list"> <<silently>> <<set _sprayConfig = { name : "Sprays", displayType : "grade", currentValue : $prof.spray, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>> <<set _netConfig = { name : "Nets", displayType : "grade", currentValue : $prof.net, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>> <<set _batonConfig = { name : "Batons", displayType : "grade", currentValue : $prof.baton, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>> <<set _whipConfig = { name : "Whips", displayType : "grade", currentValue : $prof.whip, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>> <<set _hiddenConfig = { name : "<i>????</i>", displayType : "grade", currentValue : 0, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>> <</silently>> <<characteristic-box _sprayConfig>> <<if $prof.net isnot undefined>> <<characteristic-box _netConfig>> <<else>> <<characteristic-box _hiddenConfig>> <</if>> <<if $prof.baton isnot undefined>> <<characteristic-box _batonConfig>> <<else>> <<characteristic-box _hiddenConfig>> <</if>> <<if $prof.whip isnot undefined>> <<characteristic-box _whipConfig>> <<else>> <<characteristic-box _hiddenConfig>> <</if>> /* <<if $prof.pickaxe isnot undefined>> <<characteristic-box _pickaxeConfig>> <<else>> <<characteristic-box _hiddenConfig>> <</if>>*/ </div> </div> <br> <span class="gold">Insecurities</span> <div class="description">Scrutiny becomes harder to take as insecurity increases, inflicting more stress and damaging control. Acceptance renders you immune to the effect.</div> <br><br> <<set $_penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>> <<if $player.penisExist and $insecurity_penis_small gte 1 and $player.penissize lte 1 and $acceptance_penis_small lte 999>> <span class="red">Insecurity: <<print $_penisSize>> Penis</span> <div class="meter"> <<set _percent=Math.floor(($insecurity_penis_small/1000)*100)>> <<print '<div class="redbar" style="width:' + _percent + '%"></div>'>> </div> <<if $acceptance_penis_small gte 1 and $acceptance_penis_small lte 999 and $player.penissize lte 1>> <span class="green">Acceptance: <<print $_penisSize>> Penis</span> <div class="meter"> <<set _percent=Math.floor(($acceptance_penis_small/1000)*100)>> <<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>> </div> <</if>> <</if>> <<set $_penisSizeMin to $player.gender is "m" ? 4 : 2>> <<if $player.penisExist and $insecurity_penis_big gte 1 and $player.penissize gte $_penisSizeMin and $acceptance_penis_big lte 999>> <span class="red">Insecurity: <<print $_penisSize>> Penis</span> <div class="meter"> <<set _percent=Math.floor(($insecurity_penis_big/1000)*100)>> <<print '<div class="redbar" style="width:' + _percent + '%"></div>'>> </div> <<if $acceptance_penis_big gte 1 and $acceptance_penis_big lte 999 and $player.penissize gte $_penisSizeMin>> <span class="green">Acceptance: <<print $_penisSize>> Penis</span> <div class="meter"> <<set _percent=Math.floor(($acceptance_penis_big/1000)*100)>> <<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>> </div> <</if>> <</if>> <<set $_breastSize to setup.breastsizes[$player.breastsize].toUpperFirst()>> <<if $player.gender is "f" and $insecurity_breasts_small gte 1 and between($player.breastsize, 0, 4) and $acceptance_breasts_small lte 999>> <span class="red">Insecurity: <<print $player.breastsize ? "$_breastSize Breasts" : "Flat Chest">></span> <div class="meter"> <<set _percent=Math.floor(($insecurity_breasts_small/1000)*100)>> <<print '<div class="redbar" style="width:' + _percent + '%"></div>'>> </div> <<if $acceptance_breasts_small gte 1 and $acceptance_breasts_small lte 999 and between($player.breastsize, 0, 4)>> <span class="green">Acceptance: <<print $player.breastsize ? "$_breastSize Breasts" : "Flat Chest">></span> <div class="meter"> <<set _percent=Math.floor(($acceptance_breasts_small/1000)*100)>> <<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>> </div> <</if>> <</if>> <<set $_breastSizeMin to $player.gender is "m" ? 1 : 8>> <<if $insecurity_breasts_big gte 1 and $player.breastsize gte $_breastSizeMin and $acceptance_breasts_big lte 999>> <span class="red">Insecurity: <<print $player.gender is "m" ? "Male" : $_breastSize>> Breasts</span> <div class="meter"> <<set _percent=Math.floor(($insecurity_breasts_big/1000)*100)>> <<print '<div class="redbar" style="width:' + _percent + '%"></div>'>> </div> <<if $acceptance_breasts_big gte 1 and $acceptance_breasts_big lte 999 and $player.breastsize gte $_breastSizeMin>> <span class="green">Acceptance: <<print $_breastSize>> Breasts</span> <div class="meter"> <<set _percent=Math.floor(($acceptance_breasts_big/1000)*100)>> <<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>> </div> <</if>> <</if>> <<if $insecurity_pregnancy gte 1 and $acceptance_pregnancy lte 999 and playerBellySize() gte 8>> <<set $_bellyText to (playerAwareTheyArePregnant() ? "Pregnant Belly" : "Pregnant Looking Belly")>> <span class="red">Insecurity: <<print $_bellyText>></span> <div class="meter"> <<set _percent=Math.floor(($insecurity_pregnancy/1000)*100)>> <<print '<div class="redbar" style="width:' + _percent + '%"></div>'>> </div> <<if between($acceptance_pregnancy, 1, 999)>> <span class="green">Acceptance: <<print $_bellyText>></span> <div class="meter"> <<set _percent=Math.floor(($acceptance_pregnancy/1000)*100)>> <<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>> </div> <</if>> <</if>> <br> <</widget>> <<widget "heatRutDisplay">><<silently>> <<set $_knowsTheyCanBecomePregnant to ($playerPregnancyHumanDisable is "f" or $playerPregnancyBeastDisable is "f") and playerAwareTheyCanBePregnant()>> <<set $_heatArousal to playerHeatMinArousal()>> <<set $_rutArousal to playerRutMinArousal()>> <<if $_heatArousal or $_rutArousal>> <<set $_source to []>> <<set $_sourceText to "Something">> <<set $_arousal to []>> <<set $_arousedText to "keeping you aroused">> /* SourceText */ <<if $wolfgirl gte 2 or $cat gte 2 or $cow gte 2 or $fox gte 2>> <<run $_source.push("inner beast")>> <</if>> <<if $earSlime.growth gt 50 and (($earSlime.focus is "pregnancy" and $_heatArousal) or ($earSlime.focus is "impregnation" and $_rutArousal))>> <<run $_source.push("ear slime")>> <</if>> <<if $_source.length>> <<set $_sourceText to "Your " + formatList($_source, "and")>> <</if>> /* arousedText */ <<if $_source.length and $_heatArousal and $_knowsTheyCanBecomePregnant>> <<run $_arousal.push("heat")>> <</if>> <<if $_source.length and $_rutArousal>> <<run $_arousal.push("rut")>> <</if>> <<if $_arousal.length>> <<set $_arousedText to "sending you into " + formatList($_arousal, "and")>> <</if>> <</if>> <</silently>><<if $_sourceText>><<print $_sourceText>><<print $_source.length and $_source.length gte 2 ? " are " : " is">> <<print $_arousedText>>.<<if _args[0]>><br><br><</if>><</if>> <</widget>><<widget "cheats">> <<link [[Confirm|$passage]]>><<set $cheatReload to true>><</link>> <br> Can cause problems if confirmed during events, or with NPCs around. <br> Only required if you want cheats to take immediate effect on the current scene. <hr> <div id="cheatsShown"><<cheats-characterStats>></div> <div class="settingsGrid"> <input type="button" class="toTop options" value="Top of Page" onclick="$('#customOverlayContent').scrollTop(0)"/> </div> <</widget>> <<widget "cheatVirginityToggle">> <<set _type to _args[0]>> <<set _id to `stats${_type}virginity`>> <<capture _type _id>> <span @id="_id"><<= ($player.virginity[_type] is true ? "Present" : "Taken by " + ($player.virginity[_type] is false ? "unknown" : $player.virginity[_type]))>></span> | <span @id="_id + 'link'"><<link `($player.virginity[_type] is true and !$player?.virginityDetails?.[_type]?.taker ? "Take" : "Restore")`>> <<if $player.virginity[_type] is true>> <<set $player.virginity[_type] to (_virginity[_type] is true ? false : _virginity[_type])>> <<if $player.virginity[_type] is false and $player?.virginityDetails?.[_type]?.taker>><<set $player.virginity[_type] to $player.virginityDetails[_type].taker>><</if>> <<if $player.virginity.temple isnot false and ["penile", "vaginal"].includes(_type)>><<set $player.virginity.temple to "unknown">><</if>> <<else>> <<set $player.virginity[_type] to true>> <<if $player.virginity.temple isnot false and ["penile", "vaginal"].includes(_type)>><<set $player.virginity.temple to true>><</if>> <</if>> <<run $(`#${_id}link .link-internal`).html($player.virginity[_type] is true and !$player?.virginityDetails?.[_type]?.taker ? "Take" : "Restore")>> <<run $(`#${_id}`).html($player.virginity[_type] is true ? "Present" : "Taken by " + ($player.virginity[_type] is false ? "unknown" : $player.virginity[_type]))>> <</link>></span> <</capture>> <</widget>> <<widget "cheatParasiteToggle">> <<set _bodypart to _args[0]>> <<set _parasiteTypes to setup.parasiteTypesPerBodypart[_bodypart]>> <<= _bodypart.toUpperFirst().replace("_", " ")>>: <<capture _bodypart, _parasiteTypes, _i, _temp>> <<for _i = 0; _i < _parasiteTypes.length; _i++>> <span @id="_parasite" @class="_parasiteTypes[_i] is $parasite[_bodypart].name || _parasiteTypes[_i] is 'none' and !$parasite[_bodypart].name ? 'goldLink' : 'link' "> <<link _parasiteTypes[_i]>> <<removeparasite _bodypart>> <<set _temp to _parasiteTypes[_i]>> <<set _parasiteTypes[_i] to _parasiteTypes[0]>> <<set _parasiteTypes[0] to _temp>> <<if _temp isnot "none">> <<parasite _bodypart _temp>> <</if>> <<updatesidebarimg>> <<replace `"#"+ _bodypart`>><<cheatParasiteToggle _bodypart>><</replace>> <</link>> </span> <<if _i < _parasiteTypes.length - 1>> |<</if>> <</for>> <</capture>> <</widget>> <<widget "cheatBodyLiquid">> <<set _semen to _args[0]>> <<set _label to _semen is "goo" ? "slime" : _semen>> <div class="settingsToggleItem"> <span class="gold"><<= _label.toUpperFirst()>></span> <br> <<capture _type _semen>> <<link `'Add all ' + _label`>> <<for _type range ["neck","rightarm","leftarm","thigh","bottom","tummy","chest","face","hair","feet","vaginaoutside","vagina","penis","anus","mouth"]>> <<bodyliquid _type _semen 5>><<run $(`#stats${_type}${_semen}`).html(Math.trunc($player.bodyliquid[_type][_semen]))>> <</for>> <<updatesidebarimg>> <<set _id to "#cheatLiquids-" + _semen>> <<replace _id>><<cheatBodyliquidElement _semen>><</replace>> <</link>> <</capture>> | <<capture _type _semen>> <<link `'Remove all ' + _label`>> <<for _type range ["neck","rightarm","leftarm","thigh","bottom","tummy","chest","face","hair","feet","vaginaoutside","vagina","penis","anus","mouth"]>> <<bodyliquid _type _semen -5>><<run $(`#stats${_type}${_semen}`).html(Math.trunc($player.bodyliquid[_type][_semen]))>> <</for>> <<updatesidebarimg>> <<set _id to "#cheatLiquids-" + _semen>> <<replace _id>><<cheatBodyliquidElement _semen>><</replace>> <</link>> <</capture>> <br> <<set _id to "cheatLiquids-" + _semen>> <span @id="_id"> <<cheatBodyliquidElement _semen>> </span> </div> <</widget>> <<widget "cheatBodyliquidElement">> <<set _semen to _args[0]>> <<set _options to { max: 5, step: 1, values: [_semen], activeButtons: ["single", "minMax"], percentage: false, reverse: true, css: {display: "inline-block", "margin-bottom": "0"} }>> <<numberStepper "Neck" $player.bodyliquid.neck[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.neck[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Right arm" $player.bodyliquid.rightarm[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.rightarm[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Left arm" $player.bodyliquid.leftarm[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.leftarm[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Thigh" $player.bodyliquid.thigh[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.thigh[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Bottom" $player.bodyliquid.bottom[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.bottom[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Tummy" $player.bodyliquid.tummy[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.tummy[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Chest" $player.bodyliquid.chest[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.chest[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Face" $player.bodyliquid.face[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.face[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Hair" $player.bodyliquid.hair[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.hair[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Feet" $player.bodyliquid.feet[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.feet[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Labia" $player.bodyliquid.vaginaoutside[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.vaginaoutside[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Vagina" $player.bodyliquid.vagina[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.vagina[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Penis" $player.bodyliquid.penis[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.penis[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Anus" $player.bodyliquid.anus[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.anus[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <<numberStepper "Mouth" $player.bodyliquid.mouth[_semen] {...T.options, callback: (value, arr) => { V.player.bodyliquid.mouth[arr[0]] = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }}>> <</widget>> <<widget "cheats-characterStats">> <div class="settingsGrid"> <div class="settingsHeader options">Player</div> <div class="settingsToggleItemWide"> <span class="gold">Miscellaneous</span> <br> <<numberStepper "Money" $money { activeButtons: ["single", "double", "triple"], step: 1000, max: 10000000000, colorArr:["--yellow"], percentage: false, valueFormat: (value) => `<b>${formatMoney(value)}</b>`, callback: (value) => { const difference = value - V.money; V.moneyStats.cheats.earned += difference; V.money = value; } }>> <<if $location is "prison">> <<set $prison.teeth to $prison.teeth or 0>> <<numberStepper "Teeth" $prison.teeth {callback: (value) => V.prison.teeth = value, disableMinMax: true, step: 1, max: 1000000, colorArr:["--yellow"], percentage: false}>> <</if>> Infinite spray: <span id="statsinfinitespray"><<= ($infinitespray ? "On" : "Off")>></span> | <<link "Change">> <<if $infinitespray is 1>> <<set $infinitespray to 0>> <<else>> <<spray 5>> <<set $infinitespray to 1>> <</if>> <<replace "#statsinfinitespray">><<= ($infinitespray ? "On" : "Off")>><</replace>> <</link>> <br> <<if $debug is 1>> Pheromones (DEBUG): <span id="statsalluretest"><<= $alluretest ? "On" : "Off">></span> | <<link "Change">> <<if $alluretest is 1>> <<set $alluretest to 0>> <<else>> <<set $alluretest to 1>> <</if>> <<replace "#statsalluretest">><<= $alluretest>><</replace>> <</link>> <br> <</if>> </div> <div class="settingsToggleItem"> <span class="gold">Body</span> <mouse class="tooltip linkBlue">(?)<span>Changing the player's genitalia will wash the player of lewd fluids, and remove genital parasites, to prevent them from lingering on nonexisting body parts.</span></mouse> <br> Genitals: <span id="statsGender"> <<cheatsSex>> </span> <br> <<set _gender_body_words to {"m": "Masculine", "f": "Feminine", "a": "Androgynous"}>> Body type <mouse class="tooltip linkBlue">(?)<span>Contributes to how feminine or masculine you appear. In normal gameplay, the player's body type does not contribute to gender appearance, unless it has been feminised or masculinised via special clothing.</span></mouse>: <span id="statsBodyType"> <<cheatsBody>> </span> <br> <<set _bodysize_words to ["Tiny","Small","Normal","Large"]>> Body size: <span id="statsBodySize"> <<cheatsBodySize>> </span> </div> <div class="settingsToggleItem"> <span class="gold">Virginity</span> <br> <<set _virginity to clone($player.virginity)>> <<if $player.vaginaExist or $player.virginity.vaginal isnot true>> Vaginal: <<cheatVirginityToggle "vaginal">> <br> <</if>> <<if $player.penisExist or $player.virginity.penile isnot true>> Penile: <<cheatVirginityToggle "penile">> <br> <</if>> Anal: <<cheatVirginityToggle "anal">> <br> Oral: <<cheatVirginityToggle "oral">> <br> Handholding: <<cheatVirginityToggle "handholding">> <br> First kiss: <<cheatVirginityToggle "kiss">> <<if $temple_rank isnot undefined and $temple_rank isnot "prospective">> <br> Temple Vow: <<cheatVirginityToggle "temple">> <</if>> </div> <div class="settingsToggleItem"> <span class="gold">State</span> <br> <<set _state to ["pain", "arousal", "tiredness", "stress", "trauma", "drunk", "drugged", "hallucinogen"]>> <<link "Refresh">> <<set $control = 1000>><<clamp>> <<for _i range _state>> <<set V[_i] to 0>><<clamp>> <</for>> <<replace "#cheatstate">><<cheatSection "state">><</replace>> <<updatesidebarimg>> <</link>> | <<link "Ruin">> <<set $control = 0>><<clamp>> <<for _i range _state>> <<set V[_i] to 20000>><<clamp>> <</for>> <<replace "#cheatstate">><<cheatSection "state">><</replace>> <<updatesidebarimg>> <</link>> <br><br> <div id="cheatstate"> <<cheatSection "state">> </div> </div> <div class="settingsToggleItem"> <span class="gold">Fluids:</span> <<link "Refill">> <<set $semen_amount to $semen_volume>> <<set $milk_amount to $milk_volume>> <<replace "#fluids">><<cheats-fluids>><</replace>> <</link>> | <<link "Empty">> <<set $semen_amount to 0>> <<set $milk_amount to 0>> <<replace "#fluids">><<cheats-fluids>><</replace>> <</link>> <br> <span class="gold">Lactating:</span> <span id="statslactatingspray"><<= ($lactating is 1 ? "Yes" : "No")>></span> | <<link "Toggle">><<set $lactating to ($lactating is 1 ? 0 : 1)>><<set $lactation_pressure to $lactating * 100>><<replace "#statslactatingspray">><<= ($lactating is 1 ? "Yes" : "No")>><</replace>><<updatesidebarimg>><</link>> <br><br> <span id="fluids"><<cheats-fluids>></span> <<numberStepper "Milk Volume" $milk_volume { callback: value => { V.milk_volume = value; V.milk_amount = Math.min(V.milk_amount, V.milk_volume); Wikifier.wikifyEval("<<replace '#fluids'>><<cheats-fluids>><</replace>>"); }, step: 10, valueFormat: value => Math.round(value) + "ml", percentage: false, min: 24, max: 3000 }>> <<if $player.penisExist>> <<numberStepper "Semen Volume" $semen_volume { callback: value => { V.semen_volume = value; V.semen_amount = Math.min(V.semen_amount, V.semen_volume); Wikifier.wikifyEval("<<replace '#fluids'>><<cheats-fluids>><</replace>>"); }, step: 10, valueFormat: value => Math.round(value) + "ml", percentage: false, max: 3000 }>> <</if>> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Clothes</div> <div class="settingsToggleItemWide"> <<link "Unlock all special clothing">> <<run for(const c in V.specialClothes) V.specialClothes[c] = "unlocked">> <</link>> <br> <span class="description">If clothing health is set to zero, it will break. Leaving the cheats menu will destroy it, and you will not be able to get it back.</span> <br> </div> <<set _cl_slots to ["upper", "lower", "under_upper", "under_lower", "over_upper", "over_lower", "genitals"]>> <<if $worn.face.type.includesAny("covered", "gag", "mask")>> <<run _cl_slots.push("face")>> <</if>> <<set $_clothes to []>> <<if $worn.over_upper.integrity gte 1>> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.over_upper "over_upper">><<= $worn.over_upper.name.toUpperFirst()>> integrity:</span> <<set _overupperintegritymax to getSetupClothing('over_upper', $worn.over_upper)?.integrity_max || 200>> <<numberslider "$worn.over_upper.integrity" `Math.min($worn.over_upper.integrity, _overupperintegritymax)` 0 _overupperintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.over_upper, "over_upper") || `<span class="green">full</span>` }>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.over_upper "over_upper">><<= $worn.over_upper.name.toUpperFirst()>> wetness:</span> <<numberslider "$overupperwet" $overupperwet 0 200 1 { onInputChange: (value) => cheatsShowWetness('overupperwet', value), value: v => wetnessWord('overupper') }>> </div> <<else>> <<set $_clothes.push("an overtop")>> <</if>> <<if $worn.over_lower.integrity gte 1>> <div class="settingsToggleItem numberslider-inline"> <<set _overlowerintegritymax to getSetupClothing('over_lower', $worn.over_lower)?.integrity_max || 200>> <span class="gold"><<clothingicon $worn.over_lower "over_lower">><<= $worn.over_lower.name.toUpperFirst()>> integrity:</span> <<numberslider "$worn.over_lower.integrity" `Math.min($worn.over_lower.integrity, _overlowerintegritymax)` 0 _overlowerintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.over_lower, "over_lower") || `<span class="green">full</span>` }>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.over_lower "over_lower">><<= $worn.over_lower.name.toUpperFirst()>> wetness:</span> <<numberslider "$overlowerwet" $overlowerwet 0 200 1 { onInputChange: (value) => cheatsShowWetness('overlowerwet', value), value: v => wetnessWord('overlower') }>> </div> <<else>> <<set $_clothes.push("an overbottom")>> <</if>> <<if $worn.upper.integrity gte 1>> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.upper "upper">><<= $worn.upper.name.toUpperFirst()>> integrity:</span> <<set _upperintegritymax to getSetupClothing('upper', $worn.upper)?.integrity_max || 200>> <<numberslider "$worn.upper.integrity" `Math.min($worn.upper.integrity, _upperintegritymax)` 0 _upperintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.upper, "upper") || `<span class="green">full</span>` }>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.upper "upper">><<= $worn.upper.name.toUpperFirst()>> wetness:</span> <<numberslider "$upperwet" $upperwet 0 200 1 { onInputChange: (value) => cheatsShowWetness('upperwet', value), value: v => wetnessWord('upper') }>> </div> <<else>> <<set $_clothes.push("a top")>> <</if>> <<if $worn.lower.integrity gte 1>> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.lower "lower">><<= $worn.lower.name.toUpperFirst()>> integrity:</span> <<set _lowerintegritymax to getSetupClothing('lower', $worn.lower)?.integrity_max || 200>> <<numberslider "$worn.lower.integrity" `Math.min($worn.lower.integrity, _lowerintegritymax)` 0 _lowerintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.lower, "lower") || `<span class="green">full</span>` }>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.lower "lower">><<= $worn.lower.name.toUpperFirst()>> wetness:</span> <<numberslider "$lowerwet" $lowerwet 0 200 1 { onInputChange: (value) => cheatsShowWetness('lowerwet', value), value: v => wetnessWord('lower') }>> </div> <<else>> <<set $_clothes.push("a bottom")>> <</if>> <<if $worn.under_lower.integrity gte 1>> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.under_lower "under_lower">><<= $worn.under_lower.name.toUpperFirst()>> integrity:</span> <<set _underlowerintegritymax to getSetupClothing('under_lower', $worn.under_lower)?.integrity_max || 200>> <<numberslider "$worn.under_lower.integrity" `Math.min($worn.under_lower.integrity, _underlowerintegritymax)` 0 _underlowerintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.under_lower, "under_lower") || `<span class="green">full</span>` }>> <br> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.under_lower "under_lower">><<= $worn.under_lower.name.toUpperFirst()>> wetness:</span> <<numberslider "$underlowerwet" $underlowerwet 0 200 1 { onInputChange: (value) => cheatsShowWetness('underlowerwet', value), value: v => wetnessWord('underlower') }>> </div> <<else>> <<set $_clothes.push("underbottoms")>> <</if>> <<if $worn.under_upper.integrity gte 1>> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.under_upper "under_upper">><<= $worn.under_upper.name.toUpperFirst()>> integrity:</span> <<set _underupperintegritymax to getSetupClothing('under_upper', $worn.under_upper)?.integrity_max || 200>> <<numberslider "$worn.under_upper.integrity" `Math.min($worn.under_upper.integrity, _underupperintegritymax)` 0 _underupperintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.under_upper, "under_upper") || `<span class="green">full</span>` }>> <br> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold"><<clothingicon $worn.under_upper "under_upper">><<= $worn.under_upper.name.toUpperFirst()>> wetness:</span> <<numberslider "$underupperwet" $underupperwet 0 200 1 { onInputChange: (value) => cheatsShowWetness('underupperwet', value), value: v => wetnessWord('underupper') }>> </div> <<else>> <<set $_clothes.push("an undertop")>> <</if>> <<if $worn.genitals.integrity gte 1>> <div class="settingsToggleItemWide numberslider-inline"> <span class="gold"><<clothingicon $worn.genitals "genitals">><<= $worn.genitals.name.toUpperFirst()>> integrity:</span> <<set _genitalsintegritymax to getSetupClothing('genitals', $worn.genitals)?.integrity_max || 200>> <<numberslider "$worn.genitals.integrity" `Math.min($worn.genitals.integrity, _genitalsintegritymax)` 0 _genitalsintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.genitals, "genitals") || `<span class="green">full</span>` }>> <br> </div> <<else>> <<set $_clothes.push("a chastity belt")>> <</if>> <<if $worn.face.type.includesAny("covered", "gag", "mask")>> <div class="settingsToggleItemWide numberslider-inline"> <span class="gold"><<clothingicon $worn.face "face">><<= $worn.face.name.toUpperFirst()>> integrity:</span> <<set _faceintegritymax to getSetupClothing('face', $worn.face)?.integrity_max || 200>> <<numberslider "$worn.face.integrity" `Math.min($worn.face.integrity, _faceintegritymax)` 0 _faceintegritymax 1 { onInputChange: value => wikifier("<<updatesidebarimg false>>"), value: () => integrityWord(V.worn.face, "face") || `<span class="green">full</span>` }>> <br> </div> <<else>> <<set $_clothes.push("a mask, or a gag")>> <</if>> <div class="settingsToggleItemWide"> You are not wearing <span class="gold"><<= $_clothes.join(", ")>></span>. /* Don't show links if player doesn't have anything to fix/destroy */ <<if $_clothes.length lt 8>> <br> <<link "Fix all">> <<run _cl_slots.forEach((slot) => { if (V.worn[slot].name === "naked") return; V.worn[slot].integrity = clothingData(slot, V.worn[slot], "integrity_max"); cheatsUpdateSlider( `#numberslider-input-worn${slot.replace('_', '-')}integrity`, V.worn[slot].integrity ); })>> <<updatesidebarimg>> <</link>> | <<link "Destroy all">> /* not using ruined widgets to avoid side effects until confirmation */ <<run _cl_slots.forEach((slot) => { if (V.worn[slot].name === "naked") return; V.worn[slot].integrity = 0; cheatsUpdateSlider( `#numberslider-input-worn${slot.replace('_', '-')}integrity`, V.worn[slot].integrity ); })>> <<updatesidebarimg>> <</link>> <</if>> /* Don't show unless the player is wearing clothes that can be drenched or dried */ <<if !$_clothes.includesAll("an overtop", "an overbottom", "a top", "a bottom", "underbottoms", "an undertop")>> | <<link "Dry all">> <<dry_full>> <<run _cl_slots.slice(0, 4).forEach((slot) => { if (V.worn[slot].name === 'naked') return; const wetnessProp = slot.replace('_', '') + 'wet'; V[wetnessProp + 'stage'] = 0; cheatsUpdateSlider(`#numberslider-input-${wetnessProp}`, V[wetnessProp]); })>> <<updatesidebarimg>> <</link>> | <<link "Drench all">> <<run _cl_slots.slice(0, 4).forEach((slot) => { if (V.worn[slot].name === 'naked') return; const wetnessProp = slot.replace('_', '') + 'wet'; V[wetnessProp] = 200; V[wetnessProp + 'stage'] = 3; cheatsUpdateSlider(`#numberslider-input-${wetnessProp}`, V[wetnessProp]); })>> <<updatesidebarimg>> <</link>> <</if>> <br><br> <span class="gold">Bindings:</span> <br> <span class="description"> Binding your arms will destroy handheld items. Shackling your feet will destroy shoes.</span> <br> <<icon "clothes/gag.png">><<link "Gag">><<facewear 4>><<updatesidebarimg>><</link>> | <<link "Blindfold">><<facewear 5>><<updatesidebarimg>><</link>> | <<link "Gag and blindfold">><<facewear 6>><<updatesidebarimg>><</link>> | <<link "Bind arms">><<bind>><<updatesidebarimg>><</link>> | <<link "Shackle feet">><<shackle_feet>><<updatesidebarimg>><</link>> <br> <<undobindingsicon>> <<link "Unbind all">><<unbind>><<if $worn.face.type.includes("gag") or $worn.face.type.includes("blindfold")>><<set $worn.face.type.push("broken")>><<faceruined>><</if>><<updatesidebarimg>><</link>> <<if $debug is 1>> <br><br> <span class="gold">Add to Wardrobe:</span> <br> <span class="description">DEBUG: Send clothing with a given ID to your wardrobe.</span> <br> <<listbox "_slot" autoselect>> <<optionsfrom setup.clothingLayer.body>> <</listbox>> <<set _clothesID to "1">> <<textbox "_clothesID" "1">> <br> <<link "Send">> <<if !between(+_clothesID, 1, setup.clothes[_slot].length)>> <<replace "#ClothesSendResult">>That didn't work!<</replace>> <<else>> <<shopbuyv2 _slot "buy" "send" _clothesID 1>> <<replace "#ClothesSendResult">>Sent <<= setup.clothes[_slot][_clothesID].name>> to your wardrobe!<</replace>> <</if>> <</link>> <br> <span id="ClothesSendResult"></span> <</if>> </div> </div> <hr> <div class="cheatsGrid"> <div class="settingsHeader options">Characteristics</div> <div class="settingsToggleItem"> <<set _core to ["purity", "beauty", "physique", "willpower", "awareness", "promiscuity", "exhibitionism", "deviancy"]>> <<if numberOfEarSlime()>><<set _core.push("earSlime.corruption")>><</if>> <span class="gold">Core Characteristics</span> <br> <<link "Set all to 0">> <<for _i range _core>> <<set V[_i] to 0>><<clamp>> <</for>> <<replace "#characteristics">><<cheatSection "characteristics">><</replace>> <</link>> | <<link "Set all to max">> <<for _i range _core>> <<set V[_i] to 20000>><<clamp>> <</for>> <<replace "#characteristics">><<cheatSection "characteristics">><</replace>> <</link>> <br><br> <span id="characteristics"> <<cheatSection "characteristics">> </span> <hr> <span class="gold">Secondary Characteristics</span> <br> Speech Attitude: <span id="statsSpeechAttitude"> <<cheatsSpeechAttitude>> </span> <br> <span class="description">Changing speech attitude will also alter your submissiveness.</span> <<numberStepper "Submissiveness" $submissive "submissive" {max: 2000}>> <<numberStepper "Masochism" $masochism "masochism" {max: 1000}>> <<numberStepper "Sadism" $sadism "sadism" {max: 1000}>> <<if $temple_rank is "initiate" or $temple_rank is "monk" or $temple_rank is "priest">> <<numberStepper "Grace" $grace "grace">> <</if>> </div> <div class="settingsToggleItem"> <<set _skills to ["skulduggery", "skulduggeryday", "danceskill", "swimmingskill", "athletics", "tending", "housekeeping"]>> <span class="gold">Core Skills</span> <br> <<link "Set all to 0">> <<for _i range _skills>> <<set V[_i] to 0>><<clamp>> <</for>> <<replace "#coreSkills">><<cheatSection "skills">><</replace>> <</link>> | <<link "Set all to max">> <<for _i range _skills>> <<set V[_i] to 20000>><<clamp>> <</for>> <<replace "#coreSkills">><<cheatSection "skills">><</replace>> <</link>> <br><br> <span id="coreSkills"> <<cheatSection "skills">> </span> <hr> <<set _subjects to ["english", "maths", "science", "history"]>> <span class="gold">School Skills</span> <br> <<link "Set all to 0">> <<for _i range _subjects>> <<set V[_i] to 0>><<clamp>> <</for>> <<adjust_school_traits>> <<replace "#schoolSkills">><<cheatSection "school">><</replace>> <</link>> | <<link "Set all to max">> <<for _i range _subjects>> <<set V[_i] to 1000>><<clamp>> <</for>> <<adjust_school_traits>> <<replace "#schoolSkills">><<cheatSection "school">><</replace>> <</link>> <br><br> <span id="schoolSkills"> <<cheatSection "school">> </span> </div> <div class="settingsToggleItem"> <<set _sexSkills to ["seduction", "oral", "vaginal", "penile", "anal", "hand", "feet", "bottom", "thigh", "chest"]>> <span class="gold">Sex Skills</span> <br> <<link "Set all to 0">> <<for _i range _sexSkills>> <<set V[`${_i}skill`] to 0>><<clamp>> <</for>> <<replace "#cheatsSex">><<cheatSection "sex">><</replace>> <</link>> | <<link "Set all to max">> <<for _i range _sexSkills>> <<set V[`${_i}skill`] to 1000>><<clamp>> <</for>> <<replace "#cheatsSex">><<cheatSection "sex">><</replace>> <</link>> <br><br> <span id="cheatsSex"> <<cheatSection "sex">> </span> </div> <div class="settingsToggleItem"> <span class="gold">Traits</span> <br> <<set $_traits to {"choke": $choketrait, "milkdrank" : $milkdranktrait, "vore" : $voretrait, "tentacle" : $tentacletrait, "bestiality" : $bestialitytrait, "rape" : $rapetrait, "molest" : $molesttrait, "ejac" : $ejactrait, "orgasm" : $orgasmtrait}>> <<set _traitValue to {"1": "On", "-1": "Disabled", "0": "Off"}>> Orgasm Addict: <span id="statsorgasmtrait" @class="$orgasmtrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["orgasm"].toString()]>></span> | <<link "Change">> <<set $orgasmtrait += 1>> <<if $orgasmtrait gte 2>> <<set $orgasmtrait to -1>> <</if>> <<replace "#statsorgasmtrait">> <<set _orgasmtrait to _traitValue[$orgasmtrait.toString()]>> <<= _orgasmtrait>> <<changeCheatClass "#statsorgasmtrait" _orgasmtrait>> <</replace>> <</link>> <br> Cum Dump: <span id="statsejactrait" @class="$ejactrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["ejac"].toString()]>></span> | <<link "Change">> <<set $ejactrait += 1>> <<if $ejactrait gte 2>> <<set $ejactrait to -1>> <</if>> <<replace "#statsejactrait">> <<set _ejactrait to _traitValue[$ejactrait.toString()]>> <<= _ejactrait>> <<changeCheatClass "#statsejactrait" _ejactrait>> <</replace>> <</link>> <br> Plaything: <span id="statsmolesttrait" @class="$molesttrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["molest"].toString()]>></span> | <<link "Change">> <<set $molesttrait += 1>> <<if $molesttrait gte 2>> <<set $molesttrait to -1>> <</if>> <<replace "#statsmolesttrait">> <<set _molesttrait to _traitValue[$molesttrait.toString()]>> <<= _molesttrait>> <<changeCheatClass "#statsmolesttrait" _molesttrait>> <</replace>> <</link>> <br> Fucktoy: <span id="statsrapetrait" @class="$rapetrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["rape"].toString()]>></span> | <<link "Change">> <<set $rapetrait += 1>> <<if $rapetrait gte 2>> <<set $rapetrait to -1>> <</if>> <<replace "#statsrapetrait">> <<set _rapetrait to _traitValue[$rapetrait.toString()]>> <<= _rapetrait>> <<changeCheatClass "#statsrapetrait" _rapetrait>> <</replace>> <</link>> <br> Bitch: <span id="statsbestialitytrait" @class="$bestialitytrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["bestiality"].toString()]>></span> | <<link "Change">> <<set $bestialitytrait += 1>> <<if $bestialitytrait gte 2>> <<set $bestialitytrait to -1>> <</if>> <<replace "#statsbestialitytrait">> <<set _bestialitytrait to _traitValue[$bestialitytrait.toString()]>> <<= _bestialitytrait>> <<changeCheatClass "#statsbestialitytrait" _bestialitytrait>> <</replace>> <</link>> <br> Prey: <span id="statstentacletrait" @class="$tentacletrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["tentacle"].toString()]>></span> | <<link "Change">> <<set $tentacletrait += 1>> <<if $tentacletrait gte 2>> <<set $tentacletrait to -1>> <</if>> <<replace "#statstentacletrait">> <<set _tentacletrait to _traitValue[$tentacletrait.toString()]>> <<= _tentacletrait>> <<changeCheatClass "#statstentacletrait" _tentacletrait>> <</replace>> <</link>> <br> Tasty: <span id="statsvoretrait" @class="$voretrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["vore"].toString()]>></span> | <<link "Change">> <<set $voretrait += 1>> <<if $voretrait gte 2>> <<set $voretrait to -1>> <</if>> <<replace "#statsvoretrait">> <<set _voretrait to _traitValue[$voretrait.toString()]>> <<= _voretrait>> <<changeCheatClass "#statsvoretrait" _voretrait>> <</replace>> <</link>> <br> Milk Addict: <span id="statsmilkdranktrait" @class="$milkdranktrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["milkdrank"].toString()]>></span> | <<link "Change">> <<set $milkdranktrait += 1>> <<if $milkdranktrait gte 2>> <<set $milkdranktrait to -1>> <</if>> <<replace "#statsmilkdranktrait">> <<set _milkdranktrait to _traitValue[$milkdranktrait.toString()]>> <<= _milkdranktrait>> <<changeCheatClass "#statsmilkdranktrait" _milkdranktrait>> <</replace>> <</link>> <br> Lustful: <span id="statslustful" @class="$backgroundTraits.includes('lustful') is true ? 'green' : 'red'"><<= $backgroundTraits.includes("lustful") is true ? "On" : "Off">></span> | <<link "Change">> <<if !$backgroundTraits.includes("lustful")>> <<set $backgroundTraits.pushUnique("lustful")>><<set $specialClothesEffects.bimbo.total to 1200>> <<else>> <<set $backgroundTraits.delete("lustful")>><<if $specialClothesEffects.bimbo.total gt 1000>><<set $specialClothesEffects.bimbo.total to 1000>><</if>> <</if>> <<replace "#statslustful">> <<set _lustful to $backgroundTraits.includes("lustful") is true ? "On" : "Off">> <<= _lustful>> <<changeCheatClass "#statslustful" _lustful>> <</replace>> <</link>> <br> Crossdresser: <span id="statscrossdresser" @class="$backgroundTraits.includes('crossdresser') is true ? 'green' : 'red'"><<= $backgroundTraits.includes("crossdresser") is true ? "On" : "Off">></span> | <<link "Change">> <<if !$backgroundTraits.includes("crossdresser")>> <<set $backgroundTraits.pushUnique("crossdresser")>><<set $crossdressingTrait to 100>> <<else>> <<set $backgroundTraits.delete("crossdresser")>><<if $crossdressingTrait gt 80>><<set $crossdressingTrait to 80>><</if>> <</if>> <<replace "#statscrossdresser">> <<set _crossdresser to $backgroundTraits.includes("crossdresser") is true ? "On" : "Off">> <<= _crossdresser>> <<changeCheatClass "#statscrossdresser" _crossdresser>> <</replace>> <</link>> <br> Green Thumb: <span id="statsgreenthumb" @class="$backgroundTraits.includes('greenthumb') is true ? 'green' : 'red'"><<= $backgroundTraits.includes("greenthumb")is true ? "On" : "Off">></span> | <<link "Change">> <<if !$backgroundTraits.includes("greenthumb")>> <<set $backgroundTraits.pushUnique("greenthumb")>> <<else>> <<set $backgroundTraits.delete("greenthumb")>> <</if>> <<replace "#statsgreenthumb">> <<set _greenthumb to $backgroundTraits.includes("greenthumb") is true ? "On" : "Off">> <<= _greenthumb>> <<changeCheatClass "#statsgreenthumb" _greenthumb>> <</replace>> <</link>> <br> Asphyxiophilia: <span id="statschoke" @class="$choketrait is 1 ? 'green' : 'red'"><<= _traitValue[$_traits["choke"].toString()]>></span> | <<link "Change">> <<set $choketrait += 1>> <<if $choketrait gte 2>> <<set $choketrait to 0>> <</if>> <<replace "#statschoke">> <<set _choketrait to _traitValue[$choketrait.toString()]>> <<= _choketrait>> <<changeCheatClass "#statschoke" _choketrait>> <</replace>> <</link>> <br> Plant Lover: <span id="statsplantlover" @class="$backgroundTraits.includes('plantlover') is true ? 'green' : 'red'"><<= $backgroundTraits.includes("plantlover")is true ? "On" : "Off">></span> | <<link "Change">> <<if !$backgroundTraits.includes("plantlover")>> <<set $backgroundTraits.pushUnique("plantlover")>> <<set $nectar_addiction to 200>> <<set $nectar_timer to 21>> <<else>> <<set $backgroundTraits.delete("plantlover")>> <<set $nectar_addiction to 0>> <<set $nectar_timer to 0>> <</if>> <<replace "#statsplantlover">> <<set _plantlover to $backgroundTraits.includes("plantlover") is true ? "On" : "Off">> <<= _plantlover>> <<changeCheatClass "#statsplantlover" _plantlover>> <</replace>> <</link>> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Fame</div> <div class="settingsToggleItem"> <<set _positiveFames to ["good", "business", "scrap", "social", "model"]>> <<set _negativeFames to ["exhibitionism", "prostitution", "bestiality", "sex", "rape", "pregnancy", "impreg"]>> <span class="gold">Negative Fame</span> <br> <<link "Set all to 0">> <<for _i range _negativeFames>> <<set $fame[_i] to 0>> <</for>> <<fameclamp>> <<replace #cheatsNegative>><<cheatSection "negative">><</replace>> <</link>> | <<link "Set all to max">> <<for _i range _negativeFames>> <<set $fame[_i] to 2000>> <</for>> <<fameclamp>> <<replace #cheatsNegative>><<cheatSection "negative">><</replace>> <</link>> <br><br> <span id="cheatsNegative"> <<cheatSection "negative">> </span> <hr> <span class="gold">Positive Fame</span> <br> <<link "Set all to 0">> <<for _i range _positiveFames>> <<set $fame[_i] to 0>> <</for>> <<fameclamp>> <<replace #cheatsPositive>><<cheatSection "positive">><</replace>> <</link>> | <<link "Set all to max">> <<for _i range _positiveFames>> <<set $fame[_i] to 2000>> <</for>> <<fameclamp>> <<replace #cheatsPositive>><<cheatSection "positive">><</replace>> <</link>> <br><br> <span id="cheatsPositive"> <<cheatSection "positive">> </span> </div> <div class="settingsToggleItem"> <span class="gold">Crime</span> <br> <<link "Set all to 0">> <<for _cr range Object.keys(setup.crimeNames)>> <<capture _cr>> <<set C.crime[_cr] to 0>> <<replace "#cheatsCrime">><<cheatSection "crime">><</replace>> <</capture>> <</for>> <</link>> | <<link "Set all to max">> <<for _cr range Object.keys(setup.crimeNames)>> <<capture _cr>> <<set C.crime[_cr] to 10000>> <<replace "#cheatsCrime">><<cheatSection "crime">><</replace>> <</capture>> <</for>> <</link>> <br><br> <span id="cheatsCrime"> <<cheatSection "crime">> </span> <hr> <span class="gold">Crime Events</span> <br> <span id="statscrimeevents"><<listCrimeCheats>></span> <<link "Clear Crime events">><<crimeClearEvent "all">><<replace #statscrimeevents>><<listCrimeCheats>><</replace>><</link>> </div> </div> <</widget>> <<widget "cheats-fluids">> <<numberStepper "Milk Amount" $milk_amount "milk_amount" { max: $milk_volume, step: 10, valueFormat: (value, percentage) => `<b>${Math.round(percentage)}%</b> (${Math.round(value)}ml)` }>> <<if $player.penisExist>> <<numberStepper "Semen Amount" $semen_amount "semen_amount" { max: $semen_volume, step: 10, valueFormat: (value, percentage) => `<b>${Math.round(percentage)}%</b> (${Math.round(value)}ml)` }>> <</if>> <</widget>> <<widget "cheats-characterVisual">> <div class="settingsGrid"> <div class="settingsHeader options">Player</div> <div class="settingsToggleItemWide"> <span class="gold">Hair Length</span> <br> <<if $passage is "Hairdressers Seat">> Hair cheats are disabled while at the hairdressers. <br><br> <<else>> <<numberStepper "Hair length" $hairlength {max: 1000, callback: value => {V.hairlength = value; Wikifier.wikifyEval("<<calchairlengthstage>><<updatesidebarimg>>")}}>> <<numberStepper "Fringe length" $fringelength {max: 1000, callback: value => {V.fringelength = value; Wikifier.wikifyEval("<<calchairlengthstage>><<updatesidebarimg>>")}}>> <<if $hairtest is 1 or $debug>> <<foldout false "_cheatsFoldoutNatural">> <span class="gold">Natural Hair Colour (DEBUG)</span> <<set _bar to false>> <<for _i = 0; _i < setup.colours.hair.length; _i++>> <<if setup.colours.hair[_i].natural>> <<if _bar>>|<</if>> <label><span @class="setup.colours.hair[_i].csstext"><<= setup.colours.hair[_i].name_cap>></span> <<radiovar "$naturalhaircolour" setup.colours.hair[_i].variable>> <<updatesidebarimg>><</radiovar>></label> <<set _bar to true>> <</if>> <</for>> <br><br> <</foldout>> <</if>> <<foldout false "_cheatsFoldoutDye">> <span class="gold">Hair Dye</span> <label>None <<radiovar "$haircolour" $naturalhaircolour>> <<updatesidebarimg>><</radiovar>></label> <<for _i = 0; _i < setup.colours.hair.length; _i++>> <<if setup.colours.hair[_i].dye>> | <label><span @class="setup.colours.hair[_i].csstext"><<= setup.colours.hair[_i].name_cap>></span> <<radiovar "$haircolour" setup.colours.hair[_i].variable>> <<updatesidebarimg>><</radiovar>></label> <</if>> <</for>> <br> Two-tone: <label>Enable <<radiovar "$hairColourStyle" "gradient">> <<updatesidebarimg>><</radiovar>></label> <label>Disable <<radiovar "$hairColourStyle" "simple">> <<updatesidebarimg>><</radiovar>></label> <br> Two-tone style: <<listbox "$hairColourGradient.style" autoselect>> <<option "Low Ombré" "low-ombre">> <<option "High Ombré" "high-ombre">> <<option "Split" "split">> <<option "Face-framing highlights" "face-frame">> <</listbox>> <br><br> <</foldout>> <<foldout false "_cheatsFoldoutFringe">> <span class="gold">Hair Fringe Dye</span> <label>None <<radiovar "$hairfringecolour" $naturalhaircolour>> <<updatesidebarimg>><</radiovar>></label> <<for _i = 0; _i < setup.colours.hair.length; _i++>> <<if setup.colours.hair[_i].dye>> | <label><span @class="setup.colours.hair[_i].csstext"><<= setup.colours.hair[_i].name_cap>></span> <<radiovar "$hairfringecolour" setup.colours.hair[_i].variable>> <<updatesidebarimg>><</radiovar>></label> <</if>> <</for>> <br> Two-tone: <label>Enable <<radiovar "$hairFringeColourStyle" "gradient">> <<updatesidebarimg>><</radiovar>></label> <label>Disable <<radiovar "$hairFringeColourStyle" "simple">> <<updatesidebarimg>><</radiovar>></label> <br> Two-tone style: <<listbox "$hairFringeColourGradient.style" autoselect>> <<option "Low Ombré" "low-ombre">> <<option "High Ombré" "high-ombre">> <<option "Split" "split">> <<option "Face-framing highlights" "face-frame">> <</listbox>> <br><br> <</foldout>> <</if>> </div> <div class="settingsToggleItem"> <span class="gold">Eye Colour</span> <br> <<set _bar to false>> <<for _i = 0; _i < setup.colours.eyes.length; _i++>> <<if setup.colours.eyes[_i].natural>> <<if _bar>>|<</if>> <label><span @class="setup.colours.eyes[_i].csstext"> <<= setup.colours.eyes[_i].name>></span> <<radiovar "$eyeselected" setup.colours.eyes[_i].variable>> <<cheatMenuEyesSelected>> <</radiovar>></label> <<set _bar to true>> <</if>> <</for>> </div> <div class="settingsToggleItem"> <span class="gold">Freckles</span> <br> <label>Enabled <<radiobutton "$player.freckles" true autocheck>></label> | <label>Disabled <<radiobutton "$player.freckles" false `!$player.freckles ? "checked" : ""`>></label> </div> <div class="settingsToggleItem"> <span class="gold">Breast Size</span> <<set _breastsText to ["Flat", "Budding", "Tiny", "Small", "Pert", "Modest", "Full", "Large", "Ample", "Massive", "Huge", "Gigantic", "Enormous"]>> <<numberslider "$player.breastsize" $player.breastsize 0 _breastsText.length-1 1 { onInputChange: value => { wikifier("<<updatesidebarimg false>>"); }, value: v => { return T.breastsText[v]; } }>> <br><br> <span class="gold">Bottom Size</span> <<set _buttsText to ["Slender", "Slim", "Modest", "Cushioned", "Soft", "Round", "Plump", "Large", "Huge"]>> <<numberslider "$player.bottomsize" $player.bottomsize 0 _buttsText.length-1 1 { onInputChange: value => { wikifier("<<updatesidebarimg false>>"); }, value: v => { return T.buttsText[v]; } }>> <<if $player.penisExist>> <br><br> <span class="gold">Penis Size</span> <<set _penisText to ["Micro", "Mini", "Tiny", "Small", "Normal", "Large", "Enormous"]>> <<numberslider "$player.penissize" $player.penissize -2 4 1 { onInputChange: value => { wikifier("<<updatesidebarimg false>>"); }, value: v => { return T.penisText[v + 2]; } }>> <<if $debug is 1>> <br> <span class="description">Ball Size (DEBUG): <<link "<">><<set $ballssize -= 1>><<clamp>><<replace "#statsballssize">><<= Math.trunc($ballssize)>><</replace>> <<updatesidebarimg>><</link>> | <span id="statsballssize"><<= Math.trunc($ballssize)>></span> | <<link ">">><<set $ballssize += 1>><<clamp>><<replace "#statsballssize">><<= Math.trunc($ballssize)>><</replace>> <<updatesidebarimg>><</link>></span> <</if>> <</if>> <br><br> Cover nudity (only if embarrassed): <<checkbox "$dontHide" true false autocheck>> <<run $(() => $('#checkbox-donthide').on('change', e => wikifier('<<updatesidebarimg>>')))>> </div> <div class="settingsToggleItem"> <span class="gold">Sensitivity</span> <<numberStepper "Mouth sensitivity" $mouthsensitivity "mouthsensitivity" { min: 1, max: 4, step: 0.1, reverse: true, valueFormat: value => `<b>${round(value, 2)}</b> (${sensitivityString(value)})` }>> <<numberStepper "Breast sensitivity" $breastsensitivity "breastsensitivity" { min: 1, max: 4, step: 0.1, reverse: true, valueFormat: value => `<b>${round(value, 2)}</b> (${sensitivityString(value)})` }>> <<numberStepper "Genital sensitivity" $genitalsensitivity "genitalsensitivity" { min: 1, max: 4, step: 0.1, reverse: true, valueFormat: value => `<b>${round(value, 2)}</b> (${sensitivityString(value)})` }>> <<numberStepper "Bottom sensitivity" $bottomsensitivity "bottomsensitivity" { min: 1, max: 4, step: 0.1, reverse: true, valueFormat: value => `<b>${round(value, 2)}</b> (${sensitivityString(value)})` }>> </div> </div> <<if $parasitedisable is "f">> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Parasites</div> <div class="settingsToggleItemWide"> <<set _penis to $player.penisExist ? "penis" : "clit">> <div id="nipples"><<cheatParasiteToggle "nipples">></div> <div @id="_penis"><<cheatParasiteToggle _penis>></div> <div id="bottom"><<cheatParasiteToggle "bottom">></div> <div id="left_thigh"><<cheatParasiteToggle "left_thigh">></div> <div id="right_thigh"><<cheatParasiteToggle "right_thigh">></div> <div id="left_arm"><<cheatParasiteToggle "left_arm">></div> <div id="right_arm"><<cheatParasiteToggle "right_arm">></div> <div id="tummy"><<cheatParasiteToggle "tummy">></div> <<if playerIsPregnant() and $player.sex is "m" and numberOfEarSlime()>> <div class="red">Unable to remove ear slimes while pregnant as a male.</div> <<else>> <div id="left_ear"><<cheatParasiteToggle "left_ear">></div> <div id="right_ear"><<cheatParasiteToggle "right_ear">></div> <</if>> </div> </div> <</if>> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Fluids</div> <<cheatBodyLiquid "semen">> <<cheatBodyLiquid "goo">> <<cheatBodyLiquid "nectar">> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Transformations</div> <div class="settingsToggleItem"> <span class="gold">Transformation Types</span> <br> <span class="description">You may only have one animal and one divine transformation at a time.</span> <br> <<tficon "angel">>Angel: <<link "Set">><<clearDivineTransformations>><<angelTransform>><<updatesidebarimg>><</link>> | <<link "Clear">><<angelTransform 99>><<updatesidebarimg>><</link>><br> <<tficon "fallenangel">>Fallen Angel: <<link "Set">><<clearDivineTransformations>><<set $specialTransform to 1>> <<set $fallenangel to 2>><<set $transformationParts.fallenAngel.halo to ($transformationParts.angel.halo is "traditional" ? "traditional" : "default")>><<set $transformationParts.fallenAngel.wings to ($transformationParts.angel.wings is "classic" ? "classic" : "default")>><<updatesidebarimg>><</link>> | <<link "Clear">><<fallenButNotOut 99>><<updatesidebarimg>><</link>><br> <<tficon "demon">>Demon: <<link "Set">><<clearDivineTransformations>><<demonTransform>><<updatesidebarimg>><</link>> | <<link "Clear">><<demonTransform 99>><<updatesidebarimg>><</link>><br> <<tficon "wolf">>Wolf: <<link "Set">><<clearAnimalTransformations>><<wolfTransform>><<updatesidebarimg>><</link>> | <<link "Clear">><<wolfTransform 99>><<updatesidebarimg>><</link>><br> <<tficon "cat">>Cat: <<link "Set">><<clearAnimalTransformations>><<catTransform>><<updatesidebarimg>><</link>> | <<link "Clear">><<catTransform 99>><<updatesidebarimg>><</link>><br> <<tficon "cow">>Cow: <<link "Set">><<clearAnimalTransformations>><<cowTransform>><<updatesidebarimg>><</link>> | <<link "Clear">><<cowTransform 99>><<updatesidebarimg>><</link>><br> <<tficon "bird">>Bird: <<link "Set">><<clearAnimalTransformations>><<harpyTransform>><<updatesidebarimg>><</link>> | <<link "Clear">><<harpyTransform 99>><<updatesidebarimg>><</link>><br> <<tficon "fox">>Fox: <<link "Set">><<clearAnimalTransformations>><<foxTransform>><<updatesidebarimg>><</link>> | <<link "Clear">><<foxTransform 99>><<updatesidebarimg>><</link>> </div> <div class="settingsToggleItem"> <span class="gold">Transformation Points</span> <br> <span class="description">Angel and Cat require 50 points to reach their full transformation, while all others require 30 points. Fallen Angel requires 30 points for Acceptance.</span> <<for _tf range ["angel", "fallenangel", "demon", "wolf", "cat", "cow", "bird", "fox"]>> <<capture _tf>> <<set _name to (_tf is "fallenangel" ? "Fallen Angel" : _tf)>> <<set _title to `<<tficon _tf>> ${toTitleCase(_name)}`>> <<set _varName to `${_tf}build`>> <<numberStepper _title `V[T.varName]` { callback: (value, arr) => { V[arr[0]] = value; Wikifier.wikifyEval("<<transformationAlteration>><<updatesidebarimg>>"); }, max: 100, percentage: false, colorArr: ["--teal", "--purple"], values: [T.varName] }>> <</capture>> <</for>> <<unset _cr>> </div> <</widget>> <<widget "cheatMenuEyesSelected">> <<set $leftEyeColour to $eyeselected>> <<set $rightEyeColour to $eyeselected>> <<updatesidebarimg>> <</widget>> <<widget "cheats-npcs">> <div class="settingsGrid"> <div class="settingsHeader options">NPC Virginity</div> <div class="settingsToggleItemWide"> Reset the following NPC's virginities to their starting values: <br> <<listbox "_npcId" autoselect>> <<optionsfrom $NPCNameList>> <</listbox>> <br><br> <<link "Confirm">> <<initNNPCVirginity $NPCNameList.indexOf(_npcId)>> <<if $npc.includes(_npcId)>> <<set $NPCList[$npcrow[$npc.indexOf(_npcId)]].virginity to C.npc[_npcId].virginity>> <</if>> <<for _virginType, _virginList range $virginTaken>> <<run _virginList.delete(_npcId)>> <</for>> <<replace "#npcvirgin">><br><<= _npcId>>'s virginities have been restored.<</replace>> <</link>> <span id="npcvirgin"></span> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Primary Relationships</div> <div class="settingsToggleItem"> <span class="gold">Robin</span> <<numberStepper "<<symbol love>> Love" `C.npc.Robin.love` { callback: value => { C.npc.Robin.love = value } }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Robin.lust` { callback: value => { C.npc.Robin.lust = value } }>> <<numberStepper "<<symbol confidence>> Confidence" `C.npc.Robin.dom` { callback: value => { C.npc.Robin.dom = value } }>> <<numberStepper "<<symbol trauma>> Trauma" `C.npc.Robin.trauma` { callback: value => { C.npc.Robin.trauma = value }, reverse: true }>> </div> <div class="settingsToggleItem"> <span class="gold">Whitney</span> <<numberStepper "<<symbol love>> Love" `C.npc.Whitney.love` { callback: value => { C.npc.Whitney.love = value }, max: 30 }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Whitney.lust` { callback: value => { C.npc.Whitney.lust = value } }>> <<numberStepper "<<symbol dominance>> Dominance" `C.npc.Whitney.dom` { callback: value => { C.npc.Whitney.dom = value }, max: 20 }>> </div> <div class="settingsToggleItem"> <span class="gold">Eden</span> <<numberStepper "<<symbol love>> Love" `C.npc.Eden.love` { callback: value => { C.npc.Eden.love = value }, max: 200 }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Eden.lust` { callback: value => { C.npc.Eden.lust = value } }>> <<numberStepper "<<symbol dominance>> Dominance" `C.npc.Eden.dom` { callback: value => { C.npc.Eden.dom = value }, max: 150}>> </div> <div class="settingsToggleItem"> <span class="gold">Kylar</span> <<numberStepper "<<symbol love>> Love" `C.npc.Kylar.love` { callback: value => { C.npc.Kylar.love = value } }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Kylar.lust` { callback: value => { C.npc.Kylar.lust = value } }>> <<numberStepper "<<symbol jealousy>> Jealousy" `C.npc.Kylar.rage` { callback: value => { C.npc.Kylar.rage = value }, reverse: true }>> </div> <div class="settingsToggleItem"> <span class="gold">Avery</span> <<numberStepper "<<symbol love>> Love" `C.npc.Avery.love` { callback: value => { C.npc.Avery.love = value } }>> <<numberStepper "<<symbol rage>> Rage" `C.npc.Avery.rage` { callback: value => { C.npc.Avery.rage = value }, reverse: true }>> </div> <div class="settingsToggleItem"> <span class="gold">Alex</span> <<numberStepper "<<symbol love>> Love" `C.npc.Alex.love` { callback: value => { C.npc.Alex.love = value } }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Alex.lust` { callback: value => { C.npc.Alex.lust = value } }>> <<numberStepper "<<symbol dominance>> Dominance" `C.npc.Alex.dom` { callback: value => { C.npc.Alex.dom = value }, min: -50 }>> </div> <div class="settingsToggleItem"> <span class="gold">Great Hawk</span> <<numberStepper "<<symbol love>> Love" `C.npc["Great Hawk"].love` { callback: value => { C.npc["Great Hawk"].love = value } }>> <<numberStepper "<<symbol dominance>> Dominance" `C.npc["Great Hawk"].dom` { callback: value => { C.npc["Great Hawk"].dom = value } }>> </div> <div class="settingsToggleItem"> <span class="gold">Black Wolf</span> <<numberStepper "<<symbol love>> Love" `C.npc["Black Wolf"].love` { callback: value => { C.npc["Black Wolf"].love = value }, max: 150 }>> </div> <div class="settingsToggleItemWide"> <span class="gold">Sydney</span> <<set _purity to C.npc.Sydney.purity gt 0 ? "purity" : "corruption">> <<numberStepper "<<symbol love>> Love" `C.npc.Sydney.love` { callback: value => { C.npc.Sydney.love = value }, max: 150 }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Sydney.lust` { callback: value => { C.npc.Sydney.lust = value } }>> <span id="sydneypurity"> <<sydneyPurity>> </span> <span id="sydneydesc" class="description"> Setting Sydney's <<= _purity is "purity" ? "purity to below 0%" : "corruption to above 0%">> will switch it to <<= _purity is "purity" ? "corruption" : "purity">>. </span> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">People of Interest</div> <div class="settingsToggleItem"> <span class="gold">Mason</span> <<numberStepper "<<symbol love>> Love" `C.npc.Mason.love` { callback: value => { C.npc.Mason.love = value }, max: 50 }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Mason.lust` { callback: value => { C.npc.Mason.lust = value }, max: 100 }>> </div> <div class="settingsToggleItem"> <span class="gold">Zephyr</span> <<numberStepper "<<symbol love>> Love" `C.npc.Zephyr.love` { callback: value => { C.npc.Zephyr.love = value } }>> <<numberStepper "<<symbol lust>> Lust" `C.npc.Zephyr.lust` { callback: value => { C.npc.Zephyr.lust = value }, max: 50 }>> </div> <div class="settingsToggleItem"> <span class="gold">Teachers</span> <<numberStepper "<<symbol love>> Sirris Love" `C.npc.Sirris.love` { callback: value => { C.npc.Sirris.love = value } }>> <<numberStepper "<<symbol love>> Doren Love" `C.npc.Doren.love` { callback: value => { C.npc.Doren.love = value } }>> <<numberStepper "<<symbol love>> Leighton Love" `C.npc.Leighton.love` { callback: value => { C.npc.Leighton.love = value } }>> <<numberStepper "<<symbol love>> River Love" `C.npc.River.love` { callback: value => { C.npc.River.love = value }, max: 50 }>> <<numberStepper "<<symbol love>> Winter Love" `C.npc.Winter.love` { callback: value => { C.npc.Winter.love = value }, max: 50 }>> </div> <div class="settingsToggleItem"> <span class="gold">Other Named NPCs</span> <<numberStepper "<<symbol love>> Briar Love" `C.npc.Briar.love` { callback: value => { C.npc.Briar.love = value } }>> <<numberStepper "<<symbol love>> Charlie Love" `C.npc.Charlie.love` { callback: value => { C.npc.Charlie.love = value }, max: 50 }>> <<numberStepper "<<symbol love>> Darryl Love" `C.npc.Darryl.love` { callback: value => { C.npc.Darryl.love = value }, max: 50 }>> <<numberStepper "<<symbol love>> Harper Love" `C.npc.Harper.love` { callback: value => { C.npc.Harper.love = value } }>> <<numberStepper "<<symbol love>> Morgan Love" `C.npc.Morgan.love` { callback: value => { C.npc.Morgan.love = value } }>> <<numberStepper "<<symbol love>> Niki Love" `C.npc.Niki.love` { callback: value => { C.npc.Niki.love = value } }>> <<numberStepper "<<symbol love>> Remy Love" `C.npc.Remy.love` { callback: value => { C.npc.Remy.love = value } }>> <<numberStepper "<<symbol love>> Sam Love" `C.npc.Sam.love` { callback: value => { C.npc.Sam.love = value }, max: 50 }>> <<numberStepper "<<symbol love>> Wren Love" `C.npc.Wren.love` { callback: value => { C.npc.Wren.love = value }, max: 50 }>> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Reputation</div> <<if $farm_stage gte 2>> <div class="settingsToggleItem"> <<farmicon>><span class="gold">Farm Status</span> <<numberStepper "Steeds' Respect" `V.farm.beasts.horses` { callback: value => { V.farm.beasts.horses = value }, min: -30, max: 30 }>> <<numberStepper "Pigs' Respect" `V.farm.beasts.pigs` { callback: value => { V.farm.beasts.pigs = value }, min: -30, max: 30}>> <<numberStepper "Cattle' Respect" `V.farm.beasts.cattle` { callback: value => { V.farm.beasts.cattle = value }, min: -30, max: 30 }>> <<numberStepper "Dogs' Respect" `V.farm.beasts.dogs` { callback: value => { V.farm.beasts.dogs = value }, min: -30, max: 30 }>> </div> <div class="settingsToggleItem"> <<farmicon>><span class="gold">Farm Progress</span> <br> <<if $farm_stage gte 12>> You've cleared <span class="green">all</span> of the fields. <<else>> <span id="farmYard"><<cheatsRep "farm">></span> <</if>> <<if $farm_stage gte 5>> <hr> <<numberStepper "Remy's Encroachment" `V.farm.aggro` { reverse: true, callback: value => { V.farm.aggro = value; Wikifier.wikifyEval("<<replace #farmAggro>><<cheatsRep aggro>><</replace>>") } }>> <span id="farmAggro"><<cheatsRep "aggro">></span> <</if>> </div> <</if>> <div class="settingsToggleItem"> <<wolfcaveicon "pup">><span class="gold">Wolf Pack</span> <br> <<if $syndromewolves is 1>> Rank: <span id="wolfpackleader"><<cheatsRep "wolfpackleader">></span> <</if>> <<numberStepper "Trust" $wolfpacktrust "wolfpacktrust" {max: 30}>> <<numberStepper "Fear" $wolfpackfear "wolfpackfear" {max: 30}>> <<if $syndromewolves is 1>> <<numberStepper "Harmony" $wolfpackharmony "wolfpackharmony" {max: 20}>> <<numberStepper "Ferocity" $wolfpackferocity "wolfpackferocity" {max: 20}>> <</if>> </div> <div class="settingsToggleItem"> <<schoolicon "building">><span class="gold">School</span> <<numberStepper "Status" $cool "cool" {max: V.coolmax}>> <<numberStepper "Delinquency" $delinquency "delinquency" {max: 1000, reverse: true}>> <hr> <<if $player.penisExist and $player.vaginaExist>> <<numberStepper "Hermaphrodite Fame" $schoolrep.herm { callback: value => {V.schoolrep.herm = value; Wikifier.wikifyEval("<<replace '#repherm'>><<cheatsRep herm>><</replace>>")}, max: 5, step: 1, percentage: false, reverse: true, activeButtons: ["single", "minMax"] }>> <span id="repherm"><<cheatsRep "herm">></span> <<else>> <<numberStepper "Crossdresser Fame" $schoolrep.crossdress { callback: value => {V.schoolrep.crossdress = value; Wikifier.wikifyEval("<<replace '#repcrossdress'>><<cheatsRep crossdress>><</replace>>")}, max: 5, step: 1, percentage: false, reverse: true, activeButtons: ["single", "minMax"] }>> <span id="repcrossdress"><<cheatsRep "crossdress">></span> <</if>> </div> <<if ["asylum", "prison"].includes($location)>> <div class="settingsToggleItem"> <<if $location is "asylum">> <<asylumicon "cell">><span class="gold">Asylum</span> <<numberStepper "Status" $asylumstatus "asylumstatus">> <<numberStepper "Suspicion" $asylumsuspicion "asylumsuspicion">> <<elseif $location is "prison">> <<policeicon>><span class="gold">Prison</span> <<numberStepper "Guards" $prison.guards { callback: value => { V.prison.guards = value } }>> <<numberStepper "Inmates" $prison.inmates { callback: value => { V.prison.inmates = value } }>> <</if>> </div> <</if>> <<if $dockwork is 2>> <div class="settingsToggleItem"> <<docksicon>><span class="gold">Docks</span> <<numberStepper "Status" $dockstatus "dockstatus">> </div> <</if>> <<if $pirate_rank gte 0>> <div class="settingsToggleItem"> <<mericon>><span class="gold">Pirates</span> <br> Rank: <span id="pirate_rank"><<cheatsRep "pirate_rank">></span> <<numberStepper "Status" $pirate_status "pirate_status">> </div> <</if>> <<if $pound>> <div class="settingsToggleItem"> <<poundicon>><span class="gold">Pound</span> <<numberStepper "Status" $pound.status { callback: value => { V.pound.status = value } }>> <<numberStepper "Stray Contentment" $stray_happiness "stray_happiness">> </div> <</if>> <div class="settingsToggleItem"> <<homeicon>><span class="gold">Orphanage</span> <<numberStepper "Hope" $orphan_hope "orphan_hope" {max: 50}>> <<numberStepper "Rebelliousness" $orphan_reb "orphan_reb" {max: 50}>> </div> </div> <</widget>> <<widget "sydneyPurity">> <<if C.npc.Sydney.purity gt 0>> <<numberStepper "<<symbol purity>> Purity" `C.npc.Sydney.purity` { callback: value => { C.npc.Sydney.purity = value; if (value < 0) { C.npc.Sydney.corruption = Math.abs(value); value = 0; Wikifier.wikifyEval("<<replace '#sydneypurity'>><<sydneyPurity>><</replace>>"); } }, min: -100, max: 100, step: 1, percentage: false, valueFormat: value => `<b>${value}%</b>` }>> <<else>> <<numberStepper "<<symbol corruption>> Corruption" `C.npc.Sydney.corruption` { callback: value => { C.npc.Sydney.corruption = value; if (value < 0) { C.npc.Sydney.purity = Math.abs(value); value = 0; Wikifier.wikifyEval("<<replace '#sydneypurity'>><<sydneyPurity>><</replace>>"); } }, min: -100, max: 50, step: 1, percentage: false, reverse: true, reverseButtons: true, valueFormat: value => `<b>${value*2}%</b>` }>> <</if>> <</widget>> <<widget "cheatsRep">> <<switch _args[0]>> <<case "aggro">> <<if $farm.aggro gte 100>> <span class="red">Remy's goons operate in the open, sabotaging the farm and its business.</span> <<elseif $farm.aggro gte 60>> <span class="pink">The farm is being sabotaged, day and night.</span> <<elseif $farm.aggro gte 40>> <span class="purple">The farm is being sabotaged at night.</span> <<elseif $farm.aggro gte 20>> <span class="blue">Something is spooking the beasts of the farm.</span> <<elseif $farm.aggro gte 10>> <span class="lblue">Signs of intrusion have been found around the farm.</span> <<elseif $farm.aggro gte 1>> <span class="teal">Strange people have been seen watching the farm.</span> <<else>> <span class="green">The farm is peaceful.</span> <</if>> <<case "farm">> One of the fields is being cleared, <<if $farm.clearing lte 0>> <span class="green">and is ready for planting!</span> <<elseif $farm.clearing lte 20>> <span class="teal">and is almost ready for planting.</span> <<elseif $farm.clearing lte 40>> <span class="lblue">and is starting to look civilised.</span> <<elseif $farm.clearing lte 60>> <span class="blue">and soil has been exposed in places.</span> <<elseif $farm.clearing lte 80>> <span class="purple">but the tangle remains defiant.</span> <<elseif $farm.clearing lte 99>> <span class="pink">but little progress has been made.</span> <<else>> <span class="red">but remains a jungle of weeds.</span> <</if>> <<if $farm.clearing gt 0>> | <<farmicon "clear yard">><<link "Clear field">><<set $farm.clearing to 0>><<replace "#farmYard">><<cheatsRep "farm">><</replace>><</link>> <<else>> <span class="green">Talk to Alex to advance farm progress.</span> <</if>> <<case "crossdress">> <<set _crossdressing to $player.gender isnot $player.sex ? "presumed crossdressing" : "crossdressing">> <<set _knows to $player.gender isnot $player.sex ? "believes it to be true" : "knows">> <<switch $schoolrep.crossdress>> <<case 5>><span class="red">Your _crossdressing has become common knowledge at school. Everyone _knows, including the teachers.</span> <<case 4>><span class="pink">Rumours of your _crossdressing are spreading throughout the school.</span> <<case 3>><span class="purple">Rumours of your _crossdressing are spreading, and have become a popular topic of conversation at school.</span> <<case 2>><span class="blue">Whispers of your _crossdressing are spreading through the school.</span> <<case 1>><span class="lblue">A few cliques at school have begun whispering of your _crossdressing.</span> <<default>><span class="green">No one is spreading rumours about you at school.</span> <</switch>> <<case "herm">> <<switch $schoolrep.herm>> <<case 5>><span class="red">Everyone at school has heard of your unique genitalia, including the teachers.</span> <<case 4>><span class="pink">Rumours of your unique genitalia have spread throughout the school.</span> <<case 3>><span class="purple">It sounds far-fetched to many, but the school is rife with gossip about a student with both boy and girl parts.</span> <<case 2>><span class="blue">Rumours of a student with both boy and girl parts are spreading through the school.</span> <<case 1>><span class="lblue">A few cliques at school have begun whispering about a student with both boy and girl parts.</span> <<default>><span class="green">No one is spreading rumours about you at school.</span> <</switch>> <<case "wolfpackleader" "pirate_rank">> <<set _ranks to _args[0] is "pirate_rank" ? {0: "Scum", 1: "Mate"} : {0: "Packmate", 1: "Pack leader"}>> <<capture _i, _ranks>> <<for _i to 0; _i lt Object.keys(_ranks).length; _i++>> <span @class="V[_args[0]] is _i ? 'goldLink' : 'unselected'"> <<link _ranks[_i]>> <<set V[_args[0]] to _i>> <<replace `"#" + _args[0]`>><<cheatsRep _args[0]>><</replace>> <</link>> </span> <<= _i < Object.keys(_ranks).length - 1 ? "|" : "">> <</for>> <</capture>> <<default>> <</switch>> <</widget>> <<widget "cheats-teleport">> <div class="settingsGrid"> <div class="settingsHeader options">Teleportation</div> <<if ["Clothing Shop", "Forest Shop", "School Library Shop", "Adult Shop Store"].includes($passage)>> <div class="settingsToggleItemWide"> <span class="red">Teleporting from a clothing store can break your wardrobe.</span> Please leave the shop before teleporting. </div> <<elseif ["Livestock Field"].includes($passage)>> <div class="settingsToggleItemWide"> <span class="red">Teleporting from bad end can lead to various problems.</span> Please escape before teleporting. </div> <<elseif setup.majorAreas.includes($passage) and $event is undefined>> <div class="settingsToggleItemWide"> <b>Teleporting from anywhere but the overworld can cause bugs.</b> </div> <div class="settingsToggleItem"> <span class="gold">Town Locations</span> <br> <<homeicon>><<link [[Orphanage]]>><<cheats-teleport-function>><</link>> <br> <<shopicon>><<link [[Shopping Centre]]>><<cheats-teleport-function>><</link>> <br> <<if $dorenintro gte 1 and $exposed lte 0>> <<dooricon "doren">><<link [[Doren's Flat|Doren Entrance]]>><<cheats-teleport-function>><</link>> <br> <</if>> <<dancestudioicon>><<link [[Dance Studio]]>><<cheats-teleport-function>><</link>> <br> <<policeicon>><<link [[Police Station]]>><<cheats-teleport-function>><</link>> <br> <<policeicon>><<link [[Police Back Office]]>><<cheats-teleport-function>><</link>> <br> <<spaicon>><<link [[Spa]]>><<cheats-teleport-function>><</link>> <br> <<wolficon>><<link [[Temple]]>><<cheats-teleport-function>><</link>> <br> <<kitchenicon "soup">><<link [[Soup Kitchen]]>><<cheats-teleport-function>><</link>> <br> <<stripclubicon>><<link [[Strip Club]]>><<cheats-teleport-function>><</link>> <br> <<hospitalicon>><<link [[Hospital|Hospital front]]>><<cheats-teleport-function>><</link>> <br> <<if $trash_unlocked is 1>> <<landfillicon>><<link [[Landfill|Trash Gate Enter]]>><<cheats-teleport-function>><</link>> <br> <</if>> <<if $compoundcard or $farm_stage gte 9>> <<landfillicon>><<link [[Elk Compound]]>><<cheats-teleport-function>><</link>> <br> <</if>> <<museumicon>><<link [[Museum]]>><<cheats-teleport-function>><</link>> <br> <<oxfordicon>><<link [[School Front Courtyard]]>><<cheats-teleport-function>><</link>> <br> <<brothelicon>><<link [[Brothel]]>><<cheats-teleport-function>><</link>> <br> <<pubicon>><<link [[Pub]]>><<cheats-teleport-function>><</link>> <br> <<busstationicon>><<link [[Bus Station]]>><<cheats-teleport-function>><</link>> <br> <<docksicon>><<link [[Docks]]>><<cheats-teleport-function>><</link>> <br> <<beachicon>><<link [[Beach]]>><<cheats-teleport-function>><</link>> <br> <<cafeicon>><<link [[Ocean Breeze]]>><<cheats-teleport-function>><</link>> <hr> <span class="gold">Town Outskirts</span> <br> <<foresticon>><<link [[Forest]]>><<cheats-teleport-function>><</link>> <br> <<roadicon>><<link [[Farm Road 1]]>><<cheats-teleport-function>><</link>> <br> <<farmicon "barn">><<link [[Farmlands|Farmland]]>><<cheats-teleport-function>><</link>> </div> <div class="settingsToggleItem"> <span class="gold">Town Streets</span> <br> <<domusicon>><<link [[Domus Street]]>><<cheats-teleport-function>><</link>> <br> <<danubeicon>><<link [[Danube Street]]>><<cheats-teleport-function>><</link>> <br> <<barbicon>><<link [[Barb Street]]>><<cheats-teleport-function>><</link>> <br> <<wolficon>><<link [[Wolf Street]]>><<cheats-teleport-function>><</link>> <br> <<connudatusicon>><<link [[Connudatus Street]]>><<cheats-teleport-function>><</link>> <br> <<nightingaleicon>><<link [[Nightingale Street]]>><<cheats-teleport-function>><</link>> <br> <<highicon>><<link [[High Street]]>><<cheats-teleport-function>><</link>> <br> <<elkicon>><<link [[Elk Street]]>><<cheats-teleport-function>><</link>> <br> <<oxfordicon>><<link [[Oxford Street]]>><<cheats-teleport-function>><</link>> <br> <<harvesticon>><<link [[Harvest Street]]>><<cheats-teleport-function>><</link>> <br> <<mericon>><<link [[Mer Street]]>><<cheats-teleport-function>><</link>> <br> <<starfishicon>><<link [[Starfish Street]]>><<cheats-teleport-function>><</link>> <br> <<clifficon>><<link [[Cliff Street]]>><<cheats-teleport-function>><</link>> <br> <<alleyicon>><<link [[Commercial alleyways]]>><<cheats-teleport-function>><</link>> <br> <<alleyicon>><<link [[Industrial alleyways]]>><<cheats-teleport-function>><</link>> <br> <<alleyicon>><<link [[Residential alleyways]]>><<cheats-teleport-function>><</link>> <hr> <span class="gold">Underground</span> <br> <<sewericon>><<link [[Industrial Drain]]>><<cheats-teleport-function>><</link>> <br> <<sewericon>><<link [[Commercial Drain]]>><<cheats-teleport-function>><</link>> <br> <<sewericon>><<link [[Residential Drain]]>><<cheats-teleport-function>><</link>> <br> <<sewericon>><<link [[Drain ocean exit|Drain Exit]]>><<cheats-teleport-function>><</link>> <br> <<sewericon>><<link [[Sewers Residential]]>><<cheats-teleport-function>><</link>> <br> <<sewericon>><<link [[Sewers Commercial]]>><<cheats-teleport-function>><</link>> <br> <<sewericon>><<link [[Sewers Industrial]]>><<cheats-teleport-function>><</link>> </div> <<else>> <div class="settingsToggleItemWide"> <span class="red">You are in an area where teleporting can break your save, or an event is in progress.</span> Return to the overworld before teleporting. </div> <</if>> </div> <</widget>> <<widget "cheats-teleport-function">> <<set _lastBadEnd to $badEndStats.last()>> <<if _lastBadEnd?.trackedStart and _lastBadEnd.trackedEnd is undefined>> <<badEndTrackingEnd _lastBadEnd.source { reason: "teleportCheater" }>> <</if>> <<switch $passage>> <<case "Island">> <<island_end>> <<case "Underground Cell">> <<dungeonescape>> <<case "Asylum" "Asylum Cell">> <<asylumescape>> <<case "Prison Cell">> <<prison_bondage_removal>> <</switch>> <</widget>> <<widget "cheats-other">> <div class="settingsGrid"> <div class="settingsHeader options">Time and Weather</div> <div class="settingsToggleItem"> <span class="gold">Advance time:</span> <br> <<link [[15 minutes|$passage]]>><<pass 15>><</link>> <br> <<link [[30 minutes|$passage]]>><<pass 30>><</link>> <br> <<for _i, _hr range [1, 2, 3, 6, 8, 12, 16, 24]>> <<capture _hr>> <<set _hours to _i is 0 ? "hour" : "hours">> <<link [[_hr _hours|$passage]]>><<pass _hr hour>><</link>> <<= _i lt 7 ? "<br>" : "">> <</capture>> <</for>> </div> <div class="settingsToggleItem"> <span class="gold">Current Weather:</span> <br> <span id="cheatsWeather"><<cheatsWeather>></span> <br> <span class="description">Changing this setting will change the weather for at least 6 hours, before returning to the original weather simulation.</span> </div> <div class="settingsToggleItemWide"> <span class="gold">Temperature</span> <br> <span class="description">Will increase or decrease the base temperature until the next day - then go back to the proper temperature over time.<br> The base temperature will still be modified by other factors such as time of day - and will not be constant throughout the day.</span> <<numberStepper "Outside Temperature" `Weather.toSelected(Weather.temperature)` { callback: value => { Weather.Temperature.set(V.options.fahrenheit ? Weather.Temperature.toCelsius(value) : value); Weather.Temperature.set(V.options.fahrenheit ? Weather.Temperature.toCelsius(value) : value, new DateTime(Time.date).addDays(1)); }, min: -60, max: 60, step: 0.1, colorArr: ["--blue", "--teal", "--yellow", "--orange", "--red"], percentage: false, valueFormat: value => round(value, 1) + (V.options.fahrenheit ? "°F" : "°C"), activeButtons: ["single", "double", "triple"] }>> <span class="description">Changes will be visible after at least 1 minute of game time passes.</span> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Pregnancy</div> <<if $parasitepregdisable is "t">> <div class="settingsToggleItemWide"> <span class="gold">Parasitic Pregnancy</span> <br> You need to enable parasitic pregnancy in the settings to access these cheats. </div> <<else>> <div @class="$player.vaginaExist ? 'settingsToggleItem' : 'settingsToggleItemWide'"> <<if $sexStats.anus.pregnancy.type is "parasite" or $sexStats.anus.pregnancy.type is null>> <div id="cheatsParasiteOptions-anus"><<cheatsParasiteOptions "anus">></div> <<else>> <span class="gold">Anal Parasitic Pregnancy</span> <br> You're currently pregnant with <<= $sexStats.anus.pregnancy.type>> children and can't get pregnant with anal parasites. <</if>> </div> <<if $player.vaginaExist>> <div class="settingsToggleItem"> <<if ($sexStats.vagina.pregnancy.type is "parasite" or $sexStats.vagina.pregnancy.type is null)>> <div id="cheatsParasiteOptions-vagina"><<cheatsParasiteOptions "vagina">></div> <<elseif !($sexStats.vagina.pregnancy.type is "parasite" or $sexStats.vagina.pregnancy.type is null)>> <span class="gold">Vaginal Parasitic Pregnancy</span> <br> You're currently pregnant with <<= $sexStats.vagina.pregnancy.type>> children and can't get pregnant with vaginal parasites. <</if>> </div> <</if>> <</if>> <<if ($playerPregnancyBeastDisable is "f" or $playerPregnancyHumanDisable is "f")>> <div class="settingsToggleItem" id="cheatsPregnancyOptions"> <<cheatsPregnancyOptions>> </div> <div class="settingsToggleItem" id="cheatsImpregOptions"> <<cheatsImpregOptions>> </div> <<else>> <div class="settingsToggleItem"> <span class="gold">Non-Parasitic Pregnancy</span> <br> You need to enable pregnancy in the settings to access these cheats. </div> <div class="settingsToggleItem"> <span class="gold">Impregnation</span> <br> You need to enable pregnancy in the settings to access these cheats. </div> <</if>> </div> <</widget>> <<widget "cheatsParasiteOptions">> <<capture _args, _anal, _type>> <<set $_pregnancy to $sexStats[_args[0]].pregnancy>> <<set _anal to _args[0] is "anus" ? "anal" : "vaginal">> <<set _slots to maxParasites(_args[0])>> <<set $_aPregnancy to $sexStats[_args[0]].pregnancy>> <<set _parasiteTypes to ["eels", "slimes", "fish", "snake", "worms", "tentacle", "lurker", "wasp", "bee", "squid", "vine", "slug", "maggots", "spiders"]>> <<set $_linkName to "Clear current " + _anal + " pregnancies">> <span class="gold"><<= _anal.toUpperFirst()>> Parasitic Pregnancy</span> <br> You can have up to <<number _slots>> _anal <<= _slots is 1 ? "parasite" : "parasites">>. <<if $_pregnancy.fetus.length lt maxParasites(_args[0])>> <br><br> <<if $_aPregnancy.type is "parasite" or $_aPregnancy.type is null>> Get Pregnant with a: <br> <<for _i, _type range _parasiteTypes>> <<set _parasiteName to _type.endsWith('s') ? _type.slice(0, -1).toUpperFirst() : _type.toUpperFirst()>> <<link _parasiteName>> <<impregnateParasite _type true _args[0]>><<cheatsParasite _args[0] _hermaphrodite>> <<set _hermaphrodite to false>> <</link>> <<= _i lt _parasiteTypes.length - 1 ? "|" : "">> <</for>> <br> <<if $_pregnancy.motherStatus lt 2>> <label><<checkbox "_hermaphrodite" false true autocheck>> Hermaphrodite</label> <<else>> You can only have one hermaphrodite parasite in your _args[0] at a time. <</if>> <<else>> You are currently unable to host parasites due to your current _anal pregnancy. <</if>> <br> <<else>> You cannot get <<= _anal + "ly">> pregnant with any more parasites. <</if>> <hr> <<for _i to 0; _i lt maxParasites(_args[0]); _i++>> <<if $_aPregnancy.fetus[_i] isnot undefined>> <<if $_aPregnancy.fetus[_i].fertilised>> <<= _anal.toUpperFirst()>> slot <<=_i+1>> is pregnant with a $_aPregnancy.fetus[_i].stats.gender $_aPregnancy.fetus[_i].creature. <br> <<else>> <<= _anal.toUpperFirst()>> slot <<=_i+1>> has a $_aPregnancy.fetus[_i].stats.gender $_aPregnancy.fetus[_i].creature egg ready to be fertilised. <br> <</if>> <<else>> <<= _anal.toUpperFirst()>> slot <<=_i+1>> is empty. <br> <</if>> <</for>> <<link $_linkName>> <<if $sexStats[_args[0]].pregnancy.type is "parasite">> <<set $sexStats[_args[0]].pregnancy.fetus to []>> <<set $sexStats[_args[0]].pregnancy.type to null>> <<if $sexStats[_args[0]].pregnancy.motherStatus is 2>> <<set $sexStats[_args[0]].pregnancy.motherStatus to 1>> <</if>> <</if>> <<replace `"#cheatsParasiteOptions-" + _args[0]`>><<cheatsParasiteOptions _args[0]>><</replace>> <</link>> <</capture>> <</widget>> <<widget "cheatsParasite">> <<set $_pregnancy to $sexStats[_args[0]].pregnancy>> <<if $pregnancyStats.parasiteDoctorEvents lt 2>> <<set $pregnancyStats.parasiteDoctorEvents to 2>> <</if>> <<if _args[1]>> <<set $_pregnancy.motherStatus to 2>> <<set $_pregnancy.fetus.last().stats.gender to "Hermaphrodite">> <<set $_pregnancy.fetus.last().stats.lastEgg to Math.floor($_pregnancy.fetus.last().stats.growth / 3)>> <<else>> <<if $_pregnancy.motherStatus is 0>> <<set $_pregnancy.motherStatus to 1>> <</if>> <</if>> <<fertiliseParasites _args[0]>> <<replace `"#cheatsParasiteOptions-" + _args[0]`>><<cheatsParasiteOptions _args[0]>><</replace>> <</widget>> <<widget "cheatsPregnancyOptions">> <span class="gold">Non-Parasitic Pregnancy</span> <br> <<set _womb to ($player.vaginaExist ? "vagina" : "anus")>> <<set _eligible to ["Avery", "Eden", "Harper", "Kylar", "Morgan", "Robin", "Whitney", "Black Wolf", "Alex", "Wren", "Sydney", "Great Hawk"]>> <<set _impregnatableNPC to []>> <<set _impregnatorNPC to []>> <<set _pregnantNPC to {}>> <<for _pregEnabled range $NPCName.filter(npc => npc.pregnancy and npc.pregnancy.enabled isnot undefined)>> <<if playerPregnancyPossibleWith(_pregEnabled)>> <<set _impregnatorNPC.push($NPCName.indexOf(_pregEnabled))>> <</if>> <<if NPCPregnancyPossibleWithPlayer(_pregEnabled.nam)>> <<set _impregnatableNPC.push($NPCName.indexOf(_pregEnabled))>> <</if>> <</for>> <<if $player.vaginaExist or canBeMPregnant()>> <<set _menstruation to $sexStats.vagina.menstruation>> <<set $_pregnancy to getPregnancyObject()>> <<if !playerIsPregnant() and $cycledisable == "f">> You aren't pregnant. <<if $pregnancytype is "realistic">> You have <span id="cheatSpermSources"><span class="gold"><span class="gold">$sexStats[_womb].sperm.length</span></span> <<= $sexStats[_womb].sperm.length is 1 ? "sperm source" : "sperm sources">></span> contributing to your chances of getting pregnant. <</if>> <br><br> Menstruation: <br> <<link "<<">><<set _menstruation.currentDay to Math.clamp(_menstruation.currentDay - 5, 0, _menstruation.currentDaysMax)>><<replace "#cheatMenstruationDay">><<= Math.trunc(_menstruation.currentDay)>><</replace>><</link>> | <<link "<">><<set _menstruation.currentDay to Math.clamp(_menstruation.currentDay - 1, 0, _menstruation.currentDaysMax)>><<replace "#cheatMenstruationDay">><<= Math.trunc(_menstruation.currentDay)>><</replace>><</link>> | Day <span id="cheatMenstruationDay"><<= Math.trunc(_menstruation.currentDay)>></span> of _menstruation.currentDaysMax | <<link "Ovulate">><<set _menstruation.currentDay to _menstruation.stages[2]>><<replace "#cheatMenstruationDay">><<= Math.trunc(_menstruation.currentDay)>><</replace>><</link>> | <<link ">">><<set _menstruation.currentDay to Math.clamp(_menstruation.currentDay + 1, 0, _menstruation.currentDaysMax)>><<replace "#cheatMenstruationDay">><<= Math.trunc(_menstruation.currentDay)>><</replace>><</link>> | <<link ">>">><<set _menstruation.currentDay to Math.clamp(_menstruation.currentDay + 5, 0, _menstruation.currentDaysMax)>><<replace "#cheatMenstruationDay">><<= Math.trunc(_menstruation.currentDay)>><</replace>><</link>> <br><br> <</if>> <<if playerIsPregnant()>> You are pregnant. <<set _pregnancyTimer to getPregnancyObject()>> <<numberStepper "Pregnancy progress" _pregnancyTimer.timer { callback: value => { getPregnancyObject().timer = value; Wikifier.wikifyEval("<<updatesidebarimg>>"); }, min: 0, max: getPregnancyObject().timerEnd - 0.5, colorArr: ["--teal", "--pink"], activeButtons: ["single", "double"] }>> <br><br> <<link [[Clear current pregnancy|$passage]]>> <<set _pregnancyClear to getPregnancyObject()>> <<set _pregnancyClear.type to null>> <<set _pregnancyClear.fetus to []>> <<set _pregnancyClear.waterBreaking to false>> <<set _pregnancyClear.waterBreakingTimer to null>> <<set _pregnancyClear.timer to null>> <<set _pregnancyClear.timerEnd to null>> <<set _pregnancyClear.awareOf to null>> <<set _pregnancyClear.awareOfMultiple to null>> <<set _pregnancyClear.awareOfDetails to null>> <<set _pregnancyClear.potentialFathers to []>> <<set $sexStats[($player.vaginaExist ? "vagina" : "anus")].sperm to []>> <<restartMenstruationCycle>> <<set _menstruation.currentState to "normal">> <<set _menstruation.recoveryTime to null>> <<set _menstruation.recoveryTimeStart to null>> <<set _menstruation.recoveryStage to null>> <<run delete C.npc.Alex.pregnancy.pcKnowledge>> <<run delete C.npc.Alex.pregnancy.test>> <<run delete C.npc.Alex.pregnancy.ultraSound>> <<run delete C.npc.Alex.pregnancy.sample>> <<run delete C.npc.Alex.pregnancy.ultraSoundPics>> <</link>> <span class="description">This is a cheat, not an abortion.</span> <<else>> <<if ($playerPregnancyHumanDisable == "f" or $playerPregnancyBeastDisable == "f") and !playerIsPregnant()>> Get pregnant from: <br> <<if $playerPregnancyHumanDisable == "f">> <<link [[A random person|$passage]]>> /* checks if males or females have penises, if there is no people with penises a foreigner impregnates PC */ <<set _impregnator to either("arbitrary", "aimless", "by-the-way", "casual", "driftless", "hit-or-miss", "fluky", "promiscuous", "slapdash", "irresponsible", "careless", "negligent") + " cheater ">> <<if $dgchance gt 0 and $cbchance lt 100>> <<set _impregnator += either("man", "boy", "woman", "girl")>> <<elseif $dgchance gt 0 and $cbchance gt 99>> <<set _impregnator += either("woman", "girl")>> <<elseif $dgchance lt 1 and $cbchance lt 100>> <<set _impregnator += either("man", "boy")>> <<else>> <<set _impregnator += "foreigner">> <</if>> <<playerPregnancy _impregnator "human" true _womb undefined true>> <</link>> <</if>> <<if $playerPregnancyBeastDisable == "f">> <<if $playerPregnancyHumanDisable == "f">> | <</if>> <<link [[A wolf|$passage]]>> <<if $monsterchance gte random(1, 100) and ($hallucinations gte 1 or $monsterhallucinations is "f")>> <<if $dgchance gt 0 and $cbchance lt 100>> <<set _impregnator to either("cheater wolfboy", "cheater wolfgirl")>> <<elseif $dgchance gt 0 and $cbchance gt 99>> <<set _impregnator to "cheater wolfgirl">> <<elseif $dgchance lt 1 and $cbchance lt 100>> <<set _impregnator to "cheater wolfboy">> <<else>> <<set _impregnator to "foreign cheater wolfperson">> <</if>> <<if _impregnator is "cheater wolfgirl">><<set _spermType to "wolfgirl">><<else>><<set _spermType to "wolfboy">><</if>> <<else>> <<if beastMaleChance() gt 0>> /* checks if there are male wolves, if not a foreigner wolf impregnates PC */ <<set _impregnator to "cheater wolf">> <<else>> <<set _impregnator to "cheater foreign wolf">> <</if>> <<set _spermType to "wolf">> <</if>> <<playerPregnancy _impregnator _spermType true _womb undefined true>> <</link>> <</if>> <<for _pregEnabled range _impregnatorNPC>> <<set _actor to $NPCName[_pregEnabled]>> <<if !_eligible.includes(_actor.nam)>> <<continue>> <</if>> <<switch _actor.nam>> <<case "Black Wolf">> <<if $blackwolfmonster>> <<set _spermType to (C.npc["Black Wolf"].pronoun is "f" ? "wolfgirl" : "wolfboy")>> <<else>> <<set _spermType to "wolf">> <</if>> <<case "Great Hawk">> <<if $greathawkmonster>> <<set _spermType to "harpy">> <<else>> <<set _spermType to "hawk">> <</if>> <<default>><<set _spermType to "human">> <</switch>> <<capture _actor, _spermType, _womb>> | <<link [[_actor.nam|$passage]]>> <<playerPregnancy _actor.nam _spermType true _womb undefined true>> <</link>> <</capture>> <</for>> <<if $player.penisExist>> | <<link [[Yourself|$passage]]>> <<playerPregnancy "pc" "human" true _womb undefined true>> <</link>> <</if>> <br><br> <<if $pregnancytype is "realistic">> Add sperm from: <br> <<if $playerPregnancyHumanDisable == "f">> <<link "An anonymous donor">> /* The sperm owner is always the same, anonymous donor, so it helps pregnancy from only one source */ <<recordSperm `{target: "pc", spermOwner: "anonymous donor", spermType: "human", genital: _womb}`>> <<replace "#cheatSpermSources">><span class="gold">$sexStats[_womb].sperm.length</span> <<= $sexStats[_womb].sperm.length is 1 ? "sperm source" : "sperm sources">><</replace>> <</link>> | <<link "A random person">> /* checks if males or females have penises, if there is no people with penises a foreigner inseminates PC */ <<set _impregnator to either("arbitrary", "aimless", "by-the-way", "casual", "driftless", "hit-or-miss", "fluky", "promiscuous", "slapdash", "irresponsible", "careless", "negligent") + " cheater ">> <<if $dgchance gt 0 and $cbchance lt 100>> <<set _impregnator += either("man", "boy", "woman", "girl")>> <<elseif $dgchance gt 0 and $cbchance gt 99>> <<set _impregnator += either("woman", "girl")>> <<elseif $dgchance lt 1 and $cbchance lt 100>> <<set _impregnator += either("man", "boy")>> <<else>> <<set _impregnator += "foreigner">> <</if>> <<recordSperm `{target: "pc", spermOwner: _impregnator, spermType: "human", genital: _womb}`>> <<replace "#cheatSpermSources">><span class="gold">$sexStats[_womb].sperm.length</span> <<= $sexStats[_womb].sperm.length is 1 ? "sperm source" : "sperm sources">><</replace>> <</link>> <</if>> <<if $playerPregnancyBeastDisable == "f">> <<if $playerPregnancyHumanDisable == "f">> | <</if>> <<link "A wolf">> <<if $monsterchance gte random(1, 100) and ($hallucinations gte 1 or $monsterhallucinations is "f")>> <<if $dgchance gt 0 and $cbchance lt 100>> <<set _impregnator to either("cheater wolfboy", "cheater wolfgirl")>> <<elseif $dgchance gt 0 and $cbchance gt 99>> <<set _impregnator to "cheater wolfgirl">> <<elseif $dgchance lt 1 and $cbchance lt 100>> <<set _impregnator to "cheater wolfboy">> <<else>> <<set _impregnator to "foreign cheater wolfperson">> <</if>> <<if _impregnator is "cheater wolfgirl">><<set _spermType to "wolfgirl">><<else>><<set _spermType to "wolfboy">><</if>> <<else>> <<if beastMaleChance() gt 0>> /* checks if there are male wolves, if not a foreigner wolf inseminates PC */ <<set _impregnator to "cheater wolf">> <<else>> <<set _impregnator to "foreign cheater wolf">> <</if>> <<set _spermType to "wolf">> <</if>> <<recordSperm `{target: "pc", spermOwner: _impregnator, spermType: _spermType, genital: _womb}`>> <<replace "#cheatSpermSources">><span class="gold">$sexStats[_womb].sperm.length</span> <<= $sexStats[_womb].sperm.length is 1 ? "sperm source" : "sperm sources">><</replace>> <</link>> <</if>> <<for _pregEnabled range _impregnatorNPC>> <<set _actor to $NPCName[_pregEnabled]>> <<if !_eligible.includes(_actor.nam)>> <<continue>> <</if>> <<switch _actor.nam>> <<case "Black Wolf">> <<if $blackwolfmonster>> <<set _spermType to (C.npc["Black Wolf"].pronoun is "f" ? "wolfgirl" : "wolfboy")>> <<else>> <<set _spermType to "wolf">> <</if>> <<case "Great Hawk">> <<if $greathawkmonster>> <<set _spermType to "harpy">> <<else>> <<set _spermType to "hawk">> <</if>> <<default>><<set _spermType to "human">> <</switch>> <<capture _actor, _spermType, _womb>> | <<link _actor.nam>> <<recordSperm `{target: "pc", spermOwner: _actor.nam, spermType: _spermType, genital: _womb}`>> <<replace "#cheatSpermSources">><span class="gold">$sexStats[_womb].sperm.length</span> <<= $sexStats[_womb].sperm.length is 1 ? "sperm source" : "sperm sources">><</replace>> <</link>> <</capture>> <</for>> <<if $player.penisExist>> | <<link "Yourself">> <<recordSperm `{target: "pc", spermOwner: "pc", spermType: "human", genital: _womb}`>> <<replace "#cheatSpermSources">><span class="gold">$sexStats[_womb].sperm.length</span> <<= $sexStats[_womb].sperm.length is 1 ? "sperm source" : "sperm sources">><</replace>> <</link>> <</if>> <</if>> <</if>> <</if>> <<else>> You are unable to get pregnant. <</if>> <</widget>> <<widget "cheatsImpregOptions">> <span class="gold">Impregnation</span> <<if $player.penisExist and _impregnatableNPC.length>> <br> You can impregnate <span class="gold">_impregnatableNPC.length</span> fertile <<= _impregnatableNPC.length is 1 ? "NPC" : "NPCs">>. <br><br> <<set _fertileNPC to 0>> <<for _pregEnabled range _impregnatableNPC>> <<set _actor to $NPCName[_pregEnabled]>> <<set _actorNameNoSpace to _actor.nam.replace(" ","")>> <<if !_eligible.includes(_actor.nam) or _actor.pregnancy.fetus.length>> <<continue>> <</if>> <<set _fertileNPC += 1>> <<= _actor.nam>>: <br> <<capture _actor>> <<set _linkText to "Impregnate">> <<link [[_linkText|$passage]]>> <<namedNpcPregnancy _actor.nam "pc" "human" true undefined true>> <</link>> <<if $pregnancytype is "realistic">> <<set _linkText to "Inseminate">> - <<link _linkText>> <<recordSperm `{target: _actor.nam, spermOwner: "pc", spermType: "human", genital: "vagina"}`>> <<replace `"#cheatSpermSources" + _actorNameNoSpace`>>(<<= _actor.pregnancy.sperm.length>> doses)<</replace>> <</link>> <span @id="'cheatSpermSources' + _actorNameNoSpace" class="description">(<<= _actor.pregnancy.sperm.length>> doses)</span> <</if>> <<if $cycledisable == "f">> - <<link [[Set cycle to fertile days|$passage]]>> <<set _actor.pregnancy.cycleDay to _actor.pregnancy.cycleDangerousDay - 1>> <</link>> <</if>> <</capture>> <br> <</for>> <<if !_fertileNPC is 0>> You can't impregnate any other NPCs. <</if>> <<else>> <br> You can't currently impregnate any NPCs<<if !$player.penisExist>>, since you have no penis<</if>>. <</if>> <<for _pregEnabled range $NPCName>> /* Checks for any pregnant named NPC. */ <<if npcIsPregnant(_pregEnabled.nam) and _pregEnabled.pregnancy.type isnot "parasite">> <<set _pregnantNPC[_pregEnabled.nam] to $NPCName.indexOf(_pregEnabled)>> <</if>> <</for>> <<if Object.keys(_pregnantNPC).length>> <hr> <span class="gold">Pregnant NPCs</span> <br> <<listbox "_pregnantNPCId" autoselect>> <<optionsfrom _pregnantNPC>> <</listbox>> <br><br> <div id="cheatPregnancyNPC"> <<cheatPregnancyNPC _pregnantNPCId>> </div> <<cheatPregnancyNPCReset>> <</if>> <</widget>> <<widget "cheatPregnancyNPCStepper">> <<numberStepper "Pregnancy progress" _pregnancyNPC.timer { callback: (value, arr) => { $NPCName[arr[0]].pregnancy.timer = value; Wikifier.wikifyEval("<<updatesidebarimg>>"); }, values: [_args[0]], min: 0, max: $NPCName[_args[0]].pregnancy.timerEnd - 0.5, colorArr: ["--teal", "--pink"], activeButtons: ["single", "double"] }>> <</widget>> <<widget "cheatPregnancyNPC">> <<set _pregnancyNPC to $NPCName[_args[0]].pregnancy>> <<set $_fatherName to pregnancyNameCorrection(_pregnancyNPC.fetus[0].father)>> <<= $NPCName[_args[0]].nam>> is pregnant with <<= _pregnancyNPC.type is "wolf" ? "wolve" : _pregnancyNPC.type>>s. <<= $_fatherName === "yourself" ? "You are" : $_fatherName.toUpperFirst() + "is">> the father. <span id="cheatNPCPregnancyProgress"> <<cheatPregnancyNPCStepper _args[0]>> </span> <br> <<link "1st trimester">> <<set _pregnancyNPC.timer to _pregnancyNPC.timerEnd * .05>> <<replace "#cheatNPCPregnancyProgress">><<cheatPregnancyNPCStepper _args[0]>><</replace>> <</link>> - <<link "2nd trimester">> <<set _pregnancyNPC.timer to _pregnancyNPC.timerEnd * .35>> <<replace "#cheatNPCPregnancyProgress">><<cheatPregnancyNPCStepper _args[0]>><</replace>> <</link>> - <<link "3rd trimester">> <<set _pregnancyNPC.timer to _pregnancyNPC.timerEnd * .7>> <<replace "#cheatNPCPregnancyProgress">><<cheatPregnancyNPCStepper _args[0]>><</replace>> <</link>> - <<link "End of pregnancy">> <<set _pregnancyNPC.timer to _pregnancyNPC.timerEnd>> <<replace "#cheatNPCPregnancyProgress">><<cheatPregnancyNPCStepper _args[0]>><</replace>> <</link>> <br><br> <<link [[Clear pregnancy|$passage]]>> <<set _pregnancyNPC.type to null>> <<set _pregnancyNPC.fetus to []>> <<set _pregnancyNPC.waterBreaking to false>> <<set _pregnancyNPC.timer to null>> <<set _pregnancyNPC.timerEnd to null>> <<set _pregnancyNPC.npcAwareOf to null>> <<set _pregnancyNPC.pcAwareOf to null>> <<set _pregnancyNPC.potentialFathers to []>> <<set _pregnancyNPC.sperm to []>> <<set _pregnancyNPC.cycleDay to 1>> <<if _pregnantNPCId is 25>><<run delete C.npc.Alex.pregnancy.selfKnowledge>><</if>> <</link>> <</widget>> <<widget "changeCheatClass">> <<for _class range ["red", "pink", "purple", "blue", "lblue", "teal", "green", "gold"]>> <<removeclass _args[0] _class>> <</for>> <<if _args[1] is "On">><<addclass _args[0] "green">> <<elseif ["Off", "Disabled"].includes(_args[1])>><<addclass _args[0] "red">> <<else>><<addclass _args[0] _statColour>> <</if>> <</widget>> <<widget "cheatsBody">> <<set _bodyTypes to ["masculine", "feminine", "androgynous"]>> <<capture _i>> <<for _i = 0; _i < _bodyTypes.length; _i++>> <span @class="$player.gender_body is _bodyTypes[_i].charAt(0) ? 'goldLink' : 'unselected'"> <<link _bodyTypes[_i].toUpperFirst()>> <<set $player.gender_body to _bodyTypes[_i].charAt(0)>> <<replace "#statsBodyType">><<cheatsBody>><</replace>><<updatesidebarimg>> <</link>> </span> <<= _i lt _bodyTypes.length - 1 ? "|" : "">> <</for>> <</capture>> <</widget>> <<widget "cheatsBodySize">> <<set _size = [6000, 10000, 12000, 16000]>> <<set _label = ["Tiny", "Small", "Normal", "Large"]>> <<capture _i, _size, _label>> <<for _i = 0; _i < _size.length; _i++>> <span @class="$bodysize is _i ? 'goldLink' : 'link'"> <<link _label[_i]>> <<set $bodysize to _i>> <<set _physique_max_old to $physiquesize>> <<set $physiquesize to _size[_i]>> <<set $physique *= $physiquesize / _physique_max_old>> <<replace "#statsBodySize">><<cheatsBodySize>><</replace>> <</link>> </span> <<= _i lt _size.length - 1 ? "|" : "">> <</for>> <</capture>> <</widget>> <<widget "cheatsSpeechAttitude">> <<set _submissiveness = [1500, 1000, 500]>> <<set _attitude = ["meek", "neutral", "bratty"]>> <<capture _i, _submissiveness, _attitude>> <<for _i = 0; _i < _attitude.length; _i++>> <span @class="$speech_attitude is _attitude[_i] ? 'goldLink' : 'link'"> <<link _attitude[_i].toUpperFirst()>> <<set $speech_attitude to _attitude[_i]>> <<set $submissive to _submissiveness[_i]>> <<replace "#statsSpeechAttitude">><<cheatsSpeechAttitude>><</replace>> <</link>> </span> <<= _i lt _attitude.length - 1 ? "|" : "">> <</for>> <</capture>> <</widget>> <<widget "cheatsWeather">> <<set _weatherTypes to ["clear", "lightClouds", "heavyClouds", "lightPrecipitation", "heavyPrecipitation"]>> <<set _dayState to Weather.bloodMoon ? "blood" : Weather.dayState === "night" ? "night" : "day">> <<capture _i, _weatherState, _dayState, _name, _iconType, _weatherIcon>> <<for _i = 0; _i < _weatherTypes.length; _i++>> <<set _weatherState to _weatherTypes[_i]>> <<set _iconType = resolveValue(setup.WeatherGeneration.weatherTypes.find(w => w.name === _weatherState).iconType, "clear")>> <<set _weatherIcon to `<<iconUi 'weather/${_dayState}_${_iconType}.png'>>`>> <<set _weatherName to _weatherState.replace(/([a-z])([A-Z])/g, '$1 $2').toLowerCase().toUpperFirst()>> <<= _weatherIcon.replace("none", "rain")>> <span @class="Weather.name is _weatherState ? 'goldLink' : 'unselected'"> <<link _weatherName>> <<set Weather.set(_weatherState, true, 6 * 60)>> <<replace "#cheatsWeather">><<cheatsWeather>><</replace>> <</link>> </span> <<= _i lt _weatherTypes.length - 1 ? "<br>" : "">> <</for>> <</capture>> <</widget>> <<widget "cheatsSex">> <<set _reasons to []>> <<if $sexStats.vagina.menstruation.currentState isnot "normal">><<set _reasons.push($sexStats.vagina.menstruation.currentState is "recovering" ? "you still being in recovery from your last pregnancy" : "your pregnancy")>><</if>> <<if $earSlime.growth gt 50>><<set _reasons.push("your ear slime's current growth")>><</if>> <<if _inWardrobe>> <<if _reasons.length gte 1>> <span class="gold"><<= $player.sex is "m" ? "Penis" : $player.sex is "f" ? "Vagina" : "Hermaphrodite">></span> | This setting cannot be changed due to <<= _reasons.join(" and ")>>. <<else>> <<if $player.sex is "m">> <span class="gold">Penis</span> | <<else>> <<link "Penis">> <<wash>> <<removeparasite clit>> <<removeparasite penis>> <<set $vaginause to "none">> <<set $vaginastate to "none">> <<set $penisuse to 0>> <<set $penisstate to 0>> <<set $player.gender to "m">> <<set $player.sex to "m">> <<set $player.ballsExist to true>> <<set $player.penisExist to true>> <<set $player.vaginaExist to false>> <<set $sexStats.vagina.menstruation.running = false>> <<updatesidebarimg>> <<replace "#statsGender">><<cheatsSex>><</replace>> <</link>> | <</if>> <<if $player.sex is "f">> <span class="gold">Vagina</span> | <<else>> <<link "Vagina">> <<wash>> <<removeparasite clit>> <<removeparasite penis>> <<set $vaginause to 0>> <<set $vaginastate to 0>> <<set $penisuse to "none">> <<set $penisstate to "none">> <<set $player.gender to "f">> <<set $player.sex to "f">> <<set $player.ballsExist to false>> <<set $player.penisExist to false>> <<set $player.vaginaExist to true>> <<set $sexStats.vagina.menstruation.running = true>> <<updatesidebarimg>> <<replace "#statsGender">><<cheatsSex>><</replace>> <</link>> | <</if>> <<if $player.sex is "h">> <span class="gold">Hermaphrodite</span> <<else>> <<link "Hermaphrodite">> <<wash>> <<removeparasite clit>> <<removeparasite penis>> <<set $vaginause to 0>> <<set $vaginastate to 0>> <<set $penisuse to 0>> <<set $penisstate to 0>> <<set $player.gender to "h">> <<set $player.sex to "h">> <<set $player.penisExist to true>> <<set $player.vaginaExist to true>> <<set $sexStats.vagina.menstruation.running = true>> <<updatesidebarimg>> <<replace "#statsGender">><<cheatsSex>><</replace>> <</link>> <</if>> <</if>> <<if $player.sex is "h">> <br> Hermaphrodite Balls: <span id="statsBallsExist"><<= $player.ballsExist ? "Present" : "Disabled">></span> | <<link "Change">> <<set $player.ballsExist to clone(!$player.ballsExist)>> <<updatesidebarimg>> <<replace "#statsGender">><<cheatsSex>><</replace>> <</link>> <</if>> <<else>> <span class="gold"><<= $player.sex is "m" ? "Penis" : $player.sex is "f" ? "Vagina" : "Hermaphrodite">></span> | <<if _reasons.length gte 1>>You cannot change your genitals due to <<= _reasons.join(" and ")>>. Normally, this<<else>>This<</if>> setting can only be changed when accessing your wardrobe. <</if>> <</widget>> <<widget "cheatSection">> <<switch _args[0]>> <<case "state">> <<numberStepper "Pain" $pain { callback: value => { V.pain = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 200, reverse: true}>> <<numberStepper "Arousal" $arousal { callback: value => { V.arousal = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 10000, reverse: true}>> <<numberStepper "Fatigue" $tiredness { callback: value => { V.tiredness = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 2000, reverse: true}>> <<numberStepper "Stress" $stress { callback: value => { V.stress = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 10000, reverse: true}>> <<numberStepper "Trauma" $trauma { callback: value => { V.trauma = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 5000, reverse: true}>> <<numberStepper "Control" $control { callback: value => { V.control = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 1000}>> <<numberStepper "Alcohol" $drunk { callback: value => { V.drunk = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 1000, reverse: true}>> <<numberStepper "Drugs" $drugged { callback: value => { V.drugged = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 1000, reverse: true}>> <<numberStepper "Hallucinogens" $hallucinogen { callback: value => { V.hallucinogen = value; Wikifier.wikifyEval("<<updatesidebarimg>>") }, max: 1000, reverse: true}>> <<case "crime">> <<for _cr range Object.keys(setup.crimeNames)>> <<capture _cr>> <<numberStepper toTitleCase(setup.crimeNames[_cr]) $crime[_cr].current { callback: (value, arr) => { V.crime[arr[0]].current = value }, max: 10000, step: 10, reverse: true, percentage: false, values: [_cr]}>> <</capture>> <</for>> <<unset _cr>> <<case "negative">> <<numberStepper "Sex" $fame.sex { callback: value => { V.fame.sex = value }, max: 2000, reverse: true}>> <<numberStepper "Prostitution" $fame.prostitution { callback: value => { V.fame.prostitution = value }, max: 2000, reverse: true}>> <<numberStepper "Rape" $fame.rape { callback: value => { V.fame.rape = value }, max: 2000, reverse: true}>> <<numberStepper "Bestiality" $fame.bestiality { callback: value => { V.fame.bestiality = value }, max: 2000, reverse: true}>> <<numberStepper "Pregnancy" $fame.pregnancy { callback: value => { V.fame.pregnancy = value }, max: Math.clamp(playerNormalPregnancyTotal(),1,8) * 250, step: 2000 / 100, percentage: false, reverse: true, valueFormat: (value) => `<b>${Math.round(((value - 0) / (2000 - 0)) * 100)}%</b>`}>> <<numberStepper "Impregnation" $fame.impreg { callback: value => { V.fame.impreg = value }, max: 2000, reverse: true}>> <<numberStepper "Exhibitionism" $fame.exhibitionism { callback: value => { V.fame.exhibitionism = value }, max: 2000, reverse: true}>> <<if playerNormalPregnancyTotal() lt 8>> <span class="description"><<set _pregsNeeded to Math.trunc(8-playerNormalPregnancyTotal())>> Your pregnancy fame is capped by the amount of pregnancies you've had. You need to get pregnant <span class="gold"><<number _pregsNeeded>></span> more <<= _pregsNeeded is 1 ? "time" : "times">> to reach maximum pregnancy fame.</span> <</if>> <<case "positive">> <<numberStepper "Combat" $fame.scrap { callback: value => { V.fame.scrap = value }, max: 2000}>> <<numberStepper "Kindness" $fame.good { callback: value => { V.fame.good = value }, max: 2000}>> <<numberStepper "Business" $fame.business { callback: value => { V.fame.business = value }, max: 2000}>> <<numberStepper "Socialite" $fame.social { callback: value => { V.fame.social = value }, max: 2000}>> <<numberStepper "Model" $fame.model { callback: value => { V.fame.model = value }, max: 2000}>> <<case "skills">> <<numberStepper "Skulduggery" $skulduggery "skulduggery" {max: 1000}>> <<numberStepper "Dance" $danceskill "danceskill" {max: 1000}>> <<numberStepper "Swimming" $swimmingskill "swimmingskill" {max: 1000}>> <<numberStepper "Athletics" $athletics "athletics" {max: 1000}>> <<numberStepper "Tending" $tending "tending" {max: 1000}>> <<numberStepper "Housekeeping" $housekeeping "housekeeping" {max: 1000}>> <<case "school">> /* normally, school traits are adjusted by the widget "school_skill_change" */ <<numberStepper "<<scienceicon>> Science" $science "science" { callback: (value) => wikifier('adjust_school_traits'), max: 1000 }>> <<numberStepper "<<mathicon>> Maths" $maths "maths" { callback: (value) => wikifier('adjust_school_traits'), max: 1000 }>> <<numberStepper "<<englishicon>> English" $english "english" { callback: (value) => wikifier('adjust_school_traits'), max: 1000 }>> <<numberStepper "<<historyicon>> History" $history "history" { callback: (value) => wikifier('adjust_school_traits'), max: 1000 }>> <<case "characteristics">> <<numberStepper "<<tficon angel>> Purity" $purity "purity" {max: 1000}>> <<numberStepper "<<symbol beauty>> Beauty" $beauty "beauty" {max: 10000}>> <<numberStepper "<<symbol physique>> Physique" $physique "physique" {max: $physiquesize}>> <<numberStepper "<<symbol willpower>> Willpower" $willpower "willpower" {max: 1000}>> <<numberStepper "<<symbol awareness>> Awareness" $awareness "awareness" {min: -200, max: 1000, reverse: true}>> <<numberStepper "<<symbol promiscuity>> Promiscuity" $promiscuity "promiscuity" {reverse: true}>> <<numberStepper "<<symbol exhibitionism>> Exhibitionism" $exhibitionism "exhibitionism" {reverse: true}>> <<numberStepper "<<symbol deviancy>> Deviancy" $deviancy "deviancy" {reverse: true}>> <<if numberOfEarSlime()>> <<numberStepper "<<symbol corruption>> Corruption" $earSlime.corruption { callback: value => {V.earSlime.corruption = value; Wikifier.wikifyEval("<<updatesidebarimg>>")}, reverse: true}>> <</if>> <<case "sex">> <<numberStepper "Seduction" $seductionskill "seductionskill" {max: 1000}>> <<numberStepper "Chest" $chestskill "chestskill" {max: 1000}>> <<numberStepper "Buttocks" $bottomskill "bottomskill" {max: 1000}>> <<if $player.vaginaExist>><<numberStepper "Vaginal" $vaginalskill "vaginalskill" {max: 1000}>><</if>> <<if $player.penisExist>><<numberStepper "Penile" $penileskill "penileskill" {max: 1000}>><</if>> <<numberStepper "Thighs" $thighskill "thighskill" {max: 1000}>> <<numberStepper "Oral" $oralskill "oralskill" {max: 1000}>> <<numberStepper "Hands" $handskill "handskill" {max: 1000}>> <<numberStepper "Anal" $analskill "analskill" {max: 1000}>> <<numberStepper "Feet" $feetskill "feetskill" {max: 1000}>> <<default>> ERROR: Skill issue. <</switch>> <</widget>><<widget "feats">> <<updateFeats>> <br> As you play through Degrees of Lewdity, you will obtain <span class="gold">feats</span> by completing different tasks. The more feats you earn, the more <span class="gold">VrelCoins</span> you will earn. When you start a new game, your VrelCoins can be used to purchase <span class="gold">feat boosters</span>. These boosters grant you bonuses in your next game. <br><br> This tab displays all the feats that have been unlocked in your <span class="gold">most recently loaded save</span>, which will carry over to your next playthrough. VrelCoins are earned linearly, over the course of a single playthrough. <span class="red">Save-hopping may cause your VrelCoins and unlocked feats to disappear from this page.</span> <br><br> Multiple runs are necessary in order to achieve all feats. If you have multiple saves with different feats earned, you will be able to combine these feats when you start a new game by using the <span class="gold">Import all feats</span> button on the Feat Boosters page. Keep this in mind if you are aiming for 100% completion! <br><br> Some feats display as earned as soon as you meet the requirements, while others won't trigger until the next in-game hour. Happy hunting! <br><br> <<if $feats.locked>> <span class="red">You can't earn feats as you have enabled cheats at some point.</span> <<elseif $debug is 1>> <span class="red">Feats are disabled during debug mode.</span> <<elseif $replayScene isnot undefined>> <span class="red">Feats are disabled during replay mode.</span> <<elseif $feats.soft or $feats.pregnancyLocked>> <span class="red">Some feats are locked in this current game.</span> <<else>> <span class="green">You can earn feats.</span> <</if>> <br><br> You currently have <<if $feats.allSaves.point is undefined>><span class="gold"><<print $feats.allSaves.points>></span><<else>><span class="red">0</span><</if>> VrelCoins. <br><br> <<set $feats.filter to "General">> Filter by: <select id="featTypes" name="featTypes" onchange="V.feats.filter = this.value; Wikifier.wikifyEval('<<replace #featsList>><<featsList>><</replace>>')"> <option value="General" selected>General</option> <option value="Stats">Stats</option> <option value="Social">Social</option> <option value="Transformation">Transformation</option> <option value="Discoveries-Town">Discoveries - In Town</option> <option value="Discoveries-Other">Discoveries - Outside Town</option> <option value="Special">Special</option> <option value="Pregnancy">Pregnancy</option> <option value="General" hidden="hidden" selected="selected">General</option> </select> <br><br> <div id="featsList"> <<featsList>> </div> <</widget>> <<widget "featsList">> <<set _skip to []>> <<set _filter to "All">> <<set _keys to Object.keys(setup.feats)>> <<for _i to 0; _i lt _keys.length; _i++>> <<if !setup.feats[_keys[_i]].filter.includes($feats.filter)>> <<continue>> <</if>> <<if Object.keys($feats.currentSave).includes(_keys[_i])>> <<set _owned to 2>> <<elseif Object.keys($feats.allSaves).includes(_keys[_i])>> <<set _owned to 1>> <<else>> <<set _owned to 0>> <<if setup.feats[_keys[_i]].hidden or _skip.includes(setup.feats[_keys[_i]].series)>> <<continue>> <</if>> <<if setup.feats[_keys[_i]].series isnot "">> <<set _skip.push(setup.feats[_keys[_i]].series)>> <</if>> <</if>> <div class="feat"> <div class="featImage"> <<if _owned gt 0>> <<switch setup.feats[_keys[_i]].difficulty>> <<case 1>><img @src="'img/ui/CopperCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')"> <<case 2>><img @src="'img/ui/SilverCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(75%) contrast(85%);':'')"> <<case 3>><img @src="'img/ui/GoldCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')"> <<case 4>><img @src="'img/ui/PlatinumCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')"> <<case 5>><img @src="'img/ui/JeweledCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')"> <</switch>> <<else>> <img class="dot"> <</if>> </div> <div class="featText"> <<if ($feats.pregnancyLocked and setup.feats[_keys[_i]].pregnancyLockable) or ($feats.pregnancySillyLocked and setup.feats[_keys[_i]].pregnancySillyLockable) or ($feats.soft and setup.feats[_keys[_i]].softLockable) or $feats.locked or ($gamemode is "soft" or $alluremod lt 1)>> <<set _titleColor to " red">> <<else>> <<set _titleColor to "">> <</if>> <<if _owned gt 0 or setup.feats[_keys[_i]].hint is undefined>> <span @class="'title' + _titleColor"><<print setup.feats[_keys[_i]].title>></span> <br> <span class="text"><<print setup.feats[_keys[_i]].desc>></span> <<else>> <span @class="'title' + _titleColor">?????</span> <br> <span class="text"><<print setup.feats[_keys[_i]].hint>></span> <</if>> <br> <<if _owned is 2>> <span class="text">Earned on: <<print new Date($feats.currentSave[_keys[_i]]).toLocaleString(returnTimeFormat())>></span> <<elseif _owned is 1>> <span class="text">Originally Earned on: <<print new Date($feats.allSaves[_keys[_i]]).toLocaleString(returnTimeFormat())>></span> <</if>> </div> </div> <</for>> <</widget>> /*Feat Popup*/ <<widget "displayFeat">> <<silently>> <<if _featsCount is undefined>> <<set _featsCount to 0>> <<else>> <<set _featsCount++>> <</if>> <</silently>> <<capture _featsCount>> <div @id="'feat-' + _featsCount" @class="'feat feat' + _featsCount + (_featsCount gte 3 ? ' hiddenFeat' : '') + ' feat-overlay'"> <div class="featImage"> <<switch setup.feats[_args[0]].difficulty>> <<case 1>><img src="img/ui/CopperCoin.gif" class="featCoin"> <<case 2>><img src="img/ui/SilverCoin.gif" class="featCoin"> <<case 3>><img src="img/ui/GoldCoin.gif" class="featCoin"> <<case 4>><img src="img/ui/PlatinumCoin.gif" class="featCoin"> <<case 5>><img src="img/ui/JeweledCoin.gif" class="featCoin"> <</switch>> </div> <div class="featText"> <span class="title"><<print setup.feats[_args[0]].title>></span> <br> <span class="text"><<print setup.feats[_args[0]].desc>></span> </div> <div @id="'closeFeat-' + _featsCount" class="closeFeat" @onclick="'closeFeats('+ _featsCount +')'"></div> </div> <</capture>> <</widget>> /*Feat Points Menu*/ <<widget "featsPointsMenu">> <div id="featsStats" class="settingsToggleIndent"> <<if $feats.allSaves.points is undefined or $feats.allSaves.points is 0>> You have earned a lifetime total of <span class="red">0 VrelCoins</span> and cannot purchase Feat Boosters. <br> <span class="black small-description">If this is incorrect, please load your last save and restart.</span> <<else>> You have earned a lifetime total of <span class="green"><<print $feats.allSaves.points>> VrelCoins.</span> <</if>> </div> /*Have to do this due to the `????` names*/ <<set _listbox to '<<listbox "_upgradeNameID" autoselect>>'>> <<for $_i to 0; $_i lt _upgradeNames.length; $_i++>> <<if !$featsBoosts.upgradeDetails[_upgradeNames[$_i]].hidden>> <<set _listbox += '<<option _visibleUpgradeNames[' + $_i + '] _visibleUpgradeIDs[' + $_i + ']>>'>> <</if>> <</for>> <<set _upgradeName to _upgradeNames[_upgradeNameID or 0]>> <<set _listbox += '<</listbox>>'>> <span class="gold settingsToggleIndent">Jump to a specific feat boost:</span> <<print _listbox>> <div class="settingsGridFeats"> <div class="settingsHeader"> <span id="featName"><<featName>></span> <br> <span style="font-size:80%;"> <<link "Previous">> <<set _upgradeNameID-->> <<if _upgradeNameID lt 0>> <<set _upgradeNameID to _upgradeNames.length - 1>> <</if>> <<if $featsBoosts.upgradeDetails[_upgradeNames[_upgradeNameID]].hidden>> <<for _upgradeNameID; $featsBoosts.upgradeDetails[_upgradeNames[_upgradeNameID]].hidden; _upgradeNameID-->> <</for>> <</if>> <<set _upgradeName to _upgradeNames[_upgradeNameID]>> <<updateFeatsPointsMenu>> <<updateFeatName>> <</link>> | <<link "Next">> <<set _upgradeNameID++>> <<if _upgradeNameID gte _upgradeNames.length>> <<set _upgradeNameID to 0>> <</if>> <<if $featsBoosts.upgradeDetails[_upgradeNames[_upgradeNameID]].hidden>> <<for _upgradeNameID; $featsBoosts.upgradeDetails[_upgradeNames[_upgradeNameID]].hidden; _upgradeNameID++>> <<if (_upgradeNameID + 1) gte _upgradeNames.length>> <<set _upgradeNameID to 0>> <<break>> <</if>> <</for>> <</if>> <<set _upgradeName to _upgradeNames[_upgradeNameID]>> <<updateFeatsPointsMenu>> <<updateFeatName>> <</link>> </span> </div> /*<<set _upgradeName to _upgradeNames[_upgradeNameID]>>*/ <div @id="'feats-' + _upgradeName" class="settingsToggleItem"> <<featsMenu _upgradeName>> <<if $featsBoosts.pointsUsed isnot 0>> <hr> Purchased Feat Boosts: <ul> <<for $_i to 0; $_i lt _upgradeNames.length; $_i++>> <<if $featsBoosts.upgrades[_upgradeNames[$_i]] gt 0>> <li> <<switch _upgradeNames[$_i]>> <<case "randomClothing">> <<print ($featsBoosts.clothingGender is "Either" ? "Male and Female" : $featsBoosts.clothingGender)>> <<print $featsBoosts.name[_upgradeNames[$_i]]>>: <span class="gold"><<print $featsBoosts.upgrades[_upgradeNames[$_i]]>></span> coins <<default>> <<print $featsBoosts.name[_upgradeNames[$_i]]>>: <span class="gold"><<print $featsBoosts.upgrades[_upgradeNames[$_i]]>></span> coins <</switch>> </li> <</if>> <</for>> </ul> You have<span class="green"> <<print $feats.allSaves.points - $featsBoosts.pointsUsed>> VrelCoins</span> left to spend on Feat Boosts. <</if>> </div> </div> <</widget>> <<widget "updateFeatName">> <<replace #featName>> <<featName>> <</replace>> <</widget>> <<widget "featName">> <<set _details to $featsBoosts.upgradeDetails[_upgradeName]>> <<set _count to _details.count>> <<if _count gte _details.minCount>> <<switch _upgradeName>> <<case "money">> <span class="gold">Starting Money</span> <<case "grades">> <span class="gold">Starting School Grades</span> <<case "purity" "impurity">> <span class="gold" style="text-transform: capitalize;">Daily _upgradeName Boost</span> <<case "newLife">> <span class="gold">A New Life</span> <<case "aNewBestFriend">> <span class="gold">A New Best Friend</span> <<case "randomClothing">> <span class="gold">Random Clothing</span> <<case "tattoos">> <span class="gold">Starting Tattoos</span> <<case "specialClothing">> <span class="gold">Special Clothing</span> <<case "sexToys">> <span class="gold">Sex Toys</span> <<default>> <span class="gold" style="text-transform: capitalize;">Starting _upgradeName Grade</span> <</switch>> <<else>> <span class="red">?????</span> <</if>> <</widget>> <<widget "featsMenu">> <<set _name to _args[0]>> <<capture _name>> <<set _details to $featsBoosts.upgradeDetails[_name]>> <<set _count to _details.count>> <<if _count gte _details.minCount>> <<if $feats.allSaves.points is undefined or $feats.allSaves.points is 0>> <span class="red">Earn some VrelCoins in order to purchase this feat boost!</span> <<else>> <<switch _name>> <<case "money">> You will start the game with <span class="green"> £<<print $money/100 + $featsBoosts.upgrades.money * 50 * _count / _details.cost>>.00</span>. <<case "grades">> You will start the game with <<if $featsBoosts.upgrades.grades / _details.cost is 2>><span class="lblue">B</span><<elseif $featsBoosts.upgrades.grades / _details.cost is 1>><span class="blue">C</span><<else>><span class="purple">D</span><</if>> grades. <<case "purity">> <<if ($featsBoosts.upgrades[_name] / _details.cost) is 0>> You will always gain <span class="green">1</span> point of purity per day. Purchased purity boosts will increase your daily purity gain. <i>Actions you take can negate or amplify your purity gains.</i> <<else>> You will always gain <span class="green"><<print 1+$featsBoosts.upgrades[_name] / _details.cost>></span> points of purity per day. <i>Actions you take can negate or amplify your purity gains.</i> <</if>> <<case "impurity">> <<if ($featsBoosts.upgrades[_name] / _details.cost) is 0>> You will always gain <span class="green">1</span> point of purity per day. Purchased impurity boosts will counteract this daily purity gain. <i>Actions you take can negate or amplify your purity losses.</i> <<elseif ($featsBoosts.upgrades[_name] / _details.cost) is 1>> You will always lose <span class="red">1</span> point of purity per day. This cancels out the daily point of purity you would normally gain at midnight. <i>Actions you take can negate or amplify your purity losses.</i> <<elseif ($featsBoosts.upgrades[_name] / _details.cost) is 2>> You will always lose <span class="red">1</span> point of purity per day. <i>Actions you take can negate or amplify your purity losses.</i> <<else>> You will always lose <span class="red"><<print $featsBoosts.upgrades[_name] / _details.cost - 1>></span> points of purity per day. <i>Actions you take can negate or amplify your purity losses.</i> <</if>> <<case "newLife">> You will start the game <<print ($featsBoosts.upgrades.newLife is 0 ? "<span class='red'>without</span>" : "<span class='green'>with</span>")>> a parasite. <<case "aNewBestFriend">> You will start the game <<switch $featsBoosts.upgrades.aNewBestFriend>> <<case 0>><span class='red'>without</span> an ear slime. <<case 10>><span class='green'>with</span> an ear slime. <<case 20>><span class='green'>with two</span> ear slimes. <</switch>> <<case "randomClothing">> You will start the game with <span class="gold"><<print 3 * $featsBoosts.upgrades.randomClothing / _details.cost>></span> random clothing items. <<case "tattoos">> <<if $featsBoosts.upgrades.tattoos / _details.cost is 0>> You will start the game with <span class="red">no</span> tattoos. <<elseif $featsBoosts.upgrades.tattoos / _details.cost is 1>> You will start the game with <span class="green">1</span> tattoo. <<else>> You will start the game with <span class="green"><<print $featsBoosts.upgrades.tattoos / _details.cost>></span> tattoos. <</if>> <<case "specialClothing">> You will start the game with special clothing from the Forest Shop <<print ($featsBoosts.upgrades.specialClothing is 0?"<span class='red'>locked</span>":"<span class='green'>unlocked</span>")>>. This booster won't automatically unlock new clothing items that have been added. <<case "sexToys">> You will start the game with <<if $featsBoosts.upgrades[_name] / _details.cost is 0>> <span class="red">no</span> sex toys. <<elseif $featsBoosts.upgrades[_name] / _details.cost gte 1>> <span class="green"><<print 3 * $featsBoosts.upgrades.sexToys / _details.cost>></span> sex toys. <</if>> <<default>> You will start the game with <<if $featsBoosts.upgrades[_name] / _details.cost is 1>> _name at level <span class="pink">F+</span>. <<elseif $featsBoosts.upgrades[_name] / _details.cost is 2>> _name at level <span class="purple">D</span>. <<elseif $featsBoosts.upgrades[_name] / _details.cost is 3>> _name at level <span class="purple">D+</span>. <<elseif $featsBoosts.upgrades[_name] / _details.cost is 4>> _name at level <span class="blue">C</span>. <<else>> <span class="red">no</span> proficiency in _name. <</if>> <</switch>> <<if _name is "randomClothing">> <br> <span class="gold bold">Clothing Type: </span> <label><<print '<<radiobutton "$featsBoosts.clothingGender" "Either" ' + ($featsBoosts.clothingGender is "Either" ? "checked" : "") + '>>'>> Either</label> | <label><<print '<<radiobutton "$featsBoosts.clothingGender" "Male" ' + ($featsBoosts.clothingGender is "Male" ? "checked" : "") + '>>'>> Male</label> | <label><<print '<<radiobutton "$featsBoosts.clothingGender" "Female" ' + ($featsBoosts.clothingGender is "Female" ? "checked" : "") + '>>'>> Female</label> <br> <span class="gold bold">Enable Custom Colour (expect crazy results): </span> <label><<print '<<radiobutton "$featsBoosts.clothingCustomColors" false ' + ($featsBoosts.clothingCustomColors is false ? "checked" : "") + '>>'>> No</label> | <label><<print '<<radiobutton "$featsBoosts.clothingCustomColors" true ' + ($featsBoosts.clothingCustomColors is true ? "checked" : "") + '>>'>> Yes</label> <</if>> <<if _details.exclusive is "" or $featsBoosts.upgrades[_details.exclusive] is 0>> <<featsPointsMenuButtons _name _details.cost _details.limit>> <<else>> <span class="red">Remove _details.exclusive upgrades to make use of this upgrade.</span> <</if>> <<if _name is "tattoos">> <<set _totalTattoos to $featsBoosts.upgrades.tattoos / _details.cost>> <<if _tattooNumber is undefined or _tattooNumber gt _totalTattoos>> <<set _tattooNumber to Math.clamp(_totalTattoos, 1, $featsBoosts.upgradeDetails.tattoos.limit / _details.cost)>> <</if>> <<if _totalTattoos gt 0>> <div class="settingsGrid" style="margin:10px 0px"> <div class="settingsHeader">Tattoo <<print _tattooNumber>> <br> <<if _tattooNumber gte 1 and _totalTattoos gt 1>> <span style="font-size:80%;"> <<link "Previous Tattoo">> <<set _tattooNumber-->> <<if _tattooNumber lte 0>> <<set _tattooNumber to _totalTattoos>> <</if>> <<replace #featsPointsMenu>><<featsPointsMenu>><</replace>> <</link>> | <<link "Next Tattoo">> <<set _tattooNumber++>> <<if _tattooNumber gt _totalTattoos>> <<set _tattooNumber to 1>> <</if>> <<replace #featsPointsMenu>><<featsPointsMenu>><</replace>> <</link>> </span> <</if>> </div> <div class="settingsToggleItem"> <span class="listMargin"> <span class="gold">Tattoo Type:</span> <<set _penOptions to ["Tattoo","Brand"]>> <<listbox `"$featsBoosts.tattoos["+_tattooNumber+"].pen"` autoselect>> <<optionsfrom _penOptions>> <</listbox>> </span> </div> <div class="settingsToggleItem"> <span class="gold">Tattoo Location:</span> <<set _bodyPartOptions to ["Forehead","Left cheek","Right cheek","Left shoulder","Right shoulder","Back","Breasts","Left bottom","Right bottom","Left thigh","Right thigh","Pubic"]>> <<for _l to 1; _l lte _totalTattoos; _l++>> <<if _tattooNumber is _l>> <<continue>> <</if>> <<run _bodyPartOptions.delete($featsBoosts.tattoos[_l].bodypart)>> <</for>> <<listbox `"$featsBoosts.tattoos["+_tattooNumber+"].bodypart"` autoselect>> <<option "Random">> <<optionsfrom _bodyPartOptions>> <</listbox>> </div> <div @id="_tattooNumber + 'tattooFilter'" class="settingsToggleItem"> <<tattooFilter>> </div> <div @id="_tattooNumber + 'tattooList'" class="settingsToggleItem"> <<tattooList>> </div> </div> <<run $(() => { const currentList = '#' + _tattooNumber + 'tattooList'; const currentFilterId = '#' + _tattooNumber + 'tattooFilter'; $(currentFilterId + ' select').on('input change', e => { new Wikifier(null, `<<print "${currentList}">> <<replace "${currentList}">><<tattooList>><</replace>>`); }).trigger('change'); })>> <</if>> <</if>> <<if _name is "sexToys">> <div id="sexToys"><<sexToysFeatUI>></div> <</if>> <<if _name is "aNewBestFriend" and $featsBoosts.upgradeDetails.aNewBestFriend.count gte 2>> <div id="aNewBestFriend"> <label>Earslime starting type: <<listbox "$featsBoosts.earSlimeType" autoselect>> <<option "Immature and passive" "immaturePassive">> <<option "Immature and aggressive" "immatureAggressive">> <<option "Partly grown and aggressive" "grownAggressive">> <</listbox>> </label> </div> <</if>> <</if>> <<else>> <span class="red"><<print $featsBoosts.missing[_name]>></span> <</if>> <</capture>> <</widget>> <<widget "tattooFilter">> <span class="gold">Filter designs by:</span> <<set _tattooFilters = { "All" : "all", "Image" : "object", "Text" : "text", "Masculine" : "m", "Feminine" : "f", "Bestiality" : "bestiality", "Cattle" : "cattle", "Combat" : "combat", "Criminal" : "criminal", "Exhibitionism" : "exhibitionism", "Prostitution" : "prostitution", "Rape" : "rape", "Sex" : "sex", "Violence" : "violence", "Pregnancy" : "pregnancy", "Impreg" : "impreg", }>> <<listbox `"$tattooFilter"+_tattooNumber` autoselect>> <<optionsfrom _tattooFilters>> <</listbox>> <</widget>> <<widget "tattooList">> <span class="gold">Tattoo Design:</span> <<featsTattooOptions>> <<listbox `"$featsBoosts.tattoos["+_tattooNumber+"].tattoo"` autoselect>> <<option "Random">> <<optionsfrom _featsTattooOptions>> <</listbox>> <</widget>> <<widget "featsTattooOptions">> <<if _featsTattooAll is undefined>> <<set _featsTattooAll to []>> <<for _value range setup.bodywriting>> <<if _value.featSkip is true>> <<continue>> <</if>> <<run _featsTattooAll.push(_value.writing)>> <</for>> <</if>> <<set _featsTattooOptions to []>> <<switch _tattooNumber>> <<case 1>><<set _tattooFilter to $tattooFilter1>> <<case 2>><<set _tattooFilter to $tattooFilter2>> <<case 3>><<set _tattooFilter to $tattooFilter3>> <<case 4>><<set _tattooFilter to $tattooFilter4>> <<case 5>><<set _tattooFilter to $tattooFilter5>> <</switch>> <<for _value range setup.bodywriting>> <<if (_tattooFilter is "all" and _value.featSkip) or (_tattooFilter is "object" and (_value.featSkip or _value.type isnot _tattooFilter)) or (_tattooFilter is "text" and (_value.featSkip or _value.type isnot _tattooFilter)) or (_tattooFilter is "m" and (_value.featSkip or _value.gender isnot _tattooFilter)) or (_tattooFilter is "f" and (_value.featSkip or _value.gender isnot _tattooFilter)) or (_tattooFilter isnot "all" and _tattooFilter isnot "object" and _tattooFilter isnot "text" and _tattooFilter isnot "m" and _tattooFilter isnot "f" and (_value.featSkip or _value.special isnot _tattooFilter))>> <<continue>> <</if>> <<run _featsTattooOptions.push(_value.writing)>> <</for>> <</widget>> <<widget "featsPointsMenuButtons">> <<set _type to _args[0]>> <<set _multi to _args[1]>> /*_details.cost */ <<set _max to _args[2]>> /*_details.limit */ <<set _maxupgrades to _max/_multi - ($featsBoosts.upgrades[_name] / _details.cost)>> <<set _totalUpgrades to _max/_multi>> <<set _purchasedUpgrades to $featsBoosts.upgrades[_name] / _details.cost>> <br><br> <span class="gold bold">Upgrades:</span> <br> <div style="margin-bottom:10px;"> <<switch _name>> <<case "money">> Each purchased upgrade will add <span class="green">£<<print $featsBoosts.upgradeDetails.money.limit * 5>></span> to your starting money. <<case "grades">> Each purchased upgrade will raise your starting school grades by <span class="green">one letter grade.</span> <<case "purity">> Each purchased upgrade will increase your daily purity by one point per level. <<case "impurity">> Each purchased upgrade will decrease your daily purity by one point per level. <<case "newLife">> <<if _totalUpgrades is 2>> Purchase the first upgrade to start the game with a hermaphrodite tentacle parasite. Purchase the second upgrade to give it perfect activity; otherwise it will have random activity. <<else>> Purchase the first upgrade to start the game with a hermaphrodite tentacle parasite with random activity. Acquire a second broodmother feat to give it perfect activity. <</if>> <<case "aNewBestFriend">> Purchase this upgrade to start the game with an ear slime parasite. <<case "randomClothing">> Each purchased upgrade gives you three random clothing items of the specified gender. <<case "tattoos">> Each purchased upgrade will allow you to get one starting tattoo or brand of your choice. <<case "specialClothing">> Purchase this upgrade to unlock previously unlocked special clothes. <<case "sexToys">> Each purchased upgrade will give you three starting sex toys of your choice. <<default>> Each purchased upgrade will raise your _name level by <span class="green">one letter grade.</span> <</switch>> </div> <<capture _type _multi _max>> <div class="featButtonContainer"> <<if _multi is undefined>> <<set _multi to 1>> <</if>> <<if _max is undefined>> <<set _max to 20>> <</if>> <<if $featsBoosts.upgrades[_type] gte 1 * _multi>> <div class="featButton roundl"> <<button "<span class='fa-icon fa-left'></span><span class='fa-icon fa-left'></span>">> <<print "<<updateFeatsPointsMenu _type " + (-1 * (_purchasedUpgrades * _multi)) +">>">> <</button>> </div> <<else>> <div class="featButtonGrey roundl"> <<button "<span class='fa-icon fa-left'></span><span class='fa-icon fa-left'></span>">> <</button>> </div> <</if>> <<if $featsBoosts.upgrades[_type] gte 1 * _multi>> <div class="featButton"> <<button "<span class='fa-icon fa-left'></span>">> <<print "<<updateFeatsPointsMenu _type " + (-1 * _multi) +">>">> <</button>> </div> <<else>> <div class="featButtonGrey"> <<button "<span class='fa-icon fa-left'></span>">> <</button>> </div> <</if>> <div class="gold featButton buttonDisable"> <<button "_purchasedUpgrades / _totalUpgrades">> <</button>> </div> <<if $featsBoosts.upgrades[_type] / _multi lt _totalUpgrades and $feats.allSaves.points - $featsBoosts.pointsUsed gte 1 * _multi>> <div class="featButton"> <<button "<span class='fa-icon fa-right'></span>">> <<print "<<updateFeatsPointsMenu _type " + (1 * _multi) +">>">> <</button>> </div> <<else>> <div class="featButtonGrey"> <<button "<span class='fa-icon fa-right'></span>">> <</button>> </div> <</if>> <<if $featsBoosts.upgrades[_type] / _multi lt _totalUpgrades and $feats.allSaves.points - $featsBoosts.pointsUsed gte _maxupgrades * _multi>> <div class="featButton roundr"> <<button "<span class='fa-icon fa-right'></span><span class='fa-icon fa-right'></span>">> <<print "<<updateFeatsPointsMenu _type " + (_maxupgrades * _multi) +">>">> <</button>> </div> <<else>> <div class="featButtonGrey roundr"> <<button "<span class='fa-icon fa-right'></span><span class='fa-icon fa-right'></span>">> <</button>> </div> <</if>> </div> <div class=" black small-description" style="margin-top:10px;">(<span class="gold">_details.cost <<print (_details.cost is 1 ? "VrelCoin" : "VrelCoins")>></span> per upgrade)</div> <<if _type is "tending">> <div style="margin-top:10px;"> <span class="green">Green Thumb</span> - More bountiful crops and no decay when using fertiliser. Start with one fertiliser. <div class="featButton roundl roundr" style="margin-top:5px;"> <<if $feats.allSaves.points - $featsBoosts.pointsUsed gte $featsBoosts.upgradeDetails.greenThumb.cost and !$featsBoosts.upgrades.greenThumb>> <<button "Start with this trait">><<print "<<updateFeatsPointsMenu greenThumb $featsBoosts.upgradeDetails.greenThumb.cost>>">><</button>> <<elseif $featsBoosts.upgrades.greenThumb>> <<button "Remove this trait">><<print "<<updateFeatsPointsMenu greenThumb " + (-1 * $featsBoosts.upgradeDetails.greenThumb.cost) + ">>">><</button>> <</if>> </div> </div> <div class=" black small-description" style="margin-top:10px;">(<span class="gold"><<print "$featsBoosts.upgradeDetails.greenThumb.cost">> VrelCoins</span> to purchase)</div> <</if>> <</capture>> <</widget>> <<widget "sexToysFeatUI">> <<set _totalToys to $featsBoosts.upgrades.sexToys / 10>> <<if _toyNumber is undefined or _toyNumber gt _totalToys>> <<set _toyNumber to 0>> <</if>> <<if _toys is undefined>> <<set _toys to {}>> <<run Object.values(setup.sextoys).forEach(toy => T.toys[toy.namecap] = toy.index)>> <</if>> <<if _totalToys gt 1>> <div class="settingsGrid" style="margin:10px 0px"> <div class="settingsHeader">Toy <<print _toyNumber+1>> <br> <<if _toyNumber gte 0 and _totalToys gt 1>> <span style="font-size:80%;"> <<link "Previous Toy">> <<set _toyNumber-->> <<if _toyNumber lt 0>> <<set _toyNumber to _totalToys-1>> <</if>> <<replace #featsPointsMenu>><<featsPointsMenu>><</replace>> <</link>> | <<link "Next Toy">> <<set _toyNumber++>> <<if _toyNumber+1 gt _totalToys>> <<set _toyNumber to 0>> <</if>> <<replace #featsPointsMenu>><<featsPointsMenu>><</replace>> <</link>> </span> <</if>> </div> <div class="settingsToggleItem"> <span class="gold">Sex Toy:</span> <div id="sexToysFeatUIIndex"> <<listbox "$featsBoosts.sexToys[_toyNumber].index" autoselect>> <<option "Random" -1>> <<optionsfrom _toys>> <</listbox>> </div> </div> <div id="sexToysFeatUIColour"> <<sexToysFeatUIColour>> </div> </div> <<run $(() => { $('#sexToysFeatUIIndex select').on('input change', e => { new Wikifier(null, "<<replace '#sexToysFeatUIColour'>><<sexToysFeatUIColour>><</replace>>"); }).trigger('change') })>> <</if>> <</widget>> <<widget "sexToysFeatUIColour">> <<if $featsBoosts.sexToys[_toyNumber].index isnot undefined and $featsBoosts.sexToys[_toyNumber].index isnot -1>> <<set _toyColours to {}>> <<set _selectedToy to Object.values(setup.sextoys).find(toy => toy.index === V.featsBoosts.sexToys[T.toyNumber].index)>> <<if _selectedToy and _selectedToy.colour_options and _selectedToy.colour_options.length>> <<run _selectedToy.colour_options.forEach(colour => _toyColours[colour] = colour)>> <</if>> <<else>> <<set _toyColours to {}>> <</if>> <<if Object.values(_toyColours).length gt 1>> <div class="settingsToggleItem"> <span class="gold">Colour:</span><br> <<listbox "$featsBoosts.sexToys[_toyNumber].colour" autoselect>> <<option "Random" -1>> <<optionsfrom _toyColours>> <</listbox>> </div> <</if>> <</widget>> <<widget "updateFeatsPointsMenu">> <<if $feats.allSaves.points - $featsBoosts.pointsUsed gte _args[1] or _args[1] lt 0>> <<set $featsBoosts.upgrades[_args[0]] += _args[1]>> <<set $featsBoosts.pointsUsed += _args[1]>> <</if>> <<replace #featsPointsMenu>> <<featsPointsMenu>> <</replace>> <</widget>> /* Fake feats, for when you want to gaslight the player. Used for the Wraith, primarily */ <<widget "displayFeatFake">> <<if _args[0] and $feats.locked is false and $cheatdisable is "t" and $debug is 0 and $gamemode isnot "soft" and $alluremod gte 1>> <<silently>> <<if _featsCount is undefined>> <<set _featsCount to 0>> <<else>> <<set _featsCount++>> <</if>> <</silently>> <div @id="'feat-' + _featsCount" class="feat"> <div class="featImage"> <<switch setup.feats[_args[0]].difficulty>> <<case 1>><img src="img/ui/CopperCoinFake.gif" class="featCoin"> <<case 2>><img src="img/ui/SilverCoinFake.gif" class="featCoin"> <<case 3>><img src="img/ui/GoldCoinFake.gif" class="featCoin"> <<case 3>><img src="img/ui/PlatinumCoinFake.gif" class="featCoin"> <<case 3>><img src="img/ui/JeweledCoinFake.gif" class="featCoin"> <</switch>> </div> <div class="featText"> <<switch _args[0]>> <<case "It Belongs in a Museum">> <span class="title">It Belongs in a Museum?</span> <<default>> <<if setup.feats[_args[0]].title.endsWith("?")>> <span class="text"><<print setup.feats[_args[0]].title>></span> <<else>> <span class="text"><<print setup.feats[_args[0]].title>>?</span> <</if>> <span class="title"><<print setup.feats[_args[0]].title>>?</span> <</switch>> <br> <<switch _args[0]>> <<case "No More Control">> <span class="text">You don't know how to get lewder... right?</span> <<case "Teachers Nightmare">> <span class="text">You are a terror... right?</span> <<case "Anti-Social Moth">> <span class="text">Who needs friends... right?</span> <<default>> <<if setup.feats[_args[0]].desc.endsWith(".")>> <span class="text"><<print setup.feats[_args[0]].desc>>.. right?</span> <<else>> <span class="text"><<print setup.feats[_args[0]].desc>>... right?</span> <</if>> <</switch>> </div> <div @id="'closeFeat-' + _featsCount" class="closeFeat" @onclick="'closeFeats('+ _featsCount +')'"></div> </div> <</if>> <</widget>><<widget "journal">> <br> <<print "It is the " + ordinalSuffixOf(Time.monthDay) + " of " + Time.monthName + ", " + Time.year + "." >> <ul class="journal"> <<if Time.days lt 0>> <<if Time.days lt -365>> <li>It is around <span class="gold"><<print Math.floor(Time.startDate.year - Time.year)>></span> years before you started the game.</li> <<else>> <li>It is <span class="gold"><<print Time.days * -1>></span> days before you started the game.</li> <</if>> <<else>> <li>It has been <span class="gold"><<print Time.days>></span> days since the game started.</li> <<if $hardmodedays isnot undefined>> <li>You survived <span class="gold">$hardmodedays</span> days on hard mode.</li> <br> <</if>> <li>The game started in <<print Time.getSeason(new DateTime($startDate))>>.</li> <li>It is <<print Time.season>>.</li> <li><<schoolterm>></li> <</if>> </ul> <<if $options.images is 1>> <div class="map"> <<if Weather.isSnow>> <img id="world_map" src="img/misc/world_map_winter.png"> <<else>> <img id="world_map" src="img/misc/world_map.png"> <</if>> </div> <</if>> <<if !$statFreeze && ($rentday isnot undefined || $rentmoney isnot undefined)>> <hr> <h1 class="header gold bold">Time-Sensitive</h1> <ul class="journal"> <<if $rentday isnot undefined>> <<if $renttime lte 0>> <li>Bailey is looking for you, and wants <<printmoney $rentmoney>><<babyRentDisplay " plus " " for not looking after your children" "gold">>.</li> <<else>> <li>Bailey wants <<printmoney $rentmoney>> on <<rentday>><<babyRentDisplay " plus " " for not looking after your children" "gold">>.</li> <</if>> <<elseif $rentmoney isnot undefined>> <li>Bailey wants <<printmoney $rentmoney>><<babyRentDisplay " plus " " for not looking after your children" "gold">>.</li> <</if>> <<if $syndromeeden is 1 and $edenfreedom gte 1 and $location isnot "cabin">> /* Another parameter is planned, something like $edenpunishment. It is meant to only trigger the journal note after the player has been given a reason to be wary of breaking Eden's rules. */ <<if ($edenfreedom is 1 and $edendays lt 2) or ($edenfreedom is 2 and $edendays lt 8)>> <li>You promised Eden you would return to the cabin <<if $edenfreedom is 1>> <<if $edendays is 1>> <span class="pink">tonight, before midnight</span>. <<else>> /* We can assume $edendays is 0 */ by <span class="yellow">tomorrow night</span>, at the latest. <</if>> <<else>> /* We can assume $edenfreedom is 2 */ <<if $edendays is 7>> <span class="pink">tonight, before midnight</span>. <<elseif $edendays is 6>> by <span class="yellow">tomorrow night</span>, at the latest. <<else>> in <span class="yellow"><<print 7 - $edendays>></span> days, at the latest. <</if>> <</if>></li> /* Warning lasts for one day on freedom 1, and three days on freedom 2 */ <<elseif ($edenfreedom is 1 and $edendays lt 3) or ($edenfreedom is 2 and $edendays lt 11)>> <li>You have <span class="red">failed</span> to return to the cabin on time. Eden will have taken note.</li> <</if>> <</if>> <<if $averydate is 1 and Time.hour lte 21 and $averydatedone isnot 1>> <li>You have a date scheduled with Avery <span class="pink">tonight.</span> <<nnpc_He "Avery">>'ll wait for you on Domus Street between <span class="gold"><<ampm 20 00>></span> and <span class="gold"><<ampm 21 00>></span>.</li> <</if>> <<if $psych is 1 or $schoolPsych is 1>> <li>You <<if $psych is 1>>have an<<else>>may get an<</if>> appointment with Doctor Harper <<if Time.weekDay is 6>> <<if $daily.harperVisit is 1>> next <span class='yellow'>Friday</span>. <<else>> <span class='pink'>today</span>. <</if>> <<else>> on <span class='yellow'>Friday</span>. <</if>></li> <</if>> <<if $brothelshowdata.type isnot "none" and $brothelshowdata.intro>> <li>You're expected to perform at the brothel <<if Time.weekDay is 6>> <<if $brothelshowdata.done>> next <span class='yellow'>Friday</span>. <<else>> <span class='pink'>today</span>. <</if>> <<else>> on <span class='yellow'>Friday</span>. <</if>></li> <</if>> <<if $brothel_escortjob isnot undefined>> <<if ($brothel_escortjob.done is undefined or $brothel_escortjob.escape is undefined) and $brothel_escortjob.accept is true and $brothel_escortjob.missed isnot true>> <<set _date to new DateTime($brothel_escortjob.date)>> <li>You have an escort job scheduled. You're expected to be in front of the brothel <<if Time.monthDay is _date.day>> <span class="pink">today</span> <<elseif Time.date.dayDifference(_date) is 1>> <span class="gold">tomorrow</span> <<elseif Time.date.dayDifference(_date) gte 7>> next <span class="gold">_date.weekDayName</span> <<else>> on <span class="gold">_date.weekDayName</span> <</if>> at <span class="gold"><<ampm _date.hour>></span>.</li> <</if>> <</if>> <<if $community_service gte 1>> <<if $community_service_done is 1>> <li><span class="lblue">You've performed your community service today.</span></li> <<elseif ["asylum","prison"].includes($location)>> <li>Your sentence of community service has been put on hold due to your <<if $location is "prison">>incarceration<<else>>treatment<</if>>.</li> <<elseif Time.hour gte 21>> <li>It's too late in the day to perform your community service.</li> <<elseif Time.hour lt 6>> <li>The police station is expecting you later for your daily community service.</li> <<else>> <li>The police station is expecting you for your daily community service.</li> <</if>> <<if $community_service is 1>> <li>You have <span class="purple">one day</span> of community service remaining.</li> <<else>> <li>You have <span class="pink">$community_service</span> days of community service remaining.</li> <</if>> <</if>> <<if $wrenHeist is true and Time.hour lte 20 and $wrenHeistDance.attended isnot true>> <li>You are supposed to meet Wren <span class="pink">tonight</span> between <span class="gold"><<ampm 19 00>></span> and <span class="gold"><<ampm 21 00>></span>. <<nnpc_He "Wren">> gave you directions to the mansion on Danube Street.</li> <</if>> <<if $smuggler_known is 1 and $smuggler_timer gte 0>> <li>Smugglers are bringing something valuable into town <<if $smuggler_timer is 0>> <span class="pink">tonight</span>, before midnight. <<elseif $smuggler_timer is 1>> <span class="gold">tomorrow</span>, before midnight. <<else>> <<nDays $smuggler_timer>>. <</if>> <<if $smuggler_location is "forest">> They're bringing it through the forest. <<elseif $smuggler_location is "sewer">> They're bringing it through the old sewers. <<elseif $smuggler_location is "beach">> They plan to land at that rock near the beach. <<elseif $smuggler_location is "bus">> They're sneaking it in on a bus. <</if>> </li> <</if>> <<if $farm_stage gte 7>> <li>Remy will attack the farm <<if $farm_attack_timer is 0>> <span class="pink">tonight</span>. <<else>> <<nDays $farm_attack_timer>>. <</if>> <<nnpc_He Remy>>'ll arrive between <span class="gold"><<ampm 21 00>></span> and <span class="gold">midnight.</span> </li> <</if>> <<if $temple_rank is "initiate" or $temple_rank is "monk" or $temple_rank is "priest">> <li>You are <<print $temple_rank is "initiate" ? "an initiate at" : "a <<temple_title>> of">> the temple. <<if $temple_chastity_timer lte 0>> <span class="pink">You have a chastity exam due.</span> <<elseif $temple_chastity_timer is 1>> You have a chastity exam due <span class="purple">tomorrow.</span> <<else>> You have a chastity exam due <<nDays $temple_chastity_timer>>. <</if>> You will receive an <span class="gold">allowance</span> when passing the exam. </li> <</if>> </ul> <</if>> <<if !$statFreeze and (($location is "asylum" and ($eden_asylum_window is 1 or ($daily.eden.distract gte 1 and Time.hour lt 21))) || $temple_spear_mission gte 1 || $dockwork gte 2 || ($brothelshowdata.intro and $brothelshowdata.type is "none") || $robindebtevent gte 1 and $robinmissing isnot 0 || $pubtask2 is 1 || $pubtask || $police_hack is 1 || $pub_hack_job gte 1 || $pubfame ||( $earSlime.event and !_tempEventHide) || $earSlime.forcedCommando isnot undefined || $earSlime.forcedDressing isnot undefined || $temple_rank is "prospective" || $chef_state gte 4 || $mason_pond gte 1 || ($brothel_machine_repair gte 1 and $brothel_machine_repair lte 3) || ($harpy gte 6 and $birdFly isnot 1) || ($studyBooks isnot undefined and $studyBooks.rented isnot "none") || $adultshopgrandopening || ($adultshopintro is 1 and $adultshopunlocked is undefined))>> /*TODO: streamline during eventual Journal UI Overhaul bc lol. lmao, even. */ <hr> <h1 class="header gold bold">Reminders</h1> <ul class="journal"> <<if $temple_spear_mission is 1>> <li>Jordan has tasked you with retrieving an artefact spear. It is said to reside on a mysterious island. <<if $temple_spear_mission_winter is undefined>> Jordan mentioned that the historian at the local museum might have more information. <<else>> According to Winter, you can find someone who knows of the island at a secret pub in the sewers. <</if>> </li> <</if>> <<if $eden_asylum_window is 1 and $location is "asylum">> <<if Time.hour lt 22>> <li>Eden will be watching the asylum at <<ampm 20 00>> <span class="pink">tonight</span>.</li> <<else>> <li>Eden is watching the asylum, waiting for you to mark your room.</li> <</if>> <</if>> <<if $daily.eden.distract gte 1 and $location is "asylum">> <<if Time.hour lt 21>> <li>Eden will create a distraction at <<ampm 21 00>> <span class="pink">tonight</span>.</li> <</if>> <</if>> <<if $dockwork gte 2>> <li>You can work at the docks starting from <<ampm 7 00>> - <<ampm 8 00>><<if !($idDocksReveal is 2)>> on any day except school days<</if>>.</li> <</if>> <<if $brothelshowdata.intro and $brothelshowdata.type is "none" >> <li>You can star in shows at the brothel.</li> <</if>> <<if $pubtask2 is 1>> <li>Return the black box to Landry at the pub.</li> <<elseif $pubtask>> <li>Landry wants you to retrieve a black box from the $pubtask.</li> <</if>> <<if $farm_manors_usb gte 1>> <li>You have a USB containing sensitive information, found in a manor in the farmlands.</li> <</if>> <<if $police_hack is 1>> <li>Landry might be able to help you with the locked police computer.</li> <<elseif $pub_hack_job is 1>> <li>Landry wants you to find a hacker supposedly named 'Mickey' living at the Domus Street orphanage.</li> <<elseif $pub_hack_job is 2>> <li>Convince 'Mickey' to work with you.</li> <<elseif $pub_hack_job is 3>> <<if !$hacker_tasks.includes("bailey")>> <li>'Mickey' wants you to implant a device on Bailey's computer while Bailey is logged in.</li> <</if>> <<if !$hacker_tasks.includes("leighton")>> <li>'Mickey' wants you to steal memory cards from a strongbox under Leighton's desk.</li> <</if>> <<if $hacker_tasks.length gte 2>> <li>You need to talk to Landry about 'Mickey'.</li> <</if>> <</if>> <<if $pubfame>> <<if $pubfame.status is "accepted">> <li> <<switch $pubfame.task>> <<case "river">> 'Mickey' wants you to check on River, the maths teacher at your school. <<case "gwylan">> 'Mickey' wants you to find a specific snow globe at <<if $forest_shop_intro is 1>>Gwylan's shop<<else>>the shop on the outskirts of the forest<</if>>. <<case "temple">> 'Mickey' wants you to find a book on architecture at the temple with a password on the inside cover. <<case "kylar">> 'Mickey' wants you to deliver a letter to <<if C.npc.Kylar.state is "prison">> the police station, so they can give it to Kylar. <<else>> Kylar<<if C.npc.Kylar.init isnot 1>>, a student at your school<</if>>. <</if>> <<case "wren">> 'Mickey' wants you to deliver a letter to <<if $wren_intro is undefined>>a <<nnpc_gender "Wren">> named Wren. <<nnpc_He "Wren">> can be found at Remy's estate in the moor, or at the docks at night<<else>>Wren<</if>>. <<case "hospital">> 'Mickey' wants you to steal a keycard from the hospital. <<if $location is "asylum">> However, you think they might be happy with a keycard from this place too. <</if>> <<case "morgan">> 'Mickey' wants you to retrieve a USB drive from the old sewers. They think <<if $sewersintro is 1>>Morgan<<else>>someone down there<</if>> has it. <<case "niki">> 'Mickey' wants you to retrieve a photo from Niki's photography studio, of a $per_npc.pubfame_model.fullDescription with $pubfame.niki.hair hair. <<case "bailey">> 'Mickey' wants you to implant a device on Bailey's computer while Bailey is logged in. <<case "briar">> 'Mickey' wants you to implant a device on Briar's computer at the brothel. <<case "office">> 'Mickey' wants you to deliver a letter to the office building. <<case "remy">> <!-- intentionally does not include the password --> 'Mickey' wants you to retrieve a package from a contact at Remy's riding school<<if $ridingschoolintro is undefined>>, in the countryside beyond Harvest Street<</if>>. <<case "compound">> 'Mickey' wants you to set cameras around the compound on Elk Street. <<if $pubfame.compound.cameras.length gte 1>> You've already hidden cameras in <<print formatList($pubfame.compound.cameras, "and", true)>>. <</if>> <</switch>> They'll <<if $pubfame.goal.includes("perm")>>permanently<<else>>temporarily<</if>> <<if $pubfame.goal.includes("Raise")>>raise<<else>>lower<</if>> your <<fameProse $pubfame.target>> fame upon completion. </li> <<elseif $pubfame.status is "done">> <li>You can report to 'Mickey' that your favour is complete.</li> <</if>> <</if>> <<if $robindebtevent gte 1 and $robinmissing is "docks" and $docksrobinintro isnot 1>> <li>Robin is missing. <<nnpc_He "Robin">> was taken to the docks on Mer Street.</li> <</if>> <<if $robindebtevent gte 1 and $robinmissing is "landfill" and $mistrobinintro isnot 1 and $robinmistknown>> <li>Robin is missing. <<nnpc_He "Robin">> was taken to the landfill on Elk Street.</li> <</if>> <<if $robindebtevent gte 1 and $robinmissing is "pillory" and $robinPillory.known is 1>> <li>Robin is missing. <<if Time.hour lte 14>> <<nnpc_Hes "Robin">> scheduled to be put in the pillory on Cliff Street at <<ampm 15 00>>. <<else>> <<nnpc_Hes "Robin">> currently in the pillory. You don't know what will happen to <<nnpc_him "Robin">>. <</if>> </li> <</if>> <<if $earSlime.event and !_tempEventHide>> <<switch $earSlime.event>> <<case "get sperm into your anus" "get sperm into your vagina" "get sperm into your anus completed" "get sperm into your vagina completed">> <li class="lewd">The slime in your head commanded you to get sperm into your <<print $player.vaginaExist ? "vagina" : "anus">>.</li> <<case "get your own sperm into your anus" "get your own sperm into your vagina" "get your own sperm into your anus completed" "get your own sperm into your vagina completed">> <li class="lewd">The slime in your head commanded you to get your own sperm into your <<print $player.vaginaExist ? "vagina" : "anus">>.</li> <<case "only sleep naked from now on" "only wear feminine clothes for a while" "only wear masculine clothes for a while">> /* Show nothing */ <<default>> <li class="lewd">The slime in your head commanded you to <<print $earSlime.event>><<if $earSlime.noSleep>> before it allows you to sleep<</if>>.</li> <</switch>> <</if>> <<if $earSlime.forcedCommando isnot undefined>> <li class="lewd">The slime in your head commanded you to go commando.</li> <</if>> <<if $earSlime.forcedDressing isnot undefined>> <li class="lewd">The slime in your head commanded you to only wear more <<print $earSlime.forcedDressing.type is "f" ? "feminine" : "masculine">> clothing.</li> <</if>> <<if $temple_rank is "prospective">> <li>Jordan has offered you a place at the temple, but you must first pass the trial of purity.</li> <</if>> <<if $chef_state is 4>> <li>Sam wants you to visit an address on Nightingale Street.</li> <<elseif $chef_state is 7 and $chef_rework lte 0>> <li>The renovations at the Ocean Breeze have finished.</li> <<elseif $chef_state is 7 and $chef_rework lte 30>> <li>The Ocean Breeze is closed for renovations. They will be done <<nDays $chef_rework>>.</li> <<elseif $chef_state is 7>> <<set _timer to $chef_rework - 30>> <li>The Ocean Breeze will close for renovations <<nDays _timer>>.</li> <<elseif $chef_state is 8>> <li>Sam wants you to attend the Ocean Breeze's grand reopening on any evening between <<ampm 18 00>> and <<ampm 21 00>>.</li> <</if>> <<if $mason_pond is 1>> <li>Mason mentioned a stream under Domus Street, which could be used to make a spring. You'd need Bailey's permission first.</li> <<elseif $mason_pond is 2>> <li>Bailey wants <span class="gold">£6000</span> to build a spring in the orphanage garden.</li> <<elseif $mason_pond is 3>> <li>A spring is being built in the orphanage garden.</li> <<elseif $mason_pond is 4>> <li>The spring in the orphanage garden should be finished.</li> <</if>> <<if $brothel_machine_repair is 1>> <li>Ask Briar about the backstage sex machine.</li> <<elseif $brothel_machine_repair is 2>> <li>The brothel sex machine needs refuelling. It uses an expensive pink gel. Briar suggested looking in the landfill. It would be deep inside, near the compactor.</li> <<elseif $brothel_machine_repair is 3>> <li>You have the pink gel Briar wants for the sex machine.</li> <</if>> <<if $harpy gte 6 and $birdFly isnot 1>> <li>Your wings are strong, but you don't know how to use them. The Great Hawk could teach you.</li> <</if>> <<if $farm_stage gte 5 and $estate_fence is undefined>> <li>Remy is encroaching on Alex's farm, operating from the estate on the moor.</li> <<elseif $estate_fence is "quest" and currentSkillValue('skulduggery') lt 800>> <li>Find someone who can help you break into the Remy estate. Someone with underworld connections, or who knows the moor.</li> <<elseif $estate_fence is "bird">> <li>Search the Remy estate fence for an entrance made by the Great Hawk.</li> <<elseif $estate_fence is "landry">> <li>Search the Remy estate fence for an entrance made by Landry's specialist.</li> <</if>> <<if $farm>> <<if $farm.tower gte 1 and !$farm.tower_guard>> <li>The watchtower at the farm isn't staffed. You can find suitable candidates in the pub on Harvest Street.</li> <</if>> <</if>> <<if $photo>> <<if $photo.silly is "accepted">> <li>A business owner on the High Street is expecting you during the day.</li> <<elseif $photo.silly is "done">> <li>You can collect your pay for the High Street job from Niki.</li> <</if>> <</if>> <<if $jordan_ritual_dance is 1>> <li>Jordan has asked you to investigate one of the manors on Danube Street. One of the temple's flock went missing after finding work there. You can get access through Charlie, and your status as a dancer.</li> <<elseif $jordan_ritual_dance is 2>> <li>You encountered a strange ritual in a manor on Danube Street. Inform Jordan, head <<nnpc_title "Jordan">> at the temple.</li> <</if>> <<if $studyBooks isnot undefined and $studyBooks.rented isnot "none">> <<if $book_rent_timer is 0>> <li><span class="blue">You have a library book due.</span></li> <<elseif $book_rent_timer lt 0>> <li><span class="red">You have a library book overdue.</span></li> <<else>> <li>You have a library book due in <span class="gold">$book_rent_timer</span> day<<if $book_rent_timer gt 1>>s<</if>>.</li> <</if>> <</if>> <<if $farm>> <<if $farm.build>> <li> <<switch $farm.build>> <<case "parasites 1">> The parasite barn is being built. <<case "parasites 2">> The parasite barn is being expanded. <<case "wall 1">> The wall is undergoing a thorough repair. <<case "wall 2">> The wall is being reinforced. <<case "wall 3">> A metal fence is being built atop the stone wall. <<case "wall 4">> Barbed wire is being affixed atop the fence. <<case "tower 1">> A watchtower is being constructed at the edge of the fields. <<case "tower 2">> Searchlights are being affixed atop the watchtower. <<case "kennel 1">> A guard dog training facility is being constructed. <<case "barn 1" "barn 2">> The barn is being expanded. <<case "woodland 1" "woodland 2" "woodland 3">> A fence is being built around the nearby woodland. <<case "stable 1">> The stable is being expanded. <<case "coop 1" "coop 2">> The coop is being expanded. <<case "irrigation">> Irrigation is being installed in a field. <<case "nursery">> A nursery is being built in the cottage. <</switch>> It'll be finished <<nDays $farm.build_timer>>. </li> <</if>> <</if>> <<if $adultshopgrandopening is true>> <li>The grand opening of Sirris' adult shop is taking place on Elk Street <span class="pink">today</span>.</li> <<elseif $adultshopintro is 1 and $adultshopunlocked is undefined>> <<set $_theshop to "The adult shop">> <li> <<if $adultshopprogress gte 22>> $_theshop's official opening is tomorrow. <<elseif $adultshopprogress gte 18>> $_theshop is nearing completion. <<elseif $adultshopprogress gte 14>> $_theshop is halfway to completion. <<elseif $adultshopprogress gte 7>> $_theshop is starting to take shape. <<elseif $adultshopprogress gte 2>> $_theshop is in disrepair. <<else>> $_theshop is in great disrepair. <</if>> <<if $adultshopprogress lt 22>> You can help Sydney there on Elk Street, on Fridays after <<ampm 16>>. <</if>> </li> <</if>> </ul> <</if>> <<if ($valentines is 1 and $valentines_eden is 1) or $halloween is 1 or $christmas is 1>> <hr> <h1 class="header gold bold">Holidays</h1> <</if>> <<if $valentines_eden is 1>> <ul class="journal"> <li>Valentine's day is held on February 14th.</li> <<if $valentines_eden is 1 and !$valentines_eden_bought>> <li>You can buy something for Eden to celebrate.</li> <<elseif $valentines_eden_bought is 1>> <li>You can prepare a bath for Eden on Valentine's day at <<ampm 17 00>>.</li> <</if>> </ul> <</if>> <<if $halloween is 1>> <ul class="journal"> <li>Halloween is held on October 31st.</li> <<if $halloween_whitney is 1 and C.npc.Whitney.state isnot "dungeon">> <li>Whitney will be trick-or-treating on Domus Street from <<ampm 19 00>>.</li> <</if>> <<if $halloween_robin is 1 and $robinmissing is 0>> <li>Robin wants to go trick-or-treating between <<ampm 16 00>> and <<ampm 19 00>>.</li> <</if>> <<if $halloween_kylar is 1 and C.npc.Kylar.state isnot "prison">> <li>Kylar has asked you to meet in the park after <<ampm 21 00>>.</li> <</if>> <<if $halloween_eden is 1>> <li>You can buy sweets for Eden to celebrate Halloween.</li> <</if>> <<if $halloween_lake is 1>> <li>Students are throwing a party at the lake from <<ampm 18 00>> until midnight.</li> <<if $halloweenWolves>> <li>One of the members of the wolf pack was injured at it.</li> <</if>> <</if>> </ul> <</if>> <<if $christmas is 1>> <ul class="journal"> <li> <<if Time.monthDay is 25 and Time.hour lte 20>> The orphans are celebrating Christmas. <<else>> The orphans will celebrate Christmas on the <span class="gold">25th</span> as best they can. <</if>> <<if $christmas_gift is undefined>> You can buy them gifts at the shopping centre. <<elseif $christmas_gift is "clothes_unwrapped">> You can wrap their gifts in your room at the orphanage. <</if>> </li> <<if $christmas_gift_robin is undefined and C.npc.Robin.init is 1>> <li>You can buy Robin a gift at the shopping centre<<if $forest_shop_intro is 1>> or forest shop<</if>>.</li> <<elseif $christmas_gift_robin and $christmas_gift_robin_wrapped isnot 1 and C.npc.Robin.init is 1>> <li>You can wrap Robin's gift in your room.</li> <</if>> <<if !$christmas_wrap>> <li>The shopping centre should sell wrapping paper.</li> <</if>> <<if $syndromeeden gte 1>> <<if Time.monthDay is 25>> <<if Time.hour lte 20>> <li>You can celebrate Christmas with Eden <span class="pink">today</span>.</li> <</if>> <<else>> <li>Christmas is coming. You can celebrate it with Eden.</li> <</if>> <<if $christmas_gift_eden is undefined>> <li>You can buy Eden a gift at the shopping centre.</li> <</if>> <<if $edenmeal is 1>> <li>Eden's invited you for a Christmas dinner at <<ampm 18 00>>.</li> <</if>> <</if>> </ul> <</if>> <<if $scienceproject is "ongoing">> <hr> <<if $scienceprojectdays is 0>> The science fair is being held at the town hall on Cliff Street <span class="pink">today</span> from <<ampm 9 00>> until <<ampm 18 00>>. <br> <<else>> The science fair will be held at the town hall on Cliff Street <<nDays $scienceprojectdays>>. <br> <</if>> You have the following ongoing science projects. You'll choose one to present at the fair. <br><br> <<if $sciencelichenknown is 1>> <h1 class="header gold bold">Local lichen</h1> <<if $sciencechance is undefined>> <<set $sciencechance to []>> <</if>> <<if $sciencelichenpark is 1>> <<if $sciencelichenparkready is 1>> <<run $sciencechance.pushUnique("Lichen")>> <span class='fa-icon fa-selected'></span> You've incorporated the lichen living in the park to your project. <br> <<else>> <span class='fa-icon fa-unselected'></span> You've examined lichen in the park. You need to write it up at home or the library. <br> <</if>> <<else>> <span class='fa-icon fa-unselected'></span><span class="black"> Examine white lichen in the park.</span> <br> <</if>> <<if $sciencelichentemple is 1>> <<if $sciencelichentempleready is 1>> <<run $sciencechance.pushUnique("Temple")>> <span class='fa-icon fa-selected'></span> You've incorporated the lichen living on the temple to your project. <br> <<else>> <span class='fa-icon fa-unselected'></span> You've examined lichen living on the temple. You need to add it to your project at home or the library. <br> <</if>> <<else>> <span class='fa-icon fa-unselected'></span><span class="black"> Examine pink lichen on the temple.</span> <br> <</if>> <<if $sciencelichendrain is 1>> <<if $sciencelichendrainready is 1>> <<run $sciencechance.pushUnique("Drain")>> <span class='fa-icon fa-selected'></span> You've incorporated the lichen living in the storm drain to your project. <br> <<else>> <span class='fa-icon fa-unselected'></span> You've examined lichen living in the storm drain. You need to add it to your project at home or the library. <br> <</if>> <<else>> <span class='fa-icon fa-unselected'></span><span class="black"> Examine violet lichen in the storm drain, where it exits into the sea.</span> <br> <</if>> <<if $sciencelichenlake is 1>> <<if $sciencelichenlakeready is 1>> <<run $sciencechance.pushUnique("Ruin")>> <span class='fa-icon fa-selected'></span> You've incorporated the lichen living on the lake ruin to your project. <br> <<else>> <span class='fa-icon fa-unselected'></span> You've examined lichen living on the lake ruin. You need to add it to your project at home or the library. <br> <</if>> <<else>> <span class='fa-icon fa-unselected'></span><span class="black"> Examine purple lichen on the lake ruin.</span> <br> <</if>> As it is, this project has a <span @class="($sciencechance.length is 0 ? 'red' : $sciencechance.length is 1 ? 'pink' : $sciencechance.length is 2 ? 'purple' : $sciencechance.length is 3 ? 'teal' : $sciencechance.length is 4 ? 'green' : '')"><<print ($sciencelichenparkready * 25 + $sciencelichenlakeready * 25 + $sciencelichendrainready * 25 + $sciencelichentempleready * 25)>>%</span> chance of winning the fair. Winning with this project will greatly reduce trauma and endear you to your teachers. <br><br> <<else>> <span class="black">????????????</span> <br> Explore to discover. <br><br> <</if>> <<if $scienceshroomknown is 1>> <h1 class="header gold bold">Local mushrooms</h1> <span @class="($scienceshroomheart is 5 ? 'fa-icon fa-selected' : 'fa-icon fa-unselected')"></span><span @class="$scienceshroomheart is 0 and $scienceshroomheartready is 0 ? 'black' : ''"> $scienceshroomheart/5 heartshrooms found.</span> <br> <span @class="($scienceshroomheartready is 5 ? 'fa-icon fa-selected' : 'fa-icon fa-unselected')"></span><span @class="$scienceshroomheart is 0 and $scienceshroomheartready is 0 ? 'black' : ''"> $scienceshroomheartready/5 heartshrooms added to project.</span> <<if $scienceshroomheart gt $scienceshroomheartready>> Add mushrooms to your project at home or the library. <</if>> <br> <span @class="($scienceshroomwolf is 5 ? 'fa-icon fa-selected' : 'fa-icon fa-unselected')"></span><span @class="$scienceshroomwolf is 0 and $scienceshroomwolfready is 0 ? 'black' : ''"> $scienceshroomwolf/5 wolfshrooms found.</span> <br> <span @class="($scienceshroomwolfready is 5 ? 'fa-icon fa-selected' : 'fa-icon fa-unselected')"></span><span @class="$scienceshroomwolf is 0 and $scienceshroomwolfready is 0 ? 'black' : ''"> $scienceshroomwolfready/5 wolfshrooms added to project.</span> <<if $scienceshroomwolf gt $scienceshroomwolfready>> Add mushrooms to your project at home or the library. <</if>> <br> <<set $scienceshroomchance to ($scienceshroomwolfready * 10 + $scienceshroomheartready * 10)>> As it is, this project has a <span @class="$scienceshroomchance gte 100 ? 'green' : $scienceshroomchance gte 80 ? 'teal' : $scienceshroomchance gte 60 ? 'lblue' : $scienceshroomchance gte 40 ? 'purple' : $scienceshroomchance gte 20 ? 'pink' : $scienceshroomchance gte 0 ? 'red' : ''"><<print $scienceshroomchance>>%</span> chance of winning the fair. Winning with this project will greatly reduce trauma and make you more popular among your peers. <br><br> <<else>> <span class="black">????????????</span> <br> Explore the forest to discover. <br><br> <</if>> <<if $sciencephallusknown is 1>> <h1 class="header gold bold">Local phalli <mouse class="tooltip gold">(?)<span>Look for participants on the beach during good weather.</span></mouse></h1> <span @class="($sciencephallus is 10 ? 'fa-icon fa-selected' : 'fa-icon fa-unselected')"></span> $sciencephallus/10 phalli measured. <br> <span @class="($sciencephallusready is 10 ? 'fa-icon fa-selected' : 'fa-icon fa-unselected')"></span> $sciencephallusready/10 phalli added to project. <<if $sciencephallus gt $sciencephallusready>> Add phalli to your project at home or the library. <</if>> <br> As it is, this project has a <span @class="$sciencephallusready gte 10 ? 'green' : $sciencephallusready gte 8 ? 'teal' : $sciencephallusready gte 6 ? 'lblue' : $sciencephallusready gte 4 ? 'purple' : $sciencephallusready gte 2 ? 'pink' : $sciencephallusready gte 0 ? 'red' : ''"><<print ($sciencephallusready * 10)>>%</span> chance of winning the fair. Winning with this project will greatly reduce trauma and make you more famous. <br> <<else>> <span class="black">????????????</span> <br> Become more promiscuous to discover. <br> <</if>> <</if>> <<if $mathsproject is "ongoing">> <<set $mathschance = Math.clamp($mathschance, 0, 100)>> <hr> <h1 class="header gold bold">Maths Competition</h1> <<if $mathsprojectdays is 0>> The maths competition is being held at the town hall on Cliff Street <span class="pink">today</span> from <<ampm 9 00>> until <<ampm 18 00>>. <br> <<else>> The maths competition will be held at the town hall on Cliff Street in <span class="gold">$mathsprojectdays</span> <<if $mathsprojectdays is 1>>day<<else>>days<</if>>. <br> Your solution must be ready before then. You can work on your project at the orphanage or the school library. <br> <</if>> <<if $mathschance is 0>> <span class="black">You haven't begun work on a solution. You have a $mathschance% chance of winning the competition.</span> <<elseif $mathschance lte 10>> <span class="pink">You've barely begun work on a solution. You have a $mathschance% chance of winning the competition.</span> <<elseif $mathschance lte 30>> <span class="purple">Your solution isn't much, but it's something. You have a $mathschance% chance of winning the competition.</span> <<elseif $mathschance lte 50>> <span class="blue">Your solution has some substance, but there's a long way to go. You have a $mathschance% chance of winning the competition.</span> <<elseif $mathschance lte 80>> <span class="lblue">Your solution is shaping up, but there's room for improvement. You have a $mathschance% chance of winning the competition.</span> <<elseif $mathschance lte 99>> <span class="teal">Your solution isn't right, but it's good. You can't imagine anyone else has gone as far as this. You have a $mathschance% chance of winning the competition.</span> <<else>> <span class="green">Your solution is perfect. You have a $mathschance% chance of winning the competition.</span> <</if>> <br><br> You have <span class="gold">$mathsinfo</span> insights. <<if $stimdealerknown is 1>> You have <span class="gold">$mathsstim</span> stimulants. <br> You can buy stimulants from dealers on Oxford Street. <br> <</if>> <</if>> <<if $englishPlay is "ongoing">> <hr> <h1 class="header gold bold">English Play</h1> <<if $englishPlayDays is 0>> The school plays are being held at the town hall on Cliff Street <span class="pink">tonight</span> from <span class="gold"><<ampm 17 00>></span> until <span class="gold"><<ampm 21 00>></span>. <<else>> The school plays will be performed at the town hall on Cliff Street in <span class="gold">$englishPlayDays</span> <<if $englishPlayDays is 1>>day<<else>>days<</if>>. <</if>> <<if $englishPlayRoles.Player isnot "none">> <ul class="journal"> <li>You have taken the role of $englishPlayRoles.Player. You can rehearse alone at the orphanage.</li> <<if $englishPlayRoles.Kylar isnot "none" and $englishPlayRoles.KylarKnown>> <li>Kylar has taken the role of $englishPlayRoles.Kylar. You can rehearse with <<nnpc_him "Kylar">> in <<if Weather.precipitation !== "none">>the school library<<else>>the school's rear courtyard<</if>> after school.</li> <<elseif $englishPlayKylarReplace>> <li>Kylar's part in the play will have to be taken over by another student.</li> <</if>> <<if $englishPlayRoles.SydneyKnown>> <li>Sydney has taken the role of $englishPlayRoles.Sydney. You can rehearse with <<nnpc_him "Sydney">> in the English classroom after school.</li> <</if>> <<if !$englishPlayRoles.SydneyKnown and !$englishPlayRoles.KylarKnown>> <li>You can meet your partners in the English classroom after school.</li> <<elseif !$englishPlayRoles.SydneyKnown or (!$englishPlayRoles.KylarKnown and !$englishPlayKylarReplace)>> <li>You can meet your other partner in the English classroom after school.</li> <</if>> </ul> <br> <<playReadiness>> Performing well will spread social fame and give a large boost to school status. <<else>> <<if $englishPlayLate>> You have <<number $englishPlayLate>> <<if $englishPlayLate is 1>>day<<else>>days<</if>> to choose a role. You can sign up in the English classroom after school, or just help other students rehearse. <<else>> It's too late for you to take a role, but you can still help other students rehearse and watch the plays with the audience. <</if>> <</if>> <</if>> <<set _plant_keys to Object.keys($plants)>> <<set _hasProduce to Object.keys($plants).some(key => $plants[key].amount >= 1)>> <<set _carrying to [$antiquemoney, $blackmoney, $phials_held, $lurkers_held, $popcorn, $milkshake, $panties_held].some(i => i >= 1)>> <<if _carrying or _hasProduce>> <hr> <h1 class="header gold bold">Inventory</h1> <</if>> <<if $farm_key is true and $location is "farm" and !$bus.includes("farm")>> You have stored: <ul class="journal carry"> <li><<lockicon "bronze key">> <span class="green">A ring of keys</span> in your stall. You can use them to escape, but be careful not to get caught with them.</li> </ul> <br> <</if>> <<if _carrying or _hasProduce>> You are carrying: <ul class="journal carry"> <<if ["prison", "prison_beach"].includes($location) and $prison.teeth gte 1>> <li><<tendingicon "sharks_teeth">> <span class="green"><<number $prison.teeth>></span> shark's teeth. <<if $prison_wren_intro isnot 1>> You can find Wren in the yard on Fridays after lunch. <</if>> </li> <</if>> <<if $antiquemoney gt 0>> <li><<museumicon>><span class="green">£<<print $antiquemoney>></span> in antiques. You can sell them to the museum.</li> <</if>> <<if $blackmoney gt 0>> <li><<highicon>><span class="green">£<<print $blackmoney>></span> in stolen goods. You can sell them to someone on the black market.</li> <</if>> <<if $phials_held gt 0>> <li><<icon "aphrodisiac.png">> <span class="green">$phials_held</span> <<= $phials_held is 1 ? "phial" : "phials">> of aphrodisiac. You can sell <<= $phials_held is 1 ? "it" : "them">> on Elk Street.</li> <</if>> <<if $lurkers_held gt 0>> <li><<birdicon "lurkers">><span class="green">$lurkers_held</span> <<= $lurkers_held is 1 ? "lurker" : "lurkers">>.</li> <</if>> <<if $milkshake gt 0>> <li><<foodicon "milkshake">> <span class="green">$milkshake</span> <<print $milkshake is 1 ? "milkshake" : "milkshakes">>.</li> <</if>> <<if $popcorn gt 0>> <li><<foodicon "popcorn">> <span class="green">$popcorn</span> <<print $popcorn is 1 ? "bag" : "bags">> of popcorn.</li> <</if>> <<if $panties_held gt 0>> <li><span class="clothes-white"><<icon "clothes/plain_panties.png">></span> <<print $panties_held is 1 ? "a pair" : "<span class='green'>$panties_held</span> pairs">> of stolen underwear. You can sell <<print $panties_held is 1 ? "it" : "them">> during lunchtime in the school rear courtyard.</li> <</if>> <<if _hasProduce>> <li><<tendingicon "basket">> <span class="green">Produce</span>. You can sell it by renting a stand on Connudatus Street at dawn.</li> <</if>> </ul> <<if _hasProduce>> <br> <details class="journal"> <summary class="journal">Produce</summary> <div class="itemInventory"> <<for _t to 0; _t lt _plant_keys.length; _t++>> <<set _item to $plants[_plant_keys[_t]]>> <<set _produce to setup.plants[$plants[_plant_keys[_t]].name]>> <<if _item.amount gte 1>> <<set _plant_temp to 1>> <<set _formatter = new Intl.NumberFormat('en-gb', { roundingMode: 'trunc', notation: 'compact' })>> <<set _amount = _formatter.format(_item.amount)>> <<if _item.amount === 1>> <<set _itemName to _produce.singular || _produce.name.replace(/_/g, ' ')>> <<else>> <<set _itemName to _produce.plural>> <</if>> <<set _tooltip to `<span class="green">${_item.amount}</span> ${_itemName}`>> <div class="item" @tooltip="_tooltip"> <<set _iconName to setup.plants[_plant_keys[_t]].icon.replace(/\.[^/.]+$/, "")>> <<tendingicon _iconName>> <hr> <<= _amount>> </div> <</if>> <</for>> </div> </details> <</if>> <</if>> <<if $museumintro is 1 or $plants_known.length gte 0>> <hr> <h1 class="header gold bold">Collectibles</h1> <<if $museumintro is 1>> <<museumAntiqueText>><<museumPaintingText>> <<if $museumAntiqueJournalHints.length gte 1 || Object.values(V.museumAntiques.paintings).includes("found")>> <<set _hintslist to clone($museumAntiqueJournalHints).reverse()>> <<if $museumAntiqueJournalHints.length gte 1>> Winter has mentioned some items that are missing from the museum. <</if>> <ul class="journal"> <<for _hint range _hintslist>> <<if _museumAntiqueText[_hint]>> <<if ["found", "talk"].includes($museumAntiques.antiques[_hint])>> <li>You should show the <<= _museumAntiqueText[_hint].name.toLowerCase()>> to Winter.</li> <<else>> <li><<print _museumAntiqueText[_hint].journal>></li> <</if>> <<else>> <li><span class="red">Warning: Antique "_hint" doesn't have a hint. Did you export this save from a modded version?</span></li> <<set $museumAntiqueJournalHints.delete(_hint)>> <</if>> <</for>> <<for $_labelP, $_valueP range $museumAntiques.paintings>> <<if $_valueP is "found">> <li>You should show the <<= _museumPaintingText[$_labelP].journalName.toLowerCase()>> to Winter.</li> <</if>> <</for>> </ul> <br> <</if>> <<set $_antiquesFound to Object.values($museumAntiques.antiques).filter(status => status !== "notFound").length>> <<set $_paintingsFound to Object.values($museumAntiques.paintings).filter(status => status !== "notFound").length>> <<set $_totalFound to $_antiquesFound + $_paintingsFound>> <<if $_totalFound is 0>> You haven't found any items for the museum yet. Explore the world more to discover antiques. <<elseif $_antiquesFound is $museumAntiques.maxCount and !$museum_paintings_intro>> You've found <span class="green">every</span> antique for the museum. <<elseif $_totalFound is $museumAntiques.maxCount + Object.values($museumAntiques.paintings).length>> You've found <span class="green">every</span> item for the museum. <<else>> You've found <span class="gold"><<= $_antiquesFound>></span> antique<<= $_antiqueCount is 1 ? "" : "s">> <<if $museum_paintings_intro>>and <span class="gold"><<= $_paintingsFound>></span> painting<<= $_paintingsFound is 1 ? "" : "s">><</if>> for the museum. <<if $_antiquesFound is $museumAntiques.maxCount>> You've found <span class="green">every</span> antique for the museum, but are missing <span class="gold"><<= Object.values($museumAntiques.paintings).length - $_paintingsFound>></span> <<= Object.values($museumAntiques.paintings).length - $_paintingsFound is 1 ? "painting" : "paintings">>. <<elseif Object.values($museumAntiques.paintings).length - $_paintingsFound is 0>> You've found <span class="green">every</span> painting for the museum, but are missing <span class="gold"><<= $museumAntiques.maxCount - $_antiquesFound>></span> <<= $museumAntiques.maxCount - $_antiquesFound is 1 ? "antique" : "antiques">>. <<else>> You're missing <span class="gold"><<= $museumAntiques.maxCount - $_antiquesFound>></span> <<= $museumAntiques.maxCount - $_antiquesFound is 1 ? "antique" : "antiques">><<if $museum_paintings_intro>> and <span class="gold"><<= Object.values($museumAntiques.paintings).length - $_paintingsFound>></span> <<= Object.values($museumAntiques.paintings).length - $_paintingsFound is 1 ? "painting" : "paintings">><</if>>. <</if>> <</if>> <br><br> <details class="journal"> <summary class="journal">Museum Items</summary> <<if $museum_paintings_intro>> <span class="gold bold m-2">Antiques</span> <br> <</if>> <div class="itemCollectible"> <<for _labelM, _valueM range $museumAntiques.antiques>> <<set _antique to $museumAntiqueJournalHints.includes(_labelM) ? _museumAntiqueText[_labelM]?.journalName || _museumAntiqueText[_labelM].name.toLowerCase().toUpperFirst() : _museumAntiqueText[_labelM].name.toLowerCase().toUpperFirst()>> <<if $museumAntiqueJournalHints.includes(_labelM)>> <<switch _valueM>> <<case "notFound">> <div class="item unknown" @tooltip="_antique"> <<icon "museum_empty.png">> </div> <<default>> <div class="item" @tooltip="_antique"> <<icon _museumAntiqueText[_labelM].icon>> </div> <</switch>> <<else>> <<switch _valueM>> <<case "notFound">> <div class="item unknown" tooltip="Unknown antique."> <<mysteryicon>> </div> <<default>> <div class="item" @tooltip="_antique"> <<icon _museumAntiqueText[_labelM].icon>> </div> <</switch>> <</if>> <</for>> </div> <<if $museum_paintings_intro>> <hr> <span class="gold bold m-2">Paintings</span> <br> <div class="itemPainting"> <<for _labelP, _valueP range $museumAntiques.paintings>> <<set _painting to _valueP isnot "museum" ? _museumPaintingText[_labelP].journalName : _museumPaintingText[_labelP].name>> <<switch _valueP>> <<case "museum" "recovered">> <<if _labelP is "paintingward">> <<if $bleedingWardCheckpoint>> <<set _painting += ": 50% heard">> <</if>> <<elseif _labelP is "paintingsnake">> <<set _painting to `<div style='text-align:center'>${_museumPaintingText[_labelP].name}`>> <<if $hcEndings.length is 0>> <<set _painting += "<br><span class='gold'>0/7 Endings:</span><br><span class='black'>S, A, B, C, D, E, F</span></div>">> <<else>> <<set _painting += `<br><span class='gold'>${$hcEndings.length}/7 Endings:</span><br>`>> <<set _painting += `<span class=${$hcEndings.includes('S') ? 'gold' : 'black'}> ${$hcEndings.includes('S') ? 'S' : '?'}</span>,`>> <<set _painting += `<span class=${$hcEndings.includes('A') ? 'green' : 'black'}> ${$hcEndings.includes('A') ? 'A' : '?'}</span>,`>> <<set _painting += `<span class=${$hcEndings.includes('B') ? 'teal' : 'black'}> ${$hcEndings.includes('B') ? 'B' : '?'}</span>,`>> <<set _painting += `<span class=${$hcEndings.includes('C') ? 'blue' : 'black'}> ${$hcEndings.includes('C') ? 'C' : '?'}</span>,`>> <<set _painting += `<span class=${$hcEndings.includes('D') ? 'purple' : 'black'}> ${$hcEndings.includes('D') ? 'D' : '?'}</span>,`>> <<set _painting += `<span class=${$hcEndings.includes('E') ? 'pink' : 'black'}> ${$hcEndings.includes('E') ? 'E' : '?'}</span>,`>> <<set _painting += `<span class=${$hcEndings.includes('F') ? 'red' : 'black'}> ${$hcEndings.includes('F') ? 'F' : '?'}</span></div>`>> <</if>> <</if>> <div class="item" @tooltip="_painting"> <img class="icon" @src="'img/misc/icon/' + _museumPaintingText[_labelP].iconFull" width="120" height="120"> <<switch _labelP>> <<case "paintingsnake">><<set _percent to (Math.round($hcEndings.length) / 7 * 100)>> <<case "paintingward">><<set _percent to $bleedingWardCheckpoint ? 50 : 100>> <<default>><<set _percent to 100>> <</switch>> <div class="paintingProgress" @style="'--progress: ' + _percent + '%;'"> <<if $options.images>> <div class="progress"> <span class="starBar"> <img class="active-icon-img" src="img/ui/gold_star.png"> <img class="inactive-icon-img" src="img/ui/empty_star.png"> </span> </div> <<else>> <div class="meter"> <div class="goldbar" @style="'width:' + _percent + '%'"></div> </div> <</if>> </div> </div> <<case "notFound">> <div class="item" tooltip="Unknown Painting."> <img class="icon" src="img/misc/icon/antiques/paintings/curtain.png" width="120" height="120"> </div> <<default>> <div class="item" @tooltip="_painting"> <img class="icon" @src="'img/misc/icon/' + _museumPaintingText[_labelP].iconFull" width="120" height="120"> </div> <</switch>> <</for>> </div> <</if>> </details> <br> <</if>> <<if $plants_known.length gte 0>> <<set _plant_keys to Object.keys(setup.plants)>> <<set _collection to 0>> <<for _i to 0; _i lt $plants_known.length; _i++>> <<if Object.keys(setup.plants).includes($plants_known[_i])>> <<set _collection += 1>> <</if>> <</for>> <<set _total to 0>> <<for _i to 0; _i lt _plant_keys.length; _i++>> <<if setup.plants[_plant_keys[_i]].type === "flower" || setup.plants[_plant_keys[_i]].type === "vegetable">> <<set _total += 1>> <</if>> <</for>> <<if _collection is 0>> You can't grow any plants. Explore the world more to discover seeds. <<else>> You can grow <span class="gold"><<= _collection>></span> <<= _collection is 1 ? "kind of plant" : "kinds of plants">>. <<if _collection is _total>> You've found <span class="green">every</span> seed. <<else>> You're missing <span class="gold"><<= _total - _collection>></span> <<= _total - _collection is 1 ? "seed" : "seeds">>. <</if>> <</if>> <br><br> <details class="journal"> <summary class="journal">Seeds</summary> <div class="itemCollectible"> <<for _i to 0; _i lt _plant_keys.length; _i++>> <<set _tooltip to setup.plants[_plant_keys[_i]].seed_name ? setup.plants[_plant_keys[_i]].seed_name.toUpperFirst() : (setup.plants[_plant_keys[_i]].plural[0].toUpperCase() + setup.plants[_plant_keys[_i]].plural.substring(1))>> <<set _icon to setup.plants[_plant_keys[_i]].icon>> <<if setup.plants[_plant_keys[_i]].type is "flower" or setup.plants[_plant_keys[_i]].type is "vegetable">> <<if $plants_known.includes( setup.plants[_plant_keys[_i]].name)>> <div class="item" @tooltip="_tooltip"> <<icon `"tending/" + _icon`>> </div> <<else>> <div class="item unknown" tooltip="Unknown seed."> <<mysteryicon>> </div> <</if>> <</if>> <</for>> </div> </details> <</if>> <</if>> <br> <</widget>> <<widget "journalNotes">> <<if $journalNotes is undefined>> <<set $journalNotes to {"default":""}>> <<set $options.notesAutoSave to true>> <<set _currentPage to "default">> <</if>> <<if !_currentPage>><<set _currentPage to "default">><</if>> <<set _listPageName to _currentPage>> <<foldout false "_journalFoldout">> <span>Extra</span> Page: <<listbox "_listPageName" autoselect>> <<optionsfrom Object.keys($journalNotes)>> <</listbox>> <<link "Load">> <<journalNotesTextareaSave>> <<set _currentPage to _listPageName>> <<replace "#journalNotesTextarea">><<journalNotesTextarea>><</replace>> <</link>> | <<link "Delete">> <<if _listPageName is "default">> <<set $journalNotes.default to "">> <<else>> <<run delete $journalNotes[_listPageName]>> <</if>> <<if !$journalNotes[_currentPage]>><<set _currentPage to "default">><</if>> <<replace "#customOverlayContent">><<journalNotes>><</replace>> <</link>> | <br><br> New page name: <<textbox "_pageName" "">> <<link "New Page">> <<journalNotesTextareaSave>> <<set _newName to journalNotesReplacer(_pageName).slice(0,20)>> <<if $journalNotes[_newName] is undefined>> <<set $journalNotes[_newName] to "">> <<set _currentPage to _newName>> <<replace "#customOverlayContent">><<journalNotes>><</replace>> <<else>> <<replace "#journalNotesMessage">><span class="red">Unique name required.</span><</replace>> <</if>> <</link>> <mouse class="tooltip linkBlue">(?)<span> Page names can only contain A-Z, numbers, underscore, dashes and spaces. </span></mouse> <div id="journalNotesMessage"></div> <</foldout>> <br> <div id="journalNotesTextarea"><<journalNotesTextarea>></div> <</widget>> <<widget "journalNotesTextarea">> <<button `"Save (" + _currentPage + ")"`>> <<journalNotesTextareaSave>> <</button>> <label><<checkbox "$options.notesAutoSave" false true autocheck>> Auto Save</label> <mouse class="tooltip linkBlue">(?)<span> <div>Closing the overlay or changing tabs will save your note. Character limit of 3000 per page.</div> <div class="red">Reloading your older save files will not have your recent changes. Excessive use will bloat save file size.</div> </span></mouse> <<textarea "_displayedTextArea" `LZString.decompress($journalNotes[_currentPage])`>> <<run $(() => { var notesTimer = null; $('#textarea--displayedtextarea').on('input change', e => { if (notesTimer) clearTimeout(notesTimer); if (V.options.notesAutoSave) notesTimer = setTimeout(saveText, 1000); }); $('#textarea--displayedtextarea').attr('maxlength','3000'); var saveText = () => { new Wikifier (null, "<<journalNotesTextareaSave>>"); } })>> <</widget>> <<widget "journalNotesTextareaSave">> <<set _noteElement to jQuery('#textarea--displayedtextarea')[0]>> <<if _noteElement and _noteElement.value>> <<set $journalNotes[_currentPage] to LZString.compress(_noteElement.value)>> <<run updateMoment()>> <</if>> <</widget>> <<widget "nDays">><<silently>> <<switch _args[0]>> <<case 0>><<set $_text_output to '<span class="gold">today</span>'>> <<case 1>><<set $_text_output to '<span class="gold">tomorrow</span>'>> <<default>><<set $_text_output to 'in <span class="gold"><<= _args[0]>></span> days'>> <</switch>> <</silently>><<print $_text_output>><</widget>><<widget "setupOptions">> <<set _optionsRefresh to false>> <<script>> settingsDisableElement(); window.Theme.initControl(); onInputChanged(() => { if(!T.optionsRefresh) T.optionsRefresh = true; if(T.globalThemeDefaults) Wikifier.wikifyEval("<<setFont true>>"); }); <</script>> <</widget>> <<widget "optionsgeneral">> <<setupOptions>> <<set _globalGeneralDefaults to JSON.parse(localStorage.getItem("dolDefaultGeneralSettings"))>> <<if !_globalGeneralDefaults>> <<set _globalGeneralDefaults to {}>> <</if>> <<if !_globalThemeDefaults>> <<set _globalThemeDefaults to {}>> <</if>> <<if $debug is 1>> /*<label><<checkbox "$notifyUpdate" false true autocheck>> Notify when there's a new game update available</label> <br>*/ /*<<link "Check for updates">> <<run checkNewVersion()>> <</link>> <br><br>*/ <</if>> <div class="settingsGrid"> <div> <<button "Save Current As Default">> <<set _toSaveDefaults to {}>> <<if $options.general>><<set _toSaveDefaults.general to $options.general>><</if>> <<if $options.dateFormat>><<set _toSaveDefaults.dateFormat to $options.dateFormat>><</if>> <<if $options.fahrenheit>><<set _toSaveDefaults.fahrenheit to $options.fahrenheit>><</if>> <<if $options.timestyle>><<set _toSaveDefaults.timestyle to $options.timestyle>><</if>> <<if $options.mapMovement>><<set _toSaveDefaults.mapMovement to $options.mapMovement>><</if>> <<if $options.mapLegacy>><<set _toSaveDefaults.mapLegacy to $options.mapLegacy>><</if>> <<if $options.mapMarkers>><<set _toSaveDefaults.mapMarkers to $options.mapMarkers>><</if>> <<if $options.mapTop>><<set _toSaveDefaults.mapTop to $options.mapTop>><</if>> <<if $options.closeButtonMobile>><<set _toSaveDefaults.closeButtonMobile to $options.closeButtonMobile>><</if>> <<if $options.passageCount>><<set _toSaveDefaults.passageCount to $options.passageCount>><</if>> <<if $options.playtime>><<set _toSaveDefaults.playtime to $options.playtime>><</if>> <<if $options.neverNudeMenus>><<set _toSaveDefaults.neverNudeMenus to $options.neverNudeMenus>><</if>> <<if $options.autosaveDisabled>><<set _toSaveDefaults.autosaveDisabled to $options.autosaveDisabled>><</if>> <<if $options.numberify_enabled>><<set _toSaveDefaults.numberify_enabled to $options.numberify_enabled>><</if>> <<run localStorage.setItem("dolDefaultGeneralSettings",JSON.stringify(_toSaveDefaults))>> <<replace #customOverlayContent>><<optionsgeneral>><</replace>> <</button>> <<button "Reset Defaults">> <<run localStorage.removeItem("dolDefaultGeneralSettings")>> <</button>> </div> </div> <div class="settingsGrid"> <div class="settingsHeader options"><span class="gold">General</span></div> <div class="settingsToggleItem"> <label> <<checkbox "$options.neverNudeMenus" false true autocheck>> Hide player nudity in menus </label> </div> <div class="settingsToggleItem"> <label data-disabledif="V.ironmanmode===true"> <<checkbox "$options.autosaveDisabled" false true autocheck>> Disable autosave on sleeping </label> </div> <div class="settingsToggleItem"> <span class="gold">Date Format:</span><<optionsThemeDefault "dateFormat">> <br> <label class="en-GB"><<radiobutton "$options.dateFormat" "en-GB" autocheck>> dd/mm/yyyy</label> | <label class="en-US"><<radiobutton "$options.dateFormat" "en-US" autocheck>> mm/dd/yyyy</label> | <label class="zh-CN"><<radiobutton "$options.dateFormat" "zh-CN" autocheck>> yyyy/mm/dd</label> </div> <div class="settingsToggleItem"> <span class="gold">Temperature Format:</span><<optionsThemeDefault "fahrenheit">> <br> <label><<checkbox "$options.fahrenheit" false true autocheck>> Use Fahrenheit for temperatures</label> </div> <div class="settingsToggleItemWide"> <label data-disabledif="!StartConfig.enableLinkNumberify"> <<checkbox "$options.numberify_enabled" 0 1 autocheck>> Enable numbered link navigation </label> <mouse class="tooltip-small linkBlue">(?)<span>Allows navigation with keyboard.</span></mouse> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Sidebar</div> <div class="settingsToggleItem"> <span class="gold">Time format:</span> <br> <label><<radiobutton "$options.timestyle" "military" autocheck>> 24-hour</label> | <label><<radiobutton "$options.timestyle" "ampm" autocheck>> 12-hour</label> </div> <div class="settingsToggleItem"> <span class="gold">Condoms display:</span> <br> <label><<radiovar "$options.condomsDisplay" "standard">><<updatesidebarimg>><</radiovar>> Standard</label> | <label><<radiovar "$options.condomsDisplay" "none">><<updatesidebarimg>><</radiovar>> Hidden</label> </div> <div class="settingsToggleItem"> <span class="gold">Pepper sprays display:</span> <br> <label><<radiovar "$options.pepperSprayDisplay" "sprays">><<updatesidebarimg>><</radiovar>> Standard</label> | <label><<radiovar "$options.pepperSprayDisplay" "compact">><<updatesidebarimg>><</radiovar>> Compact</label> | <label><<radiovar "$options.pepperSprayDisplay" "none">><<updatesidebarimg>><</radiovar>> Hidden</label> </div> <div class="settingsToggleItem"> <label><<checkbox "$options.tipdisable" "t" "f" autocheck>> Enable sidebar hints and tips</label> </div> <div class="settingsToggleItem"> <label><<checkbox "$options.debugdisable" "t" "f" autocheck>> Enable additional error messages</label> </div> <div class="settingsToggleItem"> Show stats when sidebar is closed: <<listbox "$options.sidebarStats" autoselect>> <<option "Disabled" "disabled">> <<option "Limited" "limited">> <<option "Show all" "all">> <</listbox>> <div class="mobile-rec gold">It's a good idea to enable this on mobile!</div> </div> <div class="settingsToggleItem"> Show clock when sidebar is closed: <<listbox "$options.sidebarTime" autoselect>> <<option "Disabled" "disabled">> <<option "Above" "top">> <<option "Below" "bottom">> <</listbox>> <div class="mobile-rec gold">It's a good idea to enable this on mobile!</div> </div> <div class="settingsToggleItem"> <label><<checkbox "$options.clothingCaption" false true autocheck>> Show clothing descriptions in sidebar</label> <span class="tooltip-anchor linkBlue" tooltip="Still displays the description as a tooltip when hovering over the avatar when disabled.">(?)</span> </div> <div class="settingsToggleItem"> <label><<checkbox "$options.showCaptionText" false true autocheck>> Show caption text in sidebar</label> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Combat</div> <div class="settingsToggleItem"> "Yourself" as a target: <label><<radiobutton "$options.targetYourself" false autocheck>> Disabled</label> | <label><<radiobutton "$options.targetYourself" true autocheck>> Enabled</label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$options.scrollRemember" false true autocheck>> Restore scrolling position during combat </label> </div> <div class="settingsToggleItemWide"> Combat Controls: <<listbox "$options.combatControls" autoselect>> <<option "Radio Buttons" "radio">> <<option "Radio Buttons (In Columns)" "columnRadio">> <<option "Lists (No width limit)" "lists">> <<option "Lists (Width Limit)" "limitedLists">> <</listbox>> </div> </div> <<if $map isnot undefined>> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Map</div> <div class="settingsToggleItem"> <label data-target="images"><<checkbox "$options.mapMovement" false true autocheck>> Enable map movement by clicking/touching the map icons</label> </div> <div class="settingsToggleItem"> <label data-target="images" data-disabledif="V.options.images===0"><<checkbox "$options.mapLegacy" false true autocheck>> Disable SVG map. Enable if town map is not visible.</label> </div> <div class="settingsToggleItem"> <label data-target="['images', 'maplegacy]" data-disabledif="V.options.images===0||V.options.mapLegacy"><<checkbox "$options.mapMarkers" false true autocheck>> Show clickable area on map</label> </div> <div class="settingsToggleItem"> <label data-target="images"><<checkbox "$options.mapTop" false true autocheck>> Move the map above the map links</label> </div> </div> <</if>> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Overlays</div> <div class="settingsToggleItemWide"> <span class="gold">Position of the close-button for overlay menus:</span> <span class="tooltip-anchor linkBlue" tooltip="Updated next time overlay is opened">(?)</span> <br> <label><<radiobutton "$options.closeButtonMobile" false autocheck>> Normal</label> | <label><<radiobutton "$options.closeButtonMobile" true autocheck>> Mobile (Left-hand side)</label> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Extra Info</div> <div class="settingsToggleItem"> <span class="gold">Display passage count in the top right of the screen:</span> <br> <label><<radiobutton "$options.passageCount" "disabled" autocheck>> Disable</label> <br> <label><<radiobutton "$options.passageCount" "changes" autocheck>> Passage Changes Count</label> <span class="tooltip-anchor linkBlue" tooltip="Total number of times a new passage has changed (Clicking on links in most cases). Passages such as the settings are excluded. Not tracked in versions '0.3.12.X' and older">(?)</span> <br> <label><<radiobutton "$options.passageCount" "total" autocheck>> Passage Count</label> <span class="tooltip-anchor linkBlue" tooltip="Total number of times a new passage has been loaded (Clicking on links in most cases). Passages such as the settings are excluded. Not tracked in versions '0.3.12.X' and older">(?)</span> </div> <div class="settingsToggleItem"> <span class="gold">Display play time in the top right of the screen:</span> <span class="tooltip-anchor linkBlue" tooltip="Formatted into 'h:mm:ss'. Be aware that leaving the game for hours alone, then saving will have its time tracked. To avoid, save the game before ending play and then load the save when you resume play. Not tracked in versions '0.3.13.X' and older">(?)</span> <br> <label><<radiobutton "$options.playtime" false autocheck>> Disable</label> <br> <label><<radiobutton "$options.playtime" true autocheck>> Enable</label> </div> </div> <<if $passage isnot "Start">> <br> <<button "Restart Game">> <<script>> SugarCube.UI.restart(); <</script>> <</button>> <</if>> <</widget>> <<widget "optionstheme">> <<setupOptions>> <<set _globalThemeDefaults to JSON.parse(localStorage.getItem("dolDefaultThemeSettings"))>> <<if !_globalThemeDefaults>> <<set _globalThemeDefaults to {}>> <</if>> <div class="settingsGrid"> <div> <<button "Save Current As Default">> <<set _toSaveDefaults to {}>> <<if $options.theme>><<set _toSaveDefaults.theme to $options.theme>><</if>> <<if $options.passageMaxWidth>><<set _toSaveDefaults.passageMaxWidth to $options.passageMaxWidth>><</if>> <<if $options.passageLineHeight>><<set _toSaveDefaults.passageLineHeight to $options.passageLineHeight>><</if>> <<if $options.overlayLineHeight>><<set _toSaveDefaults.overlayLineHeight to $options.overlayLineHeight>><</if>> <<if $options.sidebarLineHeight>><<set _toSaveDefaults.sidebarLineHeight to $options.sidebarLineHeight>><</if>> <<if $options.passageFontSize>><<set _toSaveDefaults.passageFontSize to $options.passageFontSize>><</if>> <<if $options.overlayFontSize>><<set _toSaveDefaults.overlayFontSize to $options.overlayFontSize>><</if>> <<if $options.sidebarFontSize>><<set _toSaveDefaults.sidebarFontSize to $options.sidebarFontSize>><</if>> <<if $options.font>><<set _toSaveDefaults.font to $options.font>><</if>> <<run localStorage.setItem("dolDefaultThemeSettings",JSON.stringify(_toSaveDefaults))>> <<replace #customOverlayContent>><<optionstheme>><</replace>> <</button>> <<button "Reset Defaults">> <<run localStorage.removeItem("dolDefaultThemeSettings")>> <</button>> </div> </div> <div class="settingsGrid"> <div class="settingsHeader options">Theme<<optionsThemeDefault "theme">></div> <div class="settingsToggleItemWide"> <span class="gold">Style:</span> <label><input type="radio" name="theme" value="system-default" /> Default</label> | <label><input type="radio" name="theme" value="dark" /> Dark</label> | <label><input type="radio" name="theme" value="arctic" /> Nord</label> | <label><input type="radio" name="theme" value="zen" /> Zenburn</label> | <label><input type="radio" name="theme" value="monokai" /> Monokai</label> | <label><input type="radio" name="theme" value="storm" /> Storm</label> | <label><input type="radio" name="theme" value="latte" /> Catppuccin Latte</label> | <label><input type="radio" name="theme" value="frappe" /> Catppuccin Frappé</label> | <label><input type="radio" name="theme" value="macchiato" /> Catppuccin Macchiato</label> | <label><input type="radio" name="theme" value="mocha" /> Catppuccin Mocha</label> <div class="small-description">Selected styles cannot currently be saved as the 'default' option, though they will carry over to new saves.</div> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Line Height</div> <div class="settingsToggleItem"> Passage: <<listbox "$options.passageLineHeight" autoselect>> <<option "Default" undefined>> <<option "1" 1>> <<option "1.25" 1.25>> <<option "1.5" 1.5>> <<option "1.75" 1.75>> <<option "2" 2>> <</listbox>> <<optionsThemeDefault "passageLineHeight">> </div> <div class="settingsToggleItem"> Overlay: <<listbox "$options.overlayLineHeight" autoselect>> <<option "Default" undefined>> <<option "1" 1>> <<option "1.25" 1.25>> <<option "1.5" 1.5>> <<option "1.75" 1.75>> <<option "2" 2>> <</listbox>> <<optionsThemeDefault "overlayLineHeight">> </div> <div class="settingsToggleItemWide"> Sidebar: <<listbox "$options.sidebarLineHeight" autoselect>> <<option "Default" undefined>> <<option "1" 1>> <<option "1.25" 1.25>> <<option "1.5" 1.5>> <<option "1.75" 1.75>> <<option "2" 2>> <</listbox>> <<optionsThemeDefault "sidebarLineHeight">> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Font Size</div> <div class="settingsToggleItem"> Passage: <<listbox "$options.passageFontSize" autoselect>> <<option "Default" undefined>> <<option "10px" 10>> <<option "12px" 12>> <<option "14px" 14>> <<option "16px" 16>> <<option "18px" 18>> <<option "20px" 20>> <</listbox>> <<optionsThemeDefault "passageFontSize">> </div> <div class="settingsToggleItem"> Overlay <span class="tooltip-anchor linkBlue" tooltip="Default is equivalent to passage font size.">(?)</span>: <<listbox "$options.overlayFontSize" autoselect>> <<option "Default" undefined>> <<option "10px" 10>> <<option "12px" 12>> <<option "14px" 14>> <<option "16px" 16>> <<option "18px" 18>> <<option "20px" 20>> <</listbox>> <<optionsThemeDefault "overlayFontSize">> </div> <div class="settingsToggleItemWide"> Sidebar: <<listbox "$options.sidebarFontSize" autoselect>> <<option "Default" undefined>> <<option "12px" 12>> <<option "14px" 14>> <<option "16px" 16>> <<option "18px" 18>> <<option "20px" 20>> <</listbox>> <<optionsThemeDefault "sidebarFontSize">> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Font Style</div> <div class="settingsToggleItemWide"> <<optionsThemeDefault "font">> <label><<radiobutton "$options.font" "" `$options.font is undefined ? 'checked' : 'autocheck'`>> Use system default</label> <br> <span class="gold">Sans-serif:</span> <label class="Arial"><<radiobutton "$options.font" "Arial" autocheck>> Arial</label> | <label class="Verdana"><<radiobutton "$options.font" "Verdana" autocheck>> Verdana</label> <br> <span class="gold">Serif:</span> <label class="TimesNewRoman"><<radiobutton "$options.font" "TimesNewRoman" autocheck>> Times New Roman</label> | <label class="Georgia"><<radiobutton "$options.font" "Georgia" autocheck>> Georgia</label> | <label class="Garamond"><<radiobutton "$options.font" "Garamond" autocheck>> Garamond</label> <br> <span class="gold">Monospace:</span> <label class="CourierNew"><<radiobutton "$options.font" "CourierNew" autocheck>> Courier New</label> | <label class="LucidaConsole"><<radiobutton "$options.font" "LucidaConsole" autocheck>> Lucida Console</label> | <label class="Monaco"><<radiobutton "$options.font" "Monaco" autocheck>> Monaco</label> <br> <span class="gold">Accessibility:</span> <label class="OpenDyslexicMono"><<radiobutton "$options.font" "OpenDyslexicMono" autocheck>> OpenDyslexic Mono</label> | <label class="ComicSans"><<radiobutton "$options.font" "ComicSans" autocheck>> Comic Sans</label> </div> </div> <</widget>> <<widget "optionsThemeDefault">> <<if _args[0]>> <span @id="'optionsThemeDefault-' + _args[0]"> <<if _globalThemeDefaults[_args[0]]>> Default: (<<print _globalThemeDefaults[_args[0]]>>) <<elseif _globalGeneralDefaults[_args[0]]>> Default: (<<print _globalGeneralDefaults[_args[0]]>>) <</if>> </span> <</if>> <</widget>> <<widget "optionsperformance">> <<setupOptions>> <<if StartConfig.enableImages is true>> <div class="settingsGrid"> <div class="settingsHeader options">Images</div> <div class="settingsToggleItem"> <label><<checkbox "$options.images" 0 1 autocheck>> Enable images</label> <span class="tooltip-anchor linkBlue" tooltip="Images may not load properly on older Androids.">(?)</span> </div> <div class="settingsToggleItem"> <label data-target="options.images" data-disabledif="V.options.images===0"> <<checkbox "$options.combatImages" 0 1 autocheck>> Enable combat images </label> </div> <div class="settingsToggleItem"> <label data-target="options.images" data-disabledif="V.options.images===0"><<checkbox "$options.silhouetteEnabled" false true autocheck>> Enable NPC silhouettes</label> </div> <div class="settingsToggleItem"> /* This will be removed soon... right? September 7th 2024 */ <label data-target="options.images" data-disabledif="true || V.options.images===0"> <<checkbox "$options.tanImgEnabled" false true autocheck>> Visual representation of the player's and NPCs' skin colour in combat </label> /* <span class="tooltip-anchor linkBlue" tooltip="Only for combat. Option may be removed in the future.">(?)</span> */ <span class="tooltip-anchor linkBlue" tooltip="Temporarily disabled for causing rendering issues with combat animations.">(?)</span> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Rendering</div> <div class="settingsToggleItem"> <label data-target="options.images" data-disabledif="V.options.images===0"><<checkbox "$options.weatherUpdate" false true autocheck>> Use new weather renderer for sidebar</label> </div> <div class="settingsToggleItem"> <label data-target='["options.images", "weatherupdate"]' data-disabledif="V.options.images===0||V.options.weatherUpdate===false"><<checkbox "$options.reflections" false true autocheck>> Render water reflections </label> <span class="tooltip-anchor linkBlue" tooltip="Could cause performance issues on old devices.">(?)</span> </div> <div class="description">Close the options menu for the change to apply.</div> </div> <span class="gold">Animations</span> <div class="settingsGrid"> <div class="settingsToggleItem"> <label data-target="options.images" data-disabledif="V.options.images===0"> <<checkbox "$options.sidebarAnimations" false true autocheck>> Sidebar character animations </label> </div> <div class="settingsToggleItem"> <label data-target='["options.images", "sidebaranimations"]' data-disabledif="V.options.images===0||V.options.sidebarAnimations===false"> <<checkbox "$options.blinkingEnabled" false true autocheck>> Animate eyes blinking </label> </div> <div class="settingsToggleItem"> <label data-target="images" data-disabledif="V.options.images===0||V.options.combatImages===0"> <<checkbox "$options.combatAnimations" false true autocheck>> Combat animations </label> <span class="tooltip-anchor linkBlue" tooltip="Disabling may help improve performance during combat.">(?)</span> </div> <div class="settingsToggleItem"> <label data-target="options.textAnimations"><<checkbox "$options.textAnimations" false true autocheck>> Text animations</label> </div> <<if $eyelidTEST is true>> <div class="settingsToggleItem"> <label data-target='["options.images", "sidebaranimations"]' data-disabledif="V.options.images===0||V.options.sidebarAnimations===false"> <<checkbox "$options.halfClosedEnabled" false true autocheck>> Enable half-closed eyes graphics </label> </div> <div class="description"> Draw eyelids in sidebar as half-closed when highly aroused. </div> <</if>> </div> <hr> <div> <div class="settingsGrid" data-target='["images", "characterLightEnabled"]' data-disabledif="V.options.images===0||V.options.characterLightEnabled===false" oninput='Renderer.refresh(Renderer.locateModel("lighting", "sidebar"));'> <div class="settingsHeader options">Character Lighting</div> <div class="settingsToggleItem"> <label> Spotlight<br> <<numberslider "$options.lightSpotlight" $options.lightSpotlight 0 1 0.05>> </label> </div> <div class="settingsToggleItem"> <label> Gradient<br> <<numberslider "$options.lightGradient" $options.lightGradient 0 1 0.05>> </label> </div> <div class="settingsToggleItem"> <label> Glow<br> <<numberslider "$options.lightGlow" $options.lightGlow 0 1 0.05>> </label> </div> <div class="settingsToggleItem"> <label> Flat<br> <<numberslider "$options.lightFlat" $options.lightFlat 0 1 0.05>> </label> </div> <div class="settingsToggleItem"> <label data-target="images" data-disabledif="V.options.images===0||V.options.combatImages===0"> Combat Light<br> <<numberslider "$options.lightCombat" $options.lightCombat 0 1 0.05>> </label> </div> <div class="settingsToggleItem"> <label> Colour Component<br> <<numberslider "$options.lightTFColor" $options.lightTFColor 0 1 0.05>> <span class="description">Requires Angel/Demon transformation</span> </label> </div> </div> <div style="margin-left: 10px" onchange="new Wikifier(null, '<<updatesidebarimg>>')"> <label data-target="options.images" data-disabledif="V.options.images===0"> <<checkbox "$options.characterLightEnabled" false true autocheck>> Enable character lighting </label> </div> </div> <<else>> <br> Images disabled <</if>> <hr> <div class="settingsGrid"> <div class="settingsHeader options">History Depth</div> <div class="settingsToggleItem"> Enables going back in history up to N-1 passages. Useful for reporting bugs or undoing decisions. <hr> <label> <<checkbox "$options.historyControls" false true autocheck>> Display history controls in the sidebar </label> </div> <div class="settingsToggleItem"> <span class="gold">States saved to memory:</span> <<numberslider "$options.maxStates" `$options.maxStates gt 20 ? 20 : $options.maxStates` 1 20 1 $ironmanmode>> <br><br> </div> </div> <</widget>> <<widget "optionsadvanced">> <<setupOptions>> <div class="settingsGrid"> <div class="settingsHeader options">Advanced Settings</div> <div class="settingsToggleItem"> <label> <<checkbox "$options.numpad" false true autocheck>> Enable numpad </label> <span class="tooltip-anchor linkBlue" tooltip="Useful on mobile if links break due to translation software.">(?)</span> </div> <div class="settingsToggleItem"> <label> <<checkbox "$options.useNarrowMarket" false true autocheck>> Use "narrow screen" version of the market inventory </label> </div> <div class="settingsToggleItem"> <label><<checkbox "$options.showDebugRenderer" false true autocheck>> Enable renderer debugger</label> </div> <div class="settingsToggleItem"> <label onclick="setTimeout(() => {toggleConfirmDialogUponTabClose();}, 100)"> <<checkbox "$options.confirmDialogUponTabClose" false true autocheck>> Prompt confirmation dialog upon closing tab </label> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader options">Game Zoom</div> <div class="settingsToggleItemWide"> <span class="gold">Zoom Size:</span> <span class="tooltip-anchor linkBlue" tooltip-width="460" tooltip="Will allow you to adjust the size of game elements and text.<br><br><span class='red'> Please be careful with this setting! Only save if you are happy with the changes made, as reloading the game will reset it to the last value used in that save. Depending on the device and browser, the setting may break entirely, and may cause unexpected effects. </span>">(?)</span> <br> <span class="description red">Not supported in all browsers</span> <br> <<numberslider "$options.zoom" $options.zoom 50 200 1>> <br><br> <input type="button" value="Set" onclick='zoom()'/> <input type="button" value="Reset" onclick='zoom(100)'/> </div> </div> <</widget>> <<widget "optionsinformation">> <div class="p-2 text-align-center"> <h3>People of Interest</h3> <div class="m-2"> <span class="gold">Creator: </span><span>Vrelnir</span> </div> <div class="m-2"> <span class="gold">Developer: </span><span>PurityGuy</span> </div> </div> <div class="p-2 text-align-center"> <h3>Useful Resources</h3> <<linkinformation>> <div class="m-2"> <p class="gold m-0">Unofficial Wiki</p> [[degreesoflewdity.miraheze.org|"https://degreesoflewdity.miraheze.org/wiki/Main_Page"]] </div> </div> <</widget>> <<widget "setFont">> <<set _globalThemeDefaults to JSON.parse(localStorage.getItem("dolDefaultThemeSettings"))>> <<if !_globalThemeDefaults>> <<set _globalThemeDefaults to {}>> <</if>> <<removeclass "#passages" "passageMaxWidth50">> <<removeclass "#passages" "passageMaxWidth55">> <<removeclass "#passages" "passageMaxWidth60">> <<removeclass "#passages" "passageMaxWidth65">> <<removeclass "#passages" "passageMaxWidth70">> <<removeclass "#passages" "passageMaxWidth75">> <<if $options.passageMaxWidth>><<addclass "#passages" `"passageMaxWidth" + $options.passageMaxWidth`>><</if>> <<removeclass "#passages" "fontSize10">> <<removeclass "#passages" "fontSize12">> <<removeclass "#passages" "fontSize14">> <<removeclass "#passages" "fontSize16">> <<removeclass "#passages" "fontSize18">> <<removeclass "#passages" "fontSize20">> <<if $options.passageFontSize>><<addclass "#passages" `"fontSize" + $options.passageFontSize`>><</if>> <<removeclass "#story-caption" "fontSize12">> <<removeclass "#story-caption" "fontSize14">> <<removeclass "#story-caption" "fontSize16">> <<removeclass "#story-caption" "fontSize18">> <<removeclass "#story-caption" "fontSize20">> <<if $options.sidebarFontSize>><<addclass "#story-caption" `"fontSize" + $options.sidebarFontSize`>><</if>> <<if _args[0]>><!--For elements that are not sugarcube specific and wont be loaded when the widget is normally called--> <<removeclass "#customOverlay" "fontSize10">> <<removeclass "#customOverlay" "fontSize12">> <<removeclass "#customOverlay" "fontSize14">> <<removeclass "#customOverlay" "fontSize16">> <<removeclass "#customOverlay" "fontSize18">> <<removeclass "#customOverlay" "fontSize20">> <<if $options.overlayFontSize>><<addclass "#customOverlay" `"fontSize" + $options.overlayFontSize`>><</if>> <</if>> <<removeclass "#passages" "lineHeight1">> <<removeclass "#passages" "lineHeight125">> <<removeclass "#passages" "lineHeight15">> <<removeclass "#passages" "lineHeight175">> <<removeclass "#passages" "lineHeight2">> <<if $options.passageLineHeight>><<addclass "#passages" `"lineHeight" + $options.passageLineHeight.toString().replace('.','')`>><</if>> <<removeclass "#story-caption" "lineHeight1">> <<removeclass "#story-caption" "lineHeight125">> <<removeclass "#story-caption" "lineHeight15">> <<removeclass "#story-caption" "lineHeight175">> <<removeclass "#story-caption" "lineHeight2">> <<if $options.sidebarLineHeight>><<addclass "#story-caption" `"lineHeight" + $options.sidebarLineHeight.toString().replace('.','')`>><</if>> <<if _args[0]>> <<removeclass "#customOverlay" "lineHeight1">> <<removeclass "#customOverlay" "lineHeight125">> <<removeclass "#customOverlay" "lineHeight15">> <<removeclass "#customOverlay" "lineHeight175">> <<removeclass "#customOverlay" "lineHeight2">> <<if $options.overlayLineHeight>><<addclass "#customOverlay" `"lineHeight" + $options.overlayLineHeight.toString().replace('.','')`>><</if>> <</if>> <<removeclass "html" "Arial">> <<removeclass "html" "Verdana">> <<removeclass "html" "TimesNewRoman">> <<removeclass "html" "Georgia">> <<removeclass "html" "Garamond">> <<removeclass "html" "CourierNew">> <<removeclass "html" "LucidaConsole">> <<removeclass "html" "Monaco">> <<removeclass "html" "ComicSans">> <<removeclass "html" "OpenDyslexicMono">> <<if $options.font>><<addclass "html" $options.font>><</if>> <!--Adding to the body would remove it on changing passage--> <</widget>>/* Displays overlay (#customOverlay element) with title and content defined by provided key. */ <<widget "overlayReplace">> <<set _key to _args[0]>> <<if !_key>> <<exit>> <</if>> <<if _currentOverlay is _key>> <<run closeOverlay()>> <<exit>> <</if>> <<script>> T.buttons.toggle(); updateOptions(); T.currentOverlay = T.key; $("#customOverlay").removeClass("hidden").parent().removeClass("hidden"); $("#customOverlay").attr("data-overlay", T.currentOverlay); <</script>> <<switch _key>> <<case "characteristics">> <<replace #customOverlayTitle>><<titleCharacteristics>><</replace>> <<replace #customOverlayContent>><<characteristics>><</replace>> <<case "social">> <<replace #customOverlayTitle>><<titleSocial>><</replace>> <<replace #customOverlayContent>><<social>><</replace>> <<case "traits">> <<replace #customOverlayTitle>><<titleTraits>><</replace>> <<replace #customOverlayContent>><<traits>><</replace>> <<case "journal">> <<replace #customOverlayTitle>><<titleJournal>><</replace>> <<replace #customOverlayContent>><<journal>><</replace>> <<case "journalNotes">> <<replace #customOverlayTitle>><<titlejournalNotes>><</replace>> <<replace #customOverlayContent>><<journalNotes>><</replace>> <<case "statistics">> <<replace #customOverlayTitle>><<titleStats>><</replace>> <<replace #customOverlayContent>><<statistics>><</replace>> <<case "gameFeats">> <<replace #customOverlayTitle>><<titleFeats>><</replace>> <<replace #customOverlayContent>><<feats>><</replace>> <<case "startFeats">> <<replace #customOverlayTitle>><<titleFeats>><</replace>> <<replace #customOverlayContent>><<feats>><</replace>> <<case "cheats">> <<replace #customOverlayTitle>><<titleCheats>><</replace>> <<replace #customOverlayContent>><<cheats>><</replace>> <<case "options">> <<replace #customOverlayTitle>><<titleOptions>><</replace>> <<replace #customOverlayContent>><<optionsgeneral>><</replace>> <<case "saves">> <<replace #customOverlayTitle>><<titleSaves>><</replace>> <<replace #customOverlayContent>><<saves>><</replace>> <<case "export">> <<replace #customOverlayTitle>><<titleSaves>><</replace>> <<replace #customOverlayContent>><<optionsExportImport>><</replace>> <<case "blackjackHelp">> <<replace #customOverlayTitle>><<titleBlackjackHelp>><</replace>> <<replace #customOverlayContent>><<blackjackHelp>><</replace>> <<case "eventExtraInfo">> <<replace #customOverlayTitle>><<titleEventInfo>><</replace>> <<replace #customOverlayContent>><<eventExtraInfo>><</replace>> <<case "canvasModel">> <<replace #customOverlayTitle>><<titleDebugRenderer>><</replace>> <<replace #customOverlayContent>><<canvasModelEditor>><</replace>> <<case "outfitEditor">> <<replace #customOverlayTitle>><<titleOutfitEditor>><</replace>> <<replace #customOverlayContent>><<outfitEditor>><</replace>> <</switch>> <</widget>> <<widget "titleCharacteristics">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Characteristics">> <<toggleTab>> <<replace #customOverlayContent>><<characteristics>><</replace>> <</button>> <<colourCodes>> </div> <<closeButton>> <</widget>> <<widget "titleSocial">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Social">> <<toggleTab>> <<replace #customOverlayContent>><<social>><</replace>> <</button>> <<colourCodes>> </div> <<closeButton>> <</widget>> <<widget "titleTraits">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Traits">> <<toggleTab>> <<replace #customOverlayContent>><<traits>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleJournal">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Journal">> <<journalNotesTextareaSave>> <<toggleTab>> <<replace #customOverlayContent>><<journal>><</replace>> <</button>> <<button "Notes">> <<toggleTab>> <<set $tempDisable to true>> <<replace #customOverlayContent>><<journalNotes>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titlejournalNotes">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Journal">> <<journalNotesTextareaSave>> <<toggleTab>> <<replace #customOverlayContent>><<journal>><</replace>> <</button>> <<button "Notes">> <<toggleTab>> <<set $tempDisable to true>> <<replace #customOverlayContent>><<journalNotes>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleStats">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Statistics">> <<toggleTab>> <<replace #customOverlayContent>><<statistics>><</replace>> <</button>> <<button "Extra stats (spoilers)">> <<toggleTab>> <<if $options.skipStatisticsConfirmation>> <<replace #customOverlayContent>><<extraStatistics>><</replace>> <<else>> <<replace #customOverlayContent>><<extraStatisticsWarning>><</replace>> <</if>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleFeats">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Feats">> <<toggleTab>> <<replace #customOverlayContent>><<feats>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleCheats">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Stats">> <<toggleTab>> <<replace #cheatsShown>><<cheats-characterStats>><</replace>> <<run $("#customOverlayContent").scrollTop(0);>> <</button>> <<button "Visual">> <<toggleTab>> <<replace #cheatsShown>><<cheats-characterVisual>><</replace>> <<run $("#customOverlayContent").scrollTop(0);>> <</button>> <<button "NPCs">> <<toggleTab>> <<replace #cheatsShown>><<cheats-npcs>><</replace>> <<run $("#customOverlayContent").scrollTop(0);>> <</button>> <<if !$statFreeze>> <<button "Teleport">> <<toggleTab>> <<replace #cheatsShown>><<cheats-teleport>><</replace>> <<run $("#customOverlayContent").scrollTop(0);>> <</button>> <</if>> <<button "Other">> <<toggleTab>> <<replace #cheatsShown>><<cheats-other>><</replace>> <<run $("#customOverlayContent").scrollTop(0);>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleOptions">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "General">> <<toggleTab>> <<replace #customOverlayContent>><<optionsgeneral>><</replace>> <</button>> <<button "Theme">> <<toggleTab>> <<replace #customOverlayContent>><<optionstheme>><</replace>> <</button>> <<button "Performance">> <<toggleTab>> <<replace #customOverlayContent>><<optionsperformance>><</replace>> <</button>> <<button "Advanced">> <<toggleTab>> <<replace #customOverlayContent>><<optionsadvanced>><</replace>> <</button>> <<button "Information">> <<toggleTab>> <<replace #customOverlayContent>><<optionsinformation>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleSaves">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Saves">> <<toggleTab>> <<replace #customOverlayContent>><<saves>><</replace>> <</button>> <<button "Export/Import">> <<toggleTab>> <<replace #customOverlayContent>><<optionsExportImport>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleBlackjackHelp">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Blackjack Guide">> <<toggleTab>> <<replace #customOverlayContent>><<blackjackHelp>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleEventInfo">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Event Info">> <<toggleTab>> <<replace #customOverlayContent>><<eventExtraInfo>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "titleDebugRenderer">> <<setupTabs 2>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Layers">> <<toggleTab>> <<replace #customOverlayContent>><<canvasLayersEditor>><</replace>> <</button>> <<button "Colours">> <<toggleTab>> <<replace #customOverlayContent>><<canvasColoursEditor `$cheatdisable is "f"`>><</replace>> <</button>> <<button "Model">> <<toggleTab>> <<replace #customOverlayContent>><<canvasModelEditor>><</replace>> <</button>> <<if Renderer.lastAnimation>> <<button "Start/Stop Animation">> <<script>> if (Renderer.lastAnimation.playing) { Renderer.lastAnimation.stop(); } else { Renderer.lastAnimation.start(); } <</script>> <</button>> <</if>> <<button "Refresh Caches">> <<script>> Renderer.Stats.logmsgLoad.value = ""; Renderer.Stats.logmsgRender.value = ""; Renderer.Stats.logmsgAnimate.value = ""; Renderer.ImageCaches = {}; Renderer.ImageErrors = {}; Renderer.lastAnimation.invalidateCaches(); Renderer.invalidateLayerCaches(Renderer.lastModel.layerList); Renderer.lastModel.redraw(); <</script>> <</button>> <<script>> output.append(Renderer.Stats.logmsgLoad.bindText($("<div class='rendererOutput'>")[0])); output.append(Renderer.Stats.logmsgRender.bindText($("<div class='rendererOutput'>")[0])); output.append(Renderer.Stats.logmsgAnimate.bindText($("<div class='rendererOutput'>")[0])); <</script>> </div> <<closeButton>> <</widget>> <<widget "titleOutfitEditor">> <<setupTabs>> <div id="overlayTabs" class="tab"> <<closeButtonMobile>> <<button "Outfit Editor">> <<toggleTab>> <<replace #customOverlayContent>><<outfitEditor>><</replace>> <</button>> </div> <<closeButton>> <</widget>> <<widget "colourCodes">> <mouse class="tooltip-small colourCodes"><span>Colour Codes</span> <span> <i class="red">Terrible</i> | <i class="pink">Bad</i> | <i class="purple">Poor</i> | <i class="blue">Okay</i> | <i class="lblue">Decent</i> | <i class="teal">Good</i> | <i class="green">Excellent</i> </span> </mouse> <</widget>> <<widget "setupTabs">> <<script>> T.tab = new window.Tab("overlayTabs", "tab-selected"); let active = V.options.closeButtonMobile ? 1 : 0; T.tab.setActive((T.args[0] || 0) + active); <</script>> <</widget>> <<widget "toggleTab">> <<run T.tab.toggle()>> <</widget>> <<widget "closeButton">> <<if !$options.closeButtonMobile>> <div class="customOverlayClose" onclick="closeOverlay()"></div> <</if>> <</widget>> <<widget "closeButtonMobile">> <<if $options.closeButtonMobile>> <<button "Close">> <<run closeOverlay()>> <</button>> <</if>> <</widget>><<widget "optionsExportImport">> <<if SugarCube.Browser.isMobile.Android is true>> <span class="red">Note that saving and loading from file may not work on Android devices in all environments.</span> <</if>> <<set $_errorCount to document.querySelectorAll('.error').length>> <<set $_dolErrorCount to document.querySelectorAll('.dol-error').length>> <<set $_customErrorCount to Errors.log.length>> <<set $_bypassRestrictions to $debug is 1 or $_errorCount gt 0 or $_dolErrorCount gt 0 or $_customErrorCount gt 0>> Load from file: <input id="saveImport" type="file" value="Load from file" onchange="importSave(this.files)"> <br><br> <<if tags().includes("nosave")>> You can't export your current save here! <<elseif $ironmanmode>> <<if $_bypassRestrictions>> <input type="button" class="saveMenuButton" value="Save to file" onclick="IronMan.exportCurrent()"> <<else>> Unable to save to file during ironman-mode. Only autosaves can be exported. <</if>> <<elseif ($replayScene is undefined) or $_bypassRestrictions>> <<set _exportName to "'degrees-of-lewdity"+($saveName isnot ''?'-'+$saveName:'')+ "'">> <input type="button" class="saveMenuButton" value="Save to file" @onclick="'SugarCube.Save.export('+_exportName+')'"> <<else>> Unable to save to file currently. <</if>> <br><br> <span class="gold">Text Import/Export</span> <<if !($dancing is 0 and $combat is 0 and $replayScene is undefined)>> <span class="red"><b>Combat event active, only use resulting save data for bug reporting!!</b></span><br> <</if>> This feature lets you transfer saves between devices when one or more does not allow access to save files, such as on Android. <br> To save, click on "Get Save Data", then copy and paste the save data where required. <br> To load, paste in the save data then click "Load Save Data". <br> To transfer to and from Android, it is recommended to use email or a service such as pastebin. Please ensure that the start and the end of the save is exact to prevent issues. <br> Click on "Copy Text Area" to copy the current contents for you. The button name will change to "Copying Error" if your device or browser does not support it. <br><br> <textarea id="saveDataInput" rows="4" cols="40" onClick="if(V.disableAutoSelect == false)this.select();"><<if _presetData>>_presetData<</if>></textarea> <br> <input type="button" class="saveMenuButton" value="Clear Text Box" onclick="clearTextBox('saveDataInput')"/> <input type="button" class="saveMenuButton" value="Top of Text Box" onclick="topTextArea('saveDataInput')"/> <input type="button" class="saveMenuButton" value="Bottom of Text Box" onclick="bottomTextArea('saveDataInput')"/> <<if $ironmanmode is true || tags().includes("nosave") || V.replayScene !== undefined>> <input type="button" value="Get Save Data" disabled> <<else>> <input type="button" class="saveMenuButton" value="Get Save Data" onclick="getSaveData()"/> <</if>> <input type="button" class="saveMenuButton" value="Load Save Data" onclick="loadSaveData()"/> <input id="CopyTextArea" class="saveMenuButton" type="button" value="Copy Text Area" onclick="copySavedata('saveDataInput')"> <br><br> <label> <<print '<<checkbox "$disableAutoSelect" false true '+($disableAutoSelect is true? "checked":"")+'>>'>> Disables auto select. </label> <br><br> <<if $saveDetails isnot undefined>> How many days after exporting will the export warning show: <br> <label><<radiobutton "$saveDetails.exported.frequency" 5 autocheck>>5</label> | <label><<radiobutton "$saveDetails.exported.frequency" 10 autocheck>>10</label> | <label><<radiobutton "$saveDetails.exported.frequency" 15 autocheck>>15</label> | <label><<radiobutton "$saveDetails.exported.frequency" 20 autocheck>>20</label> | <label><<radiobutton "$saveDetails.exported.frequency" 30 autocheck>>30</label> | <label><<radiobutton "$saveDetails.exported.frequency" 60 autocheck>>60</label> | <label><<radiobutton "$saveDetails.exported.frequency" 365 autocheck>>365</label> <</if>> <</widget>><<widget "saves">> <<if StartConfig.sneaky>> <div class="sneaky-warning"> <h3>Warning</h3> <p> Please export any saves you plan to use before playing this <b>Sneaky Build</b>. If any bugs or glitches occur, we strongly advise reporting the issue directly to our discord server. Be careful when saving, especially if the issue is affecting your ability to play the game. </p> </div> <br> <</if>> <<if $ironmanmode is true>> <span style="background-color: #ffffff1a;">Ironman mode enabled:</span> <ul class="ironman-ul"><li>You can save your game in Ironman mode, but it will lead you back to the Start menu.</li> <li style="text-decoration: underline;">Loading an Ironman save <span style="color: #ff0000;">will delete the save</span> after loading it</li> <li>Automatic save every 5 to 8 days (in-game time), those won't be deleted on loading. Regular auto-saves that used to happen after sleep are disabled. </li> <li>Cheats disabled</li> <li>Ironman saves are recognisable by the <img src="img/ui/SilverCoin.gif" style="max-width: 16px;filter: brightness(2.2);"> next to them</li> </ul> <</if>> <div id="saveList"> <<if idb.active and !$ironmanmode and !sessionStorage.getItem("noidb")>> <<run setTimeout(() => idb.saveList())>> <<else>> /* record idb status between page reloads within the same session */ <<run sessionStorage.setItem("noidb", true); idb.active = false>> <<saveList>> <</if>> </div> <<if $saveDetails isnot undefined>> <br> <div> How many days after exporting will the export warning show: <br> <label><<radiobutton "$saveDetails.exported.frequency" 5 autocheck>>5</label> | <label><<radiobutton "$saveDetails.exported.frequency" 10 autocheck>>10</label> | <label><<radiobutton "$saveDetails.exported.frequency" 15 autocheck>>15</label> | <label><<radiobutton "$saveDetails.exported.frequency" 20 autocheck>>20</label> | <label><<radiobutton "$saveDetails.exported.frequency" 30 autocheck>>30</label> | <label><<radiobutton "$saveDetails.exported.frequency" 60 autocheck>>60</label> | <label><<radiobutton "$saveDetails.exported.frequency" 365 autocheck>>365</label> </div> <</if>> <</widget>> <<widget "saveList">> <<run prepareSaveDetails()>> <<if !tags().includes("nosave") && $replayScene is undefined>> <<set _saveUnlock to true>> <</if>> <<if $replayScene isnot undefined>> <h3 class="red">The scene viewer is currently in use, preventing the use of the save system.</h3> <<elseif tags().includes("nosave")>> <h3 class="red">You can't save here!</h3> <</if>> <p>Saves here will be lost if your browser cache is cleared. Exporting is recommended to prevent the loss of saves from occurring.</p> <p> <i class="description">__Where are my saves?__</i> <mouse class="tooltip linkBlue">(?)<span> If you can't find your saves, it's possible you saved them using a different storage method. Try toggling the "Enable IndexedDB" option below the list of saves. </span></mouse> </p> <<set _saveDetails = getSaveDetails()>> <!--Extra checks in case the above fails for some reason--> <<if _saveDetails eq null>> <<set _saveDetails to returnSaveDetails()>> <<elseif _saveDetails.autosave is undefined or _saveDetails.slots is undefined>> <<set _saveDetails to returnSaveDetails()>> <</if>> <<set _lastSlot to _saveDetails.autosave ? { slot: "autosave", date: _saveDetails.autosave.date } : { slot: "", date: 0 }>> <<for _slot, _data range _saveDetails.slots>> <<if _data and _data.date gt _lastSlot.date>> <<set _lastSlot to { slot: _slot, date: _data.date }>> <</if>> <</for>> <<set _currentTime to new Date().getTime()>> <div id="savesListContainer"> <div class="savesListRow"> <div class="saveGroup"> <div class="saveId">#</div> <div class="saveButton">Save/Load</div> <div class="saveName">ID/Name</div> <div class="saveDetails">Details</div> </div> <div class="deleteButton"></div> </div> <<for _i to 0; _i lt 11; _i++>> <<if _i != 9 or (_i == 9 and _saveDetails.slots[_i - 1] != null)>> <div class="savesListRow"> <<if _i is 0>> <<if _saveDetails.autosave neq null>> <<if _lastSlot.slot is "autosave">> <<set _highlight to " green">> <<elseif _saveDetails.autosave.date gte _currentTime - 1800000>> <<set _highlight to " gold">> <<else>> <<set _highlight to "">> <</if>> <div class="saveGroup"> <div class="saveId">A</div> <div class="saveButton"> <input type="button" class="saveMenuButton" value="Load" onclick="DoLSave.loadHandler('auto')"/> </div> <<if _saveDetails.autosave.metadata isnot undefined>> <div @class="'saveName' + ($saveId is _saveDetails.autosave.metadata.saveId ? ' gold' : '')"> <<if _saveDetails.autosave.metadata.saveName isnot "">> <<print _saveDetails.autosave.metadata.saveName.slice(0,10)>> <<else>> <<print _saveDetails.autosave.metadata.saveId>> <</if>> </div> <<else>> <div class="saveName"></div> <</if>> <div class="saveDetails"> <span><<print Util.escapeMarkup(_saveDetails.autosave.title.replace(/</g, "< "))>></span> <span @class="'datestamp' + _highlight"><<print new Date(_saveDetails.autosave.date).toLocaleString(returnTimeFormat())>></span> </div> </div> <div class="deleteButton"> <input type="button" class="saveMenuButton right" value="Delete" onclick="deleteSave('auto')"/> </div> <<else>> <div class="saveGroup"> <div class="saveId">A</div> <div class="saveButton"> <input type="button" value="Load" disabled/> </div> <div class="saveName"></div> <div class="saveDetails"></div> </div> <div class="deleteButton"> <input class="right" type="button" value="Delete" disabled/> </div> <</if>> <<elseif _i lt 10>> <<set _slot to _i - 1>> <<set _ironmanSlot to 9>> <<if _saveDetails.slots[_slot] neq null>> <<if _lastSlot.slot eq _slot>> <<set _highlight to " green">> <<elseif _saveDetails.slots[_slot].date gte _currentTime - 1800000>> <<set _highlight to " gold">> <<else>> <<set _highlight to "">> <</if>> <div class="saveGroup"> <<if _saveDetails.slots[_slot].metadata.ironman === true>> <div class="saveId" style="width: 10px;"> <img src="img/ui/SilverCoin.gif" class="ironman-icon" @onclick="'IronMan.UI.exportHandler(' + _slot + ')'"> </div> <<else>> <div class="saveId" style="width: 10px;"> <<print _i>> </div> <</if>> <div class="saveButton"> <<if _i lt 9>> <<if _saveUnlock>> <<set _onclick to "save("+_slot+", false, "+_saveDetails.slots[_slot].metadata.saveId+", `"+$saveName+"`)">> <input type="button" class="saveMenuButton" value="Save" @onclick="clone(_onclick)"/> <<else>> <input type="button" value="Save" disabled/> <</if>> <</if>> <input type="button" class="saveMenuButton" value="Load" @onclick="'DoLSave.loadHandler('+ _slot +')'"/> </div> <div @class="'saveName' + ($saveId is _saveDetails.slots[_slot].metadata.saveId ? ' gold' : '')"> <<if _saveDetails.slots[_slot].metadata.saveName isnot "">> <<print _saveDetails.slots[_slot].metadata.saveName.slice(0,10)>> <<else>> <<print _saveDetails.slots[_slot].metadata.saveId>> <</if>> </div> <div class="saveDetails"> <span><<print Util.escapeMarkup(_saveDetails.slots[_slot].title.replace(/</g, "< "))>></span> <span @class="'datestamp' + _highlight"><<print new Date(_saveDetails.slots[_slot].date).toLocaleString(returnTimeFormat())>></span> </div> </div> <<if _i is _ironmanSlot>> <div id="exportButton" class="exportButton"><input type="button" class="saveMenuButton right" value="Export" @onclick="'IronMan.export('+ _slot +')'"/></div> <</if>> <div class="deleteButton"><input type="button" class="saveMenuButton right" value="Delete" @onclick="'deleteSave('+ _slot +')'"/></div> <<else>> <div class="saveGroup"> <div class="saveId"></div> <div class="saveButton"> <<if _saveUnlock>> <input type="button" class="saveMenuButton" value="Save" @onclick="'save('+ _slot +',true,'+$saveId+', `'+$saveName+'`)'"/> <<else>> <input type="button" value="Save" disabled/> <</if>> <input type="button" value="Load" disabled/> </div> <div class="saveName"></div> <div class="saveDetails"></div> </div> <div class="deleteButton"> <input class="right" type="button" value="Delete" disabled/> </div> <</if>> <<else>> <div class="saveGroup"> <span style="margin: 0;">Special thanks to all those who [[Support Degrees of Lewdity| "https://subscribestar.adult/vrelnir"]]</span> <div class="saveId"></div> <div class="saveButton"></div> <div class="saveName"></div> <div class="saveDetails"></div> </div> <div class="saveButton"><input type="button" class="saveMenuButton right" value="Delete All" onclick="deleteSave('all')"/></div> <</if>> </div> <</if>> <</for>> </div> <label> <<checkbox "$compressSave" false true autocheck>> Compress saves </label> <br> <label> <<checkbox "$confirmSave" false true autocheck>> Require Confirmation on Save </label> <br> <label> <<checkbox "$confirmLoad" false true autocheck>> Require Confirmation on Load </label> <br> <label> <<checkbox "$confirmDelete" false true autocheck>> Require Confirmation on Delete </label> <br> <label id="idbToggleSaves"> /* checkbox macro doesn't allow changing variables that do not start with "$" or "_". this is a bypass hack. */ <<run setTimeout(() => jQuery(document.createElement("input")) .attr({ id: "checkbox-idbactive", name: "checkbox-idbactive", type: "checkbox", checked: idb.active && !V.ironmanmode, disabled: idb.lock || V.ironmanmode }) .addClass("macro-checkbox") .on("change.macros", () => { idb.active = document.getElementById("checkbox-idbactive").checked; if (idb.active) { sessionStorage.removeItem("noidb"); idb.saveList() } }) .prependTo("#idbToggleSaves"))>> Enable indexedDB<<if $ironmanmode>> (unavailable in ironman mode)<</if>> </label> <br><br> <<if $debug is 1>> <br> <label><<print '<<checkbox "$prepareSaveDetails" false true '+($prepareSaveDetails is true ? "checked" : "")+'>>'>> Run `prepareSaveDetails`. Disabling will cause saving/deleting on older version to not update the save list on newer versions but may speed up refresh loading times. </label> <</if>> <</widget>> <<widget "clearAllWarning">> <div class="saveBorder"> <h4><span class="red">Warning</span> - Are you sure you would like to delete all saves?</h4> <input type="button" class="close saveMenuConfirm" value="Confirm Delete All" onclick="deleteSave('all', true)"/> <input type="button" class="saveMenuButton saveMenuConfirm" value="Cancel" onclick="resetSaveMenu();"/> <br> </div> <</widget>> <<widget "saveWarning">> <div class="saveBorder"> <<if _saveDetails.slots[_args[0]] isnot null>> <<if _saveDetails.slots[_args[0]].metadata isnot undefined>> <<if _saveDetails.slots[_args[0]].metadata.saveId isnot $saveId>> <<set _showSaveId to true>> <<else>> <<set _showSaveId to false>> <</if>> <<else>> <<set _showSaveId to "noId">> <</if>> <</if>> <<if _saveDetails.slots[_args[0]] is null>> <h4 class="red">Save on slot <<print (_args[0] is "auto"? "auto": _args[0] + 1)>></h4> <<if _showSaveId is true>> <span class="red">Save ID does not match, continue with overwrite?</span> <br> <</if>> <<if _showSaveId is "noId">> <span class="red">Save ID not found on older save, continue with overwrite?</span> <br> <</if>> <<else>> <h4 class="red">Overwrite Save on slot <<print (_args[0] is "auto"? "auto": _args[0] + 1)>>?</h4> <<if _showSaveId is true>> <span class="red">Save ID does not match, continue with overwrite?</span> <br> <</if>> <<if _showSaveId is "noId">> <span class="red">Save ID not found on older save, continue with overwrite?</span> <br> <</if>> Old Save: <<print Util.escapeMarkup(_saveDetails.slots[_args[0]].title)>> <br> <<print new Date(_saveDetails.slots[_args[0]].date).toLocaleString(returnTimeFormat())>> <br> <</if>> <<if _saveDetails.slots[_args[0]].metadata isnot undefined>> <<if _saveDetails.slots[_args[0]].metadata.saveName isnot undefined>> Older Save Name: <<print _saveDetails.slots[_args[0]].metadata.saveName>> <br> <</if>> <</if>> <<if _showSaveId is true>> Older Save ID: <<print _saveDetails.slots[_args[0]].metadata.saveId>> <br><br> <<if $saveName isnot undefined>> Current Save Name: <<print $saveName>> <br> <</if>> Current Save ID: <<print $saveId>> <br> <</if>> <input type="button" class="saveMenuButton saveMenuConfirm" value="Save" @onclick="'save('+ _args[0] +', true,'+$saveId+', `'+$saveName+'`)'"/> <input type="button" class="saveMenuButton saveMenuConfirm" value="Cancel" onclick="resetSaveMenu();"/> <br> </div> <</widget>> <<widget "loadWarning">> <div class="saveBorder"> <h4 class="red">Load slot <<print (_args[0] is "auto"? "auto": _args[0] + 1)>></h4> <<if _args[0] is "auto">> <<print Util.escapeMarkup(_saveDetails.autosave.title)>> <br> <<print new Date(_saveDetails.autosave.date).toLocaleString(returnTimeFormat())>> <br> <input type="button" class="saveMenuButton saveMenuConfirm" value="Load" onclick="DoLSave.loadHandler('auto', true)"/> <<else>> <<print Util.escapeMarkup(_saveDetails.slots[_args[0]].title)>> <br> <<print new Date(_saveDetails.slots[_args[0]].date).toLocaleString(returnTimeFormat())>> <br> <input type="button" class="saveMenuButton saveMenuConfirm" value="Load" @onclick="'DoLSave.loadHandler('+ _args[0] +', true)'"/> <</if>> <input type="button" class="saveMenuButton saveMenuConfirm" value="Cancel" onclick="resetSaveMenu();"/> <br> </div> <</widget>> <<widget "loadwarningcompat">> <!-- Wrap auto in strings, for the onclick fn further down. Planned to change in future. --> <<set $_slot to _args[0] is "auto" ? "'auto'" : _args[0]>> <div class="saveBorder"> <h4 class="red">Loading save into an older version!</h4> Loading a save game into an older version can have many unintended consequences. We do not guarantee forward compatibility, expect bugs. <br> <input type="button" class="saveMenuButton saveMenuConfirm" value="Load" @onclick="'DoLSave.load(' + $_slot + ')'"/> <input type="button" class="saveMenuButton saveMenuConfirm" value="Cancel" onclick="resetSaveMenu();"/> <br> </div> <</widget>> <<widget "deleteWarning">> <div class="saveBorder"> <h4 class="red">Delete Save in slot <<print (_args[0] is "auto"? "auto": _args[0] + 1)>></h4> <<if _args[0] is "auto">> <<set _title to _saveDetails.autosave.title>> <<print Util.escapeMarkup(_title)>> <br> <<print new Date(_saveDetails.autosave.date).toLocaleString(returnTimeFormat())>> <br> <input type="button" class="saveMenuButton" value="Delete Auto" onclick="deleteSave('auto', true)"/> <<else>> <<set _title to _saveDetails.slots[_args[0]].title>> <<print Util.escapeMarkup(_title)>> <br> <<print new Date(_saveDetails.slots[_args[0]].date).toLocaleString(returnTimeFormat())>> <br> <input type="button" class="saveMenuButton" value="Delete" @onclick="'deleteSave('+ _args[0] +', true)'"/> <</if>> <input type="button" class="saveMenuButton saveMenuConfirm" value="Cancel" onclick="resetSaveMenu();"/> <br> </div> <</widget>> <<widget "loadBoxIronmanCheater">> <div class="saveBorder"> <h4 class="red">Cheating detected</h4> <ul> <li>You enabled Ironman mode for this save as to prevent yourself from cheating and savescumming.</li> <li>Even if a situation in-game seems unfair or frustrating, you chose to accept it by enabling this mode.</li> <li>Revert any variable changes you made, and you will be able to resume this run. You can ask us on Discord if you're having troubles</li> </ul> <<print Util.escapeMarkup(_saveDetails.slots[_args[0]].title)>> <br> <<print new Date(_saveDetails.slots[_args[0]].date).toLocaleString(returnTimeFormat())>> <br> <input type="button" class="saveMenuButton saveMenuConfirm" value="Cancel" onclick="resetSaveMenu();"/> <br> </div> <</widget>> <<widget "loadBoxIronmanSafetyCancel">> <div class="saveBorder"> <h4 class="orange">Loading cancelled.</h4> <ul> <li>Loading a save while being in-game with ironman mode activated will have you lose the current game.</li> <li style="text-decoration: underline;">Save your game, then you can load the save you want.</li> </ul> <input type="button" class="saveMenuButton saveMenuConfirm" value="Cancel" onclick="resetSaveMenu();"/> <br> </div> <</widget>> <<widget "resetSaveMenu">> <<if document.getElementById("saveList") != null>> <<replace #saveList>> <<saveList>> <</replace>> <</if>> <</widget>> <<widget "clearSaveMenu">> <<replace #saveList>> <<clearAllWarning>> <</replace>> <</widget>> <<widget "saveConfirm">> <<replace #saveList>> <<saveWarning _args[0]>> <</replace>> <</widget>> <<widget "loadConfirm">> <<replace #saveList>> <<loadWarning _args[0]>> <</replace>> <</widget>> <<widget "loadconfirmcompat">> <<replace #saveList>> <<loadwarningcompat _args[0]>> <</replace>> <</widget>> <<widget "loadIronmanSafetyCancel">> <<replace #saveList>> <<loadBoxIronmanSafetyCancel _args[0]>> <</replace>> <</widget>> <<widget "loadIronmanCheater">> <<replace #saveList>> <<loadBoxIronmanCheater _args[0]>> <</replace>> <</widget>> <<widget "deleteConfirm">> <<replace #saveList>> <<deleteWarning _args[0]>> <</replace>> <</widget>><<widget "social">> <div id="relation-display"> <<silently>> <<script>> if (V.wolfpackharmony) C.npc["Black Wolf"].harmony = V.wolfpackharmony; if (V.wolfpackferocity) C.npc["Black Wolf"].ferocity = V.wolfpackferocity; /*data config for non-standard NPCs boxes, allows for different stat configs, custom display data, and dynamic requirements*/ T.npcConfig = { "Robin" : { important : true, dom : { name : "Confidence", activeIcon : "img/ui/sym_confidence.png", color: "blue" } }, "Whitney" : { important : true, love : { maxValue : 30 }, dom : { maxValue: 20 } }, "Eden" : { important : true, love : { maxValue: 200 }, dom : { maxValue: 150 } /*false always hides this stat*/ }, "Kylar" : { important : true, rage : { name : "Jealousy", activeIcon : "img/ui/sym_jealousy.png", color: "green" } }, "Avery" : { important : true, rage : { requirements : V.averyragerevealed } }, "Great Hawk" : { important : true, }, "Black Wolf" : { important : true, love : { maxValue : 30 }, harmony : { name : "Wolf Pack Harmony", maxValue: 20, activeIcon : "img/ui/wolfharmony.png" }, ferocity : { name : "Wolf Pack Ferocity", maxValue: 20, activeIcon : "img/ui/wolfferocity.png" } }, "Sydney" : { important : true, love : { maxValue: 150 }, purity : { requirements : V.NPCName[28].purity > 0, maxValue : 100, minValue : 0 }, corruption : { requirements : V.NPCName[28].corruption > 0, maxValue : 50, minValue : 0 } }, "Mason" : { love : { maxValue : 50 } }, "Alex" : { important : true, love : { maxValue : 100 }, lust : { maxValue : 100 }, dom : { maxValue : 100 } }, "Darryl" : { love : { maxValue : 50 } }, "River" : { love : { maxValue : 50 } }, "Sam" : { love : { maxValue : 50 } }, "Charlie" : { love : { maxValue : 50 } }, "Wren" : { love : { maxValue : 50 } }, "Zephyr" : { love : { maxValue : 100 }, dom : { maxValue : 50 } }, "Ivory Wraith" : { lust : { name: "Obsession", activeIcon : (V.wraith && (V.wraith.state == "haunt" || V.wraith.state == "despair") ? "img/ui/obsessionblood.png" : "img/ui/obsession.png"), inactiveIcon : "img/ui/obsessionempty.png", maxValue : 20 } } }; /* This list dictates the order that the important NPCs will show up in on the social menu screen */ T.importantNpcOrder = ["Robin", "Whitney", "Eden", "Kylar", "Sydney", "Avery", "Great Hawk", "Black Wolf", "Alex"]; T.specialNPCs = ["Ivory Wraith"]; /* this list is sorted */ T.importantNPCs = T.importantNpcOrder.map(name => V.NPCName[V.NPCNameList.indexOf(name)]); /* this list is unsorted */ T.otherNPCs = V.NPCName.filter(npc => !T.importantNpcOrder.includes(npc.nam) && !T.specialNPCs.includes(npc.nam)); /* sorting takes the lower value and puts it first, so if a < b, a goes first. */ /* yes, this works on words, somehow. it's math shit, but it works. read a book if necessary. */ T.otherNPCs.sort((a,b) => a.nam - b.nam); <</script>> <</silently>> <br> <span class="gold">Primary Relationships</span> <div id="npc-relations" class="relation-box-list"> <<set _initNPC to 0>> <<for _k = 0; _k lt _importantNPCs.length; _k++>> <<relation-box _importantNPCs[_k] _npcConfig[_importantNPCs[_k].nam]>> <<set _initNPC += _npcData.init>> <</for>> </div> <<if _initNPC is 0>> //No primary relationships// <br> <</if>> <br> <span class="gold">People of Interest</span> <div id="secondary-npcs" class="relation-box-list"> <<set _initNPC to 0>> <<for _k= 0; _k lt _otherNPCs.length; _k++>> <<relation-box _otherNPCs[_k] _npcConfig[_otherNPCs[_k].nam]>> <<set _initNPC += _npcData.init>> <</for>> </div> <div id="secondary-npcs" class="relation-box-list"> <<for _ik= 0; _ik lt _specialNPCs.length; _ik++>> <<set $_npc to $NPCName[$NPCNameList.indexOf(_specialNPCs[_ik])]>> <<relation-box $_npc _npcConfig[_specialNPCs[_ik]]>> <<set _initNPC += _npcData.init>> <</for>> </div> <<if _initNPC is 0>> //No secondary relationships// <br> <</if>> <br> <span class="gold">Reputation</span> <div id="faction-reputations" class="relation-box-list"> <<silently>> /* Police config */ <<set _policeCrimeConfig = { currentValue : crimeSumHistory(), preText: 'The police ', states : [ { requiredValue: 0, color: 'green', description: 'aren\'t concerned with you,'}, { requiredValue: 1000, color: 'teal', description: 'have you on their records,'}, { requiredValue: 2000, color: 'lblue', description: 'consider you a person of interest,'}, { requiredValue: 3000, color: 'blue', description: 'consider you a troublemaker,'}, { requiredValue: 5000, color: 'purple', description: 'consider you a criminal,'}, { requiredValue: 10000, color: 'pink', description: 'have a binder devoted to you,'}, { requiredValue: 30000, color: 'red', description: 'have a filing cabinet devoted to you,'} ]}>> <<set _policeEvidenceConfig = { currentValue : crimeSumHistory(), secondaryValue : crimeSumCurrent(), states : [ { requiredValue: 0, secondaryStates : [ { requiredValue: 0, color: 'green', description: 'and have no evidence linking you to any crime.'}, { requiredValue: 1, color: 'teal', description: 'despite having a little evidence linking you to crime.'}, ]}, { requiredValue: 1000, secondaryStates : [ { requiredValue: 0, color: 'green', description: 'but lack enough evidence for an arrest.'}, { requiredValue: 1000, color: 'pink', description: 'and have enough evidence for an arrest.'}, { requiredValue: 5000, color: 'red', description: 'and have more than enough evidence for an arrest.'}, ]} ]}>> <<set _policeBoxConfig = { name : "Police", icon : "img/misc/icon/police.png", description: "<<relation-text _policeCrimeConfig>> <<relation-text _policeEvidenceConfig>>"}>> /* Orphanage */ <<set _orphanageMoodConfig = { currentValue: $orphan_hope, secondaryValue: $orphan_reb, preText: 'The atmosphere in the orphanage is ', states : [ { requiredValue: -100, secondaryStates : [ { requiredValue: -100, color: 'pink', description: 'hopeless.'}, { requiredValue: -40, color: 'pink', description: 'crestfallen.'}, { requiredValue: -10, color: 'pink', description: 'unhappy.'}, { requiredValue: 10, color: 'pink', description: 'spiteful.'}, { requiredValue: 40, color: 'def', description: 'vengeful.'}, ]}, { requiredValue: -40, secondaryStates : [ { requiredValue: -100, color: 'purple', description: 'morose.'}, { requiredValue: -40, color: 'purple', description: 'dispirited.'}, { requiredValue: -10, color: 'purple', description: 'resigned.'}, { requiredValue: 10, color: 'purple', description: 'disobedient.'}, { requiredValue: 40, color: 'def', description: 'unruly.'}, ]}, { requiredValue: -10, secondaryStates : [ { requiredValue: -100, color: 'blue', description: 'obedient.'}, { requiredValue: -40, color: 'blue', description: 'compliant.'}, { requiredValue: -10, color: 'blue', description: 'calm.'}, { requiredValue: 10, color: 'blue', description: 'subversive.'}, { requiredValue: 40, color: 'def', description: 'defiant.'}, ]}, { requiredValue: 10, secondaryStates : [ { requiredValue: -100, color: 'teal', description: 'enduring.'}, { requiredValue: -40, color: 'teal', description: 'unresistant.'}, { requiredValue: -10, color: 'teal', description: 'optimistic.'}, { requiredValue: 10, color: 'teal', description: 'rebellious.'}, { requiredValue: 40, color: 'def', description: 'mutinous.'}, ]}, { requiredValue: 40, secondaryStates : [ { requiredValue: -100, color: 'green', description: 'kind.'}, { requiredValue: -40, color: 'green', description: 'friendly.'}, { requiredValue: -10, color: 'green', description: 'hopeful.'}, { requiredValue: 10, color: 'green', description: 'idealistic.'}, { requiredValue: 40, color: 'def', description: 'revolutionary.'}, ]}, ]}>> <<set _orphanageBoxConfig = { name : "Orphanage", icon : "img/misc/icon/orphanage.png", description: "<<relation-text _orphanageMoodConfig>>"}>> /* School config */ <<set _teacherRepConfig = { currentValue: $delinquency, preText: 'You are considered ', postText: ' by the teachers.', states : [ { requiredValue: 0, color: 'green', description: 'an ideal student'}, { requiredValue: 10, color: 'teal', description: 'a normal student'}, { requiredValue: 200, color: 'lblue', description: 'a bad student'}, { requiredValue: 400, color: 'blue', description: 'a delinquent'}, { requiredValue: 600, color: 'purple', description: 'a delinquent'}, { requiredValue: 800, color: 'pink', description: 'a delinquent'}, { requiredValue: 1000, color: 'red', description: 'a terror'} ]}>> <<set _studentRepConfig = { currentValue: $cool, preText: 'Your fellow students think you\'re ', states : [ { requiredValue: 0, color: 'red', preText: 'Your fellow students ', description: 'avoid you.'}, { requiredValue: 40, color: 'pink', description: 'odd.'}, { requiredValue: 80, color: 'purple', description: 'dorky.'}, { requiredValue: 120, color: 'blue', description: 'ok.'}, { requiredValue: 160, color: 'lblue', description: 'cool.'}, { requiredValue: 240, color: 'teal', description: 'very cool.'}, { requiredValue: 400, color: 'green', preText: 'Your fellow students ', description: 'aspire to be seen with you.'} ]}>> <<set _teacherBoxConfig = { name : "Teachers", icon : "img/misc/icon/school.png", description: "<<relation-text _teacherRepConfig>> <<statbar 0 $delinquency 1000>>"}>> <<set _studentBoxConfig = { name : "Students", icon : "img/misc/icon/schoolnew.png", description: "<<relation-text _studentRepConfig>> <<statbarinverted $cool $coolmax>>"}>> /*Crossdressing*/ <<if $schoolrep.crossdress neq 0>> <<set _crossdressing to $player.gender isnot $player.sex ? "presumed crossdressing" : "crossdressing exploits">> <<set _knows to $player.gender isnot $player.sex ? "believes" : "knows">> <<set _crossdressRepConfig = { currentValue: $schoolrep.crossdress, states : [ { requiredValue: 1, color: 'lblue', description: `A few cliques at school whisper amongst themselves about your ${_crossdressing}. Few believe it.`}, { requiredValue: 2, color: 'blue', description: `A rumour has taken root at school. Some say you're a crossdresser.`}, { requiredValue: 3, color: 'purple', description: `Students gossip about your supposed crossdressing, though most think it only a joke.`}, { requiredValue: 4, color: 'pink', description: `Everyone at school has heard the rumours of your ${_crossdressing}.`}, { requiredValue: 5, color: 'red', description: `Everyone at school ${_knows} that you crossdress, including the teachers.`} ]}>> <<set _crossdressBoxConfig = { name : "Crossdressing", description : '<<relation-text _crossdressRepConfig>>'}>> <</if>> /*Herm*/ <<if $schoolrep.herm neq 0>> <<set _hermRepConfig = { currentValue: $schoolrep.herm, states : [ { requiredValue: 1, color: 'lblue', description: 'A few cliques at school gossip about a student with both boy and girl parts. Few believe it.'}, { requiredValue: 2, color: 'blue', description: 'Rumours of a student with both boy and girl parts have spread through the school.'}, { requiredValue: 3, color: 'purple', description: 'The school is rife with gossip about a student with both boy and girl parts.'}, { requiredValue: 4, color: 'pink', description: 'Everyone at school has heard the rumours about your unique genitalia.'}, { requiredValue: 5, color: 'red', description: 'Everyone at school has heard of your unique genitalia, including the teachers.'} ]}>> <<set _hermBoxConfig = { name : "Genitalia", description : '<<relation-text _hermRepConfig>>'}>> <</if>> /* Prison */ <<if $prison>> <<set _prisonMoodConfig = { currentValue: $prison.hope, secondaryValue: $prison.reb, preText: 'The atmosphere in the prison is ', states : [ { requiredValue: 0, secondaryStates : [ { requiredValue: 0, color: 'pink', description: 'hopeless.'}, { requiredValue: 20, color: 'pink', description: 'crestfallen.'}, { requiredValue: 40, color: 'pink', description: 'unhappy.'}, { requiredValue: 60, color: 'pink', description: 'spiteful.'}, { requiredValue: 80, color: 'def', description: 'vengeful.'}, ]}, { requiredValue: 20, secondaryStates : [ { requiredValue: 0, color: 'purple', description: 'morose.'}, { requiredValue: 20, color: 'purple', description: 'dispirited.'}, { requiredValue: 40, color: 'purple', description: 'resigned.'}, { requiredValue: 60, color: 'purple', description: 'disobedient.'}, { requiredValue: 80, color: 'def', description: 'unruly.'}, ]}, { requiredValue: 40, secondaryStates : [ { requiredValue: 0, color: 'blue', description: 'obedient.'}, { requiredValue: 20, color: 'blue', description: 'compliant.'}, { requiredValue: 40, color: 'blue', description: 'calm.'}, { requiredValue: 60, color: 'blue', description: 'subversive.'}, { requiredValue: 80, color: 'def', description: 'defiant.'}, ]}, { requiredValue: 60, secondaryStates : [ { requiredValue: 0, color: 'teal', description: 'enduring.'}, { requiredValue: 20, color: 'teal', description: 'unresistant.'}, { requiredValue: 40, color: 'teal', description: 'optimistic.'}, { requiredValue: 60, color: 'teal', description: 'rebellious.'}, { requiredValue: 80, color: 'def', description: 'mutinous.'}, ]}, { requiredValue: 80, secondaryStates : [ { requiredValue: 0, color: 'green', description: 'tolerant.'}, { requiredValue: 20, color: 'green', description: 'patient.'}, { requiredValue: 40, color: 'green', description: 'hopeful.'}, { requiredValue: 60, color: 'green', description: 'idealistic.'}, { requiredValue: 80, color: 'def', description: 'revolutionary.'}, ]}, ]}>> <<set _guardRepConfig = { currentValue: $prison.guards, preText: 'The guards ', states : [ { requiredValue: 0, color: 'red', description: 'have you under constant surveillance.'}, { requiredValue: 15, color: 'pink', description: 'consider you a problem.'}, { requiredValue: 30, color: 'purple', description: 'watch you.'}, { requiredValue: 45, color: 'blue', description: 'are keeping an eye on you.'}, { requiredValue: 60, color: 'lblue', description: 'expect no trouble from you.'}, { requiredValue: 80, color: 'teal', description: 'overlook you.'}, { requiredValue: 100, color: 'green', description: 'forget you are here.'} ]}>> <<set _inmateRepConfig = { currentValue: $prison.inmates, preText: 'Most fellow inmates ', states : [ { requiredValue: 0, color: 'red', description: 'see you as meat.'}, { requiredValue: 15, color: 'pink', description: 'think you\'re a fucktoy.'}, { requiredValue: 30, color: 'purple', description: 'consider you a bitch.'}, { requiredValue: 45, color: 'blue', description: 'see you as one of them.'}, { requiredValue: 60, color: 'lblue', description: 'have a good opinion of you.'}, { requiredValue: 80, color: 'teal', description: 'respect you.'}, { requiredValue: 100, color: 'green', description: 'think you\'re the boss.'} ]}>> <<set _prisonBoxConfig = { name : "Prison Atmosphere", icon : "img/misc/icon/prison_cell.png", description: "<<relation-text _prisonMoodConfig>>"}>> <<set _guardBoxConfig = { name : "Prison Guards", icon : "img/misc/icon/prison_cell.png", description: "<<relation-text _guardRepConfig>>"}>> <<set _inmateBoxConfig = { name : "Prison Inmates", icon : "img/misc/icon/prison_cell.png", description: "<<relation-text _inmateRepConfig>>"}>> <</if>> /*Docks */ <<if $dockwork gte 2>> <<set _dockRepConfig = { currentValue: $dockstatus, preText: 'The other workers ', states : [ { requiredValue: 0, color: 'purple', description: 'view you with contempt.'}, { requiredValue: 10, color: 'blue', description: 'view you with suspicion.'}, { requiredValue: 30, color: 'lblue', description: 'tolerate you.'}, { requiredValue: 80, color: 'teal', description: 'accept you.'}, { requiredValue: 100, color: 'green', description: 'respect you.'} ]}>> <<set _dockBoxConfig = { name : "Docks", icon : "img/misc/icon/docks.png", description : '<<relation-text _dockRepConfig>>'}>> <</if>> /*Pirates */ <<set _pirateStatusConfig = { currentValue: $pirate_rank, secondaryValue: $pirate_status, preText: 'The pirates view you as ', states : [ { requiredValue: 0, secondaryStates : [ { requiredValue: 0, color: 'red', description: 'wretched scum.'}, { requiredValue: 10, color: 'pink', description: 'worthless scum.'}, { requiredValue: 30, color: 'pink', description: 'pathetic scum.'}, { requiredValue: 50, color: 'pink', description: 'sloppy scum.'}, { requiredValue: 70, color: 'pink', description: 'endearing scum.'}, { requiredValue: 90, color: 'purple', description: 'scum no longer.'}, ]}, { requiredValue: 1, secondaryStates : [ { requiredValue: 0, color: 'blue', description: 'a scummy mate.'}, { requiredValue: 10, color: 'blue', description: 'a useless mate.'}, { requiredValue: 30, color: 'blue', description: 'an untested mate.'}, { requiredValue: 50, color: 'blue', description: 'a second-class mate.'}, { requiredValue: 70, color: 'blue', description: 'a mate in good standing.'}, { requiredValue: 90, color: 'lblue', description: 'a first-class mate.'}, ]}, ]}>> <<set _pirateBoxConfig = { name : "Pirate Rank", icon : "img/misc/icon/mer.png", description: "<<relation-text _pirateStatusConfig>>"}>> <</silently>> <<relation-box-simple _policeBoxConfig>> <<relation-box-simple _orphanageBoxConfig>> <<relation-box-simple _teacherBoxConfig>> <<relation-box-simple _studentBoxConfig>> <<if $schoolrep.crossdress neq 0>> <<relation-box-simple _crossdressBoxConfig>> <</if>> <<if $schoolrep.herm neq 0>> <<relation-box-simple _hermBoxConfig>> <</if>> <<if $prison>> <<relation-box-simple _guardBoxConfig>> <<relation-box-simple _inmateBoxConfig>> <<relation-box-simple _prisonBoxConfig>> <</if>> <<if $dockwork gte 2>> <<relation-box-simple _dockBoxConfig>> <</if>> <<if $pirate_rank gte 0>> <<relation-box-simple _pirateBoxConfig>> <</if>> <<relation-box-wolves>> </div> <<if $farm_stage gte 2>> <<silently>> /* Farm Animals */ /*Horses*/ <<set _farmHorseRepConfig = { currentValue: $farm.beasts.horses, preText: 'The steeds of the farm ', postText: ' you.', states: [ { requiredValue: -100, color: 'pink', description: 'see you as a fucktoy.', postText: ' '}, { requiredValue: -20, color: 'purple', description: 'have little respect', postText: ' for you.'}, { requiredValue: -5, color: '', description: 'are wary of'}, { requiredValue: 5, color: 'lblue', description: 'trust'}, { requiredValue: 20, color: 'green', description: 'respect'} ]}>> /*Pigs*/ <<set _farmPigRepConfig = { currentValue: $farm.beasts.pigs, preText: 'The pigs ', postText: ' you.', states: [ { requiredValue: -100, color: 'pink', description: 'see you as a fucktoy.', postText: ' '}, { requiredValue: -20, color: 'purple', description: 'have little respect', postText: ' for you.'}, { requiredValue: -5, color: '', description: 'are wary of'}, { requiredValue: 5, color: 'lblue', description: 'trust'}, { requiredValue: 20, color: 'green', description: 'respect'} ]}>> /*Cattle*/ <<set _farmCattleRepConfig = { currentValue: $farm.beasts.cattle, preText: 'The cattle ', postText: ' you.', states: [ { requiredValue: -100, color: 'pink', description: 'see you as an annoyance.', postText: ' '}, { requiredValue: -20, color: 'purple', description: 'have little respect', postText: ' for you.'}, { requiredValue: -5, color: '', description: 'are wary of'}, { requiredValue: 5, color: 'lblue', description: 'trust'}, { requiredValue: 20, color: 'green', description: 'respect'} ]}>> /*Dogs*/ <<set _farmDogRepConfig = { currentValue: $farm.beasts.dogs, preText: 'The dogs ', postText: ' you.', states: [ { requiredValue: -100, color: 'pink', description: 'see you as a fucktoy.', postText: ' '}, { requiredValue: -20, color: 'purple', description: 'have little respect', postText: ' for you.'}, { requiredValue: -5, color: '', description: 'are wary of'}, { requiredValue: 5, color: 'lblue', description: 'trust'}, { requiredValue: 20, color: 'green', description: 'respect'} ]}>> <<set _farmHorseBoxConfig = { name: "Horses", description : '<<relation-text _farmHorseRepConfig>>'}>> <<set _farmPigBoxConfig = { name: "Pigs", description : '<<relation-text _farmPigRepConfig>>'}>> <<set _farmCattleBoxConfig = { name: "Cattle", description : '<<relation-text _farmCattleRepConfig>>'}>> <<set _farmDogBoxConfig = { name: "Dogs", description : '<<relation-text _farmDogRepConfig>>'}>> <<if $farm_stage gte 5>> /* Farm Sabotage */ <<set _farmSabotageConfig = { currentValue: $farm.aggro, states: [ { requiredValue: 0, color: 'green', description: 'The farm is peaceful.'}, { requiredValue: 1, color: 'teal', description: 'Strange people have been seen watching the farm.'}, { requiredValue: 10, color: 'lblue', description: 'Signs of intrusion have been found around the farm.'}, { requiredValue: 20, color: 'blue', description: 'Something is spooking the beasts of the farm.'}, { requiredValue: 40, color: 'purple', description: 'The farm is being sabotaged at night.'}, { requiredValue: 60, color: 'pink', description: 'The farm is being sabotaged, day and night.'}, { requiredValue: 100, color: 'red', description: 'Remy\'s goons operate in the open, sabotaging the farm and its business.'}, ]}>> <<set _farmSabotageBoxConfig = { name: "Farm Safety", description : '<<relation-text _farmSabotageConfig>>'}>> <</if>> <</silently>> <br> <span class="gold">Farm Status</span> <div id="farm-status" class="relation-box-list"> <<relation-box-simple _farmHorseBoxConfig>> <<relation-box-simple _farmPigBoxConfig>> <<relation-box-simple _farmCattleBoxConfig>> <<relation-box-simple _farmDogBoxConfig>> <<if $farm_stage gte 5>> <<relation-box-simple _farmSabotageBoxConfig>> <</if>> </div> <</if>> <br> <span class="gold">Fame</span> <div id="global-recognition" class="relation-box-list"> <<silently>> <<set _fameStates = [ { requiredValue: 0, color: 'green', description: ' Unknown'}, { requiredValue: 30, color: 'teal', description: ' Obscure'}, { requiredValue: 100, color: 'lblue', description: ' Low-key'}, { requiredValue: 200, color: 'blue', description: ' Known'}, { requiredValue: 400, color: 'purple', description: ' Recognised'}, { requiredValue: 600, color: 'pink', description: ' Famous'}, { requiredValue: 1000, color: 'red', description: ' Notorious _config.flavorText'} ]>> <<set _inverseFameStates = [ { requiredValue: 0, color: 'red', description: ' Unknown'}, { requiredValue: 30, color: 'pink', description: ' Obscure'}, { requiredValue: 100, color: 'purple', description: ' Low-key'}, { requiredValue: 200, color: 'blue', description: ' Known'}, { requiredValue: 400, color: 'lblue', description: ' Recognised'}, { requiredValue: 600, color: 'teal', description: ' Famous'}, { requiredValue: 1000, color: 'green', description: ' Notorious _config.flavorText'} ]>> <<set _sexFameConfig = { currentValue: $fame.sex, preText: 'Sex:', flavorText: 'slut', states: _fameStates }>> <<set _prostitutionFameConfig = { currentValue: $fame.prostitution, preText: 'Prostitution:', flavorText: 'whore', states: _fameStates }>> <<set _rapeFameConfig = { currentValue: $fame.rape, preText: 'Rape:', flavorText: 'fucktoy', states: _fameStates }>> <<if $bestialitydisable is "f">> <<set $_pre to "Bestiality:">> <<set $_flavor to "bitch">> <<else>> <<set $_pre to "Monster People:">> <<set $_flavor to "monster fucker">> <</if>> <<set _bestialityFameConfig = { currentValue: $fame.bestiality, preText: $_pre, flavorText: $_flavor, states: _fameStates }>> <<set _exhibitionismFameConfig = { currentValue: $fame.exhibitionism, preText: 'Exhibitionism:', flavorText: 'flaunter', states: _fameStates }>> <<if $fame.pregnancy gte 600>> <<set $_name to "broodmother">> <<elseif $fame.pregnancy gte 200>> <<set $_name to "breeder">> <<else>> <<set $_name to "mother">> <</if>> <<set _pregnancyFameConfig = { currentValue: $fame.pregnancy, preText: 'Pregnancy:', flavorText: $_name, states: _fameStates }>> <<if $fame.impreg gte 600>> <<set $_name to "allfather">> <<elseif $fame.impreg gte 200>> <<set $_name to "sire">> <<else>> <<set $_name to "inseminator">> <</if>> <<set _impregFameConfig = { currentValue: $fame.impreg, preText: 'Pregnancy:', flavorText: $_name, states: _fameStates }>> <<set _combatFameConfig = { currentValue: $fame.scrap, preText: 'Combat:', flavorText: 'scrapper', states: _inverseFameStates }>> <<set _kindnessFameConfig = { currentValue: $fame.good, preText: 'Kindness:', flavorText: 'do-gooder', states: _inverseFameStates }>> <<set _businessFameConfig = { currentValue: $fame.business, preText: 'Business:', flavorText: 'entrepreneur', states: _inverseFameStates }>> <<set _socialFameConfig = { currentValue: $fame.social, preText: 'Socialite:', flavorText: 'schmoozer', states: _inverseFameStates }>> <<set _modelFameConfig = { currentValue: $fame.model, preText: 'Modelling:', flavorText: 'show off', states: _inverseFameStates }>> <<set _overallFameConfig = { currentValue: fameTotal(), preText: 'Overall:', flavorText: '', states: [ { requiredValue: 0, color: 'green', description: ' Unknown'}, { requiredValue: 100, color: 'teal', description: ' Obscure'}, { requiredValue: 500, color: 'lblue', description: ' Low-key'}, { requiredValue: 1000, color: 'blue', description: ' Known'}, { requiredValue: 2000, color: 'purple', description: ' Recognised'}, { requiredValue: 3000, color: 'pink', description: ' Famous'}, { requiredValue: 4000, color: fameSum('business', 'good', 'social', 'model') > 4000 ? 'green' : 'red', description: ' Notorious'} ]}>> <<set _sexFameBoxConfig = { description : '<<relation-text _sexFameConfig>>' }>> <<set _prostitutionFameBoxConfig = { description : '<<relation-text _prostitutionFameConfig>>' }>> <<set _rapeFameBoxConfig = { description : '<<relation-text _rapeFameConfig>>' }>> <<set _bestialityFameBoxConfig = { description : '<<relation-text _bestialityFameConfig>>' }>> <<set _exhibitionismFameBoxConfig = { description : '<<relation-text _exhibitionismFameConfig>>' }>> <<set _pregnancyFameBoxConfig = { description : '<<relation-text _pregnancyFameConfig>>' }>> <<set _combatFameBoxConfig = { description : '<<relation-text _combatFameConfig>>' }>> <<set _kindnessFameBoxConfig = { description : '<<relation-text _kindnessFameConfig>>' }>> <<set _businessFameBoxConfig = { description : '<<relation-text _businessFameConfig>>' }>> <<set _socialFameBoxConfig = { description : '<<relation-text _socialFameConfig>>' }>> <<set _modelFameBoxConfig = { description : '<<relation-text _modelFameConfig>>' }>> <<set _overallFameBoxConfig = { description : '<<relation-text _overallFameConfig>>' }>> <</silently>> <<relation-box-simple _sexFameBoxConfig>> <<relation-box-simple _prostitutionFameBoxConfig>> <<relation-box-simple _rapeFameBoxConfig>> <<relation-box-simple _bestialityFameBoxConfig>> <<relation-box-simple _exhibitionismFameBoxConfig>> <<if $fame.model gte 1>> <<relation-box-simple _modelFameBoxConfig>> <</if>> <<relation-box-simple _pregnancyFameBoxConfig>> <<relation-box-simple _combatFameBoxConfig>> <<relation-box-simple _kindnessFameBoxConfig>> <<relation-box-simple _businessFameBoxConfig>> <<relation-box-simple _socialFameBoxConfig>> <<relation-box-simple _overallFameBoxConfig>> <div class="relation-box" @style="(_boxConfig.style || '')"> <div class="relation-description"> The townsfolk know you as <span class="teal"><<overworld_nickname>>.</span> Those in the criminal underworld call you <span class="pink"><<underworld_nickname>>.</span> </div> </div> </div> <br> </div> <br> <</widget>><<widget "statistics">> <<foldout false "_virginitiesFoldout">> <span class="gold">Virginities</span> <<run ["vaginal", "penile", "anal", "oral", "handholding", "kiss"].forEach(type => { if ($player.virginity[type] is true) { T[type + "VirginityColour"] = "gold"; } else if (setup.loveInterestNpc.includes($player.virginity[type])) { T[type + "VirginityColour"] = "lewd"; if ($player.virginityDetails and $player.virginityDetails?.[type]?.consensual is false) T[type + "VirginityColour"] = "red"; } else if ($player.virginityDetails and $player.virginityDetails?.[type]?.consensual isnot undefined) { T[type + "VirginityColour"] = $player.virginityDetails?.[type]?.consensual ? "green" : "red"; } else { T[type + "VirginityColour"] = ""; } })>> <<if $player.vaginaExist or $player.virginity.vaginal isnot true>> Vaginal virginity: <span @class="_vaginalVirginityColour"><<print ($player.virginity.vaginal is true ? "Present" : "Taken by " + ($player.virginity.vaginal is false ? "unknown" : $player.virginity.vaginal))>></span> <<virginityToolTip $player.virginityDetails.vaginal $player.virginity.vaginal "pc" "vaginal">> <br> <</if>> <<if $player.penisExist or $player.virginity.penile isnot true>> Penile virginity: <span @class="_penileVirginityColour"><<print ($player.virginity.penile is true ? "Present" : "Taken by " + ($player.virginity.penile is false ? "unknown" : $player.virginity.penile))>></span> <<virginityToolTip $player.virginityDetails.penile $player.virginity.penile "pc" "penile">> <br> <</if>> Anal virginity: <span @class="_analVirginityColour"><<print ($player.virginity.anal is true ? "Present" : "Taken by " + ($player.virginity.anal is false ? "unknown" : $player.virginity.anal))>></span> <<virginityToolTip $player.virginityDetails.anal $player.virginity.anal "pc" "penile">> <br> Oral virginity: <span @class="_oralVirginityColour"><<print ($player.virginity.oral is true ? "Present" : "Taken by " + ($player.virginity.oral is false ? "unknown" : $player.virginity.oral))>></span> <<virginityToolTip $player.virginityDetails.oral $player.virginity.oral "pc" "oral">> <br> Handholding virginity: <span @class="_handholdingVirginityColour"><<print ($player.virginity.handholding is true ? "Present" : "Taken by " + ($player.virginity.handholding is false ? "unknown" : $player.virginity.handholding))>></span> <<virginityToolTip $player.virginityDetails.handholding $player.virginity.handholding "pc" "handholding">> <br> First kiss: <span @class="_kissVirginityColour"><<print ($player.virginity.kiss is true ? "Present" : "Taken by " + ($player.virginity.kiss is false ? "unknown" : $player.virginity.kiss))>></span> <<virginityToolTip $player.virginityDetails.kiss $player.virginity.kiss "pc" "kiss">> <br> <<if $temple_rank isnot undefined and $temple_rank isnot "prospective">> Temple vow: <<print ($player.virginity.temple is true ? "Unbroken" : "Broken by " + ($player.virginity.temple is false ? "unknown" : $player.virginity.temple))>> <br> <</if>> <br> <</foldout>> <<foldout false "_virginitiesTakenFoldout">> <span class="gold">Virginities taken</span> <!-- For the total virginities taken, iterate over every virginity type and sum up the number of entries belonging to each. --> <<set _total to 0>> <<run Object.values($virginTaken).forEach(type => _total += type.length)>> Total: _total <br> <!-- For each individual virginity type, the number is named and unnamed combined, but the list of names has unnamed npcs filtered out. --> <<run ["vaginal", "penile", "anal", "oral", "handholding", "kiss"].forEach((virginity) => { const virginityNamed = `${virginity}Named`; T[virginityNamed] = []; /* _vaginalNamed, _penileNamed, ... */ for (const name of V.virginTaken[virginity]) { if (!V.NPCNameList.includes(name)) continue; const details = C.npc[name].virginityDetails?.[virginity]; let colour = ''; if (setup.loveInterestNpc.includes(name) && (!details || details.consensual !== false)) { colour = "lewd"; } else if (details && details.consensual != null) { colour = details.consensual ? "green" : "red"; } const nameText = `<span class="${colour}">${name}</span>`; const detailsArg = details ? `\`C.npc['${name}'].virginityDetails.${virginity}\`` : ''; T[virginityNamed].push(`${nameText}<<virginityToolTip ${detailsArg} ${name} "npc" ${virginity}>>`); } })>> Vaginal: $virginTaken.vaginal.length<<print (_vaginalNamed.length gte 1 ? ", including: " + _vaginalNamed.join(', ') : "")>> <br> Penile: $virginTaken.penile.length<<print (_penileNamed.length gte 1 ? ", including: " + _penileNamed.join(', ') : "")>> <br> Anal: $virginTaken.anal.length<<print (_analNamed.length gte 1 ? ", including: " + _analNamed.join(', ') : "")>> <br> Oral: $virginTaken.oral.length<<print (_oralNamed.length gte 1 ? ", including: " + _oralNamed.join(', ') : "")>> <br> First hands held: $virginTaken.handholding.length<<print (_handholdingNamed.length gte 1 ? ", including: " + _handholdingNamed.join(', ') : "")>> <br> First kisses: $virginTaken.kiss.length<<print (_kissNamed.length gte 1 ? ", including: " + _kissNamed.join(', ') : "")>> <br><br> <</foldout>> <<foldout false "_jobsFoldout">> <span class="gold">Jobs</span> Danced: $dancestat <br> Drinks served: $drinksservedstat <br> Tables served: $tablesservedstat <br> Whored yourself: $prostitutionstat <br> <<if $gamemode isnot "soft">> Forcibly whored out: $forcedprostitutionstat <br> <</if>> <<if statChange.timeTrackingTotal("docks")>> Hours worked on the docks: <<print statChange.timeTrackingTotal("docks")>> <br> <</if>> Buns sold at the cafe: $bunstat <br> Most "cream" produced: <<print parseFloat($creamstat.toFixed(1))>> mL <br> Smugglers intercepted: $smuggler_stolen_stat <br> Tasks performed at the pub: $pub_task_stat <br> Produce sold: $produce_sold <br> <<if $farmersProduce>> Produce sold in bulk: $farmersProduce.totalSold <br> <</if>> Fertiliser used: $fertiliser.used <br> Hours worked on a farm: <<print Math.trunc($farm_shift / 60)>> <br> Cattle milked: $cattle_milked <br> Clients serviced as a masseur: $masseur_stat <br> Wild plants picked: $wild_plant_stat <br> Aphrodisiacs sold: $stat_aphrodisiacs_sold <br> <<if $brothelVending and $brothelVending.total>> Products sold at the brothel: $brothelVending.total <br> <</if>> <<if $confessionsDone>> Sins confessed: $confessionsDone <br> <</if>> <<if $confessionsTaken>> Confessions taken: $confessionsTaken <br> <</if>> <br> <</foldout>> <<foldout false "_sexFoldout">> <span class="gold">Sex</span> Number of orgasms you've experienced: $orgasmstat <br> Last orgasm: <<statisticsTimeCompare $orgasmTimeStat>> <br> <<if $ruinedOrgasmStat>> Number of ruined orgasms you've experienced: $ruinedOrgasmStat <br> Last ruined orgasm: <<statisticsTimeCompare $ruinedOrgasmTimeStat>> <br> <</if>> <<if $asphyxiaLvl gte 2>> Orgasms while being choked: $chokeorgasm <br> <</if>> <<if $player.penisExist or $penilestat>> Penetrated others: $penilestat <br> Last penetrated others: <<statisticsTimeCompare $penileTimeStat>> <br> <</if>> <<if $straponstat>> Penetrated others with a strapon: $straponstat <br> <</if>> <<if $player.penisExist or $penileejacstat>> Ejaculated in others: $penileejacstat <br> Last ejaculated in others: <<statisticsTimeCompare $penileEjacTimeStat>> <br> <</if>> <<if $player.vaginaExist>> Vaginally penetrated: $vaginalstat <br> Last vaginally penetrated: <<statisticsTimeCompare $vaginalTimeStat>> <br> Ejaculated in vaginally: $vaginalejacstat <br> Last ejaculated in vaginally: <<statisticsTimeCompare $vaginalEjacTimeStat>> <br> <</if>> <<if $analdisable is "f">> Anally penetrated: $analstat <br> Last anally penetrated: <<statisticsTimeCompare $analTimeStat>> <br> Ejaculated in anally: $analejacstat <br> Last ejaculated in anally: <<statisticsTimeCompare $analEjacTimeStat>> <br> <</if>> Orally penetrated: $oralstat <br> Ejaculated in orally: $oralejacstat <br> <<if $cunnilingusstat>> Cunnilingus: $cunnilingusstat <br> <</if>> <<if $cunnilingusejacstat>> Cunnilingus ejaculations: $cunnilingusejacstat <br> <</if>> Semen swallowed: <<print Math.floor($semenswallowedstat)>> mL <<if $bestialitydisable is "f">> <br> Animal semen swallowed: <<print Math.floor($animalsemenswallowedstat)>> mL <</if>> <br> Handjobs given: $handstat <br> Handjob ejaculations: $handejacstat <br> <<if $footdisable is "f">> Footjobs given: $feetstat <br> Footjob ejaculations: $feetejacstat <br> <</if>> Thighjobs given: $thighstat <br> Thighjob ejaculations: $thighejacstat <br> Chestjobs given: $cheststat <br> Chestjob ejaculations: $chestejacstat <br> Buttjobs given: $bottomstat <br> Buttjob ejaculations: $bottomejacstat <br> Hair ejaculated on: $hairejacstat <br> Tummy ejaculated on: $tummyejacstat <br> Neck ejaculated on: $neckejacstat <br> <<if $player.vaginaExist>> Pussy ejaculated on: $vaginalentranceejacstat <br> <</if>> Face ejaculated on: $faceejacstat <br> Total times you've been ejaculated on or in: $ejacstat <br> Gloryholes serviced: $gloryholestat <br> Masturbated: $masturbationstat <br> Last masturbated: <<statisticsTimeCompare $masturbationTimeStat>> <br> Masturbated to orgasm: $masturbationorgasmstat <br> Last masturbated to orgasm: <<statisticsTimeCompare $masturbationOrgasmTimeStat>> <br> Minutes spent masturbating: <<print Math.trunc($secondsSpentMasturbating / 60)>> <br> <<if $breastfeedingdisable is "f">> Breast milk drank: <<print Math.floor($milk_drank_stat)>> mL <br> Breast milk produced: <<print Math.floor($milk_produced_stat)>> mL <br> <</if>> <<if $plantdisable is "f">> Nectar drank: <<print Math.floor($nectar_drank_stat)>> mL <br> <</if>> <<if $player.penisExist or $semen_produced_stat>> Semen produced: <<print Math.floor($semen_produced_stat)>> mL <br> <</if>> <<if $player.vaginaExist>> Lewd fluid produced: <<print Math.floor($lube_produced_stat)>> mL <br> <</if>> <<if $player.penisExist or $breastfeedingdisable is "f" or $fluid_forced_stat>> Fluid forcibly milked: <<print Math.floor($fluid_forced_stat)>> mL <br> <</if>> <<if $knot_stat isnot undefined>> Knotted: $knot_stat <br> <</if>> <<if $sextoystat isnot undefined>> Sex toys used on others: $sextoystat <</if>> <br> <<if $analdoubledisable is "f" and $analdoublestat isnot undefined>> Double anally penetrated: $analdoublestat <br> <</if>> <<if $vaginaldoubledisable is "f" and $vaginaldoublestat isnot undefined>> Double vaginally penetrated: $vaginaldoublestat <br> <</if>> <<if $watersportsdisable is "f">> Urinated on: $urinestat <br> <</if>> <br> <</foldout>> <<if $gamemode isnot "soft">> <<foldout false "_violenceFoldout">> <span class="gold">Violence</span> Molested: $moleststat <br> Last molested: <<statisticsTimeCompare $molestTimeStat>> <br> Raped: $rapestat <br> Last raped: <<statisticsTimeCompare $rapeTimeStat>> <br> <<if $bestialitydisable is "f">> Raped by animals: $beastrapestat <br> <<else>> Raped by monster people: $beastrapestat <br> <</if>> <<if $tentacledisable is "f">> Raped by tentacle monsters: $tentaclerapestat <br> <</if>> <<if $voredisable is "f">> Swallowed: $swallowedstat <br> <</if>> <<if $parasitedisable is "f">> Parasites hosted: $parasitestat <br> <</if>> Been hit: $hitstat <br> Hit others: $attackstat <br> Pepper spray used: $spraystat <br> <<if C.npc.Eden.init>> Practise shots fired with Eden: $stat_shoot <br> <</if>> Machines disabled: $machine_stat <br> <<if $lurkerdisable is "f">> Lurkers captured: $stat_lurkers_captured <br><br> <</if>> <</foldout>> <</if>> <<foldout false "_datesFoldout">> <span class="gold">Dates</span> <<if $dateCount.Total lte 0>> You haven't gone on any dates!<br> <<else>> Total Dates: $dateCount.Total <br> <<if $dateCount.Robin gte 1>> Dates with Robin: $dateCount.Robin <br> <</if>> <<if $dateCount.Whitney gte 1>> Dates with Whitney: $dateCount.Whitney <br> <</if>> <<if $dateCount.Kylar gte 1>> Dates with Kylar: $dateCount.Kylar <br> <</if>> <<if $dateCount.Eden gte 1>> Dates with Eden: $dateCount.Eden <br> <</if>> <<if $dateCount.Avery gte 1>> Dates with Avery: $dateCount.Avery <br> <</if>> <<if $dateCount.BlackWolfHunts gte 1>> Hunts with the Black Wolf: $dateCount.BlackWolfHunts <br> <</if>> <<if $dateCount.GreatHawkHunts gte 1>> Hunts with the Great Hawk: $dateCount.GreatHawkHunts <br> <</if>> <<if $dateCount.GreatHawkCasual gte 1>> Casual flights with the Great Hawk: $dateCount.GreatHawkCasual <br> <</if>> <<if $dateCount.Alex gte 1>> Dates with Alex: $dateCount.Alex <br> <</if>> <<if $dateCount.Sydney gte 1>> Dates with Sydney: $dateCount.Sydney <br> <</if>> <</if>> <br> <</foldout>> <<foldout false "_pregnancyFoldout">> <span class="gold">Pregnancy</span> Times given birth: <<print playerNormalPregnancyTotal()>> <br> <<if $pregnancyStats.playerVirginBirths.length>> Total virgin births: <<print $pregnancyStats.playerVirginBirths.length>> <br> <</if>> Total number of children you gave birth to: <<print $pregnancyStats.playerChildren>> <br> Total number of children you know you fathered: <<print $pregnancyStats.npcChildren>> <br> Total days knowingly being pregnant: <<print Math.floor($pregnancyStats.totalDaysPregnancyKnown)>> <br> Total number of human children: <<print $pregnancyStats.humanChildren>> <br> Total number of wolf children: <<print $pregnancyStats.wolfChildren>> <br> Total number of hawk children: <<print $pregnancyStats.hawkChildren>> <br> Children interactions: <<print $pregnancyStats.childInteractions>> <br> <!-- ToDo: Pregnancy - Move outside of commented area when interactions are added Breastfed interactions: <<print $pregnancyStats.childBreastfedInteractions>> <br> Bottlefed interactions: <<print $pregnancyStats.childBottlefedInteractions>> <br> First Word interaction: <<print $pregnancyStats.childFirstWordInteractions>> <br> --> Bottles of milk given to the orphanage: <<print $pregnancyStats.orphanageMilkBottlesTotal>> <br> Morning-after pills taken: <<print $pregnancyStats.aftermorningpills>> <br> Pregnancy tests taken: <<print $pregnancyStats.pregnancyTestsTaken>> <br> <<if $player.vaginaExist>> Vaginal parasites Born: <<print $sexStats.vagina.pregnancy.parasiteBirthEvents>> <br> <</if>> Anal parasites born: <<print $sexStats.anus.pregnancy.parasiteBirthEvents>> <br><br> <</foldout>> <<foldout false "_gamblingFoldout">> <span class="gold">Gambling</span> Games of blackjack played: $estatePersistent.totalGamesPlayed <br> Games of blackjack played with betting: $estatePersistent.totalGamesPlayedWithBetting <br> Rounds of blackjack won/lost/tied: $estatePersistent.totalRoundsWon/$estatePersistent.totalRoundsLost/$estatePersistent.totalRoundsTied <br> Rounds of blackjack won/lost/tied (with bets): $estatePersistent.totalBetRoundsWon/$estatePersistent.totalBetRoundsLost/$estatePersistent.totalBetRoundsTied <br> Money won in blackjack: <<printmoney $estatePersistent.totalBetMoneyMade>> <br> Money lost in blackjack: <<printmoney $estatePersistent.totalBetMoneyLost>> <br> Money confiscated in blackjack: <<printmoney $estatePersistent.totalMoneyConfiscated>> <br> Tips received in blackjack: <<printmoney $estatePersistent.totalTipMoneyMade>> <br> Times caught cheating: $estatePersistent.totalCaughtCheating <br> Highest blackjack streak: $estatePersistent.winStreakHighScore <<if $blackjack_played gt 0 or $blackjack_won gt 0>> <br> Rounds of old blackjack played/won: $blackjack_played/$blackjack_won <</if>> <<if $blackjack_streak_high and $blackjack_streak_high gt 0>> <br> Highest old blackjack streak: $blackjack_streak_high <</if>> <br><br> <</foldout>> <<foldout false "_detailedTablesFoldout">> <span class="gold">Detailed Stat Tables</span> <span id="moneyButton" @class="_openedTable is 'money' ? 'gold': ''"> <<button "Money">> <<set _openedTable to "money">> <<replace "#detailedStatsDiv">><<statisticsDetailedTables>><</replace>> <<addclass "#moneyButton" "gold">> <<removeclass "#produceButton" "gold">> <<removeclass "#badEndsButton" "gold">> <</button>> </span> <span id="produceButton" @class="_openedTable is 'produce' ? 'gold': ''"> <<button "Produce">> <<set _openedTable to "produce">> <<replace "#detailedStatsDiv">><<statisticsDetailedTables>><</replace>> <<removeclass "#moneyButton" "gold">> <<addclass "#produceButton" "gold">> <<removeclass "#badEndsButton" "gold">> <</button>> </span> <span id="badEndsButton" @class="_openedTable is 'badEnd' ? 'gold': ''"> <<if $badEndStats.length>> <<button "Bad Ends">> <<set _openedTable to "badEnd">> <<replace "#detailedStatsDiv">><<statisticsDetailedTables>><</replace>> <<removeclass "#moneyButton" "gold">> <<removeclass "#produceButton" "gold">> <<addclass "#badEndsButton" "gold">> <</button>> <</if>> </span> <div id="detailedStatsDiv"><<statisticsDetailedTables>></div> <</foldout>> <<foldout false "_miscFoldout">> <span class="gold">Miscellaneous</span> <<if $gamemode isnot "soft">> Rescued: $rescued <br> <</if>> Clothing stripped: $clothesstripstat <br> Clothing ruined: $clothesruinstat <br> Passed out: $passoutstat <br> Last passed out: <<statisticsTimeCompare $passoutTimeStat>> <br> Distinctions won: $distinction_stat <br> Hours slept: $sleepStat <br> Underwear stolen: $stat_panties_stolen <br> Sentenced with community service: $stat_police.community <br> Sentenced with the pillory: $stat_police.pillory <br> Days in prison: $stat_police.prison <br> Hypnotised: $hypnotised <<if $wraith.possessCount>> <br> Possessed: $wraith.possessCount <</if>> <br> School lessons missed: <<print Object.values($schoolLessonsMissed).reduce((x, y) => x + y)>> <mouse class="tooltip linkBlue">(?)<span>Bad math in earlier versions of the game may mean these stats are inaccurate before version '0.4.0.0'</span></mouse> <br> Science lessons missed: $schoolLessonsMissed.science <br> Maths lessons missed: $schoolLessonsMissed.maths <br> Housekeeping lessons missed: $schoolLessonsMissed.housekeeping <br> English lessons missed: $schoolLessonsMissed.english <br> History lessons missed: $schoolLessonsMissed.history <br> Swimming lessons missed: $schoolLessonsMissed.swimming <br> <<if $earSlimeDaysStat>> Days with an ear slime: $earSlimeDaysStat <br> <</if>> <<if $earSlime.days>> Days with the current ear slime: $earSlime.days <br> <</if>> <<if $earSlimePassiveDaysStat>> Most days with a passive ear slime: $earSlimePassiveDaysStat <br> <</if>> <<if $whitney_smoke gte 1>> Cigarettes smoked: $whitney_smoke <br> <</if>> <<if $bird and $bird.lurkersEaten>> Lurkers eaten: $bird.lurkersEaten <br> <</if>> Total paid to Bailey: <<printmoney `$moneyStats.baileyRent?.spent or 0`>> <mouse class="tooltip linkBlue">(?)<span>Not tracked in versions '0.4.5.X' and older</span></mouse> <br> <<if $baileyRefusedToPayTotal>> Total in missed payments to Bailey: <<printmoney $baileyRefusedToPayTotalStat "red">> <mouse class="tooltip linkBlue">(?)<span>Not tracked in versions '0.4.5.X' and older</span></mouse> <br> <</if>> <br> <</foldout>> <<foldout false "_saveFoldout">> <span class="gold">Save Game Details</span> <<if $passageCount>> Total passages count: $passageCount <mouse class="tooltip linkBlue">(?)<span>Total number of times a new passage has been loaded (Clicking on links in most cases). Passages such as the settings are excluded. Not tracked in versions '0.3.12.X' and older</span></mouse> <br> <</if>> <<if $passageChangesCount>> Total passage changes count: $passageChangesCount <mouse class="tooltip linkBlue">(?)<span>Total number of times a new passage has changed (Clicking on links in most cases). Passages such as the settings are excluded. Not tracked in versions '0.3.12.X' and older</span></mouse> <br> <</if>> <<if $saveDetails isnot undefined>> Normal saves count: <<print $saveDetails.slot.count>> <br> Exported saves count: <<print $saveDetails.exported.count>> <br> Auto saves count: <<print $saveDetails.auto.count>> <br> Times loaded: <<print $saveDetails.loadCount || 0>> <mouse class="tooltip linkBlue">(?)<span>Total number of times a save has been loaded, does not track repeated load times of the same save. Not tracked in versions '0.3.12.X' and older</span></mouse> <br> Play time: <<print msToTime(($saveDetails.playTime ? $saveDetails.playTime : 0) + ($saveDetails.loadTime ? new Date() - $saveDetails.loadTime : 0))>> <mouse class="tooltip linkBlue">(?)<span>Formatted into 'h:mm:ss'. Be aware that leaving the game for hours alone, then saving will have its time tracked. To avoid, save the game before ending play and then load the save when you resume play. Not tracked in versions '0.3.13.X' and older</span></mouse> <br> <</if>> <<if $saveVersions isnot undefined>> Versions played on: <br> <<for _i to 0; _i lt $saveVersions.length; _i++>> <<if _i gt 0>> <<if $saveVersions[_i].split(".")[2] is $saveVersions[_i - 1].split(".")[2]>> -- <<else>> <br> <</if>> <</if>> $saveVersions[_i] <</for>> <br> <</if>> <<if $saveVersion>> Save loaded from version: $saveVersion <</if>> <</foldout>> <</widget>> <<widget "extraStatisticsWarning">> <<if $options.skipStatisticsConfirmation is undefined>><<set $options.skipStatisticsConfirmation to false>><</if>> <h3>Extra Statistics</h3> <div id="spoilerWarning"> Are you sure you want to see these? They may contain spoilers! <br> <<link "Yes">> <<replace #customOverlayContent>><<extraStatistics>><</replace>> <</link>> &nbsp;&nbsp;&nbsp;<label><<checkbox "$options.skipStatisticsConfirmation" false true autocheck>> Don't Show Again</label> <!-- ignore the nbsp's, they're just for formatting --> </div> <</widget>> <<widget "extraStatistics">> <div id="spoilerWarningConfirmed"> <<foldout false "_stateFoldout">> <span class="gold">State</span> Pain: <<print Math.trunc($pain)>> <br> Arousal: <<print Math.trunc($arousal)>> <br> Fatigue: <<print Math.trunc($tiredness)>> <br> Stress: <<print Math.trunc($stress)>> <br> Trauma: <<print Math.trunc($trauma)>> <br> Control: <<print Math.trunc($control)>> <br> Allure: <<print Math.trunc($allure)>> <br> Alcohol: <<print Math.trunc($drunk)>> <br> Drugs: <<print Math.trunc($drugged)>> <br> Hallucinogens: <<print Math.trunc($hallucinogen)>> <br><br> <</foldout>> <<foldout false "_charFoldout">> <span class="gold">Characteristics</span> Purity: <<print Math.trunc($purity)>> <br> Beauty: <<print Math.trunc($beauty)>> <br> Physique: <<print Math.trunc($physique)>> <br> Willpower: <<print Math.trunc($willpower)>> <br> Awareness: <<print Math.trunc($awareness)>> <br> Promiscuity: <<print Math.trunc($promiscuity)>> <br> Exhibitionism: <<print Math.trunc($exhibitionism)>> <br> Deviancy: <<print Math.trunc($deviancy)>> <br> Corruption: <<print Math.trunc($earSlime.corruption)>> <br> <<if $earSlime.growth>> Growth: <<print Math.trunc($earSlime.growth)>> <br> <</if>> <<if $temple_rank is "initiate" or $temple_rank is "monk" or $temple_rank is "priest">> Grace: <<print Math.trunc($grace)>> <br> <</if>> Submissiveness: <<print Math.trunc($submissive)>> <br> Masochism: <<print Math.trunc($masochism)>> <br> Sadism: <<print Math.trunc($sadism)>> <br> Crossdresser progression: <<if $crossdressingTrait isnot undefined>> <<print Math.trunc($crossdressingTrait)>> % <<else>> 0 <</if>> <br><br> Sensitivities: <mouse class="tooltip linkBlue">(?)<span>These are arousal multipliers applied when that part of the body is stimulated.</span></mouse> <ul style="margin-top:0px;margin-left:-5px;"> <li>Mouth: <<print $mouthsensitivity.toFixed(2)>></li> <li>Breast: <<print $breastsensitivity.toFixed(2)>></li> <li>Genital: <<print $genitalsensitivity.toFixed(2)>></li> <li>Bottom: <<print $bottomsensitivity.toFixed(2)>></li> </ul> Breast growth: <<print Math.trunc(100 - ($breastgrowthtimer / 10))>>% <mouse class="tooltip linkBlue">(?)<span>Reach 100% or above to grow, 0% or below to shrink.</span></mouse> <br> Breasts can grow: <<print $player.breastsize lt $breastsizemax>> <<if $player.breastsize is $breastsizemax>> <mouse class="tooltip linkBlue">(?)<span>At max size.</span></mouse> <</if>> <br> Breasts can shrink: <<print $player.breastsize gt $breastsizemin>> <<if $player.breastsize is $breastsizemin>> <mouse class="tooltip linkBlue">(?)<span>At min size.</span></mouse> <</if>> <br> Lactating: <<print ($lactating is 1 ? "True" : "False")>> <br> <<if $lactating is 1>> Milk amount: <<print Math.trunc($milk_amount)>> <br> Milk volume: <<print Math.trunc($milk_volume)>> <br> <</if>> <<if $player.penisExist>> <<if $player.penissize gte -1>> <<set $_penisGrowthMin to 0>> <<else>> <<set $_penisGrowthMin to -400>> <</if>> <<if $player.penissize gt 0>> <<set $_penisGrowthMax to 1000>> <<elseif $player.penissize is 0>> <<set $_penisGrowthMax to 1200>> <<else>> <<set $_penisGrowthMax to 1500>> <</if>> <<set $_penisgrowthtimer to $penisgrowthtimer>> <<if $_penisGrowthMin lt 0>> <<set $_penisGrowthMax -= $_penisGrowthMin>> <<set $_penisgrowthtimer -= $_penisGrowthMin>> <</if>> <br> Penis growth: <<print Math.trunc(100 - ($_penisgrowthtimer / $_penisGrowthMax * 100))>>% <mouse class="tooltip linkBlue">(?)<span>Reach 100% or above to grow, 0% or below to shrink.</span></mouse> <br> <<if $sexStats && $sexStats.pills>> Penis can grow: <<print $player.penissize lt $penissizemax and ($player.penissize gte -1 or $sexStats.pills["pills"]["penis growth"].overdose - $sexStats.pills["pills"]["penis reduction"].overdose - ($worn.genitals.type.includes("shrinking") ? 20 : 0) gte 20)>> <<if $player.penissize is -2 and $sexStats.pills["pills"]["penis growth"].overdose - $sexStats.pills["pills"]["penis reduction"].overdose - ($worn.genitals.type.includes("shrinking") ? 20 : 0) lt 20>> <mouse class="tooltip linkBlue">(?)<span>Need to overdose on growing pills or use an urchin penis parasite.</span></mouse> <<elseif $player.penissize is $penissizemax>> <mouse class="tooltip linkBlue">(?)<span>At max size.</span></mouse> <</if>> <br> Penis can shrink: <<print $player.penissize gt $penissizemin and ($player.sex isnot "f" or $player.penissize gt 0) and ($player.penissize gte 0 or $sexStats.pills["pills"]["penis growth"].overdose - $sexStats.pills["pills"]["penis reduction"].overdose - ($worn.genitals.type.includes("shrinking") ? 20 : 0) lte -20)>> <<if $player.sex is "f" && $player.penissize is 0>> <mouse class="tooltip linkBlue">(?)<span>At min size for the parasite penis.</span></mouse> <<elseif $player.penissize is -1 and $sexStats.pills["pills"]["penis growth"].overdose - $sexStats.pills["pills"]["penis reduction"].overdose - ($worn.genitals.type.includes("shrinking") ? 20 : 0) gt -20>> <mouse class="tooltip linkBlue">(?)<span>Need to overdose on shrinking pills or use a slime penis parasite.</span></mouse> <<elseif $player.penissize is $penissizemin>> <mouse class="tooltip linkBlue">(?)<span>At min size.</span></mouse> <</if>> <br> <</if>> Semen amount: <<print Math.trunc($semen_amount)>> <br> Semen volume: <<print Math.trunc($semen_volume)>> <br> <</if>> <br> Bottom growth: <<print Math.trunc(100 - ($bottomgrowthtimer / 10))>>% <mouse class="tooltip linkBlue">(?)<span>Reach 100% or above to grow, 0% or below to shrink.</span></mouse> <br> Bottom can grow: <<print $player.bottomsize lt $bottomsizemax>> <<if $player.bottomsize is $bottomsizemax>> <mouse class="tooltip linkBlue">(?)<span>At max size.</span></mouse> <</if>> <br> Bottom can shrink: <<print $player.bottomsize gt $bottomsizemin>> <<if $player.bottomsize is $bottomsizemin>> <mouse class="tooltip linkBlue">(?)<span>At min size.</span></mouse> <</if>> <br><br> <</foldout>> <<foldout false "_clothesFoldout">> <span class="gold">Clothes</span> <<if $worn.upper.name isnot "naked">> Upper wetness: <<print Math.trunc($upperwet)>> <br> Upper integrity: <<print Math.trunc($worn.upper.integrity)>> <br> <</if>> <<if $worn.lower.name isnot "naked">> Lower wetness: <<print Math.trunc($lowerwet)>> <br> Lower integrity: <<print Math.trunc($worn.lower.integrity)>> <br> <</if>> <<if $worn.under_upper.name isnot "naked">> Under Upper wetness: <<print Math.trunc($underupperwet)>> <br> Under Upper integrity: <<print Math.trunc($worn.under_upper.integrity)>> <br> <</if>> <<if $worn.under_lower.name isnot "naked">> Under Lower wetness: <<print Math.trunc($underlowerwet)>> <br> Under Lower integrity: <<print Math.trunc($worn.under_lower.integrity)>> <br> <</if>> <<if $worn.genitals.name isnot "naked">> <<print setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].name_cap>> integrity: <<print Math.trunc($worn.genitals.integrity)>> <br> <</if>> <br> <</foldout>> <<foldout false "_socialFoldout">> <span class="gold">Social</span> School status: <<print Math.trunc($cool)>> <br> Delinquency: <<print Math.trunc($delinquency)>> <br> Detention: <<print Math.trunc($detention)>> <br> Crime: <<print Math.trunc(crimeSumCurrent())>> <br> Orphanage hope: <<print Math.trunc($orphan_hope)>> <br> Orphanage rebelliousness: <<print Math.trunc($orphan_reb)>> <br> <<if $dockwork is 2>> Docks status: <<print Math.trunc($dockstatus)>> <br> <</if>> <<if $pound and $pound.progress gte 1>> Stray dog contentment: <<print Math.trunc($stray_happiness)>> <br> <</if>> Sex fame: <<print Math.trunc($fame.sex)>> <br> Prostitution fame: <<print Math.trunc($fame.prostitution)>> <br> Rape fame: <<print Math.trunc($fame.rape)>> <br> Bestiality fame: <<print Math.trunc($fame.bestiality)>> <br> Exhibitionism fame: <<print Math.trunc($fame.exhibitionism)>> <br> Pregnancy fame: <<print Math.trunc($fame.pregnancy)>> <br> Impregnation fame: <<print Math.trunc($fame.impreg)>> <br> Combat fame: <<print Math.trunc($fame.scrap)>> <br> Kindness fame: <<print Math.trunc($fame.good)>> <br> Business fame: <<print Math.trunc($fame.business)>> <br> <<if $debug is 1>> Pimp fame: <<print Math.trunc($fame.pimp)>> <br> <</if>> Socialite fame: <<print Math.trunc($fame.social)>> <br> Model fame: <<print Math.trunc($fame.model)>> <br> Islander language: <<if $islander_language is undefined>>0<<else>><<print Math.trunc($islander_language)>><</if>> <br><br> <</foldout>> <<foldout false "_crimeFoldout">> <span class="gold">Crime</span> <<for $_cr range Object.keys(setup.crimeNames)>> <<foldout false $_cr>> <span class="gold"><<print toTitleCase(setup.crimeNames[$_cr])>></span> <<print "Current: " + Math.trunc($crime[$_cr].current)>> <br> <<print "History: " + Math.trunc($crime[$_cr].history)>> <br> <<print "Daily: " + Math.trunc($crime[$_cr].daily)>> <br> <<print "Count: " + Math.trunc($crime[$_cr].count)>> <br> <<print "Count History: " + Math.trunc($crime[$_cr].countHistory)>> <br> <</foldout>> <</for>> <<foldout false "_crimeTotalsFoldout">> <span class="gold">Totals:</span> <<print "Current: " + crimeSumCurrent()>> <br> <<print "History: " + crimeSumHistory()>> <br> <<print "Daily: " + crimeSumDaily()>> <br> <<print "Count: " + crimeSumCount()>> <br> <<print "Count History: " + crimeSumCountHistory()>> <br> <</foldout>> <<foldout false "_crimeEventsFoldout">> <span class="gold">Crime Events:</span> <span id="statscrimeevents"><<listCrimeCheats>></span> <</foldout>> <br> <</foldout>> <<foldout false "_transformationFoldout">> <span class="gold">Transformations</span> Wolfiness: <<print Math.trunc($wolfbuild)>> (30+ for full transformation) <br> Wolf manifestation: <<print Math.trunc($wolfgirl)>> <br> Cattiness: <<print Math.trunc($catbuild)>> (50+ for full transformation) <br> Cat manifestation: <<print Math.trunc($cat)>> <br> Bovinity: <<print Math.trunc($cowbuild)>> (30+ for full transformation) <br> Cow manifestation: <<print Math.trunc($cow)>> <br> <<if $hallucinations gte 2 or $bestialitydisable is "t">>Harpyness<<else>>Birdieness<</if>>: <<print Math.trunc($birdbuild)>> (30+ for full transformation) <br> <<if $hallucinations gte 2 or $bestialitydisable is "t">>Harpy<<else>>Bird<</if>> manifestation: <<print Math.trunc($harpy)>> <br> Foxiness: <<print Math.trunc($foxbuild)>> (30+ for full transformation) <br> Fox manifestation: <<print Math.trunc($fox)>> <br> Angelicness: <<print Math.trunc($angelbuild)>> (50+ for full transformation) <br> Angel manifestation: <<print Math.trunc($angel)>> <br> Demonicness: <<print Math.trunc($demonbuild)>> (30+ for full transformation) <br> Demonic manifestation: <<print Math.trunc($demon)>> <br> Fallen manifestation: <<print ($fallenangel is undefined ? 0 : Math.trunc($fallenangel))>> <br> Fallen forgiveness: <<print Math.trunc($fallenbuild)>> (30+ to be forgiven) <br><br> <</foldout>> <<foldout false "_parasitePregnancyFoldout">> <span class="gold">Parasite Pregnancy</span> <<set $_aPregnancy to $sexStats.anus.pregnancy>> <<if $_aPregnancy.type is "parasite" or $_aPregnancy.type is null>> <<for _i to 0; _i lt maxParasites("anus"); _i++>> <<if $_aPregnancy.fetus[_i] isnot undefined>> <<if $_aPregnancy.fetus[_i].fertilised>> Anal slot <<=_i+1>> is pregnant with a $_aPregnancy.fetus[_i].stats.gender $_aPregnancy.fetus[_i].creature. <<if $_aPregnancy.fetus[_i].stats.gender is "Hermaphrodite">> <<if $pregnancyStats.parasiteDoctorEvents gte 4 and $_aPregnancy.fetus[_i].daysLeft is 0>> Dr Harper will be able to help you to deliver at any time. <<elseif $pregnancyStats.parasiteDoctorEvents gte 4>> Dr Harper will be able to help you to deliver in <<=$_aPregnancy.fetus[_i].daysLeft>> days. <<else>> You will need to see Dr Harper to deliver. <</if>> <<else>> <<if $_aPregnancy.fetus[_i].daysLeft is 0>> It will be ready to deliver at any time soon. <<else>> It will be ready to deliver in less than <<=$_aPregnancy.fetus[_i].daysLeft>> days. <</if>> <</if>> <br> <<else>> Anal slot <<=_i+1>> has a $_aPregnancy.fetus[_i].stats.gender $_aPregnancy.fetus[_i].creature egg ready to be fertilised.<br> <</if>> <<else>> Anal slot <<=_i+1>> is empty.<br> <</if>> <</for>> <<else>> <<if getPregnancyObject().awareOf>> Unable to host parasites due to other type of anal pregnancy. <<else>> <<for _i to 0; _i lt maxParasites("anus"); _i++>> Anal slot <<=_i+1>> is empty.<br> <</for>> <</if>> <</if>> <<set $_vPregnancy to $sexStats.vagina.pregnancy>> <<if $player.vaginaExist>> <<if $_vPregnancy.type is "parasite" or $_vPregnancy.type is null>> <<for _i to 0; _i lt maxParasites("vagina"); _i++>> <<if $_vPregnancy.fetus[_i] isnot undefined>> <<if $_vPregnancy.fetus[_i].fertilised>> Vaginal slot <<=_i+1>> is pregnant with a $_vPregnancy.fetus[_i].stats.gender $_vPregnancy.fetus[_i].creature. <<if $_vPregnancy.fetus[_i].stats.gender is "Hermaphrodite">> <<if $pregnancyStats.parasiteDoctorEvents gte 4 and $_vPregnancy.fetus[_i].daysLeft is 0>> Dr Harper will be able to help you to deliver at any time. <<elseif $pregnancyStats.parasiteDoctorEvents gte 4>> Dr Harper will be able to help you to deliver in <<=$_vPregnancy.fetus[_i].daysLeft + 1>> days. <<else>> You will need to see Dr Harper to deliver. <</if>> <<else>> <<if $_vPregnancy.fetus[_i].daysLeft is 0>> It will be ready to deliver at any time soon. <<else>> It will be ready to deliver in less than <<=$_vPregnancy.fetus[_i].daysLeft>> days. <</if>> <</if>> <br> <<else>> Vaginal slot <<=_i+1>> has a $_vPregnancy.fetus[_i].stats.gender $_vPregnancy.fetus[_i].creature egg ready to be fertilised.<br> <</if>> <<else>> Vaginal slot <<=_i+1>> is empty.<br> <</if>> <</for>> <<else>> <<if getPregnancyObject().awareOf>> Unable to host parasites due to other type of vaginal pregnancy. <<else>> <<for _i to 0; _i lt maxParasites("vagina"); _i++>> Vaginal slot <<=_i+1>> is empty.<br> <</for>> <</if>> <</if>> <</if>> <br> <</foldout>> <<set $_menstruation to $sexStats.vagina.menstruation>> <<if $cycledisable is "f">> <<foldout false "_menstruationFoldout">> <span class="gold">Menstruation cycle</span> Running: <<print $_menstruation.running ? "true" : "false">> <<if $_menstruation.running>> <br> Current day in cycle: <<print $_menstruation.currentDay>> <br> Last day in cycle: <<print $_menstruation.currentDaysMax>> <br> Most risky days: <<print $_menstruation.stages[2]>> <br> <</if>> <br> <</foldout>> <</if>> <<foldout false "_extraPregnancyFoldout">> <span class="gold">Pregnancy</span> /* Previously commented out for being a major spoil, but caused players to think a bug had occured */ Total days being pregnant: <<print Math.floor($pregnancyStats.totalDaysPregnant)>> <br> Total days knowingly being pregnant: <<print Math.floor($pregnancyStats.totalDaysPregnancyKnown)>> <br> <<if canBeMPregnant()>> <<elseif !$player.vaginaExist or !$_menstruation.running>> Can not currently get pregnant. <<elseif $_vPregnancy.type is "parasite">> Parasites in the womb are preventing normal pregnancy from occurring. <<elseif $_menstruation.currentState is "recovering">> You are not quite ready to get pregnant so soon after your last one. <<elseif $_vPregnancy.type isnot null>> Currently pregnant with: <<print $_vPregnancy.fetus.length>> <<extraStatisticsPregnancyType $_vPregnancy.type>> <br> <<set $_days to pregnancyDaysEta($_vPregnancy)>> <<if $_days lt 1>> ETA: Anytime. <<elseif $_days>> ETA: <<print $_days>> day<<if $_days isnot 1>>s<</if>>. <</if>> <br> <<else>> Not currently pregnant. <br> <<if $pregnancytype is "realistic">> <<set [_trackedNPCs, _spermArray] to spermObjectToArray($sexStats.vagina.sperm, true, true)>> Number of sources of sperm that can get you pregnant: <<print _spermArray.length>>. <<if _trackedNPCs.length>> <br> Those whose sperm you have inside you currently: <ul> <<for _name range _trackedNPCs>> <<set $_count to _spermArray.filter(s => s.source === T.name.source).length>> <li> <<print pregnancyNameCorrection(_name.source)>> <<if $_count gt 1>> (x<<print $_count>>) <</if>> </li> <</for>> </ul> <</if>> <</if>> <</if>> <<if canBeMPregnant()>> <<if $_aPregnancy.type is "parasite">> Parasites in the womb are preventing normal pregnancy from occurring. <<elseif !$_menstruation.running>> You can not current get pregnant. <<elseif $_menstruation.currentState is "recovering">> You are not quite ready to get pregnant so soon after your last one. <<elseif $_aPregnancy.type isnot null>> Currently pregnant with: <<print $_aPregnancy.fetus.length>> <<extraStatisticsPregnancyType $_aPregnancy.type>> <br> <<set $_days to pregnancyDaysEta($_aPregnancy)>> <<if $_days lt 1>> ETA: Anytime. <<elseif $_days>> ETA: <<print $_days>> day<<if $_days isnot 1>>s<</if>>. <</if>> <br> <<else>> Not currently pregnant. <br> <<if $pregnancytype is "realistic">> <<set [_trackedNPCs, _spermArray] to spermObjectToArray($sexStats.anus.sperm, true, true)>> Number of sources of sperm that can get you pregnant: <<print _spermArray.length>>. <<if _trackedNPCs.length>> <br> Those whose sperm you have inside you currently: <ul> <<for _name range _trackedNPCs>> <<set $_count to _spermArray.filter(s => s.source === T.name.source).length>> <li> <<print pregnancyNameCorrection(_name.source)>> <<if $_count gt 1>> (x<<print $_count>>) <</if>> </li> <</for>> </ul> <</if>> <</if>> <</if>> <</if>> <</foldout>> <<if $NPCName.find(npc => npc.pregnancy and npc.pregnancy.enabled isnot undefined)>> <<foldout false "_npcPregnancyFoldout">> <span class="gold">NPC Pregnancy</span> <<for $_npc range $NPCName.filter(npc => npc.pregnancy and npc.pregnancy.enabled isnot undefined)>> <div> <<print $_npc.nam>>: <<if !$_npc.pregnancy.enabled and !$_npc.pregnancy.fetus.length>> Pregnancy for NPC disabled by the player. <<elseif !$_npc.pregnancy.fetus.length>> Not pregnant. <<elseif $_npc.pregnancy.fetus.length>> Pregnant with <<print $_npc.pregnancy.fetus.length>> <<extraStatisticsPregnancyType $_npc.pregnancy.type>> <<set $_days to pregnancyDaysEta($_npc.pregnancy)>> <<if $_days lt 1>> ETA: Anytime. <<elseif $_days>> ETA: <<print $_days>> day<<if $_days isnot 1>>s<</if>>. <</if>> <</if>> </div> <</for>> <</foldout>> <</if>> </div> <</widget>> <<widget "extraStatisticsPregnancyType">> <<switch _args[0]>> <<case "human">>normal babies. <<case "wolf">>wolf puppies. <<case "hawk">>hawk eggs. <</switch>> <</widget>> <<widget "statisticsTimeCompare">><<silently>> <<if $statFreeze is true>> <<set $_text_output to "Not avaliable when stats are being frozen">> <<elseif $args[0]>> <<set _difference to new DateTime($args[0]).compareWith($args[1] or Time.date)>> <<set $_text_output to "">> <<if _difference.years>> <<set $_text_output += `${_difference.years} year${_difference.years gt 1 ? "s" : ""}`>> <</if>> <<if _difference.months>> <<if $_text_output>><<set $_text_output += ", ">><</if>> <<set $_text_output += `${_difference.months} month${_difference.months gt 1 ? "s" : ""}`>> <</if>> <<if _difference.days>> <<if $_text_output>><<set $_text_output += ", ">><</if>> <<set $_text_output += `${_difference.days} day${_difference.days gt 1 ? "s" : ""}`>> <</if>> <<if _difference.hours>> <<if $_text_output>><<set $_text_output += ", ">><</if>> <<set $_text_output += `${_difference.hours} hour${_difference.hours gt 1 ? "s" : ""}`>> <</if>> <<if _difference.minutes>> <<if $_text_output>><<set $_text_output += ", ">><</if>> <<set $_text_output += `${_difference.minutes} minute${_difference.minutes gt 1 ? "s" : ""}`>> <</if>> <<if $args[1] and !$_text_output>> <<set $_text_output += "no difference">> <<elseif !$_text_output>> <<set $_text_output += "recently">> <<else>> <<set $_text_output += " ago">> <</if>> <<else>> <<set $_text_output to "never">> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "statisticsDetailedTables">> <<switch _openedTable>> <<case "money">> Money notes <mouse class="tooltip linkBlue">(?)<span>Adding too many extra columns may make it harder to read on some devices. Many of these were not tracked at all before version '0.5.2.x' and so will be inaccurate.<<if Object.keys($timeStats).length>> Hour rates cannot be easily used to track every state and so most will just be "N/A".<</if>></span></mouse> <br> <<set [_moneyKeys, _moneyStats, _moneyStatsTotal] to moneyStatsProcess(clone($moneyStats))>> <<if $moneyStatsSnapshot?.money>> <<set [_moneySnapshotKeys, _moneyStatsSnapshot, _moneyStatsSnapshotTotal] to moneyStatsProcess(clone($moneyStatsSnapshot.money))>> <</if>> <div id="moneyStatsDiv"> <<moneyStats>> </div> <<if $debug is 1>> <<link "Reset Stats (Debug)">> <<set $moneyStats to {}>> <<set $timeStats to {}>> <<unset $moneyStatsSnapshot>> <<unset _showSnapshot>> <<set [_moneyKeys, _moneyStats, _moneyStatsTotal] to moneyStatsProcess(clone($moneyStats))>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> <</if>> <<case "produce">> Produce notes: <mouse class="tooltip linkBlue">(?)<span>Adding too many extra columns may make it harder to read on some devices. These were not tracked at all before version '0.5.3.x' and so will be inaccurate.</span></mouse> <br> <div id="produceStatsDiv"> <<produceStats>> </div> <<case "badEnd">> Bad end notes <mouse class="tooltip linkBlue">(?)<span>Adding too many extra columns may make it harder to read on some devices. These were not tracked at all before version '0.5.2.x' and so will be inaccurate. If a bad end stays in progress but you have clearly ended the bad end, please report it as a bug with your save.</span></mouse> <br> <div id="badEndStatsDiv"> <<badEndStats>> </div> <</switch>> <</widget>> <<widget "moneyStats">> <<set $_moneyStats to (_showSnapshot is "show" ? clone(_moneyStatsSnapshot) : clone(_moneyStats))>> <<set $_moneyKeys to (_showSnapshot is "show" ? clone(_moneySnapshotKeys) : clone(_moneyKeys))>> <<set $_moneyTotal to (_showSnapshot is "show" ? clone(_moneyStatsSnapshotTotal) : clone(_moneyStatsTotal))>> <<link `$moneyStatsSnapshot ? "Re-create Snapshot" : "Create Snapshot"`>> <<set $moneyStatsSnapshot to { date: Time.date.timeStamp, money: clone(V.moneyStats), time: clone(V.timeStats), }>> <<set [_moneySnapshotKeys, _moneyStatsSnapshot, _moneyStatsSnapshotTotal] to moneyStatsProcess(clone($moneyStatsSnapshot.money))>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> <<if $moneyStatsSnapshot>> | <<link "Clear Snapshot">> <<unset $moneyStatsSnapshot>> <<unset _showSnapshot>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> <</if>> <br><br> <<link `_moneyStatsDetailed ? "Reduce details" : "Expand details"`>> <<set _moneyStatsDetailed to !_moneyStatsDetailed>> <<set [_moneyKeys, _moneyStats, _moneyStatsTotal] to moneyStatsProcess(clone($moneyStats))>> <<if $moneyStatsSnapshot?.money>> <<set [_moneySnapshotKeys, _moneyStatsSnapshot, _moneyStatsSnapshotTotal] to moneyStatsProcess(clone($moneyStatsSnapshot.money))>> <</if>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> | <span @class="_moneyStatsCount ? 'goldLink' : ''"> <<link `_moneyStatsCount ? "Hide Counts" : "Show Counts"`>> <<set _moneyStatsCount to !_moneyStatsCount>> <<if !_moneyStatsCount and _moneyStatsSorting?.includes("Count")>><<unset _moneyStatsSorting>><</if>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> </span> | <span @class="_moneyStatsAverages ? 'goldLink' : ''"> <<link `_moneyStatsAverages ? "Hide Averages" : "Show Averages"`>> <<set _moneyStatsAverages to !_moneyStatsAverages>> <<if !_moneyStatsAverages and _moneyStatsSorting?.includes("Average")>><<unset _moneyStatsSorting>><</if>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> </span> | <span @class="_moneyStatsDate ? 'goldLink' : ''"> <<link `_moneyStatsDate ? "Hide Dates" : "Show Dates"`>> <<set _moneyStatsDate to !_moneyStatsDate>> <<if !_moneyStatsDate and _moneyStatsSorting?.includes("Date")>><<unset _moneyStatsSorting>><</if>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> </span> | <<if Object.keys($timeStats).length>> <span @class="_moneyStatsHourRates ? 'goldLink' : ''"> <<link `_moneyStatsHourRates ? "Hide Hour Rates" : "Show Hour Rates"`>> <<set _moneyStatsHourRates to !_moneyStatsHourRates>> <<if !_moneyStatsHourRates and _moneyStatsSorting?.includes("Hour Rates")>><<unset _moneyStatsSorting>><</if>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> </span> <</if>> <<if $moneyStatsSnapshot>> || <span @class="_showSnapshot is 'show' ? 'goldLink' : ''"> <<link `_showSnapshot is "show" ? "Hide Snapshot" : "Show Snapshot"`>> <<if _showSnapshot is "show">> <<unset _showSnapshot>> <<else>> <<set _showSnapshot to "show">> <</if>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> </span> | <span @class="_showSnapshot is 'compare' ? 'goldLink' : ''"> <<link `_showSnapshot is "compare" ? "Hide Snapshot" : "Compare Snapshot"`>> <<if _showSnapshot is "compare">> <<unset _showSnapshot>> <<else>> <<set _showSnapshot to "compare">> <</if>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> </span> <</if>> <<if _moneyStatsSorting>> | <<link "Reset Sorting">> <<unset _moneyStatsSorting>> <<replace "#moneyStatsDiv">><<moneyStats>><</replace>> <</link>> <<run $_moneyKeys.sort((a, b) => { if (_moneyStatsSorting.includes("Desc")) { const tempSwap = clone(a); a = clone(b); b = tempSwap; } switch(_moneyStatsSorting.replace("Desc","")) { case "Source": if (a.toUpperCase() < b.toUpperCase()) return -1; return 1; break; case "Earned": return ($_moneyStats[b].earned || 0) - ($_moneyStats[a].earned || 0); case "Spent": return ($_moneyStats[b].spent || 0) - ($_moneyStats[a].spent || 0); case "Earned Count": return ($_moneyStats[b].earnedCount || 0) - ($_moneyStats[a].earnedCount || 0); case "Earned Average": return ($_moneyStats[b].earned / $_moneyStats[b].earnedCount || 0) - ($_moneyStats[a].earned / $_moneyStats[a].earnedCount || 0); case "Hour Rates": return (statChange.timeTrackingTotal(b) ? $_moneyStats[b].earned / statChange.timeTrackingTotal(b) : 0) - (statChange.timeTrackingTotal(a) ? $_moneyStats[a].earned / statChange.timeTrackingTotal(a) : 0); case "Spent Count": return ($_moneyStats[b].spentCount || 0) - ($_moneyStats[a].spentCount || 0); case "Spent Average": return ($_moneyStats[b].spent / $_moneyStats[b].spentCount || 0) - ($_moneyStats[a].spent / $_moneyStats[a].spentCount || 0); case "Date": return (Math.max($_moneyStats[b].earnedTimeStamp || 0, $_moneyStats[b].spentTimeStamp || 0)) - (Math.max($_moneyStats[a].earnedTimeStamp || 0, $_moneyStats[a].spentTimeStamp || 0)); } })>> <</if>> <table class="statsTable"> <thead> <tr> <th scope="col"><<moneyStatsTitle "Source">></th> <th scope="col"><<moneyStatsTitle "Spent">></th> <<if _moneyStatsAverages>> <th scope="col"><<moneyStatsTitle "Spent Average">></th> <</if>> <<if _moneyStatsCount>> <th scope="col"><<moneyStatsTitle "Spent Count">></th> <</if>> <th scope="col"><<moneyStatsTitle "Earned">></th> <<if _moneyStatsAverages>> <th scope="col"><<moneyStatsTitle "Earned Average">></th> <</if>> <<if _moneyStatsCount>> <th scope="col"><<moneyStatsTitle "Earned Count">></th> <</if>> <<if _moneyStatsHourRates>> <th scope="col"><<moneyStatsTitle "Hour Rates">></th> <</if>> <<if _moneyStatsDate>> <th scope="col"><<moneyStatsTitle "Date">></th> <</if>> </tr> </thead> <<if _showSnapshot is "show">><<set _timeTrackingSnapshotOveride to true>><</if>> <<for $_key range $_moneyKeys>> <<if $_moneyStats[$_key].earned or $_moneyStats[$_key].spent>> <tbody class="stat"> <td data-label="Source"><<moneyStatsNames $_key>></td> <td data-label="Spent" @class="$_moneyStats[$_key].spent ? '' : 'mobileHidden'"> <<if $_moneyStats[$_key].spent>> <<printmoney `$_moneyStats[$_key].spent or 0` "red">> <<moneyStatsCompare $_key "spent">> <<else>> <span class="dash">-</span> <</if>> </td> <<if _moneyStatsAverages>> <td data-label="Spent Average" @class="$_moneyStats[$_key].spent ? '' : 'mobileHidden'"> <<if $_moneyStats[$_key].spent>> <<printmoney `$_moneyStats[$_key].spent / $_moneyStats[$_key].spentCount or 0` "red">> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _moneyStatsCount>> <td data-label="Spent Count" @class="$_moneyStats[$_key].spent ? '' : 'mobileHidden'"> <<if $_moneyStats[$_key].spentCount>> <<print $_moneyStats[$_key].spentCount>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <td data-label="Earned" @class="$_moneyStats[$_key].earned ? '' : 'mobileHidden'"> <<if $_moneyStats[$_key].earned>> <<printmoney `$_moneyStats[$_key].earned or 0`>> <<moneyStatsCompare $_key "earned">> <<else>> <span class="dash">-</span> <</if>> </td> <<if _moneyStatsAverages>> <td data-label="Earned Average" @class="$_moneyStats[$_key].earned ? '' : 'mobileHidden'"> <<if $_moneyStats[$_key].earned>> <<printmoney `$_moneyStats[$_key].earned / $_moneyStats[$_key].earnedCount or 0`>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _moneyStatsCount>> <td data-label="Earned Count" @class="$_moneyStats[$_key].earned ? '' : 'mobileHidden'"> <<if $_moneyStats[$_key].earnedCount>> <<print $_moneyStats[$_key].earnedCount>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _moneyStatsHourRates>> <td data-label="Hour Rates"> <<if statChange.timeTrackingTotal($_key)>> <<printmoney `$_moneyStats[$_key].earned / statChange.timeTrackingTotal($_key)`>> <<moneyStatsCompareHourly $_key>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _moneyStatsDate>> <td data-label="Date"><<moneyStatsDate $_moneyStats[$_key].spentTimeStamp $_moneyStats[$_key].earnedTimeStamp>></td> <</if>> </tbody> <</if>> <</for>> <<unset _timeTrackingSnapshotOveride>> <tbody class="total"> <td data-label="Source">Total</td> <td data-label="Spent"> <<printmoney $_moneyTotal.spent "red">> <<if _showSnapshot is "compare">> <<print "+<<printmoney `(_moneyStatsTotal.spent or 0) - (_moneyStatsSnapshotTotal.spent or 0)` 'white'>>">> <<else>> <<moneyStatsCompare "total" "spent">> <</if>> </td> <<if _moneyStatsAverages>> <td data-label="Spent Average"><<printmoney `$_moneyTotal.spent / $_moneyTotal.spentCount or 0` "red">></td> <</if>> <<if _moneyStatsCount>> <td data-label="Spent Count"><<print $_moneyTotal.spentCount>></td> <</if>> <td data-label="Earned"> <<printmoney $_moneyTotal.earned>> <<if _showSnapshot is "compare">> <<print "+<<printmoney `(_moneyStatsTotal.earned or 0) - (_moneyStatsSnapshotTotal.earned or 0)` 'white'>>">> <<else>> <<moneyStatsCompare "total" "earned">> <</if>> </td> <<if _moneyStatsAverages>> <td data-label="Earned Average"><<printmoney `$_moneyTotal.earned / $_moneyTotal.earnedCount or 0`>></td> <</if>> <<if _moneyStatsCount>> <td data-label="Earned Count"><<print $_moneyTotal.earnedCount>></td> <</if>> <<if _moneyStatsHourRates>> <td data-label="Hour Rates">-</td> <</if>> <<if _moneyStatsDate>> <td data-label="Date"><<moneyStatsDate $_moneyTotal.spentTimeStamp $_moneyTotal.earnedTimeStamp>></td> <</if>> </tbody> <<if _showSnapshot>> <tfoot> <tr> <td colspan="3"> <<set _snapShotDate to new DateTime($moneyStatsSnapshot.date)>> Snapshot from: <<switch $options.dateFormat>> <<case "en-US">> <<print _snapShotDate.month>>/<<print _snapShotDate.day>>/<<print _snapShotDate.year>> <<case "zh-CN">> <<print _snapShotDate.year>>/<<print _snapShotDate.month>>/<<print _snapShotDate.day>> <<default>> <<print _snapShotDate.day>>/<<print _snapShotDate.month>>/<<print _snapShotDate.year>> <</switch>> - <<ampm _snapShotDate.hour _snapShotDate.minute>> <br> Snapshot age: <<statisticsTimeCompare $moneyStatsSnapshot.date>> </td> </tr> </tfoot> <</if>> </table> <</widget>> <<widget "moneyStatsNames">><<silently>> <<switch _args[0]>> <<case "cafeWaiter">><<set $_text_output to $player.gender_appearance is "m" ? "Cafe Waiter" : "Cafe Waitress">> <<case "partyDanceTips">><<set $_text_output to "Party Dance Job Tips">> <<case "danubeDanceTips">><<set $_text_output to "Danube Dance Job Tips">> <<default>><<set $_text_output to camelCaseToTitle(_args[0])>> <</switch>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "moneyStatsTitle">><<silently>> <<if _moneyStatsSorting is _args[0]>> <<set $_text_output to ` <<link "${_args[0]}&#x25B2;">><<set _moneyStatsSorting to "${_args[0]}Desc">><<replace "#moneyStatsDiv">><<moneyStats>><</replace>><</link>>`>> <<elseif _moneyStatsSorting is _args[0] + "Desc">> <<set $_text_output to ` <<link "${_args[0]}&#x25BC;">><<unset _moneyStatsSorting>><<replace "#moneyStatsDiv">><<moneyStats>><</replace>><</link>>`>> <<else>> <<set $_text_output to ` <<link "${_args[0]}">><<set _moneyStatsSorting to "${_args[0]}">><<replace "#moneyStatsDiv">><<moneyStats>><</replace>><</link>>`>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "moneyStatsCompare">><<silently>> <<if _args[0] and _args[1] and _showSnapshot is "compare">> <<set $_amount to (_moneyStats[_args[0]][_args[1]] or 0) - (_moneyStatsSnapshot[_args[0]] ? _moneyStatsSnapshot[_args[0]][_args[1]] || 0 : 0)>> <<set $_text_output to `+<<printmoney ${$_amount} "white">>`>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "moneyStatsCompareHourly">><<silently>> <<if _args[0] and _showSnapshot is "compare">> <<if statChange.timeTrackingTotal(_args[0]) and _moneyStats[_args[0]]?.earned and _moneyStatsSnapshot[_args[0]]?.earned>> <<set $_current to _moneyStats[_args[0]].earned / statChange.timeTrackingTotal(_args[0])>> <<set _timeTrackingSnapshotOveride to true>> <<if statChange.timeTrackingTotal(_args[0])>> <<set $_previous to _moneyStatsSnapshot[_args[0]].earned / statChange.timeTrackingTotal(_args[0])>> <<set $_amount to $_current - $_previous>> <<set $_text_output to `${$_amount gt 0 ? "+" : ""}<<printmoney ${$_amount} ${$_amount lt 0 ? "red" : "white"}>>`>> <</if>> <<unset _timeTrackingSnapshotOveride>> <</if>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "moneyStatsDate">><<silently>> <<if _args[0] or _args[1]>> <<set $_time to new DateTime(Math.max(_args[0] or 0, _args[1] or 0))>> <<switch $options.dateFormat>> <<case "en-US">> <<set $_text_output to `<<print $_time.month>>/<<print $_time.day>>/<<print $_time.year>>`>> <<case "zh-CN">> <<set $_text_output to `<<print $_time.year>>/<<print $_time.month>>/<<print $_time.day>>`>> <<default>> <<set $_text_output to `<<print $_time.day>>/<<print $_time.month>>/<<print $_time.year>>`>> <</switch>> <<set $_text_output += ` - <<ampm $_time.hour $_time.minute>>`>> <<else>> <<set $_text_output to `<span class="dash">-</span>`>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "virginityToolTip">><<silently>> <<if _args[0]?.timestamp and _args[1] isnot true>> <<set $_time to new DateTime(_args[0].timestamp)>> <<switch $options.dateFormat>> <<case "en-US">> <<set $_text_output to `Taken on: ${$_time.month}/${$_time.day}/${$_time.year}`>> <<case "zh-CN">> <<set $_text_output to `Taken on: ${$_time.year}/${$_time.month}/${$_time.day}`>> <<default>> <<set $_text_output to `Taken on: ${$_time.day}/${$_time.month}/${$_time.year}`>> <</switch>> <<set $_text_output += ` - ${ampm($_time.hour, $_time.minute)}<br>How recent: <<c>><<statisticsTimeCompare _args[0].timestamp>><</c>>`>> <<set $_linkColour to "linkBlue">> <<if _args[0].consensual isnot undefined>> <<set $_text_output += `<br>Consensual: ${_args[0].consensual ? "True" : "False"}`>> <<set $_linkColour to _args[0].consensual ? "green" : "red">> <</if>> <<if _args[0].position>> <<set $_text_output += `<br>Sex Position: ${_args[0].position.toUpperFirst()}`>> <</if>> <<if _args[0].playerPenisSize>> <<set $_penisSize to ["Micro", "Mini", "Tiny", "Small", "Normal", "Large", "Enormous"]>> <<set $_text_output += `<br>Penis size: ${$_penisSize[_args[0].playerPenisSize + 2]}`>> <<elseif _args[0].npcPenisSize>> <<set $_penisSize to ["Tiny", "Average", "Thick", "Huge", "Colossal"]>> <<if !_args[0].npcPenisdesc or !["knotted", "spiked", "strange","equine","avian","bovine","arachnid"].includes(_args[0].npcPenisdesc)>> <<set $_text_output += `<br>Penis size${_args[0].npcPenisSize2 ? "s" : ""}: ${$_penisSize[_args[0].npcPenisSize - 1]}`>> <<if _args[0].npcPenisSize2>> <<set $_text_output += ` and ${$_penisSize[_args[0].npcPenisSize2 - 1]}`>> <</if>> <<else>> <<set $_text_output += `<br>Penis${_args[0].npcPenisSize2 ? "es" : ""}: ${$_penisSize[_args[0].npcPenisSize - 1]} ${_args[0].npcPenisdesc}`>> <<if _args[0].npcPenisSize2>> <<set $_text_output += ` and ${$_penisSize[_args[0].npcPenisSize2 - 1]} ${_args[0].npcPenisdesc2}`>> <</if>> <</if>> <</if>> <<switch _args[0].passage>> <<case "Tutorial">><<set $_special to "Didn't know how to scream">> <<case "Brothel Show Virginity Sex">><<set $_special to "Sold to the highest bidder">> <<case "Brothel Show Virginity Rape">><<set $_special to "Stolen from the highest bidder">> <<case "Sydney Temple Pure Sex">> <<if _args[2] is 'npc' and setup.loveInterestNpc.includes(_args[1])>> <<set $_special to "Given to <<nnpc_his _args[1]>> promised">> <<else>> <<set $_special to "Given to your promised">> <</if>> <<case "Sydney Temple Corrupt Sex">><<set $_special to "Defiled in the temple">> <<case "Estate Cards Sex">><<set $_special to "Gambled away">> <<case "Underground Robin Kiss Intro">> <<set $_special to "Taken when collared together">> <<case "Underground Robin Kiss Molestation">> /* This expected this detail to be only visible for the player's virginity */ <<if _args[2] is "pc">> <<set $_sameTime to "">> <<set $_asRobins to "">> <<set $_eachOther to "Robin">> <<set $_otherVirginity to C.npc.Robin?.virginityDetails?.[_args[3]]?.passage is "Underground Robin Kiss Molestation" ? _args[3] : undefined>> <<if !$_otherVirginity>> <<set $_otherVirginity to C.npc.Robin?.virginityDetails?.vaginal?.passage is "Underground Robin Kiss Molestation" ? "vaginal" : (C.npc.Robin?.virginityDetails?.anal?.passage is "Underground Robin Kiss Molestation" ? "anal" : undefined)>> <</if>> <<if $_otherVirginity>> <<if Math.abs(_args[0]?.timestamp - C.npc.Robin.virginityDetails[$_other].timestamp) lte 1000>> <<set $_sameTime to "at the same time ">> <<else>> <<set $_sameTime to "in a similar situation ">> <</if>> <<set $_asRobins to `as Robin's ${$_otherVirginity is _args[3] ? "" : ($_otherVirginity + " virginity ")}`>> <<set $_eachOther to "each other">> <</if>> <<set $_special to `Taken ${$_sameTime}${$_asRobins}while kissing ${$_eachOther}`>> <</if>> <<case "Moor Phallus Plant Masturbation">> <<set $_special to "Driven mad with pleasure">> <<default>> <<if _args[0].npcPenisSize gte 5>> <<set $_special to `${_args[3] is "vaginal" ? "Broken" : "Taken"} in the most brutal of ways`>> <<elseif _args[0].npcPenisSize2 isnot undefined>> <<set $_special to "Two for the price of one">> <</if>> <</switch>> <<if $_special>><<set $_text_output += `<div class="lewd">Special: ${$_special}</div>`>><</if>> <<if setup.loveInterestNpc.includes(_args[1]) and $_linkColour isnot "red">> <<set $_linkColour to "lewd">> <</if>> <</if>> <</silently>><<if $_text_output>> <mouse @class="'tooltip ' + $_linkColour">(?)<span><<print $_text_output>></span></mouse><</if>> <</widget>> <<widget "badEndStats">> <<set $_badEndStats to clone($badEndStats)>> <<run $_badEndStats.forEach(badEnd => { if (badEnd.reasonStart and setup.badEndReasonText[badEnd.reasonStart]) badEnd.reasonStart = setup.badEndReasonText[badEnd.reasonStart]; if (badEnd.reasonEnd and setup.badEndReasonText[badEnd.reasonEnd]) badEnd.reasonEnd = setup.badEndReasonText[badEnd.reasonEnd]; })>> <span @class="_badEndStatsHowLongAgo ? 'goldLink' : ''"> <<link `_badEndStatsHowLongAgo ? "Hide How Long Ago" : "Show How Long Ago"`>> <<set _badEndStatsHowLongAgo to !_badEndStatsHowLongAgo>> <<if !_badEndStatsHowLongAgo>><<unset _badEndStatsHowLongAgo>><</if>> <<replace "#badEndStatsDiv">><<badEndStats>><</replace>> <</link>> </span> | <span @class="_badEndStatsReasonStart ? 'goldLink' : ''"> <<link `_badEndStatsReasonStart ? "Hide Start Reason" : "Show Start Reason"`>> <<set _badEndStatsReasonStart to !_badEndStatsReasonStart>> <<if !_badEndStatsReasonStart>><<unset _badEndStatsReasonStart>><</if>> <<replace "#badEndStatsDiv">><<badEndStats>><</replace>> <</link>> </span> | <span @class="_badEndStatsReasonEnd ? 'goldLink' : ''"> <<link `_badEndStatsReasonEnd ? "Hide End Reason" : "Show End Reason"`>> <<set _badEndStatsReasonEnd to !_badEndStatsReasonEnd>> <<if !_badEndStatsReasonEnd>><<unset _badEndStatsReasonEnd>><</if>> <<replace "#badEndStatsDiv">><<badEndStats>><</replace>> <</link>> </span> <<if _badEndStatsSorting>> | <<link "Reset Sorting">> <<unset _badEndStatsSorting>> <<replace "#badEndStatsDiv">><<badEndStats>><</replace>> <</link>> <<run $_badEndStats.sort((a, b) => { if (_badEndStatsSorting.includes("Desc")) { const tempSwap = clone(a); a = clone(b); b = tempSwap; } switch(_badEndStatsSorting.replace("Desc","")) { case "Bad End": if (a.source.toUpperCase() < b.source.toUpperCase()) return -1; return 1; case "Started": return (b.trackedStart || 0) - (a.trackedStart || 0); case "Ended": case "Time since it ended": return (b.trackedEnd || 0) - (a.trackedEnd || 0); case "Duration": return ((b.trackedEnd || 0) - b.trackedStart) - ((a.trackedEnd || 0) - a.trackedStart); case "Start Reason": if ((a.reasonStart || "").toUpperCase() < (b.reasonStart || "").toUpperCase()) return -1; return 1; case "End Reason": if ((a.reasonEnd || "").toUpperCase() < (b.reasonEnd || "").toUpperCase()) return -1; return 1; } })>> <</if>> <table class="statsTable"> <thead> <tr> <th scope="col"><<badEndStatsTitle "Bad End">></th> <th scope="col"><<badEndStatsTitle "Started">></th> <th scope="col"><<badEndStatsTitle "Ended">></th> <th scope="col"><<badEndStatsTitle "Duration">></th> <<if _badEndStatsHowLongAgo>> <th scope="col"><<badEndStatsTitle "How Long Ago">></th> <</if>> <<if _badEndStatsReasonStart>> <th scope="col"><<badEndStatsTitle "Start Reason">></th> <</if>> <<if _badEndStatsReasonEnd>> <th scope="col"><<badEndStatsTitle "End Reason">></th> <</if>> </tr> </thead> <<for $_badEnd range $_badEndStats>> <tbody class="stat"> <td data-label="Bad End"> <<print $_badEnd.source>> <<if $_badEnd.notesStart or $_badEnd.notesEnd>> <<set $_includesError to $_badEnd?.notesStart?.includes("Not correctly tracked") or $_badEnd?.notesEnd?.includes("Not correctly tracked")>> <mouse @class="'tooltip ' + ($_includesError ? 'red' : 'linkBlue')">(?)<span> <<if $_badEnd.notesStart>><<print $_badEnd.notesStart>><</if>> <<if $_badEnd.notesEnd>> <<if $_badEnd.notesStart>><hr><</if>> <<print $_badEnd.notesEnd>> <</if>> </span></mouse> <</if>> </td> <td data-label="Started"> <<set $_time to new DateTime($_badEnd.trackedStart)>> <<switch $options.dateFormat>> <<case "en-US">> Started: $_time.month/$_time.day/$_time.year <<case "zh-CN">> Started: $_time.year/$_time.month/$_time.day <<default>> Started: $_time.day/$_time.month/$_time.year <</switch>> </td> <td data-label="Ended"> <<if $_badEnd.trackedEnd>> <<set $_time2 to new DateTime($_badEnd.trackedEnd)>> <<switch $options.dateFormat>> <<case "en-US">> Ended: $_time2.month/$_time2.day/$_time2.year <<case "zh-CN">> Ended: $_time2.year/$_time2.month/$_time2.day <<default>> Ended: $_time2.day/$_time2.month/$_time2.year <</switch>> <<else>> <span class="dash"></span> <</if>> </td> <td data-label="Duration"> <<if $_badEnd.trackedEnd>> <<statisticsTimeCompare $_time $_time2>> <<else>> In progress <</if>> </td> <<if _badEndStatsHowLongAgo>> <td data-label="How Long Ago"> <<if $_badEnd.trackedEnd>> <<statisticsTimeCompare $_time2>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _badEndStatsReasonStart>> <td data-label="Start Reason"> <<if setup.badEndReasonText[$_badEnd.reasonStart] isnot undefined>> <<print setup.badEndReasonText[$_badEnd.reasonStart] or '<span class="dash">-</span>'>> <<elseif $_badEnd.reasonStart>> <<print $_badEnd.reasonStart>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _badEndStatsReasonEnd>> <td data-label="End Reason"> <<if setup.badEndReasonText[$_badEnd.reasonEnd] isnot undefined>> <<print setup.badEndReasonText[$_badEnd.reasonEnd] or '<span class="dash">-</span>'>> <<elseif $_badEnd.reasonEnd>> <<print $_badEnd.reasonEnd>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> </tbody> <</for>> </table> <</widget>> <<widget "badEndStatsTitle">><<silently>> <<if _badEndStatsSorting is _args[0]>> <<set $_text_output to ` <<link "${_args[0]}&#x25B2;">><<set _badEndStatsSorting to "${_args[0]}Desc">><<replace "#badEndStatsDiv">><<badEndStats>><</replace>><</link>>`>> <<elseif _badEndStatsSorting is _args[0] + "Desc">> <<set $_text_output to ` <<link "${_args[0]}&#x25BC;">><<unset _badEndStatsSorting>><<replace "#badEndStatsDiv">><<badEndStats>><</replace>><</link>>`>> <<else>> <<set $_text_output to ` <<link "${_args[0]}">><<set _badEndStatsSorting to "${_args[0]}">><<replace "#badEndStatsDiv">><<badEndStats>><</replace>><</link>>`>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "produceStats">> <<set $_produceKeys to Object.keys(clone(setup.plants))>> <span @class="_produceStatsCurrent ? '' : 'goldLink'"> /* Inverted in how it works */ <<link `_produceStatsCurrent ? "Show player stats" : "Hide player stats"`>> <<set _produceStatsCurrent to !_produceStatsCurrent>> <<replace "#produceStatsDiv">><<produceStats>><</replace>> <</link>> </span> | <<if $stall_stats>> <<if $daily.stallRented>> <span @class="_produceStatsMarket ? 'goldLink' : ''"> <<link `_produceStatsMarket ? "Hide market daily stats" : "Show market daily stats"`>> <<set _produceStatsMarket to !_produceStatsMarket>> <<replace "#produceStatsDiv">><<produceStats>><</replace>> <</link>> </span> | <</if>> <span @class="_produceStatsMarketOverall ? 'goldLink' : ''"> <<link `_produceStatsMarketOverall ? "Hide market overall stats" : "Show market overall stats"`>> <<set _produceStatsMarketOverall to !_produceStatsMarketOverall>> <<replace "#produceStatsDiv">><<produceStats>><</replace>> <</link>> </span> | <</if>> <<if $farmersProduce?.soldData>> <span @class="_produceStatsFactory ? 'goldLink' : ''"> <<link `_produceStatsFactory ? "Hide factory stats" : "Show factory stats"`>> <<set _produceStatsFactory to !_produceStatsFactory>> <<replace "#produceStatsDiv">><<produceStats>><</replace>> <</link>> </span> | <</if>> <<if _produceStatsSorting>> <<link "Reset Sorting">> <<unset _produceStatsSorting>> <<replace "#badEndStatsDiv">><<badEndStats>><</replace>> <</link>> <<run $_produceKeys.sort((a, b) => { if (_produceStatsSorting.includes("Desc")) { const tempSwap = clone(a); a = clone(b); b = tempSwap; } switch(_produceStatsSorting.replace("Desc","")) { case "Produce": if (a.toUpperCase() < b.toUpperCase()) return -1; return 1; case "Value": return (setup.plants[b]?.plant_cost || 0) - (setup.plants[a]?.plant_cost || 0); case "Amount": return ($plants[b].amount || 0) - ($plants[a].amount || 0); case "Total": return ((setup.plants[b]?.plant_cost * $plants[b].amount) || 0) - ((setup.plants[a]?.plant_cost * $plants[a].amount) || 0); case "Market: Allowed to be sold": return $plants[b]?.marketStall ? 1 : -1; case "Market: Sold Today": return ($stall_stats[b]?.sold.amount || 0) - ($stall_stats[a]?.sold.amount || 0); case "Market: Average Today": return (($stall_stats[b].sold.total || 0) / ($stall_stats[b]?.sold.amount || 1)) - (($stall_stats[a].sold.total || 0) / ($stall_stats[a]?.sold.amount || 1)); case "Market: Todays Total": return ($stall_stats[b]?.sold.total || 0) - ($stall_stats[a]?.sold.total || 0); case "Market: Sold": return ($stall_stats[b]?.sold.amountHistory || 0) - ($stall_stats[a]?.sold.amountHistory || 0); case "Market: Average": return (($stall_stats[b].sold.totalHistory || 0) / ($stall_stats[b]?.sold.amountHistory || 1)) - (($stall_stats[a].sold.totalHistory || 0) / ($stall_stats[a]?.sold.amountHistory || 1)); case "Market: Total": return ($stall_stats[b]?.sold.totalHistory || 0) - ($stall_stats[a]?.sold.totalHistory || 0); case "Factory: Sold": return ($farmersProduce.soldData[b]?.amount || 0) - ($farmersProduce.soldData[a]?.amount || 0); case "Factory: Average": return (($farmersProduce.soldData[b]?.total || 0) / ($farmersProduce.soldData[b]?.amount || 1)) - (($farmersProduce.soldData[a]?.total || 0) / ($farmersProduce.soldData[a]?.amount || 1)); case "Factory: Total": return ($farmersProduce.soldData[b]?.total || 0) - ($farmersProduce.soldData[a]?.total || 0); } })>> <</if>> <table class="statsTable"> <thead> <tr> <th scope="col"><<produceStatsTitle "Produce">></th> <th scope="col"><<produceStatsTitle "Value">></th> <<if !_produceStatsCurrent>> <th scope="col"><<produceStatsTitle "Amount">></th> <th scope="col"><<produceStatsTitle "Total">></th> <</if>> <<if _produceStatsMarket or _produceStatsMarketOverall>> <th scope="col"><<produceStatsTitle "Market: Allowed to be sold">></th> <</if>> <<if _produceStatsMarket>> <th scope="col"><<produceStatsTitle "Market: Sold Today">></th> <th scope="col"><<produceStatsTitle "Market: Average Today">></th> <th scope="col"><<produceStatsTitle "Market: Todays Total">></th> <</if>> <<if _produceStatsMarketOverall>> <th scope="col"><<produceStatsTitle "Market: Sold">></th> <th scope="col"><<produceStatsTitle "Market: Average">></th> <th scope="col"><<produceStatsTitle "Market: Total">></th> <</if>> <<if _produceStatsFactory>> <th scope="col"><<produceStatsTitle "Factory: Sold">></th> <th scope="col"><<produceStatsTitle "Factory: Average">></th> <th scope="col"><<produceStatsTitle "Factory: Total">></th> <</if>> </tr> </thead> <<for $_key range $_produceKeys>> <<set $_produce to clone(setup.plants[$_key])>> <<set $_playerProduce to clone($plants[$_key])>> <<if $_playerProduce.amount lte 0 and !$stall_stats?.[$_key]?.sold.amount and !$stall_stats?.[$_key]?.sold.amountHistory and !$farmersProduce?.selling[$_key] and !$farmersProduce?.soldData?.[$_key]>> <<continue>> <</if>> <tbody class="stat"> <td data-label="Produce"> <<recipe_name $_key>> </td> <td data-label="Value"> <<printmoney `$_produce.plant_cost or 0`>> </td> <<if !_produceStatsCurrent>> <td data-label="Amount"> <<if $_playerProduce.amount gt 0>> <<print $_playerProduce.amount>> <<else>> <span class="dash">-</span> <</if>> </td> <td data-label="Total"> <<if $_playerProduce.amount gt 0>> <<printmoney `($_produce.plant_cost or 0) * $_playerProduce.amount`>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _produceStatsMarket or _produceStatsMarketOverall>> <td data-label="Market: Allowed to be sold"> <<if $plants[$_key]?.marketStall isnot undefined>> <<print $plants[$_key].marketStall>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _produceStatsMarket>> <td data-label="Market: Sold Today"> <<if $stall_stats[$_key]?.sold.amount gt 0>> <<print $stall_stats[$_key].sold.amount>> <<else>> <span class="dash">-</span> <</if>> </td> <td data-label="Market: Average Today"> <<if $stall_stats[$_key]?.sold.amount gt 0>> <<printmoney `$stall_stats[$_key].sold.total / $stall_stats[$_key].sold.amount`>> <<else>> <span class="dash">-</span> <</if>> </td> <td data-label="Market: Todays Total"> <<if $stall_stats[$_key]?.sold.total gt 0>> <<printmoney $stall_stats[$_key].sold.total>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _produceStatsMarketOverall>> <td data-label="Market: Sold"> <<if $stall_stats[$_key]?.sold.amountHistory gt 0>> <<print $stall_stats[$_key].sold.amountHistory>> <<else>> <span class="dash">-</span> <</if>> </td> <td data-label="Market: Average"> <<if $stall_stats[$_key]?.sold.amountHistory gt 0>> <<printmoney `$stall_stats[$_key].sold.totalHistory / $stall_stats[$_key].sold.amountHistory`>> <<else>> <span class="dash">-</span> <</if>> </td> <td data-label="Market: Total"> <<if $stall_stats[$_key]?.sold.totalHistory gt 0>> <<printmoney $stall_stats[$_key].sold.totalHistory>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> <<if _produceStatsFactory>> <td data-label="Factory: Sold"> <<if $farmersProduce.soldData[$_key]?.amount gt 0>> <<print $farmersProduce.soldData[$_key].amount>> <<else>> <span class="dash">-</span> <</if>> </td> <td data-label="Factory: Average"> <<if $farmersProduce.soldData[$_key]?.amount gt 0>> <<printmoney `$farmersProduce.soldData[$_key].total / $farmersProduce.soldData[$_key].amount`>> <<else>> <span class="dash">-</span> <</if>> </td> <td data-label="Factory: Total"> <<if $farmersProduce.soldData[$_key]?.total gt 0>> <<printmoney $farmersProduce.soldData[$_key].total>> <<else>> <span class="dash">-</span> <</if>> </td> <</if>> </tbody> <</for>> </table> <</widget>> <<widget "produceStatsTitle">><<silently>> <<if _produceStatsSorting is _args[0]>> <<set $_text_output to ` <<link "${_args[0]}&#x25B2;">><<set _produceStatsSorting to "${_args[0]}Desc">><<replace "#produceStatsDiv">><<produceStats>><</replace>><</link>>`>> <<elseif _produceStatsSorting is _args[0] + "Desc">> <<set $_text_output to ` <<link "${_args[0]}&#x25BC;">><<unset _produceStatsSorting>><<replace "#produceStatsDiv">><<produceStats>><</replace>><</link>>`>> <<else>> <<set $_text_output to ` <<link "${_args[0]}">><<set _produceStatsSorting to "${_args[0]}">><<replace "#produceStatsDiv">><<produceStats>><</replace>><</link>>`>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>><<widget "traits">> <<if $sexStats and $sexStats.pills>> <<set _pills to $sexStats.pills.pills>> <</if>> <<set _traitLists to [ { title: "General Traits", traits: [ { name: "Virgin", colour: "green", has: $player.virginity.vaginal is true and $player.virginity.penile is true, text: "Your purity recovers faster. Your virginity might be worth something.", }, { name: "Chastity Vow", colour: "blue", has: $player.virginity.temple is true, text: "Lost when your <<if $player.penisExist>>penis is enveloped<</if>><<if $player.penisExist and $player.vaginaExist>> or your <</if>><<if $player.vaginaExist>>vagina is penetrated<</if>>. The temple will know.", }, { name: "Broken Vow", colour: "red", has: $player.virginity.temple isnot true and $temple_rank isnot "prospective" and $temple_rank isnot undefined, text: "The temple will know.", }, { name: "Rite of Promise: $templePromised", colour: "blue", has: $templePromised isnot "" and $player.virginity.temple is true, text: "You've been bound to another member of the temple. Sex with this person will not break your vows.", }, { name: "Broken Promise: $templePromised", colour: "red", has: $templePromised isnot "" and $player.virginity.temple isnot true, text: "The temple will know.", }, { name: "Temple Burden: $temple_burden%", colour: "blue", has: $temple_burden gte 1, text: "You are carrying part of the world's corruption within yourself. Physique, willpower, athletics, dancing, skulduggery, swimming, tending, housekeeping, and English skill checks have a $temple_burden% chance to automatically fail.", }, { name: "Purity Boost", colour: "green", has: $featsPurityBoost gt 0, text: () => { let dailyPurity = 1; if (V.fallenangel >= 2) dailyPurity -= 10; if (V.player.virginity.vaginal === true && V.player.virginity.penile === true) dailyPurity += 2; if (dailyPurity + V.featsPurityBoost > 0) return "You are gaining purity daily."; if (dailyPurity + V.featsPurityBoost === 0) return "You are not gaining purity daily."; return "You are losing purity daily."; }, }, { name: "Impurity Boost", colour: "red", has: $featsPurityBoost lt 0, text: () => { let dailyPurity = 1; if (V.fallenangel >= 2) dailyPurity -= 10; if (V.player.virginity.vaginal === true && V.player.virginity.penile === true) dailyPurity += 2; if (dailyPurity + V.featsPurityBoost > 0) return "You are gaining less purity daily."; if (dailyPurity + V.featsPurityBoost === 0) return "You are not gaining purity daily."; return "You are losing purity daily."; }, }, { name: "Crossdresser", colour: "pink", has: $backgroundTraits.includes("crossdresser") and $player.sex is "m", text: "Stress decays faster while dressed as a girl, but slower when dressed as a boy.", }, { name: "Crossdresser", colour: "lblue", has: $backgroundTraits.includes("crossdresser") and $player.sex is "f", text: "Stress decays faster while dressed as a boy, but slower when dressed as a girl.", }, { name: "Lustful", colour: "lewd", has: $backgroundTraits.includes("lustful"), text: "Arousal increases over time, and needs to be managed.", }, { name: "Green Thumb", colour: "green", has: $backgroundTraits.includes("greenthumb"), text: "More bountiful crops and no decay when using fertiliser.", }, { name: () => V.submissive <= 850 ? "Dendrophile" : "Plant Lover", colour: "lewd", has: $backgroundTraits.includes("plantlover"), text: "Plants are everything to you. Plantpeople and plant-based tentacles no longer require hallucinations to encounter. You get a bonus to tending, as your trauma increases.", }, { name: "Nectar Addict", colour: "red", has: $backgroundTraits.includes("plantlover"), text: "You're more vulnerable to aphrodisiacs and alcohol. You draw nourishment from nectar. Drinking it invigorates your body, improving physique and reducing stress. Failing to consume nectar for an extended period will take its toll on your body, and eventually cause this trait and the <<if $submissive lte 850>><span class='lewd'>Dendrophile</span><<else>><span class='lewd'>Plant Lover</span><</if>> trait to disappear.<span class='hidden'></span>", }, { name: () => { return "Ear slime focus: " + $earSlime.focus; }, colour: "lewd", has: $earSlime.focus and $earSlime.focus isnot "none", text: () => { let result; switch ($earSlime.focus) { case "pregnancy": result = "You chose the path of pregnancy, causing the ear slime to amplify traits related to becoming pregnant, while weakening other traits."; break; case "mixed": result = "You chose to walk the path between pregnancy and impregnation, causing the ear slime to amplify traits related to both, to a lesser degree."; break; case "impregnation": result = "You chose the path of impregnation, causing the ear slime to amplify traits related to impregnating others, while weakening other traits."; break; } let parasites = []; if ($parasite.breasts and $parasite.breasts.name is "parasite") { if ($player.breastsize gte 1) { parasites.push("breasts"); } else { parasites.push("chest"); } } if (($parasite.clit and $parasite.clit.name is "parasite") or ($parasite.penis and $parasite.penis.name is "parasite")) parasites.push("genitals"); if (parasites.length) result += ` Its parasites cover your ${formatList(parasites, "and", true)} like clothing.`; return result; } }, { name: "Pregnant", colour: "lewd", has: playerIsPregnant() and playerAwareTheyArePregnant(), text: () => playerBellySize() lt 10 or playerNormalPregnancyTotal() gte 50 ? "You are with child." : "You are with child. Some skills will suffer as your belly grows.", }, { name: "First Time Mother", colour: "lewd", has: playerNormalPregnancyTotal() is 1, text: "You have given birth to your first child. Reduces the physical penalties for being pregnant.", }, { name: "Second Time Mother", colour: "lewd", has: playerNormalPregnancyTotal() is 2, text: "You have given birth to children two times now. Reduces the physical penalties for being pregnant.", }, { name: "Mother", colour: "lewd", has: between(playerNormalPregnancyTotal(), 3, 7), text: "You have some good experiences of being a mother. Moderately reduces the physical penalties for being pregnant.", }, { name: "Broodmother", colour: "lewd", has: between(playerNormalPregnancyTotal(), 8, 49), text: "You have given birth to many, many children. Greatly reduces the physical penalties for being pregnant.", }, { name: "Gaia", colour: "gold", has: playerNormalPregnancyTotal() gte 50, text: "You have given a birth to a veritable dynasty of children. No physical penalties for being pregnant.", }, { name: "Parasite Broodmother", colour: "lewd", has: $sexStats.anus.pregnancy.motherStatus is 2 or $sexStats.vagina.pregnancy.motherStatus is 2, text: "You've become host to an endless number of little critters<<if $sexStats.anus.pregnancy.motherStatus is 2 and $sexStats.vagina.pregnancy.motherStatus is 2>> <span class='lewd'>in multiple places in your body</span><</if>><span class='hidden'></span>.", }, { name: "Parasite Mother", colour: "lewd", has: ($sexStats.anus.pregnancy.motherStatus is 1 or $sexStats.vagina.pregnancy.motherStatus is 1) and !($sexStats.anus.pregnancy.motherStatus is 2 or $sexStats.vagina.pregnancy.motherStatus is 2), text: "You have given birth to little critters<<if $sexStats.anus.pregnancy.motherStatus is 1 and $sexStats.vagina.pregnancy.motherStatus is 1>> <span class='lewd'>in multiple places in your body</span><</if>><span class='hidden'></span>.", }, { name: "Lactating", colour: "blue", has: $lactating gte 1 and $breastfeedingdisable is "f", text: "Your breasts are ready to be milked.", }, { name: "Milk Factory", colour: "blue", has: $lactating gte 1 and $breastfeedingdisable is "f" and $milk_volume gte 1000, text: "Your breasts are able to hold a tremendous amount of milk.", }, { name: "Sperm Bank", colour: "blue", has: $semen_volume gte 1000 and $player.penisExist, text: "You carry a tremendous amount of semen.", }, { name: "Possessed", colour: "wraith", has: $possessed, text: "Your body is not your own.", }, { name: "Wolf <<girl>>", colour: "grey", has: $wolfgirl gte 6, text: "The spirit of the wild lives within you, making you more defiant over time. Your ears and tail make you more conspicuous.", }, { name: "Cat <<girl>>", colour: "grey", has: $cat gte 6, text: 'You have an urge to lap up cream. Unlocks the "groom" action while dancing with lewd fluid on your person. Your ears and tail make you more conspicuous.', }, { name: () => { if(V.player.gender_appearance is "m"){ if(V.player.sex is "f"){ return "Bull boy (female)"; } return "Bull boy"; }else{ if(V.player.sex is "m"){ return "Cow girl (male)"; } return "Cow girl"; } }, colour: "brat", has: $cow gte 6, text: "You yearn to be milked. Milk and semen volume is increased. Certain body parts might grow. Your horns, ears and tail make you more conspicuous.", }, { name: () => V.hallucinations gte 2 || V.bestialitydisable is "t" ? "Harpy" : "Bird <<girl>>", colour: "grey", has: $harpy gte 6, text: "The skies call.", }, { name: () => { if(V.player.gender_appearance is "m"){ if(V.player.sex is "f"){ return "Fox (female)"; } return "Fox"; }else{ if(V.player.sex is "m"){ return "Vixen (male)"; } return "Vixen"; } }, colour: "", style: `background: linear-gradient(to right,#fe9000 0%, #ffffff 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;`, has: $fox gte 6, text: "You have the urge to keep what's not yours. Improves skulduggery. Your ears and tail make you more alluring and attractive.", }, { name: "Fangs", colour: "def", has: $transformationParts.traits.fangs isnot "disabled", text: "Biting is three times as effective.", }, { name: "Sharp Eyes", colour: "def", has: $transformationParts.traits.sharpEyes isnot "disabled", text: "Little escapes your notice. +5% skulduggery.", }, { name: "Heterochromia", colour: "", style: `background: linear-gradient(to right,${setup.colours.eyes_map[$rightEyeColour].canvasfilter.blend} 0%, ${setup.colours.eyes_map[$leftEyeColour].canvasfilter.blend} 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;`, has: $heterochromia is 1, text: "Your eyes are two different colours.", }, { name: "Sturdy Horns", colour: "def", has: $cow gte 2 and $demon lt 2, text: "Headbutts no longer hurt you.", }, { name: "Mate For Life", colour: "", style: `background: linear-gradient(to right,#e646c6 0%, #ffffff 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;`, has: $transformationParts.traits.mateForLife isnot "disabled", text: "Gain bonuses when sleeping or copulating with your Love Interest. Changing Love Interests causes stress and trauma.", }, { name: "Fallen angel", colour: "black", has: $fallenangel gte 3, text: 'The world is so cruel. Though you feel less pure by the day, you will not relinquish yourself. Unlocks the "disparage" action.', }, { name: "Fallen angel", colour: "black", has: $fallenangel is 2, text: "The world is so cruel. You feel less pure by the day.", }, { name: "Angel", colour: "gold", has: $angel gte 6, text: 'You radiate purity. Unlocks the "forgive" action once per encounter, removing any trauma gained so far. Beware, losing your virginity will remove this trait and leave you broken.', }, { name: () => { if(V.player.gender_appearance is "m"){ if(V.player.sex is "f" and isCrossdressing()){ return "Incubus (female)"; } return "Incubus"; }else{ if(V.player.sex is "m" and isCrossdressing()){ return "Succubus (male)"; } return "Succubus"; } }, colour: "red", has: $demon gte 6, text: "You're devoid of purity. You lose trauma when something cums inside you, or you cum inside something else. Tentacles reduce stress and pain instead of trauma. Beware, ending a day with anything but minimum purity will be very stressful.", }, { name: "Radiant", colour: "gold", has: $angel gte 4, text: 'You are pure. Unlocks the "banish" action a number of times per day based on your angelicness, dealing heavy damage to a tentacle. Its strength is greatly increased while at maximum purity. Uses remaining today: ($angelBanish / $angelBanishMax)', }, { name: "Dark Horns", colour: "def", has: $cow lt 2 and $demon gte 2, text: "Headbutts deal twice as much damage.", }, { name: "Compound Horns", colour: "def", has: $cow gte 2 and $demon gte 2, text: "Your headbutts are vicious. Headbutts are four times as powerful, and no longer hurt you.", }, { name: "Strong Wings", colour: "gold", has: $harpy gte 6 and $birdFly gte 1, text: "Can glide from high locations. Can fly where the wind is willing.", }, { name: "Wings", colour: "grey", has: !($harpy gte 6 and $birdFly gte 1) and ($angel gte 6 or $fallenangel gte 2 or $demon gte 6 or $harpy gte 6), text: "Can glide from high locations.", }, { name: "Meek", colour: "meek", has: $submissive gte 1150 and $submissive lt 1500, text: 'Unlocks the "Moan" action.', }, { name: "Submissive", colour: "sub", has: $submissive gte 1500, text: 'Unlocks the "Moan" action.', }, { name: "Bratty", colour: "brat", has: $submissive lte 850 and $submissive gt 500, text: 'Unlocks the "Demand" action.', }, { name: "Defiant", colour: "def", has: $submissive lte 500, text: 'Unlocks the "Demand" action.', }, { name: "Innocent", colour: "blue", has: $innocencestate is 1, text: "You're flattered that so many people want to spend time with you. This trait will disappear should you run out of innocence, and any trauma you've accumulated will be applied. Being attacked and low control will reduce innocence.", }, { name: "Guilty Masochist", colour: "blue", has: $masochism_level is 1, text: "Provides a small resistance to most sources of pain. Those sources increase arousal instead.", }, { name: "Masochist", colour: "purple", has: $masochism_level is 2, text: "Provides resistance to most sources of pain. Those sources increase arousal instead.", }, { name: "Hardened Masochist", colour: "pink", has: $masochism_level is 3, text: "Provides strong resistance to most sources of pain. Those sources increase arousal instead.", }, { name: "Drooling Masochist", colour: "red", has: $masochism_level is 4, text: "Provides incredible resistance to most sources of pain. Those sources increase arousal instead.", }, { name: "Guilty Sadist", colour: "blue", has: $sadism_level is 1, text: "Your defiant acts inflict a little more pain. Inflicting pain increases arousal.", }, { name: "Sadist", colour: "purple", has: $sadism_level is 2, text: "Your defiant acts inflict more pain. Inflicting pain increases arousal.", }, { name: "Hardened Sadist", colour: "pink", has: $sadism_level is 3, text: "Your defiant acts inflict much more pain. Inflicting pain increases arousal.", }, { name: "Vengeful Sadist", colour: "red", has: $sadism_level is 4, text: "Your defiant acts are far more dangerous. Inflicting pain increases arousal.", }, { name: "Farmer", colour: "green", has: $farm_stage gte 6, text: "You know your way around a barn. Your physique is easier to maintain.", }, { name: "Knowledge: Islander language", colour: "", has: $islander_language gte 100, text: "You can understand and speak the tongue of the islanders.", }, { name: "Knowledge: Quicksand", colour: "", has: $quicksand gte 5, text: "You know how to react when stuck in the stuff.", }, { name: "Ancient Arts", colour: "wraith", has: $hc?.wraith, text: "You've learned techniques lost to the past. An extension of your body, your arm and whip move as one.", }, ], }, { title: "Medicinal Traits", traits: [ { name: "Hair Growth Formula", colour: "green", has: _pills and _pills["Hair Growth Formula"] and _pills["Hair Growth Formula"].doseTaken, text: () => { return `A hair growth formula has been applied, to encourage faster hair growth. ${_pills["Hair Growth Formula"].doseTaken} day${_pills["Hair Growth Formula"].doseTaken is 1 ? "" : "s"} remaining.`; } }, { name: "Anti-Parasite Cream", colour: "green", has: _pills and _pills["Anti-Parasite Cream"] and _pills["Anti-Parasite Cream"].doseTaken, text: () => { return `A parasite-repelling cream, preventing further internal parasite impregnation. ${_pills["Anti-Parasite Cream"].doseTaken} day${_pills["Anti-Parasite Cream"].doseTaken is 1 ? "" : "s"} remaining.`; } }, { name: "Fertility booster", colour: "lewd", has: _pills and _pills["fertility booster"] and _pills["fertility booster"].doseTaken, text: () => { let result = `You have ${_pills["fertility booster"].doseTaken gte 2 ? "overdosed on pills" : "taken a pill"} that `; let multiple = false; let hasEffect = false; if ((!playerIsPregnant() or !playerAwareTheyArePregnant()) and playerAwareTheyCanBePregnant()) { multiple = true; hasEffect = true; result += "makes it easier for you to get pregnant with more children"; } if ($player.penisExist and $player.penissize gte -1) { hasEffect = true; if (multiple) result += " and "; result += "makes your sperm more virile"; } if (!hasEffect) { result += "currently has no effect on you"; } result += `. ${_pills["fertility booster"].doseTaken} day${_pills["fertility booster"].doseTaken is 1 ? "" : "s"} remaining.`; return result; } }, { name: "Contraceptive", colour: "lblue", has: _pills and _pills["contraceptive"] and _pills["contraceptive"].doseTaken, text: () => { let result = `You have ${_pills["contraceptive"].doseTaken gte 2 ? "overdosed on pills" : "taken a pill"} that `; let multiple = false; let hasEffect = false; if (!playerAwareTheyCanBePregnant() or !playerAwareTheyArePregnant()) { multiple = true; hasEffect = true; result += "makes it harder for you to get pregnant"; } if ($player.penisExist and $player.penissize gte -1) { hasEffect = true; if (multiple) result += " and "; result += "makes your sperm less virile"; } if (!hasEffect) { result += "currently has no effect on you"; } result += `. ${_pills["contraceptive"].doseTaken} day${_pills["contraceptive"].doseTaken is 1 ? "" : "s"} remaining.`; return result; } }, { name: "Penis blocker pills", colour: "green", has: _pills and _pills["penis blocker"] and _pills["penis blocker"].doseTaken, text: () => { let result = `You have taken a pill that`; if ($player.penisExist) { result += " prevents the re-sizing of your penis."; } else { result += " has no effect on you."; } return result; } }, { name: "Penis growth pills", colour: "green", has: _pills and _pills["penis growth"] and _pills["penis growth"].doseTaken, text: () => { let result = `You have ${_pills["penis growth"].doseTaken gte 2 ? "overdosed on" : "taken"} pills that `; if ($player.penisExist) { result += " encourages the growth of your penis."; } else { result += " that has no effect on you."; } return result; } }, { name: "Penis reduction pills", colour: "green", has: _pills and _pills["penis reduction"] and _pills["penis reduction"].doseTaken, text: () => { let result = `You have ${_pills["penis reduction"].doseTaken gte 2 ? "overdosed on" : "taken"} pills that `; if ($player.penisExist) { result += " encourages the shrinking of your penis."; } else { result += " that has no effect on you."; } return result; } }, { name: "Breast blocker pills", colour: "green", has: _pills and _pills["breast blocker"] and _pills["breast blocker"].doseTaken, text: "You have taken a pill that prevents the re-sizing of your breasts.", }, { name: "Breast growth pills", colour: "green", has: _pills and _pills["breast growth"] and _pills["breast growth"].doseTaken, text: `You have ${_pills and _pills["breast growth"].doseTaken gte 2 ? "overdosed on" : "taken"} a pill that encourages the growth of your breasts.`, }, { name: "Breast reduction pills", colour: "green", has: _pills and _pills["breast reduction"] and _pills["breast reduction"].doseTaken, text: `You have ${_pills and _pills["breast reduction"].doseTaken gte 2 ? "overdosed on" : "taken"} a pill that encourages the shrinking of your breasts.`, }, { name: "Bottom blocker pills", colour: "green", has: _pills and _pills["bottom blocker"] and _pills["bottom blocker"].doseTaken, text: "You have taken a pill that prevents the re-sizing of your bottom.", }, { name: "Bottom growth pills", colour: "green", has: _pills and _pills["bottom growth"] and _pills["bottom growth"].doseTaken, text: `You have ${_pills and _pills["bottom growth"].doseTaken gte 2 ? "overdosed on" : "taken"} a pill that encourages the growth of your bottom.`, }, { name: "Bottom reduction pills", colour: "green", has: _pills and _pills["bottom reduction"] and _pills["bottom reduction"].doseTaken, text: `You have ${_pills and _pills["bottom reduction"].doseTaken gte 2 ? "overdosed on" : "taken"} a pill that encourages the shrinking of your bottom.`, }, ] }, { title: "Special Traits", traits: [ { name: () => V.submissive <= 850 ? "Hedonist" : "Orgasm Addict", colour: "lewd", has: $orgasmtrait gte 1, text: "So many orgasms has had a physiological effect. Cumming is more difficult but pleasurable orgasms relieve more stress and painful orgasms no longer increase stress.", }, { name: "Asphyxiophilia", colour: "lewd", has: $choketrait gte 1, text: "You've come to love the feeling of lack of oxygen. Getting choked makes sex more pleasurable.", }, { name: () => V.submissive <= 850 ? "Cumoisseur" : "Cum Dump", colour: "lewd", has: $ejactrait gte 1, text: "You've become accustomed to the scent of ejaculate and can take advantage of its calming effect. Your stress is reduced hourly depending on how much slime and semen covers you.", }, { name: () => V.submissive <= 850 ? "Graceful" : "Plaything", colour: "lewd", has: $molesttrait gte 1, text: "You've learned to better cope with psychological trauma. Being molested no longer removes your sense of control (rape still does).", }, { name: () => V.submissive <= 850 ? "Survivor" : "Fucktoy", colour: "lewd", has: $rapetrait gte 1, text: "You've been raped so much that you've learned how to cope. Trauma increases more slowly.", }, { name: () => V.submissive <= 850 ? "Tamer" : "Bitch", colour: "lewd", has: $bestialitytrait gte 1, text: "Animals have tried to <<if $pregnancyspeechdisable is 'f'>>breed<<else>>mate<</if>> with you so often that you're used to it. Trauma increases more slowly when attacked by animals.", }, { name: () => V.submissive <= 850 ? "Witch" : "Prey", colour: "lewd", has: $tentacletrait gte 1, text: "Many tentacles have had their way with your body. Trauma increases more slowly when attacked by tentacles.", }, { name: () => V.submissive <= 850 ? "Daredevil" : "Tasty", colour: "lewd", has: $voretrait gte 1, text: "You've found your way into the belly of many a creature. They'll have a harder time swallowing you as they savour your taste.", }, { name: () => V.submissive <= 850 ? "Milk Enthusiast" : "Milk Addict", colour: "lewd", has: $milkdranktrait gte 1, text: "You take full advantage of the nutrition in fresh breast milk. Drinking it invigorates your body, improving physique.", }, ], }, { title: "School Traits", traits: [ { name: "Passable Science", colour: "blue", has: $sciencetrait is 1, text: "Pain is slightly easier to cope with.", }, { name: "Decent Science", colour: "lblue", has: $sciencetrait is 2, text: "Pain is moderately easier to cope with.", }, { name: "Good Science", colour: "teal", has: $sciencetrait is 3, text: "Pain is easier to cope with.", }, { name: "Excellent Science", colour: "green", has: $sciencetrait is 4, text: "Pain is much easier to cope with.", }, { name: "Passable Maths", colour: "blue", has: $mathstrait is 1, text: "You make 25% more from tips and negotiated fees.", }, { name: "Decent Maths", colour: "lblue", has: $mathstrait is 2, text: "You make 50% more from tips and negotiated fees.", }, { name: "Good Maths", colour: "teal", has: $mathstrait is 3, text: "You make 75% more from tips and negotiated fees.", }, { name: "Excellent Maths", colour: "green", has: $mathstrait is 4, text: "You make 100% more from tips and negotiated fees.", }, { name: "Passable English", colour: "blue", has: $englishtrait is 1, text: "Speech actions (plead, moan, demand, apologise, mock, tease, ask to be more rough) are twice as effective.", }, { name: "Decent English", colour: "lblue", has: $englishtrait is 2, text: "Speech actions (plead, moan, demand, apologise, mock, tease, ask to be more rough) are three times as effective.", }, { name: "Good English", colour: "teal", has: $englishtrait is 3, text: "Speech actions (plead, moan, demand, apologise, mock, tease, ask to be more rough) are four times as effective.", }, { name: "Excellent English", colour: "green", has: $englishtrait is 4, text: "Speech actions (plead, moan, demand, apologise, mock, tease, ask to be more rough) are five times as effective.", }, { name: "Passable History", colour: "blue", has: $historytrait is 1, text: "You know there are secret paths around town.", }, { name: "Decent History", colour: "lblue", has: $historytrait is 2, text: "You know of a few secret paths around town.", }, { name: "Good History", colour: "teal", has: $historytrait is 3, text: "You know of several secret paths around town.", }, { name: "Excellent History", colour: "green", has: $historytrait is 4, text: "You know of many secret paths around town.", }, { name: "Okay at school", colour: "blue", has: $schooltrait is 1, text: "Your performance at school has improved your self-esteem, slightly increasing your daily trauma decay.", }, { name: "Decent at school", colour: "lblue", has: $schooltrait is 2, text: "Your performance at school has improved your self-esteem, moderately increasing your daily trauma decay.", }, { name: "Good at school", colour: "teal", has: $schooltrait is 3, text: "Your performance at school has improved your self-esteem, increasing your daily trauma decay.", }, { name: "Excellent at school", colour: "green", has: $schooltrait is 4, text: "Your performance at school has improved your self-esteem, greatly increasing your daily trauma decay.", }, { name: "Science Fair Winner", colour: "green", has: $scienceprojectwon is 1, text: "You have been publicly recognized for your detailed and informative science project.", }, { name: "Maths Competition Winner", colour: "green", has: $mathsprojectwon is 1, text: "You have been publicly recognized for your insightful solution to such a challenging mathematics problem.", }, { name: "Stage Play Performer", colour: "green", has: $englishPlayWell is 1, text: "Your star performance during the student stage play elevated the production to great heights and much acclaim.", }, ], }, { title: "Trauma Traits", traits: [ { name: () => V.controlled === 0 ? "Insomnia" : "Controlled Insomnia", colour: () => V.controlled === 0 ? "red" : "blue", has: $sleeptrouble gte 1, text: "Sleep less effective.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Nightmares" : "Controlled Nightmares", colour: () => V.controlled === 0 ? "red" : "blue", has: $nightmares gte 1, text: "Sleep is stressful.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Anxiety Disorder" : "Controlled Anxiety Disorder", colour: () => V.controlled === 0 ? "red" : "blue", has: $anxiety gte 1, text: "Stress won't automatically decrease over time.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Severe Anxiety Disorder" : "Controlled Severe Anxiety Disorder", colour: () => V.controlled === 0 ? "red" : "blue", has: $anxiety gte 2, text: "Stress increases over time.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Flashbacks" : "Controlled Flashbacks", colour: () => V.controlled === 0 ? "red" : "blue", has: $flashbacks gte 1, text: "May relive nasty experiences.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Panic Attacks" : "Controlled Panic Attacks", colour: () => V.controlled === 0 ? "red" : "blue", has: $panicattacks gte 1, text: "Chance of paralysis.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Severe Panic Attacks" : "Controlled Severe Panic Attacks", colour: () => V.controlled === 0 ? "red" : "blue", has: $panicattacks gte 2, text: "Chance of uncontrollable violent outbursts.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Hallucinations" : "Controlled Hallucinations", colour: () => V.controlled === 0 ? "red" : "blue", has: $hallucinations gte 1, text: "More dangers during encounters.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: () => V.controlled === 0 ? "Severe Hallucinations" : "Controlled Severe Hallucinations", colour: () => V.controlled === 0 ? "red" : "blue", has: $hallucinations gte 2, text: "More dangerous world.", textColour: () => V.controlled === 0 ? "red" : "black", }, { name: "Visibly Disturbed", colour: "red", has: $dissociation gte 1, text: "There's something wrong with you, and people can tell.", textColour: "red", }, { name: () => V.controlled === 0 ? "Dissociation" : "Controlled Dissociation", colour: () => V.controlled === 0 ? "red" : "blue", has: $dissociation gte 2, text: "Nothing feels real.", textColour: () => V.controlled === 0 ? "red" : "black", }, ], }, { title: "NPC Traits", traits: [ { name: "Robin's Protector", colour: "lblue", has: $robinpaid gte 1, text: "Robin is dependent on you. You need to be strong. Increases daily trauma decay.", }, { name: "Stockholm Syndrome: Eden", colour: "white", has: $syndromeeden gte 1, text: "It must be lonely living on your own in the woods.", textColour: "red", }, { name: "Stockholm Syndrome: Kylar", colour: "white", has: $syndromekylar gte 1 and (C.npc.Kylar.state isnot "prison" or $location is "prison"), text: "Everyone deserves a friend.", textColour: "red", }, { name: () => V.bestialitydisable === "f" ? "Stockholm Syndrome: Wolves" : "Stockholm Syndrome: Wolf People", colour: "white", has: $syndromewolves gte 1, text: () => V.bestialitydisable === "f" ? "They're just cute animals." : "They're just cute monsters.", textColour: "red", }, { name: "Stockholm Syndrome: Great Hawk", colour: "white", has: $syndromebird gte 1, text: () => V.greathawkmonster === 2 || V.bestialitydisable === "t" ? "<<nnpc_He 'Great Hawk'>> only wants a mate." : "It only wants a mate.", textColour: "red", }, ], }, { title: "Hypnosis Traits", traits: [ { name: "Hypnotic Suggestion", colour: "pink", has: $hypnosis gte 1, text: "Doctor Harper told you to do something, but you can't remember what.", }, { name: "Hypnotic Yearning", colour: "lblue", has: $hypnosis_traits.scream is 1, text: "May beg for rougher treatment instead of screaming.", }, { name: "Bewitched Yearning", colour: "blue", has: $hypnosis_traits.scream is 2, text: "Will sometimes beg for rougher treatment instead of screaming.", }, { name: "Beguiled Yearning", colour: "purple", has: $hypnosis_traits.scream is 3, text: "Will usually beg for rougher treatment instead of screaming.", }, { name: "Mesmeric Yearning", colour: "pink", has: $hypnosis_traits.scream is 4, text: "Will often beg for rougher treatment instead of screaming.", }, { name: "Sublime Yearning", colour: "red", has: $hypnosis_traits.scream is 5, text: "Will beg for rougher treatment instead of screaming.", }, { name: "Hypnotic Flaunting", colour: "lblue", has: $hypnosis_traits.cover is 1, text: "May flaunt your body parts instead of covering them.", }, { name: "Bewitched Flaunting", colour: "blue", has: $hypnosis_traits.cover is 2, text: "Will sometimes flaunt your body parts instead of covering them.", }, { name: "Beguiled Flaunting", colour: "purple", has: $hypnosis_traits.cover is 3, text: "Will usually flaunt your body parts instead of covering them.", }, { name: "Mesmeric Flaunting", colour: "pink", has: $hypnosis_traits.cover is 4, text: "Will often flaunt your body parts instead of covering them.", }, { name: "Sublime Flaunting", colour: "red", has: $hypnosis_traits.cover is 5, text: "Will flaunt your body parts instead of covering them.", }, { name: "Hypnotic Deviancy", colour: "lblue", has: $hypnosis_traits.deviancy is 1, text: "May provoke beasts at the start of encounters.", }, { name: "Bewitched Deviancy", colour: "blue", has: $hypnosis_traits.deviancy is 2, text: "Will sometimes provoke beasts at the start of encounters.", }, { name: "Beguiled Deviancy", colour: "purple", has: $hypnosis_traits.deviancy is 3, text: "Will usually provoke beasts at the start of encounters.", }, { name: "Mesmeric Deviancy", colour: "pink", has: $hypnosis_traits.deviancy is 4, text: "Will often provoke beasts at the start of encounters.", }, { name: "Sublime Deviancy", colour: "red", has: $hypnosis_traits.deviancy is 5, text: "Will provoke beasts at the start of encounters.", }, ], }, { title: "Acceptance Traits", traits: [ { name: () => { const penisSize = setup.penisSizes[$player.penissize + 2].toUpperFirst(); return `Acceptance: ${penisSize} Penis`; }, colour: "green", has: $acceptance_penis_small gte 1000 and $player.penissize lte 1, text: "You're proud of your small penis.", }, { name: "Acceptance: Tomgirl", colour: "green", has: $acceptance_tomgirl gte 100 and $acceptance_penis_small gte 1000 and $player.penissize lte 0, text: "You're proud of becoming a tomgirl.", }, { name: () => { const penisSize = setup.penisSizes[$player.penissize + 2].toUpperFirst(); return `Acceptance: ${penisSize} Penis`; }, colour: "green", has: $acceptance_penis_big gte 1000 and $player.penissize gte 4, text: "You're proud of your enormous penis.", }, { name: "Acceptance: Flat Chest", colour: "green", has: $acceptance_breasts_tiny gte 1000 and $player.breastsize lte 0 and $player.sex is "f", text: "You're proud of your flat chest.", }, { name: () => { const breastSize = setup.breastsizes[$player.breastsize].toUpperFirst(); return `Acceptance: ${$player.breastsize ? breastSize + " Breasts" : "Flat Chest"}`; }, colour: "green", has: $acceptance_breasts_small gte 1000 and between($player.breastsize, 0, 4), text: "You're proud of your small breasts.", }, { name: () => { const breastSize = setup.breastsizes[$player.breastsize].toUpperFirst(); return `Acceptance: ${breastSize} Breasts`; }, colour: "green", has: $acceptance_breasts_big gte 1000 and $player.breastsize gte 8, text: "You're proud of your huge breasts.", }, { name: () => playerAwareTheyArePregnant() ? "Acceptance: Pregnant Belly" : "Acceptance: Pregnant Looking Belly", colour: "green", has: $acceptance_pregnancy gte 1000 and playerBellySize() gte 8, text: () => playerAwareTheyArePregnant() ? "You're proud of your lifebearing belly." : "You're proud of your large belly.", }, ], }, ]>> <div id="traitListsSearch"> <<traitListsSearch>> </div> <br> <div id="traitLists"> <<traitLists>> </div> <</widget>> <<widget "traitListsSearch">> <<if $options.traitOverlayFormat is undefined>><<set $options.traitOverlayFormat to "table">><</if>> <<set _traitSearch to "">> <<foldout false "_traitFilterFoldout">> <span>Filter</span> <label>Search: <<textbox "_traitSearch" _traitSearch>></label> <br><br> <label> Display Format: <<listbox "$options.traitOverlayFormat" autoselect>> <<option "Table" "table">> <<option "Reduced Table" "reducedTable">> <<option "List" "list">> <</listbox>> </label> <br><br> <<link Update>> <<replace "#traitLists">><<traitLists>><</replace>> <</link>> | <<link Clear>> <<set _traitSearch to "">> <<replace "#traitListsSearch">><<traitListsSearch>><</replace>> <<replace "#traitLists">><<traitLists>><</replace>> <</link>> | <</foldout>> <</widget>> <<widget "traitLists">> <<set _traitSearch2 to _traitSearch.toLowerCase()>> <<for $_traitList range _traitLists>> <<if !$_traitList.traits.find(trait => trait.has && (T.traitSearch2 === "" || (typeof trait.name === "function" && trait.name().toLowerCase().includes(T.traitSearch2)) || (typeof trait.name !== "function" && trait.name.toLowerCase().includes(T.traitSearch2)) || (trait.text && typeof trait.text === "function" && trait.text().toLowerCase().includes(T.traitSearch2)) || (trait.text && typeof trait.text !== "function" && trait.text.toLowerCase().includes(T.traitSearch2))) )>> <<continue>> <</if>> <<if ["table","reducedTable"].includes($options.traitOverlayFormat)>> <div @class="$options.traitOverlayFormat is 'table' ? 'traitList' : 'traitListReducedText'"> <div class="traitHeading"> <<print $_traitList.title>> </div> <div class="traits"> <<for $_trait range $_traitList.traits.filter(trait => trait.has && (T.traitSearch2 === "" || (typeof trait.name === "function" && trait.name().toLowerCase().includes(T.traitSearch2)) || (typeof trait.name !== "function" && trait.name.toLowerCase().includes(T.traitSearch2)) || (trait.text && typeof trait.text === "function" && trait.text().toLowerCase().includes(T.traitSearch2)) || (trait.text && typeof trait.text !== "function" && trait.text.toLowerCase().includes(T.traitSearch2))) )>> <div class="trait"> <<set $_name to typeof $_trait.name is "function" ? $_trait.name() : $_trait.name>> <<set $_colour to typeof $_trait.colour is "function" ? $_trait.colour() : $_trait.colour>> <<set $_style to typeof $_trait.style is "function" ? $_trait.style() : $_trait.style>> <<set $_text to typeof $_trait.text is "function" ? $_trait.text() : $_trait.text>> <<set $_textColour to typeof $_trait.textColour is "function" ? $_trait.textColour() : $_trait.textColour>> <span @class="$_colour" @style="$_style"> <<print $_name>> </span> <<if !$_text>> <<elseif $options.traitOverlayFormat is "table">> - <small @class="$_textColour"><<print $_text>></small> <<else>> <mouse class="tooltip linkBlue">Info (?)<span @class="$_textColour"><<print $_text>></span></mouse> <</if>> </div> <</for>> </div> </div> <br> <</if>> <<if $options.traitOverlayFormat is "list">> <div> <h4> <<print $_traitList.title>> </h4> <<for $_trait range $_traitList.traits.filter(trait => trait.has && (T.traitSearch2 === "" || (typeof trait.name === "function" && trait.name().toLowerCase().includes(T.traitSearch2)) || (typeof trait.name !== "function" && trait.name.toLowerCase().includes(T.traitSearch2)) || (trait.text && typeof trait.text === "function" && trait.text().toLowerCase().includes(T.traitSearch2)) || (trait.text && typeof trait.text !== "function" && trait.text.toLowerCase().includes(T.traitSearch2))) )>> <div class="trait"> <<set $_name to typeof $_trait.name is "function" ? $_trait.name() : $_trait.name>> <<set $_colour to typeof $_trait.colour is "function" ? $_trait.colour() : $_trait.colour>> <<set $_style to typeof $_trait.style is "function" ? $_trait.style() : $_trait.style>> <<set $_text to typeof $_trait.text is "function" ? $_trait.text() : $_trait.text>> <<set $_textColour to typeof $_trait.textColour is "function" ? $_trait.textColour() : $_trait.textColour>> <span @class="$_colour" @style="$_style"> <<print $_name>> </span> <<if $_text>> - <span @class="$_textColour"><<print $_text>></span> <</if>> </div> <</for>> </div> <br> <</if>> <</for>> <</widget>><<widget "parasiteinit">> <<set $parasite to {}>> <<set $parasite.bodyparts to [ "nipples", "bottom", "breasts", "penis", "balls", "clit", "anus", "vagina", "labia", "left_thigh", "right_thigh", "left_foot", "right_foot", "left_arm", "right_arm", "left_hand", "right_hand", "tummy", "back", "face", "mouth", "left_ear", "right_ear", "hair"]>> <<set $parasite.types to [ "urchin", "slime", "maggot", "parasite",]>> <<for _part range $parasite.bodyparts>> <<set $parasite[_part] to {}>> /*<<set $parasite[_part].bodypart to _part.replace(/_/g, " ")>>*/ <</for>> <<for _type range $parasite.types>> <<set $parasite[_type] to []>> /*This seems a bit redundant but not having to iterate through every body part every time StoryCaption updates seems worth it*/ <</for>> <</widget>> <<widget "parasite">> /*First argument is the body part you want to attach a parasite to, second argument is the type of parasite*/ <<if _args[0] and _args[1]>> <<set _temp0 to _args[0]>> <<set _temp1 to _args[1]>> <<set $parasite[_temp0].name to _temp1>> <<set $parasitestat += 1>> <<if _temp0 is "clit" and _temp1 is "parasite" and $player.sex is "f" and ["mixed", "impregnation"].includes($earSlime.focus)>> <<set $player.penisExist to true>> <<if $penisuse is "none">> <<set $penisuse to 0>> <<set $penisstate to 0>> <</if>> <<set $player.ballsExist to true>> <<if $earSlime.focus is "impregnation">> <<set $player.size to Math.clamp(2, 0, Math.max(0, $penissizemax))>> <<set $semen_amount to 300>> <<set $semen_volume to 300>> <<else>> <<set $player.size to 0>> <<set $semen_amount to 90>> <<set $semen_volume to 90>> <</if>> <</if>> <<if _temp0 is "left_ear" or _temp0 is "right_ear" or _args[2] is "noSuck">> /*Keeps ears from 'sucking and massaging' in the StoryCaption*/ <<else>> <<set _temp0 to _temp0.replace(/_/g, " ")>>/*Replaces underscores with spaces to make sidebar description more presentable.*/ <<set $parasite[_temp1].push(_temp0)>> <</if>> <</if>> <</widget>> <<widget "removeparasite">> /*Argument is the body part you want to free from parasites*/ <<if _args[0]>> <<set _temp0 to _args[0]>> <<if _temp0 is "clit" and $parasite.clit.name is "parasite" and $player.sex is "f" and $player.penisExist>> <<bodyliquid penis "all" -5>> <<set $player.penisExist to false>> <<set $penisuse to "none">> <<set $penisstate to "none">> <<if $worn.genitals.name is "chastity parasite">> <<set $worn.genitals.type.push("broken")>> <<genitalsruined>> <<elseif playerChastity("penis") and !playerChastity("vagina") and !$player.penisExist and _args[0]>> With nothing to hold it in place, you <<print $worn.genitals.name>> falls to the ground. <<set $worn.genitals.type.push("broken")>> <<genitalsruined>> <</if>> <</if>> <<if _temp0 is "penis" and $parasite.penis.name is "parasite" and $worn.genitals.name is "chastity parasite">> <<set $worn.genitals.type.push("broken")>> <<genitalsruined>> <</if>> <<run delete $parasite[_temp0].name>> <<run delete $parasite[_temp0].origin>> <<set _temp0 to _temp0.replace(/_/g, " ")>>/*Removes underscores from argument to match with the change made in the <<parasite>> widget.*/ <<for _type range $parasite.types>> <<set $parasite[_type].delete(_temp0)>> <</for>> <<if $parasite.left_ear.name isnot "slime" and $parasite.right_ear.name isnot "slime" and $earSlime and ($earSlime.days or $earSlime.corruption or $earSlime.growth)>> <<resetEarSlime true>> <</if>> <</if>> <</widget>> <<widget "resetEarSlime">> <<set $earSlime to { days: 0, corruption: 0, growth: 0, focus: "none", event: "", eventTimer: 0, eventLength: 0, defyCooldown: 0, dreamRejected: 0, vibration: 0, lastVibration: 0, alwaysSleepNaked: false, noSleep: false, promiscuity: 0, deviancy: 0, exhibitionism: 0, }>> <<if $daily and $daily.corruptionSlimeClothes>> <<run delete $daily.corruptionSlimeClothes>> <</if>> <<if $parasite.breasts and $parasite.breasts.name is "parasite">> <<removeparasite "breasts">> <</if>> <<if $parasite.penis.name is "parasite" or ($parasite.clit.name is "parasite" and $player.sex is "f")>> <<removeparasite "penis">> <</if>> <<if $parasite.clit.name is "parasite">> <<removeparasite "clit">> <</if>> <<if $earSlimeDaysStat is undefined>> <<set $earSlimeDaysStat to 0>> <<set $earSlimePassiveDaysStat to 0>> <</if>> <</widget>> <<widget "earSlimeSeenActions">> <<if numberOfEarSlime() and ["promiscuity", "deviancy", "exhibitionism"].includes(_args[0]) and !$desperateaction>> <<if _args[1] gt $earSlime[_args[0]] and $earSlime.corruption gte random(0, 50 * _args[1] * (_args[2] or 1)) and V[_args[0]] gte [0,0,15,35,55,75,95][_args[1]]>> <<set $earSlime[_args[0]] to _args[1]>> <br><br> <span class="red">The slime in your ear takes notice of your lewd action.</span> <</if>> <</if>> <</widget>>/*For saving generic NPC data so they can be loaded later*/ <<widget "saveNPC">> /*First argument is the NPClist index of the NPC to be saved. Second argument is the string you want to save it under.*/ <<if _args[0] gte 0 and _args[1]>> <<set $_name to _args[1]>> <<set $_slot to _args[0]>> <<if EventSystem.isSlotTaken($_slot)>> <<set $per_npc[$_name] to clone($NPCList[$_slot])>> /*ToDo: Pregnancy, Condoms not yet compatible with NPC saving and loading */ <<set $per_npc[$_name].condom to false>> <<run delete $per_npc[$_name].condomAsk>> <<run delete $per_npc[$_name].condomCanGive>> /*Clears name from name pool */ <<if $NPCList[$_slot].pronoun is "f">> <<set $NPC_names_f.delete($NPCList[$_slot].name)>> <<else>> <<set $NPC_names_m.delete($NPCList[$_slot].name)>> <</if>> <<else>> <<run Errors.report(`saveNPC called with invalid or empty NPCList slot (${$_slot})`, { Stacktrace : Utils.GetStack(), Name : $_name, Slot : $_slot, })>> <</if>> <</if>> <</widget>> <<widget "loadNPC">> <!-- Checks if endevent was properly used after the last event --> <<checkEventNPC _args[0]>> /*First argument is the NPClist you want the NPC to fill. Second argument is the string you want to load, as saved with saveNPC.*/ <<if _args[0] gte 0 and _args[1]>> <<set $_name to _args[1]>> <<set $_slot to _args[0]>> <<if $per_npc[$_name] neq null>> <<set $NPCList[$_slot] to clone($per_npc[$_name])>> <<if $enemyno lt 6>><<set $enemyno += 1>><</if>><<set $enemynomax to $enemyno>> <<set $monster to ($NPCList[$_slot].monster is "monster" ? 1 : 0)>> <<run EventSystem.push($passage, $_slot, $timeStamp)>> <<else>> <<run Errors.report(`loadNPC called with an undefined NPC name (${$_name})`, { Stacktrace : Utils.GetStack(), Name : $_name, Slot : $_slot, })>> <<set $_genslot to $_slot + 1>> <<set $_parts to $_name.split("_")>> <<if $_name is "black_dog">> <<generateBEAST $_genslot dog>> <<set $enemytype to "beast">> <<set $monster to ($NPCList[$_slot].monster is "monster" ? 1 : 0)>> <<elseif ["guard", "inmate"].includes($_parts[1])>> <!-- _guard or _inmate --> <<generateRole $_slot $_parts[0] $_parts[1]>> <!-- uses 0-5 not 1-6 --> <<else>> <<generateNPC $_genslot>> <</if>> <<saveNPC $_slot $_name>> <</if>> <<set $NPCList[$_slot].per to $_name>> <</if>> <</widget>> <<widget "updateNPC">> /* updates NPC data, like virginity, that would normally be wiped by endevent */ <<set $per_npc[_args[0].per].virginity to _args[0].virginity>> <</widget>> <<widget "clearNPC">> /*Clears persistent NPC data for a single NPC. Argument is the string the NPC was saved under.*/ <<if _args[0]>> <<set $_name to _args[0]>> /*Adds name back into name pool */ <<if $per_npc[$_name] and $per_npc[$_name].name>> <<if $per_npc[$_name].pronoun is "f">> <<set $NPC_names_f.pushUnique($per_npc[$_name].name)>> <<else>> <<set $NPC_names_m.pushUnique($per_npc[$_name].name)>> <</if>> <</if>> <<run delete $per_npc[$_name]>> <</if>> <</widget>> <<widget "storeNPC">> /*First argument is the NPClist index of the NPC to be saved. Second argument is the string you want to save it under.*/ <<if _args[0] gte 0 and _args[1]>> <<set $_name to _args[1]>> <<set $_nameInt to 0>> <<for $_key range Object.keys($storedNPCs).filter(key => key.includes($_name))>> <<if $_key is ($_name + "_" + $_nameInt)>> <<set $_nameInt++>> <<else>> <<break>> <</if>> <</for>> <<set $_name to $_name + "_" + $_nameInt>> <<set $_slot to _args[0]>> <<if EventSystem.isSlotTaken($_slot)>> <<set $storedNPCs[$_name] to { npc: { adult: $NPCList[$_slot].adult, breastsize: $NPCList[$_slot].breastsize, breastdesc: $NPCList[$_slot].breastdesc, breastsdesc: $NPCList[$_slot].breastsdesc, description: $NPCList[$_slot].description, fullDescription: $NPCList[$_slot].fullDescription, gender: $NPCList[$_slot].gender, insecurity: $NPCList[$_slot].insecurity, name: $NPCList[$_slot].name, monster: $NPCList[$_slot].monster, penis: $NPCList[$_slot].penis, penisdesc: $NPCList[$_slot].penisdesc, penissize: $NPCList[$_slot].penissize, pregnancy: $NPCList[$_slot].pregnancy, pregnancyAvoidance: $NPCList[$_slot].pregnancyAvoidance, pronoun: $NPCList[$_slot].pronoun, skincolour: $NPCList[$_slot].skincolour, teen: $NPCList[$_slot].teen, type: $NPCList[$_slot].type, vagina: $NPCList[$_slot].vagina, }, }>> <<set _lastStoredName to $_name>> <<else>> <<run Errors.report(`saveNPCPreg called with invalid or empty NPCList slot (${$_slot})`, { Stacktrace : Utils.GetStack(), Name : $_name, Slot : $_slot, })>> <</if>> <</if>> <</widget>> <<widget "updatePersistentNPCs">> <<if $passage isnot "start" and $per_npc and Object.keys($per_npc).length gt 0>> <<for $_i, $_value range $per_npc>> <!-- Set Pronoun --> <<if $per_npc[$_i].pronoun is "none" or _args[0] is "genders">> <<if maleChance() lt random(1, 100)>> <<set $per_npc[$_i].pronoun to "f">> <<else>> <<set $per_npc[$_i].pronoun to "m">> <</if>> <</if>> <!-- Set Gender --> <<if $per_npc[$_i].gender is "none" or _args[0] is "genders">> <<if $per_npc[$_i].pronoun is "m">> <<if random(0, 99) gte $cbchance>> <<set $per_npc[$_i].gender to "m">> <<else>> <<set $per_npc[$_i].gender to "f">> <</if>> <<elseif $per_npc[$_i].pronoun is "f">> <<if random(0, 99) gte $dgchance>> <<set $per_npc[$_i].gender to "f">> <<else>> <<set $per_npc[$_i].gender to "m">> <</if>> <</if>> <</if>> <!-- Set Genital Existence --> <<if $per_npc[$_i].type isnot "human">> <<set $per_npc[$_i].penis to ($per_npc[$_i].gender !== "f" ? 0 : "none")>> <<set $per_npc[$_i].vagina to ($per_npc[$_i].gender !== "m" ? 0 : "none")>> <<else>> <<set $per_npc[$_i].penis to ($per_npc[$_i].gender !== "f" ? "clothed" : "none")>> <<set $per_npc[$_i].vagina to ($per_npc[$_i].gender !== "m" ? "clothed" : "none")>> <</if>> <!-- Set breast defaults--> <<set _b_mod_lower to Math.clamp($breast_mod, 0, 12)>> <<set _b_mod_upper to Math.clamp($breast_mod + 12, 0, 12)>> <!-- can't use breastsize, since that would either break the numberslider or make one of the sizes always be randomised, but can use breastdesc not being changed from 0 as a substitute --> <<if $per_npc[$_i].breastdesc is 0 or _args[0] is "breasts">> <<if $per_npc[$_i].pronoun is "m">> <<set $per_npc[$_i].breastsize to 0>> <<else>> <<set $per_npc[$_i].breastsize to random(_b_mod_lower, _b_mod_upper)>> <</if>> <</if>> <<if $per_npc[$_i].breastsize gt 0>> <<set _brdes to ["nipple","budding","tiny","small","pert","modest","full","large","ample","massive","huge","gigantic","enormous"]>> <<set $per_npc[$_i].breastdesc to _brdes[$per_npc[$_i].breastsize]+" breast">> <<else>> <<set $per_npc[$_i].breastdesc to "nipple">> <</if>> <<set $per_npc[$_i].breastsdesc to $per_npc[$_i].breastdesc + "s">> <!-- Set pp to defaults--> /* New way to set upper and lower bounds. * This method makes use of all other slider positions, but does nothing when slider is between -1 and 1, * for a total of 15 unique positions vs the current method's 9. (max would be 17) * Changing the penis_mod slider to range from -7 to 7 would work to make every slider position unique here, but potentially affects unnamed npc generation. */ /* <<set _p_mod_upper to 8>><<set _p_mod_lower to 1>> <<if $penis_mod gt 0>> <<set _p_mod_lower += $penis_mod - 1>> <<elseif $penis_mod lt 0>> <<set _p_mod_upper += $penis_mod + 1>> <</if>> alternative way to write that: <<set _p_mod_lower to ($penis_mod > 0 ? $penis_mod : 1)>> <<set _p_mod_upper to ($penis_mod < 0 ? 9 + $penis_mod : 8)>> */ <<if $penis_mod is 8>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 8>> <<elseif $penis_mod gte 6>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 7>> <<elseif $penis_mod gte 4>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 5>> <<elseif $penis_mod gte 2>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 3>> <<elseif $penis_mod gte 0>> <<set _p_mod_upper to 8>><<set _p_mod_lower to 1>> <<elseif $penis_mod gte -2>> <<set _p_mod_upper to 7>><<set _p_mod_lower to 1>> <<elseif $penis_mod gte -4>> <<set _p_mod_upper to 5>><<set _p_mod_lower to 1>> <<elseif $penis_mod gte -6>> <<set _p_mod_upper to 3>><<set _p_mod_lower to 1>> <<else>> <<set _p_mod_upper to 1>><<set _p_mod_lower to 1>> <</if>> <<if $per_npc[$_i].penissize is 0 or _args[0] is "penis">> <<if $per_npc[$_i].gender is "f">> <<set $per_npc[$_i].penissize to 0>> <<set $per_npc[$_i].penisdesc to "none">> <<else>> <<switch random(_p_mod_lower, _p_mod_upper)>> <<case 8>> <<set $per_npc[$_i].penisdesc to either("massive cock","huge cock","humongous cock","immense cock","gigantic cock","enormous cock")>> <<set $per_npc[$_i].penissize to 4>> <<case 5 6 7>> <<set $per_npc[$_i].penisdesc to either("thick cock","hefty cock","big cock","large cock","veiny cock","meaty cock")>> <<set $per_npc[$_i].penissize to 3>> <<case 2 3 4>> <<set $per_npc[$_i].penisdesc to "penis">> <<set $per_npc[$_i].penissize to 2>> <<default>> <<set $per_npc[$_i].penisdesc to either("tiny penis","pathetic cock","little penis","small penis","mini penis","micro penis")>> <<set $per_npc[$_i].penissize to 1>> <</switch>> <</if>> <</if>> <!-- Set pp to size in case PC selected it--> <<if $per_npc[$_i].penissize isnot 0>> <<switch $per_npc[$_i].penissize>> <<case 4>> <<set $per_npc[$_i].penisdesc to either("massive cock","huge cock","humongous cock","immense cock","gigantic cock","enormous cock")>> <<case 3>> <<set $per_npc[$_i].penisdesc to either("thick cock","hefty cock","big cock","large cock","veiny cock","meaty cock")>> <<case 1>> <<set $per_npc[$_i].penisdesc to either("tiny penis","pathetic cock","little penis","small penis","mini penis","micro penis")>> <<default>> <<set $per_npc[$_i].penisdesc to "penis">> <</switch>> <</if>> <<generatePronouns $per_npc[$_i]>> <</for>> <</if>> <</widget>> <<widget "updateNPCsFirst">> /*Adds new variables to saved NPCs.*/ <<for $_per_keys range Object.keys($per_npc)>> <<set $per_npc[$_per_keys][_args[0]] to _args[1]>> <</for>> <</widget>> <<widget "updateNPCsSecond">> <<for $_per_keys range Object.keys($per_npc)>> <<set $per_npc[$_per_keys][_args[0]][_args[1]] to _args[2]>> <</for>> <</widget>><<widget "physicalAdjustmentsInit">> <<if $sexStats is undefined>> <<set $sexStats to { "breasts": { "playedWith": 0 }, "creampie": { "self": { "anus":0, "mouth":0, "vagina":0 }, "npc":{ "anus":0, "mouth":0, "vagina":0 /* , "tentacle":0 */ } }, "pills":{ "pills":{ 'bottom reduction':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'bottom growth':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'bottom blocker':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'breast reduction':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'breast growth':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'breast blocker':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'penis reduction':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'penis growth':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'penis blocker':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'fertility booster':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'contraceptive':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'asylum\'s prescription':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'Dr Harper\'s prescription':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}, 'Anti-Parasite Cream': { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 }, }, "boughtOnce": false, "lastTaken":{"bottom":'', "breast":'', "penis":'', "pregnancy":''}, "mostTaken":{"bottom":'', "breast":'', "penis":'', "pregnancy":''} } }>> <</if>> <<if $sexStats.pills.pills && $sexStats.pills.pills["Anti-Parasite Cream"] is undefined>> <<set $sexStats.pills.pills["Anti-Parasite Cream"] to { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 }>> <</if>> <<if $sexStats.pills.pills && $sexStats.pills.pills["Hair Growth Formula"] is undefined>> <<set $sexStats.pills.pills["Hair Growth Formula"] to { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 }>> <</if>> <<if $sexStats.anus is undefined>> <<set $sexStats.anus to { "pregnancy": { /*//0: null,old variables, kept for debugging //1: null, //2: null, //3: null, //"count": 0, //"maxCount": 1, //"fertile": false, //"fertilised": false, //"lowestDaysLeft": null, //"lowestTimeLeft": null, //"givenBirth": 0, //seenDoctor: 0, replaced with $pregnancyStats.parasiteDoctorEvents //namesChildren: false, replaced with $pregnancyStats.namesParasitesChild*/ fetus: [], givenBirth: 0, parasiteBirthEvents: 0, motherStatus: 0, type: null, awareOf: null, timer: null, timerEnd: null, type: null, potentialFathers: [], totalBirthEvents: 0, }, "sperm":[], }>> <</if>> <<if $sexStats.anus.pregnancy.fetus is undefined>> <<set $sexStats.anus.pregnancy.fetus to []>> <<for $_i to 0; $_i lt 4; $_i++>> <<if $sexStats.anus.pregnancy[$_i] isnot null>> <<run $sexStats.anus.pregnancy.fetus.push(clone($sexStats.anus.pregnancy[$_i]))>> <<if $sexStats.anus.pregnancy.fetus.last().stats.gender is "Futa">> <<set $sexStats.anus.pregnancy.fetus.last().stats.gender to "Hermaphrodite">> <</if>> <<set $sexStats.anus.pregnancy.type to "parasite">> <</if>> <<run delete $sexStats.anus.pregnancy[$_i]>> <</for>> <<if !$sexStats.anus.pregnancy.parasiteBirthEvents>> <<set $sexStats.anus.pregnancy.parasiteBirthEvents to clone($sexStats.anus.pregnancy.givenBirth)>> <<set $sexStats.anus.pregnancy.parasiteFeltMovement to clone($sexStats.anus.pregnancy.feltMovement)>> <<set $sexStats.anus.pregnancy.givenBirth to 0>> <</if>> <<pregnancyVar>><!--In case its not been ran before --> <<if $sexStats.anus.pregnancy.seenDoctor>> <<set $pregnancyStats.parasiteDoctorEvents to clone($sexStats.anus.pregnancy.seenDoctor)>> <</if>> <<if $sexStats.anus.pregnancy.book>> <<set $pregnancyStats.parasiteBook to clone($sexStats.anus.pregnancy.book)>> <</if>> <<if $sexStats.anus.pregnancy.typesSeen>> <<set $pregnancyStats.parasiteTypesSeen to clone($sexStats.anus.pregnancy.typesSeen)>> <</if>> <<if $sexStats.anus.pregnancy.variantsSeen>> <<set $pregnancyStats.parasiteVariantsSeen to clone($sexStats.anus.pregnancy.variantsSeen)>> <</if>> /*Vagina Parity Variables*/ <<set $sexStats.anus.pregnancy.awareOf to null>> <<set $sexStats.anus.pregnancy.timer to null>> <<set $sexStats.anus.pregnancy.timerEnd to null>> <<set $sexStats.anus.pregnancy.timerEnd to null>> <<set $sexStats.anus.pregnancy.waterBreaking to false>> <<set $sexStats.anus.pregnancy.potentialFathers to []>> <<set $sexStats.anus.pregnancy.totalBirthEvents to 0>> <<set $sexStats.anus.sperm to []>> <<run delete $sexStats.anus.pregnancy.maxCount>> <<run delete $sexStats.anus.pregnancy.count>> <<run delete $sexStats.anus.pregnancy.lowestDaysLeft>> <<run delete $sexStats.anus.pregnancy.lowestTimeLeft>> <<run delete $sexStats.anus.pregnancy.feltMovement>> <<run delete $sexStats.anus.pregnancy.fertile>> <<run delete $sexStats.anus.pregnancy.fertilised>> <<run delete $sexStats.anus.pregnancy.namesChildren>> <<run delete $sexStats.anus.pregnancy.seenDoctor>> <<run delete $sexStats.anus.pregnancy.book>> <<run delete $sexStats.anus.pregnancy.typesSeen>> <<run delete $sexStats.anus.pregnancy.variantsSeen>> <<run delete $sexStats.anus.pregnancy.autoRepairDone>> <</if>> <<if $sexStats.anus.pregnancy.type is undefined>> <<if $sexStats.anus.pregnancy.fetus.length is 0>> <<set $sexStats.anus.pregnancy.type to null>> <</if>> <</if>> <<if $sexStats.anus.pregnancy.totalBirthEvents is undefined>> <<set $sexStats.anus.pregnancy.totalBirthEvents to 0>> <</if>> <<if $sexStats.anus.pregnancy.potentialFathers is undefined>> <<set $sexStats.anus.pregnancy.potentialFathers to []>> <</if>> <<if !Array.isArray($sexStats.anus.sperm)>> <<set $sexStats.anus.sperm to []>> <<if Array.isArray($sexStats.anus.pregnancy.potentialFathers) and $sexStats.anus.pregnancy.potentialFathers.length>> <<for $_i to 0; $_i lt $sexStats.anus.pregnancy.potentialFathers.length; $_i++>> <<set $sexStats.anus.pregnancy.potentialFathers[$_i] to { type: $sexStats.anus.pregnancy.potentialFathers[$_i][0], source: $sexStats.anus.pregnancy.potentialFathers[$_i][1], }>> <</for>> <</if>> <</if>> <<if $sexStats.vagina is undefined>> <<set _baseDays to random(24,38)>> <<if _baseDays lt 26>> <<set _baseDaysRng to random(0,4)>> <<elseif _baseDays gte 30>> <<set _baseDaysRng to random(-4,0)>> <<else>> <<set _baseDaysRng to random(-2,2)>> <</if>> /*To change after every cycle*/ <<set _currentDaysMax to _baseDays + random(0, _baseDaysRng)>> /* - pregnancy has multiple slots, but pregnancy should only occur when none are taken - "baseDays", "baseDaysRng", "lastDaysMax", "currentDaysMax" values should not be changed by multipliers, but by percent if you want a faster/slower cycle during calculations only, do not modifier the values themselves - Sperm Template - "sperm":{ "Robin":{"type":"npc", "count":[[daysTillRemoval,cummed inside],[4,3],[3,2]]}, "Avery":{"type":"npc", "count":[[daysTillRemoval,cummed inside],[5,1]]}, "slender man":{"type":"npc", "count":[[daysTillRemoval,cummed inside],[5,1]]}, "Beast":{"type":"dog", "count":[[daysTillRemoval,cummed inside],[5,1]]}, } - Sperm data should be deleted after 3-5 days worth of the base, the entire named object after it is cleared. - "CurrentDay" should never be above "lastDaysMax" or "currentDaysMax", "lastDaysMax" should be set to "currentDaysMax" on releasing the egg - "recoveryTime" and "recoveryTimeStart" are to track how long the player needs to recover before they can get pregnant again. "recoveryTime" is reduced faster by taking fertility pills and when "totalBirthEvents" is more than 2. - "recoveryStage" ranges from 0 to 4, to help with any story text regarding how the player is feeling after giving birth - "periodEnabled" is only to prevent the first period based events after recovering from giving birth */ <<set $sexStats.vagina to { "pregnancy": { "fetus": [], "givenBirth": 0, "parasiteBirthEvents": 0, "totalBirthEvents": 0, "motherStatus": 0, "waterBreaking": false, "type": null, "timer": null, "timerEnd": null, "awareOf": null, "potentialFathers": [], }, "menstruation":{ "baseDays": _baseDays, "baseDaysRng": _baseDaysRng, "currentDay": random(0, _baseDays + random(0,_baseDaysRng)), "lastDaysMax": _currentDaysMax, "currentDaysMax": _currentDaysMax, "currentState": "normal", "recoveryTime": null, "recoveryTimeStart": null, "recoveryStage": null, "periodEnabled": true, "running": false, "stages": [0, 0, 0, 0], }, "sperm":[] }>> <<set _menstruation to $sexStats.vagina.menstruation>> <<set _stage2 to Math.round(_menstruation.currentDaysMax * 0.17)>> <<if _stage2 gte 4>> <<set _stage2-->> <</if>> <<set _stage3 to Math.round(_menstruation.currentDaysMax * 0.5)>> <<if _stage3 lt 13>> <<set _stage3++>> <<elseif _stage3 gte 18>> <<set _stage3-->> <</if>> <<set _menstruation.stages to [0, _stage2, _stage3, _stage3 + random(1,2) * 0.5]>> <<if $player.vaginaExist>> <<set $sexStats.vagina.menstruation.running = true>> <</if>> <</if>> <<if $sexStats.vagina.pregnancy.fetus is undefined>> <<set $sexStats.vagina.pregnancy.fetus = []>> <<run delete $sexStats.vagina.pregnancy.currentCount>> <<run delete $sexStats.vagina.pregnancy[0]>> <<run delete $sexStats.vagina.pregnancy[1]>> <<run delete $sexStats.vagina.pregnancy[2]>> <<run delete $sexStats.vagina.pregnancy[3]>> <<run delete $sexStats.vagina.pregnancy[4]>> <<run delete $sexStats.vagina.pregnancy[5]>> <<run delete $sexStats.vagina.pregnancy[6]>> <<run delete $sexStats.vagina.pregnancy[7]>> <</if>> <<if $sexStats.vagina.pregnancy.parasiteBirthEvents is undefined>> <<set $sexStats.vagina.pregnancy.parasiteBirthEvents to 0>> <<set $sexStats.vagina.pregnancy.parasiteFeltMovement to false>> <<set $sexStats.vagina.pregnancy.timerEnd to null>> <<run delete $sexStats.vagina.pregnancy.beastMotherStatus>> <<run delete $sexStats.vagina.pregnancy.ultrasoundDone>> <<run delete $sexStats.vagina.pregnancy.morningSicknessWaking>> <<run delete $sexStats.vagina.pregnancy.morningSicknessGeneral>> <<run delete $sexStats.vagina.pregnancy.bellySize>> <<run delete $sexStats.vagina.pregnancy.timerStart>> <</if>> <<if $sexStats.vagina.menstruation.nonCycleRng is undefined>> <<set $sexStats.vagina.menstruation.nonCycleRng to [random(0,6),random(0,6),random(0,6)]>> <</if>> <<if !Array.isArray($sexStats.vagina.sperm)>> <<set $sexStats.vagina.sperm to []>> <<if Array.isArray($sexStats.vagina.pregnancy.potentialFathers) and $sexStats.vagina.pregnancy.potentialFathers.length>> <<for $_i to 0; $_i lt $sexStats.vagina.pregnancy.potentialFathers.length; $_i++>> <<set $sexStats.vagina.pregnancy.potentialFathers[$_i] to { type: $sexStats.vagina.pregnancy.potentialFathers[$_i][0], source: $sexStats.vagina.pregnancy.potentialFathers[$_i][1], }>> <</for>> <</if>> <</if>> <<menstruationCycleState>> <<if $parentList is undefined>> <<set $parentList to parentFunction.parentList>> <</if>> <<if !$objectVersion.pregnancyFix>> <<run $sexStats.vagina.sperm.forEach(s => {if(s.source.toLowerCase().includes("wolf") && s.type === "human") s.type = "wolf"})>> <<run $sexStats.vagina.pregnancy.potentialFathers.forEach(s => {if(s.source.toLowerCase().includes("wolf") && s.type === "human") s.type = "wolf"})>> <<run $sexStats.anus.sperm.forEach(s => {if(s.source.toLowerCase().includes("wolf") && s.type === "human") s.type = "wolf"})>> <<run $sexStats.anus.pregnancy.potentialFathers.forEach(s => {if(s.source.toLowerCase().includes("wolf") && s.type === "human") s.type = "wolf"})>> <<if $sexStats.vagina.pregnancy.type is "human" and $sexStats.vagina.pregnancy.fetus[0]?.father.toLowerCase().includes("wolf")>> <<set $sexStats.vagina.pregnancy.type to "wolf">> <<run $sexStats.vagina.pregnancy.fetus.forEach(child => { child.type = "wolf"; const furColour = ["gray", "brown", "tan", "white"]; if (child.father === "Black Wolf") { furColour.concat(["black", "black", "black"]); } child.features.hairColour = furColour[random(0, furColour.length - 1)]; child.features.monster = 0; delete child.features.skinColor; delete child.features.beastTransform; delete child.features.divineTransform; delete child.features.clothes; })>> <</if>> <<set $objectVersion.pregnancyFix to 1>> <</if>> <</widget>><<widget "physicalAdjustments">> /*Breasts*/ <<switch $sexStats.pills.mostTaken["breast"]>> <<case "growth">> <<set _breastMulti to 1 + (2.25 * $sexStats.pills["pills"]["breast growth"].doseTaken)>> <<case "reduction">> <<set _breastMulti to -1 + (-2.25 * $sexStats.pills["pills"]["breast reduction"].doseTaken)>> <<case "blocker">> <<set _breastMulti to 0>> <<default>> <<set _breastMulti to 1>> <</switch>> <<if _breastMulti isnot 0>> <<switch $player.sex>> <<case "m">> <<set _breastMulti -= 1>> <<case "f" "h">> <<set _breastMulti += (Math.clamp($sexStats.creampie.self.vagina * 2, 0, 50) / 100)>> <</switch>> <<if $earSlime.focus is "pregnancy" and $earSlime.growth gte 75>> <<set _breastMulti += 3>> <<elseif $earSlime.focus is "impregnation" and $earSlime.growth gte 75>> <<set _breastMulti -= 3>> <</if>> <<set _breastMulti += (Math.clamp($sexStats.breasts.playedWith, 0, 500) / 250)>> <<set _breastMulti += Math.clamp($sexStats.anus.pregnancy.fetus.length / 10,0,0.5)>> <<set _breastMulti += Math.clamp($sexStats.vagina.pregnancy.fetus.length / 10,0,0.5)>> <<if $purity gte 990>> <<set _breastMulti -= 1>> <</if>> <<if $cow gte 1>> <<set _breastMulti += 1>> <</if>> <<set _purityBoost to (_breastMulti lt 0 ? 1 + ($purity / 1000) : 1 + ((1000 - $purity) / 1000))>> <<set $breastgrowthtimer -= _breastMulti * 25 * _purityBoost>> <<if $parasite.nipples.name is "urchin">> <<set $breastgrowthtimer -= 300>> <</if>> <<if $parasite.nipples.name is "slime">> <<set $breastgrowthtimer += 300>> <</if>> <<if $breastgrowthtimer lte 0 and $player.breastsize lt $breastsizemax>> <<set $player.breastsize += 1>> <<set $breastgrowthtimer += 700>> <<set $breastgrowthmessage to $player.breastsize>><<set $effectsmessage to 1>> <<elseif $breastgrowthtimer gte 1000 and $player.breastsize gt $breastsizemin>> <<set $player.breastsize -= 1>> <<set $breastgrowthtimer -= 700>> <<set $breastshrinkmessage to $player.breastsize>><<set $effectsmessage to 1>> <</if>> <<set $breastgrowthtimer to Math.clamp($breastgrowthtimer, 0, 1000)>> <</if>> <<set $player.breastsize to Math.clamp($player.breastsize, 0, 12)>> /*Penis*/ <<if $sexStats.pills["pills"]["penis growth"].overdose gt 0>> <<set $sexStats.pills["pills"]["penis growth"].overdose to Math.clamp($sexStats.pills["pills"]["penis growth"].overdose - 1, 0, 100)>> <</if>> <<if $sexStats.pills["pills"]["penis reduction"].overdose gt 0>> <<set $sexStats.pills["pills"]["penis reduction"].overdose to Math.clamp($sexStats.pills["pills"]["penis reduction"].overdose - 1, 0, 100)>> <</if>> <<switch $sexStats.pills.mostTaken["penis"]>> <<case "growth">> <<set _penisMulti to 1 + (2.25 * $sexStats.pills["pills"]["penis growth"].doseTaken)>> <<set $sexStats.pills["pills"]["penis growth"].overdose += $sexStats.pills["pills"]["penis growth"].doseTaken>> <<case "reduction">> <<set _penisMulti to -1 + (-2.25 * $sexStats.pills["pills"]["penis reduction"].doseTaken)>> <<set $sexStats.pills["pills"]["penis reduction"].overdose += $sexStats.pills["pills"]["penis reduction"].doseTaken>> <<case "blocker">> <<set _penisMulti to 0>> <<default>> <<set _penisMulti to 1>> <</switch>> <<if $player.penisExist and _penisMulti isnot 0>> <<set _totalReduction to ($sexStats.creampie.self.anus + $sexStats.creampie.self.mouth) * 2>> <<set _totalIncrease to ($sexStats.creampie.npc.anus + $sexStats.creampie.npc.mouth + $sexStats.creampie.npc.vagina) * 2>> <<if $cow gte 6>> <<set _penisMulti += 1>> <</if>> <<if $earSlime.focus is "pregnancy" and $earSlime.growth gte 100>> <<set _penisMulti -= 3>> <<elseif $earSlime.focus is "impregnation" and $earSlime.growth gte 100>> <<set _penisMulti += 3>> <</if>> <<if _penisMulti gt 1>> <<set _totalIncrease += 10>> <<set _totalIncrease *= _penisMulti>> <<elseif _penisMulti lt 0>> <<set _totalReduction += 10>> <<set _totalReduction *= _penisMulti * -1>> <</if>> <<set _totalChange to _totalIncrease - _totalReduction>> <<set _purityBoost to (_totalChange lt 0 ? 2 + ($purity / 500) : 2 + ((1000 - $purity) / 500))>> <<set $penisgrowthtimer -= _purityBoost * _totalChange>> <<set $penisgrowthtimer -= $sexStats.pills["pills"]["penis growth"].overdose>> <<set $penisgrowthtimer += $sexStats.pills["pills"]["penis reduction"].overdose>> <<if $player.penissize lt 0>> <<set $penisgrowthtimer -= 50>> <</if>> <<if $parasite.penis.name is "urchin">> <<set $penisgrowthtimer -= 250>> <<set $sexStats.pills["pills"]["penis growth"].overdose += random(1,2)>> <</if>> <<if $parasite.penis.name is "slime">> <<set $penisgrowthtimer += 250>> <<set $sexStats.pills["pills"]["penis reduction"].overdose += random(1,2)>> <</if>> <<set _overdose to $sexStats.pills["pills"]["penis growth"].overdose - $sexStats.pills["pills"]["penis reduction"].overdose>> <<if $earSlime.focus is "impregnation" and $earSlime.growth gte 100 and _overdose lt 20>> <<set _overdose to 20>> <<elseif $worn.genitals.type.includes("shrinking")>> <<set _overdose to -20>> <<if $penisgrowthtimer lte 100>> <<set $penisgrowthtimer to 100>> <</if>> <<set $penisgrowthtimer += 100>> <</if>> /* The $player.sex isnot "f" is to specifically block the parasite penis from shrinking below tiny */ <<if $penisgrowthtimer lte 0 and $player.penissize lt $penissizemax and $player.penissize gte -1>> <<set $player.penissize += 1>> <<set $penisgrowthtimer += 700>> <<set $penisgrowthmessage to $player.penissize>><<set $effectsmessage to 1>> <<elseif $penisgrowthtimer lte -400 and $player.penissize lt $penissizemax and $player.penissize is -2 and _overdose gte 20>> <<set $player.penissize += 1>> <<set $penisgrowthtimer += 1100>> <<set $penisgrowthmessage to $player.penissize>><<set $effectsmessage to 1>> <<elseif $penisgrowthtimer gte 1000 and $player.penissize gt 0>> <<set $player.penissize -= 1>> <<set $penisgrowthtimer -= 700>> <<set $penisshrinkmessage to $player.penissize>><<set $effectsmessage to 1>> <<elseif $penisgrowthtimer gte 1200 and $player.penissize is 0 and $player.penissize gt $penissizemin and $player.sex isnot "f">> <<set $player.penissize -= 1>> <<set $penisgrowthtimer -= 1000>> <<set $penisshrinkmessage to $player.penissize>><<set $effectsmessage to 1>> <<elseif $penisgrowthtimer gte 1500 and $player.penissize is -1 and $player.penissize gt $penissizemin and _overdose lte -20 and $player.sex isnot "f">> <<set $player.penissize -= 1>> <<set $penisgrowthtimer -= 1300>> <<set $penisshrinkmessage to $player.penissize>><<set $effectsmessage to 1>> <</if>> <<set $penisgrowthtimer to Math.clamp($penisgrowthtimer, 0, 1000)>> <</if>> <<set $player.penissize to Math.clamp($player.penissize, -2, 4)>> /*Bottom*/ <<switch $sexStats.pills.mostTaken["bottom"]>> <<case "growth">> <<set _bottomMulti to 1 + (2.25 * $sexStats.pills["pills"]["bottom growth"].doseTaken)>> <<case "reduction">> <<set _bottomMulti to -1 + (-2.25 * $sexStats.pills["pills"]["bottom reduction"].doseTaken)>> <<case "blocker">> <<set _bottomMulti to 0>> <<default>> <<set _bottomMulti to 1>> <</switch>> <<if _bottomMulti isnot 0>> <<set _totalReduction to $workouts /4>> <<set _totalIncrease to $sexStats.creampie.self.anus * 2>> <<set _bottomMulti += (500 - $purity) / 500>> <<if $cow gte 6>> <<set _bottomMulti += 1>> <</if>> <<if _bottomMulti gt 1>> <<set _totalIncrease += 10>> <<set _totalIncrease *= _bottomMulti>> <<elseif _bottomMulti lt 0>> <<set _totalReduction += 10>> <<set _totalReduction *= _bottomMulti * -1>> <</if>> <<set _totalChange to _totalIncrease - _totalReduction>> <<set _purityBoost to (_totalChange lt 0 ? 2 + ($purity / 500) : 2 + ((1000 - $purity) / 500))>> <<set $bottomgrowthtimer -= _purityBoost * _totalChange>> <<if $parasite.bottom.name is "urchin">> <<set $bottomgrowthtimer -= 300>> <</if>> <<if $parasite.bottom.name is "slime">> <<set $bottomgrowthtimer += 300>> <</if>> <<if $bottomgrowthtimer lte 0 and $player.bottomsize lt $bottomsizemax>> <<set $player.bottomsize += 1>> <<set $bottomgrowthtimer += 700>> <<set $bottomgrowthmessage to $player.bottomsize>><<set $effectsmessage to 1>> <<elseif $bottomgrowthtimer gte 1000 and $player.bottomsize gt $bottomsizemin>> <<set $player.bottomsize -= 1>> <<set $bottomgrowthtimer -= 700>> <<set $bottomshrinkmessage to $player.bottomsize>><<set $effectsmessage to 1>> <</if>> <<set $bottomgrowthtimer to Math.clamp($bottomgrowthtimer, 0, 1000)>> <</if>> <<set $player.bottomsize to Math.clamp($player.bottomsize, 0, 8)>> /*Resetting of values*/ <<set $sexStats.creampie.npc.anus to 0>> <<set $sexStats.creampie.npc.mouth to 0>> <<set $sexStats.creampie.npc.vagina to 0>> <!-- <<set $sexStats.creampie.npc.tentacle to 0>> --> <!-- <<set $sexStats.creampie.npc.penis to 0>> --> <!-- IMPORTANT NOTE: If you uncomment the above sections, find a section in backComp widget labeled: v0.3.11.4 creampie.npc.penis and tentacle fix And REMOVE it or comment it out --> <<set $sexStats.creampie.self.anus to 0>> <<set $sexStats.creampie.self.mouth to 0>> <<set $sexStats.creampie.self.vagina to 0>> <<set $sexStats.breasts.playedWith to 0>> <<set $workouts to 0>> /* pills related */ <<run resetAllDoseTaken()>> <<autoTakePillCheck>> /************************************/ <</widget>> <<widget "autoTakePillCheck">> <<if !$statFreeze && $sexStats && $sexStats.pills && $pillsTakenOn != (Time.monthDay.toString() + Time.month + Time.year.toString())>> <<set _pills to $sexStats.pills>> <<if $molestationstart isnot 1 and $combat is 0 and (["home", "alex_cottage", "asylum", "prison"].includes($location) or ($location is "cabin" and $syndromeeden gte 1) or ($location is "temple" and V.wardrobes.temple.unlocked) or ($location is "pirate_ship" and V.wardrobes.pirate.unlocked))>> <!-- Eden Syndrome is 0 or 1, but could be higher in the future. --> <<set _keys to Object.keys(_pills.lastTaken)>> /* "lastTaken" will induce you in error here, it's only to retrieve the pills type list*/ <<for _i, _key range _keys>> <<run determineAutoTakePill(_key)>> <<if _autoTakeDetermined != null and _pills.pills[_autoTakeDetermined].owned > 0>> /*Prevent pills from being taken if the player has already taken a dose, aloowing them to either take more than intended, or to bypass the overdose effects*/ <<if !_pills.pills[_autoTakeDetermined].doseTaken>> <<set _pills.pills[_autoTakeDetermined].owned-->> <<if _autoTakeDetermined is "Hair Growth Formula">> <<set _pills.pills[_autoTakeDetermined].doseTaken += 3>> <<set $hairGrowthApplied to true>> <<if _pills.pills[_autoTakeDetermined].owned == 0>> <<set _pills.pills[_autoTakeDetermined].autoTake to false>> <<set $hairGrowthAppliedLast to true>> <</if>> <<else>> <<set $pillsconsumed++>> /* to keep track of overall pill consumption (stats) */ <<set _pills.pills[_autoTakeDetermined].doseTaken += 1>> <<run redetermineMostTaken(0, 0, _autoTakeDetermined)>> <<run setLastTaken(null, null, _autoTakeDetermined)>> <<set $pillsTaken to true>> <<set $pillsTakenOn to (Time.monthDay.toString() + Time.month + Time.year.toString())>> <<if _pills.pills[_autoTakeDetermined].owned == 0>> <<set _pills.pills[_autoTakeDetermined].autoTake to false>> <<set $pillsTakenLast to true>> <</if>> <</if>> <<set $effectsmessage to 1>> <</if>> <<elseif _autoTakeDetermined != null>> <<set _pills.pills[_autoTakeDetermined].autoTake to false>> <<set _pills.pills[_autoTakeDetermined].doseTaken to 0>> <<set _pills.lastTaken[_key] to ''>> <<set _pills.mostTaken[_key] to ''>> <</if>> <</for>> <</if>> <</if>> <</widget>> /*<<playWithBreasts>>*/<<widget "playWithBreasts">> <<if _args[0]>> <<set $sexStats.breasts.playedWith += _args[0]>> <<else>> <<set $sexStats.breasts.playedWith++>> <</if>> <</widget>> /*<<creampie "npc" "anus">> -- <<set $sexStats.creampie.npc.anus++>>*/ /*<<creampie "self" "mouth">> -- <<set $sexStats.creampie.self.mouth++>>*/<<widget "creampie">> <<if _args[0] and _args[1]>> <<set $sexStats.creampie[_args[0]][_args[1]]++>> <</if>> <<set $internalejac to 1>> <</widget>> <<widget "fillOther">> <<set $otherFilled to $otherFilled or 0>> <<set $otherFilled += $semen_amount gt ($semen_volume / 24) * 18 ? 2 : 1>> <<set $otherFilled to Math.clamp($otherFilled, 0, 5)>> <</widget>>/*args[0] - location, args[1] - passageExit*/ <<widget "childrenEvents">> <<if _args[0]>> <<if _args[0] is "tower">> <<getChildrenIds `{location: _args[0], eggTimer: undefined}` "both">> <<else>> <<getChildrenIds `{location: _args[0]}`>> <</if>> <<if _childrenIds.length gt 0>> <<set _singleEvents to true>> <</if>> <!-- Rework these later, they make no sense. Why can't children of different birth IDs interact? --> <<if _args[0] is "tower">> <<getSameBirthChildrenIds _args[0] 2 undefined "both">> <<else>> <<getSameBirthChildrenIds _args[0] 2>> <</if>> <<if Object.keys(_birthChildrenIds).length gt 0>> <<set _multipleEvents to true>> <</if>> <<set _keys to Object.keys(_birthChildrenIds)>> <<set $childPassageExit to _args[1]>> <<switch _args[0]>> <<case "home">> <<if _singleEvents is true and (_multipleEvents is false or random(0,100) gt 40)>> <<addevent `"homeSingles " + _childrenIds[random(0,_childrenIds.length - 1)]`>> <<elseif _multipleEvents is true>> <<set $childrenIds to _birthChildrenIds[_keys.random()]>> <<addevent `"homeMultiples " + _args`>> <</if>> <<case "wolf_cave">> <<if _singleEvents is true and (_multipleEvents is false or random(0,100) gt 40)>> <<addevent `"wolfCaveSingles " + _childrenIds[random(0,_childrenIds.length - 1)]`>> <<elseif _multipleEvents is true>> <<set $childrenIds to _birthChildrenIds[_keys.random()]>> /*<<addevent "wolfCaveMultiple _args">>*/ <</if>> <<case "tower">> <<if _singleEvents is true and (_multipleEvents is false or random(0,100) gt 40)>> <<addevent `"hawkSingles " + _childrenIds[random(0,_childrenIds.length - 1)]`>> <<elseif _multipleEvents is true>> <<set $childrenIds to _birthChildrenIds[_keys[random(0,_keys.length - 1)]]>> <<addevent `"hawkMultiples " + _args`>> <</if>> <</switch>> <</if>> <</widget>> <<widget "homeSingles">> <<if _args[0]>> <<childSelect _args[0]>> <<switch random(0,0)>> <<case 0>> You spot your child <<childname>> on <<childhis>> back, looking at you with <<childhis>> <<childhands>> stretched towards you. <br><br> Picking <<childhim>> up, <<childhe>> <<childgiggles>> while rubbing your face. <br><br> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> <<link [[Breast feed (0:30)|childBreastFeed]]>><<pass 30>><</link>> <br> <</if>> <<link [[Cuddle (0:30)|childCuddle]]>><<pass 30>><</link>> <br> <<link [[Talk (0:15)|childTalk]]>><<pass 15>><</link>> <br> <<link [[Play (0:30)|childPlay]]>><<pass 30>><</link>> <br> <<link [[Bathe (0:30)|childBathe]]>><<pass 30>><</link>> <</switch>> <</if>> <br> <</widget>> <<widget "homeMultiples">> <<if $childrenIds>> <<switch random(0,0)>> <<case 0>> You spot your children <<childrenNames $childrenIds>> sleeping together in their cot with a peaceful look on their faces. <br><br> <<link [[Watch (0:30)|childCotWatch]]>><<stress -2>><<trauma -2>><<pass 30>><<set $phase to 1>><</link>><<lstress>><<ltrauma>> <br> <<link [[Have a nap (0:30)|childCotWatch]]>><<stress -2>><<tiredness -2>><<pass 30>><<set $phase to 2>><</link>><<lstress>><<ltiredness>> <</switch>> <</if>> <</widget>> <<widget "wolfCaveSingles">> <<if _args[0]>> <<childSelect _args[0]>> <<switch random(0,0)>> <<case 0>> You spot your <<childtype>> <<childname>> lying on a sleeping <<wolf_cave_singular>>, looking at you with <<childhis>> <<childhands>> stretched towards you. <br><br> Picking <<childhim>> up, <<childhe>> <<childgiggles>> while rubbing your face. <br><br> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> <<link [[Breast feed (0:30)|childBreastFeed]]>><<pass 30>><</link>> <br> <</if>> <<link [[Cuddle (0:30)|childCuddle]]>><<pass 30>><</link>> <br> <<link [[Talk (0:15)|childTalk]]>><<pass 15>><</link>> <br> <<link [[Play (0:30)|childPlay]]>><<pass 30>><</link>> <</switch>> <</if>> <br> <</widget>> <<widget "hawkSingles">> <<if _args[0]>> <<childSelect _args[0]>> <<switch random(0,2)>> <<case 0 1>> You spot your <<childtype>> <<childname>> lying in the nest, looking at you with <<childhis>> <<childhands>> stretched towards you. <br><br> Picking <<childhim>> up, <<childhe>> <<childgiggles>> and flails about. <br><br> <<if $cmonster is 1 and $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> <<link [[Breast feed (0:30)|childBreastFeed]]>><<pass 30>><</link>> <br> <</if>> <<link [[Cuddle (0:30)|childCuddle]]>><<pass 30>><</link>> <br> <<link [[Talk (0:30)|childTalk]]>><<pass 30>><</link>> <br> <<link [[Play (0:30)|childPlay]]>><<pass 30>><</link>> <<case 2>> You see <<childname>> rolling around in the nest. As soon as <<childhe>> spots you, <<childhe>> rights <<childhimself>> and <<childgiggles>>. <<childHe>> seems happy to see you! <<stress -12>><<llstress>> <br><br> <<link [[Next|$childPassageExit]]>><<unset $childPassageExit>><<endevent>><</link>> <br> <</switch>> <</if>> <br> <</widget>> <<widget "hawkMultiples">> <<if $childrenIds>> <<switch random(0,0)>> <<case 0>> You spot <<childrenNames $childrenIds>> tumbling over one another. <<set _child1 to _childrenIds.pluck()>> <<set _child2 to _childrenIds.pluck()>> Every now and again they stop to stare at each other. After a moment, <<childname _child1>> moves behind <<childSelect _child2>><<childname>> and starts to groom <<childhim>>. <br><br> <<link [[Next|$childPassageExit]]>><<unset $childrenIds>><<unset $childPassageExit>><<endevent>><</link>> <br> <</switch>> <</if>> <</widget>><<set $pregnancyStats.childBreastfedInteractions++>> <<if $worn.over_upper.name isnot "naked" or $worn.upper.name isnot "naked" or $worn.upper.name isnot "naked">> You adjust your clothes to give <<childhim>> access to your <<breasts>>. <<else>> You guide your baby's lips to your breast. <</if>> <br><br> <<set _rng to random(1, 4)>> <<switch _rng>> <<case 1>> <<childHe>> seems to realise your intent, and suckles your <<print ["left","right"].pluck()>> breast with closed eyes.<<breastfeed 25>> <<case 2>> It takes <<childhim>> a few moments to find your nipple. <<childHe>> latches on and starts sucking. You watch your baby drink, and enjoy the calm moment.<<lstress>><<stress -6>><<breastfeed 20>> <<case 3>> <<childHe>> latches onto your nipple and starts sucking with surprising eagerness. The strength of <<childhis>> suction soon causes you discomfort. Your nipple soon feels sore.<<gpain>><<pain 4>><<breastfeed 30>> <<default>> <<childHe>> refuses to take your nipple into <<childhis>> mouth, moving <<childhis>> head away and crying even louder than before.<<gstress>><<stress 6>> <</switch>> <br><br> <<link [[Next|$childPassageExit]]>><<unset $childPassageExit>><<endevent>><</link>><<set _rng to random(1, 5)>> <<switch $children[$childSelected.childId].type>> <<case "human">> <<switch _rng>> <<case 1>> <<childHe>> seems to realise your intent, and wraps <<childhis>> <<childhands>> around your neck while leaning on your shoulder. <<case 2>> You hum a melodic lullaby, rubbing <<childname>>'s back as you gently sway to the tune. The familiarity of your voice seems to soothe <<childhis>> mood. <<childHe>> coos at you.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<case 3>> You place a soft kiss on <<childhis>> forehead, and give <<childhim>> as much skin-to-skin contact as you can. The action encourages <<childhim>> to lift <<childhis>> head and reward you with a smile.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<case 4>> You give <<childname>> a few different objects to look at. You explain the colours, shapes, and textures of things that you see around you. <<childHe>> reaches out to touch, curious to explore <<childhis>> environment. You make sure <<childhe>> doesn't try to grasp anything too heavy or awkward.<<gstress>><<stress 6>> <<default>> <<childHe>> revolts against being carried, and <<childhis>> kicks <<childhis>> legs. The longer you hold <<childhim>>, the more intense <<childhis>> cries become. Some of <<childhis>> kicks connect.<<gpain>><<gstress>><<pain 4>><<stress 6>> <</switch>> <<case "wolf" "wolfboy" "wolfgirl">> <<switch _rng>> <<case 1>> <<if $cmonster is 1>> <<childHe>> seems to realise your intent, and wraps <<childhis>> <<childhands>> around your neck while leaning on your shoulder. <<else>> <<childHe>> seems to realise your intent, and settles into the crook of your neck. <</if>> <<case 2>> You hum a melodic lullaby, rubbing <<childname>>'s back as you gently sway to the tune. The familiarity of your voice seems to soothe <<childhis>> mood. <<childHe>> coos at you.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<case 3>> <<if $cmonster is 1>> You place a soft kiss on <<childhis>> forehead, and give <<childhim>> as much skin-to-skin contact as you can. The action encourages <<childhim>> to lift <<childhis>> head and reward you with a smile.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<else>> You place a soft kiss on <<childhis>> forehead, and give <<childhim>> as much skin-to-fur contact as you can. The action encourages <<childhim>> to lift <<childhis>> head and stick <<childhis>> tongue out at you.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <</if>> <<case 4>> You give <<childname>> a few different objects to look at. You explain the colours, shapes, and textures of things that you see around you. <<childHe>> picks a stick up in <<childhis>> mouth and starts to shake it around. You make sure <<childhe>> doesn't try to grasp anything else too heavy or awkward.<<gstress>><<stress 6>> <<default>> <<childHe>> revolts against being carried, and <<childhis>> kicks <<childhis>> legs. The longer you hold <<childhim>>, the more intense <<childhis>> cries become. Some of <<childhis>> kicks connect.<<gpain>><<gstress>><<pain 4>><<stress 6>> <</switch>> <<case "hawk">> <<switch _rng>> <<case 1>> <<if $cmonster is 1>> <<childHe>> seems to realise your intent, and wraps <<childhis>> <<childhands>> around your neck while leaning on your shoulder. <<else>> <<childHe>> seems to realise your intent, and settles into the crook of your neck. <</if>> <<case 2>> You hum a melodic lullaby, rubbing <<childname>>'s back as you gently sway to the tune. The familiarity of your voice seems to soothe <<childhis>> mood. <<childHe>> coos at you.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<case 3>> <<if $cmonster is 1>> You place a soft kiss on <<childhis>> forehead, and give <<childhim>> as much skin-to-skin contact as you can. The action encourages <<childhim>> to lift <<childhis>> head and reward you with a smile.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<else>> You place a soft kiss on <<childhis>> forehead, and give <<childhim>> as much skin-to-feather contact as you can. The action encourages <<childhim>> to lift <<childhis>> head and chirp at you.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <</if>> <<case 4>> You give <<childname>> a few different materials to look at. You explain the colours, shapes, and textures of things that you see around you. <<if $cmonster is 1>> <<childHe>> reaches out to touch, curious to explore <<childhis>> environment. <<childHe>> grabs onto a piece of cloth <<else>> <<childHe>> reaches out to peck at a piece of cloth that you're showing <<childhim>>. <<childHe>> manages to get it away from you, <</if>> and starts to shake it about. <<childHe>> <<childgiggles>>, but you make sure <<childhe>> doesn't try to grab anything else. <<gstress>><<stress 6>> <<default>> <<if $cmonster is 1>> <<childHe>> revolts against being carried, and <<childhis>> kicks <<childhis>> legs. The longer you hold <<childhim>>, the more intense <<childhis>> cries become. Some of <<childhis>> kicks connect.<<gpain>><<gstress>><<pain 4>><<stress 6>> <<else>> <<childHe>> revolts against being carried, and manages to slip your grasp. <<childHe>> falls harmlessly into the nest, but the act gives you quite the start. <<ggstress>><<stress 12>> <</if>> <</switch>> <<default>> <span class="red">Childtype $children[$childSelected.childId].type not found. This is a bug.</span> <</switch>> <br><br> <<link [[Next|$childPassageExit]]>><<unset $childPassageExit>><<endevent>><</link>><<childSelect `$childrenIds[random(0,$childrenIds.length - 1)]`>> <<if $phase is 1>> You stand over <<childrenNames $childrenIds>>, and watch them sleep. <<set _rng to random(1, 4)>> <<switch _rng>> <<case 1>> You're transfixed by <<childname>>'s chest, rising and fallen with gentle breaths. <<case 2>> You find yourself stroking each of their heads. <<case 3>> <<childname>> opens <<childhis>> mouth in a big yawn, and stretches.<<lstress>><<stress -6>> <<default>> <<childname>> murmurs and scrunches <<childhis>> features, as if having a bad dream.<<gstress>><<stress 6>> <</switch>> <br><br> <<elseif $phase is 2>> You decide to have a nap and lie in the bed next to your children. <br><br> You wake up sometime later with something wrapped round your finger. While still asleep, it seems that <<childname>>'s <<childhand>> was able to reach you. <br><br> <</if>> <<link [[Next|$childPassageExit]]>><<unset $childrenIds>><<unset $childPassageExit>><<endevent>><</link>><<set _rng to random(1, 4)>> <<switch $children[$childSelected.childId].type>> <<case "human">> <<switch _rng>> <<case 1>> You recite a few nursery rhymes you remember from long ago. <<childHe>> looks alert as <<childhe>> listens to your voice. You make a few different tones and wait for <<childhis>> reaction. It seems to you like <<childhe>> recognises certain sounds and changes <<childhis>> expression accordingly. After a few more moments, <<childhe>> breaks eye contact and sucks on <<childhis>> thumb. <<case 2>> You gently cup <<childname>>'s right foot and count <<childhis>> toes, wriggling them before moving on to <<childhis>> next foot. <<childHe>> quiets, watching you with wide eyes as you move your finger from one toe to the next. <<case 3>> You chat to <<childname>>, sharing your thoughts and waiting for a response. <<childHe>> doesn't seem to be paying much attention however.<<gstress>><<stress 6>> <<default>> You speak to <<childname>>, but <<childhis>> cries drown your words. <<childHis>> face turns a deeper shade of red with every minute you spend trying to talk to <<childhim>>.<<gstress>><<stress 6>> <</switch>> <<case "wolf" "wolfboy" "wolfgirl">> <<switch _rng>> <<case 1>> You recite a few nursery rhymes you remember from long ago. <<childHe>> looks alert as <<childhe>> listens to your voice. You make a few different tones and wait for <<childhis>> reaction. It seems to you like <<childhe>> recognises certain sounds and changes <<childhis>> expression accordingly. After a few more moments, tilts <<childhis>> head at you. <<case 2>> You gently cup <<childname>>'s <<if $cmonster is 1>> right foot and count <<childhis>> toes, wriggling them before moving on to <<childhis>> next foot. <<childHe>> quiets, watching you with wide eyes as you move your finger from one toe to the next. <<else>> front right paw and count <<childhis>> toes, wriggling them before moving on to <<childhis>> next paw. <<childHe>> quiets, watching you with wide eyes as you move your finger from one toe to the next. <</if>> <<case 3>> You chat to <<childname>>, sharing your thoughts and waiting for a response. <<childHe>> doesn't seem to be paying much attention however.<<gstress>><<stress 6>> <<default>> You speak to <<childname>>, but <<childhe>> softly barks at you every time you open your mouth. <<childHe>> headbutts your leg, then turns away. <</switch>> <<case "hawk">> <<switch _rng>> <<case 1>> You recite a few nursery rhymes you remember from long ago. <<childHe>> looks alert as <<childhe>> listens to your voice. You make a few different tones and wait for <<childhis>> reaction. It seems to you like <<childhe>> recognises certain sounds. After a few more moments, tilts <<childhis>> head at you. <<case 2>> You gently cup <<childname>>'s <<if $cmonster is 1>> right foot and count <<childhis>> toes, wriggling them before moving on to <<childhis>> next foot. <<childHe>> quiets, watching you with wide eyes as you move your finger from one toe to the next. <<else>> right leg and count <<childhis>> talons, wriggling them before moving on to <<childhis>> next leg. <<childHe>> quiets, watching you as you move your finger from one talon to the next. <</if>> <<case 3>> You chat to <<childname>>, sharing your thoughts and waiting for a response. <<childHe>> doesn't seem to be paying much attention however.<<gstress>><<stress 6>> <<default>> You speak to <<childname>>, but <<childhe>> softly chirps at you every time you open your mouth. <<childHe>> headbutts your leg, then turns away. <</switch>> <<default>> <span class="red">Childtype $children[$childSelected.childId].type not found. This is a bug.</span> <</switch>> <br><br> <<link [[Next|$childPassageExit]]>><<unset $childPassageExit>><<endevent>><</link>><<set _rng to random(1, 6)>> <<switch _rng>> <<case 1>> You smile down at <<childname>>. You wave your hands and stick your tongue out, making several different faces in an attempt to catch <<childhis>> attention. <<childHe>> studies your expressions with curiosity. <<childHe>> is trying to imitate you, but you're unsure if it's just a reflex. <<case 2>> You bring <<childname>>'s <<childfeet>> to <<childhis>> <<childhands>>, moving them around and occasionally clapping them together. You give <<childhis>> body a gentle massage, from <<childhis>> <<childtoes>>, to <<childhis>> back, then all the way to <<childhis>> <<childfinger>>tips. You shower <<childhis>> frame in affectionate touches. <<childHe>> smiles in response to your broad grin. <<case 3>> You cover your face with both hands, then uncover it a few seconds later. <<childname>> peers up at you. <<childHe>> smiles when your eyes meet.<<lstress>><<stress -6>> <<case 4>> You tickle <<childname>> and blow raspberries on <<childhis>> stomach. <<childHe>> responds by interrupting <<childhis>> cries, and <<childgiggles>> instead, flapping <<childhis>> arms and legs in joy.<<lstress>><<stress -6>> <<case 5>> You tickle <<childname>> and blow raspberries on <<childhis>> stomach. <<childHis>> cries become louder as <<childhe>> turns <<childhis>> head from side to side and squirms away. <<childHe>> seems upset over the treatment.<<gstress>><<stress 6>> <<default>> You get closer to <<childname>>, so <<childhe>> can study your face and its features. <<childHe>> stops crying for a moment, only to grab your hair and pull it.<<gpain>><<pain 4>> <</switch>> <br><br> <<link [[Next|$childPassageExit]]>><<unset $childPassageExit>><<endevent>><</link>><<wearProp "soap">> You fill a small tub with warm water, and prepare the towels and a new nappy beforehand. You take <<childname>> in your arms gently, and carry <<childhim>> to the bathtub, making sure to put <<childhim>> in a safe position. <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> You rub <<childname>> gently with the warm water, making sure to clean between the folds of skin, and holding <<childhis>> little body with one hand. The softness of <<childhis>> skin as you rub makes you feel extremely at ease. The baby seems to be tickled by your touches, and swings <<childhis>> legs in the water, making some of it splash on your clothes and face. You can't help but smile at the situation.<<ltrauma>><<trauma -6>> <<case 2>> You gently rub <<childname>>'s head in circular motions with a handful of baby shampoo. The sweet aroma of strawberry fills the ambient, and bubbles begin to appear in the water. Your child seems curious, and periodically takes one of <<childhis>> fingers to the bubbles, popping them. <<childHis>> mellow laughter echoes through the room as <<childhe>> is distracted by the foam in the bathtub.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<case 3>> You start the bath by trying to soap your baby's body. <<childHe>> doesn't seem to like the feel of water on <<childhis>> skin, let alone seems to be enjoying your attempts to cleanse <<childhim>>. <<childname>> threatens to cry as you continue the bath, but you manage to calm <<childhim>> down after a little effort. <<childHe>> pouts in distaste until the end of the cleaning session. When you're finished, <<childhe>> doesn't seem to want to let you carry <<childhim>> back, and makes uncontent sounds when you pick <<childhim>> up.<<gstress>><<stress 6>> <<default>> Just by touching the water, <<childname>> lets out a high-pitched, incessant cry. <<childHe>> flails <<childhis>> legs and arms into the water trying to get free as you struggle to rub <<childhim>> properly. Water splashes quickly soak your clothes. <<childHe>> continues throwing a tantrum until the end of the bath, leaving you with a headache.<<gstress>><<stress 6>> <</switch>> <br><br> When you're done bathing <<childhim>>, you lay <<childhim>> on a towel and gently dry <<childhis>> body with a softer fabric. You carefully finish the moment by changing the baby's nappies and putting <<childhim>> back in <<childhis>> crib. <br><br> <<link [[Next|$childPassageExit]]>><<unset $childPassageExit>><<endevent>><</link>><<effects>> <<getChildrenIds `{location: $location}`>> <<switch $location>> <<case "home">> You are in the orphanage nursery. There are a few cradles and cots scattered around. <<case "wolf_cave">> <<switch Time.dayState>> <<case "dawn">> Many of the pups are still asleep. <<case "day">> The yips, growls, and tiny howls of young pups playing echo off the rocky walls. <<case "dusk">> Most of the pups have already settled down for the night. <<case "night">> The pups are all asleep, and the den is silent. <</switch>> <<case "alex_cottage">> You are in the cottage nursery. <<switch Time.dayState>> <<case "dawn">> The sound of birds singing early in the morning soothes the room. <<case "day">> Sounds from the farm can be heard through the cottage. <<case "dusk">> A calm breeze flows through the curtain. <<case "night">> Silence fills the room. <</switch>> <<case "tower">> <<getChildrenIds `{location: $location, eggTimer: undefined}` "both">> You are in the tower. You look around for your <<if _childrenIds.length gte 2>>children<<else>>child<</if>>. <</switch>> <<if Time.dayState isnot "night" and (!$daily.childrenHomeEvent or !$daily.childrenHomeEvent.includes($location)) and random(1) is 1>> <<if !$daily.childrenHomeEvent>> <<set $daily.childrenHomeEvent to [$location]>> <<else>> <<run $daily.childrenHomeEvent.push($location)>> <</if>> <<cleareventpool>> <<childrenEvents $location $passage>> <<if _eventpool.length>> <<runeventpool>> <<exit>> <</if>> <</if>> <br><br> <<childViewerDisplay _childrenIds>> <br> <<if $location isnot "tower">> <<if $location is "wolf_cave">> <<childicon "rope">> <<else>> <<childicon "teddy bear">> <</if>> <<if $player.inventory.childrenToys>> <<if !$storedChildrenToys[$location]>><<set $storedChildrenToys[$location] to []>><</if>> <<link [[Store children's toys|Childrens Home Toys]]>><</link>> <br> <<else>> You have not bought any toys for your children here. You should take a trip to <<= $location is "wolf_cave" ? "the pet store" : "the toy shop">>. <br> <</if>> <</if>> <<if $location is "home">> <<tendingicon "babybottle">> <<if V.plants['baby_bottle_of_breast_milk'] and V.plants['baby_bottle_of_breast_milk'].amount gt 0>> <<link [[Donate breast milk|Childrens Donate Milk]]>><</link>> <<if $pregnancyStats.orphanageMilkBottles gt 0>> (<span class="green"><<print $pregnancyStats.orphanageMilkBottles>></span> bottles remaining) <<else>> (<span class="red"><<print $pregnancyStats.orphanageMilkBottles>></span> bottles remaining) <</if>> <<else>> You have no bottled breast milk to donate. <<if $pregnancyStats.orphanageMilkBottles gt 0>> (<span class="green"><<print $pregnancyStats.orphanageMilkBottles>></span> bottles remaining) <<else>> (<span class="red"><<print $pregnancyStats.orphanageMilkBottles>></span> bottles remaining) <</if>> <</if>> <br> <</if>> <<getouticon>><<link [[Back|$exitPassage]]>><<unset $exitPassage>><</link>><<effects>> <label>Number of milk bottles to donate: <<numberslider "$donatedMilk" 1 1 `$plants["baby_bottle_of_breast_milk"].amount` 1>></label> <<link [[Donate|Childrens Donate Milk 2]]>><</link>> <br> <<link [[Back|Childrens Home]]>><<unset $childActivityEvent>><<endevent>><</link>><<effects>><<wearProp "milk bottle" 0 "baby">> <<set $pregnancyStats.orphanageMilkBottles += $donatedMilk>> <<set $pregnancyStats.orphanageMilkBottlesTotal += $donatedMilk>> <<set $plants["baby_bottle_of_breast_milk"].amount -= $donatedMilk>> You leave behind $donatedMilk bottles of milk for your children with one of Bailey's thugs. <br><br> <<link [[Back|Childrens Home]]>><<unset $donatedMilk>><<unset $childActivityEvent>><<endevent>><</link>><<effects>> <<set _selectedCurrentToy to 0>> <<set _selectedLocationToy to 0>> <div id="childrenToysUI"> <<childrenToysUI>> </div> <br> <<getouticon>><<link [[Back|Childrens Home]]>><<unset $childActivityEvent>><<endevent>><</link>><<widget "childrenToysUI">> <div class="settingsGrid"> <div> <div class="itemInventoryHeader settingsHeader">Inventory</div> <div class="itemInventory itemDetails"> <<for _i to 0; _i lt 10; _i++>> <<set _toy to $player.inventory.childrenToys[_i]>> <<if _toy and _i lt 5>> <<set _name to _toy.name>> <<set _icon to _name.toLowerCase().replace(".","")>> <<set _index to _i - 1>> <div @class="_selectedCurrentToy is _i ? 'item selected' : 'item'" @tooltip="_name" onclick="$(this).siblings().removeClass('selected'); $(this).addClass('selected')"> <label> <<if $options.images is 1>> <<childicon _icon>> <<else>> <span @class="_toy.colour"><<print _toy.name>></span> <</if>> <<radiobutton "_selectedCurrentToy" _i autocheck>> </label> </div> <<else>> <<if _i lt 5>> <div class="item unknown"><<ind>></div> <<else>> <div class="item empty"><<ind>></div> <</if>> <</if>> <</for>> </div> <div class="containerFooter"> <<if $player.inventory.childrenToys.length gt 0>> <div class="tab inventory"> <<button "<span class='fa-icon fa-trash'></span> Discard">> <<run $player.inventory.childrenToys.deleteAt(_selectedCurrentToy)>> <<set _selectedCurrentToy to 0>> <<childrenToysUIReplace>> <</button>> </div> <br> <<if $storedChildrenToys[$location].length lt 10>> <div class="tab inventory"> <<button "<span class='fa-icon fa-import'></span> Store">> <<run $storedChildrenToys[$location].push($player.inventory.childrenToys[_selectedCurrentToy])>> <<run $player.inventory.childrenToys.deleteAt(_selectedCurrentToy)>> <<set _selectedCurrentToy to 0>> <<childrenToysUIReplace>> <</button>> </div> <</if>> <<else>> <div class="tab inventory"> <button class="link-internal macro-button buttonDisabled" disabled><<="<span class='fa-icon fa-trash'></span> Discard">></button> </div> <div class="tab inventory"> <button class="link-internal macro-button buttonDisabled" disabled><<="<span class='fa-icon fa-import'></span> Store">></button> </div> <</if>> </div> </div> <div> <div class="itemInventoryHeader settingsHeader"> <<switch $location>> <<case "wolf_cave">>Wolf Cave <<case "tower">>Tower <<default>>Nursery <</switch>> </div> <div class="itemInventory itemDetails"> <<for _i to 0; _i lt 10; _i++>> <<set _toy to $storedChildrenToys[$location][_i]>> <<if _toy>> <<set _name to _toy.name>> <<set _icon to _name.toLowerCase().replace(".","")>> <div @class="_selectedLocationToy is _i ? 'item selected' : 'item'" @tooltip="_name" onclick="$(this).siblings().removeClass('selected'); $(this).addClass('selected')"> <label> <<if $options.images is 1>> <<childicon _icon>> <<else>> <span @class="_toy.colour"><<print _toy.name>></span> <</if>> <<radiobutton "_selectedLocationToy" _i autocheck>> </label> </div> <<else>> <div class="item unknown"><<ind>></div> <</if>> <</for>> </div> <div class="containerFooter"> <<if $storedChildrenToys[$location].length gt 0>> <div class="tab inventory"> <<button "<span class='fa-icon fa-trash'></span> Discard">> <<run $storedChildrenToys[$location].deleteAt(_selectedLocationToy)>> <<set _selectedLocationToy to 0>> <<childrenToysUIReplace>> <</button>> </div> <<if $player.inventory.childrenToys.length lt 5>> <div class="tab inventory"> <<button "<span class='fa-icon fa-export'></span> Carry">> <<run $player.inventory.childrenToys.push($storedChildrenToys[$location][_selectedLocationToy])>> <<run $storedChildrenToys[$location].deleteAt(_selectedLocationToy)>> <<set _selectedLocationToy to 0>> <<childrenToysUIReplace>> <</button>> </div> <<else>> <div class="tab inventory"> <button class="link-internal macro-button no-numberify buttonDisabled" disabled><span class='fa-icon fa-export'></span>Carry</button> </div> <</if>> <<else>> <div class="tab inventory"> <button class="link-internal macro-button buttonDisabled" disabled><<="<span class='fa-icon fa-trash'></span> Discard">></button> </div> <div class="tab inventory"> <button class="link-internal macro-button buttonDisabled" disabled><<="<span class='fa-icon fa-export'></span> Carry">></button> </div> <</if>> </div> </div> </div> <</widget>> <<widget "childrenToysUIReplace">> <<replace "#childrenToysUI">> <<childrenToysUI>> <</replace>> <</widget>><<effects>> <<childSelect $childActivityEvent.childid>> <<childAge $childActivityEvent.childid>> <<childInteratedWith>> <<set $children[$childActivityEvent.childid].localVariables.event to false>> <<switch $childActivityEvent.event>> /*Human Specific*/ <<case "transfixed">> You stand over <<childname>>, and watch <<childhim>> sleep. You're transfixed by <<childhis>> chest, rising and fallen with gentle breaths. <<case "stroke">> You stand over <<childname>>, and watch <<childhim>> sleep. You find yourself stroking <<childhis>> head. <<case "yawn">> You stand over <<childname>>, and watch <<childhim>> sleep. <<childHe>> opens <<childhis>> mouth in a big yawn, and stretches.<<lstress>><<stress -6>> <<case "murmur">> You stand over <<childname>>, and watch <<childhim>> sleep. <<childHe>> murmurs and scrunches <<childhis>> features, as if having a bad dream.<<gstress>><<stress 6>> <<case "cotNap">> You decide to have a nap, and lie in the bed beside <<childname>>. <br><br> You wake up sometime later with something wrapped around your finger. While still asleep, it seems that <<childname>>'s <<childhand>> was able to reach you.<<ltiredness>><<tiredness -3>> <<case "shiverInCot">> <<childname>> sleeps by <<childherself>>, shivering with every unconscious breath. You tuck <<childhim>> in with a nearby baby blanket. <<childHe>>'s soon sleeping peacefully.<<lstress>><<stress -6>> <<case "restlessSleep">> <<childname>> is restless in <<childhis>> sleep. You lie down beside <<childhim>>, and pull <<childhim>> against your chest. You hold <<childhim>> until <<childhe>> calms down. As you move to stand, <<childhe>> grasps your finger tight in <<childhis>> small hands. You snuggle for a while longer, before easing <<childhis>> hold on you and getting back to your feet.<<ltiredness>><<tiredness -6>><<llstress>><<stress -10>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "waveTongue">> You smile down at <<childname>>. You wave your hands and stick your tongue out, making several different faces in an attempt to catch <<childhis>> attention. <<childHe>> studies your expressions with curiosity. <<childHe>> is trying to imitate you, but you're unsure if it's just a reflex. <<case "handsClap">> You bring <<childname>>'s feet to <<childhis>> hands, moving them around and occasionally clapping them together. You give <<childhis>> body a gentle massage, from <<childhis>> toes, to <<childhis>> back, then all the way to <<childhis>> fingertips. You shower <<childhis>> frame in affectionate touches. <<childHe>> smiles in response to your broad grin. <<case "peekaboo">> You cover your face with both hands, then uncover it a few seconds later. <<childname>> peers up at you. <<childHe>> smiles when your eyes meet.<<lstress>><<stress -6>> <<case "blowRaspberriesHappy">> You tickle <<childname>> and blow raspberries on <<childhis>> stomach. <<childHe>> responds by interrupting <<childhis>> cries, and laughs instead, flapping <<childhis>> arms and legs in joy.<<lstress>><<stress -6>> <<case "blowRaspberriesUpset">> You tickle <<childname>> and blow raspberries on <<childhis>> stomach. <<childHis>> cries become louder as <<childhe>> turns <<childhis>> head from side to side and squirms away. <<childHe>> seems upset over the treatment.<<gstress>><<stress 6>> <<case "faceStudy">> You get closer to <<childname>>, so <<childhe>> can study your face and its features. <<childHe>> stops crying for a moment, only to grab your hair and pull it.<<gpain>><<pain 4>> <<case "rockToSleep">> You scoop the <<childtype>> up in your arms and walk while gently rocking <<childhim>> side to side and humming softly. Soon <<childhe>> calms down and falls fast asleep in your arms. You gingerly lay <<childhim>> down in the cot to rest. <<lstress>><<stress -5>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "holdToShoulder">> You lift the <<childtype>>. <<childHe>> seems to realise your intent, and wraps <<childhis>> <<childhands>> around your neck while leaning on your shoulder. You bob <<childhim>> up to down, until <<childhe>> falls asleep in your arms.<<lstress>><<stress -5>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "melodicLullaby">> You scoop up the <<childtype>>. You hum a melodic lullaby, rubbing <<childname>>'s back as you gently sway to the tune. The familiarity of your voice seems to soothe <<childhis>> mood. <<childHe>> coos at you.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<case "foreheadKiss">> You scoop up the <<childtype>>. You place a soft kiss on <<childhis>> forehead, and give <<childhim>> as much skin-to-skin contact as you can. The action encourages <<childhim>> to lift <<childhis>> head and reward you with a smile.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <<case "objectShow">> You scoop up the <<childtype>>. You give <<childname>> a few different objects to look at. You explain the colours, shapes, and textures of things that you see around you. <<childHe>> reaches out to touch, curious to explore <<childhis>> environment. You make sure <<childhe>> doesn't try to grasp anything too heavy or awkward.<<gstress>><<stress 6>> <<case "carryRevolt">> You scoop up the <<childtype>>. <<childHe>> revolts against being carried, and <<childhe>> kicks <<childhis>> legs. The longer you hold <<childhim>>, the more intense <<childhis>> cries become. Some of <<childhis>> kicks connect.<<gpain>><<gstress>><<pain 4>><<stress 6>> <<case "nurseryRhymes">> You recite a few nursery rhymes you remember from long ago. <<childHe>> looks alert as <<childhe>> listens to your voice. You make a few different tones and wait for <<childhis>> reaction. It seems to you like <<childhe>> recognises certain sounds and changes <<childhis>> expression accordingly. After a few more moments, <<childhe>> breaks eye contact and sucks on <<childhis>> thumb. <<case "FeetCup">> You gently cup <<childname>>'s right foot and count <<childhis>> toes, wriggling them before moving on to <<childhis>> next foot. <<childHe>> quiets, watching you with wide eyes as you move your finger from one toe to the next. <<case "shareThoughts">> You chat to <<childname>>, sharing your thoughts and waiting for a response. <<childHe>> doesn't seem to be paying much attention however.<<gstress>><<stress 6>> <<case "speakCry">> You speak to your baby, but <<childhis>> cries drown your words. <<childHis>> face turns a deeper shade of red with every minute you spend trying to talk to <<childhim>>.<<gstress>><<stress 6>> <<case "smilesAndLaughs">> You take <<childname>> in your arms, hoisting <<childhim>> to eye-level. The <<childtype>> is wide-eyed at the change at first, but then smiles and laughs. You repeat this several times, and soon have <<childhim>> laughing so hard that you can't help but smile yourself.<<llstress>><<stress -12>> <<case "talking">> You side beside <<childname>>, and begin to converse with <<childhim>>. <<childHe>> gives no indication of understanding you, but smiles at your presence and seems excited by your voice. Soon enough however, <<childhe>> becomes distracted by <<childhis>> own hands and falls silent. You get back on your feet.<<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "thumbSucking">> <<set $children[$childActivityEvent.childid].localVariables.talking++>> <<case "talking2">> You sit beside <<childname>>, and begin to converse with <<childhim>>. <<childHe>> gives no indication of understanding you, but smiles at your presence and tries to mimic your sounds. <<childHe>> soon becomes distracted by <<childhis>> hands however, and falls silent. You get back on your feet.<<llstress>><<stress -12>> <<set $children[$childActivityEvent.childid].localVariables.activity to "thumbSucking">> <<case "batheGentle">> <<wearProp "rag" "white">> You fill a small tub with warm water, and prepare the towels and a new nappy beforehand. You take <<childname>> in your arms gently, and carry <<childhim>> to the bathtub, making sure to put <<childhim>> in a safe position. <br><br> Next, you rub <<childname>> gently with the warm water, making sure to clean between the folds of skin, and holding <<childhis>> little body with one hand. The softness of <<childhis>> skin as you rub makes you feel extremely at ease. The baby seems to be tickled by your touches, and swings <<childhis>> legs in the water, making some of it splash on your clothes and face. You can't help but smile at the situation.<<ltrauma>><<trauma -6>> <br><br> You finish bathing <<childhim>>, lay <<childhim>> on a towel, and dry <<childhis>> body with softer fabric. You finish by changing <<childhis>> nappy and putting <<childhim>> back in <<childhis>> crib. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "batheShampoo">> <<wearProp "soap">> You fill a small tub with warm water, and prepare the towels and a new nappy beforehand. You take <<childname>> in your arms gently, and carry <<childhim>> to the bathtub, making sure to put <<childhim>> in a safe position. <br><br> Next, you gently rub <<childname>>'s head in circular motions with a handful of baby shampoo. The sweet aroma of strawberry fills the ambient, and bubbles begin to appear in the water. Your child seems curious, and periodically takes one of <<childhis>> fingers to the bubbles, popping them. <<childHis>> mellow laughter echoes through the room as <<childhe>> is distracted by the foam in the bathtub.<<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <br><br> You finish bathing <<childhim>>, lay <<childhim>> on a towel, and dry <<childhis>> body with softer fabric. You finish by changing <<childhis>> nappy and putting <<childhim>> back in <<childhis>> crib. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "BatheCalm">> <<wearProp "soap">> You fill a small tub with warm water, and prepare the towels and a new nappy beforehand. You take <<childname>> in your arms gently, and carry <<childhim>> to the bathtub, making sure to put <<childhim>> in a safe position. <br><br> Next, you start the bath by trying to soap your baby's body. <<childHe>> doesn't seem to like the feel of water on <<childhis>> skin, let alone seems to be enjoying your attempts to cleanse <<childhim>>. <<childname>> threatens to cry as you continue the bath, but you manage to calm <<childhim>> down after a little effort. <<childHe>> pouts in distaste until the end of the cleaning session. When you're finished, <<childhe>> doesn't seem to want to let you carry <<childhim>> back, and makes uncontent sounds when you pick <<childhim>> up.<<gstress>><<stress 6>> <br><br> You finish bathing <<childhim>>, lay <<childhim>> on a towel, and dry <<childhis>> body with softer fabric. You finish by changing <<childhis>> nappy and putting <<childhim>> back in <<childhis>> crib. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "batheTantrum">> <<wearProp "rag" "white">> You fill a small tub with warm water, and prepare the towels and a new nappy beforehand. You take <<childname>> in your arms gently, and carry <<childhim>> to the bathtub, making sure to put <<childhim>> in a safe position. <br><br> Just touching the water makes <<childname>> let out a high-pitched, incessant cry. <<childHe>> flails <<childhis>> legs and arms into the water trying to get free as you struggle to rub <<childhim>> properly. Water splashes quickly soak your clothes. <<childHe>> continues throwing a tantrum until the end of the bath, leaving you with a headache.<<gstress>><<stress 6>> <br><br> You finish bathing <<childhim>>, lay <<childhim>> on a towel, and dry <<childhis>> body with softer fabric. You finish by changing <<childhis>> nappy and putting <<childhim>> back in <<childhis>> crib. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "nappyChange">> <<wearProp "rag" "white">> <<childname>> looks uncomfortable. You notice a telling stink, so you fetch a nappy, and lay <<childhim>> flat. You remove the old nappy, and clean the <<childtype>>'s bottom diligently before giving <<childhim>> a fresh one. Clean and changed, <<childname>> looks up at you and smiles.<<lstress>><<stress -3>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "crawlingAttempt">> You approach <<childname>>. <<childHe>> lies on <<childhis>> belly, trying to move <<childherself>>. You side beside <<childhim>>, and take <<childhis>> hands in your own, and hold them to the ground to give <<childhim>> leverage. With your help, <<childhe>> manages to pull <<childhimself>> across the floor, bewildered and amused by <<childhis>> mobility. <<childHe>> gets the hang of it after a while, and you leave <<childhim>> to clumsily crawl on <<childhis>> own.<<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<set $children[$childActivityEvent.childid].localVariables.crawling++>> <<case "crawlingAttempt2">> You take the <<childtype>>'s hands in your own, and hoist <<childhim>> up, leaving only <<childhis>> feet on the ground. <<childHe>>'s confused at first, flailing <<childhis>> legs until <<childhe>> snags the ground with a kick and propels <<childherself>> forwards. <<childHis>> eyes widen at the revelation, and soon enough, with some effort and failed attempts, you have <<childhim>> moving with <<childhis>> own legs. With your help keeping <<childhim>> upright, of course. <<childHe>> grows tired after a while, and you let <<childhim>> down again.<<llstress>><<stress -10>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "grumpyChild">> <<childname>> sits alone, wearing a scowl on <<childhis>> infant face. You sit beside <<childhim>>, but <<childhe>> ignores you. Unable to help but smile at the grumpy child's expression, you begin to tickle <<childhim>>. <<childHe>>'s not ticklish, but is amused by your teasing fingers and the silly noises you make as you playfully attack <<childhis>> sides. The scowl is soon gone, and <<childhe>> giggles and smiles instead. Mission accomplished.<<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "thumbSucking">> <<case "readingAttempt">> <<wearProp "open book" 0 "storybook">> You sit beside <<childname>>, and pull <<childhim>> and the inverted book into your lap. You flip it open and begin to read the simple words to <<childhim>>. <<childHe>> follows along both your voice and the colourful pictures for a while, until <<childhe>> becomes distracted and rolls off your lap.<<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "readingCorrected">> <<case "babyRattle">> <<wearProp "rattle">> You sit beside <<childname>>. <<childHe>>'s looking down at a <<childtoy $location $childActivityEvent.toyid "lowercase">>. You take it in hand, and give it a shake, causing a cacophany of rattles. The <<childtype>> looks bewildered and intrigued, and reaches for this strange object. You give the <<childtoy $location $childActivityEvent.toyid "lowercase">> one last shake before handing it over for the <<childtype>> to experiment with. <<if _childTotalDays lte 40>> <<childHe>> simply drops it to the floor. <<elseif _childTotalDays lte 95 + random(0,20)>> <<childHe>> attempts to put the rattle into <<childhis>> mouth, but drops it to the floor after being unable to. <<else>> <<childHe>> starts give it a rattle while giggling. <</if>> <<lstress>><<stress -5>><<ltrauma>><<trauma -2>> <<case "teddyBear">> You tuck the <<childtoy $location $childActivityEvent.toyid "lowercase">> into <<childname>>'s arms. <<childHe>> grasps it tight, and nuzzles against it. <<childHe>> is soon asleep again. You spend a few calming moments watching <<childhim>>.<<ltrauma>><<trauma -6>><<lstress>><<stress -6>> <<if _toyid>> <<set $children[$childActivityEvent.childid].localVariables.activity to "teddyBear2">> <<set $children[$childActivityEvent.childid].localVariables.toy to clone(_toyName)>> <<switch _toyName>> <<case "red robot">><<wearProp "robot" "red">> <<case "green robot">><<wearProp "robot" "green">> <<case "baby doll">><<wearProp "baby doll">> <<case "clown">><<wearProp "clown toy">> <<case "Mr Teddy">><<wearProp "bear" 0 "mr teddy">> <<case "Mrs Teddy">><<wearProp "bear" 0 "mrs teddy">> <<default>><<wearProp "bear" 0 "teddy">> <</switch>> <</if>> <<case "toyCar">> <<wearProp "car">> You sit beside <<childname>>, and take the <<childtoy $location $childActivityEvent.toyid "lowercase">> from <<childhis>> flailing hands. You place it on the floor, and roll it back and forth. "Vroom! Vroom!" you say, rolling it back and forth as <<childname>> watches, enraptured. You hand <<childhim>> the toy. <br><br> <<if _childTotalDays lte 120 + random(0,20)>> <<childHe>> drops it on the floor before looking back at you. You can't help but smile as you climb to your feet again. <<else>> <<childHe>> looks at it with curiosity before mimicking your actions, making excited attempts to copy your sounds. You can't help but smile as you climb to your feet again. <</if>> <<lstress>><<stress -5>><<ltrauma>><<trauma -2>> <<case "dummy">> <<wearProp "dummy">> <<set _rng to random(0,100)>> You rush over to <<childname>>, and notice that <<childhis>> <<childtoy $location $childActivityEvent.toyid "lowercase">> lies on the floor beside <<childhim>>. <br><br> <<if $children[$childActivityEvent.childid].localVariables.acceptsDummy isnot false>> You pick up the dummy, clean it off with the hem of your <<top>>, lift the <<childtype>> into your arms, and attempt to pacify <<childhim>>. <br><br> <</if>> <<if $childActivityEvent.childCry lt 4 and (_rng lt 75 or $children[$childActivityEvent.childid].localVariables.acceptsDummy is true)>> <<childname>> takes a few moments to latch onto the <<childtoy $location $childActivityEvent.toyid "lowercase">>, but sucks loudly once <<childhe>> does. <<childHe>> is soon pacified once again. You deposit <<childhim>> on the floor.<<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "dummySucking">> <<set $children[$childActivityEvent.childid].localVariables.acceptsDummy to true>> <<elseif $childActivityEvent.childCry is 4 and $children[$childActivityEvent.childid].localVariables.acceptsDummy isnot false>> Despite your attempts, the <<childcry $childActivityEvent.childCry>> <<childname>> is crying and wiggling around too much to take the <<childtoy $location $childActivityEvent.toyid "lowercase">>. You abandon the attempt and instead begin to rock and soothe the <<childtype>> with soft coos and gentle humming. It's exhausting, but <<childhe>> soon calms down and nuzzles into your chest, the emotional distress and your tender parental attentions get the better of <<childhim>> and <<childhe>> falls asleep. <<gstress>><<stress 10>><<gtiredness>><<tiredness 5>> <br><br> You lay <<childname>> down to take <<childhis>> nap in peace. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<elseif $childActivityEvent.childCry lt 4 and $children[$childActivityEvent.childid].localVariables.acceptsDummy isnot false>> Despite your attempts, the <<childcry $childActivityEvent.childCry>> <<childname>> refuses to take the <<childtoy $location $childActivityEvent.toyid "lowercase">>. You abandon the attempt and instead begin to rock and soothe the <<childtype>> with soft coos and gentle humming. It's exhausting, but <<childhe>> soon calms down and nuzzles into your chest, the emotional distress and your tender parental attentions get the better of <<childhim>> and <<childhe>> falls asleep. <<gstress>><<stress 10>><<gtiredness>><<tiredness 5>> <br><br> You lay <<childname>> down to take <<childhis>> nap in peace. <<set $children[$childActivityEvent.childid].localVariables.acceptsDummy to false>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<else>> Knowing that <<childname>> will refuse the dummy, you begin to rock and soothe the <<childtype>> with soft coos and gentle humming. It's exhausting, but eventually <<childhe>> calms down and nuzzles into your chest, the emotional distress and your tender parental attentions get the better of <<childhim>> and <<childhe>> falls asleep. <<gtiredness>><<tiredness 5>> <br><br> You lay <<childname>> down to take <<childhis>> nap in peace. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <</if>> <<case "clown">> <<set _rng to random(0,2)>> <<set _output to ["happy","quiet","terrifying"]>> You sit beside <<childname>>, pick up hte toy <<childtoy $location $childActivityEvent.toyid "lowercase">>, and show it to <<childhim>>. <<childHe>> stares at the <<childtoy $location $childActivityEvent.toyid "lowercase">>, unsure what to make of it. You pull on the string, and the clown lets out a <<print _output[_rng]>> chuckle. <br><br> <<if _childTotalDays lte 105 + random(0,20)>> <<childHe>> looks at the toy briefly before looking back up to you. You place it on the floor, stand up, and leave the <<childtype>> to play. <<lstress>><<stress -3>><<ltrauma>><<trauma -3>> <<elseif random(0,100) lt 80>> The <<childtype>> bursts into a giggling fit and reaches for the <<childtoy $location $childActivityEvent.toyid "lowercase">>. You hand it over, stand up, and leave the <<childtype>> to play. <<lstress>><<stress -3>><<ltrauma>><<trauma -3>> <<set $children[$childActivityEvent.childid].localVariables.activity to "clownHappy">> <<else>> The <<childtype>> bursts into tears, and begins <<childcry 4>>. You can't blame <<childhim>>. <<gstress>><<stress 6>><<gtrauma>><<trauma 3>> <<set $children[$childActivityEvent.childid].localVariables.activity to "crying">> <</if>> /*NPCs*/ <<case "Robin">> <<npc "Robin">><<person1>> You approach Robin. <<childname>> snuggles up to <<him>>. They both giggle. <<if $childSelected.mother is "pc">> <<set _playerRole to "mummy">> <<elseif $childSelected.father is "pc">> <<set _playerRole to "daddy">> <<elseif $player.gender_appearance is "m">> <<set _playerRole to "daddy">> <<else>> <<set _playerRole to "mummy">> <</if>> <<switch random(1, 5)>> <<case 1>> "I think someone missed you," Robin says, passing you the <<childtype>>. <<case 2>> "So cute!" Robin says, passing you the <<childtype>>. <<case 3>> "Look," Robin says. "It's _playerRole." <<He>> passes you the <<childtype>>. <<case 4>> "Can you say, '_playerRole'?" Robin asks, watching the <<childtype>>. <<childHe>> responds with an inarticulate gurgle. Robin passes <<childhim>> to you. <<default>> "Can you point at _playerRole?" Robin asks the <<childtype>>. <<childHe>> doesn't point, but does look at you. Robin passes <<childhim>> over. <</switch>> <br><br> You hold <<childname>> in your arms while Robin leans in to talk. The <<childtype>> smiles alternatively at you and Robin. <<case "Wraith">> You watch in confusion as <<childname>> waves <<childhis>> hands around in happiness, cooing at thin air and reaching for nothing. <<if C.npc["Ivory Wraith"].love lte 5>> You scoop <<childhim>> up, expecting <<childhim>> to quiet down, but <<childhe>> continues to flap <<childhis>> little arms around. <br><br> You shiver as a chill runs down your spine. You fear you might not be alone, a familiar ringing in your ears making you tense up. <<stress 12>><<ggstress>> <br><br> <<childname>>'s laughter breaks the silence, forcing your thoughts to cease their racing. You look down at <<childhim>> and sigh. You manage a small smile, simply relieved that <<childhe>> seems happy. <<else>> Something starts to take shape above <<childhim>>. Something a terrible, familiar pale. You slowly and quietly approach <<childname>>'s crib, your eyes locked on the intruder. Your heart begins to pound. It's already picked <<childname>> up, slowly turning to you. You take a breath and brace yourself. <<ggstress>> <br><br> However, the pale figure's expression is calm. Serene, even. It holds <<childname>> tenderly and hums a soothing melody. It floats over to you, pressing its forehead to yours. A hand caresses your cheek. You look down at <<childname>>. <<childHe>> happily coos, reaching for you and smiling. <br><br> "<span class="wraith">Beautiful... So, so beautiful,</span>" it whispers, stroking <<childname>>'s hair. <<if $wraith.state is "haunt">> "<span class="wraith">An omen.</span>" <<lobsession 1>> <<elseif $wraith.state is "despair">> "<span class="wraith">A beacon of salvation amidst drowning despair.</span>" <<npcincr "Ivory Wraith" love 1>><<glove>><<gobsession 1>> <<else>> "<span class="wraith">A blessing.</span>" <<npcincr "Ivory Wraith" love 1>><<glove>> <</if>> <br><br> You can feel its palpable love for <<childname>>. Your heart almost skips a beat as the baby yawns and clings to the pale figure as <<childhe>> would to you. You're filled with relief. <<llstress>><<stress -12>> <br><br> The pale figure leans down, gingerly pressing a kiss to each of <<childhis>> cheeks. You can hear <<childhim>> giggle as <<childhe>> toys with a strand of the pale figure's silver hair. It cradles <<childhim>> close for just a moment longer, reluctant to let go. It then places <<childhim>> in your arms and floats to your other side, smiling. <br><br> You feel a pair of arms wrap around your shoulders, and a loving gaze on both you and <<childname>>. It continues to hum as its body flickers. The melody fades. You turn to look at it, but it has already disappeared. You look at <<childname>>. <<childHe>>'s fallen asleep. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <</if>> /*Wolf Specific*/ <<case "sleepingStroke">> You sit beside the slumbering <<childtype>>, and stroke <<childhis>> fur. <<childHe>> snorts, and pushes into your caressing hand. You spend a few moments together before rising to your feet. <<lstress>><<stress -5>> <<case "cuddleAndNap">> The <<wolf_cave_singular>> looks at you as you lie down beside it and <<childname>>. The sleepy pair adjust to make room for you, and you're soon snuggled close together. You enjoy this comfortable moment for a while, before rising to your feet. <<ltiredness>><<tiredness -6>><<lstress>><<stress -5>> <<case "cryingWolf">> You sit by the <<childcry>> <<childtype>>, and pull <<childhim>> into your lap. You hum, soothe, and stroke the <<childtype>>'s fur, giving the occasional soft scratch to <<childhis>> ears. <<childname>> calms, and begins to doze under your gentle attention. You gingerly place the sleeping <<childtype>> down and stand again. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "playing">> You drop to all fours, and join <<childname>> and the playing pups with enthusiasm. You encourage excitement and activity in your <<childtype>>, as well as the others, and try to keep the play friendly and safe. Exhausted, the pups take a moment to rest. You kiss <<childname>> on the head before climbing to your feet. <<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "curiousGaze">> You follow <<childname>>'s gaze to your legs. You walk in a circle. <<childHis>> eyes never leave your feet. Amused, you take a quick walk around the cave and the <<childtype>> follows you as best it can, transfixed by your movement. Eventually, <<childname>> grows bored, and lies down to rest, <<childhis>> curiosity sated. <<llstress>><<stress -10>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case"longingGaze">> Noticing your <<childtype>>'s longing gaze, you reach between <<childhis>> ears and give <<childhim>> a gentle scratch. <<childname>>'s tongue lolls from <<childhis>> mouth, and <<childhe>> pants happily as you scritch <<childhis>> ears. <<childHe>> gives you a sad look when you finish. <<case"playFighting">> You keep a close eye on the two as they tussle playfully. Slowly, they grow tired of each other and playful nips and yips turn into snaps and growls. You separate <<childname>> from <<childhis>> playmate before it can escalate further, ensuring each has a break from the other. They are soon playing in an amiable fashion once again. <<set $children[$childActivityEvent.childid].localVariables.activity to "playing">> <<case "fieldTrip">> You see <<childname>> looking outside the cave with curiosity. <<childHis>> fascination with the outside world isn't even broken when you bend down and pick <<childhim>> up. You walk outside and take a quick tour of the surrounding area. The <<childtype>>'s eyes widen, scanning over anything and everything with great interest. You finish sating <<childname>>'s curiosity, and deposit <<childhim>> back in the cave. <<llstress>><<stress -10>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "grumpyWolf">> <<childname>> growls at your approach. You flip the grumpy <<childtype>> on <<childhis>> back and rub <<childhis>> belly. The <<childtype>> resists at first, but soon gives in, panting and yipping happily. You leave <<childname>> more cheerful than you found <<childhim>>.<<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "playing">> <<case "hungryWolf">> You approach <<childname>>. <<childHe>>'s trying to find a way through the other pups, trying to reach the female <<wolf_cave_singular "f">>'s nipples to feed. <br><br> You pick <<childhim>> up and pet <<childhim>>, keeping the <<childcry>> <<childtype>>'s attention off <<childhis>> hunger. Soon enough, several feeding pups finish, making room. The <<childtype>> latches on, eager and greedy.<<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "gnawing">> You sit next to <<childname>> and grab ahold of the $pupToy. <<childHe>> growls as you gently pull on the makeshift toy and tugs it back. You continue tugging the $pupToy back and forth before finally letting <<childhim>> win. <<childname>> yips joyfully as <<childhe>> claims <<childhis>> prize and resumes playing with it, tail wagging with excitement. <br><br> Another pup, noticing your game, approaches <<childname>> and attempts to grab the $pupToy. You keep a close eye on the two of them, but thankfully, <<childname>>'s playmate doesn't seem interested in actually stealing the toy from <<childhim>>. You smile as the pups play tug-of-war together before standing up and leaving them to their own devices. <<set $children[$childActivityEvent.childid].localVariables.activity to "playing">> <<case "squeakyToy">> <<switch $phase>> <<case "squeaky sheep">><<wearProp "chew toy" 0 "sheep">><<set _squeakyToy to "squeaky sheep">> <<default>><<wearProp "chew toy" 0 "chicken">><<set _squeakyToy to "squeaky chicken">> <</switch>> You pick up the _squeakyToy and sit next to <<childname>>. <<childHe>> immediately sinks <<childhis>> fangs into it. The toy lets out a loud squeak in protest. You startle at the sudden sound, and <<childname>> yelps in surprise. <<gstress>><<stress 6>> <br><br> <<childHe>> drops the toy and looks at it with distrust. You spend the next several moments trying to reassure <<childhim>>. <<childHe>> calms down, but doesn't want to play with the _squeakyToy anymore. You decide to leave it be for now. <<set $children[$childActivityEvent.childid].localVariables.activity to "playing">> <<case "chewBone">> <<wearProp "chew toy" 0 "bone">> You sit next to <<childname>> and start digging alongside <<childhim>>. The dirt is hard, but you manage to make a shallow hole. <<childname>> picks up a toy bone and drops it in the hole. You sit back and watch as <<childhe>> buries it. After pushing the unearthed dirt back into the hole, <<childhe>> sits on the mound. <br><br> <<switch random(1,2)>> <<case 1>> You move to scritch <<childhis>> ears, but <<childhe>> gives a warning growl. <<childHe>>'s clearly preoccupied with protecting <<childhis>> bone. You back away, and <<childhe>> settles down. <<gstress>><<stress 6>> <<default>> You scritch <<childhis>> ears before standing up, and <<childhe>> gives a happy bark. <<lstress>><<stress -6>> <</switch>> <<case "chewRope">> <<wearProp "chew toy" 0 "rope">> You sit next to <<childname>> and grab ahold of the rope. <<childHe>> growls as you gently pull on the toy and tugs it back. You continue tugging the rope back and forth before finally letting <<childhim>> win. <<childname>> yips joyfully as <<childhe>> claims <<childhis>> prize, tail wagging with excitement. <br><br> <<childHe>> rolls onto <<childhis>> back and holds the rope with <<childhis>> <<childhands>>, chewing on it with renewed gusto. You smile as you stand back up. <<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "playing">> <<case "rollBall">> <<wearProp "chew toy" 0 "ball">> <<childname>> gives an enthusiastic bark as you pick up the ball. You gently roll it towards <<childhim>>. <<childHe>> <<= either("manages to catch it", "fumbles around with the ball", "stares at it")>> before rolling it back towards you <<if $children[$childSelected.childId].type is "wolf">>with <<childhis>> snout<<else>>with <<childhis>> tiny <<childhands>><</if>>. <br><br> You pass the ball back and forth for a bit, until <<childhe>>'s tuckered out. <<childHe>> curls up around the ball and falls asleep. You pet <<childhis>> head and stand up. <<lstress>><<stress -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> /*Hawk Specific*/ <<case "sleepingStrokeHawk">> You climb into the nest with the slumbering <<childtype>>, and stroke <<childhis>> <<if _childTotalDays lt 14>> tiny, pinkish feathers. <<else>> feathers. <</if>> <<childHe>> trills and pushes into your caressing hand. You spend a few moments together before rising to your feet. <<lstress>><<stress -5>> <<case "cuddleAndNapHawk">> <<npc "Great Hawk">> <<if $childActivityEvent.otherChildrenIds.length>> <<for _otherChildId range $childActivityEvent.otherChildrenIds>> <<childInteratedWith _otherChildId>> <<set $children[_otherChildId].localVariables.event to false>> <</for>> <<set _otherChildren to $childActivityEvent.otherChildrenIds.length>> <</if>> <<your_bird_text "cap">> nuzzles you as you lie down beside <<if _otherChildren gte 2>> <<bhim>>, <<childname>>, <<childrenNames $childActivityEvent.otherChildrenIds>>. <<elseif _otherChildren>> <<bhim>>, <<childname>> and <<childname $childActivityEvent.otherChildrenIds[0]>>. <<else>> <<bhim>> and <<childname>>. <</if>> <<if _otherChildren gte 2>> You're somehow able to fit within the large number of small bodies, and you're soon snuggled close together. <<elseif _otherChildren>> The trio adjust to make room for you, and you're soon snuggled close together. <<else>> The pair adjust to make room for you, and you're soon snuggled close together. <</if>> <br><br> You enjoy this comfortable moment for a while, before rising to your feet. <<ltiredness>><<tiredness -6>><<lstress>><<stress -5>> <<case "cryingHawk">> You sit by the <<childcry>> <<childtype>>, and pull <<childhim>> into your lap. You hum, soothe, and stroke the <<childtype>>'s <<if _childTotalDays lt 14>> tiny, pinkish feathers. <<else>> feathers. <</if>> <<childname>> calms, and begins to doze under your gentle attention. You gingerly place the sleeping <<childtype>> down and stand again. <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "pickUpHawk">> You scoop up the <<childtype>> and hold <<childhim>> close to your chest. The corners of your lips curve up into a dopey smile when you hear <<childhis>> <<if $children[$childActivityEvent.childid].features.monster is "monster">>giggles<<else>>tiny peeps and chirps<</if>>. <<if _childTotalDays lt 14>> <<childname>>'s sweet sounds make your heart flutter as you hold <<childhim>> close. <<else>> <<childname>>'s feathers tickle you as you hold <<childhim>> close. <</if>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "pretendFly">> You hold <<childname>> with both hands and gleefully hoist <<childhim>> up high above your head. <<childname>> looks down at you with sparkling eyes, letting <<childhis>> tiny wings take <<childhim>> on what might as well be a journey and a half in your secure grasp. You smile happily as the <<childtype>> flaps <<childhis>> wings<<if $children[$childActivityEvent.childid].features.monster is "monster">> and arms<</if>>. <br><br> One day, you recall, <<childhe>> will leave your nest and fly free. The thought makes you feel giddy and bittersweet. You hold <<childname>> close and stroke <<childhis>> small body. <<trauma -6>><<ltrauma>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "preen">> <<childname>> seems to be unable to reach feathers that have yet to separate. You take notice and scoop the <<childtype>> up. <<childname>> lets out a small chirp as you run your fingers through <<childhis>> feathers. You begin to tidy up <<childhis>> plumage, twisting interlocked tufts in your fingers to reveal soft, newly grown feathers. <<childname>> looks up at you happily, moving to poke at an idle strand of your hair with <<childhis>> <<childhand>>. You reckon this is <<childhis>> idea of grooming you. <<stress -6>><<lstress>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "perch">> You approach <<childname>>, noticing a discontented expression on <<childhis>> face. <<childHis>> eyes are locked on the tower's ledge. You're able to put two and two together, realising <<childname>> wants to go outside and hear you sing. <br><br> You pick <<childname>> up and make your way over to look down at the <<if Weather.isSnow>>moor, blanketed by snow.<<else>>green moor.<</if>> <<if $bird.state is "home" and ["sing","groom"].includes($bird.activity)>> <<npc "Great Hawk">> You take a seat next to <<your_bird_text>>, who looks to you and <<childname>> with surprise. A grin crosses your face as <<childname>> snuggles into your embrace. <br><br> You take a deep breath and begin to sing. A note leaves your mouth, and then another. You sing a lullaby, which your spouse joins in on. You hold <<childname>> close as you sing, each note growing more and more quiet when you see <<childhis>> eyes growing heavy. As you reach the end of your song, you hear a small <<if $children[$childActivityEvent.childid].features.monster is "monster">>"Wah!"<<else>>peep<</if>>. <br><br> <<childname>> <<if $children[$childActivityEvent.childid].features.monster is "monster">>sings<<else>>trills<</if>> a quiet mimic of your lullaby, nuzzling into your chest. The song doesn't last long before <<childhe>> has fallen asleep. You yearn for the day you'll be able to hear your child's true voice. <br><br> <<if $monster is 1>> "<<childname>> takes after us quickly," <<your_bird_text>> says with a hint of pride. <br><br> <</if>> <<else>> You take a seat right next to the most scenic overlook of the meadow below, a grin crossing your face as <<childname>> snuggles into your embrace. <br><br> You take a deep breath and begin to sing. A note leaves your mouth, and then another. You sing a lullaby of longing, the melody carried by the breeze to the world below. You hold <<childname>> close as you sing, each note growing more and more quiet when you see <<childhis>> eyes growing heavy. As you reach the end of your song, you hear a small <<if $children[$childActivityEvent.childid].features.monster is "monster">>"Wah!"<<else>>peep<</if>>. <br><br> <<childname>> <<if $children[$childActivityEvent.childid].features.monster is "monster">>sings<<else>>trills<</if>> a quiet mimic of your lullaby, nuzzling into your chest. The song doesn't last long before <<childhe>> has fallen asleep. You yearn for the day you'll be able to hear your child's true voice. <</if>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "bathe">> <<wearProp "rag">> You notice with your sharp eyes that <<childname>> is in need of bathing. You scoop the <<childtype>> into your arms despite <<childhis>> chirps of protest, walking in the direction of the rainwater pool. <br><br> <<if $bird.upgrades.pot is 3 and getBirdBurnTime() gt 0>> You set <<childname>> down gently and playfully splash some water onto <<childhis>> body. <<childHe>> fusses for a moment, but the warm water quickly calms <<childhim>> down. <br><br> <<childHe>> cooperates surprisingly well, letting you scrub the day's dirt and grime from <<childhis>> <<if _childTotalDays lt 14>> tiny pink feathers. Many of them are still stuck together. You take a piece of scrap fabric and dry <<childhim>>. <<else>> feathers. You take a piece of scrap fabric and dry <<childhim>>. <<childHis>> feathers immediately poof out. You can't help but giggle. <<stress -3>><<lstress>> <</if>> <<else>> You set <<childname>> down gently and playfully splash some water onto <<childhis>> body. <<childHe>> shoots you a glare and begins to thrash around in the bath. Rivulets of water splatter over you. <<stress 3>><<gstress>> <br><br> You sigh and begin to stroke <<childhis>> plumage with one hand while you shake your other free of water. <<childname>> looks up at you, having calmed down with the gentle motion of your hand against <<childhis>> small feathers. You smile and wash <<childhim>> clean of the day's dirt and grime. <br><br> When you're done, <<childname>> is squeaky clean, albeit wet and cold. You take some scrap fabric and wrap <<childname>> into a swaddle. You hold <<childhim>> gently in your arms. <<childHe>> seems content, happy to be done with such a hectic bath. Mission accomplished. <</if>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "batheHelp">> You spot <<childname>> dipping <<childhis>> legs into the rainwater pool. You walk over and lift <<childhim>> up, gently placing <<childhim>> all the way into the water. <<childHe>> happily lets you scrub <<childhis>> feathers. <br><br> <<childHe>> starts to splash at the water's surface with <<childhis>> <<childhands>> and <<childgiggles>>. You can't help but crack a smile. <<stress -3>><<lstress>> <br><br> You pull <<childhim>> from the pool. <<if $bird.upgrades.pot is 3 and getBirdBurnTime() gt 0>> <<childHe>> <<if $children[$childActivityEvent.childid].features.monster is "monster">>hugs<<else>>nuzzles<</if>> you, happy with <<childhis>> warm bath. <<else>> <<childHe>> shivers, so you waste no time drying <<childhim>> off. <</if>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "swingToy">> /* currently unreachable. credit writer as Anonymous when properly added */ You come up behind <<childname>> and lift <<childhim>> beneath the <<= $cmonster ? "arms," : "wings,">> setting <<childhim>> on the swing and giving it a little push. <<childHe>> <<= $cmonster ? "giggles" : "chirps">> and flaps <<childhis>> wings in excitement as <<childhe>> tries to swing higher. <<if _childTotalDays lt 14>> The wind rushes right through <<childhis>> undeveloped feathers, and you're easily able to keep control of <<childhis>> swings. <<else>> A couple times, <<childhe>> manages to catch the air with <<childhis>> wings and swing out of your reach. You worry briefly that <<childhe>> might fall, but <<childhe>> keeps <<childhis>> balance, and seems all the more excited for how close <<childhe>> gets to taking flight. <</if>> <br><br> <<childHe>> soon grows tired, chirping softly as you pick <<childhim>> up and gently return <<childhim>> to the nest. <<ltrauma>><<trauma -6>> <<set $children[$childActivityEvent.childid].localVariables.activity to "sleeping">> <<case "preeningToy">> /* currently unreachable. credit writer as mochamante when properly added */ You dangle the preening toy in front of <<childname>>, tugging gently at the fibers. Curious, the <<childtype>> hops closer, tilting <<childhis>> head to inspect it. After a few moments, you hook the toy onto the perch and step away, letting <<childhim>> engage with it at <<childhis>> own pace. <br><br> <<if _childTotalDays lte 40>> <<switch random(1,3)>> <<case 1>> Eventually, <<childname>> <<if $cmonster is 1>>tugs<<else>>pecks<</if>> at the toy in short bursts. <<childHe>> tentatively nibbles on the toy's soft fibers, pulling lightly at the strands before trying to preen it. <<childHis>> tiny <<= $cmonster is 1 ? "hands" : "beak">> are working diligently. You watch with pride as <<childhe>> seems to get the hang of it. <<stress -6>><<lstress>> <<case 2>> A moment later, <<childname>> hops closer and gives the toy a hesitant <<= $cmonster is 1 ? "tug." : "peck.">> <<childHe>> eventually starts preening the toy, practicing <<childhis>> grooming instincts. <<childHe>> seems content, chirping softly as <<childhe>> tugs at the toy. <<trauma -6>><<ltrauma>> <<default>> <<childname>> gives a hesitant <<= $cmonster is 1 ? "tug" : "peck">> at the toy before, then pulls on one of the dangling strands. The toy swings back, and <<childhe>> flinches, letting out a soft chirp of distress. <<childHe>> flutters away, wary of the toy. <<stress 3>><<gstress>> <</switch>> <<else>> <<switch random(1,4)>> <<case 1>> <<childname>> <<= either("ignores the toy completely and tries", "nibbles at it briefly before losing interest and attempting")>> to preen you instead. It tickles. <<lstress>><<ltrauma>><<stress -3>><<trauma -3>> <<case 2>> <<childname>> begins tugging at the loose fibers with <<childhis>> <<= $cmonster is 1 ? "hands," : "beak,">> mimicking preening motions. You watch as <<childhe>> grows more confident, fluffing <<childhis>> tiny feathers. <<ltrauma>><<trauma -6>> <<case 3>> <<childHe>> immediately preens the toy, chirping happily as <<childhe>> hops around it. <<childHis>> feathers puff up with contentment. <<lstress>><<stress -6>> <<default>> <<childHe>> watches intently, chirping with interest. <<childHe>> hops closer and <<= $cmonster is 1 ? "tugs" : "pecks">> at it. As <<childhe>> pulls at the threads, <<childhe>> occasionally looks to you for encouragement. <<ltrauma>><<trauma -6>> <</switch>> <</if>> <<default>> The event could not be found.<br> Event: $childActivityEvent.event Child: $childActivityEvent.childid <</switch>> <br><br> <<link [[Next|Childrens Home]]>><<unset $childActivityEvent>><<endevent>><</link>><<widget "alex_baby_interactions">> <<npc "Alex">> <<childSelectRandom "alex_cottage">> <<switch random(1,5)>> <<case 1>> You see Alex holding <<childname>> out in the fields, trying to explain the different plants and crops to <<childhim>>. <<childname>> curiously looks at them. <<lstress>><<stress -6>> <br><br> <<link [[Next|Farm Work]]>><<endevent>><<set $daily.farmBabyInteraction to 1>><</link>> <<case 2>> You see Alex trying to play with <<childname>>, but <<childhe>> seems to be distracted by a butterfly that flies around Alex. <br><br> <<link [[Next|Farm Work]]>><<endevent>><<set $daily.farmBabyInteraction to 1>><</link>> <<case 3>> You see Alex lying in a field with <<childname>> peacefully snoozing on <<his>> chest. <br><br> <<link [[Next|Farm Work]]>><<endevent>><<set $daily.farmBabyInteraction to 1>><</link>> <<case 4>> You see Alex holding <<childname>> near the chicken coop, trying to show them to <<childhim>>. One of the chickens squawks loudly, causing <<childname>> to burst into tears. <br><br> <<link [[Comfort (0:01)|Alex Children Interactions Chicken]]>><<set $phase to 1>><<pass 1>><</link>> <br> <<link [[Let Alex handle it (0:01)|Alex Children Interactions Chicken]]>><<set $phase to 2>><<pass 1>><</link>> <<case 5>> <<if C.npc.Alex.gender is "f">> You see Alex sitting under a tree with <<childname>> in <<his>> arms. <<His>> chest is exposed; <<hes>> probably breastfeeding <<childhim>>. <br><br> <<link [[Watch (0:10)|Alex Children Interactions Breastfeed]]>><</link>> <br> <<link [[Leave Alex to finish (0:01)|Farm Work]]>><<endevent>><<set $daily.farmBabyInteraction to 1>><</link>> <<else>> You see Alex trying to play with <<childname>>, but <<childhe>> seems to be distracted by a butterfly that flies around Alex. <br><br> <<link [[Next|Farm Work]]>><<endevent>><<set $daily.farmBabyInteraction to 1>><</link>> <</if>> <</switch>> <</widget>><<effects>> <<if $phase is 1>> You approach Alex, take <<childname>> into your arms, and start humming. <br><br> <<childHe>> soon starts to calm down and yawns. <br><br> Alex kisses your cheek. "Thanks," <<he>> says with a laugh. "I'm still not used to this." <br><br> "I'll take <<childhim>> back to the nursery," <<he>> says as you hand <<childname>> back to <<him>>. <<else>> Unsure what to do, Alex nervously starts to hum to distract <<childname>>. <<Hes>> off-key, but <<childname>> soon starts to calm down and laughs. <br><br> Alex sighs and takes <<childhim>> back to the nursery. <</if>> <br><br> <<link [[Next|Farm Work]]>><<endevent>><<set $daily.farmBabyInteraction to 1>><</link>><<effects>> <<switch random(1,2)>> <<case 1>> "I dunno how such a little thing can drink so much!" <<He>> laughs. <<case 2>> "Never thought this would be so tiring," <<he>> sighs. <</switch>> You follow <<him>> as <<he>> takes <<childname>> back to the nursery and places <<childhim>> in the cradle, where <<childhe>> falls asleep. <br><br> <<if hasSexStat("promiscuity", 3)>> <span class="lewd">A lewd idea strikes you.</span> <br> <<link [[Ask for a turn (0:15)|Alex Children Interactions Breastfeed 2]]>><<set $phase to 1>><</link>><<promiscuous3>> <br> <<link [[Let Alex be (0:01)|Alex Children Interactions Breastfeed 2]]>><<set $phase to 2>><</link>> <<else>> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <</if>><<effects>> <<set $alexBreasts to C.npc.Alex.breastsdesc>> <<if $phase is 1>> <<if $speech_attitude is "meek">> "D-do you think I could have some too?" <<elseif $speech_attitude is "bratty">> "Is there any left for me?" <<else>> "Can I have some too?" <</if>> you ask Alex as <<he>> fixes <<his>> bra. <<His>> face goes red as <<he>> processes your words. <br><br> "You, uh, what?" <<he>> says, embarrassed by your request. <br><br> You only give <<him>> a smile in response. "You're serious? I mean, I've been feeling kind of full these days, so I guess it wouldn't hurt to," <<he>> says. <br><br> <<He>> sits on the ground and gestures to you to get closer. Alex lays your head on <<his>> lap and brings your face closer to <<his>> $alexBreasts. You quickly envelop <<his>> nipple with your mouth and start to suck.<<ggarousal>><<arousal 600>> <br><br> <<He>> brushes your hair with <<his>> hand as <span class="lewd">sweet and creamy milk flows through your mouth.</span> You move to <<his>> other breast, making Alex moan.<<gglust>><<npcincr Alex lust 5>> <br><br> <<link [[Next|Alex Children Interactions Breastfeed 3]]>><<pass 15>><</link>> <<else>> Alex fixes <<his>> bra, pulls <<his>> shirt down, and leaves <<childname>> to sleep. <br><br> "Try not to wake <<childhim>>. It was a pain to get <<childhim>> to sleep," <<he>> says before leaving the nursery. <br><br> <<link [[Next|Farm Cottage]]>><<unset $alexBreasts>><<endevent>><<pass 1>><</link>> <</if>><<effects>> After a few minutes, the milk stops flowing and you move your mouth away from <<his>> $alexBreasts, leaving Alex panting. <br><br> "I think you're taking the term 'cow<<girl>>' too serious, pal," <<he>> laughs. <<He>> stands up and fixes <<his>> clothes before leaving the nursery. <br><br> <<link [[Next|Farm Cottage]]>><<unset $alexBreasts>><<endevent>><</link>><<effects>> <<if $phase is 1>> <<childSelectRandom "alex_cottage">> You enter the hallway and head upstairs to the nursery. The door is slightly open, and you can see Alex standing by <<childname>>'s cot. <br><br> "Hey partner, sorry if I woke ya," Alex says, not looking away from the cot. "Thought I heard our little fella crying." <br><br> <<link [[Next|Farm Cottage Nighttime Nursery 2]]>><</link>> <<else>> You ignore the sound, assuming Alex has just gone to check up on the baby. <br><br> <<if $bus is "farm_alex_room">> <<link [[Next|Farm Alex Bed]]>><<endevent>><</link>> <<else>> <<link [[Next|Farm Bed]]>><<endevent>><</link>> <</if>> <</if>><<effects>> You step closer, and Alex immediately wraps <<his>> arm around your shoulder before bumping <<his>> head against yours. <<His>> gaze is fixated on <<childname>>'s sleeping form. Being this close lets you get a good smell of alcohol, more so than normal. <br><br> "Never thought I would settle down with a kid, with the farm and all. Still feels surreal," Alex says while brushing <<his>> finger against the baby's cheek. <br><br> You mimic the action on the other cheek. <<childname>> stirs but soon settles down into both your touches. Alex softly chuckles. <<He>> pulls <<his>> hand away before turning to face you. <br><Br> "Come on now, let's get you back to bed," <<he>> says, gently pushing you along. <br><br> <<link [[Ask if <<he>> is okay|Farm Cottage Nighttime Nursery 3]]>><<npcincr Alex love 2>><</link>><<gglove>> <br> <<link [[Stay silent|Farm Cottage Nighttime Nursery 4]]>><<set $phase to 3>><</link>><<effects>> Alex looks slightly taken aback by the question. <<He>> freezes up before sighing. <<He>> turns away. <br><br> "I'm just nervous. Remy's breathing down our necks, and I got you, the little <<if childrenCountBetweenParents("Alex","pc") is 1 or childrenCountBetweenParents("pc","Alex") is 1>>fella<<else>>fellas<</if>>, and the farm to watch after." <br><br> <<link [[Supportive|Farm Cottage Nighttime Nursery 4]]>><<set $phase to 1>><<npcincr Alex dom -1>><<npcincr Alex love 1>><</link>><<glove>><<ldom>> <br> <<link [[Praise|Farm Cottage Nighttime Nursery 4]]>><<set $phase to 2>><<npcincr Alex dom 1>><<npcincr Alex love 1>><</link>><<glove>><<gdom>><<effects>> <<if $phase is 1>> "You got me as your support, you know. We are in this together." You pat <<his>> back which brings a smile to <<his>> face. <br><br> Alex looks back up at you and places a kiss on your lips. "What did I do to deserve a <<if $player.gender_appearance is "f">>woman<<else>>man<</if>> like you?" <br><br> <<elseif $phase is 2>> "And you do a damn good job taking care of everything." You lean down to place a kiss on <<his>> cheek, causing <<him>> to perk back up. <br><br> "Thanks partner. Good to know I got your approval of my work." <<He>> locks arms with you before kissing your forehead. <br><br> <</if>> Alex guides you back to bed, giving you one last goodnight kiss before going back to sleep. <br><br> <<if $bus is "farm_alex_room">> <<link [[Next|Farm Alex Bed]]>><<endevent>><</link>> <<else>> <<link [[Next|Farm Bed]]>><<endevent>><</link>> <</if>><<widget "childrenSetup">> <<if $children is undefined>> <<set $children to {}>> <</if>> <</widget>> <<widget "getUsedChildrenNames">> <<set _usedChildrenNames to []>> <<for $_label, $_value range $children>> <<run _usedChildrenNames.pushUnique($_value.name)>> <</for>> <</widget>> /*args[0] - filter in the form of an object, args[1] - "both" to include unrelated children or "only" to exclude the player children*/ <<widget "getChildrenIds">> <<set _childrenIds to []>> <<run Object.values($children).forEach(child => { if ((child.mother === "pc" || child.father === "pc") && _args[1] === "only") { return; } else if ((child.mother !== "pc" && child.father !== "pc") and !_args[1]) { return; } if (T.args[0] && !Object.entries(T.args[0]).every(([key, value]) => child[key] === value)) { return; } if (child.childId) T.childrenIds.push(child.childId); })>> <</widget>> /*args[0] - location, args[1] - min length requirement, args[2] - max length requirement, args[3] - "both" to include unrelated children or "only" to exclude the player children*/ <<widget "getSameBirthChildrenIds">> <<set _birthChildrenIds to {}>> <<for $_label, $_value range $children>> <<if $_value.mother isnot "pc" and $_value.father isnot "pc">> <<if _args[3] isnot "both" and _args[3] isnot "only">> <<continue>> <</if>> <<elseif _args[3] is "only">> <<continue>> <</if>> <<if !$_value.eggTimer and (_args[0] is undefined or $_value.location is _args[0])>> <<if _birthChildrenIds[$_value.birthId] is undefined>> <<set _birthChildrenIds[$_value.birthId] to []>> <</if>> <<run _birthChildrenIds[$_value.birthId].push($_value.childId)>> <</if>> <</for>> <<if _args[1]>> <<for $_label, $_value range _birthChildrenIds>> <<if $_value.length lt _args[1] or $_value.length gt _args[2]>> <<run delete _birthChildrenIds[$_label]>> <</if>> <</for>> <</if>> <</widget>> /*args[0] - location, args[1] - birthId, args[2] - new location*/ <<widget "moveChildren">> <<if _args[0] and _args[1]>> <<getSameBirthChildrenIds _args[0]>> <<if _birthChildrenIds[_args[1]] isnot undefined>> <<for $_i to 0; $_i lt _birthChildrenIds[_args[1]].length; $_i++>> <<set $children[_birthChildrenIds[_args[1]][$_i]].location to _args[2]>> <<if _args[2] is "home">> <<run setKnowsAboutPregnancy($children[_birthChildrenIds[_args[1]][$_i]].mother, "Bailey", $children[_birthChildrenIds[_args[1]][$_i]].mother + $children[_birthChildrenIds[_args[1]][$_i]].birthId)>> <</if>> <</for>> <</if>> <</if>> <</widget>> /*args[0] - childId, args[1] - new name*/ <<widget "childRename">> <<if _args[0]>> <<set $children[_args[0]].name to generateBabyName(_args[1], $children[_args[0]].gender, _args[0])>> <</if>> <</widget>> /*args[0] - childId, args[1] - set to display specific text output*/ <<widget "childAge">><<silently>> <<if _args[0]>> <<set _date1 to $children[_args[0]].born.day + " " + $children[_args[0]].born.month + " " + $children[_args[0]].born.year>> <<set _date2 to Time.monthDay + " " + Time.monthName + " " + Time.year>> <<set $_calc to Math.abs(Date.parse(_date2) - Date.parse(_date1))>> <<switch $children[_args[0]].type>> <<case "human" "wolf" "hawk">><<set _childTotalDaysCap to 200>> <<default>><<set _childTotalDaysCap to 0>> <</switch>> <<set _childTotalDays to Math.clamp(Math.ceil($_calc / (1000 * 60 * 60 * 24)), 0, _childTotalDaysCap)>> <<set _childYears to Math.floor(_childTotalDays / 360)>> <<set _childDays to Math.floor(_childTotalDays % 360)>> <<switch _args[1]>> <<case "full">> <<set $_text_output to _childYears + " year" + (_childYears isnot 1 ? "s, " : ", ") + _childDays + " day" + (_childDays isnot 1 ? "s " : " ") + "old">> <<case "year">> <<set $_text_output to _childYears + " year" + (_childYears isnot 1 ? "s" : "")>> <<case "day">> <<set $_text_output to _childDays + " day" + (_childDays isnot 1 ? "s" : " ")>> <<case "totalDays">> <<set $_text_output to _childTotalDays>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><<if _childTotalDaysCap is _childTotalDays>> <mouse class="tooltip linkBlue">(Capped)<span>Reached end of current child activity content</span></mouse><</if>><</if>><</widget>> /*:: Widgets children2 [widget]*/ /*args[0] - childId*/ <<widget "childSelect">> <<if _args[0] isnot undefined>> <<set $childSelected to $children[_args[0]]>> <<if $children[_args[0]].type isnot "human" and $children[_args[0]].features.monster is "monster">> <<set $cmonster to 1>> <<else>> <<set $cmonster to 0>> <</if>> <</if>> <</widget>> /*args[0] - childId*/ <<widget "childname">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<set $_text_output to $children[$_id].name>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId in an array*/ <<widget "childrenNames">><<silently>> <<if _args[0] isnot undefined>> <<set $_text_output to "">> <<for $_i to 0; $_i lt _args[0].length; $_i++>> <<set $_text_output += $children[_args[0][$_i]].name>> <<if $_i is _args[0].length - 1>> <<elseif $_i is _args[0].length - 2>> <<set $_text_output += " and ">> <<else>> <<set $_text_output += ", ">> <</if>> <</for>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId in an array*/ <<widget "childInteratedWith">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id>> <<set $_localVariables to $children[$_id].localVariables>> <<if $_localVariables.interactionsTotal is undefined>> <<set $_localVariables.interactionsTotal to 0>> <<set $_localVariables.interactions to 0>> <</if>> <<set $_localVariables.interactionsTotal++>> <<if $daily.childInteractions is undefined>><<set $daily.childInteractions to []>><</if>> <<if !$daily.childInteractions.includes($_id)>> <<set $_localVariables.interactions++>> <<run $daily.childInteractions.push($_id)>> <</if>> <<set $pregnancyStats.childInteractions++>> <<if $location is "home">><<set $pregnancyStats.orphanageInteractions++>><</if>> <</if>> <</silently>><</widget>> /*args[0] - childId*/ <<widget "childHe">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "He">> <<case "f" "h">><<set $_text_output to "She">> <<case "h">><<set $_text_output to "They">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childhe">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "he">> <<case "f" "h">><<set $_text_output to "she">> <<case "h">><<set $_text_output to "they">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childHis">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "His">> <<case "f" "h">><<set $_text_output to "Her">> <<case "h">><<set $_text_output to "Their">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childhis">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "his">> <<case "f" "h">><<set $_text_output to "her">> <<case "h">><<set $_text_output to "their">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childHim">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "Him">> <<case "f" "h">><<set $_text_output to "Her">> <<case "h">><<set $_text_output to "Them">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childhim">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "him">> <<case "f" "h">><<set $_text_output to "her">> <<case "h">><<set $_text_output to "them">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> <<widget "childhimself">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "himself">> <<case "f" "h">><<set $_text_output to "herself">> <<case "h">><<set $_text_output to "themselves">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childHers">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "His">> <<case "f" "h">><<set $_text_output to "Hers">> <<case "h">><<set $_text_output to "Theirs">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childhers">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "his">> <<case "f" "h">><<set $_text_output to "hers">> <<case "h">><<set $_text_output to "theirs">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childherself">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "himself">> <<case "f" "h">><<set $_text_output to "herself">> <<case "h">><<set $_text_output to "themself">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childsibling">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "brother">> <<case "f">><<set $_text_output to "sister">> <<case "h">><<set $_text_output to "sibling">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args - childId for each argument, OR one array argument with childIds */ <<widget "childsiblings">><<silently>> <<if _args[0] isnot undefined>> <<set $_brothers to 0>><<set $_sisters to 0>> <<if typeof _args[0] is "object">> <<for $_i to 0; $_i lt _args[0].length; $_i++>> <<switch $children[_args[0][$_i]].gender>> <<case "m">><<set $_brothers++>> <<case "f" "h">><<set $_sisters++>> <</switch>> <</for>> <<else>> <<for $_i to 0; $_i lt _args.length; $_i++>> <<switch $children[_args[$_i]].gender>> <<case "m">><<set $_brothers++>> <<case "f" "h">><<set $_sisters++>> <</switch>> <</for>> <</if>> <<set $_text_output to "">> <<if $_brothers gte 1>> <<set $_text_output += "brother">> <<if $_brothers gte 2>> <<set $_text_output += "s">> <</if>> <</if>> <<if $_brothers gte 1 and $_sisters gte 1>> <<set $_text_output += " and ">> <</if>> <<if $_sisters gte 1>> <<set $_text_output += "sister">> <<if $_sisters gte 2>> <<set $_text_output += "s">> <</if>> <</if>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childson">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].gender>> <<case "m">><<set $_text_output to "son">> <<case "f">><<set $_text_output to "daughter">> <<case "h">><<set $_text_output to "child">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args - childId for each argument, OR one array argument with childIds */ <<widget "childsons">><<silently>> <<if _args[0] isnot undefined>> <<set $_sons to 0>><<set $_daughters to 0>> <<if typeof _args[0] is "object">> <<for $_i to 0; $_i lt _args[0].length; $_i++>> <<switch $children[_args[0][$_i]].gender>> <<case "m">><<set $_sons++>> <<case "f" "h">><<set $_daughters++>> <</switch>> <</for>> <<else>> <<for $_i to 0; $_i lt _args.length; $_i++>> <<switch $children[_args[$_i]].gender>> <<case "m">><<set $_sons++>> <<case "f" "h">><<set $_daughters++>> <</switch>> <</for>> <</if>> <<set $_text_output to "">> <<if $_sons gte 1>> <<set $_text_output += "son">> <<if $_sons gte 2>> <<set $_text_output += "s">> <</if>> <</if>> <<if $_sons gte 1 and $_daughters gte 1>> <<set $_text_output += " and ">> <</if>> <<if $_daughters gte 1>> <<set $_text_output += "daughter">> <<if $_daughters gte 2>> <<set $_text_output += "s">> <</if>> <</if>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childhand">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].type>> <<case "human">><<set $_text_output to "hand">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "paw">> <<case "hawk">><<set $_text_output to ($children[$_id].features.monster is "monster" ? "hand" : "wing")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childhands">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$childSelected.childId].type>> <<case "human">><<set $_text_output to "hands">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "paws">> <<case "hawk">><<set $_text_output to ($children[$_id].features.monster is "monster" ? "hands" : "wings")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> <<widget "childfeet">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].type>> <<case "human">><<set $_text_output to "feet">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "paws">> <<case "hawk">><<set $_text_output to ($children[$_id].features.monster is "monster" ? "feet" : "legs")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> <<widget "childtoes">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].type>> <<case "human">><<set $_text_output to "toes">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "pads">> <<case "hawk">><<set $_text_output to ($children[$_id].features.monster is "monster" ? "toes" : "talons")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> <<widget "childfinger">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].type>> <<case "human">><<set $_text_output to "finger">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "claw">> <<case "hawk">><<set $_text_output to ($children[$_id].features.monster is "monster" ? "finger" : "wing")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childgiggles">><<silently>> <<if _args[0] isnot undefined>> <<set _id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set _id to $childSelected.childId>> <</if>> <<if _id isnot undefined>> <<switch $children[_id].type>> <<case "human">><<set $_text_output to "giggles">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "wags <<childhis _id>> tail">> <<case "hawk">><<set $_text_output to ($children[_id].features.monster is "monster" ? "giggles" : "ruffles <<childhis _id>> feathers")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childhair">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].type>> <<case "human">><<set $_text_output to "hair">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "fur">> <<case "hawk">><<set $_text_output to "feathers">> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - cry type, args[1] - childId */ <<widget "childcry">><<silently>> <<if _args[1] isnot undefined>> <<set $_id to _args[1]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<if between(_args[0], 1, 4)>> <<set $_cry to _args[0]>> <<else>> <<set $_cry to 1>> <</if>> <<switch $children[$_id].type>> <<case "human">> <<switch $_cry>> <<case 1>><<set $_text_output to "sniffling">> <<case 2>><<set $_text_output to "weeping">> <<case 3>><<set $_text_output to "sobbing">> <<case 4>><<set $_text_output to "wailing">> <</switch>> <<case "wolf" "wolfboy" "wolfgirl">> <<switch $_cry>> <<case 1>><<set $_text_output to "whining">> <<case 2>><<set $_text_output to "whimpering">> <<case 3>><<set $_text_output to "crying">> <<case 4>><<set $_text_output to "howling">> <</switch>> <<case "hawk">> <<switch $_cry>> <<case 1>><<set $_text_output to "chirping">> <<case 2>><<set $_text_output to "warbling">> <<case 3>><<set $_text_output to "trilling">> <<case 4>><<set $_text_output to "lilting">> <</switch>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId*/ <<widget "childtype">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined>> <<switch $children[$_id].type>> <<case "human">><<set $_text_output to "child">> <<case "wolf" "wolfboy" "wolfgirl">><<set $_text_output to "pup">> <<case "hawk">><<set $_text_output to ($children[$_id].features.monster is "monster" ? "nestling" : "chick")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - child object*/ <<widget "childTypeDisplay">><<silently>> <<if _args[0] and _args[0].childId>> <<if !(_args[0].type is "wolf" && _args[0].features.monster && _args[0].gender isnot "h")>> <<switch _args[0].gender>> <<case "m">><<set $_text_output to "Male ">> <<case "f">><<set $_text_output to "Female ">> <<case "h">><<set $_text_output to "Hermaphrodite ">> <</switch>> <<else>> <<set $_text_output to "">> <</if>> <<if _args[0].type isnot "human">> <<if _args[0].features.monster>> <<switch _args[0].type>> <<case "wolf">> <<set $_text_output += "Wolf">> <<switch _args[0].gender>> <<case "m">><<set $_text_output += "boy">> <<case "f">><<set $_text_output += "girl">> <<default>><<set $_text_output += "kid">> <</switch>> <<case "hawk">> <<set $_text_output += "Harpy">> <</switch>> <<else>> <<set $_text_output += _args[0].type.toUpperFirst()>> <</if>> <<else>> <<set $_text_output += "Human<<if _args[0].features.beastTransform or _args[0].features.divineTransform>> (<<childTransform _args[0]>>)<</if>>">> <</if>> <</if>> <</silently>><<if $_text_output>><span class="gold">Type:</span> <<print $_text_output>><</if>> <</widget>> <<widget "childTransform">><<silently>> <<if _args[0] and _args[0].childId>> <<set $_child to _args[0]>> <<elseif _args[0] isnot undefined>> <<set $_id to _args[0]>> <<set $_child to $children[$_id]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <<set $_child to $children[$_id]>> <</if>> <<if $_child isnot undefined>> <<set $_text_output to "">> <<switch $_child.features.divineTransform>> <<case "angel">><<set $_text_output += "Angelic">> <<case "demon">><<set $_text_output += "Demonic">> <<case "fallen">><<set $_text_output += "Fallen">> <</switch>> <<if $_child.features.divineTransform and $_child.features.beastTransform>><<set $_text_output += " ">><</if>> <<switch $_child.features.beastTransform>> <<case "cat">><<set $_text_output += "Cat" + ($_child.gender === "m" ? "boy" : "girl")>> <<case "cow">><<set $_text_output += "Cow" + ($_child.gender === "m" ? "boy" : "girl")>> <<case "wolf">><<set $_text_output += "Wolf" + ($_child.gender === "m" ? "boy" : "girl")>> <<case "bird">><<set $_text_output += "Bird" + ($_child.gender === "m" ? "boy" : "girl")>> <<case "fox">><<set $_text_output += "Fox" + ($_child.gender === "m" ? "boy" : "girl")>> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - childId, args[1] - word*/ <<widget "childFirstWord">><<silently>> <<if _args[0] isnot undefined>> <<set $_id to _args[0]>> <<elseif $childSelected isnot undefined>> <<set $_id to $childSelected.childId>> <</if>> <<if $_id isnot undefined and !$children[$_id].localVariables.firstWord>> <<set $_text_output to $children[$_id].localVariables.firstWord.word>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - location, args[1] - toyid, toy set or toy name, args[2] - option of either "notext" or "lowercase"*/ <<widget "childtoy">><<silently>> <<set _toys to $storedChildrenToys[_args[0]]>> <<if _toys>> <<if between(_args[1], 0, _toys.length - 1)>> <<set _toy to _toys[_args[1]]>> <<elseif _args[1]>> <<set _toySelect to []>> <<for $_i to 0; $_i lt _toys.length; $_i++>> <<if _toys[$_i].set is _args[1] or _toys[$_i].name is _args[1]>> <<run _toySelect.push($_i)>> <</if>> <</for>> <<if _toySelect.length gt 0>> <<set _toyid to _toySelect[random(0,_toySelect.length - 1)]>> <<set _toy to _toys[_toyid]>> <</if>> <<else>> <<set _toyid to random(0,_toys.length - 1)>> <<set _toy to _toys[_toyid]>> <</if>> <<if _toy>> <<switch _args[2]>> <<case "notext">> <<case "lowercase">> <<set $_text_output to clone(_toy.name_lower)>> <<set _toyName to clone(_toy.name_lower)>> <<default>> <<set $_text_output to clone(_toy.name)>> <<set _toyName to clone(_toy.name)>> <</switch>> <</if>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>><</widget>> /*args[0] - location*/ <<widget "childSelectRandom">> <<set $childSelected to Object.values($children).filter(child => !_args[0] or child.location === _args[0]).random()>> <</widget>> <<widget "childViewerDisplay">> <<set _idList to _args[0]>> <<set _listMaxItems to 10>> <<set _listPage to 1>> <<set _listPageMax to Math.ceil(_idList.length / _listMaxItems)>> <<set _childStart to 0>> <<set _childEnd to (_childStart + _listMaxItems gt _idList.length ? _idList.length : _childStart + _listMaxItems)>> <div id="childViewer"> <<childViewerDisplayElements>> </div> <</widget>> <<widget "childViewerPageUpdate">> <<set _childStart to _listMaxItems * (_listPage - 1)>> <<set _childEnd to (_childStart + _listMaxItems lte _idList.length ? _childStart + _listMaxItems : _idList.length)>> <<replace '#childViewer'>> <<childViewerDisplayElements>> <</replace>> <</widget>> <<widget "childViewerDisplayElements">> <div class="settingsGrid m-0 childContainer"> <<for $_i to _childStart; $_i lt _childEnd; $_i++>> <<set _childId to _childrenIds[$_i]>> <<capture _childId>> <div @id="'child-' + _childId"> <<childViewerElement `_childId`>> </div> <</capture>> <</for>> </div> <br> <div class="childrenUiControls"> <<set _disabled = _listPage > 1 ? "" : "disabled">> <div @class="'div-link btn-pagination prev ' + _disabled"> <<link "Previous">> <<if _listPage > 1>> <<set _listPage -= 1>> <<childViewerPageUpdate>> <</if>> <</link>> <div class="btn-pagination-arrow">&lt;</div> </div> <div> <<print (_listPage) + " out of " + _listPageMax>> </div> <<set _disabled = _listPage < _listPageMax ? "" : "disabled">> <div @class="'div-link btn-pagination next ' + _disabled"> <<link "Next">> <<if _listPage < _listPageMax>> <<set _listPage += 1>> <<childViewerPageUpdate>> <</if>> <</link>> <div class="btn-pagination-arrow">&gt;</div> </div> </div> <<run linkifyDivs('#childViewer')>> <</widget>> <<widget "childViewerElement">> <<if _children is undefined>> <<set _children to {}>> <</if>> <<capture _args>> <div class="settingsToggleItem m-0 childName"> <div> <label><div><<childrenicon _args[0]>></div><div>Name:</div> <div><<textbox "_children[_args[0]]" `$children[_args[0]].name`>></div></label> </div> </div> <div class="settingsToggleItem m-0 childDetails"> <<childTypeDisplay $children[_args[0]]>> <span class="no-numberify"> | <<link "Extra Details">><<childViewerHiddenElementsUnhide _args[0]>><</link>> </span> <<childViewerHiddenElements _args[0] _args[1]>> <<childActivity _args[0]>> </div> <</capture>> <</widget>> <<widget "childViewerHiddenElements">> <<if _args[0]>> <div @id="'childViewerHidden-'+_args[0]" @class="'childViewerHidden' + (_args[1] ? '' : ' hidden')"> <span class="gold">Mother:</span> <<if $children[_args[0]].motherKnown>> <<print pregnancyNameCorrection($children[_args[0]].mother, true)>> <<else>> ???? <</if>> | <span class="gold">Father:</span> <<if $children[_args[0]].fatherKnown>> <<print pregnancyNameCorrection($children[_args[0]].father, true)>> <<else>> ???? <</if>> <br> <<if $children[_args[0]].laid>> <span class="gold">Laid:</span> <<print $children[_args[0]].laid.day + " " + $children[_args[0]].laid.month + " " + $children[_args[0]].laid.year>> <span class="gold">Hatched:</span> <<print $children[_args[0]].born.day + " " + $children[_args[0]].born.month + " " + $children[_args[0]].born.year>> <<else>> <span class="gold">Born:</span> <<print $children[_args[0]].born.day + " " + $children[_args[0]].born.month + " " + $children[_args[0]].born.year>> <</if>> <<if $children[_args[0]].adopted>> <span class="gold">Adopted:</span> <<print $children[_args[0]].adopted.day + " " + $children[_args[0]].adopted.month + " " + $children[_args[0]].adopted.year>> <</if>> <br> <span class="gold">Age:</span> <<childAge _args[0] "full">> <br> <span class="gold">Size:</span> <<print $children[_args[0]].features.size>> | <span class="gold">Hair:</span> <<hairmapcolourtext $children[_args[0]].features.hairColour>> <<if $children[_args[0]].features.skinColour>> | <span class="gold">Skin:</span> <<skinColourName $children[_args[0]].features.skinColour>> <</if>> <br> <<if $children[_args[0]].features.identical>> <span class="gold">Identical:</span> <<print $children[_args[0]].features.identical>> <br> <</if>> <<if $children[_args[0]].localVariables.interactionsTotal>> <span class="gold">Total Interactions:</span> <<print $children[_args[0]].localVariables.interactionsTotal>> <br> <</if>> <span class="no-numberify"> <span class="gold">Rename:</span> <<link "Random Name">> <<set $children[_args[0]].name to generateBabyName(undefined, $children[_args[0]].gender, _args[0])>> <<replace `"#child-" + _args[0]`>><<childViewerElement _args[0] true>><</replace>> <</link>> </span> <br> <small> ChildId: <<print $children[_args[0]].childId>>. saveId: <<print $saveId>>. <<if $saveName isnot "">> | name: <<print $saveName>>. <</if>> </small> </div> <</if>> <</widget>> <<widget "childViewerHiddenElementsUnhide">> <<capture _args>> <<if _args[0]>> <<toggleclass `'#childViewerHidden-' + _args[0]` "hidden">> <</if>> <</capture>> <</widget>> <<widget "childActivity">> <<if _args[0]>> <<childAge _args[0]>> <<childSelect _args[0]>> /*'updateChildActivity' Changes the current event if enough time has passed*/ <<updateChildActivity _args[0]>> <hr> <<switch $children[_args[0]].type>> <<case "human">><<humanChildActivity _args[0]>> <<case "wolf" "wolfboy" "wolfgirl">><<wolfChildActivity _args[0]>> <<case "hawk">><<hawkChildActivity _args[0]>> <</switch>> <</if>> <</widget>> /*ToDo: Pregnancy Story Content: Lacking events. Human children events which the place accesses by going to the childrens UI*/ <<widget "humanChildActivity">> <<set _activityColour to !$daily.childInteractions or !$daily.childInteractions.includes(_args[0]) ? " childrensActivityGold" : "">> <span @class="'no-numberify' + _activityColour"> <<switch $children[_args[0]].localVariables.activity>> <<case "noEvent">> <<childHe>>'s sleeping soundly. <<case "sleeping">> <<childHe>>'s sleeping soundly. <<if $children[_args[0]].localVariables.event>> <br> <<set _rng to random(1, 6)>> <<switch _rng>> <<case 1>> <<link [[Watch <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"transfixed", childid:_args[0]}>><</link>> <<case 2>> <<link [[Watch <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"stroke", childid:_args[0]}>><</link>> <<case 3>> <<link [[Watch <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"yawn", childid:_args[0]}>><</link>> <<case 4>> <<link [[Watch <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"murmur", childid:_args[0]}>><</link>> <<case 5>> <<link [[Nap (0:30)|Children Activity Events]]>><<pass 30>><<set $childActivityEvent to {event:"cotNap", childid:_args[0]}>><</link>> <<default>> <<link [[Watch <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"shiverInCot", childid:_args[0]}>><</link>> <</switch>> <</if>> <<case "restlessSleep">> <<childHe>>'s moving restlessly in <<childhis>> sleep. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Calm <<childhim>> down (0:30)|Children Activity Events]]>><<pass 30>><<set $childActivityEvent to {event:"restlessSleep", childid:_args[0]}>><</link>> <</if>> <<case "crying">> <<childHe>>'s distressed and crying. <<if $children[_args[0]].localVariables.event>> <br> <<set _rng to random(1, 6)>> <<switch _rng>> <<case 1>> <<link [[Comfort (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"holdToShoulder", childid:_args[0]}>><</link>> <<case 2>> <<link [[Comfort (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"melodicLullaby", childid:_args[0]}>><</link>> <<case 3>> <<link [[Comfort (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"foreheadKiss", childid:_args[0]}>><</link>> <<case 4>> <<link [[Comfort (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"objectShow", childid:_args[0]}>><</link>> <<case 5>> <<link [[Comfort (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"carryRevolt", childid:_args[0]}>><</link>> <<default>> <<link [[Comfort (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"rockToSleep", childid:_args[0]}>><</link>> <</switch>> <</if>> <<case "lonely">> <<childHe>>'s looking lonely. <<if $children[_args[0]].localVariables.event>> <br> <<set _rng to random(1, 10)>> <<switch _rng>> <<case 1>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"nurseryRhymes", childid:_args[0]}>><</link>> <<case 2>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"FeetCup", childid:_args[0]}>><</link>> <<case 3>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"shareThoughts", childid:_args[0]}>><</link>> <<case 4>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"speakCry", childid:_args[0]}>><</link>> <<case 5>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"waveTongue", childid:_args[0]}>><</link>> <<case 6>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"handsClap", childid:_args[0]}>><</link>> <<case 7>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"peekaboo", childid:_args[0]}>><</link>> <<case 8>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"blowRaspberriesHappy", childid:_args[0]}>><</link>> <<case 9>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"blowRaspberriesUpset", childid:_args[0]}>><</link>> <<default>> <<link [[Soothe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"faceStudy", childid:_args[0]}>><</link>> <</switch>> <</if>> <<case "happy">> <<childHe>>'s smiling and happily cooing. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Smile and laugh (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"smilesAndLaughs", childid:_args[0]}>><</link>> <</if>> <<case "talking">> <<childHe>>'s gurgling and babbling to <<childherself>>. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Join in the babbling (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"talking", childid:_args[0]}>><</link>> <</if>> <<case "talking2">> <<childHe>>'s gurgling and attempting to make sounds to <<childherself>>. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Join in the talking (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"talking2", childid:_args[0]}>><</link>> <</if>> <<case "nappyChange">> <<childHe>>'s looking uncomfortable and smells. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Clean up (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"nappyChange", childid:_args[0]}>><</link>> <</if>> <<case "bathe">> <<childHe>> is looking ready for a bath. <<if $children[_args[0]].localVariables.event>> <<switch random(1, 4)>> <<case 1>> <<link [[Bathe (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"batheGentle", childid:_args[0]}>><</link>> <<case 2>> <<link [[Bathe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"batheShampoo", childid:_args[0]}>><</link>> <<case 3>> <<link [[Bathe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"BatheCalm", childid:_args[0]}>><</link>> <<case 4>> <<link [[Bathe (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"batheTantrum", childid:_args[0]}>><</link>> <<default>> <</switch>> <</if>> <<case "thumbSucking">> <<childHe>>'s happily sucking on <<childhis>> thumb. <<case "grumpyChild">> <<childHe>>'s being irritable. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Tickle (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"grumpyChild", childid:_args[0]}>><</link>> <</if>> <<case "crawlingAttempt">> <<childHe>>'s lying on <<childhis>> belly and flailing about. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Help <<childhim>> out (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"crawlingAttempt", childid:_args[0]}>><</link>> <</if>> <<case "crawlingAttempt2">> <<childHe>>'s slowly crawling about the room. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Help <<childhim>> out (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"crawlingAttempt2", childid:_args[0]}>><</link>> <</if>> <<case "readingAttempt">> <<childHe>>'s looking at a children's book upside down. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Flip the book (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"readingAttempt", childid:_args[0]}>><</link>> <</if>> <<case "readingCorrected">> <<childHe>>'s looking at a children's book. <<case "babyRattle">> <<childtoy $location "baby rattles" "notext">> <<if _toyid>> <<childHe>>'s staring at a <<childtoy $location _toyid "lowercase">>. <<if $children[_args[0]].localVariables.event>> <br> <<capture _toyid>><<link [[Shake it (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"babyRattle", childid:_args[0], toyid:_toyid}>><</link>><</capture>> | <</if>> <<else>> <<humanChildActivityNoToy _args[0]>> <</if>> <<case "teddyBear">> <<childtoy $location "teddy bears" "notext">> <<if _toyid>> <<childHe>>'s turning and tossing in <<childhis>> sleep by a <<childtoy $location _toyid "lowercase">>. <<if $children[_args[0]].localVariables.event>> <br> <<capture _toyid>><<link [["Give " + _toyName + " (0:05)"|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"teddyBear", childid:_args[0], toyid:_toyid}>><</link>><</capture>> | <</if>> <<else>> <<humanChildActivityNoToy _args[0]>> <</if>> <<case "teddyBear2">> <<childHe>>'s sleeping soundly by <<childhis>> <<print $children[_args[0]].localVariables.toy>>. <<case "toyCar">> <<childtoy $location "toy cars" "notext">> <<if _toyid>> <<childHe>>'s waving a <<childtoy $location _toyid "lowercase">> in the air. <<if $children[_args[0]].localVariables.event>> <br> <<capture _toyid>><<link [[Play with <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"toyCar", childid:_args[0], toyid:_toyid}>><</link>><</capture>> | <</if>> <<else>> <<humanChildActivityNoToy _args[0]>> <</if>> <<case "dummy">> <<childtoy $location "dummies" "notext">> <<if _toyid>> <<set _rng to random(1,4)>> <<childHe>>'s <<childcry _rng>>. There's a <<childtoy $location _toyid "lowercase">> on the floor nearby. <<if $children[_args[0]].localVariables.event>> <br> <<capture _toyid _rng>><<link [[Pacify (0:15)|Children Activity Events]]>><<pass 15>><<set $childActivityEvent to {event:"dummy", childid:_args[0], toyid:_toyid, childCry:_rng}>><</link>><</capture>> | <</if>> <<else>> <<humanChildActivityNoToy _args[0]>> <</if>> <<case "dummySucking">> <<childHe>>'s suckling loudly on <<childhis>> dummy. <<case "clown">> <<childtoy $location "clown" "notext">> <<if _toyid>> <<childHe>>'s looking at a <<childtoy $location _toyid "lowercase">> with an unsure expression. <<if $children[_args[0]].localVariables.event>> <br> <<capture _toyid>><<link [[Play with <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"clown", childid:_args[0], toyid:_toyid}>><</link>><</capture>> | <</if>> <<else>> <<humanChildActivityNoToy _args[0]>> <</if>> <<case "clownHappy">> <<if _childTotalDays lt 199>> <<childHe>>'s playing happily looking between the clown and you. <<else>> <<childHe>>'s playing happily with the clown, pulling its cord and making it chuckle every now and then. <</if>> <<case "Robin">> <<if getRobinLocation() isnot "orphanage" or $location is "alex_cottage">> <<childHe>>'s happily sucking on <<childhis>> thumb. <<else>> Robin cradles <<childhim>>. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Hold (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"Robin", childid:_args[0]}>><</link>> <</if>> <</if>> <<case "Wraith">> <<childHe>>'s laughing and reaching for something unseen. <br> <<link [[Watch <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"Wraith", childid:_args[0]}>><</link>> <<default>> <<childHe>>'s has figured out that they're in a video game (This is an error, please report). <<print $children[_args[0]].localVariables.activity>> <</switch>> </span> <</widget>> <<widget "humanChildActivityNoToy">> <<childHe>>'s sleeping soundly. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Watch <<childhim>> (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"shiverInCot", childid:_args[0]}>><<set $child_played.pushUnique(_args[0])>><</link>> <</if>> <</widget>> /*ToDo: Pregnancy Story Content: Lacking events. Wolf pups events which the place accesses by going to the childrens UI*/ <<widget "wolfChildActivity">> <span class="no-numberify"> <<switch $children[_args[0]].localVariables.activity>> <<case "noEvent">> <<childHe>>'s sleeping soundly. <<case "sleeping">> <<childHe>>'s sleeping on <<childhis>> own. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Stroke head (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"sleepingStroke", childid:_args[0]}>><</link>> <</if>> <<case "sleepingWithWolf">> <<childHe>>'s sound asleep while cuddled up against another <<if $monster is 1>>wolfgirl<<else>>female wolf<</if>>. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Cuddle up to (0:30)|Children Activity Events]]>><<pass 30>><<set $childActivityEvent to {event:"cuddleAndNap", childid:_args[0]}>><</link>> <</if>> <<case "crying">> <<childHe>>'s distressed and <<childcry>>. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Comfort <<childhim>> (0:15)|Children Activity Events]]>><<pass 15>><<set $childActivityEvent to {event:"cryingWolf", childid:_args[0]}>><</link>> <</if>> <<case "playing">> <<childHe>>'s playing with some other pups. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Join in (0:15)|Children Activity Events]]>><<pass 15>><<set $childActivityEvent to {event:"playing", childid:_args[0]}>><</link>> <</if>> <<case "watchingCurious">> <<childHe>>'s watching you with a curious expression. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Sate curiosity (0:30)|Children Activity Events]]>><<pass 30>><<set $childActivityEvent to {event:"curiousGaze", childid:_args[0]}>><</link>> <</if>> <<case "watchingLonging">> <<childHe>>'s watching you with a longing expression. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Scratch ears (0:30)|Children Activity Events]]>><<pass 30>><<set $childActivityEvent to {event:"longingGaze", childid:_args[0]}>><</link>> <</if>> <<case "playFighting">> <<childHe>>'s play fighting with another pup. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Calm <<childhim>> (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"playFighting", childid:_args[0]}>><</link>> <</if>> <<case "staringOutside">> <<childHe>>'s staring out of the cave. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Go for a walk (0:30)|Children Activity Events]]>><<pass 30>><<set $childActivityEvent to {event:"fieldTrip", childid:_args[0]}>><</link>> <</if>> <<case "grumpyWolf">> <<childHe>>'s sitting alone and snapping at any who come near. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Cheer up (0:15)|Children Activity Events]]>><<pass 15>><<set $childActivityEvent to {event:"grumpyWolf", childid:_args[0]}>><</link>> <</if>> <<case "hungryWolf">> <<childHe>>'s <<childcry>> in front of an overcrowded female <<wolf_cave_singular "f">>. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Help finding a nipple (0:15)|Children Activity Events]]>><<pass 15>><<set $childActivityEvent to {event:"hungryWolf", childid:_args[0]}>><</link>> <</if>> <<case "gnawing">> <<childHe>>'s gnawing on <<switch random(1,4)>> <<case 1>>a shed antler. <<set $pupToy to "antler">> <<case 2>>a deer bone. <<set $pupToy to "bone">> <<case 3>>an old rubber boot. <<set $pupToy to "boot">> <<case 4>>a dead branch. <<set $pupToy to "stick">> <</switch>> <<if $children[_args[0]].localVariables.event>> <br> <<link [[Play tug of war (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"gnawing", childid:_args[0]}>><</link>> <</if>> <<case "squeakyToy">> <<silently>><<childtoy $location "chew toys" "lowercase">><</silently>> <<if _toyName?.includes("squeaky")>> <<childHe>>'s looking at a _toyName with curiosity. <<if $children[_args[0]].localVariables.event>> <br> <<capture _toyName>><<link [[Give squeaky toy (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"squeakyToy", childid:_args[0]}>><<set $phase to _toyName>><</link>><</capture>> <</if>> <<else>> <<set $children[_args[0]].localVariables.activity to "sleeping">> <<wolfChildActivity _args[0]>> <</if>> <<case "chewRope">> <<silently>><<childtoy $location "chew toys" "lowercase">><</silently>> <<if _toyName?.includes("rope")>> <<childHe>>'s chewing on a colourful rope toy. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Play tug of war (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"chewRope", childid:_args[0]}>><</link>> <</if>> <<else>> <<set $children[_args[0]].localVariables.activity to "sleeping">> <<wolfChildActivity _args[0]>> <</if>> <<case "chewBone">> <<silently>><<childtoy $location "chew toys" "lowercase">><</silently>> <<if _toyName?.includes("bone")>> <<if $children[_args[0]].localVariables.event>> <<childHe>>'s trying to dig a hole. <br> <<link [[Help dig (0:20)|Children Activity Events]]>><<pass 20>><<set $childActivityEvent to {event:"chewBone", childid:_args[0]}>><</link>> <<else>> <<childHe>>'s guarding <<childhis>> buried bone. <</if>> <<else>> <<set $children[_args[0]].localVariables.activity to "sleeping">> <<wolfChildActivity _args[0]>> <</if>> <<case "rollBall">> <<silently>><<childtoy $location "chew toys" "lowercase">><</silently>> <<if _toyName?.includes("ball")>> <<childHe>>'s nudging a ball closer to you. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Roll ball (0:15)|Children Activity Events]]>><<pass 15>><<set $childActivityEvent to {event:"rollBall", childid:_args[0]}>><</link>> <</if>> <<else>> <<set $children[_args[0]].localVariables.activity to "sleeping">> <<wolfChildActivity _args[0]>> <</if>> <<default>> <<childHe>>'s has figured out that they're in a video game (This is an error, please report). <<print $children[_args[0]].localVariables.activity>> <</switch>> </span> <</widget>> <<widget "wolfChildActivityNoToy">> <<childHe>>'s sleeping on <<childhis>> own. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Stroke head (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"sleepingStroke", childid:_args[0]}>><</link>> <</if>> <</widget>> <<widget "hawkChildActivity">> <span class="no-numberify"> <<switch $children[_args[0]].localVariables.activity>> <<case "noEvent">> <<childHe>>'s sleeping soundly. <<case "sleeping">> <<childHe>>'s sleeping on <<childhis>> own. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Stroke head (0:10)|Children Activity Events]]>><<pass 10>><<set $childActivityEvent to {event:"sleepingStrokeHawk", childid:_args[0]}>><</link>> <</if>> <<case "sleepingWithGreatHawk">> <<npc "Great Hawk">> <<childHe>>'s sound asleep while cuddled up against <<your_bird_text>>. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Cuddle up to (0:30)|Children Activity Events]]>> <<set _otherChildrenIds to []>> <<run Object.values($children).forEach(child => { if (child.location is $location and child.localVariables.activity is "sleepingWithGreatHawk" and child.childId isnot T.args[0]) { T.otherChildrenIds.push(child.childId); } })>> <<pass 30>><<set $childActivityEvent to {event:"cuddleAndNapHawk", childid:_args[0], otherChildrenIds:_otherChildrenIds}>> <</link>> <</if>> <<endevent>> <<case "crying">> <<childHe>>'s distressed and <<childcry>>. <<if $children[_args[0]].localVariables.event>> <br> <<link "Comfort <<childhim>> (0:15)" "Children Activity Events">><<pass 15>><<set $childActivityEvent to {event:"cryingHawk", childid:_args[0]}>><</link>> <</if>> <<case "reaching">> <<childHe>>'s reaching for you. <br> <<link "Pick <<childhim>> up (0:15)" "Children Activity Events">><<pass 15>><<set $childActivityEvent to {event:"pickUpHawk", childid:_args[0]}>><</link>> <<case "flap">> <<childHe>>'s flapping <<childhis>> little wings in short bursts. <br> <<link "Help <<childhim>> pretend to fly (0:15)" "Children Activity Events">><<pass 15>><<set $childActivityEvent to {event:"pretendFly", childid:_args[0]}>><</link>> <<case "preen">> <<childHe>> seems agitated and pecks at <<childhis>> wings. <br> <<link "Help <<childhim>> preen (0:15)" "Children Activity Events">><<pass 15>><<set $childActivityEvent to {event:"preen", childid:_args[0]}>><</link>> <<case "perch">> <<childHe>> stares out at the perch. <br> <<link "Take <<childhim>> to the perch (0:15)" "Children Activity Events">><<pass 15>><<set $childActivityEvent to {event:"perch", childid:_args[0]}>><</link>> <<case "bathe">> <<childHe>> looks like <<childhe>> needs a bath. <br> <<link "Bathe <<childhim>> (0:15)" "Children Activity Events">><<pass 15>><<set $childActivityEvent to {event:"bathe", childid:_args[0]}>><</link>> <<case "batheSelf">> <<childHe>>'s dipping <<childhis>> legs in the rainwater pool. <br> <<link "Help <<childhim>> bathe (0:15)" "Children Activity Events">><<pass 15>><<set $childActivityEvent to {event:"batheHelp", childid:_args[0]}>><</link>> <<case "lurkerEat">> <<childHe>>'s <<if _childDays lte 180>> <<if $cmonster>> gumming on a piece of lurker meat. <<else>> pecking at a piece of lurker meat. <</if>> <<else>> <<if $cmonster>> chewing on a lurker. <<else>> pecking at a lurker. <</if>> <</if>> <<case "swingToy">> /* currently unreachable. credit writer as Anonymous when properly added */ <<silently>><<childtoy $location "hawk toys" "lowercase">><</silently>> <<if _toyName?.includes("swing")>> <<childHe>>'s trying to climb onto the swing. <<if $children[_args[0]].localVariables.event>> <br> <<link [[Help <<childhim>> up (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"swingToy", childid:_args[0]}>><</link>> <</if>> <<else>> <<set $children[_args[0]].localVariables.activity to "sleeping">> <<hawkChildActivity _args[0]>> <</if>> <<case "preeningToy">> /* currently unreachable. credit writer as mochamante when properly added */ <<silently>><<childtoy $location "hawk toys" "lowercase">><</silently>> <<if _toyName?.includes("preening")>> <<if _childTotalDays lte 40>> <<childHe>>'s awkwardly trying to preen <<childhimself>>. <<else>> <<childHe>>'s looking at the preening toy. <</if>> <<if $children[_args[0]].localVariables.event>> <br> <<link [[Give preening toy (0:05)|Children Activity Events]]>><<pass 5>><<set $childActivityEvent to {event:"preeningToy", childid:_args[0]}>><</link>> <</if>> <<else>> <<set $children[_args[0]].localVariables.activity to "sleeping">> <<hawkChildActivity _args[0]>> <</if>> <<default>> <<childHe>>'s has figured out that they're in a video game (This is an error, please report). <<print $children[_args[0]].localVariables.activity>> <</switch>> </span> <</widget>> <<widget "skinColourName">><<silently>> <<switch _args[0]>> <<case "ylight">><<set $_text_output to "light">> <<case "ymedium">><<set $_text_output to "medium">> <<case "ydark">><<set $_text_output to "dark">> <<case "ghostlyPale" "ghost">><<set $_text_output to "ghostly pale">> <<case "gyaru" "ygyaru">><<set $_text_output to "medium">> <<default>><<set $_text_output to _args[0]>> <</switch>> <</silently>><<print $_text_output>> <</widget>><<widget "creatureActivity">> <!-- Activity is determined by parasite's speed stat --> <<if _args[0]>> <<if _args[0] lt 60>> <span class="gold">Perfect activity</span> <<earnFeat "Top Broodmother Host">> <<elseif _args[0] lte 70>> <span class="green">Amazing activity</span> <<elseif _args[0] lte 100>> <span class="teal">Good activity</span> <<elseif _args[0] lte 150>> <span class="lblue">Decent activity</span> <<elseif _args[0] lte 200>> <span class="blue">Okay activity</span> <<elseif _args[0] lte 250>> <span class="purple">Poor activity</span> <<elseif _args[0] lte 300>> <span class="pink">Rare activity</span> <<else>> <span class="red">Very rare activity</span> <</if>> <</if>> <</widget>> <<widget "creatureContainersProgressDay">> <!-- Runs once per day --> <<set _list to $container.list>> <<for _i to 0; _i lt _list.length; _i++>> <<set _container to $container[_list[_i]]>> <<if _container.count is 0>> <<set _container.daysSinceFed to 0>> <<continue>> <</if>> <<if _list[_i] is "home">> <!-- Kylar will help feed your home parasites at high love. This is told to the player with a note signed "K" --> <<if C.npc.Kylar.love gte 75 and C.npc.Kylar.state is "active">> <<set _container.kylarHelp to true>> <<else>> <<set _container.kylarHelp to false>> <</if>> <<if _container.kylarHelp is true and _container.kylarDelay is 0 and _container.daysSinceFed is _container.maxDaysWithoutFood>> <<npcincr Kylar love -1>> <<set _container.daysSinceFed -= 1>> <<set _container.kylarFed to true>> <<elseif _container.kylarHelp is true and _container.kylarDelay gt 0 and _container.daysSinceFed is 0>> <<set _container.kylarDelay-->> <<set _container.kylarFed to false>> <</if>> <</if>> <<set _container.daysSinceFed += 1>> <<if _container.daysSinceFed gt _container.maxDaysWithoutFood>> <!-- Parasites die if they don't get fed enough. The max time you can leave them is determined by tank size/parasite barn quality --> <<set _container.deadCreatures to _container.count>> <<for _i to 0; _i lt _container.maxCount; _i++>> <<if _container.creatures[_i] is undefined or _container.creatures[_i] is null>> <<continue>> <</if>> <<if _container.creatures[_i].creature.includes("Pale") and $wraith.state>> <!-- If a pale parasite dies, the Ivory Wraith becomes angry, and encounters become more dangerous --> <<set $wraith.offspring to "dead">> <<set $wraithAngerCooldown to 30>> <<set $wraithShow to true>> <<if !$wraithAngerCount>> <<set $wraithAngerCount to 0>> <</if>> <<set $wraithAngerCount ++>> <</if>> <</for>> <<set _container.count to 0>> <<set _container.creatures to {}>> <</if>> <<set _container.visited to false>> <</for>> <</widget>> <<widget "creatureVisit">> <!-- You can visit each location to get stat reductions once per day --> <<set _container.visited to true>> <<set _container.daysSinceFed to 0>> <<if _args[0] is false>> <<set $_notVisited to false>> <<else>> <<set $_notVisited to true>> <</if>> <<set $_creature to []>><<set _creatureTip to []>><<set _luxuryTip to []>> /*stress, trauma, fatigue, purity, hallucinogens*/ <<set _boosts to {stress: 0, trauma: 0, tiredness: 0, purity: 0, hallucinogen: 0}>> <<set _tenticles to 0>><<set _paleChance to 0>> <<for _i to 0; _i lt _container.maxCount; _i++>> <<if _container.creatures[_i] is undefined or _container.creatures[_i] is null>> <<continue>> <</if>> <<set $_creature[_i] to {tiredness: 0, purity: 0, hallucinogen: 0, tenticles: 0}>> <<set _creatureTip[_i] to []>> <!-- Higher tending increases stress and fatigue losses --> <<set _tendingMulti to 1 + (currentSkillValue('tending') / 1000)>> <<set _pregValue = Math.floor(5000 / _container.creatures[_i].stats.speed)>> <<if _container.upgrades.luxury gt 0>> <!-- Decorations/barn quality increase value --> <<set _pregValue to Math.floor(_pregValue * (1 + (0.25 * _container.upgrades.luxury)))>> <</if>> <<if _pregValue gt 0>> <!-- The decorations get a tooltip noting that stress is reduced --> <<set _boosts.stress += Math.floor(_pregValue * _tendingMulti)>> <<set _luxuryTip.pushUnique("- Stress")>> <</if>> <<if Math.floor(_pregValue / 8) gt 0>> <!-- With high enough value, trauma is also reduced --> <<set _boosts.trauma += Math.floor(_pregValue / 8)>> <<set _luxuryTip.pushUnique("- Trauma")>> <</if>> <<if _container.creatures[_i].creature is "Slime">> <!-- Slimes innately raise purity --> <<set _boosts.purity += 0.5>> <<set $_creature[_i].purity += 0.5>> <</if>> <<if _container.creatures[_i].creature is "Pale Slime">> <!-- Pale slimes raise purity more, and also raise hallucinogens --> <<set _boosts.purity += 1.5>> <<set _boosts.hallucinogen += 20>> <<set $_creature[_i].purity += 1.5>> <<set $_creature[_i].hallucinogen to 1>> <<set _paleChance++>> <</if>> <<if _container.creatures[_i].creature is "Worm">> <!-- Worms innately lower purity --> <<set _boosts.purity -= 0.5>> <<set $_creature[_i].purity -= 0.5>> <</if>> <<if _container.creatures[_i].creature is "Pale Tentacle">> <!-- Pale tentacles lower fatigue, and impact purity based on other parasites --> <<if Math.floor(_pregValue / 3) gt 0>> <<set _boosts.tiredness += Math.floor((_pregValue / 3) * _tendingMulti)>> <<set _boosts.hallucinogen += 30>> <<set $_creature[_i].tiredness to 1>> <<set $_creature[_i].hallucinogen to 1>> <<set _paleChance++>> <</if>> <<set _tenticles += 1.5>><<set $_creature[_i].tenticles += 1.5>> <<elseif _container.creatures[_i].creature.includes("Tentacle") or _container.creatures[_i].creature.includes("Vine")>> <!-- Other tentacles and vines also impact fatigue and purity, but less than pale tentacles --> <<if Math.floor(_pregValue / 4) gt 0>> <<set _boosts.tiredness += Math.floor((_pregValue / 4) * _tendingMulti)>> <<set $_creature[_i].tiredness to 1>> <</if>> <<set _tenticles += 0.5>><<set $_creature[_i].tenticles += 0.5>> <</if>> <<if Object.keys($_creature[_i]).length gte 1>> <!-- Adding the tooltips --> <<if $_creature[_i].tiredness is 1>> <<set _creatureTip[_i].pushUnique("- Fatigue")>> <</if>> <<if $_creature[_i].purity gt 0>> <<set _creatureTip[_i].pushUnique("+ Purity (natural)")>> <<elseif $_creature[_i].purity lt 0>> <<set _creatureTip[_i].pushUnique("- Purity (natural)")>> <</if>> <<if $_creature[_i].hallucinogen is 1>> <<set _creatureTip[_i].pushUnique("+ Hallucinations")>> <</if>> <</if>> <</for>> <!-- Tentacle purity calculation and tooltips --> <<if _boosts.purity gt 0>> <<set _boosts.purity += _tenticles>> <<elseif _boosts.purity lt 0>> <<set _boosts.purity -= _tenticles>> <</if>> <<set _boosts.purity to Math.ceil(_boosts.purity)>> <<for _i to 0; _i lt _creatureTip.length; _i++>> <<if _container.creatures[_i] is undefined or _container.creatures[_i] is null>> <<continue>> <</if>> <<if $_creature[_i].tenticles isnot 0>> <<if _boosts.purity gte 1>> <<set _creatureTip[_i].pushUnique("+ Purity (inherited)")>> <<elseif _boosts.purity lte -1>> <<set _creatureTip[_i].pushUnique("- Purity (inherited)")>> <</if>> <</if>> <</for>> <<if $_notVisited>> <!-- Stat changes only happen once per day --> <<if _boosts.stress isnot 0>> <<set $stress -= _boosts.stress>><<lstress>> <</if>> <<if _boosts.trauma isnot 0>> <<set $trauma -= _boosts.trauma>><<traumaclamp>><<ltrauma>> <</if>> <<if _boosts.tiredness isnot 0>> <<set $tiredness -= _boosts.tiredness>><<ltiredness>> <</if>> <<if _boosts.purity isnot 0>> <<purity _boosts.purity>> <<if _boosts.purity gt 0>><<gpurity>><<else>><<lpurity>><</if>> <</if>> <<if _boosts.hallucinogen isnot 0>> <<hallucinogen _boosts.hallucinogen>><<ghallucinogens>> <</if>> <<if $wraith.state and (_paleChance gte random(1, 10) or _paleChance gte 1 and !$wraith.offspringWarning) and !$possessed>> <!-- When you have pale parasites, the Ivory Wraith has a chance of appearing and warning you to keep them alive --> <!-- It's guaranteed to appear if you're viewing pale parasites for the first time --> <br><br> You catch a glimpse of a pale figure standing right next to you. You jump back in shock. It slowly turns to you. <br><br> "<span class="wraith">Beautiful. Keep <<if _container.count isnot 1>>them<<else>>it<</if>> safe.</span>" It disappears with a bright flash. <<stress 6>><<gstress>> <<if !["dead","sold"].includes($wraith.offspring)>> <<set $wraith.offspring to "alive">> <</if>> <<if !$wraith.offspringWarning>> <br> You try to imagine what would happen if you let the pale creature die. <span class="purple">A spike of dread shoots through you.</span> <<set $wraith.offspringWarning to true>> <</if>> <</if>> <</if>> <</widget>> <<widget "creatureTooltip">> <<if _creatureTip[_i].length gte 1 and $pregnancyStats.parasiteBook is 3 and $statdisable is "f">> <mouse class="tooltip"><<print _container.creatures[_i].creature>><span class="gold"><<print _creatureTip[_i].join("<br>")>></span></mouse> <<else>> <<print _container.creatures[_i].creature>> <</if>> <</widget>> <<widget "luxuryTooltip">> <span class="gold"> <<if $phase is "farm" and $farm.parasitebarn gte 2>> <<if _luxuryTip.length gte 1 and $pregnancyStats.parasiteBook is 3 and $statdisable is "f">> <mouse class="tooltip">as advanced as can be<span><<print _luxuryTip.join("<br>")>></span></mouse> <<else>> as advanced as can be <</if>> <<else>> <<if _luxuryTip.length gte 1 and $pregnancyStats.parasiteBook is 3 and $statdisable is "f">> <mouse class="tooltip"><<print _container.decorations.toLowerCase()>><span><<print _luxuryTip.join("<br>")>></span></mouse> <<else>> <<print _container.decorations.toLowerCase()>> <</if>> <</if>> </span> <</widget>> <<widget "containersLink">> <!-- Printing the initial link to the containers --> <<if $location is "alex_farm">> <<set $phase to "farm">> <<else>> <<set $phase to $location>> <</if>> <<switch $phase>> <<case "farm">><<farmicon "parasitebarn">> <<case "home">><<fishtankicon>> <<default>><<investigateicon>> <</switch>> <<set $container.lastLocation to $location>> <<if $nextPassageCheck is "Containers">> <span class="nextLink"><<link [["Check the " + $container[$phase].name.toLowerCase() + " (0:05)"|Containers]]>><<pass 5>><</link>></span> <<elseif $container[$phase].kylarFed is true>> <<link [["Check the " + $container[$phase].name.toLowerCase() + " (0:05)"|Kylar Parasites Feed]]>><<pass 5>><</link>> <<else>> <<link [["Check the " + $container[$phase].name.toLowerCase() + " (0:05)"|Containers]]>><<pass 5>><</link>> <</if>> <br> <</widget>> <<widget "containerInfo">> <<assignmenticon>><<wearProp "notebook">><<updatesidebarimg>> <<link "Close notebook">><<handheldon>><<updatesidebarimg>><<replace "#info">><<assignmenticon>><<link "Open notebook">><<replace "#info">><<containerInfo>><</replace>><</link>><</replace>><</link>> <br> <<set _locCount to 0>> <<for _locs range $container.list>> <<if $container[_locs].count gte 1>> <<set _locCount++>> <</if>> <</for>> <<if _locCount gte 2>> Checking on your parasites will impact your stats once per day, per location. <<else>> Checking on your parasites will impact your stats once per day. <</if>> <<if $location is "alex_farm">> The quality of the parasite barn, as well as the activity of the parasites present, <<elseif $location is "home">> The quality of the decorations you have, as well as the activity of the parasites present, <<else>> The activity of the parasites present <</if>> determines how much stress and trauma is reduced when checking on your parasites. Activity goes from <span class="red">very rare</span> to <span class="gold">perfect</span>. <br><br> <<if $pregnancyStats.parasiteTypesSeen.includes("Slime")>> <li><b>Slimes</b> of any kind raise purity by a small amount when checking on them.</li> <</if>> <<if $pregnancyStats.parasiteTypesSeen.includes("Worm")>> <li><b>Worms</b> lower purity by a small amount when checking on them.</li> <</if>> <<if $pregnancyStats.parasiteTypesSeen.includes("Tentacle")>> <li><b>Tentacles</b> of any kind lower fatigue when checking on them. They can also raise or lower purity, depending on what other parasites are present. <<if _boosts and _boosts.purity gt 0>> Currently, they're raising purity. <<elseif _boosts and _boosts.purity lt 0>> Currently, they're lowering purity. <<else>> Currently, they're doing neither. <</if>> They are more likely to have better activity than other parasites.</li> <<if $pregnancyStats.parasiteTypesSeen.includes("Vine")>> <li><b>Vines</b> have the same effect as tentacles.</li> <</if>> <<elseif $pregnancyStats.parasiteTypesSeen.includes("Vine")>> <li><b>Vines</b> lower fatigue when checking on them. They can also raise or lower purity, depending on what other parasites are present. <<if _boosts and _boosts.purity gt 0>> Currently, they're raising purity. <<elseif _boosts and _boosts.purity lt 0>> Currently, they're lowering purity. <<else>> Currently, they're doing neither. <</if>> They are more likely to have better activity than other parasites.</li> <</if>> <<if $pregnancyStats.parasiteTypesSeen.includes("Lurker")>> <li><b>Lurkers</b> are more likely to have better activity, but take longer to birth and sell for less. They do not have any other notable traits.</li> <</if>> <!-- Printing info for all remaining types seen, that don't have any special traits --> <<set $_typesRemainder to clone($pregnancyStats.parasiteTypesSeen).filter(types => !["Lurker","Vine","Tentacle","Slime","Worm"].includes(types))>> <<if $_typesRemainder.length gte 1>> <<for _r to 0; _r lt $_typesRemainder.length; _r++>> <<set $_typesRemainder[_r] to "<b>" + $_typesRemainder[_r]>> <<if $_typesRemainder[_r].endsWith("s") or $_typesRemainder[_r].endsWith("sh")>> <!-- Avoiding "Fishs". Most parasites have the s stripped off the end anyway, but best to be sure --> <<set $_typesRemainder[_r] += "</b>">> <<else>> <<set $_typesRemainder[_r] += "s</b>">> <</if>> <</for>> <li><<print formatList($_typesRemainder)>> do not have any notable traits.</li> <</if>> <!-- Pale parasites are down here because they're variants. It looks kinda awkward because there are very few parasite variants --> <<if $pregnancyStats.parasiteVariantsSeen.includes("Pale")>> <li><b><span class="wraith">Pale</span></b> parasites have larger bonuses than other parasites, and also afflict you with hallucinogens.</li> <</if>> <!-- Printing info for all remaining variants seen, that don't have any special traits --> <<set $_variantsRemainder to clone($pregnancyStats.parasiteVariantsSeen).filter(types => !["Pale"].includes(types))>> <<if $_variantsRemainder.length gte 1>> <<for _r to 0; _r lt $_variantsRemainder.length; _r++>> <<set $_variantsRemainder[_r] to "<b>" + $_variantsRemainder[_r] + "</b>">> <</for>> <li><<print formatList($_variantsRemainder)>> parasites do not have any notable differences compared to ordinary parasites.</li> <</if>> <</widget>><<set $outside to 0>><<set $location to $container.lastLocation>><<effects>> <<set $phase to $phase || $location>> <<set _container to $container[$phase]>> <<set _aPregnancy to $sexStats.anus.pregnancy>> <<set _vPregnancy to $sexStats.vagina.pregnancy>> <<set $checkboxResult to {}>> <<if _container.count is 0>> <<if _container.deadCreatures is 0>> You currently have no <<if $pregnancyStats.namesParasitesChild is true>>children<<else>>parasites<</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>. <<else>> After not checking and feeding <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, it looks like <span class="red">some have died</span>. You take your time in burying them. <<ggtrauma>> <br><br> <<if $pregnancyStats.namesParasitesChild is true>> <<set _traumaMulti to 2>> <<else>> <<set _traumaMulti to 1>> <</if>> <<trauma `30 * _traumaMulti * _container.deadCreatures`>> <<if $wraith.state and $wraithShow>> <<if !$wraithAngerCount>> <<set $wraithAngerCount to 1>> <</if>> <<set _wraithRage to ($wraithAngerCount * 2)>> <<unset $wraithShow>> <<unset $wraithAngerCount>> You feel something gingerly grab your neck from behind. <br><br> "<span class="wraith">Unforgivable. You'll join <<if _container.count isnot 1>>them<<else>>it<</if>> soon.</span>" <<stress 12>><<trauma 12>><<ggstress>><<ggtrauma>> <br><br> You turn around, but nothing's there. <<gobsession _wraithRage>> <br><br> <</if>> <<link [[Next (1:00)|$passage]]>><<set _container.deadCreatures to 0>><<pass 60>><</link>> <</if>> <<else>> <<if _container.visited is false>> You check on <<if $pregnancyStats.namesParasitesChild is true>>your child<<if _container.count isnot 1>>ren<</if>><<else>>the parasite<<if _container.count isnot 1>>s<</if>><</if>>, and make sure <<if _container.count isnot 1>>they have<<else>>it has<</if>> everything <<if _container.count isnot 1>>they need<<else>>it needs<</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>. <<creatureVisit>> <<else>> <<creatureVisit false>> You watch your <<if $pregnancyStats.namesParasitesChild is true>>child<<if _container.count isnot 1>>ren<</if>><<else>>parasite<<if _container.count isnot 1>>s<</if>><</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>. <</if>> <br><br> It has a max capacity of <<number _container.maxCount>> and <<if $pregnancyStats.namesParasitesChild is true>>your child<<if _container.count isnot 1>>ren<</if>><<else>>the parasite<<if _container.count isnot 1>>s<</if>><</if>> can survive <<number _container.maxDaysWithoutFood>> days without your attention<<if _container.feederName>>, thanks to your <span class="gold"><<print _container.feederName.toLowerCase()>></span><</if>>. <<if _container.decorations>>You have <<luxuryTooltip>> set up within the tank.<</if>> <<if $phase is "farm" and $farm.parasitebarn gte 2>>The equipment set up is <<luxuryTooltip>> in the barn.<</if>> <!-- For players who had multiple parasite children before the tooltip update --> <<if $pregnancyStats.parasiteTypesSeen.length gte 4 and (!$pregnancyStats.parasiteBook or $pregnancyStats.parasiteBook is 1)>> <<set $pregnancyStats.parasiteBook to 1>> <br><br> <span class="gold">Doctor Harper might be able to help you learn more about your <<if $pregnancyStats.namesParasitesChild is true>>child<<if _container.count isnot 1>>ren<</if>><<else>>parasite<<if _container.count isnot 1>>s<</if>><</if>>.</span> <<elseif $pregnancyStats.parasiteTypesSeen.length gte 4 and $pregnancyStats.parasiteBook is 2>> <br><br> <span class="gold">You can purchase a notebook to keep track of your <<if $pregnancyStats.namesParasitesChild is true>>child<<if _container.count isnot 1>>ren<</if>><<else>>parasite<<if _container.count isnot 1>>s<</if>><</if>> at the pet shop on High Street.</span> <</if>> <</if>> <br><br> <<if $pregnancyStats.parasiteBook is 3>> <div id="info" class="no-numberify"><<assignmenticon>><<link "Open notebook">><<replace "#info">><<containerInfo>><</replace>><</link>></div> <</if>> <<if _container.count gt 0>> <ul> <<for _i to 0; _i lt _container.maxCount; _i++>> <<if _container.creatures[_i] is undefined>> <<continue>> <</if>> <<if _container.creatures[_i] isnot null>> <li><label><<print '<<checkbox "$checkboxResult[' + clone(_i) + ']" false true>>'>> - <<creatureTooltip>> - <<print _container.creatures[_i].stats.gender>> - <<creatureActivity _container.creatures[_i].stats.speed>></label></li> <</if>> <</for>> </ul> <</if>> <<if _container.deadCreatures is 0>> <<if _aPregnancy.type !== "parasite">> <<elseif _aPregnancy.parasiteFeltMovement>> <<if playerChastity("anus")>> You're unable to deliver <<if $pregnancyStats.namesParasitesChild is true>>your parasite children<<else>>the parasites<</if>> while you have an anal shield. <<else>> <<if $pregnancyStats.namesParasitesChild is true>> <<link [[Attempt to deliver your anus parasite children (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "anus">><</link>> <<else>> <<link [[Attempt to deliver the anus parasite (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "anus">><</link>> <</if>> <</if>> <br><br> <<elseif _aPregnancy.fetus.length - (_aPregnancy.motherStatus is 2 ? 1 : 0) gt 0>> You don't think <<print ($pregnancyStats.namesParasitesChild is true ? "your parasite children" : "the parasites")>> in your anus are ready for delivery. <br><br> <</if>> <<if _vPregnancy.type !== "parasite">> <<elseif _vPregnancy.parasiteFeltMovement>> <<if playerChastity("hidden")>> You're unable to deliver <<if $pregnancyStats.namesParasitesChild is true>>your parasite children<<else>>the parasites<</if>> while you have a chastity belt. <<else>> <<if $pregnancyStats.namesParasitesChild is true>> <<link [[Attempt to deliver your vagina parasite children (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "vagina">><</link>> <<else>> <<link [[Attempt to deliver the vagina parasite (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "vagina">><</link>> <</if>> <</if>> <br><br> <<elseif _vPregnancy.fetus.length - (_aPregnancy.motherStatus is 2 ? 1 : 0) gt 0>> You don't think <<print ($pregnancyStats.namesParasitesChild is true ? "your parasite children" : "the parasites")>> in your vagina are ready for delivery. <br><br> <</if>> <<if _container.count gt 0>> <<ind>><<link [[Transfer selected for selling|$passage]]>> <<for _i to 0; _i lt _container.maxCount;_i++>> <<if _container.creatures[_i] is undefined>> <<continue>> <</if>> <<if _container[_i] isnot null>> <<if $checkboxResult[_i] is true>> <<set $number to clone(_i)>> /* unused */ <<moveCreature $phase "portable" _i>> <</if>> <</if>> <</for>> <</link>> <br> <</if>> <<getouticon>><<link [[Leave|_container.leaveLink]]>><<handheldon>><</link>> <</if>><<set $outside to 0>><<set $location to "town">><<effects>> <<set $pregnancyStats.parasiteDoctorEvents to 2>> <<harper_intro>> "You're experiencing strange sensations in your abdomen?" <<he>> asks. You nod. <<He>> wheels <<his>> chair closer, and places <<his>> stethoscope to your tummy. <br><br> <<He>> listens for a moment, then wheels away and types something into <<his>> computer. "You have a parasite problem," <<he>> says. "They're using you as part of their reproductive cycle." <<He>> notices the look on your face, and smiles. "Don't be concerned. They won't harm you. They'll remove themselves when they're ready." <br><br> <<He>> spends several minutes explaining how to "birth" the creatures. What to do, and what not to do. It sounds simple. Drop to all fours, and squeeze. <br><br> <<He>> turns back to <<his>> computer. "Species like this are of scientific interest," <<he>> continues. "If you're interested in making a bit of money, I'm able to pay you for them on behalf of a local company." <<He>> rises to <<his>> feet. "Is there anything else?" <br><br> You shake your head. <<He>> holds open the door for you, and you leave the office. "Be well," <<he>> says as you pass. <br><br> <<link [[Return to foyer|Hospital Foyer]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "town">><<effects>> <<if $hospitalintro is 0 or $hospitalintro is "livestock">> <<harper_intro>> <<else>> <<if $firstOption is undefined>><<set $firstOption to true>><</if>> <</if>> <<if $firstOption is true>> <<npc Harper>><<person1>>You don't have to wait long. Doctor Harper emerges from <<his>> office and beckons you over. You enter <<his>> office and take a seat. <br><br> "How can I help you?" <<he>> asks. <br><br> <<elseif $firstOption is false>> You are in Doctor Harper's office. "Is there anything else I can help you with?" <<he>> asks. <br><br> <</if>> <<if $pregnancyStats.parasiteDoctorEvents gte 2 and $container.portable.value gt 0>> <<if $pregnancyStats.namesParasitesChild is true>> <<link [[Sell the children you are carrying (0:05)|Sell Children]]>><<pass 5>><<set $firstOption to false>><</link>> <br> <<else>> <<link [[Sell the parasites you are carrying (0:05)|Sell Children]]>><<pass 5>><<set $firstOption to false>><</link>> <br> <</if>> <</if>> <<if $pregnancyStats.parasiteDoctorEvents is 3>> <<link [[Enquire about feeling something large in your stomach (0:10)|Pregnancy Futa Introduction]]>><<pass 10>><<set $firstOption to false>><</link>> <br> <</if>> <<if $pregnancyStats.parasiteDoctorEvents gte 4 and ($sexStats.anus.pregnancy.motherStatus is 2 or ($sexStats.vagina.pregnancy.motherStatus is 2 and !$worn.genitals.type.includes("hidden")))>> <<link [[Enquire about parasite hermaphrodite removal (0:30)|Remove Futa Pregnancy]]>><<pass 30>><<set $futaCheck to true>><<set $firstOption to false>><</link>> <br> <</if>> <<if $pregnancyStats.parasiteTypesSeen.length gte 4 and $pregnancyStats.parasiteBook is 1>> <<link [[Enquire about information on parasites (0:05)|Harper Parasite Book]]>><<pass 5>><<set $firstOption to false>><</link>> <br> <</if>> <<link [[Return to foyer|Hospital Foyer]]>><<endevent>><<unset $firstOption>><</link>><<set $outside to 0>><<set $location to "town">><<effects>> Doctor Harper walks over to <<his>> office door, and locks it. <<He>> sits back down. "What have you brought me today?" <<he>> asks. <br><br> /* the 100 multiplier is intentional, used to use the moneyGain widget */ You pull out the small container <<he>> gave you. <<He>> looks inside. Seeming satisfied, <<he>> produces another, larger container from beneath <<his>> desk. <<He>> transfers the contents and hands the empty container to you. <<He>> opens a drawer, and counts out <<money `$container.portable.value * 100` "hospitalParasitesSold">><<printmoney `$container.portable.value * 100`>>. <<He>> hands it to you. <br><br> "The community thanks you," <<he>> says. <br><br> <<set _paleAmount to 0>> <<for _i to 0; _i lt $container.portable.creatures.length; _i++>> <<if $container.portable.creatures[_i].creature.includes("Pale")>> <<set _wraithMessage to true>> <<set _paleAmount++>> <</if>> <</for>> <<if $wraith.state and _wraithMessage is true>> <<set $wraith.offspring to "sold">> <<set $wraithCompoundChance to ($wraithCompoundChance ? $wraithCompoundChance += 10 : 10)>> <<if $wraithAngerCooldown>> <<set $wraithAngerCooldown += (15 * _paleAmount)>> <<else>> <<set $wraithAngerCooldown to (15 * _paleAmount)>> <</if>> You feel a sudden sense of dread and regret as you watch your pale child<<if _paleAmount gt 1>>ren<</if>> slip out of your reach. <<gobsession _paleAmount>> <br><br> <</if>> <<set $container.portable.value to 0>> <<set $container.portable.creatures to []>> <<link [[Next|Pregnancy Discussion]]>><</link>><<set $outside to 0>><<set $location to "town">><<effects>><<earnFeat "Broodmother Host">> <<set $pregnancyStats.parasiteDoctorEvents to 4>> "Strange," <<he>> says. "N-not that there's anything to be alarmed about." <<He>> pulls <<his>> chair back to <<his>> computer and types something in. <br><br> You wait as <<he>> reads the screen, occasionally tapping on the keyboard. <<He>> pulls a large book from a drawer, blows off dust, and flips through the pages. At last, <<he>> puts the book away and turns to face you. <br><br> "You have a parasite," <<he>> says. "An unusual one. It has both sex organs, and is able to mate with itself. We'll need to perform a procedure here in order to remove it. Until then, you'll continue to birth its offspring." <br><br> <<link [[Next|Pregnancy Discussion]]>><</link>><br><br> <<link [[Next|Pregnancy Discussion]]>><</link>><<set $outside to 0>><<set $location to "town">><<effects>> <<set _aPregnancy to $sexStats.anus.pregnancy>> <<if _aPregnancy.type is "parasite">> <<for _i to 0; _i lt _aPregnancy.fetus.length; _i++>> <<if _aPregnancy.fetus[_i] isnot undefined>> <<if _aPregnancy.fetus[_i].stats.gender is "Hermaphrodite">> <<set _analFuta to true>> <<moveCreature _i "destroy" undefined "anus">> <<set _aPregnancy.motherStatus to 1>> <<break>> <</if>> <</if>> <</for>> <<clearToDeleteParasiteFetus>> <<for _i to 0; _i lt _aPregnancy.fetus.length; _i++>> <<if _aPregnancy.fetus[_i] isnot undefined and _i >= maxParasites("anus")>> <<set _analFutaOther to true>> <<moveCreature _i "destroy" undefined "anus">> <</if>> <</for>> <<clearToDeleteParasiteFetus>> <</if>> <<set _vPregnancy to $sexStats.vagina.pregnancy>> <<if _vPregnancy.type is "parasite" and !playerChastity("hidden")>> <<for _i to 0; _i lt _vPregnancy.fetus.length; _i++>> <<if _vPregnancy.fetus[_i] isnot undefined>> <<if _vPregnancy.fetus[_i].stats.gender is "Hermaphrodite">> <<set _vaginaFuta to true>> <<moveCreature _i "destroy" undefined "vagina">> <<set _vPregnancy.motherStatus to 1>> <<break>> <</if>> <</if>> <</for>> <<clearToDeleteParasiteFetus>> <<for _i to 0; _i lt _vPregnancy.fetus.length; _i++>> <<if _vPregnancy.fetus[_i] isnot undefined and _i >= maxParasites("vagina")>> <<set _vaginaFutaOther to true>> <<moveCreature _i "destroy" undefined "vagina">> <</if>> <</for>> <<clearToDeleteParasiteFetus>> <</if>> "Please undress and lie on the table," <<he>> says while pulling on a latex glove. "No need to be shy." <<He>> turns and rummages through a drawer. <br><br> You <<nervously>> remove your clothing while <<his>> back is turned. You lie down on the table, conscious of your <<lewdness>>. <<His>> face neutral, the doctor grasps your legs and pushes them against your shoulders, before tying them down with straps. <br><br> "It will be easier if you're still," <<he>> affirms as <<he>> ties down your wrists. You can barely move. <br><br> <<if _anusFuta && playerChastity("anus")>> <<He>> examines your $worn.under_lower.name, then produces a strange metal device from <<his>> coat. <<He>> taps the metal, and your anal shield falls loose. "I'll return it when I'm done," <<he>> says. <br><br> <</if>> <<He>> opens another drawer, and pulls out a smooth white rod with a round ball on one end. <<He>> pushes the thin end against your <<bottom>>. "Just relax,<<if playerBellyVisible() and !_vaginaFuta>> this won't hurt the baby,<</if>>" <<he>> says. It slides in without pain, as if lubricated. Harper twists the other side, and you feel it pulse within you. <<garousal>><<arousal 1200 "bottom">> <br><br> Harper stares unblinking at your <<bottom>> as the pulsing increases in intensity. Just when you feel like you can't take any more, <<he>> eases it out. The <<if $pregnancyStats.namesParasitesChild is true>>baby <</if>>parasite is wrapped around the end<<if _analFutaOther or _vaginaFutaOther>> alongside a smaller one<</if>>. <<He>> puts it in an opaque container, and seals it shut. <<if _vaginaFuta and _anusFuta>> <<He>> repeats the procedure on the other sets of parasites inside you and more are wrapped and sealed. <</if>> <br><br> "All done," <<he>> says as <<he>> unties the straps. <<He>> turns away as you dress. <br><br> <<link [[Next|Pregnancy Discussion]]>><<unset $futaCheck>><</link>><<set $outside to 0>><<set $location to $container.lastLocation>><<effects>> <<set _pregnancy to $sexStats[$giveBirthLocation or "anus"].pregnancy>> <<set _pregnancy.parasiteFeltMovement to false>> <<set _container to $container[$phase]>> <<set $pregResult to "notReady">> <<set _stressMulti to 2 - _pregnancy.motherStatus>> <<set $checkboxResult to {}>> <<set $checkboxReplace to {}>> <<set $parasiteSelectionCount to 0>> <<set _newlyBirthed to {}>> <<set _allSeen to $pregnancyStats.parasiteTypesSeen.length + $pregnancyStats.parasiteVariantsSeen.length>> Following the directions from Doctor Harper, you get into position and attempt to deliver <<if $pregnancyStats.namesParasitesChild is true>>your baby<<else>>the parasites<</if>>. <<if _stressMulti gt 0>><<gstress>><</if>><<set $stress += 250 * _stressMulti>> <br><br> <<for _i to 0; _i lt _pregnancy.fetus.length; _i++>> <<if _pregnancy.fetus[_i].stats.gender isnot "Hermaphrodite" and _pregnancy.fetus[_i].fertilised>> <<set _rand to random(0,100)>> <<if (_rand lte 80 and _pregnancy.fetus[_i].daysLeft is 0) or (_rand lte 50 and _pregnancy.fetus[_i].daysLeft lte 1) or (_rand lte 30 and _pregnancy.fetus[_i].daysLeft lte 2) or (_rand lte 10 and _pregnancy.fetus[_i].daysLeft lte 3) or $parasiteBirthDebug>> <<if $pregResult is "notReady">> <<set $pregResult to [clone(_i)]>> <<else>> <<set $pregResult.push(clone(_i))>> <</if>> <</if>> <</if>> <</for>> <<if $pregResult is "notReady">> Despite your efforts, none of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>> are ready to leave you. <br><br> <<link [[Next|Containers]]>><<unset $pregResult>><<unset $giveBirthLocation>><</link>> <<else>> Your body shudders, and to the floor falls <<if $pregnancyStats.namesParasitesChild is true>><<number $pregResult.length>> <<print $pregResult.length gt 1 ? 'babies' : 'baby'>><<else>><<number $pregResult.length>> <<print $pregResult.length gt 1 ? 'parasites' : 'parasite'>><</if>>. <ul> <<for _i to 0; _i lt $pregResult.length; _i++>> <<set _result to _pregnancy.fetus[$pregResult[_i]]>> <!-- Printing the checkbox --> <li><label><<print '<<checkbox "$checkboxResult[' + clone($pregResult[_i]) + ']" false true checked>>'>> - <<print _result.creature>> - <<creatureActivity _result.stats.speed>></label></li> <<if _result.creature.includes(" ")>> <!-- If the creature has a variant, like Pale. Currently does not account for creatures with more than one variant, because those don't yet exist --> <!-- Possible task for the future: turn parasite variants into variables, so there can be multiple --> <<set _split to _result.creature.split(" ")>> <<if !$pregnancyStats.parasiteVariantsSeen.includes(_split[0]) and _split[0] isnot _split[1]>> <<set $pregnancyStats.parasiteVariantsSeen.pushUnique(_split[0])>> <!-- For Pale Tentacle, this will set _newlyBirthed.Pale to "tentacle" --> <<set _newlyBirthed[_split[0]] to _split[1].toLowerCase()>> <</if>> <<if !$pregnancyStats.parasiteTypesSeen.includes(_split[1])>> <<set $pregnancyStats.parasiteTypesSeen.pushUnique(_split[1])>> <<set _newlyBirthed[_split[1]] to true>> <</if>> <<else>> <!-- Creatures without variants --> <<if !$pregnancyStats.parasiteTypesSeen.includes(_result.creature)>> <<set $pregnancyStats.parasiteTypesSeen.pushUnique(_result.creature)>> <<set _newlyBirthed[_result.creature] to true>> <</if>> <</if>> <</for>> </ul> <<for _n to 0; _n lt Object.values(_newlyBirthed).length; _n++>> <<switch Object.keys(_newlyBirthed)[_n]>> <<case "Tentacle">> You watch the tentacle in fascination. It writhes around blindly and coils around itself, almost like a snake. It's so energetic, just looking at it makes you feel less tired. <<case "Slime">> The slime doesn't move for a while. You poke at it, a little worried, and it jiggles. It has an indescribable consistency. It looks almost without flaw, and you feel <<if $pregnancyStats.namesParasitesChild is true>>proud to have birthed<<else>>almost proud to have hosted<</if>> such a creature. <<case "Worm">> Almost immediately, the worm tries to find somewhere to dig. It has little success, and squirms in agitation until you place it in the <<print _container.name.toLowerCase()>>. You feel odd, having <<if $pregnancyStats.namesParasitesChild is true>>birthed<<else>>hosted<</if>> such a creature. <<case "Lurker">> The lurker moves mainly by crawling, but sometimes hops surprising distances. You quickly place it in the <<print _container.name.toLowerCase()>> before you can lose it. <<case "Vine">> You worry that the vine won't be able to survive without being planted in a better environment, but it seems to be fine in the <<print _container.name.toLowerCase()>>, writhing around. You suspect it's not strictly plant life. <<case "Metal">> Upon closer inspection, the metal <<print _newlyBirthed.Metal>> isn't truly metal. It has a metallic colour and pattern, but it bends and writhes in ways that steel wouldn't be able to. You hope it doesn't need anything in particular to eat. <<case "Eel">> The eel immediately starts squirming around wildly. You try to grab it, but it resists you with surprising strength. Despite its struggling, you move it to the <<print _container.name.toLowerCase()>>. It calms down as soon as it touches the water. <<case "Snake">> The snake tries to slither away and hide from you. You gently grab it by the neck, avoiding its attempts to bite your hand, and place it in the <<print _container.name.toLowerCase()>>. <<case "Fish">> The fish flops around on the ground, gasping for air. You quickly scoop it up and put it in the <<print _container.name.toLowerCase()>>. You watch it swim around. Hopefully the water is safe for <<= $pregnancyStats.namesParasitesChild ? "your child" : "the parasite">>. <<case "Spider">> You watch as the spider tries to upright itself, legs wiggling. It succeeds and crawls in your general direction. You hold out your hand, and it climbs up, allowing you to safely put it in the <<print _container.name.toLowerCase()>>. <<case "Bee">> The bee uses its front legs to clean itself off. It tilts its head as it looks at you, and lets you pick up its fuzzy body without much resistance. You place it in the <<print _container.name.toLowerCase()>>. <<case "Wasp">> You try to pick up the wasp, but it points its stinger toward you, abdomen pulsating. You slowly reach out, trying not to startle it, and it eventually lets you place it in the <<print _container.name.toLowerCase()>>. <<case "Slug">> The slug's eyestalks emerge from its head as it slowly slides around the floor, leaving traces of slime. You hold it gently, trying not to squish it, and put it in the <<print _container.name.toLowerCase()>>. <<case "Squid">> You touch the squid to move it, and it squirts some ink on your hand. You wipe it off and put the squid in the <<print _container.name.toLowerCase()>>. The squid swims around. It almost looks proud of itself. <<case "Maggot">> The maggot crawls around the floor, its fat white body pulsating. As you move it to the <<print _container.name.toLowerCase()>>, you wonder what it will grow into, if anything. <<case "Pale">> Your hands seem to move on their own, and you find yourself holding the pale <<print _newlyBirthed.Pale>>. It's so pale that it's almost translucent. You feel a twinge of dread, but it's quickly replaced by an odd contentment. <span class="blue">You should be careful deciding whether to keep it.</span> <<default>> <!-- This way, species like Wasp that don't have a unique line don't print <br>s for no reason --> <<continue>> <</switch>> <br><br> <</for>> <<if $pregnancyStats.parasiteBook is 3 and $pregnancyStats.parasiteTypesSeen.length + $pregnancyStats.parasiteVariantsSeen.length gt _allSeen>> You write about <<if $pregnancyStats.namesParasitesChild is true>>your new children<<else>>the new parasites<</if>> in your notebook. <br><br> <<elseif $pregnancyStats.parasiteTypesSeen.length gte 4 and (!$pregnancyStats.parasiteBook or $pregnancyStats.parasiteBook is 1)>> <<set $pregnancyStats.parasiteBook to 1>> <br><br> You find yourself wondering at the sheer number of different types of creatures you've birthed, and wonder if there's any way to know more. <span class="gold">Doctor Harper might be able to help you.</span> <</if>> <<if $pregResult.length gt (_container.maxCount - _container.count)>> Please select any required to replace, it will replace from top to bottom: <br> <ul> <<for _i to 0; _i lt _container.maxCount; _i++>> <<if _container.creatures[_i] is undefined>> <<set $checkboxReplace[_i] to true>> <<continue>> <</if>> <<if _container.creatures[_i] isnot null>> <li><label><<print '<<checkbox "$checkboxReplace[' + clone(_i) + ']" false true `($checkboxReplace[' + clone(_i) + '] ? "checked" : "")`>>'>> - <<print _container.creatures[_i].creature>> - <<creatureActivity _container.creatures[_i].stats.speed>></label></li> <</if>> <</for>> </ul> <</if>> <div id="pregResult"><<PregEventsResult>></div> <</if>><<widget "PregEventsResult">> <<set $outside to 0>><<set $location to $container.lastLocation>><<effects>> <<set _pregnancy to $sexStats[$giveBirthLocation or "anus"].pregnancy>> <<set _container to $container[$phase]>> <<set $parasiteSelectionCount to 0>> <<set $parasiteReplaceArray to []>> <<set _availableStorage to (_container.maxCount - _container.count)>> <<for _i to 0; _i lt $pregResult.length; _i++>> <<if $checkboxResult[$pregResult[_i]] is true>> <<set $parasiteSelectionCount += 1>> <</if>> <</for>> <<for _i to 0; _i lt _container.count; _i++>> <<if $checkboxReplace[_i] is true>> <<set $parasiteReplaceArray.push(clone(_i))>> <</if>> <</for>> <<if $debug is 1>> Debug - Keep selected babies result (ID - Checkbox - Result) <br> <<for _i to 0; _i lt $pregResult.length;_i++>> <<if $checkboxResult[$pregResult[_i]] is true>> <<print $pregResult[_i]>> - <<print $checkboxResult[$pregResult[_i]]>> - Keep <br> <<elseif $checkboxResult[$pregResult[_i]] is false>> <<print $pregResult[_i]>> - <<print $checkboxResult[$pregResult[_i]]>> - Sell <br> <</if>> <</for>> <br> <</if>> <<if $parasiteSelectionCount lte _availableStorage>> <<if $parasiteSelectionCount gt 0>> <<if $pregnancyStats.namesParasitesChild is true>> <<link [[Keep selected babies|PregEventsResult2]]>> <<set $pregChoice to "KeepSelected">> <</link>> <<else>> <<link [[Keep selected parasites|PregEventsResult2]]>> <<set $pregChoice to "KeepSelected">> <</link>> <</if>> <</if>> <<elseif $parasiteSelectionCount gt 0>> Not enough storage for selected amount. Please replace <<number $parasiteSelectionCount-_availableStorage>> <<if $pregnancyStats.namesParasitesChild is true>><<print $parasiteSelectionCount - _availableStorage gt 1 ? 'babies' : 'baby'>><<else>><<print $parasiteSelectionCount - _availableStorage gt 1 ? 'parasites' : 'parasite'>><</if>>. <br> <<if ($parasiteSelectionCount - $parasiteReplaceArray.length) lte _availableStorage>> <<if $pregnancyStats.namesParasitesChild is true>> <<link [[Replace selected babies|PregEventsResult2]]>> <<set $pregChoice to "ReplaceSelected">> <</link>> <<else>> <<link [[Replace selected parasites|PregEventsResult2]]>> <<set $pregChoice to "ReplaceSelected">> <</link>> <</if>> <</if>> <</if>> <<if $pregResult.length lte _availableStorage>> <br> <<if $pregnancyStats.namesParasitesChild is true>> <<link [[Keep all babies|PregEventsResult2]]>> <<set $pregChoice to "keepAll">> <</link>> <<else>> <<link [[Keep all parasites|PregEventsResult2]]>> <<set $pregChoice to "keepAll">> <</link>> <</if>> <</if>> <br><br> <<if $pregnancyStats.namesParasitesChild is true>> <<link [[Sell all babies|PregEventsResult2]]>> <<set $pregChoice to "sellAll">> <</link>> <<else>> <<link [[Sell all parasites|PregEventsResult2]]>> <<set $pregChoice to "sellAll">> <</link>> <</if>> <</widget>> <<widget "resetPregButtons">> <<replace #pregResult>> <<PregEventsResult>> <</replace>> <</widget>><<set $outside to 0>><<set $location to $container.lastLocation>><<effects>> <<set _pregnancy to $sexStats[$giveBirthLocation or "anus"].pregnancy>> <<switch $pregChoice>> <<case "ReplaceSelected">> <<set _parasiteReplaceCount to $parasiteReplaceArray.length>> <<for _i to 0; _i lt $pregResult.length;_i++>> <<if $checkboxResult[$pregResult[_i]] is true>> <<if $parasiteReplaceArray.length gt 0>> <<moveCreature $pregResult[_i] "replace" $parasiteReplaceArray[0] $giveBirthLocation>> <<run $parasiteReplaceArray.deleteAt(0)>> <<else>> <<moveCreature $pregResult[_i] "container" undefined $giveBirthLocation>> <</if>> <<elseif $checkboxResult[$pregResult[_i]] is false>> <<moveCreature $pregResult[_i] "portable" undefined $giveBirthLocation>> <</if>> <</for>> You decide to keep <<number $parasiteSelectionCount>> of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and place <<if $parasiteSelectionCount isnot 1>>them<<else>>it<</if>> in your <<print $container[$phase].name.toLowerCase()>> in place of <<number _parasiteReplaceCount>> <<if _parasiteReplaceCount gt 1>>others<<else>>other<</if>>, while preparing the rest for Doctor Harper. <br><br> <<case "KeepSelected">> <<for _i to 0; _i lt $pregResult.length;_i++>> <<if $checkboxResult[$pregResult[_i]] is true>> <<moveCreature $pregResult[_i] "container" undefined $giveBirthLocation>> <<elseif $checkboxResult[$pregResult[_i]] is false>> <<moveCreature $pregResult[_i] "portable" undefined $giveBirthLocation>> <</if>> <</for>> You decide to keep <<number $parasiteSelectionCount>> of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and place <<if $parasiteSelectionCount isnot 1>>them<<else>>it<</if>> in your <<print $container[$phase].name.toLowerCase()>> while preparing the rest for Doctor Harper. <br><br> <<case "keepAll">> <<for _i to 0; _i lt $pregResult.length;_i++>> <<moveCreature $pregResult[_i] "container" undefined $giveBirthLocation>> <</for>> You decide to keep all of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and place them in your <<print $container[$phase].name.toLowerCase()>>. <br><br> <<case "sellAll">> <<for _i to 0; _i lt $pregResult.length;_i++>> <<moveCreature $pregResult[_i] "portable" undefined $giveBirthLocation>> <</for>> You decide to sell all <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and prepare to take them to Doctor Harper. <br><br> <</switch>> <<clearToDeleteParasiteFetus>> <<link [[Next|Containers]]>> <<unset $pregChoice>><<unset $pregResult>> <<unset $checkboxResult>><<unset $checkboxReplace>> <<unset $parasiteSelectionCount>><<unset $parasiteReplaceArray>> <<unset $giveBirthLocation>> <</link>><<effects>> <<set $pregnancyStats.parasiteBook to 2>> Harper nods approvingly. "It's good that you want to know more." <<He>> brings out a rather thick book and shows it to you. "This is a popular reference guide among scientists. It has a lot of information on this subject, but it's property of the hospital. I'm not authorised to lend it out." <br><br> <<He>> thinks for a few seconds. "<span class="gold">The pet shop on High Street may have something.</span> If nothing else, you could pick up a notebook and fill out info you gather yourself." <br><br> <<link [[Next|Pregnancy Discussion]]>><</link>> /*Passing out without rescue*/<<set $outside to 0>><<effects>> You collapse on the spot. The last thing you hear is a rush of footsteps. <br><br> <<switch $location>> <<case "moor" "forest">><<set _time to 60>> <<case "town">><<set _time to 15>> <<default>><<set _time to 30>> <</switch>> <<set _hours to Math.floor(_time / 60)>> <<set _minutes to _time % 60>> <<link [["Next ("+_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")"| Pregnancy Birth Hospital]]>><<pass _time>><<set $phase to 1>><</link>> /*Rescued by someone*/<<set $outside to 0>><<effects>> You feel yourself being lifted. You hear a voice, but the words don't make sense. <br><br> <<switch $location>> <<case "moor" "forest">><<set _time to 60>> <<case "bog">><<set _time to 90>> <<case "town">><<set _time to 15>> <<default>><<set _time to 30>> <</switch>> <<set _hours to Math.floor(_time / 60)>> <<set _minutes to _time % 60>> <<link [["Next ("+_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")"| Pregnancy Birth Hospital]]>><<pass _time>><<set $phase to 1>><</link>><<set $outside to 0>><<set $location to "hospital">><<effects>> <<set $first_birth to !$pregnancyStats.humanToysUnlocked>> <<npc "Harper">><<person1>> <<setKnowsAboutPregnancy "pc" "Harper">> <<if $hospitalintro is 0>> <<set $hospitalintro to 1>> <<if $phase is 1>> You awaken in a hospital bed. Several blurry figures move around. One leans closer, <<his>> features coalescing into those of a young <<personsimple>>. "I'm Doctor Harper," <<he>> says, brushing <<his>> blond fringe away from <<his>> eyes. "Please don't be alarmed, but your waters have broken. You're in the hospital." <<He>>'s young for a doctor, can't be older than 25. <br><br> <<else>> The receptionist nods. "Please take a seat, the doctor will be right with you." <br><br> You don't need to wait long. A young <<personsimple>> dressed like a doctor arrives. "I'm Doctor Harper," <<he>> says, brushing <<his>> blond fringe from away from <<his>> eyes. "We've prepared a bed for you. This way." <br><br> <<He>> leads you through the hospital, to a room in the labour ward. A midwife adjusts a machine by the bed. <br><br> <</if>> <<else>> <<if $phase is 1>> You awaken in a hospital bed. Several blurry figures move around. One leans closer, <<his>> features coalescing into those of Doctor Harper. "Please don't be alarmed, but your waters have broken. You're in the hospital." <br><br> <<else>> The receptionist nods. "Please take a seat, the doctor will be right with you." <br><br> Doctor Harper soon arrives. "We've prepared a bed for you. This way." <br><br> <<He>> leads you through the hospital, to a room in the labour ward. A midwife adjusts a machine by the bed. <br><br> <</if>> <</if>> <<if $exposed lt 2 and $phase isnot 1>> "Please undress," the doctor says. <<else>> "Please take a deep breath," the doctor says. <</if>> <<if playerChastity("hidden")>> <<He>> notices your <<print $worn.genitals.name>>, and opens a chest-high cupboard. <<He>> retrieves a tool shaped like a pair of prongs, but bulkier. "We need to remove that device. <<if $phase isnot 1>>Please lie down.<</if>> This won't hurt." <br><br> <<if $phase isnot 1>>You lie down. The ceiling is plain white. There's a fan right above you. <</if>><<He>> grasps your <<print $worn.genitals.name>> with the prongs, and presses a button on the handle. You hear a whirring noise within the tool, <span class="pink">and they snap the metal.</span> <<set $worn.genitals.type.push("broken")>> <<elseif $phase isnot 1>> "Then lie down." You do so. The ceiling is plain white. There's a fan right above you. <</if>> <br><br> <<wash>><<undress "hospital_birth">><<upperwear 87 "teal">> <<link [[Next|Pregnancy Birth Hospital 2]]>><</link>> <br><<effects>> The midwife places a mask over your face. You feel your consciousness fade. Several other figures appear around you, their forms ablur. <br><br> <<set $litter_potention_fathers to getPregnancyObject().potentialFathers.length>> /*Alex variables*/ <<if (getPregnancyObject().potentialFathers.length is 1 or getPregnancyObject().potentialFathers.length is undefined) and getPregnancyObject().fetus[0].father is "Alex">> <<set $alex_pregnancy to {}>> <<set $alex_pregnancy.knows to knowsAboutPregnancy("pc","Alex")>> <<set $alex_pregnancy.talked to talkedAboutPregnancy("pc","Alex")>> <<set $alex_pregnancy.source to getPregnancyObject().fetus[0].father>> <</if>> <<set _pregnancy to getPregnancyObject()>> <<if _pregnancy.totalBirthEvents gte 5>> <<set _min to 15>> <<set _max to 60>> <<elseif _pregnancy.totalBirthEvents gte 3>> <<set _min to 30>> <<set _max to 120>> <<else>> <<set _min to 60>> <<set _max to 180>> <</if>> <<set _max to Math.floor(_max * (1 + Math.floor(_pregnancy.fetus.length * 0.2)))>> <<set _min to Math.floor(_min * (1 + Math.floor(_pregnancy.fetus.length * 0.2)))>> <<set _timeCalc to random(_min, _max)>> <<set _hours to Math.floor(_timeCalc / 60)>> <<set _minutes to _timeCalc % 60>> /* Note: Pregnancy species */ <<switch playerNormalPregnancyType()>> <<case "human">> <<setKnowsAboutPregnancy "pc" "Bailey">> Harper's voice floats through the fog. "Normal human<<if !$player.vaginaExist>>, abnormal delivery<</if>>, but keep the others on the line, just in case..." <br><br> The pain grows as time seems to rapidly speed up and slow down. You hear the words "breathe" and "push" many times, and you do your best to comply. <br><br> <<if $dissociation gte 1>> Everything slowly fades away once again. You stand in a black abyss. Your whole body feels fuzzy, and the pain is gone. You stand there, alone in the dark. In the distance, a bright white light hovers. It must be several kilometres away. You begin walking towards it, when you suddenly realise that you're stepping in shallow water. You step forward again to the sound of sloshing. Another step. Another. You need to get to the light. You aren't sure why, but you know you must. Something's waiting for you there, you can feel it. <br><br> You start to run. As you get closer, the darkness around you dissipates until only the light surrounds you. You continue running until you come to a wooden door with a golden handle. You grasp it and open it slowly. The light drowns you. <br><br> <</if>> <<link [["Next ("+_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")"| Pregnancy Birth Hospital 3]]>><<endevent>><<pass _timeCalc>><<playerPrebirth>><</link>> <<case "wolf">> Harper's voice floats through the fog. "Not human. This will be an abnormal delivery. Follow my instructions to the letter..." <br><br> <<link [["Next ("+_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")"| Pregnancy Birth Hospital Wolf]]>><<endevent>><<pass _timeCalc>><</link>> <</switch>><<set $outside to 0>><<set $location to "hospital">><<effects>> <<endevent>> <<generate1>><<person1>> <<set $litter_size to getPregnancyObject().fetus.length>> <<set _baby to $litter_size is 1 ? "baby" : "babies">> <<if $dissociation gte 1>> You awaken in another room. Your eyes open slowly. You're in a hospital bed. A smiling midwife stands beside you, holding <<= $litter_size is 3 ? "a trio of" : $litter_size is 2 ? "two" : "a">> bundled _baby in <<his>> arms. <br><br> "Looks like mummy's awake," <<he>> says, passing you the _baby. <<switch $litter_size>> <<case 3>> As you cradle one in each arm, the midwife places the third directly on your chest. <<case 2>> You cradle one in each arm. <<default>> You cradle your baby in your arms. <</switch>> You feel a rush of pure glee and maternal bliss. Your parental instinct kicks in, washing away your worries and trauma in a flood of joy. The precious gift in front of you is now your whole world, and at last, something feels real to you again. Their eyes are shut, <<= _baby is "babies" ? "chests" : "chest">> rising and falling with gentle breaths. <<trauma -100>><<llltrauma>> <<else>> You awaken in another room. A smiling midwife stands beside your bed, holding <<= $litter_size is 3 ? "a trio of" : $litter_size is 2 ? "two" : "a">> bundled _baby in <<his>> arms. <br><br> "Looks like mummy's awake," <<he>> says, passing you the _baby. <<switch $litter_size>> <<case 3>> As you cradle one in each arm, the midwife places the third directly on your chest. <<case 2>> You cradle one in each arm. <<default>> You cradle your baby in your arms. <</switch>> Their eyes are shut, <<= _baby is "babies" ? "chests" : "chest">> rising and falling with gentle breaths. <</if>> <br><br> "We've run all the tests," the midwife says. "There's not a single health problem. Have you thought of <<= _baby is "babies" ? "their names" : "a name">>?" <br><br> <<set $bornChildrenIds to []>> <<run getPregnancyObject().fetus.forEach(child => $bornChildrenIds.push(child.childId))>> <<birthUi "pc" "hospital" "home" "Pregnancy Birth Hospital 4" _time>><<set $outside to 0>><<set $location to "hospital">><<effects>> <<getChildrenIds>><<childSelect _childrenIds.last()>> <<set _pregFame to ($litter_size * 5)>> <<famepregnancy _pregFame>> <<if $litter_size is 1>> You cradle your baby for a while longer, enjoying <<childhis>> tiny breaths and movements. <<childHe>> spends most of the time sleeping, but opens <<childhis>> eyes occasionally, and gazes into yours. <br><br> The midwife returns. <<if $first_birth>> <<He>> teaches you how to change <<childname>>'s nappy, and how to bathe <<childhim>>. <<else>> <<He>> assists you with changing <<childname>>'s nappy, and bathing <<childhim>>. <</if>> "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your baby in the meantime." <br><br> You want nothing more than to hold <<childname>>, but you find yourself dozing all the same. <br><br> <<elseif $litter_size is 2>> You cradle your babies for a while longer, enjoying their tiny breaths and movements. They spend most of the time sleeping, but open their eyes occasionally, and gaze into yours. <br><br> The midwife returns. <<if $first_birth>> <<He>> teaches you how to change their nappies and how to bathe them. <<else>> <<He>> assists you with changing their nappies, and with bathing them. <</if>> "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your babies in the meantime." <br><br> You want nothing more than to hold the twins, but you find yourself dozing all the same. <br><br> <<elseif $litter_size is 3>> You cradle your babies for a while longer, enjoying their tiny breaths and movements. They spend most of the time sleeping, but open their eyes occasionally, and gaze into yours. <br><br> The midwife returns. <<if $first_birth>> <<He>> teaches you how to change their nappies, and how to bathe them. <<else>> <<He>> assists you with changing their nappies, and with bathing them. <</if>> "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your babies in the meantime." <br><br> You want nothing more than to hold the triplets, but you find yourself dozing all the same. <br><br> <</if>> <<link [[Next|Pregnancy Birth Hospital 5]]>><<storeon "hospital_birth">><<pass 24 hour>><<stress -40>><</link>> <br><br><<effects>> <<if $litter_size gte 2>><<childrenNames $bornChildrenIds>> lie<<else>><<childname>> lies<</if>> in a cradle while the midwife helps you stand. <<if $first_birth or playerNormalPregnancyTotal() is 0>> You feel your insides drop as you stand, but <<he>> assures you that's normal. <br><br> Despite the pain, you feel a lot more comfortable walking than you did before the birth. You'd forgotten how easy it is to move without people inside you. <br><br> The midwife helps you to dress. "You should be good to go," <<he>> says. <<elseif between(playerNormalPregnancyTotal(), 1, 2)>> You feel your insides drop as you stand. You remember this feeling from your last birth, and know it's normal. <br><br> Despite the pain, you feel a lot more comfortable walking than you did before the birth. You'd forgotten how easy it is to move without people inside you. <br><br> The midwife helps you to dress. "You should be good to go," <<he>> says. <<elseif between(playerNormalPregnancyTotal(), 3, 7)>> You feel your insides drop as you stand. You're still not used to the feeling. <br><br> You get walking again quite easily. It's a little awkward, but the transition isn't as bad as it used to be. It's still easier to move around when there isn't another human inside you. <br><br> The midwife still insists on helping you dress. "You should be good to go," <<he>> says. <<elseif between(playerNormalPregnancyTotal(), 8, 49)>> You stand up without a hitch. There's hardly any difference in feeling anymore, although you do feel much more nimble. <br><br> <<He>> looks impressed at your mobility, only keeping an arm around you for stability. "I don't see many people get back up that quickly. You must be hardy!" <br><br> The midwife still insists on helping you dress. "You should be good to go," <<he>> says. <<elseif playerNormalPregnancyTotal() gte 50>> You stand up without assistance, feeling empty inside. You already miss the feeling of being pregnant. <br><br> <<He>> stares at you, mouth agape, as you walk without any assistance. You throw your clothes back on quickly. <br><br> "Y-you should be good to go," <<he>> says. <</if>> "Someone's waiting for you. <<if $alex_pregnancy isnot undefined and $litter_potention_fathers is 1 and $alex_pregnancy.source is "Alex">> <<if C.npc.Alex.pregnancy.nursery is true>> Your <<if C.npc.Alex.pronoun is "f">>girlfriend<<else>>boyfriend<</if>> I think." <br><br> <<link [[Next|Pregnancy Birth Hospital Alex]]>><</link>> <<else>> <<set C.npc.Alex.pregnancy.hospitalBirth to true>> Your <<if C.npc.Bailey.pronoun is "f">>mum<<else>>dad<</if>> I think." <br><br> <<link [[Next|Pregnancy Birth Hospital 6]]>><<endevent>><</link>> <</if>> <<else>> Your <<if C.npc.Bailey.pronoun is "f">>mum<<else>>dad<</if>> I think." <br><br> <<link [[Next|Pregnancy Birth Hospital 6]]>><<endevent>><</link>> <</if>><<set $location to "town">><<effects>> <<npc "Bailey">><<person1>> <<getChildrenIds>><<childSelect _childrenIds.last()>> Bailey waits for you in the hospital foyer. <<He>> smiles when <<he>> sees you. It almost looks real. "We've a place prepared," <<he>> says. <<if $litter_size is 1>> <<elseif $litter_size is 2>> "For both of them." <<else>> "For all three of them." <</if>> <<He>> leads you outside, where <<his>> car waits. <<He>> holds open the passenger door for you, before climbing in the other side. <br><br> The engine comes to life. <!-- Bailey may not know about all your pregnancies --> <<set _knownPregnancyCount to knowsAboutPregnancyTotal("pc","Bailey","home")>> <<if _knownPregnancyCount is 1>> "You're responsible for your offspring's care," <<he>> says. "If I have to intervene, it'll cost you an extra <span class="red">£100</span> a week.<<if $litter_size gte 2>> Each.<</if>>" <br><br> "They don't leave the nursery," <<he>> adds as <<he>> drives from the hospital car park. "Ever." <<elseif _knownPregnancyCount lte 4>> "Remember that you're responsible for your offspring's care," <<he>> says. "If I have to intervene, it'll cost you an extra <span class="red">£100</span> a week.<<if $litter_size gte 2>> Each.<</if>>" <<else>> "You're an irresponsible slut," <<he>> says. "Remember that if I have to intervene in the care of your offspring, it'll cost you an extra <span class="red">£100</span> a week.<<if $litter_size gte 2>> Each.<</if>>" <</if>> <<if $baileydefeatedchain gte 3>> You see <<him>> sneer, but only for a brief instant. "I'd rather not make someone else take care of your twerps, but if you keep being a difficult little shit, don't think you'll be allowed to see them again." <</if>> <br><br> <<if $litter_size is 1>> <<link [[Tell Bailey your baby's name|Pregnancy Birth Hospital 7]]>><<set $phase to 1>><</link>> <br> <<link [[Just hold the baby tight|Pregnancy Birth Hospital 7]]>><</link>> <br> <<else>> <<link [[Tell Bailey your babies' names|Pregnancy Birth Hospital 7]]>><<set $phase to 1>><</link>> <br> <<link [[Just hold your babies tight|Pregnancy Birth Hospital 7]]>><</link>> <br> <</if>><<set $location to "town">><<effects>> Bailey drives past the temple, onto Danube Street. <<if $phase is 1>> <<if $litter_size is 1>> "This is <<childname>>," you begin, holding <<childhim>> closer to Bailey's arm. <<else>> "These are <<childrenNames $bornChildrenIds>>," you begin, holding them closer to Bailey's arms one by one. <</if>> You tell Bailey everything that happened from when you arrived at the hospital. <<He>> doesn't interrupt, but doesn't respond either. <<else>> <<if $litter_size gte 2>> You hold your babies to your chest. <<childname>> yawns. <<else>> You hold your baby to your chest. <<childHe>> yawns. <</if>> <</if>> <br><br> <<pass 5>> You arrive at Domus Street. Bailey holds open the car door for you. <<if $first_birth>> "I'll escort you inside," <<he>> says. <<His>> eyes dart to <<if $litter_size gte 2>>the babies in your arms<<else>><<childname>><</if>>. "For safety." <br><br> You walk through the orphanage, towards the youth ward. <br><br> <<else>> "I'll escort you to the youth ward," <<he>> says. <<His>> eyes dart to <<if $litter_size gte 2>>the babies in your arms<<else>><<childname>><</if>>. "For safety." <br><br> <<He>> leads you through the orphanage, towards the youth ward. <br><br> <</if>> <<link [[Next|Pregnancy Birth Hospital 8]]>><</link>> <br><<set $location to "home">><<effects>> <<generate2>><<person2>> <<if $litter_size is 1>> One of Bailey's goons, a <<person>> exits the youth ward, pushing a cradle. You place <<childname>> within. "My staff keep an eye on things here," Bailey says. "They'll make sure your brat doesn't starve or anything, <span class="gold">but make sure you spend some time with them every day.</span> Or I'll charge." <br><br> <<person1>> "Later though," <<he>> adds. "You need to freshen up, and your brat is asleep anyway." The <<person2>><<person>> pushes <<childname>> through the ward doors. <<person1>>Bailey keeps <<his>> gaze fixed on <<childname>> until <<childhe>>'s safely within. <br><br> <<elseif $litter_size is 2>> One of Bailey's goons, a <<person>> exits the youth ward, pushing a pair of cradles. You place the twins within. "My staff keep an eye on things here," Bailey says. "They'll make sure your brats don't starve or anything, <span class="gold">but make sure you spend some time with them every day.</span> Or I'll charge." <br><br> <<person1>> "Later though," <<he>> adds. "You need to freshen up, and your brats are asleep anyway." The <<person2>><<person>> pushes the twins through the ward doors. <<person1>>Bailey keeps <<his>> gaze fixed on <<childrenNames $bornChildrenIds>> until they're safely within. <br><br> <<else>> One of Bailey's goons, a <<person>> exits the youth ward, pushing a trio of cradles. You place the triplets within. "My staff keep an eye on things here," Bailey says. "They'll make sure your brats don't starve or anything, <span class="gold">but make sure you spend some time with them every day.</span> Or I'll charge." <br><br> <<person1>> "Later though," <<he>> adds. "You need to freshen up, and your brats are asleep anyway." The <<person2>><<person>> pushes the triplets through the ward doors. <<person1>>Bailey keeps <<his>> gaze fixed on <<childrenNames $bornChildrenIds>> until they're safely within. <br><br> <</if>> <<if $first_birth>> <span class="gold">You can now access the youth ward, and the nursery.</span> <br><br> <</if>> <<link [[Next|Orphanage]]>><<unset $litter_size>><<unset $first_birth>><<endevent>><<set $ward_unlocked to true>><<unset $bornChildrenIds>><</link>><<set $outside to 0>><<set $location to "hospital">><<effects>> You feel a rumbling all around you. Then a pain in your abdomen. You're tied down, lying in the back of what looks like an ambulance. <<if playerChastity("hidden")>> There's a figure beside you, holding a blurry tool to your <<print $worn.genitals.name>>. You feel the metal snap as you lose consciousness once more. <<set $worn.genitals.type.push("broken")>> <<genitalsruined>> <br><br> <<else>> A figure beside you presses a mask to your face, and you lose consciousness once more. <br><br> <</if>> <<link [[Next (0:15)|Pregnancy Birth Hospital Wolf 2]]>><<pass 15>><<endevent>><</link>><<location "forest">><<effects>> You awaken again. You hang limp between two figures. The branches of the forest hang overhead. You're being carried, but you're too weak to move. Your consciousness slips once more. <br><br> <<link [[Next (0:15)|Pregnancy Birth Hospital Wolf 3]]>><<pass 15>><<endevent>><</link>> /* From the hospital or dropped by non-wolf rescuers */<<location "forest">><<effects>> You hit the ground. A pair of footsteps rush away from you. <br><br> <<if $syndromewolves is 1>> You remember this smell. You're outside the wolf cave. <<else>> You're outside a cave. It's shelter, at least. You stumble inside. <</if>> <br><br> <<link [[Next (0:15)|Pregnancy Birth Wolf Cave 1]]>><<pass 15>><<endevent>><<set $phase to 3>><</link>> /* Rescued by wolves */<<location "forest">><<effects>> The movement stops. You feel yourself being lowered onto something soft. <br><br> <<if $syndromewolves is 1>> You remember this smell. You're in the wolf cave. <<else>> You're in a cave. It's shelter, at least. <</if>> <br><br> <<link [[Next (0:15)|Pregnancy Birth Wolf Cave 1]]>><<pass 15>><<endevent>><<set $phase to 3>><</link>> /* Note: Pregnancy - Unused passages */<<set $outside to 0>><<set $location to "wolf_cave">><<effects>> Player reaches the wolf cave, is guided to the inside of the cave to give birth. <br><br> <<strip>> <<if playerChastity("vagina")>> Chastity Belt is broken if equipped. "The pack feels your distress" later "Most of the pack has injured mouths after chewing the belt so fiercely to free you"? <<set $worn.genitals.type.push("broken")>> <<genitalsruined>> <br><br> <</if>> <<link [[Next (0:15)|Pregnancy Birth Wolf Cave 1]]>><<pass 15>><<endevent>><<set $phase to 3>><</link>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> The others wolves leave the player alone for them to give birth, sequence should follow similar to the normal birth, though alone this time. <br><br> <<link [[Next (0:15)|Pregnancy Birth Hospital Wolf 6]]>><<pass 15>><<endevent>><</link>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> Player is finished with giving birth and spends some time to recover and start to have special time with their newborns. Option to name occurs here. <br><br> <<birthUi "pc" "wolf_cave" "wolf_cave" "Pregnancy Birth Hospital Wolf 7" 60>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> Player spends time looking after and feeding their children. <br><br> Player re-equips clothes. <<clotheson>> <br><br> <<if $syndromewolves isnot 1>> <<if $bestialitydisable is "f">> <span class="red"><i>After giving birth to pups of your own, you see they're just cute animals.</i> You've gained the "Stockholm Syndrome: Wolves" trait.</span> <br><br> <<else>> <span class="red"><i>After giving birth to pups of your own, you see they're just cute monsters.</i> You've gained the "Stockholm Syndrome: Wolf People" trait.</span> <br><br> <</if>> <<set $syndromewolves to 1>> <<set $wolfevent to 0>> <<set $wolfstate to "cave">> <<set $wolfpackferocity to 10>> <<set $wolfpackharmony to 10>> <</if>> <<link [[Next (24:00)|Wolf Cave]]>><<pass 15>><<endevent>><<set $wolfevent to 0>><</link>> /*Player giving birth ends here*/ /*ToDo: Pregnancy Story Content: add in additional location*/<<effects>><<wearProp "pregnancy test">> <<set $pregnancyTest-->> <<switch $lastPassage>> <<case "Bedroom">> You take the pregnancy test, before returning to the bedroom. The test sits on your bed, as you pace back and forth waiting for it to finish. <<case "Eden Cabin">> You take the pregnancy test in Eden's bathroom, before returning to the main room. You stare at the test in your hand, not daring to look away, waiting for it to finish. <<case "Wolf Cave Clearing">> You take the pregnancy test out of view from the wolves. You stare at the test in your hand, not daring to look away, waiting for it to finish. <<case "Farm Shed">> You take the pregnancy test. You stare at the test in your hand, not daring to look away, waiting for it to finish. <<default>> You take the pregnancy test. You stare at the test in your hand, not daring to look away, waiting for it to finish. <</switch>> The packaging said to wait 3 minutes, but it feels like an eternity passes. <<gstress>><<stress 3>> <br><br> <<set $pregnancyStats.pregnancyTestsTaken++>> <<if !$player.vaginaExist>> <<set _pregnancyTest to $sexStats.anus.pregnancy>> <<if _pregnancyTest.type is null or _pregnancyTest.type is "parasite" or _pregnancyTest.timer is 0 or (between(_pregnancyTest.timer, 0, 3) and random(0,100) gte 10) or (between(_pregnancyTest.timer, 3, 6) and random(0,100) gte 15)>> <span class="green">It's negative.</span> You wonder how it could ever be positive. <<elseif _pregnancyTest.givenBirth >= 1>> <span class="lewd">It's positive.</span> Many thoughts rush through your head, and you sit to collect yourself. <<gstress>><<stress 3>><<garousal>><<arousal 100>> <br><br> <<if _pregnancyTest.potentialFathers.length is 1>> <<set _fatherName to pregnancyNameCorrection(_pregnancyTest.potentialFathers[0].source)>> <span class="lewd">It's clear that <<print _fatherName === "yourself" ? "you are" : _fatherName + " is">> the father.</span> <<else>> <span class="red">You wonder who the father is.</span> <</if>> <<set _pregnancyTest.awareOf to "pregnancyTest">> <<else>> <span class="lewd">It's positive.</span> You briefly wonder if you're seeing things or have gone crazy. Many thoughts rush through your head, and you sit to collect yourself. <<ggstress>><<stress 10>><<ggarousal>><<arousal 200>> <br><br> <<if _pregnancyTest.potentialFathers.length is 1>> <<set _fatherName to pregnancyNameCorrection(_pregnancyTest.potentialFathers[0].source)>> <span class="lewd">It's clear that <<print _fatherName === "yourself" ? "you are" : _fatherName + " is">> the father.</span> <<else>> <span class="red">You wonder who the father is.</span> <</if>> <<set _pregnancyTest.awareOf to "pregnancyTest">> <</if>> <<else>> <<set _pregnancyTest to $sexStats.vagina.pregnancy>> <<if _pregnancyTest.type is null or _pregnancyTest.type is "parasite" or _pregnancyTest.timer is 0 or (between(_pregnancyTest.timer, 0, 3) and random(0,100) gte 10) or (between(_pregnancyTest.timer, 3, 6) and random(0,100) gte 15)>> <span class="green">It's negative.</span> <<else>> <span class="lewd">It's positive.</span> Many thoughts rush through your head, and you sit to collect yourself. <<gstress>><<stress 3>><<garousal>><<arousal 100>> <br><br> <<if _pregnancyTest.potentialFathers.length is 1>> <<set _fatherName to pregnancyNameCorrection(_pregnancyTest.potentialFathers[0].source)>> <span class="lewd">It's clear that <<print _fatherName === "yourself" ? "you are" : _fatherName + " is">> the father.</span> <<else>> <span class="red">You wonder who the father is.</span> <</if>> <<set _pregnancyTest.awareOf to "pregnancyTest">> <</if>> <</if>> <br><br> <<link [[Next|$lastPassage]]>><<endevent>><<unset $lastPassage>><<set $eventskip to 1>><</link>><<widget "pregnancyTest">> <<if _args[0]>> <<if $pregnancyTest gt 0>> <<if !getPregnancyObject().awareOf>> <<pregnancytesticon>><<link [[Take a pregnancy test (0:05)|pregnancyTest]]>><<pass 5>><<set $lastPassage to _args[0]>><</link>> <br> <<elseif getPregnancyObject().awareOf>> <<pregnancytesticon>><span class="lewd"> You have a pregnancy test, but you already know you're pregnant.</span> <br> <</if>> <</if>> <</if>> <</widget>> /*Note: Pregnancy *//* Ultrasounds not performed before 12 weeks in normal circumstances, or before 8 in high-risk. Prior to 12 weeks, ultrasounds are usually performed transvaginally. Future commit will address this.*/ <<set $outside to 0>><<set $location to "hospital">><<effects>> <<harper_intro>> <<setKnowsAboutPregnancy "pc" "Harper">> <<if $ultrasoundIntro isnot 1>> <<set $ultrasoundIntro to 1>> /* player is introduced to what ultrasounds are, how it occurs and the reasons why they are done. */ "First of all," the doctor says. "Congratulations. An ultrasound is a wise request. Please follow me to radiology." <<He>> continues talking as you walk. <br><br> "If you're far enough along, we start by applying a gel to prevent air pockets, which could disrupt the sound waves we'll be pushing through your body. There's no risk. The gel is water-based and easy to remove, and the sound is harmless." <<else>> "An ultrasound is a wise request. Please follow me to radiology." <</if>> <br><br> <<He>> leads you to a room in the hospital basement. Several machines blink, and make a soft pinging sound. There's a bed in one corner of the room, with a monitor next to it. A technician waits to assist. <br><br> "Please undress down to your underwear," the doctor says. <br><br> <<link [[Next|Pregnancy ultrasound 2]]>><<overupperstrip>><<upperstrip>><<underupperstrip>><</link>><<set $outside to 0>><<set $location to "hospital">><<effects>> /*Alex variables*/ <<if getPregnancyObject().fetus[0].father is "Alex">> <<set C.npc.Alex.pregnancy.ultraSoundPics to true>> <</if>> You strip and lie down. <<set [_pregnancy, _pregnancyGenital] to getPregnancyObject("pc", true)>> <<if _pregnancy.timer lte _pregnancy.timerEnd * 0.3>> <<set _pregnancy.awareOfMultiple to true>> "I'm afraid you're not far enough along for an abdominal ultrasound," Doctor Harper remarks. "But we can use the doppler to listen for cardiac activity." <br><br> <<He>> picks up a small handheld instrument, twists a dial, and presses a small circular wand against your lower abdomen. <<He>> moves it across your body. The instrument makes static-sounding hisses, punctuated by occasional thrums. <<He>> slows, and the thrums become a rhythmic staccato dance. <br><br> "There! Listen. A healthy child." A little more than two beats a second. The thrumming soothes you.<<lstress>> <br><br> <<stress -10>> <<if _pregnancy.fetus.length gt 1>> <<He>> moves the wand a little more, and fails to conceal surprise. "There's another one." You hear a second pulsing, slightly different in tempo.<<gstress>><<stress 6>> <br><br> <</if>> <<if C.npc.Alex.pregnancy.ultraSound is "requested">> <<set C.npc.Alex.pregnancy.ultraSound to "collected2">> You ask <<him>> for a doctor's note affirming that you're pregnant. <<He>> taps away at <<his>> computer for a moment before printing out an official-looking letter. <<He>> signs it with a flourish and hands it to you. <br><br> <</if>> <<else>> <<if C.npc.Alex.pregnancy.ultraSound is "requested">><<set C.npc.Alex.pregnancy.ultraSound to "collected">><</if>> /* Player has pictures of the babies */ <<set _pregnancy.ultrasoundDone to true>> <<bodyliquid "vaginaoutside" "goo" 2>> Doctor Harper prepares the gel and wand for the procedure. You find the gel to be comfortably warm as <<he>> slathers it on your abdomen. <br><br> <<if $cowbuild gte 20>> You suppress the urge to moo. Your teats tingle with anticipation.<<garousal>> <<arousal 3>> <br><br> <<elseif $wolfbuild gte 20>> /* Your wolf fur gets slightly matted by the gel.<br><br> */ <<elseif $catbuild gte 20>> /* Your cat fur gets slightly matted by the gel. <br><br> */ <</if>> <<He>> runs the wand left and right over your lower abdomen as the screen changes and flashes different shades of grey over <<his>> face. <br> <<if _pregnancy.type isnot "human">> Harper is quiet for a while as <<he>> pores over the equipment, and the technician gives a look of concern. It's making you nervous. There's a lot of clicking and typing on the computer as the technician measures different parts. Femur, head, humerus, and amniotic fluid levels. <<else>> There's a lot of clicking and typing on the computer as the technician measures different parts. <</if>> <br><br> <<if _pregnancy.fetus.length gt 1>> <<set _multiple to true>> <<else>> <<set _multiple to false>> <<switch _pregnancy.fetus[0].gender>> <<case "m">> <<set _he to "he">> <<set _He to "He">> <<set _his to "his">> <<set _His to "His">> <<set _him to "him">> <<set _gender to "male">> <<case "f">> <<set _he to "she">> <<set _He to "She">> <<set _his to "her">> <<set _His to "Her">> <<set _him to "her">> <<set _gender to "female">> <<case "h">> <<set _he to "she">> <<set _He to "She">> <<set _his to "her">> <<set _His to "Her">> <<set _him to "her">> <<set _gender to "hermaphrodite">> <</switch>> <</if>> <<if _pregnancy.type isnot "human" and _pregnancy.fetus[0].features.monster>> <<if _pregnancy.type is "hawk">> <<set _type to "harpy">> <<else>> <<set _type to _pregnancy.fetus[0].type + "person">> <</if>> <<else>> <<set _type to _pregnancy.fetus[0].type>> <</if>> <<switch _pregnancy.type>> <<case "human">> <<He>> at last turns to you. "Would you like to see?" <<He>> swings the monitor to face you. <<if !_pregnancy.awareOfMultiple and _pregnancy.fetus.length gt 1>> You're surprised by what you see. <</if>> <br><br> You see <<if _multiple>><<if _pregnancy.fetus.length is 3>>three<<else>>two<</if>> sets<<else>>a pair<</if>> of eyes, arms, hands, legs, and feet as the doctor moves the wand across your belly. <<stress -5>><<lstress>> <br><br> "Perfect," the doctor says. "I'll print them out for you to take home." <br><br> <<if !_pregnancy.genderKnown>> <<set _pregnancy.genderKnown to true>> "It's time," the doctor announces. <<if _multiple>> "I hope you're excited to know your children's sex." <br><br> <<He>> glides the wand over your gently bulging belly. The pressure is uncomfortable. <<pregnancyGendersText>> <br><br> <<else>> "Are you excited for the gender reveal?" <<he>> asks. <br><br> <<He>> glides the wand over your rounded abdomen. The pressure is uncomfortable. <<if _pregnancy.fetus[0].gender is "m">> "It's a boy," <<he>> says. "Congratulations." You can't make out anything on the screen that would indicate this, but Harper seems confident. <br><br> <<elseif _pregnancy.fetus[0].gender is "f">> "It's a girl," <<he>> says. "Congratulations." You can't make out anything on the screen that would indicate this, but Harper seems confident. <br><br> <<else>> "I'm afraid I can't tell if it's a boy or a girl," <<he>> says. "<span class="blue">It almost looks like both.</span> Regardless, they're healthy. Congratulations." <br><br> <</if>> <</if>> <</if>> <<if _pregnancy.timer gte _pregnancy.timerEnd * 0.9>> /* 36-40 weeks, full term */ <<if ! _multiple>> "Good news," <<he>> continues. "Your baby has dropped and is head-down. This should ease some of the pressure you feel." <</if>> It'll be time to deliver soon. The doctor hands you some literature about labour, and what to do when it begins. "Please come see us when your waters break. We will take good care of you." <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.8>> /*32-36 weeks, preterm */ You feel several fluttery kicks as the doctor continues to probe. "Based on these measurements," the technician says, "you'll be full term in a few weeks. Have you made birth plans yet? Make sure you're getting rest and nutrition." <br><br> You know you'll need rest, and money.<<gstress>><<stress 6>> <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.7>> /*28-32 weeks */ <<if !_multiple>> "Look, <<print _he>> is moving around," the doctor says. "Can you see the fingers?" It almost appears <<print _his>> hand is waving at the screen. You feel movements inside at the same time.<<llstress>><<stress -7>> <br><br> "Your child looks healthy," Harper continues. "<<print _He>> just needs to keep growing, putting on weight and maturing <<print _his>> lungs. It's very important that you make healthy choices right now, as your children depend on your body for everything." <<else>> "Look, they're moving around," the doctor says. "Can you see the fingers?" It almost appears one of their hands is waving at the screen. You feel movements inside at the same time.<<llstress>><<stress -7>> <br><br> Harper continues. "Your children look healthy. They just need to keep growing, putting on weight and maturing their lungs. It's very important that you make healthy choices right now, as your children depend on your body for everything." <</if>> <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.6>> /* 24-28 weeks */ <<if _multiple>> The doctor continues to probe your belly. As <<he>> does, you feel like there's a swarm of butterflies inside as your children turn back and forth in response to the prodding. <br><br> "Everything seems in order," Harper says. "Your babies are measuring <<print _pregnancy.fetus[0].features.size>>, and are perfectly healthy. Please come see us in a few months, when you're almost ready to give birth." <br><br> <<else>> The doctor continues to probe your belly. As <<he>> does, you feel like there's a swarm of butterflies inside as your child turns back and forth in response to the prodding. <br><br> "Everything seems in order," Harper says. "Your baby is measuring <<print _pregnancy.fetus[0].features.size>>, and is perfectly healthy. Please come see us in a few months, when you're almost ready to give birth." <br><br> <</if>> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.4>> /* 16-24 weeks */ <<if _multiple>> "Your babies are doing fine," the doctor says. "They're a little smaller than if you just had the one, but they are responsive and moving well. There's ample fluid as well, so it should be a normal pregnancy." <<llstress>> <<stress -8>> <br><br> On the screen you can see them moving around, legs and arms switching places. One jerks. "Hiccups," Harper assures you. <br><br> <<else>> "Your baby is doing great. <<print _He>> is responsive and moving well," the doctor says. "There's ample fluid as well, so it should be a normal pregnancy." <<llstress>> <<stress -8>> <br><br> On the screen you can see <<print _him>> moving around, legs and arms switching places. <<print _He>> jerks. "Hiccups," Harper assures you. <br><br> <</if>> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.3>> /* 12-16 weeks */ <<if _multiple>> "Your babies are healthy," the doctor says. "They are responsive, and moving well. There's ample fluid, so it should be a normal pregnancy."<<llstress>><<stress -8>> <br><br> You can see them moving around on the screen, legs and arms switching places. One jerks. "Hiccups," Harper assures you. <<else>> "Your baby is healthy," the doctor says. "<<print _He>> is responsive, and moving well. There's ample fluid, so it should be a normal pregnancy."<<llstress>><<stress -8>> <br><br> You can see <<print _him>> moving around on the screen, legs and arms switching places. <<print _He>> jerks. "Hiccups," Harper assures you. <</if>> <br><br> <<else>> /* Shouldn't get here. */ <</if>> <<case "wolf">> <<if !_pregnancy.awareOfDetails>> "I'd like to congratulate you," <<he>> starts as <<he>> turns to you. "You're lucky to carry a very unusual pregnancy. Instead of a human child, <span class="lewd">you're pregnant with <<if _multiple>> a litter of _type pups. <<else>> a _type pup. <</if>> </span>Remarkable." <br><br> Harper smiles at you. "There's nothing to worry about, your <<if _multiple>>children are<<else>>child is<</if>> in perfectly good health. Would you like to see?" <<else>> <<He>> at last turns to you. "Would you like to see?" <</if>> <<He>> swings the monitor to face you. <br><br> You see <<if _multiple>><<number _pregnancy.fetus.length>> sets<<else>>a pair<</if>> of eyes, legs, and paws as the doctor moves the wand across your full belly. <<stress -5>><<lstress>> <br><br> "Perfect," the doctor says. "I'll print them out for you to take home." <br><br> <<if !_pregnancy.genderKnown>> <<set _pregnancy.genderKnown to true>> "It's time," the doctor announces. <<if _multiple>> "I hope you're excited to know your children's sex." <br><br> <<He>> glides the wand over your gently bulging belly. The pressure is uncomfortable. <<pregnancyGendersText>> <br><br> <<else>> "Are you excited for the gender reveal?" <<he>> asks. <br><br> <<He>> glides the wand over your rounded abdomen. The pressure is uncomfortable. <<if _pregnancy.fetus[0].gender is "m">> "It's a boy," <<he>> says. "Congratulations." You can't make out anything on the screen that would indicate this, but Harper seems confident. <br><br> <<elseif _pregnancy.fetus[0].gender is "f">> "It's a girl," <<he>> says. "Congratulations." You can't make out anything on the screen that would indicate this, but Harper seems confident. <br><br> <<else>> "I'm afraid I can't tell if it's a boy or a girl," <<he>> says. "<span class="blue">It almost looks like both.</span> Regardless, they're healthy. Congratulations." <br><br> <</if>> <</if>> <</if>> <<if _pregnancy.timer gte _pregnancy.timerEnd * 0.9>> /* 36-40 weeks, full term */ <<if ! _multiple>> "Good news," <<he>> continues. "Your pup has dropped and is head-down. This should ease some of the pressure you feel." <</if>> It'll be time to deliver soon. The doctor hands you some literature about labour, and what to do when it begins. There's nothing in it about wolves, though. "Please come see us when your waters break. We will take good care of you." <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.8>> /*32-36 weeks, preterm */ You feel several fluttery kicks as the doctor continues to probe. "Based on these measurements," the technician says, "you'll be full term very soon. We think. It's very hard to tell with a... non-human pregnancy. Have you made birth plans yet? Make sure you're getting rest and nutrition." <br><br> You know you'll need rest, and money. You wonder where you'll keep them.<<gstress>><<stress 6>> <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.7>> /*28-32 weeks */ <<if !_multiple>> "Look, <<print _he>> is moving around," the doctor says. "Can you see the toes?" It almost appears <<print _his>> paw is waving at the screen. You feel movements inside at the same time.<<llstress>><<stress -7>> <br><br> "Your pup looks healthy," Harper continues. "<<print _He>> just need to keep growing, putting on weight and maturing <<print _his>> lungs. It's very important that you make healthy choices right now, as your children depend on your body for everything." <<else>> "Look, they're moving around," the doctor says. "Can you see the toes?" It almost appears one of their paws is waving at the screen. You feel movements inside at the same time.<<llstress>><<stress -7>> <br><br> Harper continues. "Your children look healthy. They just need to keep growing, putting on weight and maturing their lungs. It's very important that you make healthy choices right now, as your children depend on your body for everything. It's especially important that you take care with such an unusual pregnancy." <</if>> <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.6>> /* 24-28 weeks */ <<if _multiple>> The doctor continues to probe your belly. As <<he>> does, you feel like there's a swarm of butterflies inside as your litter turns back and forth in response to the prodding. <br><br> "Everything seems in order," Harper says. "Your pups are measuring <<print _pregnancy.fetus[0].features.size>>, and are perfectly healthy. Please come see us in a few weeks, when you're almost ready to give birth." <br><br> <<else>> The doctor continues to probe your belly. As <<he>> does, you feel like there's a swarm of butterflies inside as your pup turns back and forth in response to the prodding. <br><br> "Everything seems in order," Harper says. "Your pup is measuring <<print _pregnancy.fetus[0].features.size>>, and is perfectly healthy. Please come see us in a few weeks, when you're almost ready to give birth." <br><br> <</if>> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.4>> /* 16-24 weeks */ <<if _multiple>> "Your ba... litter, is doing fine," the doctor says. "They're a little smaller than if you just had the one, but they are responsive and moving well. There's ample fluid as well, so it should be a normal pregnancy. As normal as a pregnancy like this can be." <<llstress>> <<stress -8>> <br><br> On the screen you can see them moving around, legs switching places. One jerks. "Hiccups," Harper assures you. <br><br> <<else>> "Your pup is doing great. <<print _He>> is responsive and moving well," the doctor says. "There's ample fluid as well, so it should be a normal pregnancy. As normal as a pregnancy like this can be." <<llstress>> <<stress -8>> <br><br> On the screen you can see <<print _him>> moving around, legs switching places. <<print _He>> jerks. "Hiccups," Harper assures you. <br><br> <</if>> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.3>> /* 12-16 weeks */ <<if _multiple>> "Your pups are healthy," the doctor says. "They are responsive, and moving well. There's ample fluid, so it should be a normal pregnancy. As normal as a pregnancy like this can be."<<llstress>><<stress -8>> <br><br> You can see them moving around on the screen, legs switching places. One jerks. "Hiccups," Harper assures you. <<else>> "Your pup is healthy," the doctor says. "<<print _He>> is responsive, and moving well. There's ample fluid, so it should be a normal pregnancy. As normal as a pregnancy like this can be."<<llstress>><<stress -8>> <br><br> You can see <<print _him>> moving around on the screen, legs switching places. <<print _He>> jerks. "Hiccups," Harper assures you. <</if>> <br><br> <<else>> /* Shouldn't get here. */ <</if>> <<case "hawk">> <<if !_pregnancy.awareOfDetails>> "I'd like to congratulate you," <<he>> starts as <<he>> turns to you. "You're lucky to carry a very unusual pregnancy. Instead of a human child, <span class="lewd">you're pregnant with <<if _multiple>> a... clutch of bird eggs. <<else>> a... bird egg. <</if>> </span>Remarkable." <br><br> <<if _pregnancyGenital is "vagina">> <<He>> clears <<his>> throat. "It appears that, rather than releasing an egg cell, a runaway reaction within your ovaries has caused a cluster of cells to gel into a sort of membrane, becoming larger eggs. They've already passed through your oviduct, and sit within your uterus." <br><br> <</if>> Harper smiles at you. "There's nothing to worry about, your <<if _multiple>>children are<<else>>child is<</if>> in perfectly good health. Would you like to see?" <<else>> <<He>> at last turns to you. "Would you like to see?" <</if>> <<He>> swings the monitor to face you. <br><br> You see <<if _multiple>><<number _pregnancy.fetus.length>> hard outlines, each containing a pair of eyes, legs,<<if _type is "harpy">> arms,<</if>> and tiny wings.<<else>>a hard outline, containing a pair of eyes, legs,<<if _type is "harpy">> arms,<</if>> and tiny wings.<</if>> It's a little hard to make out because of the egg shell, but you manage to see more as the doctor moves the wand across your full belly. <<stress -5>><<lstress>> <br><br> <<if !_pregnancy.genderKnown>> "Unfortunately, the hardening shell is making it nearly impossible to tell the gender. I suspect you won't have to wait too long to find out for yourself, though." <<He>> continues moving the wand, trying to get a better angle, but the picture is too small and distorted. <br><br> <</if>> <<if _pregnancy.timer gte _pregnancy.timerEnd * 0.8>> <<if ! _multiple>> "Good news," <<he>> continues. "Your <<if _pregnancyGenital is "vagina">>oviduct is expanding, in preparation for the egg<<if _multiple>>s<</if>> to pass through.<<else>>egg<<if _multiple>>s are<<else>> is<</if>> starting to move in preparation for laying.<</if>>" <</if>> It'll be time to deliver soon. The doctor hands you some literature about labour, and what to do when it begins. There's nothing in it about birds or eggs, though. "The laying process should be something you can do at home. However, don't hesitate to come see us if you have further questions." <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.6>> You feel a low rumble from within yourself. "Based on these measurements," the technician says, "you'll be full term very soon. We think. It's very hard to tell with a... non-human pregnancy. Have you made birth plans yet? Make sure you're getting rest and nutrition." <br><br> You know you'll need rest. You think about where to keep them. A nest? <<if _pregnancy.fetus[0].father is "Great Hawk">>The castle's tower comes to mind.<</if>> <br><br> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.4>> /* 16-24 weeks */ <<if _multiple>> "Your ba... eggs, are doing fine," the doctor says. "They are responsive and moving well. There's ample fluid, so it should be a normal pregnancy. As normal as a pregnancy like this can be." <<llstress>> <<stress -8>> <br><br> <<else>> "Your egg is doing great. The baby inside is responsive and moving well," the doctor says. "There's ample fluid, so it should be a normal pregnancy. As normal as a pregnancy like this can be." <<llstress>> <<stress -8>> <br><br> <</if>> <<elseif _pregnancy.timer gte _pregnancy.timerEnd * 0.3>> <<if _multiple>> "Your eggs are healthy," the doctor says. "They are responsive, and moving well. There's ample fluid, so it should be a normal pregnancy. As normal as a pregnancy like this can be."<<llstress>><<stress -8>> <br><br> <<else>> "Your egg is healthy," the doctor says. "It is responsive, and moving well. There's ample fluid, so it should be a normal pregnancy. As normal as a pregnancy like this can be."<<llstress>><<stress -8>> <br><br> <</if>> <br><br> <<else>> /* Shouldn't get here. */ <</if>> <<default>> <</switch>> <<makeAwareOfDetails>> <<set _pregnancy.awareOfMultiple to true>> <</if>> <<link [[Next|Pregnancy ultrasound 3]]>><</link>><<set $outside to 0>><<set $location to "hospital">><<effects>><<wearProp "rag">> You thank Doctor Harper for the scan as <<he>> hands you a warm towel. You wipe off the gel. <br><br> <<bodyliquid "vaginaoutside" "goo" -1>> <<clotheson>> <<link [[Return to foyer|Hospital Foyer]]>><<endevent>><</link>><<effects>> <<npc "Alex">> <<getChildrenIds>><<childSelect _childrenIds.last()>> <<if $alexRescued>> Alex taps <<his>> foot as <<he>> waits for you in the hospital foyer. <<He>> runs over to you, very nearly knocking you over. "Partner! I'm so glad you're alright. You know how to scare a <<= C.npc.Alex.pronoun is "m" ? "farmboy" : "farmgirl">>." <<unset $alexRescued>> <<else>> Alex waits for you in the hospital foyer. <<He>> smiles when <<he>> sees you. "Hey, I got a call from the hospital saying that you were in labour. I got here as fast as I could." <</if>> <br><br> <<He>> looks at <<if $litter_size is 1>><<childname>><<else>><<childrenNames $bornChildrenIds>><</if>> and smiles. "So <<print $litter_size > 1 ? "these are our little fellas" : "this is our little fella">>." <br><br> <<if $litter_size is 1>> <<link [[Let Alex hold <<childhim>>|Pregnancy Birth Hospital Alex 2]]>><<set $phase to 1>><</link>> <br> <<link [[Keep holding your baby|Pregnancy Birth Hospital Alex 2]]>><<set $phase to 2>><</link>> <<else>> <<link [[Let Alex hold them|Pregnancy Birth Hospital Alex 2]]>><<set $phase to 1>><</link>> <br> <<link [[Keep holding your babies|Pregnancy Birth Hospital Alex 2]]>><<set $phase to 2>><</link>> <</if>><<effects>> <<if $phase is 1>> "Here, you should hold <<if $litter_size is 1>><<childhim>><<else>>them<</if>> too," you say, passing <<if $litter_size is 1>><<childname>><<else>><<childrenNames $bornChildrenIds>><</if>> to Alex. <br><br> <<He>> doesn't have a problem holding <<if $litter_size is 1>><<childhim>><<else>>them<</if>>. Actually, it looks like <<hes>> used to it. "So cute," <<he>> says with a giggle as <<he>> hands <<if $litter_size is 1>><<childname>><<else>>them<</if>> back to you. <br><br> <<else>> <<if $litter_size gte 2>> You hold your babies to your chest. <<childname>> yawns. <<else>> You hold your baby to your chest. <<childHe>> yawns. <</if>> <br><br> <</if>> "Did you already give <<if $litter_size is 1>><<childhim>> a name<<else>>them names<</if>>?" <br> You nod and tell Alex <<if $litter_size is 1>><<childhis>> name<<else>>their names<</if>>. <br> "<<if $litter_size is 1>><<childname>><<else>><<childrenNames $bornChildrenIds>><</if>>, huh? Let's get you home, shall we?" <<he>> says. <br><br> A confused expression crosses your face. "You know that we can't take <<if $litter_size is 1>><<childhim>><<else>>them<</if>> to the farm by horse, right?" <br><br> Alex laughs. "I know, dummy. You didn't really think I would do that, do you?" <<he>> asks. <br> "Okay," <<he>> concedes, "maybe I thought about it, but hey, guess what? Someone agreed to give us a ride. Come on, I'll show you," <<he>> says, guiding you to where the vehicle is parked. <br><br> <<if pregnancyCountBetweenParents("pc","Alex") gte 2 or pregnancyCountBetweenParents("Alex","pc") gte 2>> <<link [[Next|Pregnancy Birth Hospital Alex 5]]>><<endevent>><</link>> <<else>> <<link [[Next|Pregnancy Birth Hospital Alex 3]]>><</link>> <</if>>/*This part may only happen if the player first birth was at the hospital*/ <<effects>> <<set _alex to statusCheck("Alex")>> "Hold on just a sec," a voice says from behind. <span class="red">It's Bailey.</span> <br> "Just where do you think you're going with my property?" <<nnpc_he "Bailey">> says. <br><br> Alex frowns. "Your 'property'? Just what are you trying to say, pal?" <br><br> Bailey ignores Alex's question and glares at you. "We've a place prepared at the orphanage. Now make my job easier and hand me the <<print $litter_size > 1 ? "brats" : "brat">>." <br><br> "What makes you think that we'll just give our <<print $litter_size > 1 ? "children" : "child">> to you?" Alex protests. <br><br> Bailey turns <<nnpc_his "Bailey">> gaze to Alex. "Look, 'cow<<if _alex.pronoun is "f">>girl<<else>>boy<</if>>', you could've fucked any whore and I wouldn't care, but you hitched yourself to MY ward." <br> Alex clenches <<his>> fists. "And who exactly said <<pshe>> is yours? <<pShes>> MY <<if $player.gender_appearance is "f">>woman<<else>>man<</if>>." <br> Bailey fixes Alex with a piercing gaze. "And how exactly do you plan on taking care of a kid on that shithole you call a farm?" <br><br> <<link [[Next|Pregnancy Birth Hospital Alex 4]]>><</link>><<effects>> "We have our own nursery at the cottage; we don't need your help," Alex responds. <br><br> A long and deafening silence fills the environment. Bailey keeps staring at you and Alex. <br><br> "Tch." Bailey is the first to break the silence. "Do whatever you want; it's one less problem for me to deal with anyway." Shooting you one last glare, <<nnpc_he "Bailey">> turns and leaves the hospital. <br><br> "I'm glad that's over," Alex says. "Let's just get to where the vehicle is parked." <br><br> <<link [[Next|Pregnancy Birth Hospital Alex 5]]>><<endevent>><</link>><<effects>> <<set _alex to statusCheck("Alex")>> <<generate1>><<person1>> <<npc "Alex" 2>><<person2>> <<if $NPCList[0].gender is "f">> <<set $alex_parent to "mother">> <<else>> <<set $alex_parent to "father">> <</if>> <<run Object.values(V.children).filter(child => { if (child.location === "home" && (child.father === "Alex" || child.mother === "Alex")) child.location = "alex_cottage"; })>> Alex's $alex_parent waves at you two. <br><br> Alex opens the door for you. <<person2>><<He>> helps you in before settling into the seat next to you. <br><br> <<if pregnancyCountBetweenParents("pc", "Alex") gte 2>> "Again?" <<nnpc_His "Alex">> $alex_parent laughs. "My <<if _alex.pronoun is "f">>daughter<<else>>son<</if>> is sure keeping you busy, ain't <<nnpc_he "Alex">>?" <br><br> Alex blushes and looks away. <br><br> <<else>> "My little <<nnpc_gendery "Alex">> is finally settling down," <<nnpc_his "Alex">> $alex_parent says with a laugh. <br> Alex blushes and looks away. <br><br> "And with such a <<if $player.gender_appearance is "f">>beautiful woman<<else>>handsome man<</if>>!" <<person1>><<he>> adds. <br> "<<if $alex_parent is "mother">>Mum<<else>>Pa<</if>>!" Alex protests. <br> "What? I'm telling the truth," <<he>> says. You don't think Alex's face can get any redder. <br><br> <</if>> <<link [[Next|Pregnancy Birth Hospital Alex 6]]>><</link>><<effects>> <<He>> drives to the farm, occasionally looking at <<his>> <<print $litter_size > 1 ? "grandchildren" : "grandchild">> and smiling. <br><br> It's not a long trip, and you soon arrive at the farm. <br><br> Alex helps you leave the vehicle and take your <<print $litter_size > 1 ? "children" : "child">> to the cottage's nursery. <br><br> <<if pregnancyCountBetweenParents("pc", "Alex") gte 2>> Alex's $alex_parent turns to Alex. "Look, I'm happy you're settling down, but try using some protection, would you? Unless you want your kids to have more siblings than you do." <<He>> laughs before driving away. <br><br> <<else>> Alex's $alex_parent turns to Alex. "I need to get back to work now, but listen, I'm proud of you. You're finally making this place look like a home," <<he>> says before driving away. <br><br> <</if>> <<link [[Next|Farm Work]]>><<endevent>><<unset $litter_size>><<unset $alex_pregnancy>><<unset $alex_parent>><</link>><<widget "moveCreature">> /*0 -> _pregnancy.fetus[_i] or location (any but portable)*/ /*1 -> Type*/ /*2 -> locationId*/ <<if _args[0] isnot null and _args[1]>> <<set _portable to $container.portable>> <<set _container to $container[$phase]>> <<set $_pregnancy to $sexStats[_args[3] or "anus"].pregnancy>> <<set _result to _args[1]>> <<switch _args[0]>> <<case 0 1 2 3>> <!-- With a number as argument 0, it takes the parasite of that argument in your current pregnancy item --> <<set _creature to clone($_pregnancy.fetus[_args[0]])>> <<default>> <!-- With a string as argument 0, it takes a parasite from the container matching the argument. Which parasite it takes corresponds to argument 2 --> <!-- Currently only used when transferring parasites for selling in :: Containers, inside a for loop --> <<if _args[2] isnot null>> <<set _creature to clone($container[_args[0]].creatures[_args[2]])>> <</if>> <</switch>> <<if _creature>> <<if _result is "destroy">> <!-- Simply gets rid of the parasite --> <<set _creature to null>> <<removeCreature _args[0] _args[2] _args[3]>> <<elseif _result is "portable">> <!-- Transfers the parasites for selling. The value of the parasite depends on its growth stat --> <<set _portable.creatures.push(clone(_creature))>> <<set _value to Math.floor(1000 / _creature.stats.growth)>> <<set _portable.value += _value>> <<removeCreature _args[0] _args[2] _args[3]>> <<elseif _result is "replace" and _args[2] isnot null and _args[0] gte 0 and _args[0] lte 3>> <!-- Replaces an existing parasite, for when you birth more than you can currently store --> <!-- The replaced parasite gets transferred for selling --> <<if _container.creatures[_i] isnot undefined>> <<if _container.creatures[_i] isnot null>> <<set _portable.creatures.push(clone(_container.creatures[_args[2]]))>> <<set _value to Math.floor(1000 / _container.creatures[_args[2]].stats.growth)>> <<set _portable.value += _value>> <<set _container.creatures[_args[2]] to clone(_creature)>> <<set _replaced to true>> <</if>> <</if>> <<if _replaced isnot true>> <<set _container.creatures[_args[2]] to clone(_creature)>> <<set _container.count += 1>> <</if>> <<removeCreature _args[0] undefined _args[3]>> <<elseif _result is "container">> <!-- Keeps the parasite and moves it to the current container --> <<set _moveTo to false>> <<for _containerSlot to 0; _containerSlot lt _container.maxCount; _containerSlot++>> <<if _container.creatures[_containerSlot] is undefined>> <<set _moveTo to true>> <<elseif _container.creatures[_containerSlot] is null>> <<set _moveTo to true>> <</if>> <<if _moveTo is true>> <<set $container[$phase].creatures[_containerSlot] to clone(_creature)>> <<set $container[$phase].count += 1>> <<removeCreature _args[0] _args[2] _args[3]>> <<break>> <</if>> <</for>> <</if>> <</if>> <</if>> <</widget>> <<widget "removeCreature">> <<if _args[0] isnot null>> <<set $_pregnancy to $sexStats[_args[2] or "anus"].pregnancy>> <<switch _args[0]>> <<case 0 1 2 3>> <!-- With a number as argument 0, it removes the parasite of that argument in your current pregnancy item --> <<set $_pregnancy.fetus[_args[0]].toDelete to true>> <<set $_pregnancy.parasiteBirthEvents += 1>> <<if $_pregnancy.motherStatus is 0 and $_pregnancy.parasiteBirthEvents gte 3>> <<set $_pregnancy.motherStatus to 1>> <</if>> <<default>> <!-- With a string as argument 0, it removes a parasite from the container matching the argument. Which parasite it takes corresponds to argument 1 --> <<if _args[1] isnot null>> <<set $container[_args[0]].creatures[_args[1]] to null>> <<set $container[_args[0]].count -= 1>> <</if>> <</switch>> <</if>> <</widget>> <<widget "clearToDeleteParasiteFetus">> <<if $sexStats.anus.pregnancy.type is "parasite">> <<run $sexStats.anus.pregnancy.fetus to $sexStats.anus.pregnancy.fetus.filter(child => child && !child.toDelete)>> <<if $sexStats.anus.pregnancy.fetus.length is 0>> <<set $sexStats.anus.pregnancy.type to null>> <</if>> <</if>> <<if $sexStats.vagina.pregnancy.type is "parasite">> <<run $sexStats.vagina.pregnancy.fetus to $sexStats.vagina.pregnancy.fetus.filter(child => child && !child.toDelete)>> <<if $sexStats.vagina.pregnancy.fetus.length is 0>> <<set $sexStats.vagina.pregnancy.type to null>> <</if>> <</if>> <</widget>> <<widget "menstruationCycleState">> <<set $sexStats.vagina.menstruation.running to $player.vaginaExist or (!$player.vaginaExist and $skin and $skin.pubic.pen is "magic" and $skin.pubic.special is "pregnancy") or ($earSlime and $earSlime.growth gte 100 and ["pregnancy", "mixed"].includes($earSlime.focus))>> <</widget>> <<widget "menstruationCycle">> <<set _menstruation to $sexStats.vagina.menstruation>> <<if _args[0] is "daily">>/*Daily cycle*/ <<set _menstruation.nonCycleRng.push(random(0,6))>> <<set _menstruation.nonCycleRng.deleteAt(0)>> <<elseif _args[0] is "overdose">>/*Daily cycle*/ <<set _menstruation.nonCycleRng[0] to 0>> <</if>> <<menstruationCycleState>> <<if _menstruation.running is true>> <<set [$_pregnancy, $_pregLocation] to getPregnancyObject("pc", true)>> <<set _pills to $sexStats.pills>> <<switch _menstruation.currentState>> <<case "normal">> <<if $harpy gte 4 and $harpyEggs and $sexStats[$_pregLocation].sperm.find(source => source.type is "hawk")>> <<playerPregnancyHawkAttempt $_pregLocation>> <<if $_pregnancy.type is "hawk">><<exit>><</if>> <</if>> <<if $cycledisable is "t">> <<if _menstruation.nonCycleRng[0] is 0>><<giveHarpyEggs>><</if>> <<playerPregnancyAttempt `Math.pow(4,_menstruation.nonCycleRng[0])` $_pregLocation>> <<elseif _menstruation.currentDay lt _menstruation.currentDaysMax>> /*Continue the cycle again*/ <<if _menstruation.currentDay gte _menstruation.currentDaysMax / 2 and _menstruation.lastDaysMax isnot _menstruation.currentDaysMax>> <</if>> <<if _menstruation.currentDay lt _menstruation.stages[1]>> /*Menstrual phase - period occurs right at the start of this part*/ <<if _pills.pills["fertility booster"].doseTaken gte 2>> <<set _menstruation.currentDay += 0.5>> <</if>> <<if $skin.pubic.pen is "magic" and $skin.pubic.special is "pregnancy">> <<set _menstruation.currentDay += 0.5>> <</if>> <<if (_pills.pills["contraceptive"].doseTaken gte 1 and random(0,100) gte 50) or _pills.pills["contraceptive"].doseTaken gte 2>> <<else>> <<set _menstruation.currentDay += 0.5>> <</if>> <<elseif _menstruation.currentDay lt _menstruation.stages[2]>> /*Follicular phase*/ <<if _pills.pills["fertility booster"].doseTaken gte 2 and _menstruation.currentDay lt _menstruation.stages[2]>> <<set _menstruation.currentDay += 0.5>> <</if>> <<if $skin.pubic.pen is "magic" and $skin.pubic.special is "pregnancy" and _menstruation.currentDay lt _menstruation.stages[2]>> <<set _menstruation.currentDay += 0.5>> <</if>> <<if _menstruation.currentDay lt _menstruation.stages[2]>> <<set _menstruation.currentDay += 0.5>> <</if>> /*Check for pregnancy at a reduced chance for a few days before*/ <<if _menstruation.currentDay gte _menstruation.stages[3] - 4>> <<set $_multi = Math.clamp(Math.ceil(6 * (1 + _menstruation.stages[3] - _menstruation.currentDay)),6,30)>> <<playerPregnancyAttempt $_multi $_pregLocation>> <</if>> <<elseif _menstruation.currentDay lt _menstruation.stages[3]>> /*Ovulation phase*/ <<set _menstruation.currentDay += 0.5>> <<set _menstruation.lastDaysMax to _menstruation.currentDaysMax>> <<giveHarpyEggs>> /*Check for pregnancy*/ <<playerPregnancyAttempt 3 $_pregLocation>> <<else>> /*Luteal phase*/ /*Check for pregnancy at a reduced chance for a few days after*/ <<if _menstruation.currentDay lte _menstruation.stages[3] + 4>> <<set $_multi = Math.clamp(Math.ceil(6 * (1 + _menstruation.currentDay - _menstruation.stages[3])),6,30)>> <<playerPregnancyAttempt $_multi $_pregLocation>> <</if>> <<if _pills.pills["fertility booster"].doseTaken gte 2>> <<set _menstruation.currentDay += 0.5>> <</if>> <<if $skin.pubic.pen is "magic" and $skin.pubic.special is "pregnancy">> <<set _menstruation.currentDay += 0.5>> <</if>> <<if (_pills.pills["contraceptive"].doseTaken gte 1 and random(0,100) gte 50) or _pills.pills["contraceptive"].doseTaken gte 2>> <<else>> <<set _menstruation.currentDay += 0.5>> <</if>> <</if>> <<else>> /*Start the cycle again*/ <<restartMenstruationCycle>> <<set _menstruation.periodEnabled to true>> <</if>> <<case "pregnant">> /*To progress as normal so that the heat cycle and pregnancy risk still works as normal, will be reset in the recovering stage*/ <<if _menstruation.currentDay lt _menstruation.currentDaysMax>> <<if (_pills.pills["contraceptive"].doseTaken gte 1 and random(0,100) gte 50) or _pills.pills["contraceptive"].doseTaken gte 2>> <<else>> <<set _menstruation.currentDay += 0.5>> <</if>> <<if _menstruation.currentDay lt _menstruation.currentDaysMax>> <<if $skin.pubic.pen is "magic" and $skin.pubic.special is "pregnancy">> <<set _menstruation.currentDay += 0.5>> <</if>> <<if _pills.pills["fertility booster"].doseTaken gte 2>> <<set _menstruation.currentDay += 0.5>> <</if>> <<if _menstruation.currentDay gt _menstruation.currentDaysMax>> <<set _menstruation.currentDay to _menstruation.currentDaysMax>> <</if>> <</if>> <</if>> /*To deal with an issues that occured when players cheated with the bugged 'Clear current pregnancy'*/ <<if !getPregnancyObject().type is null or getPregnancyObject().type is "parasite">> <<restartMenstruationCycle>> <<set _menstruation.currentState to "normal">> <<set _menstruation.recoveryTime to null>> <<set _menstruation.recoveryTimeStart to null>> <<set _menstruation.recoveryStage to null>> <</if>> <<case "recovering">> <<set _menstruation.recoveryTime -= 0.5>> <<switch _pills.pills["fertility booster"].doseTaken>> <<case 1>><<set _menstruation.recoveryTime -= 0.5>> <<case 2 3 4>><<set _menstruation.recoveryTime -= 1>> <</switch>> <<if $skin.pubic.pen is "magic" and $skin.pubic.special is "pregnancy">> <<set _menstruation.recoveryTime -= 0.5>> <</if>> <<if $_pregnancy.totalBirthEvents gt 2>> <<set _menstruation.recoveryTime -= 0.5>> <</if>> <<set _menstruation.recoveryStage to Math.floor((1 - (_menstruation.recoveryTime / _menstruation.recoveryTimeStart))*5)>> <<if _menstruation.recoveryTime lte 0>> <<set $effectsmessage to 1>> <<set $recovered_from_pregnancy to 1>> /*Ready to give birth again*/ <<restartMenstruationCycle>> <<set _menstruation.currentState to "normal">> <<set _menstruation.recoveryTime to null>> <<set _menstruation.recoveryTimeStart to null>> <<set _menstruation.recoveryStage to null>> <</if>> <</switch>> <</if>> <<updateRecordedSperm "vagina" "pc" 0.5>> <<updateRecordedSperm "anus" "pc" 0.5>> <</widget>> <<widget "rutCycle">> <<if $player.penisExist and ($wolfgirl gte 2 or $cat gte 2 or $cow gte 2 or $fox gte 2)>> <<if !$player.beastRut>> <<set $player.beastRut to 0>> <</if>> <<set $_pills = $sexStats.pills.pills>> <<if $wolfgirl gte 2>> <<set $_changeReduction to $wolfbuild>> <<elseif $cat gte 2>> <<set $_changeReduction to $catbuild>> <<elseif $cow gte 2>> <<set $_changeReduction to $cowbuild>> <<elseif $fox gte 2>> <<set $_changeReduction to $foxbuild>> <</if>> <<set $player.beastRut += 1 + $_pills["fertility booster"].doseTaken>> <<if $player.beastRut gte random(30 - Math.ceil($_changeReduction / 5), 120 - Math.clamp($_changeReduction, 0, 100)) or _args[0] or $_pills["fertility booster"].doseTaken gt 2>> <<set $player.beastRut to 0>> <</if>> <<else>> <<run delete $player.beastRut>> <</if>> <</widget>><<widget "bodyPregCalc">> <<switch $bodysize>> <<case 0>><<set _bodySize to ["tiny","tiny","tiny","small","small","normal","large"]>> <<case 1>><<set _bodySize to ["tiny","tiny","small","small","small","normal","normal","large"]>> <<case 2>><<set _bodySize to ["tiny","small","small","normal","normal","normal","large","large"]>> <<case 3>><<set _bodySize to ["tiny","small","normal","normal","large","large","large"]>> <<default>> <</switch>> <<set _hairColour to [$naturalhaircolour, $naturalhaircolour, $naturalhaircolour, $naturalhaircolour,"red","jetblack","black","brown","burntorange","platinumblond","strawberryblond","ginger","ashyblond","blond"]>> <</widget>> /*Don't call outside of the menstruationCycle widget*/ <<widget "restartMenstruationCycle">> <<set $_menstruation to $sexStats.vagina.menstruation>> <<set $_menstruation.currentDay to 0.5>> <<set $_menstruation.currentDaysMax to $_menstruation.baseDays + random(0, $_menstruation.baseDaysRng)>> <<set _stage2 to Math.round($_menstruation.currentDaysMax * 0.17)>> <<if _stage2 gte 4>> <<set _stage2-->> <</if>> <<set _stage3 to Math.round($_menstruation.currentDaysMax * 0.5)>> <<if _stage3 lt 13>> <<set _stage3++>> <<elseif _stage3 gte 18>> <<set _stage3-->> <</if>> <<set $_menstruation.stages to [0, _stage2, _stage3, _stage3 + random(1,2) * 0.5]>> <</widget>> /* Used for the passage where the player has given birth in */ <<widget "playerPrebirth">> <<set getPregnancyObject().gaveBirth to true>> <</widget>> /*args[0] - mother, args[1] - birth location, args[2] - location of where the clildren should go to, _args[3] - next passage, _args[4] - time passage*/ <<widget "birthUi">> <<if _args[0] is "pc">> <<makeAwareOfDetails>> <<set _pregnancyBirth to getPregnancyObject()>> <<elseif C.npc[_args[0]]>> <<set _pregnancyBirth to getPregnancyObject(_args[0])>> <</if>> <<if _pregnancyBirth and _pregnancyBirth.fetus>> <<pregnancyFeats _args[0]>> <div> <div class="settingsGrid m-0 childContainer"> <<for _i to 0; _i lt _pregnancyBirth.fetus.length; _i++>> <<capture _i>> <div @id="'child-' + _pregnancyBirth.fetus[_i].childId"> <<birthChildElement _pregnancyBirth.fetus[_i]>> </div> <</capture>> <</for>> </div> </div> <br> <<if _args[4]>> <<set _hours to Math.floor(_args[4] / 60)>> <<set _minutes to _args[4] % 60>> <<set _timeString to " (" + (_hours lt 10 ? "0": "") +_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")">> <</if>> <<link [["Next" + (_args[4] ? _timeString : "")|_args[3]]]>> <<if _args[0] is "pc">> <<run delete _pregnancyBirth.gaveBirth>> <<endPlayerPregnancy _args[1] _args[2]>> <<elseif $NPCNameList.includes(_args[0])>> <<endNpcPregnancy _args[0] _args[1] _args[2]>> <</if>> <<pass _args[4]>> <</link>> <<else>> Error Pregnancy Object not found in the passage '<<print $passage>>'. Please report the error with your save. <</if>> <</widget>> /*args[0] - hatch location, _args[1] - next passage, _args[2] - time passage*/ <<widget "hatchUi">> <<if Object.values($children).find(child => child.location is _args[0] and Time.date.timeStamp gte child.eggTimer)>> <<set _childrenId to Object.keys($children).filter(id => $children[id].location is _args[0] and Time.date.timeStamp gte $children[id].eggTimer)>> <<set $_date to { day: Time.monthDay, month: Time.monthName, year: Time.year }>> <div class="settingsGrid m-0 childContainer"> <<for _childId range _childrenId>> <<set $children[_childId].born to clone($_date)>> <<set $children[_childId].birthLocation to $location>> <<capture _childId>> <div @id="'child-' + _childId" class="childUi"> <<birthChildElement $children[_childId]>> </div> <</capture>> <</for>> </div> <br> <<if _args[2]>> <<set _hours to Math.floor(_args[2] / 60)>> <<set _minutes to _args[2] % 60>> <<set _timeString to " (" + (_hours lt 10 ? "0": "") +_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")">> <</if>> <<link [["Next" + (_args[2] ? _timeString : "")|_args[1]]]>> <<run Object.values($children).forEach(child => { if (child.location is _args[0] and Time.date.timeStamp gte child.eggTimer) { if (!child.name) child.name = generateBabyName(undefined, child.gender); delete child.eggTimer; } })>> <<pass _args[2]>> <</link>> <<else>> Error Children Objects not found in the passage '<<print $passage>>'. Please report the error with your save. <</if>> <</widget>> <<widget "birthChildElement">> <<if _args[0]?.childId>> <<capture _args>> <div class="settingsToggleItem m-0 childName"> <div> <label><div>Name:</div><div><<print '<<textbox "_args[0].name" `_args[0].name or ""`>>'>></div></label> </div> </div> <div class="settingsToggleItem m-0 childDetails"> <<if _args[0].type isnot "human">> <<childTypeDisplay _args[0]>> <<else>> <span class="gold">Gender:</span> <<switch _args[0].gender>> <<case "m">>Male <<case "f">>Female <<case "h">>Hermaphrodite <</switch>> <</if>> <span class="no-numberify"> | <<link "Random Name">> <<set _args[0].name to generateBabyName(undefined, _args[0].gender)>> <<replace `"#child-" + _args[0].childId`>><<birthChildElement _args[0]>><</replace>> <</link>> </span> <hr> <span class="gold">Mother:</span> <<if _args[0].motherKnown>> <<print pregnancyNameCorrection(_args[0].mother, true)>> <<else>> ???? <</if>> | <span class="gold">Father:</span> <<if _args[0].fatherKnown>> <<print pregnancyNameCorrection(_args[0].father, true)>> <<else>> ???? <</if>> <br> <span class="gold">Size:</span> <<print _args[0].features.size>> | <span class="gold">Hair Colour:</span> <<hairmapcolourtext _args[0].features.hairColour>> <<if _args[0].features.skinColour>> | <span class="gold">Skin Colour:</span> <<skinColourName _args[0].features.skinColour>> <</if>> <br> <<if _args[0].features.identical>> <span class="gold">Identical:</span> <<print _args[0].features.identical>> <br> <</if>> <br> <small class="right"> saveId: <<print $saveId>> <<if $saveName isnot "">> | name: <<print $saveName>> <</if>> </small> </div> <</capture>> <<else>> Error Children Object not found in the passage '<<print $passage>>'. Please report the error with your save. <</if>> <</widget>> <<widget "pregnancyFeats">> <<if _args[0] is "pc">> <<set $_pregnancy to getPregnancyObject()>> <<earnFeat "Miracle of Life">> <<if $_pregnancy.potentialFathers.filter(npc => npc.type === $_pregnancy.type).length gte 5>> <<earnFeat "Bicycle Mother">> <</if>> <<if $_pregnancy.type is "human" and $_pregnancy.fetus.length is 3>> <<earnFeat "Life Comes in Threes">> <</if>> <<if ($player.virginity.anal is true && !$player.vaginaExist) || ($player.virginity.vaginal is true && $player.vaginaExist)>> <<earnFeat "Hail Mary">> <</if>> <<if !$player.vaginaExist>> <<earnFeat "Life begins when you least expect">> <</if>> <</if>> <<if _args[0] isnot "pc">> <<set $_pregnancy to getPregnancyObject(_args[0])>> <<if $_pregnancy.fetus[0].mother isnot "pc" && $_pregnancy.fetus[0].father is "pc">> <<earnFeat "First Fatherhood">> <</if>> <</if>> <</widget>> <<widget "wakingEffects">><<silently>> <<if !$sexStats.vagina.menstruation.running>> <<elseif _args[0] and $sexStats.vagina.menstruation.currentState is "pregnant" or ($sexStats.vagina.menstruation.currentState is "normal" and ($playerPregnancyHumanDisable is "f" or $playerPregnancyBeastDisable is "f"))>> <<set $_pregnancy to getPregnancyObject()>> <<set _wakingEffect to wakingPregnancyEvent()>> <<if Array.isArray(_wakingEffect)>> <<set _wakingEffect to _wakingEffect[random(0,_wakingEffect.length - 1)]>> <</if>> <<switch _wakingEffect>> <<case "tired">> <<set $_text_output to "You wake up feeling more tired than rested.<<tiredness 10>><<ggtiredness>>">> <<case "crying">> <<set $_text_output to "You wake up in tears. You aren't even sure why you're crying, but the emotion quickly passes.">> <<case "angry">> <<set $_text_output to "You wake up feeling angry. The mood takes you by surprise, but soon passes.">> <<case "meatCraving">> <<set $_text_output to `You awaken to a strange craving ${V.wolfgirl >= 2 ? "of digging your fangs into" : "for"} something meaty.`>> <<case "foodCraving">> <<set $_text_output to `You awaken to a strange craving for something ${["sweet","spicy","sour","savoury","bitter"][random(0,4)]}.`>> <<case "headache">> <<set $_text_output to "You wake up to your head throbbing. You're not sure what brought on this headache, but it eventually passes.">> <<case "sensitiveBreasts">> <<set $_text_output to "You wake to your <<breasts>> feeling more tender than normal. Thankfully, it passes.">> <<case "bloated">> <<set $_text_output to "You wake feeling a little bloated.">> <<set $daily.bloated to random(1,2)>> <<case "lightHeaded">> <<set $_text_output to "You wake feeling a little lightheaded for a moment.">> <<case "dizzy">> <<set $_text_output to "You wake feeling a little dizzy, but it passes quickly.">> <<case "mildNausea">> <<set $_text_output to "You wake feeling a little nauseous, but it passes quickly.">> <<case "nausea">> <<set $_text_output to "You wake feeling nauseous, but it passes after some time.">> <<case "dryheaving">> <<if $location is "wolf_cave">> <<set $_text_output to "You wake up feeling nauseous, causing you to scramble out of bed to the edge of the cave. You're forced to do a dry heave by it.<<stress 10>><<gstress>><<pain 1>><<gpain>>">> <<elseif $location is "farm">> <<set $_text_output to "You wake up feeling nauseous, causing you to scramble out of bed to the edge of the barn. You're forced to do a dry heave by it.<<stress 10>><<gstress>><<pain 1>><<gpain>>">> <<elseif $location is "tower">> <<set $_text_output to "You wake up feeling nauseous, causing you to scramble out of bed to the edge of the tower. You're forced to do a dry heave over it.<<stress 10>><<gstress>><<pain 1>><<gpain>>">> <<else>> <<set $_text_output to "You wake up feeling nauseous, causing you to scramble out of bed to a nearby bin. You're forced to do a dry heave into it.<<stress 10>><<gstress>><<pain 1>><<gpain>>">> <</if>> <<if $awareness gte 200 and $sciencetrait gte 4 and playerNormalPregnancyTotal() gte 1 and !$_pregnancy.awareOf>> <<set $_text_output += " <span class='red'>Maybe you should get tested</span>.">> <</if>> <<case "lightBabyKick">> <<set $_text_output to "You wake up feeling a light kick coming from your <<pregnancyBabyText 'pc'>>.<<stress -10>><<lstress>>">> <<case "babyKick">> <<set $_text_output to "You wake up feeling a kick coming from your <<pregnancyBabyText 'pc'>>.<<stress -10>><<lstress>><<pain 1>><<gpain>>">> <<case "babyMovement">> <<set $_text_output to "You wake up feeling your <<pregnancyBabyText 'pc'>> moving around.<<stress -10>><<lstress>>">> <<case "babyHiccup">> <<set $_text_output to "You wake up feeling some baby hiccups.<<stress -10>><<lstress>>">> <<case "earlyContractions">> <<set $_text_output to "You wake up to a brief and sporadic contraction.<<stress 5>><<gstress>><<pain 1>><<gpain>>">> <<case "bellySize">> <<set $_text_output to "You wake and take a look at your growing belly. It finally hits you: you're pregnant.">> <<if $_pregnancy.potentialFathers.length is 1>> <<set $_fatherName to pregnancyNameCorrection($_pregnancy.potentialFathers[0].source)>> <<set $_text_output += " <span class='lewd'>It's clear that "+ ($_fatherName === "yourself" ? "you are" : $_fatherName + " is") +" the father.</span>">> <<else>> <<set $_text_output += " <span class='red'>You wonder who the father is.</span>">> <</if>> <<set $_pregnancy.awareOf to "wakingUp">> <<case "missedPeriod">> <<set $_text_output to "You wake and come to a realisation. Your current cycle is late.">> <<if $awareness gte 200 and $sciencetrait gte 4 and playerNormalPregnancyTotal() gte 1 and !$_pregnancy.awareOf>> <<set $_text_output += "You wonder if you're pregnant again. <span class='red'>Maybe you should get tested</span>.">> <</if>> <<set $sexStats.vagina.awareOfPeriodDelay to true>> <<case "clothesRemoval">> <<set $_text_output to `<span class="red">You wake up to a heavy pressure on your body.</span> `>> <<set $_slots to ["genitals","under_upper","upper","under_lower","lower"]>> <<set $_broken to []>> <<set $_removed to []>> <<for $_slot range $_slots>> <<if $worn[$_slot].type.includes("constricting")>> <<if $worn[$_slot].cursed>> <<if $worn[$_slot].name is "gold chastity belt" and $worn[$_slot].integrity gt 0>> <<set $_goldenCB to true>> <<set $antiquemoney += Math.floor(2000 / ($worn.genitals.integrity / clothingData('genitals',$worn.genitals,'integrity_max')))>> <<else>> <<set $_broken.pushUnique($worn[$_slot].name)>> <</if>> <<set $worn[$_slot].type.push("broken")>> <<generalRuined $_slot>> <<else>> <<set $_removed.pushUnique($worn[$_slot].name)>> <<generalUndress "wardrobe" $_slot>> <</if>> <</if>> <</for>> <<if $_removed.length gte 1>> <<set $_text_output += "You scramble to remove your " + formatList($_removed, "and", true) + ". ">> <</if>> <<if $_broken.length gte 1>> <<set $_text_output += "You look down to see your " + formatList($_broken, "and", true) + " broken. ">> <</if>> <<if $_goldenCB>> <<set $_text_output += `Loosened by your growing belly, your gold chastity belt clatters to the ground once you apply some pressure. <span class="blue">A collector might be interested by it.</span> `>> <</if>> <<set $_text_output += `<br><span class="red">Your pregnant body no longer supports such clothing.</span> <<pain 2>><<gpain>>`>> <<case "eggLaying">> <<set $_text_output to `<<playerEggLayEvent>>`>> <<case "nothing">> <<unset _wakingEffect>> <<default>> <<unset _wakingEffect>> <!-- Error Case --> <</switch>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "pregnancyDailyEvent">><<silently>> <<if !["Asylum Sleep","Cabin Sleep","Wolf Cave Sleep","Bird Tower Sleep","Livestock Sleep","Farm Abduction wake 4","Sleep","Avery Hotel Morning","Avery Hotel Trauma Drink 2","Prison Sleep","Robin Trauma Visit Sleep","Pound Sleep","Robin Sleep"].includes($passage)>> <<set _pregnancyDailyEvent to dailyPregnancyEvent(_rng)>> <<if Array.isArray(_pregnancyDailyEvent)>> <<set _pregnancyDailyEvent to _pregnancyDailyEvent[random(0,_pregnancyDailyEvent.length - 1)]>> <</if>> <<switch _pregnancyDailyEvent>> <<case "tired">> <<set $_text_output to "You yawn. Everything seems to take more effort than usual.<<tiredness 2>><<gtiredness>>">> <<case "crying">> <<set $_text_output to "You suddenly burst into tears. You aren't even sure why you're crying, but the sadness passes as quickly as it came.<<stress 5>><<gstress>>">> <<case "angry">> <<set $_text_output to "You feel angry out of nowhere. The change in mood takes you by surprise, but it soon passes.<<stress 5>><<gstress>>">> <<case "meatCraving">> <<set $_text_output to `You have a sudden, strange craving ${V.wolfgirl >= 2 ? "of digging your fangs into" : "for"} something meaty.`>> <<case "foodCraving">> <<set $_text_output to `You have a sudden, strange craving for something ${["sweet","spicy","sour","savoury","bitter"][random(0,4)]}.`>> <<case "cramping">> <<set $_text_output to `You feel some cramping around the lower part of your stomach.<<stress 5>><<gstress>><<pain 5>><<gpain>>`>> <<case "bloated">> <<set $_text_output to "You feel a little bloated.<<stress 3>><<gstress>>">> <<set $daily.bloated to random(1,2)>> <<case "lightHeaded">> <<set $_text_output to "You feel a little lightheaded for a moment.">> <<case "dizzy">> <<set $_text_output to "You start feeling a little dizzy, but it passes quickly.">> <<case "mildNausea">> <<set $_text_output to "You start feeling a little nauseous, but it passes quickly.">> <<case "nausea">> <<set $_text_output to "You start feeling nauseous, but it passes after some time.">> <<case "lightBabyKick">> <<set $_text_output to "You feel a light kick coming from your <<pregnancyBabyText 'pc'>>.<<stress -10>><<lstress>>">> <<case "babyKick">> <<set $_text_output to "You feel a kick coming from your <<pregnancyBabyText 'pc'>>.<<stress -10>><<lstress>><<pain 1>><<gpain>>">> <<case "babyMovement">> <<set $_text_output to "You feel your <<pregnancyBabyText 'pc'>> moving around.<<stress -10>><<lstress>>">> <<case "babyHiccup">> <<set $_text_output to "You feel some baby hiccups.<<stress -10>><<lstress>>">> <<case "earlyContractions">> <<set $_text_output to "You feel a brief and sporadic contraction.<<stress 5>><<gstress>>">> <</switch>> <<if _pregnancyDailyEvent>> <<run delete $daily.pregnancyEvent>> <<else>> <<if !$daily.pregnancyEvent>> <<set $daily.pregnancyEvent to 0>> <</if>> <<set $daily.pregnancyEvent += 15>> <</if>> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><br><</if>> <</widget>> /*ToDo: Pregnancy Story Content: Lacks content, small unique events for when the player's stress passes out due to their pregnancy*/ <<widget "pregnancyPassout">> <<set $_pregnancy to getPregnancyObject()>> <<if $_pregnancy.fetus>> <<set $_pregnancy.waterBreaking to false>> /*ToDo: Pregnancy - fill out for specific pregnancy passout events*/ /*Area specific passout text for alternative pregnancy birth events*/ <<switch _args[0]>> <<case "asylum">> <<if $asylumstate is "sleep">> <<endevent>> <<generate1>><<person1>> Locked in for the night, you sit down on your bed. When you sit, it feels wet. Your thighs seem to be covered in a clear liquid. You're going into labour. <br><br> Clearing your throat, you waddle over to the door. Through the hole in the door you call out. Guards patrol the halls, it shouldn't take long. <br><br> Your calls are ignored long enough for a dull pain to begin to pang in your pelvis. "I said quiet after lights out!" The guard doesn't believe you. <br><br> Refusing to give up, you bang on the door until your hands hurt. This gets the guard to come over and look in. <br><br> "Lay down on your bed, I'll fetch Doctor Harper," <<he>> instructs you with a flat tone. You do as <<he>> says. You wince and shiver from the ache in your body as you try to stay awake. <br><br> Consciousness falls away from you. <<else>> You sit down on your bed, trying to stay stable. When you sit, it feels wet. Your thighs seem to be covered in a clear liquid. You're going into labour. <br><br> You waddle over to the door, stumbling as you exit. A nurse quickly rushes to your side. "Easy there, hon. I've got you. We're going to go down slowly, okay?" <br><br> The nurse helps you sit, and calls out for assistance. Your consciousness fades. <</if>> <<case "asylumOutside">> <<endevent>> <<generate1>><<person1>> "You should have really gone to the toilet," a fellow patient sneers at you as <<he>> passes. Confused, <<if $worn.lower.type.includes("naked")>>you look down to see wetness drip down your thigh<<else>>you look down to find a wet patch forming on your $worn.lower.name<</if>>. <br><br> "The <<babyIs>> coming," you gasp. The sharp pain is unexpected as you clutch your stomach. <br><br> The passing patient halts, <<his>> eyes growing wide as <<he>> turns back. "Wait here, I'll find someone!" <br><br> Out of the corner of your eye you see the patient running up to some orderlies. You choose to focus on breathing through the pain. <br><br> You blink. People are surrounding you, a stretcher laid out on the ground. A gentle hand guides you forwards. <br><br> The same hand supports you as you pass out. <<case "asylumCafe">> <<endevent>> <<generate1>><<person1>> You groan as you hunch over, a hand pressed to your belly. It feels like pressure releases inside of you. Clear liquid drips down your thighs. <br><br> Patients turn to look at you, some coming close, some backing away. The commotion causes the guards to come closer. <br><br> "<<pShes>> 'avin a baby!" a <<person>> calls out. The guards scramble towards you now, pushing patients out of the way. <br><br> They help you to walk, keeping people out of the way as you are led somewhere. You quickly lose track of where you are, and your vision fades. <<case "asylumLibrary">> <<endevent>> <<generate1>><<person1>> The chair you sit on begins to feel wet. Reaching down, you find that the wetness is coming from you. You're going into labour. <br><br> A <<person>> notices your wet fingers. <<He>> jumps forward, pulling the book away from you. "Don't damage the books!"<br> "I wasn't. My- my <<babyIs>> coming," you stutter, taking a deep breath to calm down. <br><br> The <<person>> doesn't seem to believe you. <<He>> continues to berate you until an orderly approaches to settle the dispute. <br><br> The orderly takes in your hunched over body before swearing. <<He>> calls over more to help. Some have to hold the <<person>> back as you are picked up and led away from the library. <br><br> Your consciousness fades. <<case "asylumHarper">> <<endevent>><<npc "Harper">><<person1>> You feel uneasy as you step into the doctor's office. Harper takes notice, coming around <<his>> desk to feel your forehead. <<He>> examines you, looking over your body before taking notice of the gradual wetness between your legs. <br><br> "Oh dear. We'll have to delay today's session. It seems your bun is ready to leave the oven." <br><br> Harper calls in orderlies to assist you as you begin to breathe heavily. Pain gradually builds in your abdomen. <br><br> You can hear Harper speaking but words become jumbled as your mind focuses on the pain. <br><br> Someone moves you, supporting you by the arms as you are led... somewhere. Everything fades. <<case "forest" "lake">> You stumble, barely managing to stabilise yourself against a large tree trunk. You look down to see a clear liquid dripping down your leg. You're going into labour. <br><br> You involuntarily whimper. Even the effort of staying standing is causing a burning pain. A branch cracks to your left. <<case "bog">> <<pass 1 hour>> <<if $bogwater is 1>> You stumble, barely managing to make it back to the path. A horrible pressure shoots through you. You're going into labour. <br><br> You involuntarily whimper. You don't have the strength to pull yourself out of the water. Just staying above the surface takes everything you have. <<else>> You stumble, barely managing to stabilise yourself against a large tree trunk. You look down to see a clear liquid dripping down your leg. You're going into labour. <br><br> You involuntarily whimper. Even the effort of staying standing is causing a burning pain. You collapse onto the wooden walkway. <</if>> <br><br> Time passes. You start to scream in pain. Adrenaline and fear shoot through you. You're so far away from anyone that can help. The thought of no one hearing you redoubles your fear. You've never felt so alone. <br><br> Shapes start to move amidst the trees. The sound of footsteps on wood. You can't look, but they're getting closer. You come face to face with a featureless white mask. A black hood sprouts antlers. The image sears itself into your mind as you black out. <<case "tentacleworld" "tentacleforest">> You hunch over in pain. All of the tentacles retreat away from you. You fall to your knees, gripping the ground as hard as you can. <br><br> The sky flickers. As you let out a pained scream, it fades away. <<case "farmroad">> Your body feels tired, and your legs give out underneath you. The road is only a few centimetres away from you. You attempt to stand, but your body won't move. Fluid drips down your leg. You're going into labour. <br><br> Managing to roll yourself over, you wave your hands in the air, hoping to flag down a car passing by. No one spares you a look, asides from an occasional honk. One comes so close that you have to roll back over to avoid getting hit. <br><br> Tears prick at your eyes. You fear having to deliver your baby in such a horrible place, and as time ticks by, that fear becomes more and more real. <br><br> <<if $location is "farm" and $_pregnancy.potentialFathers.find(father => father.source === "Alex") and talkedAboutPregnancy("pc","Alex")>> <<npc Alex>><<person1>> Your body starts to give into fatigue. You barely realise that someone has picked you up. They're yelling at you, but you can't make out the words. Your head spins. <br><br> It takes a moment for you to focus long enough to realise who it is. <span class="green">It's Alex</span>. Despite your blurry vision, you're able to make out the fear on <<his>> face. With you and your baby in good hands, you let go and fall unconscious. <<else>> <<generate1>><<person1>> Your body borders on unconsciousness, but you hear the sounds of a car rolling up beside you and its door opening. A set of hands grabs at your face. <br><br> The stranger yells to <<his>> companion in the passenger's seat. <<His>> face is kind and soft, and your body finally gives way. Your vision fades, and you pass out. <</if>> <<case "remy">> <<if $outside is 1>> A <<if ($monsterchance gte 1 and ($hallucinations gte 1 or $monsterhallucinations is "f"))>> <<set $monster to 1>> <<if maleChance() lt random(1, 100)>>cowgirl<<else>>bullboy<</if>> <<else>> cow <</if>> nudges at your thigh and moos. You look down to find a clear liquid dripping down your leg before a brief pain spreads in your lower abdomen. You're going into labour. <br><br> Gasping, you slowly sit down. More <<livestock_cows>> gather, curious to the commotion. <<if $monster is 1>> One yells. "Baby! <<pHer>> <<babyIs>> coming!" <<else>> "What the hell are they doing?" a farmhand calls out from the other side of the field. <</if>> <br><br> A couple of farmhands notice the odd behaviour and make their way over. They find you breathing slowly as you cradle your stomach. "Ah shit, this one's ready to pop! Go get Remy!" The pain increases and you slowly lie down as the farmhand crouches beside you. <br><br> You faintly hear boots crushing grass and more yelling as your vision fades. <<else>> <<endevent>> <<generate1>><<person1>> The hay you're sitting on feels uncomfortably wet. Looking down you find that more wetness is coming from you. You're going into labour. <br><br> You try to remain calm, breathing deeply and slowly, but soon the first contraction hits and you yell out. <br><br> "What's that?"<br> "Ignore it, just a dumb cow looking for attention." The farmhands continue to ignore you. <br><br> Another contraction hits, you yell out once more. This time someone comes to check. "You're meant to be quiet-" <<he>> grunts before <<his>> eyes widen. "Get Remy! Now! This one's ready to pop!" You hear a commotion begin as the world slowly fades to black. <</if>> <<case "remyAbduction">> <<generate1>> <<generate2>> You groan in pain, slumping down against the dirt as your contractions strengthen. Shortly after, you hear the tent flaps shift as a <<person1>><<person>> ducks <<his>> head in, clearly annoyed. <br><br> "Oi, what's the matter with you?" <<he>> says with a scowl. <<He>> takes in your crumpled form and swollen belly before swearing and ducking out the tent. You hear a clamour as the others are woken. <br><br> After a few long, painful minutes, the <<person1>><<person>> ducks back into the tent, closely followed by a <<person2>><<person>>. Together, they heft you up, carrying you out to an awaiting pickup truck. They heave you into the bed, the <<person1>><<person>> climbing in after you. As the pickup peels out of the encampment, you lose consciousness. <<case "remyHarperExam">> <<npc Harper>><<person1>> As you move to sit on the table, your vision blurs, and you just barely manage to catch yourself on the edge. Doctor Harper lurches forward with an alarmed noise, grasping at your arms and helping you sit down. <br><br> With a serious face, Harper briefly examines your stomach before calling for Remy. You can barely make out the words "labour" and "hospital" and Remy's disgruntled face before everything goes black. <<case "remyNiki">> <<case "moor">> <<generate1>><<generate2>> Your thighs feel wet. A strong pain lurches in your stomach, making your legs weak. You're going into labour. <br><br> With a gasp, you sink to your knees, the heather cushioning your fall. You have no choice but to lay down on the ground. "Help!" you cry out. Your voice echoes across the plains. <br><br> Your surroundings become a blur as the pain overwhelms you. You hear vague voices and footsteps approach. <br><br> "It's gotta be that damned quicksand, getting someone again," a <<person1>><<person>> says. <br><br> "No, it's not. Look! <<pHer>> water's broken. <<pShes>> going to give birth out here if we don't do something!" the other <<person2>><<person>> points out, sounding somewhat panicked. <br><br> You feel hands lift you from the ground as the world fades to black. <<case "castle">> <<npc "Great Hawk">> You double over in pain, and see a clear liquid dripping down your leg. You're going into labour. You look around in desperation and let out a pained yell, before stumbling to your side. <br><br> Your eyes close. When they open again, you're met with the face of the <<beasttype>>. <<if $monster is 1>> <<bHe>> says something to you, but the words sound like gibberish. <<else>> <<bHe>> eyes you with curiosity and concern. <</if>> <<bHis>> wings start to beat. You feel yourself being lifted onto something feathery. The next time you open your eyes, you're high in the air. You immediately black out from the shock. <br><br> You feel a rise in your stomach. You open your eyes again to see the hospital below you, and feathers in the corner of your vision. You blink, and you're suddenly being lowered. Your feet meet the sidewalk. A rush of air follows, and the <<beasttype>> is gone. <<case "wraith">> You double over in pain, and see a clear liquid dripping down your leg. You're going into labour. You look around in desperation and let out a pained yell, before stumbling to your side. You feel hopelessly trapped. Your heart pounds in your ears. <br><br> Your eyes close. When they open again, a pair of <<wraithEyes>> eyes stare into yours. "<span class="wraith">Suffering. Life. Beautiful.</span>" <br><br> You're unable to resist as it enters your body. Your pain ceases at once. You let out a long sigh of relief, and stand up. Your consciousness slowly fades as your body trudges forwards. <br><br> You feel cold. Then warm again. Then there's nothing. Until you open your eyes, and see the hospital before you. The pain returns. A pale face meets yours. "<span class="wraith">Beautiful. Keep them safe.</span>" <<case "dungeon">> <<endevent>> <<generate1>><<npc Robin 2>> <<badEndTrackingEnd "Underground Dungeon" { reason: "labour" }>> <<dungeonescape>> Shifting on the floor, you wince when you feel a wetness gather below you. It seems to be coming from you. You're going into labour. <br><br> Panicked, you look around the barren room for an escape. <<if $undergroundbrothel.robin>> A particularly strong contraction hits, and you groan in pain as you crouch down on the cold floor. <br><br> You hear Robin's voice from the other side of the wall. "Are you okay? What's happening?" <<person2>><<he>> asks nervously. <br><br> <<if $speech_attitude is "meek">> "I-I'm going into labour. What should I do?" you cry out. <<elseif $speech_attitude is "bratty">> "It's happening," you reply through gritted teeth. "I'm having my <<pregnancyBabyText "pc">>." <<else>> "Help me! My <<babyIs>> coming!" you cry out. <</if>> <br><br> There's a moment's silence as Robin processes this, then <<he>> yelps, "You're in labour?! I-it's okay, stay calm, I'll get help!" You hear <<him>> stumble to <<his>> feet and rush to the door. <<He>> pounds on it, shouting for somebody to help. <br><br> You stagger toward the wall separating the two of you, faintly calling Robin's name. You stick your finger through the hole connecting your cells, reaching for <<him>> as best you can. <br><br> You hear footsteps and grumbling from the corridor outside. The last thing you feel before your consciousness slips away is Robin's finger desperately pressing against yours. <<else>> With no other option, you bang on the door. "H-help, please! My <<babyIs>> coming!" you yell out as you pound on the door. You aren't sure if anyone will hear you. <br><br> You keep calling out. You're not sure how long it takes before you hear the lock turn. A disgruntled <<person1>><<person>> walks through, ready to yell before <<he>> sees your predicament. <br><br> "Wait," <<he>> snarls, leaving you alone once more. The pain gets to be too much, and you crawl to the dirty mattress to lay down. <</if>> <br><br> Your vision fades as the door screeches open <<= $undergroundbrothel.robin ? "at last" : "once more">>. <<case "alley">> <<generate1>><<person1>> <<if $bus is "residential" and $town_projects.thicket gte 4 and random(1,2) is 1>> You fall to your knees onto the grass, clutching your stomach. <<elseif random(1,2) is 1>> You stumble into the alleyway, stabilising yourself with a nearby ladder. <<else>> You collapse on the concrete of the alleyway, cradling your stomach. <</if>> A small puddle begins forming between your legs. You're going into labour. <br><br> <<if random(1,2) is 1>> <<if $bus is "residential">> <<if $town_projects.thicket gte 4 >> A <<personsimple>> eating on a bench near the thicket stumbles to <<his>> feet, rushing over to you and dropping <<his>> sandwich in the process. <br><br> You can hear <<him>> dial something into a phone before you go unconscious. <<else>> Blurry figures walk past the alleyway, but some are drawn by your pained screams and rush down the alley to you. <br><br> The last thing you see are faces crowding above you as you fall into unconsciousness. <</if>> <<elseif $bus is "industrial">> "Oi, ya can't be back here!" a <<person>> yells, quickly stomping towards you. <br><br> The <<personsimple>> gasps upon reaching your crumpled body. <<He>> swears for a minute before dialling something into a phone. <br><br> You can't make out <<his>> words, but you feel somewhat safe as you fall into unconsciousness. <<else>> "H-Help! Anyone?!" you cry out as you fall to your knees in pain. <br><br> Drawn by your cries, a few people rush over to help, looking shocked and panicked at your current state. <br><br> The last thing you see are hands reaching towards you as everything fades to black. <</if>> <<else>> <<if $bus is "residential">> "Aren't you a cute thing?" a voice whistles. "Don't mind if I- oh shit." <br><br> You can hear shouting, followed by more footsteps rushing towards you. They crowd over your body, pointing and looking frantic. <br><br> The last thing you feel are hands wrapping around your waist and legs as you go unconscious. <<elseif $bus is "industrial">> You scream out in pain, but the loud thrum of machinery overpowers your cries. Panicking, you begin to fear that no one will hear you in this alleyway. <br><br> Eventually your screaming pays off. Two people approach your crumpled body and quickly attend to you. <br><br> The last thing you feel is a hand grasping yours before you drift off into unconsciousness. <<else>> From behind you hear a door crash open, and a <<person>> yells, "Hey, you can't loiter back here, this isn't a-" <br><br> The <<personsimple>> gasps and rushes over to your crumpled body. <<He>> quickly dials something into a phone before turning back to you. <br><br> You can't make out <<his>> words, but you feel some comfort as everything fades to black. <</if>> <</if>> <<case "arcade">> You collapse on the dirty arcade floor, grabbing your stomach in pain. A small puddle begins seeping into the carpet. You're going into labour. <br><br> <<if Time.dayState is "night" or Time.dayState is "dawn">> <<generateRole 0 0 "repairman/repairwoman">><<person1>> "Hey!" someone shouts. "You're not supposed to be in here." You glance up at a <<person>>, apparently here to fix the machines before the arcade opens in the morning. <<else>> <<generateRole 0 0 "employee">><<person1>> "Excuse me, are you alright?" A <<person>> approaches you, looking concerned. <</if>> <br><br> You groan, feeling a sharp pain in your stomach, "M-My <<babyIs>> coming." <br><br> The <<personsimple>> looks horrified by your words and <<= Time.dayState is "night" or Time.dayState is "dawn" ? "quickly pulls out <<his>> phone" : "yells to someone at the counter">>. <br><br> You feel <<him>> grab your hands, but <<his>> words grow hazy as your vision slowly fades to black. <<case "beach">> <<generate1>><<person1>> You stumble, suddenly feeling unsteady on the sand. You feel a strong pain in your stomach that makes it difficult to stand. You're going into labour. You look around for anybody to help you, but a contraction makes you cry out. <br><br> Just as you're about to fall over, a pair of hands grab you under your arms. Looking up, you can just barely make out the face of a <<person>>. "What's wrong, <<girl>>?" <<he>> asks. <br><br> "My b-baby," you manage to gasp. <br><br> The <<personsimple>>'s brow furrows with worry. "I'm gonna lay you down and call you an ambulance," <<he>> promises. <<He>> drags you to a beach towel, shaded by an umbrella. As soon as <<he>> puts you down, your consciousness fades. <<case "bus">> <<case "docksSneak">> <<case "docks">> <<case "home">> You stumble to the ground as a contraction seizes you. <<if ["Bedroom", "Bathroom"].includes($passage)>> <<npc Bailey>><<person1>> You hear the <<= $passage.toLowerCase()>> door slam open, followed by swearing and heavy footsteps. A rough hand turns you over on your back, and you clutch at the hand. It's Bailey. <br><br> "Goddammit. Couldn't have gone to the hospital, could you?" <<He>> clicks <<his>> tongue in annoyance as <<he>> dials a number on <<his>> phone. You just barely catch the words "ambulance" and "emergency" before your vision fades to black. <<else>> <<generatey1>><<person1>> You clutch your belly and moan for help. Finally, you hear a gasp and a rush of footsteps. Moments later, a pair of faces appear in front of you. You can't understand them, but you can tell words are being exchanged. One of the orphans runs to get help while the other <<personsimple>> crouches down to your level. <<He>> tries to ask you questions, but you don't have the wherewithal to answer. <</if>> <br><br> You don't know how much time passes, but you eventually hear sirens. The paramedics push you onto a gurney and usher you into an awaiting ambulance. As it lurches into motion, everything goes black. <<case "hospital">> You collapse before you can reach the receptionist, unable to take another step further. You hear an alarmed shout and a rush of footsteps. Multiple hands reach out, taking your pulse and checking your temperature. <br><br> "Don't worry," a faceless voice reassures you. "We're going to take good care of you." Unable to hold on any longer, you faint. <<case "trash">> You stumble in the trash, your legs suddenly too weak to carry on. You lean against a pile of rubbish and sink to the ground. Something warm and wet trickles down your leg. You're going into labour! <br><br> You look around the area, trying to keep your breathing even. The smell makes it hard. You can't give birth <i>here</i>! <br><br> <<if $speech_attitude is "meek">> "H-help..." you whimper. There's no response. You take a shaky breath and raise your voice. "Help!!" <<elseif $speech_attitude is "bratty">> "Can... can anybody hear me!?" You curse and grit your teeth, trying and failing to keep your voice steady. "I need some help!" <<else>> "Hello...?" Your voice is faint, and there's no response. You take a deep breath and try again. "Hello!?" <</if>> <br><br> You groan and curl up as <<if $rng gte 86 and $hallucinations gte 2>> the pile you were leaning against gives a shudder. You raise your head only to see a single eye staring at you. <<ghallucinogens>><<set $hallucinogen += 90>> <br><br> It looks your body over, and its dangerous look seems to soften some. The eye looks you in the face once more, and your mind feels numb and fuzzy at the sharpness of its gaze. Your worries melt away, and somehow you feel certain that you'll make it to safety as you black out amongst the rubbish. <<elseif $rng gte 71 and Time.dayState is "night">> <<if $tower_creature_intro gte 1>> <<loadNPC 0 tower_creature>> <<else>> <<set $tower_creature_intro to 1>> <<set _tower_creature to true>> <<beastNEWinit 1 creature>> <<if $NPCList[0].monster is "monster">> <<set $NPCList[0].fullDescription to "horned " + ($NPCList[0].gender is "m" ? "boy" : "girl")>> <<set $NPCList[0].type to "horned " + ($NPCList[0].gender is "m" ? "boy" : "girl")>> <</if>> <<saveNPC 0 tower_creature>> <</if>> the ground shakes from something heavy landing nearby. You shield your belly instinctively. <<gstress>><<stress 6>> <br><br> You feel and hear the massive thing sniffing your face, then your belly. You clutch your stomach tighter. When it pulls away, you glance up and are greeted by a great, scaly head topped with a pair of horns. <<if $NPCList[0].monster is "monster">> "With child," the <<tower_creature_text>> growls softly. "This place... bad for child." <</if>> Eyeing your pregnant belly, <<bhe>> <<= $NPCList[0].monster is "monster" ? "wraps" : "growls softly before wrapping">> a foreleg around you with surprising care. <br><br> <<bHe>> lifts you up, and you feel sick and dizzy as <<bhe>> leaps through the landfill towards Nightingale Street. You open your eyes as <<bhe>> gingerly places you down in front of the hospital. The <<tower_creature_text>> <<if $beauty gte 6000 or $tower_creature_intro gte 2>> places a large, clawed hand on your <<= $NPCList[0].monster is "monster" ? "belly. \"Next time, mine.\"" : "belly and rumbles softly.">> You shudder and back away from <<bhim>> towards the hospital, and <<bhe>> <</if>> watches you waddle inside. You barely make it through the front door before you feel your consciousness slip, and you stumble to the floor. The last thing you see is a pair of glowing yellow eyes staring at you from the shadows. <<else>> <<generatey1>><<generatey2>><<generatey3>><<generatey4>><<generatey5>><<generatey6>> a group of <<group>> approaches you.<<if $trauma gte ($traumamax / 5) * 2>> You hope they're not here to take advantage of you.<</if>> <br><br> "I told you I heard someone over here!" a <<person1>><<person>> says. "Hey, <<girl>>! Are you alright!?" <br> <<if $watersportsdisable is "f">> One of <<his>> friends, a <<person2>><<person>>, laughs. "Did <<pshe>> fuckin' piss <<pherself>>?" <<else>> "Why's <<pshe>> all wet?" a <<person2>><<person>> asks. <</if>> <br> <<if $speech_attitude is "bratty">> "I'm going into labour, you idiot!" you snap. "So can you <i>please</i> help me out of here!?" <br> "Oh." The <<person2>><<person>> blinks. "Oh! Yeah, of course!" <<He>> turns to <<his>> friends. "I'll grab <<pher>> shoulders, you get <<pher>> feet." A <<person3>><<person>> and <<person4>><<person>> nod and move into place. <<else>> A <<person3>><<person>> rolls <<his>> eyes. "<<pShes>> pregnant, you moron!" <br> "Oh." The <<person2>><<person>> blinks. "Oh! We've gotta do something! Let's get <<phim>> out of here!" <</if>> <br><br> You try and groan out a thanks to your helpers, but their group effort to lift you sends pain shooting through your body. You vaguely hear them coordinating an effort to the closest exit as you pass out. <<famepregnancy 3>> <</if>> <<case "sea">> As you're swimming, a contraction seizes you. You thrash around in the water, shouting for help. The pain worsens, and you struggle to stay afloat. <<if $rng gte 71>> <<generatedolphin1>> You're on the verge of losing consciousness when something bumps into you, and you quickly glance down. <br><br> Your vision blurs, but you can make out the figure of a <<beasttype>>. <<bHes>> steadily pushing you to shore. You desperately clutch <<bhis>> fin. <br><br> The <<beasttype>> tows you to the shallows, depositing you on the sand. <<bHe>> clicks worriedly. You dimly hear shouts from a nearby beachgoer, and the <<beasttype>> quickly dives back into the water. You murmur your thanks as someone splashes into the surf after you. Your vision grows dark, and you pass out. <<else>> You hear the horn of a boat, and you spot a trawler edging closer. There's a commotion of voices on the dock, and a fishing net envelops you, hoisting you onto the deck. "You looked like you needed help," a <<generate1>><<person1>><<person>> says. "No one rides free, but- oh. <i>Oh!</i> You're pregnant!" <br><br> <<if $speech_attitude is "meek">> "I'm in labour," you whimper, curling up and cradling your stomach. "P-please help me..." <<elseif $speech_attitude is "bratty">> "Not just pregnant. I'm-" A particularly strong contraction hits, and you grimace. "I'm in labour. Are you going to help me or what?" <<else>> "I'm in labour," you manage, curling up on the dock. "Help me, please!" <</if>> <br><br> "We'll get you to shore, we promise," the <<person>> says, glancing worriedly at <<his>> crewmates. "Hold on, okay?" One of the fishers holds your hand as your vision grows dark, and you pass out. <</if>> <<case "shop">> <<generate1>><<person1>> You fall to your knees in the middle of the shopping centre, clutching your stomach. Liquid begins to run down your thighs. You're going into labour. <br><br> <<if Time.dayState isnot "night">> People skirt around you, keeping their heads down and shooting you odd looks. The pain soon becomes unbearable, and you begin to scream. <<else>> No one is around at this time of night, but you scream desperately, hoping to attract the attention of a security guard. <</if>> "P-Please help! I need an ambulance!" you cry. <br><br> <<if Time.dayState is "night">> "Hey!" someone shouts. "You're not supposed to be- oh. Oh, shit!" <<He>> kneels down next to you and grabs your hand. <<else>> An employee from one of the nearby stores rushes over to you and kneels down, grabbing your hand. <</if>> <br><br> <<He>> pulls out a <<= Time.dayState is "night" ? "two-way radio" : "phone">> and speaks into it, but the pain is too much. You can't make out what <<hes>> saying. <br><br> <<He>> squeezes your hand, and you feel safe as you fade into unconsciousness. <<case "roof">> <<generate1>><<person1>> You collapse on the rooftop. Warm liquid runs down your legs. You're going into labour. <br><br> You scream loudly, hoping to attract someone's attention. The door to the roof is shut, and you fear no one will hear you. <br><br> Painful contractions wrack your body, and you shriek even louder. Finally the door bursts open, and a disgruntled <<personsimple>> in a uniform emerges. "What the fuck are you- oh <i>shit</i>." <<He>> quickly rushes over to you. <br><br> You watch as <<he>> takes out a phone and starts calling someone. You feel some relief as everything fades to black. <<case "monsterTower">> <<case "street">> <<case "compound">> <<case "temple">> You stumble, barely catching yourself on a pew. Your legs tremble. You're going into labour. <br><br> A pair of strong arms hoist you up, before gently laying you down on a pew. <<if C.npc.Jordan.init is 1>> Jordan's face hovers over you. <<else>> A robed figure hovers over you, their youthful face tinged with concern. Locks of hair protrude from the sides of their cowl, betraying a golden shade. <</if>> You hear words being spoken to you, but they don't make any sense. Other robed figures start to surround you. <<if _sydney_location is "temple" and C.npc.Sydney.init is 1>> Sydney breaks through the crowd, but stops short of you. <</if>> <br><br> You feel yourself being lifted. <<case "cave">> <<if $cave lt 50>> You're wading through the water when a sudden contraction hits you, and you pitch forward into the cold embrace of the current. The weight of your belly, combined with the pain of contractions, makes it impossible to stand or swim. <br><br> The rushing water pushes against you as you struggle, your hands slipping helplessly on the wet ground. Each effort to resist only worsens the labour pains. Powerless, you surrender to the current. <br><br> You let the water carry you away as you sink into unconsciousness. <<else>> A sudden contraction grips you. Warm liquid trickles down your legs, and your knees buckle. Waves of intense pain follow, one after another, forcing heavy breaths from your lips. Clutching your swollen and heavy belly, you collapse weakly against the cold, damp wall. <br><br> <<if $pursuit gte 2>> Faint sounds reach your ears. Your pursuer might be dangerous, but you need medical assistance. You call out for them. <<else>> The cave is silent, save for the sounds of dripping water. There's no one around to hear you scream, but you try anyway. <</if>> <<if $speech_attitude is "meek">> "H-help... is anyone there? Please help me..." you groan. You tremble helplessly, tears welling in your eyes. <<elseif $speech_attitude is "bratty">> "<<= $pursuit gte 2 ? "Wh-who's there?" : "I-is anyone there?">> Help me! Hurry!" you shout. Your voice is high and loud, but it breaks as you grunt in pain. <<else>> "Help! I need some help! P-please?" You try to stay calm, but your trembling voice betrays you. <</if>> <br><br> <<if ($pursuit gte 2 and $rng gte 61) or $pursuit lt 2>> <<npc Wren>><<person1>> <<if $pursuit gte 2>> After you call for help, the sounds vanish. The cave is silent, save for the occasional drip of water, as if everything you just heard was an illusion. <<else>> There's no response, and the silence is stifling. <</if>> Bracing your hands against the wall, you force yourself to take a step, but the labour pains are too intense. You collapse to the cave floor. <br><br> The silence is broken by the sound of light footsteps. Someone scoops you up, lifting you into the air. <<if $wrenSeen?.length>> A <<nnpc_gender "Wren">> sighs. "Next time, you won't be so lucky, little thief," <<he>> says. <<His>> voice sounds familiar. <<else>> "Why did Bailey send a pregnant one here?" a <<nnpc_gender "Wren">> says, sounding amused. <br><br> <</if>> <br><br> You squint at the person through a haze of tears. <<if $wrenSeen?.length>> <span class="gold">It's Wren.</span> <<else>> It's a young <<if $pronoun is "m">>man with short<<else>>woman with shoulder-length<</if>> hair. <</if>> <<He>> covers your eyes with <<his>> palm, plunging you into darkness, and breaks into a run. <<He>> cradles you in <<his>> arms, and the slight lurching is vaguely comforting as you slip into unconsciousness. <<set $wrenSeen.pushUnique("pregnancy")>> <<set $wrenSeenLast to "pregnancy">> <<else>> <<generatey1>><<generatey2>> Your cries for help soon turn into moans of pain. You hear footsteps approaching, then laughter. "Sounds like someone's having fun!" a <<person1>><<person>> says. <br><br> "<<pShes>> got a good set of pipes on <<pher>>," a <<person2>><<person>> adds. "I reckon we can make <<pher>> moan even more." <<He>> stops short when <<he>> sees your pregnant belly. "Oh, shit! Is <<pshe>> in labour?" <br><br> "There's no doctor down here!" The <<person1>><<person>> sounds panicked. "Here, help me carry <<pher>>." <br><br> You feel yourself being lifted, then darkness engulfs you. <</if>> <</if>> <<case "photo">> <<npc Niki>><<person1>> You stumble, groping for a chair to stabilise yourself. A stream of liquid runs down your legs. You're going into labour. <br><br> Niki doesn't bat an eye. You shout for help as you stumble to your knees, and <<he>> finally glances up from the computer. <<His>> eyes widen slightly, and <<he>> quickly rushes to your side. <<He>> guides you to your feet and sits you down in the chair. <br><br> "Don't worry, you're going to be alright," <<he>> reassures you, already taking a phone from <<his>> pocket. <br><br> The last thing you can make out is Niki asking for an ambulance before everything fades to black. <<case "prison">> You stumble to your knees. There's no mistaking it; you're going into labour. You scream as the first contraction hits. <br><br> <<if $prison.schedule is "lockdown">> You spot a pair of boots approaching. They stop right in front of you. You look up. <br><br> <<generate_anxious_guard 0>><<person1>> It's <<anxious_guard 0>>. <<He>> frowns down at you. <br><br> "You're not supposed to be out of your cell." <<He>> looks around nervously. "Let's just get you back with no fuss, alright?" <br><br> <<He>> waits for you to get up, but the pain is far too much. <<anxious_guard 0>> takes a moment to realise that you're in pain. Your panic spreads to <<him>>. <br><br> "Oh no. Not here." <<He>> looks around again, as if praying for someone to swoop in and save <<him>>. "Look... D-Don't move! Stay right there!" <br><br> <<He>> hurries off, leaving you behind. You struggle to pull yourself upright, your vision swimming from the amount of pain coursing through your abdomen. The world fades away just as you hear someone yell. <<else>> Your heart pounds in your eardrums. Your vision starts to fade as pain rip through you over and over. You look up, to see yourself surrounded. <br><br> "Give <<phim>> some space, now!" a voice yells, just loud enough for it to cut through your haze. The world fades away as you feel yourself being lifted. <</if>> <<case "prisonCell">> <<if $prison.schedule is "lockdown">> You sit down on your bed in the dark cell. It feels wet. It takes you a moment to realise your legs are also wet. You're going into labour. <br><br> Panic grips you. <br><br> You stumble towards your cell door and start banging on it. "H-Help me!" You try to get a guard to notice you. It takes a few seconds of your banging for prisoners to start waking up. Some shout at you to shut up, others ignore you. One calls out to ask if you're okay. <br><br> <<generate_veteran_guard 0>><<person1>> <<veteran_guard 0 cap>> appears after a moment, banging on each cell door as <<he>> makes <<his>> way down. "Lights out! That means shut it!" <br><br> <<He>> eventually stops in front of your cell and scowls at you. "Do you know the punishment for being unruly-" <<He>> cuts <<himself>> off as <<he>> notices the mess between your legs. <br><br> "P-Please help me." You whisper, your vision already becoming blurry. <<veteran_guard 0 cap>> immediately gets <<his>> keys out and unlocks your door. Strong arms catch you as your knees buckle, pain shooting through your stomach. The world fades away as you are carried out of your cell. <<else>> The sound of something wet splattering against the stone floor of your cell catches your attention. Your legs are wet. You're going into labour. <br><br> You start to panic and try to make your way out of the cell to get help. A sharp pain in your stomach has you hunching over and hanging onto the bars. <br><br> <<generate1>><<person1>> "Please help me!" You call down the hallway. A prisoner comes over, smirking, but stops at the sight of you. "Shit." <<He>> backs up and runs back down the way <<he>> came, hopefully to get help. <br><br> The other prisoners walk past, ignoring you or stopping to watch for entertainment. Only a few try to help you. One is about to lean down to help you to your feet when <<he>> sees someone approaching and steps away again. <<endevent>> <<generate_methodical_guard 0>><<person1>> <<methodical_guard 0 cap>> arrives with the prisoner in tow. The crowd thins out immediately as <<he>> frowns down at you. <<He>> crouches down and inspects you to see for <<himself>>. <br><br> "Incredibly inconvenient timing," <<he>> remarks. "We aren't equipped with a delivery room, so we'll have to make do." <br><br> <<methodical_guard 0 cap>> stands back up and orders two of the prisoners to help you walk. You are half carried, half dragged down the stairs. The guard begins to talk into <<his>> walkie talkie. Your vision starts to blur as you're carried down another floor. You are not able to make out the shouts around you as you pass out. <</if>> <<case "prisonLaundry">> <<if $prison.schedule is "work">> <<generate1>><<person1>> You can hear a prisoner snicker behind you. "Good thing we're in the laundry room, huh?" <<He>> smirks at you. "Just need a helping hand to clean you up." <br><br> You tremble, and a sudden pain shoots through you. You're going into labour. The prisoner steps closer, leering at you. <br><br> "Hey, back up. Now," a voice orders. <<generate_relaxed_guard 1>><<person2>> <<relaxed_guard 1 cap>> comes up behind you, and the prisoner scowls but leaves to do <<person1>><<his>> work. <<person2>><<He>> looks down at your legs but doesn't get to ask anything. Pain shoots through your stomach again, and you hunch over. <br><br> "H-Help... My baby..." you whimper out. <br><br> <<relaxed_guard 1 cap>> takes your elbow, propping you up. <br><br> "The kid's a bit too young to start doing time, eh? C'mon. Specs will have my head if you pop the little squirt out in here." You can barely hear <<his>> voice. Pain makes your head throb and you struggle to keep upright. Everything fades away. <<else>> <<generate_relaxed_guard 0>><<person1>> You look down. There's clear liquid running down your thighs. Pain lurches in your stomach. You're in labour. <br><br> "Someone?" you call out as you struggle to get to the door. "I n-need help!" You lean against the door frame. <br><br> "Work hours are over." <<relaxed_guard 0 cap>> walks over, still playing with <<his>> dice. "Not gonna turn on the machines unless you're prepared to entertain me-" <br><br> <<His>> eyes drop down to your legs. <<His>> grin starts to fade as <<he>> realises what's going on. <br><br> "Shit." <<relaxed_guard 0 cap>> looks around before putting an arm around your waist. "C'mon, we're not popping out Prisoner 144 junior out here." <br><br> You struggle not to black out, the pain in your stomach getting worse. <<relaxed_guard 0 cap>> says something to you but you're in too much pain to process it. The world fades away, and the last thing you hear is a panicked shout. <</if>> <<case "prisonCanteen">> <<if ["wake", "lunch", "dinner"].includes($prison.schedule)>> <<generate1>><<generate_methodical_guard 1>> You stumble over to one of the tables, barely making it to an open seat. A couple prisoners leer at you. A small puddle begins to form between your legs and drips down the bench. You're going into labour. <br><br> A prisoner laughs as you hunch over, clutching your belly. "Someone must be starving." <<He>> grabs <<his>> crotch, grinning lasciviously. "I've got a meal right here for-" <br><br> You scream loudly in pain, and <<he>> flinches away from you. <br><br> Your screams alert <<person2>><<methodical_guard 1>>, who marches over. <<His>> face turns serious when <<he>> sees the liquid between your legs. <br><br> <<methodical_guard 1 cap>> helps you stand. You can hear <<him>> speak, but are unable to make out <<his>> words as everything fades to black. <<elseif $prison.schedule is "lockdown">> <<generate_anxious_guard 0>><<person1>> You stumble over to one of the tables, collapsing onto a bench. "H-help me!" you cry out, your voice echoing through the empty canteen. There's no response. You hunch over and clutch your belly, screaming until you finally hear a pair of footsteps. Someone shines a torch on you, and you look up. <br><br> It's <<anxious_guard 0>>. <<He>> frowns down at you. <br><br> "You're not supposed to be out of your cell." <<He>> looks around nervously. "Let's just get you back with no fuss, alright?" <<He>> waits for you to get up, but the pain is far too much. It takes a moment for <<him>> to realise. "Oh no. Not here. Ah, right, you were shouting for help..." <<He>> looks around again, as if praying for someone to swoop in and save <<him>>. "Look... D-Don't move! Stay right there!" <br><br> <<He>> hurries off, leaving you alone in the dark and empty canteen. You struggle to pull yourself upright, your vision swimming from the amount of pain coursing through your abdomen. The world fades away just as you hear someone else yell. <<else>> <<generate1>><<person1>> You stumble over to one of the tables, collapsing onto a bench. Liquid begins to drip down your legs. You're going into labour. <br><br> You scream, attracting the attention of a prisoner outside the canteen. <<He>> laughs as you hunch over and clutch your belly. "Didn't get enough to eat, eh?" <<He>> grabs <<his>> crotch, grinning lasciviously. "I'll give you something to-" <br><br> You scream even louder, and <<he>> flinches away from you. You slip off the bench and curl up on the ground.Others filter into the canteen, voices echoing around you. Everything grows dark and quiet as you fade into unconsciousness. <</if>> <<case "prisonMedical">> <<generate_methodical_guard 0>><<person1>> Pain begins to shoot through your stomach, and you grunt in pain. You're going into labour. It alerts <<methodical_guard 0>>, and <<he>> rushes over. <br><br> <<He>> wastes no time. <<methodical_guard 0 cap>> grips your bicep tightly and steers you towards one of the beds. "You're in labour," <<he>> tells you. You barely get to sit down on the bed before another surge of pain has you hunching over. <br><br> You're thankful for the bed under you as you fall back, struggling to breathe in properly. While the prison was not where you wanted to have your baby, at least you're in the medical room. <br><br> You start feeling dizzy from the pain. You're gently lowered back into a laying position as your consciousness slips. <<case "prisonYard">> <<if $prison.schedule is "yard">> <<generate_veteran_guard 0>><<person1>> You collapse in the middle of the yard, clutching your stomach. Laughter echoes all around you as prisoners point and jeer. Liquid runs down your legs and onto the ground. You're going into labour. <br><br> "Quit causing a scene," <<veteran_guard 0>> yells, approaching you. <<He>> halts in <<his>> tracks when you scream out in pain. A few prisoners try to get closer to the two of you. <br><br> Another wave of pain hits you, and you can barely make out <<veteran_guard 0>> shouting before the world goes dark. <<elseif $prison.schedule is "lockdown">> <<generate_anxious_guard 0>><<person1>> You collapse in the middle of the yard. "H-help me!" you cry out, not caring who hears. There's no response. You hunch over and clutch your belly, screaming until you finally hear a pair of footsteps. Someone shines a torch on you, and you look up. <br><br> It's <<anxious_guard 0>>. <<He>> frowns down at you. <br><br> "You're not supposed to be out of your cell." <<He>> looks around nervously. "Let's just get you back with no fuss, alright?" <<He>> waits for you to get up, but the pain is far too much. It takes a moment for <<him>> to realise. "Oh no. Not here. Ah, right, you were shouting for help..." <<He>> looks around again, as if praying for someone to swoop in and save <<him>>. "Look... D-Don't move! Stay right there!" <br><br> <<He>> hurries off, leaving you alone in the yard. You struggle to pull yourself upright, your vision swimming from the amount of pain coursing through your abdomen. The world fades away just as you hear someone else yell. <<else>> <<generate1>><<person1>> You collapse in the middle of the yard, attracting the attention of some lingering prisoners. Liquid runs down your legs and onto the ground. You're going into labour. <br><br> "Did someone fall down?" a prisoner coos mockingly. "Looks like this bitch needs-" <br><br> You shriek and clutch your stomach, and the prisoner backs away. <<His>> friend points out the puddle forming beneath you, and <<his>> face grows pale. <<He>> almost sounds guilty as <<he>> says, "Someone pick <<phim>> up. We gotta get <<phim>> to the guards." <br><br> Their voices grow faint as darkness clouds the edges of your vision. The last thing you feel is your body being lifted into the air, then you slip into unconsciousness. <</if>> <<case "prisonBeach">> You stumble and collapse onto the beach. Liquid runs down your legs, dampening the sand below. You're going into labour. <br><br> <<if (Time.hour is 12 or Time.hour is 14) and !$prison_wren_intro and Time.weekDay is 6>> <<npc Wren>><<person1>> Wren calls out to you from <<his>> boat. "Not very graceful, are we?" <<He>> laughs. "I didn't think the sand was that- oh, no." <br><br> You hear something heavy fall, then Wren crouches above you. <<He>> grabs your wrist and says something, but you're unable to make out <<his>> words. <br><br> You feel yourself being lifted up before everything goes dark. <<else>> You wonder if anyone will find you out here, and if it will be too late. Pain wracks your body as you bite back a scream. <br><br> The pain soon becomes unbearable, and you begin screaming loudly. Tears roll down your eyes and sink into the sand. <br><br> Faint shapes move in the water, and you try to focus on them instead of your pain. The shapes become blurry with time as your vision starts to go dark. <br><br> You shut your eyes and let yourself succumb to nothingness. <</if>> <<case "prisonShowers">> <<if $prison.schedule is "wake">> <<generate_veteran_guard 0>><<person1>> You stumble past the other prisoners and lean against a wall for support. A distinct, warm fluid begins to run down your legs. You're going into labour. <br><br> "Oi, watch out, you dumb <<bitch>>!" a prisoner barks, shoving you to your knees. <br><br> You scream in pain, clutching your stomach as your contractions begin. The prisoner scoffs. "Stop being so dramatic over a little fall. Whiny little shit." <br><br> "Enough," <<veteran_guard 0>> says, approaching the two of you. "And you, get off the damn-" <<He>> pauses, then says something else. You can't process <<his>> words through the pain that overwhelms you. <br><br> You start to feel nauseated and disoriented as water pelts your skin. A hand grasps your shoulder and hauls you up just as you fade into unconsciousness. <<else>> <<generate_veteran_guard 0>><<person1>> You stumble and collapse onto the tiled floor. Warm fluid runs down your thighs. You're going into labour. You scream loudly as your contractions begin, clutching your stomach in pain. <br><br> "Showers are over," <<veteran_guard 0>> says, stepping into the room "Go do something productive before-" Heavy footsteps march over to your crumpled body, and you look up to see <<veteran_guard 0>> looking down at you. <<His>> mouth moves, but you're in too much pain to make out the words. <br><br> A firm hand grabs your shoulder as your vision begins to blur, and you fade into unconsciousness. <</if>> <<case "pound">> <<run delete $pound.door>> <<endevent>> Staring out from between the bars, you shift uncomfortably. Greater levels of wetness pool beneath you onto the concrete. You're going into labour. <br><br> You hear whines from the kennels next to yours. The other <<pound_text>> can smell what is happening. <br><br> "Hello?" you call out, clutching the bars of the kennel. You can't give birth here. <br><br> Minutes pass with no one coming to help. Your calls get more insistent as pain gradually spreads throughout your lower body. The <<pound_text>> around you whine louder and louder until they begin to bark and growl in response to your pained gasps. The commotion is enough to make someone come and check. <br><br> <<generate1>><<person1>> A <<person>> makes <<his>> way down the kennels. <<He>> yells and hits the bars while shining a torch inside. <<He>> pauses when <<he>> reaches you. <br><br> "Oh, fuck!" <<he>> shouts before dashing out of the kennels. You aren't sure if help is coming, and the pain is getting too much to stay lucid. <br><br> It all becomes too much. Your eyes flutter shut, commotion ringing in your ears. <<case "edencabin">> <!-- <<if $_pregnancy.potentialFathers.find(father => father.source === "Eden")>> Eden thinks it's his child? <<else>> <</if>> --> <<endevent>> Your thighs feel wet, and you start to feel a sharp pain. You're going into labour. <<if $edenbed is 1>> Eden is still sleeping soundly. <<elseif Time.hour gte 11 and Time.hour lte 14>> Eden is out hunting, <<nnpc_he "Eden">> can't help you right now. <<else>> Eden is busy with <<nnpc_his "Eden">> own chores and hasn't noticed your panic. <</if>> <<if $worn.neck.collared is 1 and $worn.neck.type.includes("leash")>> <<detach_leash>> You desperately tug at your leash, hoping it will break. A few last stubborn threads hold on. Panicked, you begin to gnaw at the threads. Relief floods you when it breaks. <</if>> <br><br> You stumble into the forest as the pain of your contractions begins. You're not even sure where you're going. <<if $syndromeeden is 1>> You're about to turn back to the cabin, when a branch cracks to your left. <<else>> You walk an unknown distance before you pause, too exhausted to continue, the adrenaline fading from your body. A branch cracks to your left. <</if>> <<case "drain">> <<case "school">> <<if !["early", "late", "earlynoschool", "latenoschool", "daynoschool"].includes($schoolstate)>> <<switch $bus>> <<case "schoolfrontcourtyard" "schoolrearcourtyard">> <<generatey1>><<person1>> You stumble, tripping over your feet and landing hard in the dirt. You roll over to your side but find yourself struggling to get up as another wave of contractions wash over you. <br><br> Your collapse draws the attention of others in the schoolyard. You faintly hear awkward laughter, as if they think you're playing some elaborate prank. Moments pass as you continue to lay on the ground clutching your stomach before a pair of sneakers enter your field of vision. The <<personsimple>> approaching you takes one look at your belly before swearing and yelling for help. <br><br> You hear a stampede of feet and what sounds like the concerned voice of a teacher before everything fades away. <<case "schoollibrary">> The world tilts as you stumble, landing hard against a bookshelf. Unable to hold up your own weight, you slide down to the ground, back pressed against the shelf. You think you make some sort of noise, because you hear footsteps approaching before a gasp fills your ears. Somebody rushes forward, kneeling at your side. Their words wash over you, but you can't make heads or tails of them as your vision fades to black. <<default>> <<pregnancyPassout "schoolJanitor">> <</switch>> <<else>> <<pregnancyPassout "schoolJanitor">> <</if>> <<case "schoolCanteen">> <<if Time.schoolDay and !["early", "late", "earlynoschool", "latenoschool", "daynoschool"].includes($schoolstate)>> Your vision blurs and you stumble, catching yourself against the edge of a lunch table. <<= $schoolstate is "lunch" ? "Despite how busy the canteen is, you" : "You">> capture the attention of the nearby students. As your knees give out, you hear a rush of footsteps. One of the students shouts for a teacher, and it's not long before a faculty member hustles to your side. <<if $schoolstate is "lunch" and C.npc.Robin.init is 1 and $daily.school.lunchEaten isnot 1>> <br><br> Robin's eyes are wide, and <<nnpc_he "Robin">> tries to reach you through the crowd. <</if>> The last thing you hear before passing out is the teacher yelling for an ambulance. <<else>> <<pregnancyPassout "schoolJanitor">> <</if>> <<case "schoolJanitor">> <<generate1>><<person1>> You stumble to the ground as your contractions overwhelm you. You cry out in pain, but no one's around to hear you. You curl up into a ball and grip your stomach, whimpering for help. After what feels like an eternity, you see a janitor <<= ["schoolfrontcourtyard", "schoolrearcourtyard"].includes($bus) ? "exit the school, wheeling a trashbin" : "enter, mopping the floor">> as <<he>> sings along to the music blaring through <<his>> headphones. <br><br> <<His>> eyes land on you, and <<he>> freezes. "Holy..." <<He>> rips off <<his>> headphones and fumbles for <<his>> cellphone to call for help. The last thing you hear is <<his>> panicked voice, swearing at the phone operator, before the world fades to black. <<case "schoolPool">> <<npc Mason>><<person1>> You gasp as a contraction hits you, stealing the strength from your limbs. You briefly go under, and chlorinated water fills your mouth. You flail in a panic, struggling to keep your head above water. Suddenly, a pair of strong arms wrap around you, towing you out of the water and onto the slippery tile. Firm, unyielding hands turn you on your side as you hack up water. <br><br> "Whoa, what happened?" Mason asks, looking concerned as <<he>> leans over you. "You need to be more careful, what if..." <<His>> voice trails off as <<he>> notices the way you carefully hold your abdomen. "Are you going into labour? Now?" Panicked, <<he>> turns and yells at a nearby student to run to Leighton's office for help. <br><br> You watch the student dash out of the room with glazed eyes as Mason turns <<his>> attention back to you. "You're going to be alright. Just breathe with me, okay?" Mason tries to guide you through some breathing exercises, but you're unable to focus. As the world fades to black, you hear the sirens of an ambulance. <<case "schoolHallways">> <<if Time.schoolDay and !["early", "late"].includes($schoolstate)>> As your vision swims, you stagger, stumbling straight into the lockers with a bang. The noise attracts the attention of the students around you. Knees weak, you slide to the ground, clutching your abdomen. One student bolts from the scene, yelling for a teacher. You hear a flurry of footsteps and several panicked voices before everything fades away. <<else>> <<pregnancyPassout "schoolJanitor">> <</if>> <<case "schoolLibrarian">> You whimper as you clutch your stomach. "Whoa, whoa," the librarian says, giving your belly an alarmed look. "Just hang on, okay? I've got you. We'll get you to the hospital immediately." You give a weak, grateful smile and let your eyes drift shut. You pass out in the safety of the librarian's arms. <<case "schoolScience">> <<npc Sirris>><<person1>> A powerful contraction grips you, and you cry out. The pain causes you to blackout for the briefest of seconds. When you open your eyes, you find yourself laying on the classroom floor, Sirris hovering over you. "You're going into labour," <<he>> says, holding your hand as <<he>> fishes a cellphone out of <<his>> pocket. "You're going to be okay, I promise." <<He>> presses the phone to <<his>> ear and calls for an ambulance. <br><br> As you wait for the ambulance, Sirris lectures on the miracle of childbirth. Some of your classmates look ill, while others can't tear their eyes away from you. The last thing you hear before passing out is <<his>> enthusiastic gushing about your ripened cervix. <<case "schoolToilets">> All of a sudden, your vision blurs, and you collapse onto the tile floor. You try to call out, but you're unsure if anybody can hear you. <br><br> You lay like that, carefully cradling your swollen belly, until <<if Time.schoolDay and !["early", "late"].includes($schoolstate)>> a group of students saunter out, chatting amongst themselves. One catches sight of you and freezes. They stare down at you, until you whimper out a plea for help. Snapping out of it, one student rushes to get help while the others crowd around you on the floor. <br><br> You catch sight of a teacher approaching before finally passing out. <<else>> <<generate1>><<person1>> a janitor enters, trundling a mop bucket. <<He>> scowls at the puddle of fluid caused by your waters breaking. "You clean up one mess, then another one pops up. Kids these...days..." <<His>> eyes widen as they land on you. "Holy shit. Uh, hang on, um-" <<He>> fumbles for <<his>> cellphone and calls for an ambulance. <br><br> You croak out a 'thank you' before the last vestiges of consciousness slip away. <</if>> <<case "sewers">> <<beastNEWinit 1 lizard>> An awful pain shoots through your body, and liquid runs down your legs. You're going into labour. As you collapse, you see a shadow in the water move towards you. A giant <<beasttype>> emerges, bearing down on you. It looks like <<bhes>> about to strike, when all of a sudden, <<bhe>> pauses. <br><br> <<if $monster is 1>> "You... have eggs?" <<bhe>> asks. <br><br> <<bHe>> stares at your stomach, watching as you curl up and whimper in pain. The <<beasttype>> looks conflicted, but <<bhe>> slowly approaches and places a hand on your stomach. <<bHis>> face scrunches up, then <<bhe>> suddenly bends down and lifts you up with relative ease. <br><br> "Not normal eggs," <<bhe>> hisses. "Other humans go to big building. I hear them talk in the bright-place below." The <<beasttype>> carries you to a ladder and hauls you up it. Once at the surface, <<bhe>> slithers out. <<else>> <<bHe>> eyes you curiously, staring at your stomach before slowly approaching and wrapping <<bhis>> tail around you. <<bHe>> drags you to the nearest ladder and, with some struggling, pulls you up it. When <<bhe>> reaches the top, <<bhe>> headbutts the manhole cover until it opens enough for <<bhim>> to wriggle out. <</if>> <<bHe>> dumps you next to the manhole before letting out a shrill, screeching hiss. <br><br> Somebody nearby yelps at the sound, and you hear footsteps coming your way. The <<beasttype>> retreats into the <<= $monster is 1 ? "sewers, glancing back at you briefly before pulling the manhole cover back into place" : "sewers">>. <br><br> Everything fades to black as someone crouches by you. <<case "sewersMorgan">> <<npc Morgan>><<person1>> A violent pain shoots through your body. You stumble to the ground as another contraction starts. You panic. This is no place to be while in labour. <br><br> <<if $morganChased>> "Oh, <<charles>>," Morgan says as <<he>> catches you. "I'm so glad I found you. I was so worried about my grandchild. This is wonderful!" <<unset $morganChased>> <<else>> "Oh, <<charles>>," Morgan says, racing to your side. "You're having your baby! I'm going to be a <<= $pronoun is "m" ? "grandpa" : "grandma">>! This is wonderful!" <</if>> <br><br> You shudder at the thought but can do nothing as <<he>> leads you into another alcove within the sewer. Light filters down from a drain above. You can see <<= Time.dayState is "night" ? "a street light" : "sunlight">>. It has a little cradle made of broken pieces of wood and moldy blankets. There's a makeshift bed and broken, dirty toys and stuffed animals. It is disturbing.<<trauma 12>><<ggtrauma>> <br><br> "I've prepared a room just for you and my grandchild. Do you like it?" <br><br> You grimace as another contraction hits. <br><br> "Now don't you worry, I'll take care of you. Just wait here. I'll be back shortly." <<He>> pats you on the head before departing. <br><br> You look around the horrible place, then up to the light. There is a ladder right below the drain. Despite the pain, you force yourself to climb. There is no way you'll have your baby here.<<willpower 1>><<gwillpower>> <br><br> You make it to the top and collapse on the street above. A quick look around reveals you are on Nightingale in front of the hospital. Someone has already spotted you and is rushing over to help. You hear a scream from the sewer below just as they reach you.<<stress 6>><<gstress>> <<case "adultShop">> You stumble, barely catching yourself on a shelf laden with dildos. You cradle your belly as you slide to the ground, groaning with pain. <<if $adultshopstate is "closed">> <<generate1>><<person1>> Using what little strength you have, you try to crawl to the door. You weakly reach for the handle, but can't reach it from the floor. You whimper. <br><br> The door swings open, and a guard scowls down at you. "What do we have here? A little rat thief, trying to make off with some fuck toys?" <<he>> says. <<He>> shines a torch on you, and <<his>> eyes widen when <<he>> notices your state. <br><br> "Shit," <<he>> mutters as <<he>> takes out <<his>> phone. "I'll give you a pass this time, but next time you won't be so lucky." The last thing you hear is <<him>> calling for an ambulance, then the world fades to black. <<else>> You hear Sirris calling for you from the back room. After a few moments, you hear Sirris enter the shop proper, followed by a shout of surprise as <<nnpc_his "Sirris">> eyes land on you. <br><br> Within moments, Sirris is kneeling at your side, phone to <<nnpc_his "Sirris">> ear as <<nnpc_he "Sirris">> tries to hold your attention. <<if $adultshopstate is "sydney">> Behind <<nnpc_him "Sirris">>, you can see Sydney hovering in worry. You try to give <<nnpc_him "Sydney">> a reassuring smile, but you can't hold on any longer. You pass out. <</if>> <</if>> <<case "office">> <<case "island">> <<endevent>> A spasm of pain wracks your body, and you cry out. You're going into labour. <br><br> Figures emerge from the trees, weapons held ready. They lower them when they see your state, and their motions become panicked. <br><br> <<if $islander_language gte 100>> "I think <<pshe>> going into labour," one of the islanders says. <br> "Fuck! You're right!" <br> "Get the druids, now!" <<elseif $islander_language gte 50>> They call for help. It's strange, but in your pain you can almost determine the meaning behind their words. It floats at the edge of awareness.<<gggcomprehension>><<islander_language 30>> <<else>> They shout something in their incomprehensible language. It's strange, but in your pain you feel the meaning behind them. They're calling for help.<<gggcomprehension>><<islander_language 30>> <</if>> <br><br> The figures fade into fog as you pass out. <<default>> With your waters broken, you're too weak to continue. <</switch>> /*Links for alternative pregnancy birth events*/ <<if _args[0] isnot "schoolJanitor">> <br><br> <<switch _args[0]>> <<case "asylum" "asylumOutside" "asylumCafe" "asylumLibrary" "asylumHarper">> <<link [[Next|Pregnancy Birth Asylum]]>><<set $stress -= 5000>><<endevent>><</link>> <<case "prison" "prisonCell" "prisonLaundry" "prisonSpire" "prisonCanteen" "prisonMedical" "prisonYard" "prisonBeach" "prisonShowers">> <<link [[Next|Pregnancy Birth Prison]]>><<set $stress -= 5000>><<endevent>><</link>> <<case "tentacleworld">> <<if $tentacleEntrance is "mirror">> You find yourself laying in front of your bedroom mirror. Everything fades to black. <br><br> <<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>> <<else>> You scream. You're met with your own echoing voice. Again and again, you scream until your throat is hoarse. <span class="red">No one comes for you.</span> <<trauma 50>><<gggtrauma>> <br><br> Overwhelmed by pain and fear, you black out. <br><br> <<link [[Next|Pregnancy Birth Asylum]]>><<set $stress -= 5000>><<endevent>><</link>> <</if>> <<case "tentacleforest" "hookah">> <<if _noWake>> You're caught off guard by a sudden pain. A contraction. You've gone into labour. You stumble to the floor. <br><br> Your vision quickly fades, and when it returns, you feel as though time has passed. <br><br> <<else>> You snap awake in the parlour. <</if>> <<if $hookah_state is 1>> <<loadNPC 0 "hookah">><<person1>> The hookah <<hookah_master>>'s face is right above you, looking concerned. <<He>> barks orders around. <br><br> "...and open that window. Air it out in here for <<phim>>. Jiggle the lock. It's supposed to be hard to open! Yes, yes, you'll get a full refund..." <br><br> <<His>> voice becomes distant, and darkness creeps into the corners of your vision as the pain of a contraction hits you. Your own scream is the last thing you hear. <<else>> Someone is pounding on the door. Your vision starts to fade again to the sound of sirens. <</if>> <br><br> <<link [[Next|Pregnancy Birth Hospital Rescue]]>><<set $stress -= 5000>><<endevent>><</link>> <<case "forest" "edencabin">> <<if $_pregnancy.type is "wolf">> <<beastNEWinit 1 wolf>> <<if $monster is 1>> A <<beasttype>> approaches you, rushing to your side and putting <<bhis>> arms behind you for support. <<if $syndromewolves is 1>> You've seen <<bhim>> at the cave before. "<<pPackbrother>>'s pups are coming," <<bhe>> says. "Hurry." <<bHe>> lets you lean against <<bhim>> as you waddle your way home. <<else>> You don't know why, but you feel safe going with <<bhim>>. "Your pups are coming," <<bhe>> says. "You'll be safe with my pack." <<bHe>> lets you lean against <<bhim>> as you waddle your way towards what you hope is safety. <</if>> <<else>> A <<beasttype>> approaches you, nuzzling your hand. <<if $syndromewolves is 1>> You've seen <<bhim>> at the cave before. You lean against <<bhis>> back as you limp home together. <<else>> You don't know why, but you feel safe going with <<bhim>>. You lean against <<bhis>> back as you limp towards what you hope is safety. <</if>> <</if>> It's difficult to keep moving through the pain. Eventually your legs give out, your vision following soon after, <<if $monster is 1>>but strong arms holding you keep you from harm.<<else>>but you fall gently onto soft fur.<</if>> <br><br> <<link [[Next|Pregnancy Birth Wolf Rescue]]>><<set $stress -= 5000>><<endevent>><</link>> <<else>> <<endevent>> <<generate1>><<person1>> You hear a <<personsimple>>'s voice. "Are you okay, there?" <<he>> asks as <<he>> approaches. <<He>> looks vaguely familiar. There's an axe along <<his>> back. You think you stopped and talked to <<him>> as <<he>> was chopping wood once. <br><br> You're barely able to talk as another contraction hits, more painful than the previous ones. The woods<<personsimple>> takes off <<his>> coat and gently puts it over your shoulders. <br><br> "Come on, lean on me. I'll take you to the hospital." Your vision fades before you can take the next step. <br><br> <<link [[Next|Pregnancy Birth Hospital Rescue]]>><<set $stress -= 5000>><<endevent>><</link>> <</if>> <<case "edencabin">> <!-- <<if $_pregnancy.potentialFathers.find(father => father.source === "Eden")>> Alternative place to give birth? <<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>> <<else>> <<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>> <</if>> --> <<case "remy" "remyAbduction" "remyHarperExam" "remyNiki">> <<link [[Next|Pregnancy Birth Livestock]]>><<set $stress -= 5000>><<endevent>><</link>> <<case "farmroad">> <<if $location is "farm" and $_pregnancy.potentialFathers.find(father => father.source === "Alex") and talkedAboutPregnancy("pc","Alex")>> <<link [[Next|Pregnancy Birth Hospital Rescue]]>><<set $stress -= 5000>><<endevent>><<set $alexRescued to 1>><</link>> <<else>> <<link [[Next|Pregnancy Birth Hospital Rescue]]>><<set $stress -= 5000>><<endevent>><</link>> <</if>> <<case "adultShop" "alley" "arcade" "bog" "dungeon" "photo" "pound" "roof" "sea" "shop" "sewers" "schoolJanitor" "school" "schoolCanteen" "schoolHallways" "schoolLibrarian" "schoolPool" "schoolScience" "schoolToilets" "temple">> <<link [[Next|Pregnancy Birth Hospital Rescue]]>><<set $stress -= 5000>><<endevent>><</link>> <<case "cave" "home" "hospital">> <<link [[Next|Pregnancy Birth Hospital]]>><<set $stress -= 5000>><<endevent>><<set $phase to 1>><</link>> <<case "trash">> <<link [[Next|Pregnancy Birth Hospital]]>><<set $stress -= 5000>><<endevent>><</link>> <<case "island">> <<link [[Next|Pregnancy Island]]>><<set $stress -= 5000>><<endevent>><</link>> <<default>> <<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>> <</switch>> <</if>> <<else>> Error Pregnancy Object not found in the passage '<<print $passage>>'. <</if>> <</widget>> <<widget "pregnancyMorningAfterPill">> <<set $_menstruation to $sexStats.vagina.menstruation>> <<set $_pregnancy to getPregnancyObject()>> <<set _morningAfterPillResult to "no pregnant">> /* This variable returns the result of taking the pill */ <<if $_menstruation.currentState is "pregnant">> <<if $_pregnancy.type is "human">> <<set _currentDay to $_pregnancy.timer / (1 / ((1 / 9) * $humanPregnancyMonths))>> <<elseif $_pregnancy.type is "wolf">> <<set _currentDay to $_pregnancy.timer / (1 / ((1 / 12) * $wolfPregnancyWeeks))>> <<else>> <<set _currentDay to 1000>> <<set _morningAfterPillResult to "unknown type">> <</if>> <<if _currentDay lte 2>> /* the first 2 days the pill clears the pregnancy and restarts the menstrual cycle */ <<set $_pregnancy.type to null>> <<set $_pregnancy.fetus to []>> <<set $_pregnancy.waterBreaking to false>> <<set $_pregnancy.waterBreakingTimer to null>> <<set $_pregnancy.timer to null>> <<set $_pregnancy.timerEnd to null>> <<set $_pregnancy.awareOf to null>> <<set $_pregnancy.awareOfMultiple to null>> <<set $_pregnancy.awareOfDetails to null>> <<set $_pregnancy.potentialFathers to []>> <<set $sexStats[($player.vaginaExist ? "vagina" : "anus")].sperm to []>> <<restartMenstruationCycle>> <<set $_menstruation.currentState to "normal">> <<set _morningAfterPillResult to "successful">> <<elseif _currentDay lte 3>> <<set $_pregnancy.type to null>> <<set $_pregnancy.fetus to []>> <<set $_pregnancy.waterBreaking to false>> <<set $_pregnancy.waterBreakingTimer to null>> <<set $_pregnancy.timer to null>> <<set $_pregnancy.timerEnd to null>> <<set $_pregnancy.awareOf to null>> <<set $_pregnancy.awareOfMultiple to null>> <<set $_pregnancy.awareOfDetails to null>> <<set $_pregnancy.potentialFathers to []>> <<set $sexStats[($player.vaginaExist ? "vagina" : "anus")].sperm to []>> <<set $_menstruation.currentDay to .5>> <<restartMenstruationCycle>> <<set $_menstruation.currentState to "normal">> <<set _morningAfterPillResult to "a little late">> <<elseif _currentDay lte 4>> <<set $_pregnancy.type to null>> <<set $_pregnancy.fetus to []>> <<set $_pregnancy.waterBreaking to false>> <<set $_pregnancy.waterBreakingTimer to null>> <<set $_pregnancy.timer to null>> <<set $_pregnancy.timerEnd to null>> <<set $_pregnancy.awareOf to null>> <<set $_pregnancy.awareOfMultiple to null>> <<set $_pregnancy.awareOfDetails to null>> <<set $_pregnancy.potentialFathers to []>> <<set $sexStats[($player.vaginaExist ? "vagina" : "anus")].sperm to []>> <<set $_menstruation.currentDay to .5>> <<set $_menstruation.currentState to "recovering">> <<set $_menstruation.recoveryTime to ($_pregnancy.type === "human" ? random(2, 3) * $humanPregnancyMonths : random(1, 2) * $wolfPregnancyWeeks)>> <<set $_menstruation.recoveryTimeStart to $_menstruation.recoveryTime>> <<set $_menstruation.recoveryStage to 0>> <<set $_menstruation.periodEnabled to false>> <<menstruationCycle>> <<set _morningAfterPillResult to "late">> <<else>> <<set _morningAfterPillResult to "too late">> /* It's too late, the pill does nothing to the pregnancy */ <</if>> <<else>> <<set $sexStats[($player.vaginaExist ? "vagina" : "anus")].sperm to []>> <<set $_menstruation.currentDay to .5>> /* If the player isn't pregnant the pill only restarts the menstrual cycle and clears sperm*/ <</if>> <</widget>> <<widget "pregnancyGendersText">><<silently>> <<set $_pregnancy to getPregnancyObject()>> <<set $_pregnancy.genderKnown to true>> <<set $_genders to {m:0,f:0,h:0}>> <<run $_pregnancy.fetus.forEach(b => $_genders[b.gender]++)>> <<if $_pregnancy.fetus[0].features.identical is true>> <<set $_text_output to `"I believe they are <<if $_pregnancy.fetus.length is 3>>all identical triplets<<else>>both identical twins<</if>>. They're the same gender and their facial features are similar."`>> <<elseif ($_genders.m is $_pregnancy.fetus.length or $_genders.f is $_pregnancy.fetus.length or $_genders.h is $_pregnancy.fetus.length) and $_pregnancy.fetus.length gt 1>> <<set $_text_output to `"Despite being the same gender, I believe they are not identical. They appear to have slightly different facial features."`>> <<else>> <<set $_text_output to "You have">> <<if $_genders.m gt 0>> <<switch $_genders.m>> <<case 1>><<set $_text_output += " a">> <<default>><<set $_text_output += " " + $_genders.m>> <</switch>> <<set $_text_output += " baby boy">><<if $_genders.m gt 1>><<set $_text_output += "s">><</if>> <<if $_genders.f gt 0 and $_genders.h gt 0>> <<set $_text_output += ",">> <<elseif $_genders.f gt 0 or $_genders.h gt 0>> <<set $_text_output += " and">> <</if>> <</if>> <<if $_genders.f gt 0>> <<switch $_genders.f>> <<case 1>><<set $_text_output += " a">> <<default>><<set $_text_output += " " + $_genders.f>> <</switch>> <<set $_text_output += " baby girl">> <<if $_genders.f gt 1>><<set $_text_output += "s">><</if>> <<if $_genders.h gt 0>><<set $_text_output += " and">><</if>> <</if>> <<if $_genders.h gt 0>> <<switch $_genders.h>> <<case 1>><<set $_text_output += " a">> <<default>><<set $_text_output += " " + $_genders.h>> <</switch>> <<set $_text_output += " baby hermaphrodite">> <<if $_genders.h gt 1>><<set $_text_output += "s">><</if>> <</if>> <<set $_text_output += ".">> <</if>> <</silently>><<if $_text_output>><<print $_text_output>><</if>> <</widget>> <<widget "babyType">><<silently>> <<if $_pregnancy.awareOfDetails || ((!_args[0] || _args[0] is "pc") and $_pregnancy.potentialFathers.every((father, index, array) => father.type === array[0].type))>> <<switch $_pregnancy.type>> <<case "human">> <<if $_pregnancy.fetus.length gt 1>> <<set $_text_output to "babies">> <<else>> <<set $_text_output to "baby">> <</if>> <<case "wolf">> <<if $_pregnancy.fetus.length gt 1>> <<set $_text_output to "puppies">> <<else>> <<set $_text_output to "puppy">> <</if>> <</switch>> <<elseif $_pregnancy.awareOfMultiple and $_pregnancy.fetus.length gt 1>> <<set $_text_output to "babies">> <<else>> <<set $_text_output to "baby">> <</if>> <</silently>><<print $_text_output>> <</widget>> <<widget "pregnancyBabyText">><<silently>> <<if _args[0] isnot "pc" and C.npc[_args[0]] and C.npc[_args[0]].pregnancy.enabled isnot undefined>> <<set $_pregnancy to C.npc[_args[0]].pregnancy>> <<else>> <<set $_pregnancy to getPregnancyObject()>> <</if>> <<if $_pregnancy.awareOfDetails || ((!_args[0] || _args[0] is "pc") and $_pregnancy.potentialFathers.every((father, index, array) => father.type === array[0].type))>> <<set $_num to ($_pregnancy.awareOfDetails || $_pregnancy.awareOfMultiple ? $_pregnancy.fetus.length : 1)>> <<if $_pregnancy.awareOfDetails>> <<switch $_pregnancy.type>> <<case "human">> <<if $_num gt 1>> <<set $_text_output to ($_num is 3 ? "triplets" : "twins")>> <<else>> <<set $_text_output to "baby">> <</if>> <<case "wolf">> <<if $_num lte 3>> <<set $_text_output to ($_num is 1 ? "pup" : "pups")>> <<else>> <<set $_text_output to "litter">> <</if>> <<default>> <<set $_text_output to ($_num gt 1 ? "babies" : "baby")>> <</switch>> <<else>> <<set $_text_output to ($_pregnancy.awareOfMultiple && $_pregnancy.fetus.length gt 1 ? "babies" : "baby")>> <</if>> <<else>> <<set $_text_output to ($_pregnancy.awareOfMultiple && $_pregnancy.fetus.length gt 1 ? "babies" : "baby")>> <</if>> <</silently>><<print $_text_output>><</widget>> <<widget "babyIs">> <<silently>> <<set $_spawn to `<<pregnancyBabyText ${_args[0] || "pc"}>>`>> <<switch $_spawn>> <<case "triplets" "twins" "pups" "babies" "chicks">><<set $_spawn += " are">> <<default>><<set $_spawn += " is">> <</switch>> <</silently>> <<print $_spawn>> <</widget>> <<widget "npcPregnancyUpdater">> <<for $_i to 0; $_i lt $NPCNameList.length; $_i++>> <<set $_name to $NPCNameList[$_i]>> <<if C.npc[$_name].pregnancy is undefined>> <<set C.npc[$_name].pregnancy to {}>> <</if>> <<set $_pregnancy to C.npc[$_name].pregnancy>> <<if !setup.pregnancy.infertile.includes($_name) and setup.pregnancy.typesEnabled.includes(C.npc[$_name].type) and (($incompletePregnancyDisable is "f" and C.npc[$_name].pregnancy.enabled is undefined and !setup.pregnancy.ignoresIncompleteCheck.includes($_name)) or (setup.pregnancy.canBePregnant.includes($_name) and C.npc[$_name].pregnancy.enabled is undefined))>> <<set $_pregnancy.fetus to []>> <<set $_pregnancy.givenBirth to 0>> <<set $_pregnancy.totalBirthEvents to 0>> <<set $_pregnancy.timer to null>> <<set $_pregnancy.timerEnd to null>> <<set $_pregnancy.waterBreaking to null>> <<set $_pregnancy.npcAwareOf to null>> <<set $_pregnancy.pcAwareOf to null>> <<set $_pregnancy.type to null>> <<set $_pregnancy.enabled to true>> <<set $_pregnancy.cycleDaysTotal to random(24,32)>> <<set $_pregnancy.cycleDay to random(1,$_pregnancy.cycleDaysTotal)>> <<set $_pregnancy.cycleDangerousDay to 10>> <<set $_pregnancy.sperm to []>> <<set $_pregnancy.potentialFathers to []>> <<set $_pregnancy.nonCycleRng to [random(0,3),random(0,3)]>> <<switch $_name>> <<case "Kylar">><<set $_pregnancy.pills to "fertility">> <<case "Alex" "Wren">><<set $_pregnancy.pills to "contraceptive">> <<case "Great Hawk">> /* Has a much shorter cycle, when cycleDay is 1, assume the hawk should lay eggs that have not been fertilised*/ <<set $_pregnancy.cycleDaysTotal to random(12,16)>> <<set $_pregnancy.cycleDay to random(1,$_pregnancy.cycleDaysTotal)>> <<set $_pregnancy.cycleDangerousDay to $_pregnancy.cycleDaysTotal - 4>> <<set $_pregnancy.pills to null>> <<default>><<set $_pregnancy.pills to null>> <</switch>> <<elseif setup.pregnancy.infertile.includes($_name) or (!setup.pregnancy.canBePregnant.includes($_name) and $incompletePregnancyDisable isnot "f")>> /*For saves that have the variables set, but have no need to be there*/ <<set C.npc[$_name].pregnancy to {}>> <</if>> /* 0 = never uses a condom, Kylar has a special exception * 50 = Will use a condom, but will refrain if asked * 100 = Always uses a condom, will not remove it */ <<if !C.npc[$_name].pregnancyAvoidance or $objectVersion.pregnancyAvoidance is undefined>> <<switch $_name>> <<case "Kylar" "Black Wolf" "Great Hawk" "Eden" "Ivory Wraith">><<set C.npc[$_name].pregnancyAvoidance to 0>> <<case "Robin" "Whitney" "Alex" "Wren" "Avery">><<set C.npc[$_name].pregnancyAvoidance to 50>> <<default>><<set C.npc[$_name].pregnancyAvoidance to 100>> <</switch>> <</if>> <</for>> <<set $objectVersion.pregnancyAvoidance to 1>> <</widget>> /*ToDo: Pregnancy Story Content: Not used in events at the moment, add to appropriate story passages, when the player gives birth to their children*/ <<widget "earSlimePregnancy">> <<if _args[0] and $earSlime.corruption gte 80>> <<switch _args[0]>> <<case "human">><<set $_type to _args[1]? 'babies' : 'baby'>> <<case "wolf">><<set $_type to _args[1] ? 'wolf puppies' : 'wolf pup'>> <<default>><<set $_type to _args[1] ? 'babies' : 'baby'>> <</switch>> <<set $_babiesText to _args[1] ? `to some beautiful ${$_type}` : `to a beautiful ${$_type}`>> <<if numberOfEarSlime() gte 2>> <span class="green">A fulfilled warmth fills you.</span> You almost forget the strife of the world. You can tell it's the slimes in your ears, rewarding you for giving birth <<print $_babiesText>>. <<lllcorruption true>><<lltrauma>><<llstress>><<trauma -24>><<stress -24>><<corruption `Math.floor($earSlime.corruption * -0.4)`>> <br><br> <<elseif numberOfEarSlime()>> <span class="green">A fulfilled warmth fills you.</span> You almost forget the strife of the world. You can tell it's the slime in your ear, rewarding you for giving birth <<print $_babiesText>>. <<llcorruption true>><<ltrauma>><<lstress>><<trauma -12>><<stress -12>><<corruption `Math.floor($earSlime.corruption * -0.2)`>> <br><br> <</if>> <</if>> <</widget>> <<widget "fetishPregnancyImg">> <<if _playerIsNowPregnant or _npcIsNowPregnant>> <div class="impregnatedGrid"> <<if _playerIsNowPregnant>> <div @class="$options.images is 1 ? 'impregnated' : ''"> <div> <<if _playerIsNowPregnant is "pc">> <span class="lewd">You just got yourself pregnant.</span> <<else>> <span class="lewd"><<print pregnancyNameCorrection(_playerIsNowPregnant, true)>> just impregnated you.</span> <</if>> </div> <<if $options.images is 1>> <<if $player.vaginaExist>> <<set $_fCum to Math.clamp(setup.bodyliquid.combined("vagina"),1,5)>> <<else>> <<set $_fCum to Math.clamp(setup.bodyliquid.combined("anus"),1,5)>> <</if>> <img class="fertilization" @src="'img/sex/fertilization/fert' + $_fCum + '.gif'"> <</if>> </div> <<unset _playerIsNowPregnant>> <</if>> <<if _npcIsNowPregnant>> <div @class="$options.images is 1 ? 'impregnated' : ''"> <div><span class="lewd">You just impregnated <<print pregnancyNameCorrection(_npcIsNowPregnant)>>.</span></div> <<if $options.images is 1>><img class="fertilization" src="img/sex/fertilization/fert6.gif"><</if>> </div> <<earnFeat "First Fatherhood">> <<unset _npcIsNowPregnant>> <</if>> </div> <</if>> <</widget>> <<widget "giveHarpyEggs">> <<if !playerIsPregnant() and $harpy gte 4 and !$harpyEggs and !$harpyEggsPrevent>> /* daysTillLaying only applies to unfertilised eggs */ <<set $harpyEggs to { count: weightedRandom([1, 1], [2, 4], [3, 4], [4, 1]), daysTillLaying: random(2, 3), }>> /* Minimum time to prevents eggs from being set */ <<set $harpyEggsPrevent to 14>> <</if>> <</widget>><<widget "promiscuity1">> <<promiscuityN 1>> <</widget>> <<widget "promiscuity2">> <<promiscuityN 2>> <</widget>> <<widget "promiscuity3">> <<promiscuityN 3>> <</widget>> <<widget "promiscuity4">> <<promiscuityN 4>> <</widget>> <<widget "promiscuity5">> <<promiscuityN 5>> <</widget>> <<widget "promiscuity6">> <<promiscuityN 6>> <</widget>> <<widget "promiscuityN">> <<set $_n to _args[0]>> <<set $_scaledPromiscuityMax to 20 * $_n>> <<if $desperateaction is 1>> You feel disgusting, but it's better than what Bailey has in store for you. <<elseif $desperateaction is 2>> You feel disgusting, but it's better than the alternative. <<elseif typeof $desperateaction is "string">> You feel disgusting, but <<print $desperateaction>>. <<else>> <<if $control lt $controlmax>> <<if $_n is 6>> Performing such an act of manic depravity <span class="green">fully restores your sense of control</span>, <span class="red">but inflicts damage to your mental state</span>. <<elseif $promiscuity lt $_scaledPromiscuityMax>> Performing such a lewd act excites you and <span class="green">restores your sense of control and self-worth</span>, for now. <<else>> Performing such a lewd act excites you, but does nothing to lift the cloud hanging over you. <span class="pink">You need to do something more extreme.</span> <</if>> <<else>> <<if $_n is 6>> You already feel in control, <span class="red">leaving you unfulfilled as your act of manic depravity seems wasted</span>. <<elseif $promiscuity lt $_scaledPromiscuityMax>> You already feel in control, but performing such a lewd act <span class="green">soothes</span> and excites you. <<else>> You already feel in control and the act is <span class="pink">too tame to soothe</span>, but it does excite you. <</if>> <</if>> <<if !hasSexStat("promiscuity", $_n, false) and $drunk gte 1>> <<if $_n is 6>> <span @class="'red ' + basicDrunkCss()">Your head feels fuzzy and light. You hope you don't remember this later.</span> <<else>> <span @class="'blue ' + basicDrunkCss()">You feel weightless as the alcohol dulls your inhibitions.</span> <</if>> <</if>> <<if !hasSexStat("promiscuity", $_n, false) and (playerHeatMinArousal() + playerRutMinArousal()) gte 1>> <<if $_n is 6>> <span @class="'red ' + basicJitterCss()">You know you shouldn't want this, but you find it hard to care.</span> <<else>> <span @class="'pink ' + basicJitterCss()">You feel a primal urge pushing you to go further.</span> <</if>> <</if>> <</if>> <!-- separating the code from the written text --> <<if $desperateaction is 1 or $desperateaction is 2 or typeof $desperateaction is "string">> <<control `$_n * -10`>> <<switch $_n>> <<case 1>><<lcontrol>> <<case 2>><<llcontrol>> <<case 3>><<llcontrol>> <<case 4>><<llcontrol>> <<case 5>><<lllcontrol>> <</switch>> <<gtrauma>><<trauma $_n>> <<else>> <<if $_n is 6>> <<set $promiscuity += ($control lt $controlmax ? 2 : 1)>> <<if $control lt $controlmax>> <<control $controlmax>> <<gggcontrol>> <</if>> <<trauma 40>> <<ggtrauma>> <<elseif $promiscuity lt $_scaledPromiscuityMax>> <<set $promiscuity += ($control lt $controlmax ? 2 : 1)>> <<if $control lt $controlmax>> <<ggcontrol>> <</if>> <<control 25>><<stress $_n -300>><<combattrauma `$_n * -30`>><<ltrauma>><<lstress>> <<else>> <<if V.daily["promiscuityStress" + $_n] isnot 1 and $statFreeze isnot true>> <<set V.daily["promiscuityStress" + $_n] to 1>><<lstress>><<stress $_n -100>> <</if>> <</if>> <<arousal `$_n * 100`>><<garousal>> <</if>> <<set $promiscuity to Math.clamp($promiscuity, 0, 100)>> <<earSlimeSeenActions "promiscuity" $_n>> <br><br> <<unset $desperateaction>> <</widget>> <<widget "combatpromiscuity1">> <<combatpromiscuityN 1>> <</widget>> <<widget "combatpromiscuity2">> <<combatpromiscuityN 2>> <</widget>> <<widget "combatpromiscuity3">> <<combatpromiscuityN 3>> <</widget>> <<widget "combatpromiscuity4">> <<combatpromiscuityN 4>> <</widget>> <<widget "combatpromiscuity5">> <<combatpromiscuityN 5>> <</widget>> <<widget "combatpromiscuity6">> <<combatpromiscuityN 6>> <</widget>> <<widget "combatpromiscuityN">> <<if !$promiscuityIgnore>> <<set $_n to _args[0]>> <<if $enemytype isnot "man">> <<combatdeviancyN $_n>> <<elseif $consensual is 1 or $_n is 6>> <<set $_scaledPromiscuityMax to 20 * $_n>> <<if $promiscuity lt $_scaledPromiscuityMax>> <<set $promiscuity += ($control lt $controlmax ? 2 : 1)>> <<if $control lt $controlmax>> <<set _combat_promiscuity_success to (_combat_promiscuity_success gte $_n ? _combat_promiscuity_success : $_n)>> <<if $_n is 6>> <<control $controlmax>> <<else>> <<control 25>> <</if>> <<else>> <<set _combat_promiscuity_max_control to $_n>> <</if>> <<if $_n is 6>> <<combattrauma 40>> <<else>> <<stress $_n -300>> <<combattrauma `$_n * -30`>> <</if>> <<else>> <<set _combat_promiscuity_failure to $_n>> <<if V.daily["promiscuityStress" + $_n] isnot 1 and $statFreeze isnot true>> <<set V.daily["promiscuityStress" + $_n] to 1>><<stress $_n -100>> <</if>> <</if>> <<arousal `$_n * 100`>> <</if>> <</if>> <<set $promiscuity to Math.clamp($promiscuity, 0, 100)>> <<earSlimeSeenActions "promiscuity" $_n 5>> <</widget>> <<widget "combat_promiscuity_text">> <<if _combat_promiscuity_success>> <br> <<if _combat_promiscuity_success is 6>> Your crazed act of promiscuity <span class="green">fully restores your sense of control</span>, <span class="red">but inflicts damage to your mental state</span>.<<gggcontrol>><<ggtrauma>><<ggarousal>> <<else>> Your promiscuous behaviour <span class="green">restores your sense of control.</span><<ggcontrol>><<ltrauma>><<lstress>><<garousal>> <</if>> <<elseif _combat_promiscuity_max_control>> <br> <<if _combat_promiscuity_max_control is 6>> You already feel in control, <span class="red">leaving you unfulfilled as your act of manic depravity seems wasted</span>.<<ggtrauma>><<ggarousal>> <<else>> Your promiscuous behaviour <span class="green">soothes and excites you.</span><<ltrauma>><<lstress>><<garousal>> <</if>> <<elseif _combat_promiscuity_failure>> <br> Your behaviour is promiscuous, <span class="pink">though it's too tame to soothe.</span><<lstress>><<garousal>> <</if>> <</widget>><<widget "pbhairinit">> <!--PBHair extension START--> <<if $pblevel lt 1 or !$pblevel>> <<set $pblevel to 1>> <</if>> <<if $pbgrowth lt 1 or !$pbgrowth>> <<set $pbgrowth to 1>> <</if>> <<if $pblevelballs lt 1 or !$pblevelballs>> <<set $pblevelballs to 1>> <</if>> <<if $pbgrowthballs lt 1 or !$pbgrowthballs>> <<set $pbgrowthballs to 1>> <</if>> <<if $pbstrip lt 0 or !$pbstrip>> <<set $pbstrip to 0>> <</if>> <</widget>><<widget "initsettings">> <<set $player.gender to "f">> <<set $player.sex to "f">> <<set $player.gender_body to "a">> <<set $player.bodyshape to "classic">> <<set $player.ballsExist to false>> <<set $player.freckles to false>> <<set $player.breastsize to 0>> <<set $player.penissize to 1>> <<set $bodysize to 2>> <<set $mouthsensitivity to 1>> <<set $breastsensitivity to 1>> <<set $bottomsensitivity to 1>> <<set $genitalsensitivity to 1>> <<set $facestyle to "default">> <<set $facevariant to "default">> <<set $eyeselect to "purple">> <<set $hairselect to "red">> <<set $hairlength to 200>> <<set $awareselect to "innocent">> <<set $background to "waif">> <<set $startingseason to "autumn">> <<set $gamemode to "normal">> <<set $blackchance to 10>> <<set $bestialitydisable to "f">> <<set $swarmdisable to "f">> <<set $spiderdisable to "f">> <<set $slugdisable to "f">> <<set $waspdisable to "f">> <<set $beedisable to "f">> <<set $lurkerdisable to "f">> <<set $horsedisable to "f">> <<set $bodywritingLvl to 3>> <<set $parasitedisable to "f">> <<set $ruinedorgasmdisable to "f">> <<set $bestialitydisable to "f">> <<set $slimedisable to "f">> <<set $voredisable to "f">> <<set $tentacledisable to "f">> <<set $plantdisable to "f">> <<set $analdisable to "f">> <<set $analdoubledisable to "f">> <<set $analingusdisablegiving to "f">> <<set $analingusdisablereceiving to "f">> <<set $vaginaldoubledisable to "f">> <<set $transformdisable to "f">> <<set $transformdisabledivine to "f">> /*<<set $hirsutedisable to "t">>*/ <<set $pbdisable to "t">> <<set $breastfeedingdisable to "f">> <<set $parasitepregdisable to "f">> <<set $asphyxiaLvl to 3>> <<set $NudeGenderDC to 1>> <<set $npcVirginityChance to 50>> <<set $npcVirginityChanceAdult to 10>> <<set $footdisable to "f">> <<set $toywhipdisable to "f">> <<set $toydildodisable to "f">> <<set $toymultiplepenetration to "f">> <<set $pregnancyspeechdisable to "f">> <<set $hypnosisdisable to "f">> <<set $statdisable to "f">> <<set $cheatdisable to "t">> <<set $watersportsdisable to "t">> <<set $facesitdisable to "f">> <<set $ruffledisable to "f">> <<set $forcedcrossdressingdisable to "f">> <<set $saveName to "">> <<set $checkstyle to "words">> <<set $blackwolfmonster to 1>> <<set $greathawkmonster to 1>> <<set $reducedLineHeight to false>> <<set $clothesPrice to 1>> <<set $clothesPriceUnderwear to 1>> <<set $clothesPriceSchool to 1>> <<set $clothesPriceLewd to 1>> <<set $furniturePriceFactor to 1>> <<set $basePlayerPregnancyChance to 80>> <<set $baseNpcPregnancyChance to 8>> <<set $humanPregnancyMonths to 3>> <<set $wolfPregnancyWeeks to 4>> <<set $playerPregnancyHumanDisable to "f">> <<set $playerPregnancyBeastDisable to "f">> <<set $playerPregnancyEggLayingDisable to "f">> <<set $npcPregnancyDisable to "f">> <<set $incompletePregnancyDisable to "t">> <<set $cycledisable to "f">> <<set $pregnancytype to "realistic">> <<set $rentmod to 1>> <<set $condomLvl to 3>> <<set $condomChance to 60>> <<set $condomUseChanceRape to 33>> <<set $condomUseChanceCon to 83>> <<set $multipleWardrobes to "isolated">> <<set $tending_yield_factor to 5>> <<set $notifyUpdate = true>> <<set _tan to 0>> <<startingPlayerImageReset>> <</widget>> <<widget "displaySettings">> <<if _args[0]>> <<set $currentSettings to _args[0]>> <</if>> <<if $passage isnot "Start" and ["characterSettings", "featSettings"].includes($currentSettings)>> <<set $currentSettings to "gameSettings">> <</if>> <<switch $currentSettings>> <<case "quickStart" "tweak">><<replace #settingsDiv>><<quickStart>><</replace>> <<case "presetConfirmDetails">><<replace #settingsDiv>><<presetConfirmDetails>><</replace>> <<case "characterSettings" "character">> <<replace #settingsDiv>><<characterSettings>><</replace>> <<if StartConfig.enableImages and $passage is "Start">><<startingPlayerImageUpdate>><<removeclass #startingPlayerImage "hidden">><</if>> <<case "featSettings" "feat">><<replace #settingsDiv>><<featSettings>><</replace>> <<case "gameSettings" "game">><<replace #settingsDiv>><<gameSettings>><</replace>> <<case "sizeLimitsSettings" "size">><<replace #settingsDiv>><<sizeLimitsSettings>><</replace>> <<case "npcSettings" "npc">><<replace #settingsDiv>><<npcSettings>><</replace>> <<case "exportsettings" "export">><<replace #settingsDiv>><<exportsettings>><</replace>> <<case "gallerySettings" "gallery">><<replace #settingsDiv>><<gallerySettings>><</replace>> <<case "importConfirmDetails">><<replace #settingsDiv>><<importConfirmDetails>><</replace>> <<case "startDescriptions">><<startDescriptions>> <<default>><<replace #settingsDiv>><<gameSettings>><</replace>> <</switch>> <<if $currentSettings isnot "importConfirmDetails">> <<unset $importString>> <</if>> <<run settingsDisableElement()>> <</widget>> <<widget "displaySubsection">> <<if _args[0]>> <<set $currentSubsection to _args[0]>> <</if>> <<switch $currentSubsection>> <<case "humanSettings">><<set _subsection to "human">><<replace #subsectionDiv>><<humanSettings>><</replace>> <<case "npcSettings">><<set _subsection to "npc">><<replace #subsectionDiv>><<npcSettings>><</replace>> <<case "beastSettings">><<set _subsection to "beast">><<replace #subsectionDiv>><<beastSettings>><</replace>> <<case "fetishSettings">><<set _subsection to "fetish">><<replace #subsectionDiv>><<fetishSettings>><</replace>> <<case "priceSettings">><<set _subsection to "price">><<replace #subsectionDiv>><<priceSettings>><</replace>> <<case "pregnancySettings">><<set _subsection to "pregnancy">><<replace #subsectionDiv>><<pregnancySettings>><</replace>> <<case "sizeLimitsSettings">><<set _subsection to "sizeLimits">><<replace #subsectionDiv>><div class="solidBorderContainer settings-container"><<sizeLimitsSettings>></div><</replace>> <<default>><<set _subsection to "human">><<replace #subsectionDiv>><<humanSettings>><</replace>> <</switch>> <<run settingsDisableElement()>> <</widget>> <<widget "startOptionsComplexityButton">> <div @class="_selectedStart is _args[1] ? 'gold buttonStartSelected' : 'buttonStart'" > <<button _args[0]>> <<set _selectedStart to _args[1]>> <<set _settingsTab to "startDescriptions">> <<replace #startOptions>><<startOptions>><</replace>> <<replace #settingsExit>><<settingsExit>><</replace>> <</button>> </div> <</widget>> <<widget "settingsTabButton">> <div @class="_settingsTab is _args[1] ? 'gold buttonSettingsSelected' : 'buttonSettings'" > <<button _args[0]>> <<set _settingsTab to _settingsTab is _args[1] ? "startDescriptions" : _args[1]>> <<if _args[1] is "game">><<set _subsection to "human">><</if>> <<replace #startOptions>><<startOptions>><</replace>> <<displaySettings _settingsTab>> <</button>> </div> <</widget>> <<widget "startOptions">> <div class="containerStart"> <div id="startSelectionDefault" class="buttonSettings"> <<startOptionsComplexityButton "Basic" "default">> </div> <div id="startSelectionAdjusted" class="buttonSettings"> <<startOptionsComplexityButton "Moderate" "adjusted">> </div> <div id="startSelectionCustom" class="buttonSettings"> <<startOptionsComplexityButton "Advanced" "custom">> </div> <div id="startSelectionRandom" class="buttonSettings"> <<startOptionsComplexityButton "Random" "random">> </div> </div> <hr> <<set _featTabName to "Feat Boosts<span class='red'> *</span>"+ ($options.images is 1 ? " <img class='imgButton' src='img/ui/GoldCoin.gif'/>" : "")>> <<switch _selectedStart>> /*Basic Start is selected */ <<case "default">> <div class="containerStart"> /*Character Creation*/ <<settingsTabButton "Character Creation<span class='red'> *</span>" "character">> /*Feat Boosts */ <<settingsTabButton _featTabName "feat">> /*Gallery*/ <<settingsTabButton "Gallery" "gallery">> </div> /*Moderate Start is Selected */ <<case "adjusted">> <div class="containerStart"> /*Character Creation*/ <<settingsTabButton "Character Creation<span class='red'> *</span>" "character">> /*Tweak Preferences, formerly Quick Start*/ <<settingsTabButton "Tweak Preferences" "tweak">> /*Feat Boosts */ <<settingsTabButton _featTabName "feat">> /*Gallery*/ <<settingsTabButton "Gallery" "gallery">> </div> /*Custom Start is Selected */ <<case "custom">> <div class="containerStart"> /*Character Creation*/ <<settingsTabButton "Character Creation<span class='red'> *</span>" "character">> /*Game Settings*/ <<settingsTabButton "Game Settings" "game">> /*Feat Boosts*/ <<settingsTabButton _featTabName "feat">> /*Gallery*/ <<settingsTabButton "Gallery" "gallery">> /*Export/Import Settings*/ <<settingsTabButton "Export/Import Settings" "export">> </div> /*Random Start is Selected */ <<case "random">> <div class="containerStart"> /*Feat Boosts*/ <<settingsTabButton _featTabName "feat">> /*Gallery*/ <<settingsTabButton "Gallery" "gallery">> </div> <</switch>> /*Container for different tabs*/ <div id="settingsDiv"> <<switch $currentSettings>> <<case "featSettings" "feat">><<featSettings>> <<default>><<startDescriptions _selectedStart>> <</switch>> </div> <</widget>> <<widget "settingsStart">> <<updatehistorycontrols>><!-- hides controls on going back in history after enabling that option --> <<set $cheatdisabletoggle to $cheatdisable>> <<if _selectedStart is undefined>> <<set _selectedStart to "default">> <</if>> Select your settings: <br> <div id="startOptions" class="no-numberify"> <<startOptions>> </div> <br> <div id="settingsExit"> <<settingsExit>> </div> <</widget>> <<widget "settingsOptions">> <<if _selectedSettings is undefined>><<set _selectedSettings to "quick">><</if>> <div class="containerStart"> <div @class="_selectedSettings is 'quick' ? 'gold buttonStartSelected' : 'buttonStart'" > <<button "Quick Edit">> <<set _selectedSettings to "quick">> <<replace #settingsOptions>><<settingsOptions>><</replace>> <<replace #settingsExit>><<settingsExit>><</replace>> <<displaySettings "quickStart">> <</button>> </div> <div @class="_selectedSettings is 'game' ? 'gold buttonStartSelected' : 'buttonStart'" > <<button "Game Settings">> <<set _selectedSettings to "game">> <<set _subsection to "human">> <<replace #settingsOptions>><<settingsOptions>><</replace>> <<replace #settingsExit>><<settingsExit>><</replace>> <<displaySettings "gameSettings">> /* Resets Quick edit temporary values, to make them reflect current settings as closely as they can */ <<unset _malechance>> <<unset _beastmalechance>> <<unset _maleChanceSplit>> <<unset _beastMaleChanceSplit>> <<unset _pregnancytype>> <<unset _incompletePregnancyDisable>> <</button>> </div> <div @class="_selectedSettings is 'gallery' ? 'gold buttonStartSelected' : 'buttonStart'" > <<button "Gallery">> <<set _selectedSettings to "gallery">> <<replace #settingsOptions>><<settingsOptions>><</replace>> <<replace #settingsExit>><<settingsExit>><</replace>> <<displaySettings "gallerySettings">> <</button>> </div> <div @class="_selectedSettings is 'export' ? 'gold buttonStartSelected' : 'buttonStart'" > <<button "Export/Import Settings">> <<set _selectedSettings to "export">> <<replace #settingsOptions>><<settingsOptions>><</replace>> <<replace #settingsExit>><<settingsExit>><</replace>> <<displaySettings "exportsettings">> <</button>> </div> </div> <</widget>> <<widget "settings">> <<updatehistorycontrols>><!-- hides controls on going back in history after enabling that option --> <<set $cheatdisabletoggle to $cheatdisable>> <div id="settingsOptions" class="no-numberify"> <<settingsOptions>> </div> <div id="settingsDiv" class="no-numberify"> <<quickStart>><<set $currentSettings to "quickStart">> </div> <br> <div id="settingsExit"> <<settingsExit>> </div> <</widget>> <<widget "settingsExit">> <<saveNameSection>> <div style="margin-top:15px"> <<if $passage is "Start">> <<switch _selectedStart>> <<case "default">> <div><span class="gold bold">Current Settings:</span> <i style="color:var(--000);">Default</i></div> <<button "Start Game!">> /*If player changed any settings in Moderate/Advanced settings but then decided to just do Basic settings, resets settings back to default*/ <<set $gamemode to "normal">> <<set $blackchance to 10>> <<set $bestialitydisable to "f">> <<set $swarmdisable to "f">> <<set $spiderdisable to "f">> <<set $slugdisable to "f">> <<set $waspdisable to "f">> <<set $beedisable to "f">> <<set $lurkerdisable to "f">> <<set $horsedisable to "f">> <<set $bodywritingLvl to 3>> <<set $parasitedisable to "f">> <<set $bestialitydisable to "f">> <<set $slimedisable to "f">> <<set $voredisable to "f">> <<set $tentacledisable to "f">> <<set $plantdisable to "f">> <<set $analdisable to "f">> <<set $analdoubledisable to "f">> <<set $analingusdisablegiving to "f">> <<set $analingusdisablereceiving to "f">> <<set $vaginaldoubledisable to "f">> <<set $transformdisable to "f">> <<set $transformdisabledivine to "f">> <<set $pbdisable to "t">> <<set $breastfeedingdisable to "f">> <<set $parasitepregdisable to "f">> <<set $asphyxiaLvl to 3>> <<set $NudeGenderDC to 1>> <<set $npcVirginityChance to 50>> <<set $npcVirginityChanceAdult to 10>> <<set $footdisable to "f">> <<set $toywhipdisable to "f">> <<set $toydildodisable to "f">> <<set $toymultiplepenetration to "f">> <<set $pregnancyspeechdisable to "f">> <<set $hypnosisdisable to "f">> <<set $statdisable to "f">> <<set $cheatdisable to "t">> <<set $watersportsdisable to "t">> <<set $facesitdisable to "f">> <<set $ruffledisable to "f">> <<set $forcedcrossdressingdisable to "f">> <<set $checkstyle to "words">> <<set $blackwolfmonster to 1>> <<set $greathawkmonster to 1>> <<set $reducedLineHeight to false>> <<set $clothesPrice to 1>> <<set $clothesPriceUnderwear to 1>> <<set $clothesPriceSchool to 1>> <<set $clothesPriceLewd to 1>> <<set $furniturePriceFactor to 1>> <<set $basePlayerPregnancyChance to 80>> <<set $baseNpcPregnancyChance to 8>> <<set $humanPregnancyMonths to 3>> <<set $wolfPregnancyWeeks to 4>> <<set $playerPregnancyHumanDisable to "f">> <<set $playerPregnancyBeastDisable to "f">> <<set $playerPregnancyEggLayingDisable to "f">> <<set $npcPregnancyDisable to "f">> <<set $incompletePregnancyDisable to "t">> <<set $cycledisable to "f">> <<set $pregnancytype to "realistic">> <<set $rentmod to 1>> <<set $condomLvl to 3>> <<set $condomChance to 60>> <<set $condomUseChanceRape to 33>> <<set $condomUseChanceCon to 83>> <<set $multipleWardrobes to "isolated">> <<set $tending_yield_factor to 5>> <<settingsExitFunction>> <</button>> <<case "adjusted">> <div><span class="gold bold">Current Settings:</span> <i style="color:var(--000);">Adjustable</i></div> <<button "Start Game!">> <<presets _kinkPreset "save">> <<presets _namedNpcPreset "save">> <<presets _monstersPreset "save">> <<set $malechance to _malechance is undefined ? $malechance : _malechance>> <<set $beastmalechance to _beastmalechance is undefined ? $beastmalechance : _beastmalechance>> <<set $maleChanceSplit to _maleChanceSplit or "f">> <<set $beastMaleChanceSplit to _beastMaleChanceSplit or "f">> <<if _maleChanceSplit is "t">> <<switch _malechance>> <<case 100>> /* All opposite sex */ <<set $maleChanceMale to 0>> <<set $maleChanceFemale to 100>> <<case 75>> /* 75% opposite sex */ <<set $maleChanceMale to 25>> <<set $maleChanceFemale to 75>> <<case 25>> /* 75% same sex */ <<set $maleChanceMale to 75>> <<set $maleChanceFemale to 25>> <<case 0>> /* All same sex */ <<set $maleChanceMale to 100>> <<set $maleChanceFemale to 0>> <<default>> /* Random sex */ <<set $maleChanceMale to random(1, 99)>> <<set $maleChanceFemale to random(1, 99)>> <</switch>> <</if>> <<if _beastMaleChanceSplit is "t">> <<switch _beastmalechance>> <<case 100>> /* All opposite sex */ <<set $beastMaleChanceMale to 0>> <<set $beastMaleChanceFemale to 100>> <<case 75>> /* 75% opposite sex */ <<set $beastMaleChanceMale to 25>> <<set $beastMaleChanceFemale to 75>> <<case 25>> /* 75% same sex */ <<set $beastMaleChanceMale to 75>> <<set $beastMaleChanceFemale to 25>> <<case 0>> /* All same sex */ <<set $beastMaleChanceMale to 100>> <<set $beastMaleChanceFemale to 0>> <<default>> /* Random sex */ <<set $beastMaleChanceMale to random(1, 99)>> <<set $beastMaleChanceFemale to random(1, 99)>> <</switch>> <</if>> <<if _pregnancytype is "disabled">> <<set $playerPregnancyHumanDisable to "t">> <<set $playerPregnancyBeastDisable to "t">> <<set $playerPregnancyEggLayingDisable to "t">> <<set $npcPregnancyDisable to "t">> <<else>> <<set $pregnancytype to _pregnancytype or "realistic">> <<set $playerPregnancyHumanDisable to "f">> <<set $playerPregnancyBeastDisable to "f">> <<set $playerPregnancyEggLayingDisable to "f">> <<set $npcPregnancyDisable to "f">> <</if>> <<if _incompletePregnancyDisable is "t" or (_incompletePregnancyDisable is "f" and !_foundPregnancy)>> <<set $incompletePregnancyDisable to _incompletePregnancyDisable>> <<npcPregnancyUpdater>> <</if>> <<if ($feats.locked or ($cheatdisabletoggle is "t" and $rentmod gte 1)) and ($feats.soft or ($gamemode isnot "soft" and $alluremod gte 1)) and ($feats.pregnancyLocked or ($humanPregnancyMonths gte 3 and $wolfPregnancyWeeks gte 4)) and ($feats.pregnancySillyLocked or $pregnancytype isnot "silly")>> <<settingsExitFunction>> <<else>><!-- confirm cheats --> <<replace #settingsExit>><<settingsExitConfirm>><</replace>> <</if>> <</button>> <div><span class="red small-description">If changes were made to fetish toggles while in <span class="gold">Advanced Start,</span> they will be overwritten by your current selected settings.</span></div> <<case "custom">> <div><span class="gold bold">Current Settings:</span> <i style="color:var(--000);">Customisable</i></div> <<button "Start Game!">> <<if ($feats.locked or ($cheatdisabletoggle is "t" and $rentmod gte 1)) and ($feats.soft or ($gamemode isnot "soft" and $alluremod gte 1)) and ($feats.pregnancyLocked or ($humanPregnancyMonths gte 3 and $wolfPregnancyWeeks gte 4)) and ($feats.pregnancySillyLocked or $pregnancytype isnot "silly")>> <<settingsExitFunction>> <<else>><!-- confirm cheats --> <<replace #settingsExit>><<settingsExitConfirm>><</replace>> <</if>> <</button>> <<case "random">> <div><span class="gold bold">Current Settings:</span> <i style="color:var(--000);">Randomised</i></div> <<button "Start Game!">> /*Rerolls all settings*/ <<presets "randomize" "characterSettings" `randomizeSettings()`>> <<if ($feats.locked or ($cheatdisabletoggle is "t" and $rentmod gte 1)) and ($feats.soft or ($gamemode isnot "soft" and $alluremod gte 1)) and ($feats.pregnancyLocked or ($humanPregnancyMonths gte 3 and $wolfPregnancyWeeks gte 4)) and ($feats.pregnancySillyLocked or $pregnancytype isnot "silly")>> <<settingsExitFunction>> <<else>><!-- confirm cheats --> <<replace #startOptions>><<startOptions>><</replace>> <<replace #settingsExit>><<settingsExitConfirm>><</replace>> <</if>> <</button>> <</switch>> <<else>> <<button "Save changes">> <<if ($feats.locked or ($cheatdisabletoggle is "t" and $rentmod gte 1)) and ($feats.soft or ($gamemode isnot "soft" and $alluremod gte 1)) and ($feats.pregnancyLocked or ($humanPregnancyMonths gte 3 and $wolfPregnancyWeeks gte 4)) and ($feats.pregnancySillyLocked or $pregnancytype isnot "silly")>> <<settingsExitFunction>> <<else>><!-- confirm cheats --> <<replace #settingsExit>><<settingsExitConfirm>><</replace>> <</if>> <</button>> <</if>> </div> <</widget>> <<widget "settingsExitConfirm">> <<if _selectedStart is "random">> <span class="red">Certain feats have been disabled due to randomly generated settings.</span> <ul> <<if $cheatdisabletoggle is "f">><li>Enabled cheats: disables all feats.</li><</if>> <<if $rentmod lt 1>><li>Lowered rent: disables all feats.</li><</if>> <<if !$feats.soft and $gamemode is "soft">><li>Soft mode: disables some feats.</li><</if>> <<if !$feats.soft and $alluremod lt 1>><li>Lowered allure: disables some feats.</li><</if>> <<if !$feats.pregnancyLocked and $humanPregnancyMonths lt 3>><li>Human pregnancy set to under 3 months: disables some pregnancy feats.</li><</if>> <<if !$feats.pregnancyLocked and $wolfPregnancyWeeks lt 4>><li>Wolf pregnancy set to under 4 weeks: disables some pregnancy feats.</li><</if>> <<if !$feats.pregnancySillyLocked and $pregnancytype is "silly">><li>Pregnancy mode set to "silly": disables some pregnancy feats.</li><</if>> </ul> Do you want to keep these changes? <br> <<button "No">> <<set $cheatdisabletoggle to "t">> <<if $gamemode is "soft">> <<set $gamemode to "normal">> <</if>> <<if $alluremod lt 1>> <<set $alluremod to 1>> <</if>> <<if $rentmod lt 1>> <<set $rentmod to 1>> <</if>> <<if !$feats.pregnancyLocked and $humanPregnancyMonths lt 3>> <<set $humanPregnancyMonths to 3>> <</if>> <<if !$feats.pregnancyLocked and $wolfPregnancyWeeks lt 4>> <<set $wolfPregnancyWeeks to 4>> <</if>> <<if !$feats.pregnancySillyLocked and $pregnancytype is "silly">> <<set $pregnancytype to "realistic">> <</if>> <<displaySettings "startDescriptions">> <<replace #settingsExit>><<settingsExit>><</replace>> <</button>> <br> <span class="gold small-description">(Undo these changes, allowing you to reroll your settings.)</span> <br><br> <<button "Yes">> <<settingsExitFunction>> <</button>> <br> <span class="red small-description">(Feats will be disabled for the duration of this save.)</span> <<else>> <span class="red">You will not be able to obtain feats due to the settings you've selected.</span> <ul> <<if $cheatdisabletoggle is "f">><li>Enabled cheats: disables all feats.</li><</if>> <<if $rentmod lt 1>><li>Lowered rent: disables all feats.</li><</if>> <<if !$feats.soft and $gamemode is "soft">><li>Soft mode: disables some feats.</li><</if>> <<if !$feats.soft and $alluremod lt 1>><li>Lowered allure: disables some feats</li><</if>> <<if !$feats.pregnancyLocked and $humanPregnancyMonths lt 3>><li>Human pregnancy set to under 3 months: disables some pregnancy feats.</li><</if>> <<if !$feats.pregnancyLocked and $wolfPregnancyWeeks lt 4>><li>Wolf pregnancy set to under 4 weeks: disables some pregnancy feats.</li><</if>> <<if !$feats.pregnancySillyLocked and $pregnancytype is "silly">><li>Pregnancy mode set to "silly": disables some pregnancy feats.</li><</if>> </ul> Do you want to keep these changes? <br> <<button "No">> <<set $cheatdisabletoggle to "t">> <<if $gamemode is "soft">> <<set $gamemode to "normal">> <</if>> <<if $alluremod lt 1>> <<set $alluremod to 1>> <</if>> <<if $rentmod lt 1>> <<set $rentmod to 1>> <</if>> <<if !$feats.pregnancyLocked and $humanPregnancyMonths lt 3>> <<set $humanPregnancyMonths to 3>> <</if>> <<if !$feats.pregnancyLocked and $wolfPregnancyWeeks lt 4>> <<set $wolfPregnancyWeeks to 4>> <</if>> <<if !$feats.pregnancySillyLocked and $pregnancytype is "silly">> <<set $pregnancytype to "realistic">> <</if>> <<if _settingsTab is 'tweak'>> <<replace #gameModeQuick>><<gameMode>><</replace>> <<elseif _settingsTab is 'game'>> <<replace #gameMode>><<gameMode>><</replace>> <</if>> <<replace #settingsExit>><<settingsExit>><</replace>> <</button>> <br> <span class="gold small-description">(Undo these changes, allowing feats to be obtained.)</span> <br><br> <<button "Yes">> <<settingsExitFunction>> <</button>> <br> <span class="red small-description">(Feats will be disabled for the duration of this save.)</span> <</if>> <</widget>> <<widget "settingsExitConfirmHistory">> <span class="red"><b>WARNING! Your history depth setting is too high!</b><br> Values above 5 can lead to errors when creating new saves! Make sure you know what you're doing before proceeding, or turn it down! </span> <br> <<link "Disable the feature">> <<set $options.maxStates to 1>> <<replace #settingsExit>><<settingsExit>><</replace>> <<displaySettings>> <</link>> <br> <<link "Lower the values to safer levels">> <<set $options.maxStates to 5>> <<replace #settingsExit>><<settingsExit>><</replace>> <<displaySettings>> <</link>> <br><br><br> <<link "I love shooting myself in the foot">> <<settingsExitFunction>> <</link>> <</widget>> <<widget "settingsExitFunction">> <<if !$ironmanmode>> <<set $cheatdisable to $cheatdisabletoggle>> <</if>> <<if $cheatdisable is "f" or $rentmod lt 1>> <<set $feats.locked to true>> <</if>> <<unset $cheatdisabletoggle>> <<if $gamemode is "soft" or $alluremod lt 1>> <<set $feats.soft to true>> <</if>> <<if $humanPregnancyMonths lt 3 or $wolfPregnancyWeeks lt 4>> <<set $feats.pregnancyLocked to true>> <</if>> <<if $pregnancytype is "silly">> <<set $feats.pregnancySillyLocked to true>> <</if>> <<updatehistorycontrols>> <<presets _namedNpcPreset "save">> <<initnpcgender>> <<updatePersistentNPCs>> <<hirsuteHideCheck>> <<generateTipsList>> <<if $player.freckles is "random">> <<set $player.freckles to (random(1, 5) is 1)>> <</if>> /* Updates the npc's in case $incompletePregnancyDisable has been changed by the player */ <<npcPregnancyUpdater>> <!-- Init shop mannequin gender --> <<if $mannequinHasPenis is undefined>> <<set $mannequinHasPenis to $player.penisExist>> <<set $mannequinBreastsSize to ($mannequinHasPenis ? 0 : 3)>> <</if>> <<if $clothesPriceLewd lt Math.ceil(10 / $clothesPrice) * 0.1>> <<set $clothesPriceLewd to parseFloat((Math.ceil(10 / $clothesPrice) * 0.1).toFixed(1))>> <</if>> <<set _settingsExitPassage to clone($settingsExitPassage)>> <<unset $settingsExitPassage>> <<run State.display(_settingsExitPassage)>> <<set $saveName to $saveName.replace(/[^a-zA-Z\u4e00-\u9fa5 0-9]+/g,"")>> <<unset $importString>> /* Updates the penis max size for females so its never below 1 */ <<if $player.sex is "f" && $penissizemax < 0>> <<set $penissizemax to 0>> <</if>> <</widget>> /*complete:{"Vrelnir (Default)":"vrelDefault","Lollipop Scythe":"lollipopScythe","PurityGuy":"purityGuy","Fangi":"fangi"},*/ <<widget "quickStartOptions">> <<if _quickStartOptions is undefined>> <<set _quickStartOptions to { player:{"Female Waif":"femaleWaif","Male Waif":"maleWaif", "Hermaphrodite Waif":"hermaphroditeWaif", "Vrelnir PC":"vrel", "Crossdresser":"crossdresser","Tough Guy":"toughGuy"}, genericNpc:{ "Default Genders":"genericNpcDefaultGender", "All Male":"genericNpcAllMaleGender", "75% Male":"genericNpc75MaleGender", "All Female":"genericNpcAllFemaleGender", "75% Female":"genericNpc75FemaleGender", "All Opposite Gender":"genericNpcAllOppositeGenders", "90% Opposite Gender":"genericNpc90OppositeGenders", "75% Opposite Gender":"genericNpc75OppositeGenders", "All Same Gender":"genericNpcAllSameGenders", "90% Same Gender":"genericNpc90SameGenders", "75% Same Gender":"genericNpc75SameGenders", }, namedNpc:{"Default Genders":"namedNpcDefaultGender", "All Male":"namedNpcAllMaleGender", "All Female":"namedNpcAllFemaleGender"}, beasts:{ "Default Genders":"beastDefaultGenders", "All Male":"beastMaleGenders", "75% Male":"beast75MaleGenders", "All Female":"beastFemaleGenders", "75% Female":"beast75FemaleGenders", "All Opposite Gender":"beastOppositeGenders", "90% Opposite Gender":"beast90OppositeGenders", "75% Opposite Gender":"beast75OppositeGenders", "All Same Gender":"beastSameGenders", "90% Same Gender":"beast90SameGenders", "75% Same Gender":"beast75SameGenders", }, monsters:{"When Hallucinating":"monstersDefault", "No Monsters":"monstersNone", "All Monsters":"monstersAll"}, kink:{"Reasonably Debauched":"kinkDefault", "Vanilla":"kinkVanilla", "No Beasts":"kinkNoBeasts", "Everything Goes":"kinkEverything"}, game:{ "Normal ":"gameNormal","Soft (No Feats)":"gameSoft","Hard":"gameHard","Hard (Ironman)":"gameHardIronman","Masochist":"gameMasochist","Soft with Cheats (No Feats)":"gameSoftCheats","Normal with Cheats (No Feats)":"gameNormalCheats","Hard with Cheats (No Feats)":"gameHardCheats","Masochist with Cheats (No Feats)":"gameMasochistCheats" }, images:{"Default":"imagesdefault","High Quality":"imagesHigh","Low Quality":"imagesLow","Performance Mode":"imagesPerformance","Disable images":"imagesDisable"}, settings:{"PC, Tips":"settingPCTip","PC, no Tips":"settingPCNoTip","Mobile, Tips":"settingMobileTips","Mobile, no Tips":"settingMobileNoTips"} }>> <</if>> <</widget>> <<widget "quickStart">> <div class="solidBorderContainer settings-container"> <<quickStartOptions>> <div class="settingsToggleIndent"> <<if $passage is "Start">> <i>Make broad changes to your game settings. For more fine-tuned settings, choose <span class="gold">Advanced Start</span> instead.</i> <<else>> <i>Quickly change game settings. To fine-tune settings further, visit the <span class="gold">Game Settings</span> tab.</i> <</if>> </div> <div class="settingsGrid"> <div id="gameModeQuick" class="settingsToggleItem"> <<gameMode>> </div> <<if $passage is "Start">> <div class="settingsToggleItem"> <span class="gold">Fetish Settings</span> <br> <<if _kinkPreset is undefined>><<set _kinkPreset to "kinkDefault">><</if>> <label><mouse class="tooltip" style="border-bottom: 2px dotted var(--link)">Reasonably Debauched<span>Default settings. All kinks are enabled, except for watersports.</span></mouse> <<radiobutton "_kinkPreset" "kinkDefault" autocheck>></label> | <label><mouse class="tooltip" style="border-bottom: 2px dotted var(--link)">Vanilla<span>All beast-related toggles are disabled, as well as plant people, tentacles, slimes, lactation, facesitting, double penetration, and hypnosis.</span></mouse> <<radiobutton "_kinkPreset" "kinkVanilla" autocheck>></label> | <label><mouse class="tooltip" style="border-bottom: 2px dotted var(--link)">No Beasts<span>All beast-related settings are disabled, including bestiality, swarms, vore, parasites, spiders, slugs, wasps, lurkers, bees, and horses.</span></mouse> <<radiobutton "_kinkPreset" "kinkNoBeasts" autocheck>></label> | <label><mouse class="tooltip" style="border-bottom: 2px dotted var(--link)">Anything Goes<span>All kinks are enabled, including watersports.</span></mouse> <<radiobutton "_kinkPreset" "kinkEverything" autocheck>></label> </div> <</if>> <div class="settingsToggleItem"> <<set _foundPregnancy to !!Object.values($NPCName).find(npc => npc.pregnancy && npc.pregnancy.enabled && npc.pregnancy.type && !setup.pregnancy.canBePregnant.includes(npc.fullDescription))>> <label> <span class="gold">Pregnancy Mode</span> <br> <<if $passage is "Start">> <label><<radiobutton "_pregnancytype" "realistic" `_pregnancytype ? "autocheck" : ($pregnancytype is "realistic" ? "checked": "")`>> <mouse class="tooltip green">Realistic<span>Pregnancy will not happen immediately, and you won't know right away when it happens. You may need to use a pregnancy test, and the father may not be known to you initially. Cum on the outside of your vagina may get you pregnant as well, unless washed off within the next several hours.</span></mouse></label> | <label><<radiobutton "_pregnancytype" "fetish" `_pregnancytype ? "autocheck" : ($pregnancytype is "fetish" ? "checked": "")`>> <mouse class="tooltip pink">Fetishised<span>Pregnancy may happen as soon as semen gets inside you. You will know as soon as it happens, and will immediately know the father.</span></mouse></label> | <label><<radiobutton "_pregnancytype" "silly" `_pregnancytype ? "autocheck" : ($pregnancytype is "silly" ? "checked": "")`>> <mouse class="tooltip gold">Silly<span>Pregnancy may happen as soon as you hold hands or kiss, especially with those you love. <i class="red none">There may be story content related issues with this mode. Some feats will be disabled with this mode.</i></span></mouse></label> | <label><<radiobutton "_pregnancytype" "disabled" autocheck>> <mouse class="tooltip red">Disabled<span>Pregnancy will be disabled. Will not prevent existing pregnancies or prevent the player from interacting with their children.</span></mouse></label> <<else>> <<pregnancyType>> <</if>> </label> <br> <label> <<fertilityCycles>> </label> <br> <label data-disabledif="T.foundPregnancy&&V.incompletePregnancyDisable==='f'"> <<incompletePregnancy>> </label> </div> <div class="settingsToggleItem"> <<if $passage is "Start">> <span class="gold">Generic NPC Genders</span> <<numberslider "_malechance" `_malechance is undefined ? $malechance : _malechance` 0 100 25>> <<run settingsNpcGenders()>> <span id="humanSplitBy"><<humanSplitBy>></span> <<else>> <<npcAttractionSettings>> <</if>> </div> <div class="settingsToggleItem"> <<if $passage is "Start">> <span class="gold">Beast Genders</span> <<numberslider "_beastmalechance" `_beastmalechance is undefined ? $beastmalechance : _beastmalechance` 0 100 25>> <<run settingsBeastGenders()>> <span id="beastSplitBy"><<beastSplitBy>></span> <<else>> <<beastAttractionSettings>> <</if>> </div> <div class="settingsToggleItem"> <span class="gold">Named NPC Genders</span> <mouse class="tooltip linkBlue">(?)<span>Setting applies as you save changes.</span></mouse> <br> <<if _namedNpcPreset is undefined>><<set _namedNpcPreset to "namedNpcDefaultGender">><</if>> <label>All Male <<radiobutton "_namedNpcPreset" "namedNpcAllMaleGender" autocheck>></label> | <label><<print $passage is "Start" ? "Random Genders" : "Current Genders">> <<radiobutton "_namedNpcPreset" "namedNpcDefaultGender" autocheck>></label> | <label>All Female <<radiobutton "_namedNpcPreset" "namedNpcAllFemaleGender" autocheck>></label> </div> <div class="settingsToggleItem"> <<if $passage is "Start">> <<if _monstersPreset is undefined>><<set _monstersPreset to "monstersDefault">><</if>> <span class="gold">Replace beasts with monster girls and boys</span> <br> <label>All the time <<radiobutton "_monstersPreset" "monstersAll" autocheck>></label> | <label>Only when hallucinating <<radiobutton "_monstersPreset" "monstersDefault" autocheck>></label> | <label>Never <<radiobutton "_monstersPreset" "monstersNone" autocheck>></label> <<else>> <<monsterSettings>> <</if>> </div> </div> </div> <</widget>> <<widget "humanSplitByFull">> <<link `$maleChanceSplit is "t" ? "Ignore sexual orientation" : "Set sexual orientation"`>> <<set $maleChanceSplit to $maleChanceSplit is "t" ? "f" : "t">> <<toggleclass "#simpleGenders" "hidden">> <<replace "#splitGenders">><<maleChanceSplitControls>><</replace>> <<toggleclass "#splitGenders" "hidden">> <<replace "#humanSplitByFull">><<humanSplitByFull>><</replace>> <</link>> <</widget>> <<widget "beastSplitByFull">> <<link `$beastMaleChanceSplit is "t" ? "Ignore sexual orientation" : "Set sexual orientation"`>> <<set $beastMaleChanceSplit to $beastMaleChanceSplit is "t" ? "f" : "t">> <<toggleclass "#simpleBeastGenders" "hidden">> <<replace "#splitBeastGenders">><<beastMaleChanceSplitControls>><</replace>> <<toggleclass "#splitBeastGenders" "hidden">> <<replace "#beastSplitByFull">><<beastSplitByFull>><</replace>> <</link>> <</widget>> <<widget "humanSplitBy">> <<link `_maleChanceSplit is "t" ? "Ignore sexual orientation" : "Set sexual orientation"`>> <<set _maleChanceSplit to _maleChanceSplit is "t" ? "f" : "t">> <<replace "#humanSplitBy">><<humanSplitBy>><</replace>> <<run settingsNpcGenders(true)>> <</link>> <</widget>> <<widget "beastSplitBy">> <<link `_beastMaleChanceSplit is "t" ? "Ignore sexual orientation" : "Set sexual orientation"`>> <<set _beastMaleChanceSplit to _beastMaleChanceSplit is "t" ? "f" : "t">> <<replace "#beastSplitBy">><<beastSplitBy>><</replace>> <<run settingsBeastGenders(true)>> <</link>> <</widget>> <<widget "characterSettings">> <div class="solidBorderContainer settings-container"> <div class="settingsGrid"> <div class="settingsToggleItem"> <span class="gold">Randomise:</span><br> <<link "Character Appearance">><<presets "randomize" "characterSettings" `randomizeSettings('characterAppearance')`>><</link>> <mouse class="tooltip linkBlue">(?)<span>Randomises the player character's appearance, including hair, eyes, skin colour, gender, and body part sizes. Body size, gender appearance, genitalia, and base skin colour cannot be changed after starting the game.</span></mouse> <br> </div> <div class="settingsToggleItem"> <<if StartConfig.enableImages is true>> <span class="gold">Character sidebar preview:</span><br> <label>Hide Clothes <<checkbox "_showClothes" true false autocheck>></label> | <label>Hide Underwear <<checkbox "_showUnderwear" true false autocheck>></label> <br> <</if>> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Body </div> <div class="settingsToggleItem"> <span class="gold">Genitals:</span><br> <label>Penis <<radiobutton "$player.sex" "m" autocheck>></label> | <label>Vagina <<radiobutton "$player.sex" "f" autocheck>></label> | <label>Hermaphrodite <<radiobutton "$player.sex" "h" autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Gender:</span><br> <label class="blue">Male <<radiobutton "$player.gender" "m" autocheck>></label> | <label class="pink">Female <<radiobutton "$player.gender" "f" autocheck>></label> | <label class="purple">Neither <<radiobutton "$player.gender" "n" autocheck>></label> <br> <span class="small-description">How you see yourself. Does not affect how other people perceive you. You may change this later in the mirror menu.</span> </div> <div class="settingsToggleItem"> <span class="gold">Body size:</span><br> <label>Tiny <<radiobutton "$bodysize" 0 autocheck>></label> | <label>Small <<radiobutton "$bodysize" 1 autocheck>></label> | <label>Normal <<radiobutton "$bodysize" 2 autocheck>></label> | <label>Large <<radiobutton "$bodysize" 3 autocheck>></label><br> <span class="small-description">Larger sizes have higher max physique and damage output.</span> </div> <div class="settingsToggleItem"> <span class="gold">Body shape:</span><br> <label>Classic <<radiobutton "$player.bodyshape" "classic" autocheck>></label> | <label>Slender <<radiobutton "$player.bodyshape" "slender" autocheck>></label> | <label>Curvy <<radiobutton "$player.bodyshape" "curvy" autocheck>></label> | <label>Soft <<radiobutton "$player.bodyshape" "soft" autocheck>></label> <br> <span class="small-description">Purely cosmetic. You may change this later in the mirror menu.</span> </div> <div class="settingsToggleItem"> <span class="gold">Breast size:</span><br> <label>Flat <<radiobutton "$player.breastsize" 0 autocheck>></label> | <label>Budding <<radiobutton "$player.breastsize" 1 autocheck>></label> | <label>Tiny <<radiobutton "$player.breastsize" 2 autocheck>></label> | <label>Small <<radiobutton "$player.breastsize" 3 autocheck>></label> | <label>Pert <<radiobutton "$player.breastsize" 4 autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Ass size:</span><br> <label>Slender <<radiobutton "$player.bottomsize" 0 autocheck>></label> | <label>Slim <<radiobutton "$player.bottomsize" 1 autocheck>></label> | <label>Modest <<radiobutton "$player.bottomsize" 2 autocheck>></label> | <label>Cushioned <<radiobutton "$player.bottomsize" 3 autocheck>></label> </div> <div class="settingsToggleItem"> <span data-target="player.sex" data-disabledif="V.player.sex==='f'"> <span class="gold">Penis size - if applicable:</span><br> <label>Tiny <<radiobutton "$player.penissize" 0 autocheck>></label> | <label>Small <<radiobutton "$player.penissize" 1 autocheck>></label> | <label>Normal <<radiobutton "$player.penissize" 2 autocheck>></label> </span> </div> <div class="settingsToggleItem"> <span data-target="player.sex" data-disabledif="V.player.sex!=='h'"> <span class="gold">Hermaphrodite testes - if applicable</span><br> <label>Yes <<radiobutton "$player.ballsExist" true autocheck>></label> | <label>No <<radiobutton "$player.ballsExist" false autocheck>></label> </span> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Head </div> <<if setup.faceStyleOptions.length gt 1>> <div id="settingsFaceStyle" class="settingsToggleItem"> <span class="gold">Face style:</span><br> <<for _styleName, _styleValue range setup.faceStyleOptions>> <<capture _styleName, _styleValue>> <span @id="'link-'+_styleValue.replace(/ /g,'-')" @class="(_styleValue is $facestyle ? 'selected' : '')"> <<silently>><<set _text_output to _styleName>><<capitalise>><</silently>> <<link _text_output>> <<removeclass `'#link-'+$facestyle.replace(/ /g,'-')` "selected">> <<set $facestyle to _styleValue>> <<set $facevariant to "default">> <<addclass `'#link-'+$facestyle.replace(/ /g,'-')` "selected">> <<replace "#settingsFaceVariantRadios">><<faceVariantSettings>><</replace>> <<updatesidebarimg true>> <</link>> | </span> <</capture>> <</for>> </div> <</if>> <div id="settingsFaceVariants" @class="setup.faceStyleOptions.length gt 1 ? 'settingsToggleItem' : 'settingsToggleItemWide'"> <span class="gold">Demeanour:</span> <mouse class = "tooltip-small linkBlue"> (?)<span>You may change this setting later in the mirror.</span> </mouse> <br> <div id="settingsFaceVariantRadios"> <<faceVariantSettings>> </div> </div> <div class="settingsToggleItemWide"> <span class="gold">Natural eye colour:</span><br> <label><span class="purple">Purple</span> <<radiobutton "$eyeselect" "purple" autocheck>></label> | <label><span class="blue">Dark Blue</span> <<radiobutton "$eyeselect" "dark blue" autocheck>></label> | <label><span class="lblue">Light Blue</span> <<radiobutton "$eyeselect" "light blue" autocheck>></label> | <label><span class="tangerine">Amber</span> <<radiobutton "$eyeselect" "amber" autocheck>></label> | <label><span class="brown">Hazel</span> <<radiobutton "$eyeselect" "hazel" autocheck>></label> | <label><span class="green">Green</span> <<radiobutton "$eyeselect" "green" autocheck>></label> | <label><span class="lime-green">Lime Green</span> <<radiobutton "$eyeselect" "lime green" autocheck>></label> | <label><span class="red">Red</span> <<radiobutton "$eyeselect" "red" autocheck>></label> | <label><span class="pink">Pink</span> <<radiobutton "$eyeselect" "pink" autocheck>></label> | <label><span class="grey">Grey</span> <<radiobutton "$eyeselect" "grey" autocheck>></label> | <label><span class="light-grey">Light Grey</span> <<radiobutton "$eyeselect" "light grey" autocheck>></label> | <label><span>Random</span> <<radiobutton "$eyeselect" "random" autocheck>></label> </div> <div class="settingsToggleItemWide"> <span class="gold">Natural hair colour:</span><br> <label><span class="red">Red</span> <<radiobutton "$hairselect" "red" autocheck>></label> | <label><span class="black">Jet Black</span> <<radiobutton "$hairselect" "jetblack" autocheck>></label> | <label><span class="black">Black</span> <<radiobutton "$hairselect" "black" autocheck>></label> | <label><span class="brown">Brown</span> <<radiobutton "$hairselect" "brown" autocheck>></label> | <label><span class="softbrown">Soft Brown</span> <<radiobutton "$hairselect" "softbrown" autocheck>></label> | <label><span class="lightbrown">Light brown</span> <<radiobutton "$hairselect" "lightbrown" autocheck>></label> | <label><span class="burntorange">Burnt Orange</span> <<radiobutton "$hairselect" "burntorange" autocheck>></label> | <label><span class="strawberry">Strawberry blond</span> <<radiobutton "$hairselect" "strawberryblond" autocheck>></label> | <label><span class="tangerine">Ginger</span> <<radiobutton "$hairselect" "ginger" autocheck>></label> | <label><span class="gold">Blond</span> <<radiobutton "$hairselect" "blond" autocheck>></label> | <label><span class="softblond">Soft Blond</span> <<radiobutton "$hairselect" "softblond" autocheck>></label> | <label><span class="platinum">Platinum blond</span> <<radiobutton "$hairselect" "platinumblond" autocheck>></label> | <label><span class="ashy">Ashy blond</span> <<radiobutton "$hairselect" "ashyblond" autocheck>></label> | <label><span class="white">White</span> <<radiobutton "$hairselect" "white" autocheck>></label> | <label><span class="snowwhite">Snow White</span> <<radiobutton "$hairselect" "snowwhite" autocheck>></label> | <label><span>Random</span> <<radiobutton "$hairselect" "random" autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Hair length:</span><br> <label>Ear <<radiobutton "$hairlength" 0 autocheck>></label> | <label>Neck <<radiobutton "$hairlength" 200 autocheck>></label> | <label>Chest <<radiobutton "$hairlength" 400 autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Freckles:</span><br> <label>Yes <<radiobutton "$player.freckles" true autocheck>></label> | <label>No <<radiobutton "$player.freckles" false autocheck>></label> | <label>Random <<radiobutton "$player.freckles" "random" autocheck>></label> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Skin Colour </div> <div class="settingsToggleItem"> <span class="gold">Reddish:</span><br> <label>Light <<radiobutton "$player.skin.color" "light" autocheck>></label> | <label>Medium <<radiobutton "$player.skin.color" "medium" autocheck>></label> | <label>Dark <<radiobutton "$player.skin.color" "dark" autocheck>></label> | <label>Gyaru <<radiobutton "$player.skin.color" "gyaru" autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Yellowish:</span><br> <label>Light <<radiobutton "$player.skin.color" "ylight" autocheck>></label> | <label>Medium <<radiobutton "$player.skin.color" "ymedium" autocheck>></label> | <label>Dark <<radiobutton "$player.skin.color" "ydark" autocheck>></label> | <label>Gyaru <<radiobutton "$player.skin.color" "ygyaru" autocheck>></label> </div> <div class="settingsToggleItemWide"> <div class="numberslider-inline"> <label><span class="gold">Initial Tan Value:</span> <<numberslider "_tan" _tan 0 100 1 { onInputChange: value => { Skin.color.setTan(value); Wikifier.wikifyEval("<<startingPlayerImageUpdate>>"); }, value: v => `${v}%` }>> </label> </div> </div> </div> <hr> <<sizeLimitsSettings>> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Sensitivity </div> <div class="settingsToggleItem"> <span class="gold">Mouth sensitivity:</span><br> <label>Normal <<radiobutton "$mouthsensitivity" 1 autocheck>></label> | <label><span class="pink">Sensitive</span> <<radiobutton "$mouthsensitivity" 2 autocheck>></label> | <label><span class="red">Very sensitive</span> <<radiobutton "$mouthsensitivity" 3 autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Chest sensitivity:</span><br> <label>Normal <<radiobutton "$breastsensitivity" 1 autocheck>></label> | <label><span class="pink">Sensitive</span> <<radiobutton "$breastsensitivity" 2 autocheck>></label> | <label><span class="red">Very sensitive</span> <<radiobutton "$breastsensitivity" 3 autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Ass sensitivity:</span><br> <label>Normal <<radiobutton "$bottomsensitivity" 1 autocheck>></label> | <label><span class="pink">Sensitive</span> <<radiobutton "$bottomsensitivity" 2 autocheck>></label> | <label><span class="red">Very sensitive</span> <<radiobutton "$bottomsensitivity" 3 autocheck>></label> </div> <div class="settingsToggleItem"> <span class="gold">Genital sensitivity:</span><br> <label>Normal <<radiobutton "$genitalsensitivity" 1 autocheck>></label> | <label><span class="pink">Sensitive</span> <<radiobutton "$genitalsensitivity" 2 autocheck>></label> | <label><span class="red">Very sensitive</span> <<radiobutton "$genitalsensitivity" 3 autocheck>></label> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Personality </div> <div class="settingsToggleItemWide"> <span class="gold">Randomise:</span> <br> <<link "Character Traits">><<presets "randomize" "characterSettings" `randomizeSettings('characterTrait')`>><</link>> <mouse class="tooltip linkBlue">(?)<span>Randomises the player character's traits, including background, awareness, and general sensitivity. These traits cannot be changed after starting the game.</span></mouse> <br> </div> <div class="settingsToggleItemWide"> <span class="gold">Awareness:</span> <mouse class="tooltip linkBlue">(?)<span>Whether your character knows a thing or two about sex despite their lack of experience.</span></mouse> <br> <label>Innocent <<radiobutton "$awareselect" "innocent" autocheck>></label> | <label>Knowledgeable <<radiobutton "$awareselect" "knowledgeable" autocheck>></label> </div> <div class="settingsToggleItemWide"> <span class="gold">Background:</span><br> <label><span class="green">Waif</span> <<radiobutton "$background" "waif" autocheck>> - No special advantages or disadvantages. <i>Recommended for beginners.</i></label> <br> <label><span class="teal">Nerd</span> <<radiobutton "$background" "nerd" autocheck>> - Good at school. Picked on. <span class="red">(This will prevent the 'Unsocial Moth' feat from being earned)</span></label> <br> <label><span class="teal">Athlete</span> <<radiobutton "$background" "athlete" autocheck>> - Physically capable. Grades have suffered.</label> <br> <label><span class="teal">Delinquent</span> <<radiobutton "$background" "delinquent" autocheck>> - Your antics have made you popular with other students. Less so with the teachers.</label> <br> <label><span class="blue">Promiscuous</span> <<radiobutton "$background" "promiscuous" autocheck>> - You've experimented sexually.</label> <br> <label><span class="blue">Exhibitionist</span> <<radiobutton "$background" "exhibitionist" autocheck>> - You have an affinity for exposing yourself in public places.</label> <br> <label><span class="blue">Deviant</span> <<radiobutton "$background" "deviant" autocheck>> - You <i>really</i> like animals.</label> <br> <label><span class="lewd">Beautiful</span> <<radiobutton "$background" "beautiful" autocheck>> - You turn heads. <i>Not recommended for beginners.</i></label> <br> <label data-target="player.sex" data-disabledif="V.player.sex==='h'"><span class="lewd">Crossdresser</span> <<radiobutton "$background" "crossdresser" autocheck>> - You've taken a liking to the clothing of the opposite sex. Does nothing for hermaphrodites.</label> <br> <label><span class="lewd">Lustful</span> <<radiobutton "$background" "lustful" autocheck>> - Arousal increases over time, and needs to be managed.</label> /*<br> <label>Green Thumb <<radiobutton "$background" "greenthumb" autocheck>> - More bountiful crops and no decay when using fertiliser. Start with ne unit of fertiliser.</label>*/ <br> <label><mouse class="tooltip"><span class="lewd">Dendrophile</span> <<radiobutton "$background" "plantlover" autocheck>> - Plants are everything to you.<span class="green">You're addicted to nectar. You're more vulnerable to aphrodisiacs and alcohol. Plantpeople and plant-based tentacles no longer require hallucinations to encounter. You get a bonus to Tending, as your Trauma increases.</span></mouse> </label> /*<br> Keep last, in 'widget "variablesStart2"' be sure to add any new traits to the array after if '$background is "random"' Commenting out due to be ing redundant with the randomise character traits link <label>Random <<radiobutton "$background" "random" autocheck>></label> <br>*/ </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Starting Season <mouse class="tooltip linkBlue">(?)<span style="font-size:16px;">The game will start on the first Sunday of the chosen season.</span></mouse> </div> <div class="settingsToggleItemWide"> <label><mouse class="tooltip tangerine">Autumn <<radiobutton "$startingseason" "autumn" autocheck>><span class="green"><i>Recommended for beginners.</i></span></mouse></label> | <label><span class="teal">Winter</span> <<radiobutton "$startingseason" "winter" autocheck>></label> | <label><span class="lime-green">Spring</span> <<radiobutton "$startingseason" "spring" autocheck>></label> | <label><span class="red">Summer</span> <<radiobutton "$startingseason" "summer" autocheck>></label> | <label>Random <<radiobutton "$startingseason" "random" autocheck>></label> </div> </div> </div> <br> <<link "Top of Page">> <<script>> document.body.scrollTop = 0; document.documentElement.scrollTop = 0; <</script>> <</link>> <</widget>> <<widget "featExplanation">> <<link "Hide explanation...">> <<replace #featExplanation>><</replace>> <<toggleclass '#explain' 'hidden'>> <</link>><br> If you choose not to import all feats earned across multiple save files, only the feats marked as unlocked in your <span class="gold">most recently loaded save</span> will carry over to your next playthrough. Keep this in mind if you are aiming for 100% completion! <br><br> <span class="green">Spending coins on feat boosters does not permanently use up your coins, and coins earned from a feat cannot be earned a second time.</span> Any spent coins will remain in your personal bank of coins and will be available the next time you start a new game. <br><br> <span class="red">Changing settings in specific ways may prevent you from earning some feats, and coins, in your current game.</span> Enabling cheats at any point will prevent you from earning feats for the remainder of your current playthrough. You will be warned if you are about to change any setting that does this. <br><br> Some feats display as earned as soon as you meet the requirements, while others won't trigger until the next in-game hour. Happy hunting! <</widget>> <<widget "featSettings">> <div class="solidBorderContainer settings-container"> <div class="settingsToggleIndent"> As you play through Degrees of Lewdity, you will obtain <span class="gold">feats</span> by completing different tasks. The more feats you earn, the more <span class="gold">VrelCoins</span> you will earn. When you start a new game, the coins associated with your most recently loaded save can be used to purchase <span class="gold">feat boosters</span>. These boosters grant you bonuses in your next game. <br><br> Feats are earned linearly over the course of a single playthrough. If you load an earlier save or switch to a different playthrough, <span class="red">you will lose the feat and its VrelCoins, unless you import all of your feats using the link below.</span> This will reset all feat boosters. <span id="explain"> <<link "Read more...">> <<replace #featExplanation>><<featExplanation>><</replace>> <<toggleclass '#explain' 'hidden'>> <</link>> </span> <span id="featExplanation"></span> </div> <div class="settingsToggleIndent"> <<link "Import all feats:">> <<replace #settingsStart>> <<loadAllFeats>> <</replace>> <</link>> <span class="green"> Checks for all feats earned across your local save files, combining your earned Vrelcoins and unlocked feat boosters.</span> </div> <<if $feats.allSaves.points isnot undefined or $feats.allSaves.points isnot 0>> <div class="settingsToggleIndent"> <<link "Reset All Feats:">> <<set $feats to { "locked":false, "soft":false, "allSaves":{}, "currentSave":{}, "filter":"All" }>> <<script>> localStorage.removeItem("dolFeats"); <</script>> <<setupFeats true>> <<displaySettings "featSettings">> <</link>> <span class="red"> This will remove all feats that have been earned so far, meaning you will have to collect them again.</span> </div> <</if>> <hr> <<set _upgradeNames to Object.keys($featsBoosts.upgrades)>> <<set _visibleUpgradeNames to []>> <<set _visibleUpgradeIDs to []>> <<for _i to 0; _i lt _upgradeNames.length; _i++>> <<if $featsBoosts.upgradeDetails[_upgradeNames[_i]].count gte $featsBoosts.upgradeDetails[_upgradeNames[_i]].minCount>> <<set _visibleUpgradeNames.push($featsBoosts.name[_upgradeNames[_i]])>> <<set _visibleUpgradeIDs.push(clone(_i))>> <<else>> <<set _visibleUpgradeNames.push("?????")>> <<set _visibleUpgradeIDs.push(clone(_i))>> <</if>> <</for>> <div id="featsPointsMenu"> <<featsPointsMenu>> </div> <<featsPointsMenuReset>> </div> <</widget>> <<widget "gameMode">> <span class="gold">Game Mode</span> <br> <label><mouse class="tooltip green">Normal mode<span>Survive in a dangerous world.</span></mouse> <<if ($ironmanmode is true and $gamemode is "hard") and $passage != "Start">> <input id="radiobutton-gamemode-8" name="radiobutton-gamemode" type="radio" tabindex="0" class="macro-radiobutton" disabled> <<else>> <<radiobutton "$gamemode" "normal" autocheck>> <</if>> </label> <<ind>> <label><mouse class = "tooltip blue">Soft mode<span>For those who prefer a light-hearted lewd adventure, though the game is still dark in places.<br><i class="red normal">This is an experimental feature, and contains gamebreaking bugs. It will be changed or removed in the future. Leaving the settings with soft mode will prevent you from earning feats until it is set to normal mode. Doing this will permanently prevent some feats from being earned in this save.</i></span></mouse> <<if ($ironmanmode is true and ["hard","normal"].includes($gamemode) is true) and $passage != "Start">> <input id="radiobutton-gamemode-8" name="radiobutton-gamemode" type="radio" tabindex="0" class="macro-radiobutton" disabled> <<else>> <<radiobutton "$gamemode" "soft" autocheck>> <</if>> </label> <<ind>> <<if $intro is 1 or $gamemode is "hard">> <label><mouse class = "tooltip purple">Hard mode<span>Removes lewd stat decay (promiscuity, exhibitionism, deviancy), making trauma and control increasingly difficult to manage. Can only be chosen at the game's start, and being incarcerated in the asylum will put you in normal mode. <br><i class="red normal">This is an experimental feature, and will be changed or removed in the future.</i></span></mouse> <<if $ironmanmode is true and $passage != "Start">> <input id="radiobutton-gamemode-8" name="radiobutton-gamemode" type="radio" tabindex="0" class="macro-radiobutton" disabled> <<else>> <<radiobutton "$gamemode" "hard" autocheck>> <</if>> </label> <</if>> <br> <<if $ironmanmode and $passage isnot "Start">> <span class="red">Cheats cannot be enabled during Ironman mode.</span> <<else>> <<if $passage is "Start">> <label data-target="cheatdisabletoggle" data-disabledif="V.cheatdisabletoggle==='f'"> <input id="checkbox-ironmanmode" onclick="IronMan.UI.checkBox()" name="checkbox-ironmanmode" type="checkbox" tabindex="0" class="macro-checkbox"> <mouse class="tooltip white">Ironman mode<span>To prevent save-scumming and other practices in that spirit<br><br>You can save, you will then be led to Start Menu. You can then load that save, but then it will delete itself.<br><br>There will also be an additional save every 4-8 in-game days just in case you lose the other save.</span></mouse>&nbsp;<i class="ironman-clarify">(Cannot be unset after game start)</i> <<run IronMan.UI.checkBox(`init`)>> </label> <br> <</if>> <label data-target="ironmanmode" data-disabledif="V.ironmanmode===true"> <<checkbox "$cheatdisabletoggle" "t" "f" autocheck>> <mouse class="tooltip red">Cheat mode<span>Leaving the settings with cheats enabled will prevent you from earning feats in a save.</span></mouse>&nbsp;<i class="ironman-clarify">(Button for cheats shows in sidebar)</i> </label> <</if>> <</widget>> <<widget "gameSettings">> <div class="solidBorderContainer settings-container"> <div class="settingsGrid"> <div id="gameMode" class="settingsToggleItem"> <<gameMode>> </div> <div class="settingsToggleItem"> <span class="gold">Encounter Rate</span> <div class="small-description">Default is 1.0. Multiplies the effect of allure on encounter chance.</div> <div class="small-description"><span class="red">Setting this below 1 will permanently prevent you from earning some feats in this save, and prevent you from earning others until it is increased to at least 1.</span></div> <div id="sliderAllureMode"> <<numberslider "$alluremod" $alluremod 0.2 2 0.1 $ironmanmode>> </div> </div> <div class="settingsToggleItem"> <span class="gold">Multiple Wardrobes</span> <mouse class="tooltip linkBlue">(?)<span class="red">This is an experimental feature, and will be changed or removed in the future. While you may change this during gameplay, it's not recommended as disabling will remove access to clothing and enabling it may leave you stuck with your only option wearing a towel.</span></mouse> <br> <label><<radiobutton "$multipleWardrobes" false autocheck>> Single shared wardrobe only</label> | <label><<radiobutton "$multipleWardrobes" "isolated" autocheck>> Isolated areas will have their own wardrobe</label> <br> <<if $debug is 1>> <!--This setting will not be ready on initial release--> <label><<radiobutton "$multipleWardrobes" "all" autocheck>> Enable for all wardrobes</label> <br> <</if>> </div> <div class="settingsToggleItem"> <span class="gold">Skill Check Display</span> <mouse class = "tooltip linkBlue">(?)<span>As you interact with the game, some actions will only succeed if a skill is above a certain threshold. You may opt to see what skill is required before taking an action, as well as your chance of succeeding at that action.</span></mouse> <br> <label>Show exact chance of success <<radiobutton "$checkstyle" "percentage" autocheck>></label> | <label>Show general chance of success <<radiobutton "$checkstyle" "words" autocheck>></label> | <label>Show only skill name <<radiobutton "$checkstyle" "skillname" autocheck>></label> <br> <label> <<checkbox "$statdisable" "f" "t" autocheck>> <mouse class = "tooltip linkBlue">Enable blind stats<span>Playing with blind stats enabled means that you'll receive no indication when your stats change, what skills are required to succeed in certain events, or be alerted to situational dangers. Survive on your intuition. <i class="red normal"><br>Not recommended for beginners. This is an experimental feature and may be changed or removed in the future.</i></span></mouse> </label> <br> </div> <div class="settingsToggleItemWide"> <span class="gold">Randomise:</span><br> <<link "Gameplay">><<presets "randomize" "gameSettings" `randomizeSettings('gameplay')`>><</link>> <mouse class="tooltip linkBlue">(?)<span>Randomises all settings related to general gameplay, including encounter rate, clothing prices, crop yield, and Bailey's rent.</span></mouse> | <<link "Encounters">><<presets "randomize" "gameSettings" `randomizeSettings('encounter')`>><</link>> <mouse class="tooltip linkBlue">(?)<span>Randomises all settings related to generic NPCs.</span></mouse> <br> </div> </div> </div> <hr> <div id="startTabSettings"> <<allSettings>> </div> <div id="subsectionDiv"> <<humanSettings>> </div> <br> <<link "Top of Page">> <<script>> document.body.scrollTop = 0; document.documentElement.scrollTop = 0; <</script>> <</link>> <div style="clear:both;">/*Keep at end of toggles*/</div> <</widget>> <<widget "subsectionSettingsTabButton">> <div @class="_subsection is _args[1] ? 'gold buttonSettingsSelected' : 'buttonSettings'" > <<button _args[0]>> <<if _subsection isnot _args[1]>> <<set _subsection to _args[1]>> <<displaySubsection `_args[1] + "Settings"`>> <<replace #startTabSettings>><<allSettings>><</replace>> <</if>> <</button>> </div> <</widget>> <<widget "allSettings">> <<if _subsection is undefined>><<set _subsection to "human">><</if>> <div id="containerStart" class="containerWrap"> <div id="settingsHuman"> <<subsectionSettingsTabButton "General NPC Settings" "human">> </div> <div id="settingsNPC"> <<subsectionSettingsTabButton "Named NPC Settings" "npc">> </div> <div id="settingsBeast"> <<subsectionSettingsTabButton "Beast Settings" "beast">> </div> <div id="settingsFetish"> <<subsectionSettingsTabButton "Fetish Settings" "fetish">> </div> <div id="settingsPrice"> <<subsectionSettingsTabButton "Cost and Gain Settings" "price">> </div> <div id="settingsPregnancy"> <<subsectionSettingsTabButton "Pregnancy Settings" "pregnancy">> </div> <<if $passage isnot "Start">> <div id="settingsSizeLimits"> <<subsectionSettingsTabButton "Body Part Size Limits" "sizeLimits">> </div> <</if>> </div> <</widget>> <<widget "genericGenders">> <div class="numberslider-inline maleChance"> <<numberslider "$malechance" $malechance 0 100 1>> <<run settingsGenericGenders("NPCs")>> </div> <</widget>> <<widget "beastGenders">> <div class="numberslider-inline beastmalechance"> <<numberslider "$beastmalechance" $beastmalechance 0 100 1>> <<run settingsGenericGenders("beasts")>> </div> <</widget>> <<widget "monsterSettings">> <div class="numberslider-inline"> <span class="gold">Monster People</span> <<numberslider "$monsterchance" $monsterchance 0 100 1>> <<run settingsMonsterChance()>> </div> <label> <<checkbox "$monsterhallucinations" "f" "t" autocheck>> Monster people can only appear during hallucinations </label> <</widget>> <<widget "npcAttractionSettings">> <div id="simpleGenders" @class="(V.maleChanceSplit === 't' ? ' hidden' : '')"> <span class="gold">Generic NPC Genders</span> <<genericGenders>> </div> <div id="splitGenders" @class="(V.maleChanceSplit === 'f' ? ' hidden' : '')"> <<maleChanceSplitControls>> </div> <span id="humanSplitByFull"><<humanSplitByFull>></span> <</widget>> <<widget "beastAttractionSettings">> <div id="simpleBeastGenders" @class="(V.beastMaleChanceSplit === 't' ? ' hidden' : '')"> <span class="gold">Beast Genders</span> <<beastGenders>> </div> <div id="splitBeastGenders" @class="(V.beastMaleChanceSplit === 'f' ? ' hidden' : '')"> <<beastMaleChanceSplitControls>> </div> <span id="beastSplitByFull"><<beastSplitByFull>></span> <</widget>> <<widget "humanSettings">> <div class="solidBorderContainer settings-container"> <div class="settingsGrid"> <div class="settingsHeader"> NPC Genders </div> <div class="settingsToggleItem"> <<npcAttractionSettings>> </div> <div class="settingsToggleItem"> <div class="numberslider-inline malevictimchance"> <span class="gold">Other Victims <mouse class="tooltip linkBlue">(?)<span>Adjust the genders of NPCs you encounter who have been forced into compromising or abusive situations.</span></mouse> </span> <<numberslider "$malevictimchance" $malevictimchance 0 100 1>> <<run settingsGenericGenders("other victims you encounter")>> </div> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> NPC Body Parts </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold">Average size of women's breasts <mouse class="tooltip linkBlue">(?)<span>A bigger number means bigger breasts in the world. At 12 everyone will have enormous breasts. At -12 everyone will have flat chests. Defaults to 0, which will result in a broad range of sizes.</span></mouse> </span> <<numberslider "$breast_mod" $breast_mod -12 12 1>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold">Average size of NPC penises <mouse class="tooltip linkBlue">(?)<span>A bigger number means bigger penises in the world. At 8 everyone will have enormous penises. At -8 everyone will have tiny penises. Defaults to 0, which will result in a broad range of sizes.</span></mouse> </span> <<numberslider "$penis_mod" $penis_mod -8 8 1>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold">Percentage of women that have penises</span> <<numberslider "$dgchance" $dgchance 0 100 1>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold">Percentage of men that have vaginas</span> <<numberslider "$cbchance" $cbchance 0 100 1>> </div> <div class="settingsToggleItemWide numberslider-inline"> <span class="gold">Percentage of women that have strap-on penises <mouse class="tooltip linkBlue">(?)<span>'Visual representation of player's and NPC's skin colour' must be enabled in the Performance tab of the Options menu for strap-ons to be coloured.</span></mouse> </span> <<numberslider "$straponchance" $straponchance 0 100 1>> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> NPC Characteristics </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold">Likelihood of students being virgins <mouse class="tooltip linkBlue">(?)<span>Does not affect named NPCs. Each virginity is generated separately, meaning that many combinations are possible.</span></mouse> </span> <<numberslider "$npcVirginityChance" $npcVirginityChance 0 100 1>> </div> <div class="settingsToggleItem numberslider-inline"> <span class="gold">Likelihood of adults being virgins <mouse class="tooltip linkBlue">(?)<span>Does not affect named NPCs. Each virginity is generated separately, meaning that many combinations are possible.</span></mouse> </span> <<numberslider "$npcVirginityChanceAdult" $npcVirginityChanceAdult 0 100 1>> </div> <div class="settingsToggleItemWide numberslider-inline"> <span class="gold">Likelihood that NPCs have dark skin <mouse class="tooltip linkBlue">(?)<span>'Visual representation of player's and NPC's skin colour' must be enabled in the Performance tab of the Options menu.</span></mouse> </span> <<numberslider "$blackchance" $blackchance 0 100 1>> </div> </div> </div> <</widget>> <<widget "maleChanceSplitControls">> <div class="numberslider-inline maleChanceMale"> <span class="gold">Generic NPCs Attracted to Men <mouse class="tooltip linkBlue">(?)<span>Affects the number of male/male NPC couples seen around town. <i class="blue none">If you appear to be male, the NPCs who are attracted to you will follow this pattern.</i></span></mouse></span> <div class="numberSliderCompare"> <<numberslider "$maleChanceMale" $maleChanceMale 0 100 1>> <<run settingsGenericGenders("mlm")>> </div> </div> <div class="numberslider-inline maleChanceFemale"> <span class="gold">Generic NPCs Attracted to Women <mouse class="tooltip linkBlue">(?)<span>Affects the number of female/female couples seen around town. <i class="pink none">If you appear to be female, the NPCs who are attracted to you will follow this pattern.</i></span></mouse></span> <div class="numberSliderCompare"> <<numberslider "$maleChanceFemale" $maleChanceFemale 0 100 1>> <<run settingsGenericGenders("wlw")>> </div> </div> <</widget>> <<widget "beastSettings">> <div class="solidBorderContainer settings-container"> <div class="settingsGrid"> <div class="settingsHeader"> Beast Preferences </div> <div class="settingsToggleItem"> <<beastAttractionSettings>> </div> <div class="settingsToggleItem"> <<monsterSettings>> </div> </div> <hr> <div class="settingsToggleIndent"> <span class="red">Disabling bestiality will still allow lewd events with monster girls and boys.</span> </div> <div class="settingsGrid"> <div class="settingsHeader"> Beast Toggles </div> <div class="settingsToggleButton" class="link-internal macro-button"> <<run beastTogglesCheck()>> <<button `(_anyBeastOn ? "Disable" : "Enable") + " all beast toggles"`>> <<script>> let val = T.anyBeastOn ? 't' : 'f'; T.beastVars.forEach(x => V[x] = val); <</script>> <<displaySubsection "beastSettings">> <</button>> </div> <div class="settingsToggleItem"> <label> <<checkbox "$bestialitydisable" "t" "f" autocheck>> Enable bestiality </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$swarmdisable" "t" "f" autocheck>> Enable swarms (Eels, etc) </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$parasitedisable" "t" "f" autocheck>> Enable parasites </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$tentacledisable" "t" "f" autocheck>> Enable tentacles </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$slimedisable" "t" "f" autocheck>> Enable slimes </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$voredisable" "t" "f" autocheck>> Enable soft monster vore </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$spiderdisable" "t" "f" autocheck>> Enable spiders </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$slugdisable" "t" "f" autocheck>> Enable slugs </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$waspdisable" "t" "f" autocheck>> Enable wasps </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$beedisable" "t" "f" autocheck>> Enable bees </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$lurkerdisable" "t" "f" autocheck>> Enable lurkers </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$horsedisable" "t" "f" autocheck>> Enable horses and centaurs </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$plantdisable" "t" "f" autocheck>> Enable plantpeople </label> </div> </div> <div style="clear:both;">/*Keep at end of toggles*/</div> </div> <</widget>> <<widget "beastMaleChanceSplitControls">> <div class="numberslider-inline beastMaleChanceMale"> <span class="gold">Beasts Attracted to Men <mouse class="tooltip linkBlue">(?)<span>Affects the number of male/male beast pairings seen. <i class="blue none">If you appear to be male, the NPCs who are attracted to you will follow this pattern.</i></span></mouse></span> <div class="numberSliderCompare"> <<numberslider "$beastMaleChanceMale" $beastMaleChanceMale 0 100 1>> <<run settingsGenericGenders("blm")>> </div> </div> <div class="numberslider-inline beastMaleChanceFemale"> <span class="gold">Beasts Attracted to Women <mouse class="tooltip linkBlue">(?)<span>Affects the number of female/female beast pairings seen. <i class="pink none">If you appear to be female, the NPCs who are attracted to you will follow this pattern.</i></span></mouse></span> <div class="numberSliderCompare"> <span class="control"><<numberslider "$beastMaleChanceFemale" $beastMaleChanceFemale 0 100 1>></span> <<run settingsGenericGenders("blw")>> </div> </div> <</widget>> <<widget "fetishSettings">> <div class="solidBorderContainer settings-container"> <div class="settingsGrid"> <div class="settingsToggleItem"> <label> <<checkbox "$analdisable" "t" "f" autocheck>> Enable anal </label> </div> <div class="settingsToggleItem" role="group" aria-labelledby="settingsAnalingusHead"> <span id="settingsAnalingusHead">Analingus:</span> <label> <<checkbox "$analingusdisablegiving" "t" "f" autocheck>> Giving </label> <label> <<checkbox "$analingusdisablereceiving" "t" "f" autocheck>> Receiving </label> </div> <div class="settingsToggleItem" role="group" aria-labelledby="settingsDoubleHead"> <span id="settingsAnalingusHead">Double penetration:</span> <label> <<checkbox "$vaginaldoubledisable" "t" "f" autocheck>> Vaginal </label> <label data-target="analdisable" data-disabledif="V.analdisable==='t'"> <<checkbox "$analdoubledisable" "t" "f" autocheck>> Anal </label> <mouse class="tooltip linkBlue">(?)<span>Note that double anal requires anal to be enabled. <br>"Double penetration" here means two phalluses in the same orifice of the player.</span></mouse> </div> <div class="settingsToggleItem"> <label> <<checkbox "$pbdisable" "t" "f" autocheck>> Enable pubic hair growth </label> </div> <div class="settingsToggleItem" role="group"> Transformations: <label><<checkbox "$transformdisable" "t" "f" autocheck>> Animal</label> <label><<checkbox "$transformdisabledivine" "t" "f" autocheck>> Divine</label> <mouse class="tooltip linkBlue">(?)<span>You may have both one divine and one animal transformation at the same time.</span></mouse> </div> <div class="settingsToggleItem"> <label> <<checkbox "$breastfeedingdisable" "t" "f" autocheck>> Enable lactation </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$watersportsdisable" "t" "f" autocheck>> Enable watersports <mouse class="tooltip linkBlue">(?)<span>Watersports refer to sexual activities involving urinating.</span></mouse> </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$footdisable" "t" "f" autocheck>> Enable feet <mouse class="tooltip linkBlue">(?)<span>Does not remove the player's feet.</span></mouse> </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$facesitdisable" "t" "f" autocheck>> Enable facesitting <mouse class="tooltip linkBlue">(?)<span>Does not prevent cunnilingus.</span></mouse> </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$hypnosisdisable" "t" "f" autocheck>> Enable hypnosis </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$forcedcrossdressingdisable" "t" "f" autocheck>> Enable forced crossdressing </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$ruinedorgasmdisable" "t" "f" autocheck>> Enable ruined orgasms <mouse class="tooltip linkBlue">(?)<span>Ear slimes only.</span></mouse> </label> </div> <div class="settingsToggleItem" role="group" aria-labelledby="settingsToysHead"> <span id="settingsSexToysHead">Sex toys:</span> <br> <label> <<checkbox "$toydildodisable" "t" "f" autocheck>> Dildos </label> <label> <<checkbox "$toywhipdisable" "t" "f" autocheck>> Whips </label> <label> <<checkbox "$toymultiplepenetration" "t" "f" autocheck>> Multiple Penetration </label> /*<label> <<checkbox "$toyvirginitydisable" "t" "f" autocheck>> Take virginity </label>*/ <mouse class="tooltip linkBlue">(?)<span>"Dildos" are insertables such as dildos, anal beads, and the like. Does not disable strap-ons.<br>"Whips" include riding crops and flogs. Does not remove them from spanking scenes.<br>"Multiple Penetration" allows toys to penetrate during other forms of intercourse, e.g. penis and dildo in the vagina at the same time.</span></mouse> </div> <div class="settingsToggleItem"> Bodywriting: <<numberslider "$bodywritingLvl" $bodywritingLvl 0 3 1>> <<run settingsBodywriting()>> </div> <div class="settingsToggleItem"> Asphyxiation: <<numberslider "$asphyxiaLvl" $asphyxiaLvl 0 4 1>> <<run settingsAsphyxiation()>> </div> <div class="settingsToggleItem"> <<if !$femininityModifier>><<set $femininityModifier to {}>><</if>> Nude Gender Appearance: <<numberslider "$NudeGenderDC" $NudeGenderDC 0 2 1>> <<run settingsNudeGenderAppearance()>> </div> </div> </div> <</widget>> <<widget "priceSettings">> <div class="solidBorderContainer clothes-price-container"> <div class="settingsGrid"> <div class="settingsHeader"> Bailey's Rent </div> <div class="settingsToggleItemWide"> <div class="small-description"> Modifies the amount of money Bailey demands weekly. 100% is default. <br> <span class="red">Setting this below 100% will prevent feats being earned in that save.</span> </div> <div class="ironman-slider" id="sliderRentMode"> <<numberslider "$rentmod" $rentmod 0.1 3 0.1 $ironmanmode>> </div> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Shop Prices </div> <div class="settingsToggleItem"> <div> <span class="gold">Clothing Price</span> <div class="small-description">Modify cost of clothing items. This includes the cost for buying, the automatic re-buy and repairing. Towels are still free.</div> </div> <hr style="border-top:1px solid var(--700)"> <div> <span class="gold">Cost of Clothing (All)</span> <div class="small-description">For hard mode 200% is recommended.</div> <<numberslider "$clothesPrice" $clothesPrice 1 10 0.5>> </div> </div> <div> <div class="settingsToggleItem"> <span class="gold">Cost of Underwear</span> <<numberslider "$clothesPriceUnderwear" $clothesPriceUnderwear 1 2 0.1>> </div> <div class="settingsToggleItem"> <span class="gold">Cost of School Clothes</span> <<numberslider "$clothesPriceSchool" $clothesPriceSchool 1 2 0.1>> </div> <div class="settingsToggleItem"> <span class="gold">Cost of Lewd Clothes</span> <<numberslider "$clothesPriceLewd" $clothesPriceLewd 0.1 2 0.1>> </div> </div> <div class="settingsToggleItemWide"> <span class="gold">Furniture Price</span> <div class="small-description">Modifies the pricing of furniture.</div> <div class="ironman-slider" id="slider-furniture-price-factor"> <<numberslider "$furniturePriceFactor" $furniturePriceFactor 0.6 5 0.2 $ironmanmode>> </div> </div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Crop Yield </div> <div class="settingsToggleItemWide"> <div class="small-description">Modifies the amount of harvested crops. 500% is default. 100% is (legacy) hard mode.</div> <div class="ironman-slider" id="sliderTendingYieldFactor"> <<numberslider "$tending_yield_factor" $tending_yield_factor 1 10 1 $ironmanmode>> </div> </div> </div> </div> <!-- Make it show % instead of fractions and add some colour --> <<run $(() => { $('.clothes-price-container input').on('input change', e => { let valSpan = $(e.currentTarget).siblings().first(); let value = valSpan.text(); valSpan.text((i, value) => Math.round(value * 100) + '%'); if (value > 1) valSpan.css('color', 'gold'); else if (value < 1) valSpan.css('color', 'green'); else valSpan.css('color', 'unset'); }).trigger('change') })>> <!-- Set the initial minimum --> <<run $(() => { let newmin = parseFloat((Math.ceil(10 / $('#numberslider-input-clothesprice').val()) * 0.1).toFixed(1)); let oldval = V.clothesPriceLewd; $('#numberslider-input-clothespricelewd').attr('min', newmin).val(oldval).trigger('change'); })>> <!-- Limit lewd slider so that all coef * lewd coef >= 100% --> <<run $(() => { $('#numberslider-input-clothesprice').on('input change', e => { let newmin = parseFloat((Math.ceil(10 / $(e.currentTarget).val()) * 0.1).toFixed(1)); let oldval = V.clothesPriceLewd; $('#numberslider-input-clothespricelewd').attr('min', newmin).val(oldval).trigger('change'); }) })>> <</widget>> <<widget "incompletePregnancy">> <<checkbox "$incompletePregnancyDisable" "t" "f" autocheck>> Enable incomplete pregnancy content <<if _foundPregnancy>> <mouse class="tooltip linkBlue">(!!!)<span>Can not be disabled while a named NPC is pregnant.</span></mouse> <<else>> <mouse class="tooltip linkBlue">(?)<span> <div>When enabled, the player will be able to impregnate and be impregnated by all fertile named NPCs. This includes NPCs that have no pregnancy interactions.</div> <div class="red">WARNING: This will lead to situations where the named NPC will not react to the player's pregnancy or their own pregnancy, and existing saves may end up skipping future content.</div> </span></mouse> <</if>> <</widget>> <<widget "fertilityCycles">> <<checkbox "$cycledisable" "t" "f" autocheck>> Enable fertility cycles <mouse class="tooltip linkBlue">(?)<span> <div>When enabled, the player's menstruation cycle will determine when they can get pregnant.</div> <div>When disabled, each day's pregnancy chance will be randomised. In addition, sperm inside the player will not last as long when the pregnancy type is set to "realistic".</div> </span></mouse> <</widget>> <<widget "pregnancyType">> <label><<radiobutton "$pregnancytype" "realistic" autocheck>> <mouse class="tooltip green">Realistic<span>Pregnancy will not happen immediately, and you won't know right away when it happens. You may need to use a pregnancy test, and the father may not be known to you initially. Cum on the outside of your vagina may get you pregnant as well, unless washed off within the next several hours.</span></mouse></label> | <label><<radiobutton "$pregnancytype" "fetish" autocheck>> <mouse class="tooltip pink">Fetishised<span>Pregnancy may happen as soon as semen gets inside you. You will know as soon as it happens, and will immediately know the father.</span></mouse></label> | <label><<radiobutton "$pregnancytype" "silly" autocheck>> <mouse class="tooltip gold">Silly<span>Pregnancy may happen as soon as you hold hands or kiss, especially with those you love. <i class="red none">There may be story content related issues with this mode. Some feats will be disabled with this mode.</i></span></mouse></label> <</widget>> <<widget "pregnancySettings">> <div class="solidBorderContainer settings-container"> <div class="settingsGrid"> <div class="settingsHeader"> Pregnancy Chances </div> <div class="settingsToggleItemWide"> <div class="numberslider-inline basePlayerPregnancyChance-container"> <span class="gold">Base Player Pregnancy Chance</span> <<numberslider "$basePlayerPregnancyChance" $basePlayerPregnancyChance 0 96 4>> <div class="small-description">Chance of conceiving when inseminated at the right time. Some events may leave you with more than one helping of cum. Other effects may modify the base chance, to both increase and decrease the chance of pregnancy.</div> </div> </div> <<run $(() => { $('.basePlayerPregnancyChance-container input').on('input change', e => { let valSpan = $(e.currentTarget).siblings().first(); let value = valSpan.text(); valSpan.text((i, value) => "1 in " + (100 - value)); }).trigger('change') })>> <div class="settingsToggleItemWide numberslider-inline basenpcpregnancychance-container"> <span class="gold">Base NPC Pregnancy Chance</span> <<numberslider "$baseNpcPregnancyChance" $baseNpcPregnancyChance 0 16 4>> <div class="small-description">Chance of an NPC conceiving when inseminated at the right time.</div> </div> <<run $(() => { $('.basenpcpregnancychance-container input').on('input change', e => { let valSpan = $(e.currentTarget).siblings().first(); let value = valSpan.text(); valSpan.text((i, value) => "1 in " + (20 - value)); }).trigger('change') })>> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Pregnancy Length </div> <<if playerPregnancyProgress() gte 0.9>> <span class="red">You cannot currently change pregnancy length settings, as you are close to the end of your current pregnancy.</span> <</if>> <div class="settingsToggleItem numberslider-inline humanPregnancyMonths-container" data-target="humanPregnancyMonths" @data-disabledif="playerPregnancyProgress() gte 0.9"> <span class="gold">Human Pregnancy Length</span> <<numberslider "$humanPregnancyMonths" $humanPregnancyMonths 1 9 1>> </div> <div class="settingsToggleItem numberslider-inline wolfPregnancyWeeks-container" data-target="wolfPregnancyWeeks" @data-disabledif="playerPregnancyProgress() gte 0.9"> <span class="gold">Wolf Pregnancy Length</span> <<numberslider "$wolfPregnancyWeeks" $wolfPregnancyWeeks 2 12 1>> </div> <<run $(() => { $('.humanPregnancyMonths-container input, .wolfPregnancyWeeks-container input').on('input change', e => { if(V.feats.pregnancyLocked){ $('#pregnancyFeatsDisabled').text("Some Pregnancy Feats are disabled."); $('#pregnancyFeatsDisabled').css('display', 'block'); } else if(V.humanPregnancyMonths < 3 || V.wolfPregnancyWeeks < 4){ $('#pregnancyFeatsDisabled').text("Some Pregnancy Feats will be disabled."); $('#pregnancyFeatsDisabled').css('display', 'block'); } else{ $('#pregnancyFeatsDisabled').text(""); $('#pregnancyFeatsDisabled').css('display', 'none'); } }).trigger('change') })>> <div id="pregnancyFeatsDisabled" class="red"></div> </div> <hr> <div class="settingsGrid"> <div class="settingsHeader"> Pregnancy Toggles </div> <div class="settingsToggleItem"> <span class="red">Changing these toggles will not stop existing pregnancy or prevent the player from interacting with their children.</span> </div> <div class="settingsToggleItem"> Condoms <<numberslider "$condomLvl" $condomLvl 0 3 1>> <<run settingsCondoms()>> </div> <div class="settingsToggleItem"> <label> <<checkbox "$playerPregnancyHumanDisable" "t" "f" autocheck>> Enable player human pregnancy </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$playerPregnancyBeastDisable" "t" "f" autocheck>> Enable player beast pregnancy </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$npcPregnancyDisable" "t" "f" autocheck>> Enable NPC pregnancy </label> </div> <<set _foundPregnancy to !!Object.values($NPCName).find(npc => npc.pregnancy && npc.pregnancy.enabled && npc.pregnancy.type && !setup.pregnancy.canBePregnant.includes(npc.fullDescription))>> <span data-target="incompletePregnancyDisable" data-disabledif="T.foundPregnancy&&V.incompletePregnancyDisable==='f'"> <div class="settingsToggleItem humanPregnancyMonths-container"> <label> <<incompletePregnancy>> </label> </div> </span> <div class="settingsToggleItem"> <label> <<checkbox "$parasitepregdisable" "t" "f" autocheck>> Enable parasitic pregnancy </label> </div> <div class="settingsToggleItem"> <label> <<fertilityCycles>> </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$playerPregnancyEggLayingDisable" "t" "f" autocheck>> Enable egg laying <mouse class="tooltip linkBlue">(?)<span>Required for Hawk and Harpy pregnancy.</span></mouse> </label> </div> <div class="settingsToggleItem"> <label> Pregnancy type: <<pregnancyType>> </label> </div> <div class="settingsToggleItem"> <label> <<checkbox "$pregnancyspeechdisable" "t" "f" autocheck>> Enable fertility references <mouse class="tooltip linkBlue">(?)<span>Allow references to the PC being impregnated, or impregnating others. Disabling does not prevent all references to pregnancy, especially if other pregnancy settings are enabled.</span></mouse> </label> </div> <<if $debug is 1>> <div style="clear:both;">/*Keep at end of toggles*/</div> DEBUG: <br> <span class="gold">Chance of NPCs having condoms</span> <br> <<numberslider "$condomChance" $condomChance 0 100 1>> <br><br> <span class="gold">Likelihood of NPCs using a condom without being asked...</span> <br> ...during rape <<numberslider "$condomUseChanceRape" $condomUseChanceRape 0 100 1>> <br> ...during consensual sex <<numberslider "$condomUseChanceCon" $condomUseChanceCon 0 100 1>> <br> <</if>> </div> <div style="clear:both;">/*Keep at end of toggles*/</div> </div> <</widget>> <<widget "sizeLimitsSettings">> <div class="settingsGrid"> <div class="settingsHeader"> Body Part Size Limits <span class="tooltip-anchor linkBlue" tooltip="As you partake in lewd acts and experiences, your body parts may grow or shrink. Surgery, pills, and parasites can influence growth, among other conditions.">(?)</span> </div> <div class="settingsToggleItemWide"> <span class="gold">Breast size limits:</span> <span class="tooltip-anchor linkBlue" tooltip="Breasts already below the minimum size won't automatically grow.">(?)</span> <br> <<rangeslider "$breastsizemin" "$breastsizemax" $breastsizemin $breastsizemax 0 12 1 { minClamp: 5, minClampMessage: `<span class="red">Cannot increase minimum size further.</span>` } { value: (v1, v2) => { const color1 = ColourUtils.interpolateMultiple(["--teal", "--pink"], normalise(v1, 12, 0)); const color2 = ColourUtils.interpolateMultiple(["--teal", "--pink"], normalise(v2, 12, 0)); var name = ["Flat", "Budding", "Tiny", "Small", "Pert", "Modest", "Full", "Large", "Ample", "Massive", "Huge", "Gigantic", "Enormous"]; return `<span style="color: ${color1}">${name[v1]}</span> - <span style="color: ${color2}">${name[v2]}</span>`; }, } }>> </div> <div class="settingsToggleItemWide"> <span class="gold">Ass size limits:</span> <span class="tooltip-anchor linkBlue" tooltip="Bottoms already below the minimum size won't automatically grow.">(?)</span> <br> <<rangeslider "$bottomsizemin" "$bottomsizemax" $bottomsizemin $bottomsizemax 0 8 1 { minClamp: 3, minClampMessage: `<span class="red">Cannot increase minimum size further.</span>` } { value: (v1, v2) => { const color1 = ColourUtils.interpolateMultiple(["--teal", "--pink"], normalise(v1, 8, 0)); const color2 = ColourUtils.interpolateMultiple(["--teal", "--pink"], normalise(v2, 8, 0)); var name = ["Slender", "Slim", "Modest", "Cushioned", "Soft", "Round", "Plump", "Large", "Huge"]; return `<span style="color: ${color1}">${name[v1]}</span> - <span style="color: ${color2}">${name[v2]}</span>`; }, } }>> </div> <<if $passage is "Start" or $player.penisExist>> <div class="settingsToggleItemWide"> <span class="gold">Penis size limits:</span> <span class="tooltip-anchor linkBlue" tooltip="Penises already below the minimum size won't automatically grow.">(?)</span> <<rangeslider "$penissizemin" "$penissizemax" $penissizemin $penissizemax -2 4 1 { minClamp: 0, minClampMessage: `<span class="red">Cannot increase minimum size further.</span>` } { value: (v1, v2) => { const color1 = ColourUtils.interpolateMultiple(["--teal", "--pink"], normalise(v1, 4, -2)); const color2 = ColourUtils.interpolateMultiple(["--teal", "--pink"], normalise(v2, 4, -2)); var name = ["Micro","Mini", "Tiny", "Small", "Normal", "Large", "Enormous"]; return `<span style="color: ${color1}">${name[v1+2]}</span> - <span style="color: ${color2}">${name[v2+2]}</span>`; }, } }>> </div> <</if>> </div> <</widget>> <<widget "gallerySettings">> <div class="solidBorderContainer settings-container"> <div class="settings-intro"> Gallery options will not affect your save in any way. <hr> <<if version.major gt 2 or version.minor gt 29>> <span class="bold"> <<link [[Character Viewer|Clothes Testing]]>> <<set $lastPassage to $passage>> <</link>> </span> - This will allow you to have a play with the character sprites. <br> <</if>> <br> <<if $passage isnot "Start">> <span class="bold"> <<link [[Scene Viewer|Scene Viewer]]>> <<set $lastPassage to $passage>> <<seenPassageChecks>> <</link>> </span> - This will allow you to replay scenes that you have unlocked. <br> <<else>> <span class=" red bold">Scene Viewer</span> - Not accessible on the Start page. As you play through the game, you will unlock special scenes. These scenes can replayed in the Gallery's Scene Viewer when accessed through the <span class="gold">Settings</span> page in your bedroom. <br> <</if>> /*<br> <span class="bold"> <<link [[Test Renderer|Renderer Test Page]]>> <<set $lastPassage to $passage>> <</link>> </span> - This will check your browser's capabilities required for new renderer. <br>*/ <br> <span class="bold"> <<link [[Tip Gallery|Tips]]>> <<set $lastPassage to $passage>> <</link>> </span> - View the complete list of hints and tips available for Degrees of Lewdity. As you play through the game, these tips will appear at random in the sidebar, unless disabled via the <span class="gold">Options</span> button. </div> </div> <</widget>> <<widget "faceVariantSettings">> <<set _variants = Object.entries(setup.faceVariantOptions[$facestyle])>> <<for _i, _variant range _variants>> <label><<= _variant[0]>> <<radiobutton "$facevariant" _variant[1] autocheck>></label> <<= _i < _variants.length - 1 ? "|" : "">> <</for>> <</widget>> <<widget "npcSettings">> <div class="solidBorderContainer settings-container"> <div class="settingsToggleIndent"> <span class="gold">Randomly assign to Named NPCs:</span> <mouse class="tooltip linkBlue">(?)<span>Settings are generated based on General NPC Settings.</span></mouse> <br> <<link "Genders">> <<initnpcgender "genders">> <<updatePersistentNPCs "genders">> <<replace #npcSettingsMenu>><<npcSettingsMenu>><</replace>> <</link>> | <<link "Penis sizes">> <<initnpcgender "penis">> <<updatePersistentNPCs "penis">> <<replace #npcSettingsMenu>><<npcSettingsMenu>><</replace>> <</link>> | <<link "Breast sizes">> <<initnpcgender "breasts">> <<updatePersistentNPCs "breasts">> <<replace #npcSettingsMenu>><<npcSettingsMenu>><</replace>> <</link>> | <<link "Skin colours">> <<initnpcskin "skincolour">> <<updatePersistentNPCs "skincolour">> <<replace #npcSettingsMenu>><<npcSettingsMenu>><</replace>> <</link>> <<if $debug is 1>> | <<link "Reset hair and eye colours (Will only effect NPC's with a default colour)">> <<generateNPCNameHairAndEyeColors "default">> <<displaySettings>> <</link>> <</if>> </div> <hr> <<if _npcId is undefined>> <<set _npcId to 0>> <<set _breastDescription to ["Flat","Small","Pert","Modest","Full","Large"]>> <<set _breastDescriptionNPC to ["nipple","small breast","pert breast","modest breast","full breast","large breast"]>> <<set _breastsDescriptionNPC to ["nipples","small breast","pert breast","modest breast","full breast","large breast"]>> <<set _hairColorNPC to ["Red","Black","Brown","Light Brown","Blond","Platinum blond","Strawberry blond","Ginger", "Mousy"]>> <<set _hairColorNPCData to ["red","black","brown","lightbrown","blond","platinumblond","strawberryblond","ginger", "mousy"]>> <<set _hairColorNPCText to ["red","black","brown","lightbrown","gold","platinum","strawberry","tangerine", "mousy"]>> <<set _eyeColorNPC to ["Purple","Dark Blue","Light Blue","Amber","Hazel","Green","Lime Green","Red","Pink","Grey","Light Grey"]>> <<set _eyeColorNPCData to ["purple","dark blue","light blue","amber","hazel","green", "lime green","red","pink","grey", "light grey"]>> <<set _eyeColorNPCText to ["purple","blue","lblue","tangerine","brown","green","lime-green","red","pink","grey", "light-grey"]>> <</if>> <<if _npcList is undefined>> <<set _npcList to {}>> <<for $_i to 0; $_i lt $NPCNameList.length; $_i++>> <<set _npcList[clone($NPCNameList[$_i])] to clone($_i)>> <</for>> <<if $passage is "Start" or !$wraithIntro>> <<run delete _npcList["Ivory Wraith"]>> <</if>> <</if>> /* Updates the npc's in case $incompletePregnancyDisable has been changed by the player */ <<npcPregnancyUpdater>> <div id="npcSettingsMenu"> <<npcSettingsMenu>> </div> <<if $passage isnot "start" and $per_npc and Object.keys($per_npc).length gt 0>> <<run if (!T.perNPCLock) { $(".passage").on('change', '#perNPCSettingsMenu .macro-listbox', function (e) { new Wikifier(null, '<<replace #perNPCSettingsMenu>><<perNPCSettingsMenu>><</replace>>'); }); T.npcKeys = {}; T.npcKeyNames = []; const allowed_npcs = ["steed", "guard", "inmate", "panty_thief", "school_nurse", "tower_creature", "pinch", "black_dog", "hacker", "bishop", "bishop_right_hand", "bishop_left_hand", "manager"]; Object.keys(V.per_npc).forEach(k => { for (const j of allowed_npcs){ if (k.includes(j)){ T.npcKeyNames.push(k); T.npcKeys[k.toUpperFirst().replace(/_/g, ' ')] = k; break } } }); T.perNPCLock = true; } >> <<if T.npcKeyNames and T.npcKeyNames.length>> <hr> <div id="perNPCSettingsMenu"> <<perNPCSettingsMenu>> </div> <</if>> <</if>> <<if _listActive isnot true>> <<NPCSettingsReset>> <<set _listActive to true>> <</if>> </div> <</widget>> <<widget "exportsettings">> <div class="solidBorderContainer settings-container"> <div class="settings-intro"> <span class="yellow">Will also import/export settings found in the "SAVE/OPTIONS" overlay.</span> <hr> <h4 class="gold">Settings File Import/Export</h4> <<if SugarCube.Browser.isMobile.any() is true>> Note that saving and loading from file does not work on Android currently. <<else>> Load from file: <input id="saveImport" type="file" value="Load from file" onchange="importSettings(this.files, 'file')"> <br><br> <<if $ironmanmode is true>> <input type="button" value="Save to file" disabled> <<else>> <input type="button" value="Save to file" onclick="exportSettings(null,'file')"> <</if>> <</if>> <hr> <h4 class="gold">Settings Text Import/Export</h4> <ul> <li>To save your current settings, click on "Get Settings Data", then copy and paste the save data where required.</li> <li>To load your current settings, paste in the settings data then click "Load Settings Data".</li> <li>To transfer to and from Android, it is recommended to use email or a service such as pastebin. Please ensure that the start and the end of the save is exact to prevent issues.</li> <li>Click on "Copy Text Area" to copy the current contents for you. The button name will change to "Copying Error" if your device or browser does not support it.</li> </ul> <textarea id="settingsDataInput" rows="4" cols="40" onClick="if(V.disableAutoSelect == false)this.select();" onfocus="V.tempDisable = true;" onblur="V.tempDisable = false;"></textarea> <br> <input type="button" value="Clear Text Box" onclick="clearTextBox('settingsDataInput')"/> <input type="button" value="Top of Text Box" onclick="topTextArea('settingsDataInput')"/> <input type="button" value="Bottom of Text Box" onclick="bottomTextArea('settingsDataInput')"/> <input type="button" value="Get Settings Data" onclick="exportSettings(null,'text')"/> <input type="button" value="Load Settings Data" onclick="importSettings(null,'text')"/> <input id="CopyTextArea" type="button" value="Copy Text Area" onclick="copySavedata('settingsDataInput')"> <input id="LoadExternalExportFile" type="button" value="Load External Export File" onclick="loadExternalExportFile()"> <br><br> <label> <<checkbox "$disableAutoSelect" false true autocheck>> Disables auto select. </label> </div> </div> <</widget>> <<widget "startDescriptions">> <div class="solidBorderContainer settings-container"> <div class="settings-intro"> <<switch _args[0]>> <<case "default">><span class="gold bold">Basic Start:</span> Fetish toggles and difficulty settings will be left at their <span class="teal">default</span> settings. All NPCs will be <span class="teal">randomly</span> generated. <i class="teal">Recommended for beginners.</i> <<case "adjusted">><span class="gold bold">Moderate Start:</span> You can make <span class="teal">broad changes</span> to difficulty settings, preset kinks, and NPC genders. All NPCs will be <span class="teal">randomly</span> generated according to these settings. <<case "custom">><span class="gold bold">Advanced Start:</span> You can adjust <span class="teal">all settings</span>, including fetish toggles, difficulty settings, and NPC genders, to create a playthrough tailored to your desires. <<case "random">><span class="gold bold">Randomised Start:</span> Starts the game with <span class="teal">all settings</span> randomised, including character appearance, character traits, and difficulty settings. Both your character and all NPCs will be <span class="teal">randomly</span> generated for a completely blind playthrough. <i><span class="teal">To randomise specific settings prior to starting the game, select</span> <span class="gold">Advanced Start</span><span class="teal"> instead.</span></i> <</switch>> <br> <div class="small-description">Most settings can be changed later in your room. <span class="red">You will not be able to change your character's genitalia or feat boosts after starting the game.</span></div> </div> </div> <</widget>> <<widget "npcSettingsMenu">> <div class="settingsToggleIndent"> <span class="gold">Jump to a specific NPC: </span> <<listbox "_npcId" autoselect>> <<optionsfrom _npcList>> <</listbox>> </div> <div class="settingsGrid"> <div class="settingsHeader"> $NPCName[_npcId].nam the <span style="text-transform: capitalize;">$NPCName[_npcId].title</span> <span style="font-size:80%"> <br> <<link "Previous">> <<if _npcId is 0>> <<set _npcId to $NPCNameList.length - 1>> <<else>> <<set _npcId-->> <</if>> <<if _npcList[$NPCName[_npcId].nam] is undefined>> <<set _npcId-->> <</if>> <<replace #npcSettingsMenu>><<npcSettingsMenu>><</replace>> <</link>> <span style="color:white">|</span> <<link "Next">> <<if _npcId is $NPCNameList.length - 1>> <<set _npcId to 0>> <<else>> <<set _npcId++>> <</if>> <<if _npcList[$NPCName[_npcId].nam] is undefined>> <<set _npcId++>> <</if>> <<replace #npcSettingsMenu>><<npcSettingsMenu>><</replace>> <</link>> </span> </div> <<if V.NPCName[T.npcId].pregnancy.type>> <div class="settingsToggleItemWide"> This NPC is currently pregnant. You will not be able to change some settings for the duration of their pregnancy. </div> <</if>> <div class="settingsToggleItem"> <span class="gold">Gender:</span> <br> <span data-target="npcname-npcidpronoun" data-disabledif="V.NPCName[T.npcId].pronoun==='i'"> <label><<radiobutton "$NPCName[_npcId].pronoun" "f" autocheck>> Female</label> | <label><<radiobutton "$NPCName[_npcId].pronoun" "m" autocheck>> Male</label> </span> </div> <div class="settingsToggleItem"> <span class="gold">Genitals:</span> <br> <span data-target="npcname-pregnancy" data-disabledif="V.NPCName[T.npcId].pregnancy.type"> <label><<radiobutton "$NPCName[_npcId].gender" "f" autocheck>> Vagina</label> | <label><<radiobutton "$NPCName[_npcId].gender" "m" autocheck>> Penis</label> <<if $debug is 1>>| <label><<radiobutton "$NPCName[_npcId].gender" "h" autocheck>> Both</label><</if>> </span> </div> <div class="settingsToggleItem"> <span class="gold">Penis size - if applicable:</span> <br> <<set _penisNames to ["", "Tiny", "Average", "Thick", "Huge"]>> /* the empty first element is necessary because _j starts at 1 */ <span data-target="npcname-npcidgender" data-disabledif="V.NPCName[T.npcId].gender==='f'"> <<for _j to 1; _j lt _penisNames.length; _j++>> <label> <<radiobutton "$NPCName[_npcId].penissize" _j autocheck>> <<print _penisNames[_j]>> </label> <<if _j isnot _penisNames.length -1>>|<</if>> <</for>> </span> </div> <div class="settingsToggleItem"> <span data-target="npcname-pregnancy" data-disabledif="setup.pregnancy.infertile.includes(V.NPCName[T.npcId].nam)||V.NPCName[T.npcId].pregnancy.enabled===undefined||V.NPCName[T.npcId].pregnancy.type||!setup.pregnancy.typesEnabled.includes(V.NPCName[T.npcId].type)"> <span class="gold">Enable pregnancy for NPC - if applicable:</span> <mouse class="tooltip linkBlue">(?)<span>Requires 'NPC Pregnancy' toggle to be enabled. May also require the "incomplete pregnancy content" toggle to be enabled. Will not stop an existing pregnancy.</span></mouse> <br> <label><<radiobutton "$NPCName[_npcId].pregnancy.enabled" true autocheck>> True</label> | <label><<radiobutton "$NPCName[_npcId].pregnancy.enabled" false autocheck>> False</label> </span> </div> <div class="settingsToggleItem"> <span class="gold">Breast size:</span> <br> <<numberslider "$NPCName[_npcId].breastsize" $NPCName[_npcId].breastsize 0 12 1>> <<run settingsNamedNpcBreastSize(Util.slugify('$NPCName[_npcId].breastsize'), false)>> </div> <div class="settingsToggleItem"> <span class="gold">Skin colour:</span> <br> <<if $NPCName[_npcId].nam is "Black Wolf">>/*disable skin colour toggle when player has BW set to 'always a beast'*/ <span data-target="blackwolfmonster" data-disabledif="V.blackwolfmonster===0"> <label><<radiobutton "$NPCName[_npcId].skincolour" "white" autocheck>> Pale</label> | <label><<radiobutton "$NPCName[_npcId].skincolour" "black" autocheck>> Dark</label> </span> <<elseif $NPCName[_npcId].nam is "Great Hawk">>/*disable skin colour toggle when player has BW set to 'always a beast'*/ <span data-target="greathawkmonster" data-disabledif="V.greathawkmonster===0"> <label><<radiobutton "$NPCName[_npcId].skincolour" "white" autocheck>> Pale</label> | <label><<radiobutton "$NPCName[_npcId].skincolour" "black" autocheck>> Dark</label> </span> <<else>> <span data-target="npcname-npcidskincolour" data-disabledif="V.NPCName[T.npcId].skincolour==='ghost'"> <label><<radiobutton "$NPCName[_npcId].skincolour" "white" autocheck>> Pale</label> | <label><<radiobutton "$NPCName[_npcId].skincolour" "black" autocheck>> Dark</label> </span> <</if>> </div> <<if $NPCName[_npcId].nam is "Black Wolf">> <div class="settingsToggleItemWide"> <span class="gold">Beast Type:</span> <br> <label><<radiobutton "$blackwolfmonster" 0 autocheck>> Always a beast</label> | <label><<radiobutton "$blackwolfmonster" 1 autocheck>> Monster girl or boy when requirements met</label> | <label><<radiobutton "$blackwolfmonster" 2 autocheck>> Always a monster girl or boy</label> </div> <<elseif $NPCName[_npcId].nam is "Great Hawk">> <div class="settingsToggleItemWide"> <span class="gold">Beast Type:</span> <br> <label><<radiobutton "$greathawkmonster" 0 autocheck>> Always a beast</label> | <label><<radiobutton "$greathawkmonster" 1 autocheck>> Monster girl or boy when requirements met</label> | <label><<radiobutton "$greathawkmonster" 2 autocheck>> Always a monster girl or boy</label> </div> <</if>> </div> <div style="clear:both;"></div> <<if $debug is 1>> DEBUG: <br> <div class="settingsToggleItemWide"> <span class="gold">Hair Colour:</span> <br> <<for _j to 0; _j lt _hairColorNPC.length; _j++>> <label> <<print '<<radiobutton "$NPCName['+_npcId+'].hairColour" "'+_hairColorNPCData[_j]+'" ' + ($NPCName[_npcId].hairColour is _hairColorNPCData[_j] ? "checked" : "") + '>>'>> <span @class="_hairColorNPCText[_j]">_hairColorNPC[_j]</span> </label> | <</for>> </div> <div class="settingsToggleItemWide"> <span class="gold">Eye Colour:</span> <br> <<for _j to 0; _j lt _eyeColorNPC.length; _j++>> <label> <<print '<<radiobutton "$NPCName['+_npcId+'].eyeColour" "'+_eyeColorNPCData[_j]+'" ' + ($NPCName[_npcId].eyeColour is _eyeColorNPCData[_j] ? "checked" : "") + '>>'>> <span @class="_eyeColorNPCText[_j]">_eyeColorNPC[_j]</span> </label> | <</for>> </div> <div style="clear:both;"></div> <</if>> <<run settingsDisableElement()>> <</widget>> <<widget "perNPCSettingsMenu">> <span class="gold">Persistent NPCs:</span> <br> <<listbox "_pNPCId" autoselect>> <<optionsfrom _npcKeys>> <</listbox>> <<switch _pNPCId>> <<case "scarred_inmate">> <<if $per_npc[_pNPCId].description isnot "scarred">> <<generate_scarred_inmate 0>> <<clearsinglenpc 0>> <</if>> <<case "veteran_guard">> <<if $per_npc[_pNPCId].description isnot "veteran">> <<generate_veteran_guard 0>> <<clearsinglenpc 0>> <</if>> <</switch>> <<set _npcIndex to _npcKeyNames.indexOf(_pNPCId)>> | <<link "Previous">> <<set _npcIndex to (_npcIndex is 0 ? _npcKeyNames.length - 1 : --_npcIndex)>> <<set _pNPCId to _npcKeyNames[_npcIndex]>> <<replace #perNPCSettingsMenu>><<perNPCSettingsMenu>><</replace>> <</link>> | <<link "Next">> <<set _npcIndex++>> <<set _pNPCId to _npcKeyNames[_npcIndex]>> <<replace #perNPCSettingsMenu>><<perNPCSettingsMenu>><</replace>> <</link>> <br><br> <<if $per_npc[_pNPCId] eq null>> <<error { message : `The given ID for pNPCs failed to match any available pNPC: ${_pNPCId}.`, source : _pNPCId }>> <<else>> <<if $per_npc[_pNPCId].name_known>> <span class="gold">$per_npc[_pNPCId].name the <<print _pNPCId.replace(/_/g, ' ')>></span> <<elseif _pNPCId is "tower_creature">> <span class="gold">The Night Monster</span> <<elseif _pNPCId is "hacker">> <span class="gold">'Mickey' the hacker</span> <<elseif _pNPCId is "bishop">> <span class="gold">The Bishop</span> <<elseif _pNPCId is "bishop_right_hand">> <span class="gold">The Bishop's right hand</span> <<elseif _pNPCId is "bishop_left_hand">> <span class="gold">The Bishop's left hand</span> <<else>> <span class="gold"><<print _pNPCId.toUpperFirst().replace(/_/g, ' ')>></span> <</if>> <<if $per_npc[_pNPCId].name_known and $debug is 1>> | <<link "Rename">> <<if $per_npc[_pNPCId].pronoun is "f">> <<set $per_npc[_pNPCId].name to $NPC_names_f.random()>> <<else>> <<set $per_npc[_pNPCId].name to $NPC_names_m.random()>> <</if>> <<replace #perNPCSettingsMenu>><<perNPCSettingsMenu>><</replace>> <</link>> <</if>> <br> <div class="settingsToggle"> <span data-target="pernpc-npcidpronoun" data-disabledif="V.per_npc[T.pNPCId].pronoun==='i'||V.per_npc[T.pNPCId].pronoun==='t'"> <label><<radiobutton "$per_npc[_pNPCId].pronoun" "f" autocheck>> Female</label> | <label><<radiobutton "$per_npc[_pNPCId].pronoun" "m" autocheck>> Male</label> </span> </div> <div class="settingsToggle"> <label><<radiobutton "$per_npc[_pNPCId].gender" "f" autocheck>> Vagina</label> | <label><<radiobutton "$per_npc[_pNPCId].gender" "m" autocheck>> Penis</label> </div> <div class="settingsToggle"> Penis size - if applicable: <br> <<set _penisNames to ["", "Tiny", "Average", "Thick", "Huge"]>> /* the empty first element is necessary because _j starts at 1 */ <span data-target="pernpc-npcidgender" data-disabledif="V.per_npc[T.pNPCId].gender==='f'"> <<for _j to 1; _j lt _penisNames.length; _j++>> <label> <<radiobutton "$per_npc[_pNPCId].penissize" _j autocheck>> <<print _penisNames[_j]>> </label> <<if _j isnot _penisNames.length -1>>|<</if>> <</for>> </span> </div> <div class="settingsToggle" style="display: inline-flex;"> Breast size: <<numberslider "$per_npc[_pNPCId].breastsize" $per_npc[_pNPCId].breastsize 0 12 1>> <<run settingsNamedNpcBreastSize(Util.slugify('$per_npc[_pNPCId].breastsize'), true)>> </div> <div class="settingsToggle"> Skin colour: <br> <label><<radiobutton "$per_npc[_pNPCId].skincolour" "white" autocheck>> Pale</label> | <label><<radiobutton "$per_npc[_pNPCId].skincolour" "black" autocheck>> Dark</label> </div> <</if>> <div style="clear:both;"></div> <<run settingsDisableElement()>> <</widget>> <<widget "saveNameSection">> <span class="gold bold">Save Name:</span> <i>(optional)</i> <br> <<textbox "$saveName" $saveName>> /* <div class="description">Shows in the save menu in place of the save id.</div> <div class="description"><span class="red">Only 10 characters at most will show in the save menu, leave empty to show the save ID.</span></div> */ <br> <</widget>> <<widget "loadAllFeats">> <div id="featsBeginLoadingText"> Running some basic checks... <br> </div> <div id="featsBeginButton" class="hidden"> <span id="featsBeginText"></span> Once you click "begin", please avoid refreshing the game, you will have to run the process again. <br><br> Exported saves are excluded from this process, unless you first import and make a local save of them. <br> <<link "Begin">> <<replace "#startCaption">><</replace>> <<replace "#settingsStart">><<loadingAllFeats>><</replace>> <</link>> </div> <<run $(() => {wikifier("featsMergePre")})>> <br><br> <<link "Cancel">> <<replace "#settingsStart">><<settingsStart>><</replace>> <</link>> <</widget>> <<widget "loadingAllFeats">> <div id="featsLoadingMeter" class="meter"> <div class="greenbar" style="width:0%"></div> <span id="featsLoadingText">0 out of _saveDataImportCount saves checked.</span> </div> <br><br> <div id="featsFinishButton" class="hidden"> <<link "Next">> <<setupFeats true>> <<replace "#startCaption">><<startCaption>><</replace>> <<replace "#settingsStart">><<settingsStart>><</replace>> <</link>> </div> <<run $(() => {wikifier("featsMerge")})>> <</widget>><<settings>><<attitudes>> <<set $attitudesControl.showGoldLink to "false">> <div class="settingsGrid"> <<button [[Confirm|$attitudesExitPassage]]>> <<unset $attitudesExitPassage>> <<run DefaultActions.save(T.defaultActions)>> <<if $LIChanged>> <<unset $LIChanged>> <<set $stress += 2000>><<set $trauma += 600>> <</if>> <</button>> </div> <br><<widget "chestdifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("chestskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("chestskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("chestskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("chestskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("chestskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("chestskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "seductiondifficulty">><<silently>> <<if $statdisable is "t">> <<set _text_output to "">> <<elseif $combat is 1>> <<if $checkstyle is "skillname">> <<set _text_output to "">> <<elseif _args[0] is true>> <<if (990 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '(Very Easy)'>> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '(Easy)'>> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '(Medium)'>> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '(Challenging)'>> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '(Hard)'>> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '(Very Hard)'>> <<else>> <<set _text_output to '(Impossible)'>> <</if>> <<else>> <<if (990 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '<span class="green">(Very Easy)</span>'>> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '<span class="teal">(Easy)</span>'>> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '<span class="lblue">(Medium)</span>'>> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '<span class="blue">(Challenging)</span>'>> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '<span class="purple">(Hard)</span>'>> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("seductionskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <<set _text_output to '<span class="pink">(Very Hard)</span>'>> <<else>> <<set _text_output to '<span class="red">(Impossible)</span>'>> <</if>> <</if>> <<else>> <<if $checkstyle is "skillname">> <<set _text_output to ` | <span class="lewd">Seduction</span>`>> <<else>> <<set _text_output to ` | <span class="lewd">Seduction</span>: `>> <<if 990 - currentSkillValue("seductionskill") - ($attractiveness / 10) lte -100>> <<set _text_output += '<span class="green">(Very Easy)</span>'>> <<elseif 800 - currentSkillValue("seductionskill") - ($attractiveness / 10) lte -100>> <<set _text_output += '<span class="teal">(Easy)</span>'>> <<elseif 600 - currentSkillValue("seductionskill") - ($attractiveness / 10) lte -100>> <<set _text_output += '<span class="lblue">(Medium)</span>'>> <<elseif 400 - currentSkillValue("seductionskill") - ($attractiveness / 10) lte -100>> <<set _text_output += '<span class="blue">(Challenging)</span>'>> <<elseif 200 - currentSkillValue("seductionskill") - ($attractiveness / 10) lte -100>> <<set _text_output += '<span class="purple">(Hard)</span>'>> <<elseif 1 - currentSkillValue("seductionskill") - ($attractiveness / 10) lte -100>> <<set _text_output += '<span class="pink">(Very Hard)</span>'>> <<else>> <<set _text_output += '<span class="red">(Impossible)</span>'>> <</if>> <</if>> <</if>> <</silently>><<if _text_output and _args[0] isnot true>><<print _text_output>><</if>> <</widget>> <<widget "oraldifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("oralskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("oralskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("oralskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("oralskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("oralskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("oralskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "vaginaldifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("vaginalskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("vaginalskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("vaginalskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("vaginalskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("vaginalskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("vaginalskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "analdifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("analskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("analskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("analskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("analskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("analskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("analskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "handdifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("handskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("handskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("handskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("handskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("handskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("handskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "feetdifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("feetskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("feetskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("feetskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("feetskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("feetskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("feetskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "bottomdifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("bottomskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("bottomskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("bottomskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("bottomskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("bottomskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("bottomskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "thighdifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("thighskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("thighskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("thighskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("thighskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("thighskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("thighskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "peniledifficulty">> <<if $checkstyle is "skillname" or $statdisable is "t">> <<elseif (990 - ($enemytrust * 10) - currentSkillValue("penileskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="green">(Very Easy)</span> <<elseif (800 - ($enemytrust * 10) - currentSkillValue("penileskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="teal">(Easy)</span> <<elseif (600 - ($enemytrust * 10) - currentSkillValue("penileskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="lblue">(Medium)</span> <<elseif (400 - ($enemytrust * 10) - currentSkillValue("penileskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="blue">(Challenging)</span> <<elseif (200 - ($enemytrust * 10) - currentSkillValue("penileskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="purple">(Hard)</span> <<elseif (1 - ($enemytrust * 10) - currentSkillValue("penileskill") + $enemyanger) lte (($enemyarousalmax / ($enemyarousal + 1)) * 100)>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</widget>> <<widget "skulduggerycheck">> <<set $skulduggeryroll to random(1, 1000)>> <<set _skulduggery to currentSkillValue('skulduggery')>> <<set $skulduggerysuccess to 0>> <<if _skulduggery gte $skulduggerydifficulty>> <<set $skulduggerysuccess to 1>> <<elseif (_skulduggery + 100) gte $skulduggerydifficulty and $skulduggeryroll gte 100>> <<set $skulduggerysuccess to 1>> <<elseif (_skulduggery + 200) gte $skulduggerydifficulty and $skulduggeryroll gte 300>> <<set $skulduggerysuccess to 1>> <<elseif (_skulduggery + 300) gte $skulduggerydifficulty and $skulduggeryroll gte 500>> <<set $skulduggerysuccess to 1>> <<elseif (_skulduggery + 400) gte $skulduggerydifficulty and $skulduggeryroll gte 700>> <<set $skulduggerysuccess to 1>> <<elseif (_skulduggery + 500) gte $skulduggerydifficulty and $skulduggeryroll gte 900>> <<set $skulduggerysuccess to 1>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set $skulduggerysuccess to 0>> <</if>> <<if _args[0] isnot "silent">> <<if $skulduggerysuccess is 1>> <span class="green">You succeed in your skulduggery.</span> <<else>> <span class="red">You fail in your skulduggery.</span> <</if>> <</if>> <</widget>> <<widget "skulduggerydifficulty">> <<if $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">Skulduggery</span> <<else>> <<set _skulduggery to currentSkillValue('skulduggery')>> | <span class="orange">Skulduggery</span>: <<if _skulduggery gte $skulduggerydifficulty>> <span class="green">Very Easy</span> <<elseif (_skulduggery + 100) gte $skulduggerydifficulty>> <span class="teal">Easy</span> <<elseif (_skulduggery + 200) gte $skulduggerydifficulty>> <span class="lblue">Medium</span> <<elseif (_skulduggery + 300) gte $skulduggerydifficulty>> <span class="blue">Challenging</span> <<elseif (_skulduggery + 400) gte $skulduggerydifficulty>> <span class="purple">Hard</span> <<elseif (_skulduggery + 500) gte $skulduggerydifficulty>> <span class="pink">Very Hard</span> <<else>> <span class="red">Impossible</span> <</if>> <</if>> <</if>> <</widget>> <<widget "skulduggeryrequired">> /* this widget is only called after a failed attempt at picking a lock. if a player has their skulduggery at 198 (F+) and the lock level is 199 (also F+), it would be weird to show a requirement of skulduggery level that pc clearly already achieved according to stats. to combat that, the levels here are purposefully shown higher than they actually are */ <<if $statdisable is "f">> Skulduggery required: <<if $lock lt 0>> <span class="red">None</span> <<elseif $lock is 0>> <span class="pink">F</span> <<elseif $lock lte 100>> <span class="pink">F+</span> <<elseif $lock lte 200>> <span class="purple">D</span> <<elseif $lock lte 300>> <span class="purple">D+</span> <<elseif $lock lte 400>> <span class="blue">C</span> <<elseif $lock lte 500>> <span class="blue">C+</span> <<elseif $lock lte 600>> <span class="lblue">B</span> <<elseif $lock lte 700>> <span class="lblue">B+</span> <<elseif $lock lte 800>> <span class="teal">A</span> <<elseif $lock lte 900>> <span class="teal">A+</span> <<else>> <span class="green">S</span> <</if>> <</if>> <</widget>> <<widget "seductioncheck">> <<if $statdisable is "f">> Attractiveness rating: <<if $attractiveness gte 5000>> <span class="green">S</span> <<elseif $attractiveness gte 4000>> <span class="teal">A</span> <<elseif $attractiveness gte 3000>> <span class="lblue">B</span> <<elseif $attractiveness gte 2000>> <span class="blue">C</span> <<elseif $attractiveness gte 1000>> <span class="purple">D</span> <<else>> <span class="pink">F</span> <</if>> <br> Seduction Skill: <<if currentSkillValue("seductionskill") lte 0>> <span class="red">None</span> <<elseif currentSkillValue("seductionskill") gte 1 and currentSkillValue("seductionskill") lt 200>> <span class="pink">F</span> <<elseif currentSkillValue("seductionskill") gte 200 and currentSkillValue("seductionskill") lt 400>> <span class="purple">D</span> <<elseif currentSkillValue("seductionskill") gte 400 and currentSkillValue("seductionskill") lt 600>> <span class="blue">C</span> <<elseif currentSkillValue("seductionskill") gte 600 and currentSkillValue("seductionskill") lt 800>> <span class="lblue">B</span> <<elseif currentSkillValue("seductionskill") gte 800 and currentSkillValue("seductionskill") lt 1000>> <span class="teal">A</span> <<elseif currentSkillValue("seductionskill") gte 1000>> <span class="green">S</span> <</if>> <br> Overall rating: <<if $attractiveness + (currentSkillValue("seductionskill") * 5) gte 10000>> <span class="green">S</span> <<set $seductionrating to 6>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 8000>> <span class="teal">A</span> <<set $seductionrating to 5>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 6000>> <span class="lblue">B</span> <<set $seductionrating to 4>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 4000>> <span class="blue">C</span> <<set $seductionrating to 3>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 2000>> <span class="purple">D</span> <<set $seductionrating to 2>> <<else>> <span class="pink">F</span> <<set $seductionrating to 1>> <</if>> <br> Required rating: <<if $seductiondifficulty gte 10000>> <span class="green">S</span> <<set $seductionrequired to 6>> <<elseif $seductiondifficulty gte 8000>> <span class="teal">A</span> <<set $seductionrequired to 5>> <<elseif $seductiondifficulty gte 6000>> <span class="lblue">B</span> <<set $seductionrequired to 4>> <<elseif $seductiondifficulty gte 4000>> <span class="blue">C</span> <<set $seductionrequired to 3>> <<elseif $seductiondifficulty gte 2000>> <span class="purple">D</span> <<set $seductionrequired to 2>> <<else>> <span class="pink">F</span> <<set $seductionrequired to 1>> <</if>> <<else>> <!-- Hidden stat checks --> <<if $attractiveness + (currentSkillValue("seductionskill") * 5) gte 10000>> <<set $seductionrating to 6>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 8000>> <<set $seductionrating to 5>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 6000>> <<set $seductionrating to 4>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 4000>> <<set $seductionrating to 3>> <<elseif $attractiveness + (currentSkillValue("seductionskill") * 5) gte 2000>> <<set $seductionrating to 2>> <<else>> <<set $seductionrating to 1>> <</if>> <br> <<if $seductiondifficulty gte 10000>> <<set $seductionrequired to 6>> <<elseif $seductiondifficulty gte 8000>> <<set $seductionrequired to 5>> <<elseif $seductiondifficulty gte 6000>> <<set $seductionrequired to 4>> <<elseif $seductiondifficulty gte 4000>> <<set $seductionrequired to 3>> <<elseif $seductiondifficulty gte 2000>> <<set $seductionrequired to 2>> <<else>> <<set $seductionrequired to 1>> <</if>> <</if>> <</widget>> <<widget "physiquedifficulty">> <<set _physiquedifficultymin to (_args[0] ? _args[0] : 1)>> <<set _physiquedifficultymax to (_args[1] ? _args[1] : $physiquemax)>> <<if _physiquedifficultymin gte _physiquedifficultymax>> <<set _physiquedifficultymax to _physiquedifficultymin + 1>> <</if>> <<set _physique to currentSkillValue('physique')>> <<if _args[2] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">Physique</span> <<else>> | <span class="orange">Physique</span>: <<set _difficulty to Math.round(Math.clamp(_physique - _physiquedifficultymin, 0, _physiquedifficultymax) / (_physiquedifficultymax - _physiquedifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _physique to 0>> <</if>> <<if _physique gte random(_physiquedifficultymin, _physiquedifficultymax)>> <<set $physiqueSuccess to 1>> <<else>> <<set $physiqueSuccess to 0>> <</if>> <</widget>> <<widget "dancedifficulty">> <<set _dancedifficultymin to (_args[0] ? _args[0] : 1)>> <<set _dancedifficultymax to (_args[1] ? _args[1] : 1000)>> <<if _dancedifficultymin gte _dancedifficultymax>> <<set _dancedifficultymax to _dancedifficultymin + 1>> <</if>> <<set _danceskill to currentSkillValue('danceskill')>> <<if _args[2] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">Dance</span> <<else>> | <span class="orange">Dance</span>: <<set _difficulty to Math.round(Math.clamp(_danceskill - _dancedifficultymin, 0, _dancedifficultymax) / (_dancedifficultymax - _dancedifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _danceskill to 0>> <</if>> <<if _danceskill gte random(_dancedifficultymin, _dancedifficultymax)>> <<set $danceSuccess to 1>> <<else>> <<set $danceSuccess to 0>> <</if>> <</widget>> <<widget "swimmingdifficulty">> <<set _swimmingdifficultymin to (_args[0] ? _args[0] : 1)>> <<set _swimmingdifficultymax to (_args[1] ? _args[1] : 1000)>> <<if _swimmingdifficultymin gte _swimmingdifficultymax>> <<set _swimmingdifficultymax to _swimmingdifficultymin + 1>> <</if>> <<set _swimmingskill to currentSkillValue('swimmingskill')>> <<if _args[2] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">Swimming</span> <<else>> | <span class="orange">Swimming</span>: <<set _difficulty to Math.round(Math.clamp(_swimmingskill - _swimmingdifficultymin, 0, _swimmingdifficultymax) / (_swimmingdifficultymax - _swimmingdifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _swimmingskill to 0>> <</if>> <<if _swimmingskill gte random(_swimmingdifficultymin, _swimmingdifficultymax)>> <<set $swimmingSuccess to 1>> <<else>> <<set $swimmingSuccess to 0>> <</if>> <</widget>> <<widget "athleticsdifficulty">> <<set _athleticsdifficultymin to (_args[0] ? _args[0] : 1)>> <<set _athleticsdifficultymax to (_args[1] ? _args[1] : 1000)>> <<if _athleticsdifficultymin gte _athleticsdifficultymax>> <<set _athleticsdifficultymax to _athleticsdifficultymin + 1>> <</if>> <<set _athletics to currentSkillValue('athletics')>> <<if _args[2] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">Athletics</span> <<else>> | <span class="orange">Athletics</span>: <<set _difficulty to Math.round(Math.clamp(_athletics - _athleticsdifficultymin, 0, _athleticsdifficultymax) / (_athleticsdifficultymax - _athleticsdifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _athletics to 0>> <</if>> <<if _athletics gte random(_athleticsdifficultymin, _athleticsdifficultymax)>> <<set $athleticsSuccess to 1>> <<else>> <<set $athleticsSuccess to 0>> <</if>> <</widget>> <<widget "willpowerdifficulty">> <<set _willpowerdifficultymin to (_args[0] ? _args[0] : 1)>> <<set _willpowerdifficultymax to (_args[1] ? _args[1] : $willpowermax)>> <<if _willpowerdifficultymin gte _willpowerdifficultymax>> <<set _willpowerdifficultymax to _willpowerdifficultymin + 1>> <</if>> <<set _willpower to currentSkillValue('willpower')>> <<if $statdisable is "f">> <<if _args[2] is undefined>> <<if $checkstyle is "skillname">> | <span class="orange">Willpower</span> <<else>> | <span class="orange">Willpower</span>: <<set _difficulty to Math.round(Math.clamp(_willpower - _willpowerdifficultymin, 0, _willpowerdifficultymax) / (_willpowerdifficultymax - _willpowerdifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <<elseif _args[2] is "combat">> <<if $checkstyle is "skillname">> <<elseif _difficulty gte 100>> <span class="green">(Very Easy)</span> <<elseif _difficulty gte 80>> <span class="teal">(Easy)</span> <<elseif _difficulty gte 60>> <span class="lblue">(Medium)</span> <<elseif _difficulty gte 40>> <span class="blue">(Challenging)</span> <<elseif _difficulty gte 20>> <span class="purple">(Hard)</span> <<elseif _difficulty gte 1>> <span class="pink">(Very Hard)</span> <<else>> <span class="red">(Impossible)</span> <</if>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _willpower to 0>> <</if>> <<if _willpower gte random(_willpowerdifficultymin, _willpowerdifficultymax)>> <<set $willpowerSuccess to 1>> <<else>> <<set $willpowerSuccess to 0>> <</if>> <</widget>> <<widget "tendingdifficulty">> <<set _tendingdifficultymin to (_args[0] ? _args[0] : 1)>> <<set _tendingdifficultymax to (_args[1] ? _args[1] : 1000)>> <<if _tendingdifficultymin gte _tendingdifficultymax>> <<set _tendingdifficultymax to _tendingdifficultymin + 1>> <</if>> <<set _tending to currentSkillValue('tending')>> <<if _args[2] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">Tending</span> <<else>> | <span class="orange">Tending</span>: <<set _difficulty to Math.round(Math.clamp(_tending - _tendingdifficultymin, 0, _tendingdifficultymax) / (_tendingdifficultymax - _tendingdifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _tending to 0>> <</if>> <<if _tending gte random(_tendingdifficultymin, _tendingdifficultymax)>> <<set $tendingSuccess to 1>> <<else>> <<set $tendingSuccess to 0>> <</if>> <</widget>> <<widget "housekeepingdifficulty">> <<set _housekeepingdifficultymin to (_args[0] ? _args[0] : 1)>> <<set _housekeepingdifficultymax to (_args[1] ? _args[1] : 1000)>> <<if _housekeepingdifficultymin gte _housekeepingdifficultymax>> <<set _housekeepingdifficultymax to _housekeepingdifficultymin + 1>> <</if>> <<set _housekeeping to currentSkillValue('housekeeping')>> <<if _args[2] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">Housekeeping</span> <<else>> | <span class="orange">Housekeeping</span>: <<set _difficulty to Math.round(Math.clamp(_housekeeping - _housekeepingdifficultymin, 0, _housekeepingdifficultymax) / (_housekeepingdifficultymax - _housekeepingdifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _housekeeping to 0>> <</if>> <<if _housekeeping gte random(_housekeepingdifficultymin, _housekeepingdifficultymax)>> <<set $housekeepingSuccess to 1>> <<else>> <<set $housekeepingSuccess to 0>> <</if>> <</widget>> <<widget "difficulty">> <<if _args[0] and $statdisable is "f">> | Success Chance: <<if _args[0] gte 100>> <span class="green"><<print _args[0]>>%</span> <<elseif _args[0] gte 80>> <span class="teal"><<print _args[0]>>%</span> <<elseif _args[0] gte 60>> <span class="lblue"><<print _args[0]>>%</span> <<elseif _args[0] gte 40>> <span class="blue"><<print _args[0]>>%</span> <<elseif _args[0] gte 20>> <span class="purple"><<print _args[0]>>%</span> <<elseif _args[0] gte 1>> <span class="pink"><<print _args[0]>>%</span> <<else>> <span class="red"><<print _args[0]>>%</span> <</if>> <</if>> <</widget>> <<widget "englishdifficulty">> <<set _englishdifficultymin to (_args[0] ? _args[0] : 1)>> <<set _englishdifficultymax to (_args[1] ? _args[1] : 1000)>> <<if _englishdifficultymin gte _englishdifficultymax>> <<set _englishdifficultymax to _englishdifficultymin + 1>> <</if>> <<set _english to currentSkillValue('english')>> <<if _args[2] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange">English</span> <<else>> | <span class="orange">English</span>: <<set _difficulty to Math.round(Math.clamp(_english - _englishdifficultymin, 0, _englishdifficultymax) / (_englishdifficultymax - _englishdifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<if $temple_burden gte random(1, 100)>> <<set _english to 0>> <</if>> <<if _english gte random(_englishdifficultymin, _englishdifficultymax)>> <<set $englishSuccess to 1>> <<else>> <<set $englishSuccess to 0>> <</if>> <</widget>> <!-- args[0]: skill to be checked. args[1]: skill name to display. args[2]: skill required to have a chance. args[3]: skill required for 100% success rate args[4]: hide the skill text. --> <<widget "skill_difficulty">> <<set $_skill to _args[0]>> <<if typeof $_skill is "number">> <!-- Now we know $_skill is a valid number, we can perform our calculations safely. --> <<set _skilldifficultymin to (_args[2] ? _args[2] : 1)>> <<set _skilldifficultymax to (_args[3] ? _args[3] : 1000)>> <<if _skilldifficultymin gte _skilldifficultymax>> <<set _skilldifficultymax to _skilldifficultymin + 1>> <</if>> /* Note: willpower uses a different default value for skilldifficultymax */ <<if _args[4] is undefined and $statdisable is "f">> <<if $checkstyle is "skillname">> | <span class="orange"><<print _args[1]>></span> <<else>> | <span class="orange"><<print _args[1]>></span>: <<set _difficulty to Math.round(Math.clamp($_skill - _skilldifficultymin, 0, _skilldifficultymax) / (_skilldifficultymax - _skilldifficultymin) * 100)>> <<if _difficulty gt 100>> <<set _difficulty to 100>> <</if>> <<skillDifficultyText _difficulty>> <</if>> <</if>> <<else>> <<error { message: '<<skill_difficulty>> widget was given an invalid skill name: Not a number.', source: `Skill value: ${_args[0]}, skill display: ${_args[1]}, minimum: ${_args[2]}, max: ${_args[3]}, hide: ${_args[4]}` }>> <</if>> <</widget>> <<widget "historyrequired">> /* args[0] = historyTrait required */ <<if $statdisable is "f">> History Grade required: <<if _args[0] gte 1 and _args[0] lt 2>> <span class="blue">C</span> <<elseif _args[0] gte 2 and _args[0] lt 3>> <span class="lblue">B</span> <<elseif _args[0] gte 3 and _args[0] lt 4>> <span class="teal">A</span> <<elseif _args[0] gte 4>> <span class="green">A*</span> <</if>> <</if>> <</widget>> <<widget "skillDifficultyText">> <<set $_difficulty to _args[0]>> <<if $statdisable is "f">> <<if $_difficulty gte 100>> <span class="green">Simple <<if $checkstyle is "percentage">>$_difficulty%<</if>></span> <<elseif $_difficulty gte 80>> <span class="teal">Easy <<if $checkstyle is "percentage">>$_difficulty%<</if>></span> <<elseif $_difficulty gte 60>> <span class="lblue">Reasonable <<if $checkstyle is "percentage">>$_difficulty%<</if>></span> <<elseif $_difficulty gte 40>> <span class="blue">Challenging <<if $checkstyle is "percentage">>$_difficulty%<</if>></span> <<elseif $_difficulty gte 20>> <span class="purple">Hard <<if $checkstyle is "percentage">>$_difficulty%<</if>></span> <<elseif $_difficulty gte 1>> <span class="pink">Very Hard <<if $checkstyle is "percentage">>$_difficulty%<</if>></span> <<else>> <span class="red">Impossible <<if $checkstyle is "percentage">>$_difficulty%<</if>></span> <</if>> <</if>> <</widget>><<widget "sleep">> <<if numberOfEarSlime() gte 2 and $earSlime.corruption is 100 and $earSlime.growth gte 50 and $earSlime.focus is "none" and !$statFreeze and !_args[0]>> /* Doing events this way, means that npc's may still be loaded, so endevent or loading new npc's should not be done */ <<earSlimeFocusChoice>> <</if>> <<sleephour>> <<if _wakeEvent and !_args[0]>> <<sleep_clamp>> <<switch _wakeEvent>> <<case "slimeWakeAlleyway">><<slimeWakeAlleyway>> <<case "slimeWakeMasturbation">><<slimeWakeMasturbation>> <</switch>> <<exitAll>> <</if>> <<ruffleHairFromSleep>> <</widget>> <<widget "sleephour">> <<if random(1, 2500) is 1>> <<set _toast to true>> <</if>> <<set $sleepHoursTotal to 0>> <<set $_bonusFatigueLoss to 10>> <!-- wearing sleep clothes --> <<if $worn.upper.type.includes("sleep") or $worn.lower.type.includes("sleep")>> <<set $_bonusFatigueLoss += 5>> <</if>> <!-- sleeping with others --> <<if $bedGuest or $wolfbed is 1>> <<set $_bonusFatigueLoss += 5>> <</if>> <!-- bonus for sleeping with Love Interests with the Mate For Life trait --> <<if $bedGuest and $transformationParts.traits.mateForLife isnot "disabled" and isLoveInterest($bedGuest) and !$sleepWraith>> <<set $_bonusFatigueLoss += 3>><<set $stress -= 10>><<set $trauma -= 1>><<set $arousal += 10>> <</if>> <!-- wearing any non-sleep clothing disables the sleep bonus (except under_upper and under_lower and anything else not listed here) --> <<if !["over_upper", "over_lower", "upper", "lower", "over_head", "head", "face", "neck", "hands", "handheld", "legs", "feet"].every(slot => $worn[slot].type.includes("naked") || $worn[slot].type.includes("sleep") || $worn[slot].type.includes("eerie"))>> <<set $_bonusFatigueLoss to 0>> <</if>> <!-- sleeping in a poor/regular/comfy bed at home provides a -10/0/+10 bonus regardless of clothing --> <<if $location is "home">> <<set $_bed to Furniture.get('bed')>> <<if $_bed.type.includes('comfy')>> <<set $_bonusFatigueLoss += 10>> <<elseif $_bed.type.includes('starter')>> <<set $_bonusFatigueLoss -= 10>> <</if>> <</if>> <!-- note: every hour of sleep gives a standard 250 fatigue reduction, so this bonus may not be all that much. --> <!-- sleephour repeats this until you have slept for the selected number of hours --> <!-- if you select "just sleep", then you wake up when tiredness hits 0, or after 10 hours. --> <<for $sleephour gte 1 or $sleephour lte -1>> <<set $sleephour -= 1>> <<switch $location>> <<case "home">> <<set _robin to statusCheck("Robin")>> <<set _kylar to statusCheck("Kylar")>> <<if $sleepWraith>> <!-- Do nothing. Wraith mimicking Robin guarantees an uninterrupted sleep --> <<elseif $kylarenglish gte 1 and _kylarStatus.includes("Love") and _kylarStatus.includes("Lust") and Time.dayState is "night" and $kylarbed is undefined and $robinbed is undefined and $rng gte 96 and C.npc.Kylar.state is "active">> <<set _sleepinterrupt to 1>> <<set _kylarWake to 1>> <<set $kylarSleepEvent to 1>> <<elseif ($kylarenglish isnot 1 or $syndromekylar isnot 1) and !playerIsPregnant() and C.npc.Kylar.love lte 49 and C.npc.Kylar.rage gte 70 and Time.dayState is "night" and $kylarbed is undefined and $robinbed is undefined and $weekly.kylarCreep isnot 1 and C.npc.Kylar.state is "active">> <<set $weekly.kylarCreep to 1>> <<set _sleepinterrupt to 1>> <<set _kylarWake to 2>> <<elseif (($robinromance is 1 and _robin.lust gte 20) or (_robin.trauma gte 50 and $rng gte 51)) and !$robinbed and $robinwakeday isnot 1 and $kylarbed isnot 1 and $robinmissing is 0 and $robin.timer.hurt is 0 /*and !$robin_kicked_out*/>> <!-- Robin climbs into bed with you --> <<if (Time.hour gte 18 and $robin.stayup isnot 1) or (Time.hour lte 6 and $robin.stayup isnot 2)>> <<set _sleepinterrupt to 1>> <<set _robin.lovewake to 1>> <<set $robinwakeday to 1>> <</if>> <<elseif _robin.love gte 100 and $robinbed is undefined and $robindebtknown isnot 1 and $kylarbed isnot 1 and $robinmissing is 0>> <<if Time.hour gte 18 or Time.hour lte 6>> <<set _sleepinterrupt to 1>> <<set $robindebtwake to 1>> <</if>> <<elseif wraithSleepEventCheck()>> <<wraithEvent>> <<elseif $baileydefeatedchain gte 1 and ($rng * 100) gte (9900 - ($allure / 5))>> <<set _sleepinterrupt to 1>> <<set $baileyrapewake to 1>> <<elseif $christmas is 1 and Time.monthDay is 25 and Time.hour lte 6 and $christmas_kylar is undefined and C.npc.Kylar.state is "active">> <<set _sleepinterrupt to 1>> <<set $christmas_kylar to 1>> <<elseif Time.schoolDay and Time.hour is 7 and !$daily.baileyWake>> <<set _sleepinterrupt to 1>> <<set $daily.baileyWake to true>> <<elseif $earSlime.growth gte 25 and $earSlime.growth gte (currentSkillValue('willpower') / 20) and random(0,100) lt 4 and Time.dayState is "night" and $earSlime.eventTimer lte 0 and $kylarbed isnot 1 and !$bedGuest>> <<set _wakeEvent to "slimeWakeAlleyway">> <<break>> <<elseif !$bedGuest and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "temple">> <<if $earSlime.growth gte 25 and $earSlime.growth gte (currentSkillValue('willpower') / 20) and random(0,100) lt 4 and Time.dayState is "night" and $earSlime.eventTimer lte 0 and $kylarbed isnot 1 and !$bedGuest>> <<set _wakeEvent to "slimeWakeAlleyway">> <<break>> <<elseif !$bedGuest and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "old_temple">> /* Hopeless Cycle event */ <<if $statFreeze and $hc>> <<if _hcEvent is "blood" or Time.isBloodMoon()>> <<set _sleepinterrupt to 1>> <<set $hc.bloodWake to true>> <<elseif Time.dayState is "night" and $hc.nightBreakIn is "tonight" and $prisoner.love gte 30 and !$hc.daily.nightmare>> <<set _sleepinterrupt to 1>> <<set $hc.daily.nightmare to true>> <<elseif Time.hour gte 7 and ["dawn", "day"].includes(Time.dayState)>> <<set _sleepinterrupt to 1>> <<set $hc.daily.wake to true>> <</if>> <</if>> <<case "asylum">> <<asylumeffects>> <<if Time.hour is 6 or ($asylumstate is "firsttreatment" and $daily.asylumTreatment1 isnot 1) or ($asylumstate is "secondtreatment" and $daily.asylumTreatment2 isnot 1) or ($asylumstate is "assessment" and $daily.asylumAssessment isnot 1)>> <<set _sleepinterrupt to 1>> <<elseif Time.hour is 6 and $location is "asylum" or $asylumstate is "firsttreatment" and $daily.asylumTreatment1 isnot 1 and $location is "asylum" or $asylumstate is "secondtreatment" and $daily.asylumTreatment2 isnot 1 and $location is "asylum" or $asylumstate is "assessment" and $daily.asylumAssessment isnot 1 and $location is "asylum">> <<set _sleepinterrupt to 1>> <<elseif $suspicion gte 80 and random(1, 10) gte 10>> <<set _sleepinterrupt to 1>> <<set $rapewake to 1>> <<elseif !$bedGuest and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "prison">> <<if Time.hour is 6 and !$daily.prison.wake>> <<set _sleepinterrupt to 1>> <<set $daily.prison.wake to true>> <<elseif !$bedGuest and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "alex_cottage">> <<if wraithSleepEventCheck()>> <<wraithEvent>> <<elseif (Time.hour gte 21 or Time.hour lte 5) and C.npc.Alex.lust gte 10 and $alexwake isnot 1>> <<set $alexwake to 1>> <<set _sleepinterrupt to 1>> <<elseif $farm_attack_timer is 0 and Time.hour gte 21>> <<set $remywake to 1>> <<set _sleepinterrupt to 1>> <<elseif !$bedGuest and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <<elseif (Object.values($children).find(child => child.mother === "Alex" && child.location === "alex_cottage") or Object.values($children).find(child => child.father === "Alex" && child.location === "alex_cottage")) and Time.dayState is "night" and !$weekly.alexNightTimeNursery and $rng gte 56>> <<set _sleepinterrupt to 1>> <<set $weekly.alexNightTimeNursery to 1>> <<set _alexWake to 1>> <</if>> <<case "cabin">> <<if wraithSleepEventCheck()>> <<wraithEvent>> <<elseif Time.hour lte 6 and $edenwake isnot 1>> <<if C.npc.Eden.lust gte 26>> <<set $edenwake to 1>> <<set _sleepinterrupt to 1>> <<elseif $rng gte 90>> <<set $edenwake to 1>> <<set $edenNightmareWake to true>> <<set _sleepinterrupt to 1>> <</if>> <</if>> <<case "forest">> <<if $location is "forest" and $wolfpackferocity gte 10 and $wolfwake isnot 1>> <<set _sleepinterrupt to 1>> <<set $wolfwake to 1>> <<elseif !$bedGuest and !$wolfbed and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "tower">> <<if wraithSleepEventCheck() and $bird and $bird.upgrades and $bird.upgrades.mirror is 1>> <<wraithEvent>> <<elseif $bird.state is "hunting" and $bird.timer lte 0>> <<set _sleepinterrupt to 1>> <<elseif $bird.state is "home" and !$bird.satisfied and random(1, 10) is 10>> <<set _sleepinterrupt to 1>> <<elseif $bird.state is "hunting" and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "wolf_cave">> <<if wraithSleepEventCheck()>> <<wraithEvent>> <<elseif $wolfpackferocity gte 10 and $wolfwake isnot 1 and random(1,10) is 10 and $bedGuest isnot "Black Wolf">> <<set _sleepinterrupt to 1>> <<set $wolfwake to 1>> <<elseif !$bedGuest and !$wolfbed and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "pound">> <<if Time.hour is 6 or Time.hour is 12 or Time.hour is 18>> <<set _sleepinterrupt to 1>> <<elseif !$bedGuest and !$wolfbed and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "pirate_ship">> <<if wraithSleepEventCheck()>> <<wraithEvent>> <<elseif !$bedGuest and $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<case "island">> <<if $island[$island.home].camouflage is "simple">> <<set _rng to random(1, 160)>> <<elseif $island[$island.home].camouflage is "basic">> <<set _rng to random(1, 140)>> <<elseif $island[$island.home].camouflage is "advanced">> <<set _rng to random(1, 120)>> <<else>> <<set _rng to random(1, 100)>> <</if>> <<if $island.home is "rocky_hillock">> <<if _rng lte 5 and _sleepinterrupt isnot 1>> <<set $island_wake_1 to 1>> <<set _sleepinterrupt to 1>> <<elseif $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<elseif $island.home is "waterfall">> <<if _rng lte 5 and _sleepinterrupt isnot 1>> <<set $island_wake_1 to 1>> <<set _sleepinterrupt to 1>> <<elseif _rng lte 10 and _sleepinterrupt isnot 1>> <<set $island_wake_2 to 1>> <<set _sleepinterrupt to 1>> <<elseif $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <<elseif $island.home is "gulch">> <<if _rng lte 5 and _sleepinterrupt isnot 1>> <<set $island_wake_1 to 1>> <<set _sleepinterrupt to 1>> <<elseif _rng lte 10 and _sleepinterrupt isnot 1>> <<set $island_wake_2 to 1>> <<set _sleepinterrupt to 1>> <<elseif _rng lte 15 and _sleepinterrupt isnot 1>> <<set $island_wake_3 to 1>> <<set _sleepinterrupt to 1>> <<elseif $exposed is 2 and $sleepHoursTotal gte 3 and !$weekly.slimeWakeMasturbation and $earSlime.growth gte (currentSkillValue('willpower') / 7) and random(0,100) lt 4 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _wakeEvent to "slimeWakeMasturbation">> <<break>> <</if>> <</if>> <</switch>> <!-- this will stop sleep from happening, meaning no fatigue reduction or time passing --> <<if _sleepinterrupt>> <<break>> <</if>> <<if _wraithinterrupt is 1>> <<set _sleepinterrupt to 1>> <<break>> <</if>> <!-- Keep events above this comment --> <<set $sleepHoursTotal += 1>><<set $sleepStat++>> <!-- for "just sleep" option, if sleep is no longer required OR the player has slept for 10 hours, interrupt it. --> <<if $sleephour lte -1 and ($tiredness lte 0 or $sleephour lte -11)>> <<break>> <</if>> <!-- fatigue is lowered by 200 for every hour slept, and another 50 more if the player has no trauma. --> <<set $tiredness -= 200>> <<if !($sleeptrouble is 1 and $controlled is 0)>> <<set $tiredness -= 50>> <</if>> <<if $location is "island">> <<if $island[$island.home].curtains is "simple">> <<set $tiredness -= 15>> <<elseif $island[$island.home].curtains is "basic">> <<set $tiredness -= 30>> <<elseif $island[$island.home].curtains is "advanced">> <<set $tiredness -= 45>> <</if>> <<elseif $location is "tower" and $bedGuest isnot "alone">> <<switch $bird.upgrades.nest>> <<case 0>> <<case 1>><<set $tiredness -= 15>> <<case 2>><<set $tiredness -= 30>> <<case 3>><<set $tiredness -= 45>> <</switch>> <</if>> <<set $tiredness -= $_bonusFatigueLoss>> <<set Weather.BodyTemperature.addActivity("sleep")>> <<if $location is "tower">> <<bird_pass 60>> <<else>> <<pass 1 hour>> <</if>> <<if $nightmares gte 1 and $controlled is 0>> <<stress 6>> <</if>> <<sleep_clamp>>/*Prevents bugged out values affecting events in anyway, -2000 fatigue and -360 stress arnt helpful*/ <</for>> <</widget>> <<widget "sleepeffects">> <<if $stress gte $stressmax>> <<set $stress -= 2000>> <<trauma 10>> <span class="red">Your stress level reached a peak while you slept and has since subsided, but at cost to your mental health.</span> <<lstress>><<gtrauma>> <<ruffleHair>> <<saveTempHairStyle>> <br><br> <</if>> <<if !$sleepWraith and $bedGuest and $transformationParts.traits.mateForLife isnot "disabled" and isLoveInterest($bedGuest)>> <span class="green">Sleeping with your chosen partner fulfils an instinctual desire.</span> <<lstress>><<ltrauma>><<garousal>> <br><br> <</if>> <<if $scienceproject is "ongoing" and $sciencephallusknown isnot 1 and hasSexStat("promiscuity", 3)>> <<set $sciencephallusknown to 1>> A lewd thought comes to you as you wake up. <span class="gold">You've conceived the "local phalli" science project.</span> Check your journal for details. <br><br> <</if>> <<unset $bedGuest>> <</widget>> <<widget "wetDream">> <<if $specialClothesEffects.bimbo.total gte 100 and $specialClothesEffects.pimp.total gte 100>> <<set _lustful to $player.gender_appearance is "f" ? $specialClothesEffects.bimbo : $specialClothesEffects.pimp>> <<else>> <<set _lustful to $specialClothesEffects.bimbo.total gte 100 ? $specialClothesEffects.bimbo : $specialClothesEffects.pimp>> <</if>> Your sleep <<if _wakingEffect>>was<<else>>is<</if>> plagued by dirty dreams. <<arousal `_lustful.total / 10 * $sleepHoursTotal`>> <<arousal `100 * $sleepHoursTotal`>> <<if $arousal gte $arousalmax>> They push you over the edge. <<orgasm>> <<else>> <br><br> <</if>> <</widget>> <<widget "bedclotheson">> <<switch _args[0]>> <<case "bed" "Bed">> <<set $_storeLocation to "bed">> <<set $wardrobe_location to "wardrobe">> <<case "Farm Bed">> <<set $_storeLocation to "Farm Bed">> <<set $wardrobe_location to "alexFarm">> <<case "prison bed">> <<set $_storeLocation to "prison bed">> <<set $wardrobe_location to "prison">> <<case "Temple Bunk Bed">> <<set $_storeLocation to "Temple Bunk Bed">> <<set $wardrobe_location to "temple">> <<case "Pirate Bed Lie">> <<set $_storeLocation to "Pirate Bed Lie">> <<set $wardrobe_location to "pirate">> <<default>> Something went wrong with the "bedclotheson" widget, please report <<run console.log('Something went wrong with the "bedclotheson" widget, please report')>> <</switch>> <<wardrobeSelection true>> <<updateWornClothingLocation $wardrobe_location>> <<if $wear_outfit is "clotheson">> /*Was causing some wierdness when getting out of bed*/ /*<<undress $wardrobe_location>>*/ <<loadTempHairStyle>> <<storeon $_storeLocation>> <<elseif $wear_outfit isnot "none">> <<storeon $_storeLocation>> <<undress $wardrobe_location>> <<wearoutfit>> <</if>> <<updateWornClothingLocation $wardrobe_location>> <<set $wear_outfit to "none">> <</widget>> <<widget "setSlimeSleepEvents">> <<if $earSlime.eventTimer lt 0>> <<set $earSlime.eventTimer to 0>> <</if>> <<set _eventsList to []>> <<if $earSlime.forcedCommando is undefined and $earSlime.exhibitionism gte 1>> <<set _eventsList.push("go commando")>> <</if>> <<if $earSlime.defyCooldown is 0 and Time.dayState is "night">> <<set _eventsList.push("masturbate to orgasm")>> <</if>> <<if $earSlime.promiscuity gte 2 and $earSlime.deviancy gte 2>> <<run _eventsList.push("have sex with someone or something")>> <<elseif $earSlime.promiscuity gte 2>> <<run _eventsList.push("have sex with someone")>> <</if>> <<if !$earSlime.alwaysSleepNaked and $earSlime.corruption gte 80 and $earSlime.exhibitionism gte 2>> <<run _eventsList.push("only sleep naked from now on")>> <</if>> <<if ["home", "temple"].includes($location) and Time.dayState is "night" and between(Time.hour, 20, 24)>> <<run _eventsList.push("go running or swimming for an hour")>> <<if currentSkillValue("skulduggery") gt 200>> <<set _eventsList.push("steal something")>> <</if>> <<if $earSlime.exhibitionism gte 3 and hasSexStat("exhibitionism", 3)>> <<set _eventsList.push("go running or swimming naked for an hour")>> <<set _eventsList.push("go running or swimming naked for two hours")>> <</if>> <<if $earSlime.exhibitionism gte 4 and hasSexStat("exhibitionism", 4)>> <<set _eventsList.push("study at the school library while naked for an hour")>> <<set _eventsList.push("study at the school library while naked for two hours")>> <</if>> <</if>> <<if ["home", "temple", "alex_cottage"].includes($location) and $earSlime.knowsAboutPhotoShoot and $earSlime.exhibitionism gte 2 and $photo.shoot is 0 and random(0,100) gte 50>> <<set _eventsList.push("fully expose yourself while working as a model in town")>> <</if>> <<if ["alex_cottage"].includes($location) and Time.dayState is "night" and between(Time.hour, 20, 24)>> <<if $earSlime.deviancy gte 2 and $breastfeedingdisable is "f" and $lactating and $milk_amount gte 1000 and $earSlime.focus isnot "impregnation">> <<set _eventsList.push("use the farm equipment to empty your breasts of milk")>> <</if>> <<if $earSlime.deviancy gte 2 and $player.penisExist and $player.penissize gte 0 and !playerChastity("penis") and $semen_amount gte 1000 and $earSlime.focus isnot "pregnancy" and $earSlime.defyCooldown is 0>> <<set _eventsList.push("use the farm equipment to empty your penis of semen")>> <</if>> <</if>> <<if $earSlime.growth gt 50>> <<if $earSlime.focus is "pregnancy" and $forcedcrossdressingdisable is "f" and !$earSlime.forcedDressing>> <<set _eventsList.push("only wear feminine clothes for a while")>> <<if playerIsPregnant() and playerBellySize(true) gte 5>> <<set _eventsList.push("only wear feminine clothes for a while")>> <<set _eventsList.push("only wear feminine clothes for a while")>> <</if>> <</if>> <<if $earSlime.focus is "impregnation" and $forcedcrossdressingdisable is "f" and !$earSlime.forcedDressing>> <<set _eventsList.push("only wear masculine clothes for a while")>> <<if !playerIsPregnant()>> <<set _eventsList.push("only wear masculine clothes for a while")>> <<set _eventsList.push("only wear masculine clothes for a while")>> <</if>> <</if>> <<if ["pregnancy", "mixed"].includes($earSlime.focus) and ($player.vaginaExist or $analdisable is "f") and !playerIsPregnant()>> <<if maleChance() gt 0 or beastMaleChance() gt 0 or $dgchance gt 0>> <<set _task to `get sperm into your ${$player.vaginaExist ? "vagina" : "anus"}`>> <<run _eventsList.push(_task)>> <<run _eventsList.push(_task)>> <<if random(0,100) gte 50>> <<run _eventsList.push(_task)>> <<run _eventsList.push(_task)>> <<run _eventsList.push(_task)>> <</if>> <</if>> <<if $player.penisExist and $player.penissize gte 0 and $semen_volume gte 300 and !$earSlime.defyCooldown and $awareness gte 200>> <<set _task to `get your own sperm into your ${$player.vaginaExist ? "vagina" : "anus"}`>> <<run _eventsList.push(_task)>> <<run _eventsList.push(_task)>> <<if random(0,100) gte 50>> <<run _eventsList.push(_task)>> <<run _eventsList.push(_task)>> <<run _eventsList.push(_task)>> <</if>> <</if>> <</if>> <<if $player.penisExist and ["impregnation", "mixed"].includes($earSlime.focus)>> <<if maleChance() lt 100 or beastMaleChance() lt 100 or $cbchance gt 0>> <<run _eventsList.push("ejaculate into someone's vagina")>> <<run _eventsList.push("ejaculate into someone's vagina")>> <<if random(0,100) gte 50>> <<run _eventsList.push("ejaculate into someone's vagina")>> <<run _eventsList.push("ejaculate into someone's vagina")>> <<run _eventsList.push("ejaculate into someone's vagina")>> <</if>> <</if>> <</if>> <</if>> <<if $earSlime.growth gte 100 and $earSlime.defyCooldown gte Math.clamp(30 - Math.floor($earSlime.growth / 9), 2, 20) + 4 and $ruinedorgasmdisable is "f">> <<set $earSlimeEvent to "masturbate and orgasm at least ten times">> <<elseif $earSlime.growth gte 100 and $earSlime.defyCooldown gte Math.clamp(30 - Math.floor($earSlime.growth / 9), 2, 20) - 4 and $ruinedorgasmdisable is "f">> <<set $earSlimeEvent to "masturbate and orgasm at least five times">> <<elseif _eventsList.length>> <<set _maxEvents to _eventsList.length - 1>> <<set $earSlimeEvent to _eventsList[random(0,_maxEvents)]>> <</if>> <</widget>> <<widget "slimeSleepEvents">> <<if $earSlimeEvent is "masturbate to orgasm" and ["pregnancy", "mixed"].includes($earSlime.focus) and ($player.vaginaExist or $analdisable is "f") and !playerIsPregnant() and $player.penisExist and $player.penissize gte 0 and $semen_volume gte 300 and !$earSlime.defyCooldown and $awareness gte 200>> <<set $earSlimeEvent to `get your own sperm into your ${$player.vaginaExist ? "vagina" : "anus"}`>> <</if>> <<set _tempEventHide to true>> <<set _noSleep to $earSlimeEvent.includes("go running or swimming") or $earSlimeEvent.includes("study at the school") or $earSlimeEvent.includes("masturbate")>> <span @class="$earSlime.startedThreats ? 'lewd' : 'lblue'">The slime in your head commands you to <<print $earSlimeEvent>><<if _noSleep>> before sleeping<</if>>.</span> It promises rewards if you comply<<if $earSlime.startedThreats>>, and threatens consequences if you do not<</if>>. <br><br> <<link [[Obey|SleepSlimeEventObey]]>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 1>><</link>><<gcorruption>><<lpain>><<lltrauma>><<lstress>> <br> <<if $earSlime.startedThreats>> <<link [[Defy|SleepSlimeEventDefy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<sub 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <<else>> <<link [[Ignore|SleepSlimeEventDefy]]>><<set $phase to 1>><<unset $earSlimeEvent>><</link>> <</if>> <br> <<exitAll>> <</widget>> <<widget "slimeEventResult">> <<set $earSlime.event to $earSlimeEvent>> <<unset $earSlimeEvent>> <<set $earSlime.eventTimer to 4>> <<if !$slimeBedExit>> <<set $slimeBedExit to "Bed">> <<set $slimeBedroomExit to "Bedroom">> <</if>> <<switch $earSlime.event>> <<case "go running or swimming naked for an hour">><<set $earSlime.eventLength to 2>> <<case "go running or swimming naked for two hours">><<set $earSlime.eventLength to 4>> <<case "study at the school library while naked for an hour">><<set $earSlime.eventLength to 3>> <<case "study at the school library while naked for two hours">><<set $earSlime.eventLength to 6>> <</switch>> <<if $earSlime.event.includes("masturbate and orgasm at least")>> /* Gets set to 0 on it being completed */ <<set $earSlime.defyCooldown += 82>> <</if>> <<if $earSlime.event.includes("go running or swimming") or $earSlime.event.includes("study at the school") or $earSlime.event.includes("masturbate") or $earSlime.event.includes("use the farm equipment to empty")>> <<set $earSlime.noSleep to true>> <<else>> <<set $earSlime.noSleep to false>> <</if>> <<set $_multiplier to $earSlime.growth lt 150 ? 1 : 2>> <<if $earSlime.event is "only wear feminine clothes for a while">> <<set $earSlime.event to "">> <<if playerIsPregnant() and playerBellySize(true) gte 5>> <<set $earSlime.forcedDressing to {type: "f", days: random(14 * $_multiplier, 31 * $_multiplier)}>> <<else>> <<set $earSlime.forcedDressing to {type: "f", days: random(3 * $_multiplier, 14 * $_multiplier)}>> <</if>> <<elseif $earSlime.event is "only wear masculine clothes for a while">> <<set $earSlime.event to "">> <<set $earSlime.forcedDressing to {type: "m", days: random(3 * $_multiplier, 14 * $_multiplier)}>> <</if>> <<if $earSlime.event is "only sleep naked from now on">> <<strip>> <<set $earSlime.alwaysSleepNaked to true>> <<set $earSlime.event to "">> You strip before getting into bed. <br><br> <<link [[Next|$slimeBedExit]]>><<unset $slimeBedExit>><<unset $slimeBedroomExit>><</link>> <<elseif $earSlime.event is "go commando">> <<set $earSlime.event to "">> <<if $earSlime.corruption lt 50 and $earSlime.growth is 0>> <<set $earSlime.forcedCommando to random(2, 4)>> <<elseif $earSlime.growth is 0>> <<set $earSlime.forcedCommando to random(7, 21)>> <<else>> <<set $earSlime.forcedCommando to random(14, 31)>> <</if>> <<if !playerHasStrapon() and !$worn.under_lower.outfitSecondary and $worn.under_lower.name isnot "naked">> You strip your $worn.under_lower.name before getting into bed. <<generalUndress "wardrobe" "under_lower">> <<else>> You lie back down into bed. <</if>> <br><br> <<link [[Next|$slimeBedExit]]>><<unset $slimeBedExit>><<unset $slimeBedroomExit>><</link>> <<elseif !$earSlime.noSleep>> You lie back down into bed. <br><br> <<link [[Next|$slimeBedExit]]>><<unset $slimeBedExit>><<unset $slimeBedroomExit>><</link>> <<else>> You move away from your bed to do the task given to you. <<switch $slimeBedExit>> <<case "Bed">><<storeon "bed" "return">> <<case "Farm Bed">><<storeon "farm bed" "return">> <<case "Farm Alex Bed">><<storeon "farm alex bed" "return">> <<case "Temple Bunk Bed">><<storeon "Temple Bunk Bed" "return">> <</switch>> <br><br> <<link [[Next|$slimeBedroomExit]]>><<unset $slimeBedExit>><<unset $slimeBedroomExit>><</link>> <</if>> <</widget>> <<widget "slimeEventEnd">> <<if _args[0]>> <<if $earSlime.event.includes(_args[0]) and (!$earSlime.event.includes("naked") or $exposed is 2)>> <<set $earSlime.eventLength -= 1>> <<if $earSlime.eventLength lte 0>> <<set $earSlime.event to "">> <<set $earSlime.eventLength to 0>> <<set $earSlime.noSleep to false>> <</if>> <</if>> <</if>> <</widget>> <<widget "wraithEvent">> <!-- this is because this event wakes the player up AFTER they have slept for an hour. --> <<unset _sleepinterrupt>> <<set _wraithinterrupt to 1>> <<set $wraith.nightmare to 2>> <<set $wraith.hunt to 0>> <<set $foresthunt to 0>> <</widget>> <<widget "ruffleHairFromSleep">> <!-- Roll a chance to wake up with ruffled hair --> <!-- Chance is based on number of hours slept, with Trauma and Stress adding "calculated" hours --> <!-- Trauma adds max 4.5, Stress 2 --> <!-- Chances are ~5% at 8 hours, ~13% at 10 hours, 99% at 16.5 calculated hours --> <!-- Math below uses rng of 1000, and calculates 75 instead of 750, for more granular probability --> <!-- Use the below graph to calculate and demo --> <!-- New Graph: https://www.desmos.com/calculator/xd73rdkx1v --> <<if $ruffledisable is "f">> <<set $_calcTrauma to ($trauma - $traumamax / 10) / 1000>> <<if $_calcTrauma gte 0>> <<set $_calcStress to $stress / 5000>> <<set $_calcTotal to $_calcTrauma + $_calcStress + $sleepHoursTotal>> <<set $_chance to $_calcTotal ** 4 / 75>> <<rng 1000>> <<if $_chance gt $rng>> <span class="yellow">Your hair is tousled.</span> <<ruffleHair>> <<saveTempHairStyle>> <</if>> <</if>> <</if>> <</widget>> <<widget "ruffleHair">> <!-- Find a style group of current hair (loose, braid, etc.) and pick a random one from a list of corresponding 'ruffled' styles. If none found then keep current hair --> <<if $ruffledisable is "f">> <<set $_hair to setup.hair.hairtype.find(x => x.list.includes($hairtype))>> <<set $_fringe to setup.hair.fringetype.find(x => x.list.includes($fringetype))>> <<if $_hair>> <<set $_rndhair to $_hair.devolve.random()>> <</if>> <<if $_fringe>> <<set $_rndfringe to $_fringe.devolve.random()>> <</if>> <<set $hairtype to $_rndhair || $hairtype>> <<set $fringetype to $_rndfringe || $fringetype>> <</if>> <</widget>> <<widget "earSlimeFocusChoice">> /* This event cannot run endevent or make changes to loaded npc's in anyway */ <<set _prevLocation to $location>> <<set $location to "tentworld">><<set $outside to 0>> <<set _pregnancyEnabled to $playerPregnancyHumanDisable is "f" or $playerPregnancyBeastDisable is "f">> <<if $earSlime.dreamRejected>> You awake to a familiar feeling of paralysis. The pressure on your body isn't as intense as last time, but still brings you a sense of unease. <<if $earSlime.dreamRejected gte 5>> <span class="green">Despite this, you know by now that the sensation isn't harmful.</span> <</if>> <<else>> You wake with a start. An oppressive darkness surrounds you. The surface you lay on seems to shift and crawl under your back. You're pinned to it by an invisible pressure. <span class="red">You can't move!</span><<gstress>><<stress 6>> <</if>> <br><br> Even your eyes are frozen in place. You can faintly discern that there's two figures in the room, one on either side of you. The darkness and odd, squirming movements make it impossible to make out any details. Before you can process what's happening, they start to speak. The figures tell you that you have a choice to make, one <span class="sub">that cannot be ignored or easily taken back</span>.<<if $earSlime.dreamRejected gte 10>> The volume of their combined voices makes it sound like a demand rather than an offer.<</if>> <br><br> The voice from the left whispers in your ear. Its words overlap themselves, promising you many things at once. It claims it will bring you fulfilment by granting you <<if _pregnancyEnabled>> <span class="lewd">a womb filled with life<<if $breastfeedingdisable is "f">> and breasts filled with milk<</if>></span>. <<if !$player.vaginaExist and !(playerIsPregnant() and playerAwareTheyArePregnant()) and Object.values($children).find(child => child.mother === "pc")>> It also promises that the limits of your current body will not hold you back. <</if>> <<else>> <span class="lewd">pure femininity</span>. <</if>> <br> The first voice is interrupted by the one on your right, grabbing your attention. Your mind is assaulted with more promises. It tells you that it will help you fulfil yourself through <<if $npcPregnancyDisable is "f">> <span class="lewd">filling others with your seed</span>, <<else>> <span class="lewd">filling the holes of others</span>, <</if>> <<if $player.penisExist>> by giving you the size and virility to do so. <<else>> by giving you the penis that you lack. <</if>> The voices invading your mind start to subside. The peace is short-lived as they start to talk over one another. Your own thoughts are drowned out as they argue about what your fate should be. <<gstress>><<stress 6>> <br><br> <<link [[Agree with the voice on the left|$passage]]>><<set $location to _prevLocation>><<set $earSlime.focus to "pregnancy">><<set $earSlime.growth++>><</link>><<if $player.sex is "m" and $analdisable is "t" and _pregnancyEnabled>><<note "With anal being disabled, pregnancy cannot occur for you" "italic">><</if>> <br> <<link [[Agree with the voice on the right|$passage]]>><<set $location to _prevLocation>><<set $earSlime.focus to "impregnation">><<set $earSlime.growth++>><</link>><<if $whitneypantiescheck is 2>><<note "Not recommended without disabling 'forced crossdressing'">><</if>> <br> <<link [[Agree with both voices|$passage]]>><<set $location to _prevLocation>><<set $earSlime.focus to "mixed">><<set $earSlime.growth++>><</link>> <br> <<link [[Refuse both voices |$passage]]>><<set $location to _prevLocation>><<set $earSlime.growth -= 5 + Math.clamp($earSlime.dreamRejected, 0, 20)>><<set $earSlime.dreamRejected++>><</link>> <br> <<exitAll>> <</widget>><<effects>> You obey the slime's demand. <<slimeEventResult>><<effects>> <<if !$slimeBedExit>> <<set $slimeBedExit to "Bed">> <<set $slimeBedroomExit to "Bedroom">> <</if>> <<if $phase is 1>> You ignore the slime's demand and get into bed without listening any further. <<set $earSlime.event to "">> <br><br> <<link [[Next|$slimeBedExit]]>><<unset $slimeBedExit>><<unset $slimeBedroomExit>><<endevent>><</link>> <<elseif $earSlime.defyCooldown>> <<if $earSlime.growth gte 100>> <<set $earSlime.defyCooldown += 2>> You defy the slime's demand and get into bed without listening any further. However, <span class="red">it doesn't stop you, knowing that it can punish you in other ways.</span> <<else>> You try to defy the slime's demand and get into bed without listening any further. However, <span class="teal">it's still worn out from overpowering you earlier.</span> It tries <span class="green">but fails</span> to force your steps in the opposite direction. <</if>> <<set $earSlime.event to "">> <br><br> <<link [[Next|$slimeBedExit]]>><<unset $slimeBedExit>><<unset $slimeBedroomExit>><</link>> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10)>> The slime is able to force you to comply with its demand. <<slimeEventResult>> <<else>> You are able to defy the slime's demand and get into bed without listening any further. <<set $earSlime.event to "">><<set $earSlime.defyCooldown += 4>> <br><br> <<link [[Next|$slimeBedExit]]>><<unset $slimeBedExit>><<unset $slimeBedroomExit>><</link>> <</if>><<widget "plots_init">> /* * First argument: location. * Second argument: number of plots. * Third argument: ground type (earth, water). * Fourth argument: plot quality * Fifth argument: plot size */ /* Note: if you plan to add a new plot size, make sure to update all the places where plot size is hardcoded. */ <<set $_plotsInLocation to []>> <<for _i to 0; _i lt _args[1]; _i++>> <<set $_plotsInLocation[_i] to clone(setup.tending.plot_base)>> <<set $_plotsInLocation[_i].bed to _args[2]>> <<set $_plotsInLocation[_i].quality to _args[3]>> <<set $_plotsInLocation[_i].size to _args[4]>> <</for>> <<set $plots[_args[0]] to $_plotsInLocation>> <</widget>> <<widget "add_plot">> /*Adds a plot to an existing location. Arguments are as in the plots_init widget, but the second argument and beyond are shifted down one.*/ <<set $_plotsInLocation to $plots[_args[0]]>> <<set $_last to $_plotsInLocation.length>> <<set $_plotsInLocation.push(clone(setup.tending.plot_base))>> <<set $_plotsInLocation[$_last].bed to _args[1]>> <<set $_plotsInLocation[$_last].quality to _args[2]>> <<set $_plotsInLocation[$_last].size to _args[3]>> <</widget>> <<widget "clear_plot">> /*Returns a plot to its default state. First argument: location. Second argument: index of plot to be reset. OR First argument: the plot to operate on. */ <<if _args[1] isnot undefined>> <<set $_plot to $plots[_args[0]][_args[1]]>> <<else>> <<set $_plot to _args[0]>> <</if>> <<if $_plot.baseQuality isnot undefined and !$backgroundTraits.includes("greenthumb")>> <<if $_plot.fertiliserDecay gt 0>> <<set $_plot.fertiliserDecay-->> <</if>> <<if $_plot.fertiliserDecay is 0 and $_plot.quality gt $_plot.baseQuality>> <<set $_plot.quality-->> <<set $tendingvars.plotDecay to 2>> <<if $_plot.quality gt $_plot.baseQuality>> <<set $_plot.fertiliserDecay to 2>> <<if $_plot.size isnot "large">> <<set $_plot.fertiliserDecay to 3>> <</if>> <<set $tendingvars.plotDecay to 1>> <</if>> <</if>> <</if>> <<set $_plot.water to 0>> <<set $_plot.days to 0>> <<set $_plot.plant to "none">> <<set $_plot.till to 0>> <<set $_plot.stage to 0>> <</widget>> <<widget "display_quality">><<silently>> <<set $_plot to _args[0]>> <<switch $_plot.bed>> <<case "water">><<set _bedType to "water">> <<case "earth">><<set _bedType to "soil">> <<default>><<set _bedType to clone($_plot.bed)>> <</switch>> <<switch Math.clamp($_plot.quality, 0, 4)>> <<case 1>> <<set $_result to `<span class="blue">poor `+_bedType+`</span>`>> <<case 2>> <<set $_result to `<span class="lblue">decent `+_bedType+`</span>`>> <<case 3>> <<set $_result to `<span class="teal">good `+_bedType+`</span>`>> <<case 4>> <<set $_result to `<span class="green">excellent `+_bedType+`</span>`>> <<default>> <<set $_result to `<span class="red">ERROR</span>`>> <</switch>> <</silently>><<print $_result>><</widget>> <<widget "display_plot">>/*Argument is the plot location you want to display.*/ <<set _location to _args[0]>> <<set $_plotsHere to $plots[_location]>> <<set _water_needed to 0>> There <<print $_plotsHere.length is 1 ? "is" : "are">> <<number $_plotsHere.length>> tillable <<switch $_plotsHere[0].size>> <<case "small">> <span class="lblue"><<print $_plotsHere.length is 1 ? "bed" : "beds">></span> <<case "medium">> <span class="teal"><<print $_plotsHere.length is 1 ? "plot" : "plots">></span> <<default>> <span class="green"><<print $_plotsHere.length is 1 ? "field" : "fields">></span> <</switch>> here. <<if $fertiliser.current + $fertiliser.used gt 0>> You have <<number $fertiliser.current>> fertiliser. <</if>> Tilling time is reduced by tending skill. <br><br> <<set $_i to 0>> <<for _plantbed range $_plotsHere>> <<capture _plantbed>> <span class="gold"><<wordify_i $_i true>> plot (<<display_quality _plantbed>>):</span> <<if _plantbed.stage gte 1>> <<set $_plantedPlant to setup.plants[_plantbed.plant]>> <<if $_plantedPlant is undefined>> <<error { message : `Could not access property from modded save. (${_plantbed.plant})`, }>> <<exitAll>> <</if>> <<if Weather.precipitation is "rain">> <<set _plantbed.water to 1>> <</if>> <</if>> <<if _plantbed.stage gte 5>> <span class="green">The <<print $_plantedPlant.seed_name ? `$_plantedPlant.seed_name is` : `$_plantedPlant.plural are`>> flowering, and ready for picking.</span> <br> <<switch _plantbed.size>> <<case "small">> <<set $_timeStr to "0:05">><<set _pass to 5>> <<case "medium">> <<set $_timeStr to "0:15">><<set _pass to 15>> <<default>> <<set $_timeStr to "1:00">><<set _pass to 60>> <</switch>> <<if $leftarm is "bound" and $rightarm is "bound">> <span class="red">Can't pick when your arms are bound.</span> <<else>> <<if $options.images is 1 and $_plantedPlant.icon>> <img class="tending_icon" @src="`img/misc/icon/tending/` + $_plantedPlant.icon"> <</if>> <<link "Pick ($_timeStr)" $passage>><<pass _pass>><<tending_harvest _plantbed>><<clear_plot _plantbed>><</link>> <</if>> <br> <<elseif _plantbed.stage is 4>> <span class="teal">The <<print $_plantedPlant.seed_name ? `$_plantedPlant.seed_name is` : `$_plantedPlant.plural are`>> budding.</span> <<elseif _plantbed.stage is 3>> <span class="lblue">The <<print $_plantedPlant.seed_name ? `$_plantedPlant.seed_name has` : `$_plantedPlant.plural have`>> grown into seedlings.</span> <<elseif _plantbed.stage is 2>> <span class="blue"><<print $_plantedPlant.seed_name ? `${$_plantedPlant.seed_name.toUpperFirst()} sprouts` : `Thin $_plantedPlant.plural sprout`>> from the soil.</span> <<elseif _plantbed.stage is 1>> <span class="blue">You planted <<print $_plantedPlant.name.replace(/_/g," ")>> seeds here.</span> <<else>> <<if _plantbed.till gte 1>> The soil is ready for planting. <<tendingPlantSeedsOptions _location _plantbed>> <<else>> The soil is ready for tilling. <br> <<tendingTillOptions _plantbed>> <</if>> <</if>> <<if _plantbed.stage gte 1 and _plantbed.stage lt 5>> <<if _plantbed.bed is "water">> <br> <<elseif _plantbed.water is 1>> <span class="green">The <<print (_plantbed.bed is "large" ? "field" : "plot")>> is watered.</span> <br> <<else>> <span class="purple">The <<print (_plantbed.bed is "large" ? "field" : "plot")>> is dry.</span> <br> <<tendingWaterPlot _plantbed>> <br> <</if>> <</if>> <br> <</capture>> <<set $_i++>> <</for>> <<if _water_needed gte 1>> <<set _plotsToWater to $_plotsHere.filter(plot => plot.stage >= 1 && plot.stage < 5 && plot.bed !== "water" && plot.water === 0)>> <<set _totalTimeToWater to 0>> <<run _plotsToWater.forEach(plot => _totalTimeToWater += setup.tending.wateringTimes[plot.size])>> <<set $_time to getTimeString(_totalTimeToWater)>> <<if $farm_attack_timer is 0>> <<set $_hoursUntilAttack to (24 - Time.hour)>> <</if>> <<if $location is "alex_farm" and _plotsToWater.length gte $_hoursUntilAttack>> <span class="pink">You won't have enough time to water all your fields before Remy's arrival.</span> <<else>> <<if !($leftarm is "bound" and $rightarm is "bound")>> <<gardenicon "water">> <<link "Water all dry beds ($_time)" $passage>> <<tendingWaterAllDryBeds _plotsToWater>><<tiredness _water_needed>><<physique _water_needed>><<tending _water_needed>> <</link>><<gtiredness>><<gtending>> <</if>> <</if>> <br> <</if>> <<if $debug is 1 and $_plotsHere.filter(plot => plot.stage > 0 && plot.stage < 5).length gte 1>> <br> <<link "DEBUG: Instagrow all plants here" $passage>><<run tendingInstaGrow(_location)>><</link>> <br> <</if>> <</widget>> <<widget "tendingWaterPlot">> <<set _plantbed to _args[0]>> <<set _water_needed += 1>> <<switch _plantbed.size>> <<case "small">><<set _tStatup to 1>><<set _tPass to 5>> <<case "medium">><<set _tStatup to 2>><<set _tPass to 15>> <<default>><<set _tStatup to 6>><<set _tPass to 60>> <</switch>> <<set $_time to getTimeString(_tPass)>> <<if $leftarm is "bound" and $rightarm is "bound">> <span class="red">Can't water when your arms are bound.</span> <<else>> <<wearProp "watering can">> <<gardenicon "water">> <<link "Water ($_time)" $passage>> <<tending _tStatup>><<pass _tPass>><<set _plantbed.water to 1>><<set $tendingvars.plot_watered to true>> <<tiredness _tStatup>><<physique _tStatup>><<event_trigger>> <</link>><<gtiredness>><<gtending>> <</if>> <</widget>> <<widget "tendingWaterAllDryBeds">> <<wearProp "watering can">> <<set $_plotsToWater to _args[0]>> <<for $_plot range $_plotsToWater>> <<set $_plot.water to 1>> <<set _waterTime to setup.tending.wateringTimes[$_plot.size]>> <<pass _waterTime>><<event_trigger>> <</for>> <<set $tendingvars.all_plots_watered to true>> <</widget>> <<widget "tendingPlantSeedsOptions">> <<set _location to _args[0]>> <<set _plantbed to _args[1]>> <<if $plants_known.length is 0>> Search wild areas for seeds to plant. <</if>> <<switch _location>> <<case "farm">> <<set _irrigation to ($farm.irrigation ? $farm.irrigation : 0)>> <<default>> <<set _irrigation to 0>> <</switch>> <<for _plantType range $plants_known>> <br> <<set $_plant to setup.plants[_plantType]>> <<if !$_plant>> <span class="red">Plant type '<<print _plantType>>' not found.</span> <br><br> Please report this. <<elseif $_plant.season.includes(Time.season) or (_location is "garden" and $alex_greenhouse gte 3)>> <<set $_name to $_plant.seed_name ? $_plant.seed_name : $_plant.plural>> /* comparing soil types; check if target bed is compatible with the seed's soil type */ <<if $_plant.bed is _plantbed.bed>> <<switch _plantbed.size>> <<case "small">><<set _passTime to 30>> <<case "medium">><<set _passTime to 90>> <<default>><<set _passTime to 180>> <</switch>> <<set $_timeString to getTimeString(_passTime)>> <<capture _passTime _plantbed _plantType>> <<if $options.images is 1 and $_plant.icon>> <img class="tending_icon" @src="`img/misc/icon/tending/` + $_plant.icon"> <</if>> <<link "Plant $_name ($_timeString)" $passage>><<pass _passTime>><<run plantSeedsInPlot(_plantbed, _plantType)>><</link>> <</capture>> <<if $statdisable is "f">> <span class="orange">(<<print $_plant.days>> days)</span> <</if>> <<else>> <span class="blue"><<print $_name.toLocaleUpperFirst()>> only grow in <<print $_plant.bed>>.</span> <</if>> <<else>> <<tending_season_notice $_plant>> <</if>> <</for>> <br> <</widget>> <<widget "tendingTillOptions">> <<set _plantbed to _args[0]>> <<if currentSkillValue('tending') gte 1500>> <<set _baseTime to 3>> <<set _baseTiredness to 1>> <<else>> <<set $_ti to Math.clamp(Math.floor(currentSkillValue('tending') / 200), 0, 6)>> <<set _baseTime to [30,25,20,15,10,5,4][$_ti]>> <<set _baseTiredness to [6,5,4,3,2,1,1][$_ti]>> <</if>> <<if _plantbed.size is "medium">> <<set _baseTime *= 3>> <<set _baseTiredness *= 2>> <<elseif _plantbed.size is "large">> <<set _baseTime *= 12>> <<set _baseTiredness *= 6>> <</if>> <<set _timeString to getTimeString(_baseTime)>> <<if $farm_attack_timer is 0>> <<set $_timeUntilAttack to ((23 - Time.hour) * 60) + (60 - Time.minute)>> <</if>> <<if $leftarm is "bound" and $rightarm is "bound">> <span class="red">Can't till when your arms are bound.</span> <br> <<else>> <<if $location is "alex_farm" and _baseTime gte $_timeUntilAttack>> <span class="pink">Not enough time to till the field before Remy's arrival.</span> <<else>> <<capture _baseTiredness _baseTime _plantbed>> <<gardenicon "till">> <<link "Till (_timeString)" $passage>> <<set $tendingvars.plot_tilled to true>> <<tiredness _baseTiredness>><<physique _baseTiredness>> <<pass _baseTime>> <<if $location is "farm">> <<farm_count _baseTime>> <</if>> <<set _plantbed.till to 1>> <</link>><<gtiredness>> <</capture>> <</if>> <br> <<if $fertiliser.current gte 1 and _plantbed.quality lt 4 and currentSkillValue('tending') gte 400>> <<set _baseTimeFert to Math.floor(_baseTime * 1.5)>> <<set _timeString to getTimeString(_baseTimeFert)>> <<set _fertTiredness to Math.floor(_baseTiredness * 1.5)>> <<capture _baseTimeFert _fertTiredness _plantbed>> <<gardenicon "fertiliser">> <<link "Till and apply fertiliser (_timeString)" $passage>> /* Till */ <<set $tendingvars.plot_tilled_fertiliser to true>> <<tiredness _fertTiredness>><<physique _fertTiredness>> <<pass _baseTimeFert>> <<if $location is "farm">> <<farm_count _baseTimeFert>> <</if>> <<set _plantbed.till to 1>> /* Fertilise */ <<set $fertiliser.current-->><<set $fertiliser.used++>> <<set _plantbed.quality++>> <<if !$backgroundTraits.includes("greenthumb")>> <<if _plantbed.baseQuality is undefined>> <<set _plantbed.baseQuality to clone(_plantbed.quality - 1)>> <</if>> <<set _plantbed.fertiliserDecay to 2>> <<if _plantbed.size isnot "large">> <<set _plantbed.fertiliserDecay++>> <</if>> <</if>> <</link>><<gtiredness>> <</capture>> <br> <</if>> <</if>> <</widget>> <<widget "plot_effects">> <<if $tendingvars.plot_watered>> You water the plot. <span class="gold">You get a good workout.</span> <br> <<elseif $tendingvars.all_plots_watered>> You water the plots. <span class="gold">You get a good workout.</span> <br> <</if>> <<if $tendingvars.harvest>> You harvest <<number $tendingvars.harvest_amount>> <<print $tendingvars.harvest_name>>. <<if $tendingvars.plotDecay>> The fertiliser effect has decayed<<if $tendingvars.plotDecay is 2>> completely<</if>>. <</if>> <br> <</if>> <<if $tendingvars.plot_tilled>> <<wearProp "hoe">> You get to work removing weeds and tilling the soil. It's hard going, but when you're done the soil is ready for planting. <span class="gold">You get a good workout.</span> <br> <</if>> <<if $tendingvars.plot_tilled_fertiliser>> <<wearProp "hoe">> You get to work removing weeds and tilling the soil while mixing in some fertiliser. It's hard going, but when you're done the soil is ready for planting. <span class="gold">You get a good workout.</span> <</if>> <<if $tendingvars.plot_planted>> You plant the seeds in the cool earth. <br> <</if>> <<if Weather.precipitation is "rain">> <span class="green">The rain soaks the ground.</span> <br> <</if>> <<run unsetTendingVars()>> <</widget>> <<widget "tending_harvest">> /* Argument is the plot you want to harvest */ <<set $_plot to _args[0]>> <<set $_type to $_plot.plant>> <<if $plants[$_type] is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": 0}>> <<elseif $plants[$_type].name is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": $plants[$_type].amount}>> <</if>> <<switch $_plot.size>> <<case "small">> <<set _tending_amount to random(10, (currentSkillValue('tending') / 20) + 10)>> <<case "medium">> <<set _tending_amount to random(10, (currentSkillValue('tending') / 10) + 20)>> <<default>> <<set _tending_amount to random(10, (currentSkillValue('tending') / 2) + 50)>> <</switch>> <<set _tending_amount *= setup.plants[$_type].multiplier>> <<switch Math.clamp($_plot.quality, 1, 4)>> <<case 4>> <<set _tending_amount *= 1.6>> <<case 3>> <<set _tending_amount *= 1.4>> <<case 2>> <<set _tending_amount *= 1.2>> <</switch>> <<if !$backgroundTraits.includes("greenthumb") and $tending is 1000 and $plants_known.length gte 16 and ($fertiliser.used gte 40 or ($fertiliser.used gte 25 and $farm_stage gte 6))>> <<run $backgroundTraits.pushUnique("greenthumb")>> <span class="gold">Spending a large amount of time in the dirt has given you a green thumb.</span> <br> <</if>> <<if $backgroundTraits.includes("greenthumb")>> <<set _tending_amount *= 1.2>> <</if>> <<set _tending_amount *= $tending_yield_factor>> <<set _tending_amount to Math.trunc(_tending_amount)>> <<set $plants[$_type].amount += _tending_amount>> <<set $tendingvars.harvest to true>> <<set $tendingvars.harvest_amount to _tending_amount>> <<set $tendingvars.harvest_name to (_tending_amount is 1 ? setup.plants[$_type].name.replace(/_/g," ") : setup.plants[$_type].plural)>> <</widget>> <<widget "tending_pick">> /* * First argument: plant type. * Second argument: minimum number picked. * Third argument: maximum number picked. */ <<set $_type to _args[0]>> <<if $plants[$_type] is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": 0}>> <<elseif $plants[$_type].name is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": $plants[$_type].amount}>> <</if>> <<if _args[2] gte 1>> <<set _tending_amount to random(_args[1], _args[2])>> <<else>> <<set _tending_amount to random(1, 5)>> <</if>> <<if !setup.plants[$_type].special.includes("large") and setup.plants[$_type].bed isnot "bird_nest">> <<set _tending_amount *= (1 + (currentSkillValue('tending') / 1000))>> <</if>> <<if $backgroundTraits.includes("greenthumb")>> <<set _tending_amount *= 1.2>> <</if>> <<set _tending_amount to Math.trunc(_tending_amount)>> <<set $plants[$_type].amount += _tending_amount>> <<set $wild_plant_stat += _tending_amount>> You pick <<if $_type is "bird_egg">> up <</if>> <<if _tending_amount is 1>> <<if (["a","e","i","o","u","A","E","I","O","U"].some(letter => $_type.startsWith(letter)))>> an <<else>> a <</if>> <<if $options.images is 1 and setup.plants[$_type].icon>> <img class="tending_icon" @src="`img/misc/icon/tending/` + setup.plants[$_type].icon"> <</if>> <<print setup.plants[$_type].name.replace(/_/g," ")>>. <<else>> <<if $options.images is 1 and setup.plants[$_type].icon>> <img class="tending_icon" @src="`img/misc/icon/tending/` + setup.plants[$_type].icon"> <</if>> <<number _tending_amount>> <<print setup.plants[$_type].plural>>. <</if>> <</widget>> <<widget "tending_give">> <<if _args[0]>> <<set $_type to _args[0]>> <<if $plants[$_type] is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": 0}>> <<elseif $plants[$_type].name is undefined>> <<set $plants[$_type] to {"name": setup.plants[$_type].name, "plural": setup.plants[$_type].plural, "amount": $plants[$_type].amount}>> <</if>> <<set $plants[$_type].amount += (_args[1] ? _args[1] : 1)>> <</if>> <</widget>> <<widget "tending_season_notice">> <<set $_plant to _args[0]>> <span class="blue"> <<set $_seasons to formatList($_plant.season)>> <<print $_plant.plural.toLocaleUpperFirst()>> can only be planted in $_seasons. </span> <</widget>><<widget "setLocalPronouns">> <<run App.Utils.setLocalPronouns(_args[0], _args[1])>> <</widget>> <<widget "capitalise">><<silently>> <<set _text_output to _text_output?.toLocaleUpperFirst()>> <</silently>>_text_output<</widget>> <<widget "catcall">> "<<print either( "Hey beautiful.", "Hey gorgeous.", "Looking good.", "Looking fine.", "Looking pretty today, <<girl>>.", "Hey there, sexy <<lady>>.", "Wow, you're really pretty.", "You have beautiful eyes, <<girl>>.", "I like your hair, cutie.", "You look sumptuous, <<girl>>.", "You look ravishing, <<girl>>.", "You look stunning, <<girl>>.", "You look superb, <<girl>>.", "Nice <<bottomsimple>>.", "Ass and legs.", "Nice legs.", "I'd love a taste of you.", "I'd love to run my tongue over that body sometime.", "I'm gonna fuck the shit out of you someday.", "You're way too sexy to be walking alone, <<girl>>.", "Hey cutie, bring that ass over here.", "Hey <<girl>>, want to hang out?", "Hey <<girl>>, want some of this?", "Hey sexy, give me your number.", "Where do you live, <<girl>>? Maybe I'll come give you a visit.", "Hey sexy, come here and let's have some fun.", "Come here and let me see your pretty face.", "Why don't you come over here and we can talk, sexy?", "Hey, do you have a <<partnerfriend>>?", "I bet your <<partnerfriend>> doesn't appreciate you like I would.", "Hey cutie, want to be my <<girlfriend>>?", "Your <<partnerfriend>> is a lucky <<print $player.gender_appearance is 'm'? 'lady' : 'man'>>.")>>" <</widget>> <<widget "catcalllewd">> "<<print either( "Looks like someone wants to be raped.", "I bet you're hoping someone will rape you, right <<girl>>?", "Do you want to be raped that badly, <<girl>>?", "You can't complain if someone hurts you while walking around like that.", "Don't bother pretending to be a victim after this. You'll get what's coming to you, slut.", "Damn, are you trying to get yourself raped?", "Why don't you bring those nice lips over here, <<girl>>?", "Bend over for us, let us get a good look at you.", "Looking good, <<girl>>! I wonder what sounds you'd make in bed!", "What a slut!", "What a whore!", "What a pervert!", "Filthy slut!", "Filthy whore!", "Filthy pervert!", "Damn you're a sexy <<bitch>>.", "Why would you dress like that?", "Do you think that's an appropriate way to dress?", "Jesus, <<girl>>, have some modesty.", "Hey! What makes you think we want to see that? Fucking slut.", "Well aren't you a pervert.", "I bet you like showing off like this, pervert.", "Does it turn you on to expose yourself like this, slut?", "That's one way to get attention.", "You want attention that badly, <<girl>>?", "If a show like this is free, then how much for going all the way?", "L-lewd!", "P-pervert!")>>" <</widget>> /* Note: Has a low number of variaitons. Consider expanding */ <<widget "catcallschool">> "<<print either( "Hey sexy.", "Hey <<girl>>.", "Looking good.", "Looking fine.", "You look cute, <<girl>>.", "You look ravishing, <<girl>>.", "You look stunning, <<girl>>.", "You look superb, <<girl>>.", "Hey <<girl>>, want some of this?", "Nice <<bottomsimple>>.", "You look tasty.")>>" <</widget>> <<widget "anticatcall">> "<<print either( "Do you talk to your family that way?", "Would you say something like that to a family member?", "If your family heard you say that, what do you think they'd say?", "What is your problem?", "Really? At least try a little harder.", "Is that the best you can do?", "At least one of us looks good.", "Leave me alone, you creep.", "You're being a creep, just go away.", "Get away from me, you creep.", "You're a creep, you know that?", "I don't even know you. Leave me alone.", "I don't know you, go away.", "Get off my case, I don't even know you.", "Shut up, you don't even know me.", "Who even are you? Just leave me in peace.", "Does perving on strangers make you feel happy?", "Do you think that's appropriate behaviour for this situation?", "Why do you think it's okay to say things like that?", "Do you think I'd like hearing things like that?", "You're an idiot if you think that's an okay thing to say to a stranger.", "Idiot. Never speak to me like that again.", "Do you think that's funny? Idiot.", "Has that line ever worked for you?", "Is that your sad attempt at flirting?", "Do you even know how to flirt? Pathetic.", "If you think that's flirting, I pity you.", "You're pitiful.", "You're pathetic.", "Go away.", "Leave me alone.", "No. Just, no.", "Oh please.", "Ex-fucking-scuse me?", "Excuse me?", "Seriously?", "Did you seriously just say that?")>>" <</widget>> <<widget "catcallbreasts">> "<<print either( "Nice cow tits.", "Cow!", "Moo moo!", "Look at those milkers.", "Let me get a taste of those milkers.", "Those are some real milky tits you got there.", "How big are your tits?", "What size are your boobs?", "What cup size are those?", "What's the cup size on those honkers?", "Damn, how big are your boobs?", "Tell us your cup size.", "Are those natural?", "Look at the size of those.", "Look at those tits.", "Jesus, those jugs must be heavy.", "Those are some big honkers.", "Boing boing!", "That bounce!", "Bounce those tits for us.", "Jump for us! I want to see those puppies bounce.", "Melon tits!", "That rack.", "Nice rack, <<girl>>.", "Nice tits.", "Your tits are lovely.", "Your boobs are beautiful.", "Your tits are really nice.", "I love your tits.", "Your boobs are amazing.", "You have some seriously lovely tits, <<girl>>.", "Your breasts are so pretty, even through your <<top>>.", "You have some of the sexiest breasts I've ever seen.", "I bet all the other girls are jealous of those.", "You should be proud of those breasts, <<girl>>.", "Those tits are a town treasure.", "God damn, I think you have the best tits I've seen outside of porn.", "I think those are the best tits I've seen all week.", "Now that's a rack to die for.", "Damn, back problems are so sexy.", "Do you ever get back problems from those?", "Wow, those knockers are bigger than my sister's.", "Wow, those knockers are bigger than my mother's.", "Nice tits, keep up the good work.", "Bloody hell, <<girl>>, I could fit my whole book collection on that rack.", "Does being that top heavy ever make it hard to balance?", "Damn, can your <<top>> even handle those melons?", "Jesus <<girl>>, I can see your <<top>> straining from here.", "Damn, talk about marshmallow tits.", "Damn <<girl>>, I'd put my lactose intolerance on the line for those.", "I want to just put them in my mouth.", "Hey, those tits look heavy. Need help holding them?", "Taking the puppies out for a walk, are we?", "Oh, wow. Do those have their own gravitational pull?", "Your boobs are so big I feel their gravity pulling me in from here.", "Those airbags could stop a car crash.", "Holy hell, I have to go cross-eyed to look at both of those.")>>" <</widget>> <<widget "hairmapcolourtext">> <<if _args[0] in setup.colours.hair_map>> <<print setup.colours.hair_map[_args[0]].name>> <<elseif _args[0] and !_colour>> <<print _args[0]>> <<else>> <<print _colour>> <</if>> <</widget>> <<widget "haircolourtext">> <<if $hairColourStyle == "gradient">> <<print "two-toned">> <<else>> <<hairmapcolourtext $haircolour>> <</if>> <</widget>> <<widget "hairfringecolourtext">> <<if $hairFringeColourStyle == "gradient">> <<print "two-toned">> <<else>> <<hairmapcolourtext $hairfringecolour>> <</if>> <</widget>> <<widget "charles">><<silently>> <<if $wraith.mimic is "Morgan" and $wraith.state is "haunt" and random(1,3) is 1>> <<set _text_output to "graverobber">> <<else>> <<set _text_output to ($player.gender_appearance is "m" ? "Charles" : "Charlene")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "npcexposetext">><<silently>> <<person>><<set _person to _text_output>> <<his>><<set _his to _text_output>> <<if $pronoun is "m">> <<set _text_output to "The " + _person + " unzips " + _his + " fly, ">> <<else>> <<set _text_output to "The " + _person + " lifts up " + _his + " skirt, ">> <</if>> <<if $NPCList[0].penis isnot "none">> <<set _text_output to _text_output + "revealing " + _his + " erect penis.">> <<else>> <<set _text_output to _text_output + "revealing " + _his + " moist pussy.">> <</if>> <</silently>>_text_output<</widget>> <!-- Commented out for deprecation. Use: ?bodypart See 03-JavaScript/Templates/.. <<widget "bodyparts">> <<print either("hands", "feet", "thighs", "legs", "tummy", "cheek", "bottom", "chest", "face", "arms", "shoulder", "back")>> <</widget>> --> <!-- Commented out for deprecation. Use: ?lowerbodypart See 03-JavaScript/Templates/.. <<widget "lowerbodyparts">> <<print either("hands", "feet", "thighs", "bottom")>> <</widget>> --> <<widget "word">><<silently>> /* usage example: <<word "upper">> */ <<set _text_output to "">> <<if _args[0]>> <<set $_result to setup.clothes[_args[0]][clothesIndex(_args[0],$worn[_args[0]])].word>> <<set _text_output to ($_result isnot "n" ? $_result : "")>> <</if>> <</silently>>_text_output<</widget>> <<widget "genitalsword">><<word "genitals">><</widget>> <<widget "plural">><<silently>> <<if setup.clothes[_args[0]][clothesIndex(_args[0],$worn[_args[0]])].plural is 1>> <<set _text_output to "are">> <<else>> <<set _text_output to "is">> <</if>> <</silently>>_text_output<</widget>> <<widget "is">><<silently>> <<outfitChecks>> <<if _args[0].plural is 1>> <<set _text_output to "are">> <<else>> <<set _text_output to "is">> <</if>> <</silently>>_text_output <</widget>> <<widget "overupperplural">> <<plural "over_upper">> <</widget>> <<widget "overlowerplural">> <<plural "over_lower">> <</widget>> <<widget "upperplural">> <<plural "upper">> <</widget>> <<widget "lowerplural">> <<plural "lower">> <</widget>> <<widget "underupperplural">> <<plural "under_upper">> <</widget>> <<widget "underlowerplural">> <<plural "under_lower">> <</widget>> <<widget "genitalsplural">> <<plural "genitals">> <</widget>> <<widget "itis">><<silently>> <<if setup.clothes[_args[0]][clothesIndex(_args[0],$worn[_args[0]])].plural is 1>> <<set _text_output to "they are">> <<else>> <<set _text_output to "it is">> <</if>> <</silently>>_text_output<</widget>> <<widget "overupperitis">> <<itis "over_upper">> <</widget>> <<widget "overloweritis">> <<itis "over_lower">> <</widget>> <<widget "upperitis">> <<itis "upper">> <</widget>> <<widget "loweritis">> <<itis "lower">> <</widget>> <<widget "underupperitis">> <<itis "under_upper">> <</widget>> <<widget "underloweritis">> <<itis "under_lower">> <</widget>> <<widget "it">><<silently>> <<if setup.clothes[_args[0]][clothesIndex(_args[0],$worn[_args[0]])].plural is 1>> <<set _text_output to "them">> <<else>> <<set _text_output to "it">> <</if>> <</silently>>_text_output<</widget>> <<widget "overupperit">> <<it "over_upper">> <</widget>> <<widget "overlowerit">> <<it "over_lower">> <</widget>> <<widget "upperit">> <<if $worn.upper.name is "naked" and $worn.under_upper.type.includes("covered")>><<it "under_upper">><<else>><<it "upper">><</if>> <</widget>> <<widget "lowerit">> <<if $worn.lower.name is "naked" and $worn.under_lower.type.includes("covered")>><<it "under_lower">><<else>><<it "lower">><</if>> <</widget>> <<widget "underupperit">> <<it "under_upper">> <</widget>> <<widget "underlowerit">> <<it "under_lower">> <</widget>> <<widget "feetit">> <<it "feet">> <</widget>> <<widget "legsit">> <<it "legs">> <</widget>> <<widget "handsit">> <<it "hands">> <</widget>> <<widget "has">><<silently>> <<if setup.clothes[_args[0]][clothesIndex(_args[0],$worn[_args[0]])].plural is 1>> <<set _text_output to "have">> <<else>> <<set _text_output to "has">> <</if>> <</silently>>_text_output<</widget>> <<widget "overupperhas">> <<has "over_upper">> <</widget>> <<widget "overlowerhas">> <<has "over_lower">> <</widget>> <<widget "upperhas">> <<if $worn.upper.name is "naked" and $worn.under_upper.type.includes("covered")>> <<has "under_upper">> <<else>> <<has "upper">> <</if>><</widget>> <<widget "lowerhas">> <<if $worn.lower.name is "naked" and $worn.under_lower.type.includes("covered")>> <<has "under_lower">> <<else>> <<has "lower">> <</if>> <</widget>> <<widget "underupperhas">> <<has "under_upper">> <</widget>> <<widget "underlowerhas">> <<has "under_lower">> <</widget>> <<widget "that">><<silently>> <<if setup.clothes[_args[0]][clothesIndex(_args[0],$worn[_args[0]])].plural is 1>> <<set _text_output to "those">> <<else>> <<set _text_output to "that">> <</if>> <</silently>>_text_output<</widget>> <<widget "overupperthat">> <<that "over_upper">> <</widget>> <<widget "overlowerthat">> <<that "over_lower">> <</widget>> <<widget "upperthat">> <<that "upper">> <</widget>> <<widget "lowerthat">> <<that "lower">> <</widget>> <<widget "underupperthat">> <<that "under_upper">> <</widget>> <<widget "underlowerthat">> <<that "under_lower">> <</widget>> <<widget "genitalsthat">> <<that "genitals">> <</widget>> <<widget "feetthat">> <<that "feet">> <</widget>> <<widget "legsthat">> <<that "legs">> <</widget>> <<widget "handsthat">> <<that "hands">> <</widget>> <<widget "generatePronouns">> <<if _args[0]>> <<set _args[0].pronouns to {}>> <<switch _args[0].pronoun>> <<case "m">> <<set _args[0].pronouns.he = "he">> <<set _args[0].pronouns.his = "his">> <<set _args[0].pronouns.hers = "his">> <<set _args[0].pronouns.him = "him">> <<set _args[0].pronouns.himself = "himself">> <<set _args[0].pronouns.man = "man">> <<set _args[0].pronouns.boy = "boy">> <<set _args[0].pronouns.men = "men">> <<case "f">> <<set _args[0].pronouns.he = "she">> <<set _args[0].pronouns.his = "her">> <<set _args[0].pronouns.hers = "hers">> <<set _args[0].pronouns.him = "her">> <<set _args[0].pronouns.himself = "herself">> <<set _args[0].pronouns.man = "woman">> <<set _args[0].pronouns.boy = "girl">> <<set _args[0].pronouns.men = "women">> <<case "i">> <<set _args[0].pronouns.he = "it">> <<set _args[0].pronouns.his = "its">> <<set _args[0].pronouns.hers = "its">> <<set _args[0].pronouns.him = "it">> <<set _args[0].pronouns.himself = "itself">> <<set _args[0].pronouns.man = "man">> <<set _args[0].pronouns.boy = "boy">> <<set _args[0].pronouns.men = "men">> <<case "n">> <<set _args[0].pronouns.he = "one">> <<set _args[0].pronouns.his = "the">> <<set _args[0].pronouns.hers = "its">> <<set _args[0].pronouns.him = "them">> <<set _args[0].pronouns.himself = "themselves">> <<set _args[0].pronouns.man = "man">> <<set _args[0].pronouns.boy = "k">> <<set _args[0].pronouns.men = "men">> <<case "t">> <<set _args[0].pronouns.he = "they">> <<set _args[0].pronouns.his = "their">> <<set _args[0].pronouns.hers = "they">> <<set _args[0].pronouns.him = "them">> <<set _args[0].pronouns.himself = "themselves">> <<set _args[0].pronouns.man = "man">> <<set _args[0].pronouns.boy = "boy">> <<set _args[0].pronouns.men = "men">> <</switch>> <</if>> <</widget>> <!-- [0] - string prints string [0] prepended with an indefinite article based on the [0]'s first character --> <<widget "a">><<silently>> <<if ["a","e","i","o","u","A","E","I","O","U"].includes(_args[0][0])>> <<set _text_output to "an " + _args[0]>> <<else>> <<set _text_output to "a " + _args[0]>> <</if>> <</silently>>_text_output<</widget>> <<widget "A">><<silently>> <<a _args[0]>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "theowner">><<silently>> <<if $enemyno gte 2 and $enemytype is "man">> <<set _text_output to "the owner">> <<else>> <<he>> <</if>> <</silently>>_text_output<</widget>> <<widget "someones">> <<if _args[0] is "two">> their <<elseif _args[0] isnot undefined>> <<set $_target to _args[0]>> <<hisselect $_target>> <<else>> <<his>> <</if>> <</widget>> <<widget "someone">><<silently>> <<if _args[0] isnot undefined>> <<set $_target to _args[0]>> <<personselect $_target>><<him>> <<else>> <<him>> <</if>> <</silently>>_text_output<</widget>> <<widget "their">> <<if _args[0] isnot undefined>> <<set $_target to _args[0]>> <<hisselect $_target>> <<elseif $enemyno gte 2 and $enemytype is "man">> their <<else>> <<his>> <</if>> <</widget>> <<widget "ohe">><<silently>> <<if $enemytype is "beast">> <<bhe>> <<else>> <<he>> <</if>> <</silently>>_text_output<</widget>> <<widget "he">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "he">> <<elseif $pronoun is "f">> <<set _text_output to "she">> <<elseif $pronoun is "i">> <<set _text_output to "it">> <<elseif $pronoun is "n">> <<set _text_output to "one">> <<elseif $pronoun is "t">> <<set _text_output to "they">> <</if>> <</silently>>_text_output<</widget>> <<widget "bHe">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "He" : "She")>> <<else>> <<set _text_output to "It">> <</if>> <</silently>>_text_output<</widget>> <<widget "bhe">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "he" : "she")>> <<else>> <<set _text_output to "it">> <</if>> <</silently>>_text_output<</widget>> <<widget "bHis">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "His" : "Her")>> <<else>> <<set _text_output to "Its">> <</if>> <</silently>>_text_output<</widget>> <<widget "bhis">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "his" : "her")>> <<else>> <<set _text_output to "its">> <</if>> <</silently>>_text_output<</widget>> <<widget "bhers">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "his" : "hers")>> <<else>> <<set _text_output to "its">> <</if>> <</silently>>_text_output<</widget>> <<widget "bHim">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "Him" : "Her")>> <<else>> <<set _text_output to "It">> <</if>> <</silently>>_text_output<</widget>> <<widget "bhim">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "him" : "her")>> <<else>> <<set _text_output to "it">> <</if>> <</silently>>_text_output<</widget>> <<widget "bhimself">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "himself" : "herself")>> <<else>> <<set _text_output to "itself">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "bHimself">><<silently>> <<if typeof _args[0] is "number">> <<bhimself _args[0]>> <<else>> <<bhimself>> <</if>> <<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "bhes">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<elseif $enemyno gte 0>> <<set _na to $enemyno-1>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].monster is "monster">> <<set _text_output to ($NPCList[_na].pronoun is "m" ? "he's" : "she's")>> <<else>> <<set _text_output to "it's">> <</if>> <</silently>>_text_output<</widget>> <<widget "bHes">><<silently>> <<if typeof _args[0] is "number">> <<bhes _args[0]>> <<else>> <<bhes>> <</if>> <<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "hes">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "he's">> <<elseif $pronoun is "f">> <<set _text_output to "she's">> <<elseif $pronoun is "i">> <<set _text_output to "it's">> <<elseif $pronoun is "n">> <<set _text_output to "one is">> <<elseif $pronoun is "t">> <<set _text_output to "they are">> <</if>> <</silently>>_text_output<</widget>> <<widget "his">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "his">> <<elseif $pronoun is "f">> <<set _text_output to "her">> <<elseif $pronoun is "i">> <<set _text_output to "its">> <<elseif $pronoun is "n">> <<set _text_output to "the">> <<elseif $pronoun is "t">> <<set _text_output to "their">> <</if>> <</silently>>_text_output<</widget>> <<widget "hers">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "his">> <<elseif $pronoun is "f">> <<set _text_output to "hers">> <<elseif $pronoun is "i">> <<set _text_output to "its">> <<elseif $pronoun is "n">> <<set _text_output to "the">> <<elseif $pronoun is "t">> <<set _text_output to "theirs">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "He">><<silently>> <<if _args[0]>> <!-- Add the option to call for a named NPC's name --> <<if $NPCNameList.includes(_args[0])>> <<set $pronoun to C.npc[_args[0]].pronoun>> <<else>> <<if Number.isInteger(_args[0]) and between(_args[0],0,5)>> <<personselect _args[0]>> <</if>> <</if>> <</if>> <<if $NPCList[$index].intro is 1>> <<set $NPCList[$index].intro to 0>> <<if $npcrow.includes($index)>> <<if $npc.includes("Black Wolf") or $npc.includes("Great Hawk")>> <<set _text_output to "The " + $npc[$npcrow.indexOf($index)]>> <<elseif $npc.includes("Ivory Wraith")>> <<set _text_output to "The pale figure">> <<elseif $NPCList[$index].name_known is 0>> <<set _text_output to "The " + $NPCList[$index].description>> <<else>> <<set _text_output to $npc[$npcrow.indexOf($index)]>> <</if>> <<else>> <<if $enemytype is "beast">> <<beasttype>><<set _text_output to "The " + _text_output>> <<elseif $NPCList[$index].name_known is 1>> <<set _text_output to $NPCList[$index].name>> <<elseif $NPCList[$index].role is "normal">> <<person>><<set _text_output to "The " + _text_output>> <<else>> <<set _text_output to "The " + $NPCList[$index].description + " " + $NPCList[$index].role>> <</if>> <</if>> <<else>> <<if $pronoun>> <<he>><<capitalise>> <<else>> <<set _text_output to `<span class="red">[ERROR: undefined pronoun in "He"]</span>`>> <</if>> <</if>> <</silently>>_text_output<</widget>> <!-- Use when you want to force just the pronoun "He" and skip the .intro nonsense.--> <<widget "He_Short">><<silently>> <<if $pronoun>> <<he>><<capitalise>> <<else>> <<set _text_output to `<span class="red">[ERROR: undefined pronoun in "He_Short"]</span>`>> <</if>> <</silently>>_text_output<</widget>> <<widget "His">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "His">> <<elseif $pronoun is "f">> <<set _text_output to "Her">> <<elseif $pronoun is "i">> <<set _text_output to "Its">> <<elseif $pronoun is "n">> <<set _text_output to "The">> <<elseif $pronoun is "t">> <<set _text_output to "Their">> <</if>> <</silently>>_text_output<</widget>> <<widget "Hers">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "His">> <<elseif $pronoun is "f">> <<set _text_output to "Hers">> <<elseif $pronoun is "i">> <<set _text_output to "Its">> <<elseif $pronoun is "n">> <<set _text_output to "The">> <<elseif $pronoun is "t">> <<set _text_output to "Theirs">> <</if>> <</silently>>_text_output<</widget>> <<widget "Hes">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "He's">> <<elseif $pronoun is "f">> <<set _text_output to "She's">> <<elseif $pronoun is "i">> <<set _text_output to "It's">> <<elseif $pronoun is "n">> <<set _text_output to "One is">> <<elseif $pronoun is "t">> <<set _text_output to "They are">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "him">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "him">> <<elseif $pronoun is "f">> <<set _text_output to "her">> <<elseif $pronoun is "i">> <<set _text_output to "it">> <<elseif $pronoun is "n">> <<set _text_output to "them">> <<elseif $pronoun is "t">> <<set _text_output to "them">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "Him">><<silently>> <<him>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "hisselect">> <!-- Note calls range from 0-5 corresponding to NPCs 1-6. This was done to simplify FOR loops --> <<set _n to _args[0]>> <<if $enemytype is "man" and $enemyno gte 2>> <<personselect _n>> <!-- NPC's name will only appear if they are selected --> <<if $NPCList[_n].intro is 1>> <<if $npcrow.includes(_n) and $NPCList[_n].name_known is 1>> <<print $npc[$npcrow.indexOf(_n)]>>'s <<else>> the <<persons>> <</if>> <<set $NPCList[_n].intro to 0>> <<else>> <<his>> <</if>> <<elseif $enemytype is "beast">> <<bhis>> <<else>> <<his>> <</if>> <</widget>> <!-- Keeping his1-6 for legacy support as of v2.3 --> <<widget "his1">> <<person1>><<his>> <</widget>> <<widget "his2">> <<person2>><<his>> <</widget>> <<widget "his3">> <<person3>><<his>> <</widget>> <<widget "his4">> <<person4>><<his>> <</widget>> <<widget "his5">> <<person5>><<his>> <</widget>> <<widget "his6">> <<person6>><<his>> <</widget>> <<widget "himself">><<silently>> <!-- Add the option to call for named NPCs individually --> <<if _args[0]>> <<set $pronoun to C.npc[_args[0]].pronoun>> <</if>> <<if $pronoun is "m">> <<set _text_output to "himself">> <<elseif $pronoun is "i">> <<set _text_output to "itself">> <<else>> <<set _text_output to "herself">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "people">><<silently>> <<if maleChance() is 100>> <<set _text_output to "men">> <<elseif maleChance() is 0>> <<set _text_output to "women">> <<else>> <<set _text_output to "men and women">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "peopley">><<silently>> <<if maleChance() is 100>> <<set _text_output to "boys">> <<elseif maleChance() is 0>> <<set _text_output to "girls">> <<else>> <<set _text_output to "boys and girls">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "peopleyv">><<silently>> <<if $malevictimchance is 100>> <<set _text_output to "boys">> <<elseif $malevictimchance is 0>> <<set _text_output to "girls">> <<else>> <<set _text_output to "boys and girls">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "persony">><<silently>> <<rng>> <<set _text_output to ($rng lte maleChance()? "boy" : "girl")>> <</silently>><<print _text_output>><</widget>> <<widget "group">><<silently>> <<if $enemyno gte 3 or ($combat is 1 and $enemynomax gte 3)>> <<for _g to 0; _g lt $NPCList.length; _g++>> <<if $NPCList[_g].pronoun is "m">> <<set $_group_man to true>> <<elseif $NPCList[_g].pronoun is "f">> <<set $_group_woman to true>> <</if>> <</for>> <<if $_group_man and $_group_woman>> <<set _text_output to ($NPCList[0].teen is 1? "girls and boys" : "men and women")>> <<elseif $_group_man and !$_group_woman>> <<set _text_output to ($NPCList[0].teen is 1? "boys" : "men")>> <<elseif !$_group_man and $_group_woman>> <<set _text_output to ($NPCList[0].teen is 1? "girls" : "women")>> <</if>> <<elseif $enemyno is 2 or ($combat is 1 and $enemynomax is 2)>> <<if $NPCList[0].pronoun isnot $NPCList[1].pronoun>> <<set _text_output to ($NPCList[0].teen is 1? "girl and boy" : "man and woman")>> <<elseif $NPCList[0].pronoun is "m">> <<set _text_output to ($NPCList[0].teen is 1? "boys" : "men")>> <<elseif $NPCList[0].pronoun is "f">> <<set _text_output to ($NPCList[0].teen is 1? "girls" : "women")>> <</if>> <<else>> <<person>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "fullGroup">><<silently>> <<set $_person to []>> <<for _fg to 0; _fg lt $enemyno; _fg++>> <<personselect _fg>><<person>> <<set $_person.push(_text_output)>> <</for>> <<set _text_output to formatList($_person, "and", true)>> <<if _args[0] is "cap">><<set _text_output to _text_output.toLocaleUpperFirst()>><</if>> <</silently>><<print _text_output>><</widget>> <<widget "enumeratedGroup">><<silently>> <<set $_menCount to $NPCList.countWith(npc => npc.pronoun is "m")>> <<set $_womenCount to $NPCList.countWith(npc => npc.pronoun is "f")>> <<silently>> <<number $_menCount>><<set $_men to _text_output + " " + ($_menCount is 1 ? "man" : "men")>> <<number $_womenCount>><<set $_women to _text_output + " " + ($_womenCount is 1 ? "woman" : "women")>> <</silently>> <<set [$_first, $_second, $_secondCount] to ($_menCount gte $_womenCount ? [$_men, $_women, $_womenCount] : [$_women, $_men, $_menCount])>> <<set _text_output to $_first>> <<if $_secondCount gt 0>> <<set _text_output += " and " + $_second>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "EnumeratedGroup">><<silently>> <<enumeratedGroup>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "gendercheck">> <<if !["m", "f"].includes($player.gender_appearance)>><<set _text_output to "<span class=\"red\">ERROR: Unexpected $$player.gender_appearance: [$player.gender_appearance]</span>">><</if>> <</widget>> <<widget "pshe">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "he" : "she")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "pShe">><<silently>> <<pshe>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "pshes">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "he's" : "she's")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "pShes">><<silently>> <<pshes>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "pher">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "his" : "her")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "phers">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "his" : "hers")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "pHer">><<silently>> <<pher>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "phim">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "him" : "her")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "pHim">><<silently>> <<phim>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "pherself">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "himself" : "herself")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "pHerself">><<silently>> <<pherself>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "psir">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "sir" : "ma'am")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "pSir">><<silently>> <<psir>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "pmother">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "father" : "mother")>><<gendercheck>> <</silently>>_text_output<</widget>> <<widget "pMother">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "Father" : "Mother")>><<gendercheck>> <</silently>>_text_output<</widget>> <!-- Commented out for deprecation. Use: ?animals See 03-JavaScript/Templates/.. <<widget "animals">> <<print either("bees", "elephants", "bunnies", "octopi", "chimps", "squid", "molluscs", "monkeys", "wasps", "baboons", "wolves", "bears", "elk", "seals", "dolphins", "whales", "jellyfish", "cats", "lions", "tigers", "cheetahs", "wild dogs", "panthers", "moles", "badgers", "honey badgers", "ducks", "geese", "sparrows", "robins", "perch", "pike", "salmon", "sturgeon", "frogs", "newts", "crocodiles", "toads", "hawks", "eagles", "cuttlefish", "pythons", "anacondas", "adders", "cobras", "sturgeon", "trout", "salmon", "tuna", "deer", "robins")>> <</widget>> --> <!-- Commented out for deprecation. Use: ?garden See 03-JavaScript/Templates/.. <<widget "garden">> <<print either("prune flowers", "prune trees", "prune bushes", "water flowers", "remove weeds")>> <</widget>> --> <!--_args[0] - uses "pc", the named npc's name, or a number--> <!--_args[1] - forces the pregnancy description--> <<widget "bellyDescription">><<silently>> <<if !isNaN(_args[0])>> <<set $_size to _args[0]>> <<elseif _args[0] is "pc">> <<set $_size to $bellySizeDebug || playerBellySize()>> <<set $_pregnant to ($bellySizeDebug isnot undefined) || playerIsPregnant()>> <<elseif C.npc[_args[0]]>> <<set $_size to npcBellySize(_args[0])>> <<set $_pregnant to npcIsPregnant(_args[0])>> <</if>> <<if $_pregnant or _args[1]>> <<switch $_size>> <<case 7 8 9 10 11>><<set $_text_output to "baby bump">> <<case 12 13 14>><<set $_text_output to "growing baby bump">> <<case 15 16 17 18>><<set $_text_output to "pregnant belly">> <<case 19 20 21 22 23 24>><<set $_text_output to "heavily pregnant belly">> <<default>><<set $_text_output to "belly">> <</switch>> <<else>> <<switch $_size>> <<case 7 8 9 10 11>><<set $_text_output to "belly bump">> <<case 12 13 14>><<set $_text_output to "swollen belly">> <<case 15 16 17 18>><<set $_text_output to "large belly">> <<case 19 20 21 22 23 24>><<set $_text_output to "bulging belly">> <<default>><<set $_text_output to "belly">> <</switch>> <</if>> <</silently>><<if $_text_output>>$_text_output<</if>><</widget>> <<widget "semen">><<silently>> <<if $player.penisExist>> <<set _text_output to "semen">> <<else>> <<set _text_output to "lewd fluid">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "mouthsensitivity">><<silently>> <<if $mouthsensitivity > 3.5>> <<set _text_output2 to "sensitive ">> <<elseif $mouthsensitivity >= 2.5>> <<set _text_output2 to "tender ">> <<elseif $mouthsensitivity >= 1.5>> <<set _text_output2 to "receptive ">> <<else>> <<set _text_output2 to "">> <</if>> <<set _mouthSensitivityDescribed to true>> <</silently>><<print _text_output2>><</widget>> <<widget "breastsensitivity">><<silently>> <<if $breastsensitivity > 3.5>> <<set _text_output2 to "sensitive ">> <<elseif $breastsensitivity >= 2.5>> <<set _text_output2 to "tender ">> <<elseif $breastsensitivity >= 1.5>> <<set _text_output2 to "receptive ">> <<else>> <<set _text_output2 to "">> <</if>> <<set _breastSensitivityDescribed to true>> <</silently>><<print _text_output2>><</widget>> <<widget "bottomsensitivity">><<silently>> <<if $bottomsensitivity > 3.5>> <<set _text_output2 to "sensitive ">> <<elseif $bottomsensitivity >= 2.5>> <<set _text_output2 to "tender ">> <<elseif $bottomsensitivity >= 1.5>> <<set _text_output2 to "receptive ">> <<else>> <<set _text_output2 to "">> <</if>> <<set _bottomSensitivityDescribed to true>> <</silently>><<print _text_output2>><</widget>> <<widget "nipple">> <<if !_breastSensitivityDescribed>><<breastsensitivity>><</if>><<print "nipple">> <</widget>> <<widget "nipples">> <<nipple>>s <</widget>> <<widget "breastsizedesc">><<silently>> <<set $_breastsize to (_args[0] isnot undefined ? _args[0] : $player.breastsize)>> <<if Number.isInteger($_breastsize)>> <<set _text_output to setup.breastsizes[$_breastsize]>> <<elseif $options.debugdisable is "f">> <<set _text_output to "<span class='red'>ERROR - breastsizedesc is not a number: _args[0]</span>">> <</if>> <</silently>>_text_output<</widget>> <<widget "breasts">><<silently>> <<if Number.isInteger($player.breastsize)>> <<if $player.breastsize lte 0>> <<set _text_output to "nipples">> <<else>> <<set _text_output to setup.breastsizes[$player.breastsize] + " breasts">> <</if>> <<elseif $options.debugdisable is "f">> <<set _text_output to "ERROR - $$player.breastsize is not a number: $player.breastsize">> <</if>> <</silently>><<if !_breastSensitivityDescribed>><<breastsensitivity>><</if>><<print _text_output>><</widget>> <<widget "breastssimple">><<silently>> <<if Number.isInteger($player.breastsize)>> <<if $player.breastsize lte 0>> <<set _text_output to "nipples">> <<else>> <<set _text_output to "breasts">> <</if>> <<elseif $options.debugdisable is "f">> <<set _text_output to "ERROR - $$player.breastsize is not a number: $player.breastsize">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "chest">><<silently>> <<if Number.isInteger($player.breastsize)>> <<if $player.breastsize lte 0>> <<set _text_output to "chest">> <<else>> <<set _text_output to setup.breastsizes[$player.breastsize] + " breasts">> <</if>> <<elseif $options.debugdisable is "f">> <<set _text_output to "ERROR - $$player.breastsize is not a number: $player.breastsize">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "chestsimple">><<silently>> <<if Number.isInteger($player.breastsize)>> <<if $player.breastsize lte 0>> <<set _text_output to "chest">> <<else>> <<set _text_output to "breasts">> <</if>> <<elseif $options.debugdisable is "f">> <<set _text_output to "ERROR - $$player.breastsize is not a number: $player.breastsize">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "mouth">><<silently>> <<set _text_output to "lips">> <</silently>><<if !_mouthSensitivityDescribed>><<mouthsensitivity>><</if>><<print _text_output>><</widget>> <<widget "undertop">><<silently>> <<if $worn.under_upper.exposed lte 0>> <<set _text_output to $worn.under_upper.name>> <<else>> <<breasts>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "underoutfit">><<silently>> <<outfitChecks>> <<undies>><<set $_secondhalf to _text_output>> <<undertop>> <!-- _text_output now has top (either worn under_upper name, or breasts desc) --> <<if !_underOutfit>> <!-- Two separate items, not an outfit --> <<set _text_output += " and " + $_secondhalf>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "genitalstate">><<silently>> <<set _text_output to "">> <<if _args[0] is "penis" and $player.sex is "f" and $parasite.clit.name is "parasite">> <<set _text_output to "parasitic ">> <<elseif _args[0] is "penis" and $earSlime.focus is "impregnation" and $earSlime.growth gte 100>> <<set _text_output to "dripping ">> <<elseif _args[0] is "pussy" and $earSlime.focus is "pregnancy" and $earSlime.growth gte 100>> <<set _text_output to "dripping ">> <<elseif $orgasmcount gte 23>> <<if $orgasmdown gte 1>> <<set _text_output to "tortured ">> <<else>> <<set _text_output to "spent ">> <</if>> <<elseif $orgasmcount gte 9>> <<if $orgasmdown gte 1>> <<set _text_output to "twitching ">> <<else>> <<set _text_output to "tired ">> <</if>> <<else>> <<if $orgasmdown gte 1>> <<set _text_output to "twitching ">> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<set _text_output to "tingling ">> <<elseif $arousal gte ($arousalmax / 5) * 3>> <<set _text_output to "">> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<set _text_output to "">> <<elseif $arousal gte $arousalmax / 5>> <<set _text_output to "">> <<else>> <<set _text_output to "">> <</if>> /* ^^^ placeholders for later if people want to fill them out */ <</if>> <</if>> <<if _args[0] is "penis">> <<set _penisStateDescribed to true>> <<elseif _args[0] is "pussy">> <<set _pussyStateDescribed to true>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "bottom">><<silently>> <<set _text_output to ["slender", "slim", "modest", "cushioned", "soft", "round", "plump", "large", "huge"][Math.clamp(0, 8, $player.bottomsize)]>> /* _args[0] is a flag to prevent .pluck() from altering state random when calling from overlays */ <<set _text_output to _text_output + [" ass", " bum", " butt"].pluck(_args[0])>> <</silently>><<if !_bottomSensitivityDescribed>><<bottomsensitivity>><</if>><<print _text_output>><</widget>> <<widget "bottomsimple">><<silently>> <<set _text_output to either("ass", "bum", "butt")>> <</silently>><<print _text_output>><</widget>> <!-- Too small and too big outputs are intended as error messages so that it's more obvious what's wrong when people report bugs --> <<widget "penissize">><<silently>> <<set $_size to $combat or $playerHasStraponOverride ? playerPenisSize() : $player.penissize>> <<switch $_size>> <<case -2>><<set _text_output to "micro">> <<case -1>><<set _text_output to "mini">> <<case 0>><<set _text_output to "tiny">> <<case 1>><<set _text_output to "small">> <<case 2>><<set _text_output to "">> <<case 3>><<set _text_output to "large">> <<case 4>><<set _text_output to "enormous">> <<default>><<set _text_output to "[Widget 'penissize' - Invalid Penis Value of - " + $_size + ($playerHasStraponOverride ? " - $playerHasStraponOverride is set" : "") + "]">> <</switch>> <<set _penisSizeDescribed to true>> <</silently>><<print _text_output>><</widget>> <!-- [0] - if truthy, genital sensitivity is omitted --> <<widget "pussy">><<silently>> <<set _genital_state_text to "">> <<if !_pussyStateDescribed>> <<genitalstate "pussy">><<set _genital_state_text to _text_output>> <</if>> <<set _text_output to "">> <<if !_args[0] and !_genitalSensitivityDescribed>> <<genitalsensitivity>> <</if>> /* _args[1] is a flag to prevent .pluck() from altering state random when calling from overlays */ <<set _text_output += _genital_state_text + pussyNames().pluck(_args[1])>> <</silently>><<print _text_output>><</widget>> <!-- [0] - if truthy, genital sensitivity is omitted --> <<widget "clit">><<silently>> <<if $player.penisExist>> <<penis>> <<else>> <<set _text_output to "">> <<if !_args[0] and !_genitalSensitivityDescribed>> <<genitalsensitivity>> <</if>> <<set _text_output += "clit">> <</if>> <</silently>><<print _text_output>><</widget>> <!-- [0] - if truthy, genital sensitivity is omitted --> <<widget "penis">><<silently>> <!-- Size, skip if mentioned this passage already --> <<if _penisSizeDescribed>> <<set _penissize_text to "">> <<else>> <<penissize>><<set _penissize_text to _text_output>> <<if _penissize_text isnot "">> <<set _penissize_text to _penissize_text + " ">> <</if>> <</if>> <!-- State, skip if mentioned this passage already --> <<if _penisStateDescribed>> <<set _genital_state_text to "">> <<else>> <<genitalstate "penis">><<set _genital_state_text to _text_output>> <</if>> <<set _text_output to "">> <!-- Sensitivity, skip if mentioned this passage already --> <<if !_args[0] and !_genitalSensitivityDescribed>> <<genitalsensitivity>> <</if>> /* _args[1] is a flag to prevent .pluck() from altering state random when calling from overlays */ <<set _text_output += _penissize_text + _genital_state_text + penisNames().pluck(_args[1])>> <<if playerHasStrapon()>> <<if _args[0] isnot undefined and _args[0] is "strap-on" and $player.penisExist>> <!-- Do nothing. This is an override for wacky cases such as player masturbation --> <<else>> <<set _text_output to _penissize_text + "strap-on">> <</if>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "reveal">> <<if _args[0]>> <<if _args[0] gte 900>> <span class="red">lewd</span> <<elseif _args[0] gte 700>> <span class="pink">risqué</span> <<elseif _args[0] gte 500>> <span class="purple">seductive</span> <<elseif _args[0] gte 300>> <span class="blue">comfy</span> <<elseif _args[0] gte 200>> <span class="lblue">tasteful</span> <<elseif _args[0] gte 100>> <span class="teal">smart</span> <<else>> <span class="green">unassuming</span> <</if>> <</if>> <</widget>> <<widget "integrity">> <<if _args[0]>> <<if _args[1] is "cap">> <<if _args[0] gte 900>> <span class="green">Tough</span> <<elseif _args[0] gte 500>> <span class="teal">Sturdy</span> <<elseif _args[0] gte 200>> <span class="lblue">Firm</span> <<elseif _args[0] gte 100>> <span class="blue">Fine</span> <<elseif _args[0] gte 50>> <span class="purple">Delicate</span> <<elseif _args[0] gte 20>> <span class="pink">Fragile</span> <<else>> <span class="red">Flimsy</span> <</if>> <<else>> <<if _args[0] gte 900>> <span class="green">tough</span> <<elseif _args[0] gte 500>> <span class="teal">sturdy</span> <<elseif _args[0] gte 200>> <span class="lblue">firm</span> <<elseif _args[0] gte 100>> <span class="blue">fine</span> <<elseif _args[0] gte 50>> <span class="purple">delicate</span> <<elseif _args[0] gte 20>> <span class="pink">fragile</span> <<else>> <span class="red">flimsy</span> <</if>> <</if>> <</if>> <</widget>> <<widget "strokes">> <<if $enemyanger gte ($enemyangermax / 5) * 4>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> savagely toys with <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> viciously toys with <<else>> brutally rubs <</if>> <<elseif $enemyanger gte ($enemyangermax / 5) * 2>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 4>> roughly rubs <<elseif $enemyarousal gte ($enemyarousalmax / 5) * 2>> firmly strokes <<else>> passionately strokes <</if>> <<else>> <<if $enemyarousal gte ($enemyarousalmax / 5) * 2>> vigorously strokes <<else>> gently caresses <</if>> <</if>> <</widget>> <<widget "male">><<silently>> <<set _text_output to ($pronoun is "m" ? "male" : "female")>> <</silently>><<print _text_output>><</widget>> <<widget "personsimple">><<silently>> <<set _text_output to (!$NPCList[$index].type or $NPCList[$index].type is "human" or _args[0] is "normal" ? "" : $NPCList[$index].type)>> <<if $role and $role isnot "normal" and _args[0] isnot "normal">> <<set _text_output += $role>> <<elseif $npcadult is 1>> <<set _text_output += ($pronoun is "m" ? "man" : "woman")>> <<else>> <<set _text_output += ($pronoun is "m" ? "boy" : "girl")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "personname">><<silently>> <<set _text_output to $NPCList[$index].name>> <</silently>><<print _text_output>><</widget>> <<widget "person">><<silently>> <<set _text_output to $description + " ">> <<if ($NPCList[$index].type and $NPCList[$index].type isnot "human") and _args[0] isnot "normal">> <<set _text_output += $NPCList[$index].type>> <</if>> <<if $npc_named is 1>> <<set _text_output to $description>> <<elseif $role and $role isnot "normal">> <<set _text_output += $role>> <<elseif $pronoun is "m">> <<set _text_output += ($npcadult is 1 ? "man" : "boy")>> <<elseif $pronoun is "f">> <<set _text_output += ($npcadult is 1 ? "woman" : "girl")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "persons">><<silently>> <<person _args[0]>> <<set _text_output to _text_output + "'s">> <</silently>><<print _text_output>><</widget>> <<widget "combatperson">><<silently>> <<if $npc_named is 1>> <<if $NPCList[$index].name_known is 1 and $description isnot "pale figure">> <<set _text_output to $NPCList[$index].fullDescription>> <<else>> <<set _text_output to "the " + $description>> <</if>> <<elseif $NPCList[$index].name_known is 1>> <<set _text_output to $NPCList[$index].name>> <<elseif $enemytype is "beast">> <<set _text_output to "the " + $NPCList[$index].type>> <<elseif $role and $role isnot "normal">> <<set _text_output to "the " + $description + " " + $role>> <<elseif $npcadult is 1>> <<if $pronoun is "m">> <<set _text_output to "the " + $description+" man">> <<elseif $pronoun is "f">> <<set _text_output to "the " + $description+" woman">> <<else>> <<set _text_output to "the " + $description>> <</if>> <<else>> <<set _text_output to "the " + $NPCList[$index].fullDescription>> <</if>><</silently>><<print _text_output>><</widget>> <<widget "combatpersons">><<silently>> <<combatperson>> <<if (_text_output?.endsWith("s") or _text_output?.endsWith("sh")) and $NPCList[$index].name_known isnot 1>> <<set _text_output to _text_output + "'">> <<else>> <<set _text_output to _text_output + "'s">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "combatPerson">><<silently>> <<combatperson>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "combatPersons">><<silently>> <<combatpersons>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "genderswapPlayer">> <!-- Note: You'll want to call this again when you're done, because its effects are visible on the sidebar caption if you leave it swapped, and we don't want that. --> <!-- Note 2: gender_appearance is recalculated at the start of each passage, so don't expect the effects to stick around. --> <<set $player.gender_appearance to ($player.gender_appearance is "f" ? "m" : "f")>> <</widget>> <<widget "genderswap">> <!-- Changes the current pronoun, without modifying the NPC it's referencing. Useful for crossdressing NPC dialogue. --> <!-- Usage: <<person1>><<genderswap>><<he>> --> <!-- Cannot use genderswap when pronoun is anything other than "m" or "f". --> <<switch $pronoun>> <<case "m">> <<set $pronoun to "f">> <<case "f">> <<set $pronoun to "m">> <<default>> <<print `<span class="red">[ERROR: invalid pronoun in genderswap, `+ $pronoun +`]</span>`>> <</switch>> <</widget>> <<widget "personselect">> <!-- This replaces calls person1 person2 etc. Used for NPC object calls --> <!-- Note calls are 0-5 corresponding to NPCs 1-6 --> <<set _n to _args[0]>> <<set $index to _n>> <<if !$NPCList[_n] or !$NPCList[_n].pronoun>> <<error { message: "Undefined NPC in personselect " + _n + ".", source: Utils.GetStack(), depth: 0, exportable: false, }>> <!-- <<print `<span class="red">[ERROR: undefined NPC in personselect `+ _n +`]</span>`>> --> <<else>> <<set $npcadult to $NPCList[_n].adult>> <<set $pronoun to $NPCList[_n].pronoun>> <<if $npcrow.includes(_n)>> <<set $description to $NPCName[$npcnum[$npcrow.indexOf(_n)]].title>> <<set $role to "normal">> <<set $npc_named to 1>> <<if $NPCName[$npcnum[$npcrow.indexOf(_n)]].nam is "Ivory Wraith">> <<set $description to "pale figure">> <</if>> <<else>> <<set $description to $NPCList[_n].description>> <<set $role to $NPCList[_n].role>> <<set $npc_named to 0>> <</if>> <</if>> <</widget>> <!-- Leaving person1-6 in place for legacy support as of v2.3--> <<widget "person1">> <<personselect 0>> <</widget>> <<widget "person2">> <<personselect 1>> <</widget>> <<widget "person3">> <<personselect 2>> <</widget>> <<widget "person4">> <<personselect 3>> <</widget>> <<widget "person5">> <<personselect 4>> <</widget>> <<widget "person6">> <<personselect 5>> <</widget>> <<widget "personpenis">><<silently>> <<if $NPCList[$index].penis isnot "none">> <<set _text_output to "penis">> <<else>> <<set _text_output to "clit">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "spouse">><<silently>> <<if maleChance($pronoun) gte random(1,100)>> <<set _text_output to ($pronoun is "m" ? "husband" : "wife")>> <<else>> <<set _text_output to ($pronoun is "m" ? "wife" : "husband")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "father">><<silently>> <<set _text_output to ($pronoun is "m" ? "father" : "mother")>> <</silently>><<print _text_output>><</widget>> <<widget "Father">><<silently>> <<father>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "mummy">><<silently>> <<set _text_output to ($pronoun is "m" ? "daddy" : "mummy")>> <</silently>><<print _text_output>><</widget>> <<widget "Mummy">><<silently>> <<mummy>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "actor">><<silently>> <<set _text_output to ($pronoun is "m" ? "actor" : "actress")>> <</silently>><<print _text_output>><</widget>> <<widget "actorAroused">><<silently>> <<set $_npcGen to (_args[0] ? _args[0] : $index)>> <<if $NPCList[$_npcGen].penis isnot "none">> <<set _text_output to "flaunting a very obvious erection.">> <<else>> <<set _text_output to "being very obviously aroused.">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "girl">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "boy" : "girl")>> <</silently>><<print _text_output>><</widget>> <<widget "lady">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "man" : "lady")>> <</silently>><<print _text_output>><</widget>> <<widget "gentleman">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "gentleman" : "lady")>> <</silently>><<print _text_output>><</widget>> <<widget "girlfriend">><<silently>> <<girl>><<set _text_output to _text_output + "friend">> <</silently>><<print _text_output>><</widget>> <<widget "partnerfriend">><<silently>> /* Prints the gender of the player's assumed hetero partner */ <<set _text_output to ($player.gender_appearance is "m"? "girlfriend" : "boyfriend")>> <</silently>><<print _text_output>><</widget>> <<widget "friend">><<silently>> <<if $robinromance is 1>> <<girl>><<set _text_output to _text_output + "friend">> <<elseif _args[0] is "bff">> <<set _text_output to "best friend">> <<else>> <<set _text_output to "friend">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "girls">><<silently>> <<girl>><<set _text_output to _text_output + "s">> <</silently>><<print _text_output>><</widget>> <<widget "wife">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "husband" : "wife")>> <</silently>><<print _text_output>><</widget>> <<widget "Wife">><<silently>> <<wife>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "sister">><<silently>> <<set _text_output to ($player.gender_appearance is "m" ? "brother" : "sister")>> <</silently>><<print _text_output>><</widget>> <<widget "Sister">><<silently>> <<sister>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "sister_npc">><<silently>> <<set _text_output to ($pronoun is "m" ? "brother" : "sister")>> <</silently>><<print _text_output>><</widget>> <<widget "Sister_npc">><<silently>> <<sister_npc>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "victimgirl">> <<if $malevictimchance is 0>> <<set _text_output to "girl">> <<elseif $malevictimchance is 100>> <<set _text_output to "boy">> <<elseif $player.gender_appearance is "m">> <<set _text_output to "boy">> <<else>> <<set _text_output to "girl">> <</if>> <<print _text_output>> <</widget>> <<widget "victimgirls">> <<if $malevictimchance is 0>> <<set _text_output to "girls">> <<elseif $malevictimchance is 100>> <<set _text_output to "boys">> <<elseif $player.gender_appearance is "m">> <<set _text_output to "boys">> <<else>> <<set _text_output to "girls">> <</if>> <<print _text_output>> <</widget>> <<widget "lass">><<silently>> <<set _text_output to ($player.gender_appearance is "m"? "lad" : "lass")>> <</silently>><<print _text_output>><</widget>> <<widget "Lass">><<silently>> <<lass>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "pcSex">><<silently>> <<switch $player.sex>> <<case "f">><<set _text_output to "girl">> <<case "m">><<set _text_output to "boy">> <<case "h">><<set _text_output to "hermaphrodite">> <</switch>> <</silently>><<print _text_output>><</widget>> <<widget "pcGender">><<silently>> <<switch $player.gender>> <<case "f">><<set _text_output to "girl">> <<case "m">><<set _text_output to "boy">> <<default>><<set _text_output to "orphan">> <</switch>> <</silently>><<print _text_output>><</widget>> <<widget "genitals_are">><<silently>> <<if _args[0] is undefined>> <<genitals>> <<else>> <<genitals 1>> <</if>> <<if $player.penisExist and $player.vaginaExist and (!playerChastity() or _args[0] isnot undefined)>> <<set _text_output += " are">> <<else>> <<set _text_output += " is">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "genitalsensitivity">><<silently>> <<if $genitalsensitivity > 3.5>> <<set _text_output to "sensitive ">> <<elseif $genitalsensitivity >= 2.5>> <<set _text_output to "tender ">> <<elseif $genitalsensitivity >= 1.5>> <<set _text_output to "receptive ">> <<else>> <<set _text_output to "">> <</if>> <<set _genitalSensitivityDescribed to true>> <</silently>><<print _text_output>><</widget>> <!-- Optional parameter [0] possible values: 0 or omitted or null - display chastity, virginity, arousal, and pubes 1 - omit chastity, display virginity, arousal, and pubes 2 - omit chastity, virginity, arousal, sensitivity, and pubes --> <<widget "genitals">><<silently>> <<if playerChastity("hidden") and !_args[0] and _chastityBreak isnot 1>> <<set _text_output to $worn.genitals.name>> <<else>> <<if _args[0] is 2>> <<set _text_output to "">> <<else>> <<genitalsensitivity>> <</if>> <<if $player.penisExist>> <<if $worn.genitals.name is "chastity parasite">> <<set _text_output += "sealed ">> <<elseif playerChastity("cage")>> <<set _text_output += "caged ">> <</if>> <<if $player.virginity.penile is true and _args[0] isnot 2>> <<set _text_output += "virgin ">> <</if>> <<if $player.sex is "f" and $parasite.clit.name is "parasite" and _args[0] isnot 2>> <<set _text_output += "parasitic ">> <</if>> /* _args[0] is a flag to prevent .pluck() from altering state random when calling from overlays */ <<set _text_output += penisNames().pluck(_args[0])>> <</if>> <<if $player.vaginaExist>> <<if $player.penisExist>> <<set _text_output += " and ">> <</if>> <<if _args[0] isnot 2>> <<if $player.virginity.vaginal is true>> <<set _text_output += "virgin ">> <</if>> <<if $vaginaWetness gte 75 and $pbdisable is "f" and $pblevel gte 8>> <<set _text_output += $player.penisExist ? "visibly aroused, bushy " : "visibly aroused and bushy ">> <<elseif $vaginaWetness gte 75>> <<set _text_output += "visibly aroused ">> <<elseif $pbdisable is "f" and $pblevel gte 8>> <<set _text_output += "bushy ">> <</if>> <</if>> /* _args[0] is a flag to prevent .pluck() from altering state random when calling from overlays */ <<set _text_output += pussyNames().pluck(_args[0])>> <</if>> <</if>> <</silently>><<print _text_output>><</widget>> <!-- optionally takes 2 parameters: what to add after the text for singular/plural --> <<widget "genitalsandbreasts">> <<genitals>> <<if $player.breastsize gte 1>>and <<breasts>><</if>> <<if _args[0] isnot undefined and _args[1] isnot undefined>> <<if ($player.penisExist and $player.vaginaExist) or $player.breastsize gte 1>> _args[1] <<else>> _args[0] <</if>> <</if>> <</widget>> <<widget "sydneyWarning">> <<if $statdisable is "f">> <<if _args[0] is "corrupt" and $corruptionEvent is 1 and C.npc.Sydney.corruption is 0 and (C.npc.Sydney.purity - 10) lt 0>> | <span class="purple">This action might corrupt Sydney</span> <<elseif _args[0] is "purify" and $purityEvent is 1 and C.npc.Sydney.purity is 0 and (C.npc.Sydney.corruption - 10) lt 0>> | <span class="teal">This action might purify Sydney</span> <<else>> <<switch _warnstate>> <<case 1>> <<if $purityEvent is 1 and C.npc.Sydney.purity is 0 and (C.npc.Sydney.corruption - 2) lt 0>> | <span class="teal">This action will purify Sydney</span> <</if>> <<case 2>> <<if $purityEvent is 1 and C.npc.Sydney.purity is 0 and (C.npc.Sydney.corruption - 5) lt 0>> | <span class="teal">This action will purify Sydney</span> <</if>> <<case 3>> <<if $purityEvent is 1 and C.npc.Sydney.purity is 0 and (C.npc.Sydney.corruption - 10) lt 0>> | <span class="teal">This action will purify Sydney</span> <</if>> <<case -1>> <<if $corruptionEvent is 1 and C.npc.Sydney.corruption is 0 and (C.npc.Sydney.purity - 2) lt 0>> | <span class="purple">This action will corrupt Sydney</span> <</if>> <<case -2>> <<if $corruptionEvent is 1 and C.npc.Sydney.corruption is 0 and (C.npc.Sydney.purity - 5) lt 0>> | <span class="purple">This action will corrupt Sydney</span> <</if>> <<case -3>> <<if $corruptionEvent is 1 and C.npc.Sydney.corruption is 0 and (C.npc.Sydney.purity - 10) lt 0>> | <span class="purple">This action will corrupt Sydney</span> <</if>> <</switch>> <</if>> <</if>> <</widget>> <<widget "gsydneytoy">> <<if $sydney_toy is undefined>> | <span class="purple">Sydney will keep the _args[0] for future use</span> <<elseif $sydney_toy isnot _args[0]>> | <span class="purple">Sydney will keep the _args[0] for future use, replacing their $sydney_toy</span> <</if>> <</widget>> <<widget "flight_text">> <<if $statdisable is "f">> | <<if $harpy gte 6 and $birdFly gte 1>> <span class="gold">Strong wings</span> <<elseif $angel gte 6 or $demon gte 6 or $fallenangel gte 2 or $harpy gte 6>> <span class="gold">Wings</span> <</if>> <</if>> <</widget>> <!-- Awareness --> <<widget "combataware">> <<if $statdisable is "f">> <<set _color to ["","teal","lblue","blue","purple","pink"][_args[0]]>> <span @class="_color">Awareness _args[0]</span> <</if>> <</widget>> <!-- Exhibitionism --> <<widget "exhibitionist">> <<if $statdisable is "f">> | <<set _classList to ["","teal","lblue","blue","purple","pink","red"][_args[0]]>> <<set _classList += " " + getLargestSexStatModifierCssClasses("exhibitionism", _args[0])>> <<if _args[0] is 6>> <span @class="_classList">!Exhibitionism 6!</span> <<else>> <span @class="_classList">Exhibitionism _args[0]</span> <</if>> <</if>> <</widget>> <<widget "exhibitionist1">> <<exhibitionist 1>> <</widget>> <<widget "exhibitionist2">> <<exhibitionist 2>> <</widget>> <<widget "exhibitionist3">> <<exhibitionist 3>> <</widget>> <<widget "exhibitionist4">> <<exhibitionist 4>> <</widget>> <<widget "exhibitionist5">> <<exhibitionist 5>> <</widget>> <<widget "exhibitionist6">> <<exhibitionist 6>> <</widget>> <<widget "combatexhibitionist">> <<if $statdisable is "f">> <<set _classList to ["","teal","lblue","blue","purple","pink","red"][_args[0]]>> <<set _classList += " " + getLargestSexStatModifierCssClasses("exhibitionism", _args[0])>> <<if _args[0] is 6>> <span @class="_classList">!Exhibitionism 6!</span> <<else>> <span @class="_classList">Exhibitionism _args[0]</span> <</if>> <</if>> <</widget>> <<widget "combatexhibitionist1">> <<combatexhibitionist 1>> <</widget>> <<widget "combatexhibitionist2">> <<combatexhibitionist 2>> <</widget>> <<widget "combatexhibitionist3">> <<combatexhibitionist 3>> <</widget>> <<widget "combatexhibitionist4">> <<combatexhibitionist 4>> <</widget>> <<widget "combatexhibitionist5">> <<combatexhibitionist 5>> <</widget>> <<widget "combatexhibitionist6">> <<combatexhibitionist 6>> <</widget>> <!-- Promiscuity --> <<widget "promiscuous">> <<if $statdisable is "f">> | <<set _classList to ["","teal","lblue","blue","purple","pink","red"][_args[0]]>> <<set _classList += " " + getLargestSexStatModifierCssClasses("promiscuity", _args[0])>> <<if _args[0] is 6>> <span @class="_classList">!Promiscuity 6!</span> <<else>> <span @class="_classList">Promiscuity _args[0]</span> <</if>> <</if>> <</widget>> <<widget "promiscuous1">> <<promiscuous 1>> <</widget>> <<widget "promiscuous2">> <<promiscuous 2>> <</widget>> <<widget "promiscuous3">> <<promiscuous 3>> <</widget>> <<widget "promiscuous4">> <<promiscuous 4>> <</widget>> <<widget "promiscuous5">> <<promiscuous 5>> <</widget>> <<widget "promiscuous6">> <<promiscuous 6>> <</widget>> <<widget "combatpromiscuous">> <<if ($consensual is 1 or _args[0] is 6) and !$promiscuityIgnore and $statdisable is "f">> <<set _classList to ["","teal","lblue","blue","purple","pink","red"][_args[0]]>> <<set $_stat to $enemytype is "man" ? "promiscuity" : "deviancy">> <<set _classList += " " + getLargestSexStatModifierCssClasses($_stat, _args[0])>> <<if _args[0] is 6>> <span @class="_classList"><<print ($enemytype is "man" ? "- !Promiscuity 6!" : "- !Deviancy 6!")>></span> <<else>> <span @class="_classList"><<print ($enemytype is "man" ? "- Promiscuity" : "- Deviancy")>> _args[0]</span> <</if>> <</if>> <</widget>> <<widget "combatpromiscuous1">> <<combatpromiscuous 1>> <</widget>> <<widget "combatpromiscuous2">> <<combatpromiscuous 2>> <</widget>> <<widget "combatpromiscuous3">> <<combatpromiscuous 3>> <</widget>> <<widget "combatpromiscuous4">> <<combatpromiscuous 4>> <</widget>> <<widget "combatpromiscuous5">> <<combatpromiscuous 5>> <</widget>> <<widget "combatpromiscuous6">> <<combatpromiscuous 6>> <</widget>> <!-- Deviancy --> <<widget "deviant">> <<if $statdisable is "f">> | <<set _classList to ["","teal","lblue","blue","purple","pink","red"][_args[0]]>> <<set _classList += " " + getLargestSexStatModifierCssClasses("deviancy", _args[0])>> <<if _args[0] is 6>> <span @class="_classList">!Deviancy 6!</span> <<else>> <span @class="_classList">Deviancy _args[0]</span> <</if>> <</if>> <</widget>> <<widget "deviant1">> <<deviant 1>> <</widget>> <<widget "deviant2">> <<deviant 2>> <</widget>> <<widget "deviant3">> <<deviant 3>> <</widget>> <<widget "deviant4">> <<deviant 4>> <</widget>> <<widget "deviant5">> <<deviant 5>> <</widget>> <<widget "deviant6">> <<deviant 6>> <</widget>> <<widget "crime">> <<if $statdisable is "f">> | <span class="red">Crime</span> <<if _args[0]>> <<crimeType _args[0]>> <</if>> <</if>> <</widget>> <<widget "crimes">> <<if $statdisable is "f">> | <span class="red">Crime</span> <<if _args[0]>> <<set $_crimeTypes to _args>> <<set $_crimeDisplay to []>> <<for $_crimeKey range $_crimeTypes>> <<if !setup.crimeNames[$_crimeKey]>> <<run Errors.report("Extra-Illegal crimes displayed; " + $_crimeKey)>> <<else>> <<set $_crimeDisplay.push(toTitleCase(setup.crimeNames[$_crimeKey]))>> <</if>> <</for>> <span class="red">(<<print formatList($_crimeDisplay)>>)</span> <</if>> <</if>> <</widget>> <<widget "combatcrime">> <<if $statdisable is "f">> <span class="red">Crime</span> <<if _args[0]>> <<crimeType _args[0]>> <</if>> <</if>> <</widget>> <<widget "gcrime">> <<if $statdisable is "f">> | <span class="red">+ Crime</span> <<if _args[0]>> <<crimeType _args[0]>> <</if>> <</if>> <</widget>> <<widget "ggcrime">> <<if $statdisable is "f">> | <span class="red">+ + Crime</span> <<if _args[0]>> <<crimeType _args[0]>> <</if>> <</if>> <</widget>> <<widget "gggcrime">> <<if $statdisable is "f">> | <span class="red">+ + + Crime</span> <<if _args[0]>> <<crimeType _args[0]>> <</if>> <</if>> <</widget>> <<widget "crimeType">> <<if _args[0]>> <<set $_crimeType to _args[0]>> <<if !setup.crimeNames[$_crimeType] and $_crimeType isnot "???">> <<run Errors.report("Extra-Illegal crime displayed; " + $_crimeType)>> <<else>> <<if $_crimeType isnot "???">> <<set $_crimeType to setup.crimeNames[$_crimeType].toUpperFirst()>> <</if>> <span class="red">($_crimeType)</span> <</if>> <</if>> <</widget>> <<widget "gspray">> <<if $statdisable is "f">> | <span class="green">+ 1 pepper spray</span> <</if>> <</widget>> <<widget "gspraymax">> <<if $statdisable is "f">> | <span class="gold">+ 1 pepper spray capacity</span> <</if>> <</widget>> <<widget "gcondoms">> <<set $_condomGain to (_args[0] ? _args[0] : 1)>> <<if $condoms eq undefined>><<set $condoms to 0>><</if>> <<set $condoms += $_condomGain>> <<if $statdisable is "f">> | <span class="pink">+ $_condomGain Condom<<if $_condomGain gt 1>>s<</if>></span> <</if>> <</widget>> <<widget "defianttext">> <<if $statdisable is "f">> | <span class="def">Defiant</span> <</if>> <</widget>> <<widget "submissivetext">> <<if $statdisable is "f">> | <span class="sub">Submissive</span> <</if>> <</widget>> <<widget "gdef">> <<if $statdisable is "f">> | <span class="def">+ Defiance</span> <</if>> <</widget>> <<widget "ggdef">> <<if $statdisable is "f">> | <span class="def">+ + Defiance</span> <</if>> <</widget>> <<widget "gggdef">> <<if $statdisable is "f">> | <span class="def">+ + + Defiance</span> <</if>> <</widget>> <<widget "ldef">> <<if $statdisable is "f">> | <span class="sub">- Defiance</span> <</if>> <</widget>> <<widget "lldef">> <<if $statdisable is "f">> | <span class="sub">- - Defiance</span> <</if>> <</widget>> <<widget "llldef">> <<if $statdisable is "f">> | <span class="sub">- - Defiance</span> <</if>> <</widget>> <<widget "heat">> | <span class="pink">Heat</span> <</widget>> <<widget "rut">> | <span class="blue">Rut</span> <</widget>> <<widget "openinghours">> A sign reads: "Opening hours: <<ampm 8 00>> - <<ampm 21 00>>" <br> <</widget>> <<widget "exposedupper">><<silently>> <<if $worn.over_upper.exposed is 0>> <<set _text_output to $worn.over_upper.name>> <<elseif $worn.upper.exposed is 0>> <<set _text_output to $worn.upper.name>> <<elseif $worn.under_upper.exposed is 0>> <<set _text_output to $worn.under_upper.name>> <<else>> <<breasts>> <</if>> <</silently>>_text_output<</widget>> <<widget "exposedlower">><<silently>> <<if $worn.over_lower.exposed is 0>> <<set _text_output to $worn.over_lower.name>> <<elseif $worn.lower.exposed is 0>> <<set _text_output to $worn.lower.name>> <<elseif $worn.under_lower.exposed is 0>> <<set _text_output to $worn.under_lower.name>> <<else>> <<genitals>> <</if>> <</silently>>_text_output<</widget>> <<widget "groin">><<silently>> <<genitals>> <<outfitChecks>> <<if !_botomIsSkirt and _bottom>> <<set _text_output to _text_output + " through your " + _bottom.name>> <<else>> <<set _text_output to _text_output>> <</if>> <</silently>>_text_output<</widget>> <<widget "crotch">><<silently>> <<outfitChecks>> <<if _bottom>> <<set _text_output to _bottom.name>> <<else>> <<genitals>> <</if>> <</silently>>_text_output<</widget>> <<widget "privates">><<silently>> <<outfitChecks>> <<if !_bottomExposed>> <<set _text_output to either("genitals", "groin", "crotch", "privates")>> <<else>> <<genitals>> <</if>> <</silently>>_text_output<</widget>> <!-- Optional parameter [0] possible values: 0 or omitted or null - display full name of undies or full genital description 1 - display simple name of undies or full genital description 2 - display simple name of undies or simple genital description --> <<widget "undies">><<silently>> <<outfitChecks>> <<if !$worn.under_lower.type.includes("naked")>> <<if _args[0] and _args[0] gte 1>> <<set _text_output to $worn.under_lower.name_simple>> <<else>> <<set _text_output to $worn.under_lower.name>> <</if>> <<elseif !$worn.genitals.type.includes("naked")>> <<set _text_output to $worn.genitals.name>> <<else>> <<genitals _args[0]>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "bottoms">><<silently>> <<outfitChecks>> <<set _text_output to _bottom.name>> <</silently>>_text_output<</widget>> <<widget "underbottoms">><<silently>> <<outfitChecks>> <<set _text_output to (_underOutfit ? $worn.under_upper.name : $worn.under_lower.name)>> <</silently>>_text_output<</widget>> <<widget "allTops">> <<if $worn.over_upper.name isnot "naked">> $worn.over_upper.name\ <</if>> <<if $worn.upper.name isnot "naked">> <<if $worn.over_upper.name isnot "naked">> and <</if>> $worn.upper.name\ <<elseif $worn.under_upper.type.includes("covered")>> <<if $worn.over_upper.name isnot "naked">> and <</if>> $worn.under_upper.name\ <</if>> <</widget>> <<widget "allBottoms">> <<if $worn.over_lower.name isnot "naked" and $worn.over_lower.set isnot $worn.over_upper.set>> $worn.over_lower.name\ <</if>> <<if $worn.lower.name isnot "naked">> <<if $worn.over_lower.name isnot "naked">> and <</if>> $worn.lower.name\ <<elseif $worn.under_lower.type.includes("covered")>> <<if $worn.over_lower.name isnot "naked">> and <</if>> $worn.under_lower.name\ <</if>> <</widget>> <<widget "allTopsUnderwear">><<silently>> <<outfitChecks>> <<set _tops to []>> <<if $worn.over_upper.name isnot "naked">> <<set _tops.push($worn.over_upper.name)>> <</if>> <<if $worn.upper.name isnot "naked">> <<set _tops.push($worn.upper.name)>> <</if>> <<if $worn.under_upper.name isnot "naked">> <<set _tops.push($worn.under_upper.name)>> <</if>> <<if _tops.length is 0 and _top>><<set _tops.push(_top.name)>><</if>> <<if _tops.length is 1>><<set _text_output to _tops[0]>><</if>> <<if _tops.length is 2>><<set _text_output to _tops[0] + " and " + _tops[1]>><</if>> <<if _tops.length is 3>><<set _text_output to _tops[0] + ", " + _tops[1] + " and " + _tops[2]>><</if>> <</silently>>_text_output<</widget>> <<widget "allBottomsUnderwear">><<silently>> <<outfitChecks>> <<set _bottoms to []>> <<if $worn.over_lower.name isnot "naked">> <<set _bottoms.push($worn.over_lower.name)>> <</if>> <<if $worn.lower.name isnot "naked">> <<set _bottoms.push($worn.lower.name)>> <</if>> <<if $worn.under_lower.name isnot "naked">> <<set _bottoms.push($worn.under_lower.name)>> <</if>> <<if _bottoms.length is 0 and _bottom>><<set _bottoms.push(_bottom.name)>><</if>> <<if _bottoms.length is 1>><<set _text_output to _bottoms[0]>><</if>> <<if _bottoms.length is 2>><<set _text_output to _bottoms[0] + " and " + _bottoms[1]>><</if>> <<if _bottoms.length is 3>><<set _text_output to _bottoms[0] + ", " + _bottoms[1] + " and " + _bottoms[2]>><</if>> <</silently>>_text_output<</widget>> <<widget "top">><<silently>> <<if !$worn.over_upper.type.includes("naked")>> <<set _text_output to $worn.over_upper.name>> <<elseif !$worn.upper.type.includes("naked")>> <<set _text_output to $worn.upper.name>> <<elseif !$worn.under_upper.type.includes("naked")>> <<set _text_output to $worn.under_upper.name>> <<else>> <<set _text_output to "top">> <</if>> <</silently>>_text_output<</widget>> <<widget "topaside">><<silently>> <<if $worn.over_upper.exposed lte 1>> <<set _text_output to $worn.over_upper.name>> <<elseif $worn.upper.exposed lte 1>> <<set _text_output to $worn.upper.name>> <<elseif $worn.under_upper.exposed is 0>> <<set _text_output to $worn.under_upper.name>> <<else>> <<set _text_output to "top">> <</if>> <</silently>>_text_output<</widget>> <<widget "breastsaside">><<silently>> <<outfitChecks>> <<set _text_output to _topUnder?.name || "<<breasts>>">> <</silently>>_text_output<</widget>> <<widget "bottomaside">><<silently>> <<if $worn.over_lower.exposed lte 1>> <<set _text_output to $worn.over_lower.name>> <<elseif $worn.lower.exposed lte 1>> <<set _text_output to $worn.lower.name>> <<elseif $worn.under_lower.exposed is 0>> <<set _text_output to $worn.under_lower.name>> <<else>> <<set _text_output to "bottom">> <</if>> <</silently>>_text_output<</widget>> <<widget "outfit">><<silently>> <<outfitChecks>> <<if _middleOutfit>> <<set _text_output to $worn.upper.name>> <<set $stripset to 1>> <<else>> <<set $_clothes to [$worn.upper.name, $worn.lower.name].filter(a => a !== "naked")>> <<set _text_output to $_clothes.formatList()>> <<set $stripset to 0>> <</if>> <</silently>>_text_output<</widget>> <<widget "nudity">><<silently>><<exposure>> <<genitals>> <<set _genitals to _text_output>> <<breasts>> <<outfitChecks>> <<set _breasts to _text_output>> <<if $worn.under_lower.type.includes("naked") and $worn.lower.type.includes("naked")>> <<if !$worn.upper.type.includes("naked")>> <<set _text_output to "<span class=\"lewd\">exposed " + _genitals + "</span>. Your covered chest makes your bare lower half feel more conspicuous">> <<elseif !$worn.under_upper.type.includes("naked")>> <<undertop>> <<set _undertop to _text_output>> <<set _text_output to `<span class=\"lewd\">exposed ${_genitals}${!$worn.under_upper.type.includes("covered") ? " and " + _undertop : ""}</span>. Your somewhat covered chest makes your bare lower half feel more conspicuous`>> <<else>> <<set _text_output to "<span class=\"lewd\">exposed</span> ">> <<if $player.breastsize gte 3>> <<if $player.sex is "m">> <<set _text_output to _text_output + "<span class=\"lewd\">" + _genitals + " and " + _breasts + "</span>">> <<else>> <<set _text_output to _text_output + "<span class=\"lewd\">" + _genitals + " and " + _breasts + "</span>">> <</if>> <<else>> <<if $player.sex is "m">> <<if $player.gender_appearance is "f">> <<set _text_output to _text_output + "<span class=\"lewd\">" + _genitals + " and " + _breasts + ", made salacious by your feminine demeanour</span>">> <<else>> <<set _text_output to _text_output + "<span class=\"lewd\">" + _genitals + "</span>">> <</if>> <<else>> <<set _text_output to _text_output + "<span class=\"lewd\">" + _genitals + " and " + _breasts + "</span>">> <</if>> <</if>> <</if>> <<elseif _shirtless and $player.gender_appearance is "f">> <<if $worn.under_upper.type.includes("naked")>> <<set _text_output to "<span class=\"lewd\">exposed " + _breasts + "</span>">> <<if $worn.lower.type.includes("naked") and _underOutfit is false>> <<set $_give to ($worn.under_lower.plural is 0 ? "gives" : "give")>> <<set _text_output to _text_output + ". Only your " + $worn.under_lower.name + " " + $_give + " you a shred of decency">> <</if>> <<else>> <<undertop>> <<set _undertop to _text_output>> <<if $worn.lower.type.includes("naked") and _underOutfit is false>> <<undies>> <<set _undies to _text_output>> <<set _text_output to "<span class=\"lewd\">exposed " + _undies + " and " + _undertop + "</span>">> <<else>> <<set _text_output to "<span class=\"lewd\">exposed " + _undertop + "</span>">> <</if>> <</if>> <<elseif $worn.lower.type.includes("naked")>> <<set _text_output to "<span class=\"lewd\">exposed " + $worn.under_lower.name + "</span>">> <<else>> <<set _text_output to "<span class=\"lewd\">lewd outfit</span>">> <<if $worn.lower.type.includes("naked") and _underOutfit is false>> <<set $_give to ($worn.under_lower.plural is 0 ? "gives" : "give")>> <<set _text_output to _text_output + ". Only your " + $worn.under_lower.name + " " + $_give + " you a shred of decency">> <</if>> <</if>> <<if $leftarm is "bound" and $rightarm is "bound" and $position isnot "wall">> <<set _text_output to _text_output + ". With your arms bound, you can't even cover yourself, leaving you feeling utterly helpless">> <</if>> <</silently>>_text_output<</widget>> <<widget "boundBodyParts">><<silently>> <<set _boundparts to ($rightarm is "bound" or $leftarm is "bound" ? "arm" : "")>> <<set _boundparts += ($rightarm is "bound" and $leftarm is "bound" ? "s" : "")>> <<set _boundparts += ($feetuse is "bound" ? (_boundparts isnot "" ? " and legs" : "legs") : "")>> <<set _text_output to _boundparts>> <</silently>>_text_output<</widget>> <<widget "stripobject">> <<outfitChecks>> <<set $_torn = []>> <<set $_topIntegrity = _top ? _top.integrity -= $stripintegrity : 1>> <<set $_bottomIntegrity = _bottom ? _bottom.integrity -= $stripintegrity : 1>> <<set $_bottomUnderIntegrity = _bottomUnder && _skirtExposed ? _bottomUnder.integrity -= $stripintegrity : 1>> <<if $_topIntegrity lte 0>> <<run $_torn.push(_top.name)>> <<set $_plural = _top.plural || 0>> <</if>> <<if $_bottomIntegrity lte 0>> <<if !_outfit>><<run $_torn.push(_bottom.name)>><</if>> <<set $_plural = $_plural || _bottom.plural || 0>> <</if>> <<if $_bottomUnderIntegrity lte 0>> <<run $_torn.push(_bottomUnder?.name)>> <<set $_plural = $_plural || _bottomUnder.plural || 0>> <</if>> <<set $_plural = $_torn.length gt 1 ? 1 : $_plural || 0>> <<if $_torn.length gte 1>> <span class="lewd">Your <<= $_torn.length gte 3 ? "clothing" : $_torn.join(" and ")>> <<= $_plural gte 1 ? "snag" : "snags">> on a $stripobject and <<= $_plural gte 1 ? "are" : "is">> torn from your body.</span> <<integritycheck no_text>> <<exposure>> <<if $exposed gte 1>> You can't help but be conscious of your <<nudity>>. <</if>> <</if>> <</widget>> <<widget "seductiontext">><<silently>> <<set $_skillText to currentSkillValue("seductionskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "oraltext">><<silently>> <<set $_skillText to currentSkillValue("oralskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "vaginaltext">><<silently>> <<set $_skillText to currentSkillValue("vaginalskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "peniletext">><<silently>> <<set $_skillText to currentSkillValue("penileskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "analtext">><<silently>> <<set $_skillText to currentSkillValue("analskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "handtext">><<silently>> <<set $_skillText to currentSkillValue("handskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "feettext">><<silently>> <<set $_skillText to currentSkillValue("feetskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "bottomtext">><<silently>> <<set $_skillText to currentSkillValue("bottomskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "thightext">><<silently>> <<set $_skillText to currentSkillValue("thighskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "chesttext">><<silently>> <<set $_skillText to currentSkillValue("chestskill")>> <<if $_skillText lt 200>><<set _text_output to '<span class="pink">awkwardly</span>'>> <<elseif $_skillText lt 400>><<set _text_output to '<span class="purple">cautiously</span>'>> <<elseif $_skillText lt 600>><<set _text_output to '<span class="blue">rhythmically</span>'>> <<elseif $_skillText lt 800>><<set _text_output to '<span class="lblue">smoothly</span>'>> <<elseif $_skillText lt 1000>><<set _text_output to '<span class="teal">skilfully</span>'>> <<elseif $_skillText lt 1200>><<set _text_output to '<span class="green">expertly</span>'>> <<else>><<set _text_output to '<span class="gold">effortlessly</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "swimmingtext">> <<set $_swimmingskillText to currentSkillValue('swimmingskill')>> <<if $_swimmingskillText lt 200>><span class="pink">haphazardly</span> <<elseif $_swimmingskillText lt 400>><span class="purple">awkwardly</span> <<elseif $_swimmingskillText lt 600>><span class="blue">adequately</span> <<elseif $_swimmingskillText lt 800>><span class="lblue">smoothly</span> <<elseif $_swimmingskillText lt 1000>><span class="teal">skilfully</span> <<elseif $_swimmingskillText lt 1200>><span class="green">expertly</span> <<else>><span class="gold">effortlessly</span> <</if>> <</widget>> <<widget "tendingtext">> <<set $_tendingText to currentSkillValue('tending')>> <<if $_tendingText lt 200>><span class="pink">awkwardly</span> <<elseif $_tendingText lt 400>><span class="purple">cautiously</span> <<elseif $_tendingText lt 600>><span class="blue">rhythmically</span> <<elseif $_tendingText lt 800>><span class="lblue">smoothly</span> <<elseif $_tendingText lt 1000>><span class="teal">skilfully</span> <<elseif $_tendingText lt 1200>><span class="green">expertly</span> <<else>><span class="gold">effortlessly</span><</if>> <</widget>> <<widget "dancetext">> <<set $_danceskillText to currentSkillValue('danceskill')>> <<if $_danceskillText lt 200>><span class="pink">awkwardly</span> <<elseif $_danceskillText lt 400>><span class="purple">cautiously</span> <<elseif $_danceskillText lt 600>><span class="blue">rhythmically</span> <<elseif $_danceskillText lt 800>><span class="lblue">smoothly</span> <<elseif $_danceskillText lt 1000>><span class="teal">skilfully</span> <<elseif $_danceskillText lt 1200>><span class="green">expertly</span> <<else>><span class="gold">effortlessly</span><</if>> <</widget>> <<widget "housekeepingtext">> <<set $_housekeepingText to currentSkillValue('housekeeping')>> <<if $_housekeepingText lt 200>><span class="pink">awkwardly</span> <<elseif $_housekeepingText lt 400>><span class="purple">cautiously</span> <<elseif $_housekeepingText lt 600>><span class="blue">rhythmically</span> <<elseif $_housekeepingText lt 800>><span class="lblue">smoothly</span> <<elseif $_housekeepingText lt 1000>><span class="teal">skilfully</span> <<elseif $_housekeepingText lt 1200>><span class="green">expertly</span> <<else>><span class="gold">effortlessly</span><</if>> <</widget>> <<widget "nervously">><<silently>> <<if $exhibitionism lte 15>> <<set _text_output to "nervously">> <<elseif $exhibitionism lte 35>> <<set _text_output to "timidly">> <<elseif $exhibitionism lte 55>> <<set _text_output to "shyly">> <<elseif $exhibitionism lte 75>> <<set _text_output to "confidently">> <<elseif $exhibitionism lte 95>> <<set _text_output to "eagerly">> <<else>> <<set _text_output to "breathlessly">> <</if>> <</silently>>_text_output<</widget>> <<widget "schoolday">> <<if $location isnot "prison" and $location isnot "asylum" and !$statFreeze>> <<if !Time.schoolDay && Time.isSchoolDay(Time.tomorrow)>> You have school tomorrow. <<elseif Time.schoolDay>> It's a school day. <<else>> There's no school tomorrow. <</if>> <br> <</if>> <</widget>> <<widget "sir">><<silently>> <<if $pronoun is "m">> <<set _text_output to "sir">> <<else>> <<set _text_output to "miss">> <</if>> <</silently>>_text_output<</widget>> <<widget "Sir">><<silently>> <<if $pronoun is "m">> <<set _text_output to "Sir">> <<else>> <<set _text_output to "Miss">> <</if>> <</silently>>_text_output<</widget>> <<widget "lewdness">><<silently>> /* consider refactoring */ <<exposure>> <<genitals>> <<set _genitals to _text_output>> <<undertop>> <<set _undertop to _text_output>> <<if $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2 and $worn.over_lower.exposed gte 1 and $worn.upper.exposed lte 1>> <<set _text_output to '<span class="lewd">exposed _genitals</span>'>> <<elseif $worn.under_lower.exposed lte 0 and $worn.lower.exposed gte 2 and $worn.over_lower.exposed gte 1 and $worn.upper.exposed lte 1 and !$worn.under_lower.type.includes("covered")>> <<set _text_output to '<span class="lewd">exposed $worn.under_lower.name</span>'>> <<elseif $worn.over_upper.exposed gte 1 and $worn.upper.exposed gte 2 and $worn.over_lower.exposed gte 1 and $worn.lower.exposed lte 1 and $player.gender_appearance is "m" and $player.sex is "m">> <<set _text_output to '<span class="lewd">lewdness</span>'>> <<elseif $worn.over_upper.exposed gte 1 and $worn.upper.exposed gte 2 and $worn.lower.exposed lte 1 and !$worn.under_upper.type.includes("covered")>> <<set _text_output to '<span class="lewd">exposed _undertop</span>'>> <<elseif $worn.over_upper.exposed gte 1 and $worn.upper.exposed gte 2 and $worn.lower.exposed gte 2 and $worn.under_lower.exposed lte 0 and !$worn.under_lower.type.includes("covered") and $player.gender_appearance is "m" and $player.sex is "m">> <<set _text_output to '<span class="lewd">exposed $worn.under_lower.name</span>'>> <<elseif $worn.over_upper.exposed gte 1 and $worn.upper.exposed gte 2 and $worn.over_lower.exposed gte 1 and $worn.lower.exposed gte 2 and $worn.under_lower.exposed lte 0 and !$worn.under_lower.type.includes("covered") and !$worn.under_upper.type.includes("covered")>> <<set _text_output to '<span class="lewd">exposed _undertop and $worn.under_lower.name</span>'>> <<elseif $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2 and $worn.over_lower.exposed gte 1 and $player.gender_appearance is "m" and $player.sex is "m">> <<set _text_output to '<span class="lewd">exposed _genitals</span>'>> <<elseif $worn.over_upper.exposed gte 1 and $worn.upper.exposed gte 2 and $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 and !$worn.under_upper.type.includes("covered")>> <<if $player.penisExist and $player.vaginaExist and !playerChastity()>> <<set _text_output to '<span class="lewd">exposed _undertop, _genitals</span>'>> <<else>> <<set _text_output to '<span class="lewd">exposed _undertop and _genitals</span>'>> <</if>> <<else>> <<set _text_output to '<span class="lewd">lewdness</span>'>> <</if>> <</silently>>_text_output<</widget>> <<widget "flaunting">> <<exposure>>/*Makes sure your clothing state is up to date*/ <<if $uncomfortable.nude is false>> <<if $trauma gte (($traumamax / 5) * 4)>> <<if $stress gte (($stressmax / 5) * 4)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Dark tendrils threaten to peak your exposed body as <<elseif $arousal gte (($arousalmax / 5) * 1)>> Dark tendrils caress your exposed body as <<else>> Feeling watched by countless eyes <</if>> <<elseif $stress gte (($stressmax / 5) * 1)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Afraid you'll climax on the spot <<elseif $arousal gte (($arousalmax / 5) * 1)>> Feeling watched by countless eyes <<else>> Feeling threatened yet excited <</if>> <<else>> <<if $arousal gte (($arousalmax / 5) * 4)>> A sick part of you hopes your audience help themselves to your body as <<elseif $arousal gte (($arousalmax / 5) * 1)>> Feeling vulnerable and surrounded <<else>> Hoping people like what they see <</if>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 1)>> <<if $stress gte (($stressmax / 5) * 4)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Feeling like a piece of meat <<elseif $arousal gte (($arousalmax / 5) * 1)>> Exposed and vulnerable <<else>> You hope exposing yourself will save you from hurt as <</if>> <<elseif $stress gte (($stressmax / 5) * 1)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Your body trembles as <<elseif $arousal gte (($arousalmax / 5) * 1)>> Excited yet afraid <<else>> Yearning for attention, <</if>> <<else>> <<if $arousal gte (($arousalmax / 5) * 4)>> Shivering with arousal <<elseif $arousal gte (($arousalmax / 5) * 1)>> Heart throbbing <<else>> You hope people like what they see as <</if>> <</if>> <<else>> <<if $stress gte (($stressmax / 5) * 4)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Tense and aroused, <<elseif $arousal gte (($arousalmax / 5) * 1)>> Tense but exhilarated, <<else>> Enjoying the moment, <</if>> <<elseif $stress gte (($stressmax / 5) * 1)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Feeling naughty, <<elseif $arousal gte (($arousalmax / 5) * 1)>> You enjoy the eyes on you as <<else>> You enjoy the adrenaline rush as <</if>> <<else>> <<if $arousal gte (($arousalmax / 5) * 4)>> Thrilled to be so exposed <<elseif $arousal gte (($arousalmax / 5) * 1)>> Shivering in delight, <<else>> Proud and free, <</if>> <</if>> <</if>> <<else>> <<if $trauma gte (($traumamax / 5) * 4)>> <<if $stress gte (($stressmax / 5) * 4)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Dark tendrils threaten to peak your exposed body as <<elseif $arousal gte (($arousalmax / 5) * 1)>> Dark tendrils caress your exposed body as <<else>> Feeling watched by countless eyes <</if>> <<elseif $stress gte (($stressmax / 5) * 1)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Afraid you'll climax on the spot <<elseif $arousal gte (($arousalmax / 5) * 1)>> Feeling watched by countless eyes <<else>> Feeling threatened and embarrassed <</if>> <<else>> <<if $arousal gte (($arousalmax / 5) * 4)>> A sick part of you hopes your audience help themselves to your body as <<elseif $arousal gte (($arousalmax / 5) * 1)>> Feeling vulnerable and surrounded <<else>> Hoping people like what they see <</if>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 1)>> <<if $stress gte (($stressmax / 5) * 4)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Feeling like a piece of meat <<elseif $arousal gte (($arousalmax / 5) * 1)>> Exposed and vulnerable <<else>> You hope exposing yourself will save you from hurt as <</if>> <<elseif $stress gte (($stressmax / 5) * 1)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Your body trembles as <<elseif $arousal gte (($arousalmax / 5) * 1)>> Embarrassed and afraid <<else>> Yearning for attention, <</if>> <<else>> <<if $arousal gte (($arousalmax / 5) * 4)>> Shivering with arousal <<elseif $arousal gte (($arousalmax / 5) * 1)>> Heart throbbing <<else>> You hope people like what they see as <</if>> <</if>> <<else>> <<if $stress gte (($stressmax / 5) * 4)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Tense and aroused, <<elseif $arousal gte (($arousalmax / 5) * 1)>> Tense but exhilarated, <<else>> Enjoying the moment, <</if>> <<elseif $stress gte (($stressmax / 5) * 1)>> <<if $arousal gte (($arousalmax / 5) * 4)>> Feeling naughty, <<elseif $arousal gte (($arousalmax / 5) * 1)>> You enjoy the eyes on you as <<else>> You enjoy the adrenaline rush as <</if>> <<else>> <<if $arousal gte (($arousalmax / 5) * 4)>> Thrilled to be so exposed <<elseif $arousal gte (($arousalmax / 5) * 1)>> Shivering in delight, <<else>> Blushing, <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "embarrassment">> <<if $arousal gte (($arousalmax / 10) * 9)>> Embarrassment dominates your mind and threatens to send you over the edge. <<elseif $arousal gte (($arousalmax / 10) * 8)>> Lewd shivers ripple through your body despite your embarrassment. <<elseif $arousal gte (($arousalmax / 10) * 7)>> The embarrassment leaves you lightheaded. <<elseif $arousal gte (($arousalmax / 10) * 6)>> You're so embarrassed. Your breath catches in your throat. <<elseif $arousal gte (($arousalmax / 10) * 5)>> You're so embarrassed. Your heart beats faster. <<elseif $arousal gte (($arousalmax / 10) * 4)>> You feel a warmth build despite the embarrassment. <<elseif $arousal gte (($arousalmax / 10) * 3)>> You're so embarrassed. Your heart skips a beat. <<elseif $arousal gte (($arousalmax / 10) * 2)>> You shiver with embarrassment. <<elseif $arousal gte (($arousalmax / 10) * 1)>> You're so embarrassed. Blood rushes to your face. <<else>> Your face reddens with embarrassment. <</if>> <</widget>> <<widget "covered">> <<exposure>> <<if $exposed gt 0>> /* calculating section */ <<silently>> <<genitals>><<set _genitals_text to _text_output>> <<breasts>><<set _breasts_text to _text_output>> <</silently>> <<set _parts to "">> <<if $worn.upper.exposed gte 2>> <<if $player.gender_appearance is "m" and $player.sex is "m" and $worn.lower.exposed lte 0>> <<set _parts += "chest">> <<else>> <<set _parts += ($worn.under_upper.exposed gte 1 ? _breasts_text : $worn.under_upper.name)>> <</if>> <</if>> <<if $worn.lower.exposed gte 2>> <<if _parts isnot "">> <<set _parts += " and ">> <</if>> <<set _parts += ($worn.under_lower.exposed gte 1 ? _genitals_text : $worn.under_lower.name)>> <</if>> /* text output section */ <<if $leftarm is "bound" and $rightarm is "bound" and $exposed gte 1>> With your arms bound, there's little you can do to shield your <<lewdness>> from prying eyes. <<if !$uncomfortable.nude and $exposed gte 2 and hasSexStat("exhibitionism", 6)>> You quiver with excitement. <<elseif !$uncomfortable.nude and $exposed is 1 and hasSexStat("exhibitionism", 4)>> You quiver with excitement. <</if>> <<elseif ($exposed gte 2 and ($exhibitionism lt 95 or $uncomfortable.nude)) or ($exposed is 1 and ($exhibitionism lt 55 or $uncomfortable.nude))>> <<if _parts isnot "">> You cover your <span class="lewd">exposed _parts</span> with your hands. <<else>> You cover the <span class="lewd">lewder</span> parts of your outfit with your hands. <</if>> <<else>> <<if _parts isnot "">> You quiver with excitement from your <span class="lewd">exposed _parts</span>. <<else>> The <span class="lewd">lewder</span> parts of your outfit make you quiver with excitement. <</if>> <</if>> <<embarrassment>> <</if>> <</widget>> <<widget "passagestrip">> <<if $worn.upper.exposed gte 2 and $worn.lower.exposed gte 2 and $worn.under_upper.exposed gte 1 and $worn.under_lower.exposed gte 1>> <<else>> <<outfitChecks>> <<set _clothing_strip_sequence to 0>> <<if !_overNaked>> <<flaunting>> you take off your <<= $worn.over_lower.name isnot "naked" and !_overOutfit ? "_top.name and _bottom.name" : "_top.name">>, exposing your <<= _topUnder?.name || "<<breasts>>">>. <<overupperstrip>><<overlowerstrip>> <<set _clothing_strip_sequence += 1>><<upperstrip>><<exposure>> <</if>> <<if $worn.upper.exposed lte 1>> <<= _clothing_strip_sequence is 0 ? "<<flaunting>>" : "Next">> <<if _middleOutfit is true>> you shuffle out of your $worn.upper.name, exposing your <<undertop>> and <<undies>>. <<else>> you tug off your $worn.upper.name, exposing your <<undertop>>. <</if>> <<set _clothing_strip_sequence += 1>><<upperstrip>><<exposure>> <</if>> <<if $worn.lower.exposed lte 1 and _args[0] isnot "topless">> <<if _clothing_strip_sequence is 0>> <<flaunting>> you tug off your $worn.lower.name, exposing your <<undies>>. <<else>> Your $worn.lower.name <<= $worn.lower.plural is 1 ? "come" : "comes">> next, exposing your <<undies>>. <</if>> <<set _clothing_strip_sequence += 1>><<lowerstrip>><<exposure>> <</if>> <<if $worn.under_upper.exposed lte 0 and _args[0] isnot "undies">> <<if _underOutfit is true>> <<if _clothing_strip_sequence is 0>> <<flaunting>> you shuffle out of your $worn.under_upper.name, revealing your <<breasts>> and <<genitals>>. <<elseif _clothing_strip_sequence is 1>> Your $worn.under_upper.name <<= $worn.under_upper.plural is 1 ? "come" : "comes">> next, revealing your <<breasts>> and <<genitals>>. <<else>> Finally, you peel off your $worn.under_upper.name, revealing your <<breasts>> and <<genitals>>. <</if>> <<else>> <<if _clothing_strip_sequence is 0>> <<flaunting>> you tug off your $worn.under_upper.name, revealing your <<breasts>>. <<elseif _clothing_strip_sequence is 1>> Your $worn.under_upper.name <<= $worn.under_upper.plural is 1 ? "come" : "comes">> next, revealing your <<breasts>>. <<else>> <<if $worn.under_lower.exposed lte 0>> Your $worn.under_upper.name <<= $worn.under_upper.plural is 1 ? "follow" : "follows">>, revealing your <<breasts>>. <<else>> Finally, you peel off your $worn.under_upper.name, revealing your <<breasts>>. <</if>> <</if>> <</if>> <<set _clothing_strip_sequence += 1>><<underupperstrip>><<exposure>> <</if>> <<if $worn.under_lower.exposed lte 0 and _args[0] isnot "undies" and _args[0] isnot "topless">> <<if _clothing_strip_sequence is 0>> <<flaunting>> you pull down your $worn.under_lower.name, displaying your <<genitals>>. <<elseif _clothing_strip_sequence is 1>> Your $worn.under_lower.name <<= $worn.under_lower.plural is 1 ? "come" : "comes">> next, displaying your <<genitals>>. <<else>> Finally, you peel off your $worn.under_lower.name, displaying your <<genitals>>. <</if>> <<set _clothing_strip_sequence += 1>><<underlowerstrip>><<exposure>> <</if>> <</if>> <<if !$worn.legs.type.includes("naked") and _args[0] isnot "topless">> You're still wearing your $worn.legs.name, but this somehow makes you feel even more exposed. <<else>> <</if>> <</widget>> <<widget "strippedtext">> <!-- Unused widget --> <<if $control gte (($controlmax / 5) * 4)>> <<if $trauma gte (($traumamax / 5) * 4)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 3)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 2)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 1)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<else>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <</if>> <<elseif $control gte (($controlmax / 5) * 3)>> <<if $trauma gte (($traumamax / 5) * 4)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 3)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 2)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 1)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<else>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <</if>> <<elseif $control gte (($controlmax / 5) * 2)>> <<if $trauma gte (($traumamax / 5) * 4)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 3)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 2)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 1)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<else>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <</if>> <<elseif $control gte (($controlmax / 5) * 1)>> <<if $trauma gte (($traumamax / 5) * 4)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 3)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 2)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 1)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<else>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <</if>> <<else>> <<if $trauma gte (($traumamax / 5) * 4)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 3)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 2)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<elseif $trauma gte (($traumamax / 5) * 1)>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <<else>> <<if $stress gte (($stressmax / 5) * 4)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<elseif $stress gte (($stressmax / 5) * 3)>> <<else>> <</if>> <</if>> <</if>> <</widget>> <<widget "prostate">><<silently>> <<if $player.vaginaExist>> <<set _text_output to "womb">> <<else>> <<set _text_output to "prostate">> <</if>> <</silently>>_text_output<</widget>> <<widget "bitch">><<silently>> <<if $player.gender_appearance is "m">> <<set _text_output to "bitch">> <<else>> <<set _text_output to "bitch">> <</if>> <</silently>>_text_output<</widget>> <<widget "bitch_pirate">><<silently>> <<if $player.gender_appearance is "m">> <<set _text_output to "dog">> <<else>> <<set _text_output to "bitch">> <</if>> <</silently>>_text_output<</widget>> <<widget "bastard">><<silently>> <<if $player.gender_appearance is "m">> <<set _text_output to "bastard">> <<else>> <<set _text_output to "whore">> <</if>> <</silently>>_text_output<</widget>> <<widget "cunt">><<silently>> <<if $player.gender_appearance is "m">> <<set _text_output to "dick">> <<else>> <<set _text_output to "cunt">> <</if>> <</silently>>_text_output<</widget>> <<widget "Ladies_gentlemen">><<silently>> <<if maleChance() gte 100>> <<set _text_output to "Gentlemen">> <<elseif maleChance() lte 0>> <<set _text_output to "Ladies">> <<else>> <<set _text_output to "Ladies and gentlemen">> <</if>> <</silently>>_text_output<</widget>> <<widget "tearful">> <<if $trauma gte $traumamax>> Eyes glazed and empty, <<elseif $trauma gte ($traumamax / 5) * 4>> <<if $stress gte ($stressmax / 5) * 4>> <<if $arousal gte ($arousalmax /5) * 4>> <<if $pain gte 100>> Tendrils of darkness whip and writhe against your skin as <<elseif $pain gte 40>> Tendrils of darkness writhe against your skin as <<else>> A strange mist closes around you and probes your most sensitive spots as <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> A mass of darkness follows you, prodding and spanking your behind as <<elseif $pain gte 40>> You hear phantom voices mocking you as <<else>> The shadows seem to close in on you as <</if>> <<else>> <<if $pain gte 100>> Tendrils of darkness whip and cut at your skin as <<elseif $pain gte 40>> Tendrils of darkness poke you as <<else>> You think you see eyes watching from the shadows as <</if>> <</if>> <<elseif $stress gte $stressmax / 5>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> Your tortured body and mind yearn for more punishment as <<elseif $pain gte 40>> Fantasies of violent sex intrude as <<else>> Your tortured mind yearns for more punishment as <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> Surprised that nothing is trying to hurt you, <<elseif $pain gte 40>> Surprised that nothing is trying to rape you, <<else>> Surprised that nothing is trying to fuck you, <</if>> <<else>> <<if $pain gte 100>> Feeling deserving of the pain you're in, <<elseif $pain gte 40>> You imagine figures stalking you as <<else>> You feel like you're being watched as <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> Thoughts about being sexually tortured intrude as <<elseif $pain gte 40>> Thoughts about being restrained and whipped intrude as <<else>> Thoughts about being a sex slave intrude as <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> Thoughts about being violently raped intrude as <<elseif $pain gte 40>> Thoughts about being brutally raped intrude as <<else>> Thoughts about being raped intrude as <</if>> <<else>> <<if $pain gte 100>> Feeling entirely deserving of the pain you're in, <<elseif $pain gte 40>> Though mentally and physically tormented, <<else>> You feel utterly worthless as <</if>> <</if>> <</if>> <<elseif $trauma gte ($traumamax / 5) * 2>> <<if $stress gte ($stressmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> A part of you savours the pain you're in as <<elseif $pain gte 40>> Tearful and worried that you're losing your mind, <<else>> Though worried that you're losing your mind, <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> Though afraid something will attack you, <<elseif $pain gte 40>> Though afraid something will jump you, <<else>> Feeling on the verge of panic, <</if>> <<else>> <<if $pain gte 100>> Though hurt and vulnerable, <<elseif $pain gte 40>> You feel self-conscious about the tears on your face as <<else>> You jump at every unexpected movement as <</if>> <</if>> <<elseif $stress gte $stressmax / 5>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> Hurt and ashamed, <<elseif $pain gte 40>> Despite your pain, a primal yearning swells within as <<else>> Shameful thoughts intrude as <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> You hope no one tries to assault you as <<elseif $pain gte 40>> Though afraid you're being followed, <<else>> You fear that someone is stalking you as <</if>> <<else>> <<if $pain gte 100>> You feel fragile and vulnerable as <<elseif $pain gte 40>> You sob as <<else>> You try to keep it together as <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> Feeling ashamed and in pain, <<elseif $pain gte 40>> Tears cover your ashamed face as <<else>> Ashamed of the feelings rising within you, <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> Your body hurts yet tingles shamefully as <<elseif $pain gte 40>> You sob at the injustice of it all as <<else>> Your <<genitals 1>> involuntarily twitches as <</if>> <<else>> <<if $pain gte 100>> Feeling lost and in pain, <<elseif $pain gte 40>> You try and fail to hold back your tears as <<else>> Shaken, <</if>> <</if>> <</if>> <<else>> <<if $stress gte ($stressmax / 5) * 4>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> You're an emotional wreck as <<elseif $pain gte 40>> Feeling emotionally and physically tender, <<else>> Though afraid your body will betray you, <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> Hurt and afraid, <<elseif $pain gte 40>> You struggle to cope with the myriad feelings assailing you as <<else>> You feel faint as <</if>> <<else>> <<if $pain gte 100>> You know you must look like a complete mess as <<elseif $pain gte 40>> You wonder what you did to deserve this as <<else>> Though at your wits' end, <</if>> <</if>> <<elseif $stress gte $stressmax / 5>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> You feel a primal yearning beneath your pain as <<elseif $pain gte 40>> Though humiliated by your body's signs of arousal, <<else>> Though embarrassed by your body's signs of arousal, <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> Shaken and hurt, <<elseif $pain gte 40>> Your body tingles painfully as <<else>> You feel self-conscious about the lewd warmth within you as <</if>> <<else>> <<if $pain gte 100>> <<if $water is 1>> Tears streaking away into the water, <<else>> Face covered in tears, <</if>> <<elseif $pain gte 40>> Feeling battered, but still determined to make the best of things, <<else>> Still determined to make the best of things, <</if>> <</if>> <<else>> <<if $arousal gte ($arousalmax / 5) * 4>> <<if $pain gte 100>> Your tortured body trembles with arousal as <<elseif $pain gte 40>> Tears run down your flushed cheeks as <<else>> Your body trembles with arousal as <</if>> <<elseif $arousal gte $arousalmax / 5>> <<if $pain gte 100>> Your body hurts and tingles as <<elseif $pain gte 40>> Your body feels sensitive as <<else>> You feel horny as <</if>> <<else>> <<if $pain gte 100>> Your whole body hurts as <<elseif $pain gte 40>> You wipe away your tears as <<else>> You waste no time as <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "slithers">> <<rng>> <<if $rng gte 95>> slithers <<elseif $rng gte 90>> writhes <<elseif $rng gte 85>> wriggles <<elseif $rng gte 80>> wiggles <<elseif $rng gte 75>> crawls <<elseif $rng gte 70>> slides <<elseif $rng gte 65>> slinks <<elseif $rng gte 60>> glides <<elseif $rng gte 55>> slips <<elseif $rng gte 50>> squirms <<elseif $rng gte 45>> worms <<elseif $rng gte 40>> twists <<elseif $rng gte 35>> twitches <<elseif $rng gte 30>> shivers <<elseif $rng gte 25>> trembles <<elseif $rng gte 20>> jerks <<elseif $rng gte 15>> crawls <<elseif $rng gte 10>> flutters <<elseif $rng gte 5>> meanders <<elseif $rng gte 0>> slips <</if>> <</widget>> <<widget "slithering">> <<rng>> <<if $rng gte 95>> slithering <<elseif $rng gte 90>> writhing <<elseif $rng gte 85>> wriggling <<elseif $rng gte 80>> wiggling <<elseif $rng gte 75>> crawling <<elseif $rng gte 70>> sliding <<elseif $rng gte 65>> slinking <<elseif $rng gte 60>> gliding <<elseif $rng gte 55>> slipping <<elseif $rng gte 50>> squirming <<elseif $rng gte 45>> worming <<elseif $rng gte 40>> twisting <<elseif $rng gte 35>> twitching <<elseif $rng gte 30>> shivering <<elseif $rng gte 25>> trembling <<elseif $rng gte 20>> jerking <<elseif $rng gte 15>> crawling <<elseif $rng gte 10>> fluttering <<elseif $rng gte 5>> meandering <<elseif $rng gte 0>> slipping <</if>> <</widget>> <<widget "wallet">><<silently>> <<if !isNaN(_args[0]) and $NPCList[_args[0]] and $NPCList[_args[0]].clothes and $NPCList[_args[0]].clothes.set>> <<set $_clothesSet to $NPCList[_args[0]].clothes.set>> <</if>> <<if $location is "island">> <<set _text_output to "clothes">> <<elseif ["maleSchoolSwim", "maleSchoolSwimShirt", "femaleSchoolSwim", "maleSwim1", "maleSwim2", "femaleSwim1", "femaleSwim2", "neutralSwim", "divingSuit"].includes($_clothesSet)>> <<set _text_output to "swimsuit">> <<set $_clothesType to setup.npcClothesSets.find(set => set.name is $_clothesSet)>> <<if $_clothesType>> <<set _stealType to $_clothesType.type>> <</if>> <<else>> <<set _text_output to ($pronoun is "m" ? "wallet" : "purse")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "pullupall">> <<outfitChecks>> <<set _pull to $worn.over_upper.name isnot "naked" ? "open your" + $worn.over_upper.name + "and pull" : "pull">> <<if _middleOutfit>> <<if _underOutfit>> You _pull down your $worn.upper.name and $worn.under_upper.name, <span class="lewd">baring your <<breasts>>.</span> <<elseif !$worn.under_upper.type.includes("naked")>> You _pull down your $worn.upper.name and pull up your $worn.under_upper.name, <span class="lewd">baring your <<breasts>>.</span> <<else>> You _pull down your $worn.upper.name, <span class="lewd">baring your <<breasts>>.</span> <</if>> <<elseif !$worn.upper.type.includes("naked")>> <<if _underOutfit>> You pull up your $worn.upper.name and pull down your $worn.under_upper.name, <span class="lewd">baring your <<breasts>>.</span> <<elseif !$worn.under_upper.type.includes("naked")>> You pull up your $worn.upper.name and $worn.under_upper.name, <span class="lewd">baring your <<breasts>>.</span> <<else>> You pull up your $worn.upper.name, <span class="lewd">baring your <<breasts>>.</span> <</if>> <<else>> <<if _underOutfit>> You pull down your $worn.under_upper.name, <span class="lewd">baring your <<breasts>>.</span> <<elseif !$worn.under_upper.type.includes("naked")>> You pull up your $worn.under_upper.name, <span class="lewd">baring your <<breasts>>.</span> <<else>> <span class="lewd">You bare your <<breasts>>.</span> <</if>> <</if>> <</widget>> <<widget "pulldownall">> <<outfitChecks>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1>> You lift the hem of your $worn.lower.name and $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif _underOutfit>> You lift the hem of your $worn.lower.name and pull aside your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif !$worn.under_lower.type.includes("naked")>> You lift the hem of your $worn.lower.name and pull down your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<else>> You lift the hem of your $worn.lower.name, <span class="lewd">baring your <<genitals>>.</span> <</if>> <<elseif _middleOutfit>> <<if setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1>> You pull aside your $worn.lower.name and lift the hem of your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif _underOutfit>> You pull aside your $worn.lower.name and $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif !$worn.under_lower.type.includes("naked")>> You pull aside your $worn.lower.name and pull down your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<else>> You pull aside your $worn.lower.name, <span class="lewd">baring your <<genitals>>.</span> <</if>> <<elseif !$worn.lower.type.includes("naked")>> <<if setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1>> You tug down your $worn.lower.name and lift the hem of your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif _middleOutfit>> You tug down your $worn.lower.name and pull aside your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif !$worn.under_lower.type.includes("naked")>> You tug down your $worn.lower.name and $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<else>> You tug down your $worn.lower.name, <span class="lewd">baring your <<genitals>>.</span> <</if>> <<else>> <<if setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1>> You lift the hem of your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif _underOutfit>> You pull aside your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<elseif !$worn.under_lower.type.includes("naked")>> You tug down your $worn.under_lower.name, <span class="lewd">baring your <<genitals>>.</span> <<else>> <span class="lewd">You bare your <<genitals>>.</span> <</if>> <</if>> <</widget>> <<widget "pullup">> <<outfitChecks>> <<if _middleOutfit>> pull down <<elseif !_top.type.includes("naked")>> pull up <<else>> remove <</if>> <</widget>> <<widget "pulldown">> <<outfitChecks>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> lift up <<elseif _middleOutfit is false>> pull down <<else>> remove <</if>> <</widget>> <<widget "pullsup">> <<outfitChecks>> <<if _middleOutfit>> pulls down <<elseif !_top.type.includes("naked")>> pulls up <<else>> removes <</if>> <</widget>> <<widget "pullsdown">> <<outfitChecks>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> lifts up <<elseif _middleOutfit is false>> pulls down <<else>> removes <</if>> <</widget>> <<widget "overpullup">> <<outfitChecks>> <<if _overOutfit>> pull down <<elseif !$worn.over_upper.type.includes("naked")>> pull up <<else>> remove <</if>> <</widget>> <<widget "overpulldown">> <<outfitChecks>> <<if setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1>> lift up <<elseif _overOutfit is false>> pull down <<else>> remove <</if>> <</widget>> <<widget "overpullsup">> <<outfitChecks>> <<if _overOutfit>> pulls down <<elseif !$worn.over_upper.type.includes("naked")>> pulls up <<else>> removes <</if>> <</widget>> <<widget "overpullsdown">> <<outfitChecks>> <<if setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1>> lifts up <<elseif _overOutfit is false>> pulls down <<else>> removes <</if>> <</widget>> <<widget "glans">><<silently>> <<if $penisuse is 0>> <<set _text_output to "glans">> <<else>> <<set _text_output to "shaft">> <</if>> <<if playerHasStrapon()>> <<set _text_output to "strap-on">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "testicle">><<silently>> <<if _args[0] is "clinical">> <<set $_pool to ["testicle"]>> <<else>> <<set $_pool to ["ball", "nut", "testicle"]>> <</if>> <<set _text_output to $_pool.pluck()>> <</silently>><<print _text_output>><</widget>> <<widget "testicles">><<silently>> <<if _args[0] is "clinical">> <<set $_pool to ["testes", "testicles"]>> <<else>> <<set $_pool to ["balls", "nuts", "testicles", "testes"]>> <</if>> <<set _text_output to $_pool.pluck()>> <</silently>><<print _text_output>><</widget>> <<widget "ballsize">><<silently>> <<switch $ballssize>> <<case -2>><<set _text_output to ["invisible"].pluck()>> <<case -1>><<set _text_output to ["tiny", "mediocre", "pea-sized"].pluck()>> <<case 0>> <<set _text_output to ["tiny", "mediocre"].pluck()>> <<case 1>> <<set _text_output to ["small"].pluck()>> <<case 2>> <<set _text_output to [""].pluck()>> <<case 3>> <<set _text_output to ["large", "heavy", "thick", "dense"].pluck()>> <<case 4>> <<set _text_output to ["huge", "heavy", "thick", "massive", "hefty"].pluck()>> <<default>><<set _text_output to "Error: $ballssize is [" + $ballssize + "]">> <</switch>> <</silently>><<print _text_output>><</widget>> <<widget "swimmingdifficultytext0">> <<if $statdisable is "f">> | <span class="green">These waters look safe</span> <</if>> <</widget>> <<widget "nexttext">> <!-- Unused widget, sort of --> <</widget>> <<widget "monk">><<silently>> <<if _args[0] is "desc">> <<set _text_output to $description + " ">> <<set _text_output += ($pronoun is "m" ? "monk" : "nun")>> <<else>> <<set _text_output to ($pronoun is "m" ? "monk" : "nun")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "monks">><<silently>> <<set _text_output to ($pronoun is "m" ? "monks" : "nuns")>> <</silently>><<print _text_output>><</widget>> <<widget "monks_and_nuns">><<silently>> <<if maleChance() is 100>> <<set _text_output to "monks">> <<elseif maleChance() is 0>> <<set _text_output to "nuns">> <<else>> <<set _text_output to "monks and nuns">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "Monks_and_Nuns">><<silently>> <<if maleChance() is 100>> <<set _text_output to "monks">> <<elseif maleChance() is 0>> <<set _text_output to "nuns">> <<else>> <<set _text_output to "monks and nuns">> <</if>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "brothers_and_sisters">><<silently>> <<if maleChance() is 100>> <<set _text_output to "brothers">> <<elseif maleChance() is 0>> <<set _text_output to "sisters">> <<else>> <<set _text_output to "brothers and sisters">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "monkapo">><<silently>> <<set _text_output to ($pronoun is "m" ? "monk's" : "nun's")>> <</silently>><<print _text_output>><</widget>> <<widget "priest">><<silently>> <<set _text_output to ($pronoun is "m" ? "priest" : "priestess")>> <</silently>><<print _text_output>><</widget>> <<widget "priests">><<silently>> <<set _text_output to ($pronoun is "m" ? "priests" : "priestesses")>> <</silently>><<print _text_output>><</widget>> <<widget "priestapo">><<silently>> <<set _text_output to ($pronoun is "m" ? "priest's" : "priestess'")>> <</silently>><<print _text_output>><</widget>> <<widget "bishop">><<silently>> <<if $temple_confessor_intro>> <<set _text_output to "bishop">> <<else>> <<set _text_output to ($pronoun is "m" ? "priest" : "priestess")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "bishop_hands">><<silently>> <<if $temple_confessor_intro and _args[0] isnot "long">> <<set _text_output to "bishop's hands">> <<elseif $per_npc.bishop_right_hand>> <<if $per_npc.bishop_right_hand.pronoun is "m" and $per_npc.bishop_left_hand.pronoun is "m">> <<set _text_output to "priests">> <<elseif $per_npc.bishop_right_hand.pronoun is "f" and $per_npc.bishop_left_hand.pronoun is "f">> <<set _text_output to "priestesses">> <<else>> <<set _text_output to "priest and priestess">> <</if>> <<else>> <<set _text_output to "dark-robed pair">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "vaginalvirginitywarning">> <<if $player.virginity.vaginal is true and $statdisable is "f">> <<if !$combat>> | <</if>> <span class="red">This action will deflower you</span> <</if>> <</widget>> <<widget "penilevirginitywarning">> <<if playerHasStrapon()>> <!-- do nothing --> <<elseif $player.virginity.penile is true and $statdisable is "f">> <<if !$combat>> | <</if>> <span class="red">This action will deflower you</span> <</if>> <</widget>> <<widget "analvirginitywarning">> <<if $player.virginity.anal is true and $statdisable is "f">> <<if !$combat>> | <</if>> <span class="red">This action will take your anal virginity</span> <</if>> <</widget>> <<widget "oralvirginitywarning">> <<if $player.virginity.oral is true and $statdisable is "f">> <<if !$combat>> | <</if>> <span class="red">This action will take your oral virginity</span> <</if>> <</widget>> <<widget "handholdingvirginitywarning">> <<if $player.virginity.handholding is true and $statdisable is "f">> <<if !$combat>> | <</if>> <span class="red">This action will take your handholding virginity</span> <</if>> <</widget>> <<widget "kissvirginitywarning">> <<if $player.virginity.kiss is true and $statdisable is "f">> <<if !$combat>> | <</if>> <span class="red">This action will take your first kiss</span> <</if>> <</widget>> /* Argument 0 is the npc, argument 1 is their virginity. */ <<widget "NPCvirginitywarning">> <<if $NPCNameList.indexOf(_args[0]) >= 0 and C.npc[_args[0]].virginity[_args[1]] is true and $statdisable is "f">> <<if $options.combatControls.includes("ists")>> <br> <</if>> <<switch _args[1]>> <<case "vaginal">> <span class="red"> This action will deflower <<him>>.</span> <<case "penile">> <<if !npcHasStrapon(V.NPCList.findIndex(npc => npc.fullDescription === _args[0]))>> <span class="red"> This action will deflower <<him>>.</span> <</if>> <<case "anal">> <span class="red"> This action will take <<his>> anal virginity.</span> <<case "oral">> <span class="red"> This action will take <<his>> oral virginity.</span> <<case "kiss">> <span class="red"> This action will take <<his>> first kiss.</span> <<case "handholding">> <span class="red"> This action will take <<his>> handholding virginity.</span> <<default>> <</switch>> <</if>> <</widget>> <<widget "wolfgirl">> <<if $statdisable is "f">> | <span class="blue"><<print ($player.gender_appearance is "m" ? "Wolfboy" : "Wolfgirl")>></span> <</if>> <</widget>> <<widget "cat">> <<if $statdisable is "f">> | <span class="blue">Cat</span> <</if>> <</widget>> <<widget "cow">> <<if $statdisable is "f">> | <span class="blue">Cow</span> <</if>> <</widget>> <<widget "harpy">> <<if $statdisable is "f">> | <<if $hallucinations gte 2 or $bestialitydisable is "t">> <span class="gold">Harpy</span> <<else>> <span class="gold">Bird</span> <</if>> <</if>> <</widget>> <<widget "fox">> <<if $statdisable is "f">> | <span class="orange"><<print ($player.gender_appearance is "m" ? "Foxboy" : "Vixen")>></span> <</if>> <</widget>> <<widget "angel">> <<if $statdisable is "f">> | <span class="gold">Angel</span> <</if>> <</widget>> <<widget "fallenangel">> <<if $statdisable is "f">> | <span class="black">Fallen Angel</span> <</if>> <</widget>> <<widget "demon">> <<if $statdisable is "f">> | <span class="red">Demon</span> <</if>> <</widget>> <<widget "sharp_eyes">> <<if $statdisable is "f">> | <span class="gold">Sharp eyes</span> <</if>> <</widget>> <<widget "laughs">><<silently>> <<rng>> <<if $npcadult isnot 1>> <<set _text_output to either("giggles", "laughs")>> <<elseif $pronoun is "f">> <!-- female adult --> <<set _text_output to either("giggles", "chuckles", "laughs")>> <<else>> <!-- male adult --> <<set _text_output to either("chuckles", "laughs")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "cursedtext">> <<if _args[0] is "collar" or _args[0] is "collar with leash">> <span class="blue">Perhaps the police can help.</span> <<elseif (_args[0] or _args[1]) is "chastity belt">> <span class="blue">Perhaps the temple can help.</span> <</if>> <</widget>> /* Note: Someone who understands how this works should make it so you can't output a teacher's name when that teacher is supposed to be in class. */ <<widget "randomteacher">><<silently>> <<set $_teacherNames to ["Sirris","River","Doren","Winter","Mason"].filter(name => C.npc[name].init is 1)>> <<set _text_output to ($_teacherNames.length gte 1 ? $_teacherNames.random() : "a teacher")>> <</silently>><<print _text_output>><</widget>> <<widget "skincolourtext">> <<switch Skin.color.natural>> <<case "light" "ylight">> light <<case "medium" "ymedium">> medium <<case "dark" "ydark">> dark <<case "gyaru" "ygyaru">> <<set _textOverride to true>> <</switch>> <<if _textOverride is true>> <<if Skin.color.tan gte 66>> dark <<elseif Skin.color.tan gte 33>> medium <<else>> light <</if>> skin colour. <<elseif Skin.color.tan gte 80>> skin colour with a dark tan. <<elseif Skin.color.tan gte 60>> skin colour with a medium tan. <<elseif Skin.color.tan gte 30>> skin colour with a tan. <<elseif Skin.color.tan gte 10>> skin colour with a light tan. <<else>> skin colour. <</if>> <</widget>> <<widget "beasttype">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<else>> <<set _na to 0>> <</if>> <<set _text_output to $NPCList[_na].type>> <</silently>><<print _text_output>><</widget>> <<widget "beasttypes">> <<beasttype>>'s<</widget>> <<widget "beastsplural">><<silently>> <<if typeof _args[0] is "number">> <<set _na to _args[0]>> <<else>> <<set _na to 0>> <</if>> <<if $NPCList[_na].type is "wolf" and $monster isnot 1>> <<set _text_output to "wolves">> <<elseif $NPCList[_na].type is "fox" and $monster isnot 1>> <<set _text_output to "foxes">> <<elseif $NPCList[_na].type is "harpy">> <<set _text_output to "harpies">> <<elseif $monster isnot 1 or $NPCList[_na].type is "centaur">> <<set _text_output to "<<beasttype _na>>s">> <<else>> <<for _i = 0; _i < $NPCList.length; _i++>> <<if $NPCList[_i].pronoun is "m">> <<set _malespresent to true>> <</if>> <<if $NPCList[_i].pronoun is "f">> <<set _femalespresent to true>> <</if>> <</for>> <<if (_malespresent isnot true or _femalespresent isnot true)>> <<set _text_output to "<<beasttype>>s">> <<elseif !$NPCList[2].pronoun>> <<set _text_output to "$NPCList[0].type and $NPCList[1].type">> <<else>> <<switch $NPCList[_na].type>> <<case "lizardgirl" "lizardboy">><<set _text_output to "lizardgirls and lizardboys">> <<case "wolfgirl" "wolfboy">><<set _text_output to "wolfgirls and wolfboys">> <<case "doggirl" "dogboy">><<set _text_output to "doggirls and dogboys">> <<case "dolphingirl" "dolphinboy">><<set _text_output to "dolphingirls and dolphinboys">> <<case "beargirl" "bearboy">><<set _text_output to "beargirls and bearboys">> <<case "catgirl" "catboy">><<set _text_output to "catgirls and catboys">> <<case "piggirl" "pigboy">><<set _text_output to "piggirls and pigboys">> <<case "boargirl" "boarboy">><<set _text_output to "boargirls and boarboys">> <<case "cowgirl" "bullboy">><<set _text_output to "cowgirls and bullboys">> <<case "foxgirl" "foxboy">><<set _text_output to "foxgirls and foxboys">> <<case "spidergirl" "spiderboy">><<set _text_output to "spidergirls and spiderboys">> <<default>><<set _text_output to "creatures">> <</switch>> <</if>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "slut">><<silently>> <<set _text_output to ($player.gender_appearance is "m" ? "pervert" : "slut")>> <</silently>><<print _text_output>><</widget>> <<widget "tending_text">> <<set $_tendingText to currentSkillValue('tending')>> <<if $_tendingText gte 1200>> <span class="gold">You're incredible at this.</span> <<elseif $_tendingText gte 800>> <span class="green">You're great at this.</span> <<elseif $_tendingText gte 600>> <span class="teal">You're good at this.</span> <<elseif $_tendingText gte 400>> <span class="lblue">You're okay at this.</span> <<elseif $_tendingText gte 200>> <span class="blue">You're getting the hang of this.</span> <<else>> <span class="purple">You muddle through.</span> <</if>> <</widget>> <<widget "housekeeping_text">> <<set $_housekeepingText to currentSkillValue('housekeeping')>> <<if $_housekeepingText gte 1200>> <span class="gold">You're incredible at this.</span> <<elseif $_housekeepingText gte 800>> <span class="green">You're great at this.</span> <<elseif $_housekeepingText gte 600>> <span class="teal">You're good at this.</span> <<elseif $_housekeepingText gte 400>> <span class="lblue">You're okay at this.</span> <<elseif $_housekeepingText gte 200>> <span class="blue">You're getting the hang of this.</span> <<else>> <span class="purple">You muddle through.</span> <</if>> <</widget>> <<widget "wordify_i">> <<switch _args[0]>> <<case 0>> <<set _text_output to "first">> <<case 1>> <<set _text_output to "second">> <<case 2>> <<set _text_output to "third">> <<case 3>> <<set _text_output to "fourth">> <<case 4>> <<set _text_output to "fifth">> <<case 5>> <<set _text_output to "sixth">> <<case 6>> <<set _text_output to "seventh">> <<case 7>> <<set _text_output to "eighth">> <<case 8>> <<set _text_output to "ninth">> <<case 9>> <<set _text_output to "tenth">> <</switch>> <<if _text_output is undefined>> <<set _text_output to "eleventh">> <</if>> <<if _args[1]>> <<capitalise>> <<else>> <<print _text_output>> <</if>> <</widget>> <<widget "threaten">> <<rng>> <<if $NPCList[_n].pronoun is "m">> <<if $NPCList[_n].penis isnot "none">> <<if $player.gender_appearance is "m">> <<if $rng gte 81>> "I'm gonna fuck your ass until you squeal." <<elseif $rng gte 61>> "I'm gonna make you my bitch." <<elseif $rng gte 41>> "You'll be worshipping my cock when I'm done with you." <<elseif $rng gte 21>> "I'm gonna make you my new cock sleeve." <<else>> "I'm gonna fill that ass of yours." <</if>> <<else>> <<if $rng gte 81>> "I'm gonna fuck your pussy until you squeal." <<elseif $rng gte 61>> "I'm gonna make you my bitch." <<elseif $rng gte 41>> "You'll be worshipping my cock when I'm done with you." <<elseif $rng gte 21>> "I'm gonna fuck every one of your holes." <<else>> "I'm gonna make you my new cock sleeve." <</if>> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<if $rng gte 81>> "I'm gonna ride you until you pass out." <<elseif $rng gte 61>> "I'm gonna bully your cock into submission." <<elseif $rng gte 41>> "I'm gonna drain you empty." <<elseif $rng gte 21>> "Your cock will be sore when I'm through with you." <<else>> "You're gonna service my pussy in and every way I require." <</if>> <<else>> <<if $rng gte 81>> "I'm gonna fuck you until you squeal." <<elseif $rng gte 61>> "I'm gonna bully your pussy into submission." <<elseif $rng gte 41>> "You're gonna service my pussy in any and every way I require." <<elseif $rng gte 21>> "You're gonna get me off any way you can." <<else>> "I'm gonna dominate every part of you." <</if>> <</if>> <</if>> <<else>> <<if $NPCList[_n].penis isnot "none">> <<if $player.gender_appearance is "m">> <<if $rng gte 81>> "I'm gonna fuck your ass until you squeal." <<elseif $rng gte 61>> "I'm gonna make you my bitch." <<elseif $rng gte 41>> "You'll be worshipping my cock when I'm done with you." <<elseif $rng gte 21>> "I'm gonna make you my new cock sleeve." <<else>> "I'm gonna fill that ass of yours." <</if>> <<else>> <<if $rng gte 81>> "I'm gonna fuck your pussy until you squeal." <<elseif $rng gte 61>> "I'm gonna make you my bitch." <<elseif $rng gte 41>> "You'll be worshipping my cock when I'm done with you." <<elseif $rng gte 21>> "I'm gonna fuck every one of your holes." <<else>> "I'm gonna make you my new cock sleeve." <</if>> <</if>> <<else>> <<if $player.gender_appearance is "m">> <<if $rng gte 81>> "I'm gonna ride you until you pass out." <<elseif $rng gte 61>> "I'm gonna bully your cock into submission." <<elseif $rng gte 41>> "I'm gonna drain you empty." <<elseif $rng gte 21>> "Your cock will be sore when I'm through with you." <<else>> "I need your cum. All of it." <</if>> <<else>> <<if $rng gte 81>> "I'm gonna fuck you until you squeal." <<elseif $rng gte 61>> "I'm gonna bully your pussy into submission." <<elseif $rng gte 41>> "You're gonna service my pussy in any and every way I require." <<elseif $rng gte 21>> "You're gonna get me off any way you can." <<else>> "I'm gonna dominate every part of you." <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "voice">> <<switch _args[0]>> <<case "plead">> <<if $pain lte 60>> <<if $rng lte 33>> <<set _text_output to "plead">> <<elseif $rng lte 66>> <<set _text_output to "beg">> <<elseif $wolfgirl gte 4>> <<set _text_output to "whimper">> <<elseif $cat gte 4>> <<set _text_output to "mewl">> <<elseif $cow gte 4>> <<set _text_output to "moo">> <<elseif $harpy gte 4>> <<set _text_output to "chirp">> <<elseif $fox gte 4>> <<set _text_output to "whimper">> <<else>> <<set _text_output to "plead">> <</if>> <<else>> <<if $rng lte 50>> <<set _text_output to "cry and plead">> <<else>> <<set _text_output to "weep and plead">> <</if>> <</if>> <<case "moan">> <<if $rng lte 25>> <<if $arousal lte ($arousalmax / 5) * 3>> <<set _text_output to "moan">> <<else>> <<set _text_output to "gasp and moan">> <</if>> <<elseif $rng lte 50>> <<set _text_output to "murmur">> <<elseif $rng lte 75>> <<if $arousal lte ($arousalmax / 5) * 3>> <<set _text_output to "giggle">> <<else>> <<set _text_output to "gasp and giggle">> <</if>> <<elseif $wolfgirl gte 4>> <<set _text_output to "pant">> <<elseif $cat gte 4>> <<set _text_output to "purr">> <<elseif $cow gte 4>> <<set _text_output to "moo">> <<elseif $harpy gte 4>> <<set _text_output to "chirp">> <<elseif $fox gte 4>> <<set _text_output to "yip">> <<else>> <<set _text_output to "moan">> <</if>> <<case "demand">> <<if $arousal lte ($arousalmax / 5) * 3>> <<if $rng lte 33>> <<set _text_output to "speak">> <<elseif $rng lte 66>> <<set _text_output to "yell">> <<elseif $wolfgirl gte 4>> <<set _text_output to "bark">> <<elseif $cat gte 4>> <<set _text_output to "hiss">> <<elseif $cow gte 4>> <<set _text_output to "exhale through your nostrils threateningly">> <<elseif $harpy gte 4>> <<set _text_output to "screech">> <<elseif $fox gte 4>> <<set _text_output to "scream">> <<else>> <<set _text_output to "spit">> <</if>> <<elseif $rng lte 50>> <<set _text_output to "gasp">> <<else>> <<set _text_output to "growl">> <</if>> <<default>> <<set _text_output to "try to speak, but hiccup instead. This is a bug, Please report to Vrelnir" + (_args[0] isnot undefined ? _args[0] : "undefined")>> <</switch>> <<print _text_output>> <</widget>> <<widget "vagina_lube_amount">> <<if _vagina_lube_amount gte 12>> <span class="red">copious</span> amounts <<elseif _vagina_lube_amount gte 8>> <span class="pink">ample</span> amounts <<elseif _vagina_lube_amount gte 5>> <span class="pink">large amount</span> <<elseif _vagina_lube_amount gte 3>> <span class="purple">fair</span> amount <<elseif _vagina_lube_amount gte 2>> <span class="purple">meagre</span> amount <<else>> <span class="purple">paltry</span> amount <</if>> <</widget>> <<widget "anus_lube_amount">> <<if _anus_lube_amount gte 12>> <span class="red">copious</span> amounts <<elseif _anus_lube_amount gte 8>> <span class="pink">ample</span> amounts <<elseif _anus_lube_amount gte 5>> <span class="pink">large amount</span> <<elseif _anus_lube_amount gte 3>> <span class="purple">fair</span> amount <<elseif _anus_lube_amount gte 2>> <span class="purple">meagre</span> amount <<else>> <span class="purple">paltry</span> amount <</if>> <</widget>> <<widget "penis_lube_amount">> <<if _penis_lube_amount gte 10>> <span class="red">copious</span> amounts <<elseif _penis_lube_amount gte 6>> <span class="pink">ample</span> amounts <<elseif _penis_lube_amount gte 4>> <span class="pink">large amount</span> <<elseif _penis_lube_amount gte 3>> <span class="purple">fair</span> amount <<elseif _penis_lube_amount gte 2>> <span class="purple">meagre</span> amount <<else>> <span class="purple">paltry</span> amount <</if>> <</widget>> <<widget "vagina_lube_text">> <<set _vagina_lube_amount to setup.bodyliquid.combined("vagina") + setup.bodyliquid.combined("vaginaoutside") + Math.max(0, $vaginaArousalWetness - 60) / 5>> <<if _vagina_lube_amount lte 0>> Despite how dry you are, <<else>> Aided by the <<vagina_lube_amount>> of lubricating fluid, <</if>> <</widget>> <<widget "anus_lube_text">> <<set _anus_lube_amount to setup.bodyliquid.combined("anus") + setup.bodyliquid.combined("bottom")>> <<if _anus_lube_amount lte 0>> Despite the lack of lubrication, <<else>> Aided by the <<anus_lube_amount>> of lubricating fluid, <</if>> <</widget>> <<widget "penis_lube_text">> <<set _penis_lube_amount to setup.bodyliquid.combined("penis")>> <<if _penis_lube_amount lte 0>> Despite the lack of lubrication, <<else>> Aided by the <<penis_lube_amount>> of lubricating fluid, <</if>> <</widget>> <<widget "small_text">> <<if $statdisable is "f">> | <<if $physiquesize lte 6000>> <span class="teal">Tiny Body</span> <<elseif $physiquesize lte 10000>> <span class="teal">Small Body</span> <<elseif $physiquesize lte 12000>> <span class="teal">Not too big</span> <<else>> <span class="teal">Not too big</span> <</if>> <</if>> <</widget>> <<widget "large_text">> <<if $statdisable is "f">> | <<if $physiquesize gte 16000>> <span class="teal">Large Body</span> <<elseif $physiquesize gte 12000>> <span class="teal">Normal Body</span> <<elseif $physiquesize gte 10000>> <span class="teal">Not too small</span> <<else>> <span class="teal">Not too small</span> <</if>> <</if>> <</widget>> <<widget "body_size_text">> <<switch $physiquesize>> <<case lte 6000>> <<set _text_output to either("tiny", "dainty", "petite", "minuscule", "delicate") + " ">> <<case lte 10000>> <<set _text_output to either("short", "small", "little", "smallish") + " ">> <<case lte 12000>> <<set _text_output to either("average", "normal", "regular") + " ">> <<case lte 16000>> <<set _text_output to either("tall", "strong", "powerful", "large") + " ">> <<default>> <</switch>> <<set _text_output to _text_output + either("body","frame","anatomy", "torso")>> <<print _text_output>> <</widget>> <<widget "monster_passage">> <!-- Unused widget --> <<if _monster_passage is undefined>> <<if ($monsterchance gte 1 and $hallucinations gte 1) or ($monsterchance gte 1 and $monsterhallucinations is "f")>> <<if maleChance() gte 100>> <<set _monster_passage to "m">> <<elseif maleChance() lte 0>> <<set _monster_passage to "f">> <<else>> <<set _monster_passage to "b">> <</if>> <<else>> <<set _monster_passage to "n">> <</if>> <</if>> <</widget>> <<widget "farm_text_many">> <<set $_bgender to $farm_work[_args[0]].gender_plural>> <<set $_bperson to ($farm_work[_args[0]].monster_roll is true and ($hallucinations gte 1 or $monsterhallucinations is "f"))>> <<if _args[0] is "horse">> <<if $_bperson>> <<set _text_output to "centaurs">> <<else>> <<set _text_output to "horses">> <</if>> <<elseif _args[0] is "pig">> <<if $_bperson>> <<if $_bgender is "m">> <<set _text_output to "pigboys">> <<elseif $_bgender is "f">> <<set _text_output to "piggirls">> <<else>> <<set _text_output to "pigpeople">> <</if>> <<else>> <<set _text_output to "pigs">> <</if>> <<elseif _args[0] is "dog">> <<if $_bperson>> <<if $_bgender is "m">> <<set _text_output to "dogboys">> <<elseif $_bgender is "f">> <<set _text_output to "doggirls">> <<else>> <<set _text_output to "dogpeople">> <</if>> <<else>> <<set _text_output to "dogs">> <</if>> <<else>> <<if $_bperson>> <<if $_bgender is "m">> <<set _text_output to "bullboys">> <<elseif $_bgender is "f">> <<set _text_output to "cowgirls">> <<else>> <<set _text_output to "cattle">> <</if>> <<else>> <<if $_bgender is "m">> <<set _text_output to "bulls">> <<elseif $_bgender is "f">> <<set _text_output to "cows">> <<else>> <<set _text_output to "cattle">> <</if>> <</if>> <</if>> <<print _text_output>> <</widget>> <<widget "farm_text">> <<set $_bgender to $farm_work[_args[0]].gender>> <<set $_bperson to ($farm_work[_args[0]].monster_roll is true and ($hallucinations gte 1 or $monsterhallucinations is "f"))>> <<if _args[0] is "horse">> <<if $_bperson>> <<set _text_output to "centaur">> <<else>> <<set _text_output to "horse">> <</if>> <<elseif _args[0] is "pig">> <<if $_bperson>> <<set _text_output to ($_bgender is "m" ? "pigboy" : "piggirl")>> <<else>> <<set _text_output to "pig">> <</if>> <<elseif _args[0] is "dog">> <<if $_bperson>> <<set _text_output to ($_bgender is "m" ? "dogboy" : "doggirl")>> <<else>> <<set _text_output to "dog">> <</if>> <<else>> <<if $_bperson>> <<set _text_output to ($_bgender is "m" ? "bullboy" : "cowgirl")>> <<else>> <<set _text_output to ($_bgender is "m" ? "bull" : "cow")>> <</if>> <</if>> <<print _text_output>> <</widget>> <<widget "farm_he">> <<if $farm_work[_args[0]].monster>> <<if $farm_work[_args[0]].gender is "m">> <<set _text_output to "he">> <<else>> <<set _text_output to "she">> <</if>> <<else>> <<set _text_output to "it">> <</if>> <<print _text_output>> <</widget>> <<widget "farm_He">> <<if $farm_work[_args[0]].monster>> <<if $farm_work[_args[0]].gender is "m">> <<set _text_output to "He">> <<else>> <<set _text_output to "She">> <</if>> <<else>> <<set _text_output to "It">> <</if>> <<print _text_output>> <</widget>> <<widget "farm_him">> <<if $farm_work[_args[0]].monster>> <<if $farm_work[_args[0]].gender is "m">> <<set _text_output to "him">> <<else>> <<set _text_output to "her">> <</if>> <<else>> <<set _text_output to "it">> <</if>> <<print _text_output>> <</widget>> <<widget "farm_his">> <<if $farm_work[_args[0]].monster>> <<if $farm_work[_args[0]].gender is "m">> <<set _text_output to "his">> <<else>> <<set _text_output to "her">> <</if>> <<else>> <<set _text_output to "its">> <</if>> <<print _text_output>> <</widget>> <<widget "farm_His">> <<if $farm_work[_args[0]].monster>> <<if $farm_work[_args[0]].gender is "m">> <<set _text_output to "His">> <<else>> <<set _text_output to "Her">> <</if>> <<else>> <<set _text_output to "Its">> <</if>> <<print _text_output>> <</widget>> <<widget "master">><<silently>> <<set _text_output to ($pronoun is "m" ? "master" : "mistress")>> <</silently>>_text_output<</widget>> <<widget "Master">><<silently>> <<master>><<capitalise>> <</silently>>_text_output<</widget>> <<widget "daughter">><<silently>> <<set _text_output to ($pronoun is "m" ? "son" : "daughter")>> <</silently>>_text_output<</widget>> <!-- Proper usage example: <<nnpc_he "Robin">> would return "he" or "she" based on Robin's pronoun. --> <!-- Useful for needing to call a named NPC's pronoun in a scene that doesn't directly include them, or for more efficient usage in scenes with multiple named NPCs. --> <<widget "nnpc_he">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "he" : "she")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_He">><<silently>> <<nnpc_he _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_him">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "him" : "her")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_Him">><<silently>> <<nnpc_him _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_his">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "his" : "her")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_His">><<silently>> <<nnpc_his _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_hers">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "his" : "hers")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_hes">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "he's" : "she's")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_Hes">><<silently>> <<nnpc_hes _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_himself">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "himself" : "herself")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_wife">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "husband" : "wife")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_lass">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "lad" : "lass")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_gender">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "man" : "woman")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_gendery">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "boy" : "girl")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_genitals">><<silently>> <<set _npcGender to C.npc[_args[0]].gender>> <<set _text_output to (_npcGender is "m" ? "penis" : "vagina")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_girlfriend">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "boyfriend" : "girlfriend")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_brother">><<silently>> <<set _npcPronoun to C.npc[_args[0]].pronoun>> <<set _text_output to (_npcPronoun is "m" ? "brother" : "sister")>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_Brother">><<silently>> <<nnpc_brother _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_title">><<silently>> <<set _text_output to C.npc[_args[0]].title>> <</silently>><<print _text_output>><</widget>> <<widget "nnpc_Title">><<silently>> <<nnpc_title _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "daylight">> <<if Weather.dayState is "day">> <<set _text_output to "daylight">> <<elseif Weather.dayState is "dawn">> <<set _text_output to "dawn's light">> <<elseif Weather.dayState is "dusk">> <<set _text_output to "fading light">> <<else>> <<if Time.hour is 9 or Time.season is "summer">> <<set _text_output to "twilight">> <<else>> <<set _text_output to "night breeze">> <</if>> <</if>> <<print _text_output>> <</widget>> <<widget "printTo">> to <</widget>> <<widget "printAnd">> and <</widget>> <<widget "printChastity">> $worn.genitals.name <</widget>> /* Replaced with js macro (timeMacros.js) <<widget "timeAfterXHours">><<silently>> <<if _args[0]>> <<if $options.timestyle is "military">> <<set $_hour to (Time.hour + _args[0]) % 24>> <<print $_hour>>:<<print $minute + ($minute lt 10? "0":"")>> <<set _text_output to ($_hour lt 10 ? "0":"") + $_hour + ":" + ($minute lt 10 ? "0":"") + $minute>> <<else>> <<set $_hour to (Time.hour + _args[0]) % 24>> <<if $_hour gte 13>> <<set _text_output to ($_hour - 12) + ":" + ($minute lt 10 ? "0":"") + $minute + "pm">> <<else>> <<set _text_output to ($_hour is 0 ? "12" : $_hour) + ":" + ($minute lt 10 ? "0":"") + $minute + ($_hour is 12? "pm": "am")>> <</if>> <</if>> <</if>> <</silently>><<print _text_output>><</widget>> */ <<widget "beast_jaws_text">> <<if $NPCList[_n].type is "hawk">> <<set _text_output to "beak">> <<else>> <<set _text_output to "jaws">> <</if>> <<print _text_output>> <</widget>> <<widget "beast_Jaws_text">> <<if $NPCList[_n].type is "hawk">> <<set _text_output to "Beak">> <<else>> <<set _text_output to "Jaws">> <</if>> <<print _text_output>> <</widget>> <<widget "beast_teeth_text">> <<if $NPCList[_n].type is "hawk">> <<set _text_output to "beak">> <<else>> <<set _text_output to "teeth">> <</if>> <<print _text_output>> <</widget>> <<widget "beast_claws_text">> <<if $NPCList[_n].type is "hawk">> <<set _text_output to "talons">> <<else>> <<set _text_output to $NPCList[_n].claws>> <!-- <<set _text_output to "claws">> --> <</if>> <<print _text_output>> <</widget>> <<widget "beast_growls_text">> <<if $NPCList[_n].type is "hawk">> <<set _text_output to "squawks">> <<elseif $NPCList[_n].type is "pig">> <<set _text_output to "oinks">> <<elseif $NPCList[_n].type is "dolphin">> <<set _text_output to "clicks">> <<elseif $NPCList[_n].type is "spider">> <<set _text_output to "chitters">> <<else>> <<set _text_output to "growls">> <</if>> <<print _text_output>> <</widget>> <<widget "beast_growling_text">> <<if $NPCList[_n].type is "hawk">> <<set _text_output to "squawking">> <<elseif $NPCList[_n].type is "pig">> <<set _text_output to "oinking">> <<elseif $NPCList[_n].type is "dolphin">> <<set _text_output to "clicking">> <<else>> <<set _text_output to "growling">> <</if>> <<print _text_output>> <</widget>> <<widget "dress">> <<if $worn.upper.set is $worn.lower.set>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<set _text_output to "dress">> <<else>> <<set _text_output to "clothes">> <</if>> <<else>> <<set _text_output to "top">> <</if>> <<print _text_output>> <</widget>> <<widget "skirt">> <<if $worn.upper.set is $worn.lower.set>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<set _text_output to "dress">> <<else>> <<set _text_output to "clothes">> <</if>> <<else>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<set _text_output to "skirt">> <<else>> <<set _text_output to "bottoms">> <</if>> <</if>> <<print _text_output>> <</widget>> <<widget "panties">> <<if $worn.under_upper.set is $worn.under_lower.set>> <<set _text_output to "underclothes">> <<else>> <<if setup.clothes.under_lower[clothesIndex('under_lower', $worn.under_lower)].skirt is 1>> <<set _text_output to "skirt">> <<else>> <<if $worn.under_lower.gender is "f">> <<if random(1, 2) is 2>> <<set _text_output to "panties">> <<else>> <<set _text_output to "knickers">> <</if>> <<else>> <<set _text_output to "undies">> <</if>> <</if>> <</if>> <<print _text_output>> <</widget>> <<widget "bra">> <<if $worn.under_upper.set is $worn.under_lower.set>> <<set _text_output to "underclothes">> <<else>> <<if $worn.under_upper.gender is "f" and setup.clothes.under_upper[clothesIndex('under_upper', $worn.under_upper)].state_base is "midriff">> <<set _text_output to "bra">> <<else>> <<set _text_output to "top">> <</if>> <</if>> <<print _text_output>> <</widget>> <<widget "npcPenis">><<silently>> <<set $_npcGen to (_args[0] ? _args[0] : $index)>> <<if !$NPCList[$_npcGen]>> <<set _text_output to `<span class="red">error-npcPenis-${$_npcGen}</span>`>> <<elseif $NPCList[$_npcGen].chastity.penis is "chastity cage">> <<set _text_output to "caged penis">> <<elseif $NPCList[$_npcGen].chastity.penis.includes("chastity")>> <<set _text_output to $NPCList[$_npcGen].chastity.penis>> <<else>> <<set _text_output to $NPCList[$_npcGen].penisdesc>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "npcPenisSimple">><<silently>> <<if $enemynomax is 1>> <<set _args[0] to 0>> <</if>> <<set $_npcGen to (_args[0] ? _args[0] : $index)>> <<if !$NPCList[$_npcGen]>> <<set _text_output to `<span class="red">error-npcPenisSimple-${$_npcGen}</span>`>> <<elseif $NPCList[$_npcGen].chastity.penis is "chastity cage">> <<set _text_output to "caged penis">> <<elseif $NPCList[$_npcGen].chastity.penis.includes("chastity")>> <<set _text_output to $NPCList[$_npcGen].chastity.penis>> <<elseif npcHasStrapon($_npcGen)>> <<set _text_output to either("strap-on","strap-on cock")>> <<else>> <<set _text_output to either("penis","penis","cock","shaft")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "npcPenisColored">> <<set $_npcGen to (_args[0] ? _args[0] : $index)>> <<set $_ppcolor to "tan">> <<if !$NPCList[$_npcGen]>> <<set _text_output to `<span class="red">error-npcPenisColored-${$_npcGen}</span>`>> <<elseif $NPCList[$_npcGen].chastity.penis.includes("chastity")>> <<set $_ppcolor to "gray">> <<set _text_output to $NPCList[$_npcGen].chastity.penis>> <<elseif npcHasStrapon($_npcGen)>> /*<<set $_straponcolor to $NPCList[$_npcGen].penisdesc.split(" ")>> <<set $_ppcolor to $_straponcolor[1]>>*/ <<set $_ppcolor to $NPCList[$_npcGen].strapon.color>> <<if $_ppcolor is "fleshy">><<set $_ppcolor to "tan">><</if>> <<set _text_output to $NPCList[$_npcGen].penisdesc>> <<else>> <<set _text_output to $NPCList[$_npcGen].penisdesc>> <</if>> <span @class=$_ppcolor><b><<print _text_output>></b></span> <</widget>> <<widget "npcVagina">><<silently>> <<if !_args[0]>> <<set _npcGen to $index>> <<else>> <<set _npcGen to _args[0]>> <</if>> <<if !$NPCList[_npcGen]>> <<set _text_output to `<span class="red">error-npcVagina-${_npcGen}</span>`>> <<elseif $NPCList[_npcGen].chastity.vagina.includes("chastity")>> <<set _text_output to $NPCList[_npcGen].chastity.vagina>> <<else>> <<set _text_output to either("vagina","vagina","quim","pussy")>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "npcAnus">> <<if !_args[0]>> <<set _npcGen to $index>> <<else>> <<set _npcGen to _args[0]>> <</if>> <<if !$NPCList[_npcGen]>> <<set _text_output to `<span class="red">error-npcAnus-${_npcGen}</span>`>> <<elseif $NPCList[_npcGen].chastity.anus.includes("shield")>> <<set _text_output to $NPCList[_npcGen].chastity.anus>> <<else>> <<set _text_output to "ass">> <</if>> <<print _text_output>> <</widget>> <<widget "npcGenitals">><<silently>> <<if !_args[0]>> <<set _npcGen to $index>> <<else>> <<set _npcGen to _args[0]>> <</if>> <<if !$NPCList[_npcGen]>> <<set _text_output to `<span class="red">error-npcGenitals-${_npcGen}</span>`>> <<elseif $NPCList[_npcGen].penis isnot "none" and $NPCList[_npcGen].vagina isnot "none">> <<if _args[1] is "simple">> <<set $_text_output to "<<npcPenisSimple _npcGen>> and <<npcVagina _npcGen>>">> <<else>> <<set $_text_output to "<<npcPenis _npcGen>> and <<npcVagina _npcGen>>">> <</if>> <<elseif $NPCList[_npcGen].penis isnot "none">> <<if _args[1] is "simple">> <<set $_text_output to "<<npcPenisSimple _npcGen>>">> <<else>> <<set $_text_output to "<<npcPenis _npcGen>>">> <</if>> <<else>> <<set $_text_output to "<<npcVagina _npcGen>>">> <</if>> <</silently>><<print $_text_output>><</widget>> <<widget "npcChest">><<silently>> <<if !_args[0]>> <<set _npcGen to $index>> <<else>> <<set _npcGen to _args[0]>> <</if>> <<if !$NPCList[_npcGen]>> <<set _text_output to `<span class="red">error-npcChest-${_npcGen}</span>`>> <<elseif $NPCList[_npcGen].pronoun is "m" or $NPCList[_npcGen].breastsize is 0>> <<set _text_output to "chest">> <<else>> <<set _text_output to $NPCList[_npcGen].breastsdesc>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "npcHairColour">><<silently>> <<if _args[0]>> <<switch C.npc[_args[0]].hairColour>> <<case "strawberryblond">> <<set _text_output to "strawberry blond">> <<case "platinumblond">> <<set _text_output to "platinum blond">> <<case "lightbrown">> <<set _text_output to "light brown">> <<default>> <<set _text_output to C.npc[_args[0]].hairColour>> <</switch>> <<else>> <<set _text_output to "phantasmal ghost colour because someone forgot to define an NPC for the npcHairColour widget, please inform Vrelnir">> <</if>> <</silently>><<print _text_output>><</widget>> <!-- Argument 0 is the appropriate NPCName or NPCList object. Argument 1 should be "upper", "lower", or "both" Argument 2, where appropriate, determines whether it's the player undressing the NPC or the NPC undressing themselves--> <<widget "npcClothesText">><<silently>> <<if _args[0]>> <<set $_npc to _args[0]>> <<set $_part to (_args[1] ? _args[1] : "both")>> <<switch $_part>> <<case "both">> <<set _text_output to setup.npcClothesSets.find(item => item.name === $_npc.clothes.set).desc>> <<case "upper">> <<set _text_output to $_npc.clothes.upper.name>> <<case "lower">> <<set _text_output to $_npc.clothes.lower.name>> <<default>> <<set _text_output to '<span class="red">ERROR: Invalid NPC clothing case. (NPC: $_npc.fullDescription, part called: $_part) Please inform PurityGuy</span>'>> <</switch>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "npcUndressText">><<silently>> <<if _args[0]>> <<set $_npc to _args[0]>> <<set $_part to (_args[1] ? _args[1] : "both")>> <<set $_self to (_args[2] ? true : false)>> <<set $_his to ($combat is 1 ? "<<hisselect $index>>" : "<<his>>")>> <<set _text_output to "">> <<if !$_npc.clothes>> <<set _text_output += '<span class="red">ERROR: NPC ($_npc.fullDescription) clothes are undefined! Please inform PurityGuy</span>'>> <<elseif $_part is "both">> <<set _text_output += ($_self ? "removes" : "remove")>> <<set _text_output += " $_his setup.npcClothesSets.find(item => item.name === $_npc.clothes.set).desc">> <<else>> <<set $_clothesAction to setup.npcClothesSets.find(item => item.name === $_npc.clothes.set).clothes[$_part].action>> <<switch $_clothesAction>> <<case "lift">><<set _actionText to ($_self ? "lifts" : "lift")>> <<case "pull">><<set _actionText to ($_self ? "pulls down" : "pull down")>> <<case "unbutton">><<set _actionText to ($_self ? "unbuttons" : "unbutton")>> <<case "unzip">><<set _actionText to ($_self ? "unzips" : "unzip")>> <<case "aside">><<set _actionText to ($_self ? "pushes aside" : "push aside")>> <<case "open">><<set _actionText to ($_self ? "opens" : "open")>> <<case "undo">><<set _actionText to ($_self ? "undoes" : "undo")>> <<case "unwrap">><<set _actionText to ($_self ? "unwraps" : "unwrap")>> <<default>><<set _actionText to '<span class="red">ERROR: Invalid NPC clothing action. (NPC: $_npc.fullDescription, part called: $_part, action: $_clothesAction) Please inform PurityGuy</span>'>> <</switch>> <<set _text_output += _actionText + " $_his $_npc.clothes[$_part].name">> <</if>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "npcRevealText">><<silently>> <<set $_npc to _args[0]>> <<set $_part to _args[1]>> /* can be "upper" or "lower" */ <<set $_mod to _args[2]>> <<set _text_output to "revealing ">> <<if $_mod is "name">> <<if $NPCNameList.includes($_npc.fullDescription)>> <<set _text_output += "$_npc.fullDescription's ">> <<elseif $_npc.name_known is 1>> <<set _text_output += "$_npc.name's ">> <<else>> <<set _text_output += "the $_npc.fullDescription's ">> <</if>> <<elseif $_mod is "desc">> <<if $NPCNameList.includes($_npc.fullDescription)>> <<set _text_output += "the $_npc.description's ">> <<else>> <<set _text_output += "the $_npc.fullDescription's ">> <</if>> <<else>> <<set _text_output += "<<his>> ">> <</if>> <<if $_part is "both">> <<set $_chest to ($_npc.pronoun is "m" || $_npc.breastsize is 0 ? "chest" : $_npc.breastsdesc)>> <<set _text_output += "$_chest and ">> <</if>> <<if ["both","lower"].includes($_part)>> <<if $_npc.penis isnot "none" and $_npc.vagina isnot "none">> <<set _text_output += "$_npc.penisdesc and <<his>> ">> <<set _text_output += $enemyarousal gte 40 ? "moistened pussy" : "pussy">> <<if $_npc.chastity.penis.includes("chastity")>> <<set _text_output += ", inside of a $_npc.chastity.penis">> <</if>> <<elseif $_npc.penis isnot "none">> <<set _text_output += $_npc.penisdesc>> <<if $_npc.penisdesc.includes("strap-on")>> <!-- placeholder --> <<else>> <<if $_npc.chastity.penis.includes("chastity")>> <<set _text_output += ", inside of a $_npc.chastity.penis">> <<else>> <<set _text_output += ", fully erect">> <</if>> <</if>> <<elseif $_npc.vagina isnot "none">> <<set _text_output += $enemyarousal gte 40 ? "moistened pussy" : "pussy">> <<if $_npc.chastity.vagina.includes("chastity")>> <<set _text_output += " behind a $_npc.chastity.vagina">> <</if>> <</if>> <<else>> <<set $_chest to ($_npc.pronoun is "m" || $_npc.breastsize is 0 ? "chest" : $_npc.breastsdesc)>> <<set _text_output += "$_chest">> <</if>> <!-- intentionally omitting a period, for flexibility; do not forget to add one after you use this widget --> <</silently>>_text_output<</widget>> <<widget "npcGenitalReaction">> <<set $_npc to _args[0]>> <<if !$worn.face.type.includes("blindfold")>> <<if $_npc.penis isnot "none">> <<switch $_npc.penissize>> <<case 4>> <span class="red"> <<print setup.npcPenisRemarks["big"].random()>></span> <<case 1>> <span class="green"> <<print setup.npcPenisRemarks["small"].random()>></span> <<default>> <</switch>> <</if>> <<if $_npc.vagina isnot "none">> <!-- Placeholder --> <</if>> <</if>> <</widget>> <<widget "npcHurt">> <<switch _args[0]>> <<case "Robin">> <<set _text_output to "upset about "+$robin.hurtReason>> <<default>> <<set _text_output to either("hurt","upset")>> <</switch>> <<print _text_output>> <</widget>> <<widget "gbeauty">> <<if $statdisable is "f">> | <span class="green">+ Beauty</span> <</if>> <</widget>> <<widget "ggbeauty">> <<if $statdisable is "f">> | <span class="green">+ + Beauty</span> <</if>> <</widget>> <<widget "gggbeauty">> <<if $statdisable is "f">> | <span class="green">+ + + Beauty</span> <</if>> <</widget>> <<widget "gseduction">> <<if $statdisable is "f">> | <span class="green">+ Seduction</span> <</if>> <</widget>> <<widget "ggseduction">> <<if $statdisable is "f">> | <span class="green">+ + Seduction</span> <</if>> <</widget>> <<widget "gggseduction">> <<if $statdisable is "f">> | <span class="green">+ + + Seduction</span> <</if>> <</widget>> <<widget "gskulduggery">> <<if $statdisable is "f">> | <span class="green">+ Skulduggery</span> <</if>> <</widget>> <<widget "ggskulduggery">> <<if $statdisable is "f">> | <span class="green">+ + Skulduggery</span> <</if>> <</widget>> <<widget "gggskulduggery">> <<if $statdisable is "f">> | <span class="green">+ + + Skulduggery</span> <</if>> <</widget>> <!-- usage <<number -69>> -> "negative sixty-nine" <<number 69 silent>> -> _text_output = "sixty-nine" --> <<widget "number">><<silently>> <<set $_x to _args[0]>> <<if $_x lte -100 or $_x gte 100 or Math.floor($_x) isnot $_x>> <<set _text_output to ""+$_x>> <<else>> <<if $_x lt 0>> <<set _text_output to "negative ">> <<set $_x to -$_x>> <<else>> <<set _text_output to "">> <</if>> <<if $_x is 0>> <<set _text_output to "zero">> <<elseif $_x gte 10 and $_x lte 20>> <<set _text_output to ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty"][$_x-10]>> <<else>> <<set $_ones to ($_x % 10)>> <<set $_tens to ($_x - $_ones)/10>> <<set $_tenword to ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"][$_tens]>> <<set $_oneword to ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"][$_ones]>> <<if $_tenword and $_oneword>> <<set _text_output to $_tenword + "-" + $_oneword>> <<else>> <<set _text_output to $_tenword + "" + $_oneword>> <</if>> <</if>> <</if>> <</silently>><<if _args[1] isnot "silent">><<print _text_output>><</if>><</widget>> <<widget "Number">><<number _args[0] silent>><<capitalise>><</widget>> <<widget "location_text">> <<switch $location>> <<case alley>> <<set _text_output to "alley">> <<case forest lake>> <<set _text_output to "forest">> <<case moor>> <<set _text_output to "moor">> <<default>> <<set _text_output to "street">> <</switch>> <<print _text_output>> <</widget>> <<widget "nude_text">> <<if $worn.under_upper.exposed gte 1 and $worn.upper.exposed gte 2 and $worn.over_upper.exposed gte 2>> <<if $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2 and $worn.over_lower.exposed gte 2>> <<set _text_output to "naked">> <<else>> <<set _text_output to "topless">> <</if>> <<else>> <<if $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2 and $worn.over_lower.exposed gte 2>> <<set _text_output to "bottomless">> <<else>> <<set _text_output to "underwear">> <</if>> <</if>> <<print _text_output>> <</widget>> <<widget "cast_aside_clothes">> <<if $combatgoal is "strip">> <span class="purple"><<He>> bundles the fabric under <<his>> arm.</span> <<else>> <span class="purple"><<He>> casts aside the fabric.</span> <</if>> <</widget>> <<widget "plant_details">><<silently>> <<if ($location is "moor" and _args[0] isnot "forest" and _args[0] isnot "bog") or _args[0] is "moor">> <<switch Time.season>> <<case "spring">> <<set _text_output to "yellow willow leaves">> <<case "summer">> <<set _text_output to "small purple flowers">> <<case "autumn">> <<set _text_output to "large amber flowers">> <<case "winter">> <<set _text_output to "straw-coloured reeds">> <</switch>> <<elseif ($location is "bog" and _args[0] isnot "forest" and _args[0] isnot "moor") or _args[0] is "bog">> <<switch Time.season>> <<case "spring">> <<set _text_output to "budding twigs">> <<case "summer" "autimn">> <<set _text_output to "braided bundles of wet leaves">> <<case "winter">> <<set _text_output to "briars and thorns">> <</switch>> <<else>> <<switch Time.season>> <<case "spring">> <<set _text_output to "pink blossoms">> <<case "summer">> <<set _text_output to "leaves and flowers">> <<case "autumn">> <<set _text_output to "orange and red leaves">> <<case "winter">> <<set _text_output to "small red berries">> <</switch>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "Plant_details">><<silently>> <<plant_details _args[0]>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "seasonal_beverage">><<silently>> <<switch Time.season>> <<case "spring">> <<set _text_output to "strawberry lemonade">> <<case "summer">> <<set _text_output to "lemonade">> <<case "autumn">> <<set _text_output to "mulled apple cider">> <<case "winter">> <<set _text_output to "hot chocolate">> <</switch>> <</silently>><<print _text_output>><</widget>> <<widget "tower_creature_text">> <<silently>> <<if $NPCList[0].monster is "monster">> <<set _text_output to "horned " + ($NPCList[0].gender is "m" ? "boy" : "girl")>> <<else>> <<set _text_output to either("creature","monster","beast")>> <</if>> <</silently>> <<print _text_output>> <</widget>> <!-- Jimmy: Commented out for deprecation. Use: ?vulva See 03-JavaScript/Templates/.. <<widget "vulva">> <<print either("vulva","vulva","quim","flange","pussy")>> <</widget>> --> <<widget "penisSimple">><<silently>> <<set _text_output to (playerHasStrapon() ? "strap-on": "penis")>> <</silently>><<print _text_output>><</widget>> <<widget "gfabric">> <<if $statdisable is "f">> | <span class="green">+ Fabric</span> <</if>> <</widget>> <<widget "passPercent">> <<if $statdisable is "f">> | <<if _args[0] gt 0>> <span class="green">+ _args[0]% pass chance</span> <<else>> <span class="red">- _args[0]% pass chance</span> <</if>> <</if>> <</widget>> <<widget "galcohol">> <<if $statdisable is "f">> | <span class="purple">+ Alcohol</span> <</if>> <</widget>> <<widget "ggalcohol">> <<if $statdisable is "f">> | <span class="purple">+ + Alcohol</span> <</if>> <</widget>> <<widget "gggalcohol">> <<if $statdisable is "f">> | <span class="purple">+ + + Alcohol</span> <</if>> <</widget>> <<widget "gdrugged">> <<if $statdisable is "f">> | <span class="pink">+ Drugged</span> <</if>> <</widget>> <<widget "ggdrugged">> <<if $statdisable is "f">> | <span class="pink">+ + Drugged</span> <</if>> <</widget>> <<widget "gggdrugged">> <<if $statdisable is "f">> | <span class="pink">+ + + Drugged</span> <</if>> <</widget>> <<widget "cute">><<silently>> <<if $player.gender_appearance is "f">> <<set _text_output to (random(1) is 0 ? "cute" : "pretty")>> <<else>> <<set _text_output to (random(1) is 0 ? "cute" : "handsome")>> <</if>> <</silently>>_text_output<</widget>> <<widget "a_role">><<silently>> <<if $role and $role isnot "normal">> <<if ["A","E","I","O","U"].some(role => $role.startsWith(role))>> <<set _text_output to "an " + $role>> <<else>> <<set _text_output to "a " + $role>> <</if>> <<else>> <<personsimple "normal">> <<set _text_output to "a " + _text_output>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "A_role">><<silently>> <<a_role>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "bred">> <<if $pregnancyspeechdisable is "f">> <<if random(1, 10000) is 10000>> <<set _text_output to "bread">> <<else>> <<set _text_output to "bred">> <</if>> <<else>> <<set _text_output to "fucked">> <</if>> <<print _text_output>> <</widget>> <<widget "dangerousText">> <<if $statdisable is "f">> | <span class="red">Dangerous</span> <</if>> <</widget>> <<widget "orgasmTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Hedonist</span> <<else>> <span class="lewd">Orgasm Addict</span> <</if>> <</if>> <</widget>> <<widget "chokeTrait">> <<if $statdisable is "f">> | <span class="lewd">Asphyxiophilia</span> <</if>> <</widget>> <<widget "ejacTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Cumoisseur</span> <<else>> <span class="lewd">Cum Dump</span> <</if>> <</if>> <</widget>> <<widget "molestTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Graceful</span> <<else>> <span class="lewd">Plaything</span> <</if>> <</if>> <</widget>> <<widget "rapeTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Survivor</span> <<else>> <span class="lewd">Fucktoy</span> <</if>> <</if>> <</widget>> <<widget "bestialityTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Tamer</span> <<else>> <span class="lewd">Bitch</span> <</if>> <</if>> <</widget>> <<widget "tentacleTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Witch</span> <<else>> <span class="lewd">Prey</span> <</if>> <</if>> <</widget>> <<widget "voreTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Daredevil</span> <<else>> <span class="lewd">Tasty</span> <</if>> <</if>> <</widget>> <<widget "milkTrait">> <<if $statdisable is "f">> | <<if $submissive lte 850>> <span class="lewd">Milk Enthusiast</span> <<else>> <span class="lewd">Milk Addict</span> <</if>> <</if>> <</widget>> <<widget "stockholmTrait">> <<if $statdisable is "f">> | <span class="gold">Stockholm Syndrome<<if _args[0]>>: <<print _args[0]>><</if>></span> <</if>> <</widget>> <<widget "note">> <<if $statdisable is "f" and _args[0]>> | <span @class="_args[1]"><<print _args[0]>></span> <</if>> <</widget>> <<widget "furnitureWarning">> <<switch _args[0]>> <<case "decoration">> <<set $_furniture to Furniture.get('decoration')>> <<case "windowsill">> <<set $_furniture to Furniture.get('windowsill')>> <<case "wallpaper">> <<set $_furniture to $furniture.bedroom.wallpaper>> <<case "poster">> <<set $_furniture to $furniture.bedroom.poster>> <</switch>> <<if $statdisable is "f" and $_furniture>> | <span class="blue">This will replace your <<if _args[0] is "wallpaper" or _args[0] is "poster">>current <<print _args[0]>><<else>><<print $_furniture.name>><</if>></span> <</if>> <</widget>> <<widget "horsegenitalsdesc">><<silently>> <<if $NPCList[0].penis isnot "none">> <<if _args[0]>> /* Size */ <<set _text_output to either("enormous","huge","massive")>> <<else>> <<set _text_output to either("engorged","throbbing","swollen")>> <</if>> <<else>> <<if _args[0]>> <<set _text_output to either("plump", "puffy", "pillowy")>> <<else>> <<set _text_output to either("glistening","dripping","soaked","quivering")>> <</if>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "fadeText">> <span class="originalText fade-out">_args[0]</span> <span class="changedText" hidden="">_args[1]</span> <<set _delay to (_delay ? _delay : []).concat(_args[2] ? _args[2] : 1)>> <<script>> T.currentPassage = State.passage; $(document).one(':passageend', function(ev) { const originalTargets = [...document.getElementsByClassName('originalText')]; const changedTargets = [...document.getElementsByClassName('changedText')]; originalTargets.forEach((ele, index) => { if (ele instanceof HTMLElement) { setTimeout(() => { if (State.passage === T.currentPassage) { ele.remove(); changedTargets[index].hidden = false; changedTargets[index].classList.add('fade-in') } }, T.delay[index] * 1000); ele.addEventListener('animationend', function() { ele.style.opacity = '0'; }); } }); }); <</script>> <</widget>> <<widget "insufficientStat">><<silently>> /* Args 0-3 are Stat, Task, Color (optional), and Custom Stat (optional, only use when Stat arg is 'custom')*/ /* Example: <<insufficientStat "promiscuity" "to accept such an offer">> ----------------------> would print (in blue): 'You are not promiscuous enough to accept such an offer'*/ /* Example: <<insufficientStat "deviancy" "to do as you were told" "red">> ------------------> would print (in red): 'You are not deviant enough to do as you were told' */ /* Example: <<insufficientStat "housekeeping" "to make arrangements" "purple">> --------------> would print (in purple):'You are not a skilled enough housekeeper to make arrangements' */ /* Example: <<insufficientStat "custom" "to be worthy" "pink" "pious or graceful">> ----------> would print (in pink): 'You are not pious or graceful enough to be worthy' */ /* Example: <<insufficientStat "custom" "to be noticed" "green" "beautiful, alluring, or skilled">> would print (in green): 'You are not beautiful, alluring, or skilled enough to be noticed' */ <<set $_color to _args[2] ? _args[2] : "blue">> <<set $_text_output to "You are not ">> <<switch _args[0]>> <<case "promiscuity">> <<set $_text_output += "promiscuous enough">> <<case "exhibitionism">> <<set $_text_output += "exhibitionistic enough">> <<case "deviancy">> <<set $_text_output += "deviant enough">> <<case "purity">> <<set $_text_output += "pure enough">> <<case "beauty">> <<set $_text_output += "beautiful enough">> <<case "physique">> <<set $_text_output += "strong enough">> <<case "willpower">> <<set $_text_output += "strong willed enough">> <<case "awareness">> <<set $_text_output += "knowledgeable enough">> <<case "skullduggery">> <<set $_text_output += "a skilled enough thief">> <<case "dancing">> <<set $_text_output += "a skilled enough dancer">> <<case "swimming">> <<set $_text_output += "a strong enough swimmer">> <<case "athletics">> <<set $_text_output += "athletic enough">> <<case "tending">> <<set $_text_output += "a skilled enough farmer">> <<case "housekeeping">> <<set $_text_output += "a skilled enough housekeeper">> <<case "science">> <<set $_text_output += "educated enough about science">> <<case "maths">> <<set $_text_output += "educated enough about maths">> <<case "english">> <<set $_text_output += "educated enough about English">> <<case "history">> <<set $_text_output += "educated enough about history">> <<case "submissive">> <<set $_text_output += "defiant enough">> <<case "trust">> <<set $_text_output += "trusted enough">> <<case "custom">> /* Only use this for explicitly non-standard cases, like those that need multiple stats printed */ <<set $_text_output +="_args[3] enough">> <<default>> <<set $_text_output += "lewd enough">> <</switch>> <<set $_text_output += " _args[1].">> /* Throws an error if 'custom' stat input is being used incorrectly */ <<if _args[3] and _args[0] is not "custom">> <<set $_color to "red">> <<set $_text_output to "Syntax Error: Inputted custom stat '_args[3]' without using the 'custom' stat argument in the \"insufficientStat\" widget. Please report this.">> <<elseif _args[0] is "custom" and !_args[3]>> <<set $_color to "red">> <<set $_text_output to "Syntax Error: Used 'custom' stat argument without inputing a custom stat in the \"insufficientStat\" widget. Please report this.">> <</if>> <</silently>><<if $_text_output>><span @class="$_color"><<print $_text_output>></span><</if>><</widget>><<widget "init_tips">> <<if !setup.tips>> <<set setup.tips to {}>> <!-- General tips --> <<set setup.tips.general to [ "Arousal increases during lewd acts, and decreases over time or when you orgasm.", "Fatigue increases over time. High fatigue increases stress and trauma, but you can sleep to remove it.", "Stress increases when you are assaulted.", "You will pass out if stress gets too high, making you vulnerable.", "Stress usually decreases over time. Fun or relaxing activities also reduce it, as do orgasms.", "Trauma increases when you are assaulted, harassed or humiliated. Trauma slowly decreases over time.", "High trauma causes psychological problems, but also opens up new options.", "Wilfully performing lewd acts will restore your sense of control, mitigating the effects of psychological trauma.", "Feelings of control will diminish when violated.", "Frequently performing lewd acts will inure you to them, allowing more options but requiring more extreme behaviour to achieve a sense of control.", "There are three categories of lewd act; promiscuous, exhibitionist, and deviant.", "Higher promiscuity allows you to initiate lewder acts during consensual encounters.", "Higher exhibitionism allows lewder acts while dancing.", "Promiscuous, exhibitionist, and deviant acts can put you in danger. Be careful.", "You can buy new clothing at the High Street shopping centre.", "You need to wear a uniform to attend school. If you forget it, you might be able to borrow a spare from somewhere, or buy one from the book store.", "If your clothes get destroyed or stolen, you'll have to buy more. You could always just wrap yourself in towels, but it might attract attention.", "Try to get home before dark. There are some nasty people about.", "You can buy a chastity belt from the temple on Wolf Street. They give them out for free to virgins.", "The forest is dangerous. People sometimes never return.", "No matter how bad things seem, there's always a way out.", "If you need some money, the cafe on Cliff Street is always hiring, and is fairly safe.", "You'll need a swimsuit for school. You probably don't want to borrow one.", "Your physique will deteriorate if you don't get enough exercise.", "Swimming close to shore is easy. You should practise in a safe environment before swimming further out.", "Going without underwear makes you more vulnerable, particularly if you're wearing a skirt.", "Lower purity can speed up breast and penis growth.", "A topless girl with a flat chest can sometimes pass as a boy.", "If your arms are bound, you should be able to free yourself once in a safe place.", "If a situation seems dangerous, it probably is.", "A chastity belt is a good way to protect your virginity.", "There's a club on Connudatus Street that features erotic dancers. They're always hiring.", "There are rumours of an underground brothel somewhere in town.", "If you want to learn how to dance, there's a studio on Barb Street.", "The storm drains allow quick, secretive travel around town. Rumours of giant lizards are surely wrong.", "Travelling through alleyways lets you shave time off journeys, but unsavoury figures lurk there.", "If you sense something hunting you in the forest, get out before it's too late.", "The students at school can be evil. Particularly towards those with a low social status.", "It's hard to be popular at school and endear yourself to the teachers at the same time. You'll have to make sacrifices.", "If you get a reputation as a delinquent, teachers will no longer respond to your cries for help.", "If you lose your virginity, you'll never be entirely pure again.", "If you orgasm, you'll temporarily lose focus.", "Too many orgasms in a short span of time can be bad for one's mental state.", "When the odds are stacked against you, fighting can make things worse.", "A little defiance can go a long way.", "There are some mental problems that cannot be fully controlled.", "The better your physique, the more effort needed to maintain and improve it.", "Your <span class=\"def\">defiant</span> acts cause more pain if you have a good physique.", "Tactical use of <span class=\"brat\">bratty</span> actions can be very powerful.", "Apologising more than once is pointless.", "Be mindful if you crossdress, some people don't take kindly to it.", "Semen and other lewd fluids will stick around until you wash.", "Walking around covered in lewd fluid will attract attention.", "Genitals are not the only thing that can rob you of your virginity.", "Attempts to influence a molester are less likely to succeed as they become angrier and hornier.", "<span class=\"sub\">Submissive</span> and <span class=\"meek\">meek</span> acts will make someone trust you more, making them easier to influence.", "You can escape from most encounters by inflicting enough pain through <span class=\"def\">defiant</span> acts.", "Enraged assailants will become less hostile as they take their anger out on you.", "If you suffer too much pain, you'll be disabled and unable to act until you recover.", "If you're small or out of shape fighting might just make things worse for you.", "An assailant foiled by a chastity belt will become angrier.", "Assailants might stop gagging you if they trust you more.", "It's much harder to build social status than it is to lose it.", "The tips you make dancing are based on the size of the audience, their arousal and how impressed they are.", "A large, aroused audience can be dangerous.", "Some venues are safer to dance in than others.", "A skilled dancer garners interest more easily.", "Even an unskilled dancer can garner attention, if they're willing to strip.", "Performing lewd or promiscuous acts will inure you to them, even if you already feel in control.", "If you're having trouble with game performance or images not loading correctly, try disabling some images or animations in the settings.", "Being consistently <span class=\"sub\">submissive</span> or <span class=\"def\">defiant</span> can alter your personality and open new options.", "Each turn during an encounter represents ten seconds.", "Anything that increases delinquency will give you detention.", "Your skulduggery determines your ability to perform underhanded acts, including deceiving people and picking locks.", "You can sell stolen goods in the pub on Harvest Street.", "Criminal acts may come back to haunt you.", "News of your lewdness will spread quickly if people take pictures of you in the act.", "You can cover your face to prevent a picture from being linked to you.", "Word of your lewdness will slowly spread, even without hard evidence.", "Allure increases the amount made from tips.", "<span class=\"def\">Defiant</span> acts reduce stress and trauma.", "<span class=\"brat\">Bratty</span> acts reduce trauma but increase stress.", "<span class=\"sub\">Submissive</span> acts reduce trauma but increase stress.", "<span class=\"meek\">Meek</span> acts impact neither stress nor trauma.", "In addition to enter, you can press the z or n key to end the turn.", "Being raped is more traumatic than just being molested.", "Purity drops when something cums inside you, or you cum inside something else.", "Awareness enables more actions during masturbation.", "Beauty increases over time, but excess trauma will decrease it.", "The police station can remove collars.", "It's possible to afford Bailey's demands, no matter how harsh.", "Higher deviancy allows you to initiate lewder acts during consensual encounters with <<if $bestialitydisable is \"t\">>beastpeople<<else>>beasts<</if>>.", "You can exercise nude at the park during the night, if you're lewd enough.", "Naked exercise raises physique faster.", "The drain system is more dangerous if it's raining.", "It's dark in the old sewers. The chance of harassment there isn't based on allure.", "Using both hands to steal during an encounter is faster but more conspicuous.", "The controlled state will not prevent all hallucinations.", "Drunkenness gives stress resistance, but increases tiredness.", "Being drunk can help reduce incoming pain.", "Actions that increase delinquency give detention.", "Masks will conceal your identity and stop fame from rising, but not crime.", "School breaks up for holidays.", "Low purity can increase the volume and generation of your lewd fluids.", "Factors influencing attractiveness can be viewed from your mirror.", "Attractive and seductive characters can convince people to part with more money.", "Some changes only manifest at midnight.", "Try clicking on the \"money/time/day\" stats in the sidebar.", "Check the \"SAVE/OPTIONS\" menu between updates, new options may have been added to it.", "Don't forget to backup your save by exporting in the \"SAVE/OPTIONS\" menu. Can also be done on Android now.", "Slime and semen are powerful lubricants.", "The only road out of town can be found on Harvest Street.", "There's a spa on Danube Street. Working there could get you known by the town's elite.", "Some treasures can be retrieved once a week.", "The dancing skill also improves physical coordination.", "Remember to wrap up warm against the cold.", "The temperature drops at night.", "Wear lighter clothes if you find yourself overheating.", "Clear skies mean warmer days and cooler nights.", "Aboveground freshwater becomes very cold during winter.", "Access to food is not usually an issue. When it is, starvation can weaken your physique.", "Fields take a long time to till with low tending skill.", "Some NPCs become more assertive as their <span class=\"lewd\">lust</span> increases.", "Sleeping while naked or only wearing underwear, pyjamas or eerie accessories helps you sleep better.", "Bound legs will make dancing and swimming very difficult, and make athletics impossible.", "You can rent a textbook from the school library, which will increase one of your grades over time.", "The book store in the school library offers school appropriate clothing at a hefty markup.", "Blood moons are said to cause strange behaviour and hallucinations. They happen on the last day of every month.", "Sleeping through a blood moon can be dangerous.", "A slippery stage is a dangerous stage.", "If you're too famous for your liking, someone at the pub may be able to help get eyes off you.", "Committing the same crime too much in a short time will lead the police to you faster.", "Smaller crimes might go entirely unnoticed if you have enough skill.", "Turning yourself in to the police will make your punishment less severe.", ]>> <!-- Weather tips --> <<set setup.tips.weather to [ "Wearing too much clothing in warm temperatures may cause you to pass out.", "Be careful not to wear too little clothing when it's freezing outside, or there is a risk of hypothermia.", "Being wet will cause your body to dissipate heat faster.", "Physical activity, like running, will temporarily increase your body heat.", "Being too hot increases your fatigue and stress gain.", "Being too cold increases the amount of pain you receive, while also reducing your arousal gains.", ]>> <!-- Tentacle tips --> <<set setup.tips.tentacles to [ "Tentacles can ejaculate a lot, but quickly tire when they do.", "When half or more of a monster's tentacles are tired, the monster will withdraw.", "Individual tentacles are easy to deal with.", "Milking tentacles is easier if you're skilled with the body part you're using.", ]>> <!-- Animal TF tips --> <<set setup.tips.animalTFs to [ "Ingesting wolf<<if $bestialitydisable is \"t\">>person<</if>> or fox<<if $bestialitydisable is \"t\">>person<</if>> cum can have strange effects on the body.", "Never try to out-scream a fox<<if $bestialitydisable is \"t\">>person<</if>>.", ]>> <!-- Lactation tips --> <<set setup.tips.lactation to [ "Drinking breast milk lowers purity.", "Having your nipples licked, sucked or played with will encourage milk production.", ]>> <!-- Bodywriting tips --> <<set setup.tips.bodywriting to [ "Permanent marker won't wash off, but will fade with time.", ]>> <!-- Parasite tips --> <<set setup.tips.parasite to [ "The hospital on Nightingale Street has facilities for dealing with large parasites.", "Urchin parasites increase the size of whatever they're attached to.", "Slime parasites decrease the size of whatever they're attached to.", "Maggot parasites increase your arousal over time, but they can be washed off.", "The hospital on Nightingale Street sells a product that can ward off parasites.", ]>> <!-- Slime tips --> <<set setup.tips.slime to [ "Strange slimes are said to live in the abandoned sewers beneath the drains.", ]>> <!-- Plantpeople tips --> <<set setup.tips.plantpeople to [ "There are rumours of people in the forest and moor who are as much plant as they are person. Supposedly, their nectar is a potent aphrodisiac.", "The nectar of some wild flora is known to be dangerously addictive." ]>> <!-- Struggle tips --> <<set setup.tips.struggle to [ "Planting your feet with skill can help increase grip strength.", "Strengthening your grip on a creature will increase the chance of pulling it off.", "A powerful body does not need to rely on skill or stance to grip creatures." ]>> <!-- Hair tips --> <<set setup.tips.hairRuffle to [ "You may wake up with bad hair after a prolonged sleep. Aim to have 7-8 hours of sleep to minimise the chance and get enough rest.", "You can assign a hair style along with a clothing set to quickly dress up and do your hair in one go.", ]>> <!-- Pregnancy tips --> <<set setup.tips.pregnancy to [ "Use protection or take contraceptives if you don't want to end up pregnant.", "You can buy pregnancy tests, as well as fertility boosters or dampeners, at the hospital's pharmacy.", ]>> <!-- Unique tips for Hopeless Cycle --> <<set setup.tips.hopelessCycle to [ "You can clean used bandages in water, but fresh bandages are healthier.", "The prison gruel is bland, and not particularly nutritious. However, it at least fills the stomach.", "Water can be used twice before it must be emptied.", "Buckets are wonderful inventions. You can carry three items in a single bucket.", "The disposal channel is dangerous in the dark.", "At the six-armed statue, you can embrace the world's corruption into yourself. This makes aspects of daily life harder, but it's a very nice thing to do.", "Never underestimate the value of sharing a meal.", "Speaking to prisoners is forbidden.", "A little light goes a long way.", "Sleeping nude is both blasphemous and unhealthy.", "Items on the ground may become dirty over time. Some will become dirty right away.", "The Bishop's Hand spends much time in the prayer room.", "Burning tainted items will endear you to your siblings.", "Washing used dishes before returning them is common courtesy.", "Sparring builds bonds with your siblings.", "The Trial of Purity can be attempted every day. Success will reassure your siblings that you remain pure.", "Torches can be used to light other torches anywhere.", "Hatred breeds hatred.", "Paranoia spurs paranoia.", "Stagnation self-perpetuates.", "Punishment for punishment.", "Desperation is a spiral.", "Never be coerced by love.", "This, too, is a trial.", "Stay pure.", "Suffering brings salvation.", "Don't believe her lies." ]>> <<set setup.tips.hopelessCycleSus to [ "Your siblings are eager to punish the wicked.", "Fruit grows in the garden, and can be picked during work. The Bishop's Hand will notice missing fruit, however.", "Spare bedsheets can be found in the quarters while you clean. The Bishop's Hand will notice missing sheets, however.", "Kicking over buckets of water will incur suspicion. You can empty water in the disposal channel or at the forest's edge.", "Placing a bedsheet in a bucket will prevent your peers from growing suspicious of its content when entering or leaving the dungeon." ]>> <<set setup.tips.hopelessCycleNoSus to [ "Fruit grows in the garden, and can be picked during work.", "Spare bedsheets can be found in the quarters while you clean.", "Kicking over buckets of water is unbecoming of brothers of the faith. You can empty water in the disposal channel or at the forest's edge." ]>> <<set setup.tips.hopelessCycleEnding to [ "Not all stories have happy endings.", "A sad ending is not a failure, just an exploration.", "You can only find the truth by sorting through the lies.", "Some say comedy is tragedy, plus time.", "Hold fast. You can rest soon." ]>> <</if>> <<generateTipsList>> <</widget>> <<widget "tips">> <<if $hc>> <<if $tags.includes("ending")>> <<set $_tips to setup.tips.hopelessCycleEnding>> <<else>> <<set $_tips to setup.tips.hopelessCycle>> <<if $hc.suspicionRevealed>> <<set $_tips to $_tips.concat(setup.tips.hopelessCycleSus)>> <<else>> <<set $_tips to $_tips.concat(setup.tips.hopelessCycleNoSus)>> <</if>> <</if>> <<else>> <<set $_tips to setup.tipsList>> <</if>> <<print $_tips.random(true)>> <</widget>> <<widget "generateTipsList">> <<set setup.tipsList to setup.tips.general>> <<set setup.tipsList to setup.tipsList.concat(setup.tips.weather)>> <<if $tentacledisable is "f">> <<set setup.tipsList to setup.tipsList.concat(setup.tips.tentacles)>> <</if>> <<if $transformdisable is "f">> <<set setup.tipsList to setup.tipsList.concat(setup.tips.animalTFs)>> <</if>> <<if $breastfeedingdisable is "f">> <<set setup.tipsList to setup.tipsList.concat(setup.tips.lactation)>> <</if>> <<if $bodywritingLvl gte 1>> <<set setup.tipsList to setup.tipsList.concat(setup.tips.bodywriting)>> <</if>> <<if $parasitedisable is "f">> <<set setup.tipsList to setup.tipsList.concat(setup.tips.parasite)>> <</if>> <<if $slimedisable is "f">> <<set setup.tipsList to setup.tipsList.concat(setup.tips.slime)>> <</if>> <<if $plantdisable is "f">> <<set setup.tipsList to setup.tipsList.concat(setup.tips.plantpeople)>> <</if>> <<if [$bestialitydisable, $plantdisable, $slimedisable, $lurkerdisable, $beedisable, $waspdisable, $slugdisable].includes("f")>> <<set setup.tipsList to setup.tipsList.concat(setup.tips.struggle)>> <</if>> <<if $ruffledisable is "f">> <<set setup.tipsList to setup.tipsList.concat(setup.tips.hairRuffle)>> <</if>> <<if ($playerPregnancyHumanDisable is "f" or $playerPregnancyBeastDisable is "f") and ($player.vaginaExist or canBeMPregnant())>> <<set setup.tipsList to setup.tipsList.concat(setup.tips.pregnancy)>> <</if>> <</widget>> <<widget "printTipsList">> <<set _tipListOutput to "">> <<run setup.tipsList.forEach((tip, index) => { T.tipListOutput += `${(index+1)}. ${tip} <br>` })>> <<print _tipListOutput>> <</widget>><!-- the return link is placed at both the top and bottom of page for player convenience. --> <<link [[Return|$lastPassage]]>><<unset $lastPassage>><</link>> <br><br> <h3>All Tips</h3> <<generateTipsList>> <<printTipsList>> <br> <<link [[Return|$lastPassage]]>><<unset $lastPassage>><</link>> <<unset _maxTipCount>>/** * Renders the given widget (arg0), and registers it as a dynamic widget, which will be re-rendered dynamically * @param 0: the name of the widget to be rendered * @param 1: (optional) the specific `id` value to be used for this widget container (useful for CSS). Must be unique. * @param 2+: (optional) arguments to be passed to the given widget */ <<widget "dynamic">> <div @id="Dynamic.bind('<<' + _args[0] + ' ' + _args.slice(2).map(a => '\'' + a + '\'').join(' ') + '>>', _args[1])"> </div> <</widget>><<widget "setupTransformationPiecesObject">> <<if $transformationParts is undefined>> <<set $transformationParts to { traits: {fangs:"disabled", sharpEyes:"disabled", mateForLife:"disabled", flaunting:"disabled"}, angel: {halo:"disabled", wings:"disabled"}, fallenAngel: {halo:"disabled", wings:"disabled"}, demon: {horns:"disabled", wings:"disabled", tail: "disabled"}, cat: {ears:"disabled", tail:"disabled", heterochromia:"disabled"}, cow: {horns:"disabled", ears:"disabled", tail:"disabled"}, wolf: {ears:"disabled", tail:"disabled", pubes:"disabled", pits:"disabled"}, bird: {tail:"disabled", wings:"disabled", eyes:"disabled", malar:"disabled", plumage:"disabled", pubes:"disabled"}, fox: {ears:"disabled", tail:"disabled", cheeks:"disabled"}, }>> <<if $specialTransform is 1>> <<if $angel gte 4>> <<set $transformationParts.angel.halo to "default">> <</if>> <<if $angel gte 6>> <<set $transformationParts.angel.wings to "default">> <</if>> <<if $fallenangel gte 2>> <<set $transformationParts.fallenAngel.halo to "default">> <<set $transformationParts.fallenAngel.wings to "default">> <</if>> <<if $demon gte 2>> <<set $transformationParts.demon.horns to "default">> <</if>> <<if $demon gte 4>> <<set $transformationParts.demon.tail to "default">> <</if>> <<if $demon gte 6>> <<set $transformationParts.demon.wings to "default">> <</if>> <</if>> <<if $physicalTransform is 1>> <<if $wolfgirl gte 2>> <<set $transformationParts.traits.fangs to "default">> <</if>> <<if $wolfgirl gte 4>> <<set $transformationParts.wolf.ears to "default">> <<set $transformationParts.wolf.pubes to "default">> <<set $transformationParts.wolf.pits to "default">> <</if>> <<if $wolfgirl gte 6>> <<set $transformationParts.wolf.tail to "default">> <</if>> <<if $cat gte 2>> <<set $transformationParts.traits.fangs to "default">> <</if>> <<if $cat gte 4>> <<set $transformationParts.cat.ears to "default">> <</if>> <<if $cat gte 6>> <<set $transformationParts.cat.tail to "default">> <</if>> <<if $cat gte 7>> <<set $transformationParts.cat.heterochromia to "default">> <</if>> <<if $cow gte 2>> <<set $transformationParts.cow.horns to "default">> <</if>> <<if $cow gte 4>> <<set $transformationParts.cow.ears to "default">> <</if>> <<if $cow gte 6>> <<set $transformationParts.cow.tail to "default">> <</if>> <</if>> <</if>> <<if $transformationParts.fallenAngel.halo is 1>> <<set $transformationParts.fallenAngel.halo to "default">> <<set $transformationParts.fallenAngel.wings to "default">> <</if>> <<if $transformationParts.demon.horns is 1>> <<set $transformationParts.demon.horns to "default">> <<set $transformationParts.demon.tail to "default">> <<set $transformationParts.demon.wings to "default">> <</if>> <<if $angel lt 4>> <<set $transformationParts.angel.halo to "disabled">> <</if>> <<if $angel lt 6>> <<set $transformationParts.angel.wings to "disabled">> <</if>> <<if $fallenangel is 1>> <<set $transformationParts.fallenAngel.halo to "disabled">> <<set $transformationParts.fallenAngel.wings to "disabled">> <</if>> <<if $transformationParts.wolf.cheeks is undefined>> <<if $wolfgirl gte 6>> <<set $transformationParts.wolf.cheeks to "hidden">> <<else>> <<set $transformationParts.wolf.cheeks to "disabled">> <</if>> <</if>> <<if $transformationParts.bird is undefined>> <<set $transformationParts.bird to {tail:"disabled", wings:"disabled", eyes:"disabled", malar:"disabled", plumage:"disabled"}>> <</if>> <<if $transformationParts.bird.pubes is undefined>> <<if $harpy gte 6>> <<set $transformationParts.bird.pubes to "hidden">> <<else>> <<set $transformationParts.bird.pubes to "disabled">> <</if>> <</if>> <<if $transformationParts.fox is undefined>> <<set $transformationParts.fox to {ears:"disabled", tail:"disabled", cheeks:"disabled"}>> <</if>> <<if $transformationParts.traits is undefined>> <<set $transformationParts.traits to {fangs:"disabled", sharpEyes:"disabled", mateForLife:"disabled", flaunting:"disabled"}>> <<if $wolfgirl gte 2 or $cat gte 2 or $fox gte 2>> <<set $transformationParts.traits.fangs to "default">> <</if>> <<if $cat gte 2 or $harpy gte 2 or $fox gte 2>> <<set $transformationParts.traits.sharpEyes to "default">> <</if>> <</if>> /* Setup chimera's config */ <<set _defaultChimeraConfig to { demoncat: { tail: true }, demoncow: { tail: true, horns: true, }, demonwolf: { tail: true }, demonharpy: { wings: true }, angelharpy: { wings: true }, fallenharpy: { wings: true }, }>> /* Convert chimera obj back to an object if it was something else. Necessary for object.assign next. */ <<if typeof $chimera !== 'object'>> <<set $chimera to {}>> <</if>> /* Takes default object, and transposes chimera config ontop of it, assigning the result to chimera config. */ <<set $chimera = Object.keys(_defaultChimeraConfig).reduce((acc, key) => { acc[key] = Object.assign({}, _defaultChimeraConfig[key], $chimera[key] || {}); return acc; }, {})>> <</widget>> <<widget "transform">>/*First arg is transformation, second is the intensity of change.*/ <<if _args[1]>> <<switch _args[0]>> <<case "wolf">> <<set $wolfbuild = Math.clamp($wolfbuild + _args[1], 0, 100)>> <<case "cat">> <<set $catbuild = Math.clamp($catbuild + _args[1], 0, 100)>> <<case "cow">> <<set $cowbuild = Math.clamp($cowbuild + _args[1], 0, 100)>> <<case "bird">> <<set $birdbuild = Math.clamp($birdbuild + _args[1], 0, 100)>> <<case "fox">> <<set $foxbuild = Math.clamp($foxbuild + _args[1], 0, 100)>> <<case "angel">> <<set $angelbuild = Math.clamp($angelbuild + _args[1], 0, 100)>> <<case "fallen">> <<set $fallenbuild = Math.clamp($fallenbuild + _args[1], 0, 100)>> <<case "demon">> <<set $demonbuild = Math.clamp($demonbuild + _args[1], 0, 100)>> <</switch>> <</if>> <<if !["angel", "fallen", "demon"].includes(_args[0]) and _args[1] gte 1>> <<if _args[0] isnot "wolf" and $worn.neck.name isnot "spiked collar" and $worn.neck.name isnot "spiked collar with leash">> <<set $wolfbuild = Math.clamp($wolfbuild - _args[1], 0, 100)>> <</if>> <<if _args[0] isnot "cat" and $worn.neck.name isnot "cat bell collar">> <<set $catbuild = Math.clamp($catbuild - _args[1], 0, 100)>> <</if>> <<if _args[0] isnot "cow" and $worn.neck.name isnot "cow bell">> <<set $cowbuild = Math.clamp($cowbuild - _args[1], 0, 100)>> <</if>> <<if _args[0] isnot "bird" and $worn.head.name isnot "feathered hair clip">> <<set $birdbuild = Math.clamp($birdbuild - _args[1], 0, 100)>> <</if>> <<if _args[0] isnot "fox" and $worn.head.name isnot "spirit mask">> <<set $foxbuild = Math.clamp($foxbuild - _args[1], 0, 100)>> <</if>> <</if>> <</widget>> <<widget "transformationStateUpdate">> <<if $wolfbuild gte 1 and $worn.neck.name isnot "spiked collar" and $worn.neck.name isnot "spiked collar with leash" and playerNormalPregnancyType() isnot "wolf">> <<transform wolf -1>> <</if>> <<if $catbuild gte 1 and $worn.neck.name isnot "cat bell collar" and playerNormalPregnancyType() isnot "cat">> <<transform cat -1>> <</if>> <<if $cowbuild gte 1 and $worn.neck.name isnot "cow bell" and playerNormalPregnancyType() isnot "cow">> <<transform cow -1>> <</if>> <<if $birdbuild gte 1 and $worn.head.name isnot "feathered hair clip" and playerNormalPregnancyType() isnot "hawk">> <<transform bird -1>> <</if>> <<if $foxbuild gte 1 and $worn.head.name isnot "spirit mask" and playerNormalPregnancyType() isnot "fox">> <<transform fox -1>> <</if>> <<if $wolfgirl gte 6>> <<def 5>> <</if>> <<transformationAlteration>> <<if $cat gt 0 or $wolfgirl gt 0 or $cow gt 0 or $harpy gt 0 or $fox gt 0>> <<set $physicalTransform to 1>> <<else>> <<set $physicalTransform to 0>> <</if>> <<if $physicalTransform is 1 or $specialTransform is 1>> <<if $harpy gte 6 and ($angel gte 6 or $fallenangel gte 2 or $demon gte 6)>> <<if $transformationParts.bird.wings is "hidden" and ($transformationParts.demon.wings is "hidden" or $transformationParts.angel.wings is "hidden" or $transformationParts.fallenAngel.wings is "hidden")>> <<else>> <<set _excludeWings to true>> <</if>> <</if>> <<set _keys to Object.keys($transformationParts)>> <<if $panicattacks gte 2>> <<for _i to 0; _i lt _keys.length; _i++>> <<set _key to _keys[_i]>> <<for _label, _value range $transformationParts[_key]>> <<if _value is "hidden" and !["pubes", "pits", "cheeks", "flaunting"].includes(_label) and !(_label is "wings" and _excludeWings is true)>> <<set $transformationParts[clone(_key)][clone(_label)] to "default">> <<set _hidingFailed to true>> <<set $effectsmessage to 1>> <<set $hiddenTransformMessage to 1>> <</if>> <</for>> <</for>> <<else>> <<for _i to 0; _i lt _keys.length; _i++>> <<set _key to _keys[_i]>> <<for _label, _value range $transformationParts[_key]>> <<if _value is "hidden" and !["pubes", "pits", "cheeks", "flaunting"].includes(_label) and !(_label is "wings" and _excludeWings is true)>> <<trauma 15>> <<set $effectsmessage to 1>> <<set $hiddenTransformMessage to 2>> <</if>> <</for>> <</for>> <</if>> <</if>> <</widget>> <<widget "transformationAlteration">> <<if $transformdisabledivine is "f">> <<if ($demonbuild gte 5 and $specialTransform isnot 1) or ($demon gte 1 and $specialTransform is 1)>> <<demonTransform $demon>> <<elseif ($angelbuild gte 5 and $specialTransform isnot 1) or ($angel gte 1 and $specialTransform is 1)>> <<angelTransform $angel>> <<elseif $fallenangel gte 2>> <<fallenButNotOut $fallenangel>> <</if>> <</if>> <<if $transformdisable is "f">> <<if ($wolfbuild gte 5 and $physicalTransform isnot 1) or ($wolfgirl gte 1 and $physicalTransform is 1)>> <<wolfTransform $wolfgirl>> <<elseif ($catbuild gte 5 and $physicalTransform isnot 1) or ($cat gte 1 and $physicalTransform is 1)>> <<catTransform $cat>> <<elseif ($cowbuild gte 5 and $physicalTransform isnot 1) or ($cow gte 1 and $physicalTransform is 1)>> <<cowTransform $cow>> <<elseif ($birdbuild gte 5 and $physicalTransform isnot 1) or ($harpy gte 1 and $physicalTransform is 1)>> <<harpyTransform $harpy>> <<elseif ($foxbuild gte 5 and $physicalTransform isnot 1) or ($fox gte 1 and $physicalTransform is 1)>> <<foxTransform $fox>> <</if>> <</if>> <</widget>> <<widget "hirsuteHideCheck">> <<if $pbdisable is "t" and !["hidden", "disabled"].includes($transformationParts.wolf.pubes)>> <<set $transformationParts.wolf.pubes to "hidden">> <</if>> <<if $pbdisable is "t" and !["hidden", "disabled"].includes($transformationParts.wolf.pits)>> <<set $transformationParts.wolf.pits to "hidden">> <</if>> <<if $pbdisable is "t" and !["hidden", "disabled"].includes($transformationParts.bird.pubes)>> <<set $transformationParts.bird.pubes to "hidden">> <</if>> <</widget>> /* Used to temporarily hide all transformation parts, such as when needing to turn the player into Janet. showTransformations will bring back all parts this widget hid. */ <<widget "hideTransformations">> <<set $saveTransformations to clone($transformationParts)>> <<for _transformation, _parts range $transformationParts>> <<for _part, _value range _parts>> <<if _value isnot "disabled" and _value isnot "hidden">> <<set $transformationParts[_transformation][_part] to "hidden">> <</if>> <</for>> <</for>> <</widget>> <<widget "showTransformations">> <<if $saveTransformations isnot undefined>> <<set $transformationParts to clone($saveTransformations)>> <<unset $saveTransformations>> <</if>> <</widget>> <<widget "fallenTransform">> <<if $angel gte 6>> <span class="red">Your halo shatters and your wings blacken. An overwhelming sense of loss overcomes you.</span> <<set $trauma to $traumamax>> <<set $fallenangel to 2>> <<set $transformationParts.fallenAngel.halo to ($transformationParts.angel.halo is "hidden" ? "default" : $transformationParts.angel.halo)>> <<set $transformationParts.fallenAngel.wings to ($transformationParts.angel.wings is "classic" ? "classic" : "default")>> <<earnFeat "Fallen Angel">> <<elseif $angel gte 4>> <span class="red">Your halo shatters and fades.</span> <</if>> <<if $angel gt 0>> <<angelTransform 99>> <</if>> <<if $fallenangel is 2>> <<set $specialTransform to 1>> <</if>> <</widget>> <<widget "fallenButNotOut">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 2>> <<if $fallenbuild gte 20>> <<set $fallenangel to 3>> <<run $timeMessages.pushUnique("fallenAngelFeathers")>> <</if>> <<case 3>> <<if $fallenbuild gte 30>> <<set $fallenangel to 4>> <<run $timeMessages.pushUnique("fallenAngelWings")>> <<set $transformationParts.fallenAngel.wings to ($transformationParts.fallenAngel.wings is "classic" ? "classicfallenplus" : "fallenplus")>> <</if>> <<case 99>> <<set $specialTransform to 0>> <<set $fallenangel to 0>> <<set $transformationParts.fallenAngel.halo to "disabled">> <<set $transformationParts.fallenAngel.wings to "disabled">> <</switch>> <</if>> <</widget>> <<widget "fallenDescend">> <<set $demonbuild to 30>> <<set $demon to 6>> <<set $fallenangel to 1>> <<set $specialTransform to 1>> <<run $timeMessages.pushUnique("fallenAngelDescend")>> <<set $transformationParts.fallenAngel.halo to "disabled">> <<set $transformationParts.fallenAngel.wings to "disabled">> <<set $transformationParts.demon.horns to "default">> <<set $transformationParts.demon.tail to "default">> <<set $transformationParts.demon.wings to "default">> <<arousal 600>> <</widget>> /* <<angelTransform step>> If neither is provided, force full transformation */ <<widget "angelTransform">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 0>> <<if $angelbuild gte 25>> <<set $angel to 1>> <<set $specialTransform to 1>> <<run $timeMessages.pushUnique("angelUp1")>> <</if>> <<case 1>> <<if $angelbuild gte 30>> <<set $angel to 2>> <<run $timeMessages.pushUnique("angelUp2")>> <<elseif $angelbuild lt 25>> <<set $angel to 0>><<set $specialTransform to 0>> <<run $timeMessages.pushUnique("angelDown0")>> <</if>> <<case 2>> <<if $angelbuild gte 35>> <<set $angel to 3>> <<run $timeMessages.pushUnique("angelUp3")>> <<elseif $angelbuild lt 30>> <<set $angel to 1>> <<run $timeMessages.pushUnique("angelDown1")>> <</if>> <<case 3>> <<if $angelbuild gte 40>> <<set $angel to 4>> <<run $timeMessages.pushUnique("angelUp4")>> <<set $transformationParts.angel.halo to "default">> <<elseif $angelbuild lt 35>> <<set $angel to 2>> <<run $timeMessages.pushUnique("angelDown2")>> <</if>> <<case 4>> <<if $angelbuild gte 45 and $transformdisabledivine is "f">> <<set $angel to 5>> <<run $timeMessages.pushUnique("angelUp5")>> <<elseif $angelbuild lt 40>> <<set $angel to 3>> <<run $timeMessages.pushUnique("angelDown3")>> <<set $transformationParts.angel.halo to "disabled">> <</if>> <<case 5>> <<if $angelbuild gte 50 and $transformdisabledivine is "f">> <<set $angel to 6>> <<run $timeMessages.pushUnique("angelUp5")>> <<set $transformationParts.angel.wings to "default">> <<elseif $angelbuild lt 45>> <<set $angel to 4>> <<run $timeMessages.pushUnique("angelDown4")>> <</if>> <<case 6>> <<if $angelbuild lt 50>> <<set $angel to 5>> <<run $timeMessages.pushUnique("angelDown5")>> <<set $transformationParts.angel.wings to "disabled">> <</if>> <<case 99>> <<set $specialTransform to 0>> <<set $angel to 0>> <<set $angelbuild to 0>> <<set $transformationParts.angel.halo to "disabled">> <<set $transformationParts.angel.wings to "disabled">> <</switch>> <<else>> <<clearDivineTransformations>> <<set $specialTransform to 1>> <<set $angel to 6>> <<set $angelbuild to 50>> <<set $transformationParts.angel.halo to "default">> <<set $transformationParts.angel.wings to "default">> <</if>> <</widget>> /* <<demonTransform step>> If neither is provided, force full transformation */ <<widget "demonTransform">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 0>> <<if $demonbuild gte 5 and $transformdisabledivine is "f" and $specialTransform isnot 1>> <<set $demon to 1>><<set $specialTransform to 1>> <<run $timeMessages.pushUnique("demonUp1")>> <<arousal 600>> <</if>> <<case 1>> <<if $demonbuild gte 10 and $transformdisabledivine is "f">> <<set $demon to 2>> <<run $timeMessages.pushUnique("demonUp2")>> <<arousal 600>> <<set $transformationParts.demon.horns to "default">> <<elseif $demonbuild lt 5>> <<set $demon to 0>><<set $specialTransform to 0>> <<run $timeMessages.pushUnique("demonDown0")>> <</if>> <<case 2>> <<if $demonbuild gte 15 and $transformdisabledivine is "f">> <<set $demon to 3>> <<run $timeMessages.pushUnique("demonUp3")>> <<arousal 600>> <<elseif $demonbuild lt 10>> <<set $demon to 1>> <<run $timeMessages.pushUnique("demonDown1")>> <<set $transformationParts.demon.horns to "disabled">> <</if>> <<case 3>> <<if $demonbuild gte 20 and $transformdisabledivine is "f">> <<set $demon to 4>> <<run $timeMessages.pushUnique("demonUp4")>> <<set $transformationParts.demon.tail to "default">> <<arousal 600>> <<elseif $demonbuild lt 15>> <<set $demon to 2>> <<run $timeMessages.pushUnique("demonDown2")>> <</if>> <<case 4>> <<if $demonbuild gte 25 and $transformdisabledivine is "f">> <<set $demon to 5>> <<run $timeMessages.pushUnique("demonUp5")>> <<arousal 600>> <<elseif $demonbuild lt 20>> <<set $demon to 3>> <<run $timeMessages.pushUnique("demonDown3")>> <<set $transformationParts.demon.tail to "disabled">> <<set $transformationParts.traits.flaunting to "disabled">> <</if>> <<case 5>> <<if $demonbuild gte 30 and $transformdisabledivine is "f">> <<set $demon to 6>><<set $demonFeat to true>> <<run $timeMessages.pushUnique("demonUp6")>> <<arousal 600>> <<set $transformationParts.demon.wings to "default">> <<elseif $demonbuild lt 25>> <<set $demon to 4>> <<run $timeMessages.pushUnique("demonDown4")>> <</if>> <<case 6>> <<if $demonbuild lt 30>> <<set $demon to 5>> <<run $timeMessages.pushUnique("demonDown5")>> <<set $transformationParts.demon.wings to "disabled">> <<else>> <<set $demonFeat to true>> <</if>> <<case 99>> <<set $specialTransform to 0>> <<set $demon to 0>> <<set $demonbuild to 0>> <<set $transformationParts.demon.horns to "disabled">> <<set $transformationParts.demon.tail to "disabled">> <<set $transformationParts.demon.wings to "disabled">> <<set $transformationParts.traits.flaunting to "disabled">> <</switch>> <<else>> <<clearDivineTransformations>> <<set $specialTransform to 1>> <<set $demon to 6>> <<set $demonbuild to 30>> <<set $transformationParts.demon.horns to "default">> <<set $transformationParts.demon.tail to "default">> <<set $transformationParts.demon.wings to "default">> <</if>> <</widget>> /* <<wolfTransform step>> If neither is provided, force full transformation */ <<widget "wolfTransform">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 0>> <<if $wolfbuild gte 5>> <<set $wolfgirl to 1>> <<set $physicalTransform to 1>> <<run $timeMessages.pushUnique("wolfUp1")>> <</if>> <<case 1>> <<if $wolfbuild gte 10>> <<set $wolfgirl to 2>> <<run $timeMessages.pushUnique("wolfUp2")>> <<set $transformationParts.traits.fangs to "default">> <<set $transformationParts.wolf.cheeks to "hidden">> <<elseif $wolfbuild lt 5>> <<set $wolfgirl to 0>> <<run $timeMessages.pushUnique("wolfDown0")>> <<set $physicalTransform to 0>> <</if>> <<case 2>> <<if $wolfbuild gte 15>> <<set $wolfgirl to 3>> <<run $timeMessages.pushUnique("wolfUp3")>> <<elseif $wolfbuild lt 10>> <<set $wolfgirl to 1>> <<run $timeMessages.pushUnique("wolfDown1")>> <<set $transformationParts.traits.fangs to "disabled">> <<set $transformationParts.wolf.cheeks to "disabled">> <</if>> <<case 3>> <<if $wolfbuild gte 20>> <<set $wolfgirl to 4>> <<run $timeMessages.pushUnique("wolfUp4")>> <<set $transformationParts.wolf.ears to "default">> <<set $transformationParts.wolf.pubes to ($pbdisable is "f"? "default" : "hidden")>> <<set $transformationParts.wolf.pits to ($pbdisable is "f"? "default" : "hidden")>> <<elseif $wolfbuild lt 15>> <<set $wolfgirl to 2>> <<run $timeMessages.pushUnique("wolfDown2")>> <</if>> <<case 4>> <<if $wolfbuild gte 25>> <<set $wolfgirl to 5>> <<run $timeMessages.pushUnique("wolfUp5")>> <<elseif $wolfbuild lt 20>> <<set $wolfgirl to 3>> <<run $timeMessages.pushUnique("wolfDown3")>> <<set $transformationParts.wolf.ears to "disabled">> <<set $transformationParts.wolf.pubes to "disabled">> <<set $transformationParts.wolf.pits to "disabled">> <</if>> <<case 5>> <<if $wolfbuild gte 30>> <<set $wolfgirl to 6>> <<run $timeMessages.pushUnique("wolfUp6")>> <<set $transformationParts.wolf.tail to "default">> <<elseif $wolfbuild lt 25>> <<set $wolfgirl to 4>> <<run $timeMessages.pushUnique("wolfDown4")>> <</if>> <<case 6>> <<if $wolfbuild lt 30>> <<set $wolfgirl to 5>> <<run $timeMessages.pushUnique("wolfDown5")>> <<set $transformationParts.wolf.tail to "disabled">> <</if>> <<case 99>> <<set $physicalTransform to 0>> <<set $wolfgirl to 0>> <<set $wolfbuild to 0>> <<set $transformationParts.traits.fangs to "disabled">> <<set $transformationParts.wolf.cheeks to "disabled">> <<set $transformationParts.wolf.ears to "disabled">> <<set $transformationParts.wolf.pubes to "disabled">> <<set $transformationParts.wolf.pits to "disabled">> <<set $transformationParts.wolf.tail to "disabled">> <</switch>> <<else>> <<clearAnimalTransformations>> <<set $physicalTransform to 1>> <<set $wolfgirl to 6>> <<set $wolfbuild to 100>> <<set $transformationParts.traits.fangs to "default">> <<set $transformationParts.wolf.cheeks to "hidden">> <<set $transformationParts.wolf.ears to "default">> <<set $transformationParts.wolf.pubes to ($pbdisable is "f"? "default" : "hidden")>> <<set $transformationParts.wolf.pits to ($pbdisable is "f"? "default" : "hidden")>> <<set $transformationParts.wolf.tail to "default">> <</if>> <</widget>> /* <<catTransform step>> If neither is provided, force full transformation */ <<widget "catTransform">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 0>> <<if $catbuild gte 25>> <<set $cat to 1>> <<run $timeMessages.pushUnique("catUp1")>> <<set $physicalTransform to 1>> <</if>> <<case 1>> <<if $catbuild gte 30 and $transformdisable is "f">> <<set $cat to 2>> <<run $timeMessages.pushUnique("catUp2")>> <<set $transformationParts.traits.fangs to "default">> <<set $transformationParts.traits.sharpEyes to "default">> <<elseif $catbuild lt 25>> <<set $cat to 0>><<set $physicalTransform to 0>> <<run $timeMessages.pushUnique("catDown0")>> <</if>> <<case 2>> <<if $catbuild gte 35 and $transformdisable is "f">> <<set $cat to 3>> <<run $timeMessages.pushUnique("catUp3")>> <<elseif $catbuild lt 30>> <<set $cat to 1>> <<run $timeMessages.pushUnique("catDown1")>> <<set $transformationParts.traits.fangs to "disabled">> <<set $transformationParts.traits.sharpEyes to "disabled">> <</if>> <<case 3>> <<if $catbuild gte 40 and $transformdisable is "f">> <<set $cat to 4>> <<run $timeMessages.pushUnique("catUp4")>> <<set $transformationParts.cat.ears to "default">> <<elseif $catbuild lt 35>> <<set $cat to 2>> <<run $timeMessages.pushUnique("catDown2")>> <</if>> <<case 4>> <<if $catbuild gte 45 and $transformdisable is "f">> <<set $cat to 5>> <<run $timeMessages.pushUnique("catUp5")>> <<elseif $catbuild lt 40>> <<set $cat to 3>> <<run $timeMessages.pushUnique("catDown3")>> <<set $transformationParts.cat.ears to "disabled">> <</if>> <<case 5>> <<if $catbuild gte 50 and $transformdisable is "f">> <<set $cat to 6>> <<run $timeMessages.pushUnique("catUp6")>> <<set $transformationParts.cat.tail to "default">> <<elseif $catbuild lt 45>> <<set $cat to 4>> <<run $timeMessages.pushUnique("catDown4")>> <</if>> <<case 6>> <<if $catbuild gte 55>> <<set $cat to 7>> <<run $timeMessages.pushUnique("catUp7")>> <<run window.determineCatEyeStages()>> <<set $original_colour = [$leftEyeColour, $rightEyeColour]>> <<set $transformationParts.cat.heterochromia to "default">> <<catHeterochromiaTF 0>> <<elseif $catbuild lt 50>> <<set $cat to 5>> <<run $timeMessages.pushUnique("catDown5")>> <<set $transformationParts.cat.tail to "disabled">> <<set $transformationParts.cat.heterochromia to "disabled">> <</if>> <<case 7>> <<if $catbuild gte 60>> <<set $cat to 8>> <<run $timeMessages.pushUnique("catUp8")>> <<catHeterochromiaTF 1>> <<elseif $catbuild lt 55>> <<set $leftEyeColour to $original_colour[0]>> <<set $rightEyeColour to $original_colour[1]>> <<set $cat to 6>> <<run $timeMessages.pushUnique("catDown6")>> <</if>> <<case 8>> <<if $catbuild gte 65>> <<set $cat to 9>> <<run $timeMessages.pushUnique("catUp9")>> <<catHeterochromiaTF 2>> <<elseif $catbuild lt 60>> <<catHeterochromiaTF 0>> <<set $cat to 7>> <<run $timeMessages.pushUnique("catDown7")>> <</if>> <<case 9>> <<if $catbuild gte 70>> <<set $cat to 10>> <<run $timeMessages.pushUnique("catUp10")>> <<catHeterochromiaTF 3>> <<elseif $catbuild lt 65>> <<catHeterochromiaTF 1>> <<set $cat to 8>> /* No message for catDown8 */ <</if>> <<case 10>> <<if $catbuild lt 70>> <<catHeterochromiaTF 2>> <<set $cat to 9>> <<run $timeMessages.pushUnique("catDown9")>> <</if>> <<case 99>> <<set $physicalTransform to 0>> <<set $cat to 0>> <<set $catbuild to 0>> <<set $transformationParts.traits.fangs to "disabled">> <<set $transformationParts.traits.sharpEyes to "disabled">> <<set $transformationParts.cat.ears to "disabled">> <<set $transformationParts.cat.tail to "disabled">> <</switch>> <<else>> <<clearAnimalTransformations>> <<set $physicalTransform to 1>> <<set $cat to 6>> <<set $catbuild to 100>> <<set $transformationParts.traits.fangs to "default">> <<set $transformationParts.traits.sharpEyes to "default">> <<set $transformationParts.cat.ears to "default">> <<set $transformationParts.cat.tail to "default">> <</if>> <</widget>> <<widget "catHeterochromiaTF">> <<if _args[0] gte 0 or _args[0] == "hide">> <<if $transformationParts.cat.heterochromia isnot "hidden" and _args[0] isnot "hide">> <<set $leftEyeColour to "cat_tf_stage_" + _args[0] + "_left">> <<set $rightEyeColour to "cat_tf_stage_" + _args[0] + "_right">> <<if _args[0] >= 3>> <<set $heterochromia to 1>> <<else>> <<set $heterochromia to 0>> <</if>> <<else>> <<if V.original_colour isnot undefined>> <<set $leftEyeColour to $original_colour[0]>> <<set $rightEyeColour to $original_colour[1]>> <</if>> <<set $heterochromia to 0>> <</if>> <</if>> <</widget>> <<widget "cowTransform">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 0>> <<if $cowbuild gte 5>> <<set $cow to 1>> <<run $timeMessages.pushUnique("cowUp1")>> <<set $physicalTransform to 1>> <</if>> <<case 1>> <<if $cowbuild gte 10>> <<set $cow to 2>> <<run $timeMessages.pushUnique("cowUp2")>> <<set $transformationParts.cow.horns to "default">> <<elseif $cowbuild lt 5>> <<set $cow to 0>><<set $physicalTransform to 0>> <<run $timeMessages.pushUnique("cowDown0")>> <</if>> <<case 2>> <<if $cowbuild gte 15>> <<set $cow to 3>> <<run $timeMessages.pushUnique("cowUp3")>> <<elseif $cowbuild lt 10>> <<set $cow to 1>> <<run $timeMessages.pushUnique("cowDown1")>> <<set $transformationParts.cow.horns to "disabled">> <</if>> <<case 3>> <<if $cowbuild gte 20>> <<set $cow to 4>> <<run $timeMessages.pushUnique("cowUp4")>> <<set $transformationParts.cow.ears to "default">> <<elseif $cowbuild lt 15>> <<set $cow to 2>> <<run $timeMessages.pushUnique("cowDown2")>> <</if>> <<case 4>> <<if $cowbuild gte 25>> <<set $cow to 5>> <<run $timeMessages.pushUnique("cowUp5")>> <<elseif $cowbuild lt 20>> <<set $cow to 3>> <<run $timeMessages.pushUnique("cowDown3")>> <<set $transformationParts.cow.ears to "disabled">> <</if>> <<case 5>> <<if $cowbuild gte 30>> <<set $cow to 6>> <<run $timeMessages.pushUnique("cowUp6")>> <<set $semen_max to 6000>> <<set $milk_max to 6000>> <<set $transformationParts.cow.tail to "default">> <<elseif $cowbuild lt 25>> <<set $cow to 4>> <<run $timeMessages.pushUnique("cowDown4")>> <</if>> <<case 6>> <<if $cowbuild lt 30>> <<set $semen_max to 3000>> <<set $milk_max to 3000>> <<set $cow to 5>> <<run $timeMessages.pushUnique("cowDown5")>> <<set $transformationParts.cow.tail to "disabled">> <</if>> <<case 99>> <<set $physicalTransform to 0>> <<set $cow to 0>> <<set $cowbuild to 0>> <<set $semen_max to 3000>> <<set $milk_max to 3000>> <<set $transformationParts.cow.tail to "disabled">> <<set $transformationParts.cow.ears to "disabled">> <<set $transformationParts.cow.horns to "disabled">> <</switch>> <<else>> <<clearAnimalTransformations>> <<set $physicalTransform to 1>> <<set $cow to 6>> <<set $cowbuild to 100>> <<set $semen_max to 6000>> <<set $milk_max to 6000>> <<set $transformationParts.cow.horns to "default">> <<set $transformationParts.cow.ears to "default">> <<set $transformationParts.cow.tail to "default">> <</if>> <<semenvolume 0>> <<milkvolume 0>> <</widget>> /* <<harpyTransform step>> If neither is provided, force full transformation */ <<widget "harpyTransform">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 0>> <<if $birdbuild gte 5 and $physicalTransform isnot 1>> <<set $harpy to 1>> <<run $timeMessages.pushUnique("harpyUp1")>> <<set $physicalTransform to 1>> <</if>> <<case 1>> <<if $birdbuild gte 10>> <<set $harpy to 2>> <<run $timeMessages.pushUnique("harpyUp2")>> <<set $transformationParts.bird.eyes to "default">> <<set $transformationParts.bird.malar to "default">> <<set $transformationParts.traits.sharpEyes to "default">> <<elseif $birdbuild lt 5>> <<set $harpy to 0>><<set $physicalTransform to 0>> <<run $timeMessages.pushUnique("harpyDown0")>> <</if>> <<case 2>> <<if $birdbuild gte 15>> <<set $harpy to 3>> <<run $timeMessages.pushUnique("harpyUp3")>> <<set $transformationParts.traits.mateForLife to "default">> <<elseif $birdbuild lt 10>> <<set $harpy to 1>> <<run $timeMessages.pushUnique("harpyDown1")>> <<set $transformationParts.bird.eyes to "disabled">> <<set $transformationParts.bird.malar to "disabled">> <<set $transformationParts.traits.sharpEyes to "disabled">> <</if>> <<case 3>> <<if $birdbuild gte 20>> <<set $harpy to 4>> <<run $timeMessages.pushUnique("harpyUp4")>> <<set $transformationParts.bird.tail to "default">> <<set $transformationParts.bird.plumage to "default">> <<elseif $birdbuild lt 15>> <<set $harpy to 2>> <<run $timeMessages.pushUnique("harpyDown2")>> <<set $transformationParts.traits.mateForLife to "disabled">> <</if>> <<case 4>> <<if $birdbuild gte 25>> <<set $harpy to 5>> <<run $timeMessages.pushUnique("harpyUp5")>> <<elseif $birdbuild lt 20>> <<set $harpy to 3>> <<run $timeMessages.pushUnique("harpyDown3")>> <<set $transformationParts.bird.tail to "disabled">> <<set $transformationParts.bird.plumage to "disabled">> <</if>> <<case 5>> <<if $birdbuild gte 30>> <<set $harpy to 6>> <<run $timeMessages.pushUnique("harpyUp6")>> <<set $transformationParts.bird.wings to "default">> <<if $pbdisable is "f">> <<set $transformationParts.bird.pubes to "default">> <<else>> <<set $transformationParts.bird.pubes to "hidden">> <</if>> <<elseif $birdbuild lt 25>> <<set $harpy to 4>> <<run $timeMessages.pushUnique("harpyDown4")>> <</if>> <<case 6>> <<if $birdbuild lt 30>> <<set $harpy to 5>> <<run $timeMessages.pushUnique("harpyDown5")>> <<set $transformationParts.bird.wings to "disabled">> <<set $transformationParts.bird.pubes to "disabled">> <<if $angel gte 6>> <<set $transformationParts.angel.wings to "default">> <</if>> <<if $demon gte 6>> <<set $transformationParts.demon.wings to "default">> <</if>> <<if $fallenangel gte 2>> <<set $transformationParts.fallenAngel.wings to "default">> <</if>> <</if>> <<case 99>> <<set $physicalTransform to 0>> <<set $harpy to 0>> <<set $birdbuild to 0>> <<set $transformationParts.bird.eyes to "disabled">> <<set $transformationParts.bird.malar to "disabled">> <<set $transformationParts.bird.tail to "disabled">> <<set $transformationParts.bird.plumage to "disabled">> <<set $transformationParts.bird.pubes to "disabled">> <<set $transformationParts.traits.sharpEyes to "disabled">> <<set $transformationParts.traits.mateForLife to "disabled">> <<if !["hidden", "disabled"].includes($transformationParts.bird.wings)>> <<if $angel gte 6>> <<set $transformationParts.angel.wings to "default">> <</if>> <<if $demon gte 6>> <<set $transformationParts.demon.wings to "default">> <</if>> <<if $fallenangel gte 2>> <<set $transformationParts.fallenAngel.wings to "default">> <</if>> <<set $transformationParts.bird.wings to "disabled">> <</if>> <</switch>> <<else>> <<set $physicalTransform to 1>> <<set $harpy to 6>> <<set $birdbuild to 100>> <<set $transformationParts.bird.eyes to "default">> <<set $transformationParts.bird.malar to "default">> <<set $transformationParts.bird.tail to "default">> <<set $transformationParts.bird.plumage to "default">> <<set $transformationParts.bird.wings to "default">> <<set $transformationParts.traits.sharpEyes to "default">> <<set $transformationParts.traits.mateForLife to "default">> <<if $pbdisable is "f">> <<set $transformationParts.bird.pubes to "default">> <<else>> <<set $transformationParts.bird.pubes to "hidden">> <</if>> <</if>> <</widget>> /* <<foxTransform step>> If neither is provided, force full transformation */ <<widget "foxTransform">> <<if _args[0] gte 0>> <<switch _args[0]>> <<case 0>> <<if $foxbuild gte 5>> <<set $fox to 1>> <<run $timeMessages.pushUnique("foxUp1")>> <<set $physicalTransform to 1>> <</if>> <<case 1>> <<if $foxbuild gte 10>> <<set $fox to 2>> <<run $timeMessages.pushUnique("foxUp2")>> <<set $transformationParts.traits.fangs to "default">> <<set $transformationParts.traits.sharpEyes to "default">> <<elseif $foxbuild lt 5>> <<set $fox to 0>> <<run $timeMessages.pushUnique("foxDown0")>> <<set $physicalTransform to 0>> <</if>> <<case 2>> <<if $foxbuild gte 15>> <<set $fox to 3>> <<run $timeMessages.pushUnique("foxUp3")>> <<set $transformationParts.traits.mateForLife to "default">> <<elseif $foxbuild lt 10>> <<set $fox to 1>> <<run $timeMessages.pushUnique("foxDown1")>> <<set $transformationParts.traits.fangs to "disabled">> <<set $transformationParts.traits.sharpEyes to "disabled">> <</if>> <<case 3>> <<if $foxbuild gte 20>> <<set $fox to 4>> <<run $timeMessages.pushUnique("foxUp4")>> <<set $transformationParts.fox.ears to "default">> <<elseif $foxbuild lt 15>> <<set $fox to 2>> <<run $timeMessages.pushUnique("foxDown2")>> <<set $transformationParts.traits.mateForLife to "disabled">> <</if>> <<case 4>> <<if $foxbuild gte 25>> <<set $fox to 5>> <<run $timeMessages.pushUnique("foxUp5")>> <<set $transformationParts.fox.cheeks to "default">> <<elseif $foxbuild lt 20>> <<set $fox to 3>> <<run $timeMessages.pushUnique("foxDown3")>> <<set $transformationParts.fox.ears to "disabled">> <</if>> <<case 5>> <<if $foxbuild gte 30>> <<set $fox to 6>> <<run $timeMessages.pushUnique("foxUp6")>> <<set $transformationParts.fox.tail to "default">> <<elseif $foxbuild lt 25>> <<set $fox to 4>> <<run $timeMessages.pushUnique("foxDown4")>> <<set $transformationParts.fox.cheeks to "disabled">> <</if>> <<case 6>> <<if $foxbuild lt 30>> <<set $fox to 5>> <<run $timeMessages.pushUnique("foxDown5")>> <<set $transformationParts.fox.tail to "disabled">> <</if>> <<case 99>> <<set $physicalTransform to 0>> <<set $fox to 0>> <<set $foxbuild to 0>> <<set $transformationParts.traits.fangs to "disabled">> <<set $transformationParts.traits.sharpEyes to "disabled">> <<set $transformationParts.traits.mateForLife to "disabled">> <<set $transformationParts.fox.cheeks to "disabled">> <<set $transformationParts.fox.ears to "disabled">> <<set $transformationParts.fox.tail to "disabled">> <</switch>> <<else>> <<clearAnimalTransformations>> <<set $physicalTransform to 1>> <<set $fox to 6>> <<set $foxbuild to 100>> <<set $transformationParts.traits.fangs to "default">> <<set $transformationParts.traits.sharpEyes to "default">> <<set $transformationParts.traits.mateForLife to "default">> <<set $transformationParts.fox.cheeks to "default">> <<set $transformationParts.fox.ears to "default">> <<set $transformationParts.fox.tail to "default">> <</if>> <</widget>> <<widget "clearAnimalTransformations">> <<harpyTransform 99>> <<cowTransform 99>> <<catTransform 99>> <<wolfTransform 99>> <<foxTransform 99>> <</widget>> <<widget "clearDivineTransformations">> <<demonTransform 99>> <<angelTransform 99>> <<fallenButNotOut 99>> <</widget>>/* This widget is run on its own after passout */ <<widget "passouttemperature">> <<cleareventpool>> <<outfitChecks>> <<set $passoutstat += 1>> <<set $passoutTimeStat to Time.date.timeStamp>> <<set $stress to Math.clamp($stress, 0, 8000)>> <<pass 60>> /* FROSTBITE */ <<if _passout is "cold">> <<set Weather.bodyTemperature to Weather.tempSettings.minTemperature + 1.5>> <<if !["beach", "estate", "forest", "lake", "moor", "park", "sea", "tower"].includes($location)>> You pass out from the cold. <br><br> <</if>> <<switch $location>> <<case "asylum">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|Passout Asylum]]>><</link>> <</addinlineevent>> <<case "beach">> You collapse on the <<= Weather.precipitation is "rain" ? "damp sand. Rain pelts your back as you" : Weather.precipitation is "snow" ? "cold sand. Snow falls on your body as you" : "sand. You">> curl into a ball to preserve what little body heat you have left. <br><br> <<if ["rain", "snow"].includes(Weather.precipitation)>> You do your best to <<= $worn.handheld.type.includes("rainproof") ? "cover yourself with your umbrella" : "shield yourself from the " + Weather.precipitation>>, but your fingers are numb with cold, and your arm falls to your side. <<silently>><<water>><</silently>> <br><br> <</if>> You pass out from the cold. <br><br> <<if getRobinLocation() is "beach">> <<addinlineevent "beach" 1.25>> <<link [[Everything fades to black...|Passout Beach Hypothermia Robin]]>><</link>> <</addinlineevent>> <</if>> <<addinlineevent "beach" 1>> <<link [[Everything fades to black...|Passout Beach Hypothermia]]>><</link>> <</addinlineevent>> <<if $fame.good gte 400 or $fame.social gte 400>> <<addinlineevent "fame" 0.2>> <<link [[Everything fades to black...|Passout Hypothermia Fame]]>><</link>> <</addinlineevent>> <</if>> <<if $danger gte (9900 - $allure) and !_fullyNaked>> <<addinlineevent "beach" 1>> <<link [[Everything fades to black...|Passout Beach Hypothermia Molest]]>><<set $molestationstart to 1>><</link>> <</addinlineevent>> <</if>> <<case "estate">> <<if !$estate>><<estate_init>><</if>> /* It's possible to trigger the $estate location passout on the link that unsets $estate */ Your breath mists in the winter air. The <<= Weather.precipitation is "snow" ? "pristine snow looks soft and inviting" : "ground looks inviting">>. You take a few faltering steps. You sink down next to a car and close your eyes. <br><br> Just before you pass out, you <<if $farm.aggro gte 60>> <<addinlineevent "remy" 1>> <span class="red">hear the sound of spurs approaching.</span> <br><br> <<link [[Everything fades to black...|Passout Estate Remy Hot Cold]]>><</link>> <</addinlineevent>> <<elseif $wren_intro isnot undefined>> <<addinlineevent "wren" 1>> <span class="green">hear the sound of boots approaching.</span> <br><br> <<link [[Everything fades to black...|Passout Estate Wren Hot Cold]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <<else>> <<addinlineevent "generic" 1>> hear the sound of someone approaching. <br><br> <<link [[Everything fades to black...|Passout Hypothermia Rescue]]>><</link>> <</addinlineevent>> <</if>> <<case "farm">> <<if $bus.includes("farm")>>/* If not the Underground Farm */ <<addinlineevent "molest" 1>> <<link [[Everything fades to black...|Passout Hypothermia Molest]]>><<set $molestationstart to 1>><</link>> <</addinlineevent>> <<else>> <<addinlineevent "livestock" 1>> <<link [[Everything fades to black...|Passout Livestock Hot Cold]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <</if>> <<case "forest">> You trek through the dense forest, shivering as the relentless cold seeps into your bones with each step. Your body trembles, <<if Weather.isFreezing>>your breath fogs in the frigid air, <</if>>and your heart races as you struggle to push on. <<if Weather.isSnow>>The snow crunches underfoot.<</if>> <br><br> The weight of exhaustion bears down on you, the world blurring as darkness creeps into your vision. Overwhelmed by the cold and fatigue, you collapse onto the forest floor. The ground rushes up to meet you as your consciousness slips away. <br><br> You pass out from the cold. <br><br> <<if $forest lte 20>> <<addinlineevent "gwylan" .2>> <<link [[Everything fades to black...|Passout Gwylan Hot Cold]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <</if>> <<addinlineevent "wolf" 1>> <<link [[Everything fades to black...|Passout Wolves Hot Cold]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <<addinlineevent "rescue" 1>> <<link [[Everything fades to black...|Passout Hypothermia Rescue]]>><</link>> <</addinlineevent>> <<case "cabin">> <<addinlineevent "Eden" 2>> <<link [[Everything fades to black...|Passout Eden Hot Cold]]>><<pass 60>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <<case "tower">> <<addinlineevent "birdRescue" 1>> You pass out from the cold. <br><br> <<link [[Everything fades to black...|Passout Bird Hypothermia]]>><</link>> <</addinlineevent>> <<case "moor">> <<if $moormove is "horse">> <<addinlineevent "moorHorse" 2>> You pass out from the cold. <br><br> <<link [[Everything fades to black...|Passout Moor Horse]]>><</link>> <</addinlineevent>> <<else>> <<addinlineevent "birdRescue" 1.5>> <<if $syndromebird gte 1>> You trudge through the moor, shivering uncontrollably<<if Weather.temperature lte 4>> as the biting cold seeps into your bones<</if>>. Each step feels like a struggle. Your body grows weaker, your movements more sluggish, with every passing moment. <br><br> As you collapse to the <<= Weather.isSnow ? "snowy" : "cold">> ground, your limbs feel heavy and unresponsive. The world around you swirls into darkness, the chill of the air enveloping you completely. <br><br> You pass out from the cold. <br><br> <<link [[Everything fades to black...|Passout Bird Hypothermia]]>><</link>> <<else>> <<npc "Great Hawk">><<person1>> You stumble to the <<= Weather.isSnow ? "snowy ground" : "ground">>, too weak to go on. Your lips are cracked from <<= Weather.temperature lte 4 ? "the frigid air" : "your laboured breathing">>, but you manage to croak out a desperate plea for help. <br><br> Your cry is answered. A <<hawkScreechDesc>> pierces the air. <<hawkRescueApproachSentence>> <br><br> You tip your head back, and your mouth grows even drier as you gape at the enormous shadow flying towards you. <br><br> <<link [[Next|Bird Rescue No Syndrome]]>><</link>> <</if>> <</addinlineevent>> <<addinlineevent "rescue" 1>> You pass out from the cold. <br><br> <<link [[Everything fades to black...|Passout Hypothermia Rescue]]>><</link>> <</addinlineevent>> <</if>> <<case "prison">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|Passout Prison 2]]>><</link>> <</addinlineevent>> <<case "lake">> Your vision blurs. You hold yourself tight to keep warm, but it's no use. <br><br> <<if $town_projects.diving gte 4 and (Time.schoolDay and Time.hour gte 16 and Time.hour lte 20 or !Time.schoolDay and Time.hour gte 6 and Time.hour lte 20)>> <<addinlineevent "winter" 0.75>> <<link [[Everything fades to black...|Passout Hot Cold Lake Office]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <</if>> <<if !Time.schoolDay and ["snow", "rain"].includes(Weather.precipitation) and Time.dayState is "day">> <<addinlineevent "mason" 0.25>> <<link [[Everything fades to black...|Passout Mason Hypothermia]]>><<set $phase to ["lakeunderwater", "lake_ruin", "lake_ruin_deep"].includes($bus) ? "underwater" : 1>><</link>> <</addinlineevent>> <</if>> <<addinlineevent "danger" 1.25>> <<link [[Everything fades to black...|Passout Hypothermia Lake Gangbang]]>><</link>> <</addinlineevent>> <<case "school">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|School Passout]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <<case "sea">> The cold water robs you of the last of your body heat. Your limbs become too heavy to keep swimming, and you pass out as your body starts to sink. <br><br> <<addinlineevent "pirates" 1>> <<link [[Everything fades to black...|Passout Pirates Hot Cold]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <<case "tentworld">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|Passout Tentacle World]]>><</link>> <</addinlineevent>> <<case "park">> You stumble forward, and slump to the cold ground, too battered to keep going. <br><br> /* Park events needed - adding default ones now to prevent empty passages */ <<if getRobinLocation() is "park" and !$daily.robin.passout>> <<addinlineevent "park" 1.25>> <<link [[Everything fades to black...|Passout Robin Hypothermia Park]]>><</link>> <</addinlineevent>> <</if>> <<addinlineevent "rescue" 1>> <<link [[Everything fades to black...|Passout Hypothermia Rescue]]>><</link>> <</addinlineevent>> <<default>> /* Generic events */ <<addinlineevent "ambulance" 0.1>> <<link [[Everything fades to black...|Ambulance rescue]]>><<set $passoutReason to "hypothermia">><</link>> <</addinlineevent>> <<addinlineevent "molest" 1>> <<link [[Everything fades to black...|Passout Hypothermia Molest]]>><<set $molestationstart to 1>><</link>> <</addinlineevent>> <<addinlineevent "rescue" 1.1>> <<link [[Everything fades to black...|Passout Hypothermia Rescue]]>><</link>> <</addinlineevent>> <<if $fame.good gte 400 or $fame.social gte 400>> <<addinlineevent "fame" 0.2>> <<link [[Everything fades to black...|Passout Hypothermia Fame]]>><</link>> <</addinlineevent>> <</if>> <<if $location is "town" and $bus is "danube">> <<addinlineevent "danube" 1.5>> <<link [[Everything fades to black...|Passout Danube Street]]>><<set $phase2 to _passout>><</link>> <</addinlineevent>> <</if>> <<if (($location is "town" and $bus is "high") or $location is "office") and $officejobintro is 1 and Time.hour gte 6 and Time.hour lte 21>> <<addinlineevent "office" 2>> <<link [[Everything fades to black...|Passout Office]]>><<set $phase2 to _passout>><</link>> <</addinlineevent>> <</if>> <</switch>> /* HEATSTROKE */ <<elseif _passout is "heat">> <<set Weather.bodyTemperature to Weather.tempSettings.maxTemperature - 1>> <<if !["beach", "estate", "forest", "lake", "moor", "sea"].includes($location)>> You pass out from the heat. <br><br> <</if>> <<switch $location>> <<case "alley">> <<if Weather.temperature gte 27 and _top and !Time.schoolDay and $bullytimer gte $rng and C.npc.Whitney.init is 1 and !["dungeon", "pillory"].includes(C.npc.Whitney.state) and $daily.whitney.park is undefined>> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|Passout Alley Heatstroke Whitney]]>><</link>> <</addinlineevent>> <</if>> <<if _underwear>> <<addinlineevent "icecube" 1>> <<link [[Everything fades to black...|Passout Heatstroke Ice Cube]]>><</link>> <</addinlineevent>> <</if>> <<if !_fullyNaked>> <<addinlineevent "strip" .5>> <<link [[Everything fades to black...|Passout Heatstroke Strip]]>><<set $molestationstart to 1>><</link>> <</addinlineevent>> <</if>> <<addinlineevent "rescue" .5>> <<link [[Everything fades to black...|Passout Heatstroke Rescue]]>><</link>> <</addinlineevent>> <<addinlineevent "kiss" 1>> <<link [[Everything fades to black...|Passout Heatstroke Kiss]]>><</link>> <</addinlineevent>> <<case "asylum">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|Passout Asylum]]>><</link>> <</addinlineevent>> <<case "beach" "seabeach">> <<if $location is "seabeach">> Even in the cold water, the heat has still caught up with you. You feel dizzy, and you collapse, falling to your knees in the shallow water. Your body feels tired. You close your eyes. <<else>> You collapse on the hot sand, chest heaving. The heat is too much, and your vision grows dark. <</if>> <br><br> <<addinlineevent "waves" 1>> <<link [[Everything fades to black...|Passout Beach Heatstroke]]>><</link>> <</addinlineevent>> <<if getRobinLocation() is "beach" and $location isnot "seabeach" and !$daily.robin.passout and $robin.timer.hurt lt 1>> <<addinlineevent "lemonade" 1.25>> <<link [[Everything fades to black...|Passout Beach Heatstroke Lemonade]]>><</link>> <</addinlineevent>> <</if>> <<if $danger gte (9900 - ($allure)) and !Weather.overcast>> <<addinlineevent "students" 1>> <<link [[Everything fades to black...|Passout Beach Heatstroke Students]]>><</link>> <</addinlineevent>> <<if !_fullyNaked and Weather.precipitation is "none">> <<addinlineevent "wetShirt" 1>> <<link [[Everything fades to black...|Passout Beach Heatstroke Wet Shirt]]>><</link>> <</addinlineevent>> <</if>> <<else>> <<addinlineevent "rescue" 1>> <<link [[Everything fades to black...|Passout Beach Heatstroke Rescue]]>><</link>> <</addinlineevent>> <</if>> <<case "estate">> You can see heat radiating off the tops of the cars. Sweat pours down your forehead, stinging your eyes. You stagger to a patch of shade and collapse in a heap. <br><br> Just before you pass out, you <<if $farm.aggro gte 60>> <<addinlineevent "remy" 1>> <span class="red">hear the sound of spurs approaching.</span> <br><br> <<link [[Everything fades to black...|Passout Estate Remy Hot Cold]]>><<estate_end>><</link>> <</addinlineevent>> <<elseif $wren_intro isnot undefined>> <<addinlineevent "wren" 1>> <span class="green">hear the sound of boots approaching.</span> <br><br> <<link [[Everything fades to black...|Passout Estate Wren Hot Cold]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <<else>> <<addinlineevent "generic" 1>> hear the sound of someone approaching. <br><br> <<link [[Everything fades to black...|Passout Heatstroke Rescue]]>><</link>> <</addinlineevent>> <</if>> <<case "farm">> <<if $bus.includes("farm")>>/* If not the Underground Farm */ <<addinlineevent "generic" 1>> <<link [[Everything fades to black...|Passout Heatstroke Rescue]]>><</link>> <</addinlineevent>> <<if !_fullyNaked>> <<addinlineevent "strip" 1>> <<link [[Everything fades to black...|Passout Heatstroke Strip]]>><<set $molestationstart to 1>><</link>> <</addinlineevent>> <</if>> <<else>> <<addinlineevent "livestock" 1>> <<link [[Everything fades to black...|Passout Livestock Hot Cold]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <</if>> <<case "forest">> You trek through the dense forest, a throbbing headache piercing your skull with each step. <<if !Weather.overcast>>The relentless sunlight filters through the canopy above.<</if>> Sweat drips from your brow, and your heart races as you struggle to push forward through the thick underbrush. <br><br> The weight of exhaustion bears down on you, the world blurring as darkness creeps into your vision. Overwhelmed by the heat and fatigue, you collapse onto the forest floor. The ground rushes up to meet you as your consciousness slips away. <br><br> You pass out from the heat. <br><br> <<if $forest lte 20>> <<addinlineevent "gwylan" .2>> <<link [[Everything fades to black...|Passout Gwylan Hot Cold]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <</if>> <<addinlineevent "mud" 1>> <<link [[Everything fades to black...|Passout Heatstroke Mud]]>><</link>> <</addinlineevent>> <<addinlineevent "wolf" 1>> <<link [[Everything fades to black...|Passout Wolves Hot Cold]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <<addinlineevent "rescue" 1>> <<link [[Everything fades to black...|Passout Heatstroke Rescue]]>><</link>> <</addinlineevent>> <<case "lake">> Waves of heat engulf you. Your head spins and your vision blurs. <br><br> <<if $town_projects.diving gte 4 and (Time.schoolDay and Time.hour gte 16 and Time.hour lte 20 or !Time.schoolDay and Time.hour gte 6 and Time.hour lte 20)>> <<addinlineevent "winter" 0.75>> <<link [[Everything fades to black...|Passout Hot Cold Lake Office]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <</if>> <<if !Time.schoolDay and ["snow", "rain"].includes(Weather.precipitation) and Time.dayState is "day">> <<addinlineevent "mason" 0.25>> <<link [[Everything fades to black...|Passout Mason Hyperthermia]]>><<set $phase to ["lakeunderwater", "lake_ruin", "lake_ruin_deep"].includes($bus) ? "underwater" : 1>><</link>> <</addinlineevent>> <</if>> <<addinlineevent "mud" 1>> <<link [[Everything fades to black...|Passout Heatstroke Mud]]>><</link>> <</addinlineevent>> <<case "cabin">> <<addinlineevent "Eden" 2>> <<link [[Everything fades to black...|Passout Eden Hot Cold]]>><<pass 60>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <<case "tower">> <<addinlineevent "birdRescue" 1.5>> You pass out from the heat. <br><br> <<link [[Everything fades to black...|Passout Bird Heatstroke]]>><</link>> <</addinlineevent>> <<case "moor">> <<if $moormove is "horse">> <<addinlineevent "moorHorse" 2>> You pass out from the heat. <br><br> <<link [[Everything fades to black...|Passout Moor Horse]]>><</link>> <</addinlineevent>> <<else>> <<addinlineevent "birdRescue" 1.5>> <<if $syndromebird gte 1>> <<npc "Great Hawk">><<person1>> The relentless sun beats down on you as you trudge through the moor, a throbbing headache pounding in your skull. Waves of nausea churn in your stomach, your pulse racing uncontrollably as you succumb to the heat. <br><br> In a desperate attempt to find relief, you sink to your knees, clutching at the parched earth. The ground feels distant, the world spinning as darkness closes in. <br><br> You pass out from the heat. <br><br> <<link [[Everything fades to black...|Passout Bird Heatstroke]]>><</link>> <<else>> <<npc "Great Hawk">><<person1>> You stumble to the ground, too weak to go on. Your lips are parched from the heat, but you manage to croak out a desperate plea for help. <br><br> Your cry is answered. A <<hawkScreechDesc>> pierces the air. <<hawkRescueApproachSentence>> <br><br> You tip your head back, and your mouth grows even drier as you gape at the enormous shadow flying towards you. <br><br> <<link [[Next|Bird Rescue No Syndrome]]>><</link>> <</if>> <</addinlineevent>> <<addinlineevent "rescue" 1>> You pass out from the heat. <br><br> <<link [[Everything fades to black...|Passout Heatstroke Rescue]]>><</link>> <</addinlineevent>> <</if>> <<case "prison">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|Passout Prison 2]]>><</link>> <</addinlineevent>> <<case "sea">> Despite the water around you, the heat is too much. Your limbs become too heavy to keep swimming, and you pass out as your body starts to sink. <br><br> <<addinlineevent "pirates" 1>> <<link [[Everything fades to black...|Passout Pirates Hot Cold]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <<case "school">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|School Passout]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <<case "tentworld">> <<addinlineevent "default" 1>> <<link [[Everything fades to black...|Passout Tentacle World]]>><</link>> <</addinlineevent>> <<case "park">> <<if isInPark("whitney")>> <<addinlineevent "default" 2>> <<link [[Everything fades to black...|Passout Park Heatstroke Whitney]]>><</link>> <</addinlineevent>> <</if>> <<if $wolfgirl gte 6 or $cat gte 6>> <<addinlineevent "animals" 1>> <<link [[Everything fades to black...|Passout Heatstroke Animals]]>><</link>> <</addinlineevent>> <</if>> <<addinlineevent "delinquents" 1>> <<link [[Everything fades to black...|Passout Heatstroke Delinquents]]>><</link>> <</addinlineevent>> <<addinlineevent "flash" 1>> <<link [[Everything fades to black...|Passout Heatstroke Flash]]>><</link>> <</addinlineevent>> <<default>> /* Generic events */ <<addinlineevent "ambulance" 0.1>> <<link [[Everything fades to black...|Ambulance rescue]]>><<set $passoutReason to "hyperthermia">><</link>> <</addinlineevent>> <<if !_fullyNaked>> <<addinlineevent "strip" 1>> <<link [[Everything fades to black...|Passout Heatstroke Strip]]>><<set $molestationstart to 1>><</link>> <</addinlineevent>> <</if>> <<addinlineevent "kiss" 1>> <<link [[Everything fades to black...|Passout Heatstroke Kiss]]>><</link>> <</addinlineevent>> <<addinlineevent "rescue" 1.1>> <<link [[Everything fades to black...|Passout Heatstroke Rescue]]>><</link>> <</addinlineevent>> <<if $location is "town" and $bus is "danube">> <<addinlineevent "danube" 1.5>> <<link [[Everything fades to black...|Passout Danube Street]]>><<set $phase2 to _passout>><</link>> <</addinlineevent>> <</if>> <<if (($location is "town" and $bus is "high") or $location is "office") and $officejobintro is 1 and Time.hour gte 6 and Time.hour lte 21>> <<addinlineevent "office" 2>> <<link [[Everything fades to black...|Passout Office]]>><<set $phase2 to _passout>><</link>> <</addinlineevent>> <</if>> <</switch>> <</if>> <<runeventpool>> <</widget>> /* Determines clothes player may be given after passing out of cold */ <<widget "hypothermiaClothes">> <<outfitChecks>><<set _wet to $upperwetstage gte 3 or $lowerwetstage gte 3 or $underupperwetstage gte 3 or $underlowerwetstage gte 3>> <<set _gender to $player.gender_appearance>> <<set _clothes to []>> <<set _warmClothes to []>> <<if _fullyNaked>> <<set _warmClothes to "clothes">> <<elseif _wet>> <<dry_full>><<upperstrip>><<lowerstrip>> <<set _warmClothes to "dry clothes">> <<elseif !_bottom>> <<set _warmClothes to "bottoms">> <<elseif $debug is 1 and $worn.over_upper.name is "naked" and $rng gte 45>> <<set _warmClothes to "a jacket">> <<elseif $worn.upper.warmth lt 6>> <<set _warmClothes to _shirtless ? "a shirt" : "something warmer">> <<elseif !$worn.neck.cursed>> <<set _warmClothes to "a scarf">> <<elseif $worn.head.warmth lt 3>> <<set _warmClothes to "a hat">> <</if>> <<if $debug is 1 and $worn.over_upper.name is "naked" and $rng gt 100>> /* outerwearToDo: Give players a jacket that's suitably warm. Not the froggy coat. Rng to allow for the possibility that they'll get another article of clothing instead -- rng should normally be gte 45, I just wanted to make this impossible to get. */ <<set _slot to "over_upper">> <<set _index to 1>> <<overupperwear _index>> <<elseif $worn.upper.warmth lt 6>> /* neutral: puffer jacket, winter jacket, turtleneck jumper, cable-knit turtleneck, ghost jumper */ <<set _slot to "upper">> <<set _upper to [71, 103, 45, 43, 133]>> <<if $player.gender_appearance is "m" or $forcedcrossdressingdisable is "f">> /* masc: punk leather, leather, letterman jackets, skull jumper */ <<set _upper.push(40, 41, 62, 135)>> <</if>> <<if $player.gender_appearance is "f" or $forcedcrossdressingdisable is "f">> /* femme: heart jumper, girl's sweater */ <<set _upper.push(134, 28)>> <</if>> <<set _index to _upper.random()>> <<upperstrip>> <<switch _index>> <<case 133>><<upperwear _index "white" "neon blue">> <<case 134>><<upperwear _index "lilac" "pink">> <<case 135>><<upperwear _index "black" "red">> <<default>><<upperwear _index>> <</switch>> <<set _crossdress to ($worn.upper.gender is "f" and $player.gender_appearance is "m") or ($worn.upper.gender is "m" and $player.gender_appearance is "f")>> <<elseif !$worn.neck.cursed>> <<set _slot to "neck">> <<set _index to 16>> <<neckwear _index>> <<elseif $worn.head.warmth lt 3>> <<set _costume to $christmas is 1 or $halloween is 1>> <<set _slot to "head">> <<set _index to $christmas is 1 ? 8 : $halloween is 1 ? 53 : 2>> <<headwear _index>> <</if>> <<set _text_output to setup.clothes[_slot][_index].word is "n" ? `a pair of ${$worn[_slot].name}` : setup.clothes[_slot][_index].word + " " + $worn[_slot].name >> <<set _clothes.push(_text_output)>> <<outfitChecks>> <<if _bottomExposed>> <<set _slot to "lower">> <<set _index to either(22, 23, 39, 67)>> <<lowerwear _index>> <<set _text_output to setup.clothes[_slot][_index].word is "n" ? `a pair of ${$worn[_slot].name}` : setup.clothes[_slot][_index].word + " " + $worn[_slot].name >> <<set _clothes.push(_text_output)>> <</if>> <</widget>> /* To get the previous major area passage, use: $safePassage (for links in the last passage, unless we want to link the player elsewhere) */ /* Generic passouts */<<if $molestationstart is 1>> You awaken to find a <<generate1>><<person1>><<person>> on top of you. "Hey there, baby," <<he>> croons. "You were shivering something awful, so I figured I'd help you warm up. I know a good way to generate some body heat..." <<He>> leers down at you, rubbing lewdly against your body. <br><br> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<set $enemyanger to 0>> <<set $encounterDialogue to "cold">> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Hypothermia Molest Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Hypothermia Molest]]>><</link>></span><<nexttext>> <</if>><<effects>> <<set Weather.bodyTemperature++>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The <<person>> pushes <<himself>> off you with a satisfied groan, grinning at you. "There, all warmed up. You're lucky a good Samaritan like me was here to help." <<He>> gives your cheek a condescending pat before walking off with a chuckle. <<tearful>> you stand up and rub your hands together, teeth chattering. <<endcombat>> <<clotheson>> <<elseif $enemyhealth lte 0>> The <<person>> grunts as you manage to push <<him>> off of you with one last <<= $submissive lte 850 ? "vicious" : "desperate">> shove. "You fuckin' <<bitch>>!" <<he>> shouts after you as you scramble away. "If you didn't want someone to help you warm up, you shouldn't've been walking around like that!" <<tearful>> you sprint away from <<him>>. The exercise gets your blood pumping and distracts you from the cold, at least. <<athletics 1>> <br><br> <<clotheson>> <<endcombat>> <</if>> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> /* Generic heatstroke passout: dangerous */<<if $molestationstart is 1>> You awaken to find a <<generate1>><<person1>><<person>> on top of you. "Hey there, hot stuff," <<he>> purrs. "Heatstroke got to you, huh? Let me give you a hand with that." <<He>> starts tugging at your clothes. <br><br> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<molested>> <<set $enemyno to 1>><<set $enemynomax to 1>> <<maninit>> <<npcstripall>> <<npcidlegenitals>> <<set $encounterDialogue to "hotStrip">> <</if>> <<effects>> <<effectsman>><<man>> <br><br> <<stateman>> <<actionsman>> <<outfitChecks>> <<if _fullyNaked or $enemyarousal gte $enemyarousalmax or $enemyhealth lte 0>> <span id="next"><<link [[Next|Passout Heatstroke Strip Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Heatstroke Strip]]>><</link>></span><<nexttext>> <</if>><<effects>> <<outfitChecks>> <<set Weather.bodyTemperature-->> <<if _fullyNaked>> With one last tug, the <<person>> rips the last of your clothes off. <<He>> rakes <<his>> eyes down your nude body. "Nice," <<he>> says appreciatively. <<He>> climbs to <<his>> feet, tucking your clothes under <<his>> arm. "There, you should be plenty cool now." <br><br> <<tearful>> you struggle to sit up, still weak and overheated. You give <<him>> a <<= $submissive lte 850 ? "dirty" : "pleading">> look. <br><br> "What, no thank you?" The <<person>> clicks <<his>> tongue and shakes <<his>> head. "Well, I guess I'll just have to keep these as compensation for my good deed. Stay cool, <<girl>>." <<if $beauty gte ($beautymax / 7) * 4>> <<He>> pauses. "If you can, anyway. That might be hard to do, you <i>are</i> pretty hot." <<He>> leaves, chuckling at <<his>> own pun. <<else>> <<He>> winks at you. "Cute <<girls>> like you shouldn't be walking around with clothes on, anyway." <</if>> <<set $stealtextskip to 1>> <<stealclothes "strip">> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The <<person>> falters as <<he>> convulses in orgasmic bliss, and you take advantage of the opportunity to tug free from <<his>> grasp. "Fine, alright, keep your clothes," <<he>> pants. "But don't go crying if the next person to help your overheated arse isn't as kind as me." <<elseif $enemyhealth lte 0>> The <<person>> grunts as you manage to push <<him>> off of you with one last <<= $submissive lte 850 ? "vicious" : "desperate">> shove. "You fuckin' <<bitch>>!" <<he>> shouts after you as you scramble away. "I was just trying to help you cool down!" <</if>> <<clotheson>> <<endcombat>> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> /* Generic frostbite passout: safe */<<effects>><<generate1>><<person1>><<outfitChecks>><<rng>> <<hypothermiaClothes>><<set $outside to 0>> You wake up, feeling a little better than you remember. <<if _clothes.length gte 1>>You're wearing <<= _clothes.join(" and ")>><</if>>. <<if _wet>>Your wet clothes are folded neatly beside you.<</if>> You sit up and get a look at your surroundings. It looks like you're in <<if $location is "forest">> a camping tent. <<else>> <<switch $bus>> <<case "domus" "danube" "barb" "residential" "wolf">>a living room. <<case "high" "commercial">>some sort of breakroom. <<case "farm">>a barn. <<default>> <<if $bus.includes("lake")>> near the lake. <<else>> the backseat of a stranger's car. <</if>> <</switch>> <</if>> <br><br> "Oh, thank god you're awake!" a <<person>> says with a sigh of relief. "Your body was so cold, you had me worried. <<if _warmClothes>> You know, you really shouldn't be walking around without _warmClothes." <<He>> gestures to your clothes. "All yours, by the way." <</if>> <<if _wet>> <<He>> gives you an apologetic smile. "I hope you don't mind that I took your clothes off to dry. I had a change of clothes on me and figured you could use it." <</if>> <<if _crossdress or _costume>> <<He>> looks sheepish. "Sorry, it's all I had. <<if _crossdress and ($worn.upper.gender is "m" and $pronoun is "f") or ($worn.upper.gender is "f" and $pronoun is "m")>> It belonged to my ex, so I'm happy to be rid of it.<</if>><<if _costume>> T'is the season, am I right?<</if>>" <</if>> <br><br> <<if $speech_attitude is "meek">> "T-thank you," you stammer, still trembling from the cold. <<elseif $speech_attitude is "bratty">> "Thanks," you say. "I'd say I owe you one, but I'll probably never see you again." <<else>> "Thank you so much," you say, hugging your arms close to your body. <</if>> <br><br> The <<person>> smiles at you. "It's the least I can do. You go careful now, love." <<= _wet ? "You gather up your clothes" : "You bid <<him>> farewell">> and continue on your way. <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> /* Generic heatstroke passout: safe */<<set $outside to 0>><<effects>> <<generate1>><<person1>> <<set _exposed to $exposed gte 2>> <<returnCarried>> <<strip>> <<upperwear 157 "white">> You wake up, feeling a little better than you remember. A thin sheet covers your body, keeping you modest but cool. You <<if $player.perceived_breastsize gte 2 or $player.gender_appearance is "f">>hold it to your chest as you <</if>>sit up and get a look at your surroundings. It looks like you're in <<switch $bus>> <<case "domus" "danube" "barb" "residential" "wolf">>a living room. <<case "high" "commercial">>some sort of breakroom. <<case "farm">>a barn. <<case "forest">>an unfamiliar cabin. <<default>> <<if $bus.includes("lake")>> a shady area near the lake. <<else>> the backseat of a stranger's car. <</if>> <</switch>> <br><br> "You're awake! I'm so glad, I was about to call an ambulance!" a <<person>> cries, rushing to your side. <<He>> offers you a bottle of water, which you take <<if $trauma gte ($traumamax / 5) * 2>>with some hesitation <</if>>and pop open to drink. You find it gone much faster than you expected. <br><br> <<if $speech_attitude is "meek">> "Did you...save me? Thank you..." <<elseif $speech_attitude is "bratty">> "<<if !_exposed>>Where are my clothes? <</if>>What did you do to me?" <<else>> "Thank you! I don't even remember what happened..." <</if>> <br><br> <<He>> takes the empty bottle and <<= _exposed ? "smiles at you" : "fetches your clothes">>. <<if _exposed>> "It seems like you collapsed from the heat. An impressive feat, given your state of undress. <<switch Time.season>> <<case "summer">> I don't blame you for stripping down this time of the year though. Just be careful, it's not safe for <<girls>> like you to be so exposed around here."<<if $molesttrait gte 1 or $rapetrait gte 1>> <<He>> doesn't even know the half of it.<</if>> <<case "autumn">> The weather's getting cooler, but that's no excuse to overexert yourself. Even with no clothes on." <<case "winter">> I don't think that should even be possible in the winter. <span class="red">Maybe you should report this to the developers</span>?" <<default>> It feels like every year gets hotter sooner, doesn't it? But you should probably be more careful walking around like that." <</switch>> <<else>> "Sorry about stripping you. It seemed like you collapsed from the heat, so I thought it'd be a good idea to take everything off to help you out." <<He>> offers the bundle of clothing to you. "You may want to choose what you put on a little more carefully. <<switch Time.season>> <<case "summer">> The heat is killer this time of year." <<He>> grimaces sympathetically. <<case "autumn">> The weather's cooling down, but you don't need to bundle up quite so much yet!" <<He>> chuckles lightly. <<case "winter">> I'm not sure how you managed to get heatstroke in the winter, but a few less layers may do you some good." <<He>> gives you a wry smile. <<default>> The weather's warming up, after all." <<He>> smiles. <</switch>> <</if>> <br><br> The <<person>> backs away. "I'll give you some <<= _exposed ? "space" : "privacy">>." <br><br> <<if hasSexStat("promiscuity", 3)>> <<link [[Offer to thank <<him>> with your body|Passout Heatstroke Rescue Thank]]>><</link>><<promiscuous3>> <br> <</if>> <<if !_exposed>> <<link [[Get dressed|Passout Heatstroke Rescue Dress]]>><<set $phase to 1>><</link>> <<else>> <<link [[Wear the bedsheet|Passout Heatstroke Rescue End]]>><</link>> <</if>><<effects>> You put a hand on the <<persons>> thigh. <<if $speech_attitude is "meek">> "Th-that was really...<i>really</i> sweet of you to help me... Is there s-some way I can return the favour...?" <<elseif $speech_attitude is "bratty">> "You really got me out of a bad situation. I don't wanna owe you anything, so how about you let me thank you properly?" <<else>> "You really saved <<if $cow gte 6>>my hide<<else>>me<</if>>. There must be some way I could thank you." <</if>> <br><br> <<set $seductiondifficulty to 6000>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> <<if $seductionrating gte $seductionrequired>> The <<person>> is caught off-guard for a moment, but soon laughs and returns to your side. "Well, someone's got <<pher>> energy back! I wouldn't say no to a little appreciation..." <br><br> <<link [[Next|Passout Heatstroke Rescue Thank Sex]]>><<set $sexstart to 1>><</link>> <<else>> The <<person>> gives an awkward laugh. "I, uh, appreciate your offer. But I don't think that would be a good idea, especially while you're still recovering." <br><br> <<He>> smiles and walks out of sight, giving you space to <<= _exposed ? "collect yourself" : "get dressed">>. <br><br> <<if !_exposed>> <<link [[Get dressed|Passout Heatstroke Rescue Dress]]>><<set $phase to 1>><</link>> <<else>> <<link [[Wear the bedsheet|Passout Heatstroke Rescue End]]>><</link>> <</if>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>> <<set $encounterDialogue to "hot">> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Heatstroke Rescue Thank Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Heatstroke Rescue Thank Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> laughs again as <<he>> fans <<himself>>, face flushed. "Now <i>I'm</i> feeling a little hot! Glad to see you've healed so much, <<girl>>. Take as much time as you need, alright?" <br><br> The <<person>> pulls away from you, giving you some space. <br><br> <<elseif $enemyhealth lte ($enemyhealthmax / 2)>> The <<person>> pulls away from you, hands up. "Woah, woah, take it easy! If you didn't want it you shouldn't've offered in the first place! Hurry up and get yourself together." <br><br> <<tearful>> you pull yourself together. <<He>> gives you some space. <br><br> <<else>> The <<person>> pulls away from you, hands up. "Alright. Take as much time as you need." <br><br> <</if>> <<endcombat>> <<if !_exposed>> <<link [[Get dressed|Passout Heatstroke Rescue Dress]]>><<set $phase to 1>><</link>> <<else>> <<link [[Wear the bedsheet|Passout Heatstroke Rescue End]]>><</link>> <</if>><<effects>> It occurs to you that it might be best to put on fewer clothes for right now. Anything else can be sent to your wardrobe. <br> <<getDressedList>> <<link [[Just wear the bedsheet|Passout Heatstroke Rescue End]]>><<strip>><<returnCarried>><<if $worn.upper.name isnot "bedsheet">><<upperwear 157 "white">><</if>><</link>> <br> <<link [[Finish dressing|Passout Heatstroke Rescue End]]>><</link>><<effects>> You thank your rescuer, and <<he>> nods. "Try and be more mindful of the heat from now on," <<he>> replies with a wave. You wave back and resume your journey. <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> /* Location passouts */<<set $outside to 0>><<set $location to "farm">><<effects>> <<npc Remy>><<generate2>><<generate3>> <<set _cow to $player.gender_appearance is "m" ? "bull" : "cow">> You awaken in a dingy windowless room, the stone walls lit only by a flaming torch held by a <<person2>><<person>>. <<He>> and a <<person3>><<person>> stand, looking down at you. You're lying on a bed of straw. <br><br> <<person1>>"Awake I see," says a voice. It's Remy. <<He>> walks down a set of stone steps leading into the room, and kneels beside you. <br><br> <<if $passoutReason is "hyperthermia">> "We found you passed out. You caused quite the worry, but my examination found no problems. You simply overheated." <<He>> strokes your hair. "<<= $farmGateCD is 0 ? "One of my men said you were acting up tonight. Maybe next time you'll be a good _cow and behave, hmm?" : "I'm proud you're being such a hard worker, but we can't have such a valuable member of our herd fainting, now can we?">> All that exercise must have gotten to you. Here, <<girl>>." <br><br> Remy holds up a bowl of water, and you realise just how parched you are. <<He>> lifts the bowl to your lips, and you gulp down the cool water greedily. Your desperation to slake your thirst causes some to spill on your <<chest>> and <<he>> chuckles. When the last drop of water is gone, you sigh with relief. <br><br> Remy sets down the bowl and <<= $cow gte 2 and $transformationParts.cow.horns isnot "hidden" ? "rubs the base of your horns" : "pets your head">>. "That's a good <<girl>>. You'll take care next time, won't you?" <br><br> <<set Weather.bodyTemperature-->> <<link [[Listen|Livestock Passout 2]]>><<set $phase to 0>><<livestock_obey 1>><<transform cow 1>><</link>><<gobey>> <br> <<link [[Push away|Livestock Passout 2]]>><<set $phase to 1>><<livestock_obey -1>><<trauma -6>><</link>><<lobey>><<ltrauma>> <<else>> "We found you passed out and shivering. You caused quite the worry, but my examination found no problems. You simply got too cold." <<He>> strokes your hair. <br><br> <<set Weather.bodyTemperature++>> <<if $speech_attitude is "meek">> "Um... maybe if I had some clothes, that would help?" you whisper. <<elseif $speech_attitude is "bratty">> "Yeah, well, maybe I wouldn't freeze to death if you'd give me some clothes," you say. <<else>> "Can I get some clothes?" you ask. "It's too cold to go around naked like this." <</if>> <br><br> Remy purses <<his>> lips. "Now, now, <<girl>>, don't be silly. Cattle don't wear clothes." <<He>> strokes your hair. "You just need to get your blood pumping, that's all. I'm sure we can find a job that'll keep you plenty active. You'll warm right up, you'll see." <</if>> <br><br> <<link [[Listen|Livestock Passout 2]]>><<set $phase to 0>><<livestock_obey 1>><<transform cow 1>><</link>><<gobey>> <br> <<link [[Push away|Livestock Passout 2]]>><<set $phase to 1>><<livestock_obey -1>><<trauma -6>><</link>><<lobey>><<ltrauma>><<set $location to "pirate_ship">><<effects>> <<outfitChecks>> <<if $pirate_rank gte 1>> <<if $passoutReason is "hyperthermia">> <<set Weather.bodyTemperature-->> You wake up <<= _fullyNaked ? "cool and dry" : "naked and cool, but dry">>, save the water being poured on you. You <<= $speech_attitude is "meek" ? "whimper" : $speech_attitude is "bratty" ? "groan" : "gasp">> and wipe at your face to clear your airways, much to the <<= $pirate_status gte 70 ? "cheers" : $pirate_status gte 50 ? "pleased chatter" : "amusement">> of your mates. <<else>> <<set Weather.bodyTemperature++>> You wake up dry and bundled in blankets, nestled between two large bodies. You <<= $speech_attitude is "meek" ? "whimper" : $speech_attitude is "bratty" ? "groan" : "gasp">> as a shiver runs through you, shaking off the last of your frostbite. The pirates on either side of you <<= $pirate_status gte 50 ? "rub your back and sides" : "roughly pat you on the back">> with a laugh at your recovery. <</if>> <br><br> Another pirate fetches Captain Zephyr when you awake. "Welcome back from the brink, mate. Tis good fortune we found ye. <<print either ("Nature is no kinder mistress out at sea", "Raw nor cooked makes no difference to the mer. You're asking' for trouble swimming alone like that")>>." <br><br> <<= !_fullyNaked ? "<<dry_full>>Your dry clothes are returned to you and a towel" : "A towel">> is dropped onto your head.<<if $pirate_status gte 50>> A pirate ruffles your hair dry<<ruffleHair>>.<</if>> <br><br> Once you're dry and on your feet again, Captain Zephyr commands <<nnpc_his "Zephyr">> crew. "Alright, ye dogs! Back to work!" <br><br> <<link [[Next|Pirate Cabin]]>><<endevent>><</link>> <<else>> <<ruined>> <<if $passoutReason is "hyperthermia">> You wake up naked and bound, wind whipping at you and sea mist spraying you. You've cooled down a lot, but that doesn't protect you much from the realisation that you're suspended off the ground! <<gstress>><<stress 6>> <<set Weather.bodyTemperature-->> <<else>> <<upperwear 157>> You wake up bound, bare of anything but what feels like a cocoon of sheets. The wind <<if ["rain", "snow"].includes(Weather.precipitation)>>and <<= Weather.precipitation>> whip<<else>>whips<</if>> at your face, and the sea mist sprays you. You feel a lot warmer, but that doesn't provide much relief from the realisation that you're suspended off the ground! <<gstress>><<stress 6>> <<set Weather.bodyTemperature++>> <</if>> <br><br> "Captain! The <<lass>> is awake!" you hear someone call from below you. The bindings holding you upright loosen, sending you sliding down the mast. You <<= $feetskill gte 600 ? "manage to keep upright when your feet hit the ground, before the motion of the boat sends you to the floor" : "crumple to the ground on wobbly legs">>. <<gpain>><<pain 4>> <br><br> The pirates surrounding you part as <<= $pirate_intro is 1 ? "Captain Zephyr" : "someone you presume to be the captain">> approaches. <br><br> <<link [[Next|Pirate Intro]]>><</link>> <</if>><<effects>><<outfitChecks>> <<silently>><<water>><</silently>> You sit straight up, coughing water out of your lungs as the ocean waves surge over your prone body. It looks like the tide has come in. <<if !_fullyNaked and !_swimwear>> <span class="red">Your clothes are soaked.</span> <<= hasSexStat("exhibitionism", 5) ? "You shiver with excitement, your <<lewdness>> on full display" : "You quickly cover up and look for the nearest changing room">>. <<gstress>><<stress 6>> <br><br> <<link [[Changing room|Changing Room]]>><<endevent>><</link>> <<else>> <br><br> You remain seated in the surf, letting the water rush over your legs until you feel cool enough to stand up. <r><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> <</if>><<effects>><<npc Robin>><<person1>> <<set Weather.bodyTemperature-->> You feel a pair of hands on your body, trying to shake you awake. "Wake up!" a familiar voice says. There's a splash of cold water on your face, and you blink, looking around. Your vision is fuzzy, but you can make out most of the features of the person standing in front of you. It's Robin. <br><br> You give <<him>> a smile, and manage to mumble a thank you. <<He>> sighs, shaking <<his>> head. "You could've been seriously hurt. Why didn't you just go in the water?" <<he>> asks. You don't have a good response for <<him>>. <br><br> <<He>> stands up, then runs back to <<his>> lemonade stand, where <<he>> fiddles with the pitcher of lemonade. "Here. You should drink some. It'll help you cool down." <<He>> holds out a cup of lemonade. <br><br> <<link [[Take the lemonade|Passout Beach Heatstroke Lemonade Take]]>><</link>> <br> <<link [[Ask for help|Passout Beach Heatstroke Lemonade Help]]>><</link>><<effects>><<wearProp "lemonade" 0 "default">> You grab the lemonade from Robin's hands and bring it to your lips. It tastes slightly salty, and your nose wrinkles at the unfamiliar taste. <br><br> "Sorry, I know it tastes kinda gross. But you need electrolytes," <<he>> says, sitting next to you. You down the lemonade as quickly as you can. "The ice, too," Robin adds. <br><br> You take a few small cubes into your mouth and let them sit on your tongue. It feels nice, and it takes your attention away from the rest of your body. <br><br> <<if C.npc.Robin.trauma gte 40>> <<He>> sighs. You can tell <<he>> was worried for you. You wrap an arm around <<his>> shoulder and lean your head against <<him>>. <<elseif C.npc.Robin.dom gte 50>> <<He>> sighs and leans <<his>> head against your shoulder. "You should be more careful. Next time,<<= Weather.temperature gte 20 ? "take some layers off or" : $bus isnot "seabeach" ? "go in the water or" : "">> go inside. Don't neglect yourself," <<he>> says, brushing <<his>> hand against your knee. <<else>> <<He>> sighs. "You're lucky. You should be more careful. Next time, I might not be here to help you... And we both know what this town can be like. Take care of yourself," <<he>> tells you, resting a hand on your knee. <</if>> <br><br> <<if $speech_attitude is "meek">> "I'm sorry I made you nervous. I'll be safer, I promise," you tell <<him>>. <<elseif $speech_attitude is "bratty">> "Well, I ended up okay, right? That's what really matters," you say, patting <<his>> shoulder. <<else>> "I'll be more careful. Don't worry about me," you reassure <<him>>. <</if>> <br><br> <<He>> takes the cup from your hands and smiles at you, but <<he>> still looks concerned. <br><br> <<link [[Next|Passout Beach Heatstroke Lemonade End]]>><<handheldon>><</link>><<effects>> <<if $speech_attitude is "meek">> "Can you help me?" you ask, trying and failing to move your arms. <<elseif $speech_attitude is "bratty">> "My arms aren't working right now. Lend me a hand?" you ask. <<else>> "I don't think my body wants to move," you say with a weak laugh. <</if>> <<He>> looks confused for a moment, then blushes. <br><br> <<if C.npc.Robin.trauma gte 40>> <<He>> presses the cup against your lips, <<his>> hands shaking. Slowly, <<he>> tilts the cup back, and you sip from it. It tastes salty. <<He>> keeps the cup pressed to your lips, and some of it spills on you. You drink until it's gone, and Robin finally takes the cup back. You gasp, taking a moment to catch your breath. "Oh... I didn't realise you couldn't breathe well. Sorry," <<he>> mumbles. <<elseif C.npc.Robin.dom gte 50>> <<He>> pushes the cup to your lips, and you nod to signal that you're ready. <<He>> tilts the cup back, and you choke on the drink. "Oh. I added some salt for some electrolytes. Sorry that it tastes gross," <<he>> says with a small laugh. <br><br> You laugh as well before dutifully opening your mouth for more of the weird lemonade. When you finish, <<he>> pulls it away from your mouth. <<else>> <<He>> brings the cup to your lips, holding it gently. You nod, and <<he>> begins to tilt it back, letting you slowly drink the lemonade. You sputter when it first touches your tongue. "Oh, sorry. I added salt for some electrolytes. I know it tastes gross, but I know you can drink it," <<he>> says. <br><br> You take a deep breath, preparing for more of the weird lemonade. When you finish, <<he>> pulls it away from your mouth. <</if>> <br><br> <<link [[Next|Robin Lemonade Help End]]>><</link>><<effects>> Robin stands up. "I should get back to my stand now," <<he>> says, glancing over at it. <<= $balloonStand.robin.status is "helped" ? "A customer munches on popcorn while waiting patiently for Robin to return." : "No one is there. It doesn't look like <<he>> missed any customers while taking care of you.">> "Be safe. I'll see you around, okay?" <<He>> rubs your shoulder, and you watch <<him>> head back to the lemonade stand. <<set $daily.robin.passout to 1>> <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>> <<generateRole 0 "popular" "boy/girl">> You feel a pair of arms hook under you and lift you off the sand. <<if $cool gte 240>> <<set Weather.bodyTemperature-->> Someone splashes water over your face. Some of your friends are standing over you, a concerned look on their faces. "We found you on the sand. What happened?" one of them asks. <br><br> "Hot..." you mumble, feeling ready to go back to sleep. They pull you closer to the surf, dragging you across the rough sand. The cool water laps over your feet. <br><br> "Stay in the water for a while, okay?" one of them says, patting your shoulder. You nod and allow yourself to enjoy the sensation of water on your skin. They soon leave you alone, and you occupy yourself with watching the waves. <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> <<else>> They heave you up. You feel as if you're floating, and it's almost pleasant, until they unceremoniously throw you into the water. Your eyes snap open, and you thrash about, disoriented. <<water>> <br><br> You hear laughter, and look to find a <<person1>><<person>> from school, as well as some of <<his>> friends. <<He>> smirks at you. "You should count yourself lucky that I found you. Care to pay me back for my kindness?" <<he>> asks. <<He>> makes a lewd gesture, and <<his>> friends snicker. <br><br> <<if hasSexStat("promiscuity", 4)>> <<link [[Comply|Passout Beach Heatstroke Students Sex]]>><<set $phase to 1>><<set $sexstart to 1>><</link>><<promiscuous4>> <br> <</if>> <<if !hasSexStat("promiscuity", 3) and $uncomfortable.prostituting is false>> <<link [[Reluctantly comply|Passout Beach Heatstroke Students Sex]]>><<set $desperateaction to 2>><<set $phase to 1>><<set $sexstart to 1>><</link>> <br> <</if>> <<link [[Refuse|Passout Beach Heatstroke Students Sex]]>><<set $phase to 0>><<set $molestationstart to 1>><</link>> <</if>><<location "beach">> <<if $phase is 0>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<npcoral>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Beach Heatstroke Students End]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Beach Heatstroke Students Sex]]>><</link>></span><<nexttext>> <</if>> <<elseif $phase is 1>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>><<npcoral>> <<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Beach Heatstroke Students End]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Beach Heatstroke Students Sex]]>><</link>></span><<nexttext>> <</if>> <</if>><<effects>> <<if $enemyhealth lte 0>> The <<person>> stumbles back, glaring at you. "That's how you show gratitude? What a <<bitch>>," <<he>> spits. One of <<his>> friends kicks you in the <<= playerBellyVisible() ? "shin" : "stomach">> before leaving. <<gpain>><<pain 6>> <<elseif $enemyarousal gte $enemyarousalmax>> The <<person>> leans back, letting a moan escape <<his>> lips. "Not half bad, <<girl>>. Maybe I'll rescue you more often. Thanks for the fuck," <<he>> says before leaving. <<elseif $finish is 1>> "Not even a 'thank you'? Unbelievable," the <<person>> mutters, standing up. <<He>> kicks you in the <<= playerBellyVisible() ? "shin" : "stomach">> as <<he>> leaves with <<his>> friends. <<gpain>><<pain 6>> <</if>> <br><br> <<tearful>> you collect yourself, sitting in the water until you feel comfortable enough to stand. <<clotheson>> <<endcombat>> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>> <<generate1>><<person1>> You feel someone's hands on your skin. You want to squirm, but your body doesn't move. <br><br> You feel someone's hands on your skin. You want to squirm, but your body doesn't move. "God, your skin is blistering hot!" <<he>> gasps. <<He>> hoists you from the sand and hurries you to the water. Your entire body is dunked under, then pulled up. <<silently>><<water>><</silently>> <br><br> You cough, and your eyes flutter open to see a <<person1>><<person>> in front of you. When <<he>> makes eye contact with you, <<he>> exhales in relief. <br><br> <<He>> stands up, letting you rest in the water. "It's dangerous to be outside in this. You should be careful," <<he>> says, running a hand through <<his>> hair. <<He>> stays with you for a few more minutes before sighing. "I should head back to my kids. Stay safe," <<he>> says. You wave a goodbye, and <<he>> leaves to a more crowded section of the beach. <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>> <<generate1>> <<person1>> <<outfitChecks>> <<set $outside to 0>><<set $location to "arcade">> <<hypothermiaClothes>> You awake to a hand on your forehead. Your senses are flooded with the flashing lights and loud noises of arcade games. You quickly shut your eyes again and concentrate on your breathing. <br><br> <<if _wet>> Hands tear at your clothes. Someone rubs a towel across your body before dressing you in something warm. Heavy blankets are piled on top of you. <<elseif _clothes.length gte 1>> Someone dresses you in something warm, and you feel heavy blankets being piled on top of you. <<else>> Someone piles heavy blankets on you. <</if>> <br><br> "Hey, <<girl>>, are you awake?" someone asks, nudging you until you open your eyes. A <<person>> stares down at you, nodding when you make eye contact. <<if _clothes.length gte 1>>You realise that you're wearing <<= _clothes.join(" and ")>><</if>>. <<if _wet>>Your wet clothes are folded neatly beside you.<</if>> <br><br> "You looked like you could use _warmClothes," the <<person>> says by way of explanation. <<He>> props you up against an arcade machine, and brings a cup of what smells like hot chocolate to your lips. You automatically take a sip. It reminds you of Robin.<<if $robinmissing isnot 0>><<gtrauma>><<trauma 6>><<else>><<ltrauma>><<trauma -6>><</if>> <br><br> You stay there for a while, listening as the <<person>> talks about <<his>> life. After some time, <<he>> stands up. "You should be good for now, but make sure you warm up," <<he>> says. <<He>> stands up, waves you goodbye, and walks out of the arcade. <br><br> <<link [[Next|Arcade]]>><<endevent>><</link>><<effects>><<generate1>> <<person1>> <<set $outside to 0>><<set $location to "hospital">> The last thing you hear is a <<personsimple>>'s voice. "Wait, I know that face... people call <<phim>> `<<overworld_nickname>>`, right? We should get <<phim>> to a hospital." <<He>> scoops you up and places you in the backseat of a car. The car is warm, and you drift off. <br><br> <<link [[Wake up|Hospital Bed]]>><<set $passoutReason to "hypothermia">><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> You wake up to someone ripping your clothes from you. You open your eyes and see your assailant, a <<generate1>><<person1>><<person>>. "Sharing body heat is important when you're cold," <<he>> says. "I'll warm you right up." <<He>> flashes you a smirk before rubbing against your body. <br><br> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<enable_rescue>> <<set $enemyanger to 0>> <<set $encounterDialogue to "cold">> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Beach Hypothermia Molest Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Beach Hypothermia Molest]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The <<person1>><<person>> stands up, and tosses a beach towel at you. "There, you've gotta be good and warm now. In fact, I don't think you need these anymore." <<stealclothes "strip">> <<He>> leaves, taking your clothes with <<him>>. <br><br> You shiver, but at least you're warm enough to move now. <<clotheson>> <<endcombat>> <<if $leftarm is "bound" and $rightarm is "bound">> Unable to cover yourself, you sprint to the safety of a changing room as fast as you can. <<garousal>><<gstress>><<gtrauma>><<stress 6>><<trauma 6>><<arousal 600>><<fameexhibitionism 30>> <br><br> <<link [[Changing room|Changing Room]]>><<endevent>><</link>> <<else>> <<if $exposed gte 2>> You cover your body with your hands and sprint to the safety of a changing room. <<fameexhibitionism 20>><<garousal>><<arousal 600>> <br><br> <<link [[Changing room|Changing Room]]>><<endevent>><</link>> <<else>> You sprint to the safety of a changing room as fast as you can. <<garousal>><<arousal 300>><<fameexhibitionism 10>> <br><br> <<link [[Changing room|Changing Room]]>><<endevent>><</link>> <</if>> <</if>> <<elseif $enemyhealth lte 0>> The <<person1>><<person>> lets out a cry of pain and releases you. <<stealclothes "strip">> <<He>> stands up, bunching your clothes under <<his>> arm, and kicks you as <<he>> leaves. <<gpain>><<pain 3>> <br><br> You shiver, but you're warm enough to move now. <<clotheson>> <<endcombat>> <<if $leftarm is "bound" and $rightarm is "bound">> Unable to cover yourself, you sprint to the safety of a changing room as fast as you can. <<garousal>><<gstress>><<gtrauma>><<stress 6>><<trauma 6>><<arousal 600>><<fameexhibitionism 30>> <br><br> <<link [[Changing room|Changing Room]]>><<endevent>><</link>> <<else>> <<if $exposed gte 2>> You cover your body with your hands and sprint to the safety of a changing room. <<fameexhibitionism 20>><<garousal>><<arousal 600>> <br><br> <<link [[Changing room|Changing Room]]>><<endevent>><</link>> <<else>> You sprint to the safety of a changing room as fast as you can. <<garousal>><<arousal 300>><<fameexhibitionism 10>> <br><br> <<link [[Changing room|Changing Room]]>><<endevent>><</link>> <</if>> <</if>> <<else>> The lifeguard shouts at the <<person1>><<person>>, and <<he>> quickly flees. Thankfully, <<he>> leaves your clothes on you. <<clotheson>> <<endcombat>> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> <</if>> <br><br><<effects>> <<outfitChecks>> <<set $outside to 0>> <<npc Robin>><<person1>> Someone is shaking you. You open your eyes, your vision swimming. Robin kneels over you, and <<his>> voice is panicked. "I saw you just keel over, and I thought you had been drugged or something!" <<he>> says. "But you're freezing..." <br><br> You apologise, but your words come out slurred. <<He>> looks even more worried. <<He>> glances once at <<his>> lemonade stand, then sighs."I guess it'll be fine if I leave it for a few minutes. I'd rather make sure you're okay." <br><br> <<He>> helps you to your feet, then guides you to the changing rooms. <<He>> checks that it's empty before tugging you inside. <<He>> sets you down on the bench and grabs a towel from the stacks on the high shelves. <<if _fullyNaked>> "I don't know what you were thinking, running around naked like this..." <<He>> frowns as <<he>> wraps a towel around you. <<He>> grabs a few more to cover you with. <br><br> <<link [[Next|Passout Beach Hypothermia Robin End]]>><</link>> <<elseif $upperwetstage gte 3 or $lowerwetstage gte 3 or $underlowerwetstage gte 3 or $underupperwetstage gte 3>> <<He>> rubs the towel across your damp skin. You get the sense that <<hes>> working hard to keep <<his>> movements gentle despite <<his>> panic. <br><br> <<if isLoveInterest("Robin")>> "I need to get these clothes off you... I won't look if you don't want me to, okay? But this is necessary." <<He>> quickly undresses you. <<He>> averts <<his>> eyes and holds out a towel. <br><br> <<link [[Take the towel|Passout Beach Hypothermia Robin Towel]]>><<towelup>><</link>> <br> <<link [[Ask for help|Passout Beach Hypothermia Robin Help]]>><</link>><<glust>> <<else>> <<His>> fingers rest on your _top.name. "Your clothes are wet...I'll be outside. Can you put a towel on? Call for me when you're done." <<He>> puts a towel next to you and steps outside. <br><br> <<link [[Take the towel|Passout Beach Hypothermia Robin Towel]]>><<towelup>><</link>> <</if>> <<else>> "Wrap this around yourself, it should help you warm up a bit." It's tough moving your frigid fingers, so <<he>> wraps it around your shoulders before grabbing a few more to cover you with. <br><br> <<link [[Next|Passout Beach Hypothermia Robin End]]>><</link>> <</if>><<effects>><<set $outside to 0>> You take the towel with some difficulty, your fingers still stiff and numb. You wrap it around your body and call for Robin. <br><br> <<link [[Next|Passout Beach Hypothermia Robin End]]>><</link>><<effects>><<set $outside to 0>> <<towelup>> <<if $speech_attitude is "meek">> You try to reach out and grab the towel, but you don't get very far. "Robin... could you wrap it around me?" <<elseif $speech_attitude is "bratty">> You try to grab the towel, but your arms feel heavy. You try again before giving up. "A little help here, Robin?" <<else>> You reach out to grab the towel, but your arms fail to move. "I think I'm too cold to move." <</if>> <br><br> <<He>> looks at you, staring at your nude body for a moment before returning to <<his>> senses. <<He>> carefully wraps the towel around you. <<His>> fingers on your skin send shivers down your body. <<He>> takes notice and gives you a worried look, but you assure <<him>> it's okay. <br><br> <<link [[Next|Passout Beach Hypothermia Robin End]]>><</link>><<effects>><<set $outside to 0>> <<if C.npc.Robin.trauma gte 40>> <<He>> pulls you into a hug, and you can tell <<hes>> working hard to keep <<his>> breathing steady. <<elseif C.npc.Robin.dom gte 50>> "What were you thinking?" <<he>> says, shaking <<his>> head. "What if I wasn't here?" You don't have a satisfactory answer for <<him>>. <<He>> sighs and wraps one arm around you. <<else>> "You should be more careful. This kind of stuff is serious." <<He>> wraps an arm around your shoulders, rubbing your cold skin. <</if>> <br><br> You stay like this for some time, then <<he>> stands back up. <<if C.npc.Robin.trauma gte 40>> <<His>> mouth hangs open for a moment, as if <<he>> wants to say something else. <<He>> quickly wraps <<his>> arms around you, squeezing tight. "I... I need to get back to it. Stay dry and warm. I'll see you soon, right?" <<he>> asks. You give <<him>> a smile and nod. <<else>> "I need to get back to my stand now," <<he>> says, though <<he>> sounds like <<he>>'d rather stay with you. "I'm glad you're not hurt. Stay safe, okay? Go put something warm and dry on!" <</if>> <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>><<set $location to "tower">><<setTowerTemp>><<effects>> <<npc "Great Hawk">><<person1>> <<outfitChecks>> <<if !_fullyNaked>> <<if _bottom>><<set _bottom.integrity -= 5>><</if>> <<if _top>><<set _top.integrity -=5>><</if>> <br><br> You realise you're half naked, and your clothes are being pulled off by <<your_bird_text>>. <<bHe>> uses <<bhis>> <<if $monster is 0>>beak and<</if>> talons to pull at the fabric of your clothes, attempting to undress you. <br><br> <<if $monster is 1>> "<<Wife>>'s awake! Helping <<wife>> cool down." <<else>> <<your_bird_text "cap">> seems relieved when <<bhe>> notices you're awake. <</if>> Soon, <<bhe>> succeeds in taking the last garment off of your body. <<if _top.integrity lte 0 or _bottom.integrity lte 0>> <<integritycheck>><<exposure>> You're too fatigued from the heat to even be mad at <<bhim>>. <br><br> <</if>> <br><br> <<bHe>> seems proud of <<bhimself>>, despite the damage <<bhes>> caused to your clothes. <</if>> <br><br> <<if $monster is 1>> "Come." <<your_bird_text "cap">> tilts <<bhis>> head towards the rainwater pool. "Bath helps." <<else>> <<your_bird_text "cap">> tilts <<bhis>> head towards the rainwater pool, beckoning you to join <<bhim>>. <</if>> <br><br> As you both submerge in the cool water, <<if Weather.temperature gte 20>>finding relief from the warm air<<else>>and your body temperature starts to lower<</if>>, <<bhe>> dips <<bhis>> <<= $monster is 1 ? "mouth" : "beak">> into the pool, taking in refreshing sips of water. <<if $monster is 1>> "Drink water," <<bhe>> encourages, "you will feel better." <<else>> <<bHe>> pauses, glancing at you expectantly. <</if>> You're suddenly acutely aware of your dry mouth, and you cup your hands and bring the cool liquid to your lips. The refreshing taste of water soothes your parched throat, providing much-needed hydration after the ordeal of the heatstroke. <<stress -3>><<lstress>> <br><br> The Great Hawk opens <<bhis>> <<= $monster is 1 ? "mouth" : "beak">> slightly and takes quick, shallow breaths. <<if understandsBirdBehaviour()>> Understanding <<bhis>> cue, you follow suit. <<else>> You stare at <<bhim>> blankly, confused, until <<bhe>> gives a frustrated chirp, and it clicks. "Oh!" You try panting too. <</if>> You're not sure how effective panting is to cool off, but it seems to please <<bhim>>. <br><br> <<link [[Next|Passout Bird Heatstroke Fluff]]>><<pass 5>><</link>><<effects>> Following <<your_bird_text>>'s lead, you mimic <<bhis>> panting technique, taking quick, shallow breaths to cool off. The rhythm of your panting matches <<bhis>> as you both continue to soak in the refreshing water of the rainwater pool, though you feel quite silly doing so. <<bHe>> flaps <<bhis>> wings conscientiously in an attempt to blow cool air on you. <br><br> After the refreshing bath, <<bhe>> guides you out and to the perch. <<bHe>> shakes off the excess water from <<bhis>> sleek feathers, and they poof up. <<if $harpy gte 6>>Following <<bhis>> lead, you do the same.<</if>> In one fluid motion, <<bhe>> spreads <<bhis>> wings wide, catching a gentle breeze that rustles through the moor. <br><br> <<if $monster is 1>> "Feel the breeze," <<bhe>> says softly, turning to you. "Soothing after the heat." <<else>> <<bHe>> turns to you and trills softly. <</if>> <br><br> You spread your <<= $harpy gte 6 ? "wings" : "arms">> wide, feeling the cool wind against your skin. The rustling leaves and the distant sound of flowing water create a tranquil atmosphere, allowing you to relax fully in the embrace of nature. <<ltrauma>><<trauma -3>> <br><br> <<link [[Next|Passout Bird Heatstroke End]]>><<pass 5>><</link>><<effects>> <<if $harpy gte 6>> <<your_bird_text "cap">> delicately preens your feathers with precision and care. With gentle strokes, <<bhe>> runs <<bhis>> talons over your skin, smoothing down each feather and removing any debris or tangles. <<bHis>> touch is soothing as <<bhe>> tends to your plumage. <<else>> <<your_bird_text "cap">> preens you despite your lack of feathers. With gentle strokes, <<bhe>> runs <<bhis>> talons over your skin, applying just the right amount of pressure to stimulate circulation. Though unconventional, <<bhis>> gesture is soothing, even without feathers to groom. <</if>> <br><br> <<if $monster is 1>> <<bHe>> looks you over and nods. "Glad <<wife>> is well now," <<bhe>> proclaims. "Well is good! Sun can be very hot. <<Wife>> should be careful next time. Come to nest when tired." <<else>> <<bHe>> looks you over and chirps, eyes brightening with apparent relief as <<bhe>> sees you well again. <</if>> <br><br> <<bHe>> draws you closer, <<bhis>> wings tightening around you for a moment before releasing you, giving you space to recover at your own pace. <<if $monster is 1>>"Rest well, <<wife>>. I will return with a gift." <</if>><<bHe>> spreads <<bhis>> wings, and launches from the tower. <br><br> <<set $bird.timer to random(30, 60)>> <<set $bird.state to "hunting">> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>><<set $location to "tower">><<setTowerTemp>> <<npc "Great Hawk">><<person1>> <<set _eggs to Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer))>> <<outfitChecks>> <<if _bottom>><<set _bottom.integrity -=5>><<set _damagedClothes to _bottom.name>><</if>> <<if _top>><<set _top.integrity -= 5>><<set _damagedClothes to _top.name>><</if>> <<integritycheck "no_text">><<strip>><<exposure>> <<if $harpy gte 6 and (($transformationParts.bird.wings isnot "hidden") or ($transformationParts.bird.plumage isnot "hidden"))>><<set _feathered to true>><</if>> <<set Weather.Temperature.override.increase.outside(5, "Feathers and fabric warm your body.")>> You awaken in the Great Hawk's nest, naked but warm. You stir, <<= _eggs ? "careful not to disturb the actual eggs in the nest" : "letting <<bhim>> know you're awake">>. <br><br> <<if $monster is 1>> "<<Wife>>'s awake!" <<your_bird_text>> says, sounding relieved. "Helping <<wife>> get warm. Stay close to me. Must keep warm," <<bhe>> says firmly, pressing <<bhis>> body against yours. <<bHe>> wraps <<bhis>> arms and wings around you, holding you securely. <<bHis>> body and soft feathers radiate warmth. <<else>> <<your_bird_text "cap">> seems relieved when <<bhe>> notices you, but <<bhe>> doesn't move, save for wrapping <<bhis>> wings around you. Perhaps <<bhe>> wants to keep you warm. <</if>> You allow your breathing to still, relaxing into the comfort of <<bhis>> warm body. <br><br> After a few minutes, <<bhe>> gets off of you. <<if $monster is 1>>"Wait here," <<bhe>> says.<</if>> <<if $bird.materials.fabric gte 1>> <<bHe>> quickly fetches some of the fabric you've collected so far and dumps it on your lap. <<else>> <<bHe>> quickly flies outside and returns with some fabric, dumping it on your lap. <</if>> <<if _damagedClothes>> <span class="purple">You're pretty sure the scraps of fabric are from your _damagedClothes.</span> You spot the remainder of your clothes in a pile. You're still too numb from the cold to even get mad about it. <<elseif !_fullyNaked>> You allow the Great Hawk to pull the fabric over your body. You spot a pile of your clothes, which are looking worse for the wear. Fortunately, it looks like they're still intact. <</if>> <<if $monster is 1>> <<if _feathered>> <<your_bird_text "cap">> gives you a once-over. "<<Wife>> seems to have summer plumage, too thin and fragile for cold weather. Perhaps I should provide a substitute." <br><br> <<if C.npc["Great Hawk"].dom gte 50>> <<bHe>> suddenly pulls you into <<bhis>> arms, offering you <<bhis>> warmth. "Maybe <<wife>> should stay beneath my wings until shivering has passed," <<bhe>> suggests lightly, <<bhis>> voice playful. <<else>> "May I hug <<wife>>? <<Wife>> should stay close to me until shivering has passed." <<bHe>> gently takes you into <<bhis>> arms, offering you <<bhis>> warmth. <</if>> <<else>> <<if C.npc["Great Hawk"].dom gte 50>> "<<= either("Featherless", "Landbound", "Wingless")>> little thing like you is bound to get cold. Come, let me help you keep warm," <<bhe>> remarks. <<else>> "<<Wife>> doesn't have feathers to keep <<pher>> warm, now does <<pshe>>?" <<bhe>> remarks with an amused smile. "I'll simply hug <<pher>> until <<pshes>> all warmed up." <<bHe>> gently takes you into <<bhis>> arms, offering you <<bhis>> warmth. <</if>> <</if>> <<else>> <<your_bird_text "cap">> hops towards you and gives you a once-over. <<bHe>> <<= _feathered ? "pecks at your plumage" : "pokes around you with <<bhis>> beak">> before <<= C.npc["Great Hawk"].dom gte 50 ? "suddenly" : "gently">> wrapping <<bhis>> wings around you and nuzzling close. <</if>> <br><br> <<bHe>> puffs out <<bhis>> plumage, allowing them to settle into a fluffier silhouette. <<if understandsBirdBehaviour()>>You realise that <<bhe>> must be trapping air in the feathers.<</if>><<if $monster is 1>> You smile when <<bhe>> confirms it by saying, "<<= _feathered ? "<<Wife>> should do the same. Keep air in feathers for warmth." : "Poor landbound <<wife>>, can't keep air in feathers for warmth.">>"<</if>> <<if _feathered>> You follow suit, fluffing up your plumage. <<elseif !understandsBirdBehaviour()>> <<gscience>><<scienceskill>> <</if>> <br><br> <<link [[Next|Passout Bird Hypothermia 2]]>><</link>><<effects>> <<set Weather.Temperature.override.increase.outside(5, "The nearby fire warms you up.")>> <<if $bird.upgrades.firepit gte 1>> As <<bhe>> holds you close, <<bhe>> guides you closer to the firepit. <<if !getBirdBurnTime()>> <<bHe>> looks apologetically at you, then casts <<bhis>> gaze on the unlit firepit. <<if $monster is 1>>"Don't know how to make wood burn. Sorry, <<wife>>."<</if>> You crouch down in front of the firepit and start a fire. It warms you up. <<else>> The fire's lit, and it warms you. <</if>> <<if $monster is 1>>"Still cold?" <<bhe>> asks, pulling you onto <<bhis>> lap.<</if>> <br><br> <<= $monster is 1 ? "You reply by touching <<bhis>> bare skin" : "You snuggle close to <<your_bird_text>> and touch <<bhis>> face">> with your cold hands. It gets a "squawk" out of <<bhim>>, and you <<if $speech_attitude is "meek">>giggle<<elseif $speech_attitude is "bratty">>laugh<<else>>chuckle<</if>>. <<if $monster is 1>> <<if C.npc["Great Hawk"].dom gte 50>> "<<Wife>> is a mischievous one." <<bHe>> chuckles, hugging you tighter. <<else>> "<<Wife>> sure likes to jest. I don't mind." <<bhe>> chuckles, hugging you tighter. <</if>> You card your fingers through <<bhis>> soft plumage to warm them up. <<else>> <<bHe>> stirs slightly and folds <<bhis>> wings around you. <</if>> <<else>> As <<bhe>> holds you close, <<bhe>> guides you back to the nest. You wish there was a firepit to warm you up. <</if>> <br><br> <<link [[Kiss|Passout Bird Hypothermia Thank]]>><<set $phase to 1>><</link>><<kissvirginitywarning>> <br> <<link [[Thank|Passout Bird Hypothermia Thank]]>><<set $phase to 0>><</link>><<effects>> <<set Weather.Temperature.override.increase.outside(2, "The nearby fire warms you up.")>> <<if $phase is 1>> You lean in close to <<your_bird_text>>. <<bHe>> turns <<bhis>> head towards you and nuzzles against your cheek. <<He>> <<= $monster is 1 ? "presses <<bhis>> lips to yours" : "pecks <<bhis>> beak against your lips">>. You return the <<= $monster is 1 ? "kiss, twining your arms around <<bhis>> neck" : "peck, peppering <<bhis>> face with small kisses">>. <<takeKissVirginity "Great Hawk" "loveInterest">> <<else>> <<if $speech_attitude is "meek">> "Th-thank you for saving me," you say, giving <<bhim>> a shy smile. <<elseif $speech_attitude is "bratty">> "Thanks for saving my ass, featherhead." You grin at <<bhim>>. <<else>> "Thank you," you say, smiling at <<bhim>>. <</if>> <</if>> The Great Hawk <<= $monster is 1 ? "beams" : "perks up">> at that, and <<bhe>> releases you. <<if $monster is 1>> "Glad <<wife>> is well now," <<bhe>> proclaims. "Well is good! <<Wife>> should be careful next time. Come to nest when cold." <br><br> <<bHe>> stands up, giving you space to recover at your own pace. "Rest well, <<wife>>. Will return soon with food. Food keeps belly full and warm!" <<bHe>> spreads <<bhis>> wings, and launches from the tower. <<else>> <<bHe>> looks you over and chirps, eyes bright and shiny. <<bHe>> hops away, then spreads <<bhis>> wings and launches from the tower. <</if>> <br><br> <<link [[Next (0:30)|Passout Bird Hypothermia End]]>><<pass 30>><</link>><<effects>> You rest in the nest, conserving your strength while the Great Hawk hunts. By the time <<bhe>> returns, you're feeling better, and significantly warmer. <<your_bird_text "cap">> carries a <<if $bird.hunts.lurkers is true>>lurker<<else>>strange, leathery and many-limbed creature<</if>> in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. <<if $monster is 1>> <<if playerIsPregnant() and getPregnancyObject().fetus[0].type is "hawk" and talkedAboutPregnancy("pc","Great Hawk") and !$daily.birdPregFeed>> <<set $daily.birdPregFeed to true>> <<bHe>> doesn't take a bite for <<bhimself>>, instead offering the whole thing to you. "<<print either( "For you and children.", "Children must be nourished too.", "Keep your strength up.", "They eat eggs, but now they nourish our children.", "Food for you, food for growing hawks in belly.", "Great Hawk hunts well.", "Fresh kill. Should go down easy." )>>" <<else>> <<bHe>> dumps it at your feet, then tears out a chunk of flesh. <<bHe>> hungrily rips into the meat with <<bhis>> teeth. "<<print either( "Common prey here. Their meat is soft.", "It won't bite. Promise.", "You can eat by yourself, yes? I don't need to feed you like baby bird?", "Nasty creatures, but nourishing.", "Keep your strength up.", "They're egg eaters, don't feel bad for them.", "Food for you.", "Great Hawk hunts well.", "Fresh kill. Should go down easy." )>>" <</if>> <<else>> <<bHe>> dumps it at your feet, then tears out a chunk of flesh. <<bHe>> holds <<bhis>> head back as <<bhe>> swallows the meat whole. <</if>> <<bHe>> looks at you, waiting for a response. <<if $bird.hunts.lurkers is true and $bird.upgrades.rack gte 1>> <span class="blue">Its hide is too damaged to use it for anything.</span> It looks the Great Hawk would rather you eat it to regain your strength, anyway. <</if>> <br><br> <<link [[Eat|Bird Tower Lurker]]>><<hunger -2000>><<bird_loot lurker 5>><<trauma -6>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<ltrauma>> <br> <<link [[Scold|Bird Tower Lurker Scold]]>><<bird_loot lurker -20>><<transform bird 1>><<npcincr "Great Hawk" dom -1>><<def 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>> <br> <<link [[Do nothing|Bird Tower Lurker Nothing]]>><<bird_loot lurker -10>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br><<effects>><<outfitChecks>> <<npc Whitney>><<generatey2>><<person1>> You wake up to cold water drenching your face. Whitney stands above you, holding an empty water bottle. <<set Weather.bodyTemperature-->> <<if $whitneyrescued>> You feel a strange sense of déjà vu. You meet Whitney's eyes and see the sentiment reflected in them for the briefest of seconds. It dissipates at the sound of hushed snickers from <<his>> friends. <<else>> The friends surrounding <<him>> snicker quietly. <</if>> <br><br> "Hey, slut." <<He>> smirks, crouching down. <<His>> fringe clings to <<his>> temple with sweat, and <<his>> loose tank top leaves nothing to the imagination. "You look like shit. Did the heat get to you, or did you just pass out on my turf for fun?" <br><br> <<if $whitneyromance is 1 or C.npc.Whitney.love gte 12>> <<if _top.warmth gte 7>> <<He>> pinches your _top.name. "What the hell are you wearing this for? Fucking idiot." <<He>> takes it off and tosses it in a pile of rubbish. <<if _top is $worn.over_upper>><<overupperstrip>><<else>><<upperstrip>><</if>> "Stick to the slut dress code, and maybe this wouldn't happen." <br><br> <</if>> Whitney drags you to your feet and snatches something from <<his>> friend. It's a full bottle of water. "Hey, that's mine!" the <<person2>><<personsimple>> protests. Whitney ignores <<him>>. <br><br> <<if C.npc.Whitney.dom gte 15>> <<person1>><<He>> tips the bottle against your lips, forcing you to down the whole thing in several desperate gulps. <<else>> <<wearProp "water bottle" 0 "open">> "Here," <<person1>><<he>> says, thrusting it into your hands. "Drink it. All of it." You down it all in several desperate gulps. <</if>> Some of it dribbles down your neck and chest. It's ice cold. <br><br> Whitney looks satisfied. "If I catch you overheating like that again, I'll make you drink it out of a fucking <<if $fame.bestiality gte 100>>dog bowl<<else>>toilet<</if>>. Now fuck off and stay out of this heat." <<He>> smacks your rear before sauntering off with <<his>> friends in tow. <<else>> Whitney snatches something from <<his>> friend. It's a bright <<= either ("red","blue")>> slush drink. "Hey, that's mine!" the <<person2>><<personsimple>> protests, but Whitney ignores <<him>>. <span class="red"><<person1>><<He>> upends the entire cup over you, soaking your hair.<<if $ruffledisable is "t">> Your hairgel is no match for the sticky drink.<<set $ruffledisable to "f">><<ruffleHair>><</if>></span> It seeps down your torso, <<if waterproofCheck(_top)>> and runs off the slick surface of your _top.name<<else>>and soaks through your _top.name<</if>>. <<His>> friends whistle and jeer. <<npcincr Whitney dom 2>><<gdom>><<gstress>><<stress 3>> <br><br> <<if C.npc.Whitney.lust gte 60>> "Oops," Whitney says. "Let me help you with that." <<He>> removes your <<allTops>> and drops it on the ground. You're too dazed to stop <<him>>. <<overupperstrip>><<upperstrip>> <<else>> <<wet_upper>> <</if>> Whitney stands back to appreciate the view. "Feeling better? I know I am. Consider this your toll for passing through. Later, slut." <<He>> flicks your <<= $worn.under_upper.type.includes("naked") ? "nipple" : $worn.under_upper.name>> before sauntering off with <<his>> friends in tow. <<garousal>><<glust>><<arousal 100>><<npcincr Whitney lust 2>> <br><br> You hastily <<= C.npc.Whitney.lust gte 60 ? "put your clothes back on" : "wipe off what you can of the drink">>. Maybe you should find something better to wear. <</if>> <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>> <<npc Whitney>><<person1>> A sharp jolt runs through you as you regain consciousness, engulfed by cold water. <span class="red">You can't breathe!</span> You cough violently and struggle until a hand pulls you up, out of the water. It's Whitney. <br><br> You realise you're sitting in the fountain, soaked, although the cool water makes you feel less hot. You look up at <<him>>.<<water>><<set Weather.bodyTemperature-->> <br> <<effects>> "Isn't this rain enough of a shower for you?" Whitney raises an eyebrow.<<= $whitneyromance is 1 ? '"Get up before your brain gets all soggy," <<he>> says.' : '"How long are you going to stay in there? Get out already," <<he>> says, giving you an annoyed look.'>> <<He>> grabs your arm and pulls you out of the fountain. <br><br> <<outfitChecks>> <<if _bottomless>> "How did you manage to pass out like this? Got yourself all hot and bothered, huh?" <<he>> taunts. <br><br> <<if $whitneyromance is 1>> "I think I deserve a reward for my good deed. But you're already giving me a good show, so..." <<He>> looks you up and down. "Hurry back to your kennel," <<he>> says, giving you a light push.<<npcincr Whitney lust 5>><<glust>> <<else>> <<He>> looks you up and down, taking in your state of undress. "I always knew you were an easy slut. You're asking for it, running around like that." <<He>> smacks your butt hard enough to hurt, pushing you a few steps forward.<<pain 8>><<npcincr Whitney lust 5>><<ggpain>><<glust>> <</if>> <br><br> <<He>> raises <<his>> umbrella and walks away, and you notice <<his>> clothes are also soaked from the rain. <<He>> lights a cigarette under <<his>> usual tree, ignoring you. <br><br> <<link [[Next|Park]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> "I think I deserve a reward for my good deed," <<he>> says. "Strip and give me a show." <br><br> <<link [[Strip reluctantly|Passout Park Heatstroke Whitney 2]]>><<set $phase to 1>><<stress 6>><<trauma 6>><</link>><<gstress>><<gtrauma>> <br> <<if $whitneyromance is 1 and hasSexStat("promiscuity", 3)>> <<link [[Give Whitney a show|Passout Park Heatstroke Whitney 2]]>><<set $phase to 2>><<npcincr Whitney love 1>><</link>><<promiscuous3>><<glove>> <br> <</if>> <<link [[Refuse|Passout Park Heatstroke Whitney 2]]>><<set $phase to 0>><</link>> <br> <</if>><<effects>> <<if $whitneyromance is 1>> <<if $phase is 0>> /* Refus */ You cover your soaked clothes with your hands, refusing to comply. You stare at each other for a while. <br><br> "Fine, seems like you're not going to be grateful." Whitney says. "Wet clothes suit you, idiot." <<He>> pauses for a moment. "You owe me now, slut." <<elseif $phase is 1>> /* Strip reluctantly */ You do as <<he>> said, taking off your wet clothes. <br><br> Whitney snatches them away, looking you up and down with a smug smile. "Alright, that's enough."<<npcincr Whitney lust 5>><<glust>><<clothesstrip>> <br><br> <<He>> shoves the clothes back at your chest. "Next time you act like an idiot, you're on your own," <<he>> says. <<else>> /* Give Whitney a show */ You exaggerate your movements as you undress, slowing down and showing off your body deliberately. You strip completely naked, boldly displaying yourself to Whitney.<<clothesstrip>><<promiscuity1>> <<if $speech_attitude is "meek">> "Th-thank you for helping me," you say, looking at <<him>> coyly. "I'm much better now." <br><br> "Yeah you are," Whitney murmurs, eyeing your naked body. <<elseif $speech_attitude is "bratty">> "I guess I'm still really hot," you say with a smirk. "Do you like what you see?" <br><br> "Don't ask questions you know the answer to," Whitney says, smirking as <<he>> eyes your naked body. <<else>> "Thanks for helping me," you say, giving <<him>> a suggestive smile. <br><br> "Yeah, whatever," Whitney says, eyeing your naked body. <</if>> <<npcincr Whitney lust 10>><<gglust>> <br><br> <<if C.npc.Whitney.lust gte 60 and !playerChastity()>> <<He>> slaps your bare butt, hard enough to hurt, before grabbing it. <<gpain>><<pain 2>> <br><br> "I've changed my mind, slut. Maybe I should fuck you right here. I bet that's what you want." <<He>> gives you a lewd smile and <<he>> <<= C.npc.Whitney.dom gte 16 ? "presses <<his>> body against you" : "pulls you against <<his>> body">>. <br><br> You can feel <<his>> body heat and the smell of smoke as <<he>> rubs <<his>> crotch against your <<genitals>>. Your <<breasts>> press up against Whitney's <<= $NPCList[0].breastsize is 0 ? "chest" : "$NPCList[0].breastsdesc">>, and you feel hot as you flush with arousal.<<arousal 400 "genitals">><<arousal 400 "breasts">><<garousal>> <br><br> <<link [[Go along with it|Passout Park Heatstroke Whitney 3]]>><<set $phase to 1>><</link>> <br> <<link [[Push away|Passout Park Heatstroke Whitney 3]]>><<set $phase to 0>><</link>> <<exit>> <<elseif C.npc.Whitney.lust gte 20>> <<He>> closes the distance between you and runs <<his>> tongue over your cheek and ear before pushing you away.<<arousal 600>><<garousal>> <br><br> "Go back to your kennel and cool down." Whitney grins. "I don't want to fuck a slut who's passed out from the heat, that's just boring." <<else>> <<He>> throws your clothes back at you. "Put them on, and find somewhere cooler to do whatever you want. I'm not in the mood." <</if>> <</if>> <br><br> <<He>> raises <<his>> umbrella and walks away. You then notice <<his>> clothes are also soaked. <br><br> <<He>> lights a cigarette under <<his>> usual tree, ignoring you. <<else>> <<if $phase is 0>> /* Refus */ "Good, that's what an ungrateful idiot like you deserves." <<He>> gives you a hard shove. You stumble over the edge of the fountain and fall back into the water.<<stress 6>><<gstress>> <br><br> <<He>> looks down at you. "Next time you act like a moron, you're on your own," <<he>> says. <br><br> <<He>> <<else>> /* Strip reluctantly */ You do as <<he>> said and take off your wet clothes. <br><br> Whitney snatches them away, looking you up and down with a wicked smile. "I think I'll keep these as a proper reward," <<he>> says. "Next time you act like an idiot, I'm taking more than just your clothes."<<clothesruined>> <br><br> <<He>> stuffs them under <<his>> arm, <</if>> raises <<his>> umbrella and walks away. <br><br> <<He>> lights a cigarette under <<his>> usual tree, ignoring you. You're left alone, wet and humiliated. <</if>> <br><br> <<link [[Next|Park]]>><<endevent>><<set $eventskip to 1>><<clotheson>><</link>> <br><<effects>> <<if $phase is 0>> /* Push away */ Whitney takes a few steps back. "Damn." <<He>> glares at you. "Fucking tease." <<He>> gives you a shove before walking back to <<his>> usual tree.<<npcincr Whitney love -1>><<llove>> <br><br> <<He>> lights a cigarette, ignoring you. <br><br> <<clotheson>> <<link [[Next|Park]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> /* Go along with it */ The rising heat between you two pulls you in, and you don't move away. You let Whitney's motions slowly intensify. You can tell <span class="lewd"><<hes>> not wearing any underwear.</span> <br><br> The cool breeze on your exposed skin contrasts with the heat where you touch. You find yourself gently grinding back, and Whitney notices. <<He>> tightens <<his>> grip on your arm, pressing <<his>> body firmly against yours, while <<his>> head leans against your shoulder, hiding <<his>> expression from you. <br><br> You give in to your feelings, instinctively moving your hips in sync with <<his>> movements. Sweat trickles down your skin and into your crotch. Your hardened nipples occasionally brush against each other.<<arousal 2000 "breasts">><<arousal 3000 "genitals">><<gggarousal>> <br><br> Even through the sound of the rain, you can hear the lewd, wet sounds of your bodies connecting, intensifying your arousal further. Whitney's movements become increasingly rough, <<his>> breath quickening. <<if $arousal gte $arousalmax and $orgasmdown lte 0>> The final wave of pleasure pushes you over the edge.<<orgasm>><<set _orgasm to true>> You cling tightly against Whitney as you climax, trying to stay quiet to avoid attracting attention. <</if>> <br><br> "Fuck," you hear Whitney mutter, <<his>> grip tightening on your arm. You feel <<his>> slight shudder and realise <<he>> has climaxed too<<if _orgasm>>, leaving you even stickier<</if>>.<<npcincr Whitney lust -20>><<llust>> <br><br> You both pant, waiting for the heat to subside until the rain falling on you cools things down. The grip on your arm loosens. <<He>> pushes your shoulder, pulling away. "Great, look what you did. Now I gotta go clean up. Go back to your kennel," <<he>> says, "before someone else wants a taste too." <br><br> <<clotheson>> <<whitneyexit>> <</if>><<set $outside to 0>><<set $location to "forest_shop">><<effects>><<outfitChecks>> <<npc Gwylan>><<person1>> As you slowly come to, you realise that you're in <<= $forest_shop_intro ? "the forest shop." : "a strange shop you've seen on the outskirts of the forest.">> <<if $forest_shop_intro is 1 or $gwylan_rescue gte 1>> Gwylan beams at you. "Phew! Are you alright? <<else>> A <<personsimple>> beams at you. <<He>> looks about your age, with mousy hair and a hint of freckles. "I'm older than I look," <<he>> says, as if reading your mind. "I'm Gwylan." <<He>> reaches forward, lifts your hand, and shakes it in both <<his>> own. "Pleased to meet you. I sell-" <<He>> pauses. "My grand<<father>> sells-" Another pause. "I sell knick-knacks here. Things you won't find in normal shops. Even I don't know what I have in stock!" <<He>> sounds proud. <br><br> "But enough of that," <<he>> continues. "More importantly, are you alright? <</if>> I found you fainted outside while I was picking berries. You had me worried! <<= $forest_shop_intro is 1 ? "You're my best customer," : $gwylan_rescue gte 1 ? "We're friends," : "These woods can be dangerous,">> after all." <br><br> <<He>> quickly gives you a once-over. <<if $passoutReason is "hyperthermia">> <<if Weather.BodyTemperature.getWarmth() gte 20>> "You might want to take some clothing items off," <<he>> observes, "if you want to avoid hyperthermia." <<else>> "You shouldn't exert yourself so much," <<he>> says. "Hyperthermia's serious!" <</if>> <<else>> <<if Weather.BodyTemperature.getWarmth() lt 20>> "You might want to wear some more clothes," <<he>> observes, "if you want to avoid hypothermia." <<else>> "You shouldn't spend so much time out in the cold," <<he>> says. "Hypothermia's serious!" <</if>> <</if>> <<if $upperwetstage gte 3 or $lowerwetstage gte 3 or $underupperwetstage gte 3 or $underlowerwetstage gte 3>> <<He>> suddenly seems to realise that your clothes are wet. <<He>> insists on drying them by the fire. Thankfully, they dry quickly. <<dry_full>> <<elseif _shirtless or _bottomExposed>> <<He>> suddenly seems to realise the implications of your state of dress. "Oh, clothes! You need clothes." <<He>> quickly rummages through an antique wardrobe nearby and hands you <<if $gender_appearance is "f">> a sundress. <<upperwear 5 "white">> <<elseif _shirtless>> <<upperwear 4 "tangerine">> an orange shirt<<if _bottomExposed>> and blue shorts<<lowerwear 5 "blue">><</if>>. <<else>> a pair of blue shorts.<<lowerwear 5 "blue">> <</if>> It feels strangely nostalgic. You change into the provided clothes. <<if $passoutReason is "hypothermia">> "Sorry I don't have anything warmer," <<he>> says apologetically. There's a pause as you glance around the shop. "That I can give for free," <<he>> clarifies with a smile. <</if>> <</if>> <br><br> <<if $passoutReason is "hyperthermia">> <<set Weather.Temperature.override.increase.inside(-5, "The fan keeps you cool.")>> Fetching a wooden chair, Gwylan guides you to sit down next to a running fan. "Rest here for a bit. I'll make you some tea. Cold tea, of course," <<he>> declares. <<He>> hesitates, then adds, "Unless you want hot tea instead." The thought of drinking something warm right now makes you queasy, so you agree to the iced beverage. <<else>> <<set Weather.Temperature.override.increase.inside(5, "The thick blanket keeps you warm.")>> Fetching a big cushion, <<he>> guides you to sit down before the fireplace. <<He>> drapes a thick blanket over your shoulders. <</if>> <br><br> Once you're settled, <<he>> disappears into the back of the shop. You can still faintly hear some loud clinking sounds coming from that direction, which you assume is <<his>> way of brewing the tea. Perhaps <<hes>> simply a tad clumsy? <br><br> <<link [[Next|Passout Gwylan Hot Cold Tea]]>><</link>><<set $outside to 0>><<set $location to "forest_shop">><<effects>> <<if $passoutReason is "hyperthermia">> <<set Weather.Temperature.override.increase.inside(-5, "The fan keeps you cool.")>> <<else>> <<set Weather.Temperature.override.increase.inside(5, "The thick blanket keeps you warm.")>> <</if>> <<He>> returns, balancing a tray laden with a variety of ingredients: several herbs, a basket of freshly washed berries and lemons, and a honey jar. Alongside them rest a knife, a ladle, a patterned tea set, and some biscuits. <<He>> carries a glass pot of hot water<<if $passoutReason is "hyperthermia">> and a container of ice cubes as well<</if>>, ready to prepare the tea. <br><br> "I realised I didn't ask what kind of tea you wanted<<if $gwylanTea gte 1>> again<</if>>." <<He>> sets the tray down in front of you with an apologetic smile. "Sorry about that. Do you want berry herbal tea or lemon honey tea? <<if $passoutReason is "hyperthermia">>With or without ice?<</if>> Honey or no honey?<<if $gwylanTea gte 2>> Or Perhaps butterfly pea flower tea?<</if>>" <<He>> tilts <<his>> head to the side with each question asked. <br><br> <<link [[Berry herbal tea|Passout Gwylan Hot Cold Order]]>><<set $phase to 0>><</link>> <br> <<link [[Lemon honey tea|Passout Gwylan Hot Cold Order]]>><<set $phase to 1>><</link>> <br> <<if $gwylanTea gte 1>><<link [[Butterfly pea flower tea|Passout Gwylan Hot Cold Order]]>><<set $phase to 2>><<set $gwylanTea++>><</link>><</if>><<set $outside to 0>><<set $location to "forest_shop">><<effects>> <<set $gwylanTea to $gwylanTea || 0>> <<if $passoutReason is "hyperthermia">> <<set Weather.Temperature.override.increase.inside(-5, "The fan keeps you cool.")>> <<else>> <<set Weather.Temperature.override.increase.inside(5, "The thick blanket keeps you warm.")>> <</if>> Humming cheerfully, <<he>> begins preparing the tea to your specifications. <<switch $phase>> <<case 2>><<He>> steeps the delicate butterfly pea flowers in the hot water, turning it a rich shade of blue. <<case 1>><<He>> slices the lemons, squeezing their juice into the pitcher before adding the honey. <<default>><<He>> chops the herbs and adds them to the pot of hot water. <<He>> allows them to steep before adding a handful of fresh berries. <</switch>> <<if $passoutReason is "hyperthermia">><<He>> finishes by chilling the drink.<</if>> "Here you go!" <<he>> exclaims with a smile, presenting you with your teacup and saucer. <br><br> <<if $phase is 2>> <<He>> pours <<himself>> a cup of butterfly pea flower tea as well .<<else>> <<He>> pours <<himself>> a cup of bright blue tea. <</if>> <br><br> <<link [[Take a sip|Passout Gwylan Hot Cold Sip]]>><</link>><<set $outside to 0>><<set $location to "forest_shop">><<effects>> <<if $passoutReason is "hyperthermia">> <<set Weather.Temperature.override.increase.inside(-5, "The fan keeps you cool.")>> <<else>> <<set Weather.Temperature.override.increase.inside(5, "The thick blanket keeps you warm.")>> <</if>> You take a sip. <<if $gwylanTea is 0>> It's delicious. You ask about the flavour of <<his>> tea. "Oh, this? It's rather insipid. Honestly, it tastes like grass." <<He>> chuckles, sipping some more. "Unless I add other things to enhance it, like lemon or berries. It's called butterfly pea flower tea." <<He>> cocks <<his>> head at you. "You should try some next time!" <<set $gwylanTea to 1>> <<elseif $phase isnot 2>> It's delicious. <<elseif $gwylanTea is 2>> It's different than any other kind of tea you've had before. Gwylan asks what you think of it. <<if $speech_attitude is "meek">> "It's a bit earthy," you mumble, timidly adding some berries to try to improve the flavour. <<elseif $speech_attitude is "bratty">> "It's like drinking lawn clippings," you say bluntly. You toss in a handful of berries, hoping to salvage the flavour. <<else>> "It tastes like grass," you remark with a shrug, adding some berries to balance the taste out. <</if>> <br><br> "I'm aware it's an acquired taste," Gwylan acknowledges with a nod, sipping <<his>> tea. "I've just had enough time to get used to it, that's all. The berries should help." <br><br> You give <<him>> a quizzical look, and <<he>> responds with an inscrutable smile. You shrug and take another sip. <<Hes>> right; the berries help. <<elseif $gwylanTea is 3>> <<if $speech_attitude is "meek">> You take a tentative sip, trying to hide your distaste behind a forced smile. You quickly add some berries, hoping it will improve the taste. "Um, maybe this will help," you mumble softly, not wanting to offend. <<elseif $speech_attitude is "bratty">> "Just as bland as ever," you mutter, tossing in a handful of berries with an exaggerated sigh. <<else>> You nod knowingly as you take a sip. "Yep, just like I remembered," you say with a wry smile, adding some berries to temper the grassy flavour. <</if>> <br><br> "I told you, didn't I? It's an acquired taste!" A chuckle escapes <<his>> lips. "The berries should help." <<Hes>> right; it tastes better this time around. <br><br> "How did you learn how to make this in the first place?" you ask. <br><br> Gwylan shrugs. "Oh, it was a long time ago. My grand<<father>> taught me how to grow and dry herbs for tea when I was young." <<elseif $gwylanTea gte 4>> <<if $speech_attitude is "meek">> Even though you're well aware of its earthy flavour, you opt for the butterfly pea flower tea once again. "I-it's not exactly my favourite," you mumble. You add more berries, hoping to offset its distinct taste. <<elseif $speech_attitude is "bratty">> Despite knowing its taste well, you opt for the butterfly pea flower tea again, giving a dramatic roll of the eyes. "Ugh, I don't know how you can drink this stuff," you groan, begrudgingly adding some berries to temper the flavour. <<else>> Despite knowing its taste well, you opt for the butterfly pea flower tea again. "Yeah, it's still earthy," you say with a wry smile, adding some berries to temper the flavour. <</if>> <</if>> You both enjoy the refreshing tea and biscuits. It's a peaceful moment, one that you find yourself pleasantly lost in. <<lstress>><<ltrauma>><<trauma -6>><<stress -6>> <br><br> "How are you feeling? Better?" <<he>> asks. <br><br> <<if $speech_attitude is "meek">> Your nod is accompanied by a shy smile. You take another sip, hiding your embarrassment behind the teacup. "Yes... Th-thank you, Gwylan." <<elseif $speech_attitude is "bratty">> "Could be better. Thanks, I guess." You're somewhat mortified at needing to be rescued, and you feign nonchalance by taking another sip of tea. <<else>> "Yes, a bit. Thank you, Gwylan." You take another sip, hiding your embarrassment behind the teacup. <</if>> <br><br> "Aw, it's no big deal!" <<He>> waves <<his>> hand dismissively. "Of course I'd help you, and I'd do it again." <br><br> <<link [[Next|Passout Gwylan Hot Cold End]]>><</link>><<set $outside to 0>><<set $location to "forest_shop">><<effects>> You finish your tea, and Gwylan looks out the window. "Hopefully you'll fare a little better out there now. You know, <<= $passoutReason>> can be fatal, so don't die on me, alright?" <br><br> You nod and wave goodbye to Gwylan before leaving the shop. <br><br> <<link [[Next|Forest]]>><<set $forest to 0>><<unset $passoutReason>><<endevent>><<set $eventskip to 1>><</link>><<set $outside to 1>><<set $location to "forest">><<effects>> <<beastNEWinit 1 wolf>> Fur tickles your cheek as something warm and heavy settles on your chest. <<if $passoutReason is "hyperthermia">> It only takes a few moments for the heat to become unbearable, and you whimper for relief. You open your eyes. <<else>> <<set Weather.Temperature.override.increase.inside(5, "Thick fur warms your frozen body.")>> Your body tingles, every nerve ending on fire as the warmth starts to return to your frozen extremities. You open your eyes. <</if>> <br><br> A <<beasttype>> looks down at you, <<bhis>> eyes <<= Time.dayState is "night" ? "glowing bright in the dark" : "sharp and alert">>. <<if $syndromewolves is 1 and $caveHumanPregnancyDiscovered is 1>> <<if $wolfpackharmony gte 12>> <<if $monster is 1>> <<if $passoutReason is "hyperthermia">> "No fur coat, yet <<ppackbrother>> still hot? Can't return with human cub, but stream will cool you off." <<else>> "<<pPackbrother>> needs fur coat. Woods cold and dark. Should come home, but can't return with human cub..." <<bHe>> gives your belly a reproachful look. "Will stay until warmer, though." <</if>> <<else>> <<bHe>> looks at your belly and whimpers. You can't go back to the cave while carrying a human cub, but still, <<bhe>> seems sympathetic to your plight. <</if>> <<if $passoutReason is "hyperthermia">> The <<beasttype>> climbs off you and you nudges you towards the nearby river. <<bHe>> circles you with worry, padding alongside you until you finally stumble into the running water. It's cool and refreshing. <<silently>><<water>><</silently>> <<bHe>> splashes in the water beside you until <<bhes>> sure you won't pass out again, then shakes <<bhimself>> dry. <<else>> <<bHe>> stays snuggled against you, sharing <<bhis>> body heat until you can finally move again. <<bHe>> climbs off you, giving your face a parting lick. <</if>> <<= $monster is 1 ? "\"Stay safe, <<ppackbrother>>. We miss you,\" <<bhe>> says, giving your belly one last look" : "<<bHe>> sniffs you one last time">> before bounding off into the woods once more. <<else>> <<bHe>> looks at your belly and growls. <<if $monster is 1>> "Still with human cub? <<= $passoutReason is "hyperthermia" ? "Cool off in stream first" : "Will help warm up">>, then <<ppackbrother>> must leave." <<else>> You can't go back to the cave while carrying a human cub, but despite <<bhis>> clear displeasure, <<bhe>> seems sympathetic to your plight. <</if>> <<if $passoutReason is "hyperthermia">> The <<beasttype>> climbs off you and you roughly nudges you towards the nearby river, until you finally stumble into the running water. It's cool and refreshing. <<silently>><<water>><</silently>> <<else>> The <<beasttype>> bears <<bhis>> weight down on you to the point of discomfort, but <<bhe>> succeeds in warming you up. When you can finally move again, <<bhe>> climbs off you and turns tail. <</if>> <<bHe>> bounds off into the woods without looking back. <</if>> <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>> <<elseif $syndromewolves is 1 and $wolfpacktrust gte 24 and ($monster is 1 or $bestialitydisable is "f")>> <<if $monster is 1>> <<if $passoutReason is "hyperthermia">> "No fur coat, yet <<ppackbrother>> still hot? Come home, stream will cool you off." <<else>> "<<pPackbrother>> needs fur coat. Woods cold and dark. Come home, where cave is warm." <<bHe>> stays snuggled against you, sharing <<bhis>> body heat until you can finally move again. <</if>> <<else>> <<bHe>> licks your face and whimpers with concern. <<if $passoutReason is "hyperthermia">> <<bHe>> bathes you with <<bhis>> tongue, diligently cleaning the sweat off your face. <<else>> <<bHe>> wiggles in close, enveloping you with soft fur as <<bhe>> shares <<bhis>> body heat with you. <</if>> <</if>> <br><br> <<bHe>> climbs off you and nudges you upright. Your <<= $passoutReason is "hyperthermia" ? "overheated" : "frozen">> body is weak with fatigue, and your <<= $passoutReason is "hyperthermia" ? "stomach churns with nausea" : "stiff joints ache">> as the <<beasttype>> circles you with worry. Slowly, but surely, <<bhe>> leads you through the woods to the safety of the wolf cave. <<if $passoutReason is "hyperthermia">> <<bHe>> urges you into the stream, where the water is cool and refreshing. <<bHe>> joins you in the water, splashing beside you, until you're done rinsing yourself. You collapse onto the bank. <<bHe>> shakes <<bhimself>> dry and lays down next to you. <<silently>><<wash>><<water>><</silently>> <<else>> <<bHe>> urges you into the warmth of the cave. <<bHe>> fusses over you until you sit down, and <<bhe>> shifts a pile of thatch over you in a makeshift blanket. <<bHe>> lays down next to you. <</if>> <br><br> You murmur your thanks to the <<beasttype>>, and <<bhis>> tail wags at your acknowledgement. <<if $monster is 1>>"Wolf cave always open for <<ppackbrother>>," <<bhe>> replies. "Next time, come here."<</if>> <br><br> <<if $passoutReason is "hyperthermia">> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><<set $eventskip to 1>><<set $wolfevent to 0>><</link>> <<else>> <<link [[Next|Wolf Cave]]>><<endevent>><<set $eventskip to 1>><<set $wolfevent to 0>><</link>> <</if>> <<elseif $syndromewolves is 1 and ($monster is 1 or $bestialitydisable is "f")>> <<if $monster is 1>> "Runaway, no good," <<bhe>> says. "Should have stayed in cave. <<= $passoutReason is "hyperthermia" ? "Stream is cool there, helps with heat" : "Squishy human could use fur for warmth">>." <<bHe>> begins to drag you through the woods. <<else>> <<bHe>> growls with displeasure at you, grabs you by the scruff of the neck like you're an errant puppy, and begins to drag you through the woods. <</if>> <br><br> Weak from the <<= $passoutReason is "hyperthermia" ? "heat" : "cold">>, you're helpless to resist as the <<beasttype>> carries you through the forest, all the way back to the cave. <<bHe>> dumps you at the back and gives a warning growl before turning away. <<if $monster is 1>> "Stay. You belong to pack." <</if>> <br><br> <<link [[Next|Wolf Cave]]>><<endevent>><</link>> <<elseif $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> "Prey is helpless," <<bhe>> says. "Alpha will be pleased." <<bHe>> begins to drag you through the woods. <<else>> <<bHe>> growls lowly, grabs you by the scruff of the neck like you're an errant puppy, and begins to drag you through the woods. <</if>> <br><br> <<link [[Next|Forest Wolf Cave Intro]]>><</link>> <<else>> <<bHe>> climbs off you and tries to grab you by the scruff of the neck. Despite your state, you manage to twist out of <<bhis>> reach at the last second. You run away from <<bhim>> as fast as you can. <<if $passoutReason is "hyperthermia">> You splash through a stream in your haste, which cools you off, at least. <<silently>><<water>><</silently>> <<else>> The physical exertion warms you slightly, at least.<<athletics 1>> <</if>> <<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>><<generate1>><<generate2>><<person1>> You come to when you feel someone patting your cheek to rouse you. "Hey, wake up, <<girl>>," a <<person1>><<person>> says. You can only groan weakly, eyes fluttering but unable to remain open. <br><br> "<<pShe>> looks flushed," a <<person2>><<person>> says. "Think the heat got to <<phim>>?" <br><br> <<if Weather.BodyTemperature.getWarmth() gte 25>> "Maybe. Look how much <<pshes>> wearing." <<else>> "Maybe, yeah." <</if>> The <<person1>><<person>> takes out an informational pamphlet meant for tourists and begins fanning you with it. "Should I give <<phim>> mouth to mouth?" <br><br> "You don't give mouth to mouth for heatstroke, idiot." <br><br> "So? <<pShes>> cute as fuck. Besides, when in Rome..." <<He>> leans down to kiss you. <br><br> <<link [[Stop <<him>>|Passout Heatstroke Kiss End]]>><<set $phase to 0>><</link>> <br> <<link [[Let it happen|Passout Heatstroke Kiss End]]>><<set $phase to 1>><<trauma 6>><<stress 6>><</link>><<kissvirginitywarning>><<gtrauma>><<gstress>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Make out|Passout Heatstroke Kiss End]]>><<set $phase to 2>><</link>><<promiscuous2>><<kissvirginitywarning>> <</if>><<effects>> <<set Weather.Temperature.override.increase.inside(-3, "The impromptu fan brings some relief.")>> <<if $phase is 0>> <<if $speech_attitude is "meek">> You find the strength to scramble out from underneath the <<person>>. "H-hey, wait, I-I'm awake!" The <<personsimple>> seems defeated, but backs off. <<elseif $speech_attitude is "bratty">> You find the strength to slap the <<person>> and scramble out from under <<him>>. "Get off of me, pervert!" The <<personsimple>> rubs <<his>> cheek, scowling. <<else>> "Whoa, hang on," you say, finding the strength to scramble out from under the <<person>>. "I'm not okay with that." The <<personsimple>> seems defeated, but backs off. <</if>> <br><br> "<<= $NPCList[0].pronoun is "m" ? "Man" : "Girl">>, even in this town, you just can't catch a break, huh?" the <<person2>><<person>> laughs to <<his>> friend. <br><br> "<<= $NPCList[1].pronoun is "m" ? "Dude" : "Girl">>, shut up." <<person1>><<He>> gives you a scornful look before standing up. "Come on, let's go." They walk off together, leaving you be. <<elseif $phase is 1>> You lie still, and the <<person1>><<person>> presses <<his>> lips to yours. <<= either("<<His>> tongue tries to worm its way unpleasantly into your mouth.", "They're chapped and rough, the sensation not unlike kissing sandpaper.")>><<takeKissVirginity $NPCList[0] rape>> <br><br> <<He>> pulls away after a few moments. "Wow, the <<girls>> in this town are amazing. That was the best kiss I've ever had." <br><br> "<<pShes>> barely conscious, mate." <br><br> "I said what I said." <<He>> hesitates, but rejoins <<his>> friend. "Come on, let's go before <<pshe>> wakes up all the way." They walk off together, leaving you mostly unscathed. <<else>> You wait until you feel <<his>> weight over you to throw your arms around <<his>> neck, drawing <<him>> into a deep kiss. Your enthusiasm startles the <<person>>, but <<he>> responds in kind. You moan softly and allow your hands to roam along <<his>> body.<<takeKissVirginity $NPCList[0] "consensual">> <br><br> "Woo, get it, mate!" the <<person2>><<person>> hoots. <br><br> <<person1>><<He>> pulls away after a few moments, breathless and bewildered. "Holy shit," <<he>> says. <br><br> <<if $speech_attitude is "meek">> "Th-thank you for finding me," you say with a coy twirl of your hair. "I feel much better." <<elseif $speech_attitude is "bratty">> "Yeah? Not bad yourself, lover<<= $NPCList[0].pronoun is "m" ? "boy" : "girl">>," you tease. "I'm feeling much better now." <<else>> "That was nice," you say sweetly. "I feel a lot better. Thank you." <</if>> <br><br> Now overcome with nerves, the <<person>> stumbles over <<his>> words. "O-of course! Yeah, uh, n-no problem." <<He>> scrambles over to <<his>> friend. "Did you see that? They weren't kidding about this town," <<he>> whispers as <<he>> drags <<his>> friend off, leaving you be. <</if>> <br><br> Soaked in sweat and still somewhat weak, you climb to your feet. Maybe you should try finding a way to cool down. <br><br> <<link [[Next|$safePassage]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>><<npc Robin>><<person1>><<wearProp "thermos" 0 "hot">> You wake up to the smell of hot chocolate. Robin kneels next to you, looking worried. "Are you okay?" <<He>> takes a look at what you're wearing<<if $exposed gte 1>>, or rather what you're not wearing<</if>>. <br><br> <<if C.npc.Robin.dom gte 50>> <<upperundress "Robin_upper">> <<upperwear 71>> "What in the world are you wearing? In this weather?" <<he>> tuts. <<He>> drapes <<his>> puffer jacket over your shoulders and then places a warm thermos in your hands. "Here, drink this. It'll help you warm up." <<set Weather.Temperature.override.increase.outside(-5, "Robin's puffer jacket making you warm.")>> <<else>> "Erm... A-aren't you cold, dressed like that?" <<he>> asks anxiously. <<He>> helps you sit up and places a warm thermos in your hands. "Here, this should help." <<set Weather.Temperature.override.increase.outside(-3, "Robin's hot chocolate warming you up.")>> <</if>> <br><br> The hot chocolate is warm and sweet as it goes down, and the radiant heat of the thermos eases the stiffness in your fingers. <br><br> "Th-thanks," you say, teeth chattering. Robin helps you stand to your feet <<if $exposed gte 1>>while trying to avoid looking directly at your <<lewdness>>,<</if>> but stops you when you start to walk away. <br><br> <<if C.npc.Robin.dom gte 50>> "Hey, no way," <<he>> says firmly. "I'm taking you home to change into something else." <<else>> "H-hey, erm... M-maybe you should go home and change. I can come with you?" <</if>> <br><br> <<link [[Accept|Passout Robin Hypothermia Park 2]]>><<handheldon>><<set $phase to 0>><</link>> <br> <<link [[Decline|Passout Robin Hypothermia Park 2]]>><<handheldon>><<set $phase to 1>><</link>><<effects>> <<if $phase is 0>> Robin places an away sign at <<his>> stand and walks you to the Orphanage. <<if C.npc.Robin.trauma gte 50>> <<He>> doesn't say much along the way. <<elseif C.npc.Robin.dom gte 50 and $robinromance is 1>> <<He>> holds your hand the whole way. <<else>> <<He>> doesn't seem to mind taking a break to help you. <</if>> <<He>> escorts you to your bedroom, pausing at the door. "I have to get back. Please be careful." <<storeon "Robin_upper">> <br><br> "I will," you assure <<him>>. "Thanks for walking me home." <br><br> <<if $robinromance is 1>> <<if C.npc.Robin.dom gte 50>> <<He>> places a firm smooch on your cheek. <<else>> <<He>> hesitates, but plants a small kiss on your cheek. <</if>> <</if>> You give <<him>> a placating smile and see <<him>> off. <br><br> <<link [[Next|Bedroom]]>><<endevent>><<set $daily.robin.passout to 1>><</link>> <<else>> <<if C.npc.Robin.dom gte 50>> "...Okay." <<He>> nods after a terse huff. "As long as you know what you're doing..." <br><br> You give <<his>> jacket back. <<storeon "Robin_upper">> <<if $worn.hands.name is "naked">> <<He>> removes <<his>> fingerless gloves and gives them to you. "I don't need them back, just... be safe, you know?" <<handswear 1 "purple">> <</if>> <<else>> "I... O-okay, if you know what you're doing..." <<He>> looks to <<his>> feet. "Just... promise me you'll be careful." <</if>> <br><br> "I'll be fine," you say. <br><br> <<if $robinromance is 1>> <<if C.npc.Robin.dom gte 50>> <<He>> places a firm smooch on your cheek. "You know where to find me if you need anything." <<else>> <<He>> hesitates, but plants a small kiss on your cheek. "Okay. If you say so..." <</if>> <</if>> <br><br> You give <<him>> a reassuring smile and carry on as you are. <br><br> <<link [[Next|Park]]>><<endevent>><<set $daily.robin.passout to 1>><</link>> <</if>><<set $outside to 0>><<set $location to "lake">><<effects>> <<npc Winter>><<person1>> <<outfitChecks>> <<returnCarried>> You wake up to the sound of pen scribbling on paper. You look around and see green tent walls surrounding a spacious interior. You realise you are in the archaeological office by the lake. <br><br> <<if $passoutReason is "hyperthermia">> <<set Weather.Temperature.override.increase.inside(-5, "The ice bag cools you down.")>> You find yourself wrapped solely in a towel. You sit up, and an ice bag slides down from your neck. <br><br> "Good to see you up." You turn around to find Winter mixing a spoonful of salt into a cup of water. "<<if !_fullyNaked>>I apologise, but I had to remove your clothes. <</if>>It seems like you were overheated." <<He>> hands you the cup and sits down next to you. <br><br> <<if $exposed gte 1>> <<if Time.season is "summer">> "The weather is severe around this time," <<he>> says. "You should be more cautious." <<elseif Time.season is "spring">> "The weather's getting warmer," <<he>> says. "Perhaps a bit too warm." <<elseif Time.season is "autumn">> "The weather's getting colder," <<he>> says. "But it seems like the remainder of summer is still there." <<else>> "I'm astonished you managed to pass out of heatstroke at this time of year." <<He>> examines you closely. "Especially in that state of dress." <</if>> <<else>> <<if Time.season is "summer" and _top.warmth gte 7>> <<He>> sighs. "Why would you dress like that during this time of the year?" <<He>> gives you a stern look. "I expected better from you." <<npcincr Winter love -1>><<llove>> <<elseif Time.season is "spring">> "The weather's getting warmer," <<he>> says. "You should be wiser in your choice of clothes." <<elseif Time.season is "autumn">> "The weather gets colder at this time of year," <<he>> says. "But you still need to watch how you dress." <<elseif Weather.isFreezing>> "Glacial temperatures, indeed." <<He>> looks outside the tent, then glances back at you. "But don't suffocate yourself." <</if>> <</if>> <<if !_fullyNaked>> <<strip>><<towelup>> Winter hands you a pile of neatly-folded clothing. "Here are your belongings." <br><br> <<link [[Get dressed|Passout Lake Office Dress]]>><</link>> <br> <<link [[Insist on wearing the towel|Passout Lake Office Dress End]]>><<set $phase to "towel">><<returnCarried>><</link>> <<else>> <<towelup>> Winter spends a few moments to ensure you're okay before sending you on your way. <br><br> <<link [[Next|Lake Office]]>><<endevent>><<pass 10>><</link>> <</if>> <<else>> <<set Weather.Temperature.override.increase.inside(5, "The comforter warms you up.")>> You try to sit up, and a heavy comforter slides down from your body. <br><br> "Good to see you up." You turn to find Winter holding a tray with two cups of hot tea on top of it. "I found you lying on the bank. Have some tea, you need it." <br><br> You reach for a cup, but your fingers are numb and trembling, and you struggle to wrap them around the handle. Winter notices. <<He>> sighs and sets the tray on the table, then takes a cup in <<his>> hand and sits beside you. <<He>> holds your hand and presses it to the cup, warming it up. <<wearProp "tea">> <br><br> <<if $exposed gte 1>> <<if Time.season is "summer">> "I don't blame you for dressing like that during this time of the year," <<he>> says. "But perhaps you should be more careful." <<elseif Time.season is "spring">> "The weather's getting warmer," <<he>> says. "But that's no excuse to dress inappropriately." <<elseif Time.season is "autumn">> "The weather's getting colder," <<he>> says. "You should be wiser in your choice of clothes." <<else>> <<He>> squints upon seeing your state of dress. "Dressing like that in this weather?" <<He>> rubs <<his>> temples. "I expected better from you." <<npcincr Winter love -1>><<llove>> <</if>> <br><br> <<He>> fetches a jacket from the back of the tent. "Here, take this," <<he>> says, wrapping it around your shoulders. "I have a few spares." <<upperwear 49 "grey" "blue steel">> <br><br> <<He>> stays by your side and spends a few minutes lecturing you. <<elseif _top.warmth gte 7>> <<if Time.season is "summer">> "Magnificent," <<he>> muses. "It's a wonder how you managed to get hypothermia at this time of year." <<He>> pauses, then adds, "And with your state of dress, too." <<elseif Time.season is "spring">> "The weather's getting warmer," <<he>> says. "But you shouldn't underestimate its impact." <<elseif Time.season is "autumn">> "The weather's getting colder," <<he>> says. "I can see you are well prepared. But perhaps you should be more careful." <<else>> "You are prudent in your choice of clothes," <<he>> says. "Still, when the weather's exceptionally frigid, I'd suggest staying indoors." <</if>> <br><br> <<He>> insists on keeping you around until you finish your tea, lecturing you the whole while. <</if>> You endure Winter's mild scolding and promise to take better care of yourself. <br><br> <<link [[Next|Lake Office]]>><<unset $passoutReason>><<endevent>><<pass 10>><</link>> <</if>><<effects>> It occurs to you that it might be best to put on fewer clothes for right now. Anything else can be sent to your wardrobe. <br> <<getDressedList>> <<link [[Finish dressing|Passout Lake Office Dress End]]>><</link>><<effects>> <<if $phase is "towel">> Winter frowns, but doesn't argue. "Very well then." <<He>> pauses, then concedes, "I suppose it will keep you cool." <<else>> Winter keeps <<his>> back to you, respecting your privacy as you get dressed. <</if>> <<He>> spends a few moments to ensure you're okay before sending you on your way. <br><br> <<link [[Next|Lake Office]]>><<unset $passoutReason>><<endevent>><<pass 10>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>> <<npc Mason>><<person1>><<outfitChecks>> <<if $phase is "underwater">> You feel someone's arms wrap around you, dragging you to the surface. <</if>> <<if !Weather.isFreezing and Time.season isnot "winter">> <<set Weather.Temperature.override.increase.outside(-5, "The cool water causes the heat from your body to dissipate quickly.")>> You wake up in a pair of toned arms. Half of your body is immersed in the cool lake water. <br><br> "You're awake!" the person holding you cheers. <span class="green">It's Mason.</span> <<He>> sounds relieved. "You didn't wake up for quite a while, so I called an ambulance, just in case," <<he>> says. "They'll arrive soon." <br><br> <<He>> examines your state of dress. <<if _fullyNaked>> <<His>> cheeks are bright red, and <<he>> quickly looks away. "I'm not sure how you managed to get heatstroke, but you should be more careful. Too much physical exertion can cause you to overheat." <<elseif _swimwear>> "It's always nice to go swimming every now and then," <<he>> says. "But you shouldn't go overboard with it. Too much physical exertion can cause heatstroke, after all." <<else>> "Sorry for soaking your clothes," <<he>> says awkwardly. "I figured the water would be the best way to help cool you down." <</if>> <br><br> <<He>> helps you stand, and escorts you to the shore. <<if !_fullyNaked and !_swimwear>><<He>> does <<his>> best to help you dry your clothes.<</if>><<dry>> <<else>> <<set Weather.Temperature.override.increase.outside(-5, "The chilly air caresses your skin.")>> You wake up beneath the shade of a tall tree near the lake. <br><br> "You're awake!" a voice exclaims. You turn and see Mason sitting beside you. "You didn't wake up for quite a while, so I called an ambulance, just in case," <<he>> says. "They'll arrive soon." <<if $exposed gte 1>> <<He>> examines you with concern. "Why would you dress so poorly at this time of year?" <<He>> rubs <<his>> head, looking confused. "And how did you manage to get heatstroke? You need to be more careful. Too much physical exertion can cause you to pass out." <<else>> <<He>> gives you a concerned glance. "It gets cold out this time of year, but you need to take care with how you dress." <</if>> <</if>> <br><br> Mason stays with you until the ambulance arrives, and the two of you chat idly. <br><br> <<link [[Next|Passout Mason Ambulance]]>><<set $passoutReason to "hyperthermia">><</link>><<set $outside to 1>><<set $location to "lake">><<effects>> <<npc Mason>><<person1>> <<set Weather.Temperature.override.increase.outside(5, "The towel and Mason's body heat warm you up.")>> <<if $phase is "underwater">> You feel someone's arms wrap around you, dragging you to the surface. <</if>> You wake up to a pair of arms and a thick towel wrapped around you. A toned chest presses against your back. You try to move. <br><br> Your rescuer squeezes you. "You're awake!" <span class="green">It's Mason.</span> <<He>> sounds relieved. "You didn't wake up for quite a while, so I called an ambulance, just in case," <<he>> says. "They'll arrive soon." <br><br> <<He>> examines your state of dress. <<if $worn.upper.type.includes("diving") and $worn.lower.type.includes("diving")>> <<if Time.season is "summer">> "How did you manage this?" <<he>> asks in disbelief. "The suit itself is already warm, not to mention, it's summer." <<elseif Time.season is "spring">> "How strange," <<he>> muses. "It's getting warmer this time of year, and you're wearing a diving suit." <<elseif Time.season is "autumn">> "It gets chilly this time of year," <<he>> says. "You should be more cautious." <<else>> "Diving in the winter?" Mason shakes <<his>> head. "You might be dressed for it," <<he>> says. "But <<= Weather.isFrozen("lake") ? "the ice is treacherous" : "you should know better">>."<<npcincr Mason love -1>><<llove>> <</if>> <<elseif $exposed gte 1>> <<if _fullyNaked>> <<His>> cheeks are bright red, and <<he>> quickly looks away. <</if>> <<if Time.season is "summer">> "I know it's tempting to wear nothing when it's summertime," <<he>> says. "But you still need to be careful." <<elseif Time.season is "spring">> "It gets warmer this time of year, but still, you need to mind how you dress." <<elseif Time.season is "autumn">> "It gets chilly this time of year," <<he>> says. "You should wear more clothes." <<else>> "You should know better than to walk around like that in the winter." <<He>> shakes <<his>> head, but doesn't take it further.<<npcincr Mason love -1>><<llove>> <</if>> <<else>> <<if Time.season is "summer">> "H-How did you?" <<he>> stammers, and shakes <<his>> head. "Perhaps you should report this to the developer team." <<elseif Time.season is "spring">> "The weather's starting to warm up, but it can still get chilly out." <<He>> frowns. "You should be more careful." <<elseif Time.season is "autumn">> "The weather's getting colder," <<he>> says. "It's never bad to wear a little extra." <<else>> "It can get pretty frigid in the winter." <<He>> gives you a reassuring smile. "If it gets to be too cold, I recommend staying indoors." <</if>> <</if>> <br><br> Realising that <<hes>> still wrapped around you, Mason quickly lets go and sheepishly helps you up. <<He>> stays with you until the ambulance arrives, and the two of you chat idly. <br><br> <<link [[Next|Passout Mason Ambulance]]>><<set $passoutReason to "hypothermia">><</link>><<effects>> The paramedics insist on wheeling you onboard in a gurney, despite being alert and responsive. You give Mason an awkward wave goodbye as the ambulance doors shut. The paramedics ask questions about your health on the journey to the hospital. Thankfully, you're discharged soon after arriving, though the nurse gives you a stern lecture on the dangers of <<= $passoutReason>>. <br><br> <<if $exposed gte 1>> <<if $backgroundTraits.includes("crossdresser")>> <<set $clothingselector to $player.sex is "m" ? "f" : "m">> <<else>> <<set $clothingselector to $player.gender_appearance>> <</if>> <<if $clothingselector is "m">> <<underlowerwear 4>> <<upperwear 4>> <<lowerwear 5>> <<else>> <<upperwear 1>> <<underlowerwear 1>> <</if>> <</if>> <<link [[Next|Hospital Foyer]]>><<unset $passoutReason>><<endevent>><<pass 20>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>> <<generatey1>><<generatey2>><<generatey3>><<generatey4>> You wake up to hands groping your body. <br><br> "You're awake," says a <<person1>><<person>>. <<Hes>> not alone. "You looked so cold, we just want to help you warm up." You recognise them from school. <br><br> <<if $speech_attitude is "meek">> "P-please don't," you plead. <<elseif $speech_attitude is "bratty">> "Don't you dare touch me." You scowl. Your fingers are numb, but you still manage to curl them into fists. <<else>> "Don't you dare," you say. <</if>> <br><br> Your voice falls on deaf ears as they close in. <br><br> <<link [[Next|Passout Hypothermia Lake Rape]]>><<set $molestationstart to 1>><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Hypothermia Lake Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Hypothermia Lake Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Thanks for getting us off, slut. Bet you're nice and warmed up now, eh?" Laughter and cheers erupt from the youths as the <<person1>><<person>> sends you off with a smack on your <<bottom>>. <<elseif $enemyhealth lte 0>> The <<person1>><<person>> shoves you away with a yelp of pain, and the others swear. "Fine, be like that, <<bitch>>! See if anyone saves your ass ever again!" They collect themselves and stalk off, shooting you dirty looks. <</if>> <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<set Weather.Temperature.override.increase.outside(5, "The intense exertion has warmed your body up.")>> <<link [[Next|Lake Shore]]>><<endevent>><</link>><<effects>><<generate1>><<generate2>><<leash 21>> You awaken on a wooden floor, a cold heavy weight around your neck. Two figures loom over you. <br><br> "You weren't lying," a <<person1>><<person>> says. "Good stock.<<if $pregnancyspeechdisable is "f">> Would make a fine breeder.<</if>>" <br><br> "<<= $pregnancyspeechdisable is "f" ? "Breeder?" : "Personally,">>" the <<person2>><<person>> replies, "I'm more interested in the produce. Gonna make a killing." <<He>> grasps the leash attached to your collar, and forces you to your feet. You're in a small barn. The <<person>> tugs you behind <<him>>. <br><br> <<badEndTracking "Underground Farm" { reason: "tempPassout" }>> <<link [[Next|Livestock Intro]]>><<endevent>><</link>> <br><<set $outside to 0>><<effects>> <<outfitChecks>> <<npc Wren>><<person1>> You wake up in an unfamiliar room. <<if $passoutReason is "hypothermia">> You're wearing a stranger's jacket and jeans. <<if !_fullyNaked>> <<if _underwear>>Your underwear is conspicuously missing.<</if>> <span class="red">Your old clothes are nowhere to be found.</span> <<upperruined>><<lowerruined>><<underlowerruined>><<underupperruined>> <</if>> At least you're not freezing anymore. <br><br> "This cold weather's dangerous, you know," a voice says. "You're lucky that we had some clothes lying around, but we are going to need them back." <<upperwear 41 "tan">><<lowerwear 22 "denim">> <<else>> <<set Weather.Temperature.override.increase.outside(-5, "The fan cools you.")>> A standing fan is blowing on your face. There's a glass of water next to you. You take it and drink the entire glass in one breath. <br><br> <<if !_fullyNaked>> "I'm surprised," a voice says. "I don't think I've ever seen you wearing so many clothes. You could stand to lose a few." <<else>> "I'm not surprised that I found you wearing so little," a voice says. "But I <i>am</i> surprised you managed to get heatstroke like this." <</if>> <</if>> <br><br> You turn your head. <span class="gold">It's Wren.</span> <<outfitChecks>> <<if !_fullyNaked>> <<He>> holds up a deck of cards. "Fancy a game?" <br><br> <<link [[Accept|Passout Estate Wren Cards Accept]]>><<npcincr Wren love 1>><</link>><<glove>> <br> <<link [[Refuse|Passout Estate Wren Cards Refuse]]>><<npcincr Wren love -1>><</link>><<llove>> <<else>> <<He>> smiles. "I'd invite you to play cards while you cool down, but well... not much point." <<He>> nods at your naked body. <br><br> You blush profusely, but thank Wren for rescuing you. <<He>> gives a dismissive wave, and you turn to leave. "Come back when there's something you want," <<he>> says. "And maybe consider staying indoors, if the heat gets to you that much." <br><br> <<link [[Next|Estate]]>><<unset $passoutReason>><<endevent>><</link>> <</if>><<effects>> "If you're sure," Wren says. <<if $passoutReason is "hypothermia">> "That'll be <<printmoney 15000>>." <<He>> holds out <<his>> hand. <br><br> <<if $money gte 15000>> <<link [[Pay|Passout Estate Wren Pay]]>><<money -15000>><</link>> <<else>> <span class="blue">You can't afford it.</span> <</if>> <br> <<link[[Return clothes|Passout Estate Wren Return]]>><</link>> <<else>> "Stay cool out there," <<he>> says. "I'm not sticking my neck out for you a second time." <br><br> You leave the cottage. <br><br> <<link [[Next|Estate]]>><<unset $passoutReason>><<endevent>><</link>> <</if>><<effects>> <<generate2>><<generate3>><<generate4>><<generate5>><<generate6>> "Good," Wren says. "Through here." <br><br> <<He>> gestures for you to follow and leads you into the familiar card room, where <<his>> goons are waiting. <<He>> sits at the table and nods at the chair opposite <<him>>. <br><br> <<link [[Next|Estate Cards Intro 2]]>><</link>><<effects>> You hand Wren the money. <<He>> pockets it without looking. "So long," <<he>> says. <br><br> You leave the cottage. <br><br> <<link [[Next|Estate]]>><<unset $passoutReason>><<endevent>><</link>><<effects>><<upperruined true>><<lowerruined true>> You strip and drop the clothes at Wren's feet. <<He>> lifts <<his>> eyebrows as if surprised. You fold your arms, smirking at <<him>>. <<His>> expression soon smooths as <<he>> takes in the sight. <br><br> "If that's what you want," <<he>> says. "Just keep warm. I'm not sticking my neck out for you a second time." <br><br> You leave the cottage, well aware of <<his>> eyes following you. <br><br> <<link [[Next|Estate]]>><<unset $passoutReason>><<endevent>><</link>><<effects>><<set $location to "lake">><<set $outside to 1>><<outfitChecks>> <<set Weather.Temperature.override.increase.outside(-5, "The mud is cool against your skin.")>> <<generates1>> You wake up to a cold and wet sensation all over your body. Getting your bearings, you see that you are lying on your back next to the lake. A <<person1>><<person>> massages mud from the bank across your skin sensually while a small crowd of your classmates watch. <<if !_overNaked or !_middleNaked>>You notice immediately that you <<= _underwear ? "must have been stripped down to your underwear while you were unconscious" : "are not wearing anything beneath the mud">>!<</if>> You sit upright with a start, drawing a few gasps from the crowd. <br><br> "Sorry, you passed out, so we figured we needed to cool you down somehow," the <<personsimple>> explains, clearly feigning innocence. The other students laugh. Some film your reaction on their cell phones. <br><br> "Now that you're feeling better, you ought to wash off, you dirty, dirty, <<girl>>," <<he>> says with a mocking tone. <br><br> <<overupperruined>><<overlowerruined>><<upperruined>><<lowerruined>> <<if _bottom and _bottom is $worn.under_lower>> <<underlowerruined>> <</if>> <<if _top and _top is $worn.under_upper>> <<underupperruined>> <</if>> <<fameexhibitionism 5 "vid">> <<if hasSexStat("exhibitionism", 4) and $uncomfortable.nude is false>> <<link[[Wash|Passout Heatstroke Mud Wash]]>><<water>><<status 1>><</link>><<exhibitionist4>><<gcool>> <<else>> <<link[[Wash|Passout Heatstroke Mud Wash]]>><<set $desperateaction to "it's better than being covered in mud">><<stress 12>><<status 1>><<water>><</link>><<ggstress>><<gcool>> <</if>> <br> <<link[[Run|Passout Heatstroke Mud Run]]>><<stress 6>><</link>><<gstress>><<silently>><<effects>><</silently>> /* Yes this is intentional, because water effects are janky as hell. */ <<if hasSexStat("exhibitionism", 4)>> You confidently stride over to the lake and submerge yourself in the water. You rub as much of the mud off as possible while your audience snickers and giggles. As you emerge from the lake, the other students bolt before you have a chance to ask what happened to your clothing. <<else>> Embarrassed, you cover yourself up as best you can and move to the lake. Slipping beneath the surface, you clean the mud off the best you can while trying to keep your classmates from seeing you undressed. <br><br> When you are as clean as you can get, you walk awkwardly back to the shore. Your peers point and laugh as your face burns with shame. Before you have a chance to ask what happened to your clothing, the other students bolt. <</if>> <br><br> <<exhibitionism4>> <<fameexhibitionism 10 "vid">> <<link[[Next|Lake Shore]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>><<set $location to "forest">><<set $outside to 1>> You get up and flee into the woods, hoping to get out of sight of your peers and their cameras. A few students chase you and shout lewd remarks, but you lose them relatively quickly in the trees. Once you feel you are far enough away, you finally stop to catch your breath. Using sticks and leaves, you clean off as much of the mud as possible and take a look at your surroundings. <br><br> <<link[[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>><<upperstrip>><<lowerstrip>><<facestrip>><<bindtemp>><<facewear 4>> <<generatey1>><<generatey2>> As you come to, you realise that you have been stripped down to your <<undies>>, gagged, and tied to a chair in the alley. Before you can get your bearings, you hear the voice of one of your classmates, a <<person1>><<person>>. "Shush! <<pShes>> waking up. Start recording." <br><br> "Ready, set, action," a <<person2>><<person>> whispers. <br><br> "Remember, folks: the best way to prevent heatstroke is to take lots of cool water with you and dress appropriately in hot weather!" the <<person1>><<person>> instructs in a cheesy tone. <<He>> addresses a small camera on a cheap tripod. <br><br> <<He>> brandishes a water bottle filled with more ice cubes than water, stretches the waistband of your <<undies>>, and pours half of its freezing contents down the front! You yelp into your gag and squirm to try and get the ice away from your <<= $player.penisExist ? "penis" : "clit">>. While you're otherwise occupied, the rest of the ice water is dumped down the back of your <<undies 1>>. The <<person>> takes an ice cube in each hand, and massages your nipples with them. You yelp at the frigid sensation. <<gpain>><<pain 6>> <br><br> <<He>> grins at the camera as <<he>> signs off, "Check out our other videos for more health tips. We'll see you next time!" <br><br> "Alright, let's go," the <<person2>><<person>> says, packing up the camera. The pair remove your gag and untie your hands, leaving you to free yourself from the remainder of your binds. <<if $carried.face.name isnot "naked">>They take your <<= $carried.face.name>> as a souvenir.<</if>> By the time you remove the ice from your soaked <<undies>> and locate your clothes, they're long gone. <<gstress>><<stress 6>> <br><br> <<fameexhibitionism 10 "vid">> <<link [[Next|$safePassage]]>><<unbindtemp>><<set $worn.face.type.push("broken")>><<faceruined>><<underlowerwet 200>><<clotheson>><<endevent>><<set $eventskip to 1>><</link>><<effects>><<set $location to "beach">><<set $outside to 1>> <<upperstrip>><<lowerstrip>><<underupperstrip>><<underlowerstrip>><<upperwear 148 "white">> <<generate1>><<person1>> You wake up under a small awning on the beach. Sitting up on the beach towel, you realise your clothing is gone. You're wearing nothing but a white oversized button-down shirt. Before you can speak, a <<person>> explains, "Hey, glad to see you're awake. I saw you passed out and decided to keep an eye on you while you recovered." <br><br> When you ask where your clothes are, <<he>> responds, "Well... I'm not entirely sure. I bet I could find them though, if you were willing to do something for me. A buddy of mine is starting up a wet t-shirt contest, and we want a few new contestants. What do you say? I bet the water could do you some good in your condition." <br><br> <<link[[Agree reluctantly|Passout Beach Heatstroke Wet Shirt 2]]>><<set $phase to 0>><<stress 6>><</link>><<gstress>> <br> <<if hasSexStat("exhibitionism", 3)>> <<link[[Agree enthusiastically|Passout Beach Heatstroke Wet Shirt 2]]>><<set $phase to 1>><</link>><<exhibitionist3>> <br> <</if>> <<link[[Refuse|Passout Beach Heatstroke Wet Shirt 2]]>><<set $phase to 2>><</link>><<effects>> <<if $phase is 2>> You refuse to go along with the request, and the <<person>> shrugs. "Suit yourself," <<he>> says, walking away. You look around for your clothes but turn up empty-handed. The button-down will have to do. <br><br> <<link[[Next|Beach]]>><<upperruined>><<lowerruined>><<underupperruined>><<underlowerruined>><<upperwear 148 "white">><</link>> <<else>> <<generate2>><<generate3>><<fameexhibitionism 5>><<set $upperwetstage to 2>><<set $lowerwetstage to 2>> You agree to take part in the show, much to the pleasure of the <<person1>><<person>>. <<He>> leads you to a nearby pier where a small crowd is gathering, and has you line up with a <<person2>><<person>> and <<person3>><<person>>. You stand there <<= hasSexStat("exhibitionism", 3) ? "confidently" : hasSexStat("exhibitionism", 2) ? "patiently" : "nervously">>, waiting for your turn. <br><br> The <<person2>><<person>> goes first, doing a seductive dance while members of the crowd pour pitchers of water over <<his>> chest. The sounds of whistling and catcalling follow <<him>> as <<he>> walks down the pier. The <<person3>><<person>> goes next, standing with <<his>> hands raised stiffly while <<he>> is drenched. <<He>> fakes a smile while a few people in the crowd make crude remarks, before hurrying to find a place to change. <br><br> The <<person1>><<person>> leads you to the centre of the transfixed crowd. <<if $phase is 1>> You do a sexy little dance as the water is poured down your front. Your audience cheers as the oversized button-down becomes transparent, revealing your <<chest>>. <<exhibitionism3>> You twirl on the spot and give a bow before returning to the <<person1>><<person>>. <<He>> returns your clothes to you with a big smile on <<his>> face. <<else>> You go rigid, but manage to lift your arms up like the person before you. Despite some disappointed murmurs, the audience still enjoys watching the button-down turn transparent, revealing your <<chest>>. <br><br> As soon as you are able, you return to the <<person1>><<person>>. <<He>> returns your clothes to you with a neutral expression. "A deal's a deal, I guess. Here you go." <</if>> <br><br> <<link[[Next|Beach]]>><<clotheson>><<dry_full>><<endevent>><<set $eventskip to 1>><</link>> <</if>><<effects>><<set $outside to 0>><<npc Eden>><<person1>> You wake up on the cabin bed, groggy. Turning your head to the side, you see Eden sitting beside you. <<He>> notices you stirring. <br><br> "You're up. I was worried," <<he>> says. <<His>> voice sounds relieved. <br> <<if $passoutReason is "hyperthermia">> <<set Weather.Temperature.override.increase.inside(-5, "The wet towel cools you down.")>> <<He>> takes the towel from your forehead, dips it in water, wrings it dry, then puts it back on you. <br> "You were careless," <<he>> tells you. "You're lucky that I was around." <<else>> <<set Weather.Temperature.override.increase.inside(5, "You huddle under the covers.")>> <<He>> helps you adjust the covers. <br> "What were you thinking?" <<he>> says. "If I hadn't been around, you would've frozen to death!" <</if>> <br> <<He>> frowns at you. "No more going outside today. Stay here and rest." <<His>> voice is stern, leaving no room for argument. <<stress 10>><<gstress>> <br><br> <<He>> stays by your side and watches over you for a while, before <<if Time.hour gte 0 and Time.hour lte 6>> returning to bed. <<elseif Time.hour lte 8>> getting ready for the day. <<elseif Time.hour lte 17>> heading back outside. <<else>> returning to <<his>> own tasks. <</if>> <br><br> <<link [[Next (0:15)|Eden Cabin]]>><<pass 15>><<endevent>><</link>><<effects>> <<if $wolfgirl gte 6>> <<beastNEWinit 1 dog>> <<elseif $cat gte 6>> <<beastNEWinit 1 cat>> <</if>> You feel a wet sensation on your face and blink awake. <br><br> A <<beasttype>> is licking your face. You struggle to sit up, finding your clothes torn apart. The <<beasttype>> <<= $NPCList[0].type is "dog" ? "nudges you" : "circles your arm">>, excited that you're awake. <<if $monster is 1>>"You awake! Couldn't help you up. So worried."<</if>> <br><br> Looks like <<bhe>> tried to wake you up, damaging your clothes in the process. At least it helped you escape the heat.<<overupperruined>><<upperruined>><<= either("<<underupperruined>>", "<<lowerruined>>")>> <br><br> After making sure you're okay, the <<beasttype>> gives you one last nuzzle and leaves. <br><br> <<link [[Next|Park]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> <<generatey1>><<person1>> You wake up to a cold blast of water hitting you full in the face. A group of delinquents stands nearby, laughing as they spray you with a hose. <br><br> "Wake up, loser!" one of them, a <<person>>, jeers, the others joining in with mocking laughter. <br><br> You try to speak, but another blast of water hits you, cutting off your words. The water is cold, soaking through your clothes and making you shiver despite the heat. <<water>><<set Weather.bodyTemperature-->> <br> Finally, they get bored and leave, the sound of their laughter echoing in your ears as you lay there, drenched and humiliated.<<stress 6>><<trauma 6>><<gstress>><<gtrauma>> <br><br> <<link [[Next|Park]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> <<generatey1>><<person1>> You struggle to wake up, unsure how many hours you've been unconscious, your head still foggy. <br><br> Your body feels heavy. If you don't cool down soon, you might pass out again. <br><br> You notice a <<person>> in front of you. <<He>> stares at you, then suddenly opens <<his>> coat quickly, exposing <<his>> <<genitals>> to you! "Hey! This is how you stay cool," <<he>> says playfully, making you feel <<= hasSexStat("promiscuity", 4) or hasSexStat("exhibitionism", 3) ? "aroused.<<arousal 200>><<garousal>>" : "disgusted.<<stress 6>><<trauma 6>><<gstress>><<gtrauma>>">> <br><br> After flashing you, <<he>> quickly runs off. <br><br> <<link [[Next|Park]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>><<location "office">> <<generate1>><<person1>> <<if $phase2 is "cold">> You wake up feeling much warmer than before. When you sit up, a thick blanket that must have been draped over you falls to your lap.<<set Weather.bodyTemperature++>> <<else>> /* heat */ You wake up feeling much cooler than before. When you sit up, a moist handkerchief falls from your forehead and onto your lap. You notice your clothes have been displaced to vent the heat from your body, too.<<set Weather.bodyTemperature-->> <</if>> <br><br> "Ah, you're awake," someone says. You turn your head and see a <<person>> sitting at a nearby desk. <<He>> gets up from <<his>> desk to approach you. <br><br> <<link [[Next|Passout Office Work]]>><</link>> <br><<effects>> "I saw you collapse from the <<= $phase2 is "cold" ? "cold" : "heat">> while I was on my way back to the office." <<set $phase2 to either("mild", "offended")>> <<if $phase2 is "mild">> <<He>> smiles at you and puts a hand on your shoulder. "You need to take better care of yourself. You may be young, but that doesn't mean you're invincible, you know?" <<else>> /* offended */ <<He>> scoffs and crosses <<his>> arms. "Kids these days... You aren't invincible, you know? Just because you're still young doesn't mean you don't have to take care of your health, <<girl>>." <</if>> <br><br> <<if $speech_attitude is "meek">> "Thank you for helping me..." you mumble. "And s-sorry for being a bother..." <<elseif $speech_attitude is "bratty">> "...Thanks. You didn't have to do any of that, but you did, so... thanks," you say with an awkward shrug. <<else>> "Thanks for the help. Who knows what would have happened if you hadn't helped..." <</if>> <br><br> <<if random(1,2) is 1>> <<if $phase2 is "mild">> "You're welcome," the <<person>> replies, removing <<his>> hand from your shoulder. "Though, in the spirit of reciprocity..." <<He>> gestures to <<his>> desk. "I'd appreciate a little help with my work. I'll even pay you for it." <<else>> /* offended */ "If you really want to show your gratitude..." The <<person>> gestures towards <<his>> desk. "...then you can help me with my work. I'll even pay you for it," <<he>> adds with a smile. <</if>> <br><br> <<link [[Agree (0:15)|Passout Office Work 2]]>><<set $phase to 0>><<pass 15>><</link>> <br> <<else>> <<if $phase2 is "mild">> "You're welcome," the <<person>> replies. "Though, in the spirit of reciprocity..." <<He>> puts <<his>> free hand on your other shoulder. "I'd appreciate a little bit of...company." <<He>> winks. "I'll even pay you for it." <<else>> /* offended */ "If you really want to show your gratitude..." The <<person>> puts <<his>> hands on your shoulders. "...then you can show it with your body. I'll even pay you for it," <<he>> adds with a smirk. <</if>> <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Accept the offer|Passout Office Work Sex]]>><<set $sexstart to 1>><</link>><<promiscuous2>> <br> <<elseif $uncomfortable.prostituting is false>> <<His>> offer repulses you, but you need the money. <br><br> <<link [[Reluctantly accept the offer|Passout Office Work Sex]]>><<set $sexstart to 1>><<set $desperateaction to 1>><</link>><<promiscuous2>> <br> <<else>> <<insufficientStat "promiscuity" "to take up such an offer">> <br> <</if>> <</if>> <<if $danger gte (9900 - $allure)>> <<link [[Refuse|Passout Office Work Sex]]>><<set $molestationstart to 1>><</link>> <<else>> <<link [[Refuse|Passout Office Work 2]]>><<set $phase to 1>><</link>> <</if>> <br><<effects>> <<if $phase is 0>> /* Agree */ The <<person>> doesn't ask for much. <<He>> just has you <<= either("sort some files", "deliver a couple messages to some associates", "pick up a document from the fax machine down the hall")>> and <<= either("tidy up <<his>> office", "water <<his>> plants", "pick up a coffee for <<him>> from the cafe on the ground floor")>>. It doesn't take very long. <br><br> Once you're finished, <<he>> thanks you and gives you the pay <<he>> promised. <<assignmenttip 5>> <br><br> Job completed, you leave <<his>> office, and exit the building. <<else>> /* Refuse */ The <<person>> <<if $phase2 is "mild">> frowns. "Very well, then." <<He>> gestures to the door with a sigh. "I have a meeting soon, anyway, so I'm afraid you'll need to leave." <<else>> /* offended */ scowls. "Fine. Since you're awake, you can leave, then." <<He>> gestures to the door. <</if>> <br><br> You get up, and leave. <</if>> <br><br> <<link [[Next|High Street]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> "Wonderful." <<He>> seems quite pleased as <<he>> pushes you back down on the couch and climbs on top of you. <<promiscuity2>> <br><br> <<enable_rescue>> <</if>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<if $phase2 is "mild">> The <<person>> frowns. "I'd have hoped you'd pick up the hint that you don't actually have a choice here." <<He>> pushes you back down on the couch, and climbs on top of you. "After all I did to nurse you back to health... Don't you owe me?" <<else>> /* offended */ "You ungrateful little..." <<He>> pushes you back down on the couch, and climbs on top of you. "I wasn't asking, <<girl>>." <</if>> <br><br> <<enable_rescue>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Office Work Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Office Work Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> The <<person>> shoves <<himself>> away from you with a pained cry. "You'll regret this, you little <<bastard>>!" <<he>> roars. <br><br> The fury in <<his>> voice sends shivers down your spine, but you take the chance to rush for the exit. Luckily, you manage to escape all the way to the office lobby without getting caught. <br><br> <<clotheson>> <<tearful>> you exit the office building. <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Once recovered, the <<person>> gets up from the couch with a stretch and a satisfied groan. <<He>> reaches for <<his>> <<wallet>>, and digs into it. "Here," <<he>> says as <<he>> holds some bills out in your direction. <<if $consensual is 1>> "For the service." <<assignmenttip 10>> <<else>> <<He>> seems reluctant to pay you at all. <<assignmenttip 5>> <</if>> <br><br> You take the money, and the <<person>> gets back to work. <br><br> <<clotheson>> <<tearful>> you leave <<his>> office, and exit the building. <<elseif $alarm is 1 and $rescue is 1>> "Shut your—!" the <<person>> hisses, but <<hes>> interrupted by a knock on the door of <<his>> office. <br><br> "Is everything okay in there?" <br><br> The voice makes the <<personsimple>> hesitate. You take the opportunity to push <<him>> away. <<He>> reaches for your arm to stop you from escaping, but luckily you manage to dodge <<him>>. You shove the door open, push past your saviour, and run down the hall. <br><br> You only start to slow down when you approach the lobby<<if $athletics lte 600>>, gasping for breath<</if>>. <br><br> <<clotheson>> <<tearful>> you exit the office building. <<elseif $finish is 1>> The <<person>> frowns and scoffs, pushing you away. "Fine," <<he>> grouses as <<he>> stands up from the couch. "Leave, then. I have a meeting soon, anyway." <br><br> <<clotheson>> <<tearful>> you leave <<his>> office, and exit the building. <<else>> By the time awareness returns to you, the <<person>> is pushing you off the couch. You barely catch yourself on the edge of it before you take a tumble. <br><br> "Get out," <<he>> says coldly. "I have a meeting soon." <br><br> <<tearful>> you shakily push yourself up to your feet. <br><br> <<clotheson>> You leave <<his>> office, and exit the building. <</if>> <<endcombat>> <<link [[Next|High Street]]>><<set $eventskip to 1>><</link>> <br><br><<effects>> You awaken to the sight of the <<beasttype>>. It looks like <<bhe>> was taking care of you when you passed out. <br><br> After making sure you're okay, the <<beasttype>> <<= $monster is 1 ? "waves" : "looks">> at you before <<bhe>> gallops away. Leaving you alone in the moor. <br><br> <<link [[Next|Moor]]>><<endevent>><<set $eventskip to 1>><<unset $horseDifficulty>><<unset $moormove>><</link>> <br><<set $outside to 0>><<effects>> <<outfitChecks>> You wake up in a well-appointed sitting room feeling much <<if $phase2 is "cold">> <<upperstrip>><<upperruined>> <<outfitChecks>> <<if _bottomExposed>> <<lowerruined>> <</if>> <<outfitChecks>> <<hypothermiaClothes>> warmer than before. You see a lit fireplace nearby, warming you up along. A blanket is draped over you<<if _clothes.length gte 1>>, and you're dressed in <<= _clothes.join(" and ")>><</if>>. <<else>> <<set _gender to $player.gender_appearance>> <<set _clothes to []>> <<if $worn.upper.warmth gt 3>> <<set _slot to "upper">> <<set _upper to []>> <<if _gender is "m" or $forcedcrossdressingdisable is "f">> /* masc: short sailor shirt */ <<set _upper.push(57)>> <</if>> <<if _gender is "f" or $forcedcrossdressingdisable is "f">> /* femme: babydoll */ <<set _upper.push(17)>> <</if>> <<set _index to _upper.random()>> <<upperstrip>><<upperruined>> <<upperwear _index>> <<set _text_output to setup.clothes[_slot][_index].word is "n" ? `a pair of ${$worn[_slot].name}` : setup.clothes[_slot][_index].word + " " + $worn[_slot].name >> <<set _clothes.push(_text_output)>> <</if>> <<outfitChecks>> <<if _bottomExposed>> <<set _slot to "lower">> <<switch _index>> <<case 57>><<set _index to 52>> /* short sailor shirt match sailor shorts*/ <<case 17>><<set _index to 76>> /* babydoll match booty jorts*/ <<default>><<set _index to 21>> /* neutral: cycle shorts */ <</switch>> <<lowerruined>> <<lowerwear _index>> <<set _text_output to setup.clothes[_slot][_index].word is "n" ? `a pair of ${$worn[_slot].name}` : setup.clothes[_slot][_index].word + " " + $worn[_slot].name >> <<set _clothes.push(_text_output)>> <</if>> cooler than before. You see an open window nearby, letting in a refreshing breeze. <<if _clothes.length gte 1>>You look down to find that you're dressed in <<= _clothes.join(" and ")>>.<</if>> <</if>> <br><br> No one seems to be around at the moment.<<if _clothes.length gte 1>> You unfortunately don't see the clothes you were wearing before anywhere.<</if>> With nothing else to do, you stand up and exit the room. <br><br> <<link [[Next|Passout Danube Street 2]]>><</link>> <br><<effects>> <<generate1>><<person1>> You wander through the mansion until you find the foyer, where a well-dressed <<personsimple>> is ushering apparent party guests out the front door with a polite wave. After <<he>> shuts the door behind them, <<he>> turns and jumps a little upon seeing you. <br><br> "Well, you just saved me some time. I was about to come to check on you," the <<person>> says with a smile. "Are you feeling better?" <br><br> <<if $speech_attitude is "meek">> "Yes, I am," you reply, head bowed. "Thank you very much for helping me..." <<elseif $speech_attitude is "bratty">> "Sure am. Thanks for the clothes." <<else>> You nod. "I am. Thank you for the help." <</if>> <br><br> The <<person>> approaches you, coming to a stop a touch closer than is polite. "You're welcome. Though I can't say that I did it entirely out of goodwill." <<His>> smile turns into a smirk. "I was actually hoping that you would do me a little favour in return." <br><br> <<link [[Ask what the favour is|Passout Danube Street 3]]>><</link>> <br> <<if $danger gte (9900 - $allure)>> <<link [[Leave|Passout Danube Street Sex]]>><<set $phase to 0>><<set $molestationstart to 1>><</link>> <<else>> <<link [[Leave|Passout Danube Street End]]>><<set $phase to 0>><</link>> <</if>> <br><<effects>> <<saveNPC 0 passout_danube_master>> <<if $speech_attitude is "meek">> "A f-favour...?" You wring your hands. <<elseif $speech_attitude is "bratty">> You cross your arms. "What kind of favour?" <<else>> "What did you have in mind?" <</if>> <br><br> <<if $danger gte (9900 - $allure)>> The <<person>>'s smile turns <<if $rng gte 80 and $bestialitydisable is "f">> <<generateBEAST 2 dog>> <<set $NPCList[1].name to $NPCList[1].pronoun is "f" ? $NPC_names_f.random() : $NPC_names_m.random()>> perverse, and <<he>> puts an overfamiliar hand on your arm. <<He>> whistles sharply, and within a few moments, a dog enters the room, tail wagging eagerly. <br><br> "Good <<= $NPCList[1].pronouns.boy>>," <<he>> praises the dog. Then <<he>> looks at you again, and says, "My little <<= $NPCList[1].name>> has been quite lonely and pent up lately... Give the poor thing some special attention, won't you?" <br><br> You <<= $awarelevel gte 1 ? "know" : "aren't entirely positive, but you think you have an idea of">> what <<hes>> asking for: <<he>> wants you to let this dog have its way with you. <br><br> <<if hasSexStat("deviancy", 2)>> <<link [[Accept the offer|Passout Danube Street Dog]]>><</link>><<deviant2>> <<else>> <<insufficientStat "deviancy" "to take up such an offer">> <</if>> <br> <<link [[Refuse|Passout Danube Street Sex]]>> <<endevent>> <<set $phase to 1>><<set $molestationstart to 1>> <<loadNPC 0 passout_danube_master>><<person1>> <</link>> <br> <<else>> flirtatious, and <<he>> puts an overfamiliar hand on your waist. "Spend a little bit of... quality time with me. Show me just how thankful you are." <<His>> hand slides down to cup your <<bottom>>. <br><br> You <<= $awarelevel gte 1 ? "know" : "aren't entirely positive, but you think you have an idea of">> what <<hes>> asking for: <<he>> wants to have sex with you. <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Accept the offer|Passout Danube Street Sex]]>><<set $sexstart to 1>><</link>><<promiscuous2>> <<else>> <<insufficientStat "promiscuity" "to take up such an offer">> <</if>> <br> <<link [[Refuse|Passout Danube Street Sex]]>><<set $phase to 0>><<set $molestationstart to 1>><</link>> <br> <</if>> <<else>> "I have a room in which I just hosted a party, and it could use a good cleaning. My usual cleaners are meant to stop by tomorrow, and I'd rather not pay an extra fee for them to come early if I don't have to..." The <<personsimple>> gestures down the hall. "It's not too big of a mess, and I'd give you a tip once you're finished. What do you say?" <br><br> <<link [[Accept|Passout Danube Street Housekeeping]]>><</link>> <br> <<if $danger gte (9900 - $allure)>> <<link [[Leave|Passout Danube Street Sex]]>><<set $phase to 0>><<set $molestationstart to 1>><</link>> <<else>> <<link [[Leave|Passout Danube Street End]]>><<set $phase to 0>><</link>> <</if>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<promiscuity2>> "Perfect. What a good <<girl>>." <<He>> takes you to a nearby room, unceremoniously pushes you down onto a settee, and climbs on top of you with an eager expression on <<his>> face. <</if>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> The <<person>> <<= either(`scowls`,`sneers`)>>. <<if $phase is 0>> /* PC refused to hear the person out, refused to have sex with them, or refused to clean for them. */ "<<= either(`Don't be ungrateful`,`It wasn't actually a question`)>>, <<girl>>." <<else>> /* PC refused to have sex with the dog. */ "You think you're too good for it? Gutter trash like you?" <<He>> scoffs. "Think again." <</if>> <<He>> lunges for you. <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Danube Street Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Danube Street Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $arousal is $arousalmax>> <<orgasm>> <</if>> <<if $consensual is 1>> Satisfied, the <<person>> sits back and adjusts <<his>> clothes. "Very good. <<if $orgasmcurrent gte 1>> I see you enjoyed yourself as well," <<he>> remarks with a smirk. <<else>> It's a relief to see that at least some of the younger set are capable of showing gratitude," <<he>> remarks with a condescending smile. <</if>> <br><br> <<endcombat>> <<loadNPC 0 passout_danube_master>><<person1>> <<link [[Next|Passout Danube Street End]]>><<set $phase to 1>><</link>> <br> <<else>> The <<person>> moans in satisfaction, then <<= $enemyhealth lt $enemyhealthmax ? "kick" : "shove">> you towards the door. "Get out of here," <<he>> says with an unpleasant smirk. "You'd best think twice before <<= $enemyhealth lt $enemyhealthmax ? "acting out against" : "refusing">> your betters in the future<<if $orgasmcount gte 1>>, you little slut<</if>>." <br><br> <<tearful>> you head for the door, and make your exit. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Danube Street]]>><<set $eventskip to 1>><</link>> <br> <</if>> <<elseif $enemyhealth lte 0>> The <<person>> is knocked off of the settee, stumbling into a nearby coffee table. "<<= either(`Fuck!`,`You little <<bastard>>!`,`How dare you!?`)>>" <<he>> snarls. <br><br> <<tearful>> you scramble to your feet and rush for the door, running from the mansion as fast as you can. You only stop to catch your breath <<if $athletics lt 600>>in huge panting gulps <</if>>once you're a few blocks away. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Residential alleyways]]>><<set $eventskip to 1>><</link>> <br> <<else>> The <<person>> lets out a sigh of frustration, and pulls away from you. "Fine," <<he>> says, tone reluctant. "Go ahead and leave, then." <<He>> starts muttering to <<himself>> as <<he>> straightens out <<his>> clothes; the only word you can make out is "<<= $consensual is 1 ? "tease" : "<<bastard>>">>". <br><br> <<tearful>> you climb to your feet and make your way out of the mansion. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Danube Street]]>><<set $eventskip to 1>><</link>> <br> <</if>> <<clearNPC passout_danube_master>><<effects>> <<saveNPC 1 passout_danube_dog>> <<deviancy2>> "Perfect." <<He>> takes you to a nearby side room, whistling for <<his>> dog to follow behind. <<He>> puts you on your hands and knees on the floor. Then <<he>> sits on a settee and <<= $NPCList[0].pronoun is "m" ? "undoes <<his>> trousers" : "pulls up the skirt of <<his>> dress">>, <<npcRevealText $NPCList[0] "lower">>. <br><br> The <<beasttype 1>> mounts you at <<bhis 1>> <<master>>'s command. The <<person>> begins to touch <<himself>>. <br><br> <<endevent>> <<loadNPC 0 passout_danube_dog>><<person1>> <<link [[Next|Passout Danube Street Dog Sex]]>><<set $sexstart to 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">><<set $position to "doggy">> <</if>> <<effects>> <<effectsman>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Passout Danube Street Dog Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Passout Danube Street Dog Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<loadNPC 1 passout_danube_master>><<person2>> <<if $enemyarousal gte $enemyarousalmax>> <<person1>><<beastejaculation>> <<if $arousal gte $arousalmax>> <<orgasm>> <</if>> Across the way, the <<person2>><<person>> moans as <<he>> cums, <<= $NPCList[1].penis isnot "none" ? "semen splattering the floor" : "juices running down <<his>> fingers">>. <br><br> "Well done," <<he>> says, pulling out a handkerchief to wipe <<his>> dirtied hand off with.<<if $orgasmcount gte 1>> "I can't believe you got off from fucking a dog."<</if>> <br><br> <<endcombat>> <<loadNPC 0 passout_danube_master>><<person1>> <<loadNPC 1 passout_danube_dog>> <<link [[Next|Passout Danube Street End]]>><<set $phase to 2>><<clotheson>><</link>> <br> <<elseif $enemyhealth lte 0>> "What the hell is wrong with you!?" the <<person>> yells as you shove <<his>> <<beasttype>> away with a final kick. <br><br> The <<beasttype>> yips and doesn't move to follow as you scramble to your feet and rush for the door. Luckily, you're out before the <<person>> can get up from <<his>> leisurely sprawl. <br><br> <<tearful>> you run away from the mansion, only stopping to catch your breath <<if $athletics lt 600>>in huge panting gulps <</if>>once you're a few blocks away. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Residential alleyways]]>><<set $eventskip to 1>><</link>> <br> <<else>> <<tearful>> you can do nothing but lie there and take what the <<person>>'s dog gives you until it's satisfied. <br><br> <<person1>><<beastejaculation>> Once satisfied, it withdraws, panting happily. The <<person2>><<person>> gives you a <<= $enemyhealth lt $enemyhealthmax ? "kick" : "nudge with <<his>> foot">> towards the door. "I think you're done here," <<he>> says with an unpleasant smirk. "Ta-ta." <br><br> You take a couple minutes to collect yourself before getting up and leaving. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Danube Street]]>><<set $eventskip to 1>><</link>> <br> <</if>> <<clearNPC passout_danube_master>> <<clearNPC passout_danube_dog>><<effects>> <<if $phase is 0>> /* PC leaves without doing the favour. */ You <<if $speech_attitude isnot "bratty">>apologise and <</if>>tell the <<person>> that you don't have the time to spare, and that you have to leave. <br><br> <<He>> <<= either(`scowls`, `sneers`, `scoffs`, `glares`)>> at you. "Fine, then. You can find your own way out." <<He>> spins on <<his>> heel and stalks off, muttering to <<himself>> about the ungratefulness of the younger set. <br><br> You leave the mansion once <<hes>> out of sight, relieved that the situation resolved itself peacefully. <<else>> <<if $phase is 1>> /* From the sex branch. */ "I'm sure you can find the way out," the <<person>> says once <<hes>> straightened <<himself>> out. "Be more careful in the future to mind the weather, hm? It'd be a shame if someone less charitable than I had been the one to find you." <<else>> /* From the dog branch. */ The <<person>> whistles to <<his>> <<beasttype 1>> as <<he>> stands, and <<he>> begins to put <<his>> clothes back into order. The <<beasttype 1>> woofs happily and trots to <<his>> side. <br><br> "It's a relief to see that at least some of the younger set are capable of showing gratitude," <<he>> says once <<hes>> straightened <<himself>> out. "I'm sure you can find the way out. Be more careful in the future to mind the weather, hm? It'd be a shame if someone less charitable than I found you." <</if>> <br><br> With that said, <<he>> departs without sparing you a second glance. <br><br> <<tearful>> you leave the mansion once <<hes>> out of sight. <</if>> <br><br> <<link [[Next|Danube Street]]>><<clotheson>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> <<set _event to random(1,3)>> "Perfect!" The <<person>> leads you down the hall, and opens a door to <<if _event is 1>> a dining room. The long table is covered in questionable fluids, staining the wood and the table runner and dripping from the edges. There's more fluids beneath the table, as well as various spatterings elsewhere on the floor. <<if $condomLvl gte 2 and $rng gte 51>>It looks like there's a few used condoms on the ground.<</if>> <<elseif _event is 2>> a sitting room. You see bits of glitter on a coffee table, as well as questionable fluids spattered on the tabletop and the floor around it. <<if $condomLvl gte 2 and $rng gte 51>>Used condoms litter the floor.<</if>> A speaker nearby is playing sensual dance music, and the <<person>> approaches it to turn it off before returning to you. <<else>> a sitting room. The room is covered in questionable fluids, including puddles of pink liquid. There's a curious combination of scents in the air that makes you feel little lightheaded.<<drugs 60>><<gdrugged>> <</if>> <br><br> <<= $awarelevel gte 1 ? "You" : "Even you">> have a pretty good idea of what must have gone on in here. <br><br> <<He>> definitely understated the mess. <br><br> "I would apologise for the filth if you weren't here to clean it up in the first place," the <<person>> says with a chortle. "There should be some cleaning materials in the closet over there." <<He>> points to a nearby closet door. "When you're finished, I'll be in the room just across the hall from this one. Thanks again!" <br><br> With that, <<he>> leaves you to it. <br><br> <<link [[Clean the room|Passout Danube Street Housekeeping 2]]>><<housekeepingdifficulty 1 600>><</link>> <br><<effects>> Retrieving a broom, spray cleaner, and a few rags from the closet, you get to work. <br><br> <<if $rng gte 91>> While cleaning, you find a few loose bills beneath a chair that must have fallen from someone's pockets at some point during this function. You've earned <<moneyGainDisplay 20 true true>>. <<elseif $rng lte 30 and $ejactrait gte 1>> While wiping down the table, you feel yourself salivate when you notice the lewd fluid on the table is still a bit warm. You resist the urge to rub your face against it.<<arousal 600>><<garousal>> <<else>> <<set _event to random(1,5)>> While cleaning, you <<if _event is 1>> keep getting the sense that you're being watched. But whenever you look around, you see no one in the room but yourself. A shiver goes down your spine every time.<<stress 6>><<gstress>> <<elseif _event is 2>> hum your favourite song to yourself. It makes a boring job less tedious, and a little more fun.<<stress -6>><<lstress>> <<elseif _event is 3 and $tiredness gte (C.tiredness.max / 5) * 3>> feel your eyelids drooping more than once. A part of you is tempted to just sit down and rest your eyes for a few moments, but you force yourself to focus and get the job done. You can rest later. <<elseif _event is 4>> crawl under the table to wipe up beneath it, and you end up disturbing a small cloud of pink dust from the floor. Inhaling some of it brings a bit of heat to your face.<<arousal 600>><<garousal>> <<else>> pay special focus to try and improve your overall efficiency. <<if $housekeeping lt 600>>You discover a few different methods to save time while cleaning in the future.<</if>><<housekeeping 1 600>><<ghousekeeping 600>> <</if>> <</if>> <br><br> <<if $housekeepingSuccess>> <<pass 45>><<set $phase to 0>> It takes a while, but eventually you get the room back in order. You're tired after all the hard work, but you feel satisfied with your job well done.<<housekeeping 1 600>><<tiredness 5>><<ghousekeeping 600 "silent">><<gtiredness>> <<else>> <<pass 60>><<set $phase to 1>> It takes a good long while, but eventually you get the job done, more or less. You're exhausted after all the hard work, and ready to leave.<<housekeeping 1 600>><<tiredness 10>><<ghousekeeping 600 "silent">><<ggtiredness>> <</if>> <br><br> <<link [[Tell <<him>> you're finished|Passout Danube Street Housekeeping End]]>><</link>> <br><<effects>> You tell the <<person>> you're finished, and <<he>> follows you back to the room to check your work. Seemingly content, <<he>> puts a hand on your shoulder and <<if $arousal gte $arousalmax>> opens <<his>> mouth to say something, but <<hes>> interrupted when that simple touch sends you over the edge. <br><br> <<orgasm>> The <<person>> holds you up and watches as you shudder and moan with an interested gleam in <<his>> eyes. When you finally recover, <<he>> laughs. <br><br> "Got it all out?" <<he>> asks with a dirty grin. "You're pretty cute when you're cumming, you know... But I suppose you'd like to get paid and get on home, don't you?" <<else>> says, "<<= $phase is 0 ? "Very nice" : "It'll do until the professional cleaners come by">>. Now, your tip..." <</if>> <br><br> <<He>> digs into <<his>> <<wallet>>, and pulls out <<= $phase is 0 ? "<<moneyGain 30>>" : "<<moneyGain 15>>">>. Once you take it, <<he>> leads you back to the foyer, and bids you a good <<= Time.dayState is "night" ? "evening" : "day">>. <br><br> <<link [[Next|Danube Street]]>><<clearNPC passout_danube_master>><<endevent>><<set $eventskip to 1>><</link>> <br><<widget "toggledebug">> <<if $debug>> <<set $debug to 1>> <<else>> <<set $debug to 0>> <</if>> <</widget>> /* min, current, max, rightMeter */ <<widget "statbar">> <div @class="(_args[3] is true ? 'rightMeter' : 'meter')"> <<if _args[1] is 0>> <<else>> <<set _percent to Math.floor((_args[1]/_args[2])*100)>> <<set _minPercent to Math.clamp(Math.floor((_args[0]/_args[2])*100), 0, _percent)>> <<set _pin to Math.clamp(Math.floor((_args[4]/_args[2])*100), 0, _args[2])>> <<switch Math.floor(_percent/10)>> <<case 8 9>><<set _statColor to "pinkbar">> <<case 6 7>><<set _statColor to "purplebar">> <<case 4 5>><<set _statColor to "bluebar">> <<case 2 3>><<set _statColor to "lbluebar">> <<case 0 1>><<set _statColor to "tealbar">> <<default>><<set _statColor to "redbar">> <</switch>> <div @class="_statColor" @style="'width:' + _percent + '%'"></div> <<if _minPercent>> <div @class="_statColor + ' meterMin'" @style="'width:' + _minPercent + '%'"></div> <<elseif _pin>> <div class="meterPin" @style="'width:' + _pin + '%'"></div> <</if>> <</if>> </div> <</widget>> <<widget "statbarinverted">> <<set _now to _args[0]>><<set _max to _args[1]>> <div @class="(_args[2] is true ? 'rightMeter' : 'meter')"> <<if _args[0] is 0>> <<else>> <<set _percent to Math.floor((_args[0]/_args[1])*100)>> <<switch Math.floor(_percent/10)>> <<case 8 9>><<set _statColor to "tealbar">> <<case 6 7>><<set _statColor to "lbluebar">> <<case 4 5>><<set _statColor to "bluebar">> <<case 2 3>><<set _statColor to "purplebar">> <<case 0 1>><<set _statColor to "pinkbar">> <<default>><<set _statColor to "greenbar">> <</switch>> <div @class="_statColor" @style="'width:' + _percent + '%'"></div> <</if>> </div> <</widget>> <<widget "wateraction">> <<if currentSkillValue('swimmingskill') lt 100>> <<pass 18 sec>> <<set $oxygen -= 180>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 18>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 200>> <<pass 15 sec>> <<set $oxygen -= 150>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 15>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 300>> <<pass 12 sec>> <<set $oxygen -= 120>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 12>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 400>> <<pass 10 sec>> <<set $oxygen -= 100>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 10>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 500>> <<pass 8 sec>> <<set $oxygen -= 80>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 8>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 600>> <<pass 8 sec>> <<set $oxygen -= 80>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 8>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 700>> <<pass 7 sec>> <<set $oxygen -= 70>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 7>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 800>> <<pass 7 sec>> <<set $oxygen -= 70>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 7>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 900>> <<pass 6 sec>> <<set $oxygen -= 60>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 6>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 1000>> <<pass 6 sec>> <<set $oxygen -= 60>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 6>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 1100>> <<pass 5 sec>> <<set $oxygen -= 50>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 5>> <<unset $lake_ice_broken>> <</if>> <</if>> <<elseif currentSkillValue('swimmingskill') lt 1200>> <<pass 4 sec>> <<set $oxygen -= 40>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 4>> <<unset $lake_ice_broken>> <</if>> <</if>> <<else>> <<pass 3 sec>> <<set $oxygen -= 30>> <<if $lake_ice_broken gte 1>> <<if random(1, 120) lte 3>> <<unset $lake_ice_broken>> <</if>> <</if>> <</if>> <</widget>> <<widget "underwater">> <<water>><<set $underwater to 1>><<set $underwatercheck to 1>> <<if $combat isnot 1>> <<if $oxygen lt 0 and $nooxygen is 1>> <<set $stress += 1000>> <<elseif $oxygen lt 0 and $nooxygen isnot 1>> <<set $nooxygen to 1>> <<else>> <<set $nooxygen to 0>> <</if>> <span class="lblue">Air:</span> <<if $oxygen lt 0>> <span class="red">You can't breathe! Your stress will increase and you'll soon pass out if you can't find air.</span> <</if>> <<oxygencaption>> <<if $underwaterintro isnot 1 and $combat isnot 1 and !$possessed>> <<set $underwaterintro to 1>> <i>You can't hold your breath forever. You will pass less time and use less air per action with a higher swimming skill.</i> <br><br> <</if>> <</if>> <</widget>> <<widget "oxygenrefresh">> <<set $oxygen to $oxygenmax>> <</widget>> <<widget "oxygen">> <<if _args[0]>> <<set $oxygen += _args[0]>> <</if>> <<if _args[0] lt 0>> <<set _strangle to 1>> <</if>> <<set $oxygen = Math.clamp($oxygen, 0, $oxygenmax)>> <</widget>> <<widget "virginitylosttext">> <<if $templePromised is _args[0]>> <span class="lblue">yet you remain pure.</span> <<else>> <span class="red">forever robbing you of your purity.</span> <</if>> <</widget>> <<widget "neutral">> <!-- This widget's names ('neutral') is awful. Maybe 'molest' might better describe its use? --> <!-- args[1] now modifies the arousal applied to the PC --> <!-- Consult the 'arousal' widget to see how --> <<if _args[0] and (typeof _args[0]) is "number">> <<if $consensual isnot 1>> <<if $drunk gt 0>> <<set $_drunk_level to Math.clamp(Math.floor($drunk / 120), 0, 4)>> <<set $_stress_multiplier to [9,8,6,4,3][$_drunk_level]>> <<else>> <<set $_stress_multiplier to 10>> <</if>> <<stress _args[0] $_stress_multiplier>> <<combattrauma _args[0]>> <</if>> <<set _arousal to 20 * _args[0]>> <<if _args[1] and _args[2] and (typeof _args[1]) is "string" and (typeof _args[2]) is "number">> <<arousal _arousal _args[1]>> <<enemyarousal _args[0] _args[2]>> <<elseif _args[1] and (typeof _args[1]) is "string">> <<arousal _arousal _args[1]>> <<enemyarousal _args[0]>> <<elseif _args[1] and (typeof _args[1]) is "number">> <<arousal _arousal>> <<enemyarousal _args[0] _args[1]>> <</if>> <</if>> <</widget>> <<widget "neutralbreast">> <<neutral _args[0] "breasts">> <</widget>> <<widget "neutralgenitals">> <<neutral _args[0] "genitals">> <</widget>> <<widget "enemyarousal">> <<set $enemyarousal += _args[0]>> <</widget>> <<widget "sex">> <!-- args[1] - indicates target: "genitals" if penile or vaginal, "anus" if anal, "mouth" if oral --> <!-- Comment Akoz: args[2] was used at some places to show double penetration and at others --> <!-- to pass which enemy NPC is doing the fucking. I'd leave it to mean the later, but --> <!-- I didn't want to make a decision about a system I'm not working on. --> <!-- So I chose to leave args[2] unused --> <!-- Comment Purity: args[2] is now used to check which NPC is causing it. --> <!-- For double penetration, the widget is now called twice. Once for each NPC. --> <<if _args[0] and (typeof _args[0]) is "number">> <<if $consensual isnot 1>> <<if $drunk gt 0>> <<set $_drunk_level to Math.clamp(Math.floor($drunk / 120), 0, 4)>> <<set $_stress_multiplier to [9,8,6,4,3][$_drunk_level]>> <<else>> <<set $_stress_multiplier to 10>> <</if>> <<stress _args[0] $_stress_multiplier>> <<combattrauma _args[0]>> <<else>> <<stress _args[0] -10>> <</if>> <<set _arousal to 20 * _args[0]>> <<set _enemyarousal to 2 * _args[0]>> <<if _args[1] is undefined>> <<error { message : `Expected a second parameter, but none was provided.`, source : "Called from " + Utils.GetStack() }>> <<elseif _args[2] and (typeof _args[2]) is "number">> <<if wearingCondom(_args[2]) and ["genital","genitals","anal"].includes(_args[1])>> <<switch $NPCList[_args[2]].condom.type>> <<case "plain">> <<set _arousal to Math.floor(_arousal * 0.9)>> <<set _enemyarousal to Math.floor(_enemyarousal * 0.9)>> <<default>> <</switch>> <</if>> <<if wearingCondom("player") and ["genital","genitals"].includes(_args[1])>> <<switch $player.condom.type>> <<case "plain">> <<set _arousal to Math.floor(_arousal * 0.9)>> <<set _enemyarousal to Math.floor(_enemyarousal * 0.9)>> <<default>> <</switch>> <</if>> <</if>> <<arousal _arousal _args[1]>> <<enemyarousal _enemyarousal>> <</if>> <</widget>> <!--_args[0] is the base value, _args[1] is the skill--> <<widget "sexControl">> <<if _args[0] and _args[1] gte 800>> <<set _loss to _args[1] / 180 * _args[0]>> <<if _args[1] gte 1200>> <<set _loss += 1>> <</if>> <<if $enemyarousal gte $enemyarousalmax * 0.7>> <<set _loss *= 2>> <</if>> <<if $enemyarousal gte $enemyarousalmax * 0.9>> <<set _loss *= 2>> <</if>> <<set _loss *= $enemyArousalLossReduction>> <<if $enemyArousalLossReduction gt 0.2>> <<set $enemyArousalLossReduction -= (_args[1] gte 1200 ? 0.03 : 0.04)>> <</if>> <<set $enemyarousal to Math.clamp($enemyarousal - Math.round(_loss), Math.min($enemyarousal, $enemyarousalmax / 5), $enemyarousalmax)>> <</if>> <</widget>> <<widget "violence">> <!-- NG tuning v2.7 $arousal from $masochism/50 to /7. PC now orgasms at least once during spanking encounter at 50% masocism level and twice at 100% masoohism. /10 at max is required to orgasm once at 100% masochism. --> <!-- NG added stress reduction for masochists. Trauma left same --> <<if _args.length gte 1>> <<set _violence = _args[0]>> <<set _stressMod = _args[1] || 1>> <<set _traumaMod = _args[2] || 1>> <<set _painMod = _args[3] || 1>> <!-- args[4] - indicates NPC id (but is currently unused) --> <<if _violence gt 0 or _violence lt 0>> <<if $drunk gt 0>> <<set $_drunk_level to Math.clamp(Math.floor($drunk / 120), 0, 4)>> <<set _drunkMod to [9,8,6,4,3][$_drunk_level]>> <<else>> <<set _drunkMod to 10>> <</if>> <<if $possessed is true and _violence gte 0>> <<set $_controlMod to (10 * $enemyno)>> <<control `_violence / $_controlMod`>> <<set $wraith.will -= _violence>> <<set _possessMod to 3>> <<else>> <<set _possessMod to 1>> <</if>> <<set $stress += (_violence * _drunkMod * _stressMod) * (1 - ($masochism / 1200))>> <<combattrauma `_violence * _traumaMod`>> <<set $pain += (_violence * _painMod * (1 - ($masochism / 1200)) * (1 - ($sciencetrait / 10)) / _possessMod)>> <<set _arousal to (_violence * (0 + ($masochism / 18)))>> <<arousal _arousal/_possessMod "maso">> <<if $orgasmdown gte 1>> <<if $masochism gte 800>> <<masochism `(_violence / 20)`>> <<elseif $masochism gte 500>> <<masochism `(_violence / 10)`>> <<elseif $masochism gte 300>> <<masochism `(_violence / 6)`>> <<elseif $masochism gte 100>> <<masochism `(_violence / 2)`>> <<else>> <<masochism _violence>> <</if>> <</if>> <<if _violence gte 6>> <<set $enemyanger -= 5>> <<else>> <<set $enemyanger -= _violence>> <</if>> <<set $enemyarousal += 1>> <<painclamp>> <</if>> <</if>> <</widget>> <<widget "violence_noncombat">> <<if _args.length gte 1>> <<set _violence = _args[0]>> <<set _stressMod = _args[1] || 1>> <<set _traumaMod = _args[2] || 1>> <<set _painMod = _args[3] || 1>> <<set _arousalMod = _args[4] || 1>> <<if _violence gt 0 or _violence lt 0>> <<if $drunk gt 0>> <<set $_drunk_level to Math.clamp(Math.floor($drunk / 120), 0, 4)>> <<set _drunkMod to [9,8,6,4,3][$_drunk_level]>> <<else>> <<set _drunkMod to 10>> <</if>> <<set $stress += (_violence * _drunkMod * _stressMod) * (1 - ($masochism / 1200))>> <<trauma `_violence * _traumaMod`>> <<set $pain += (_violence * _painMod * (1 - ($masochism / 1200)) * (1 - ($sciencetrait / 10)))>> <<set _arousal to (_violence * _arousalMod * (0 + ($masochism / 18)))>> <<arousal _arousal "maso">> <<set $arousalmasochism += (_violence * (0 + ($masochism / 7)))>> <<if $orgasmdown gte 1>> <<if $masochism gte 800>> <<masochism `(_violence / 20)`>> <<elseif $masochism gte 500>> <<masochism `(_violence / 10)`>> <<elseif $masochism gte 300>> <<masochism `(_violence / 6)`>> <<elseif $masochism gte 100>> <<masochism `(_violence / 2)`>> <<else>> <<masochism _violence>> <</if>> <</if>> <<painclamp>> <</if>> <</if>> <</widget>> <<widget "submission">> <!-- Comment Akoz: this won't use sensitivities as I reckon this arousal source is --> <!-- entirely psychological. --> <!-- args[0] - the submission value --> <!-- args[1] - the NPC to whom PC is submitting (currently unused) --> <<if _args[0]>> <<if $consensual isnot 1>> <<if $drunk gt 0>> <<set $_drunk_level to Math.clamp(Math.floor($drunk / 120), 0, 4)>> <<set $_stress_multiplier to [9,8,6,4,3][$_drunk_level]>> <<else>> <<set $_stress_multiplier to 10>> <</if>> <<stress _args[0] $_stress_multiplier>> <<sub `_args[0] / 4`>> <<else>> <<set $stress -= 10 * _args[0]>> <<set $assertive += 1>> <</if>> <<set _arousal to 20 * _args[0]>> <<arousal _arousal>> <<set $enemyarousal += 3 * _args[0]>> <<set $enemytrust += 2>> <</if>> <</widget>> <<widget "defiance">> <<if _args[0]>> <<set _defiance to (_args[0] * (1 + ($sadism / 1000)))>> <<set $stress -= 10 * _defiance>> <<combattrauma `-_defiance`>> <<set $enemyanger += 5 * _defiance>> <<def `_args[0] / 4`>> <<set $enemytrust -= 4>> <<set _defiance_arousal to (_defiance * ($sadism / 40))>> <<arousal _defiance_arousal>> <<if $arousal gte ($arousalmax * 0.8)>> <<sadism _args[0]>> <</if>> <<set _thedamage to (2 * _defiance * ($physique / 4000))>> <<if $enemyno gte 2>> <<npcdamage _args[1]>> <</if>> <<set $enemyhealth -= _thedamage>> <</if>> <</widget>> <<widget "brat">> <<if _args[0]>> <<if $drunk gt 0>> <<set $_drunk_level to Math.clamp(Math.floor($drunk / 120), 0, 4)>> <<set $_stress_multiplier to [9,8,6,4,3][$_drunk_level]>> <<else>> <<set $_stress_multiplier to 10>> <</if>> <<stress _args[0] $_stress_multiplier>> <<combattrauma `-1 * _args[0]`>> <<if _args[1] is "demanding">> <<set $enemyanger += 20 * _args[0]>> <<elseif $NPCList[0].legs isnot "walk">> <<set $enemyanger += 5 * _args[0]>> <</if>> <<def `_args[0] / 4`>> <<set $enemytrust -= 2>> <<set $NPCList[0].bold to ($NPCList[0].bold gte _args[0] * 10 ? $NPCList[0].bold - _args[0] * 10 : 0)>> <</if>> <</widget>> <<widget "meek">> <!-- Comment Akoz: this won't use sensitivities as I reckon this arousal source is --> <!-- entirely psychological. --> <!-- args[0] - the meek value --> <!-- args[1] - the NPC for whom PC is acting meekly (currently unused) --> <<if _args[0]>> <<if $consensual isnot 1>> <<sub `_args[0] / 4`>> <<else>> <<set $assertive += 1>> <</if>> <<set _arousal to 20 * _args[0]>> <<arousal _arousal>> <<set $enemyarousal += _args[0]>> <<set $enemytrust += 1>> <<set $enemyanger -= _args[0]>> <</if>> <</widget>> <<widget "crimeUp">><<silently>> <<if $statFreeze isnot true>> <<if _args[0] eq null>> <<set _crimeError to `No input found for crimeUp widget!`>> <<elseif isNaN(_args[0])>> <<set _crimeError to `NaN input found for crimeUp widget: '${_args[0]}'`>> <<elseif _args[0] lt 0>> <<set _crimeError to `Negative input found for crimeUp widget: '${_args[0]}'`>> <<elseif _args[0] gt 0>> <<set _crimeType to _args[1] || "thievery">> <<if !setup.crimeNames[_crimeType]>> <<run Errors.report("Extra-Illegal crime committed of type; " + _crimeType + " defaulted to thievery")>> <<set _crimeType to "thievery">> <</if>> <<set $_crimemod to Number(_args[0])>> <<set $_crimeMult to 1>> <<if !["coercion", "resisting"].includes(_crimeType)>> <!-- ignore stealth (or concealed identity) for crimes where it is irrelevant; --> <!-- resisting arrest where the player's identity is explicitly known, and coercion where the player's force of personality is needed --> /* The following commented code contains experimental factors for calculating stealth */ /* <<set $_crime1 to Math.clamp($crime, C.crime.min, C.crime.max / 10)>> <<set $_crime2 to $crime - $_crime1>> <<set $_crime2 to Math.clamp($crime - $_crime1, C.crime.min, C.crime.max / 10)>> <!-- crime1 = first 5k of crime, crime2 = next 5k of crime --> <<set $_normCrime1 to normalise($_crime1, C.crime.max / 10)>> <<set $_normCrime2 to normalise($_crime2, C.crime.max / 10)>> <!-- Both normalized to percentage of max/10 (currently 5k) --> <<set $_stealthReduce1 to expCurve($_normcrime1, 3.0)>> <!-- First 5k of crime at a curve to 5000 --> */ <<set $_stealthfactor to ( 0.15 * ( 1 - normalise($crime[_crimeType].current, C.crime.max ) ) )>> <!-- Stealth gives 15%, but reduced by existing crime stat down to 0 at C.crime.max --> <!-- At 10k crime of the current type, stealthy equipment is effectively useless - too much evidence --> <!-- Filter to all items with type "stealthy" and count them --> <<set $_stealthMult to Object.values($worn).filter(item => item.type.includes("stealthy")).length>> <<set $_crimeMult -= $_stealthfactor * $_stealthMult>> <!-- Filter to all items with type "unstealthy" and count them --> <<set $_unstealthMult to Object.values($worn).filter(item => item.type.includes("unstealthy")).length>> <<set $_crimeMult += 0.15 * $_unstealthMult>> <<if ["thievery", "petty", "trespassing"].includes(_crimeType)>> <!-- For stealthy crimes, player skulduggery skill gives further reduction up to another 15%. 1000 is max skulduggery clamp, replace as needed --> <<set $_skillMult to ( 0.15 * normalise($skulduggery, 1000) )>> <<set $_crimeMult -= $_skillMult>> <</if>> <<set $_crimemod to Math.ceil($_crimemod * $_crimeMult)>> <<if ["petty"].includes(_crimeType) and $skulduggery gte 500>> <!-- Petty thievery has extra flat reduction if skulduggery skill above 500 (C+), possibly negating the crime gain entirely --> <<set $_crimemod -= Math.floor($skulduggery / 10)>> <</if>> <</if>> <<set $_crimemod to Math.clamp($_crimemod, 0, C.crime.max)>> <<if $_crimemod gt 0>> <!-- If crime gain is still greater than 0, add to crime daily, history, count, and Avery crimetracker--> <!-- crimemod lte 0 represents a crime the player completely got away with, so nothing is recorded--> <<set C.crime[_crimeType] += $_crimemod>> <<set C.crime[_crimeType + "History"] += $_crimemod>> <<set C.crime[_crimeType + "Daily"] += $_crimemod>> <<set C.crime[_crimeType + "Count"] += 1>> <<set C.crime[_crimeType + "CountHistory"] += 1>> <<if $averyCrimeTracker neq null>> <<set $averyCrimeTracker += $_crimemod>> <</if>> <<if $exposed gte 1 and _crimeType isnot "exposure">> <<set C.crime.exposure += $_crimemod>> <<set C.crime.exposureHistory += $_crimemod>> <<set C.crime.exposureDaily += $_crimemod>> <<set C.crime.exposureCount += 1>> <<set C.crime.exposureCountHistory += 1>> <</if>> <<if ["thievery", "petty"].includes(_crimeType) and $foxbuild gte 1 and Math.max($wolfbuild, $catbuild, $cowbuild, $birdbuild, $foxbuild) is $foxbuild>> <!-- If the player steals enough, and fox is their highest beast TF (and above 0), apply fox TF pressure --> <<if !$foxCrimeProgress>> <!-- Resets daily at 6AM, in dawnCheck, time.js --> <<set $foxCrimeProgress to 0>> <</if>> <<set $foxCrimeProgress += $_crimemod>> <<set $_foxCrimeRequired = Math.floor(50 * (1 + $foxbuild))>> <<if $foxCrimeProgress gte $_foxCrimeRequired>> <<transform fox 1>> <<set $effectsmessage to true>> <<set $foxCrimeMessage to true>> <<set $foxCrimeProgress to Math.clamp($foxCrimeProgress, 0, ($foxCrimeProgress - $_foxCrimeRequired))>> <</if>> <</if>> <<if _args[2]>> <!-- Optional argument to record more specific crimes with description. Does not work yet, unused.--> <<set _description to _args[2]>> <<if !setup.crimeDescs[_description]>> <<run Errors.report("Extra-Illegal crime committed of description; " + _description + " crime event not logged")>> <<else>> <<run C.crime.logEvent($_crimemod, _crimeType, _description)>> <</if>> <</if>> <</if>> <<if $earSlime.event is "steal something" and ["thievery", "petty"].includes(_crimeType)>> <<set $earSlime.event to "">><<set $earSlime.noSleep to false>> <</if>> <</if>> <</if>> <</silently>><<if _crimeError>><<error {message:T.crimeError}>><</if>><</widget>> <<widget "crimeUpFlat">><<silently>> <!-- stripped down widget with no extra effects, modifiers, or optional arguments, ideally used for cheats and debugging --> <<if $statFreeze isnot true>> <<if _args[0] eq null>> <<set _crimeError to `No input found for crimeUpFlat widget!`>> <<elseif isNaN(_args[0])>> <<set _crimeError to `NaN input found for crimeUpFlat widget: '${_args[0]}'`>> <<elseif _args[0] lt 0>> <<set _crimeError to `Negative input found for crimeUpFlat widget: '${_args[0]}'`>> <<elseif _args[0] gt 0>> <<set _crimeType to _args[1] || "thievery">> <<if !setup.crimeNames[_crimeType]>> <<run Errors.report("Extra-Illegal crime (flat) committed of type; " + _crimeType + " defaulted to thievery")>> <<set _crimeType to "thievery">> <</if>> <<set $_crimemod to Number(_args[0])>> <<if _args[0] gt 0>> <<set C.crime[_crimeType] += $_crimemod>> <<set C.crime[_crimeType + "History"] += $_crimemod>> <<set C.crime[_crimeType + "Daily"] += $_crimemod>> <<set C.crime[_crimeType + "Count"] += 1>> <<set C.crime[_crimeType + "CountHistory"] += 1>> <</if>> <</if>> <</if>> <</silently>><<if _crimeError>><<error {message:T.crimeError}>><</if>><</widget>> <<widget "crimeDown">><<silently>> <<if $statFreeze isnot true>> <<if _args[0] eq null>> <<set _crimeError to `No input found for crimeDown widget!`>> <<elseif isNaN(_args[0])>> <<set _crimeError to `NaN input found for crimeDown widget: '${_args[0]}'`>> <<elseif _args[0] lt 0>> <<set _crimeError to `Negative input found for crimeDown widget: '${_args[0]}'`>> <<elseif _args[0] gt 0>> <<set _crimeDown to _args[0]>> <<if _args[1] and _args[1] isnot "all">> <<set _crimeType to _args[1]>> <<if !setup.crimeNames[_crimeType]>> <<run Errors.report("Extra-Illegal crime reduced of type; " + _crimeType + " defaulted to thievery")>> <<set _crimeType to "thievery">> <</if>> <<if C.crime[_crimeType] gt 0>> <<if _crimeDown lte 1>> <!-- Reduce crime by percent --> <<set C.crime[_crimeType] to Math.ceil(C.crime[_crimeType] * _crimeDown)>> <<set C.crime[_crimeType + "Daily"] to Math.ceil(C.crime[_crimeType + "Daily"] * _crimeDown)>> <<set C.crime[_crimeType + "Count"] to Math.ceil(C.crime[_crimeType + "Count"] * _crimeDown)>> <<else>> <!-- Reduce crime by value --> <<set $_crimeDiv to normalise(C.crime[_crimeType] - _crimeDown, C.crime[_crimeType], C.crime.min)>> <<set C.crime[_crimeType] -= _crimeDown>> <<set C.crime[_crimeType + "Daily"] -= _crimeDown>> <!-- Reduce crime type count by same percentile as total crime loss--> <<set C.crime[_crimeType + "Count"] to Math.ceil(C.crime[_crimeType + "Count"] * $_crimeDiv)>> <</if>> <</if>> <<else>> <!-- If no crime type specified, apply to all --> <<for _crimeType range Object.keys(setup.crimeNames)>> <<if C.crime[_crimeType] gt 0>> <<if _crimeDown lte 1>> <!-- Reduce crime by percent --> <<set C.crime[_crimeType] to Math.ceil(C.crime[_crimeType] * _crimeDown)>> <<set C.crime[_crimeType + "Daily"] to Math.ceil(C.crime[_crimeType + "Daily"] * _crimeDown)>> <<set C.crime[_crimeType + "Count"] to Math.ceil(C.crime[_crimeType + "Count"] * _crimeDown)>> <<else>> <<set $_crimeDiv to normalise(C.crime[_crimeType] - _crimeDown, C.crime[_crimeType], C.crime.min)>> <<set C.crime[_crimeType] -= _crimeDown>> <<set C.crime[_crimeType + "Daily"] -= _crimeDown>> <<set C.crime[_crimeType + "Count"] to Math.ceil(C.crime[_crimeType + "Count"] * $_crimeDiv)>> <<unset $_crimeDiv>> <</if>> <</if>> <</for>> <</if>> <</if>> <</if>> <</silently>><<if _crimeError>><<error {message:T.crimeError}>><</if>><</widget>> <<widget "crimeClear">> <<if $statFreeze isnot true>> <<if _args[0] and _args[0] isnot "all">> <<set _crimeClearType to _args[0]>> <<if !setup.crimeNames[_crimeClearType]>> <<run Errors.report("Extra-Illegal crime cleared of type; " + _crimeClearType)>> <<else>> <<set C.crime[_crimeClearType] = 0>> <<set C.crime[_crimeClearType + "Count"] = 0>> <<set C.crime[_crimeClearType + "Daily"] = 0>> <<run C.crime.clearEvents(_crimeClearType)>> <</if>> <<else>> <!-- If no crime type specified, zero all categories --> <<for _crimeClearType range Object.keys(setup.crimeNames)>> <<set C.crime[_crimeClearType] = 0>> <<set C.crime[_crimeClearType + "Count"] = 0>> <<set C.crime[_crimeClearType + "Daily"] = 0>> <<run C.crime.clearEvents()>> <</for>> <</if>> <</if>> <</widget>> <<widget "crimeClearEvent">> <<if $statFreeze isnot true>> <<if _args[0] and _args[0] isnot "all">> <<set _crimeClearEvent to _args[0]>> <<if !setup.crimeDescs[_crimeClearEvent]>> <<run Errors.report("Extra-Illegal crime event cleared of description; " + _crimeClearEvent)>> <<else>> <<run C.crime.clearEvents(null, _crimeClearEvent)>> <</if>> <<else>> <<run C.crime.clearEvents()>> <</if>> <</if>> <</widget>> <<widget "listCrimeCheats">> <<if Object.keys(V.crime.events).length isnot 0>> <<for $_ce range Object.keys(V.crime.events)>> <<print $_ce.toUpperFirst() + ": " + setup.crimeDescs[$_ce].toUpperFirst() + ", " + $crime.events[$_ce].length + " count(s)">> <</for>> <<else>> <span class="red">No unique crime events</span> <</if>> <</widget>> <<widget "crimeParade">> <<set _crimes_output to "">> <<for $_crimeType range Object.keys(setup.crimeNames)>> <<if C.crime[$_crimeType + "Count"] gte 1>> <<set $_crimes_output to "">> <<number `C.crime[$_crimeType + "Count"]` "silent">> <<set $_crimes_output += "- " + _text_output.toLocaleUpperFirst() + " count">> <<if C.crime[$_crimeType + "Count"] isnot 1>> <<set $_crimes_output += "s">> <</if>> <<set $_crimes_output += " of " + toTitleCase(setup.crimeNames[$_crimeType])>> <<unset _text_output>> <<set $_crimes_event_list to []>> <<for $_ce range Object.keys($crime.events)>> <<set $_crDescLen to $crime.events[$_ce].filter(e => e.type is $_crimeType).length>> <<if $_crDescLen gte 1>> <<number $_crDescLen "silent">> <<set $_crDescStr to _text_output + " count">> <<if $_crDescLen gt 1>> <<set $_crDescStr += "s">> <</if>> <<set $_crDescStr += " of " + setup.crimeDescs[$_ce]>> <<unset _text_output>> <<set $_crimes_event_list.push($_crDescStr)>> <</if>> <</for>> <<if $_crimes_event_list.length isnot 0>> <<set $_crimes_output += ", including ">> <<set $_crimes_output += formatList($_crimes_event_list, "and", true)>> <</if>> <<set $_crimes_output += ".">><span class="red"><<print $_crimes_output>></span> <<set _crimes_output += $_crimes_output + "<br>">> <br> <</if>> <</for>> <</widget>> <<widget "seductionskilluse">> <<set $enemyarousal += (currentSkillValue("seductionskill") / 100)>><<seductionskill 5>> <</widget>> <<widget "seductionskilluptext">> <<if $seductionskill lt 1000>> <span class="gold">You feel more confident in your powers of seduction.</span> <br><br> <</if>> <</widget>> <<widget "seductionskillusecombat">> <<set $enemyarousal += (currentSkillValue("seductionskill") / 100)>><<seductionskill 5>><<set $seductionskillup to 1>> <</widget>> <<widget "oralskilluse">> <<set $enemyarousal += (currentSkillValue("oralskill") / 100)>><<oralskill 5>><<set $oralskillup to 1>> <</widget>> <<widget "vaginalskilluse">> <<set $enemyarousal += (currentSkillValue("vaginalskill") / 100)>><<vaginalskill 5>><<set $vaginalskillup to 1>> <</widget>> <<widget "analskilluse">> <<set $enemyarousal += (currentSkillValue("analskill") / 100)>><<analskill 5>><<set $analskillup to 1>> <</widget>> <<widget "handskilluse">> <<set $enemyarousal += (currentSkillValue("handskill") / 100)>><<handskill 5>><<set $handskillup to 1>> <</widget>> <<widget "feetskilluse">> <<set $enemyarousal += (currentSkillValue("feetskill") / 100)>><<feetskill 5>><<set $feetskillup to 1>> <</widget>> <<widget "bottomskilluse">> <<set $enemyarousal += (currentSkillValue("bottomskill") / 100)>><<bottomskill 5>><<set $bottomskillup to 1>> <</widget>> <<widget "thighskilluse">> <<set $enemyarousal += (currentSkillValue("thighskill") / 100)>><<thighskill 5>><<set $thighskillup to 1>> <</widget>> <<widget "chestskilluse">> <<set $enemyarousal += (currentSkillValue("chestskill") / 100)>><<chestskill 5>><<set $chestskillup to 1>> <</widget>> <<widget "penileskilluse">> <<set $enemyarousal += (currentSkillValue("penileskill") / 100)>><<penileskill 5>><<set $penileskillup to 1>> <</widget>> <<widget "skulduggeryskilluse">> <<if $statFreeze isnot true>> <<set $skulduggery += 3>> <<if $skulduggery lt 1000>> <span class="gold"> You learned a thing or two about skulduggery.</span> <</if>> <</if>> <br><br> <</widget>> <<widget "combatskulduggeryskilluse">> <<if $statFreeze isnot true>> <<set $skulduggery += 3>> <<set $skulduggery to Math.clamp($skulduggery, 0, 1000)>> <<if $skulduggery lt 1000>> <span class="gold"> You learned a thing or two about skulduggery.</span> <</if>> <</if>> <</widget>> <<widget "swimmingskilluse">> <<if $statFreeze isnot true>> <<set $swimmingskill += 9>> <<if $swimmingskill lt 1000>> <span class="gold"> You've become more confident at swimming.</span> <</if>> <<set $swimmingskill to Math.clamp($swimmingskill, 0, 1000)>> <</if>> <</widget>> <<widget "danceskilluse">> <<if $statFreeze isnot true>> <<danceskill 1>> <<if $danceskill lt 1000>> <span class="gold"> You feel more confident in your dancing abilities.</span> <</if>> <</if>> <</widget>> <<widget "schoolskillgeneral">> <<if $statFreeze isnot true>> <<set $_subject to _args[0]>> <<set $_gain to _args[1] || 1>> <<set _skill_mod to [2.4, 1.2, 0.6, 0.3][Math.clamp(V[$_subject + "trait"], 0, 3)]>> <<if _args[2] isnot "no_star">> <<if V[$_subject + "_star"] lt 3>> <<set V[$_subject + "_star"] += 1>> <</if>> <<if $worn.face.type.includes("glasses")>> <<set _skill_mod *= 1.2>> <</if>> <<if $exposed gte 1>> <<set _skill_mod *= 1.2>> <</if>> <</if>> <<set V[$_subject + "_exam"] to Math.clamp(V[$_subject + "_exam"] + ($_gain * _skill_mod), -107, 200)>> <</if>> <</widget>> <<widget "scienceskill">> <<schoolskillgeneral "science" _args[0] _args[1]>> <</widget>> <<widget "mathsskill">>/*Faster to account for fewer lessons.*/ <<schoolskillgeneral "maths" `_args[0] * 1.2` _args[1]>> <</widget>> <<widget "englishskill">> <<schoolskillgeneral "english" _args[0] _args[1]>> <</widget>> <<widget "historyskill">> <<schoolskillgeneral "history" _args[0] _args[1]>> <</widget>> <<widget "passiveStudy">> <<if $statFreeze isnot true>> <<switch $studyBooks.rented>> <<case "science">> <<scienceskill 6 "no_star">> <<case "maths">> <<mathsskill 6 "no_star">> <<case "English">> <<englishskill 6 "no_star">> <<case "history">> <<historyskill 6 "no_star">> <<default>> <</switch>> <<switch $studyBooks.stolen>> <<case "science">> <<scienceskill 6 "no_star">> <<case "maths">> <<mathsskill 6 "no_star">> <<case "English">> <<englishskill 6 "no_star">> <<case "history">> <<historyskill 6 "no_star">> <<default>> <</switch>> <</if>> <</widget>> <<widget "schoolskill">> <<if _args[0]>> <<historyskill _args[0]>> <<mathsskill _args[0]>> <<scienceskill _args[0]>> <<englishskill _args[0]>> <<else>> <<historyskill>> <<mathsskill>> <<scienceskill>> <<englishskill>> <</if>> <</widget>> <<widget "athletics">> <<if !_args[0] or $statFreeze is true>> <<exit>> <</if>> <<set _temp to _args[0] || 1>> <<set _temp *= ($exposed gte 2 ? 1.2 : $exposed is 1 ? 1.1 : 1)>> <<for _slot range ["upper", "lower", "feet", "legs"]>> <<if $worn[_slot].type.includes("athletic")>> <<set _temp *= 1.1>> <</if>> <</for>> <<if $worn.under_upper.type.includes("athletic") and $player.breastsize gte 6>> <<set _temp *= 1.1>> <<elseif $player.breastsize gte 6>> <<set _temp /= 1.1>> <</if>> <<set $athletics += Math.trunc(_temp * 1.3)>> <<set $athletics to Math.clamp($athletics, 0, 1000)>> <<set Weather.BodyTemperature.addActivity("athletics")>> <</widget>> <<widget "tending">> <<if _args[0] and $statFreeze isnot true>> <<set $tending += (_args[0] * 2)>> <<set $tending to Math.clamp($tending, 0, 1000)>> <</if>> <</widget>> <<widget "housekeeping">> <<if _args[1]>> <<if _args[0] and $statFreeze isnot true and $housekeeping lt _args[1]>> <<set $housekeeping += (_args[0] * 2)>> <<set $housekeeping to Math.clamp($housekeeping, 0, 1000)>> <</if>> <<else>> <<if _args[0] and $statFreeze isnot true>> <<set $housekeeping += (_args[0] * 2)>> <<set $housekeeping to Math.clamp($housekeeping, 0, 1000)>> <</if>> <</if>> <</widget>> <<widget "danceskill">> <<if _args[0] and $statFreeze isnot true>> <<set $danceskill += _args[0]>> <<set $danceskill to Math.clamp($danceskill, 0, 1000)>> <</if>> <</widget>> <<widget "physique">> <<if $statFreeze is true>> <<exit>> <</if>> <<if _args[0]>><<set _temp to _args[0]>><<set $workouts += _args[0]>><<else>><<set _temp to 1>><<set $workouts += 1>><</if>> <<if $exposed gte 2>> <<set _temp *= 1.2>> <<elseif $exposed is 1>> <<set _temp *= 1.1>> <</if>> <<set $physique += 10 * _temp>><<set $physiqueuse += _temp>> <<if _args[1]>> <<if _args[1] isnot "noMessage">> <<if ($combat is 1 and _args[1] isnot "workout") or _args[1] is "invig">> <span class="gold"> It invigorates you.</span> <<else>> <span class="gold"> You get a good workout.</span> <</if>> <</if>> <<elseif $combat is 1>> <span class="gold"> It invigorates you.</span> <<else>> <span class="gold"> You get a good workout.</span> <</if>> <<set $physique = Math.clamp($physique, 0, $physiquesize)>> <<set Weather.BodyTemperature.addActivity("physique")>> <</widget>> <<widget "physique_loss">> <<if _args[0] and $statFreeze isnot true>> <<set $physique -= 10 * _args[0]>> <</if>> <</widget>> <<widget "bruise">> <<if _args[0] and $statFreeze isnot true>> <<switch _args[0]>> <<case "face">> <<set $facebruise += 1>> <<set $facebruise to Math.clamp($facebruise, 0, 100)>> <<case "neck">> <<set $neckbruise += 1>> <<set $neckbruise to Math.clamp($neckbruise, 0, 100)>> <<case "chest">> <<set $chestbruise += 1>> <<set $chestbruise to Math.clamp($chestbruise, 0, 100)>> <<case "rightarm">> <<set $rightarmbruise += 1>> <<set $rightarmbruise to Math.clamp($rightarmbruise, 0, 100)>> <<case "leftarm">> <<set $leftarmbruise += 1>> <<set $leftarmbruise to Math.clamp($leftarmbruise, 0, 100)>> <<case "tummy">> <<set $tummybruise += 1>> <<set $tummybruise to Math.clamp($tummybruise, 0, 100)>> <<case "bottom">> <<set $bottombruise += 1>> <<set $bottombruise to Math.clamp($bottombruise, 0, 100)>> <<case "thigh">> <<set $thighbruise += 1>> <<set $thighbruise to Math.clamp($thighbruise, 0, 100)>> <<case "anus">> <<set $anusbruise += 1>> <<set $anusbruise to Math.clamp($anusbruise, 0, 100)>> <<case "vagina">> <<set $vaginabruise += 1>> <<set $vaginabruise to Math.clamp($vaginabruise, 0, 100)>> <<case "penis">> <<set $penisbruise += 1>> <<set $penisbruise to Math.clamp($penisbruise, 0, 100)>> <<case "full">> <<set $facebruise += 1>> <<set $neckbruise += 1>> <<set $chestbruise += 1>> <<set $rightarmbruise += 1>> <<set $leftarmbruise += 1>> <<set $tummybruise += 1>> <<set $bottombruise += 1>> <<set $thighbruise += 1>> <<set $facebruise to Math.clamp($facebruise, 0, 100)>> <<set $chestbruise to Math.clamp($chestbruise, 0, 100)>> <<set $tummybruise to Math.clamp($tummybruise, 0, 100)>> <<set $vaginabruise to Math.clamp($vaginabruise, 0, 100)>> <<set $penisbruise to Math.clamp($penisbruise, 0, 100)>> <<set $anusbruise to Math.clamp($anusbruise, 0, 100)>> <<set $bottombruise to Math.clamp($bottombruise, 0, 100)>> <<set $thighbruise to Math.clamp($thighbruise, 0, 100)>> <<set $leftarmbruise to Math.clamp($leftarmbruise, 0, 100)>> <<set $rightarmbruise to Math.clamp($rightarmbruise, 0, 100)>> <<set $neckbruise to Math.clamp($neckbruise, 0, 100)>> <</switch>> <</if>> <</widget>> <<widget "rapestat">><<if $statFreeze isnot true>><<set $rapestat += 1>><<set $rapeTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "moleststat">><<if $statFreeze isnot true>><<set $moleststat += 1>><<set $molestTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "vaginalstat">><<if $statFreeze isnot true>><<set $vaginalstat += 1>><<set $vaginalTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "vaginalejacstat">><<if $statFreeze isnot true>><<set $vaginalejacstat += 1>><<purity -1>><<internalejac>><<fertiliseParasites "vagina">><<creampie "self" "vagina">><<set $vaginalEjacTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "analstat">><<if $statFreeze isnot true>><<set $analstat += 1>><<set $analTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "analejacstat">><<if $statFreeze isnot true>><<set $analejacstat += 1>><<purity -1>><<internalejac>><<fertiliseParasites>><<creampie "self" "anus">><<set $analEjacTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "oralstat">><<if $statFreeze isnot true>><<set $oralstat += 1>><</if>><</widget>> <<widget "oralejacstat">><<if $statFreeze isnot true>><<set $oralejacstat += 1>><<purity -1>><<internalejac>><<creampie "self" "mouth">><</if>><</widget>> <<widget "cunnilingusstat">><<if $statFreeze isnot true>><<set $cunnilingusstat += 1>><</if>><</widget>> <<widget "cunnilingusejacstat">><<if $statFreeze isnot true>><<set $cunnilingusejacstat += 1>><</if>><</widget>> <<widget "handstat">><<if $statFreeze isnot true>><<set $handstat += 1>><</if>><</widget>> <<widget "handejacstat">><<if $statFreeze isnot true>><<set $handejacstat += 1>><</if>><</widget>> <<widget "feetstat">><<if $statFreeze isnot true>><<set $feetstat += 1>><</if>><</widget>> <<widget "feetejacstat">><<if $statFreeze isnot true>><<set $feetejacstat += 1>><</if>><</widget>> <<widget "thighstat">><<if $statFreeze isnot true>><<set $thighstat += 1>><</if>><</widget>> <<widget "thighejacstat">><<if $statFreeze isnot true>><<set $thighejacstat += 1>><</if>><</widget>> <<widget "cheststat">><<if $statFreeze isnot true>><<set $cheststat += 1>><</if>><</widget>> <<widget "chestejacstat">><<if $statFreeze isnot true>><<set $chestejacstat += 1>><</if>><</widget>> <<widget "bottomstat">><<if $statFreeze isnot true>><<set $bottomstat += 1>><</if>><</widget>> <<widget "bottomejacstat">><<if $statFreeze isnot true>><<set $bottomejacstat += 1>><</if>><</widget>> <<widget "penilestat">><<silently>> <<if $statFreeze isnot true>> <<if $player.penisExist and !playerHasStrapon()>> <<set $penilestat += 1>> <<set $penileTimeStat to Time.date.timeStamp>> <<elseif playerHasStrapon()>> <<set $straponstat += 1>> <</if>> <</if>><</silently>><</widget>> <<widget "penileejacstat">><<if $statFreeze isnot true>><<set $penileejacstat += 1>><<set $penileEjacTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "clothesstripstat">><<if $statFreeze isnot true>><<set $clothesstripstat += 1>><</if>><</widget>> <<widget "clothesruinstat">><<if $statFreeze isnot true>><<set $clothesruinstat += 1>><</if>><</widget>> <<widget "orgasmstat">><<if $statFreeze isnot true>><<set $orgasmstat += 1>><<set $orgasmTimeStat to Time.date.timeStamp>><</if>><</widget>> <<widget "ejacstat">><<if $statFreeze isnot true>><<set $ejacstat += 1>><</if>><</widget>> <<widget "hitstat">><<if $statFreeze isnot true>><<set $hitstat += 1>><</if>><</widget>> <<widget "attackstat">><<if $statFreeze isnot true>><<set $attackstat += 1>><</if>><</widget>> <<widget "vaginalentranceejacstat">><<if $statFreeze isnot true>><<set $vaginalentranceejacstat += 1>><</if>><</widget>> <<widget "faceejacstat">><<if $statFreeze isnot true>><<set $faceejacstat += 1>><</if>><</widget>> <<widget "hairejacstat">><<if $statFreeze isnot true>><<set $hairejacstat += 1>><</if>><</widget>> <<widget "tummyejacstat">><<if $statFreeze isnot true>><<set $tummyejacstat += 1>><</if>><</widget>> <<widget "neckejacstat">><<if $statFreeze isnot true>><<set $neckejacstat += 1>><</if>><</widget>> <<widget "dancestat">><<if $statFreeze isnot true>><<set $dancestat += 1>><</if>><</widget>> <<widget "analdoublestat">><<if $statFreeze isnot true>><<set $analdoublestat += 1>><</if>><</widget>> <<widget "vaginaldoublestat">><<if $statFreeze isnot true>><<set $vaginaldoublestat += 1>><</if>><</widget>> <<widget "sextoystat">><<if $statFreeze isnot true>><<set $sextoystat += 1>><</if>><</widget>> <<widget "urinestat">><<if $statFreeze isnot true>><<if _args[0]>><<set $urinestat += _args[0]>><<else>><<set $urinestat += 1>><</if>><</if>><</widget>> <<widget "distinction_stat">> <<if $statFreeze isnot true>> <<set $distinction_stat += 1>> <<if $distinction_stat gte 15>> <<earnFeat "Distinguished">> <<elseif $distinction_stat gte 5>> <<earnFeat "Distinctive">> <<else>> <<earnFeat "Distinction">> <</if>> <</if>> <</widget>> <<widget "knot_stat">> <<if $statFreeze isnot true>> <<if $knot_stat is undefined>> <<set $knot_stat to 0>> <</if>> <<set $knot_stat += 1>> <</if>> <</widget>> <<widget "hunger">> <<if _args[0] and $statFreeze isnot true>> <<set $hunger += _args[0]>> <<set $hunger = Math.clamp($hunger, 0, 2000)>> <</if>> <</widget>> <<widget "hunger_description">> <<if $hunger gte 2000>><span class="red">You are starving!</span> <<elseif $hunger gte 1600>><span class="pink">You are famished.</span> <<elseif $hunger gte 1200>><span class="purple">You are ravenous.</span> <<elseif $hunger gte 800>><span class="blue">You are hungry.</span> <<elseif $hunger gte 400>><span class="lblue">You are peckish.</span> <<elseif $hunger gte 1>><span class="teal">You are satiated.</span> <<else>><span class="green">You are full.</span> <</if>> <</widget>> <<widget "thirst">> <<if $thirst gte 2000>><span class="red">You are dehydrated!</span> <<elseif $thirst gte 1600>><span class="pink">You are really thirsty.</span> <<elseif $thirst gte 1200>><span class="purple">You are thirsty.</span> <<elseif $thirst gte 800>><span class="blue">Your throat is dry.</span> <<elseif $thirst gte 400>><span class="lblue">You are satisfied.</span> <<elseif $thirst gte 1>><span class="teal">You are satiated.</span> <<elseif $thirst lte 0>><span class="green">You are full.</span> <</if>> <</widget>> <<widget "tirednesscaption">> <<if Number.isFinite($tiredness)>> <div id="tirednesscaption" @title="'Fatigue: ' + $tiredness.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Fatigue: <<if $options.showCaptionText is true>> <<if $tiredness gte C.tiredness.max>> <span class="red">You are exhausted.</span> <<elseif $tiredness gte (C.tiredness.max / 5) * 4>> <span class="pink">You are fatigued.</span> <<elseif $tiredness gte (C.tiredness.max / 5) * 3>> <span class="purple">You are tired.</span> <<elseif $tiredness gte (C.tiredness.max / 5) * 2>> <span class="blue">You are wearied.</span> <<elseif $tiredness gte C.tiredness.max / 5>> <span class="lblue">You are alert.</span> <<elseif $tiredness gte 1>> <span class="teal">You are wide awake.</span> <<else>> <span class="green">You are refreshed.</span> <</if>> <</if>> </div> <<if $tiredness gte C.tiredness.max>> <<set $stress += (($tiredness - C.tiredness.max) * 16)>><<set $trauma += (($tiredness - C.tiredness.max) / 3)>> <</if>> <<set $tiredness = Math.clamp($tiredness, 0, C.tiredness.max)>> <<set _showCaptionText to !$options.showCaptionText>> <<statbar 0 $tiredness `C.tiredness.max` _showCaptionText>> </div> <</if>> <</widget>> <<widget "hygiene">> <<if $hygiene gte 2000>> <span class="red">You are filthy.</span> <<elseif $hygiene gte 1600>> <span class="pink">You are soiled.</span> <<elseif $hygiene gte 1200>> <span class="purple">You are smelly.</span> <<elseif $hygiene gte 800>> <span class="blue">You are messy.</span> <<elseif $hygiene gte 400>> <span class="lblue">You are neat.</span> <<elseif $hygiene gte 1>> <span class="teal">You are clean.</span> <<elseif $hygiene lte 0>> <span class="green">You are speckless.</span> <</if>> <</widget>> <<widget "stresscaption">> <<if Number.isFinite($stress)>> <div id="stresscaption" @title="'Stress: ' + $stress.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Stress: <<if $options.showCaptionText is true>> <<if $stress gte $stressmax>> <span class="red">You are overwhelmed!</span> <<elseif $stress gte ($stressmax / 5) * 4>> <span class="pink">You are distressed.</span> <<elseif $stress gte ($stressmax / 5) * 3>> <span class="purple">You are strained.</span> <<elseif $stress gte ($stressmax / 5) * 2>> <span class="blue">You are tense.</span> <<elseif $stress gte $stressmax / 5>> <span class="lblue">You are calm.</span> <<elseif $stress gte 1>> <span class="teal">You are placid.</span> <<else>> <span class="green">You are serene.</span> <</if>> <</if>> </div> <<set $stress = Math.clamp($stress, 0, $stressmax)>> <<set _showCaptionText to !$options.showCaptionText>> <<statbar 0 $stress $stressmax _showCaptionText>> </div> <</if>> <</widget>> <<widget "traumacaption">> <<if Number.isFinite($trauma)>> <div id="traumacaption" @title="'Trauma: ' + $trauma.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Trauma: <<if $options.showCaptionText is true>> <<if $trauma gte $traumamax>> <span class="red">You feel numb.</span> <<elseif $trauma gte ($traumamax / 5) * 4>> <span class="pink">You are tormented.</span> <<elseif $trauma gte ($traumamax / 5) * 3>> <span class="purple">You are disturbed.</span> <<elseif $trauma gte ($traumamax / 5) * 2>> <span class="blue">You are troubled.</span> <<elseif $trauma gte ($traumamax / 5) * 1>> <span class="lblue">You are nervous.</span> <<elseif $trauma gte 1>> <span class="teal">You are uneasy.</span> <<else>> <span class="green">You are healthy.</span> <</if>> <</if>> </div> <<set _showCaptionText to !$options.showCaptionText>> <<statbar 0 $trauma $traumamax _showCaptionText>> </div> <</if>> <</widget>> <<widget "innocencecaption">> <div id="innocencecaption"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Innocence: <<if $options.showCaptionText is true>> <<if $awareness gte 0>> <span class="red">You understand.</span> <<elseif $awareness gt -40>> <span class="pink">You are uncertain.</span> <<elseif $awareness gt -80>> <span class="purple">You are perplexed.</span> <<elseif $awareness gt -120>> <span class="blue">You are curious.</span> <<elseif $awareness gt -160>> <span class="lblue">You are trusting.</span> <<elseif $awareness gt -200>> <span class="teal">You are naive.</span> <<else>> <span class="green">You are oblivious.</span> <</if>> <</if>> </div> <<set _showCaptionText to !$options.showCaptionText>> <<statbarinverted $awareness -200 _showCaptionText>> <div style="clear:both;"></div> </div> <</widget>> <<widget "controlcaption">> <<if Number.isFinite($control)>> <div id="controlcaption" @title="'Control: ' + $control.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Control: <<if $options.showCaptionText is true>> <<if $possessed>> <<if $control gte $controlmax>> <span class="green">You are in control.</span> <<elseif $control gte ($controlmax / 5) * 4>> <span class="teal">You are nearly in control.</span> <<elseif $control gte ($controlmax / 5) * 3>> <span class="lblue">You are struggling.</span> <<elseif $control gte ($controlmax / 5) * 2>> <span class="blue">Your body feels hollow.</span> <<elseif $control gte ($controlmax / 5) * 1>> <span class="purple">Your mind is numb.</span> <<elseif $control gte 1>> <span class="pink">You're being puppeteered.</span> <<else>> <span class="red">You're helpless.</span> <</if>> <<else>> <<if $control gte $controlmax>> <span class="green">You are confident.</span> <<elseif $control gte ($controlmax / 5) * 4>> <span class="teal">You are insecure.</span> <<elseif $control gte ($controlmax / 5) * 3>> <span class="lblue">You are worried.</span> <<elseif $control gte ($controlmax / 5) * 2>> <span class="blue">You are anxious.</span> <<elseif $control gte ($controlmax / 5) * 1>> <span class="purple">You are scared.</span> <<elseif $control gte 1>> <span class="pink">You are frightened.</span> <<else>> <span class="red">You are terrified.</span> <</if>> <</if>> <</if>> </div> <<set _showCaptionText to !$options.showCaptionText>> <<statbarinverted $control $controlmax _showCaptionText>> </div> <</if>> <</widget>> <<widget "arousalcaption">> <<if Number.isFinite($arousal)>> <div id="arousalcaption" @title="'Arousal: ' + $arousal.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Arousal: <<if $options.showCaptionText is true>> <<if $arousal gte $arousalmax>> <span class="red">You shake with arousal.</span> <<elseif $arousal gte ($arousalmax / 5) * 4>> <span class="pink">A heat rises within.</span> <<elseif $arousal gte ($arousalmax / 5) * 3>> <span class="purple">You feel horny.</span> <<elseif $arousal gte ($arousalmax / 5) * 2>> <span class="blue">You feel lustful.</span> <<elseif $arousal gte $arousalmax / 5>> <span class="lblue">You feel aroused.</span> <<elseif $arousal gte 1>> <span class="teal">You feel stimulated.</span> <<else>> <span class="green">You feel cold.</span> <</if>> <</if>> </div> <<set _showCaptionText to !$options.showCaptionText>> <<statbar `statChange.minArousal()` $arousal $arousalmax _showCaptionText>> </div> <</if>> <</widget>> <<widget "lewditycaption">> <<if Number.isFinite($lewdity)>> <div id="lewditycaption" @title="'lewdity: ' + $lewdity.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> lewdity: <<if $options.showCaptionText is true>> <<if $lewdity gte $lewditymax>> <span class="red">You shiver with energy.</span> <<elseif $lewdity gte ($lewditymax / 5) * 4>> <span class="pink">You feel a trembling.</span> <<elseif $lewdity gte ($lewditymax / 5) * 3>> <span class="purple">You feel exhilarated.</span> <<elseif $lewdity gte ($lewditymax / 5) * 2>> <span class="blue">You feel sensual.</span> <<elseif $lewdity gte $lewditymax / 5>> <span class="lblue">You feel excited.</span> <<elseif $lewdity gte 1>> <span class="teal">You feel tingly.</span> <<else>> <span class="green">You feel steady.</span> <</if>> <</if>> </div> <<set _showCaptionText to !$options.showCaptionText>> <<statbar 0 $lewdity $lewditymax _showCaptionText `restLewdity)`>> </div> <</if>> <</widget>> <<widget "allurecaption">> <<if Number.isFinite($allure)>> <div id="allurecaption" @title="'Allure: ' + $allure.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Allure: <<if $options.showCaptionText is true>> <<if $allure gte (6000 * $alluremod)>><span class="red">You look like you need to be ravaged.</span> <<elseif $allure gte (4000 * $alluremod)>><span class="pink">You look perverted.</span> <<elseif $allure gte (3000 * $alluremod)>><span class="purple">You look lewd.</span> <<elseif $allure gte (2000 * $alluremod)>><span class="blue">You stand out.</span> <<elseif $allure gte (1500 * $alluremod)>><span class="lblue">You attract attention.</span> <<elseif $allure gte (1000 * $alluremod)>><span class="teal">You attract glances.</span> <<else>><span class="green">You look unremarkable.</span> <</if>> <</if>> </div> <div @class="($options.showCaptionText is true ? 'meter' : 'rightMeter')"> <<set _percent=Math.floor(($allure/(8000 * $alluremod))*100)>> <<if $allure gte (6000 * $alluremod)>> <<print '<div class="redbar" style="width:' + _percent + '%"></div>'>> <<elseif $allure gte (4000 * $alluremod)>> <<print '<div class="pinkbar" style="width:' + _percent + '%"></div>'>> <<elseif $allure gte (3000 * $alluremod)>> <<print '<div class="purplebar" style="width:' + _percent + '%"></div>'>> <<elseif $allure gte (2000 * $alluremod)>> <<print '<div class="bluebar" style="width:' + _percent + '%"></div>'>> <<elseif $allure gte (1500 * $alluremod)>> <<print '<div class="lbluebar" style="width:' + _percent + '%"></div>'>> <<elseif $allure gte (1000 * $alluremod)>> <<print '<div class="tealbar" style="width:' + _percent + '%"></div>'>> <<else>> <<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>> <</if>> </div> <<if $allure gte 8000 * $alluremod>><<set $allure to 8000 * $alluremod>><</if>> <<if $alluretest is 1>> <<set $allure += 100000>> <<elseif $alluretest is 2>> <<set $allure -= 100000>> <</if>> </div> <</if>> <</widget>> <<widget "updateallure">> <<run new Wikifier(null, '<<calculateallure>>')>> <<run $('#allurecaption').replaceWith(new Wikifier(null, '<<allurecaption>>').output)>> <</widget>> <<widget "oxygencaption">> <div id="oxygencaption"> <<if _args[0] is true>> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Air: </div> <<set _showCaptionText to !$options.showCaptionText>> <<else>> <<unset _showCaptionText>> <</if>> <<statbarinverted $oxygen $oxygenmax _showCaptionText>> <div style="clear:both;"></div> </div> <</widget>> <<widget "flashbacktown">> <span class="red">You hear a car horn blare somewhere in the distance, and you panic. Phantom tendrils probe your body and restrict your limbs as a wordless voice jeers and promises endless debasement. It lasts only a moment, but the impression of violation remains.</span> <<garousal>><<gstress>><<gtrauma>><<arousal 600>><<stress 12>><<trauma 6>> <br><br> <</widget>> <<widget "flashbackhome">> <span class="red">You hear a car drive past, and you panic. Phantom tendrils probe your body and restrict your limbs as a wordless voice jeers and promises endless debasement. It lasts only a moment, but the impression of violation remains.</span> <<garousal>><<gstress>><<gtrauma>><<arousal 600>><<stress 6>><<trauma 6>> <br><br> <</widget>> <<widget "flashbackbeach">> <span class="red">You hear a gull squawk, and you panic. Phantom tendrils probe your body and restrict your limbs as a wordless voice jeers and promises endless debasement. It lasts only a moment, but the impression of violation remains.</span> <<garousal>><<gstress>><<gtrauma>><<arousal 600>><<stress 6>><<trauma 6>> <br><br> <</widget>> <<widget "flashbackunderground">> <span class="red">You feel a tremor through the earth, and you panic. Phantom tendrils probe your body and restrict your limbs as a wordless voice jeers and promises endless debasement. It lasts only a moment, but the impression of violation remains.</span> <<garousal>><<gstress>><<gtrauma>><<arousal 600>><<stress 6>><<trauma 6>> <br><br> <</widget>> <<widget "flashbackschool">> <span class="red">You remember the last time you were molested at school, and you panic. Phantom tendrils probe your body and restrict your limbs as a wordless voice jeers and promises endless debasement. It lasts only a moment, but the impression of violation remains.</span> <<garousal>><<gstress>><<gtrauma>><<arousal 600>><<stress 6>><<trauma 6>> <br><br> <</widget>> <<widget "drunkcaption">> <<if $drunk gt 0>> <<set $_colour to getColourClassFromPercentage($drunk * (100 / 480), "drunk")>> <<set $_barColour to $_colour + "bar">> <<set $_percent to Math.floor(($drunk/1000)*100)>> <<set $_barWidth to `width:${$_percent}%`>> <div id="drunkcaption" @title="'Drunk: ' + $drunk.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> <<if $options.showCaptionText is true>> <<set $_drunk_level to Math.clamp(Math.floor($drunk / 120), 0, 4) * 120>> <<switch $_drunk_level>> <<case 0>><span @class="$_colour">You are woozy.</span> <<case 120>><span @class="$_colour">You are tipsy.</span> <<case 240>><span @class="$_colour">You are drunk.</span> <<case 360>><span @class="$_colour">You are smashed.</span> <<case 480>><span @class="$_colour">You are wasted.</span> <</switch>> <<else>> Drunk: <</if>> </div> <div @class="($options.showCaptionText is true ? 'meter' : 'rightMeter')"> <div @class="$_barColour" @style="$_barWidth"></div> </div> </div> <</if>> <</widget>> <<widget "druggedcaption">> <<if $drugged gt 0>> <<set $_colour to getColourClassFromPercentage($drugged / 5, "drugged")>> <<set $_barColour to $_colour + "bar">> <<set $_percent to Math.floor(($drugged/1000)*100)>> <<set $_barWidth to `width:${$_percent}%`>> <div id="druggedcaption" @title="'Drugged: ' + $drugged.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> <<if $options.showCaptionText is true>> <span class="pink">A lewd warmth fills you.</span> <<else>> Drugged: <</if>> </div> <div @class="($options.showCaptionText is true ? 'meter' : 'rightMeter')"> <div @class="$_barColour" @style="$_barWidth"></div> </div> </div> <</if>> <</widget>> <<widget "hallucinogencaption">> <<if $hallucinogen gt 0>> <<set $_colour to getColourClassFromPercentage($hallucinogen / 5, "hallucinogen")>> <<set $_barColour to $_colour + "bar">> <<set $_percent to Math.floor(($hallucinogen/1000)*100)>> <<set $_barWidth to `width:${$_percent}%`>> <div id="hallucinogencaption" @title="'Hallucinogens: ' + $hallucinogen.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> <<if $options.showCaptionText is true>> <span class="purple">Your perception is altered.</span> <<else>> Hallucinogen: <</if>> </div> <div @class="($options.showCaptionText is true ? 'meter' : 'rightMeter')"> <div @class="$_barColour" @style="$_barWidth"></div> </div> </div> <</if>> <</widget>> <<widget "paincaption">> <<if Number.isFinite($pain)>> <div id="paincaption" @title="'Pain: ' + $pain.toFixed(2)"> <div @class="($options.showCaptionText is true ? '' : 'rightMeterText')"> Pain: <<if $options.showCaptionText is true>> <<if $pain gte 100 and $willpowerpain is 0>><span class="red">You sob uncontrollably.</span> <<elseif $pain gte 80>><span class="pink">You cry and whimper.</span> <<elseif $pain gte 60>><span class="purple">You are crying.</span> <<elseif $pain gte 40>><span class="blue">Tears run down your face.</span> <<elseif $pain gte 20>><span class="lblue">Tears well in your eyes.</span> <<elseif $pain gte 1>><span class="teal">You are upset.</span> <<else>><span class="green">You feel okay.</span> <</if>> <</if>> </div> <div @class="($options.showCaptionText is true ? 'meter' : 'rightMeter')"> <<set _percent to Math.floor(($pain/100)*100)>> <<set _minPercent to Math.clamp(Math.floor((statChange.minPain() / 100)*100), 0, _percent)>> <<if $pain gte 100 and $willpowerpain is 0>> <<set _statColor to "redbar">> <<elseif $pain gte 80>> <<set _statColor to "pinkbar">> <<elseif $pain gte 60>> <<set _statColor to "purplebar">> <<elseif $pain gte 40>> <<set _statColor to "bluebar">> <<elseif $pain gte 20>> <<set _statColor to "lbluebar">> <<elseif $pain gte 1>> <<set _statColor to "tealbar">> <<else>> <<set _statColor to "greenbar">> <</if>> <div @class="_statColor" @style="'width:' + _percent + '%'"></div> <<if statChange.minPain()>> <<if _minPercent>> <div @class="_statColor + ' meterMin'" @style="'width:' + _minPercent + '%'"></div> <</if>> <</if>> </div> </div> <</if>> <</widget>> <<widget "raped">> <<if $rapeavoid is 1 and $consensual is 0 and $gamemode isnot "soft">> <<set $rapeavoid to 0>><<rapestat>> <<if $enemytype is "man" and !($npc.length is 1 and $npc[0] is "Eden")>> <<famerape $enemynomax>> <</if>> <<if $awareness lte 200>> <<awareness 5>> <<elseif $awareness lte 400>> <<awareness 1>> <</if>> <<if $enemytype is "beast" or $enemytype is "struggle">> <<set $beastrapestat += 1>> <<if $awareness lte 300>> <<awareness 1>> <</if>> <</if>> <<if $enemytype is "tentacles">> <<set $tentaclerapestat += 1>> <</if>> <<if $enemytype is "tentacles" or $enemytype is "struggle">> <<if $awareness lte 400>> <<awareness 1>> <</if>> <</if>> <<controlloss>> <<elseif $sexavoid is 1 and $consensual is 1>> <<set $sexavoid to 0>> <<if $enemytype is "man" and !($npc.length is 1 and $npc[0] is "Eden")>> <<famesex $enemynomax>> <</if>> <<controlloss>> <</if>> <</widget>> <<widget "molested">> <<if $gamemode is "soft">> <<set $consensual to 1>> <<elseif $molestavoid is 1 and $consensual is 0>> <<set $molestavoid to 0>> <<moleststat>> <<if $flashbacks gte 1>> <<switch $location>> <<case "town">><<if $flashbacktown is 0>><<set $flashbacktown to 14>><</if>> <<case "home">><<if $flashbackhome is 0>><<set $flashbackhome to 14>><</if>> <<case "beach">><<if $flashbackbeach is 0>><<set $flashbackbeach to 14>><</if>> <<case "school">><<if $flashbackschool is 0>><<set $flashbackschool to 14>><</if>> <<case "underground">><<if $flashbackunderground is 0>><<set $flashbackunderground to 14>><</if>> <</switch>> <</if>> <<if $awareness lte 200>> <<awareness 5>> <<elseif $awareness lte 400>> <<awareness 1>> <</if>> <<if $enemytype is "beast" or $enemytype is "struggle">> <<if $awareness lte 300>> <<awareness 1>> <</if>> <</if>> <<if $enemytype is "tentacles" or $enemytype is "struggle">> <<if $awareness lte 400>> <<awareness 1>> <</if>> <</if>> <</if>> <</widget>> <<widget "consensual">> <<if $awareness lte 200>> <<awareness 5>> <<elseif $awareness lte 400>> <<awareness 1>> <</if>> <<if $enemytype is "beast" or $enemytype is "struggle">> <<if $awareness lte 300>> <<awareness 1>> <</if>> <</if>> <<if $enemytype is "tentacles">> <<if $awareness lte 400>> <<awareness 1>> <</if>> <</if>> <<set $trueconsensual to 1>> <<if _args[0]>> <<set $consensualGuaranteed to 1>> <</if>> <<if $npc.length is 1 and ($npc[0] is "Robin" and C.npc.Robin.dom lte 10 and $debug is 1) or ($npc[0] is "Sydney" and C.npc.Sydney.purity gte 50)>> <<npc_submissive>> <</if>> <</widget>> <<widget "controlloss">> <<set _controlloss to true>> /* indicate that $controlstart was saved for <<combatinit>> */ <<if $gamemode is "soft">> <<elseif $consensual is 0>> <<set $pullaway to 0>> <<set $novaginal to 0>> <<set $noanal to 0>> <<set $nopenile to 0>> <<if $control gt 1>> <<if $molesttrait gte 1 and $rapeavoid is 1>> <<else>> <<set $controlstart to $control>><<control -25>> <<if $control gte ($controlmax * 0.74)>> <span class="purple">Your sense of control wavers.</span> <<elseif $control gte ($controlmax * 0.49)>> <span class="purple">Your sense of control falters.</span> <<elseif $control gte ($controlmax * 0.24)>> <span class="pink">Your sense of control cracks.</span> <<elseif $control gte 1>> <span class="pink">Your sense of control breaks down.</span> <<else>> <span class="red">Your sense of control shatters.</span> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "beastescape">> <<trauma 12>><<pain 6>><<stress 12>> <<set $worn.over_lower.integrity -= 20>> <<set $worn.over_upper.integrity -= 20>> <<set $worn.lower.integrity -= 20>> <<set $worn.upper.integrity -= 20>> <<set $worn.under_lower.integrity -= 20>> <<set $worn.under_upper.integrity -= 20>> <<bruise full>> <<gtrauma>><<gpain>><<gstress>> <</widget>> <<widget "weatherdisplay">> <<set _season to (Time.season == "winter" ? "_winter" : "")>> <<set _weather_display to (Time.season == "winter" ? "winter" : "normal")>> <<if $options.images is 1>> <<if Time.dayState is "night" and (Time.isBloodMoon() or $forcedBloodmoon)>> <<set _dayStateWithBloodMoon to "_bloodmoon">> <<else>> <<set _dayStateWithBloodMoon to "_"+Time.dayState>> <</if>> <<set _dayState to "_"+Time.dayState>> <<set _imgLoc to 'img/misc/'>> <<set _imgSky to 'img/misc/old/'>> /* sky (upmost part) */ <<if $location is "tentworld">> <<set _skybox to "skybox" + _dayState + "_tentacle">> <<else>> <<set _skybox to "skybox" + _dayStateWithBloodMoon>> <<if $location is "bog">><<set _skybox += "_haze">><</if>> <img id="daystate" @src="_imgSky + 'sun' + _dayState + '.png'"> <img id="daystate" @src="_imgSky + 'moon' + _dayStateWithBloodMoon + '.png'"> <</if>> <div @class="_skybox"> </div> /* weather (middle part) */ <<if $location isnot "tentworld">> <<if Weather.precipitation is "rain">> <img id="weather" @src="_imgSky + 'rain' + _dayState + '.gif'"> <<elseif Weather.precipitation is "snow">> <img id="weather" @src="_imgSky + 'snow' + _dayState + '.gif'"> <<elseif Weather.isOvercast>> <img id="weather" @src="_imgSky + 'overcast' + _dayState + _season + '.png'"> <</if>> <</if>> /* location (bottom part) */ /* For backward compatibility during transition period */ <<script>> const path = "img/misc/locations/"; const location = setup.Locations.get(); const loc = setup.LocationImages[location]; T.images = []; const imagesToCheck = loc.base ? Object.values(loc.base) : Object.entries(loc.reflective).filter(([key]) => key !== "mask").map(([key, value]) => value); imagesToCheck.forEach(item => { if (item.condition && !item.condition()) return; const imagePath = typeof item === "string" ? item : item.image; T.images.push(imagePath instanceof Image ? imagePath.src : `${path}${loc.folder}/${imagePath}`); }); <</script>> <div id="oldlocation"> <<for _img range _images>> <img id="oldlocationimg" @src="_img"> <</for>> </div> <<else>> <<switch Time.dayState>> <<case "day">> <<switch Weather.name>> <<case "clear" "lightClouds">>It's a bright and sunny day. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> It's a rainy day. <<else>> It's a snowy day. <</if>> <<case "heavyClouds">>Clouds are hiding the sun. <</switch>> <<case "night">> <<switch Weather.name>> <<case "clear" "lightClouds">>The stars are shining. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> It's a rainy night. <<else>> It's a snowy night. <</if>> <<case "heavyClouds">>All starlight is blocked by the clouds. <</switch>> <<case "dawn">> <<switch Weather.name>> <<case "clear" "lightClouds">>The sun is rising. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> It's a rainy morning. <<else>> It's a snowy morning. <</if>> <<case "heavyClouds">>It's a cloudy morning. <</switch>> <<case "dusk">> <<switch Weather.name>> <<case "clear" "lightClouds">>The sun is setting. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> It's a rainy evening. <<else>> It's a snowy evening. <</if>> <<case "heavyClouds">>It's cloudy evening. <</switch>> <</switch>> <br> <</if>> <</widget>> <<widget "wearandtear">> <<if _args[0] is "dance">> <<if !$worn.over_upper.type.includes("dance")>> <<set $worn.over_upper.integrity -= 1>> <</if>> <<if !$worn.over_lower.type.includes("dance")>> <<set $worn.over_lower.integrity -= 1>> <</if>> <<if !$worn.upper.type.includes("dance")>> <<set $worn.upper.integrity -= 1>> <</if>> <<if !$worn.lower.type.includes("dance")>> <<set $worn.lower.integrity -= 1>> <</if>> <<if !$worn.under_lower.type.includes("dance")>> <<set $worn.under_lower.integrity -= 1>> <</if>> <<if !$worn.under_upper.type.includes("dance")>> <<set $worn.under_upper.integrity -= 1>> <</if>> <<else>> <<set $worn.over_upper.integrity -= 1>><<set $worn.over_lower.integrity -= 1>><<set $worn.upper.integrity -= 1>><<set $worn.lower.integrity -= 1>><<set $worn.under_lower.integrity -= 1>><<set $worn.under_upper.integrity -= 1>> <</if>> <</widget>> <<widget "dry_towel">> <<dry_full>> <<exposure>> <<if $exposed gte 1>> <<towelup>> <</if>> <</widget>> <<widget "towelup">> <<if $exposed gte 1>> <<if $upperwetstage gte 3 and !$worn.under_upper.type.includes("covered") or $underupperwetstage gte 3 and $worn.under_upper.type.includes("covered")>> <<upperwear 3>> <</if>> <<if $lowerwetstage gte 3 and !$worn.under_lower.type.includes("covered") or $underlowerwetstage gte 3 and $worn.under_lower.type.includes("covered")>> <<lowerwear 3>> <</if>> <<if $worn.upper.exposed gte 1 and !$worn.under_upper.type.includes("covered")>> <<upperwear 14>> <<elseif $worn.lower.exposed gte 1 and !$worn.under_lower.type.includes("covered")>> <<lowerwear 3>> <</if>> <</if>> <</widget>> <<widget "towelupm">> <<if $exposed gte 1>> <<if $lowerwetstage gte 3 and !$worn.under_lower.type.includes("covered")>> <<lowerwear 3>> <</if>> <<if $worn.lower.exposed gte 1 and !$worn.under_lower.type.includes("covered")>> <<lowerwear 3>> <</if>> <</if>> <</widget>> <<widget "ragup">> <<if $worn.upper.exposed gte 2>> <<upperwear 79>> <</if>> <<if $worn.lower.exposed gte 2>> <<lowerwear 71>> <</if>> <</widget>> <<widget "plantupper">> <<if $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1 or $worn.upper.exposed gte 2 and $underupperwetstage gte 3 or $upperwetstage gte 3 and $worn.under_upper.exposed gte 1 or $upperwetstage gte 3 and $underupperwetstage gte 3 or _args[0] is "force">> <<if _args[0] is "seaweed">> <<upperwear 163>> <<else>> <<upperwear 6>> <</if>> <</if>> <</widget>> <<widget "plantlower">> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 or $worn.lower.exposed gte 2 and $underlowerwetstage gte 3 or $lowerwetstage gte 3 and $worn.under_lower.exposed gte 1 or $lowerwetstage gte 3 and $underlowerwetstage gte 3 or _args[0] is "force">> <<if _args[0] is "seaweed">> <<lowerwear 150>> <<else>> <<lowerwear 8>> <</if>> <</if>> <</widget>> <<widget "plantup">> <<if $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1 or $upperwetstage gte 3 and $underupperwetstage gte 3>> <<if _args[0] is "seaweed">> <<upperwear 163>> <<else>> <<upperwear 6>> <</if>> <</if>> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 or $lowerwetstage gte 3 and $underlowerwetstage gte 3 or $lowerwetstage gte 3 and $worn.under_lower.exposed gte 1>> <<if _args[0] is "seaweed">> <<lowerwear 150>> <<else>> <<lowerwear 8>> <</if>> <</if>> <</widget>> <<widget "schoolspareclothes">> <<if !$worn.upper.type.includes("school") or !$worn.lower.type.includes("school") and $worn.upper.set is $worn.lower.set>> <<upperwear 5>><<set $worn.upper.colour to either("black", "blue", "brown", "green", "pink", "purple", "red", "tangerine", "teal", "white", "yellow")>><<set $worn.upper.integrity /= 2>> <</if>> <<if !$worn.lower.type.includes("school")>> <<if $clothingselector is "m">> <<lowerwear 6>><<set $worn.lower.colour to either("black", "blue", "brown", "green", "pink", "purple", "red", "tangerine", "teal", "white", "yellow")>><<set $worn.lower.integrity /= 2>> <<else>> <<lowerwear 7>><<set $worn.lower.colour to either("black", "blue", "brown", "green", "pink", "purple", "red", "tangerine", "teal", "white", "yellow")>><<set $worn.lower.integrity /= 2>> <</if>> <</if>> <</widget>> <<widget "spareschoolswimsuit">> <<underupperwear 2>><<set $worn.under_upper.colour to either("black", "blue", "brown", "green", "pink", "purple", "red", "tangerine", "teal", "white", "yellow")>><<set $worn.under_upper.integrity /= 2>> <<set $worn.under_lower.colour to clone($worn.under_upper.colour)>><<set $worn.under_lower.integrity /= 2>> <</widget>> <<widget "spareschoolswimshorts">> <<underlowerwear 7>><<set $worn.under_lower.colour to either("black", "blue", "brown", "green", "pink", "purple", "red", "tangerine", "teal", "white", "yellow")>><<set $worn.under_lower.integrity /= 2>> <</widget>> <<widget "exposure">> <!-- In safe locations, while alone, the player won't cover up. Love interest check is likely not hitting everywhere it should be due to NPCs generating after this check. --> <<if ["Wardrobe", "Bedroom", "Sleep", "Bird Tower", "Bird Hunt", "Spa Tan Underwear", "Spa Tan Curtains", "Spa Tan Naked", "Mirror"].some(keyword => V.passage.includes(keyword)) and !($NPCList.some(obj => Object.hasOwn(obj, "type")) and !$NPCList.find(({fullDescription:fd}) => fd && Object.values($loveInterest).includes(fd)))>> <<set $libertine to 2>> <<else>> <<set $libertine to 0>> <<if !["beach", "pool", "sea", "lake", "lake_ruin"].includes($location)>> <<set $libertine to 0>> <<else>> <<set $libertine to 1>> <</if>> <<if $location is "dance_studio" and $worn.under_lower.type.includes("dance") and $worn.under_upper.type.includes("dance")>> <<set $libertine to 1>> <</if>> <</if>> <<set $worn.over_upper.exposedcarry to $worn.over_upper.exposed>> <<set $worn.over_lower.exposedcarry to $worn.over_lower.exposed>> <<set $worn.upper.exposedcarry to $worn.upper.exposed>> <<set $worn.lower.exposedcarry to $worn.lower.exposed>> <<set $worn.under_lower.exposedcarry to $worn.under_lower.exposed>> <<set $worn.under_upper.exposedcarry to $worn.under_upper.exposed>> <<if $upperwetstage gte 3>> <<set $worn.upper.exposed to 2>> <</if>> <<if $lowerwetstage gte 3>> <<set $worn.lower.exposed to 2>> <</if>> <<if $underlowerwetstage gte 3>> <<set $worn.under_lower.exposed to 1>> <</if>> <<if $underupperwetstage gte 3>> <<set $worn.under_upper.exposed to 1>> <</if>> <<exposedcheck>> <<set $exposed to 0>> <<if $worn.upper.exposed gte 1 and $worn.over_upper.exposed gte 1>> <<if $player.gender_appearance is "m">> <<elseif $libertine gte 1 or $possessed or $worn.under_upper.type.includes("covered") or $worn.lower.type.includes("covered")>> <<else>> <<set $exposed to 1>> <</if>> <</if>> <<if $worn.upper.exposed gte 2 and $worn.over_upper.exposed gte 2 and $player.gender_appearance isnot "m">> <<if $possessed>> <<elseif $worn.under_upper.type.includes("covered") or $worn.lower.type.includes("covered")>> <<elseif $libertine is 1>> <<set $topless to 1>> <<else>> <<set $exposed to 1>> <</if>> <<else>> <<set $topless to 0>> <</if>> <<if $worn.lower.exposed gte 1 and $worn.over_lower.exposed gte 1>> <<if $libertine gte 1 or $possessed or $worn.under_lower.type.includes("covered")>> <<else>> <<set $exposed to 1>> <</if>> <</if>> <<if $worn.lower.exposed gte 2 and $worn.over_lower.exposed gte 2>> <<if $possessed>> <<elseif $worn.under_lower.exposed gte 1>> <<set $exposed to 2>> <<elseif $libertine gte 1 or $worn.under_lower.type.includes("covered")>> <<else>> <<set $exposed to 1>> <</if>> <</if>> <<set $worn.over_upper.exposed to $worn.over_upper.exposedcarry>> <<set $worn.over_lower.exposed to $worn.over_lower.exposedcarry>> <<set $worn.upper.exposed to $worn.upper.exposedcarry>> <<set $worn.lower.exposed to $worn.lower.exposedcarry>> <<set $worn.under_lower.exposed to $worn.under_lower.exposedcarry>> <<set $worn.under_upper.exposed to $worn.under_upper.exposedcarry>> <</widget>> <<widget "integritycheck">> <<outfitChecks>> <<if $worn.over_upper.name isnot "naked">> <<if $worn.over_upper.integrity lte 0>> <<set $worn.over_upper.type.push("broken")>> <<if _args[0] isnot "no_text">> <span class="lewd">Your $worn.over_upper.name <<overupperplural>> ripped into scraps<<if $worn.upper.exposed gte 2>>, exposing your <<undertop>><</if>>.</span> <br> <</if>> <<overupperruined>><<clothesruinstat>><<if $worn.upper.exposed gte 2>><<set $upperoff to 0>><</if>> <</if>> <</if>> <<if $worn.over_lower.name isnot "naked">> <<if $worn.over_lower.integrity lte 0>> <<set $worn.over_lower.type.push("broken")>> <<if _args[0] isnot "no_text">> <span class="lewd">Your $worn.over_lower.name <<upperplural>> ripped into scraps<<if $worn.lower.exposed gte 2>>, exposing your <<undies>><</if>>.</span> <br> <</if>> <<overlowerruined>><<clothesruinstat>><<if $worn.lower.exposed gte 2>><<set $upperoff to 0>><</if>> <</if>> <</if>> <<if $worn.upper.name isnot "naked">> <<if $worn.upper.integrity lte 0>> <<set $worn.upper.type.push("broken")>> <<if _args[0] isnot "no_text">> <span class="lewd">Your $worn.upper.name <<upperplural>> ripped into scraps, exposing your <<undertop>>.</span> <br> <</if>> <<upperruined>><<clothesruinstat>><<set $upperoff to 0>> <</if>> <</if>> <<if $worn.lower.name isnot "naked">> <<if $worn.lower.integrity lte 0>> <<set $worn.lower.type.push("broken")>> <<if _args[0] isnot "no_text">> <span class="lewd">Your $worn.lower.name <<lowerplural>> ripped into scraps, exposing your <<undies>>.</span> <br> <</if>> <<lowerruined>><<clothesruinstat>><<set $loweroff to 0>> <</if>> <</if>> <<if $worn.under_upper.name isnot "naked">> <<if $worn.under_upper.integrity lte 0>> <<set $worn.under_upper.type.push("broken")>> <<if _args[0] isnot "no_text">> <span class="lewd">Your $worn.under_upper.name <<underupperplural>> ripped into scraps, exposing your <<breasts>>.</span> <br> <</if>> <<underupperruined>><<clothesruinstat>><<set $underupperoff to 0>> <</if>> <</if>> <<if $worn.under_lower.name isnot "naked">> <<if $worn.under_lower.integrity lte 0>> <<set $worn.under_lower.type.push("broken")>> <<if _args[0] isnot "no_text">> <span class="lewd">Your $worn.under_lower.name <<underlowerplural>> ripped into scraps, exposing your <<if $worn.genitals.name isnot "naked">>$worn.genitals.name.<<else>><<genitals>>.<</if>></span> <br> <</if>> <<underlowerruined>><<clothesruinstat>><<set $underloweroff to 0>> <</if>> <</if>> <<if $worn.genitals.name isnot "naked">> <<if $worn.genitals.integrity lte 0>> <<set _chastityBreak to 1>> <<if _args[0] isnot "no_text">> <span class="lewd">Your $worn.genitals.name breaks, exposing your <<genitals>>.</span> <br> <</if>> <<if playerChastity()>> <<set $worn.genitals.type.push("broken")>> <<if $vaginalchastityparasite isnot 0>> <span class="pink">With the <<print $worn.genitals.name>> gone, the $vaginalchastityparasite fall out of your vagina.</span> <br> <<set $vaginalchastityparasite to 0>> <</if>> <<if $penilechastityparasite isnot 0>> <span class="pink">With the <<print $worn.genitals.name>> gone, the $penilechastityparasite fall off of your penis.</span> <br> <<set $penilechastityparasite to 0>> <</if>> <<if $analchastityparasite isnot 0>> <span class="pink">With the <<print $worn.genitals.name>> gone, the $analchastityparasite fall out of your anus.</span> <br> <<set $analchastityparasite to 0>> <</if>> <<if playerChastity("anus")>> <<set $worn.genitals.anal_shield to 0>> <</if>> <</if>> <<genitalsruined>><<clothesruinstat>> <</if>> <</if>> <</widget>> <<widget "arm_unbind">> <<set $rightboundcarry to 0>> <<set $leftboundcarry to 0>> <<set $leftarm to 0>> <<set $rightarm to 0>> <<if $worn.upper.type.includes("binding")>> <<set _unbind_check to 1>> <<if $worn.upper.set is $worn.lower.set>> <<set $worn.lower.type.push("broken")>> <<lowerruined>> <</if>> <<set $worn.upper.type.push("broken")>> <<upperruined>> <</if>> <</widget>> <<widget "unbind">> /*<<unbind>> is only used for the player unbinding their arms after they've been tied with rope. it will destroy handheld items. do not use it for unbinding arms after they've been temporarily restrained; use <<unbindtemp>> instead*/ <<if $rightarm is "bound" and $worn.handheld.name isnot "naked">> <<handheldruined>> <</if>> <<set $rightboundcarry to 0>> <<set $leftboundcarry to 0>> <<set $leftarm to 0>> <<set $rightarm to 0>> <<remove_shackle>> <<leg_unbind>> <<if $head is "bound">> <<set $head to 0>> <</if>> <<if $worn.upper.type.includes("binding")>> <<set _unbind_check to 1>> <<if $worn.upper.set is $worn.lower.set>> <<set $worn.lower.type.push("broken")>> <<lowerruined>> <</if>> <<set $worn.upper.type.push("broken")>> <<upperruined>> <</if>> <</widget>> <<widget "unbindtemp">> <<set $rightboundcarry to 0>> <<set $leftboundcarry to 0>> <<set $leftarm to 0>> <<set $rightarm to 0>> <<remove_shackle>> <<leg_unbind>> <<if $head is "bound">> <<set $head to 0>> <</if>> <</widget>> <<widget "bind">> /*<<bind>> and <<unbind>> are only used for binding the player's arms with rope. they are only meant to be used for scenes where the player is left helpless and must undo their bindings elsewhere, forcing them to leave behind their handheld items. Use <<bindtemp>> and <<unbindtemp>> for temporarily binding arms.*/ <<if _args[0]>> <<set _args[0] to "bound">> <<if $rightarm is "bound" and $worn.handheld.name isnot "naked">> <<handheldruined>> <</if>> <<else>> <<set $leftarm to "bound">> <<set $rightarm to "bound">> <<if $worn.handheld.name isnot "naked">> <<handheldruined>> <</if>> <</if>> <</widget>> <<widget "bindtemp">> <<set $leftarm to "bound">> <<set $rightarm to "bound">> <</widget>> <<widget "legbind">> <<set $leftleg to "bound">> <<set $rightleg to "bound">> <<set $feetuse to "bound">> <</widget>> <<widget "leg_unbind">> <<set $leftleg to 0>> <<set $rightleg to 0>> <<set $feetuse to 0>> <</widget>> <<widget "remove_shackle">> <<if $worn.feet.type.includes("shackle")>> <<set $worn.feet.type.push("broken")>> <<feetruined>> <<leg_unbind>> <</if>> <</widget>> <<widget "shackle_feet">> <<feetwear 3>> <<legbind>> <</widget>> <<widget "headbind">> <<set $head to "bound">> <</widget>> <<widget "bindings">> <<if $leftarm is "bound" and $position isnot "wall">><<set $leftboundcarry to 1>><</if>> <<if $rightarm is "bound" and $position isnot "wall">><<set $rightboundcarry to 1>><</if>> <<if $rightboundcarry is 1 and $rightarm isnot "bound">> <<set $rightarm to "bound">> <</if>> <<if $leftboundcarry is 1 and $leftarm isnot "bound">> <<set $leftarm to "bound">> <</if>> <</widget>> <<widget "water">> <<set _inWater to true>> <<if !waterproofCheck($worn.over_upper) and !$worn.over_upper.type.includes("naked") and _args[0] isnot "waist">> <<upperwet 200>> <</if>> <<if !waterproofCheck($worn.upper) and !$worn.upper.type.includes("naked") and _args[0] isnot "waist">> <<upperwet 200>> <</if>> <<if !waterproofCheck($worn.lower) and !$worn.lower.type.includes("naked")>> <<lowerwet 200>> <</if>> <<if !waterproofCheck($worn.upper) and !waterproofCheck($worn.under_upper) and !$worn.under_upper.type.includes("naked") and _args[0] isnot "waist">> <<underupperwet 200>> <</if>> <<if !waterproofCheck($worn.lower) and !waterproofCheck($worn.under_lower) and !$worn.under_lower.type.includes("naked")>> <<underlowerwet 200>> <</if>> <<waterwash>> <</widget>> <<widget "wet_all">> <<wet_upper>> <<wet_lower>> <</widget>> <<widget "wet_upper">> <<for _slot range ["over_upper", "upper", "under_upper"]>> <<if waterproofCheck($worn[_slot])>> /* if the clothing is waterproof, protect it and layers below from getting wet */ <<break>> <<elseif !$worn[_slot].type.includes("naked")>> /* skin wetness system is not implemented... yet? */ <<set V[_slot + "wet"] to 200>> <<set V[_slot + "wetstage"] to 3>> <</if>> <</for>> <</widget>> <<widget "wet_lower">> <<for _slot range ["over_lower", "lower", "under_lower"]>> <<if waterproofCheck($worn[_slot])>> <<break>> <<elseif !$worn[_slot].type.includes("naked")>> <<set V[_slot + "wet"] to 200>> <<set V[_slot + "wetstage"] to 3>> <</if>> <</for>> <</widget>> <<widget "storecleanup">> <<unset $action_unclad_over_outfit>> <<unset $action_unclad_over_upper>> <<unset $action_unclad_over_lower>> <<unset $action_unclad_outfit>> <<unset $action_unclad_upper>> <<unset $action_unclad_lower>> <<unset $action_unclad_under_outfit>> <<unset $action_unclad_under_lower>> <<unset $action_unclad_under_upper>> <<unset $action_unclad_legs>> <<unset $action_unclad_feet>> <<unset $action_unclad_neck>> <<unset $action_unclad_head>> <<unset $action_unclad_face>> <<unset $action_unclad_hands>> <</widget>> <<widget "undiestrauma">> <<if !$worn.under_lower.type.includes("naked")>> <<gtrauma>><<gstress>><<trauma 1>><<stress 1>> <<else>> <<gtrauma>><<gstress>><<trauma 3>><<stress 3>> <</if>> <</widget>> <<widget "goo">> <<goocount>> <<if $liquidoutsidecount gte 1>> <!-- Variables constructed: $semenoutsidecount, $goooutsidecount, $nectaroutsidecount --> <<set _liquid to formatList( ["semen", "goo", "nectar"].filter(stuff => V[stuff + "outsidecount"] gte 1) ).replace("goo", "slime") >> <<if $liquidoutsidecount gte 100>> <span class="red">Lewd fluid drenches you from head to toe.</span> <br> <<elseif $liquidoutsidecount gte 25>> <span class="pink">You are drenched in _liquid.</span> <br> <<elseif $liquidoutsidecount gte 20>> <span class="purple">You are soaked with _liquid.</span> <br> <<elseif $liquidoutsidecount gte 15>> <span class="purple">Your skin is slick with _liquid.</span> <br> <<elseif $liquidoutsidecount gte 10>> <span class="purple">You are wet with _liquid.</span> <br> <<elseif $liquidoutsidecount gte 5>> <span class="purple">Your skin is moist with _liquid.</span> <br> <<elseif $liquidoutsidecount gte 1>> <span class="blue">You feel _liquid on your skin.</span> <br> <</if>> <</if>> <<if $player.bodyliquid.vagina.goo gte 1 or $player.bodyliquid.vagina.semen gte 1 or $player.bodyliquid.vagina.nectar>> <!-- Variables constructed: $player.bodyliquid.vagina.semen, $player.bodyliquid.vagina.goo, $player.bodyliquid.vagina.nectar --> <<set _liquid to formatList( ["semen", "goo", "nectar"].filter(stuff => V.player.bodyliquid.vagina[stuff] gte 1) ).replace("goo", "slime") >> <<set _liquidUpper to _liquid.toUpperFirst()>> <<if _liquid.includes(" ")>> <<set _s to "">> <<else>> <<set _s to "s">> <</if>> <<switch Math.clamp(setup.bodyliquid.combined("vagina"), 1, 5)>> <<case 5>> <span class="red">Your womb overflows with _liquid.</span> <br> <<case 4>> <span class="pink">Your <<pussy>> overflows with _liquid.</span> <br> <<case 3>> <span class="pink">_liquidUpper flow_s from your <<pussy>>.</span> <br> <<case 2>> <span class="pink">_liquidUpper stream_s from your <<pussy>>.</span> <br> <<case 1>> <span class="pink">_liquidUpper drip_s from your <<pussy>>.</span> <br> <</switch>> <</if>> <<if $player.bodyliquid.anus.goo gte 1 or $player.bodyliquid.anus.semen gte 1 or $player.bodyliquid.anus.nectar>> <!-- Variables constructed: $player.bodyliquid.anus.semen, $player.bodyliquid.anus.goo, $player.bodyliquid.anus.nectar --> <<set _liquid to formatList( ["semen", "goo", "nectar"].filter(stuff => V.player.bodyliquid.anus[stuff] gte 1) ).replace("goo", "slime") >> <<set _liquidUpper to _liquid.toUpperFirst()>> <<if _liquid.includes(" ")>> <<set _s to "">> <<else>> <<set _s to "s">> <</if>> <<switch Math.clamp(setup.bodyliquid.combined("anus"), 1, 5)>> <<case 5>> <span class="red">Your bowels overflow with _liquid.</span> <br> <<case 4>> <span class="pink">Your <<bottom>> overflows with _liquid.</span> <br> <<case 3>> <span class="pink">_liquidUpper flow_s from your <<bottom>>.</span> <br> <<case 2>> <span class="pink">_liquidUpper stream_s from your <<bottom>>.</span> <br> <<case 1>> <span class="pink">_liquidUpper drip_s from your <<bottom>>.</span> <br> <</switch>> <</if>> <<if $player.bodyliquid.mouth.goo gte 1 or $player.bodyliquid.mouth.semen gte 1 or $player.bodyliquid.mouth.nectar>> <!-- Variables constructed: $player.bodyliquid.mouth.semen, $player.bodyliquid.mouth.goo, $player.bodyliquid.mouth.nectar --> <<set _liquid to formatList( ["semen", "goo", "nectar"].filter(stuff => V.player.bodyliquid.mouth[stuff] gte 1) ).replace("goo", "slime") >> <<set _liquidUpper to _liquid.toUpperFirst()>> <<if _liquid.includes(" ")>> <<set _s to "">> <<else>> <<set _s to "s">> <</if>> <<set _liquidUpper to _liquid.toUpperFirst()>> <<switch Math.clamp(setup.bodyliquid.combined("mouth"), 1, 5)>> <<case 5>> <span class="red">You keep coughing up _liquid.</span> <br> <<case 4>> <span class="pink">_liquidUpper dribble_s down your chin.</span> <br> <<case 3>> <span class="pink">_liquidUpper line_s the sides of your throat.</span> <br> <<case 2>> <span class="pink">_liquidUpper layer_s the back of your throat.</span> <br> <<case 1>> <span class="pink">The taste of _liquid permeate_s your mouth.</span> <br> <</switch>> <</if>> <</widget>> <<widget "outergoo">> <<bodyliquid "neck" "goo">> <<bodyliquid "rightarm" "goo">> <<bodyliquid "leftarm" "goo">> <<bodyliquid "thigh" "goo">> <<bodyliquid "bottom" "goo">> <<bodyliquid "tummy" "goo">> <<bodyliquid "chest" "goo">> <<bodyliquid "face" "goo">> <<bodyliquid "hair" "goo">> <<bodyliquid "feet" "goo">> <</widget>> <<widget "waist_goo">> <<bodyliquid "feet" "goo" 5>> <<bodyliquid "bottom" "goo" 5>> <<bodyliquid "thigh" "goo" 5>> <<if $player.penisExist>> <<bodyliquid "penis" "goo" 5>> <</if>> <<if $player.vaginaExist>> <<bodyliquid "vaginaoutside" "goo" 5>> <</if>> <</widget>> <<widget "random_goo">> <<set $_part_text to [ "neck", "right arm", "left arm", "thigh", "bottom", "tummy", "chest", "face", "hair", "feet" ].random()>> <<set $_part to $_part_text.replace(" ","")>> <<set $player.bodyliquid[$_part].goo += 1>> <<switch $_part_text>> <<case "right arm" "left arm">><<handejacstat>> <<case "neck">><<neckejacstat>> <<case "thigh">><<thighejacstat>> <<case "bottom">><<bottomejacstat>> <<case "tummy">><<tummyejacstat>> <<case "chest">><<chestejacstat>> <<case "face">><<faceejacstat>> <<case "hair">><<hairejacstat>> <<case "feet">><<feetejacstat>> <</switch>> It <<print either("splatters onto your", "coats your", "lands on your", "splashes your")>> <span class="purple">$_part_text.</span> <</widget>> <<widget "random_semen">> <<set $_part_text to [ "neck", "right arm", "left arm", "thigh", "bottom", "tummy", "chest", "face", "hair", "feet" ].random()>> <<set $_part to $_part_text.replace(" ","")>> <<set $player.bodyliquid[$_part].semen += 1>> <<switch $_part_text>> <<case "right arm" "left arm">><<handejacstat>> <<case "neck">><<neckejacstat>> <<case "thigh">><<thighejacstat>> <<case "bottom">><<bottomejacstat>> <<case "tummy">><<tummyejacstat>> <<case "chest">><<chestejacstat>> <<case "face">><<faceejacstat>> <<case "hair">><<hairejacstat>> <<case "feet">><<feetejacstat>> <</switch>> It <<print either("splatters onto your", "coats your", "lands on your", "splashes your","covers your")>> <span class="purple">$_part_text.</span> <</widget>> <<widget "random_goo_head">> <<switch random(0, 3)>> <<case 0>> <<set $_part_text to "neck">> <<neckejacstat>> <<case 1>> <<set $_part_text to "chest">> <<chestejacstat>> <<case 2>> <<set $_part_text to "face">> <<faceejacstat>> <<case 3>> <<set $_part_text to "hair">> <<hairejacstat>> <</switch>> <<set $player.bodyliquid[$_part_text].goo += 1>> It <<print either("splatters onto your", "coats your", "lands on your", "splashes your")>> <span class="purple">$_part_text.</span> <</widget>> <<widget "random_semen_head">> <<switch random(0, 3)>> <<case 0>> <<set $_part_text to "neck">> <<neckejacstat>> <<case 1>> <<set $_part_text to "chest">> <<chestejacstat>> <<case 2>> <<set $_part_text to "face">> <<faceejacstat>> <<case 3>> <<set $_part_text to "hair">> <<hairejacstat>> <</switch>> <<set $player.bodyliquid[$_part_text].semen += 1>> It <<print either("splatters onto your", "coats your", "lands on your", "splashes your")>> <span class="purple">$_part_text.</span> <</widget>> <<widget "washmakeup">> <<if $makeup.lipstick != 0 or $makeup.eyeshadow != 0 or $makeup.blusher != 0 or ($makeup.mascara != 0 and !$makeup.mascara.includes('waterproof')) or $makeup.concealer != 0>> <<set $makeupWashed = 1>> <<set $makeup.lipstick = 0>> <<set $makeup.eyeshadow = 0>> <<set $makeup.blusher = 0>> <<if $makeup.mascara and !$makeup.mascara.includes('waterproof')>> <<set $makeup.mascara = 0>> <<set $makeup.mascara_running = 0>> <</if>> <<set $makeup.concealer = 0>> <</if>> <</widget>> <<widget "waterwash">> <<if $combat isnot 1>> <<for _bodypart range setup.bodyliquid.bodyparts>> <<if $player.bodyliquid[_bodypart]["goo"] gte 1>><<set $waterwash += 1>><<set $allure += 500>><<bodyliquid _bodypart "goo" -1>><</if>> <<if $player.bodyliquid[_bodypart]["semen"] gte 1>><<set $waterwash += 1>><<set $allure += 500>><<bodyliquid _bodypart "semen" -1>><</if>> <<if $player.bodyliquid[_bodypart]["nectar"] gte 1>><<set $waterwash += 1>><<set $allure += 500>><<bodyliquid _bodypart "nectar" -1>><</if>> <</for>> <<washRecordedSperm "vagina" "pc">> <<washRecordedSperm "anus" "pc">> <</if>> <<if $waterwash gte 10>> <span class="lewd">Copious amounts of lewd fluid washes into the water. You hope it doesn't attract attention.</span><br> <<elseif $waterwash gte 5>> <span class="lewd">Lots of lewd fluid washes into the water. You hope it doesn't attract attention.</span><br> <<elseif $waterwash gte 2>> <span class="lewd">Lewd fluid washes into the water. You hope it doesn't attract attention.</span><br> <<elseif $waterwash is 1>> <span class="lewd">Some lewd fluid washes into the water. You hope it doesn't attract attention.</span><br> <</if>> <<set $waterwash to 0>> <<washmakeup>> <</widget>> <<widget "wash">> <<washRecordedSperm "vagina" "pc">> <<washRecordedSperm "anus" "pc">> <<bodyliquid "clear">> <<if $parasite.right_thigh.name is "maggot">> <<removeparasite right_thigh>> <</if>> <<if $parasite.left_thigh.name is "maggot">> <<removeparasite left_thigh>> <</if>> <<if $parasite.right_arm.name is "maggot">> <<removeparasite right_arm>> <</if>> <<if $parasite.left_arm.name is "maggot">> <<removeparasite left_arm>> <</if>> <<if $parasite.tummy.name is "maggot">> <<removeparasite tummy>> <</if>> <<if $parasite.bottom.name is "maggot">> <<removeparasite bottom>> <</if>> <<for _active_bodypart range setup.bodyparts>> <<if $skin[_active_bodypart].pen is "pen" or $skin[_active_bodypart].pen is "lipstick" or $skin[_active_bodypart].pen is "mud">> <<bodywriting_clear _active_bodypart>> <</if>> <</for>> <<washmakeup>> <</widget>> <<widget "wash_face">> <<bodyliquid "face" "semen" -5>> <<bodyliquid "face" "goo" -5>> <<bodyliquid "face" "nectar" -5>> <<if $skin.left_cheek.pen is "pen" or $skin.left_cheek.pen is "lipstick" or $skin.left_cheek.pen is "mud">> <<bodywriting_clear left_cheek>> <</if>> <<if $skin.right_cheek.pen is "pen" or $skin.right_cheek.pen is "lipstick" or $skin.right_cheek.pen is "mud">> <<bodywriting_clear right_cheek>> <</if>> <<if $skin.forehead.pen is "pen" or $skin.forehead.pen is "lipstick" or $skin.forehead.pen is "mud">> <<bodywriting_clear forehead>> <</if>> <<washmakeup>> <</widget>> <<widget "wash_mouth">> <<bodyliquid "mouth" "semen" -5>> <<bodyliquid "mouth" "goo" -5>> <<bodyliquid "mouth" "nectar" -5>> <</widget>> <<widget "tipset">> <<set $tip to random(1000, 3000)>> <<if $tip lte 2000>> <<set $tipreaction to "low">> <<else>> <<set $tipreaction to "mid">> <</if>> <<if _args[0] is "serving">> <!-- +20% for every visible clothing item with 'serving' tag --> <<set $_servingClothesCount to getVisibleClothesList().countWith(item => item.type.includes("serving"))>> <<set $tip += $tip * 0.2 * $_servingClothesCount>> <</if>> <<set $tip to $tipmod * $tip>> <<set $tip *= (1 + ($attractiveness / 10000))>> <<if $mathstrait gte 1>> <<set $tip *= (1 + ($mathstrait / 4))>> <</if>> <<set $tip to Math.trunc($tip)>> <<if $tip lt $tip_add>> <<set $tip to $tip_add>> <</if>> <<if $tip gte 10000 and _args[0] isnot "body">> <<set $tip to 2000 * Math.round( $tip / 2000.0 )>> <<elseif $tip gte 1000>> <<set $tip to 500 * Math.round( $tip / 500.0 )>> <<else>> <<set $tip to 50 * Math.round( $tip / 50.0 )>> <</if>> <<set $tip to Math.max( $tip, 50 )>> <</widget>> <<widget "tipreceive">> <span class="gold"><<if random(1, 10000) is 10000>>You gain Brouzouf<<else>>You make<</if>> <<printmoney $tip>>.</span> <<money $tip `_args[0] ? _args[0] : ""`>> <<if $tip gte 50000>> <<earnFeat "Negotiator">> <</if>> <<set $tip to 0>> <</widget>> <<widget "tip_neg">> You negotiate a price of <<printmoney $tip>>, <<if $tipreaction is "low">> less than you hoped for. <<else>> which sounds reasonable. <</if>> <</widget>> <<widget "tip_up">> <<He>> raises <<his>> offer to <<printmoney $tip>>. <</widget>> <<widget "passout">> <<set $stress -= 5000>> <<set $passoutstat += 1>> <<set $passoutTimeStat to Time.date.timeStamp>> <<ruffleHair>> <</widget>> <<widget "vaginaraped">> <<if $NPCList[$vaginatarget] isnot undefined>> <<if $templePromised isnot $NPCList[$vaginatarget].fullDescription>> <<fallenTransform>> /*transformations.twee*/ <</if>> <<else>> <<fallenTransform>> <</if>> <<set $vaginafucked to 1>> <</widget>> <<widget "penisraped">> <<if $NPCList[$penistarget] isnot undefined>> <<if $templePromised isnot $NPCList[$penistarget].fullDescription>> <<fallenTransform>> /*transformations.twee*/ <</if>> <<else>> <<fallenTransform>> <</if>> <<set $penisfucked to 1>> <</widget>> <<widget "anusraped">> <<set $anusfucked to 1>> <</widget>> <<widget "internalejac">> <<if $demon gte 6>> <<set $demonabsorb += 1>> <</if>> <</widget>> <<widget "sexcheck">>/*Sets variable to 1 if the PC is penetrated, penetrating, or similar.*/ <<if $vaginastate is "penetrated" or $anusstate is "penetrated" or $mouthstate is "penetrated" or $penisstate is "otheranus" or $penisstate is "penetrated" or $anusstate is "othermouth" or $vaginastate is "othermouth" or $penisstate is "othermouth" or $penisstate is "tentacle" or $penisstate is "tentacledeep" or $vaginastate is "tentacle" or $vaginastate is "tentacledeep" or $anusstate is "tentacle" or $anusstate is "tentacledeep" or $mouthstate is "tentacle" or $mouthstate is "tentacledeep">> <<set $current_sex to 1>> <<else>> <<set $current_sex to 0>> <</if>> <</widget>> <<widget "textmap">> <<if V.options.mapMovement>> <div id="textmap"> ╔═<<tml "Barb Street">>═╦═<<tml "Cliff Street">>═╦═<<tml "Starfish Street">>═╦═<<tml "Mer Street">>═╗<br> <<tml "Domus Street">><<tml "Residential alleyways">><<tml "Connudatus Street">><<tml"Commercial alleyways">><<tml "High Street">><<tml "Park">><<tml "Oxford Street">><<tml "Industrial alleyways">><<tml "Harvest Street">><br> ╚═<<tml "Danube Street">>═╩═<<tml "Wolf Street">>═╩═<<tml "Nightingale Street">>═╩═<<tml "Elk Street">>═╝<br> </div> <<else>> <div id="textmap"> ╔═ Ba ═╦═ Cl ═╦═ St ═╦═ Me ═╗<br> Do ─┼─ Co ─┼─ Hi ─┼─ Ox ─┼─ Ha<br> ╚═ Da ═╩═ Wo ═╩═ Ni ═╩═ El ═╝<br> </div> <</if>> <br> <</widget>> <<widget "map">> <<set $map.location to _args[0]>> <<if $options.images is 1 and $options.mapMovement is true and $options.mapLegacy isnot true and !$possessed>> <<set _boxLocations to [ { x: 1, y: 46}, /*Domus */ { x: 38, y: 9}, /*Barb */ { x: 38, y: 83}, /*Danube */ { x: 63, y: 46}, /*Connudatus */ { x: 88, y: 9}, /*Cliff */ { x: 88, y: 83}, /*Wolf */ { x: 114, y: 46}, /*High */ { x: 146, y: 9}, /*Starfish */ { x: 146, y: 83}, /*Nightingale */ { x: 176, y: 46}, /*Oxford */ { x: 204, y: 9}, /*Mer */ { x: 204, y: 83}, /*Elk */ { x: 230, y: 46}, /*Harvest */ { x: 38, y: 46}, /*Residential Alley */ { x: 88, y: 46}, /*Commercial Alley */ { x: 146, y: 46}, /*Park */ { x: 204, y: 46} /*Industrial Alley */ ]>> /*This version of sugarcube doesn't perform any processing inside of SVG elements, so we need to perform those actions ourselves inside a custom macro */ <<svg 260 130>> <image x="2" class="zoomable" xlink:href="img/misc/map.png" width="256" height="128"> </image> <image x="2" class="zoomable" @xlink:href="'img/misc/maparrow' + $map.location + '.png'" width="256" height="128"> </image> <<for _i to 0; _i lt $map.arrayList.length; _i++>> <<set _canMoveTo = $debug || $map.available[$passage].includes($map.arrayList[_i])>> <<set _showMarker = $debug || ($options.mapMarkers && (_canMoveTo || $passage is $map.arrayList[_i]))>> <a class="mapmove" @onclick="'mapMove(V.map.arrayList[' + _i + ']);'" @alt="$map.arrayList[_i] + (_canMoveTo ? ' (0:05)' : '')" @title="$map.arrayList[_i] + (_canMoveTo ? ' (0:05)' : '')"> <rect @x="_boxLocations[_i].x" @y="_boxLocations[_i].y" height="34" width="30" @style="'stroke:cyan;fill-opacity:0;stroke-opacity:' + (_showMarker ? '0.6' : '0') + ';'"> </rect> </a> <</for>> <</svg>> <<elseif $options.images is 1 and $options.mapLegacy isnot true>> <svg width="260" height="130"> <image x="2" xlink:href="img/misc/map.png"/> <image x="2" @xlink:href="'img/misc/maparrow'+$map.location+'.png'"/> </svg> <<elseif $options.images is 1>> <<if $options.mapMovement is true and !$possessed>> <!-- Image Map Generated by http://www.image-map.net/ --> <map id="town-image-map" name="town-image-map"> <area class="no-numberify" alt="Barb Street" title="Barb Street" coords="62,20,39,42" shape="rect" onclick="mapMove('Barb Street')"> <area class="no-numberify" alt="Domus Street" title="Domus Street" coords="2,75,26,49" shape="rect" onclick="mapMove('Domus Street')"> <area class="no-numberify" alt="Danube Street" title="Danube Street" coords="33,110,70,84" shape="rect" onclick="mapMove('Danube Street')"> <area class="no-numberify" alt="Wolf Street" title="Wolf Street" coords="86,117,114,86" shape="rect" onclick="mapMove('Wolf Street')"> <area class="no-numberify" alt="High Street" title="High Street" coords="116,77,139,46" shape="rect" onclick="mapMove('High Street')"> <area class="no-numberify" alt="Connudatus Street" title="Connudatus Street" coords="64,77,88,49" shape="rect" onclick="mapMove('Connudatus Street')"> <area class="no-numberify" alt="Cliff Street" title="Cliff Street" coords="88,40,117,-1" shape="rect" onclick="mapMove('Cliff Street')"> <area class="no-numberify" alt="Starfish Street" title="Starfish Street" coords="147,41,172,12" shape="rect" onclick="mapMove('Starfish Street')"> <area class="no-numberify" alt="Nightingale Street" title="Nightingale Street" coords="143,115,170,82" shape="rect" onclick="mapMove('Nightingale Street')"> <area class="no-numberify" alt="Oxford Street" title="Oxford Street" coords="170,73,203,45" shape="rect" onclick="mapMove('Oxford Street')"> <area class="no-numberify" alt="Mer Street" title="Mer Street" coords="202,42,229,14" shape="rect" onclick="mapMove('Mer Street')"> <area class="no-numberify" alt="Elk Street" title="Elk Street" coords="197,111,238,77" shape="rect" onclick="mapMove('Elk Street')"> <area class="no-numberify" alt="Harvest Street" title="Harvest Street" coords="252,46,228,76" shape="rect" onclick="mapMove('Harvest Street')"> <area class="no-numberify" alt="Industrial Alley" title="Industrial Alley" coords="225,73,209,53" shape="rect" onclick="mapMove('Industrial alleyways')"> <area class="no-numberify" alt="Park" title="Park" coords="154,65,170,52" shape="rect" onclick="mapMove('Park')"> <area class="no-numberify" alt="Commercial Alley" title="Commercial Alley" coords="94,69,110,56" shape="rect" onclick="mapMove('Commercial alleyways')"> <area class="no-numberify" alt="Residential Alley" title="Residential Alley" coords="38,70,57,56" shape="rect" onclick="mapMove('Residential alleyways')"> </map> <</if>> <div id="divmap"><img id="map" src="img/misc/map.png"><img id="maparrow" usemap="#town-image-map" @src="'img/misc/maparrow' + _args[0] + '.png'"></div> <<else>> <<textmap>> <</if>> <</widget>> <<widget "rentday">> <<set $_text_output to ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][$rentday-1]>> <<print $_text_output>> <</widget>> <<widget "tearup">> <<if $pain lte 20>> <<set $pain to 20>> <</if>> <</widget>> <<widget "roomoptions">> <<if $sexStats.pills.boughtOnce is true or $sexStats.pills["pills"]["Dr Harper\'s prescription"].owned gte 1 or $sexStats.pills["pills"]["asylum\'s prescription"].owned gte 1>> <<pillicon>><<link [[Check your medicine drawer|PillCollection]]>><<set $pillsExitPassage to $passage>><<endevent>><</link>> <br> <</if>> <</widget>> <<widget "christmas_options">> <<if $christmas_wrap is 1>> <<switch $christmas_gift_robin>> <<case "shirt_unwrapped">> <<gifticon "shirt">><<link [[Wrap Robin's shirt and shorts (0:10)|Bedroom Robin Wrap]]>><<pass 10>><<set $christmas_gift_robin to "shirt">><<set $christmas_gift_robin_wrapped to 1>><</link>> <br> <<case "sundress_unwrapped">> <<gifticon "sundress">><<link [[Wrap Robin's sundress (0:10)|Bedroom Robin Wrap]]>><<pass 10>><<set $christmas_gift_robin to "sundress">><<set $christmas_gift_robin_wrapped to 1>><</link>> <br> <<case "kimono_unwrapped">> <<gifticon "kimono">><<link [[Wrap Robin's kimono (0:10)|Bedroom Robin Wrap]]>><<pass 10>><<set $christmas_gift_robin to "kimono">><<set $christmas_gift_robin_wrapped to 1>><</link>> <br> <<case "tuxedo_set_unwrapped">> <<gifticon "tuxedo">><<link [[Wrap Robin's tuxedo (0:10)|Bedroom Robin Wrap]]>><<pass 10>><<set $christmas_gift_robin to "tuxedo">><<set $christmas_gift_robin_wrapped to 1>><</link>> <br> <<case "gothic_gown_unwrapped">> <<gifticon "gothic">><<link [[Wrap Robin's gothic gown (0:10)|Bedroom Robin Wrap]]>><<pass 10>><<set $christmas_gift_robin to "gothic gown">><<set $christmas_gift_robin_wrapped to 1>><</link>> <br> <<case "christmas_unwrapped">> <<gifticon "christmas hat">><<link [[Wrap Robin's Christmas outfit (0:10)|Bedroom Robin Wrap]]>><<pass 10>><<set $christmas_gift_robin to "christmas">><<set $christmas_gift_robin_wrapped to 1>><</link>> <br> <</switch>> <<if $christmas_gift is "clothes_unwrapped">> <<gifticon "christmas">><<link [[Wrap the orphans' gifts (3:00)|Bedroom Orphans Clothes Wrap]]>><<pass 180>><<set $christmas_gift to "clothes">><</link>> <br> <</if>> <</if>> <</widget>> <<widget "encountersteal">> <<rng>> <<if isPubfameTaskAccepted("morgan") and $npc.includes("Morgan")>> <<pubfameComplete "morgan" "steal">> <<combatskulduggeryskilluse>><<combatcontrol 10>><<gcombatcontrol>> <<elseif isPubfameTaskAccepted("hospital") and $pubfame.hospital.active is 1>> <<pubfameComplete "hospital" "steal">> <<crimeUp 20 "petty">><<combatskulduggeryskilluse>><<combatcontrol 10>><<gcombatcontrol>> <<elseif $location is "prison">> <<set _teeth to random(3,10)>> You steal a handful of white, translucent gems. <<prison_teeth _teeth>> <<prison_teeth_text _teeth>> <<elseif $location is "island">> /* Steal a specific antique like a wooden carving? */ <<if currentSkillValue("skulduggery") gte 800 and $rng gte 95>> <span class="green">You find a stick.</span><<set $island.wood += 1>> <<elseif (currentSkillValue("skulduggery") gte 800 and $rng gte 80) or $rng gte 90>> <span class="green">You find a handful of walnuts.</span><<set $island.walnut += 1>> <<else>> <span class="red">You find nothing to steal.</span> <</if>> <<elseif $location is "farm" and $livestock_dig isnot undefined>> <<if $rng gte 90 and !$farm_key>> <<set $farm_key to true>> <<set $farmCellUnlk to false>> You pull a <span class="green">ring of keys</span> from the <<persons>> pocket and hide it in the straw.<<combatskulduggeryskilluse>><<combatcontrol 10>><<gcombatcontrol>> <<else>> <span class="red">You find nothing to steal.</span> <</if>> <<elseif ["naked", "schoolSwim"].includes(_stealType)>> <span class="red">You find nothing to steal.</span> <<elseif $rng gte 96 and $spray lt $spraymax>> <<spray 1>> <span class="green">You steal a charge for your pepper spray.</span> <<crimeUp 50 "petty">><<combatskulduggeryskilluse>><<combatcontrol 10>><<gcombatcontrol>> <<elseif $rng gte 90 and !$compoundcard>> <<set $compoundcard to 1>> You steal a strange card. There's an address on it, for a location on <span class="gold">Elk Street.</span> <<else>> <<rng 5 100>> You steal <<moneyGain $rng>>. <<crimeUp $rng "petty">><<combatskulduggeryskilluse>><<combatcontrol 10>><<gcombatcontrol>> <</if>> <</widget>> <<widget "statbaricons">> <<if $options.images is 1 and _args[0]>> <<if _args[1] gte 1>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 1>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 2>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 2>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 3>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 3>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 4>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 4>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 5>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 5>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 6>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 6>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 7>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 7>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 8>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 8>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 9>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 9>> <img id="statbar" src="img/ui/point.png"> <</if>> <<if _args[1] gte 10>> <img id="statbar" @src="'img/ui/' + _args[0] + '.png'"> <<elseif _args[2] gte 10>> <img id="statbar" src="img/ui/point.png"> <</if>> <</if>> <</widget>> <<widget "characteristic-text">> <<set _config = _args[0]>> <<if _config.states and _config.states.length gt 0>> <<set _config.currentLevel = 0>> /* Loop through the provided states to find the one we are currently at*/ <<for _i to 0; _i lt _config.states.length; _i++>> <<if _config.currentValue gte _config.states[_i].requiredValue>> <<set _config.currentLevel = _i>> <</if>> <</for>> /* Set the details to show from the current state */ <<set _config.preText = _config.states[_config.currentLevel].preText || _config.preText>> <<set _config.description = _config.states[_config.currentLevel].description>> <<set _config.postText = _config.states[_config.currentLevel].postText || _config.postText>> <<set _config.color = _config.states[_config.currentLevel].color>> <</if>> <<if _config.preText>> _config.preText <</if>> <span @class="_config.color">_config.description</span> <<if _config.postText>> _config.postText <</if>> <</widget>> <<widget "characteristic-box">> <<set _config = _args[0]>> <<if _config.states and _config.states.length gt 0>> <<set _config.currentLevel = 0>> /* Loop through the provided states to find the one we are currently at*/ <<for _i to 0; _i lt _config.states.length; _i++>> <<if _config.currentValue gte _config.states[_i].requiredValue>> <<set _config.currentLevel = _i>> <</if>> <</for>> /* Set the details to show from the current state */ <<set _config.level = _config.states[_config.currentLevel].level>> <<set _config.description = _config.states[_config.currentLevel].description>> <<set _config.color = _config.states[_config.currentLevel].color>> /* Determine the colour of the bottom bar based on a few types, default is to match the level colour */ <<if _config.meterColorType eq 'next'>> <<if _config.currentLevel lt _config.states.length - 1>> <<set _config.meterColor = _config.states[_config.currentLevel + 1].color>> <<else>> <<set _config.meterColor = _config.states[_config.currentLevel].color>> <</if>> <<elseif _config.meterColorType eq 'prev'>> <<if _config.currentLevel gt 0>> <<set _config.meterColor = _config.states[_config.currentLevel - 1].color>> <<else>> <<set _config.meterColor = _config.states[_config.currentLevel].color>> <</if>> <<elseif _config.meterColorType eq 'max'>> <<if _config.currentLevel eq _config.states.length - 1>> <<set _config.meterColor = _config.states[_config.currentLevel].color>> <</if>> <<else>> <<if _config.meterColor eq undefined>> <<set _config.meterColor = _config.states[_config.currentLevel].color>> <</if>> <</if>> /* Calculate the percent to the next level based on the gap between the nearest two states */ <<if _config.percent isnot undefined>> <<set _config.percent = Math.floor(_config.percent)>> <<else>> <<if _config.currentLevel eq (_config.states.length - 1)>> /* Calculate percentage above highest state if max value is specified */ <<if _config.maxValue>> <<set _config.percent = Math.floor(100*(_config.currentValue - _config.states[_config.currentLevel].requiredValue) / (_config.maxValue - _config.states[_config.currentLevel].requiredValue))>> <<else>> <<set _config.percent = 100>> <</if>> <<else>> <<set _config.percent = Math.floor(100*(_config.currentValue - _config.states[_config.currentLevel].requiredValue) / (_config.states[_config.currentLevel + 1].requiredValue - _config.states[_config.currentLevel].requiredValue))>> <</if>> <</if>> <<else>> <<set _config.percent= Math.floor(_config.currentValue)>> <</if>> <<set _config.barWidth = Math.clamp(_config.percent, 0, 100)>> <<if _config.secondValue>> <<set _config.secondPercent= Math.floor(_config.secondValue)>> <<set _config.secondBarWidth= Math.clamp(_config.secondPercent, 0, 100)>> <</if>> <div class="characteristic-box"> <div class="characteristic-top-line"> <<if $options.images is 1 and _config.icon>> <img class="characteristic-icon" @src="'img/' + _config.icon + '.png'" /> <</if>> <span class="characteristic-title"> _config.name<<characteristic-box-modifier `clone(_config.modifier)` `clone(_config.modTypes)` `clone(_config.name)`>> <<if _config.sensitivity gte 4>> <mouse class = "pink tooltip-small"> !!! <span class="pink"><i>Sensitivity: <<print _config.sensitivity>></i></span> </mouse> <<elseif _config.sensitivity gte 3>> <mouse class = "purple tooltip-small"> !! <span class="purple"><i>Sensitivity: <<print _config.sensitivity>></i></span> </mouse> <<elseif _config.sensitivity gte 2>> <mouse class = "blue tooltip-small"> ! <span class="blue"><i>Sensitivity: <<print _config.sensitivity>></i></span> </mouse> <</if>> </span> <<if _config.states>> <<if _config.displayType eq "level">> <span @class="'characteristic-level ' + _config.color"> <big>_config.level</big><small>/<<print (_config.states.length - 1)>></small> </span> <<elseif _config.displayType eq "grade">> <span class="characteristic-level"> <span @class="_config.color">_config.level</span> <<if _config.level neq 'None'>><small class="grade-percent black">_config.percent%</small><</if>> </span> <</if>> <</if>> </div> <<if _config.description>> <span @class="'characteristic-description ' + _config.color">_config.description</span> <</if>> <<if _config.showStars>> <span class="characteristic-description grade-progress">Daily Progress</span> <div class="progress-stars"> <img class="icon" @src="'img/ui/' + (_config.starLevel > 0 ? 'bronze_star' : 'empty_star') + '.png'" /> <img class="icon" @src="'img/ui/' + (_config.starLevel > 1 ? 'silver_star' : 'empty_star') + '.png'" /> <img class="icon" @src="'img/ui/' + (_config.starLevel > 2 ? 'gold_star' : 'empty_star') + '.png'" /> </div> <</if>> <div class="meter"> <div @class="(_config.meterColor ? _config.meterColor + 'bar' : 'goldbar')" @style="'width:' + _config.barWidth + '%'"></div> <<if _config.secondBarWidth>> <div @class="(_config.secondMeterColor ? _config.secondMeterColor + 'bar' : 'goldbar')" @style="'width:' + _config.secondBarWidth + '%'"></div> <</if>> </div> </div> <</widget>> <<widget "characteristic-box-modifier">><<silently>> <<if _args[0] isnot undefined or _args[0] isnot 100>> <<set $_modifier to _args[0] - 100>> <<if $_modifier gt 0>> <<set $_result to " <small class='green characteristic-modifier'>(+"+$_modifier+"%)</small>">> <<elseif $_modifier lt 0>> <<set $_result to " <small class='red characteristic-modifier'>("+$_modifier+"%)</small>">> <<elseif ["Promiscuity", "Exhibitionism", "Deviancy"].includes(_args[2]) and (drunkSexStatModifier(V[_args[2].toLowerCase()]) gte 1 or heatRutSexStatModifier(_args[2].toLowerCase()) gte 1)>> <<set $_result to " <span class='" + getLargestSexStatModifierCssClasses(_args[2].toLowerCase()) + "'><small class='blue characteristic-modifier'>(???%)</small></span>">> <</if>> <</if>> <</silently>> <<if $_result>> <<set $_good to _args[1].good>> <<set $_bad to _args[1].bad>> <<set $_stat to _args[2].toLowerCase()>> <span @class="$_modifier gt 0 ? 'green' : 'red'"><mouse class = "tooltip-small"> $_result <<if $_good.length gt 0 and $_bad.length gt 0>> <span class="green">Increasing your $_stat: <<print $_good>> <span class="red">Decreasing your $_stat: <<print $_bad>></span></span> <<elseif $_good.length gt 0>> <span class="green">Increasing your $_stat: <<print $_good>></span> <<elseif $_bad.length gt 0>> <span class="red">Decreasing your $_stat: <<print $_bad>></span> <</if>> </mouse></span> <</if>> <</widget>> <<widget "relation-text">> <<set _config = _args[0]>> <<if _config.states and _config.states.length gt 0>> <<set _config.currentLevel = _config.states[0]>> <<if _config.currentLevel.secondaryStates>> <<set _config.currentLevel = _config.currentLevel.secondaryStates[0]>> <</if>> /* Loop through the provided states to find the one we are currently at*/ <<script>> for(let i = 0; i < T.config.states.length; i++) { if(T.config.currentValue >= T.config.states[i].requiredValue) { if(T.config.states[i].secondaryStates) { for(let j = 0; j < T.config.states[i].secondaryStates.length; j++) { if(T.config.secondaryValue >= T.config.states[i].secondaryStates[j].requiredValue) { T.config.currentLevel = T.config.states[i].secondaryStates[j]; } } } else { T.config.currentLevel = T.config.states[i]; } } } <</script>> /* Set the details to show from the current state */ <<set _config.preText = _config.currentLevel.preText || _config.preText>> <<set _config.description = _config.currentLevel.description>> <<set _config.postText = _config.currentLevel.postText || _config.postText>> <<set _config.color = _config.currentLevel.color>> <</if>> <<if _config.preText>> _config.preText <</if>> <span @class="_config.color">_config.description</span> <<if _config.postText>> _config.postText <</if>> <</widget>> <<widget "relation-box-simple">> <<set _boxConfig = _args[0]>> <div class="relation-box" @style="(_boxConfig.style || '')"> <<if _boxConfig.name>> <div class="relation-top-line"> <<if $options.images and _boxConfig.icon>> <img class="relation-icon" @src="_boxConfig.icon" /> <</if>> <span class="relation-name">_boxConfig.name</span> </div> <</if>> <div class="relation-description"> _boxConfig.description </div> </div> <</widget>> <<widget "relation-box-wolves">> <<if $wolfpackfear gte 1 || $wolfpacktrust gte 1 || $syndromewolves gte 1 || $wolfpackleader gte 1>> <div class="relation-box" @style="(_boxConfig.style || '')"> <div class="relation-top-line"> <<if $options.images>> <img class="relation-icon" src="img/misc/icon/wolfpup.png" /> <</if>> <span class="relation-name">Wolf Pack</span> </div> <div class="relation-description"> The wolves <<if $wolfpackleader gte 1>> view you as <span class="green">the leader of the pack.</span> <<elseif $syndromewolves gte 1>> view you as <span class="green">their <<ppackbrother>>.</span> <<elseif $wolfpacktrust gte 12>> <span class="green">trust you.</span> <<elseif $wolfpacktrust gte 6>> are <span class="teal">starting to accept you.</span> <<elseif $wolfpackfear gte 12>> <span class="red">fear you.</span> <<elseif $wolfpackfear gte 6>> are <span class="purple">starting to fear you.</span> <<else>><span class="pink"> view you as prey.</span> <</if>> </div> </div> <</if>> <</widget>> <<widget "relation-box">> <<silently>> <<set _npcData = _args[0]>> <<set _npcOverrides = _args[1] || {}>> <<script>> /* Returns true/false based on whether the requirements to display a stat are met, automatically true if no requirement specified */ T.checkRequirements = function (stat) { let statOverrides = T.npcOverrides[stat]; if(statOverrides) return !statOverrides.hasOwnProperty("requirements") || statOverrides.requirements; else return true; }; T.importantNpcStats = ["love", "lust", "dom", "trauma", "rage", "purity", "corruption", "harmony", "ferocity"]; T.otherNpcStats = ["love", "lust"]; let statDefaults = { "love" : { name : "Love", value : T.npcData.love, activeIcon : 'img/ui/sym_love.png', inactiveIcon: 'img/ui/emptyheart.png', color: 'red' }, "lust" : { name : "Lust", value : T.npcData.lust, iconOrientation : 'vertical', activeIcon : 'img/ui/sym_lust.png', inactiveIcon : 'img/ui/emptyvial.png', color: 'pink' }, "dom" : { name : "Dominance", value : T.npcData.dom, activeIcon : "img/ui/sym_dominance.png", color: 'purple' }, "trauma" : { name : "Trauma", value : T.npcData.trauma, activeIcon : "img/ui/sym_trauma.png", color: 'teal' }, "rage" : { name : "Rage", value : T.npcData.rage, activeIcon : "img/ui/sym_rage.png", color: 'gold' }, "purity" : { name: "Purity", value: T.npcData.purity, activeIcon: (T.npcData.virginity.vaginal == false || T.npcData.virginity.penile == false ? "img/ui/tf_fallenangel.png" : "img/ui/tf_angel.png"), color: 'white' }, "corruption" : { name: "Corruption", value: T.npcData.corruption, iconOrientation : 'horizontal-inverted', activeIcon: "img/ui/tf_demon.png", color: 'purple' }, "harmony" : { name: "Harmony", value: V.wolfpackharmony, iconOrientation : 'vertical', activeIcon: "img/ui/wolfharmony.png", color: 'purple' }, "ferocity" : { name: "ferocity", value: V.wolfpackferocity, iconOrientation : 'vertical', activeIcon: "img/ui/wolfferocity.png", color: 'purple' } }; T.getStatConfig = function(stat) { let baseConfig = statDefaults[stat] || {}; return Object.assign({}, baseConfig, T.npcOverrides[stat]); }; if(V.loveInterest){ /* Check if this is a main love interest */ if (V.loveInterest.primary == T.npcData.nam) { T.loveInterest = true; } else if (V.loveInterest.secondary == T.npcData.nam) { T.loveInterest = true; } else if (V.loveInterest.tertiary == T.npcData.nam) { T.loveInterest = true; } else { T.loveInterest = false; } } <</script>> <</silently>> <<if _npcData and _npcData.init is 1>> <<if (_npcData.nam is ("Ivory Wraith") or ($wraith.mimic is _npcData.nam and $wraith.revealed))>> <<rngWraithSocial>> <<if _npcData.nam is ("Ivory Wraith") and ($wraith.mimic is "" and (_wraithEventSocial or $wraith.type)) and $wraithIntro>> <div class="relation-box"> <div class="relation-top-line"> <span class="relation-name"> _npcData.nam <small class="relation-title black"><i>The _wraithTitle</i></small> </span> <div class="quick-stats"> <<for _j = 0; _j lt _otherNpcStats.length; _j++>> <<if _npcData[_otherNpcStats[_j]] gt 0 and _checkRequirements(_otherNpcStats[_j])>> <<relation-box-stat _getStatConfig(_otherNpcStats[_j])>> <</if>> <</for>> </div> </div> <div class="relation-description"> <<if $options.images is 1 and (_rngWraithFace is 1 or $possessed)>> <img id="wraith" @src="'img/ui/wraith' + V.wraith.state + '.png'"> <<else>> <<npcrelationship _npcData.nam>> <</if>> </div> </div> <<elseif $wraithIntro and $wraith.mimic is _npcData.nam and $wraith.revealed and _npcOverrides and _npcOverrides.important>> <div class="relation-box"> <div class="relation-top-line"> <span class="relation-name"> _npcData.nam? <small class="relation-title black"><i>The _wraithTitle</i></small> </span> <<if _loveInterest>> <img class="love-interest-icon" src="img/ui/love_interest.png" alt="Love Interest" title="Love Interest"/> <</if>> </div> <div class="relation-description"> <<set _rngWraithLineChance to 1>> <<npcrelationship "Ivory Wraith">> </div> <div @class="'relation-stat-list' + ($options.images ? '' : ' no-images')"> <<set $_statCount to 0>> <<for _j = 0; _j lt _importantNpcStats.length-2; _j++>> <<if _npcData[_importantNpcStats[_j]] gt 0 and _checkRequirements(_importantNpcStats[_j])>> <<set $_statCount++>> <<relation-box-stat _getStatConfig(_importantNpcStats[_j]) true>> <</if>> <</for>> <<for _j to $_statCount; _j lt 3; _j++>> <div class="relation-stat-block"></div> <</for>> </div> </div> <<else>> /* Do not display anything */ <</if>> <<elseif _npcOverrides and _npcOverrides.important>> <div class="relation-box"> <div class="relation-top-line"> <span class="relation-name"> _npcData.nam <small class="relation-title black"><i>The _npcData.title</i></small> </span> <<if _loveInterest>> <img class="love-interest-icon" src="img/ui/love_interest.png" alt="Love Interest" title="Love Interest"/> <</if>> </div> <div class="relation-description"> <<npcrelationship _npcData.nam>> </div> <div @class="'relation-stat-list' + ($options.images ? '' : ' no-images')"> <<set $_statCount to 0>> <<if _importantNPCs[_k].nam is "Black Wolf">><<set _npcStats to _importantNpcStats.length>> <<else>><<set _npcStats to _importantNpcStats.length-2>> <</if>> <<for _j = 0; _j lt _npcStats; _j++>> <<if _npcData[_importantNpcStats[_j]] gt 0 and _checkRequirements(_importantNpcStats[_j])>> <<set $_statCount++>> <<relation-box-stat _getStatConfig(_importantNpcStats[_j]) true>> <</if>> <</for>> <<for _j to $_statCount; _j lt 3; _j++>> <div class="relation-stat-block"></div> <</for>> </div> </div> <<else>> <div class="relation-box"> <div class="relation-top-line"> <span class="relation-name"> _npcData.nam <small class="relation-title black"><i>The _npcData.title</i></small> </span> <div class="quick-stats"> <<for _j = 0; _j lt _otherNpcStats.length; _j++>> <<if _npcData[_otherNpcStats[_j]] gt 0 and _checkRequirements(_otherNpcStats[_j])>> <<relation-box-stat _getStatConfig(_importantNpcStats[_j])>> <</if>> <</for>> </div> </div> <div class="relation-description"> <<npcrelationship _npcData.nam>> </div> </div> <</if>> <</if>> <</widget>> <<widget "relation-box-stat">> <<silently>> <<set _config = _args[0]>> <<set _important = _args[1]>> <<set _config.progress = Math.ceil(Math.clamp(100*((_config.value - (_config.minValue || 0)) / (_config.maxValue || 100)), 0, 100))>> <</silently>> <div class="relation-stat-block" @style="'--progress: ' + _config.progress + '%;'"> <<if _important>> <label>_config.name</label> <</if>> <<if $options.images>> <div class="relation-stat"> <span @class="'relation-stat-icon ' + (_config.iconOrientation || 'horizontal')"> <img class="active-icon-img" @src="_config.activeIcon"> <<if _config.inactiveIcon>> <img class="inactive-icon-img" @src="_config.inactiveIcon"> <<else>> <img class="inactive-icon-img outlined" @src="_config.activeIcon"> <</if>> </span> <span class="relation-stat-percent black">_config.progress<small>%</small></span> </div> <<else>> <<if _important>> <span class="relation-stat-percent black">&nbsp;_config.progress<small>%</small></span> <div @class="'progress-bar ' + _config.color + 'bar'"></div> <</if>> <</if>> </div> <</widget>> <<widget "connector-box">> <div @class="'connector-box ' + (_args[3] ? 'invert' : '')" @style="'--connector-height: ' + _args[0] + 'px; --center-offset: ' + (_args[1] || 50) + '%; --end-offset: ' + (_args[2] || 0) + 'px;'"> <div class="connector-box-top"></div> <div class="connector-box-bottom"></div> </div> <</widget>> <<widget "oralpassage">> <<takeVirginity _args[0] "oral">><<oralstat>><<oralejacstat>><<ejacstat>><<cumswallow 'human'>> <</widget>> <<widget "relationshipclamp">> <<set _i to $NPCNameList.indexOf("Robin")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 100)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, 0, 100)>> <<set $NPCName[_i].trauma = Math.clamp($NPCName[_i].trauma, 0, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, 0, 100)>> <<set _i to $NPCNameList.indexOf("Whitney")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 30)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, 0, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, 0, 20)>> <<set _i to $NPCNameList.indexOf("Eden")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 200)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, 0, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, 0, 150)>> <<set _i to $NPCNameList.indexOf("Kylar")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 100)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, 0, 100)>> <<set $NPCName[_i].rage = Math.clamp($NPCName[_i].rage, 0, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, 0, 100)>> <<set _i to $NPCNameList.indexOf("Avery")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 100)>> <<set $NPCName[_i].rage = Math.clamp($NPCName[_i].rage, 0, 100)>> <<set _i to $NPCNameList.indexOf("Great Hawk")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, 0, 100)>> <<alexclamp>> <<set _i to $NPCNameList.indexOf("Sydney")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 150)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, 0, 100)>> <<set $NPCName[_i].purity = Math.clamp($NPCName[_i].purity, 0, 100)>> <<set $NPCName[_i].corruption = Math.clamp($NPCName[_i].corruption, 0, 50)>> <<set _i to $NPCNameList.indexOf("Black Wolf")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 150)>> <<set $NPCName[_i].harmony = Math.clamp($wolfpackharmony || 0, 0, 100)>> <<set $NPCName[_i].ferocity = Math.clamp($wolfpackferocity || 0, 0, 100)>> <<set _i to $NPCNameList.indexOf("Darryl")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -50, 50)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("River")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -50, 50)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Mason")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -50, 50)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, -50, 50)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Sam")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -50, 50)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Wren")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -50, 50)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Charlie")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -50, 50)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Bailey")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Briar")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Doren")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Gwylan")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Harper")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Jordan")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Landry")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Leighton")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Morgan")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Winter")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Niki")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Quinn")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Remy")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Zephyr")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Sirris")>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, -100, 100)>> <<set $NPCName[_i].dom = Math.clamp($NPCName[_i].dom, -50, 50)>> <<set _i to $NPCNameList.indexOf("Ivory Wraith")>> <<if $wraith.state is "haunt">> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 10)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, 10, 20)>> <<else>> <<set $NPCName[_i].love = Math.clamp($NPCName[_i].love, 0, 20)>> <<set $NPCName[_i].lust = Math.clamp($NPCName[_i].lust, 0, 20)>> <</if>> <</widget>> <<widget "haircheck">> <<if $hairtype is "default">> <<set $hairtype to "messy">> <</if>> <</widget>> <<widget "fringedescription">> <<if $haircolour isnot $hairfringecolour>> <<if $hairFringeColourStyle is "gradient">> <<set _colour to "two-toned">> <<else>> <<set _colour to $hairfringecolour>> <</if>> <<set $_fringe to _colour + " fringe">> <<else>> <<set $_fringe to "fringe">> <</if>> <<if $fringelength gte 980>> and your <<print $_fringe>> is very long. <<elseif $fringelength gte 800>> and your <<print $_fringe>> is long. <<elseif $fringelength gte 600>> and your <<print $_fringe>> is somewhat long. <<elseif $fringelength gte 400>> and your <<print $_fringe>> is quite normal. <<elseif $fringelength gte 200>> and your <<print $_fringe>> is short. <<else>> and your <<print $_fringe>> is very short. <</if>> <</widget>> <<widget "willpowerpain">> <<if $pain gte 100 and $willpowerpain is undefined and _willpowerpainchecked isnot true>> <<if (currentSkillValue('willpower') / 10) gte (($pain - 100) + random(1, 100))>> <span class="green">The pain threatens to overwhelm, but you endure it.</span> <<gwillpower>><<willpower 1>> <br> <<else>> <span class="red">The pain overwhelms you.</span> <<if $position is "stalk">> You fall to your knees. <</if>> <<ggwillpower>><<willpower 5>><<set $willpowerpain to 0>> <br> <</if>> <<set _willpowerpainchecked to true>> <</if>> <</widget>> <<widget "willpowerorgasm">> <<if $orgasmdown gte 1 and _willpowerorgasmchecked isnot true>> <<if (currentSkillValue('willpower') / 10) gte (($orgasmdown * 30) + random(1, 80))>> <span class="green">You endure the orgasmic shivers running through you.</span> <<gwillpower>><<willpower 1>><<set $orgasmdown to 0>> <br> <<else>> <span class="red">You struggle against the orgasmic spasms overwhelming you.</span> <<if $position is "stalk">> You fall to your knees. <</if>> <<gwillpower>><<willpower 1>> <br> <</if>> <<set _willpowerorgasmchecked to true>> <</if>> <</widget>> <<widget "clothescolour">><<silently>> <<set _slot to _args[0]>> <<if $worn[_slot].colour isnot 0 and $worn[_slot].colour isnot undefined>> <<if $worn[_slot].colour.substring(0, 3) is "wet">> <<set _text_output to $worn[_slot].colour.substring(3)>> <<elseif $worn[_slot].colour_sidebar is 1>> <<if $worn[_slot].colour == "custom">> <<set _text_output to getCustomColourName($worn[_slot].colourCustom)>> <<else>> <<set _text_output to $worn[_slot].colour>> <</if>> <</if>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "nounderwearcheck">> /*Checks if the PC is pantiless, but otherwise decent. Results in low level exhibitionism increases.*/ /* Feature was disabled previously, has been re-enabled after meeting the below requirement Vrelnir: Exhibitionism should only rise when the player directly choses certain actions. The PC could have their underwear stolen, which would result in exhibitionism rising without a direct decision to do so. */ <<if (!$worn.over_lower.type.includes("naked") or !$worn.lower.type.includes("naked")) and $worn.under_lower.type.includes("naked") and ["notWorn", "notBought", "sold", "given"].includes($worn.under_lower.exposedType) and $exposed lte 0 and $exhibitionism lt 19 and !$daily.no_underwear>> <<set $no_underwear += 1>> <</if>> <<if $no_underwear gte 8>> <<set $daily.no_underwear to true>> <<set $no_underwear to 0>> <<set $effectsmessage to 1>> <<set $exhibitionism_message to 1>> <</if>> <</widget>> <<widget "breastfed">> <<if _args[0]>> <<set $milk_drank_stat += _args[0]>> <<set $hunger -= _args[0]>><<set $thirst -= _args[0]>> <<else>> <<set $milk_drank_stat += random(1, 5)>> <<if random(1, 100) gte 70>> <<if $NPCList[0].type and $NPCList[0].type is "wolfgirl">> <<transform wolf 1>> <<elseif $NPCList[0].type and $NPCList[0].type is "foxgirl">> <<transform fox 1>> <<else>> <<transform cat 1>> <</if>> <</if>> <<if $milkdranktrait is 1>><<physique 1>><</if>> <<purity -1>> <<set $hunger -= 200>><<set $thirst -= 200>> <</if>> <</widget>> <<widget "nectarfed">> <<set _nectarGain to 0>> <<set _nectarGain += (Math.ceil(_args[0] / 10) + random(0,2))>> <<set $nectar_drank_stat += _nectarGain>> <<set $nectar_addiction += _nectarGain>> <<if _args[0] gte 11>> <<purity -1>> <</if>> <<set $hunger -= (_args[0] * 5)>><<set $thirst -= (_args[0] * 5)>> <<drugs _args[0]>><<set $arousal += _args[0]>> <<if $ejaculating is 1>> <<alcohol `(_args[0] * 3)`>> <<bodyliquid "mouth" "nectar">> <</if>> <<if $backgroundTraits.includes("plantlover")>> <<if $nectar_timer lte 14>> <span class="green">You feel an overwhelming sense of relief.</span> <<stress -12>><<llstress>><<pain -4>><<lpain>> <<else>> <<set _nectarStress to (-1 * _nectarGain)>> <<physique 1 "invig">><<stress _nectarStress>><<lstress>> <</if>> <<set $nectar_timer to 21>> <</if>> <<set $nectar_addiction = Math.clamp($nectar_addiction, 0, 200)>> <</widget>> <<widget "setup_pillory">> <<set $pillory.tenant to {person : clone(setup.baseNPC), exists : 0, duration : 0, served : 0, startTime: 0, endTime : 0, crowd : 0, wet : 0, upperexposed : 0, lowerexposed : 0, fruit : 0, fruitstock: 0, face : 0, ass : 0, genital : 0, broken : 0, lastviewed : 0, special : {name : "", desc : ""}}>> <</widget>> <<widget "new_npc_pillory">> <<if not _args[0]>> <<if $rng gte 20>><<generate1>><<else>><<generatey1>><</if>> <<set $_already_served to random(0,2)>> <<else>> <<set $_already_served to 0>> <</if>> <<set $pillory.tenant.exists to 1>> <<set $pillory.tenant.person to clone($NPCList[0])>> <<set $pillory.tenant.duration to random(4,27)>> <<set $_duration to random(4,27)>> <<set $_endTime to new DateTime(Time.date).addHours($_duration)>> <<set $pillory.tenant.startTime to Time.date.timeStamp>> <<set $pillory.tenant.endTime to $_endTime.timeStamp>> <<set $pillory.tenant.crowd to 1>> <<set $pillory.tenant.wet to 0>> <<set $pillory.tenant.upperexposed to 0>> <<set $pillory.tenant.lowerexposed to 0>> <<set $pillory.tenant.fruit to 0>> <<set $pillory.tenant.fruitstock to 3>> <<set $pillory.tenant.spank to 0>> <<set $pillory.tenant.face to 0>> <<set $pillory.tenant.ass to 0>> <<set $pillory.tenant.genital to 0>> <<set $pillory.tenant.broken to 0>> <<set $pillory.tenant.lastViewed to Time.date.timeStamp>> <<person1>> <<if $pillory.tenant.special.name is "">> A <<person>> <<if $_already_served is 0>>is currently being locked into the pillory.<<else>>has recently been locked in the pillory.<</if>> <<endevent>> <<npc_pillory_release_schedule>> <br><br> <<else>> Rumour has it <<he>> is being sent to the pillory. <br> <<endevent>> <</if>> <</widget>> <<widget "imprison_whitney">> <<clear_pillory>> <<npc Whitney>> <<set C.npc.Whitney.state to "pillory">> <<set $pillory.tenant.special.name to "Whitney">> <<set $pillory.tenant.special.desc to C.npc.Whitney.title>> <<new_npc_pillory $NPCList[0]>> <<endevent>> <<set $framed to 0>> <</widget>> <<widget "imprison_leighton">> <<clear_pillory>> <<npc Leighton>> <<set $pillory.tenant.special.name to "Leighton">> <<set $pillory.tenant.special.desc to C.npc.Leighton.title>> <<new_npc_pillory $NPCList[0]>> <<endevent>> <<set $framed to 0>> <</widget>> <<widget "imprison_npc">> /* number as argument to select npc 0-5. Only use at end of scene. */ <<clear_pillory>> <<if not _args[0]>> <<set _id to 0>> <<else>> <<set _id to _args[0]>> <</if>> <<if _args[1]>> <<set $pillory.tenant.special.desc to _args[1]>> <</if>> <<new_npc_pillory $NPCList[_id]>> <<endevent>> <</widget>> <<widget "get_pillory_npc">> <<set $NPCList[0] to clone($pillory.tenant.person)>><<person1>> <</widget>> <<widget "A_pillory_person">> /* Can't simplify to <<pillory_person>> because: 'a thin man', but not 'a Whitney') */ <<silently>><<set _out to "">> <<get_pillory_npc>> <<if $pillory.tenant.special.name is "">> <<set _out += "A <<person>>">> <<else>> <<set _out += $pillory.tenant.special.name>> <</if>> <</silently>><<print _out>> <</widget>> <<widget "The_pillory_person">> <<silently>><<set _out to "">> <<get_pillory_npc>> <<if $pillory.tenant.special.name is "">> <<set _out += "The <<person>>">> <<else>> <<set _out += $pillory.tenant.special.name>> <</if>> <</silently>><<print _out>> <</widget>> <<widget "a_pillory_person">> <<silently>><<set _out to "">> <<get_pillory_npc>> <<if $pillory.tenant.special.name is "">> <<set _out += "a <<person>>">> <<else>> <<set _out += $pillory.tenant.special.name>> <</if>> <</silently>><<print _out>> <</widget>> <<widget "the_pillory_person">> <<silently>><<set _out to "">> <<get_pillory_npc>> <<if $pillory.tenant.special.name is "">> <<set _out += "the <<person>>">> <<else>> <<set _out += $pillory.tenant.special.name>> <</if>> <</silently>><<print _out>> <</widget>> <<widget "pillory_type">> <<silently>><<set _out to "">> <<get_pillory_npc>> <<if $pillory.tenant.special.name is "">> <<set _out += "<<person>>">> <<else>> <<set _out += $pillory.tenant.special.desc>> <</if>> <</silently>><<print _out>> <</widget>> <<widget "npc_pillory">> <<A_pillory_person>> is locked in the town pillory. <<npc_pillory_release_schedule>> <br><br> <<endevent>> <</widget>> <<widget "npc_pillory_detail">> <<get_pillory_npc>> <<A_pillory_person>> is locked in the town pillory. <<npc_pillory_appearance>> <<npc_pillory_abuse>> <<npc_pillory_release_schedule>> <br><br> <<endevent>> <</widget>> <<widget "npc_pillory_appearance">> <<update_npc_pillory_appearance>> /*Desc*/ <<if Time.dayState is "night">> <<if $pillory.tenant.crowd gte 10>>A huge, drunken mob surround <<elseif $pillory.tenant.crowd gte 6>>A large, rowdy mob crowd around <<elseif $pillory.tenant.crowd gte 4>>A sinister crowd huddle around <<else>>A small but sinister group lurk around <</if>> <<else>> <<if $pillory.tenant.crowd gte 10>>An excited, jeering crowd surround <<elseif $pillory.tenant.crowd gte 6>>A large crowd press around <<elseif $pillory.tenant.crowd gte 4>>A curious group hang around <<else>>A small group watch <</if>> <</if>>the <<pillory_type>> locked prone in the pillory. <<if $pillory.tenant.broken gte 32>><<He>> looks traumatised, perhaps permanently broken by the abuse <<hes>> already suffered. <<elseif $pillory.tenant.broken gte 16>><<He>> is weeping from the abuse <<hes>> already suffered. <<elseif $pillory.tenant.broken gte 8>><<He>> is sobbing from the abuse. <<elseif $pillory.tenant.broken gte 4>><<He>> is visibly upset, but trying hard to hide it. <<else>><<He>> is defiant, showing a brave face. <</if>> <br> /*describe exposure*/ <<if $pillory.tenant.upperexposed gte 3>> <<His>> $pillory.tenant.person.breastsdesc are fully exposed to the crowd. <<if $pillory.tenant.spank gte 8>><<His>> nipples are red from being pinched, slapped, sucked, bitten and pulled. <<elseif $pillory.tenant.spank gte 4>><<His>> nipples looks sore from abuse. <</if>> <<elseif $pillory.tenant.upperexposed gte 2>> <<if $pronoun is "f">> <<His>> top has been bared, with only <<his>> bra hiding <<his>> $pillory.tenant.person.breastsdesc from the crowd. <<else>> <<His>> top has been bared, fully exposing <<his>> $pillory.tenant.person.breastsdesc to the crowd. <<if $pillory.tenant.spank gte 8>><<His>> nipples are red from being pinched, slapped, bitten and pulled. <<elseif $pillory.tenant.spank gte 4>><<His>> nipples looks sore from abuse. <</if>> <</if>> <<elseif $pillory.tenant.upperexposed gte 1>><<His>> upper clothes have been mauled, partially exposing <<his>> <<if $pronoun is "f">>bra<<else>>$pillory.tenant.person.breastsdesc<</if>> to the crowd. <</if>> <<if $pillory.tenant.lowerexposed gte 2>><<His>> ass has <<if $pillory.tenant.upperexposed gte 1>>also<</if>> been exposed, making <<if $pillory.tenant.person.gender is "f">><<his>> pussy <<else>><<his>> $pillory.tenant.person.penisdesc <</if>>visible to all. <<if $pillory.tenant.spank gte 5>><<His>> ass shows signs of rough <<if $pillory.tenant.fruit gte 5>>spanking, and <<his>> <<if $pillory.tenant.face gte 2>>cum<<if $pillory.tenant.face gte 4>>-coated<<else>>-stained<</if>><</if>> face is a mess of bruises and broken fruit. <<else>>spanking. <</if>> <<elseif $pillory.tenant.fruit gte 6>><<His>> <<if $pillory.tenant.face gte 2>>cum<<if $pillory.tenant.face gte 4>>-coated<<else>>-stained<</if>><</if>> face is a mess of bruises and broken fruit. <<elseif $pillory.tenant.fruit gte 2>><<His>> <<if $pillory.tenant.face gte 2>>cum<<if $pillory.tenant.face gte 4>>-coated<<else>>-stained<</if>><</if>> face is marked by bruises and broken fruit. <</if>> <<if $pillory.tenant.ass gte 2>><<His>> ass has been raped more than <<if $pillory.tenant.genital gte 2>>once, and <<if $pillory.tenant.person.gender is "m">>slime coats <<his>> <<print either("raw","abused","sorry")>> penis. <<else>>semen <<if $pillory.tenant.genital gte 4>>pours<<else>>drips<</if>> from <<his>> <<print either("raw","reddened","abused")>> pussy. <</if>> <<else>>once. <</if>> <<elseif $pillory.tenant.genital gte 5>><<His>> <<if $pillory.tenant.person.gender is "m">>penis<<else>>pussy<</if>> has been raped raw. <<elseif $pillory.tenant.genital gte 2>><<He>> has been raped more than once. <</if>> <<elseif $pillory.tenant.lowerexposed gte 1>> <<His>> <<if $pronoun is "f">>dress has been pulled up over <<his>> waist,<<else>>trousers have been pulled down,<</if>> exposing <<his>> underwear to the crowd. <<elseif $pillory.tenant.wet is 2>><<His>> clothes are see-through from the rain. <<elseif $pillory.tenant.wet is 1>><<His>> clothes are semi-translucent from damp, but are drying out. <</if>> <<if $pillory.tenant.upperexposed is 0 and $pillory.tenant.lowerexposed is 0 and $pillory.tenant.face is 0 and $pillory.tenant.fruit gte 1>> <<if $pillory.tenant.fruit gte 6>><<His>> face is a mess of bruises and broken fruit. <<elseif $pillory.tenant.fruit gte 2>><<His>> face is marked by bruises and broken fruit. <</if>> <</if>> <</widget>> <<widget "update_npc_pillory_appearance">> <<set $_lastViewed to new DateTime($pillory.tenant.lastViewed)>> <<set $_timeLeft to Time.date.compareWith($_lastViewed, true)>> <<if $_timeLeft / TimeConstants.secondsPerHour lte -2>> /* last viewed time tracked to avoid this firing on every viewing */ <<set $pillory.tenant.lastViewed to Time.date.timeStamp>> /*Weather effects*/ <<if Weather.precipitation is "rain">> <<set $pillory.tenant.wet to 2>> <<elseif $pillory.tenant.wet is 2>> <<set $pillory.tenant.wet to 1>> <<else>> <<set $pillory.tenant.wet to 0>> <</if>> /*Chance of abuse based on crowd and time passed*/ <<set _totalSeconds to Time.date.compareWith(new DateTime($pillory.tenant.startTime), true) / TimeConstants.secondsPerHour>> <<set $_chance to Math.clamp(_totalSeconds / TimeConstants.secondsPerHour, 0, 24)>> <<set $_chance *= $pillory.tenant.crowd>> /*increased by spectacle*/ <<set $_factor to ($pillory.tenant.upperexposed + $pillory.tenant.lowerexposed + $pillory.tenant.fruit + $pillory.tenant.spank + $pillory.tenant.face + $pillory.tenant.ass + $pillory.tenant.genital)>> <<if Time.dayState is "night">> <<set $_factor += 3>> <</if>> <<if $pillory.tenant.wet is 2>> <<set $_factor += 4>> <</if>> <<set $_prob to ($_chance * $_factor)>> /*Out of sight changes to tenant */ <<rng>> <<if $rng gte (40 - $_prob)>><<set $pillory.tenant.fruit += 1>><</if>> <<rng>> <<if $rng gte (60 - $_prob)>><<set $pillory.tenant.crowd += 2>><</if>> <<rng>> <<if $rng gte (60 - $_prob)>><<set $pillory.tenant.upperexposed += 1>><</if>> <<rng>> <<if $rng gte (80 - $_prob)>><<set $pillory.tenant.lowerexposed += 1>><</if>> <<rng>> <<if $rng gte (100 - $_prob)>><<set $pillory.tenant.crowd += 2>><</if>> <<rng>> <<if $rng gte (100 - $_prob)>><<set $pillory.tenant.fruit += 2>><<set $pillory.tenant.face += 1>><</if>> <<rng>> <<if $rng gte (100 - $_prob) and $pillory.tenant.lowerexposed gte 2>><<set $pillory.tenant.spank += 2>><<else>><<set $pillory.tenant.spank += 1>><</if>> <<rng>> <<if $rng gte (100 - $_prob) and $pillory.tenant.lowerexposed gte 2>><<set $pillory.tenant.genital += 1>><</if>> <<rng>> <<if $rng gte (100 - $_prob) and $pillory.tenant.lowerexposed gte 2>><<set $pillory.tenant.ass += 1>><</if>> /*lock down exposure and replenish fruit */ <<if $pillory.tenant.upperexposed gte 3>><<if $pillory.tenant.person.gender is "f" or $pillory.tenant.person.pronoun is "f">><<set $pillory.tenant.upperexposed to 3>><<else>><<set $pillory.tenant.upperexposed to 2>><</if>><</if>> <<if $pillory.tenant.lowerexposed gt 2>><<set $pillory.tenant.lowerexposed to 2>><</if>> <<set $pillory.tenant.fruitstock to 3>> <<set $pillory.tenant.broken += ($pillory.tenant.ass + $pillory.tenant.genital + $pillory.tenant.face + $pillory.tenant.fruit + $pillory.tenant.spank)>> <</if>> <</widget>> <<widget "npc_pillory_abuse">> <<set $_lastViewed to new DateTime($pillory.tenant.lastViewed)>> <<set $_timeLeft to Time.date.compareWith($_lastViewed, true)>> <<if $_timeLeft / TimeConstants.secondsPerHour lte -2>> <<set $pillory.tenant.lastViewed to Time.date.timeStamp>> <<rng>><<generate2>><<person2>> <<set $_ly to either("violently","openly","angrily","furiously","cheekily","repeatedly","clumsily","roughly","theatrically","dutifully","merrily","gleefully","drunkenly","ineptly")>> <<if Time.dayState isnot "night">> <<if $rng gte 56>> /* 45% chance of jeer and shout only, 55% chance of something active */ A number of people, led by a <<person>> jeer and shout abuse at the prisoner. <<elseif $rng gte 41>> /* 15% */ <<rng>> <<if $pillory.tenant.person.pronoun is "f" and $rng gte 40>> /* 60% if upper-exposed F */ A <<person>> in rough farmer clothes approaches the pillory with a bucket. Setting the bucket underneath the <<pillory_type>>'s chest, <<person2>><<he>> <<if $pillory.tenant.upperexposed lte 1>>displaces the prisoner's top,<</if>> <<if $pillory.tenant.upperexposed lte 2>><<set $pillory.tenant.upperexposed to 3>> slips off her bra,<</if>> grabs the <<pillory_type>>'s $pillory.tenant.person.breastsdesc and sets about trying to milk her into the bucket. <br><br> <<if $rng % 3 is 0>> <<if $rng % 2>> Milk bursts from her breasts. Smiling, the farmer soon builds up a rhythm, adeptly milking both breasts. <br> "Good cow." The farmer ruffles <<the_pillory_person>>'s hair before leaving with an almost full bucket. <<else>><<set $pillory.tenant.spank += 1>> Milk dribbles from the <<pillory_type>>'s breasts. With a lot of persistent squeezing and nipple pulling the farmer is eventually able to get a fair amount of milk from the prisoner. Her $pillory.tenant.person.breastsdesc look raw and painful afterward. <br> The farmer pats the prisoner's head before leaving with <<person2>><<his>> half-filled bucket. <</if>> <<else>><<set $pillory.tenant.spank += 1>> Despite increasingly rough squeezing and pulling on her nipples, no milk is forthcoming. <<if $rng % 2>> Finally giving up, the <<person2>><<person>> pats her head. "Poor girl. You're all dried up." <br> <<He>> walks behind the <<pillory_type>> and <<if $pillory.tenant.lowerexposed lte 1>>strips <<his>> <<print either("silk panties","plain panties","tattered undies","boyshorts")>>, <<else>>holds <<his>> butt-cheeks spread apart<</if>> exposing <<if $pillory.tenant.person.gender is "f">><<his>> pussy <<else>><<his>> ass <</if>>to all. <br> "This cow's dry," <<person2>><<he>> calls out to the crowd. <<if $pillory.tenant.person.gender is "f">>"Wants someone to put a calf in her."<<else>>"Wants someone to fill her up."<</if>> <br> <<He>> walks away with <<his>> empty bucket. <<set $pillory.tenant.lowerexposed to 2>> <<else>> Finally giving up, the farmer walks away with <<his>> empty bucket. <</if>> <br> <</if>> <<elseif $pillory.tenant.person.gender is "m" and $rng gte 40>> A <<person>> in rough farmer clothes approaches the pillory with a clear glass. <br> Setting the glass underneath the <<pillory_type>>'s groin, <<person2>><<he>> <<if $pillory.tenant.lowerexposed lte 0>><<if $pillory.tenant.person.pronoun is "m">>pulls down the prisoner's trousers,<<else>>hitches up the prisoner's skirt,<</if>><</if>> <<if $pillory.tenant.lowerexposed lte 1>><<set $pillory.tenant.lowerexposed to 2>><<if $pillory.tenant.person.pronoun is "m">> removes his underpants, <<else>> pulls down her panties, <</if>><</if>> grabs the prisoner's $pillory.tenant.person.penisdesc and starts to rub. The prisoner looks shocked, then angry, then conflicted, and then shocked again as <<person1>><<he>> cums into a glass in front of a jeering crowd. <<person2>> <<if $rng % 3>> The farmer glances in the glass and then starts again. Seemingly an 'old hand,' <<he>> starts to browse <<his>> phone with one hand, while bringing the <<pillory_type>> to several more orgasms with the other. <br> Ten minutes later, the farmer is walking off with a glassful of ejaculate, while <<the_pillory_person>> hangs in the pillory, <<his>> face flickering between shock, shame, pain and satiation. <<else>><<set $pillory.tenant.spank += 1>> The farmer browses <<his>> phone with one hand, while trying to bring the <<pillory_type>> back to orgasm with the other. <br> After a minute or so, the farmer looks confused, then annoyed at <<the_pillory_person>>'s lack of response. The <<person2>><<person>> pulls a device from <<his>> pocket. <<He>> clips one end of the device to the base of the <<pillory_type>>'s penis, and slides the other deep into the prisoner's anus. <br> The farmer presses a button and with a loud electric crackle, <<the_pillory_person>> yelps, jerks and starts to orgasm continually. <br> After about 20 seconds of phone browsing the <<person2>><<person>> turns the device off, glances at the glass, and nods. <br> The crowd are engrossed as the farmer repeats this process several more times, until finally the farmer is walking away with a glassful of ejaculate, while <<the_pillory_person>> hangs limp in the pillory, <<his>> face twitching with pain, shame and a strange satiation. <</if>> <br> <<elseif $pillory.tenant.person.gender is "f" and $rng gte 20>> A <<person>> in rough farmer clothes approaches the pillory with a glass beaker. <br> Setting the beaker underneath the <<pillory_type>>'s groin, <<person2>><<he>> <<if $pillory.tenant.lowerexposed lte 0>><<if $pillory.tenant.person.pronoun is "f">>hitches up the prisoner's skirt,<<else>>pulls down the prisoner's trousers,<</if>><</if>> <<if $pillory.tenant.lowerexposed lte 1>><<set $pillory.tenant.lowerexposed to 2>><<if $pillory.tenant.person.pronoun is "f">> pulls down her panties,<<else>> removes his underpants,<</if>><</if>> grabs the prisoner's pussy and starts to rub. After a moment's shock, <<the_pillory_person>> pouts and resigns <<himself>> to this debasement. That's when <<he>> feels cold metal shoved up <<his>> pussy. A moment later panic crosses <<his>> face as something is clamped to <<his>> clit, and almost instantly waves of electricity hit <<him>>. <br> The crowd are engrossed as <<the_pillory_person>> writhes in orgasm after shuddering orgasm. The farmer barely pays attention, holding the beaker close underneath to catch <<the_pillory_person>>'s fluids, while browsing <<person2>><<his>> phone. At last, the farmer turns off and extracts <<his>> machine. <<Hes>> still browsing <<his>> phone as <<he>> walks away with a full beaker of fluids. <br> <<The_pillory_person>> looks mortified, <<his>> face flitting between shock, shame and sexual exhaustion. <<else>> <<if Time.month > 4 && Time.month < 9 and $rng % 4>> <<set _bug to either("bee","wasp","bumblebee")>> <<The_pillory_person>> shouts and helplessly wriggles and flaps as a _bug starts to circle <<him>>. <br> <<if $rng % 3 is 0>> A kindly spectator waves the _bug away. <<elseif $rng % 3 is 1>> The crowd jeer and laugh. Eventually the _bug loses interest and flies away. <<else>> <<if $pillory.tenant.lowerexposed is 2 and $rng % 2>> <<if $pronoun is "m">><<set _part to either("butt","upper leg","inner thigh","dick","balls","hip")>> <<else>><<set _part to either("ass","leg","inner thigh","pussy","hip")>> <</if>> <<elseif $pillory.tenant.upperexposed gte 3 and $pronoun is "f">> <<set _part to either("breast","nipple","armpit","ribs","midriff","back")>> <<elseif $pillory.tenant.upperexposed gte 2>> <<set _part to either("chest","armpit","ribs","belly","back")>> <<else>> <<set _part to either("arm","shoulder","cheek","leg","waist","wrist","elbow")>> <</if>> <<He>> <<print either("yells","screams","whines","cries")>> as it lands on <<his>> _part and stings <<him>>. <</if>> <<else>> A furious <<monk>> from the temple scolds the crowd for preying on the morally sick. Many people look ashamed and some leave. <<set $pillory.tenant.crowd -= 1>> <<if $pillory.tenant.upperexposed + $pillory.tenant.lowerexposed gte 1>> <<set $pillory.tenant.upperexposed to 0>><<set $pillory.tenant.lowerexposed to 0>> The <<monk>> finally restores the <<pillory_type>>'s dignity by replacing <<his>> clothes. <</if>> <</if>> <</if>> <<elseif $rng gte 36>> /* 5% */ A <<person>> throws fruit at the <<pillory_type>>. Unable to move or defend, it hits <<him>> directly in the face. It looks painful, especially as <<he>> cannot wipe the acids out of <<his>> eyes. <<set $pillory.tenant.fruit += 1>> <<elseif $rng gte 26>> /* 10% */ A <<person>> throws fruit at the <<pillory_type>> but misses completely. <<elseif $rng gte 16>> /* 10% */ A <<person>> walks up to the pillory and $_ly fondles the <<pillory_type>>'s <<if $pronoun is "f">>breasts.<<else>>balls.<</if>> <<elseif $rng gte 11 and $pillory.tenant.upperexposed lt 3>>/* 5% */ A <<person>> walks up to the <<pillory_type>> and <<if $pillory.tenant.upperexposed is 2>> <<if $pronoun is "f">> $_ly removes <<his>> bra, fully exposing <<his>> $pillory.tenant.person.breastsdesc to a jeering crowd. <<else>> $_ly twists <<his>> nipples. <<set $pillory.tenant.spank += 1>> <</if>> <<elseif $pillory.tenant.upperexposed is 1>> <<if $pronoun is "f">> fully removes <<his>> top, leaving <<him>> with <<his>> bra exposed to the jeering crowd. <<else>> fully removes <<his>> top, exposing <<his>> naked $pillory.tenant.person.breastsdesc to the jeering crowd. <</if>> <<else>> <<if $pronoun is "f">> lifts <<his>> top, partially exposing <<his>> bra to a jeering crowd. <<else>> lifts <<his>> top, exposing much of <<his>> chest to the jeering crowd. <</if>> <</if>><<set $pillory.tenant.upperexposed += 1>> <<elseif $rng gte 6 and $pillory.tenant.lowerexposed lt 2>>/* 5% */ A <<person>> walks up to <<the_pillory_person>> and <<if $pillory.tenant.lowerexposed is 1>> <<if $pillory.tenant.person.gender is "f">>removes the <<pillory_type>>'s underwear, fully exposing <<his>> ass and pussy to the jeering crowd. <<else>>fully removes the <<pillory_type>>'s underwear, exposing <<his>> ass and <<his>> $pillory.tenant.person.penisdesc to the jeering crowd. <</if>> <<else>> <<if $pronoun is "f">>lifts the <<pillory_type>>'s skirt,<<else>>pulls down <<his>> trousers,<</if>> exposing <<his>> underwear to a jeering crowd. <</if>><<set $pillory.tenant.lowerexposed += 1>> <<else>><<set $pillory.tenant.spank += 1>>/* 5% */ A <<person>> walks up to the <<pillory_type>> and spanks <<him>> hard on the ass. The thwack echoes across the street. <</if>> <<else>> /*night*/ <<if $rng gte 86>> /* 15% chance of jeer and shout only, 85% chance of something active */ A number of people, led by a <<person>> jeer and shout at the prisoner. <<elseif $rng gte 81>> /* 5% */ A <<person>> throws fruit at the <<pillory_type>>. Unable to move or defend <<himself>>, it hits <<the_pillory_person>> directly in the face. There is a loud cheer. It looks painful, especially as <<he>> cannot wipe the acids out of <<his>> eyes. <<set $pillory.tenant.fruit += 1>> <<elseif $rng gte 76>> /* 5% */ A <<person>> throws fruit at the <<pillory_type>> but misses completely. <<elseif $pillory.tenant.person.pronoun is "f" and $pillory.tenant.upperexposed lt 3>> <<set $pillory.tenant.upperexposed to 3>> A <<person>> walks up to the helpless <<pillory_type>> and displaces all <<his>> upper clothes, fully baring <<his>> <<if $pronoun is "f">>$pillory.tenant.person.breastsdesc<<else>>chest<</if>> to the crowd. <<elseif $pillory.tenant.person.pronoun is "m" and $pillory.tenant.upperexposed lt 2>> <<set $pillory.tenant.upperexposed to 2>> A <<person>> walks up to the helpless <<pillory_type>> and displaces all <<his>> upper clothes, fully baring <<his>> <<if $pronoun is "f">>$pillory.tenant.person.breastsdesc<<else>>chest<</if>> to the crowd. <<elseif $pillory.tenant.lowerexposed lt 2>> <<set $pillory.tenant.lowerexposed to 2>> A <<person>> walks up to the helpless <<pillory_type>> and displaces all <<his>> lower clothes, fully baring <<his>> <<if $pillory.tenant.person.gender is "f">>pussy<<else>>$pillory.tenant.person.penisdesc<</if>> to the crowd. There is a loud cheer. <<elseif $rng gte 66>> /* 10% */ A <<person>> tries to incite a nearby dog to mount the prisoner's naked backside. It <<if $rng % 2>>gives <<the_pillory_person>>'s ass a few tentative sniffs, but <</if>>is not interested. <<elseif $rng gte 58>> /* 8% */ <<set $pillory.tenant.spank += 1>> A <<person>> sneaks up behind the pillory and $_ly slaps the <<pillory_type>>'s exposed <<if $pillory.tenant.person.gender is "f">>cunt.<<else>>balls.<</if>> The crowd jeer and laugh as <<he>> howls in pain. <<elseif $rng gte 51>> /* 7% */ <<set $pillory.tenant.spank += 2>><br> Some teacher you've seen around the school but never had classes with, walks drunkenly toward the pillory. <<if $pillory.tenant.special.name is "Whitney">> <br><<set $pillory.tenant.spank += 1>> "Well, hello, Whitney! <<print either("Fancy seeing you here!","Look who it is!","Are you stuck there? How unfortunate!","Isn't this quite the turnaround!?","Such a nice surprise to see you here!")>>" <<he>> slurs, grinning. "<<print either("We both know that you've earned this.","We both know how richly you deserve this.","And today's lesson will be about consequences.","Do remember that mean little nickname you made up for me?","Do remember what you did in my class the other day?")>>" <<elseif $pillory.tenant.special.name is "Leighton">> <br><<set $pillory.tenant.spank += 1>> "Well, hello there. Is that you, boss?" <<he>> says, staying out of sight behind the pillory. "<<print either("I think it's time for some 'anonymous staff feedback'.","Remember what you said about 'cruel to be kind?'","So I guess it's your turn for some 'frank and honest feedback'?","So is this the 'right forum' to air staff grievances?")>>" <<else>><br> "Well, hello there," <<he>> slurs, grinning. "<<print either("Looks like you've been naughty.","Discipline. So important.","Isn't it a lovely evening? Don't you think? Look at that full moon!")>>" <</if>><br> <<He>> spanks the <<pillory_type>>'s ass until <<person2>><<his>> arm tires. The crowd jeer and laugh as the <<person1>><<person>> howls in pain. <<elseif $rng gte 41>> /* 10% */ <<set $pillory.tenant.face += 1>> A <<person>> walks in front of the pillory and $_ly masturbates in front of the <<pillory_type>>. <<person2>><<if $pronoun is "m">>Cum soon splatters across <<the_pillory_person>>'s face. <<else>><<He>> grinds <<his>> cunt against <<the_pillory_person>>'s<<person2>> face as <<he>> orgasms. <</if>> The crowd cheer and laugh. <<elseif $rng gte 31>> /* 10% */ <<set $pillory.tenant.ass += 1>> A <<person>> walks behind the pillory and $_ly <<if $pronoun is "m">>rapes<<else>>fingers<</if>> the <<pillory_type>>'s asshole. The crowd cheer <<person2>><<him>> on. <<elseif $rng gte 21>> /* 10% */ <<set $pillory.tenant.genital += 1>> A <<person>> walks behind the pillory and $_ly rapes <<if $pronoun is "m">><<the_pillory_person>>.<<else>><<the_pillory_person>> with a strap-on.<</if>><<person2>> The crowd take pictures and cheer <<him>> on. <<elseif $rng gte 11>> /* 10% */ <<set $pillory.tenant.genital += 1>><<set $pillory.tenant.ass += 1>> The crowd watch and photograph as a stray dog rapes <<the_pillory_person>>. A <<person2>><<person>> rewards the dog with a <<print either("biscuit.","pat on the head.","sweet.","cream bun.")>> <br> The crowd enjoys such a perverted spectacle. <<elseif $rng gte 6 and maleChance() gt 0 and (maleChance() lt 100 or $pillory.tenant.person.gender isnot "m")>> /* 5% - with men allowed */ <<set $pillory.tenant.ass += 1>><<set $pillory.tenant.face += 1>> <<if $rng % 3 is 0>>A couple of off-duty policemen approach. They make a <<person>> record as they<<else>>Two men approach. Together they<</if>> <<if $pillory.tenant.person.gender is "m">>anally-<<else>>$_ly <</if>>spit-roast <<the_pillory_person>>. The crowd enjoys the spectacle. <<elseif $rng gte 6 and maleChance() lt 100 and (maleChance() gt 0 or $pillory.tenant.person.gender isnot "f")>> /* 5% - with women allowed */ <<set $pillory.tenant.ass += 1>><<set $pillory.tenant.face += 1>> <<if $rng % 3 is 0>>A couple of off-duty policewomen approach. They make a <<person>> record as they<<else>>Two women approach. Together they<</if>> <<if $pillory.tenant.person.gender is "m">>anally-<<else>>$_ly <</if>>spit-roast <<the_pillory_person>> with strap-ons. The crowd enjoys the spectacle. <<else>> /* 5% */ <<set $pillory.tenant.spank += 1>> A <<person>> walks up to the <<pillory_type>> and spanks <<him>> hard on the ass. The thwack echoes across the street. <</if>> <</if>> <<else>>/* already abused this hour - no action, don't want spamming this scene to accelerate things ridiculously */ The people around <<print either("jeer at","laugh at","point at","shout abuse at","taunt","mock","leer at")>> <<if Time.schoolDay and ((Time.hour gte 7 and Time.hour lte 8) or Time.hour is 15) and $rng lte 34>> the <<pillory_type>>. A group of students from the nearby school pass by, gaping at <<if $pillory.tenant.lowerexposed gte 2 or $pillory.tenant.upperexposed gte 3>>the lewdly exposed prisoner. <<if $rng % 3 is 0>> An outraged bystander runs up to the pillory and replaces the <<pillory_type>>'s clothes. <<set $pillory.tenant.lowerexposed to 0>><<set $pillory.tenant.upperexposed to 0>><</if>> <<else>>the prisoner. <</if>> <<elseif Time.dayState isnot "night">> <<if $rng lte 80>> the <<pillory_type>> and <<print either("mutter among themselves.","take photos.","amuse themselves.")>> <<elseif $rng lte 93>> the <<pillory_type>>. Some get bored and leave. <<set $pillory.tenant.crowd -= 1>> <<else>> the <<pillory_type>>. A bus drops some people off nearby. A few join the crowd around the pillory. <<set $pillory.tenant.crowd += 1>> <</if>> <<else>> <<if $rng lte 67>> <<if $pillory.tenant.lowerexposed gte 2 and $rng % 4 is 0>>the <<pillory_type>> and take selfies posing around <<his>> exposed, naked ass. <<else>>the <<pillory_type>> and <<print either("mutter darkly.","drink.","throw empty beer cans.","make sinister threats.","take selfies with the prisoner.","tell dirty jokes.")>> <</if>> <<elseif $rng lte 85>> the <<pillory_type>>. Some get tired and leave. <<set $pillory.tenant.crowd -= 1>> <<else>> the <<pillory_type>>. A few people passing by join the crowd around the pillory. <<set $pillory.tenant.crowd += 1>> <</if>> <</if>> <</if>> <<if $pillory.tenant.upperexposed gte 3>><<if $pillory.tenant.person.gender is "f" or $pillory.tenant.person.pronoun is "f">><<set $pillory.tenant.upperexposed to 3>><<else>><<set $pillory.tenant.upperexposed to 2>><</if>><</if>> <<if $pillory.tenant.lowerexposed gt 2>><<set $pillory.tenant.lowerexposed to 2>><</if>> <</widget>> <<widget "npc_pillory_release_schedule">> <<get_pillory_npc>> <br> <<set $_endTime to new DateTime($pillory.tenant.endTime)>> <<set $_timeLeft to Time.date.compareWith($_endTime)>> <<if $_timeLeft.days lt 1>> <<He>> will be released <<if $_timeLeft.hours gt 0>> in $_timeLeft.hours hours. <<else>> imminently. <</if>> <<else>> <<He>> is scheduled for release <<if $_timeLeft.days is 1>>tomorrow<<else>>in two days<</if>> at <<switch $_endTime.hour>> <<case 0>>midnight. <<case 12>>noon. <<default>><<ampm $_endTime.hour>>. <</switch>> <</if>> <<endevent>> <</widget>> <<widget "end_npc_pillory">> <<get_pillory_npc>> <<if Time.minute lte 15>> A police officer <<print either("is releasing","has just released","is struggling to release","is about to release")>> <<the_pillory_person>> from the pillory. <<if Weather.precipitation is "rain">><<His>> clothes are see-through from the rain.<<elseif Weather.isFreezing>><<He>> shivers in the cold.<</if>> <<elseif Time.minute lte 30>> <<The_pillory_person>> staggers away from the pillory with <<print either("tears","defiance","signs of trauma","fury")>> in <<his>> eyes. <<if Weather.precipitation is "rain">><<His>> clothes are see-through from the rain.<</if>> <<else>> <<The_pillory_person>> was released and has left. A couple of civil servants clean the pillory. <</if>> <<set _totalSeconds to Time.date.compareWith(new DateTime($pillory.tenant.startTime), true) / TimeConstants.secondsPerHour>> <<set $_hours to _totalSeconds / TimeConstants.secondsPerHour>> <<set $rng += $_hours>> <<if $rng gte 67 or $rng gte 33 and Weather.precipitation is "rain">>A large crowd jeers and shouts.<</if>> <br><br> <<clear_pillory>> <<endevent>> <</widget>> <<widget "clear_pillory">> <<if $pillory.tenant and $pillory.tenant.special.name is "Whitney">> <<set C.npc.Whitney.state to "active">> <</if>> <<setup_pillory>> <</widget>> <<widget "drench">> <!-- Drench PC in lewd liquid(s). First arguments set filth type: semen(default), goo, nectar or multiple. Last argument sets level 1-5 (default 1). Body interiors will be ignored if "outside" is specified as any of the arguments. --> <!-- valid examples: <<drench>> <<drench goo nectar 3 outside>><<drench outside 2>> --> <!-- invalid example: <<drench 3 semen>> --> <<set $_outside to _args.includes("outside") ? "outside" : "all">> <!-- "outside" can appear as the last argument, if so - delete it so the $_amount will be properly detected --> <<run _args.delete("outside")>> <<set $_amount to Number.isInteger(_args.last()) ? Math.clamp(_args.last(), 1, 5) : 1>> <<set $_goo to _args.includesAny("goo", "slime", "liquid") ? "goo" : "">> <<set $_nectar to _args.includes("nectar") ? "nectar" : "">> <<set $_semen to (_args.includesAny("semen","cum") || ($_goo + $_nectar).length === 0) ? "semen" : "">> <<set $hygiene to 3000>> <<bodyliquid $_outside $_semen $_goo $_nectar $_amount>> <</widget>> <<widget "awarenessup">> <<set _awareness to _args[1]>> <<if $awareness gte _args[0]>> <span class="pink">It's nothing you weren't aware of.</span> <<else>> <<gawareness>><<awareness _awareness>> <</if>> <</widget>> <<widget "linkradiogroup">> <<set _receiver_name to _args[0]>> <<set _options to _args[1]>> <<set _set_value to State.getVar(_receiver_name)>> <span class="no-numberify"> <<for _label, _value range _options>> <<capture _receiver_name, _value>> <span @class="(_set_value is _value ? 'goldLink' : '')"> <<link _label>> <<run State.setVar(_receiver_name, _value)>> <<run Engine.show()>> <!-- refresh the page without leaving it --> <</link>> </span> <</capture>> <</for>> </span> <</widget>> <<widget "deskText">> <<if $studyBooks is undefined>> <<set $studyBooks to {}>> <<set $studyBooks.rented to "none">> <<set $studyBooks.stolen to "none">> <</if>> <<set _desk to Furniture.get('desk')>> <<set _chair to Furniture.get('chair')>> <<set _projectOptions to [$scienceproject, $mathsproject].includes("ongoing")>> <<set _bookOptions to ($studyBooks.stolen is 'Raul and Janet' or $studyBooks.rented is 'Raul and Janet' or $studyBooks.stolen is 'Pinch' or $studyBooks.rented is 'Pinch')>> <<set _wardrobe to Furniture.get('wardrobe')>> <<set _playOptions to ($englishPlay is 'ongoing' and $englishPlayRoles.Player isnot 'none')>> <<if _projectOptions || _playOptions || _bookOptions || ($christmas_wrap is 1 && $christmas_gift_robin_wrapped isnot 1) || ($christmas_wrap is 1 && $christmas_gift is "clothes_unwrapped")>> <<if _args[0] is "noicon">> Your _desk.name and <<if _chair.name isnot "chair">>_chair.article <</if>>_chair.nameSolo are wedged next to your wardrobe. <br> <<projectoptions>> <<homeStudyOptions>> <<christmas_options>> <br> <</if>> <<else>> <<if _args[0] is "icon">> <br> <<deskchairicon>>Your _desk.name and <<if _chair.name isnot "chair">>_chair.article <</if>>_chair.nameSolo are wedged next to your wardrobe. <</if>> <</if>> <</widget>> <<widget "tableText">> <<set _table to Furniture.get('table')>> <<set _chair to Furniture.get('chair')>> <<if $pregnancyStats.parasiteDoctorEvents gte 2>> <<if _args[0] is "noicon">> <<if _table>> <br> Your _table.name <<if _chair and _chair.name isnot "chair">>and one of your _chair.name are <<else>>is <</if>> situated next to a wall. <br> <<elseif _chair and _chair.name isnot "chair">> <br> One of your _chair.name is situated next to a wall. <br> <<else>> <br> Your fish tank sits on the floor. <br> <</if>> <<containersLink>> <</if>> <<else>> <<if _args[0] is "icon">> <<if _table>> <br> <<bedroomtablechairicon>> Your _table.name <<if _chair and _chair.name isnot "chair">>and a _chair.nameSolo are <<else>>is <</if>> situated next to a wall. <<elseif _chair and _chair.name isnot "chair">> <br> <<bedroomtablechairicon>> A second _chair.nameSolo is situated next to a wall. <</if>> <</if>> <</if>> <</widget>> <<widget "radiogroup">> <<set _receiver_name to _args[0]>> <<set _possible_values_by_label to _args[1]>> <<set _set_value to State.getVar(_receiver_name)>> <<for _label, _value range _possible_values_by_label>> <label> <<if _set_value is _value>> <<radiobutton _receiver_name _value checked>> <<else>> <<radiobutton _receiver_name _value>> <</if>> _label </label> <</for>> <</widget>> <<widget "settextcolorfromfemininity">> <<if _args[0] gt 0>> <<set _text_color to "pink">> <<elseif _args[0] lt 0>> <<set _text_color to "lblue">> <<else>> <<set _text_color to "">> <</if>> <</widget>> <<widget "settextcolorfromgender">> <<if _args[0] is "f">> <<set _text_color to "pink">> <<elseif _args[0] is "m">> <<set _text_color to "lblue">> <<else>> <<set _text_color to "">> <</if>> <</widget>> <<widget "cheatStart">> <<set $cheatdisable to "f">><<money 500000 "debug">> <<set $rentmoney to 10000>><<rentmod>> <<set $renttime to 7>><<set $rentday to Time.weekDay>> <<set $rentstage to 1>> <</widget>> <<widget "swim_check">> <<if ($worn.lower.type.includes("swim") or $worn.under_lower.type.includes("swim")) or ($worn.lower.type.includes("naked") and $worn.upper.type.includes("naked") and $worn.under_upper.type.includes("naked") and $worn.under_lower.type.includes("naked"))>> <<set _swim_check to 1>> <</if>> <</widget>> <<widget "pantsable">> <!-- check if lowerwear allows for player to be pantsed or upskirted _pantsable: lowerwear can be pulled down; _upskirt: skirt can be flipped up --> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 and ($worn.lower.set is $worn.upper.set)>> <<set _upskirt to 1>> <<set _pantsable to 0>> <<elseif setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<set _upskirt to 1>> <<set _pantsable to 1>> <<elseif ["shortalls"].includes($worn.lower.name) or ($worn.lower.set is $worn.upper.set)>> <<set _upskirt to 0>> <<set _pantsable to 0>> <<else>> <<set _upskirt to 0>> <<set _pantsable to 1>> <</if>> <</widget>> <<widget "skulduggeryuse">> <<if _args[0] is true>> <!-- This argument lets us use skulduggery without adding extra linebreaks that make formatting things a nightmare. --> <<if $skulduggery lte ($skulduggerydifficulty + 100)>> <<combatskulduggeryskilluse>> <<else>> <span class="blue">That was too easy. You didn't learn anything.</span> <</if>> <<else>> <<if $skulduggery lte ($skulduggerydifficulty + 100)>> <<skulduggeryskilluse>> <<else>> <span class="blue">That was too easy. You didn't learn anything.</span> <br><br> <</if>> <</if>> <</widget>> <<widget "wetness_init">> <<if $objectVersion.vaginaWetness lt 3 or $objectVersion.vaginaWetness is undefined>> <<set $vaginaWetness to 0>> <<set $trackedArousal to [0]>> <<set $masturbation_vaginaFluid to 0>> <<set $vaginaArousalWetness to 0>> <<set $timeSinceArousal to 0>> <<set $objectVersion.vaginaWetness to 3>> <</if>> <</widget>> <<widget "hand_gag">>/*First arg the NPC index. Second arg the hand used.*/ <<if !$worn.face.type.includes("gag") and _args[0] isnot undefined>> <<if _args[1] is "left">> <<set $mouthuse to "lefthand">><<set $NPCList[_args[0]].lefthand to "mouth">> <<else>> <<set $mouthuse to "righthand">><<set $NPCList[_args[0]].righthand to "mouth">> <</if>> <</if>> <</widget>> <<widget "prop">> <<for _i = 0; _i < _args.length; _i++>> <<set $prop.push(_args[_i])>> <</for>> <</widget>> <<widget "schoolrep">> <<if _args[0] and _args[1] and (!$worn.face.type.includes("mask") or _args[1] lt 0)>> <<if $schoolrep[_args[0]] lt 5 or _args[1] lt 0>> <<if _args[0] is "crossdress" and ($daily.school.crossdress is undefined or _args[1] lt 0)>> <<set $daily.school.crossdress to 1>> <<set $schoolrep[_args[0]] += _args[1]>> <<if $schoolrep.crossdress gte 5>> <<set $genderknown.pushUnique("Kylar")>> <<set $genderknown.pushUnique("Whitney")>> <<set $genderknown.pushUnique("Sydney")>> <<set $genderknown.pushUnique("Sirris")>> <<set $genderknown.pushUnique("River")>> <<set $genderknown.pushUnique("Doren")>> <<set $genderknown.pushUnique("Winter")>> <<set $genderknown.pushUnique("Mason")>> <<set $genderknown.pushUnique("Leighton")>> <<set $school_crossdress_message to 5>> <<elseif $schoolrep.crossdress gte 1 and _args[1] gte 1>> <<set $school_crossdress_message to $schoolrep.crossdress>> <</if>> <<set $schoolrep.crossdress to Math.clamp($schoolrep.crossdress, 0, 5)>> <<if _args[1] gt 0>><<set $weekly.crossdressingFameReduction to true>><</if>> <<set $schoolrep.herm to 0>> /* Reset for females that lose a "penis" */ <<elseif _args[0] is "herm" and ($daily.school.herm is undefined or _args[1] lt 0)>> <<set $daily.school.herm to 1>> <<set $schoolrep[_args[0]] += _args[1]>> <<if $schoolrep.herm gte 5>> <<set $genderknown.pushUnique("Kylar")>> <<set $genderknown.pushUnique("Whitney")>> <<set $genderknown.pushUnique("Sydney")>> <<set $genderknown.pushUnique("Sirris")>> <<set $genderknown.pushUnique("River")>> <<set $genderknown.pushUnique("Doren")>> <<set $genderknown.pushUnique("Winter")>> <<set $genderknown.pushUnique("Mason")>> <<set $genderknown.pushUnique("Leighton")>> <<set $school_herm_message to 5>> <<elseif $schoolrep.herm gte 1 and _args[1] gte 1>> <<set $school_herm_message to $schoolrep.herm>> <</if>> <<set $schoolrep.herm to Math.clamp($schoolrep.herm, 0, 5)>> <<set $schoolrep.crossdress to 0>> /* Reset for females that gain a "penis" */ <</if>> <</if>> <</if>> <</widget>> <<widget "schoolrep_naked">> /* _args[0] is used as an overwrite to perform retroactive school reputation changes. For example, if a video of the player nude circulates. If we just call "schoolrep_naked" when the news breaks and the player is wearing a chasitiy belt right now, but NOT in the video, reputaiton will update incorrectly. Same is true vice versa. The intended use-case of _args[0] is by saving a boolean of the status of playerChasity(Hidden) *at the time the video was recorded*, and then input that boolean into _args[0] when the video circulates. Look at my implimentation of $flyover_chaste to see the intended use in action. */ <<if !playerChastity("hidden") or _args[0] is false>> <<if $player.penisExist and $player.vaginaExist>> <<schoolrep herm 1>> <<elseif isCrossdressing()>> <<schoolrep crossdress 1>> <<elseif $player.sex is $player.gender_appearance and $schoolrep.crossdress gt 0 and !$daily.crossdressingFameReduction and !$weekly.crossdressingFameReduction and random(0,100) gte 100 - ($schoolrep.crossdress * 3)>> <<schoolrep crossdress -1>> <<set $daily.crossdressingFameReduction to true>> <</if>> <</if>> <</widget>> <<widget "event_trigger">> <<set $danger to random(1, 10000)>> <<if $danger gte (9900 - $allure)>> <<set $event_trigger to 1>> <</if>> <</widget>> <<widget "combat_lewdity_text">> <<combat_promiscuity_text>> <<combat_deviancy_text>> <</widget>> <<widget "adjust_school_traits">> <<if $science gte 1000>> <<set $sciencetrait to 4>> <<elseif $science gte 700>> <<set $sciencetrait to 3>> <<elseif $science gte 400>> <<set $sciencetrait to 2>> <<elseif $science gte 200>> <<set $sciencetrait to 1>> <<else>> <<set $sciencetrait to 0>> <</if>> <<if $maths gte 1000>> <<set $mathstrait to 4>> <<elseif $maths gte 700>> <<set $mathstrait to 3>> <<elseif $maths gte 400>> <<set $mathstrait to 2>> <<elseif $maths gte 200>> <<set $mathstrait to 1>> <<else>> <<set $mathstrait to 0>> <</if>> <<if $english gte 1000>> <<set $englishtrait to 4>> <<elseif $english gte 700>> <<set $englishtrait to 3>> <<elseif $english gte 400>> <<set $englishtrait to 2>> <<elseif $english gte 200>> <<set $englishtrait to 1>> <<else>> <<set $englishtrait to 0>> <</if>> <<if $history gte 1000>> <<set $historytrait to 4>> <<elseif $history gte 700>> <<set $historytrait to 3>> <<elseif $history gte 400>> <<set $historytrait to 2>> <<elseif $history gte 200>> <<set $historytrait to 1>> <<else>> <<set $historytrait to 0>> <</if>> <<set $english to Math.clamp($english, 0, 1000)>> <<set $maths to Math.clamp($maths, 0, 1000)>> <<set $science to Math.clamp($science, 0, 1000)>> <<set $history to Math.clamp($history, 0, 1000)>> <</widget>> /* Argument 1 is base amount. You can also use decimals. Argument 2 is variation. Argument 3 is crime. Argument 4 is source. Best to use <<money x>><<printmoney x>> when args 2 and 3 are both false. <<moneyGain 1>> will give £1.00 which is not stolen. <<moneyGain 1 false false>> will give £1.00 which is not stolen. <<moneyGain 1 true>> will give between £0.80 and £1.20 which is not stolen. <<moneyGain 1 true true>> will give between £0.80 and £1.20 which is stolen, and can scale further with skulduggery. <<moneyGain 1 false true>> will give £1.00 which is stolen, and can scale with skulduggery. */ <<widget "moneyGain">><<silently>> <<if _args[0]>> <<set _base_amount to _args[0] * 100>> <<else>> <<set _base_amount to 100>> <</if>> <<if _args[1]>> <<set _variation to Math.floor(random(Math.floor(_base_amount / 5 * -1), Math.floor(_base_amount / 5)))>> <<else>> <<set _variation to 0>> <</if>> <<if _args[2]>> <<set _skulduggeryMulti to (1 + (currentSkillValue('skulduggery') / 2000))>> <<else>> <<set _skulduggeryMulti to 1>> <</if>> <<set _money_gain to Math.floor((_base_amount + _variation) * _skulduggeryMulti)>> <<if _args[2]>> <<crimeUp `_money_gain / 100` "thievery">> <</if>> <<money _money_gain `_args[3] ? _args[3] : (_args[2] ? "thievery" : "")`>> <</silently>><<printmoney _money_gain>><</widget>> /* Used like above, but only shows the money amount, doesn't add money or crime. Use <<crimeUp `_money_gain / 100`>> and <<money _money_gain>> where necessary in links, etc. */ <<widget "moneyGainDisplay">><<silently>> <<if _args[0]>> <<set _base_amount to _args[0] * 100>> <<else>> <<set _base_amount to 100>> <</if>> <<if _args[1]>> <<set _variation to Math.floor(random(Math.floor(_base_amount / 5 * -1), Math.floor(_base_amount / 5)))>> <<else>> <<set _variation to 0>> <</if>> <<if _args[2]>> <<set _skulduggeryMulti to (1 + (currentSkillValue('skulduggery') / 2000))>> <<else>> <<set _skulduggeryMulti to 1>> <</if>> <<set _money_gain to Math.floor((_base_amount + _variation) * _skulduggeryMulti)>> <</silently>><<printmoney _money_gain>><</widget>> <<widget "printmoney">><<silently>><!-- (amount in pennies, highlight toggle) --> <<if _args.length gt 2 or typeof(_args[0]) isnot "number">><!-- sanity checks --> <<set $_printmoney to '<span class="red">printmoney error: invalid arguments: _args</span>'>> <<else>> <<set $_printmoney to formatMoney(_args[0])>> <</if>> <<set $_text_output to `<span @class='_args[1]?_args[1]:"gold"'>` + $_printmoney + '</span>'>> <</silently>><<print $_text_output>><</widget>> <<widget "sadism">> <<if _args[0]>> <<set $sadism += _args[0]>> <<set $sadism to Math.clamp($sadism, 0, 1000)>> <</if>> <</widget>> <<widget "masochism">> <<if _args[0]>> <<set $masochism += _args[0]>> <<set $masochism to Math.clamp($masochism, 0, 1000)>> <</if>> <</widget>> <<widget "enable_rescue">> <<set $rescue to 1>> <</widget>> <<widget "hypnotised">> <<if _args[0]>> <<set $hypnotised += _args[0]>> <</if>> <</widget>> <<widget "giftSexToys">> <!-- _args[0] is the named NPC. --> <!-- Currently only works for strap-ons. Will need a refactor when other toy scenes are written. --> <<run window.handSextoysGiftToNPC(_args[0])>> <<set _strapons to checkIfNPCHasCategorySextoy(_args[0],"strap-on")>> <<if _strapons.length > 0>> <<for _i = 0; _i lt _strapons.length; _i++>> <<if _strapons[_i].shape is undefined>> <<set _strapons[_i].shape to "dildo">> <</if>> <<if _strapons[_i].prefixdescriptor is undefined>> <<set _strapons[_i].prefixdescriptor to "">> <</if>> <<generateNewStrapon _strapons[_i].size _strapons[_i].colour _strapons[_i].shape>> <<giveNNPCnewstrapon _args[0]>> <</for>> <</if>> <</widget>> <<widget "bodyliquid">><<silently>> <!-- first argument is either bodypart, all, outside, inside, or clear (required) --> <!-- second and later arguments are liquid types (semen, goo, nectar, or all; at least one required) --> <!-- last argument is optional and if numeric - specifies the amount (default: 1) --> <!-- process first argument and delete it so <<bodyliquid all all>> will work as expected --> <<set $_bodypart to _args[0]>> <<run _args.deleteAt(0)>> <<set $_clear to $_bodypart is "clear">> <<switch $_bodypart>> <<case "all" "clear">> <!-- use clone() to make sure we're not modifying setup --> <<set $_bodypart to clone(setup.bodyliquid.bodyparts)>> <<case "outside">> <<set $_bodypart to clone(setup.bodyliquid.bodyparts)>> <<run $_bodypart.delete(setup.bodyliquid.innerbodyparts)>> <<case "inside">> <<set $_bodypart to clone(setup.bodyliquid.innerbodyparts)>> <<default>> <<if setup.bodyliquid.bodyparts.includes($_bodypart)>> <<set $_bodypart to [$_bodypart]>> <<else>> <<set $_fail to true>> <</if>> <!--/case --> <</switch>> <<if !$_fail and (!$_clear or _args.last() lte -5)>> <<if !V.player.penisExist>> <<run $_bodypart.delete("penis")>> <</if>> <<if !V.player.vaginaExist>> <<run $_bodypart.delete("vagina", "vaginaoutside")>> <</if>> <<if $_bodypart.length is 0 and $options.debugdisable is "f">> <<run console.log(Utils.GetStack(), "- attempt to slap bodyliquid on nonexistent genitals failed successfully")>> <</if>> <</if>> <!-- select which liquids to modify, fail if none --> <<if $_clear or _args.includes("all")>> <<set $_liquids to clone(setup.bodyliquid.liquidtype)>> <<else>> <<set $_liquids to []>> <<if _args.includesAny("goo", "slime", "fluid")>> <!-- "slime" alternative because slime is a common descriptor --> <!-- "fluid" alternative for <<tentacleadv>> --> <<set $_liquids.push("goo")>> <</if>> <<if _args.includes("nectar")>> <<set $_liquids.push("nectar")>> <</if>> <</if>> <<if _args.includesAny("cum", "semen")>> <!-- "cum" alternative because cum is a common descriptor --> <<set $_liquids.push("semen")>> <</if>> <<if $_liquids.length is 0>> <<set $_fail to true>> <</if>> <!-- process The Final Argument, if integer - assume amount, else default to 1 --> <<if $_clear>> <<set $_amount to -10>> <<elseif Number.isInteger(_args.last())>> <<set $_amount to _args.last()>> <<else>> <<set $_amount to 1>> <</if>> <<if $_fail is true>> <<else>> <<for $_part range $_bodypart>> <<for $_type range $_liquids>> <<set $player.bodyliquid[$_part][$_type] to Math.clamp($player.bodyliquid[$_part][$_type] + $_amount, 0, 5)>> <</for>> <</for>> <</if>> <</silently>> <<if $options.debugdisable is "f" and $_fail is true>> <<error { message : `bodyliquid widget on ${Utils.GetStack()} failed, please report`, source : `Arguments: ${$_bodypart} | ${_args[0]} | ${_args[1]} | ${_args[2]} | ${_args[3]}.` }>> <</if>> <</widget>> <<widget "semenswallowedstat">> <<if $statFreeze isnot true and _args[0] isnot undefined>> <<set $semenswallowedstat += _args[0]>> <</if>> <</widget>> <<widget "animalsemenswallowedstat">> <<if $statFreeze isnot true and _args[0] isnot undefined>> <<set $animalsemenswallowedstat += _args[0]>> <</if>> <</widget>> <<widget "visionPrepMorph">> /* !!!!! Should be used after <<freezePlayerStats>> !!!!!! Resets stats to a default state in preparation to transform player into another character. */ <<if !$frozenValues>> <<error {message:"<<visionPrepMorph>> was called, but player stats are not frozen!"}>> <<exitAll>> <</if>> <<set $worn.genitals to clone(setup.clothes.genitals[0])>> <<run delete V.worn.butt_plug>> <<set $clothingrebuy to 0>> <<if $worn.neck.cursed is 1>> <<set $worn.neck.type.push("broken")>> <<neckruined>> <</if>> <<for _bodypart range $parasite.bodyparts>> <<set $parasite[_bodypart] to {}>> <</for>> <<resetEarSlime>> <<parasiteinit>> <<bodyliquid "clear">> <<bodywriting_init>> <<set $player.virginity to {anal:true,oral:true,penile:true,vaginal:true,temple:false,handholding:true,kiss:true}>> <<set $combat to 0>> <<set $pain to 0>> <<set $arousal to 0>> <<set $tiredness to 0>> <<set $stress to 0>> <<set $trauma to 0>> <<set $control to 500>> <<set $angel to 0>> <<set $angelbuild to 0>> <<set $fallenangel to 0>> <<set $fallenbuild to 0>> <<set $demon to 0>> <<set $demonbuild to 0>> <<set $wolfgirl to 0>> <<set $wolfbuild to 0>> <<set $cat to 0>> <<set $catbuild to 0>> <<set $cow to 0>> <<set $cowbuild to 0>> <<set $harpy to 0>> <<set $birdbuild to 0>> <<set $fox to 0>> <<set $foxbuild to 0>> <<run Object.keys(V.transformationParts).forEach((tf) => { Object.entries(V.transformationParts[tf]).forEach(([part, value]) => { if (value !== 'disabled' && value !== 'hidden') { V.transformationParts[tf][part] = 'hidden'; } }); })>> <<set $skulduggery to 0>> <<set $spray to 0>> <<set Skin.color.natural to "light">> <<set Skin.color.tan to 0>> <<set $facevariant to "default">> <</widget>>/* This is special passage to avoid false positive error in sanityCheck build script. Do not uncomment anything! $dancestudioanger $wolfpackrob $torturesurvivor $winterlakeknown $robinrescued $sleeptransform $diagnosis $passage $tags C.npc.Avery.lust $hairtest $initnpccompatibility $averydom $futureupdate *//* We have lists of remarks separated based on contextual relevance to let the user determine what's needed and offer variety without repeating ourselves. * It also allows us to separate our data depending on what would and wouldn't make sense to hear in a given situation, there's no sense in rejecting someone * for their penis size if the actual agent is about to sit on their dick. */ <<widget "bodycommentsetdata">> /* * penis size * I've grouped things into categories to make them easier to fit to specific uses, questioning and asserting that a penis is useless is inappropriate * in some cases but in other cases affection is inappropriate * * the current groupings I've chosen for what I've come up with are as follows: * affection: all comments expressing affection towards the persons size * size_remarks: plain descriptions of lack of size * surprise: all comments expressing surprise or incredulity at their size or lack of size (think comments with "how" in them) * insult: all derisive comments intended to hurt the persons feelings * question_use: all questions suggesting the penis is unfit for purpose * assert_useless: flat out assert the penis is useless */ /* * sod it, ugly messy shit with 0 regard for scope it is, because twine hates us all * this is how were going to output text, were going to modify this thing wherever we like * may god have mercy upon my soul */ <<set _output_line to "">> /* big pp */ <<set _big_penis_affection to [ "giddyup horsey,", "like a fucking horse,", "you're so big, you might break me,", "you're huge,", "I bet bigger tastes better," ]>> <<set _big_penis_size_remarks to [ "I've seen ponies smaller than that,", "that is ginormous,", "that's massive,", "it's so big," ]>> <<set _big_penis_surprise to [ "how the hell are you that hung?", "oh my god, it's ginormous,", "I've never in my life seen a dick that big,", "oh wow, that is huge,", "Jesus fucking Christ that's big,", "wow, you're hung like a horse,", "it's so big!" ]>> <<set _big_penis_question_use to [ "can that massive thing even fit inside anyone?", "how the hell do you even get something like that inside you?", "can you even get hard without passing out with a dick that big?" ]>> /* normal pp */ <<set _normal_penis_size_remarks to [ "I prefer bigger ones, myself,", "not the biggest I've ever seen,", "I'm glad it's not too small,", "it's just the right size to suck,", "such a perfect size," ]>> <<set _normal_penis_affection to [ "that cock is perfect decoration,", "I want a picture of that penis,", "that penis is adorable,", "that cock looks tasty,", "I've never seen a cock so cute," ]>> /* smol pp */ <<set _small_penis_affection to [ "what a cute little dick,", "what a cute little dicklet,", "Such a small and cute penis,", "it's so small and cute,", "what an adorable penis," ]>> <<set _small_penis_size_remarks to [ "it's tiny,", "it's smaller than my finger,", "it's so small,", "I've seen flash drives bigger than that,", "I've seen batteries bigger than that," ]>> <<set _small_penis_surprise to [ "how the hell are you that small?", "I thought <<pher>> penis would be bigger,", "oh my god, it's tiny,", "oh my god, it's smaller than my finger,", "<<pShes>> so small!" ]>> <<set _small_penis_insult to [ "what a pathetic little shrimp dick,", "nice dick, loser," ]>> <<set _small_penis_question_use to [ "well you're not much good down there, are you?", "who exactly are you planning on fucking with that tiny thing?" ]>> <<set _small_penis_assert_useless to [ "a dick that small belongs in chastity, you're not going to be using it anyway,", "oh my god, that little thing should be locked up," ]>> /* micro pp */ <<set _micropenis_size_remarks to [ "that looks more like a swollen clit than a dick,", "I've seen coins bigger than that,", "It's so cute and tiny," ]>> <<set _micropenis_surprise to [ "how the hell are you so tiny?", "<<pShes>> so tiny!", "it's so tiny!", "oh my god, it's like an acorn,", "I can't believe it's so tiny," ]>> <<set _micropenis_insult to [ "no amount of oral is making up for that,", "nice little willy you've got, try not to hurt anyone with it,", "I've never seen such a pathetic penis," ]>> <<set _micropenis_question_use to [ "can that little dick of yours even get inside a woman?" ]>> <<set _micropenis_assert_useless to [ "there's no way a dick that small could ever please anyone,", "Christ, I would be surprised if that could get past someone's lips," ]>> <<set _big_penis_all to []>> <<set _big_penis_all to _big_penis_all.concat(_big_penis_affection)>> <<set _big_penis_all to _big_penis_all.concat(_big_penis_size_remarks)>> <<set _big_penis_all to _big_penis_all.concat(_big_penis_surprise)>> <<set _big_penis_all to _big_penis_all.concat(_big_penis_question_use)>> <<set _normal_penis_all to []>> <<set _normal_penis_all to _normal_penis_all.concat(_normal_penis_size_remarks)>> <<set _normal_penis_all to _normal_penis_all.concat(_normal_penis_affection)>> <<set _small_penis_all to []>> <<set _small_penis_all to _small_penis_all.concat(_small_penis_affection)>> <<set _small_penis_all to _small_penis_all.concat(_small_penis_size_remarks)>> <<set _small_penis_all to _small_penis_all.concat(_small_penis_surprise)>> <<set _small_penis_all to _small_penis_all.concat(_small_penis_insult)>> <<set _small_penis_all to _small_penis_all.concat(_small_penis_question_use)>> <<set _small_penis_all to _small_penis_all.concat(_small_penis_assert_useless)>> <<set _micropenis_all to []>> <<set _micropenis_all to _micropenis_all.concat(_micropenis_size_remarks)>> <<set _micropenis_all to _micropenis_all.concat(_micropenis_surprise)>> <<set _micropenis_all to _micropenis_all.concat(_micropenis_insult)>> <<set _micropenis_all to _micropenis_all.concat(_micropenis_question_use)>> <<set _micropenis_all to _micropenis_all.concat(_micropenis_assert_useless)>> <</widget>> <<widget "generatepenisremark">> /* if we haven't set our data yet */ <<if !_big_penis_all or !_small_penis_all or !_micropenis_all or !_normal_penis_all>> <<bodycommentsetdata>> <</if>> <<set _output_line to "">> <<set _possibilities to []>> /* do we have anything notable downstairs */ <<if $player.penissize is 4>> /* big pp */ <<set _possibilities to _big_penis_all>> <<set _output_line to _possibilities.pluck()>> <<elseif $player.penissize <=1 and $player.penissize > -1>> /* smol pp */ <<set _possibilities to _small_penis_all>> <<set _output_line to _possibilities.pluck()>> <<if _args[0] is "capitalise">> <<set _output_line to _output_line[0].toUpperCase() + _output_line.substring(1)>> <</if>> <<elseif $player.penissize lte -1>> /* micro pp */ <<set _possibilities to _micropenis_all>> <<set _output_line to _possibilities.pluck()>> <<else>> /* normal pp */ <<set _possibilities to _normal_penis_all>> <<set _output_line to _possibilities.pluck()>> <</if>> <</widget>> /* modifier widgets because boy do i love bad practises */ <<widget "bodyremarkcapitalise">> <<set _output_line to _output_line[0].toUpperCase() + _output_line.substring(1)>> <</widget>> <<widget "bodyremarkcomma">> <<if !_output_line[_output_line.length - 1].match(/[.,:;!?]/)>> <<set _output_line to _output_line + ",">> <</if>> <</widget>> <<widget "bodyremarkstop">> <<if !_output_line[_output_line.length - 1].match(/[.,:;!?]/)>> <<set _output_line to _output_line + ".">> <</if>> <</widget>> /* hellish mess of output widget defitions */ <<widget "penisremark">> <<generatepenisremark>> <<print _output_line>> <</widget>> <<widget "Penisremark">> <<generatepenisremark>> <<bodyremarkcapitalise>> <<print _output_line>> <</widget>> <<widget "penisremarkquote">> <<generatepenisremark>> "<<print _output_line>>" <</widget>> <<widget "Penisremarkquote">> <<generatepenisremark>> <<bodyremarkcapitalise>> "<<print _output_line>>" <</widget>> <<widget "penisremarkstop">> <<generatepenisremark>> <<bodyremarkstop>> <<print _output_line>> <</widget>> <<widget "Penisremarkstop">> <<generatepenisremark>> <<bodyremarkcapitalise>> <<bodyremarkstop>> <<print _output_line>> <</widget>> <<widget "penisremarkstopquote">> <<generatepenisremark>> <<bodyremarkstop>> "<<print _output_line>>" <</widget>> <<widget "Penisremarkstopquote">> <<generatepenisremark>> <<bodyremarkcapitalise>> <<bodyremarkstop>> "<<print _output_line>>" <</widget>> <<widget "penisremarkcomma">> <<generatepenisremark>> <<bodyremarkcomma>> <<print _output_line>> <</widget>> <<widget "Penisremarkcomma">> <<generatepenisremark>> <<bodyremarkcapitalise>> <<bodyremarkcomma>> <<print _output_line>> <</widget>> <<widget "penisremarkcommaquote">> <<generatepenisremark>> <<bodyremarkcomma>> "<<print _output_line>>" <</widget>> <<widget "Penisremarkcommaquote">> <<generatepenisremark>> <<bodyremarkcapitalise>> <<bodyremarkcomma>> "<<print _output_line>>" <</widget>> <<widget "pillorypeniscomment">> <<Penisremarkquote>> a person in the crowd yells. <<trauma 5>><<gtrauma>> <<incgpenisinsecurity>> <</widget>><<widget "exhibitionismsetdata">> <<set _output_line to "">> /* big pp */ <<set _seatedflashcrotchunderskirtlines to [ "you stretch your leg, raising it up into the air and wiggling your foot a little to prolong your exposure", "you part your knees a little as you stretch, bringing your feet a little closer together to widen the gap", "you lift your feet up as you stretch, rocking yourself back a little in your seat and wiggling your feet a little as you \"accidentally\" part your legs", "you reach down a little and move your foot to one side, reaching down to scratch a non-existent itch on your leg and stabilising by moving your other leg even further apart", "you act as if you have some particularly uncomfortable debris stuck on your foot, lifting it up and bringing it close to your body in search of a non-existent pebble" ]>> <<set _exhibitionismdata_isinit to 1>> <</widget>> /* generic output modification */ <<widget "exhibitionismoutputlinecapitalise">> <<set _output_line to _output_line[0].toUpperCase() + _output_line.substring(1)>> <</widget>> <<widget "exhibitionismoutputlinecomma">> <<if !_output_line[_output_line.length - 1].match(/[.,:;!?]/)>> <<set _output_line to _output_line + ",">> <</if>> <</widget>> <<widget "exhibitionismoutputlinestop">> <<if !_output_line[_output_line.length - 1].match(/[.,:;!?]/)>> <<set _output_line to _output_line + ".">> <</if>> <</widget>> /* seated crotch flash under skirt */ <<widget "seatedflashcrotchunderskirtline">> <<if ndef _exhibitionismdata_isinit>> <<exhibitionismsetdata>> <</if>> <<set _output_line to _seatedflashcrotchunderskirtlines.pluck()>> <</widget>> <<widget "seatedflashcrotchunderskirt">> <<seatedflashcrotchunderskirtline>> <<print _output_line>> <</widget>> <<widget "Seatedflashcrotchunderskirt">> <<seatedflashcrotchunderskirtline>> <<exhibitionismoutputlinecapitalise>> <<print _output_line>> <</widget>> <<widget "seatedflashcrotchunderskirtcomma">> <<seatedflashcrotchunderskirtline>> <<exhibitionismoutputlinecomma>> <<print _output_line>> <</widget>> <<widget "Seatedflashcrotchunderskirtcomma">> <<seatedflashcrotchunderskirtline>> <<exhibitionismoutputlinecapitalise>> <<exhibitionismoutputlinecomma>> <<print _output_line>> <</widget>> <<widget "seatedflashcrotchunderskirtstop">> <<seatedflashcrotchunderskirtline>> <<exhibitionismoutputlinestop>> <<print _output_line>> <</widget>> <<widget "Seatedflashcrotchunderskirtstop">> <<seatedflashcrotchunderskirtline>> <<exhibitionismoutputlinecapitalise>> <<exhibitionismoutputlinestop>> <<print _output_line>> <</widget>><<widget "EZdisgusting">> <<set _possibilities to [ "disgusting", "foul", "repulsive", "nasty", "gross", "vile", "nauseating", "revolting", "rotten" ]>> <<print _possibilities.pluck()>> <</widget>> <<widget "EZsmall">> <<set _possibilities to [ "little", "tiny", "small", "miniature", "mini" ]>> <<print _possibilities.pluck()>> <</widget>> <<widget "EZbig">> <<set _possibilities to [ "big", "huge", "giant", "massive" ]>> <<print _possibilities.pluck()>> <</widget>> <<widget "EZpenis">> <<set _possibilities to [ "penis", "dick", "cock", "willy" ]>> <<print _possibilities.pluck()>> <</widget>>/* Bite-sized events based on the current season and weather. Made to be easily expandable, and using the new event pool system. * These are all treated as their own event passages, except for the lake, where they happen in addition to any other event. Other locations can be made to follow this behaviour in the future. * Exit passage depends on location. Town uses destinationeventend, forest uses the normal forest passage, etc. Called separately from the eventAmbient widget. Further control may be needed in the future, should any of these scenes expand into player choices. * Winter events and Snow events are not mutually exclusive. Rain, however, overrides other seasonal event pools. In the future, every season and weather combination could have a unique pool. * Future-proofed for snow outside of the Winter season. * -Puri */ <<widget "eventAmbient">> <<cleareventpool>> <<set $_weatherFlag to Weather.isSnow && Time.season === "winter" || Weather.precipitation is "snow" ? "snow" : Weather.precipitation === "rain" ? "rain" : Time.season>> <<switch ($_weatherFlag)>> <<case "snow">> <<if Time.season is "winter">> <<if Weather.isFreezing>> <<addinlineevent "winter_anywhere_1">> A brutally cold wind surges. You hug yourself for warmth until it dies down. <<stress 3>><<gstress>> <</addinlineevent>> <</if>> <<addinlineevent "winter_anywhere_2" 0.5>> <<dancedifficulty 1 1000 true>> You step into some snow that was deeper than you first thought, <<if $danceSuccess>> <span class="green">but you manage to keep your footing.</span> <<else>> <span class="red">and you lose your footing.</span> <<if playerIsPregnant() and playerAwareTheyArePregnant()>> The soft, cold snow absorbs the shock of your fall as you land on your butt. You climb to your feet, grateful that the snow cushioned your <<bellyDescription "pc">> from harm. <<else>> You land on your butt in the cold snow before climbing to your feet. <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>><<lowerwet 75>><<elseif $worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>><<underlowerwet 75>><</if>><<stress 6>><<pain 4>><<gstress>><<gpain>> <br><br> <<covered>> <</if>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "winter_anywhere_3">> You catch a brief ray of sunshine and warmth. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<if ["town", "park"].includes($location) and Time.hour gte 7 and Time.hour lt 21 and playerIsPregnant() and playerAwareTheyArePregnant()>> <<addinlineevent "winter_pregnant_watch">> You see a group of kids playing. They're making a fort out of snow and pelting snowballs at one another. You rub your <<bellyDescription "pc">> and wonder if your <<pregnancyBabyText "pc">> will be as boisterous as they are. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<switch $location>> <<case "town">> <<addinlineevent "winter_anystreet_1" 0.5>> <<athleticsdifficulty 0 800 true>> A car rushes by, sending a spray of slush onto the pavement. <<if $athleticsSuccess>> <span class="green">You manage to jump out of the way just in time.</span> <<else>> <span class="red">It completely drenches you before you can react, leaving you freezing.</span> <<if !$worn.upper.type.includes("swim") and !$worn.upper.type.includes("naked")>> <<upperwet 200>> <</if>> <<if !$worn.under_upper.type.includes("swim") and !$worn.under_upper.type.includes("naked") and !$worn.under_upper.type.includes("chastity")>> <<underupperwet 200>> <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>> <<lowerwet 200>> <</if>> <<if !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>> <<underlowerwet 200>> <</if>> <<effectswater>> <<covered>> <</if>> <</addinlineevent>> <<addinlineevent "winter_anystreet_2">> <<beastNEWinit 1 dog>> A <<beasttype>> jumps excitedly back and forth in the snow, trying to wrestle it into submission. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "winter_anystreet_3">> A snowplow rumbles past and the driver honks and waves at you. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<case "alley">> <<addinlineevent "winter_anyalley_1">> <<set Weather.Temperature.override.increase.outside(5, "The nearby fire warms you up a little.")>> You find an abandoned trash can fire, still lit. You take a moment to warm yourself. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "winter_anyalley_2">> <<beastNEWinit 3 cat>> You pass by some stray <<beastsplural>> playing in the snow. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "winter_anyalley_3" 0.5>> <<athleticsdifficulty 0 1000 true>> As you pass through the alleyway, you hear a sharp crack from above. Some snow falls loose from a window ledge above, <<if $athleticsSuccess>> <span class="green">but you manage to jump out of the way just in time.</span> <<else>> <span class="red">crashing down on top of you.</span> <<upperwet 75>><<stress 6>><<pain 4>><<gstress>><<gpain>> <br><br> <<covered>> <</if>> <</addinlineevent>> <<case "park">> <<addinlineevent "winter_park_1">> <<if Time.hour gte 6 and Time.hour lt 21>> You pass by people making angels in the snow. They look carefree. <<stress -3>><<lstress>> <<else>> You pass by a snow angel. <<if $angel gte 6>> You rub your wings and smile. <<elseif $fallenangel gte 2>> You angrily kick snow over it, suppressing a painful memory. <<elseif $demon gte 6>> You use your foot to give it horns and a tail, giggling to yourself. <</if>> <<stress -3>><<lstress>> <</if>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "winter_park_2">> You see some orphans laughing as they collaborate to build a snowman. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "winter_park_3" 0.33>> You're suddenly pelted with a slushy snowball. You turn to see <<if isInPark("whitney")>> Whitney, quickly wiping snow from <<nnpc_his "Whitney">> hands. <<if isLoveInterest("Whitney")>><<stress -3>><<lstress>><<else>><<stress 12>><<ggstress>><</if>> <<else>> several delinquents laughing at you. <<stress 12>><<ggstress>> <</if>> <</addinlineevent>> <</if>> <<case "forest">> <<addinlineevent "winter_forest_1" 0.33>> You hear a thunderous crack nearby. You turn around just in time to see the remains of a tree fall to the ground, surrounded by a great circle of splinters. <<stress 12>><<ggstress>> <</addinlineevent>> <<addinlineevent "winter_forest_2">> You find wolf tracks in the snow. <<if $wolfgirl gte 3>><<garousal>><<arousal 600>><<else>><<gstress>><<stress 1>><</if>> <</addinlineevent>> <<addinlineevent "winter_forest_3">> You find a well-built snowman leaning against a tree. The pose work is impressive. Someone spent a lot of time on this. <<stress -3>><<lstress>> <</addinlineevent>> <<if $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addinlineevent "winter_forest_4" 0.5>> <<generatePlant1>><<person1>> You see a <<personsimple>> walking through the snow. <<He>> turns and waves at you, before bumping into a tree <<he>> didn't notice. <<Plant_details>> get dislodged from <<his>> hair, and <<he>> pouts. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <</if>> <<case "bog">> <<addinlineevent "winter_bog_1">> The bog is profoundly silent. <<if $bogwater gte 1>> Your movement through the water is the only sound. <<else>> Your footsteps on the walkway are the only thing to break the silence. <</if>> It's peaceful, and almost relaxing. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "winter_bog_2">> Parts of the bog have frozen over in patches. What little light breaks through casts brilliant reflections. <</addinlineevent>> <<case "moor">> <<addinlineevent "winter_moor_1" 0.33>> You find a hideous snowman standing in a circle of pillars made of ice. <<if $hallucinations gte 2>>You turn away, only to hear a loud snap behind you. You look back, and it's gone. <<stress 24>><<gggstress>><<else>><<stress 6>><<gstress>><</if>> <</addinlineevent>> <<addinlineevent "winter_moor_2" 0.5>> You come across a frozen pond, and look down at your reflection. <<if $hallucinations gte 2>> <span class="red">Something inhuman scrapes at the ice from below.</span> You scramble away, nearly slipping. <<stress 24>><<gggstress>> <<elseif $hallucinations gte 1>> The surface churns and warps as if it weren't frozen, and you're almost certain that the reflection isn't yours. <<stress 12>><<ggstress>> <<elseif $hallucinogen gt 0>> The surface ripples at your presence, and a vaguely familiar <<girl>> stares back through the ice. Your breath catches in your throat for a moment, before you decide to look away. <<stress 12>><<ggstress>> <<elseif $trauma gte $traumamax>> A <<girl>> with glazed eyes stares back. <<elseif $pain gte 100>> A crying <<girl>> stares back. <<elseif $pain gte 40>> A tearful <<girl>> stares back. <<elseif $pain gte 1>> A frowning <<girl>> stares back. <<else>> A cheerful <<girl>> stares back. <<stress -3>><<lstress>> <</if>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "winter_moor_3">> You see some late birds flying south for the winter. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<default>> <</switch>> <</if>> <<if Weather.precipitation is "snow">> <<addinlineevent "snow_anywhere_1">> A single snowflake lands softly on the tip of your nose. You stop to regard it with wonder for a few moments. <<stress -1>><<lstress>> <</addinlineevent>> <<addinlineevent "snow_anywhere_2">> A burst of wind sends a flurry of snow right into your face. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "snow_anywhere_3">> A surge of wind sends snow swirling in a circle around you. You feel a sense of calm as you stand in the eye of the storm before the wind dies down again. <<stress -6>><<lstress>> <</addinlineevent>> <<switch $location>> <<case "town">> <<addinlineevent "snow_anystreet_1">> <<beastNEWinit 1 dog>> A <<beasttype>> barks at the falling snow. <<bHe>> sneezes as a snowflake lands on <<bhis>> nose. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "snow_anystreet_2">> <<generate1>><<person1>>A <<person>> with an umbrella lets you walk alongside <<him>> for a while. <<He>> chats with you as you walk together. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<if ($bus is "domus" or $bus is "danube" or $bus is "barb") and Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "snow_residentialstreet_1">> You spot someone from the orphanage playing joyfully amidst the falling snow. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<case "alley">> <<addinlineevent "snow_anyalley_1">> <<beastNEWinit 1 cat>> A stray <<beasttype>> pursues the descending flakes of snow throughout the alleyway. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "snow_anyalley_2">> <<beastNEWinit 1 dog>> <<generate2>><<person2>> A homeless <<personsimple>> huddles together with a mangy <<person1>><<beasttype>> inside of a cardboard box, seeking shelter from the snow. <<person2>><<He>> gives you a warm smile as you pass. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "snow_anyalley_3">> As you pass through the alley, the wind suddenly picks up and funnels a huge swathe of falling snow in your direction. You shield yourself as you're assailed by wet and cold snowflakes. When the wind finally dies down, you're left freezing with damp clothes. <<if !$worn.upper.type.includes("swim") and !$worn.upper.type.includes("naked")>> <<upperwet 75>> <</if>> <<if !$worn.under_upper.type.includes("swim") and !$worn.under_upper.type.includes("naked") and !$worn.under_upper.type.includes("chastity")>> <<underupperwet 75>> <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>> <<lowerwet 75>> <</if>> <<if !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>> <<underlowerwet 75>> <</if>> <</addinlineevent>> <<case "park">> <<addinlineevent "snow_park_1" 0.5>> <<if playerIsPregnant() and playerAwareTheyArePregnant()>> You slip on a patch of black ice. Your hands instinctively curl around your <<bellyDescription "pc">> to protect it from harm as you fall flat on your ass. You use a nearby bench to safely haul yourself to your feet, careful not to slip again. Your bottom is left damp and chilly. <<else>> You slip on a patch of black ice, tripping and falling. You slide across the ground, dampening your clothes and leaving your bottom chilly. <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>><<lowerwet 75>><<elseif $worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>><<underlowerwet 75>><</if>><<stress 6>><<pain 4>><<gstress>><<gpain>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "snow_park_2">> Youths cheer and celebrate the falling snow as they play in the park. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "snow_park_3">> Some people playing nearby are cobbling what snow they can to form snowballs and lob them at one another. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<case "forest">> <<addinlineevent "snow_forest_1">> You stop when you notice a deer huddled close to its young offspring some distance ahead, keeping it warm and sheltered from the snow. You decide to take a sight detour, as to not disturb them. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "snow_forest_2">> The branches of the trees offer some protection from the falling snow. <<stress -1>><<lstress>> <</addinlineevent>> <<addinlineevent "snow_forest_wolfmeet">> <<beastNEWinit 1 wolf>> <<if $syndromewolves is 1>> You're caught off guard as a <<beasttype>> bounds out from a snow bank in front of you. You relax once you see it's a member of your pack. <<if $monster is 1>> "Always keep guard up, <<ppackbrother>>," <<bhe>> says as <<bhe>> shakes off the snow. "Home soon. Cold days are warmer with pack." <<bHe>> bounds off towards the wolf cave. <<else>> <<bHe>> approaches and nuzzles you before shaking the snow from <<bhis>> furry coat and bounding off towards the wolf cave. <</if>> <<stress -6>><<llstress>> <<else>> You freeze when you see a <<beasttype>> in front of you, peering from a snow bank. <<if $monster is 1>> <<bHe>> slowly emerges, regarding you with serious eyes. <br><br> "Cold days, not for humans. Run home," <<bhe>> says as <<bhe>> shakes off the snow. <<bHe>> bares <<bhis>> fangs at you playfully, before bounding off into the trees. <<else>> <<bHe>> stops and regards you before shaking the snow from <<bhis>> furry coat and bounding off into the trees. <</if>> <<stress -3>><<lstress>> <</if>> <<endevent>> <</addinlineevent>> <<case "bog">> <<addinlineevent "snow_bog_1">> Parts of the bog are entirely shaded by the snow blanket. The play of light is gorgeous amidst the untamed wild. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "snow_bog_2">> The thick leaves above offer protection from the falling snow. <<stress -1>><<lstress>> <</addinlineevent>> <<if $bogwater is 0>> <<addinlineevent "snow_bog_3">> <<dancedifficulty 1 1000 true>> You step forward, and part of the walkway proves to be more slippery than the rest. <<if $danceSuccess>> You slide for a moment, <span class="green">but manage to keep your footing.</span> <<else>> <<set $bogwater to 1>><<water>> You try to stop yourself, <span class="red">but slip and fall right into the water.</span> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>><<lowerwet 75>><<elseif $worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>><<underlowerwet 75>><</if>><<stress 6>><<pain 4>><<gstress>><<gpain>> <br><br> <<covered>> <</if>> <</addinlineevent>> <</if>> <<case "moor">> <<addinlineevent "snow_moor_1">> The falling snowflakes obscure your vision, as you hear strange sounds all about. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "snow_moor_2">> <<set Weather.Temperature.override.increase.outside(2, "The sunshine warms your skin.")>> For the briefest of moments, the snow subsides and you catch a warming ray of sunshine. It doesn't last long, but you feel a little better. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "snow_moor_3">> <<if Time.hour gte 6 and Time.hour lt 21>> The snow makes the normally treacherous terrain of the moor even more dangerous. You struggle to find stable footing and occasionally slip as you go. <<else>> The snowfall makes the dark night of the moor even darker. You can barely see where you're going. <<stress 6>><<gstress>> <</if>> <</addinlineevent>> <<default>> <</switch>> <</if>> <<case "rain">> <<addinlineevent "rain_anywhere_1">> Thunder rumbles in the distance. <<stress 1>><<gstress>> <</addinlineevent>> <<addinlineevent "rain_anywhere_2">> <<if $trauma gte ($traumamax / 5) * 4>> The unyielding onslaught of the rain torments and mocks you. <<stress 6>><<gstress>> <<else>> The gentle sound of the rain soothes you. <<stress -3>><<lstress>> <</if>> <</addinlineevent>> <<addinlineevent "rain_anywhere_3" 0.33>> The rain briefly gives way to hail. You're relentlessly pelted for a few moments. <<pain 4>><<stress 6>><<gpain>><<gstress>> <</addinlineevent>> <<switch $location>> <<case "town">> <<addinlineevent "rain_anystreet_1" 0.33>> <<athleticsdifficulty 0 500 true>> A vehicle races by, sending water spraying across the pavement. <<if $athleticsSuccess>> <span class="green">You manage to step out of the way just in time.</span> <<else>> <span class="red">It completely drenches you before you can react.</span> <<if !$worn.upper.type.includes("swim") and !$worn.upper.type.includes("naked")>> <<upperwet 200>> <</if>> <<if !$worn.under_upper.type.includes("swim") and !$worn.under_upper.type.includes("naked") and !$worn.under_upper.type.includes("chastity")>> <<underupperwet 200>> <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>> <<lowerwet 200>> <</if>> <<if !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>> <<underlowerwet 200>> <</if>> <<effectswater>> <<covered>> <</if>> <</addinlineevent>> <<addinlineevent "rain_anystreet_2" 0.33>> <<dancedifficulty 1 500 true>> The rain-slicked pavement causes you to slip, <<if $danceSuccess>> <span class="green">but you manage to right yourself and keep your footing.</span> <<else>> <span class="red">and you lose your footing.</span> You land on your butt, right in a large puddle. <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>><<lowerwet 200>><<elseif $worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>><<underlowerwet 200>><</if>><<stress 6>><<pain 4>><<gstress>><<gpain>> <br><br> <<covered>> <</if>> <</addinlineevent>> <<addinlineevent "rain_anystreet_3">> <<generate1>><<person1>>A <<person>> with an umbrella lets you walk alongside <<him>> for a while. <<He>> chats with you as you walk together. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<if Time.hour gte 7 and Time.hour lt 21 and playerIsPregnant() and playerAwareTheyArePregnant() and playerBellyVisible()>> <<addinlineevent "rain_pregnant_talk" 0.8>> <<generate1>><<person1>> The rain gives way to hail, and you take shelter under a nearby awning. A <<personsimple>> with a pram is already there, murmuring reassurances to <<his>> fussy newborn. <<He>> smiles and nods at your <<bellyDescription "pc">>. "When are you due?" <<he>> asks. The two of you make idle chit-chat as you wait for the hail to let up. <br><br> As it finally dies down, the <<father>> mentions that <<he>> lives on <<print either("Domus Street", "Danube Street")>> and suggests that you have a playdate once you give birth. When <<he>> asks where you live, you confess that you're a resident of the orphanage. The <<persons>> face twists in a mixture of pity and distaste, and <<he>> mumbles a hasty goodbye before stepping out into the rain once more. You watch as the pram disappears into the distance, feeling oddly bereft. <<trauma 6>><<gtrauma>> <<endevent>> <</addinlineevent>> <</if>> <<case "alley">> <<addinlineevent "rain_anyalley_1">> <<beastNEWinit 1 dog>> A <<beasttype>> huddles by some trash cans to escape the downpour. You can sympathise. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "rain_anyalley_2" 0.33>> You walk beneath a gutter drain just as it comes unclogged. A torrent of rain water drenches you. <<if !$worn.upper.type.includes("swim") and !$worn.upper.type.includes("naked")>> <<upperwet 75>> <</if>> <<if !$worn.under_upper.type.includes("swim") and !$worn.under_upper.type.includes("naked") and !$worn.under_upper.type.includes("chastity")>> <<underupperwet 75>> <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>> <<lowerwet 75>> <</if>> <<if !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>> <<underlowerwet 75>> <</if>> <</addinlineevent>> <<addinlineevent "rain_anyalley_3">> A group of youths are playing in the alley. They jump about, splashing in puddles and giggling. <<stress -3>><<lstress>> <</addinlineevent>> <<case "park">> <<addinlineevent "rain_park_1">> <<beastNEWinit 1 dog>> <<generate2>><<person2>>A <<person>> chases an escaped <<beasttype>> across the park, cursing all the while as the rain soaks <<him>>. You hold back a giggle. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "rain_park_2">> You catch sight of a couple kissing in the rain. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "rain_park_3" 0.5>> You slip and fall onto a patch of wet grass. <<if playerIsPregnant() and playerAwareTheyArePregnant()>> Your hands instinctively curl around your <<bellyDescription "pc">> to protect it from harm as you fall flat on your ass. You use a nearby bench to safely haul yourself to your feet, careful not to slip again. <</if>> Your bottom is left sore and damp. <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>><<lowerwet 75>><<elseif $worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>><<underlowerwet 75>><</if>><<stress 6>><<pain 4>><<gstress>><<gpain>> <</addinlineevent>> <<case "forest">> <<addinlineevent "rain_forest_1">> Rain pours down through the trees, filling the forest with calming scents and sounds. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "rain_forest_2" 0.33>> Lightning strikes a tree nearby, sending splinters flying in all directions. The tree hurtles to the ground. The smouldering wood is doused quickly by the rain, but the event still leaves you on edge. <<stress 24>><<gggstress>> <</addinlineevent>> <<addinlineevent "rain_forest_3">> You spot a deer sheltering its child from the rain. <<stress -3>><<lstress>> <</addinlineevent>> <<case "bog">> <<addinlineevent "rain_bog_1">> Rain pours down in uneven waterfalls from the mass of leaves above. You briefly pass through one. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "rain_bog_2" 0.33>> Lightning strikes a tree nearby, sending splinters flying in all directions. The tree hurtles to the mire. The smouldering wood is engulfed by the bog, snuffing instantly, but the event still leaves you on edge. <<stress 24>><<gggstress>> <</addinlineevent>> <<addinlineevent "rain_bog_3">> You spot a frog on a lilypad. It croaks, singing with the rain. <<stress -3>><<lstress>> <</addinlineevent>> <<if $bogwater is 0>> <<addinlineevent "rain_bog_4">> <<dancedifficulty 1 1000 true>> You step forward, and part of the walkway proves to be more slippery than the rest. <<if $danceSuccess>> You slide for a moment, <span class="green">but manage to keep your footing.</span> <<else>> <<set $bogwater to 1>><<water>> You try to stop yourself, <span class="red">but slip and fall right into the water.</span> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>><<lowerwet 75>><<elseif $worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>><<underlowerwet 75>><</if>><<stress 6>><<pain 4>><<gstress>><<gpain>> <br><br> <<covered>> <</if>> <</addinlineevent>> <</if>> <<case "moor">> <<addinlineevent "rain_moor_1">> The rain obscures your vision as you hear strange sounds all about. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "rain_moor_2">> A flash of lightning illuminates dark shapes moving in the distance. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "rain_moor_3">> You freeze as you hear a noise in the nearby grass. You sigh in relief as a wet rabbit hops from the brush, seeking better shelter from the rain. <<stress -3>><<lstress>> <</addinlineevent>> <<if $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addinlineevent "rain_moor_4" 0.5>> <<generatePlant1>><<person1>> You see a <<personsimple>> spinning in the rain, holding <<his>> arms out. <<He>> almost slips and loses <<his>> balance a few times, but <<he>> doesn't stop smiling. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <</if>> <<default>> <</switch>> <<case "autumn" "winter">> <<addinlineevent "autumn_anywhere_1">> A surge of wind sends leaves swirling in a circle around you. You feel a sense of calm as you stand in the eye of the storm, before the wind dies down again. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "autumn_anywhere_2">> The wind kicks up some leaves in your face<<if !$worn.face.type.includes("covered")>>, leaving you sputtering<</if>>. <<stress 1>><<gstress>> <</addinlineevent>> <<addinlineevent "autumn_anywhere_3" 0.33>> <<dancedifficulty 1 500 true>> You trip up on a fallen branch, <<if $danceSuccess>> <span class="green">but you manage to keep your footing.</span> <<covered>> <<else>> <span class="red">and land in a pile of damp leaves.</span> <<if playerIsPregnant() and playerAwareTheyArePregnant()>> Your hand automatically flies to your <<bellyDescription "pc">>. You're grateful that the leaves broke your fall. You quickly stand, brushing off leaves and rubbing your now sore and wet bottom. <<else>> You quickly stand, brushing off leaves and rubbing your now sore and wet bottom. <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>><<lowerwet 75>><<elseif $worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>><<underlowerwet 75>><</if>><<stress 6>><<pain 4>><<gstress>><<gpain>> <br><br> <<covered>> <</if>> <</addinlineevent>> <<if ["town", "park"].includes($location) and Time.hour gte 7 and Time.hour lt 21 and playerIsPregnant() and playerAwareTheyArePregnant()>> <<addinlineevent "autumn_pregnant_watch">> <<generatey1>><<person1>> You see a group of kids playing. A young <<personsimple>> hides in a pile of leaves before bursting out to scare <<his>> friend. The other child immediately bursts into tears. You rub your <<bellyDescription "pc">> and wonder if your <<pregnancyBabyText "pc">> will be as troublesome as they are. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <</if>> <<switch $location>> <<case "town">> <<addinlineevent "autumn_anystreet_1">> <<beastNEWinit 1 dog>> A <<beasttype>> snaps at leaves as the wind sweeps them this way and that. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lte 21>> <<addinlineevent "autumn_anystreet_2">> <<generate1>><<person1>>A <<person>> rakes leaves off the pavement and into a pile. Just as <<he>> finishes, the wind scatters them across the sidewalk yet again, causing <<him>> to curse loudly. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "autumn_anystreet_3">> <<generate1>><<person1>>A <<person>> stands on the sidewalk using a leaf blower to clear the sidewalks. As you near <<him>>, <<he>> turns suddenly, and the powerful blast of air from the blower sends your clothes into various states of disarray, giving anyone nearby a show. <br><br> The <<person>> laughs as you walk past, wrangling your clothes back in order. <<stress 3>><<arousal 10>><<gstress>><<garousal>> <<endevent>> <</addinlineevent>> <</if>> <<case "alley">> <<addinlineevent "autumn_anyalley_1">> <<beastNEWinit 1 cat>> A stray <<beasttype>> chases a leaf across the alley. You stop to watch for a little while.<<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "autumn_anyalley_2">> As you pass through the alley, the wind picks up and funnels nearby leaves nearby in your direction. You shield yourself as best you can, and the wet and dirty leaves pass after a moment. <<stress 1>><<gstress>> <</addinlineevent>> <<if Time.hour gte 21 or Time.hour lt 6>> <<addinlineevent "autumn_anyalley_3" 0.33>> Several large piles of leaves litter the alley. Raccoons run and play between the piles. <<if currentSkillValue('science') gte 500>>You wonder why there are raccoons here, they certainly aren't native.<</if>> <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<case "park">> <<if Time.season is "autumn">> <<addinlineevent "autumn_park_1">> You look out over the park and marvel at the various colours of autumn. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "autumn_park_2">> You watch as a couple takes turns leaping into a pile of leaves. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "autumn_park_3">> <<generate1>><<person1>> You accidentally walk through a pile of leaves. A nearby <<person>> raking leaves looks over and yells at you. You hurry on. <<stress 3>><<gstress>> <<endevent>> <</addinlineevent>> <<addinlineevent "autumn_park_4">> A leaf on the wind <<if $worn.face.name is "naked">> lands on your cheek. <<else>> gets stuck in your $worn.face.name.<</if>> You pluck it off.<<if currentSkillValue('science') gte 500>> It's a maple leaf. The stem is also connected to one of the distinctive <<print either("samaras", "maple keys", "helicopters", "whirlybirds", "polynoses")>> containing the seeds.<<else>>You're not sure what it was, but it was huge and almost covered your whole face.<</if>> <</addinlineevent>> <</if>> <<case "forest">> <<addinlineevent "autumn_forest_1">> A squirrel runs past, carrying nuts it intends to store for winter. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "autumn_forest_2">> You walk through the forest and can't help but admire the various oranges, browns and yellows breaking through the canopy. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "autumn_forest_3" 0.33>> You stop in your tracks as you hear a feral growl. Looking down, you see a badger at the foot of a nearby tree. It's surrounded by scattered dirt. You seem have interrupted it digging its winter den. You back away slowly until it returns to its digging. <<stress 3>><<gstress>> <</addinlineevent>> <<if $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addinlineevent "autumn_forest_4" 0.5>> <<generatePlant1>><<person1>> A <<personsimple>> runs <<his>> fingers through <<his>> hair. <<He>> picks dead leaves out, crunching them in <<his>> hands before dropping them. <<endevent>> <</addinlineevent>> <</if>> <<case "bog">> <<addinlineevent "autumn_bog_1">> The bog is filled with a repeated thrumming sound. You spot the source. A woodpecker digs into a tree high above the water. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "autumn_bog_2">> As you walk, you can't help but notice how stagnant everything seems. While the forest fills with various colours, everything here stays the same, murky green or brown. <</addinlineevent>> <<case "moor">> <<addinlineevent "autumn_moor_1">> The scent of decaying plant life fills the moor with an acrid stench. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "autumn_moor_2">> You see flocks of birds pass overhead as they migrate south for the winter. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "autumn_moor_3" 0.33>> You stop at a strange clearing. You notice what looks like some kind of effigy made of twigs. As you stare, you notice more and more wrong with the scene. Its eyes are filled with burnt out candles. The rock formations around it aren't natural, and are clearly some kind of cairn. Dark roots stretch up from the ground to grasp the effigy. You snap out of what feels like an unnatural haze, and make an effort to leave as quickly as you can. <<stress 12>><<ggstress>> <</addinlineevent>> <<default>> <</switch>> <<case "summer">> <<addinlineevent "summer_anywhere_1">> <<if Time.hour gte 6 and Time.hour lt 21>> The brutal summer heat weighs down on you. <<stress 3>><<gstress>> <<else>> The cool night air makes for a nice reprieve from the blistering days. <<stress -3>><<lstress>> <</if>> <</addinlineevent>> <<addinlineevent "summer_anywhere_2">> A cool breeze blows by and revitalises you. <<stress -1>><<lstress>> <</addinlineevent>> <<addinlineevent "summer_anywhere_3" 0.5>> A brutal wave of heat washes over you. You take a moment to wipe the sweat from your head. <<stress 1>><<gstress>> <</addinlineevent>> <<addinlineevent "summer_anywhere_4">> <<generate1>><<person1>> You overhear a <<person>> talking on <<his>> cell phone about <<his>> upcoming holiday trip. <<if $trauma lte ($traumamax / 5) * 3>> Hearing <<his>> obvious enthusiasm for the trip makes you smile. <<stress -1>><<lstress>><<else>>You resent hearing about a trip you'll never be able to take, stuck in this town like you are. <<stress 1>><<gstress>><</if>> <<endevent>> <</addinlineevent>> <<if ["town", "park"].includes($location) and Time.hour gte 7 and Time.hour lt 21 and playerIsPregnant() and playerAwareTheyArePregnant()>> <<addinlineevent "summer_pregnant_watch">> You see a group of kids playing. Most are running and squealing as they spray each other with water guns, but a few are lazing on the grass. Occasionally, their friends cool them off with a blast of water, causing them to giggle. You rub your <<bellyDescription "pc">> and wonder if your <<pregnancyBabyText "pc">> will be as easygoing as they are. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<switch $location>> <<case "town">> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "summer_anystreet_1" 0.5>> <<generate1>><<person1>> You see a <<person>> fanning <<himself>> with <<his>> top to cope with the heat. <<He>> suddenly flashes you by lifting it up completely. <<arousal 5>><<garousal>> <<endevent>> <</addinlineevent>> <<addinlineevent "summer_anystreet_2" 0.5>> An ice cream truck drives by, with a group of orphans chasing after it. The tune it plays is upbeat and catchy. <<stress -3>><<lstress>> <</addinlineevent>> <<if ($bus is "domus" or $bus is "danube" or $bus is "barb")>> <<addinlineevent "summer_residentialstreet_1" 0.5>> <<generate1>><<person1>> As you pass by a <<person>> watering <<his>> lawn, <<he>> accidentally sprays you with the hose. The cold water is refreshing, but dampens your clothes. <<if !$worn.upper.type.includes("swim") and !$worn.upper.type.includes("naked")>> <<upperwet 75>> <</if>> <<if !$worn.under_upper.type.includes("swim") and !$worn.under_upper.type.includes("naked") and !$worn.under_upper.type.includes("chastity")>> <<underupperwet 75>> <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>> <<lowerwet 75>> <</if>> <<if !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked") and !playerChastity()>> <<underlowerwet 75>> <</if>> <<stress -6>><<arousal 5>><<lstress>><<garousal>> <<endevent>> <</addinlineevent>> <</if>> <</if>> <<case "alley">> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "summer_anyalley_1">> Two students with water guns race through the alley firing at each other. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "summer_anyalley_2">> <<beastNEWinit 1 dog>> As you pass through the alley, you see a <<beasttype>> sprawled out inside a cardboard box in an attempt to escape the heat. You can't help but sympathise. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <<else>> <<addinlineevent "summer_anyalley_3">> <<generate1>><<person1>> A <<person>> sits on <<his>> back porch, smoking a cigarette and enjoying the coolness of the summer night air. <<He>> waves as <<he>> notices you. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <</if>> <<case "park">> <<addinlineevent "summer_park_1">> You notice several youths nearby tossing water balloons at one another. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "summer_park_2">> Despite the heat, you notice many people playing and relaxing here. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "summer_park_3">> As you walk through the park, you're narrowly missed by several water balloons. Hearing laughter, you turn to see several delinquents running away. <<stress 3>><<gstress>> <</addinlineevent>> <<if $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addinlineevent "summer_park_4" 0.5>> <<generatePlant1>><<person1>> A <<personsimple "normal">> with <<plant_details "forest">> in <<his>> hair peeks out of a bush. <<He>> looks nervous. When <<he>> spots you, <<he>> dives back into the bush. <<endevent>> <</addinlineevent>> <</if>> <<case "forest">> <<addinlineevent "summer_forest_1">> The heat of the forest is sweltering, the breeze blocked by the trees. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "summer_forest_2">> As you move through the forest, you notice a family unpacking camping supplies. They notice you and wave. <<stress -3>><<lstress>> <</addinlineevent>> <<if Time.hour lt 6 or Time.hour gte 21>> <<addinlineevent "summer_forest_3">> You begin to hear crickets chirping nearby, and soon enough a whole orchestra of insects fill the night air around you. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<if $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addinlineevent "summer_forest_4" 0.5>> <<generatePlant1>><<person1>> A <<personsimple>> stands completely still, holding branches. <<Hes>> pretending to be a tree, but <<he>> can't keep <<his>> balance enough to fool anyone. <<endevent>> <</addinlineevent>> <</if>> <<case "bog">> <<addinlineevent "summer_bog_1">> The humidity is oppressive. You feel a little lightheaded. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "summer_bog_2">> Other than the walkway, there are few signs of human incursion here. <<stress -3>><<gstress>> <</addinlineevent>> <<if Time.hour lt 6 or Time.hour gte 21>> <<addinlineevent "summer_bog_3">> You begin to hear crickets chirping nearby, and soon enough a whole orchestra of insects fill the night air around you. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<case "moor">> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "summer_moor_1">> The sweltering heat creates undefinable shapes on the horizon. <<stress 3>><<gstress>> <</addinlineevent>> <<else>> <<addinlineevent "summer_moor_2">> You feel something scurry across your foot. Who knows what manner of creatures wander the moor with the heat of the sun gone? You quicken your pace. <<stress 3>><<gstress>> <</addinlineevent>> <<addinlineevent "summer_moor_3" 0.33>> You stop suddenly as you see a light flicker into being ahead. An effigy constructed of twigs, candles burning in its eye sockets, stands amidst a circle of stone cairns. Disturbed, you begin to walk away. <br><br> Until you notice the effigy turns to watch you as you go past. You break into a sprint without another thought. <<stress 24>><<awareness 10>><<gggstress>><<gawareness>> <</addinlineevent>> <</if>> <<default>> <</switch>> <<case "spring">> <<addinlineevent "spring_anywhere_1">> A gentle spring breeze caresses your face. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "spring_anywhere_2">> A <<if Time.dayState is "day" or Time.dayState is "dawn">>butterfly<<else>>moth<</if>> lands on your nose and pauses to rub its antennae before taking flight again. <<stress -3>><<lstress>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "spring_anywhere_3">> Birds chirp overhead as they return from their winter migration. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<if ["town", "park"].includes($location) and Time.hour gte 7 and Time.hour lt 21 and playerIsPregnant() and playerAwareTheyArePregnant()>> <<addinlineevent "spring_pregnant_watch">> <<generatey1>><<person1>> You see a group of kids playing. One <<personsimple>> is sitting apart from the others, making a chain of daisies. The other children ask <<him>> to help them make cakes out of mud, but <<he>> silently shakes <<his>> head. You rub your <<bellyDescription "pc">> and wonder if your <<pregnancyBabyText "pc">> will be as timid as <<he>> is. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <</if>> <<switch $location>> <<case "town">> <<addinlineevent "spring_anystreet_1">> <<wearProp "tulip">><<tending_give tulip 1>> A street peddler selling flowers hands you a free flower as you pass by. <<stress -3>><<lstress>> <</addinlineevent>> <<if ($bus is "domus" or $bus is "danube" or $bus is "barb") and Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "spring_residentialstreet_1">> <<generate1>><<person1>> You see a <<person>> on <<his>> knees tending to <<his>> garden. As you walk past, <<he>> backs into you, grinding <<his>> rear into your leg before glancing over <<his>> shoulder. "Sorry," <<he>> calls out as you walk away flustered. <<stress 1>><<arousal 5>><<gstress>><<garousal>> <<endevent>> <</addinlineevent>> <</if>> <<if ($bus is "connudatus" or $bus is "cliff" or $bus is "wolf" or $bus is "high")>> <<addinlineevent "spring_commercialstreet_1">> There's a small flower market set up here. You stop to smell the flowers before continuing. <<stress -3>><<lstress>> <</addinlineevent>> <</if>> <<case "alley">> <<addinlineevent "spring_anyalley_1">> You notice that someone has built a garden beneath one of the windows here, where flowers have begun to sprout despite the filth. <<stress -3>><<lstress>> <</addinlineevent>> <<if Time.hour lt 6 or Time.hour gte 21>> <<addinlineevent "spring_anyalley_2">> <<beastNEWinit 3 cat>> You hear <<beastsplural>> yowling and hissing as they contend for a mate. <<if $cat gte 6>><<arousal 10>><<garousal>><</if>> <<endevent>> <</addinlineevent>> <<if $hallucinogen gt 0>> <<addinlineevent "spring_anyalley_3" 0.1>> <<beastNEWinit 2 dog>> You see a pair of <<if $monster is 1>>dogpeople<<else>>dogs<</if>> eating a pile of spaghetti together next to a trash can. Romantic Italian music plays from a nearby building. You shake your head and leave. <<stress -24>><<lllstress>> <<endevent>> <</addinlineevent>> <</if>> <</if>> <<case "park">> <<addinlineevent "spring_park_1">> You notice the flowers in the park have started to bloom once more. <<stress -3>><<lstress>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "spring_park_2">> A hummingbird zips by and lands on a flower to drink nectar before flying off. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "spring_park_3" 0.5>> <<generate1>><<generatep2>><<person1>> You see a <<person>> snatch a freshly bloomed flower and give it to a <<person2>><<person>> before they embrace and kiss. <<stress -3>><<lstress>> <<endevent>> <</addinlineevent>> <</if>> <<case "forest">> <<addinlineevent "spring_forest_1" 0.5>> You hear a thunderous crack above. A large branch tumbles from a large tree, landing only inches away. <<stress 12>><<ggstress>> <</addinlineevent>> <<addinlineevent "spring_forest_2">> You see a pair of rabbits chasing and tumbling over each other. <<stress -3>><<lstress>> <</addinlineevent>> <<if Time.hour gte 6 and Time.hour lt 21>> <<addinlineevent "spring_forest_3">> Birds sing to one another as they build nests and seek mates. <<if $syndromebird is 1>>You find yourself longing for your own mate, back in the moor.<</if>> <<stress -6>><<lstress>> <</addinlineevent>> <</if>> <<case "bog">> <<addinlineevent "spring_bog_1">> You hear a splash nearby. Followed by another. A group of frogs jump around amidst the plantlife. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "spring_bog_2">> All around you, the sounds of various small insects and critters fill the air. <<stress -3>><<lstress>> <</addinlineevent>> <<case "moor">> <<addinlineevent "spring_moor_1">> You stop to take a look around. Even the moor looks vibrant this time of year. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "spring_moor_2">> You come across a pond where dark water conceals darker shapes swimming within. <<stress 6>><<gstress>> <</addinlineevent>> <<addinlineevent "spring_moor_3">> You come to a strangely clear patch of ground that contains a circle of stone and a scorch mark in its centre. You suddenly feel watched, and leave without hesitation. <<stress 12>><<ggstress>> <</addinlineevent>> <<if $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addinlineevent "spring_moor_4" 0.5>> <<generatePlant1>><<person1>> A <<personsimple>> holds a vine still for a hummingbird to land on. <<if $rng gte 51>> It flits onto <<his>> vine and lands, sitting down. The <<personsimple>> lets out a happy gasp. <<stress -3>><<lstress>> <<else>> It hovers near <<his>> vine for a second, before zipping away. The <<personsimple>> sighs. <</if>> <<endevent>> <</addinlineevent>> <</if>> <<default>> <</switch>> <<default>> <span class="red">ERROR: You have somehow managed to pass beyond the concepts of time and weather. Please inform Vrelnir unless you just used a cheat.</span> <</switch>> <<runeventpool>> <br><br> <</widget>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You wake up strapped to a chair. The room is bare, except a window covering the length of one side. <<if $player.penisExist>> You feel something odd on your penis. <<else>> You feel something odd on your pussy. <</if>> It buzzes into life, teasing your <<genitals>> directly. <<garousal>> <br><br> On the verge of orgasm it ceases, but only for a moment. <br><br> <<set $arousal to 10000>><<orgasm>> <br><br> You strain against the binds holding you, but they're firm. You can't stop it. <br><br> <<set $arousal to 10000>><<orgasm>> <br> <<set $arousal to 10000>><<orgasm>> <br> <<set $arousal to 10000>><<orgasm>> <br><br> The buzzing ceases and the bindings snap loose, leaving you gasping for breath. <<tearful>> you struggle to your feet and make your way through the exit. <br><br> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $phase is 0>> <<set $phase to 1>> You press the button. The <<person2>><<person>> squirms. You notice <<his>> arms are bound to the side of the chair. "Thank you," Doctor Harper says. <<if $NPCList[1].penis isnot "none">> "We have a device attached to <<his>> penis. <<else>> "We have a device inserted in <<his>> vagina. <</if>> To aid in <<his>> treatment." You spot wires trailing across the floor and disappearing into the <<persons>> clothes. <br><br> "Press it again," the doctor says. <br><br> <<person1>> <<link [[Press|Asylum Button Press]]>><<awareness -1>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <<link [[Refuse|Asylum Button Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<elseif $phase is 1>> <<set $phase to 2>> <<person2>> You press the button. The <<person>> squirms more this time. <<He>> strains against the bonds. You hear buzzing through the glass. "Very good," the doctor says. "Any moment now." <br><br> Almost on cue, the <<person>> spasms, before slumping back in the chair. The buzzing ceases. "<<He>> will learn to enjoy it," the doctor says. "Press it again." <br><br> <<person1>> <<link [[Press|Asylum Button Press]]>><<awareness -10>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<llawareness>><<gstress>><<garousal>> <br> <<link [[Refuse|Asylum Button Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<else>> <<person2>> The <<persons>> eyes widen as the buzzing starts up again. Louder this time. <<He>> shakes <<his>> head and rocks back and forth, as if trying to knock the chair over. It's not long before <<he>> spasms again. And again. Even the counter in front of you vibrates. <br><br> <<person1>>Doctor Harper writes on <<his>> clipboard, a small smile on <<his>> face. "Thank you," <<he>> says. "You've been very helpful. That's all for now. Be well." <<person2>>The <<person>> falls limp as Harper finishes speaking, and the buzzing stops. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You refuse to press the button. "This is for <<person2>><<his>> benefit,<<person1>> and yours," <<he>> says. "Press the button." <br><br> <<if $phase is 0>> <<link [[Press|Asylum Button Press]]>><</link>> <br> <<else>> <<link [[Press|Asylum Button Press]]>><<awareness -1>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <</if>> <<link [[Refuse|Asylum Button Refuse 2]]>><<def 1>><<suspicion 5>><</link>><<ggsuspicion>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> Harper shakes <<his>> head. "I'm disappointed. You can go." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $phase is 0>> <<set $phase to 1>> You press the button. The long-haired girl squirms. Lain on her back, you notice her ankles and wrists are bound. Her wrists are somehow tied to the floor either side of her face while her ankles are tied together to a metal post. She is wearing a two-piece swim suit. <br> "That's right," Doctor Harper says. "Thank you. This is good for her. We have a device placed inside her vagina, another on her clitoris, and two more on her nipples. These all aid in her treatment." <br> You spot wires trailing across the floor and disappearing into her swimwear. <br><br> "Press the button anytime I point at you," the doctor instructs. <br> Harper points at you. <br><br> <<link [[Press|Asylum Button Long Hair Press]]>><<awareness -1>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <<link [[Refuse|Asylum Button Long Hair Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<elseif $phase is 1>> <<set $phase to 2>> You press the button. The girl squirms more this time, a noise escapes her lips. She pulls against the bonds. <br> The doctor nods. "Good." <br><br> Harper's voice becomes lower, almost hypnotic as <<person1>><<he>> addresses the long-haired girl. <br> "You were dancing for them on the beach," <<he>> says. "In swimwear. You enjoyed them watching you, you liked their attention, but it wasn't enough. You wanted more." <br> Harper cuts away her swimwear, exposing first her breasts, then her pussy. <br><br> "They didn't remove your swimwear. You did. You stripped for them. It was thrilling to feel their eyes on your most private parts. Just like it is now." <br> Harper points at you. <br><br> <<link [[Press|Asylum Button Long Hair Press]]>><<awareness -2>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <<link [[Refuse|Asylum Button Long Hair Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<elseif $phase is 2>> <<set $phase to 3>> You press the button. The girl squeals and twists. Her struggles weaken. <br><br> "You liked the hunger in their eyes," Harper says. "You wanted them to touch you. You needed it. In fact, you just kept on dancing UNTIL they touched you." <br><br> The girl weakly struggles. Harper slowly brushes <<his>> fingertips down her stomach, over her pubic hairs. <br> "You started it. You escalated it. You made them do it, because deep down you wanted it." <br><br> Harper points at you. <br><br> <<link [[Press|Asylum Button Long Hair Press]]>><<awareness -2>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <<link [[Refuse|Asylum Button Long Hair Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<elseif $phase is 3>> <<set $phase to 4>> You press the button. The girl writhes and groans, close to orgasm. <br><br> "You like this," Harper says. "You wanted them inside you. All of them. Making you feel like this. It wasn't rape, you wanted it. It was your awakening. It was you finding yourself. And what upsets you is how much enjoyed it." <br><br> The girl has stopped moving completely. Harper looks momentarily confused, shrugs, then points at you. <br><br> <<link [[Press|Asylum Button Long Hair Press]]>><<awareness -2>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <<link [[Refuse|Asylum Button Long Hair Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<elseif $phase is 4>> <<set $phase to 5>> You press the button. The girl starts to howl and fights furiously against her bindings. <br><br> "It's... " Harper says. "It's okay that you led them on. It's okay that you liked it. It doesn't make you a bad person. It's natural. Forgiving yourself is the only way to get better." <br><br> Harper points at you again. "Hold it down." <br><br> <<link [[Hold the button|Asylum Button Long Hair Press]]>><<awareness -2>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <<link [[Refuse|Asylum Button Long Hair Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<else>> You hold the button down. The girl writhes and twists, but resists orgasm. Doctor Harper looks crestfallen. <br> "Okay, stop." <br><br> You let go of the button. The girl's writhing subsides. <br><br> Doctor Harper writes on <<his>> clipboard, a small sad smile on <<his>> face. <br> "Thank you," <<he>> says. "You were helpful. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You refuse to press the button. <br> "This is for her benefit,<<person1>> and yours," <<he>> says. "Press the button." <br><br> <<if $phase is 0>> <<link [[Press|Asylum Button Long Hair Press]]>><</link>> <br> <<else>> <<link [[Press|Asylum Button Long Hair Press]]>><<awareness -1>><<stress 3>><<arousal 600>><<suspicion -1>><</link>><<lsuspicion>><<lawareness>><<gstress>><<garousal>> <br> <</if>> <<link [[Refuse|Asylum Button Long Hair Refuse 2]]>><<def 1>><<suspicion 5>><</link>><<ggsuspicion>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> Harper shakes <<his>> head. "I'm disappointed. You can go." <br><br> The long-haired girl's eyes seem to follow you as you leave.<<if $o_long_and_beautiful lt 9>><<set $o_long_and_beautiful += 1>><</if>> <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $awareness gte 400>> You try to describe what you saw to Harper, but words fail you. After an awkward silence, you end up stammering something about a monster and a void. <br><br> Harper nods, and writes something down on <<his>> clipboard. "I appreciate your honesty. I can assure you, there is nothing frightening about this picture." <<elseif $awareness gte 200>> <<if $speech_attitude is "meek">> "It looks like a... you know," you say, your voice fading to a whisper. "Someone's privates?" <<elseif $speech_attitude is "bratty">> "Is it meant to be a fucking <<if $NPCList[0].penis isnot "none">>dick?<<else>>pussy?<</if>>" you ask, squinting at the paper. <<else>> "I think it kind of looks like a <<if $NPCList[0].penis isnot "none">>penis,<<else>>vagina,<</if>>" you hesitantly say. <</if>> <br><br> Harper nods, and writes something down on <<his>> clipboard. "I appreciate your honesty. There's no reason to be uncomfortable. It's simply a sign that you have a healthy libido." <<else>> You tell Harper that the picture looks like a <<if $NPCList[0].penis isnot "none">>rocket.<<else>>butterfly.<</if>> <br><br> Harper smiles, and writes something down on <<his>> clipboard. "I appreciate your honesty. What this tells me is that you are very imaginative." <</if>> <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<awareness -10>> <<link [[Next|Asylum]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You shake your head and keep your mouth shut. <<if $awareness gte 400>> You're not sure you're capable of describing what you saw, even if you wanted to. <<elseif $awareness gte 200>> There's no way you're going to tell the doctor you think it looks like something so dirty. <<else>> You don't want to play this game right now. <</if>> <br><br> Harper sighs, and writes something down on <<his>> clipboard. "You're only making it harder for me to help you by refusing to open up," <<he>> says. "But there's always another time." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<awareness -1>> <<link [[Next|Asylum]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You sit on the desk. Harper frowns at you. "It's rude to sit like that," <<he>> says. "There's a chair here. We can share." <br><br> <<link [[Sit on lap|Asylum Sit Lap]]>><<suspicion -1>><</link>><<promiscuous1>><<lsuspicion>><<lawareness -1>> <br> <<link [[Refuse|Asylum Sit Stand]]>><<suspicion 1>><</link>><<gsuspicion>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You sit on the doctor's lap. <<He>> wraps an arm around your waist. <<promiscuity1>> "Today I want to talk about kissing," <<he>> says. "It's a normal and healthy activity. You should be happy kissing anyone at any time." <<He>> leans close. "Kiss me." <br><br> <<link [[Kiss cheek|Asylum Sit Kiss]]>><<suspicion -1>><<awareness -1>><</link>><<promiscuous1>><<lsuspicion>><<lawareness>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Kiss mouth|Asylum Sit Kiss Mouth]]>><<suspicion -5>><<awareness -10>><<npcincr Harper love 1>><</link>><<promiscuous2>><<llsuspicion>><<llawareness>> <br> <<set $skulduggerydifficulty to (700 + ($suspicion * 6))>> <<if $leftarm is "bound" and $rightarm is "bound">> <<elseif $asylumkeycard isnot 1>> <<link [[Steal keycard|Asylum Sit Steal]]>><</link>><<promiscuous2>><<skulduggerydifficulty>> <<note "This will be easier with low suspicion" "italic">> <br> <</if>> <</if>> <<link [[Refuse|Asylum Sit Refuse]]>><<suspicion 1>><<stress 3>><</link>><<gsuspicion>><<gstress>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> Refusing to play along, you stand in the middle of the office. The doctor shakes <<his>> head. "We can't help you if you won't let us," <<he>> says. "You can go." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> The doctor shakes <<his>> head. "Disappointing, but there's always tomorrow. You may go." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You kiss <<him>>, and make good use of your tongue. <<His>> eyes widen at first, but then close. <<He>> kisses back. <<promiscuity2>> <<takeKissVirginity "Harper" "consensual">> <<if $arousal gte ($arousalmax / 5) * 4>> Your hands wander across <<his>> body, spurred by the heat coursing through your veins. <<He>> gasps into your mouth, grabbing your wrists and holding them away. Hesitation flashes across <<his>> face, but it's replaced by <<his>> usual tranquil smile. <br><br> "E-eager, are we?" <<He>> clears <<his>> throat and steadies <<his>> voice. "All I asked you to do was kiss me. I suppose this means you're ready for the next step." <br><br> You try to focus, but your thoughts struggle against <<his>> hand worming its way under your clothing. It settles at your chest. <<His>> fingers deftly pinch and tease your nipple, making you squirm. Squeaks and whines manage to pass your lips. You feel embarrassed, making such noises in front of the doctor.<<stress 2>><<gstress>> <br><br> <<He>> withdraws <<his>> hand. "As you can see, it's perfectly natural to touch other people. Doing so makes both parties feel good. Now, try to practise with me." <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Comply enthusiastically|Asylum Sit Kiss Aroused]]>><<set $phase to 2>><<suspicion -1>><</link>><<promiscuous2>><<lsuspicion>> <br> <</if>> <<link [[Comply passively|Asylum Sit Kiss Aroused]]>><<set $phase to 1>><<suspicion -1>><</link>><<promiscuous1>><<lsuspicion>> <br> <<link [[Refuse|Asylum Sit Kiss Aroused]]>><<set $phase to 0>><<suspicion 1>><</link>><<gsuspicion>> <br> <<else>> "V-very good," <<he>> says, pulling away from you. "You've done well today. Be well." <br><br> You climb off <<his>> lap and walk to the door. <<lsuspicion>><<suspicion -5>> <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $phase gte 1>> You nod and return your hands to <<his>> body. <<promiscuity2>> <<if currentSkillValue("handskill") gte 400>> This isn't your first time using your hands in such a way. You get to work at stroking <<his>> stomach first, then slowly moving up toward <<his>> chest. <<His>> breath catches in <<his>> throat as you <<if $NPCList[0].breastsize gt 1>>caress <<his>> $NPCList[0].breastdesc<<else>>circle <<his>> nipples<</if>>. <<else>> Though you aren't experienced, you try your best to satisfy <<him>>. You brush your hands along <<his>> sides and stomach with nervous, delicate touches. It seems to have an effect on <<him>>. Your touch leaves <<him>> shuddering ever so slightly. <</if>> <<handskilluse>> <br><br> <<if $phase is 2>> You trail your hand lower as you work, until it brushes the doctor's crotch. <<He>> inhales sharply and rests a hand on yours. "My, my. I didn't think you'd be ready for this. You're exceeding expectations." <<He>> stares at you intently, eyes glimmering with barely-restrained lust. "Sh-shall we move on to the next phase?" <br><br> <<if hasSexStat("promiscuity", 3)>> <<link [[Go further|Asylum Sit Kiss Further]]>><<set $phase to 2>><<suspicion -5>><</link>><<promiscuous3>><<llsuspicion>> <<else>> <<insufficientStat "promiscuity" "to take things any further">> <</if>> <br> <<link [[Pull away|Asylum Sit Kiss Further]]>><<set $phase to 0>><<suspicion 5>><</link>><<ggsuspicion>> <br> <<else>> "T-that's enough. You did well." <<He>> reaches into <<his>> coat and retrieves a pair of rubber gloves. <<He>> slides them on with the practised speed of a professional. "Now, I believe you have a little problem." <<He>> rests one of <<his>> gloved hands on your thigh. "May I?" <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Allow|Asylum Sit Kiss Further]]>><<set $phase to 1>><<suspicion -1>><</link>><<promiscuous2>><<lsuspicion>> <<else>> <<insufficientStat "promiscuity" "to take things any further">> <</if>> <br> <<link [[Refuse|Asylum Sit Kiss Further]]>><<set $phase to 0>><<suspicion 1>><</link>><<gsuspicion>> <br> <</if>> <<else>> Though your body trembles with arousal, you shake your head. Doctor Harper frowns. "I suppose we can work on this later." <br><br> You fix your clothes and climb off the desk, and Harper's lap. "Be well," <<he>> calls after you. You hear <<him>> sigh as the door closes. <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $phase is 2>> You rub with more pressure. It's all the confirmation Harper needs. <<promiscuity3>> "Very good." <<His>> lips curl into a subdued grin. "Now, get up." <br><br> You do as instructed and climb off <<his>> lap. <<He>> takes advantage of your new position by pushing you over <<his>> desk, onto your back. <br><br> The doctor bears down on you, tracing <<his>> fingers along your arm. "I think it's time I observe your progress first-hand." <br><br> <<link [[Take <<his>> hands|Asylum Sit Kiss Sex]]>><<set $phase to 1>><<set $sexstart to 1>><</link>><<handholdingvirginitywarning>> <br> <<link [[Stay still|Asylum Sit Kiss Sex]]>><<set $phase to 0>><<set $sexstart to 1>><</link>> <br> <<elseif $phase is 1>> You nod, desperate for release. <<switch $player.sex>> <<case "f">> <<His>> hand dips beneath your clothes. <span class="lewd">You feel a finger stroke your lower lips,</span> causing you to shudder with pleasure. Your juices quickly begin to coat <<his>> questing fingers as one enters you. It's obvious that <<he>> knows exactly what to do to pleasure you as much as possible. <<He>> pushes in a second finger and starts to move them in and out, <<his>> thumb pressing against and rubbing your clit. <<arousal 10000 "genitals">> <<orgasm>> <<He>> steadies you with a hand on your hip you as your spasms subside. "Did you have fun?" <<he>> asks, panting. "You enjoy being touched like that, don't you?" <br><br> You shiver as <<he>> pulls <<his>> fingers out of you. "You've shown great improvement today." <<He>> leads you out of the office with a smile. "Be well." <<case "m">> <<He>> displaces your clothes, <span class="lewd">exposing your <<penis>></span>. The cool air provides mild relief from the heat in your body. <<He>> smiles and rubs <<his>> thumb against the very tip, causing you to shudder. <<He>> coats <<his>> glove in the leaking precum, then wraps <<his>> fingers around your shaft, stroking it in a steady up-and-down motion. <<arousal 10000 "genitals">> <<orgasm>> <<He>> tightens <<his>> grip and slows <<his>> pace, coaxing out the last few drops of cum. "Did you have fun?" <<he>> asks, panting. "You enjoy being touched like that, don't you?" <br><br> You shiver as <<he>> pulls <<his>> fingers out of you. "You've shown great improvement today." <<He>> leads you out of the office with a smile. "Be well." <<case "h">> <<He>> displaces your clothes, <span class="lewd">exposing your <<genitals>></span>. <<His>> eyebrows raise at the sight. "Your body is fascinating. I rarely see people like you." <br><br> <<He>> puts both hands to work. <<He>> holds your penis in <<his>> left hand, rubbing the tip with <<his>> thumb and using the precum as lubricant to stroke your shaft. With <<his>> right hand, <<he>> strokes your labia with clinical precision. <<He>> presses two fingers inside and rubs your inner walls. The dual sensation soon overwhelms you. <<arousal 10000 "genitals">> <<orgasm>> <<He>> pulls <<his>> hands away, then tosses <<his>> gloves into a nearby trash can. "I wonder, do you experience twice as much pleasure when both parts are stimulated?" <<He>> narrows <<his>> eyes in thought. "A test for later, I suppose." <<He>> leads you out of the office with a smile. "You've shown great improvement today. Be well." <<default>> <<His>> hand dips beneath your clothes, <<he>> but frowns when <<he>> reaches your genitals. Or lack thereof. <br><br> "That's... unusual." <<He>> withdraws <<his>> hand and makes a note on a clipboard. "I need to make some calls. We're done, for now." <<He>> hurriedly ushers you out the door. "Be well." <</switch>> <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br> <<else>> You shake yourself from the haze of lust and pull your hand away. Doctor Harper grimaces and clears <<his>> throat. "I suppose I misjudged your progress." <br><br> <<He>> climbs off the desk with a sigh. "You're only hurting yourself by resisting treatment," <<he>> says as <<he>> leads you out of the office. "Be well." <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<if $phase is 1>> You reach up and intertwine your fingers with <<hers>>. <<takeHandholdingVirginity "Harper">> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Asylum Sit Kiss Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Sit Kiss Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Harper sighs in contentment and steps away from you. "Excellent. I'm proud of how quickly you're taking to the treatment."<<suspicion -10>><<lllsuspicion>> <br><br> <<He>> stands up and straightens <<his>> clothes. "You may go now," <<he>> says. "Be well." <<elseif $enemyhealth lte 0>> You shove Harper against the desk and scurry to a corner of the room. <<He>> reaches for a button on <<his>> desk, but thinks better of it.<<suspicion 5>><<ggsuspicion>> <br><br> "The only person you're hurting by resisting treatment is yourself." <<He>> takes a seat at <<his>> desk. "You may go now," <<he>> sighs. "Be well." <<elseif $finish is 1>> Harper shakes <<his>> head and pushes <<himself>> off the desk. "The treatment is for your own good. The sooner you understand, the sooner we can help you."<<suspicion 1>><<gsuspicion>> <br><br> <<He>> takes a seat at <<his>> desk. "You may go now," <<he>> sighs. "Be well." <<else>> You hear a voice outside. It's an orderly, investigating the commotion. Harper shoots off the desk and hastens to straighten <<his>> clothes. "W-we're fine in here," <<he>> calls out. "Nothing I can't handle." <br><br> Satisfied with the doctor's response, the orderly leaves you alone. Harper looks to you warily.<<suspicion 5>><<ggsuspicion>> <br><br> "The only person you're hurting by resisting treatment is yourself." <<He>> takes a seat at <<his>> desk. "You may go now," <<he>> sighs. "Be well." <</if>> <<tearful>> you leave the room. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Asylum]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You plant a light kiss on the doctor's cheek. <<He>> scribbles on <<his>> clipboard. "That's satisfactory," <<he>> says. "You may go. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You kiss <<him>>, and make good use of your tongue. <<His>> eyes widen at first, but then close. <<He>> kisses back. <<promiscuity2>> You run your hand against <<his>> chest, and dip into <<his>> pocket. <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<wearProp "keycard" "silver">> <span class="green">You pull out a keycard and hide it away.</span> <<set $asylumkeycard to 1>> <br><br> <<skulduggeryuse>> "V-very good," <<he>> says, pulling away from you. "You've done well today. Be well." <br><br> You climb off <<his>> lap and walk to the door. You can't help but smirk. <<lsuspicion>><<suspicion -5>><<npcincr Harper love 1>> <br><br> <<pubfameComplete "hospital" "asylum">> <<link [[Next|Asylum]]>><<endevent>><</link>> <br> <<else>> <span class="red"><<He>> grabs your wrist.</span> <<gggsuspicion>><<suspicion 20>> <br><br> <<skulduggeryuse>> "I'm very disappointed in you," <<he>> says. <<He>> reaches beneath the desk, and the doors swing open. Several orderlies march in. <br><br> <<asylumpunish2>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $hallucinations gte 1 and $tentacledisable is "f">> You notice a faint purple light. You reach toward it, and feel the door. It's ajar. <br><br> <<link [[Open it|Tentacle World Intro]]>><<endevent>><<arousal 600>><</link>><<garousal>> <br> <<link [[Stay away|Asylum Room 2]]>><<stress 3>><<awareness -10>><</link>><<llawareness>><<gstress>> <br> <<else>> <<pass 180>> Hours pass, with nothing to distract you but your own thoughts. You're relieved when the door is opened by Doctor Harper. <br><br> <<He>> smiles at you. "I'm sorry," <<he>> says. "It was for your own good. <<if $asylumstate is "sleep">> Let's bring you to your bed. You need your sleep." <br><br> Flanked by orderlies, Doctor Harper leads you back to your room. The door locks with a click. <br><br> <<endevent>> <<link [[Next|Asylum Cell]]>><</link>> <br> <<else>> Let's bring you back to your fellow patients. They've missed you." <br><br> Flanked by orderlies, Doctor Harper leads you back to the occupied part of the asylum. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>> <</if>><<pass 180>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> Hours pass, with nothing to distract you but your own thoughts. You feel relieved when the door is opened by Doctor Harper. <<llawareness>><<gstress>><<stress 3>><<awareness -10>> <br><br> <<He>> smiles at you. "I'm sorry," <<he>> says. "It was for your own good. <<if $asylumstate is "sleep">> Let's bring you back to your bed. You need your sleep." <br><br> Flanked by orderlies, Doctor Harper leads you back to your room. The door locks with a click. <br><br> <<endevent>> <<link [[Next|Asylum Cell]]>><</link>> <br> <<else>> Let's bring you back to your fellow patients. They've missed you." <br><br> Flanked by orderlies, Doctor Harper leads you back to the occupied part of the asylum. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<strip>> "I'll strip," you say. The orderlies step forward to help, but there's no need. You <<nervously>> remove your clothes and walk up to the window. You knock on it, and keep knocking until everyone is looking. You hear whistling through the glass. <<covered>> <<flaunting>> you twirl to give everyone a good look. <<exhibitionism5>> "Very good," Doctor Harper says with a smile. The <<person2>><<person>> gapes. "You can get dressed. I think you already understand this lesson." <br><br> <<clotheson>> Once dressed you leave the room. Harper has the <<person2>><<person>> remain for further instruction. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<strip>> "I'll strip," you say. You <<nervously>> undress, though not fast enough for the orderlies, who step forward to help. They almost tear your clothing off in their eagerness. The <<person>> averts <<his>> gaze. <<covered>> "Very good," Harper says. "Now, the window. Let everyone see." <br><br> You walk up to the window. One of the orderlies knocks on it, until everyone outside is watching at you. <<covered>> You hear whistling through the glass. <br><br> "Isn't it exciting?" the doctor says. "All those people can't keep their eyes off you. That will do. Get dressed." <br><br> <<clotheson>> Once dressed you leave the room. Harper has the <<person2>><<person>> remain for further instruction. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "Please," the <<person>> sobs. The orderlies pay no heed as they tear <<his>> clothing off <<his>> body and shove <<him>> to the window. One of them knocks on it, until everyone outside is watching. You hear whistling through the glass. <br><br> "<<He>> doesn't have to suffer so," the doctor whispers to you. "<<He>> chooses to. <<Hes>> in no danger. But you've done your part. You can go." <br><br> You leave the room. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>><<npcoral>> <<set $enemytrust += 100>> You crouch in front of the <<person>>.<<npcexposetext>> Doctor Harper leans forward for a closer look. <br><br> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Asylum Hypnosis Oral Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Hypnosis Oral]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Very good," the doctor says. "Both of you. When I drop this pen, you will awaken." <<nnpc_He "Harper">> drops the pen. <br><br> The <<person>> blinks, then blushes and covers <<his>> genitals. "You can go," the doctor says. "Be well." <br><br> <<tearful>> you leave the office. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> The <<person>> snaps out of <<his>> trance. <<He>> blushes and covers <<his>> genitals. "You have a long way to go," the doctor says. "You can go. Be well." <br><br> <<tearful>> you leave the office. <br><br> <<clotheson>> <<endcombat>> <<elseif $finish is 1>> The <<person>> snaps out of <<his>> trance. <<He>> blushes and covers <<his>> genitals. "You have a long way to go," the doctor says. "You can go. Be well." <br><br> <<tearful>> you leave the office. <br><br> <<clotheson>> <<endcombat>> <</if>> <<link [[Next|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You shake yourself free of the effect.<<endevent>><<npc Harper>><<person1>> The doctor shakes <<his>> head. "That's enough for today. Remember, don't be afraid to relax. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<underlowerstrip>><<underupperstrip>><<lowerstrip>><<upperstrip>> <<fameexhibitionism 10>> <<wearProp "featherduster">> You remove your clothing with robotic movements. The doctor smiles. "Good," <<he>> says as <<he>> stands. "Let's go for a walk." <br><br> You leave the office, into the corridor outside. A passing nurse ogles you, and gives Harper a knowing look. "You feel excited to be exposed in a public space," the doctor says. <<Hes>> right. "You want to show everyone your body." You nod. Together you walk to the recreation room. <br><br> All heads turn when you arrive, a naked <<girl>> with Doctor Harper close behind. "Here." <<He>> hands you a feather duster. "This room is very dusty. Clean it." <br><br> You get to work. The room is very dusty. You dust the tables. You bend over to dust the chairs. You kneel to dust the floor. The doctor stays near you, and intervenes whenever someone gropes. "That's not what this is about," <<he>> says. "Look, don't touch." <br><br> <<pass 30>> You continue cleaning the room, unbothered by all the eyes on your <<lewdness>>. "That's enough," Harper announces after some time. "The room is clean." <<He>> takes the feather duster from you. The patients beg Harper to let you continue, but <<he>> doesn't relent. <br><br> "You've done very well today," the doctor says once back in <<his>> office. "Get dressed." <br><br> "When I drop this pen, you will awaken." <<He>> drops it, and you blink free of the haze. "We've made good progress. You should be proud. Be well." You leave <<his>> office. <br><br> <<link [[Next|Asylum]]>><<clotheson>><<endevent>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>><<rngWraith 2>> The compartment clangs shut. A dim light fills the interior, though you can't see the source. "Are you comfortable in there?" asks Harper's muffled voice. "I'm turning it on." The light becomes more intense. Small holes open on the top and sides of the chamber. A pink mist flows out. It smells sweet. You feel warm. <br><br> <<drugs 180>> Several dozen tendrils emerge next. They snake over your body, writhing against your skin, <<if $worn.upper.name isnot "naked">> beneath your $worn.upper.name, <</if>> and against your <<breasts>>. <<if $worn.under_lower.name isnot "naked">> Even your $worn.under_lower.name <<underlowerplural>> no protection. <</if>> They tease your <<genitals>> without mercy. <br><br> <<pass 5>> This continues for a few minutes. Puffs of pink mist continue to emerge, along with more tendrils. Your breathing becomes deeper and your pulse quickens. <br><br> <<if $wraith.state is "haunt" and _wraithEvent>> <<arousal 5000>> <<endevent>> <<generateWraith 1 true>><<rainWraith>> Suddenly, the lights go out with a snapping sound, leaving you in pitch black darkness. You hear murmurs from outside the machine, followed by frantic footsteps. It feels like something is pushing down on you. The sound becomes more and more intense, until it almost sounds like rain hitting the machine. <br><br> A faint red light begins to shine around you, <span class="red">revealing a<<if $wraith.seen gte 3>> familiar<</if>> pale face right above yours.</span> You try to scream, but something is already blocking your mouth. <<if $wraith.seen gte 1>> The <<person>> smiles. "<span class="wraith">We meet again, <<pcpetname "Wraith">>.</span>" <<else>> "<span class="wraith">Thief. Give it back.</span>" <</if>> <br><br> <<initWraith "abomination">> <<if $wraith.gen is "abomination">> Pale tendrils swarm around you, holding you down. <<else>> Several disembodied arms emerge from the walls, holding you down. <</if>> Harper's voice is just barely audible. "Something's wrong with the machine! Get <<phim>> out of there!" <br><br> <<link [[Next|Asylum Machine Wraith]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<arousal 10000>> <<orgasm>> You hear applause from outside the machine. Did you make that much noise? "Very good," Harper says. "That should do it. This should be the right button." The tendrils withdraw and the holes close. The compartment opens and several pairs of arms help you to your feet. "You've done well today," the doctor says. "I hope you found it relaxing. Be well." <br><br> You leave the room, still shaking. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> Harper looks above your shoulder, and nods. <<if currentSkillValue('athletics') gte random(1, 1000)>> <span class="green">You succeed in dodging</span> the orderlies who try to grab you from behind. Harper shakes <<his>> head. "We can't help if you won't let us," <<he>> says. "You can go." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <<else>> <span class="red">You fail to dodge</span> the orderlies who attack from behind. They lift you off your feet and force you into the machine. <<stress 6>><<gstress>> <br><br> <<link [[Next|Asylum Machine]]>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> You drop to the ground and adopt a mating posture. Doctor Harper takes notes. <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<audience>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Asylum Hypnosis Dog Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Hypnosis Dog]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The orderly pulls the <<beasttype>> off you. <br><br> "You've done very well today," says Harper. "Get dressed." <br><br> <<clotheson>> <<endcombat>> <<npc Harper>><<person1>> "When I drop this pen, you will awaken." <<He>> drops it, and you blink free of the haze. "We've made good progress. You should be proud. Be well." You leave <<his>> office. The orderlies are smiling at their phones. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <<elseif $enemyhealth lte 0>> The <<beasttype>> whimpers and hides behind the orderlies. <br><br> Harper sighs. "Get dressed." <br><br> <<clotheson>> <<endcombat>> <<npc Harper>><<person1>> "When I drop this pen, you will awaken." <<He>> drops it, and you blink free of the haze. "That's it for today. Be well." You leave <<his>> office. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <<else>> The <<beasttype>> whimpers and backs away from you. <br><br> Harper sighs. "Get dressed." <br><br> <<clotheson>> <<endcombat>> <<npc Harper>><<person1>> "When I drop this pen, you will awaken." <<He>> drops it, and you blink free of the haze. "That's it for today. Be well." You leave <<his>> office. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You shake yourself free of the effect. The doctor shakes <<nnpc_his "Harper">> head. "That's enough for today. Remember, don't be afraid to relax. Be well." <br><br> You pet the <<beasttype>> on the way out. <<endevent>> <<lstress>><<stress -12>> <br><br> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $phase is 1>> The <<person>> pushes you onto the chair and binds your limbs. "There," <<he>> says. "Administer the treatment." <<else>> You sit down. Harper binds your arms and legs. "It's just a precaution," <<he>> assures you. <</if>> <br><br> <<person1>> Harper affixes a mask around <<his>> head. The others follow <<his>> example while <<he>> opens a safe. <<He>> pulls out a canister, then holds it at arms reach in front of you, and opens it. Purple fumes rise from within. It smells sweet. <br><br> <<pass 5>> <<if $wraith.state and $rng gte 50>> You sit for a few minutes. The light above you flickers briefly, but no one else seems to notice. <<if Weather.precipitation is "none">> You think you hear raindrops hitting the window, but when you look, the windows are all dry. <<else>> You hear a faint rumble of thunder in the distance, and your eyes flit to the windows reflexively. <</if>> The doctors watch you, taking note of where your gaze lands. <br><br> <<if ["haunt", "despair"].includes($wraith.state)>> When you look back, <<if $wraith.seen gte 1>>your blood runs cold. A familiar pale figure stares at you from the corner of the room, smiling at you behind glowing <<wraithEyes>> eyes. <<stress 24>><<gggstress>><<trauma 6>><<gtrauma>><<else>>your breath catches in your throat. You see a pale figure flickering in the corner of the room, staring directly at you with bright <<wraithEyes>> eyes. <<stress 12>><<ggstress>><</if>> <<else>> When you look back, another light flickers in the corner of the room, and something disappears. Your ears begin ringing. You definitely saw something... someone... there. It looked tall and pale, wearing an ivory necklace set with dark blue gemstones. You think it was waving at you, or maybe motioning for you to get closer. <<stress 12>><<ggstress>> <</if>> <br><br> Harper notices your discomfort. "What's wrong? Did you see something strange?" Everything snaps back to normal as <<he>> speaks. <br><br> <<link [[Tell|Asylum Pill Tell]]>><<awareness -5>><<stress -3>><</link>><<lawareness>><<lstress>> <br> <<link [[Stay quiet|Asylum Pill Quiet]]>><<suspicion 1>><<awareness 5>><<stress 3>><</link>><<gsuspicion>><<gawareness>><<stress 3>> <br> <<else>> You sit for a few minutes. The doctors watch you, as if expecting something to happen. "Well?" the <<person2>><<person>> says. "Do you see anything strange?" You shake your head. <br><br> "We'll keep an eye on <<phim>>," Harper says. "I'll send for the next patient." <<He>> undoes the straps on the chair. "Thank you for cooperating. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>>You tell them about what you saw, but find yourself unable to recall the finer details already. <<He>> undoes the straps on the chair as the other doctors murmur something. <br><br> "Fascinating. Thank you for cooperating. You can go," <<he>> says. "Be well." <<endevent>> <br><br> <<link [[Next|Asylum]]>><</link>> <br>You shake your head. They all look sceptical, but Harper gives you a patient smile. <br><br> "We'll keep an eye on <<phim>>," Harper says. "I'll send for the next patient." <<He>> undoes the straps on the chair. "Thank you for cooperating. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "That's disappointing," Harper sighs. "But alright. Be-" <br><br> "I don't see why the mad <<girl>> should have a choice," the <<person2>><<person>> interrupts. <<He>> rises to <<his>> feet and grabs your arm. <<He>> tries to pull you to the chair. <br><br> <<if $leftarm isnot "bound" or $rightarm isnot "bound">> <<link [[Slap|Asylum Pill Slap]]>><<suspicion 5>><<trauma -6>><<stress -6>><</link>><<ggsuspicion>><<ltrauma>><<lstress>> <br> <</if>> <<link [[Let it happen|Asylum Pill Sit]]>><<awareness -10>><<suspicion -5>><<set $phase to 1>><<hallucinogen 180>><</link>><<llsuspicion>><<llawareness>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You slap the <<persons>> face. <<He>> recoils in shock. "The insolence," <<he>> says. Harper steps forward and grips <<his>> arm. <br><br> <<person1>>"That's enough," <<he>> says. "This is my patient. It's up to me." The <<person2>><<person>> sneers, but doesn't push it. The <<person3>><<person>> watches with an amused smile. <br><br> "You can go," Doctor Harper says. "Be well." <<endevent>> <br><br> <<link [[Next|Asylum]]>><</link>> <br><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> You leap across the desk at Harper. <<He>> presses the alarm, but no one comes. The distraction worked. <<set $asylumdistracted to 0>><<set $enemyhealth *= 0.6>><<set $enemyhealthmax *= 0.6>> <br><br> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Asylum Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Fight]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> slumps in <<his>> seat and shuts <<his>> eyes. It's easy to snatch the keycard from <<his>> pocket without being noticed. <<tearful>> you leave the office. Orderlies wait for you outside, unaware that you have the keycard tucked away. <<set $asylumkeycard to 1>> <br><br> <<clotheson>> <<endcombat>> <<pubfameComplete "hospital" "asylum">> <<asylumpunish2>> <<elseif $enemyhealth lte 0>> Harper winces and tries to flee the room, but you grasp <<his>> coat. <<He>> shakes free of it and escapes. There's a keycard in the pocket. <<tearful>> you leave the office. Orderlies wait for you outside. <<set $asylumkeycard to 1>> <br><br> <<clotheson>> <<endcombat>> <<pubfameComplete "hospital" "asylum">> <<asylumpunish2>> <<else>> <<tearful>> you fall to the ground. Harper pants. "This is why you're in here," <<he>> says. "You can't handle your emotions." The orderlies arrive. <br><br> <<clotheson>> <<endcombat>> <<asylumpunish2>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You lunge over the desk and try to grab Harper. <<He>> stands back, knocking <<his>> chair over. Several orderlies burst into the room and tackle you to the ground. <br><br> <<asylumpunish2>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You reach across the desk and grab <<his>> coat with both hands. "You're wrong," you shout. You slip a hand into <<his>> pocket. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<wearProp "keycard" "silver">> <span class="green">You pull out a keycard and hide it away.</span> <<set $asylumkeycard to 1>> <<skulduggeryuse>> <<He>> pushes you back on your chair as several orderlies march in. <br><br> <<pubfameComplete "hospital" "asylum">> <<asylumpunish2>> <<else>> <span class="red"><<He>> grabs your wrist.</span> <<gggsuspicion>><<suspicion 20>> <br><br> <<skulduggeryuse>> "I'm very disappointed in you," <<he>> says. <<He>> reaches beneath the desk, and the doors swing open. Several orderlies march in. <br><br> <<asylumpunish2>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "You're wrong," you say. "People keep forcing themselves on me." <br><br> <<He>> shakes <<his>> head and writes something on <<his>> clipboard. "That's okay," <<he>> says. "I'll be here when you're ready to admit what you've been up to." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "I-It's all me?" you ask. "It's my fault?" <br><br> <<He>> shakes <<his>> head. "There's no fault," <<he>> says. "But you understand. People are responding to your provocation. The way you dress and carry yourself. Most people aren't as talented." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "That's not true," you say. "People have been exposing me with force." <br><br> <<He>> shakes <<his>> head and writes something on <<his>> clipboard. "That's okay," <<he>> says. "But one day you'll need to admit your lewdity." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "I-It is exciting," you say. "To be exposed in front of people." <br><br> <<He>> nods. "Very good," <<he>> says. "You should be happy so many want to look at you." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "I'm not like that," you say. "I wouldn't do such things." <br><br> <<He>> shakes <<his>> head and writes something on <<his>> clipboard. "It must be hard for you," <<he>> says. "Coming to terms with such deviancy. But you need to in order to heal." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "It's my fault?" you ask. "I'm the one making animals attack me?" <br><br> <<He>> shakes <<his>> head. "You're attacking them," <<he>> says. "But you're on the right track." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "The tentacles are real," you say. "I felt them all over me. They left marks and goo..." <br><br> "They don't exist," <<he>> interrupts. "You're inventing fantasies to justify your promiscuous behaviour. It's no mystery where the goo really comes from." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "They aren't real?" you ask. "But why did they feel good?" <br><br> "You were either sleeping with someone, or touching yourself," <<he>> says. "Likely the former." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "No," you say. "I didn't do this to myself, other people did." <br><br> <<He>> shakes <<his>> head. "It's a cry for help," <<he>> says. "But you're in the right place. We won't let you hurt yourself any longer." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "I did this to myself?" you ask. "But why?" <br><br> "Yes," <<he>> says. "You did this to yourself. Because you felt guilty." <<He>> glances at the clock. "That's all for today. Be well." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<asylumeffects>><<effects>> <<if $earSlime.corruption gte (currentSkillValue('willpower') / 10)>> <<set $earSlime.defyCooldown += 2>> The slime tries to assert control. <span class="red">It overpowers your will,</span> forcing you to <<print $asylumEarSlimeEvent[0]>> as you are. <<ggwillpower>><<willpower 1>> <br><br> <<set _nextPassage to $asylumEarSlimeEvent[1]>> <<link [[Next|_nextPassage]]>> <<if ($exposed is 1 and $exhibitionism lt 35) or ($exposed is 2 and $exhibitionism lt 75)>> <<set $desperateaction to "the ear slime commanded you to do it">> <</if>> <<switch $asylumEarSlimeEvent[1]>> <<case "Asylum Breakfast">><<asylumstatus 1>><<awareness -10>><<trauma -3>><<stress -6>><<pass 60>> <<case "Asylum Exercise">><<tiredness 3>><<stress -6>><<pass 30>> <<case "Asylum Socialise">><<asylumstatus 1>><<trauma -3>><<stress -6>><<pass 30>> <<case "Asylum Study">><<pass 50>><<schoolskill>> <</switch>> <<unset $asylumEarSlimeEvent>> <</link>> <<else>> You try to ignore the command from the slime and continue on. You feel it try, <span class="green">but fail,</span> to force you to <<print $asylumEarSlimeEvent[0]>>. <br><br> <<link [[Next|Asylum]]>><<unset $asylumEarSlimeEvent>><</link>> <</if>><<asylumeffects>><<effects>> You act on the slime's urging and approach the <<person>>. <br> <<promiscuity4>> "Take me!" you say. <br><br> <<if $worn.over_lower.name isnot "naked" or $worn.lower.name isnot "naked">> <<if $worn.over_lower.name isnot "naked">> <<set $worn.over_lower.vagina_exposed to 1>><<set $worn.over_lower.anus_exposed to 1>><<set $worn.over_lower.exposed to 2>> <</if>> <<if $worn.lower.name isnot "naked">> <<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>> <</if>> <<if $worn.under_lower.name is "naked">> <<if $worn.over_lower.name isnot "naked">> <<if setup.clothes.over_lower[clothesIndex('over_lower', $worn.over_lower)].skirt is 1>><<set $worn.lower.skirt_down to 0>> You lift up your $worn.over_lower.name, <span class="lewd">exposing your <<if $worn.lower.name isnot "naked">>$worn.lower.name<<else>><<undies>><</if>>.</span> <<else>><<set $worn.lower.state to "thighs">> You pull down your $worn.over_lower.name, <span class="lewd">exposing your <<if $worn.lower.name isnot "naked">>$worn.lower.name<<else>><<undies>><</if>>.</span> <</if>> <</if>> <<if $worn.lower.name isnot "naked">> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>><<set $worn.lower.skirt_down to 0>> You lift up your $worn.lower.name, <span class="lewd">exposing your <<undies>>.</span> <<else>><<set $worn.lower.state to "thighs">> You pull down your $worn.lower.name, <span class="lewd">exposing your <<undies>>.</span> <</if>> <</if>> <</if>> <</if>> <<if $worn.under_lower.name isnot "naked">> <<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.vagina_exposed to 1>> <<set $worn.under_lower.state to "thighs">><<set $worn.under_lower.exposed to 2>> <<if $worn.lower.name is "naked">> You pull down your $worn.under_lower.name, <span class="lewd">exposing your <<genitals>>.</span> <<else>> <<outfitChecks>> <<if _skirtExposed>> <<if $worn.over_lower.name isnot "naked">><<set $worn.over_lower.skirt_down to 0>><</if>> <<if $worn.lower.name isnot "naked">><<set $worn.lower.skirt_down to 0>><</if>> You lift up your <<allBottoms>> with one hand while lowering you $worn.under_lower.name with the other <span class="lewd">exposing your <<genitals>>.</span> <<else>><<set $worn.lower.state to "thighs">> You pull down your <<allBottomsUnderwear>>, <span class="lewd">exposing your <<genitals>>.</span> <</if>> <</if>> <</if>> <br><br> The <<person>> is taken aback, but recovers quickly. <<He>> glances around, then grabs your arm. <<He>> pulls you somewhere where you have a little privacy. <br><br> <<link [[Next|Asylum Slime Rape]]>><<set $sexstart to 1>><</link>> <br><<asylumeffects>><<effects>> You follow the slime's urging and approach the <<person>>. <br><br> "T-take me!" you say. <br><br> The <<person>> is taken aback, but recovers quickly. <<He>> glances around, then grabs your arm. <<He>> pulls you somewhere where you have a little privacy. <br><br> <<link [[Next|Asylum Slime Rape]]>><<set $molestationstart to 1>><</link>> <br><<asylumeffects>><<effects>> <<if $earSlime.defyCooldown>> <<if $earSlime.growth gte 100>> <<set $earSlime.defyCooldown += 2>> You turn away from the <<person>> and feel a jolt of pain as the slime punishes you for your defiance. However, <span class="red">it doesn't stop you, knowing that it can punish you in other ways.</span> <<else>> You turn away from the <<person>> and feel a jolt of pain as the slime punishes you for your defiance. However, <span class="teal">it's still worn out from overpowering you earlier.</span> You feel it try, <span class="green">but fail,</span> to force your steps in the opposite direction. <</if>> <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10)>> <<if hasSexStat("promiscuity", 4) and $earSlime.growth lt 100>> <<set $earSlime.defyCooldown += 4>> <<else>> <<set $earSlime.defyCooldown += 8>> <</if>> You turn away from the <<person>> and feel a jolt of pain as the slime punishes you for your defiance. It tries to force you to stay still, <span class="red">and you fail</span> to resist its influence. <<ggwillpower>><<willpower 3>> <br><br> Forced by the slime's urging, you approach the <<person>>. <br><br> "T-take me!" you say. <br><br> The <<person>> is taken aback, but recovers quickly. <<He>> glances around, then grabs your arm. <<He>> pulls you somewhere where you have a little privacy. <br><br> <<link [[Next|Asylum Slime Rape]]>><<set $molestationstart to 1>><</link>> <br> <<else>> You turn away from the <<person>> and feel a jolt of pain as the slime punishes you for your defiance. You feel it try, <span class="green">but fail,</span> to force your steps in the opposite direction. <<gwillpower>><<willpower 1>> <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $noFinish to 1>> <<maninit>> <<elseif $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<set $noFinish to 1>> <<maninit>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Asylum Slime Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Slime Rape]]>><</link>></span><<nexttext>> <</if>><<asylumeffects>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Thanks, I needed that," the <<person>> says. "See you around." <br><br> <<tearful>> you return to where you were before the slime's demand. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Asylum]]>><</link>> <<else>> You shove the <<person>> against a dumpster, where <<he>> falls to the ground. <br><br> <<tearful>> you wince as the slime punishes you for your defiance. <<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Asylum]]>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $gamemode is "hard" and $asylumintro is 0>> <<set $asylumintro to 1>> <<if $ironmanmode isnot true>><<set $gamemode to "normal">><</if>> <span class="gold">You survived <<print Time.days>> days. <<if $ironmanmode isnot true>>Hard mode disabled.<</if>></span> <<set $hardmodedays to Time.days>> <br><br> <</if>> <<if $asylumescaped is 1>> <<set $asylumescaped to 0>> <<set $suspicion to 80>><<set $asylumstatus to 40>><<set $asylumbound to 3>> <<else>> <<set $suspicion to 20>><<set $asylumstatus to 0>><<set $asylumbound to 1>> <</if>> <<set $asylumkeycard to 0>> <<set $asylumdistracted to 0>> <<wash>> <<set $wardrobe_location to "asylum">> <<wardrobeSelection true>> <<if $asylumintro is 1>> <<npc Harper>><<person1>> <<bind>><<upperwear 35>> You awaken on a bed in a white room. The walls and floor are padded. Doctor Harper stands over you. "You're awake," <<he>> says. <<He>> jots something down on <<his>> clipboard. "Welcome back." Your arms are bound. "I'm sorry to admit we failed you last time. That won't happen again." <br><br> <<He>> looks back at <<his>> notes. "Do you remember the schedule? Sleep at <<ampm 22>>. Breakfast at <<ampm 6>>. You have two treatments scheduled per day, at <<ampm 10>> and <<ampm 15>>. You'll be assessed each evening at <<ampm 20>>. Don't worry if you forget, someone will remind you." <br><br> <<He>> rises to <<his>> feet and walks toward the exit. "You're free to explore the building during the day. Don't enter any doors marked for staff, and make sure to follow instructions. They're for your own good. <<if $asylumstate is "sleep">> For now, you should stay in your room until morning." The door shuts, and the lock clicks. <<else>> " <<He>> leaves the door open. <</if>> <br><br> <<endevent>> <<link [[Next|Asylum Cell]]>><</link>> <br> <<else>> <<set $asylumintro to 1>> <<npc Harper>><<person1>> <<bind>><<upperwear 35>> You awaken on a bed in a white room. The walls and floor are padded. Doctor Harper stands over you. <br><br> "You're awake," <<he>> says. <<He>> jots something down on <<his>> clipboard. "There's nothing to be nervous about. You're here to get better." <<He>> crouches beside you. "We're in another hospital. In the forest." You can't move your arms. They're bound tight in front of you. "That's for your own safety. If you're good, we'll untie you in a day or two." <br><br> <<He>> looks back at <<his>> notes. "We follow a schedule here. Sleep at <<ampm 22>>. Breakfast at <<ampm 6>>. You have two treatments scheduled per day, at <<ampm 10>> and <<ampm 15>>. You'll be assessed each evening at <<ampm 20>>. Don't worry if you forget; someone will remind you." <br><br> <<He>> rises to <<his>> feet and walks toward the exit. "You're free to explore the building during the day. Don't enter any doors marked for staff, and make sure to follow instructions. <<if $asylumstate is "sleep">> They're for your own good. For now, you should stay in your room until morning." The door shuts, and the lock clicks. <<else>> They're for your own good." <<He>> leaves the door open. <</if>> <br><br> <<endevent>> <i>You'll be released should your trauma or awareness become very low, but there are other ways to escape.</i> <br><br> <<link [[Next|Asylum Cell]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if isPregnancyEnding()>> <<pregnancyPassout "asylum">> <<elseif $daily.eden.distract gte 1 and Time.hour is 21 and $daily.eden.distract isnot 4>> <<npc Eden>><<person1>> An ear-splitting bang pierces the air from some distance away. It drives the patients into a panicked frenzy, and security rush to investigate the explosion. <br><br> You seize the chance, and climb up the perimeter fence. You glance over your shoulder when half way up. <<if $daily.eden.distract is 2>> Security have vacated this part of the grounds <span class="green">and the guard tower search lights don't appear to be operational.</span> You climb over the fence and run into Eden a few seconds later. <<He>> grabs your arm and leads you back to the cabin. <br><br> <<link [[Next|Eden Asylum Rescue]]>><</link>> <<else>> Security have vacated this part of the grounds, <span class="red">but the guard tower search lights are on.</span> A beam lands on you, and you instinctively shield your face from the light. You hear a whistle, then a sharp pain in your shoulder. You black out before you hit the ground. <br><br> <<link [[Next|Eden Asylum Fail]]>><<pass 30>><</link>> <</if>> <<elseif $asylumstate is "sleep">> The door is locked. You're supposed to be in bed. <br><br> <<roomoptions>> <<if Time.hour isnot 6>> <<asylumicon "bed">><<link [[Bed|Asylum Bed]]>><</link>> <br><br> <<else>> You can't sleep until the alarm turns off. <br><br> <</if>> <<if $eden_asylum_window is 1 and Time.hour gte 22>> Eden should be watching. <<if $leftarm is "bound" and $rightarm is "bound">> You could throw a towel up to your window to signal your location, but you'd need to unbind your arms first. <br> <<else>> You could throw a towel up to your window to signal your location. <br> <<towelicon>><<link [[Throw towel|Eden Towel Throw]]>><</link>> <br> <</if>> <</if>> <<if $leftarm is "bound" and $rightarm is "bound">> A padded cupboard containing your clothes protrudes from the wall, but you can't reach it with your arms bound. <br> <<else>> A padded cupboard containing your clothes protrudes from the wall. <br> <<asylumicon "wardrobe">><<link [[Open|Asylum Wardrobe]]>><</link>> <br> <</if>> <br> <<if $asylumstate isnot "sleep">> <<getouticon>><<link [[Leave|Asylum]]>><</link>> <br> <</if>> <br> <<link [[Gameplay Settings|Asylum Settings]]>><</link>> <br> <<attitudesControlCheck>> <<if $attitudesControl.showGoldLink is true>> <span class="goldLink"><<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> </span><span class="red">!!</span> <<else>> <<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> <</if>> <br><br> <<elseif Time.hour is 6>> An alarm buzzes through the building. <br><br> <<roomoptions>> <<if Time.hour isnot 6>> <<asylumicon "bed">><<link [[Bed|Asylum Bed]]>><</link>> <br><br> <<else>> You can't sleep until the alarm turns off. <br><br> <</if>> <<if $eden_asylum_window is 1 and Time.hour gte 22>> Eden should be watching. <<if $leftarm is "bound" and $rightarm is "bound">> You could throw a towel up to your window to signal your location, but you'd need to unbind your arms first. <br> <<else>> You could throw a towel up to your window to signal your location. <br> <<towelicon>><<link [[Throw towel|Eden Towel Throw]]>><</link>> <br> <</if>> <</if>> <<if $leftarm is "bound" and $rightarm is "bound">> A padded cupboard containing your clothes protrudes from the wall, but you can't reach it with your arms bound. <br> <<else>> A padded cupboard containing your clothes protrudes from the wall. <br> <<asylumicon "wardrobe">><<link [[Open|Asylum Wardrobe]]>><</link>> <br> <</if>> <br> <<if $asylumstate isnot "sleep">> <<getouticon>><<link [[Leave|Asylum]]>><</link>> <br> <</if>> <br> <<link [[Gameplay Settings|Asylum Settings]]>><</link>> <br> <<attitudesControlCheck>> <<if $attitudesControl.showGoldLink is true>> <span class="goldLink"><<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> </span><span class="red">!!</span> <<else>> <<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> <</if>> <br><br> <<else>> You are in your cell in the asylum. The walls and floor are padded. There's a window far above. <br><br> <<roomoptions>> <<if Time.hour isnot 6>> <<asylumicon "bed">><<link [[Bed|Asylum Bed]]>><</link>> <br><br> <<else>> You can't sleep until the alarm turns off. <br><br> <</if>> <<if $eden_asylum_window is 1 and Time.hour gte 22>> Eden should be watching. <<if $leftarm is "bound" and $rightarm is "bound">> You could throw a towel up to your window to signal your location, but you'd need to unbind your arms first. <br> <<else>> You could throw a towel up to your window to signal your location. <br> <<towelicon>><<link [[Throw towel|Eden Towel Throw]]>><</link>> <br> <</if>> <</if>> <<if $leftarm is "bound" and $rightarm is "bound">> A padded cupboard containing your clothes protrudes from the wall, but you can't reach it with your arms bound. <br> <<else>> A padded cupboard containing your clothes protrudes from the wall. <br> <<asylumicon "wardrobe">><<link [[Open|Asylum Wardrobe]]>><</link>> <br> <</if>> <br> <<if Time.weekDay is 1 and $daily.massAttended isnot 1>> <<if $fallenangel gte 2>> <<templeicon "pray">><<link [[Pray (1:00)|Asylum Pray Fallen Angel]]>><<purity 63>><<pass 60>><<stress 10>><<set $daily.massAttended to 1>><</link>><<gggpurity>><<gstress>> <<elseif $angel gte 6>> <<templeicon "pray">><<link [[Pray (1:00)|Asylum Pray Angel]]>><<purity 10>><<pass 60>><<stress -10>><<set $daily.massAttended to 1>><</link>><<gpurity>><<lstress>> <<elseif $demon gte 6>> <<templeicon "pray">><<link [[Reflect (1:00)|Asylum Pray Demon]]>><<purity -10>><<pass 60>><<stress 10>><<set $daily.massAttended to 1>><</link>><<lpurity>><<gstress>> <<else>> <<templeicon "pray">><<link [[Pray (1:00)|Asylum Pray]]>><<purity 10>><<pass 60>><<stress -10>><<set $daily.massAttended to 1>><</link>><<gpurity>><<lstress>> <</if>> <</if>> <br> <<if $asylumstate isnot "sleep">> <<getouticon>><<link [[Leave|Asylum]]>><</link>> <br> <</if>> <br> <<link [[Gameplay Settings|Asylum Settings]]>><</link>> <br> <<attitudesControlCheck>> <<if $attitudesControl.showGoldLink is true>> <span class="goldLink"><<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> </span><span class="red">!!</span> <<else>> <<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> <</if>> <br><br> <</if>>You bow your head and reflect on the events that brought you here. The distant howls and screams of other patients frequently interrupt your prayers, but you feel your dedication hasn't gone unnoticed. <br><br> <<link [[Next|Asylum Cell]]>><</link>> <br>You bow your head and close your eyes in prayer. The distant cries of other patients seem to fade away, giving you some much needed peace. <br><br> <<link [[Next|Asylum Cell]]>><</link>> <br>You kneel and close your eyes. The silence is interrupted by distant cries of other patients. The harder you try to ignore them the more unnatural they seem to become. You can't help but imagine the trauma they are going through. <br><br> <<link [[Next|Asylum Cell]]>><</link>> <br>You bow your head and close your eyes in prayer. Distant cries frequently interrupt your meditation. <br><br> <<link [[Next|Asylum Cell]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<npc Eden>><<person1>> <<set $eden_asylum_window to 2>> You take a towel from your wardrobe and throw it up to the barred window as hard as you can. It dangles in the night air. <br><br> You wait a few minutes, then a rope flies between the bars. You tie the end around the door handle, and give it a tug. It tenses. Eden must be climbing. <br><br> A worried face appears at the bars. Eden gazes at you. <<He>> produces a saw from a bag at <<his>> side, and presses it against the metal. <br><br> <<if $daily.eden.asylumDisarm is 2>> <<unset $eden_asylum_window>> <span class="green">The alarm does not sound.</span> Eden saws through the bars, before climbing down. Untying the rope from the door, you use it to climb out of the window and jump into Eden's waiting arms. <<He>> gathers the rope and saw, and leads you back to the cabin. <br><br> <<link [[Next|Eden Asylum Rescue]]>><</link>> <<else>> <<set $eden_asylum_window to 2>> <span class="red">The room is bathed in red light,</span> and an alarm blares. Metal shutters snap in front of the bars, slicing through the rope. <br><br> <<link [[Next|Eden Towel Throw 2]]>><<endevent>><</link>> <</if>> <br><<effects>> <<npc Harper>><<generate2>><<person2>> <<bind>><<upperwear 35>> You hear footsteps outside, and security barge through the door. A <<person>> pushes you to the bed while another examines the rope. <br><br> Doctor Harper enters. "It's okay," <<person1>><<he>> says sitting on the bed beside you. The <<person2>><<person>> continues to hold you down. <<person1>>"Someone tried to take you away. But you're safe." <<He>> looks towards the door, and nods. <br><br> More security arrive. They wrestle you into a straightjacket. "Just to make sure you're extra safe." Harper says. The alarm stops, and the lights turn white. You hear dogs barking from the grounds below. <br><br> Harper and security leave you alone in your room. The shutters remain. <br><br> <<link [[Next|Asylum Cell]]>><<endevent>><</link>><<effects>> You snuggle under the covers. <br><br> <<generateSleepLinks "Asylum Sleep">> <<link [[Climb out of bed|Asylum Cell]]>><<loadTempHairStyle>><</link>> <br><br><<set _autosavehere to true>> <<sleep>> <<effects>> <<wakingEffects $sleepHoursTotal>> <<if ["dryheaving","nausea"].includes(_wakingEffect)>> <br><br> You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if ($specialClothesEffects.bimbo.total gte random(100,1000) || $specialClothesEffects.pimp.total gte random(100,1000)) or $arousal gte ($arousalmax / 10) * 9>> <<wetDream>> <<elseif !_wakingEffect>> You sleep soundly. <br><br> <<else>> <br><br> <</if>> <</if>> <<sleepeffects>> <<if isPregnancyEnding()>> <<asylumeffects>> <<pregnancyPassout "asylum">> <<elseif _sleepinterrupt>> <<asylumeffects>> <<if $rapewake is 1>> <<set $rapewake to 0>> <<generate1>><<generate2>><<person1>> <<if _wakingEffect is "dryheaving">> A <<person>> rubs your back. "Feeling better now?" <<he>> says. "Me and my friend here work very hard protecting you crazies from yourselves. How about you give us a little something in return?" <<He>> gropes you. <<else>> A <<person>> shakes you awake. "Wakey wakey," <<he>> says. "Me and my friend here work very hard protecting you crazies from yourselves. How about you give us a little something in return?" <<He>> gropes you. <</if>> <br><br> <<link [[Next|Asylum Cell Rape]]>><<set $molestationstart to 1>><</link>> <br> <<elseif $asylumstate is "firsttreatment" and $daily.asylumTreatment1 isnot 1>> <<set $daily.asylumTreatment1 to 1>> <<generate1>><<person1>> <<if _wakingEffect is "dryheaving">> A <<person>> rubs your back. <<Hes>> a nurse. <br><br> <<else>> A <<person>> shakes you awake. <<Hes>> a nurse. <br><br> <</if>> <<asylumoptions>> "Doctor says it's time for your treatment," <<he>> says. "Come with me." <br><br> <<endevent>> <<asylumtreatments>> <<elseif $asylumstate is "secondtreatment" and $daily.asylumTreatment2 isnot 1>> <<set $daily.asylumTreatment2 to 1>> <<generate1>><<person1>> <<if _wakingEffect is "dryheaving">> A <<person>> rubs your back. <<Hes>> a nurse. <br><br> <<else>> A <<person>> shakes you awake. <<Hes>> a nurse. <br><br> <</if>> <<asylumoptions>> "Doctor says it's time for your treatment," <<he>> says. "Come with me." <br><br> <<endevent>> <<asylumtreatments>> <<elseif $asylumstate is "assessment" and $daily.asylumAssessment isnot 1>> <<set $daily.asylumAssessment to 1>> <<generate1>><<person1>> <<if _wakingEffect is "dryheaving">> A <<person>> rubs your back. <<Hes>> a nurse. <br><br> <<else>> A <<person>> shakes you awake. <<Hes>> a nurse. <br><br> <</if>> <<asylumoptions>> "Doctor says it's time for your assessment," <<he>> says. "Come with me." <br><br> <<endevent>> <<asylumassessment>> <<else>> <<if _wakingEffect is "dryheaving">> A loud buzzing continues in the background. <br><br> <<else>> A loud buzzing wakes you. <br><br> <</if>> <br><br> <<getouticon>><<link [[Get out of bed|Asylum Cell]]>><</link>> <br><br> <</if>> <<else>> <br><br> <<getouticon>><<link [[Get out of bed|Asylum Cell]]>><</link>> <br><br> <</if>> <<set $phase to 0>><<set $settingsExitPassage to "Asylum Cell">> <<settings>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You are in the asylum, deep in the forest. The building is over a century old, and little of it has been renovated to modern standards. Security patrol the grounds between the building and surrounding fence. <<if $asylumstate is "sleep">> You're supposed to be in your cell. <br><br> <<else>> Other patients are relaxing in the recreation room or exercising outside. Most keep to themselves. <<if $o_long_and_beautiful gte 1 and $o_long_and_beautiful lte 7 and $rng % 4 == 0>> A slim girl with very long, messy hair wanders out of sight <<print either("down a corridor.","into a private room.","into the cells.","in the garden.")>> <</if>> <br><br> <<asylumstats>> <</if>> <<if $stress gte $stressmax>> <<passoutasylum>> <<elseif $daily.eden.distract gte 1 and Time.hour gte 21 and $daily.eden.distract isnot 4>> An ear-splitting bang pierces the air from some distance away. It drives the patients into a panicked frenzy, and security rush to investigate the explosion. <br><br> You seize the chance, and climb up the perimeter fence. You glance over your shoulder when half way up. <<if $daily.eden.distract is 2>> <<npc Eden>><<person1>> <<unset $eden_asylum_fence>> Security have vacated this part of the grounds <span class="green">and the guard tower search lights don't appear to be operational.</span> You climb over the fence and run into Eden a few seconds later. <<He>> grabs your arm and leads you back to the cabin. <br><br> <<link [[Next|Eden Asylum Rescue]]>><<pass 10>><</link>> <<else>> Security have vacated this part of the grounds, <span class="red">but the guard tower search lights are on.</span> A beam lands on you, and you instinctively shield your face from the light. You hear a whistle, then a sharp pain in your shoulder. You black out before you hit the ground. <br><br> <<link [[Next|Eden Asylum Fail]]>><<pass 30>><</link>> <</if>> <<elseif $asylumstate is "firsttreatment" and $daily.asylumTreatment1 isnot 1>> <<set $daily.asylumTreatment1 to 1>> <<generateDoctor 1>><<person1>>A <<person>> approaches you. <<Hes>> a nurse. <br><br> <<asylumoptions>> "Doctor says it's time for your treatment," <<he>> says. "Come with me." <br><br> <<endevent>> <<asylumtreatments>> <<elseif $asylumstate is "secondtreatment" and $daily.asylumTreatment2 isnot 1>> <<set $daily.asylumTreatment2 to 1>> <<generateDoctor 1>><<person1>>A <<person>> approaches you. <<Hes>> a nurse. <br><br> <<asylumoptions>> "Doctor says it's time for your treatment," <<he>> says. "Come with me." <br><br> <<endevent>> <<asylumtreatments>> <<elseif $asylumstate is "assessment" and $daily.asylumAssessment isnot 1>> <<set $daily.asylumAssessment to 1>> <<generateDoctor 1>><<person1>>A <<person>> approaches you. <<Hes>> a nurse. <br><br> <<asylumoptions>> "Doctor says it's time for your assessment," <<he>> says. "Come with me." <br><br> <<endevent>> <<asylumassessment>> <<elseif $asylumstate is "exercise" and $daily.asylumExcercise isnot 1>> <<set $daily.asylumExcercise to 1>> <<generateDoctor 1>><<person1>>A <<person>> approaches you. <<Hes>> an orderly. <br><br> <<asylumoptions>> "Time for exercise," <<he>> says. "Doctor's waiting." <br><br> <<endevent>> <<npc Harper>><<person1>> The doctor is indeed waiting outside. The other patients line up near <<him>>. <<Hes>> holding a whistle. "Time for your daily exercise," <<he>> says. "When I blow, I want you to run in a circle around the grounds. Don't stop until you hear me blow again." <br><br> <<He>> whistles, and you run. It's not too harsh a pace, but orderlies follow after and chastise those who fall behind. <<gathletics>><<athletics 2>><<pass 30>> <br><br> <<He>> whistles again, and the group stops. A few sit on the ground. "We're not done yet," <<he>> says. <br><br> <<link [[Next|Asylum Shower]]>><</link>> <br> <<elseif Time.hour is 22>> <<generateDoctor 1>><<person1>>"Bed time," a nurse announces. "Everyone get back in your cells." <br><br> <<asylumicon "cell">><<link [[Go to cell (0:02)|Asylum Cell]]>><<pass 2>><<endevent>><</link>> <br> <<refuseicon>><<link [[Hide (1:00)|Asylum Hide]]>><<pass 60>><</link>> <br> <<elseif $asylumstate is "sleep">> <<asylumicon "door">><<link [[Staff door|Asylum Staff]]>><</link>> <br> <<asylumicon "cell">><<link [[Cell|Asylum Cell]]>><</link>> <br> <<elseif numberOfEarSlime() and !$daily.earSlimeAsylum and random(0,100) gte 92>> <<set $daily.earSlimeAsylum to true>> <<if earSlimeMakingMundaneRequests()>> <<set _asylumEvents to [ ["exercise outside","Asylum Exercise"], ["socialise","Asylum Socialise"], ["study","Asylum Study"], ]>> <<if Time.hour is 6>> <<run _asylumEvents.push(["have breakfast","Asylum Breakfast"])>> <</if>> <<set $asylumEarSlimeEvent to _asylumEvents.random()>> <span @class="$earSlime.startedThreats ? 'lewd' : 'lblue'">You feel the slime in your head command you to <<print $asylumEarSlimeEvent[0]>>.</span> It promises rewards if you comply<<if $earSlime.startedThreats>>, and threatens consequences if you do not<</if>>. <br><br> <<set _nextPassage to $asylumEarSlimeEvent[1]>> <<link [[Obey|_nextPassage]]>> <<if ($exposed is 1 and $exhibitionism lt 35) or ($exposed is 2 and $exhibitionism lt 75)>> <<set $desperateaction to "the ear slime commanded you to do it">> <</if>> <<switch $asylumEarSlimeEvent[1]>> <<case "Asylum Breakfast">><<asylumstatus 1>><<awareness -10>><<trauma -3>><<stress -6>><<pass 60>> <<case "Asylum Exercise">><<tiredness 3>><<stress -6>><<pass 30>> <<case "Asylum Socialise">><<asylumstatus 1>><<trauma -3>><<stress -6>><<pass 30>> <<case "Asylum Study">><<pass 50>><<schoolskill>> <</switch>> <<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 2>> <<unset $asylumEarSlimeEvent>> <</link>><<gcorruption>><<lpain>><<lltrauma>><<llstress>> <br> <<if $earSlime.startedThreats>> <<link [[Defy|Asylum Mundane Slime Defy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <<else>> <<link [[Ignore|Asylum]]>><<unset $asylumEarSlimeEvent>><</link>> <</if>> <<else>> <<generate1>><<person1>>A nearby patient walks by you. <<He>> nods at you before continuing on <<his>> way. <br><br> <span class="lewd">You feel the slime in your head command you to give yourself to <<him>>.</span> It promises rewards if you comply, and threatens consequences if you do not. <br><br> <<if hasSexStat("promiscuity", 4) and $submissive gte 1900>> <<link [[Submit willingly|Asylum Patient Slime Submit willingly]]>><<corruption 3>><<pain -8>><<stress -12>><<trauma -24>><<sub 2>><</link>><<promiscuous4>><<ggcorruption>><<llpain>><<llltrauma>><<llstress>> <br> <</if>> <<link [[Obey|Asylum Patient Slime Obey]]>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 2>><</link>><<gcorruption>><<lpain>><<lltrauma>><<lstress>> <br> <<link [[Defy|Asylum Patient Slime Defy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br> <</if>> <<else>> <<if $exposed gte 1>> <<dressasyouwereicon>><<link [[Ask for clothes|Asylum Towels]]>><<trauma 6>><<stress 3>><<suspicion 1>><</link>><<gsuspicion>><<gtrauma>><<gstress>> <br> <</if>> <<if $daily.eden.distract is 1>> <<investigateicon>><<link [[Search for a breaker room|Asylum Breaker]]>><</link>> <br> <</if>> <<if $daily.eden.asylumDisarm is 1>> <<investigateicon>><<link [[Search for an alarm system|Asylum Alarm]]>><</link>> <br> <</if>> <<if $exposed gte 2 and hasSexStat("exhibitionism", 5)>> <<if Time.hour is 6>> <<foodicon "pancakes">><<link [[Breakfast (1:00)|Asylum Breakfast]]>><<asylumstatus 1>><<awareness -10>><<trauma -3>><<stress -6>><<pass 60>><</link>><<exhibitionist5>><<gcool>><<llawareness>><<ltrauma>><<lstress>> <br> <</if>> <<exerciseicon>><<link [[Exercise outside (0:30)|Asylum Exercise]]>><<tiredness 3>><<stress -6>><</link>><<exhibitionist5>><<gtiredness>><<lstress>><<gathletics>> <br> <<socialiseicon>><<link [[Socialise (0:30)|Asylum Socialise]]>><<asylumstatus 1>><<trauma -3>><<stress -6>><<pass 30>><</link>><<exhibitionist5>><<gcool>><<ltrauma>><<lstress>> <br> <<schoolicon "library">><<link [[Study (0:50)|Asylum Study]]>><<pass 50>><<schoolskill>><</link>><<exhibitionist5>><<gschool>> <br> <<gardenicon>><<link [[Garden (0:02)|Asylum Garden]]>><<pass 2>><</link>> <br> <<elseif $exposed gte 1 and hasSexStat("exhibitionism", 3)>> <<if Time.hour is 6>> <<foodicon "pancakes">><<link [[Breakfast (1:00)|Asylum Breakfast]]>><<asylumstatus 1>><<awareness -10>><<trauma -3>><<stress -6>><<pass 60>><</link>><<exhibitionist3>><<gcool>><<llawareness>><<ltrauma>><<lstress>> <br> <</if>> <<exerciseicon>><<link [[Exercise outside (0:30)|Asylum Exercise]]>><<tiredness 3>><<stress -6>><</link>><<exhibitionist3>><<gtiredness>><<lstress>><<gathletics>> <br> <<socialiseicon>><<link [[Socialise (0:30)|Asylum Socialise]]>><<asylumstatus 1>><<trauma -3>><<stress -6>><<pass 30>><</link>><<exhibitionist3>><<gcool>><<ltrauma>><<lstress>> <br> <<schoolicon "library">><<link [[Study (0:50)|Asylum Study]]>><<pass 50>><<schoolskill>><</link>><<exhibitionist3>><<gschool>> <br> <<gardenicon>><<link [[Garden (0:02)|Asylum Garden]]>><<pass 2>><</link>> <br> <<elseif $exposed is 0>> <<if Time.hour is 6>> <<foodicon "pancakes">><<link [[Breakfast (1:00)|Asylum Breakfast]]>><<asylumstatus 1>><<awareness -10>><<trauma -3>><<stress -6>><<pass 60>><</link>><<gcool>><<llawareness>><<ltrauma>><<lstress>> <br> <</if>> <<exerciseicon>><<link [[Exercise outside (0:30)|Asylum Exercise]]>><<tiredness 3>><<stress -6>><</link>><<gtiredness>><<lstress>><<gathletics>> <br> <<socialiseicon>><<link [[Socialise (0:30)|Asylum Socialise]]>><<asylumstatus 1>><<trauma -3>><<stress -6>><<pass 30>><</link>><<gcool>><<ltrauma>><<lstress>> <br> <<schoolicon "library">><<link [[Study (0:50)|Asylum Study]]>><<pass 50>><<schoolskill>><</link>><<gschool>> <br> <<gardenicon>><<link [[Garden (0:02)|Asylum Garden]]>><<pass 2>><</link>> <br> <</if>> <<if $asylumstatus gte 80 and $asylumdistracted isnot 1>> <<socialiseicon "ask">><<link [[Ask the patients to distract the orderlies|Asylum Distract]]>><<set $asylumdistracted to 1>><<asylumstatus -30>><</link>><<lllcool>> <br> <</if>> <br> <<asylumicon "cell">><<link [[Cell (0:02)|Asylum Cell]]>><<pass 2>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You wander around the asylum, looking for a breaker room. As luck would have it, you stumble upon one tucked away in an inconspicuous location. <br><br> Using the lock pick Eden gave you, you enter the breaker room, lock the door and access the control panel. <br><br> <<link [[Try to disable power to the search lights (0:30)|Asylum Disable]]>><<pass 30>><</link>> <<note "A higher science skill will make this more likely to succeed" "italic">> <br> <<link [[Leave|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if random(1, 200) lte (currentSkillValue('science') + 100)>> <<set $daily.eden.distract to 2>> You successfully disable power to the guard tower search lights. Hopefully that'll buy you some time to escape. <br><br> <<link [[Next|Asylum]]>><</link>> <<else>> You mistakenly flip a switch providing power to the recreation area. Quickly noticing your mistake, you flip it back on and sneak out before anyone catches you. Seems you'll need to try again. <br><br> <<link [[Next|Asylum]]>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> After wandering the asylum for a while, you find a wireless alarm mounted to the wall somewhere relatively out-of-the-way. Grabbing a butterknife from the cafeteria, you use it unscrew the main panel. There seems to be a bunch of wires connecting the system to the main power source. <br><br> <<link [[Try to disconnect the alarm (0:30)|Asylum Disconnect]]>><<pass 30>><</link>> <<note "A higher science skill will make this more likely to succeed" "italic">> <br> <<link [[Leave|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if random(1, 200) lte (currentSkillValue('science') + 100)>> <<set $daily.eden.asylumDisarm to 2>> You successfully disconnect the alarm system from its power source. Hopefully no one will be alerted to your escape. <br><br> <<link [[Next|Asylum]]>><</link>> <<else>> You hear footsteps approaching from afar. You quickly re-attach the main panel and leave before you're caught. Seems you'll need to try again. <br><br> <<link [[Next|Asylum]]>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You ask for help distracting the orderlies. You have trouble finding anyone who will agree to it, until a <<generate1>><<person1>><<person>>. <<He>> looks at <<his>> friends, then back at you. "Alright," <<he>> says. "We'll make sure you get some proper alone time with the good Doctor." <i>Harper will not receive aid the next time you attack <<nnpc_him "Harper">>.</i> <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<generateDoctor 1>><<person1>><<set _towel to random(0,4)>> You sneak to a nurse. "Excuse me," you say. <<if $worn.upper.name is "straightjacket" or $worn.lower.name is "straightjacket bottom">> <<He>> turns, and regards your ruined jacket with a <<if ($beauty gte ($beautymax / 3) * 2) and _towel lte 1>> smirk. <<covered>> "Can I have some clothes please?" <br><br> "Nah, you're hot." <<He>> pulls out a phone. "I wanna watch you go and ask someone else." <<fameexhibitionism 2 "pic">> <<else>> frown. <<covered>> "Can I have some clothes please?" <br><br> "How did you manage that? No, never mind. I don't want to know." <<He>> makes a note on a clipboard. "I'll have to inform the doctor."<<set $suspicion += 1>><<gsuspicion>> <br><br> <<He>> removes the remains of your straightjacket<<if $leftarm is "bound" and $rightarm is "bound">>, letting your arms fall to your sides<</if>>. Your freedom is short-lived as <<he>> forces a fresh one onto you. <<bind>><<upperwear 35>><<lowerwear 38>><<fameexhibitionism 1>> <</if>> <<elseif ($beauty gte ($beautymax / 3) * 2) and _towel lte 3>> /* 1 in 5 to skip beauty*/ <<if _towel is 0>> /*1 in 4 chance*/ <<He>> turns, and smiles with open lust when <<he>> sees you. <<covered>> "Can I have some clothes please?" <br><br> "Nah, you're hot." <<He>> pulls out a phone. "I wanna watch you go and ask someone else." <<fameexhibitionism 2 "pic">> <<else>> <<He>> turns, and smiles with open lust when <<he>> sees you. <<covered>> "Can I have some clothes please?" <br><br> "Seems like a shame, but sure," <<he>> says with a nod, and wraps some around you. <<unbind>><<upperwear 87>><<fameexhibitionism 1>> <</if>> <<elseif $player.penissize gte 3>> <<He>> turns, and smiles when <<he>> sees you. <<covered>> "Can I have some clothes please?" <br><br> "One moment," <<he>> says. <<He>> pulls out a phone and takes a quick photo of your <<genitals>>. <<He>> nods at the screen, and then chucks a bundle of fabric at you. "Seems like a damn shame to cover that up." <<unbind>><<upperwear 87>><<fameexhibitionism 2 "pic">> <<elseif $player.breastsize gte 7>> <<He>> turns, and smiles when <<he>> sees you. <<covered>> "Can I have some clothes please?" <br><br> "One moment," <<he>> says. <<He>> pulls out a phone and takes a quick photo of your <<breasts>>. <<He>> nods at the screen, and then chucks a bundle of fabric at you. "Seems like a damn shame to cover those up." <<unbind>><<upperwear 87>><<fameexhibitionism 2 "pic">> <<elseif _towel gte 2>> <<He>> turns, and seems completely unphased when <<he>> sees you. <<covered>> "Can I have some clothes please?" <br><br> <<He>> nods, and gives you a patient gown. <<unbind>><<upperwear 87>><<fameexhibitionism 1>> <<else>> <<He>> turns, and puts a hand to <<his>> mouth to conceal laughter when <<he>> sees you. <<covered>> "Can I have some clothes please?" <br><br> <<He>> nods, and gives you a patient gown. <<unbind>><<upperwear 87>><<fameexhibitionism 1>> <</if>><br><br><<unset _towel>> <<link [[Next|Asylum]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if isPregnancyEnding()>> <<pregnancyPassout "asylumOutside">> <<elseif C.npc.Eden.love gte 100 and ($edenfreedom is 1 and $edendays gte 2 and !$daily.eden.asylumRescue and $eden_asylum_fence isnot 1 and $leftarm isnot "bound" and $rightarm isnot "bound" and $trauma lte $traumamax / 2) or ($edenfreedom gte 2 and $edendays gte 8 and !$daily.eden.asylumRescue and $eden_asylum_fence isnot 1 and $leftarm isnot "bound" and $rightarm isnot "bound" and $trauma lte $traumamax / 2)>> <<set $eden_asylum_fence to 1>> <<set $daily.eden.asylumRescue to 1>> You see movement among the trees, a lurking figure. It steps closer. <span class="green">It's Eden.</span> <br><br> <<npc Eden>><<person1>> You jog up to the fence, and lean against it to catch your breath. Eden rushes into full view, emboldened by the sight of you. <br><br> <<He>> reaches through the bars and takes your hands. "I'm going to make a distraction," <<he>> says. "In a few minutes you'll hear an explosion on the other side of the building. Climb over the fence, and I'll lead you back to the cabin with me. Got it?"<<takeHandholdingVirginity "Eden" "romantic">> <br><br> <<getinicon>><<link [[Agree|Eden Distraction Plan]]>><</link>> <br> <<refuseicon>><<link [[Refuse|Eden Distraction Refuse]]>><</link>> <br> <<elseif $exposed is 2>> <<flaunting>> you run around the asylum grounds. Security keeps a close eye on you, and warn you off when you jog too close to the perimeter fence. <<athletics 2>><<pass 30>> <br><br> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism5>> <<asylumevents>> <<elseif $exposed is 1>> <<flaunting>> you run around the asylum grounds. Security keeps a close eye on you, and warn you off when you jog too close to the perimeter fence. <<athletics 2>><<pass 30>> <br><br> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism3>> <<asylumevents>> <<else>> <<if $leftarm is "bound" and $rightarm is "bound" and $worn.upper.name is "straightjacket">> Despite the straightjacket, you persist in running around the asylum grounds. <<if currentSkillValue('danceskill') + currentSkillValue('athletics') gte 1600>> With your agile and athletic movement, you make it an excellent training session. <<athletics 2>><<physique 4>><<pass 30>> <<elseif currentSkillValue('danceskill') + currentSkillValue('athletics') gte 1100>> With your skilful movement, you can still get a decent training session. <<athletics 2>><<physique 3>><<pass 30>> <<elseif currentSkillValue('danceskill') + currentSkillValue('athletics') gte 650>> It's tricky but thanks to your reasonable agility and athleticism you can still get some kind of workout. <<athletics 2>><<physique 2>><<pass 30>> <<else>> You <<print either("almost immediately","soon")>> <<if random(0,1)>>trip over a root and end up doing a sliding face-plant along the ground. <<else>>trip on a stone and, off-balance, run face-first into a tree. Stunned, you fall back on the floor. <</if>> Several people clap.<<gpain>><<pain 6>><br> Someone eventually helps you up. It wasn't much of a work out. <<athletics 2>><<pass 30>> <</if>><br><br> Security are amused by the sight of you, but still warn you off when you jog too close to the perimeter fence. <br><br> <<asylumevents>> <<else>> You run around the asylum grounds. Security keeps a close eye on you, and warn you off when you jog too close to the perimeter fence. <<athletics 2>><<pass 30>> <br><br> <<asylumevents>> <</if>> <br><br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You decide to ignore the figure and focus on your workout. <br><br> <<link [[Next|Asylum Exercise]]>><</link>><<effects>> You shake your head. "It's too dangerous," you say. <br><br> "I'm not letting them keep you," Eden snarls. "But I'll find a safer way if you wish." <<He>> squeezes your hand, then turns and strides into the forest. <br><br> You return to your workout. <br><br> <<link [[Next|Asylum Exercise]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<set $daily.eden.distract to 1>> <<npc Eden>><<person1>> You're about to agree to Eden's plan, but stop when you remember something. "The guard towers," you say. "They'll see me climb the fence." <br><br> Eden's face falls at this realisation. "I'll delay the distraction to <<ampm 21>>," <<he>> says. "They shouldn't see you then." <br><br> "How about their search lights?" you ask. <br><br> "There has to be a breaker room somewhere providing power. Before the explosion goes off, shut it down and meet me in the forest," <<he>> says, placing a lock pick in your hands and sneaking off. <br><br> <<link [[Next|Asylum Exercise]]>><</link>> <br><<effects>> <<set $daily.eden.distract to 4>> <<npc Harper>><<generate2>><<person2>> <<bind>><<upperwear 35>> You awaken strapped to a bed. A light glares in your eyes. It dims to reveal an old <<person>> in a white coat. Doctor Harper stands beside <<him>>. <br><br> "No long term effects," the <<person>> says, stepping away. <br> "Good," Harper says. "You tried to climb the fence. Do you know how dangerous the forest beyond is? You're here so we can help you. For your own safety." <br><br> You try to stand, but you can't move your arms. "We've given you a jacket until you're a bit better," <<he>> continues, grabbing your shoulder. <<He>> helps you to your feet. You're in a small, dark room. <br><br> <<He>> steers you towards the door, then through it. You're pushed through another set of doors, into the patients communal area. <br><br> "Be well," Harper says, shutting the doors behind you. <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You chat with the other patients. <<if $exposed is 2>> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism5>> <<elseif $exposed is 1>> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism3>> <<else>> <</if>> <<if $asylumstatus gte 80>> They're happy to speak with you. <<elseif $asylumstatus gte 20>> <<else>> Most avoid you, but a few are willing to hear you out. <</if>> <<generate1>><<person1>><br> <<if C.npc.Eden.love gte 100 and ($edenfreedom is 1 and $edendays gte 2 and !$daily.eden.asylumRescue and !$eden_asylum_window and $leftarm isnot "bound" and $rightarm isnot "bound" and $trauma lte $traumamax / 2) or ($edenfreedom gte 2 and $edendays gte 8 and !$daily.eden.asylumRescue and !$eden_asylum_window and $leftarm isnot "bound" and $rightarm isnot "bound" and $trauma lte $traumamax / 2)>> <<set $daily.eden.asylumRescue to 1>> <<set $eden_asylum_window to 1>> <<set $daily.eden.asylumDisarm to 1>> <br> You look out the window, at the trees beyond the fence. You see movement, a figure lurking in the dark. <span class="green">It reminds you of Eden.</span> <br><br> <<endevent>> <<npc Eden>><<person1>> You open the window to get a clearer view. You hear a thud to your right. A bolt sticks out of the brickwork. There's paper wrapped around the shaft. <br><br> You glance behind you to make sure you're not being watched. Everyone seems preoccupied. You pull out the bolt, and unfurl the paper. The handwriting is crude, but legible. <br><br> <i>"I'm coming for you. Mark your window with a towel at <<ampm 22>>. - Eden"</i> <br><br> You look back out at the forest, but the figure is gone. <br><br> <<link [[Next|Asylum Eden Towel]]>><<endevent>><</link>> <<elseif $rng gte 95>> <<if $rng % 2>> "Best keep your nose clean," a <<person>> says. "If the staff are suspicious of you it'll be hard to do anything sneaky." <<else>> "Fair warning: it's us against them in here," a <<person>> tells you. "If you cosy up with those guards, nurses and doctors and all the other scum, don't expect any quarter from the rest of us." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 90>> There is a buzz of excitement in the room today. A popular patient has been cured and is being released. Patients crowd by the window waving at a smiling <<person>>, as <<he>> stands with Dr Harper by the driveway. <br><br> Moments later, the gates open and a vehicle drives through. It circles round the driveway and stops by the grinning former-patient. <<if $rng % 2>> Oddly, the vehicle isn't a taxi or mini-bus. It looks more like an animal-hauler. The driver emerges to greet them. <<if $fluid_forced_stat gte 100>>You recognise the driver from somewhere.<</if>> With a final flurry of waves, the <<person>> is led into the back of the vehicle. A look of confusion finally crosses <<his>> face a moment before <<he>> is hidden behind the closing door. <br> The driver bars and padlocks the door. <<if $fluid_forced_stat gte 100>> As the driver talks with Dr Harper, you suddenly remember <<him>> as one of Remy's farmhands. Before you can say anything <<else>> After a brief exchange with Dr Harper <</if>> the driver clambers into the vehicle and drives away. <<else>> The <<person>> climbs into the waiting taxi, and waves back through the window. The engine sounds rises and the car pulls away taking the <<person>> back to the town. <</if>> <br><br> "Be well," you hear Dr Harper call after the departing vehicle. <br> The watching crowd disperses. <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 85>><<generate2>><<generate3>> <br> "Be wary, friend!" a <<person>> fixes your eye. "Beware the door that's ajar!" <br> "You what, mate?" a <<person2>><<person>> nearby turns to <<person1>><<him>>. "You daft? 'ow can a door be a jar?" <br> "How can..? It just is. They don't close it properly. Almost like they want the unwary to-" <br> "Totally, man!" a <<person3>><<person>> nearby interrupts. "A door can totally be a jar. Like a giant jar. I mean, like, I never thought of it that way, but the building is like, the cupboard. Full of jars. Which are doors. The door is the jar, literally. And we're the... the jam trying to get out to the town, which is obviously the toast in this... this... ...analogy? I mean, yeah - the door is the jar - I see it. I totally see it." <<He>> sounds quite sure of <<himself>>. /*Disabled due to feedback The <<person1>><<person>> squints between them, confused. Looking back at you restores <<his>> train of thought. <br> "Aye, beware that door, friend. Beware its inviting amaranthine glow; beware its seductive fragrance; beware the mellifluous winds that whisper of freedom beyond. For if you pass that door, you'll find that freedom merely a mirage - a phantasm in those endless, shifting plains without." <br> The <<person2>><<person>> and the <<person3>><<person>> both gaze raptly at the <<person1>><<person>>. <br> "Without what?" <br> "There is no map," <<he>> goes on. "There is no 'right way' that you can learn. There is only Hunger. The endless, voracious hunger of those creatures. Those creatures out there. And if you pass that way, <<if $player.gender_appearance is "f">>girl,<<else>>boy,<</if>> they will have you. This much I know." <br><br> <<He>> looks between <<his>> listeners. <br> "Most souls who pass that door, wake up back here, broken and abused. Missing a piece. A few never show up. Where do they go? Rumour would have it they escape. Ha! No. No. Know what I think? I think they're Them now. I think, lost in the plains, they eventually surrender to that rapacious hunger and it transforms them. Changes their very beings into those seeping, tentacles of lust. I think they wander the plains still, only now, they search for you."*/ <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 80>> "They pump gas into our rooms at night, I swear," a <<person>> says. "Makes us suggestible." <<if $rng % 2>> <br> "<<print either("Don't need gas to make YOU suggestible!","You're a fine one to talk about making gas!")>>" a voice mutters snidely. <br> The <<person>> swears at them. <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 75>> <<if $o_long_and_beautiful gte 1 and $o_long_and_beautiful lte 7>><<set $o_long_and_beautiful += 1>> A thin girl with extremely long, messy, tangled hair stands by a window staring at the trees across the garden. <br> You stand next to her and try to strike up a conversation, but she doesn't respond at all. With her face mostly hidden in a mass of long, tangled hair, it's hard to tell if she even hears you. <br><br> Through the window you notice a small plane passing low over the forest, or maybe the town beyond. <br> When you glance beside you again, the long-haired girl has vanished. <<else>> A <<person>> stands by a window overlooking the garden and the forest beyond. <<He>> points at a plane. <br> "So many planes fly over there," <<he>> says. "Every day." <br><br> Sure enough, out the window you notice a small plane passing quite low over the tree line. <br> "What do you reckon? Is that going over the forest or the town?" <br> <<if currentSkillValue('science') gte 400 and currentSkillValue('maths') gte 600>> You take a couple of steps left and right; make a rough calculation in your head. "Judging by the parallax, probably the town," you say. <<else>> You shrug. <</if>> <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 70>> <<if $rng %2>> "I'm not a patient here, y'know? I'm a doctor," a <<person>> says. "I'm telling you I did- I did study in- in- I studied lots of things. So many things. But no one believes me anymore. I came here as a doctor, but now- Now even the other doctors they- they act like I'm a patient. They don't listen. No one listens. I..." <<He>> grips your arm. "I Am Not Crazy." <<else>> "I don't know why I'm here," a <<person>> says. "I remember I got a coach into town. I arrived at the bus station. And I remember I didn't have change for a taxi or bus home. I live near the Temple on Danube Street, so it's not far. Quite a nice walk by the Park, but... I didn't get that far. I remember going out from the station and onto Elk Street... and then... <<print either("","There was a sound and then...","Something... came over a fence and then...","There were guards in uniform, chasing something, and then...")>> I woke up here. They say I did terrible things." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 65>> "I used to work at the school," a <<person>> says. <<if $rng %2>> "I heard some disgusting rumours about that headteacher. <<print either("They can't be true. It's probably just students trying to make trouble.","No smoke without fire, I say.","Someone should look into that.")>>" <<else>> "You should see the disgusting things that history teacher keeps in <<nnpc_his "Winter">> cupboard. One time a student was left in a- well, let's just say that if people knew the truth, <<nnpc_he "Winter">> would probably be sitting here with us." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 60>> <<if $rng % 2>> "Security is tight," a <<person>> says. "No way you're sneaking past them. Not without a distraction." <<else>> "Sometimes they put me in a straightjacket," a <<person>> says. "I'm so powerless. They can do whatever they want to me." <br> <<He>> smiles. <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 55>> <<if $rng % 2>> "Last year the patients were campaigning for a video game system here," a <<person>> says. "<<print either("What's the point of that? Thankfully the doctors said no.","The doctors said it might be disruptive. But it's not like we've got anything better to do here.")>>" <<else>> "Sometimes," a <<person>> mutters as much to <<himself>> as you. "I just don't think the police in this town are really looking out for our best interests." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 50>> "You're not sick," a <<person>> whispers to you. "None of us are. They're sick. Them. <<if $rng % 2>> They tell us we're sick so they can test their drugs on us. And no one will stop them. It's big pharma. It goes all the way to the top." <<else>> They lock people like us up because we're sane. We're a challenge to their power." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 45>> <<if $rng % 2>> "Some of the crazies in here will tell you the staff are all lizard-people bent on world domination." The <<person>> shakes <<his>> head. "What rubbish. They're obviously aliens." <<else>> "Some of the nutcases around here will tell you the staff are all aliens preparing us to join a Galactic federation." The <<person>> rolls <<his>> eyes. "Nonsense: they're clearly lizard-people." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 40>> <<if $rng % 2>> "It's bad in here," a <<person>> says. "But it's worse out there." <<else>> <<generate2>><<generate3>> A <<person1>><<person>>, a <<person2>><<person>> and a <<person3>><<person>> plot their escape. <br><br> "How though?" the <<person>> asks. "How are you getting out?" <br> The <<person1>><<person>> looks wildly around the room. "With that thing!" <<He>> points at <<print either("the coffee vendor.","a mysterious machine.","the water fountain.","a heavy wooden desk.")>> "I'm gonna put that through the fuckin' window, that's how!" <br> "You're going to try to pick that up and throw it through the window?" <br> "Fuckin' right, I am!" the <<person>> says. <br> "By yourself?" the <<person2>><<person>> asks. "That?" <br> "Didn't I just say I would?" <br> "No way." <br> "Bollocks," the <<person3>><<person>> says. "I'll bet an oral fuck you can't do it!" <br> "What?" <br> "Yeah!" <br> "What?" <br> "Simple. If you do it I'll <<person1>><<if $NPCList[0].penis isnot "none">>suck you off<<else>>eat you out<</if>> right here," the <<person3>><<person>> says. "No questions. If not, you do the <<if $NPCList[0].pronoun is $NPCList[2].pronoun>>same<<else>>equivalent<</if>> for me." <br> "Okay," the <<person1>><<person>> says. "You're on." <br> "Me too," the <<person2>><<person>> says. "I want in on this!" <br> "More the fuckin' merrier," the <<person1>><<person>> says. "I hope you bitches are ready for a big hairy <<if $NPCList[0].penis isnot "none">>cock<<else>>cunt<</if>> in your face!" <br><br> A couple of nearby guards watch on with amusement. <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 35>> <<if $rng % 2>> "Hello there," a <<person>> says. "Listen: if you see a patient around here who sounds like they swallowed a dictionary and keeps warning you about things, I need you to punch them for me. I was in a terrible rush this morning and just didn't have the time." <<else>> "None of this <<print either("matters,","is real,","makes any difference,")>>" a <<person>> says. "We're all just <<print either("living in some future supercomputer's artificial reality","NPCs in someone else's game","characters in a book","ghosts who don't realise we've died","katra passing through the infinite cycle of death and rebirth")>> - but no one recognises the truth." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $o_long_and_beautiful gte 8 and $o_long_and_beautiful lte 9 and $hy_sibling and $hy_parent>> /* approx. 1/3 chance once right stage is reached. */ <<generate2>><<set $NPCList[0] to clone($hy_sibling)>><<set $NPCList[1] to clone($hy_parent)>><<person1>> Everyone seems phased out today. No one is talking. As you slump into a chair trying to figure out what to do next, a voice behind you starts singing an upbeat pop song from a year or so ago. <span class="teal">It sounds familiar.</span> You turn around to find a <<person>> smiling at you. <br><br> "I thought that was you," <<he>> says. <<if $hairlength gte 500>> "I knew I recognised that long, beautiful hair." <<else>> "Your hair was so long and beautiful. Why did you cut it?" <</if>> <br> After a moment, you place <<him>> as the shy <<person>> who braided your hair on Domus Street a while ago. You hear raised voices from somewhere nearby. <br> "So this is where you've been hiding away?" <<he>> says. <<if $chef_state gte 7 and ($chef_rework is undefined or $chef_rework is 0)>> <<if C.npc.Sam.gender === "m">>"That man,<<else>>"That lady,<</if>> Sam, the owner at Ocean Breeze, was offering the orphans money to find you. The customers are furious about the lack of cream buns. <<elseif $orphan_hope gte 25>> "Those orphans were looking for you. Making search parties along the beach. <<elseif $orphan_hope lte -10>> "I don't blame you. The orphans seem miserable these days. <<elseif C.npc.Kylar.love gte 30 and C.npc.Kylar.state is "active">> "That shy <<nnpc_gendery "Kylar">> you hang out with was skulking around the street looking for you. <<elseif $fame.exhibitionism gte 500>> "I think the town's pervs have missed you. Some creep in a car offered me money to strip! <<else>> I thought I hadn't seen you around lately. <</if>> So have you met my sister? She's here. Very slim, long hair. I told you about her. Attacked at that beach party. She's been here forever now. Her long hair used to be so beautiful but now no one-" <br> The voices behind raise sharply. A <<person2>><<person>> is arguing with one of the orderlies. <br><br> "That's <<if $NPCList[0].pronoun is "m">>Dad. He's<<else>>Mum. She's<</if>> telling them to take better care of my sister. She seems to be getting worse again. She blames herself now and thinks she was 'asking for it.' One of the doctors keeps telling her that too. Really upsets her. She doesn't talk to anyone now. Won't even see us anymore. And her hair is nasty now. They don't even brush it. I'd do it, but she won't see me. It's so-" <br><br> "We're leaving," a hand grabs the <<person1>><<persons>> shoulder. "These useless-" The <<person2>><<person>> trails off as <<he>> looks at you. "You? I remember you. With the long hair. You came knocking on our door looking for work. Helped out that time. So you're in here now?! I hope you're okay. And I hope these... people are treating you well. We have to leave now. Good day." <br> <<He>> drags the waving <<person1>><<person>> toward the exit. <br><br> As you watch them leave, you notice a slim girl with long, messy hair watching from the door of the one of the therapy rooms. With a loud buzz, the <<fullGroup>> are let out through a security door. When you look back to the therapy room, the long-haired girl is nowhere to be seen. <br><br> <span class="teal">Is that the sister?</span><<set $o_long_and_beautiful to 10>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 30>> <<if $rng % 2>> "Stay out of the empty parts of the building," a <<person>> says. "Someone went there once, and vanished." <<else>> A <<person>> looks you up and down. <br> "If anyone attacks you, just let me know." <<He>> smiles. "I like to watch." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 25>> <<if $chef_state gte 3>> <<if $chef_state gte 7 and $rng gte 27>> A <<person>> stares at you open mouthed. <br> "You're Sam's new chef from Ocean Breeze, aren't you?" <<he>> asks. "Oh my god, I can't believe you're here. I miss those buns! I don't suppose you could make some in here? Could you?!" <<lstress>><<stress -2>><<asylumstatus 2>><<gcool>> <<else>> "It's funny the things you miss in a place like this," a <<person>> tells you. "I miss the Ocean Breeze Cafe over on Cliff Street. Sam had just hired some new chef who was making the most incredible cream buns." <</if>> <<else>> "The one thing I miss," a <<person>> tells you. "Is sitting by the beach watching the swimmers. There's this cafe called the Ocean Breeze there. If you ever get the chance, go. They have delicious cream buns. Ask for Sam." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 20>> <<if $rng % 2>> "Don't tell anyone," a <<person>> confides. "But I'm not ill. Not really. I pretend to be because I like it here. It's nice. Crazy would be going back out there." <<else>> "I know everyone says this here," a <<person>> says. "But I'm actually not crazy. I'm <<print either("a Detective","a Detective Inspector","a Chief Inspector", "an Officer")>> with the police. Back in the Met I was a big deal. Cracked a few big cases. Newspapers and everything. Was transferred here to clean things up." <br> <<He>> laughs bitterly. <br> "Can you believe that? It's true. We heard rumours about this place. Nasty things. So I was sent here to be the big shining white knight, come to put away the bad guys. Instead they put me away. I have 'PTSD,' apparently." <br> <<He>> falls silent. <br><br> "Hey!" <<he>> says as you move to leave. "Do me a favour. If you get back out there: never trust the police in this town. There are some good apples, but most are in with the criminals - by the time you know for sure it'll be too late. Like it was for me. Some of the doctors are in on it too. People disappearing." <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 15>> <<if $rng % 2>> "The doctor never calls on me anymore," a <<person>> grumbles. "I haven't had a session in weeks. <<if $beauty gte ($beautymax / 3) * 2>> I'll never get better because the doctors are always busy with pretty little things like you." <<gstress>><<stress 1>> <<else>> We should complain! The doctors should help all of us, not just those attractive ones." <</if>> <<else>> "That young doctor smelled like cow manure the other afternoon," a <<person>> whispers. "Does <<nnpc_he "Harper">> live on a farm or something!?" <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 10>> <<if $rng % 2>>/*11 13*/ "The doctor makes me do such lewd things," a <<person>> says. "I used to hate it, but now I can't wait for the next treatment." <<else>> Everyone is busy with their own activities right now. <br><br> As you stand by a window, Dr Harper leads a naked <<personsimple>> into the recreation area. Completely nude, <<if $rng gte 14>>/*14*/ the <<person>> seems to believe <<he>> is a Doctor. Methodically, Harper leads <<him>> between different patients in the room asking for a medical opinion. The <<person>> refers to an imaginary clipboard as <<he>> pronounces <<if currentSkillValue('science') gte 500>> earnest but meaningless pseudo-medical 'diagnoses' for these patients. <<else>> a medical diagnosis for each patient. <</if>> <br> Whatever <<he>> says, Harper nods gravely and says, "I see. Thank you, Doctor." And leads <<him>> to another patient. <br><br> After the seventh or eighth patient, they leave together. <<else>>/*10 12*/ except for a collar connected to the lead in Harper's hand, the <<person1>><<person>> crawls on <<his>> hands and knees, seemingly believing <<he>> is a dog. As Harper leads <<him>> through the room <<he>> tries to crawl under tables and sniff patients' legs. <br><br> In the middle of the room, Harper unclips the lead from the <<persons>> collar, allowing <<him>> to roam while Harper stops to talk with one of the orderlies. As the doctor chats, the <<person>> crawls between patients, getting them to stroke <<his>> head, sniffing their groins, or rolling over so they can rub <<his>> tummy. <br> When <<he>> suddenly <<if $NPCList[0].penis isnot "none">>raises <<his>> leg to pee against<<else>>squats to pee by<</if>> a table, Harper lunges across and grabs <<his>> collar. "That's enough now." <br> Harper quickly leads <<him>> from the room. <</if>> <br><br> Many watch with amusement. Some with lust. A few with embarrassment. <br> Absolutely no one seems surprised. <</if>> <br><br> <<endevent>> <<asylumevents>> <<elseif $rng gte 5>> <<if $rng % 2>> "That Harper isn't a Doctor," a <<person>> mutters. "Not really. When I first came here Harper was a patient like the rest of us. But now suddenly Harper's our Doctor. THEY all play along, and everyone who might remember has conveniently forgotten. Or disappeared." <br> <<He>> looks sharply around. <<else>> A <<person>> is smiling at you. As you sit near <<him>> you notice one of <<his>> hands is under <<his>> clothes, rhythmically rubbing <<his>> <<if $NPCList[0].penis isnot "none">>dick<<else>>pussy<</if>>. <br><br> "Stay right there," <<he>> breathes. <<if $beauty gte ($beautymax / 3) * 2 and $rng % 3>>"Looking at you is helping a lot." <<elseif $player.perceived_breastsize gte 6>><<He>> stares at your <<breasts>> as <<his>> hand moves faster. <<elseif $physique gte ($physiquesize / 7) * 6>>"With those muscles you'd dominate me like the little <<if $NPCList[0].penis isnot "none">>bitch<<else>>whore<</if>> I am." <<elseif $purity lte 400 or $awareness gte 500>>"Talk dirty to me. You look like you've seen it all." <<elseif $beauty lte ($beautymax / 3)>>"Your ugly face'll help me last longer." <<else>>The movement gets faster. <</if>> <</if>> <br><br> <<endevent>> <<asylumevents>> <<else>> "They bind our arms so tight," a <<person>> says. <<if $rng % 2>> "Can't do much like that. Not even open our own cupboards." <<else>> "Can't even masturbate. Sometimes I have to call to the guards to scratch that itch." <</if>> <br><br> <<endevent>> <<asylumevents>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You think about the window above your room. Although the bars look unassuming, they're undoubtedly connected to an alarm system. <br><br> It seems that for this plan to work, you'll have to find and disable it. <br><br> <<link [[Next|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set _prop to either("english", "history", "science", "maths")>> <<set _colour to _prop is "science" ? "blue" : _prop is "history" ? "yellow" : _prop is "maths" ? "red" : "green">> <<wearProp "open textbook" _colour _prop>> <</if>> You read old text books in the dusty library. Most of this should still apply. <<if $leftarm is "bound" and $rightarm is "bound">> Your arms are bound, so <<if $asylumstatus gte 60>> a nearby patient helps you with turning pages. <<else>> you resort to flipping the pages with your nose. <</if>> <<elseif $asylumstatus gte 80>> Other patients greet you and make space for you at their table. <<elseif $asylumstatus gte 60>> Several nearby patients smile or nod in greeting. <</if>> <br><br> <<if isPregnancyEnding()>> <<pregnancyPassout "asylumLibrary">> <<else>> <<if $exposed is 2>> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism5>> <<elseif $exposed is 1>> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism3>> <<else>> <</if>> <<if $rng gte 81>> <<generateDoctor 1>><<person1>>A <<person>> dressed as an orderly stops beside you. "Would you like some assistance?" <<he>> asks. <br><br> <<link [[Accept|Asylum Study Help]]>><<schoolskill>><</link>><<gschool>> <br> <<link [[Refuse|Asylum]]>><<endevent>><</link>> <br> <<else>> <<asylumevents>> <</if>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You nod. The orderly pulls a chair close and sits down. <br><br> <<He>> helps you with the material. <<Hes>> quite knowledgeable. <br><br> <<link [[Thank|Asylum Study Thank]]>><<set $suspicion -= 1>><</link>><<lsuspicion>> <br> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<link [[Rest a hand on <<his>> thigh|Asylum Study Thigh]]>><<handheldon>><</link>><<promiscuous1>> <</if>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $speech_attitude is "meek">> "Thank you for the help," you say. "I couldn't have understood it without you." <<elseif $speech_attitude is "bratty">> "Thanks for the help," you say. <<else>> "Thanks," you say. "It's kind of you to help." <</if>> <br><br> The <<person>> smiles. "Anytime," <<he>> says. "I need to get back to work. You look after yourself." <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You rest a hand on <<his>> thigh as <<he>> explains something to you. <<His>> voice wavers. You ignore <<his>> glance in your direction. You keep your focus on the book in front of you, as if nothing were amiss. <<promiscuity1>> <<link [[Thank|Asylum Study Thank]]>><</link>> <br> <<if hasSexStat("promiscuity", 3)>> <<if $pronoun is "m">> <<link [[Open <<his>> fly|Asylum Study Hand]]>><<set $phase to 0>><</link>><<promiscuous3>> <br> <<else>> <<link [[Lift <<his>> skirt|Asylum Study Hand]]>><<set $phase to 1>><</link>><<promiscuous3>> <br> <</if>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<famesex 1>> <<if $phase is 0>> You unzip <<his>> fly. <<else>> You lift <<his>> skirt. <</if>> <<if $NPCList[0].penis isnot "none">> <<if random(0,1) is 1>><<bodyliquid "rightarm" "semen">><<else>><<bodyliquid "leftarm" "semen">><</if>> <<Hes>> already hard beneath. You run your fingers along <<his>> shaft, and feel <<him>> tremble under your touch. <<He>> shoots furtive glances around the library, but none of the patients or staff have noticed. <br><br> Your fingers reach <<his>> glans, and a moan escapes <<his>> lips. <<He>> presses a hand to <<his>> mouth. <<He>> doesn't last much longer before a wave of pleasure spasms through <<him>> and <<he>> erupts on your hand. <br><br> <<else>> <<if random(0,1) is 1>><<bodyliquid "rightarm" "goo">><<else>><<bodyliquid "leftarm" "goo">><</if>> <<Hes>> already wet beneath. You run your fingers along <<his>> slit, and feel <<him>> tremble under your touch. <<He>> shoots furtive glances around the library, but none of the patients or staff have noticed. <br><br> Your fingers reach <<his>> clit, and a moan escapes <<his>> lips. <<He>> presses a hand to <<his>> mouth. <<He>> doesn't last much longer before a wave of pleasure spasms through <<him>> and <<he>> cums on your hand. <br><br> <</if>> <<if $phase is 0>> You zip up <<his>> trousers and withdraw your hand. <<else>> You tug down <<his>> skirt and withdraw your hand. <</if>> <<if $speech_attitude is "meek">> "You've been kind to me," you whisper. "It's only fair I'm kind too." <<elseif $speech_attitude is "bratty">> "Thanks for the help," you whisper. <<else>> "You helped me," you whisper. "I hope that's thanks enough." <</if>> <br><br> <<He>> nods, still blushing. "I-I need to get back to work," <<he>> says, stumbling out of the room. <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You sit down and enjoy breakfast with the other patients. <<if $leftarm is "bound" and $rightarm is "bound">> Your arms are bound, so <<if $asylumstatus gte 66>> a nearby patient helps you to eat. <br> "We've got to look out for each other in here." <br> <<elseif $asylumstatus gte 33>> you find yourself pressing your face against your plate. <<else>> you find yourself pressing your face against your plate. A person nearby <<print either("grabs your head and pushes your face into your food.","mimics how you're eating while pulling dumb faces.","points at you and laughs.","makes a lewd comment about the way you're eating a sausage.")>> Many others laugh. <</if>> <</if>> The food is good, and leaves you feeling warm and happy. It's not just you. The other patients seem more social. <br><br> <<if isPregnancyEnding()>> <<pregnancyPassout "asylumCafe">> <<elseif $exposed is 2>> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism5>> <<elseif $exposed is 1>> Your <<lewdness>> on display makes you the centre of attention. <<exhibitionism3>> <<elseif $asylumstatus gte 80>> Other patients seem eager to chat with you. <<elseif $asylumstatus gte 60>> Several nearby patients talk with you over breakfast. <<elseif $asylumstatus gte 40>> The nearest patients begrudgingly talk with you. <<else>> However, anything you say is met with stony silence. <</if>> <br><br> <<asylumevents>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You approach the staff door with a keycard lock. <<if $asylumkeycard is 1>> <<if $leftarm is "bound" and $rightarm is "bound">> You have the keycard, but you can't use it with your arms bound. <<else>> <<wearProp "keycard" "silver">> You could open it with the keycard if you wanted. <</if>> <<else>> <<if $leftarm is "bound" and $rightarm is "bound">> With your arms bound, you couldn't reach it even if you had the keycard. <<else>> If you had the keycard you could open it. <</if>> <</if>> <br><br> <<if $asylumkeycard is 1>> <<if $leftarm is "bound" and $rightarm is "bound">> <<else>> <<icon "access_card.png">><<link [[Open|Asylum Open]]>><<handheldon>><</link>> <br> <</if>> <</if>> <<getouticon>><<link [[Back|Asylum]]>><<handheldon>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You open the door and peek through. <<if $asylumstate is "sleep">> The hallway beyond is dark and empty. You tiptoe through. <br><br> You explore the staff area of the asylum, dodging the occasional patrol. You come to a room filled with screens. Cameras showing the inside of each cell. A couple of patients are masturbating. <br><br> One screen reads "<span class="red">Aphrodisiac ministration active: 3%</span>" There are many unmarked buttons and dials beneath it. <br><br> <<link [[Try to turn it up (1:00)|Asylum Cameras]]>><<pass 60>><</link>> <<note "A higher science skill will make this more likely to succeed. Will trigger an escape sequence if successful." "italic">> <br> <<link [[Leave|Asylum]]>><</link>> <br> <<else>> The hallway beyond is busy with staff performing their duties. You'll be seen if you stay here. Perhaps it'll be deserted at night. <br><br> <<link [[Next|Asylum]]>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if random(1, 1000) lte (currentSkillValue('science') + 100)>> <<if currentSkillValue('science') gte 400>> You try to work out how to operate the machine. There's a logic to it, and through trial and error you discover how to turn up the aphrodisiac. Without warning, an alarm blares. The screen now reads "<span class="red">WARNING Aphrodisiac ministration active: 2000%</span>" You hear shouting. <br><br> <<else>> You try to work out how to operate the machine. You resort to pushing buttons and turning dials at random. Without warning, an alarm blares. The screen now reads "<span class="red">WARNING Aphrodisiac ministration active: 2000%</span>" You hear shouting. <br><br> <</if>> <<link [[Next|Asylum Escape]]>><</link>> <br> <<else>> You try to work out how to operate the machine, but it doesn't respond to anything. <br><br> <<if $asylumstate is "sleep">> <<link [[Try again (1:00)|Asylum Cameras]]>><<pass 60>><</link>> <br> <<link [[Stop|Asylum]]>><</link>> <br> <<else>> You hear voices outside the room. They pass by, but you'll be discovered soon if you stay. You sneak out. <br><br> <<link [[Next|Asylum]]>><</link>> <br> <</if>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You return to the patient's area, taking cover in alcoves whenever frantic security run by. You arrive, and behold a scene of chaos. Cell doors stand open, their occupants loose. Some members of security have already fallen, their uniforms stripped. Several patients assault each one. Their colleagues try to rescue them, but their batons are no match for the patient's numbers and lust. Many of the patients satisfy themselves with the fallen security personnel, but others fuck each other on tables, chairs or just the floor. <br><br> You look out the window. The towers are unmanned and the patrols missing as all hands arrive to contain the threat. Doctor Harper enters from a door opposite, surrounded by security. Now's your chance. <br><br> You run through the front door unobstructed, and across the grounds. You climb the fence and escape into the forest. <br><br> <<endevent>> <<asylumescape>> <<badEndTrackingEnd "Asylum" { reason: "asylumSabotage" }>> <<link [[Next|Forest]]>><<set $forest to 100>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You squeeze beneath a chair in the recreation room and wait. The lights turn off, leaving you alone in the dark. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $rng gte 71>> Harper leads you and the other patients indoors, to the showers. "The water should be on," <<he>> says. "Hygiene is important. I want to see everyone wash." <br><br> <<He>> rests a hand on your shoulder as the other patients strip. "As I said, hygiene is important. You wouldn't mind if I take care to personally ensure yours is up to standard?" <br><br> <<link [[Accept|Asylum Shower Accept]]>><<strip>><<wash>><<stress 6>><<arousal 1800>><<set $suspicion -= 1>><<npcincr Harper love 1>><</link>><<exhibitionist1>><<gstress>><<garousal>><<lsuspicion>> <br> <<link [[Refuse|Asylum Shower Refuse]]>><<set $suspicion += 1>><<npcincr Harper love -1>><</link>><<gsuspicion>> <br> <<else>> Harper leads you and the other patients indoors, to the showers. "The water should be on," <<he>> says. "Hygiene is important. I want to see everyone wash." <br><br> Most of the patients are used to this, and strip without a problem. Some hesitate. Harper sends the orderlies to help them out of their clothes. <br><br> <<link [[Strip and find somewhere secluded|Asylum Shower Secluded]]>><<strip>><<wash>><</link>><<exhibitionist1>> <br> <<if hasSexStat("exhibitionism", 2)>> <<link [[Strip and wash around others|Asylum Shower Wash]]>><<strip>><<wash>><</link>><<exhibitionist2>> <br> <</if>> <<link [[Sneak away|Asylum]]>><<endevent>><<suspicion 5>><</link>><<ggsuspicion>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You shake your head. Harper frowns, but doesn't pressure you. <<He>> notices some of the other patients hesitate to undress. <<He>> sends the orderlies to help them out of their clothes. <br><br> <<link [[Strip and find somewhere secluded|Asylum Shower Secluded]]>><<strip>><<wash>><</link>><<exhibitionist1>> <br> <<if hasSexStat("exhibitionism", 2)>> <<link [[Strip and wash around others|Asylum Shower Wash]]>><<strip>><<wash>><</link>><<exhibitionist2>> <br> <</if>> <<link [[Sneak away|Asylum]]>><<endevent>><<suspicion 5>><</link>><<ggsuspicion>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You nod. Harper smiles and begins to disrobe you. <<His>> movements are clinical. <<covered>> <<He>> folds your clothes in a neat pile and picks up a sponge as you step under the shower. <<exhibitionism1>> You stand still as <<he>> scrubs your body from top to bottom, focusing first on your neck, arms, torso, stomach, back, legs, then up to your butt. <<He>> scrubs more softly. You try to breathe normally. <br><br> <<He>> presses the sponge against your <<genitals>>. You stifle a yelp. <<He>> stands right behind you, making sure no one else can see what is happening. Using the sponge <<he>> strokes and massages you, sending waves of pleasure up your spine. <br><br> In a moment of weakness you release a sensual sigh. <<He>> places two fingers over your mouth, signalling that you need to keep quiet. <br><br> <<if $arousal gte $arousalmax>> <<orgasm>> You arch your back in <<his>> grip, stifling a moan as <<he>> continues to gently massage you mid-orgasm. <br><br> <</if>> By the time <<he>> stops, your legs feel weak. <<He>> pecks you on the cheek as the bathing session comes to a close. <br><br> <<link [[Next|Asylum]]>><<clotheson>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You strip slowly, just fast enough to keep the orderlies at bay. By the time your <<lewdness>> is exposed the other patients are already in the showers proper. You follow after them, but find somewhere secluded where you won't be watched. You wash quickly, and get dressed before the other patients finish. <<exhibitionism1>> <<endevent>> <<link [[Next|Asylum]]>><<clotheson>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<generate2>><<generate3>> <<if $o_long_and_beautiful gte 1 and $o_long_and_beautiful lte 7 and $rng % 3 == 0>><<set $o_long_and_beautiful += 1>> As you strip, two orderlies, a <<person2>><<person>> and a <<person3>><<person>> march toward a slender girl with long, messy, matted hair sat near you. <br> "Strip," the <<person>> barks. "Now." <br> She doesn't move. The <<person2>><<person>> grabs her shoulder and yanks at her top, at which the girl abruptly screeches and claws at the <<persons>> face. The <<person3>><<person>> quickly grabs the girl's hair, firmly yanks back her head and drags her back to the floor. The long-haired girl goes down hard, but then flails frantically on the ground, screeching and clawing in every direction as they struggle to pin her down. <br> You glance at Doctor Harper who is looking anywhere but here right now. <br> With the girl pinned, the orderlies start to remove her clothes. Just as abruptly the girl falls silent. Looking down at her, her body has gone limp, tears stream from her eyes as they strip her. <br> Dr Harper is still studiously looking elsewhere. <br> "Why do you make us do this every time," the <<person2>><<person>> spits as <<he>> removes the last of the girl's underwear. "You think we get off on this?" <br> "And wash your damn hair," the <<person3>><<person>> adds. They shake their heads. <br> The girl lies completely nude and completely unmoving, tears streaming from empty, vacant eyes. <br><br> "What are you looking at?" the <<person2>><<person>> glares at you. "Do YOU need our help as well?" <br> <<if $speech_attitude is "meek">> "Sorry," you say, quickly stripping. You run to Harper. "Doctor, is- is it okay if I stay to help that girl. I- I think I know her." <br> Harper looks confused at you for a moment. "Yes. Yes, okay. Just make sure you don't miss your wash. Hygiene is important." <<elseif $speech_attitude is "bratty">> "DOCTOR Harper," you shout. Harper turns. "I think your two geniuses here <<if currentSkillValue('science') gte 600>> can't recognise a post-traumatic trigger reaction. <<else>> are just making things worse. <</if>> Can I stay here and look after my friend?" <br> Harper looks confused at you for a moment. "Yes. Yes, okay. Just make sure neither of you miss your wash. Hygiene is important." <<else>> You quickly finish stripping and jog across to Harper. <br> "Doctor, please. Look at that girl. <<if currentSkillValue('science') gte 600>>That looks like a post-traumatic trigger reaction and <</if>>I think those two are just making things worse. Is it okay if I stay back to help her. I- I think I kind of know her." <br> Harper looks curious for a moment. "Yes. Yes, okay. Just make sure you don't miss your wash. Hygiene is important." <</if>> <br> Harper signals for the orderlies to leave you alone. <<exhibitionism2>> <<endevent>> <<link [[Next|Asylum Shower Wash Hair]]>><</link>> <<else>> You strip and enter the showers proper. You stand in the middle of a large room and wash alongside the other patients. You notice a <<person2>><<person>> and <<person3>><<person>> checking you out, but most don't pay you any attention. You head back to your clothes, dry yourself and get dressed. <<exhibitionism2>> <<endevent>> <<link [[Next|Asylum]]>><<clotheson>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<pass 25>> Completely naked, you sit for a time with the slim, long haired girl. You don't touch her, you just keep quietly talking to her. <<if currentSkillValue('english') gte 500>> After a time, you notice her looking at you. Your eloquence seems to be getting through. <<if $o_long_and_beautiful lt 9>> <<set $o_long_and_beautiful += 1>> <</if>> <<else>> After a time, she seems to come round. <</if>> <br><br> Finally, she whispers: "Okay." Together you head to the shower and wash. It is just you two, everyone else finished some time ago. The long-haired girl <<if $o_long_and_beautiful gte 6>> talks to you a little about her life in the asylum as she washes. <<elseif $o_long_and_beautiful gte 4>> washes properly. A few times you think she might be smiling at you. <<else>> no longer seems to notice you as she quickly washes. <</if>> You head back to your clothes, dry yourself and get dressed. <br><br> <<link [[Next|Asylum]]>><<clotheson>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Asylum Harper Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Harper Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $enemyhealth lte 0>> You push <<him>> away from you. <<He>> looks angry, but soon regains <<his>> composure. "You still have some issues with anger management," <<he>> says. "But that's not why you were here. I'd like to keep seeing you on Fridays, at the hospital. There's a vehicle waiting to take you back to town. Be well." <br><br> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> lies on top of you for a moment, breathing deeply. <<He>> steps away and fixes <<his>> clothing. "T-there's a vehicle waiting to take you back to town. I'd like to keep seeing you on Fridays, at the hospital. Be well." <<else>> <<He>> looks angry, but soon regains <<his>> composure. "If only I could keep you until I finished the treatment," <<he>> sighs. "There's a vehicle waiting to take you back to town. I'd like to keep seeing you on Fridays, at the hospital. Be well." <</if>> <br><br> <<clothesontowel>> <<endcombat>> <<if $suspicion gte 80>> A group of orderlies lead you away from Harper's office, through the main area of the asylum. <<elseif $suspicion gte 20>> A pair of orderlies lead you away from Harper's office, through the main area of the asylum. <<else>> A nurse leads you away from Harper's office, through the main area of the asylum. <</if>> <<if $asylumstatus gte 80>> The other patients wave you goodbye. <<elseif $asylumstatus gte 20>> The other patients ignore you. <<else>> The other patients sneer at you. <</if>> You go through a staff door, then through a larger double door and into a waiting car. <br><br> The car starts, and drives through the iron gates into the forest. It's a dark, overgrown road. You don't move very fast. The driver says nothing. <br><br> <<pass 60>> You emerge from the wood far from town, but the road curves north through moor and farmland. You soon arrive back at civilisation. The bustle of Harvest Street greets you. You continue until the orphanage comes into view. <br><br> <<asylumend>> <<endevent>> <<link [[Next|Asylum Return]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You shove the doctor away from you. <<He>> looks angry, but soon regains <<his>> composure. "You still have some issues with anger management," <<he>> says. "But that's not why you were here. I'd like to keep seeing you on Fridays, at the hospital. There's a vehicle waiting to take you back to town. Be well." <br><br> <<if $suspicion gte 80>> A group of orderlies lead you away from Harper's office, through the main area of the asylum. <<elseif $suspicion gte 20>> A pair of orderlies lead you away from Harper's office, through the main area of the asylum. <<else>> A nurse leads you away from Harper's office, through the main area of the asylum. <</if>> <<if $asylumstatus gte 80>> The other patients wave you goodbye. <<elseif $asylumstatus gte 20>> The other patients ignore you. <<else>> The other patients sneer at you. <</if>> You go through a double door and into a waiting car. <br><br> The car starts, and drives through the iron gates into the forest. It's a dark, overgrown road. You don't move very fast. The driver says nothing. <br><br> <<pass 60>> You emerge from the wood far from town, but the road curves north through moor and farmland. You soon arrive at civilisation. The bustle of Harvest Street greets you. You continue until the orphanage comes into view. <br><br> <<asylumend>> <<endevent>> <<link [[Next|Asylum Return]]>><</link>><<set $outside to 0>><<set $location to "home">><<effects>> <<if C.npc.Robin.init is 1 and $robinmissing is 0>> <<if C.npc.Robin.trauma gte 80>> You enter the orphanage and head to your room. You don't meet anyone. There's a small cake sat on the windowsill with a note attached. <br><br> "Welcome home! <br> - Robin" <br><br> <<elseif C.npc.Robin.trauma gte 20>> You enter the orphanage and head to your room. You find <<npc Robin>><<person1>>Robin waiting. <<He>> jumps to <<his>> feet and hugs you. "Bailey said the hospital phoned," <<he>> says. "They told us you were coming back." <<He>> pulls away and smiles. "They wouldn't let me visit. I got you something." <<He>> drops to <<his>> knees and pulls something out from under your bed. It's a small cake. <br><br> "I had to hide it." <<He>> hugs you again. "Welcome home. I missed you." <br><br> You chat with <<him>> a while. <<He>> asks about where you stayed. What your room was like, if the food was good, if the people were nice. You're not sure how much to tell <<him>>. "I need to go," <<he>> says after a while. "Bailey gave me chores." <<He>> waves goodbye as <<he>> leaves. <<ltrauma>><<lstress>><<trauma -12>><<stress -12>> <br><br> <<else>> A face appears in a window as you approach the orphanage. It's Robin. <<npc Robin>><<person1>><<He>> runs at you once you're inside, and almost knocks you over with <<his>> hug. "Bailey said the hospital phoned," <<he>> says. "They told us you were coming back." <<He>> pulls away and smiles. "They wouldn't let me visit. I got you something. Come with me." <<He>> takes your hand and tugs you after <<him>>. <br><br> <<He>> drops to <<his>> knees once in your room, and pulls something out from under your bed. It's a small cake. "I had to hide it." <<He>> hugs you again. "Welcome home. I missed you." <br><br> You chat with <<him>> a while. <<He>> asks about where you stayed. What your room was like, if the food was good, if the people were nice. You're not sure how much to tell <<him>>. "I need to go," <<he>> says after a while. "Bailey gave me chores." <<He>> waves goodbye as <<he>> leaves. <<ltrauma>><<lstress>><<trauma -12>><<stress -12>> <br><br> <</if>> <<else>> You enter the orphanage and head to your room. You don't meet anyone. <br><br> <</if>> <<badEndTrackingEnd "Asylum" { reason: "asylumDischarged" }>> <<endevent>> <<link [[Next|Bedroom]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You point at the <<persons>> hiding place. The <<person2>><<person>> crouches beside it and reaches in, pulling the struggling <<person1>><<person>> out by the arm. "Doctor Harper said you need to stay," <<person2>><<he>><<person1>> says as <<he>> drags <<him>> away. "It's for your own good." <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> The <<person2>><<person>> frowns at you, but doesn't push the matter. Once gone, the <<person1>><<person>> emerges and gives you a thankful bow. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You pull the <<person1>><<persons>> arm away from the <<person2>><<person>>. They both look shocked. "Don't touch me," the <<person1>><<person>> says. "Just who do you think you are?" The <<person2>><<person>> gives you a grateful smile. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You smile back at the <<person>>. <<He>> walks over and you have a pleasant chat. <<promiscuity1>> <<link [[Say goodbye|Asylum]]>><<endevent>><</link>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Asylum Seduce]]>><</link>><<promiscuous2>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<set $seductiondifficulty to 6000>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> You lean closer to the <<person>>. "There are a lot of quiet places here," you whisper. "Who knows what one could get up to." <<promiscuity2>> <<if $seductionrating gte $seductionrequired>> <<He>> glances around, and takes you by the hand. <<He>> leads you to an empty room, then turns and embraces you. <br><br> <<link [[Next|Asylum Sex]]>><<set $sexstart to 1>><</link>> <br> <<else>> "I-It was nice meeting you," <<he>> says. <<He>> walks away. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Asylum Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "asylum">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "The doctor told me to be more accepting of advances," <<he>> says. "I've been missing out." <br><br> <<He>> kisses your cheek and departs. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> You shove the <<person>> away from you and escape into the hallway. <br><br> <<clotheson>> <<endcombat>> <<elseif $finish is 1>> "The doctor told me to be more accepting of advances," <<he>> says. "I've been missing out." <br><br> <<He>> kisses your cheek and departs. <br><br> <<clotheson>> <<endcombat>> <</if>> <<link [[Next|Asylum]]>><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Asylum Cell Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Cell Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Don't go whining to no one," the <<person1>><<person>> says. "Not that they'll believe you." The pair laugh as the cell door locks with a click. <<tearful>> you lie back on the bed. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Asylum Cell]]>><</link>> <<else>> The <<group>> recoil in pain. "Come on," the <<person2>><<person>> says. "There are easier <<girls>> than this." The cell door locks with a click. <<tearful>> you lie back on the bed. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Asylum Cell]]>><</link>> <</if>><<effects>> <<if $speech_attitude is "meek">> "O-Okay," you say. "You can show me." <<elseif $speech_attitude is "bratty">> "Sure," you say. "I'll take a look." <<else>> "Okay," you say. "You can show me." <</if>> <br><br> The <<person>> hesitates, then unfolds <<his>> gown, revealing <<his>> <<if $pronoun is "m">> <<if $NPCList[0].penis isnot "none">> <<print $NPCList[0].penisdesc>>. <<else>> pussy. <</if>> <<else>> <<if $NPCList[0].penis isnot "none">> <<print $NPCList[0].breastsdesc>> and <<print $NPCList[0].penisdesc>>. <<else>> <<print $NPCList[0].breastsdesc>>. <</if>> <</if>> <<He>> shuts <<his>> eyes and stands there, hands clutching <<his>> sides. <<He>> counts under <<his>> breath. <br><br> With a sigh, <<he>> bends over and retrieves <<his>> gown, wrapping it around <<him>> with haste. "Th-thank you," <<he>> says before hurrying away. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<effects>> You shake your head. The <<person>> looks relieved for a moment, but <<his>> ordeal isn't over. <<He>> leaves to find someone else to offer <<himself>> to. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "O-Okay," you say, loud enough for the staff to hear. "You can show me." <<elseif $speech_attitude is "bratty">> "Sure," you say, loud enough for the staff to hear. "I'll take a look." <<else>> "Okay," you say, loud enough for the staff to hear. "You can show me." <</if>> You close your eyes. <br><br> You hear the shuffle of the <<persons>> gown fall to the floor. <<He>> starts counting under <<his>> breath. <<He>> reaches ten, then you hear another shuffle. <br><br> "Thank you!" <<he>> says. You open your eyes. The <<person>> smiles, looking relieved. "Thank you." <<He>> hurries away. <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "O-Okay," you say. "You can show me." <<elseif $speech_attitude is "bratty">> "Sure," you say. "I'll take a look." <<else>> "Okay," you say. "You can show me." <</if>> You pretend to close your eyes, though you really keep them a little open. Enough to see. <br><br> The <<person>> hesitates, then unfolds <<his>> gown, revealing <<his>> <<if $pronoun is "m">> <<if $NPCList[0].penis isnot "none">> <<print $NPCList[0].penisdesc>>. <<else>> pussy. <</if>> <<else>> <<if $NPCList[0].penis isnot "none">> <<print $NPCList[0].breastsdesc>> and <<print $NPCList[0].penisdesc>>. <<else>> <<print $NPCList[0].breastsdesc>>. <</if>> <</if>> <<He>> shuts <<his>> eyes and stands there, hands clutching <<his>> sides. <<He>> counts under <<his>> breath. <br><br> With a sigh, <<he>> bends over and retrieves <<his>> gown, wrapping it around <<him>> with haste. "Thank you!" <<he>> says. You pretend to open your eyes. The <<person>> smiles, looking relieved. "Thank you." <<He>> hurries away. <br><br> <<link [[Next|Asylum]]>><<endevent>><</link>> <br><<set $outside to 1>> <<effects>> Each patient is given a bed of soil to work as they please. Many are untended, but some hold small, beautiful displays. <br><br> <<plot_effects>> <<if $asylum_plot_intro is 1>><<unset $asylum_plot_intro>> <<plots_init asylum 1 earth 3 small>> <</if>> <<display_plot asylum>> <<if !$plants_known.includes("poppy")>> <<icon "tending/poppy.png">> <<link [[Search for seeds (0:30)|Asylum Garden Seeds]]>><<set $plants_known.push("poppy")>><<pass 30>><</link>> <br> <<elseif $rng % 4 == 0 and $o_long_and_beautiful gte 1 and $o_long_and_beautiful lte 7>>/*1 in 4 chance if in right stage*/ <<if $o_long_and_beautiful lt 9>><<set $o_long_and_beautiful += 1>><</if>> <br> A girl with long, messy, matted hair seems to be watching from a plot nearby. <<if currentSkillValue('tending') gte 600>>She might be impressed by your tending skills. It's hard to tell.<<if $o_long_and_beautiful lt 9>><<set $o_long_and_beautiful += 1>><</if>><</if>> <</if>> <br> <<getouticon>><<link [[Leave|Asylum]]>><<handheldon>><</link>> <br> <<unset $event_trigger>><<effects>> Much of grounds are untended, with wild poppies growing from the exterior fence all the way up to the building. You gather some seeds. <br><br> <span class="gold">You can now grow <<icon "tending/poppy.png">> poppies.</span> <br><br> <<link [[Next|Asylum Garden]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<set $phase to 0>> You agree to go with them. The pair lead you to a door marked 'staff only,' where more orderlies are waiting. <br> They open the door, leading you into a bright but empty cell. A large mirror covers one wall. <br><br> <<link [[Next|Asylum Fake Treatment]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<set $phase to 1>> You refuse to go with them, and start to walk away. <<if $physiqueSuccess>> The <<person2>><<person>> tries to grab you, <span class="green">but you shove <<him>> away and escape into the midst of a group of patients.</span> <br><br> The orderlies don't seem ready to make a scene in front of the other <<if $asylumstatus gte 20>> <<if $asylumstatus gte 75>> patients, and the other patients gather around you to form a protective shield.<<suspicion 2>> The orderlies <<else>> patients. They <<suspicion 1>> <</if>> scowl and walk away.<<gsuspicion>> <br><br> <<link [[Next|Asylum]]>><</link>> <<else>> patients, but then <span class="red">all the other patients move away from you.</span> <<if $speech_attitude is "bratty">> As you try to move with the crowd, another patient trips you and leaves you sprawled on the floor. <</if>> The <<person2>><<person>> and the <<person1>><<person>> grab you and together lead you to a door marked 'staff only' where more orderlies wait. <br> They open the door, leading you into a bright but empty cell. A large mirror covers one wall. <br><br> <<link [[Next|Asylum Fake Treatment]]>><</link>> <</if>> <br> <<elseif $asylumstatus gte 75>> <span class="red">The <<person2>><<person>> grabs you and tackles you to the floor.</span> The <<person>> is grappling you into an armlock, when, <span class="green">with a yell, <<he>> is lifted into the air and hurled across the room.</span> You see the <<person1>><<person>> also backing away as a number of patients gather around you. <br> After a moment, the <<person>> scowls at you and walks away. <<suspicion 2>><<gsuspicion>> <br><br> The other patients nod, smile and pat your on the shoulder as they go back to what they were doing. <br><br> <<link [[Next|Asylum]]>><</link>> <br> <<else>> <span class="red">The <<person2>><<person>> grabs you and tackles you to the floor.</span> Before you can recover <<he>> has you painfully armlocked, and together they lead you to a door marked 'staff only' where more orderlies are waiting.<<gpain>><<pain 2>> <br> They open the door, leading you into a bright but empty cell. A large mirror covers one wall. <br><br> <<link [[Next|Asylum Fake Treatment]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "Doctor Harper's behind that one-way mirror," the <<person1>><<person>> says, pointing at the mirror. "Observing and taking complete notes of everything that happens here. Doctor Harper stressed that this is an important part of your assessment so you need to be on your best behaviour. <<if $phase is 1>>Especially after the way you behaved just now.<</if>> Understood?" <br> <<if $speech_attitude is "meek">> "Yes, <<sir>>," you say. "I understand." <<elseif $speech_attitude is "bratty">> You glare at them, saying nothing. <<else>> You nod. <</if>> <br><br> <<set $ft_count to 5>> <<if $rng gte 66 and $lactating gte 1 and $breastfeedingdisable is "f" and $milk_amount gte 500>> <<set $ft_event to "milk">><<person2>> <<if $worn.upper.name isnot "straightjacket">> <<bind>><<upperwear 35>> The <<person>> puts a medical straightjacket on you, binding your arms. <</if>> <br><br> You are led to the wall opposite the mirror - you notice a number of steel chain-links embedded in the wall at different heights. The <<person1>><<person>> turns you around so you are facing into the room. A large number of orderlies have gathered near the door. The <<person>> pushes you back against the wall, while the <<person2>><<person>> clips the back of your straightjacket to the links on the wall - once at the waist and once at the neck - locking you standing in place. The <<person>> unfastens something at the side of your straightjacket, and the <<person1>><<person>> pulls at the front. A section comes away, leaving your arms bound but your <<if !$worn.under_upper.type.includes("naked")>> <<undertop>> exposed. The <<person>> grabs your $worn.under_upper.name and pulls it up, fully exposing your <<breasts>>. <<else>> <<breasts>> fully exposed. <</if>> <<He>> gives one of your breasts a squeeze and a jet of milk squirts out. <br><br> "A number of our patients suffer from eating disorders," the <<person>> says. "As part of their treatment, and yours, in a few moments, they will be led into this room and will drink from you. Doctor Harper says it's very important for you to relax and think about how you are helping to nourish and sustain others. This hood will hide your face to protect your dignity." <br><br> The hood is placed over your head, plunging you into darkness. <br> Almost immediately, lips clamp around your <<nipples>>. <br><br> <<link [[Next|Asylum Fake Treatment Milked]]>><<set $ft_count to 8>><</link>> <<elseif $rng gte 33 and !playerChastity()>> <<set $ft_event to "masturbation">> The <<person2>><<person>> <<if $worn.upper.name isnot "straightjacket">> <<bind>><<upperwear 35>> puts a medical straightjacket on you that binds your arms, <<else>> checks your straightjacket, <</if>> <<if $worn.under_lower.type.includes("naked") and $worn.genitals.type.includes("naked")>> and <<else>> <<if !$worn.under_lower.type.includes("naked")>> <<set _undies to $worn.under_lower.name>> <<elseif !$worn.genitals.type.includes("naked")>> <<set _undies to $worn.genitals.name>> <</if>> <<underlowerstrip>>removes your _undies, and <</if>> leads you in front of the mirror. A chair is placed behind you. <br> "Have a seat," the <<person1>><<person>> says as hands pull you down. The <<person2>><<person>> attaches your straightjacket to the chair as the <<person1>><<person>> ties your calves and ankles to the chair legs, forcing your knees apart. <br><br> <<generate3>><<generate4>><<generate5>> <<if $o_long_and_beautiful gte 1 and $o_long_and_beautiful lte 7>><<set $o_long_and_beautiful += 1>> /*Modifies person 4 enough */ <<set $NPCList[3].description to "long-haired">><<set $NPCList[3].adult to 0>><<set $NPCList[3].gender = "f">><<set $NPCList[3].pronoun = "f">> <</if>> A moment later a <<person4>><<person>> is led in and set up similarly beside you. Finally, a <<person5>><<person>> is set up similarly beside <<person4>><<him>>. <br><br> <<person1>>"This is a trust exercise. Despite your obvious vulnerability, you need to learn that the world doesn't want to hurt you. Mostly it just wants to make you feel good. All of you believe you are victims. Instead you need to learn to accept approaches as... opportunities." <br> The <<person4>><<person>> next to you struggles against <<his>> bindings. <br> A <<person3>><<person>> walks behind the chair-bound <<person5>><<person>>. The <<person2>><<person>> moves behind the chair-bound <<person4>><<person>> next to you. Finally the <<person1>><<person>> moves behind you. <br><br> "Begin." <br><br> <<link [[Next|Asylum Fake Treatment Masturbation]]>><<set $ft_count to 20>><<set $ft_five to random(11,15)>><<set $ft_four to random(5,10)>><</link>> <<else>> <<set $ft_event to "bukkake">> <<if $worn.upper.name isnot "straightjacket">> <<bind>><<upperwear 35>> The <<person>> puts a medical straightjacket on you, binding your arms. <</if>> You are led to the wall opposite the mirror - you notice a number of steel chain-links embedded in the wall at different heights. The <<person>> turns you around so you are facing into the room. A large number of orderlies have gathered near the door. The <<person>> pushes you down to a kneeling position, backed against the wall, while the <<person2>><<person>> clips the back of your straightjacket to the links on the wall and binds your feet, fixing you in place. <br><br> "The doctors believe an irrational phobia of sexual fluids is driving your condition," the <<person1>><<person>> tells you. "Our staff have kindly agreed to help with an exposure therapy approach." <br> <<if maleChance() gte 1 and $cbchance lt 100 or maleChance() lt 100 and $dgchance gte 1>> Glancing back you see a number of the orderlies already have their dicks out. <</if>> <br><br> The <<person>> <<if $NPCList[0].penis isnot "none">>unzips and pulls out <<his>> erect cock,<<else>>pulls down <<his>> orderly uniform, exposing <<his>> already wet pussy,<</if>> "Let's begin." <br><br> <<link [[Next|Asylum Fake Treatment Bukkake]]>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<pass 5>> <<set _they_drink to either("Anonymous mouths continue to hungrily suck milk from you.","Hungry mouths lap at your nipples.","Mouths suck and massage milk from your teats.","Mouths clamp to your breasts as unseen people drink from you.","They suck milk from you insatiably.")>> <<if $ft_count is 8>> They drink thirstily from your breasts. After a time, the mouth on the <<print either("left","right")>> finishes and leaves. Another mouth quickly replaces them. A minute or so later, this happens on the other side. <<garousal>><<arousal 200 "breasts">> <<if $arousal gte $arousalmax>> <<orgasm>> <</if>> <br><br> <<milk_amount -200>> <<link [[Next|Asylum Fake Treatment Milked]]>><<set $ft_count -= 1>><</link>> <<elseif $ft_count gte 1>> <<if $milk_amount gte 300>> _they_drink <<garousal>><<arousal 250 "breasts">> <<set _rand to random(1,10)>> <br> <<if _rand is 1>> An anonymous hand <<print either("gently","roughly","rhythmically","persistently","sensuously")>> <<print either("fondles","rubs","teases")>> your <<genitals>>. <<garousal>><<arousal 200 "genitals">> <<elseif _rand is 2>> One of them bites your <<nipple>>. <<ggpain>><<pain 8>> <<elseif _rand is 3>> A tongue playfully circles and teases your <<nipple>> between sucks. <<ggarousal>><<arousal 400 "breasts">> <<elseif _rand is 4>> Someone flicks your <<nipple>>. <<gpain>><<pain 3>> <<elseif _rand is 5>> The people to your left and right seem to be working together as their mouths suck and squeeze your <<nipples>> in perfect rhythm. <<ggarousal>><<arousal 400 "breasts">> <<elseif _rand is 6>> One mouth barely drinks, preferring to blow and then lick at your <<nipple>>. <<ggarousal>><<arousal 500 "breasts">> <<elseif _rand is 7>> A hand painfully slaps your breast. <<ggpain>><<pain 8>> <br> "Hey! Take it easy," a voice says. <br> "Sorry." <br> <<elseif _rand is 8>> <<set _random_milk to random(50, 100)>> As one sucks, they squeeze your <<breasts>> with their hands to force out more milk.<<milk_amount `-_random_milk`>> <</if>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> Mouths clamp to your <<nipples>>, sucking hard as you cum. <</if>> <br> <<set _random_milk to random(200,300)>> <<link [[Next|Asylum Fake Treatment Milked]]>><<milk_amount `-_random_milk`>><<set $ft_count -= 1>><</link>> <<elseif $milk_amount gte 50>> As yet another greedy mouth tries to <<print either("suck","suck and squeeze")>> the milk from your breasts you start to run dry. Soon you are getting close to dry on both sides. Hands and mouths work harder to squeeze and suck milk from you. <<ggarousal>><<arousal 400 "breasts">><<gpain>><<pain 3>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <</if>> <br><br> <<set _random_milk to random(200,300)>> <<link [[Next|Asylum Fake Treatment Milked]]>><<milk_amount `-_random_milk`>><<set $ft_count -= 1>><</link>> <<else>> Even though you are nearly dry, thirsty mouths insistently <<print either("suck at","pull at","try to suck milk from")>> your <<breasts>>. Your nipples feel sore and tender as they suck the last of the milk from you. <<ggarousal>><<arousal 500 "breasts">><<gpain>><<pain 8>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <</if>> <br><br> <<link [[Next|Asylum Fake Treatment Milked]]>><<set $milk_amount to 0>><<set $ft_count to 0>><</link>> <</if>> <<else>> <<if $milk_amount gt 0>>Finally one mouth leaves and none replace it. The mouth on the other side drinks for another minute or so, before also leaving. <<ggarousal>><<arousal 400 "breasts">> <<else>> No more come to you. <</if>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <<elseif $arousal gte ($arousalmax / 5) * 4>> Your bare nipples tingle in the air. <br> <<if $speech_attitude is "meek">> "More," you whimper. "Please, more." <br> <</if>> <</if>> Your breasts feel a lot lighter. <<gtrauma>><<trauma 6>><<llstress>><<stress -18>> <br><br> "Uhm... okay," the <<person>> says loudly. "Get these patients out." <br> The door opens and <<if currentSkillValue('science') gte 600 or currentSkillValue('skulduggery') gte 600>>closes suspiciously quickly.<<else>>closes.<</if>> <br><br> The hood lifts off your head and the straightjacket is closed to cover your <<breasts>>. As the <<person2>><<person>> releases you from the wall, the <<person1>><<person>> talks to you. <br><br> <<link [[Next|Asylum Fake Treatment Finish]]>><<unset $ft_count>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<pass 5>> <<set _respond to either("grunt","gasp","groan","inhale sharply","pant","moan")>> <<set _ly to either("busily","energetically","frantically","resolutely","fanatically","quickly","furiously","relentlessly")>> <<set _ly2 to either("busily","energetically","frantically","resolutely","fanatically","quickly","furiously","relentlessly")>> <<set _stimulates_him to either("milks <<his>> cock","rubs <<his>> cock","fondles <<his>> cock","plays with <<his>> dick","milks <<his>> dick")>> <<set _stimulates_her to either("fingers <<his>> pussy","rubs <<his>> quim","fondles <<his>> quim","fingers <<his>> cunt","fingers <<his>> quim")>> <<set _is_done to either("whimpers gently.","continues to pant.","is still breathing heavily.","sofly whimpers.")>> <<if $ft_count lte ($ft_four - 2)>><<set _crowd = "Some orderlies are still watching. Others are openly exchanging money. A few have left.">> <<elseif $ft_count lt $ft_four>><<set _crowd="Some orderlies are cheering. They are again exchanging money. Do they gamble on this?">> <<elseif $ft_count is $ft_four>><<set _crowd="A number of orderlies shout at the <<person4>><<person>> in disbelief. Others cheer.">> <<elseif $ft_count lt ($ft_five - 2)>><<set _crowd="Some of the orderlies shout encouragement to you. Others shout to the <<person4>><<person>>.">> <<elseif $ft_count lt $ft_five>><<set _crowd="Some orderlies seem disappointed, others seems amused. You think you see money exchanging hands.">> <<elseif $ft_count is $ft_five>><<set _crowd="Several orderlies groan or shout in disappointment. More cheer and laugh.">> <<elseif $ft_count gt 18>><<set _crowd="The crowd of orderlies shout encouragement at you, the <<person4>><<person>> and the <<person5>><<person>>.<br>'Hang in there!'<br>'You can do it.'<br>">> <<elseif $ft_count is 0>> There is an air of disappointment as the <<person1>><<person>> leaves you. <<elseif $ft_count%2>><<set _crowd = either("The crowd of orderlies watch.","The crowd jostle to get a better view.","The crowd shouts encouragement.")>> <<else>><<set _crowd = "">> <</if>> <br> <<if $ft_count is 20>> The <<person1>><<person>> grabs you, one hand rubbing your chest, the other reaching for your <<genitals>>. <<arousal 100 "breasts">><<arousal 100 "genitals">> <<if $arousal gte $arousalmax>> <<orgasm>> <<set $ft_count to -10>> <</if>> <br> _crowd <br><br> <<link [[Let yourself enjoy it|Asylum Fake Treatment Masturbation]]>><<arousal 200>><<set $ft_count -=1>><</link>><<garousal>> <br> <<link [[Resist|Asylum Fake Treatment Masturbation]]>><<arousal -100>><<set $ft_count -=1>><</link>> <br> <<elseif $ft_count gte 1>> <<if $ft_count is 19>> The <<person1>><<person>> slips a hand under the straightjacket to tease your <<nipple>>, while the other grabs your <<genitals>>. <<arousal 200 "breasts">><<arousal 100 "genitals">> <<elseif $ft_count gt $ft_five>> <<if $rng>> You hear the <<person4>><<person>> _respond as the <<person2>><<person>> <<person4>><<if $NPCList[0].penis isnot "none">>_stimulates_him.<<else>>_stimulates_her.<</if>> <<else>> You hear the <<person5>><<person>> _respond as the <<person3>><<person>> <<person5>><<if $NPCList[0].penis isnot "none">>_stimulates_him.<<else>>_stimulates_her.<</if>> <</if>> The <<person1>><<persons>> hands continue to work your <<genitals>> and your <<breasts>>.<<arousal 200 "breasts">><<arousal 200 "genitals">> <<elseif $ft_count is $ft_five>> You hear the <<person5>><<person>> moan loudly, and <<if $NPCList[0].penis isnot "none">>see a spurt of cum fly toward the mirror and<<else>>see squirts of ejaculate<</if>> splatter on the floor. <br> Some of the orderlies cheer. You see them excitedly passing money between each other. <br> The <<person2>><<person>> moves both hands to focus on your <<genitals>> and continues with renewed intensity. <<arousal 600 "genitals">> <<elseif $ft_count gt $ft_four>> <<if $rng>> You hear the <<person4>><<person>> _respond as the <<person2>><<person>> <<person4>>_ly <<if $NPCList[0].penis isnot "none">>_stimulates_him.<<else>>_stimulates_her.<</if>> <</if>> The <<person1>><<persons>> hands continue to _ly2 work your <<genitals>>. <<arousal 600 "genitals">> <<elseif $ft_count is $ft_four>> The <<person4>><<person>> beside you starts to shudder as, silently, <<he>> cums <<if $NPCList[0].penis isnot "none">>sending a large spurt of cum toward the mirror <<else>>squirting hard <</if>>and making a mess of the floor in front of <<him>>. <br> More orderlies cheer. You see them excitedly passing money between each other. <br> With a sigh, the <<person1>><<person>> eases up on your <<genitals>>. <<arousal 300 "genitals">> <<else>>/*last one standing*/ The <<person1>><<person>> continues working your <<genitals>> with both hands. <<set $ft_count to -20>> <<if $arousal gte $arousalmax>><<set $arousal to 9900>><</if>> <</if>> <<if $arousal gte $arousalmax>> <<orgasm>> <<set $ft_count to -10>> <</if>> <br> _crowd <br><br> <<if $ft_count gte 0 or $ft_count is -20>> <<link [[Let yourself enjoy it|Asylum Fake Treatment Masturbation]]>><<arousal 200>><<set $ft_count -=1>><</link>><<garousal>> <br> <<link [[Resist|Asylum Fake Treatment Masturbation]]>><<arousal -100>><<set $ft_count -=1>><</link>> <br> <<else>> <<link [[Cool off|Asylum Fake Treatment Masturbation]]>><</link>> <br> <</if>> <<else>> <<if $ft_count is 0>> The <<person1>><<person>> finally gives up. <br> "I can't do it," <<he>> says. "<<pShe>> won't cum." <<elseif $ft_count lte -20>> /* you won */ The <<person1>><<person>> finally gives up. <br> "I can't do it," <<he>> says. "<<pShe>> won't cum." <<elseif $ft_count lte -10>> /*someone else won*/ As your orgasm resides you hear cheering. You notice the orderlies seem to be exchanging something. <br> The <<person1>><<person>> wanders into the crowd of orderlies, where they hand <<him>> something. <<He>> smiles back at you. A few moments later, the <<person4>><<person>> beside you starts to shudder as, silently, <<he>> cums <<if $NPCList[0].penis isnot "none">>sending a large spurt of cum toward the mirror <<else>>squirting hard<</if>> and making a mess of the floor in front of <<him>>. <br> More orderlies cheer. You see them excitedly passing things between each other. <</if>> <br><br> Finally, you are released from the chair. The <<person1>><<person>> starts to speak. <br><br> <<link [[Listen|Asylum Fake Treatment Finish]]>><<unset $ft_count>><<unset $ft_five>><<unset $ft_four>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<pass 5>> <<if $ft_count is 5>> The <<fullGroup>> rub themselves off in front of you. Soon the <<person>> cums, squirting <<if $NPCList[0].penis isnot "none">><<bodyliquid "face" "semen">>semen across<<else>><<bodyliquid "face" "goo">>suddenly in<</if>> your face. Another orderly takes <<his>> place as the <<person1>><<person>> reaches climax. The <<person>> stares into your eyes as <<he>> cums, <<his>> fluids splattering against your cheek and running down the collar of your straightjacket. <br> Two more orderlies take <<his>> place.<<if $NPCList[0].penis isnot "none">><<bodyliquid "neck" "semen">><<else>><<bodyliquid "neck" "goo">><</if>> <br><br> <<if $arousal gte $arousalmax>> <<orgasm>> <</if>> <br><br> <<link [[Next|Asylum Fake Treatment Bukkake]]>><<set $ft_count -= 1>><</link>> <<elseif $ft_count gte 1>> <<if $NPCList[0].penis isnot "none">> <<print either("They keep coming and cumming.","You try to keep your mouth shut, but breathing through your nose means you have to smell it.","You're surrounded by grunts and throbbing genitals.","You keep your eyes shut to avoid getting cum in them.")>> <<set _goo to "semen">> <<else>> <<print either("They keep coming and cumming.","You try to keep your mouth shut, but it seeps through your lips regardless.","You're surrounded by grunts and slick genitals.","You keep your eyes shut to avoid getting squirt in them.")>> <<set _goo to "goo">> <</if>> <br> <<set _rand to random(1,9)>> <<if _rand lte 6>> <<if _rand is 1>> Two orderlies manage to simultaneously cum on your face. <<faceejacstat>><<ejacstat>><<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" _goo>> <<elseif _rand is 2>> One orderly shoves a hand between your legs and roughly gropes your <<genitals>>. <<arousal 200 "genitals">><<pain 5>> <<elseif _rand is 3>> <<if $NPCList[0].penis isnot "none">> One orderly shoves your head against the wall and grinds <<his>> cock against your face until <<he>> ejaculates over you. <<else>> One orderly shoves your head against the wall and grinds <<his>> cunt against your face until <<his>> fluids run over you. <</if>> <<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" _goo>> <<elseif _rand is 4>> Two orderlies masturbate to orgasm either side of you. <<hairejacstat>><<ejacstat>><<bodyliquid "hair" _goo>><<neckejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "neck" _goo>> <<elseif _rand is 5>> One orderly pulls your head up by your hair and <<if $NPCList[0].penis isnot "none">>ejaculates<<else>>squirts<</if>> down the front of your straightjacket. <<pain 5>><<chestejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "chest" _goo>> <<else>> One orderly deliberately <<if $NPCList[0].penis isnot "none">>shoots <<his>> load<<else>>squirts <<his>> juices<</if>> in your eye, and <<pain 5>><<faceejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "face" _goo>> <</if>> <<if _rand % 3 ==2>> as you try to breathe, you end up taking a mouthful of juices from another. <<oralejacstat>><<ejacstat>><<if $NPCList[0].penis isnot "none">><<cumswallow "human">><</if>> <<elseif _rand % 3 == 1>> you hear a grunt as juices squirt down your neck. <<neckejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "neck" _goo>> <<else>> a moment later you feel hot juices soak your hair. <<hairejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "hair" _goo>> <</if>> <<elseif _rand is 7 and (maleChance() gte 1 and $cbchance lt 100 or maleChance() lt 100 and $dgchance gte 1)>> One orderly tries to shove their cock in your mouth. They're jerked away by another. <br> "May I remind everyone that any attempt at any kind of penetration will result in removal." <<lstress>><<stress -2>> <br> <</if>><<unset _rand>> <br> <<if $speech_attitude is "meek">> <span class="sub">Being degraded like this makes you feel horny.</span><<ggarousal>><<arousal 666>> <<elseif $speech_attitude is "bratty">> <span class="brat">You find this 'treatment' humiliating.</span><<garousal>><<arousal 200>><<gstress>><<stress 2>> <<else>> <<garousal>><<arousal 200>> <</if>> <<if $arousal gte $arousalmax>> <<orgasm>> <</if>> <br><br> <<link [[Next|Asylum Fake Treatment Bukkake]]>><<set $ft_count -= 1>><</link>> <<else>> Finally, there are no more. <br> <<if $arousal gte $arousalmax>> <<orgasm>> <<elseif $arousal gte ($arousalmax / 4) * 3 and $submissive gte 1150>> "More," you whimper. <br> <</if>> You feel soaked as fluids ooze down you. <br><br> <<link [[Next|Asylum Fake Treatment Finish]]>><<unset $ft_count>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> "Excellent. Doctor Harper's very pleased with your progress. The doctor asked me to tell you not to mention this treatment to anyone. It's very important for your treatment. If you mention it to anyone - even to Doctor Harper <<nnpc_himself "Harper">> - <<nnpc_he "Harper">> will be very angry and it will set back your progress. This should be kept secret. Understood?" <br> <<if $speech_attitude is "meek">> You meekly nod. <<elseif $speech_attitude is "bratty">> You wait for <<him>> to get to the point. <<else>> You nod once. <</if>> <br><br> <<if $phase is 1 and ($ft_event is "bukkake" or $ft_event is "milk" or $ft_event is "masturbation")>> "Should I take this off?" the <<person2>><<person>> asks, tugging on the straightjacket. <br> <<if $ft_event is "bukkake">> "After the fuss <<pshe>> made about coming here?" <<person1>><<He>> shakes <<his>> head. "Let <<phim>> learn <<pher>> place walking around looking like that for a while." <br> The <<person2>><<person>> laughs. <<else>> "After the fuss <<pshe>> made about coming here?" <<person1>><<He>> shakes <<his>> head. "This one needs to learn some obedience." <</if>> <<else>> The <<person2>><<person>> removes the straightjacket. <<unbind>><<exposure>><<upperwear 87>> <</if>> <br><br> <<if $NPCList[3].description is "long-haired">> <<person4>>The <<person>> is led past you - it feels like you make eye-contact, but it is hard to tell with her face hidden behind her long, matted, messy hair. <</if>> <<if $ft_event is "milk">> As you leave, you notice many of the orderlies have something white around their lips or chin. <br><br> <<elseif $ft_event is "masturbation">> As you leave, you notice many orderlies grouped together passing money between them. Some seem happy, others less so. <<print either("One looks","Several look","One glances")>> <<print either("accusingly","crossly","cheerfully","lustfully","hungrily")>> at you. <br><br> <</if>> <<endevent>><<unset $ft_event>> <<link [[Leave|Asylum]]>><</link>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<set $first_birth to !$pregnancyStats.humanToysUnlocked>> <<npc "Harper">><<person1>> <<setKnowsAboutPregnancy "pc" "Harper">> You awaken in a hospital bed. Several blurry figures move around. One leans closer, <<his>> features coalescing into those of Doctor Harper. "Please don't be alarmed, but your waters have broken. You're still in the asylum." <br><br> <<if $exposed lt 2>> "Please undress," the doctor says. <<else>> "Please take a deep breath," the doctor says. <</if>> <<if playerChastity("hidden")>> <<He>> notices your <<print $worn.genitals.name>>, and opens a chest-high cupboard. <<He>> retrieves a tool shaped like a pair of prongs, but bulkier. "We need to remove that device. This won't hurt." <br><br> <<He>> grasps your <<print $worn.genitals.name>> with the prongs, and presses a button on the handle. You hear a whirring noise within the tool, <span class="pink">and they snap the metal.</span> <<set $worn.genitals.type.push("broken")>> <</if>> <br><br> <<wash>><<undress "asylum_birth">><<upperwear 87 "pink">> <<link [[Next|Pregnancy Birth Asylum 2]]>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> The midwife places a mask over your face. You feel your consciousness fade. Several other figures appear around you, their forms ablur. <br><br> <<set _pregnancy to getPregnancyObject()>> <<if _pregnancy.totalBirthEvents gte 5>> <<set _min to 15>> <<set _max to 60>> <<elseif _pregnancy.totalBirthEvents gte 3>> <<set _min to 30>> <<set _max to 120>> <<else>> <<set _min to 60>> <<set _max to 180>> <</if>> <<set _max to Math.floor(_max * (1 + Math.floor(_pregnancy.fetus.length * 0.2)))>> <<set _min to Math.floor(_min * (1 + Math.floor(_pregnancy.fetus.length * 0.2)))>> <<set _timeCalc to random(_min, _max)>> <<set _hours to Math.floor(_timeCalc / 60)>> <<set _minutes to _timeCalc % 60>> <<switch playerNormalPregnancyType()>> <<case "human">> Harper's voice floats through the fog. "Normal human<<if !$player.vaginaExist>>, abnormal delivery<</if>>, but keep the others on the line, just in case..." <br><br> The pain grows as time seems to rapidly speed up and slow down. You hear the words "breathe" and "push" many times, and you do your best to comply. <br><br> <<link [["Next ("+_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")"| Pregnancy Birth Asylum 3]]>><<endevent>><<pass _timeCalc>><<playerPrebirth>><</link>> <<case "wolf">> Harper's voice floats through the fog. "Not human. This will be an abnormal delivery. Follow my instructions to the letter..." <br><br> The pain grows as time seems to rapidly speed up and slow down. You hear the words "breathe" and "push" many times, and you do your best to comply. <br><br> <<link [["Next ("+_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")"| Pregnancy Birth Asylum Wolf]]>><<endevent>><<pass _timeCalc>><<playerPrebirth>><</link>> <</switch>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<endevent>> <<generate1>><<person1>> <<set $litter_size to getPregnancyObject().fetus.length>> You awaken in another room. A smiling midwife stands beside your bed, <<if $litter_size is 1>> holding a bundled baby in <<his>> arms. <br><br> "Looks like mummy's awake," <<he>> says, passing you the baby. They sit in your arms, eyes shut, chest rising and falling with gentle breaths. <br><br> "We've run all the tests," the midwife says. "There's not a single health problem. Have you thought of a name?" <br><br> <<elseif $litter_size is 2>> holding two bundled babies in <<his>> arms. <br><br> "Looks like mummy's awake," <<he>> says, passing you one, and then the other. One sits in each of your arms, eyes shut, chests rising and falling with gentle breaths. <br><br> "We've run all the tests," the midwife says. "There's not a single health problem. Have you thought of their names?" the midwife asks. <br><br> <<else>> holding a trio of bundled babies in <<his>> arms. <br><br> "Looks like mummy's awake," <<he>> says, passing you one, and then another. One sits in each of your arms. The midwife holds the third right in front of your chest. Their eyes are shut, their chests rising and falling with gentle breaths. <br><br> "We've run all the tests," the midwife says. "There's not a single health problem. Have you thought of their names?" the midwife asks. <br><br> <</if>> <<set $bornChildrenIds to []>> <<run getPregnancyObject().fetus.forEach(child => $bornChildrenIds.push(child.childId))>> <<set $recentBirthId to getPregnancyObject().fetus[0].birthId>> <<birthUi "pc" "asylum" "home" "Pregnancy Birth Asylum 4" 120>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<getChildrenIds>><<childSelect _childrenIds.last()>> <<set _pregFame to ($litter_size * 5)>> <<famepregnancy _pregFame>> <<if $litter_size is 1>> You cradle your baby for a while longer, enjoying <<childhis>> tiny breaths and movements. <<childHe>> spends most of the time sleeping, but opens <<childhis>> eyes occasionally, and gazes into yours. <br><br> The midwife returns. <<if $first_birth>> <<He>> teaches you how to change <<childname>>'s nappy, and how to bathe <<childhim>>. <<else>> <<He>> assists you with changing <<childname>>'s nappy, and bathing <<childhim>>. <</if>> "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your baby in the meantime." <br><br> You want nothing more than to hold <<childname>>, but you find yourself dozing all the same. <br><br> <<elseif $litter_size is 2>> You cradle your babies for a while longer, enjoying their tiny breaths and movements. They spend most of the time sleeping, but open their eyes occasionally, and gaze into yours. <br><br> The midwife returns. <<if $first_birth>> <<He>> teaches you how to change their nappies and how to bathe them. <<else>> <<He>> assists you with changing their nappies, and with bathing them. <</if>> "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your babies in the meantime." <br><br> You want nothing more than to hold the twins, but you find yourself dozing all the same. <br><br> <<elseif $litter_size is 3>> You cradle your babies for a while longer, enjoying their tiny breaths and movements. They spend most of the time sleeping, but open their eyes occasionally, and gaze into yours. <br><br> The midwife returns. <<if $first_birth>> <<He>> teaches you how to change their nappies, and how to bathe them. <<else>> <<He>> assists you with changing their nappies, and with bathing them. <</if>> "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your babies in the meantime." <br><br> You want nothing more than to hold the triplets, but you find yourself dozing all the same. <br><br> <</if>> <<link [[Next|Pregnancy Birth Asylum 5]]>><<storeon "asylum_birth">><<pass 24 hour>><<stress -40>><</link>> <br><br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $litter_size gte 2>><<childrenNames $bornChildrenIds>> lie<<else>><<childname>> lies<</if>> in a cradle while the midwife helps you stand. <<if $first_birth or playerNormalPregnancyTotal() is 0>> You feel your insides drop as you stand, but <<he>> assures you that's normal. <br><br> Despite the pain, you feel a lot more comfortable walking than you did before the birth. You'd forgotten how easy it is to move without people inside you. <br><br> The midwife helps you to dress. <<elseif between(playerNormalPregnancyTotal(), 1, 2)>> You feel your insides drop as you stand. You remember this feeling from your last birth, and know it's normal. <br><br> Despite the pain, you feel a lot more comfortable walking than you did before the birth. You'd forgotten how easy it is to move without people inside you. <br><br> The midwife helps you to dress. <<elseif between(playerNormalPregnancyTotal(), 3, 7)>> You feel your insides drop as you stand. You're still not used to the feeling. <br><br> You get walking again quite easily. It's a little awkward, but the transition isn't as bad as it used to be. It's still easier to move around when there isn't another human inside you. <br><br> The midwife still insists on helping you dress. <<elseif between(playerNormalPregnancyTotal(), 8, 49)>> You stand up without a hitch. There's hardly any difference in feeling anymore, although you do feel much more nimble. <br><br> <<He>> looks impressed at your mobility, only keeping an arm around you for stability. "I don't see many people get back up that quickly. You must be hardy!" <br><br> The midwife still insists on helping you dress. <<elseif playerNormalPregnancyTotal() gte 50>> You stand up without assistance, feeling empty inside. You already miss the feeling of being pregnant. <br><br> <<He>> stares at you, mouth agape, as you walk without any assistance. You throw your clothes back on quickly. <br><br> "Y-you should be good to go," <<he>> says. <</if>> <<if $innocencestate is 1 or $trauma lte $traumamax / 10>> "Doctor Harper has completed your discharge papers, and you're being released. Someone's waiting for you outside. Your <<if C.npc.Bailey.pronoun is "f">>mum<<else>>dad<</if>> I think." <br><br> <<removeBabyIntro "pc" "Bailey" $recentBirthId>> <<link [[Next|Pregnancy Birth Asylum End]]>><<endevent>><<unset $recentBirthId>><</link>> <<else>> "Your children will be sent to the orphanage for temporary care until your release, at which point they will be returned to your custody, once you're deemed mentally fit." <br><br> <<setBabyIntro "pc" "Bailey" $recentBirthId>> <<link [[Next|Pregnancy Birth Asylum 6]]>><<endevent>><<unset $recentBirthId>><</link>> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> You're returned to your cell. You already miss the embrace of <<childrenNames $bornChildrenIds>>. You feel a renewed sense of determination to leave this place. <<stress -10>><<llstress>><<trauma -10>><<lltrauma>> <br><br> <<link [[Next|Asylum Cell]]>><<unset $litter_size>><<unset $first_birth>><<endevent>><<unset $bornChildrenIds>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<effects>> <<asylumend>> <<badEndTrackingEnd "Asylum" { reason: "asylumDischargedLabour" }>> <<npc "Bailey">><<person1>> <<getChildrenIds>><<childSelect _childrenIds.last()>> Bailey waits for you in front of the asylum. <<He>> smiles when <<he>> sees you. It almost looks real. "We've a place prepared," <<he>> says. <<if $litter_size is 1>> <<elseif $litter_size is 2>> "For both of them." <<else>> "For all three of them." <</if>> <<He>> leads you outside, where <<his>> car waits. <<He>> holds open the passenger door for you, before climbing in the other side. <br><br> The engine comes to life. <!-- Bailey may not know about all your pregnancies --> <<set _knownPregnancyCount to knowsAboutPregnancyTotal("pc","Bailey","home")>> <<if _knownPregnancyCount is 1>> "You're responsible for your offspring's care," <<he>> says. "If I have to intervene, it'll cost you an extra <span class="red">£100</span> a week.<<if $litter_size gte 2>> Each.<</if>>" <br><br> "They don't leave the nursery," <<he>> adds as <<he>> drives from the asylum car park into the forest. "Ever." <<elseif _knownPregnancyCount lte 4>> "Remember that you're responsible for your offspring's care," <<he>> says. "If I have to intervene, it'll cost you an extra <span class="red">£100</span> a week.<<if $litter_size gte 2>> Each.<</if>>" <<else>> "You're an irresponsible slut," <<he>> says. "Remember that if I have to intervene in the care of your offspring, it'll cost you an extra <span class="red">£100</span> a week.<<if $litter_size gte 2>> Each.<</if>>" <</if>> <<if $baileydefeatedchain gte 3>> You see <<him>> sneer, but only for a brief instant. "I'd rather not make someone else take care of your twerps, but if you keep being a difficult little shit, don't think you'll be allowed to see them again." <</if>> <br><br> <<if $litter_size is 1>> <<link [[Tell Bailey your baby's name|Pregnancy Birth Hospital 7]]>><<set $phase to 1>><</link>> <br> <<link [[Just hold the baby tight|Pregnancy Birth Hospital 7]]>><</link>> <br> <<else>> <<link [[Tell Bailey your babies' names|Pregnancy Birth Hospital 7]]>><<set $phase to 1>><</link>> <br> <<link [[Just hold your babies tight|Pregnancy Birth Hospital 7]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<endevent>> <<generate1>><<person1>> <<set $litter_size to getPregnancyObject().fetus.length>> <<set _baby_type to getPregnancyObject().fetus[0].type>> You awaken in another room. You hear faint whimpering. A smiling midwife stands beside your bed, <<if $litter_size is 1>> holding a bundled _baby_type pup in <<his>> arms. <br><br> "Looks like mummy's awake," <<he>> says, passing you the pup. They sit in your arms, eyes shut, chest rising and falling with gentle breaths. <br><br> "We've run all the tests," the midwife says. "There's not a single health problem. Have you thought of a name?" <br><br> <<else>> pushing a cot with <<number $litter_size>> _baby_type pups inside. <br><br> "Looks like mummy's awake," <<he>> says, pushing the cot into your reach. You hold them one by one, their eyes shut, chests rising and falling with gentle breaths. <br><br> "We've run all the tests," the midwife says. "There's not a single health problem. Have you thought of their names?" the midwife asks. <br><br> <</if>> <<set $bornChildrenIds to []>> <<run getPregnancyObject().fetus.forEach(child => $bornChildrenIds.push(child.childId))>> <<birthUi "pc" "asylum" "wolf_cave" "Pregnancy Birth Asylum Wolf 2" 180>><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<getChildrenIds>><<childSelect _childrenIds.last()>> <<famebestiality $litter_size>> <<if $litter_size is 1>> You cradle your <<childtype>> for a while longer, enjoying <<childhis>> tiny breaths and movements. <<childHe>> spends most of the time sleeping, but opens <<childhis>> eyes occasionally, and gazes into yours. <br><br> The midwife returns. "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your pup in the meantime." <br><br> You want nothing more than to hold <<childname>>, but you find yourself dozing all the same. <br><br> <<else>> You cradle your pups for a while longer, enjoying their tiny breaths and movements. They spend most of the time sleeping, but open their eyes occasionally, and gaze into yours. <br><br> The midwife returns. "Let me know when you're feeling sleepy," <<he>> says. "You need your rest as well, and we can take care of your pups in the meantime." <br><br> You want nothing more than to hold them, but you find yourself dozing all the same. <br><br> <</if>> <<link [[Next|Pregnancy Birth Asylum Wolf 3]]>><<storeon "asylum_birth">><<pass 24 hour>><<stress -40>><</link>> <br><<set $outside to 0>><<set $location to "asylum">><<asylumeffects>><<effects>> <<if $litter_size gte 2>><<childrenNames $bornChildrenIds>> lie<<else>><<childname>> lies<</if>> in a cradle while the midwife helps you stand. <<if $first_birth or playerNormalPregnancyTotal() is 0>> You feel your insides drop as you stand, but <<he>> assures you that's normal. <br><br> Despite the pain, you feel a lot more comfortable walking than you did before the birth. You'd forgotten how easy it is to move without wolves inside you. <br><br> The midwife helps you to dress. <<elseif between(playerNormalPregnancyTotal(), 1, 2)>> You feel your insides drop as you stand. You remember this feeling from your last birth, and know it's normal. <br><br> Despite the pain, you feel a lot more comfortable walking than you did before the birth. You'd forgotten how easy it is to move without wolves inside you. <br><br> The midwife helps you to dress. <<elseif between(playerNormalPregnancyTotal(), 3, 7)>> You feel your insides drop as you stand. You're still not used to the feeling. <br><br> You get walking again quite easily. It's a little awkward, but the transition isn't as bad as it used to be. It's still easier to move around when there isn't a litter of wolves inside you. <br><br> The midwife still insists on helping you dress. <<elseif between(playerNormalPregnancyTotal(), 8, 49)>> You stand up without a hitch. There's hardly any difference in feeling anymore, although you do feel much more nimble. <br><br> <<He>> looks impressed at your mobility, only keeping an arm around you for stability. "I don't see many people get back up that quickly. You must be hardy!" <br><br> The midwife still insists on helping you dress. <<elseif playerNormalPregnancyTotal() gte 50>> You stand up without assistance, feeling empty inside. You already miss the feeling of being pregnant. <br><br> <<He>> stares at you, mouth agape, as you walk without any assistance. You throw your clothes back on quickly. <br><br> "Y-you should be good to go," <<he>> says. <</if>> "The pups will be released into the forest once they can fend for themselves." <br><br> <<link [[Next|Pregnancy Birth Asylum 6]]>><<endevent>><</link>> <br><<widget "asylumeffects">> <<if Time.hour lte 5>> <<set $asylumstate to "sleep">> <<elseif Time.hour lte 8>> <<set $asylumstate to "free">> <<elseif Time.hour is 9>> <<set $asylumstate to "exercise">> <<elseif Time.hour is 10>> <<set $asylumstate to "firsttreatment">> <<elseif Time.hour lte 14>> <<set $asylumstate to "free">> <<elseif Time.hour is 15>> <<set $asylumstate to "secondtreatment">> <<elseif Time.hour lte 19>> <<set $asylumstate to "free">> <<elseif Time.hour is 20>> <<set $asylumstate to "assessment">> <<elseif Time.hour is 21>> <<set $asylumstate to "free">> <<else>> <<set $asylumstate to "sleep">> <</if>> <<set $suspicion = Math.clamp($suspicion, 0, 100)>> <<set $asylumstatus = Math.clamp($asylumstatus, 0, 100)>> <</widget>> <<widget "asylumstats">> <<if $suspicion gte 80>> <span class="red">Security actively watches you. Even the nurses glance your way warily.</span> <<elseif $suspicion gte 20>> <span class="blue">You catch the occasional member of security watching you.</span> <<else>> <span class="green">The staff ignore you.</span> <</if>> <br> <<if $asylumstatus gte 80>> <span class="green">The other patients smile when they see you.</span> <<elseif $asylumstatus gte 20>> <span class="blue">The other patients ignore you.</span> <<else>> <span class="red">The other patients shun you.</span> <</if>> <br><br> <</widget>> <<widget "asylumtreatments">> <<if isPregnancyEnding()>> <<pregnancyPassout "asylumHarper">> <<else>> <<cleareventpool>> <<addinlineevent "asylum_treatment_1" 1>> <<if $o_long_and_beautiful gte 1 and $o_long_and_beautiful lte 7 and $rng % 2 and maleChance() lt 100>> <<set $phase to 0>><<set $o_long_and_beautiful += 1>> <<npc Harper>><<person1>> You are led into a thin room. Curtains line one side. <br> "Hello," Doctor Harper says. "I'm glad you could make it. Please stand just there." <<He>> pushes a button on the wall by the door and the curtain pulls back, revealing the other half of the room. A patient lies on the floor. <br> The long, matted hair covering most of her face hides any visible reaction. <br><br> <<person1>>"This treatment isn't for you," the doctor says. "It's for your fellow patient. I just need an assistant." <<He>> gestures at a button on a table beside you. "You'll need to press that button when I say. I'll be busy helping this patient. Press it now." <br><br> <<link [[Press|Asylum Button Long Hair Press]]>><</link>> <br> <<link [[Refuse|Asylum Button Long Hair Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <<else>> <<set $phase to 0>> <<npc Harper>><<person1>><<generate2>> You are led into a thin room. Shutters line one side. "Hello," Doctor Harper says. "I'm glad you could make it. Please take a seat." <<He>> pushes a button on the counter beside <<him>>. The shutters open, revealing a glass window. Another patient sits in the room beyond. <<person2>><<He>> looks nervous, but doesn't react to the reveal. <br><br> <<person1>>"This treatment isn't for you," the doctor says. "It's for your fellow patient. I just need an assistant." <<He>> gestures at a button in front of you. "You'll need to press this button when I say. I'll be busy taking notes. Press it now." <br><br> <<link [[Press|Asylum Button Press]]>><</link>> <br> <<link [[Refuse|Asylum Button Refuse]]>><<suspicion 1>><<def 1>><</link>><<gsuspicion>> <br> <</if>> <</addinlineevent>> <<addinlineevent "asylum_treatment_2" 1>> <<npc Harper>><<person1>>You are led to Doctor Harper's office. <<He>> waits for you behind <<his>> desk. "Please take a seat," <<he>> says. There are no other chairs. <br><br> <<link [[Sit on desk|Asylum Sit Desk]]>><</link>> <br> <<link [[Sit on lap|Asylum Sit Lap]]>><</link>><<promiscuous1>><<lsuspicion>><<lawareness -1>> <br> <<link [[Stay stood|Asylum Sit Stand]]>><<suspicion 1>><</link>><<gsuspicion>> <br> <</addinlineevent>> <<addinlineevent "asylum_treatment_3" 1>> <<npc Harper>><<person1>><<generate2>>You are led into a room with a large window facing the grounds, and the forest beyond. Doctor Harper waits for you, stood beside a <<person2>><<person>>. Another patient. Several orderlies wait by the wall. <br><br> "Thank you both for coming," the doctor says. "Today I want to talk about modesty. It shouldn't feel bad to be exposed. It should feel good. I want one of you to strip." The <<person>> looks horrified at the thought. "And stand in front of the window there." <br><br> You can see many patients exercising outside, as well as staff watching over them. The <<persons>> horror becomes panic. "P-please," <<he>> says. "Don't make me." <br><br> <<person1>>Harper looks at you. "You get to decide which of you strips," <<he>> says. The <<person2>><<person>> looks at you, near tears. <br><br> <<if hasSexStat("exhibitionism", 5)>> <<link [[Strip and flaunt|Asylum You Flaunt]]>><<suspicion -5>><<asylumstatus 5>><<awareness -10>><<fameexhibitionism 10>><</link>><<exhibitionist5>><<llawareness>><<llsuspicion>><<ggcool>> <br> <<else>> <<link [[Strip reluctantly|Asylum You Strip]]>><<suspicion -5>><<asylumstatus 5>><<awareness -10>><<stress 3>><<fameexhibitionism 10>><</link>><<llawareness>><<llsuspicion>><<ggcool>><<gstress>> <br> <</if>> <<link [[Make <<him>> strip|Asylum They Strip]]>><<suspicion 5>><<asylumstatus -5>><</link>><<ggsuspicion>><<llcool>> <br> <</addinlineevent>> <<if $hypnosisdisable is "f">> <<addinlineevent "asylum_treatment_4" 1>> <<npc Harper>><<person1>> You are led into Harper's office. <<He>> waits for you inside.<<endevent>><<generate1>> There's a <<person1>><<person>> sat opposite. Another patient. "Thank you for joining us," the doctor says. "Please, take a seat." <br><br> You sit beside the <<person>>. Harper picks up a pen on the desk. "I want both of you to focus on this pen, and breathe deeply. There's nothing in the universe except this pen, my voice, and your own breath." <br><br> <<pass 5>> This continues for several minutes. Harper somehow picks up on whenever one of your minds wanders and brings you back to focus. You feel something shift in your consciousness as you enter a trance. <br><br> "Good," the doctor says, looking at you. "I want you to get on your knees and use your mouth on <<his>> genitals. <<He>> will enjoy it. Is that clear?" <br><br> "Yes," the <<person>> says. "I will enjoy it." <br><br> <<link [[Obey|Asylum Hypnosis Oral]]>><<hypnotised 1>><<set $sexstart to 1>><<npcincr Harper dom 5>><<control 25>><<stress -12>><<awareness -10>><<suspicion -5>><</link>><<ggcontrol>><<llsuspicion>><<llawareness>><<lstress>> <br> <<link [[Resist|Asylum Hypnosis Resist]]>><<stress 6>><<suspicion 5>><<npcincr Harper dom -5>><</link>><<ggsuspicion>><<ggstress>> <br> <</addinlineevent>> <</if>> <<if $hypnosisdisable is "f">> <<addinlineevent "asylum_treatment_5" 2>> <<npc Harper>><<person1>> You are led into Harper's office. <<He>> waits for you inside, sat at <<his>> desk. "Thank you for coming," <<he>> says. "Please, take a seat." <br><br> Once sat, Harper picks up a pen on <<his>> desk. "I want you to focus on this pen, and breathe deeply. There's nothing in the universe except this pen, my voice, and your own breath." <br><br> <<pass 5>> This continues for several minutes. Harper somehow picks up on whenever your mind starts to wander and brings you back to focus. You feel something shift in your consciousness as you enter a trance. <br><br> "Good," the doctor says. "I want you to take off your clothes. We're going for a walk." <br><br> <<link [[Obey|Asylum Hypnosis Exhibitionism]]>><<hypnotised 1>><<npcincr Harper dom 5>><<control 25>><<stress -12>><<awareness -10>><<suspicion -5>><</link>><<ggcontrol>><<llsuspicion>><<llawareness>><<lstress>> <br> <<link [[Resist|Asylum Hypnosis Resist]]>><<stress 6>><<suspicion 5>><<npcincr Harper dom -5>><</link>><<ggsuspicion>><<ggstress>> <br> <</addinlineevent>> <</if>> <<addinlineevent "asylum_treatment_6" 1.5>> <<npc Harper>><<person1>> You are led into a windowless room. Doctor Harper waits beside a large machine. "Thank you for coming," <<he>> says. <<He>> presses a button. A compartment opens, large enough for you to fit. "Please lie down inside." <br><br> <<getinicon>><<link [[Get in|Asylum Machine]]>><<awareness -10>><<suspicion -5>><</link>><<llsuspicion>><<llawareness>> <br> <<refuseicon>><<link [[Refuse|Asylum Machine Refuse]]>><<suspicion 5>><</link>><<athleticsdifficulty 1 1000>><<ggsuspicion>><<ggstress>> <br> <</addinlineevent>> <<if $hypnosisdisable is "f">> <<addinlineevent "asylum_treatment_7" 1.5>> <<npc Harper>><<person1>> You are led into Harper's office. <<He>> waits for you inside, sat at <<his>> desk. "Thank you for coming," <<he>> says. "Please, take a seat." <br><br> Once sat, Harper picks up a pen on <<his>> desk. "I want you to focus on this pen, and breathe deeply. There's nothing in the universe except this pen, my voice, and your own breath." <br><br> <<pass 5>> <<endevent>> This continues for several minutes. Harper somehow picks up on whenever your mind starts to wander and brings you back to focus. You feel something shift in your consciousness as you enter a trance. <br><br> <<beastNEWinit 1 dog>> <<if $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> "Good," the doctor says. "Bring <<bhim>> in." A group of orderlies enter. One holds a <<beasttype>> on a leash, who appears to be panting heavily. <<bHis>> nude body is on full display. <<bHe>> strains to reach you. Harper turns to you. "We found <<bhim>> up near those farms," <<nnpc_he "Harper">> says. "<<bHes>> been misbehaving, and could use some "personal" attention. From a bitch in heat, more specifically. You can't wait to be <<bred>>." You feel an urge to bark. <br><br> <<else>> "Good," the doctor says. "Bring it in." A group of orderlies enter. One holds a dog on a leash. It strains to reach you. Harper turns to you. "You're a bitch in heat. You can't wait to be <<bred>>." You feel an urge to bark. <br><br> <</if>> <<link [[Present yourself|Asylum Hypnosis Dog]]>><<hypnotised 1>><<set $sexstart to 1>><<npcincr Harper dom 5>><<control 25>><<stress -12>><<awareness -10>><<suspicion -5>><</link>><<ggcontrol>><<llsuspicion>><<llawareness>><<lstress>> <br> <<link [[Resist|Asylum Hypnosis Dog Resist]]>><<stress 6>><<suspicion 5>><<npcincr Harper dom -5>><</link>><<ggsuspicion>><<ggstress>> <br> <<else>> <<endevent>> <<npc Harper>><<person1>> "Good," the doctor says. "I want you to take off your clothes. We're going for a walk." <br><br> <<link [[Obey|Asylum Hypnosis Exhibitionism]]>><<hypnotised 1>><<npcincr Harper dom 5>><<control 25>><<stress -12>><<awareness -10>><<suspicion -5>><</link>><<ggcontrol>><<llsuspicion>><<llawareness>><<lstress>> <br> <<link [[Resist|Asylum Hypnosis Resist]]>><<stress 6>><<suspicion 5>><<npcincr Harper dom -5>><</link>><<ggsuspicion>><<ggstress>> <br> <</if>> <</addinlineevent>> <</if>> <<addinlineevent "asylum_treatment_8" 1>> <<npc Harper>><<generate2>><<generate3>> You enter Doctor Harper's office. <<person1>><<He>> sits behind <<his>> desk. A <<person2>><<person>> and <<person3>><<person>> sit in front of <<him>>, both in white coats. They turn to regard you. <br><br> "Thank you for coming," Harper says. "I have something special for you today. A new drug. My colleagues here would like to observe its effects. Here." <<person1>><<He>> stands and removes a sheet from a nearby chair. There are straps on the arms and legs. "Please sit." <<person3>> <br><br> <<link [[Sit|Asylum Pill Sit]]>><<awareness -10>><<suspicion -5>><<hallucinogen 80>><</link>><<llsuspicion>><<llawareness>> <br> <<link [[Refuse|Asylum Pill Refuse]]>><<suspicion 5>><</link>><<ggsuspicion>><<ggstress>> <br> <</addinlineevent>> <<addinlineevent "asylum_treatment_9" 1>> <<npc Harper>><<person1>> You are led into Harper's office. <<He>> waits for you inside, sat at <<his>> desk. "Thank you for coming," <<he>> says. "Please, take a seat." <br><br> You sit down in a chair in front of <<his>> desk. Harper pulls something out from a drawer. It's a folded piece of paper. Dark splotches bleed through it from within. <br><br> "This is something called an inkblot test," <<he>> explains. "I want you to tell me what this shape reminds you of." <br><br> <<He>> unfolds the paper. The two sides stick together, but come undone with a crackle. A symmetrical black blob is painted on the inside. <<if $awareness gte 400>> The strokes twist together across the page, tangling over one another. They converge into total darkness, like a hole punched through the paper, or the mouth of a terrible creature. You stare at it, unable to tear your eyes away. <<gstress>><<stress 6>><<gtrauma>><<trauma 6>> <<elseif $awareness gte 200>> You stare at the paper, trying to discern the shape. The blob looks suspiciously <<if $NPCList[0].penis isnot "none">>phallic.<<else>>yonic.<</if>> <<if $purity gte 1000 or $angel gte 6>> You wonder if you're just being dirty-minded.<<gstress>><<stress 1>> <<else>> The longer you stare at it, the more certain you are that it looks like a <<if $NPCList[0].penis isnot "none">>penis.<<else>>pussy.<</if>> <</if>> <<else>> You tilt your head, looking at the paper. The shape looks like a <<if $NPCList[0].penis isnot "none">>rocket taking off.<<else>>beautiful butterfly.<</if>> <</if>> <br><br> <<link [[Answer honestly|Asylum Inkblot Answer Honestly]]>><<trauma -6>><<suspicion -5>><</link>><<llsuspicion>><<llawareness>><<lltrauma>> <br> <<link [[Refuse to answer|Asylum Inkblot Answer Evasively]]>><<stress 3>><</link>><<lawareness>><<gstress>> <br> <</addinlineevent>> <<runeventpool>> <</if>> <</widget>> <<widget "asylumassessment">> You enter the doctor's office.<<npc Harper>><<person1>> <<if isPregnancyEnding()>> <<pregnancyPassout "asylumHarper">> <<elseif $innocencestate is 1>> <<npcincr Harper love 5>><<npcincr Harper dom 5>><<set $asyluminnocence to 1>> <<He>> puts down <<his>> clipboard and smiles. "Your treatment is finished," <<he>> says. "You're ready to be a functioning member of society. I'll have special pills sent to your home." <<set $sexStats.pills["pills"]["asylum\'s prescription"].owned to 14>><<set $asylummedicated to 0>> <<He>> rises to <<his>> feet and pulls the curtains at the window closed. "Stand up." <br><br> Once stood, <<he>> pushes you back over the desk. <<if $NPCList[0].penis isnot "none">> <<He>> steps between your legs and leans forward, <<else>> <<He>> climbs atop and straddles you, <</if>> groping at your clothes with shaking fingers, trying to take them off. The professional air <<he>> carried is gone. <<He>> laughs, giggles really. "I-I should be the first to experience my handiwork. It's only fair." <br><br> <<link [[Next|Asylum Harper Sex]]>><<set $molestationstart to 1>><</link>> <br> <<elseif $trauma lte $traumamax / 10>> <<set $asylumtrauma to 1>> /* unused */ <<He>> puts down <<his>> clipboard and frowns. "Your treatment isn't finished," <<he>> says. "But you seem to have recovered regardless. I can't justify keeping you here." <<He>> rises to <<his>> feet and pulls the curtains at the window closed. <br><br> "Now that you're better..." <<He>> steps around the desk. "This might be the last time we see each other." <<He>> gropes your clothing. The professional air <<he>> carried is gone. <<He>> laughs as <<he>> tries to kiss you. <br><br> <<link [[Let it happen|Asylum Harper Sex]]>><<npcincr Harper love 5>><<set $sexstart to 1>><</link>><<promiscuous1>> <br> <<link [[Shove away|Asylum Harper Shove]]>><<npcincr Harper love -1>><</link>> <br> <<elseif $asylumassessmentprogress lte 0>> <<set $asylumassessmentprogress += 1>> Harper stares at you across the desk. "Let's talk about your exposure fetish," <<he>> says. "You've been displaying your body in inappropriate ways, then claiming others stripped you. You're ashamed of your feelings." <br><br> <<if $asylumdistracted is 1>> <<link [[Attack|Asylum Fight]]>><<suspicion 15>><<trauma -6>><<stress -6>><<set $fightstart to 1>><</link>><<gggsuspicion>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <<else>> <<link [[Attack|Asylum Punish]]>><<suspicion 15>><<trauma -6>><<stress -6>><</link>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <</if>> <<if $asylumkeycard isnot 1 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $skulduggerydifficulty to 900 + (20 * $suspicion)>> <<link [[Steal keycard|Asylum Keycard]]>><</link>><<skulduggerydifficulty>> <<note "This will be easier with low suspicion" "italic">> <br> <</if>> <<link [[Insist that isn't true|Asylum Exhibit Meek]]>><<awareness -1>><<stress 3>><</link>><<lawareness>><<gstress>> <br> <<link [[Say you aren't sure|Asylum Exhibit Sub]]>><<trauma -6>><<suspicion -5>><<awareness -10>><</link>><<llsuspicion>><<llawareness>><<ltrauma>> <br> <<elseif $asylumassessmentprogress lte 1 and $tentaclerapestat gte 1>> <<set $asylumassessmentprogress += 1>> Harper stares at you across the desk. "In your sleep you talk about being attacked by monsters with tentacles," <<he>> says. "Creatures like that don't exist. If someone claimed to have been molested by a creature no one else can see, would you believe them?" <br><br> <<if $asylumdistracted is 1>> <<link [[Attack|Asylum Fight]]>><<suspicion 15>><<trauma -6>><<stress -6>><<set $fightstart to 1>><</link>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <<else>> <<link [[Attack|Asylum Punish]]>><<suspicion 15>><<trauma -6>><<stress -6>><</link>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <</if>> <<if $asylumkeycard isnot 1 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $skulduggerydifficulty to 900 + (20 * $suspicion)>> <<link [[Steal keycard|Asylum Keycard]]>><</link>><<skulduggerydifficulty>> <<note "This will be easier with low suspicion" "italic">> <br> <</if>> <<link [[Insist they are real|Asylum Tentacles Meek]]>><<awareness 1>><<stress 3>><</link>><<gawareness>><<gstress>> <br> <<link [[Say you aren't sure|Asylum Tentacles Sub]]>><<trauma -6>><<suspicion -5>><<awareness -10>><</link>><<llsuspicion>><<llawareness>><<ltrauma>> <br> <<elseif $asylumassessmentprogress lte 2 and $beastrapestat gte 1>> <<set $asylumassessmentprogress += 1>> <!-- Modified for monster people --> Harper stares at you across the desk. <<if $bestialitydisable is "f">> "In your sleep you talk about being attacked by animals," <<he>> says. "Sexually attacked. Animals don't behave like that. You've been abusing innocent creatures, haven't you?" <<else>> "In your sleep you talk about being attacked by monster-people," <<he>> says. "Sexually attacked. These types of beings do not exist. You made yourself believe they possess human-like features. In reality, you've been abusing innocent animals for your own pleasure. Am I wrong?" <</if>> <br><br> <<if $asylumdistracted is 1>> <<link [[Attack|Asylum Fight]]>><<suspicion 15>><<trauma -6>><<stress -6>><<set $fightstart to 1>><</link>><<gggsuspicion>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <<else>> <<link [[Attack|Asylum Punish]]>><<suspicion 15>><<trauma -6>><<stress -6>><</link>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <</if>> <<if $asylumkeycard isnot 1 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $skulduggerydifficulty to 900 + (20 * $suspicion)>> <<link [[Steal keycard|Asylum Keycard]]>><</link>><<skulduggerydifficulty>> <<note "This will be easier with low suspicion" "italic">> <br> <</if>> <<link [[Insist that isn't true|Asylum Beast Meek]]>><<awareness -1>><<stress 3>><</link>><<lawareness>><<gstress>> <br> <<link [[Say you aren't sure|Asylum Beast Sub]]>><<trauma -6>><<suspicion -5>><<awareness -10>><</link>><<llsuspicion>><<llawareness>><<ltrauma>> <br> <<elseif $asylumassessmentprogress lte 3>> <<set $asylumassessmentprogress += 1>> Harper stares at you across the desk. "There are marks on your body," <<he>> says. "You did this to yourself, didn't you." <br><br> <<if $asylumdistracted is 1>> <<link [[Attack|Asylum Fight]]>><<suspicion 15>><<trauma -6>><<stress -6>><<set $fightstart to 1>><</link>><<gggsuspicion>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <<else>> <<link [[Attack|Asylum Punish]]>><<suspicion 15>><<trauma -6>><<stress -6>><</link>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <</if>> <<if $asylumkeycard isnot 1 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $skulduggerydifficulty to 900 + (20 * $suspicion)>> <<link [[Steal keycard|Asylum Keycard]]>><</link>><<skulduggerydifficulty>> <<note "This will be easier with low suspicion" "italic">> <br> <</if>> <<link [[Insist that isn't true|Asylum Hurt Meek]]>><<awareness -1>><<stress 3>><</link>><<lawareness>><<gstress>> <br> <<link [[Say you aren't sure|Asylum Hurt Sub]]>><<trauma -6>><<suspicion -5>><<awareness -10>><</link>><<llsuspicion>><<llawareness>><<ltrauma>> <br> <<else>> <<set $asylumassessmentprogress to 0>> Harper stares at you across the desk. "In your sleep you talk about being raped and molested. But that isn't what happens, is it?" <<he>> says. "You approach and seduce people willingly. You call it rape because you're ashamed." <br><br> <<if $asylumdistracted is 1>> <<link [[Attack|Asylum Fight]]>><<suspicion 15>><<trauma -6>><<stress -6>><<set $fightstart to 1>><</link>><<gggsuspicion>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <<else>> <<link [[Attack|Asylum Punish]]>><<suspicion 15>><<trauma -6>><<stress -6>><</link>><<gggsuspicion>><<ltrauma>><<lstress>> <br> <</if>> <<if $asylumkeycard isnot 1 and $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $skulduggerydifficulty to 900 + (20 * $suspicion)>> <<link [[Steal keycard|Asylum Keycard]]>><</link>><<skulduggerydifficulty>><<note "This will be easier with low suspicion" "italic">> <br> <</if>> <<link [[Insist that isn't true|Asylum Rape Meek]]>><<awareness -1>><<stress 3>><</link>><<lawareness>><<gstress>> <br> <<link [[Say you aren't sure|Asylum Rape Sub]]>><<trauma -6>><<suspicion -5>><<awareness -10>><</link>><<llsuspicion>><<llawareness>><<ltrauma>> <br> <</if>> <</widget>> <<widget "asylumend">> <<set $asylum to 0>> <</widget>> <<widget "asylumpunish">> <<endevent>><<npc Harper>><<person1>><<set $asylumbound to 2>> <<if $leftarm is "bound" and $rightarm is "bound">> "Take <<phim>> to the room," Harper says. "Make sure <<pher>> arms are bound tight." <br><br> <<if $leftarm is "bound" and $rightarm is "bound">> They push you to an empty wing of the asylum, through one of the doors marked "Staff Only." <<else>> They force you into a jacket and push you to an empty wing of the asylum. <<bind>><<upperwear 35>> <</if>> Most lights here don't work, and those that do flicker to a strange rhythm. <br><br> You come to a tall metal door. They open it, revealing a pitch black room beyond. They shove you in, and slam the door behind you. <br><br> There's just enough space to sit. You wait in total silence. <br><br> <<link [[Wait (1:00)|Asylum Room]]>><<pass 60>><</link>> <br> <<else>> <<bind>><<upperwear 35>> "Bind <<pher>> arms," Harper says. "Tight." <br><br> They force your arms in front of you, and wrap them up tight. The doctor smiles. " <<if $asylumstate is "sleep">> Take <<phim>> to <<pher>> room. <<pShe>> needs <<pher>> sleep." <br><br> Flanked by orderlies, you are led to your cell. The door locks with a click. <br><br> <<endevent>> <<link [[Next|Asylum Cell]]>><</link>> <br> <<else>> Show <<phim>> around. Let the others see." <br><br> You are led through the occupied part of the asylum. Most patients ignore you, but some jeer. They leave you near your room. <<gstress>><<stress 3>> <br><br> <<endevent>> <<link [[Next|Asylum]]>><</link>> <br> <</if>> <</if>> <</widget>> <<widget "asylumpunish2">> <<endevent>><<npc Harper>><<person1>><<set $asylumbound to 2>> "Take <<phim>> to the room," Harper says. "Make sure <<pher>> arms are bound tight." <br><br> <<if $leftarm is "bound" and $rightarm is "bound">> They push you to an empty wing of the asylum, through one of the doors marked "Staff Only." <<else>> They force you into a jacket and push you to an empty wing of the asylum. <<bind>><<upperwear 35>> <</if>> Most of the lights here don't work, and those that do flicker to a strange rhythm. <br><br> You come to a tall metal door. They open it, revealing a pitch black room beyond. They shove you in, and slam the door behind you. <br><br> The room is tiny. There's just enough space to sit. You wait in total silence. <br><br> <<link [[Wait (1:00)|Asylum Room]]>><<pass 60>><</link>> <br> <</widget>> <<widget "asylumoptions">> <<if ($leftarm is "bound" or $rightarm is "bound") and $asylumbound lte 0>> <<He>> looks at your bindings. "I think you've earned a release," <<he>> says as <<he>> crouches and unties them, before removing it completely.<<unbind>><<exposure>> <<He>> covers you with a gown. <<unbind>><<upperwear 87>><<exposure>> <br><br> <</if>> <<if $exposed gte 1>> <<He>> steps back to regard you. <<covered>> "You can't see the doctor dressed like that," <<he>> says. <<He>> covers you with a gown. <<unbind>><<upperwear 87>><<exposure>> <br><br> <</if>> <</widget>> <<widget "asylumevents">> <<set $danger to random(1, 10000)>> <<if $danger gte (9900 - $allure)>> <<if $rng gte 91>> <<generate1>><<person1>> "Excuse me," says a voice to your side. It's a <<person>> wearing a patient's gown. "Doctor Harper gave me a task. I need to-" <<He>> looks away. "I need to expose myself to a dozen people before my next assessment. My b-body, I mean. C-can I show you?" <<He>> doesn't look happy. <br><br> <<link [[Accept|Asylum Exposure Accept]]>><<handheldon>><<arousal 600>><</link>><<garousal>> <br> <<link [[Accept but keep your eyes shut|Asylum Exposure Shut]]>><<famegood 1>><<handheldon>><</link>> <br> <<link [[Accept and pretend to keep your eyes shut|Asylum Exposure Peek]]>><<arousal 600>><<famegood 1>><<handheldon>><</link>><<garousal>> <br> <<link [[Refuse|Asylum Exposure Refuse]]>><<handheldon>><</link>> <br> <<elseif $rng gte 81 and (random(1,100) lte $suspicion)>> <<generateDoctor 1>><<generate2>><<person1>> A <<person>> dressed as an orderly approaches you. "Hello. The doctor has extra time today and wants you in for an extra treatment," <<he>> says. "Come with me please."<br> A <<person2>><<person>> stands behind you. <br><br> <<link [[Go with them|Asylum Fake Treatment Accept]]>><<handheldon>><</link>> <br> <<link [[Refuse to go|Asylum Fake Treatment Refuse]]>><<handheldon>><</link>><<physiquedifficulty 1 $physiquemax>> <br> <<elseif $rng gte 61>> <<generate1>><<person1>><<npcClothesType $NPCList[0] "patient">>You catch one of the other patients, a <<person>>, looking at you. <<He>> smiles. <br><br> <<link [[Flirt (0:02)|Asylum Flirt]]>><<handheldon>><<asylumstatus 1>><<pass 2>><</link>><<promiscuous1>><<gcool>> <br> <<link [[Ignore|Asylum]]>><<endevent>><</link>> <br> <<elseif $rng gte 21>> <<generate1>><<generatev2>><<person1>>One of the patients, a <<person>>, gropes one of the nurses, a <<person2>><<person>>. The nurse doesn't resist. <<He>> looks resigned. <br><br> <<link [[Intervene (0:02)|Asylum Intervene]]>><<handheldon>><<pass 2>><<suspicion -5>><<asylumstatus -5>><</link>><<llsuspicion>><<llcool>> <br> <<link [[Ignore|Asylum]]>><<endevent>><</link>> <br> <<else>> <<generate1>><<person1>><<generate2>>A <<person>>, a patient, runs past you and hides from view, just as a <<person2>><<person>> rounds the corner. <<Hes>> a nurse. <<He>> looks around, then at you. "Have you seen a <<person1>><<person>> by chance?" <br><br> <<link [[Truth|Asylum Truth]]>><<handheldon>><<suspicion -5>><<asylumstatus -5>><</link>><<llsuspicion>><<llcool>> <br> <<link [[Lie|Asylum Lie]]>><<handheldon>><<suspicion 5>><<asylumstatus 5>><</link>><<ggsuspicion>><<ggcool>> <br> <</if>> <<else>> <<link [[Next|Asylum]]>><<handheldon>><</link>> <br> <</if>> <</widget>> <<widget "passoutasylum">> <<if isPregnancyEnding()>> <<pregnancyPassout "asylum">> <<else>> <<passout>> <<link [[Everything fades to black...|Passout Asylum]]>><</link>> <</if>> <</widget>> <<widget "asylumescape">> <<set $asylumescaped to 1>> <<if $location is "tentworld">> <<set $asylumtentacleescape to 1>> /* unused */ <</if>> <<if C.npc.Robin.init is 1>> <<set $robinReunionScene to "asylum">> <</if>> <</widget>><<set $location to "bog">><<set $outside to 1>><<effects>> <<if !$bogProgress>> <<set $bogProgress to 1>> You follow the brook downstream until you come to the edge of a rocky outcrop. A wall of drenched leaves obscures the horizon ahead. <br><br> You carefully peer over the edge. You see a rickety wooden walkway at the bottom off to the right, worn by the trickle of water from the end of the brook. The water beyond is stagnant, but looks deep enough to jump into. <br><br> <span class="gold">You've discovered the bog.</span> <<else>> You follow the brook downstream, to the edge of the bog. <</if>> <br><br> <<if $harpy gte 6 or $angel gte 6 or $demon gte 6 or $fallenangel gte 2>> <<link [[Glide down (0:01)|Bog Intro Glide]]>><<pass 1>><</link>><<flight_text>> <br> <</if>> <<link [[Climb down (0:05)|Bog Intro Climb]]>><<pass 5>><</link>><<athleticsdifficulty 200 800>> <br> <<link [[Jump into the water (0:01)|Bog Intro Jump]]>><<pass 1>><</link>> <br><<effects>> You jump, falling several feet before the stagnant air catches your wings. You land hard, but unharmed, on the wooden walkway. <br><br> <<link [[Next|Bog]]>><<set $bogdepth to 4>><<set $bogwater to 0>><</link>> <br><<effects>> You clamber over the ledge and find purchase against the rock wall. <<if $athleticsSuccess>> <<unset $athleticsSuccess>> You take your time, slowly working your way down until <span class="green"> your feet touch the wooden walkway.</span> <br><br> <<if $worn.lower.name isnot "naked">> You dust off your hands on your $worn.lower.name. <<elseif $worn.upper.name isnot "naked">> You dust off your hands on your $worn.upper.name. <<else>> You dust off your hands. <</if>> <br><br> <<link [[Next|Bog]]>><<set $bogdepth to 4>><<set $bogwater to 0>><</link>> <br> <<else>> You take your time, slowly working your way down until <span class="red">you slip about half way</span>. You fall, plunging into the mire. <<pain 4>><<stress 12>><<trauma 6>><<gpain>><<gstress>><<gtrauma>> <br><br> <<water>> <<if Time.season is "winter">> The frigid water steals the breath from your lungs. You nearly gasp for breath on instinct, but manage to surface before doing so. <<else>> The water is murky and unpleasant. You surface, covered in stray plant matter. <</if>> <br><br> <<link [[Next|Bog]]>><<set $bogdepth to 4>><<set $bogwater to 1>><</link>> <br> <</if>><<effects>> You take a deep breath, a step back, and a moment to collect yourself. <br><br> With a running start, you leap over the precipice, clearing the walkway and plunging into the murky water. <br><br> <<water>> <<if Time.season is "winter">> The frigid mire steals the breath from your lungs. You nearly gasp for breath on instinct, but manage to surface before doing so. <<else>> You surface, covered in stray plant matter. <</if>> <br><br> <<link [[Next|Bog]]>><<set $bogdepth to 4>><<set $bogwater to 1>><</link>> <br><<set $location to "bog">><<set $outside to 1>><<effects>> You're in the bog between the forest and moor. <<if $bogwater gte 1>> <<water>><<set _bogmod to 1.5>> The water here is just shallow enough to stand in. <<else>> <<set _bogmod to 1>> A wooden pathway spares you from traversing the mire. <</if>> <<switch Weather.precipitation>> <<case "none">> <<switch Time.dayState>> <<case "dawn">> The low morning sun casts an enchanting light through the trees. <<case "day">> The sun's rays fight to pierce the canopy. <<case "dusk">> Strange shapes of light dance against the walkway and reflect from the water. <<case "night">> <<if Weather.bloodMoon>> The stagnant water reflects red light back into the canopy. <<else>> The stagnant water reflects just enough moonlight to allow you to see. <</if>> <</switch>> A stone tower is visible far in the distance, to the east. <<case "rain">> Rain drips in patches through the thick canopy, creating a percussive rhythm as it assails the path. <<case "snow">> The canopy catches most of the snow, creating a surreal <<if Weather.bloodMoon>>red<<else>>white<</if>> blanket above. <</switch>> <<if $bogdepth is 4>> A rocky cliff face blocks the way back to the forest. <span class="red">There's no way up.</span> <<elseif $bogdepth is 1>> The treeline is thin, and you can see the moor from here. <</if>> <br><br> <<if $arousal gte $arousalmax>> <<orgasmbog>> <</if>> <<if $stress gte $stressmax and !$possessed>> <<passoutbog>> <<else>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $eventskip is 0>> <<rng>> <<if $danger gte (9900 - ($allure * _bogmod))>> <<eventbog>> <<else>> <<eventbogsafe>> <</if>> <<else>> <<if $bogwater gte 1>> <<link [[Pull yourself back onto the walkway|Bog]]>><<set $bogwater to 0>><<set $eventskip to 1>><</link>> <br> <<else>> Follow the walkway <br> <<if $bogdepth lte 3>> <<foresticon>><<link [[West, towards the forest (0:10)|Bog]]>><<set $bogdepth += 1>><<pass 10>><</link>> <br> <</if>> <<if $bogdepth gte 2>> <<mooricon>><<link [[East, towards the moor (0:10)|Bog]]>><<set $bogdepth -= 1>><<pass 10>><</link>> <br> <<elseif $bogdepth lte 1>> <<mooricon>><<link [[East, into the moor (0:05)|Moor]]>><<set $bogdepth to 0>><<set $bogwater to 0>><<set $moor to 85>><<set $eventskip to 1>><<pass 5>><</link>> <br> <</if>> <</if>> <</if>> <</if>> <<set $eventskip to 0>><<effects>> You widen your posture and shoot a glare at the <<beasttype>>. <<if $physiqueSuccess>> <<bHe>> hisses and takes a few steps forward, <<bhis>> footfalls shaking the wooden slats. <span class="green"><<bHe>> stops short, seemingly deciding that you're more trouble than you're worth.</span> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><<endevent>><</link>> <br> <<else>> <span class="red"><<bHe>> charges you.</span> You turn to run, but <<bhe>> catches you almost immediately, dragging you into the water.<<silently>><<water>><</silently>> <br><br> <<link [[Next|Bog Lizard Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> You sprint away from the <<beasttype>>. <<bHis>> claws dig into the wood, and <<bhe>> charges. <<if $athleticsSuccess>> <span class="green">You run fast enough that the <<beasttype>> gives up.</span> You turn and see <<bhim>> slinking back into the mire. <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><<endevent>><</link>> <br> <<else>> <<water>> <span class="red">You're not fast enough.</span> The <<beasttype>> easily knocks you down, dragging you into the water.<<silently>><<water>><</silently>> <br><br> <<link [[Next|Bog Lizard Rape]]>><<set $molestationstart to 1>><<set $bogwater to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $water to 1>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bog Lizard Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bog Lizard Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> hisses <<bhis>> satisfaction, and dives back into the stagnant water. <<elseif $enemyhealth lte 0>> The <<beasttype>> hisses in pain and dives back into the stagnant water. <</if>> <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<molested>> <<controlloss>> <<tentaclestart 10 15 "root" "vine" true>> <<elseif $molestationstart is 2>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<consensual>> <<set $consensual to 1>> You draw them closer through the water. <<deviancy5>> <<set _randomtentacles to (6 + random(1, 10))>> <<tentaclestart _randomtentacles 15 "root" "vine" true>> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Bog Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bog Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> The vines lose interest in you, and retreat back into the canopy. <<tearful>> you untangle yourself from the plants and vines surrounding you. <<clotheson>> <<endcombat>> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br><<effects>> You travel along the <<switch $phase>> <<case 0>>last <<case 1>>first <<case 2>>second <<case 3>>third <<case 4>>fourth <<case 5>>fifth <<case 6>>sixth <<case 7>>seventh <<case 8>>eighth <<case 9>>ninth <</switch>> path. <<rng>> <<if $boglost gte 5>> <<pass 1 hour>><<pain 2>> You run. And run. More and more pathways sprout from the one you're on, almost like branches or the prongs of an impossibly large set of antlers. <br><br> <<link [[Stay the course (?:??)|Bog Lost Follow]]>><</link>><<willpowerdifficulty 600 1000>> <br> <<link [[Block everything out|Bog Lost Block]]>><<trauma 30>><</link>><<gggtrauma>> <br> <<elseif $rng lte 15>> The path begins to look familiar, even as the one behind you looks entirely different. You think you've found the correct way. <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <<else>> <<switch $boglost>> <<case 0>>You see no sign of your original route. <<case 1>>You don't recognise any landmarks. <<stress 6>><<gstress>> <<case 2>>Your heart begins to race. <<stress 12>><<ggstress>> <<case 3>>The trees themselves seem to change behind you as you walk. You double back, trying to find anything that will guide you. <<stress 12>><<ggstress>> <<case 4>>You run, directionless and lost. Nothing seems real. <<stress 12>><<ggstress>><<trauma 12>><<ggtrauma>> <</switch>> <<set $boglost++>> <br><br> More paths branch off ahead. <br><br> <<link [[Try to backtrack (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 0>><</link>> <br> <<link [[Follow the first path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 1>><</link>> <br> <<link [[Follow the second path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 2>><</link>> <br> <<link [[Follow the third path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 3>><</link>> <br> <<link [[Follow the fourth path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 4>><</link>> <br> <<link [[Follow the fifth path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 5>><</link>> <br> <<if $boglost gte 2>> <<link [[Follow the sixth path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 6>><</link>> <br> <<if $boglost gte 3>> <<link [[Follow the seventh path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 7>><</link>> <br> <<if $boglost gte 4>> <<link [[Follow the eighth path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 8>><</link>> <br> <<link [[Follow the ninth path (0:10)|Bog Lost]]>><<pass 10>><<set $phase to 9>><</link>> <br> <</if>> <</if>> <</if>> <</if>><<effects>> <<set _lost to random(80, 240)>> <<pass _lost>> <<if $willpowerSuccess>> You stay the course, and decide to follow this path to its end no matter what. You'll find a way out eventually, so long as you continue straight ahead. <br><br> Each side path splits into two more, and each of those into four. <span class="green">You ignore them.</span> Each one spirals into the unknown depths of the bog, tempting you. Each one looks more like salvation. <span class="green">You ignore them.</span> <br><br> The path ends ahead. You don't care. You continue to walk forward. <span class="green">Planks rise from the depths of the mire to meet your determined stride.</span> There is only one path, and it's ahead of you. <br><br> The trees begin to part. The bog spreads out before you. The path behind you is normal and unbroken. You won't fall prey to it again. <br><br> <<link [[Next|Bog]]>><<endevent>><<set $bogdepth to 1>><<set $eventskip to 1>><<set $boglost to 10>><</link>> <br> <<else>> You keep moving forward. Each side path splits into three more, and each of those into six. Each one spirals into the unknown depths of the bog, tempting you. Each one looks more like salvation. <span class="red">It's too much.</span> <br><br> Your mind tries to map each path, to make some rational sense of what's happening to you. It can't. Each pathway fights for your attention, forcing its way into your mind. There are too many. A lifetime isn't long enough to tread them all. One mind can't map their destinations. <br><br> You collapse in a heap, clutching your head. The path doesn't catch you. <br><br> <<water>> The water brings you back to your senses. You surface and gasp for breath, clinging to the side desperately. You pant, looking around. There is only one path. <br><br> You hoist yourself back up. <br><br> <<link [[Next|Bog]]>><<endevent>><<set $eventskip to 1>><<unset $boglost>><</link>> <br> <</if>><<effects>> Hundreds of pathways extend in every direction, twisting into utter darkness. Your ears ring. You cover them. <br><br> You collapse to your knees. The pathway isn't just below you anymore. Pathways extend in a spiral up thick tree trunks, down below the surface of the water, and upside-down above you in the canopy. <br><br> All at once, they begin to collapse. Planks of wood rain down, splashing into the water. Trees reclaim the treated wood into their bark, crushing them. The water swallows what remains, spreading rot and algae across their surfaces until they are nothing. <br><br> Your eyes lie. You shut them. <br><br> You steady your breathing. You don't know how long you kneel for. When you open your eyes, all that remains is the path ahead of you. <br><br> <<link [[Next|Bog]]>><<endevent>><<set $eventskip to 1>><<unset $boglost>><</link>> <br><<effects>> You know the bog's tricks. You step into the water ahead. The path reveals itself to you. You stay the course. <br><br> <<link [[Next|Bog]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> You grab the vine with both hands and take a step back, ready to make a running jump. <<if $rng gte 71 and $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<generatePlant1>><<person1>> <span class="green">You clear the distance and make it to the other side</span>, <span class="red">but your hands stick to the vine.</span> You swing back, unable to let go. <br><br> You gradually lose speed until you're hanging over the broken section. <span class="red">The vine begins to pull itself upwards into the canopy.</span> <br><br> "I've caught such a pretty little flower this time," you hear from above you. You look to the source. A <<person>> hangs upside-down from the canopy, with <<plant_details>> braided into <<his>> hair. "You're such a rare treat. Let me enjoy you for a while. Or I could drop you. Your choice." Countless vines shoot down and encircle you! <br><br> <<link [[Next|Bog Plant Suspended Sex]]>><<set $molestationstart to 1>><</link>> <br> <<elseif $athleticsSuccess>> You clear the distance and make it to the other side, <span class="green">landing without issue.</span> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <<else>> You can't hold on, and <span class="red">slip from it.</span> You plunge into the mire. <br><br> <<water>> <<link [[Next|Bog]]>><<set $bogwater to 1>><</link>> <br> <</if>><<effects>><<set $location to "bog">> <<generatePlant1>><<person1>> You wake up with a lurch forward and feel like you're falling. You move to arrest your fall, but find yourself completely entangled by vines. You're suspended in the air. You look down and see no solid ground below. It's a long drop into the water. <br><br> "Never thought I'd find such a pretty flower out here of all places," you hear from above you. You struggle against your bindings and manage to look to the source. A <<person>> hangs upside-down from the canopy, with <<plant_details>> braided into <<his>> hair. <<if $exposed lte 1>> Your $worn.lower.name <<lowerhas>> been <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>>lifted up<<else>>pulled down<</if>>, <<if !$worn.under_lower.type.includes("naked")>> and your $worn.under_lower.name <<underlowerhas>> been pulled aside,<</if>> <span class="pink">revealing your <<genitals>>.</span> <</if>> <<if $bogwater is 1>> "You exhausted yourself to the point of collapse, right in the middle of the bog. If not for me, you could have drowned! <<else>> "You exhausted yourself to the point of collapse. If not for me, you could have rolled right into the water and drowned! <</if>> <<set $bogwater to 0>> Naturally, I had to secure you to make sure you were safe." The vines around you tighten, as if by command. <<He>> moves through the canopy with ease, encircling you. It's hard to tell where <<he>> ends and the trees begin. <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>><<set $worn.lower.skirt_down to 0>><<else>><<set $worn.lower.state to "thighs">><</if>> <<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>> <<set $worn.under_lower.vagina_exposed to 1>><<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.exposed to 1>><<set $worn.under_lower.state to "thighs">> <br><br> "You're such a rare treat. Let me enjoy you for a while. Or I could drop you. Your choice." <br><br> <<link [[Next|Bog Plant Suspended Sex]]>><<set $molestationstart to 1>><</link>> <br><<if $sexstart is 1 or $molestationstart is 1>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>><<set $consensual to 1>> <<neutral 1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <</if>> <<maninit "plant">><<npcexpose>> <<set $enemyarousalmax to 800>> <<set _randomtentacles to random(10, 12)>> <<makeAbomination _randomtentacles 8 "vine" "vine" true>> <<set $tentacles[0].shaft to "tummy">> <<if $player.breastsize gte 2 and $chestuse is 0>> <<set $tentacles[1].shaft to "breasts">><<set $chestuse to "squeezed">> <<else>> <<set $tentacles[1].shaft to "chest">> <</if>> <<set $tentacles[2].shaft to "waist">> <<set $tentacles[3].shaft to "neck">><<set $head to "grappled">> <<set $tentacles[4].shaft to "leftleg">><<set $leftleg to "grappled">> <<set $tentacles[5].shaft to "rightleg">><<set $rightleg to "grappled">><<set $feettarget to "tentacles">> <</if>> <<effects>> <<effectsabomination>> <<abomination>> <<stateabomination>> <br><br> <<actionsabomination>> <<if _combatend or $tentacles.active lte 3>> <span id="next"><<link [[Next|Bog Plant Suspended Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bog Plant Suspended Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $tentacles.active lte 4>> The remaining tentacles aren't strong enough to hold you through <<his>> orgasmic spasms, and you drop into the water. <<water>> <br><br> "Oh dear, I've lost my catch!" A few more vines slither down and lift you from the water, gingerly placing you on the nearby walkway. "So sorry, little flower, I got carried away! I'll be more careful next time, come back soon!" <<else>> The <<if $tentacles.active lte $tentacles.max>>remaining <</if>>vines loosen, gently lowering you down and around the tree, onto the walkway. "Thanks for indulging me, little flower," the <<person>> chirps. "Come back soon!" <</if>> <br><br> <<He>> vanishes into the canopy, <<his>> vines following. <br><br> <<elseif $enemyhealth lte 0>> As you fight back, the <<persons>> tentacles all suddenly retract, letting you drop into the water. <<stress 12>><<pain 6>><<ggstress>><<gpain>> <<water>> <br><br> "This little flower is covered in thorns." <<He>> disappears into the canopy, nursing some new bruises. You pull yourself back up onto the walkway. <<elseif $tentacles.active lte 3>> The remaining tentacles can't hold up your weight, and you're dropped into the water. <<stress 12>><<pain 6>><<ggstress>><<gpain>> <<water>> <br><br> "Oh dear, I've lost my catch!" A few more vines slither down and lift you from the water, gingerly placing you on the nearby walkway. "So sorry, little flower, I got carried away! I'll be more careful next time, come back soon!" <br><br> <<He>> vanishes into the canopy, <<his>> vines following. <br><br> <<else>> The <<if $tentacles.active lte $tentacles.max>>remaining <</if>>vines loosen, gently lowering you down onto the walkway. "Thanks for indulging me, little flower," the <<person>> chirps. "Come back soon!" <br><br> <<He>> vanishes into the canopy, <<his>> vines following. <br><br> <</if>> <<tearful>> you gather yourself. <<clotheson>> <<endcombat>> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>><<effects>><<hallucinogen 40>> You awaken to the sound of wet sloshing. You shoot up straight, looking around. <<if Time.dayState is "night">> It's too dark to see anything. <<else>> You don't see the source. <</if>> <br><br> A shiver runs up your spine. You're not sure why, but you feel like you need to move. <<if $bogwater gte 1>> You wade through the water, pulling yourself up onto the walkway. <<else>> You scramble to your feet, trusting your instincts. <</if>> <br><br> You take a step back. Just in time. A muddy black appendage shoots up from the murky water, grasping at where your leg just was. <<stress 12>><<ggstress>> <br><br> From the darkness between the trees, dim pairs of yellow light flicker into existence. Dozens. Hundreds of limbs shoot up, grasping the walkway as if to make it one with the swamp. The wood creaks and groans. Masses of mud rise from the depths. A chorus of howling shrieks fills the dead air. <<trauma 30>><<gggtrauma>> <br><br> Adrenaline finally unfreezes your paralysed muscles, and you run. <br><br> <<link [[Next|Bog Passout 2]]>><</link>> <br><<effects>> You keep running. You don't know which way you're going. More shapes appear from the water ahead. More eyes peer from every direction. Your lungs burn. <br><br> You push onwards. The sounds are almost unbearable. Stars creep into your vision. The walkway pushes back against your feet, seemingly trying to wear you down. <br><br> You run until you throw yourself off the end of the walkway, tumbling into the moor. You look back into the bog, but see nothing pursuing you. <br><br> You collapse onto your back, exhaustion finally overtaking you. It takes some time to catch your breath and steady your nerves. <<gtiredness>><<tiredness 8>> <br><br> <<link [[Next|Moor]]>><<set $bogdepth to 0>><<set $bogwater to 0>><<set $moor to 85>><<set $eventskip to 1>><</link>> <br><<widget "passoutbog">> <<if isPregnancyEnding()>> <<set $bogdepth to 0>><<set $bogwater to 0>> <<pregnancyPassout "bog">> <<else>> You've pushed yourself too much. <<if $bogwater gte 1>> You barely manage to slump against a tree, saving yourself from sinking. <</if>> <br><br> <<passout>> <<set $danger to random(1, 10000)>> <<if $danger gte (9900 - $allure)>> <<if $rng gte 71 and $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<link [[Everything fades to black...|Bog Plant Tentacle Passout]]>><</link>> <<else>> <<link [[Everything fades to black...|Bog Passout]]>><</link>> <</if>> <<else>> <<ambulance>> <</if>> <</if>> <<pass 1 hour>> <<trauma 6>><<set $stress -= 2000>> <</widget>> <<widget "eventbog">> <<cleareventpool>> <<if $bogwater gte 1>> <<addinlineevent "bog_water_lizard">> The water bubbles. You're suddenly splashed as something big emerges right in front of you! <<beastNEWinit 1 lizard>> <<if $monster is 1 or $bestialitydisable is "f">> The scaled face of a <<beasttype>> eyes you hungrily. <<bHe>> leaps at you, dragging you under the surface. <br><br> <<link [[Next|Bog Lizard Rape]]>><<set $molestationstart to 1>><</link>> <br> <<else>> A large lizard grabs you in its maw. You manage to struggle free, but not unscathed. <<beastescape>> <br><br> you pull yourself back onto the walkway. <br><br> <<link [[Next|Bog]]>><<set $bogwater to 0>><<set $eventskip to 1>><</link>> <br> <</if>> <</addinlineevent>> <<addinlineevent "bog_water_tentacles">> <<if $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> Something grabs your ankle from under the water. Vines slither down from trees and across the surface. <br><br> <<link [[Struggle|Bog Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <<if hasSexStat("deviancy", 5)>> <<link [[Draw them closer|Bog Tentacles]]>><<set $molestationstart to 2>><</link>><<deviant5>> <</if>> <<else>> Something grabs your ankle from under the water. You try to push it off, but are quickly dragged under. <br><br> You continue to struggle, and eventually break free of whatever it is. You wade through the water to get away. <<stress 12>><<ggstress>><<trauma 6>><<ggtrauma>> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</if>> <</addinlineevent>> <<addinlineevent "bog_water_noise">> As you wade through the water, you hear a light splashing in the distance. You try to look, but there's nothing. You walk into a tangle of hanging vines in your distraction and panic for a brief moment. <<stress 12>><<ggstress>> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<addinlineevent "bog_water_tangle">> As you wade through the water, something snags on your foot. You pull, but it does not yield. Your other foot becomes tangled as you try to break free. <<stress 6>><<gstress>> <br><br> It takes some time, but you eventually manage to free yourself. <<pass 10>> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<if $parasitedisable is "f" and ($parasite.tummy.name is undefined or $parasite.bottom.name is undefined)>> <<addinlineevent "bog_water_parasite" 0.33>> <<if $parasite.tummy.name is undefined>> <<parasite tummy urchin>> You feel something stick to your stomach. <<else>> <<parasite bottom urchin>> You feel something stick to your bottom. <</if>> <span class="lewd">It starts to feel warm.</span> You try to pull it off, but it won't budge. <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <</if>> <<else>> <<addinlineevent "bog_lizard">> The water bubbles. You hear a loud splash as something big jumps onto the walkway. <<beastNEWinit 1 lizard>> <<if $monster is 1 or $bestialitydisable is "f">> The scaled face of a <<beasttype>> eyes you hungrily. <br><br> <<link [[Make yourself look bigger|Bog Lizard Stand]]>><</link>><<physiquedifficulty 6000 16000>> <br> <<link [[Run|Bog Lizard Run]]>><</link>><<athleticsdifficulty 0 700>> <br> <<else>> You flee, but not unscathed. <<beastescape>> <br><br> <<link [[Next|Bog]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>> <</addinlineevent>> <<addinlineevent "bog_noise">> As you walk, you hear a light splashing some distance behind you. You try to look, but there's nothing. You walk into a tangle of hanging vines in your distraction and panic for a brief moment. <<stress 12>><<ggstress>> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<addinlineevent "bog_gap">> You come to a broken section of the walkway. It's too far to jump, but there's a thick vine hanging down over the gap. <br><br> <<link [[Swing across|Bog Swing]]>><</link>><<athleticsdifficulty 100 600>> <br> <<link [[Swim|Bog]]>><<set $bogwater to 1>><</link>> <br> <</addinlineevent>> <<if $hallucinations gte 1>> <<addinlineevent "bog_lost">> Something's wrong with the path ahead. As you get closer, you notice that the wooden walkway abruptly ends. It doesn't look broken. It's as if this was the natural endpoint, with nothing but water beyond. <br><br> You turn around. <span class="red">The walkway branches off in several directions.</span> You can't even tell which way you came from. <br><br> <<if $boglost gte 10>> <<link [[Stay the course (0:05)|Bog Lost Stay]]>><<pass 5>><</link>> <br> <</if>> <<link [[Follow the first path (0:10)|Bog Lost]]>><<set $boglost to 0>><<pass 10>><<set $phase to 1>><</link>> <br> <<link [[Follow the second path (0:10)|Bog Lost]]>><<set $boglost to 0>><<pass 10>><<set $phase to 2>><</link>> <br> <<link [[Follow the third path (0:10)|Bog Lost]]>><<set $boglost to 0>><<pass 10>><<set $phase to 3>><</link>> <br> <<link [[Follow the fourth path (0:10)|Bog Lost]]>><<set $boglost to 0>><<pass 10>><<set $phase to 4>><</link>> <br> <</addinlineevent>> <</if>> <</if>> <<runeventpool>> <</widget>> <<widget "eventbogsafe">> <<cleareventpool>> <<addinlineevent "event_ambient">> <<eventAmbient>> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<if $bogwater gte 1>> <<addinlineevent "safebog_water_1">> Something brushes against your leg under the surface before darting away. <<stress 6>><<gstress>> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<addinlineevent "safebog_water_2">> A frog sits on a lilypad in front of you. It eyes you curiously before croaking. <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<else>> <<addinlineevent "safebog_spores">> A cluster of strange fungal pods cover a tree ahead. As you pass by, one of them releases a faint pink mist. You feel strange. <<hallucinogen 60>><<ghallucinogens>> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<addinlineevent "safebog_splash">> A loud splashing comes from your left. You look, but only see ripples in the water. <<stress 6>><<gstress>> <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<addinlineevent "safebog_walk">> The wooden path makes the journey easy. <br><br> <<link [[Next|Bog]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <</if>> <<runeventpool>> <</widget>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if Weather.isSnow>>Snow covers the ground around the cabin, painting the scenery a pure white. <</if>> A distinctive winter chill settles in you, causing you to shiver. When you find Eden, <<hes>> as busy as always. You call <<him>> over and hand <<him>> the hunting jacket. "Merry Christmas," you say. <br><br> Eden looks taken aback. "Is it Christmas already?" <<he>> asks. Taking the hunting jacket, <<he>> turns it over and inspects it, then goes to the cabin mirror and tries it on. Looks like you bought the right size. <br><br> "Thanks," <<he>> says. "I wasn't expecting anything." <br> <<if $speech_attitude is "meek">> "Well, y-you did say you didn't know it was Christmas today," you say. <<elseif $speech_attitude is "bratty">> "Makes sense, since you didn't know it was Christmas and all," you say. <<else>> "Well, you said you didn't realise it was Christmas," you say. <</if>> <br><br> Eden shoots you a look, but can't argue with your point. "I didn't prepare anything for you," <<he>> says. You're about to tell <<him>> that <<he>> didn't need to do anything, but <<he>> stops you. "Hang on." <br><br> <<if Time.hour lte 17>> "I've got an idea. <span class="green">Be here at six for dinner tonight.</span> I'll have something ready by then." <br><br> <<link [[Next|Eden Cabin]]>><<set $edenmeal to 1>><<endevent>><</link>> <<else>> "I've got an idea." <<He>> walks to the oven. <br><br> <<link [[Next|Eden Christmas Meal]]>><<endevent>><</link>> <</if>><<effects>> <<npc Eden>><<person1>>Eden busies <<himself>> with gathering ingredients, preparing something. You roam around the cabin, trying to peek over <<his>> shoulder or at least help <<him>> out. Your efforts are for naught though, as <<he>> insists that you let <<him>> handle everything tonight. As <<he>> starts cooking, a mouth-watering scent fills the cabin, adding to the anticipation of the moment. <br><br> <<He>> calls you to the table after a long wait. A beautiful meal for two is laid out. It looks as good as it smells. You look to Eden and <<he>> seems a bit worn out, but proud of <<himself>>. You think it's the most effort Eden's ever put into cooking before. <br><br> <<link [[Next|Eden Christmas Meal 2]]>><<pass 20>><</link>><<effects>><<set $eden_christmas_dinner to 1>><<set $daily.eden.dinner to 1>> You and Eden take a seat, and you try a bite of the food. It's delicious and bursting with flavour. You're about to take another bite, but stop when you notice that Eden isn't eating. In fact, <<he>> looks tense as <<he>> glances between you and the food. <br><br> It's not usual for <<him>> to be nervous. In an attempt to reassure <<him>>, you smile and compliment <<his>> work. <<He>> looks relieved by your words, and starts eating. <<He>> still seems doubtful. <br><br> You chat with Eden over the meal, attempting to lighten the mood. <<Hes>> as quiet as always, but seems more attentive than usual today. Halfway through, <<he>> looks up, as if just remembering something. Going to a nearby cabinet, <<he>> pulls out a fancy looking bottle of bourbon. You wonder how you've never seen it in the cabin before. <br><br> <<He>> goes back to the table and prepares two glasses. "Want some?" <<he>> asks. <br><br> <<if playerIsPregnant() and playerAwareTheyArePregnant()>> <span class="blue">You can't bring yourself to drink while you know you're with child.</span> <<else>> <<link [[Accept|Eden Christmas Meal 3]]>><<set $phase to 1>><</link>><<ggalcohol>> <</if>> <br> <<link [[Decline|Eden Christmas Meal 3]]>><<set $phase to 2>><</link>><<effects>> <<if $phase is 1>> You accept, and <<he>> pours a glass for you. The smooth taste of the drink compliments your meal perfectly. <<alcohol 120>> <<elseif $phase is 2>> You decline, and <<he>> shrugs. "More for me," <<he>> says, as <<he>> fills <<his>> glass. <</if>> <br><br> After you're done, <<he>> clears the table and invites you over to the fireplace. In the frosty cold of the winter season, the flames seem twice as warm. <<if $phase is 1>> Or maybe it's the alcohol causing the heat. <</if>> You turn to Eden, and <<he>> smiles at you, trailing <<his>> hand down your side. <<He>> rests your chin on <<his>> fingers, and moves <<his>> face closer to yours. <br><br> <<link [[Kiss Eden|Eden Christmas Sex]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $sexstart to 1>><</link>> <br> <<link [[Turn away|Eden Christmas Turn]]>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Christmas Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Christmas Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> You turn your face away from <<him>>. <<He>> looks surprised for a moment, but doesn't push it and goes back to holding you. <br><br> <<link [[Next|Eden Christmas Meal 4]]>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden embraces you and pulls you into <<his>> chest. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> "Really? Today, of all days?" <<he>> asks, exasperated. <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> leaves you by the fireplace. <br><br> <<clotheson>> <<endcombat>> <<elseif $finish is 1>> "Okay," <<he>> says. <<He>> doesn't push it and goes back to holding you. <br><br> <<clotheson>> <<endcombat>> <</if>> <br><br> <<link [[Next|Eden Christmas Meal 4]]>><</link>><<effects>> <<npc Eden>><<person1>> The two of you bask in the peaceful stillness of the night. In the glow of the flames, Eden looks almost ethereal. You look at <<him>>, entranced, until <<he>> breaks the silence. "I'd always spend my Christmas alone," <<he>> says, "but I'm glad you're here." You smile in response, and <<he>> gently weaves <<his>> hand through your hair, returning your gaze with <<his>> own. <br><br> "You're the best thing that's ever happened to me," <<he>> whispers, as <<he>> kisses your forehead. <<if Weather.isSnow>>Snow covers the ground around the cabin, but you no longer feel the biting chill. <<else>>You no longer feel the biting chill.<</if>> Instead, the warmth of Eden's love surrounds you as you lie pressed against <<his>> chest. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if C.npc.Eden.lust gte 26 and $daily.eden.breakfastLust isnot 1 and $phase lte 2>><<set $daily.eden.breakfastLust to 1>> <<if C.npc.Eden.dom gte 75>> While gathering ingredients in the kitchen, you feel a hand slide down to your <<genitals>>. Eden lays wet kisses along your neck, bringing <<his>> lips to your ear. "I've changed my mind," <<he>> says. "I want you instead." <<else>> While gathering ingredients in the kitchen, you feel a pair of hands slide up your waist. Eden brings <<his>> lips to your ear. "I've changed my mind," <<he>> says. "I want you instead." <</if>> <br><br> <<link [[Embrace Eden|Eden Breakfast Sex]]>><<handheldon>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>> <br> <<link [[Push Eden away|Eden Breakfast Push]]>><<handheldon>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>> <br> <<elseif $phase is 0>> <<wearProp "spatula">> You make Eden eggs the way you know <<he>> likes them. <<He>> sits at the table and you place the food in front of <<him>>. <<if Time.monthName is "November" and !$edenprepare>> <<set $edenprepare to 1>> <<set $edenwall to 0>> <<set $edenchimney to 0>> <<set $edenroof to 0>> As <<he>> reaches for the plate, <<he>> turns to you. "I'll start preparing the cabin for winter soon." Maybe you could help.<<glove>><<npcincr Eden love 1>> <<else>> <<if $housekeepingSuccess>> <span class="green"><<He>> eats without a word.</span><<glove>><<npcincr Eden love 1>> <<else>> <<He>> <span class="red">grimaces</span> at the first bite, but eats without a word.<<ghousekeeping 100>><<housekeeping 1 100>> <</if>> <</if>> <br><br> <<if $valentines is 1 and !$valentines_eden>><<set $valentines_eden to 1>> As you sit with Eden, you remember that Valentine's day is coming soon. Maybe you could buy something for Eden to celebrate. <br><br> <<elseif $halloween is 1 and !$halloween_eden>><<set $halloween_eden to 1>> You look out of the cabin window and stare at the autumn scenery. Seems Halloween is coming soon. Maybe you could buy some candy for Eden to celebrate. <br><br> <</if>> <<link [[Ask for a thank you|Eden Breakfast 2]]>><<handheldon>><<npcincr Eden dom -1>><<def 1>><<set $phase to 1>><</link>><<ldom>> <br> <<link [[Chat|Eden Breakfast 2]]>><<handheldon>><<trauma -6>><<stress -12>><<set $phase to 2>><</link>><<ltrauma>><<lstress>> <br> <<link [[Sit quietly|Eden Breakfast 2]]>><<handheldon>><<sub 1>><<set $phase to 3>><</link>> <br> <<if hasSexStat("promiscuity", 4)>> <<link [[Slip under the table|Eden Table Seduction]]>><<handheldon>><</link>><<promiscuous4>> <br> <</if>> <<elseif $phase is 1>> <<if $rng gte 81>> <<wearProp "spatula">> You cook the eggs a little differently to how <<he>> likes them, hoping the variety will spice things up a bit. <<elseif $rng gte 61>> <<wearProp "bacon">> You find some dried meat, which you think will be nice with some berries for desert. <<elseif $rng gte 41>> <<wearProp "carrot">> You boil some hearty root vegetables. <<elseif $rng gte 21>> <<wearProp "omelette">> You find some mushrooms and decide to make an omelette. <<else>> <<wearProp "blackberry">> You think some berries would make a tasty meal. <</if>> <<He>> sits at the table and you place the food in front of <<him>>. <<if Time.monthName is "November" and !$edenprepare>> <<set $edenprepare to 1>> <<set $edenwall to 0>> <<set $edenchimney to 0>> <<set $edenroof to 0>> As <<he>> reaches for the plate, <<he>> turns to you. "I'm planning to start preparing the cabin for winter." Maybe you could help. <<else>> "I prefer having the same every day," <<he>> says, but <<he>> eats regardless. <</if>> <br><br> <<if $valentines is 1 and !$valentines_eden>><<set $valentines_eden to 1>> As you sit with Eden, you remember that Valentine's day is coming soon. Maybe you could buy something for Eden to celebrate. <br><br> <<elseif $halloween is 1 and !$halloween_eden>><<set $halloween_eden to 1>> You look out of the cabin window and stare at the autumn scenery. Seems Halloween is coming soon. Maybe you could buy some candy for Eden to celebrate. <br><br> <</if>> <<link [[Ask for a thank you|Eden Breakfast 2]]>><<handheldon>><<npcincr Eden dom -1>><<def 1>><<set $phase to 1>><</link>><<ldom>> <br> <<link [[Chat|Eden Breakfast 2]]>><<handheldon>><<trauma -6>><<stress -12>><<set $phase to 2>><</link>><<ltrauma>><<lstress>> <br> <<link [[Sit quietly|Eden Breakfast 2]]>><<handheldon>><<sub 1>><<set $phase to 3>><</link>> <br> <<if hasSexStat("promiscuity", 4)>> <<link [[Slip under the table|Eden Table Seduction]]>><<handheldon>><</link>><<promiscuous4>> <br> <</if>> <<elseif $phase is 2>> <<if C.npc.Eden.love gte 1>> "Fine," <<he>> says. "I'll go hungry. It'll be your fault if I starve." <<if Time.monthName is "November" and !$edenprepare>> <<set $edenprepare to 1>> <<set $edenwall to 0>> <<set $edenchimney to 0>> <<set $edenroof to 0>> <<He>> turns to you. "By the way, I'm planning to start preparing the cabin for winter." Maybe you could help. <<else>> <<He>> continues grumbling awhile. <</if>> <br><br> <<if $valentines is 1 and !$valentines_eden>><<set $valentines_eden to 1>> You suddenly remember that Valentine's day is coming soon. Maybe you could buy something for Eden to celebrate. <br><br> <<elseif $halloween is 1 and !$halloween_eden>><<set $halloween_eden to 1>> You look out of the cabin window and stare at the autumn scenery. Seems Halloween is coming soon. Maybe you could buy some candy for Eden to celebrate. <br><br> <</if>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> "That wasn't a request," <<he>> says, standing and walking over to you. "I think you need a reminder of your place." <<He>> grabs you and bends you over <<his>> knee. <br><br> <<link [[Next|Eden Cabin Punishment]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <<elseif $phase is 3>> With the garden clear of weeds, you're able to harvest some delicious-looking vegetables. <<He>> sits at the table and you put the food in front of <<him>>. <<if Time.monthName is "November" and !$edenprepare>> <<set $edenprepare to 1>> <<set $edenwall to 0>> <<set $edenchimney to 0>> <<set $edenroof to 0>> As <<he>> reaches for the plate, <<he>> turns to you. "I'm planning to start preparing the cabin for winter." Maybe you could help. <<else>> <<He>> takes a bite, and <<his>> eyes widen. "This is good!" <<he>> says. "Are these from the garden? I didn't think that weedy patch of land had it in it." <</if>> <br><br> <<if $valentines is 1 and !$valentines_eden>><<set $valentines_eden to 1>> As you sit with Eden, you remember that Valentine's day is coming soon. Maybe you could buy something for Eden to celebrate. <br><br> <<elseif $halloween is 1 and !$halloween_eden>><<set $halloween_eden to 1>> You look out of the cabin window and stare at the autumn scenery. Seems Halloween is coming soon. Maybe you could buy some candy for Eden to celebrate. <br><br> <</if>> <<link [[Ask for a thank you|Eden Breakfast 2]]>><<npcincr Eden dom -1>><<def 1>><<set $phase to 1>><</link>><<ldom>> <br> <<link [[Chat|Eden Breakfast 2]]>><<trauma -6>><<stress -12>><<set $phase to 2>><</link>><<ltrauma>><<lstress>> <br> <<link [[Sit quietly|Eden Breakfast 2]]>><<sub 1>><<set $phase to 3>><</link>> <br> <<if hasSexStat("promiscuity", 4)>> <<link [[Slip under the table|Eden Table Seduction]]>><</link>><<promiscuous4>> <br> <</if>> <<elseif $phase is 4>> <<wearProp "omelette">> With so many mushrooms stored, you think it'd be fine to have some for breakfast. You cook them in an omelette. <<He>> sits at the table and you put the food in front of <<him>>. <<if Time.monthName is "November" and !$edenprepare>> <<set $edenprepare to 1>> <<set $edenwall to 0>> <<set $edenchimney to 0>> <<set $edenroof to 0>> As <<he>> reaches for the plate, <<he>> turns to you. "I'm planning to start preparing the cabin for winter." Maybe you could help. <<else>> "I prefer having the same every day," <<he>> says, but <<he>> eats regardless. <</if>> <br><br> After a short while, <span class="lewd"><<his>> face starts to flush.</span> "You need to be careful with the sort of mushrooms you cook with," <<he>> says. "Some of them have interesting effects. Not that you've done wrong, it tastes fine." <br><br> <<if $valentines is 1 and !$valentines_eden>><<set $valentines_eden to 1>> As you sit with Eden, you remember that Valentine's day is coming soon. Maybe you could buy something for Eden to celebrate. <br><br> <<elseif $halloween is 1 and !$halloween_eden>><<set $halloween_eden to 1>> You look out of the cabin window and stare at the autumn scenery. Seems Halloween is coming soon. Maybe you could buy some candy for Eden to celebrate. <br><br> <</if>> <<link [[Ask for a thank you|Eden Breakfast 2]]>><<handheldon>><<npcincr Eden dom -1>><<def 1>><<set $phase to 1>><</link>><<ldom>> <br> <<link [[Chat|Eden Breakfast 2]]>><<handheldon>><<trauma -6>><<stress -12>><<set $phase to 2>><</link>><<ltrauma>><<lstress>> <br> <<link [[Sit quietly|Eden Breakfast 2]]>><<handheldon>><<sub 1>><<set $phase to 3>><</link>> <br> <<if hasSexStat("promiscuity", 4)>> <<link [[Slip under the table|Eden Table Seduction]]>><<handheldon>><</link>><<promiscuous4>> <br> <</if>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 1>> You mock cough. <<He>> looks at you, bewildered for a moment before realising what you're after. "Oh. Thanks." <<He>> goes back to eating. <br><br> <<link [[Request headpats|Eden Breakfast 2]]>><<npcincr Eden love 1>><<set $phase to 4>><<trauma -6>><<stress -12>><</link>><<glove>><<ltrauma>><<lstress>> <br> <<link [[Chat|Eden Breakfast 2]]>><<trauma -6>><<stress -12>><<set $phase to 2>><</link>><<ltrauma>><<lstress>> <br> <<link [[Sit quietly|Eden Breakfast 2]]>><<sub 1>><<set $phase to 3>><</link>> <br> <<if hasSexStat("promiscuity", 4)>> <<link [[Slip under the table|Eden Table Seduction]]>><</link>><<promiscuous4>> <br> <</if>> <<elseif $phase is 2>> You try to chat with Eden, but <<he>> seems more interested in the food. You can tell <<hes>> listening though. "You can have the leftovers," <<he>> says, pushing the plate towards you. "I need to get ready." <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<elseif $phase is 3>> You sit still as Eden eats. <<He>> seems engrossed, until <<he>> glances at you. "You can have the leftovers," <<he>> says, pushing the plate towards you. "I need to get ready." <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> You rest your head on <<his>> shoulder. <<He>> takes the hint and starts stroking your hair. <<if $wolfgirl gte 4 and $transformationParts.wolf.ears isnot "hidden">> <<His>> fingers brush against your wolf ears and a small yelp escapes your lips. Drawn to your weak spot, <<he>> scratches behind your ear. Waves of pleasure jolt through your scalp, down your neck and through your spine. Your leg jerks. "You like it there, don't you." <<garousal>><<lstress>><<arousal 600>><<stress -12>><<arousal 1000>> <br><br> <<if $arousal gte $arousalmax>> <<orgasm>> The spasms subside, but leave you tired and as weak as a puppy. "My fault," <<he>> says, bemused. "I went too hard on you." <<He>> kisses your forehead and holds you close. <br><br> <<else>> Just when you feel like it's too much for you, <<he>> stops. <<He>> wraps <<his>> arm around you and just holds you for a few minutes. <</if>> <</if>> "I need to get ready," <<he>> says after a while. "You can finish the food." <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<effects>> <<if C.npc.Eden.love - (C.npc.Eden.lust * 2) gte 1>> You push Eden away from you. <<He>> frowns, but sighs and leaves you be. <br><br> <<link [[Next|Eden Breakfast]]>><</link>> <<else>> You push Eden away from you. <<He>> grabs your arm and pulls you closer. <br><br> <<link [[Next|Eden Breakfast Sex]]>><<set $molestationstart to 1>><</link>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Breakfast Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Breakfast Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden runs <<his>> hands through your hair, smiling faintly in thanks.<<lllust>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> leaves you alone by the stove. <<elseif $finish is 1>> <<He>> frowns, but sighs and leaves you be. <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<foodicon "pancakes">><<link [[Make the usual breakfast (0:20)|Eden Breakfast]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<pass 20>><<set $phase to 0>><<housekeeping 1 100>><</link>><<housekeepingdifficulty 1 100>><<gdom>> <br> <<if $housekeeping gte 100>> <<foodicon "eat">><<link [[Make something new (0:20)|Eden Breakfast]]>><<pass 20>><<set $phase to 1>><</link>> <br> <<if $edengarden gte 3>> <<tendingicon "carrot">><<link [[Use vegetables from the plot (0:20)|Eden Breakfast]]>><<wearProp "carrot">><<pass 20>><<set $phase to 3>><<npcincr Eden love 3>><</link>><<gglove>> <br> <</if>> <<if $edenshrooms gte 3>> <<tendingicon "mushroom">><<link [[Use mushrooms from the barrel (0:20)|Eden Breakfast]]>><<pass 20>><<wearProp "mushroom">><<set $phase to 4>><<npcincr Eden lust 30>><</link>><<ggglust>> <br> <</if>> <<else>> <<insufficientStat "housekeeping" "to make something more imaginative">> <br> <</if>> <<refuseicon>><<link [[Refuse|Eden Breakfast]]>><<npcincr Eden love -1>><<npcincr Eden dom -1>><<set $phase to 2>><</link>><<ldom>><<llove>><<effects>> <<set $seductiondifficulty to (10000 - (C.npc.Eden.lust * 200))>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> You rest your arms on <<his>> knees and <<if $pronoun is "f">>lift up <<his>> skirt<<else>>open <<his>> fly<</if>>, giving you a peek of <<his>> genitals. <<promiscuity4>> <<if $seductionrating gte $seductionrequired>> "I like the way you think," <<he>> says, pressing a hand against the back of your head and pushing you closer. <br><br> <<link [[Next|Eden Table Oral]]>><<set $sexstart to 1>><</link>> <br> <<else>> "What are you doing under there?" <<he>> asks. "Now's not the time you dirty <<girl>>, I need to get ready." You climb back on your seat. "You can finish the rest. I need to get ready." <<He>> pushes the plate towards you. <br><br> <i><<He>> will be more lusty, and easier to seduce, the longer <<hes>> gone without sex.</i> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>><<npcoral>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Table Oral Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Table Oral]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>><<npcincr Eden love 1>> "I knew I kept you around for a reason," <<he>> gasps.<<glove>><<lllust>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you climb out from under the table. <<elseif $finish is 1>> "You little tease," <<he>> says. "Don't get me worked up if you don't intend to go all the way." <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ Deciding to make some lunch for Eden, you whip up <<if $rng gte 81>> a fruit salad topped with berries. <<elseif $rng gte 61>> an egg frittata. <<elseif $rng gte 41>> some braised rabbit with a side of berries. <<elseif $rng gte 21>> a venison steak. <<else>> some roasted carrots. <</if>> <br><br> You walk outside to see Eden skinning <<his>> catch. <<He>> seems engrossed in <<his>> work, until you tap <<him>> on the shoulder and pass <<him>> the food. <br><br> <<He>> looks surprised when you do, but smiles at you in gratitude and kisses your forehead. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $speech_attitude is "meek">> "C-Could I join in?" you ask. <<elseif $speech_attitude is "bratty">> "Mind if I join?" you ask. <<else>> "Could I join?" you ask. <</if>> Eden raises <<his>> eyebrows at your change of heart, but moves over to give you some space anyway. <br><br> <<link [[Next|Eden Bath]]>><<set $phase to 0>><<strip>><<set $edenClothes to true>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $phase is 0>><<water>> <<if $edenClothes>> <<if $edenjoin is 1>> You remove your clothing as Eden eases <<himself>> into the bath. <<else>> You remove your clothing and climb in. <</if>> <<unset $edenClothes>> <</if>> <<if hasSexStat("exhibitionism", 4)>> Feeling comfortable with your nudity, you climb in with <<him>>. <<else>> <<covered>> You climb in with <<him>>. Unable to hold the sides, you almost slip. <</if>> <br><br> <<He>> reclines opposite you, enjoying the warmth and examining your body. <<wash>> <br><br> <<link [[Examine Eden in return|Eden Bath 2]]>><<set $phase to 0>><</link>> <br> <<link [[Wash Eden|Eden Bath 2]]>><<set $phase to 1>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Relax|Eden Bath 2]]>><<set $phase to 2>><<stress -12>><</link>><<lstress>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Eden Bath Seduction]]>><</link>><<promiscuous2>> <br> <</if>> <<elseif $phase is 1>> <<if C.npc.Eden.love gte 1>> "Suit yourself," <<he>> says, easing <<himself>> into the water. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> "I said get in," <<he>> says, marching over to you. "I think you need another lesson." <<He>> bends you over <<his>> knee. <br><br> <<link [[Next|Eden Cabin Punishment]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <</if>><<water>><<effects>> <<if $phase is 0>> You check out Eden's body. <<His>> muscles look very defined. <<He>> notices your gaze. "You can't avoid a body like this if you live like I do." <<He>> sounds almost ashamed. <br><br> <<link [[Reassure|Eden Bath 2]]>><<set $phase to 3>><<npcincr Eden love 1>><<npcincr Eden dom -1>><</link>><<ldom>><<glove>> <br> <<link [[Look away and pick up the sponge|Eden Bath 2]]>><<set $phase to 1>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Look away and relax|Eden Bath 2]]>><<set $phase to 2>><<stress -12>><</link>><<lstress>> <br> <<elseif $phase is 1>> <<wearProp "sponge">> <<if $soap gte 1>> <<set $soap -= 1>> You pick up the sponge and soap, waving it. Eden turns <<his>> back to you and you get to scrubbing. <<else>> You pick up the sponge and wave it. Eden turns <<his>> back to you and you get to scrubbing. <</if>> <<if $exhibitionism lt 55>> You feel more comfortable about your nudity with <<his>> back turned. <</if>> <br><br> <<if C.npc.Eden.love gte 150>> <<if $soap gte 1>> Just as you're about to place the sponge and soap aside, Eden grabs your wrist in a secure but gentle grip. <<else>> Just as you're about to place the sponge aside, Eden grabs your wrist in a secure but gentle grip. <</if>> "Do you want me to wash you too?" <<he>> asks. <br><br> <<if !$edenbathintro>> <<link [[Say yes|Eden Bath Wash Intro]]>><<handheldon>><<set $edenbathintro to 1>><</link>> <<else>> <<link [[Say yes|Eden Bath Wash]]>><<handheldon>><</link>> <</if>> <br> <<link [[Say no|Eden Bath Wash No]]>><</link>> <<else>> The water starts to get cold after a while. "You can get out now, I'd like to stretch out anyway." You see no reason to complain. <br><br> <<link [[Next|Eden Cabin]]>><<clotheson>><<unset $edenjoin>><<endevent>><</link>> <</if>> <<elseif $phase is 2>> You lean back and relax, letting the warmth seep into your muscles. <br><br> The water starts to get cold after a while. "You can get out now, I'd like to stretch out anyway." You see no reason to complain. <br><br> <<link [[Next|Eden Cabin]]>><<clotheson>><<unset $edenjoin>><<endevent>><</link>> <<elseif $phase is 3>> <<if $speech_attitude is "meek">> "You look amazing," you say. <<elseif $speech_attitude is "bratty">> "Don't be silly," you say. "People would kill for a body like yours." <<else>> "You look good," you say. <</if>> <br><br> <<He>> smiles, "Thanks." <br><br> <<link [[Wash Eden|Eden Bath 2]]>><<set $phase to 1>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Relax|Eden Bath 2]]>><<set $phase to 2>><<stress -12>><</link>><<lstress>> <br> <</if>><<water>><<effects>> You blink in slight surprise at Eden's sudden offer, but nod and hand the sponge<<if $soap gte 1>> and soap<</if>> to <<him>>. <br><br> Turning around, you release a sigh as <<he>> scrubs it over your skin. The sensation of <<his>> firm hands sliding over your muscles is surprisingly relaxing, and you find your eyes closing as you sink into <<his>> arms. <br><br> Leaning back against <<him>>, you feel yourself drift off as Eden trails the sponge over your body. <<His>> hands roam from your back, to your chest, and down to your legs. <br><br> With each stroke, you feel the stress of the day melt away from <<his>> touch, and you let out an involuntary moan in response. Eden chuckles softly at the sound, <<his>> gaze tender as <<he>> traces <<his>> eyes over your form. <<stress -1>><<lstress>> <br><br> <<link [[Next|Eden Bath Wash Intro 2]]>><<pass 30>><</link>><<water>><<effects>> You wake up some time later, head resting on Eden's chest. The water feels much colder now, and you can't help but wonder why <<he>> hasn't left the tub yet. Then again, with the warmth of <<his>> arms wrapped around you, you don't really mind. <br><br> Feeling you shift, Eden glances down at you, slowly stroking your thigh. "I thought I'd let you sleep," <<he>> says. It's almost like <<he>> read your mind. <br><br> Even as the sky darkens, you can't help but sink into <<his>> embrace, the both of you not wanting to leave each other just yet. Pressed against <<him>>, the thumping of Eden's heart is only accompanied by the occasional sound of the water sloshing about. <br><br> "Thanks," you say, shifting yourself even closer to Eden. Your voice rings clear through the peaceful serenity of the cabin. <<Hes>> silent, but you feel <<his>> hand slide up from your thigh, until <<he>> intertwines <<his>> fingers with yours. It takes a second, but <<he>> gives your hand a gentle squeeze. With your ear pressed against <<his>> chest, you swear you can hear <<his>> heart beat faster, and you smile. In the midst of the silence, <<hes>> just told you a thousand words. <br><br> <<link [[Next|Eden Bath Wash Intro 3]]>><</link>><<water>><<effects>> As content as the both of you are to remain in the moment, the day's not over yet. Pulling away, Eden assists you in climbing out of the water, and you take a moment to stabilise yourself as your unsteady feet hit the floor. After grabbing a towel, <<he>> helps dry you off, giving your forehead a quick peck before walking to the kitchen. <br><br> <span class = "gold">Eden will now offer to wash you at high love.</span> <br><br> <<link [[Next|Eden Cabin]]>><<clotheson>><<unset $edenjoin>><<endevent>><</link>><<water>><<effects>> You turn your back to Eden, handing <<him>> <<if $soap gte 1>> the sponge and soap. <<else>> the sponge. <</if>> <<if $rng gte 81>> You let out a sigh as Eden glides <<his>> firm hands over your body. <<elseif $rng gte 61>> You suppress a giggle as <<he>> brushes <<his>> hands over a ticklish area. You're not sure, but you think <<hes>> smiling. <<elseif $rng gte 41>> The rest of the world fades away as you lose yourself to the feeling of <<his>> touch. <<elseif $rng gte 21>> Your eyes shut briefly as you focus on the sensation of <<his>> scrubbing. <<else>> The warmth of the water and the feel of Eden's hands almost make you doze off. <</if>> <<stress -1>><<lstress>> <br><br> The water starts to get cold after a while. "You can get out now, I'd like to stretch out anyway." You see no reason to complain. <br><br> <<link [[Next|Eden Cabin]]>><<clotheson>><<unset $edenjoin>><<endevent>><</link>><<water>><<effects>> You shake your head, and Eden releases <<his>> grip. <br><br> The water starts to get cold after a while. "You can get out now, I'd like to stretch out anyway." You see no reason to complain. <br><br> <<link [[Next|Eden Cabin]]>><<clotheson>><<unset $edenjoin>><<endevent>><</link>><<water>><<effects>> <<set $seductiondifficulty to (10000 - (C.npc.Eden.lust * 200))>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> You kick some water at <<him>>, and almost flash your <<genitals>>. <<promiscuity2>> <<if $seductionrating gte $seductionrequired>> <<He>> takes the hint, grabbing your legs and pulling you closer. <br><br> <<link [[Next|Eden Bath Sex]]>><<set $sexstart to 1>><</link>> <br> <<else>> "Not right now," <<he>> says. "I just want to rest." <br><br> <i><<He>> will be more lusty, and easier to seduce, the longer <<hes>> gone without sex.</i> <br><br> <<link [[Wash Eden|Eden Bath 2]]>><<set $phase to 1>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Relax|Eden Bath 2]]>><<set $phase to 2>><<stress -12>><</link>><<lstress>> <br> <</if>><<water>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<npcexpose>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<if $NPCList[0].penis is "clothed">> <<set $NPCList[0].penis to 0>> <</if>> <<if $NPCList[0].vagina is "clothed">> <<set $NPCList[0].vagina to 0>> <</if>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Bath Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Bath Sex]]>><</link>></span><<nexttext>> <</if>><<water>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>><<npcincr Eden love 1>> "You're such a dirty <<girl>>, I love it," <<he>> says.<<glove>><<lllust>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "Maybe the warm water will help." <br><br> <<tearful>> you recline in the bath. Eden doesn't bother you again, nor does <<he>> speak much. <<elseif $finish is 1>> "You little tease," <<he>> says. "Don't get me worked up if you don't intend to go all the way." <</if>> <br><br> <<wash>> The water starts to get cold after a while. "You can get out now, I'd like to stretch out anyway." You see no reason to complain. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><<unset $edenjoin>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 1>> You walk over to the dining table. It looks like you're having <<if $rng gte 81>> a venison filet with chestnuts <<elseif $rng gte 61>> rabbit pie <<elseif $rng gte 41>> roasted root vegetables <<elseif $rng gte 21>> sautéed mushrooms with garlic <<else>> rabbit stew <</if>> tonight. <br><br> You take a seat next to Eden and smile at <<him>> in thanks. <br><br> <<He>> faintly smiles back. It seems <<he>> appreciates the company. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<elseif $phase is 2>> You tell Eden that you'll eat later. <<He>> seems disappointed, but doesn't push it and goes back to eating alone. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>> */ <<if $trauma gte 4500 and $edentraumaintro isnot 1>> <<set $edentraumaintro to 1>> Embers crackle in the fireplace, casting an orange glow on Eden. The wooden floor creaks as you approach <<him>>, and <<he>> holds an arm to you in anticipation. As you snuggle into <<his>> hold, <<he>> turns <<his>> head to you and tenses. <<He>> briefly looks away, seemingly trying to find the words for something. After a few seconds, <<he>> faces you. <br><br> "Are you okay?" <<he>> asks. <br><br> <<link [[Nod|Eden Cuddle Trauma Nod]]>><</link>> <br> <<link [[Be honest|Eden Cuddle Trauma Honest]]>><<set $edentraumaagree to 1>><<npcincr Eden dom 3>><</link>><<ggdom>> <<else>> <<if $edencushions is 2 and $edenloveseat is 9>> Snuggling together on the loveseat, you and Eden watch the fire. <<trauma -5>><<stress -6>><<lltrauma>><<llstress>> <<elseif $edenpillow is 2>> Snuggling together against the pillows, you and Eden watch the fire. <<trauma -3>><<stress -3>><<ltrauma>><<lstress>> <<else>> You snuggle up to Eden and <<he>> holds you close. Together you watch the fire. <</if>> <br><br> <<if Time.hour isnot 0>> <<if $trauma gte 500 and $edentraumaagree is 1>> <<socialiseicon>><<link [[Talk about your trauma (0:30)|Eden Cuddle Trauma Talk]]>><<trauma -6>><<stress -6>><<pass 30>><<npcincr Eden dom 1>><</link>><<ltrauma>><<lstress>><<gdom>> <br> <</if>> <<socialiseicon>><<link [[Talk to Eden|Eden Cuddle Talk]]>><<npcincr Eden love 1>><</link>> <br> <<couchicon>><<link [[Keep cuddling (0:30)|Eden Cuddle]]>><<trauma -3>><<stress -6>><<pass 30>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>><<lstress>> <br> <<if Time.days % 2 is 0>> <<if $eden_shoot gte 1>> <<edenicon "target">><<link [[Practise shooting (0:30)|Eden Shoot]]>><<pass 30>><<stress -3>><</link>><<lstress>> <br> <<else>> <<edenicon "target">><<link [[Say you want to learn how to shoot (0:05)|Eden Shoot Ask]]>><<pass 5>><</link>> <br> <</if>> <<else>> <<schoolicon "library">><<link [[Ask Eden to read to you (0:30)|Eden Read]]>><<pass 30>><<trauma -3>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>> <br> <</if>> <<getouticon>><<link [[Stand up|Cabin Eden Actions]]>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ You tell Eden about the traumatic events you've faced. <<He>> holds you in <<his>> arms the entire time. <br><br> <<if Time.hour isnot 0>> <<if $trauma gte 500 and $edentraumaagree is 1>> <<ind>><<link [[Keep talking about your trauma (0:30)|Eden Cuddle Trauma Talk]]>><<trauma -6>><<stress -6>><<pass 30>><<npcincr Eden dom 1>><</link>><<ltrauma>><<lstress>> <br> <</if>> <<ind>><<link [[Talk to Eden|Eden Cuddle Talk]]>><<npcincr Eden love 1>><</link>> <br> <<ind>><<link [[Cuddle (0:30)|Eden Cuddle]]>><<trauma -3>><<stress -6>><<pass 30>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>><<lstress>> <br> <<if Time.days % 2 is 0>> <<if $eden_shoot gte 1>> <<edenicon "target">><<link [[Practise shooting (0:30)|Eden Shoot]]>><<pass 30>><<stress -3>><</link>><<lstress>> <br> <<else>> <<edenicon "target">><<link [[Say you want to learn how to shoot (0:05)|Eden Shoot Ask]]>><<pass 5>><</link>> <br> <</if>> <<else>> <<schoolicon "library">><<link [[Ask Eden to read to you (0:30)|Eden Read]]>><<pass 30>><<trauma -3>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>> <br> <</if>> <<getouticon>><<link [[Stand up|Cabin Eden Actions]]>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> You nod slightly. Eden looks worried, but doesn't push you. <<His>> hold seems slightly tighter than usual. <br><br> <<link [[Keep cuddling (0:30)|Eden Cuddle]]>><<trauma -3>><<stress -6>><<pass 30>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>><<lstress>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> You tell Eden about your grievances. It starts out small at first. You begin by describing how you've been continuously approached. Somehow, in the minutes that pass, the conversation spirals into you detailing about the suffering you've gone through. About how you're so overwhelmed by everything. You're vaguely aware that you've started crying. <br><br> Eden's touch brings you back to reality. <<He>> gently swipes <<his>> thumb over your cheeks in an attempt to dry them. You look up at <<him>> through your sobs. Though blurred by tears, <<his>> face is still visible. A storm of emotions swirl in <<his>> eyes. <<He>> pulls you into <<his>> chest as your crying subsides. You breathe in <<his>> scent. It's comforting. <br><br> <<link [[Next|Eden Cuddle Trauma Honest 2]]>><<npcincr Eden dom 1>><</link>><<gdom>><<set $outside to 0>><<set $location to "cabin">><<effects>> You and Eden stay curled up by the fire for some time. The silence is only broken by the crackling of embers and your sniffling. Eventually, Eden tries to speak. <<He>> stutters through <<his>> words, starting and breaking off sentences. After a few attempts, <<he>> manages to get something out. <br><br> "I don't know what to say." <<His>> voice sounds disbelieving, sad, and angry. You're not sure if <<his>> anger is directed at your attackers, or at <<himself>>. "I should have been there," <<he>> says, holding you tighter. "I should have protected you." Tighter. "I should have shot anyone who even tried to touch you." <<His>> hold is almost painful now. "I should have-" You wince at the strength of <<his>> embrace. Eden immediately loosens <<his>> hold on you and goes quiet again. <br><br> It takes a bit, but you eventually summon the energy to speak. In a whisper, you tell <<him>> that it's okay. That <<he>> doesn't need to blame <<himself>> for anything you went through. Eden pulls a conflicted expression at your words. "I don't know how to help you," <<he>> says. "I wish I could have done something. Anything." <<He>> starts to squeeze you again, but stops <<himself>>. You could be imagining it, but it feels like <<his>> arms are trembling. <br><br> <<if $speech_attitude is "meek">> "Y-you're talking to me now," you say. "That counts." <<elseif $speech_attitude is "bratty">> "You're talking to me now," you say. "That's something." <<else>> "At least you're talking to me now," you say. <</if>> <br><br> Eden laughs. <<He>> sounds defeated. <br><br> <<link [[Next|Eden Cuddle Trauma Honest 3]]>><<npcincr Eden dom 1>><</link>><<gdom>><<set $outside to 0>><<set $location to "cabin">><<effects>> "I don't want you leaving again," <<he>> says. You look up at <<him>>. "It's too dangerous." You frown at <<his>> words. <br><br> <<if $speech_attitude is "meek">> "I-I can't do that," you say. <<elseif $speech_attitude is "bratty">> "You know I can't do that," you say. <<else>> "I can't do that," you say. <</if>> <br> "Why not?" <<he>> asks. "You have everything you need here." <br> <<if $speech_attitude is "meek">> "I-I have obligations." You avoid <<his>> gaze. "You're being selfish." <<elseif $speech_attitude is "bratty">> "I have obligations in town. Making me stay here is selfish." <<else>> "I have obligations. It's selfish to make me stay." <</if>> <br> "I'm being selfish?" <<He>> sounds exasperated. "I'm trying to protect you!" <br> <<if $speech_attitude is "meek">> "I-I know" you whisper. "But, I'll have to go back eventually." <<elseif $speech_attitude is "bratty">> "I know, but that doesn't change anything. I'll still have to go back eventually." <<else>> "I know, but I'll still have to go back eventually." <</if>> <br><br> Eden tries to retort, but looks away and sighs. "Fine," <<he>> says. "I won't stop you." You smile weakly at <<him>> and bury your face in <<his>> chest. <<He>> strokes your hair in response. For a moment, the both of you stay silent, content to remain tangled in each other's arms. The peace is momentarily broken by the sound of Eden's voice. "I'm here if you need me," <<he>> says. You nod. The two of you watch the embers crackle into the night. <br><br> <i>You can now talk to Eden if your trauma is too high.</i> <br><br> <<link [[Next|Eden Cuddle]]>><<npcincr Eden dom 1>><</link>><<gdom>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ <<if $rng gte 95>> You ask Eden about the town. <<He>> tenses. "That place is dangerous. I mean it." <<He>> pulls you closer. "Stay away." <<elseif $rng gte 90>> You ask Eden about the forest. "It's nice here," <<he>> says, "but it gets lonely." You tell Eden that you're here with <<him>> now. <<He>> smiles. <<elseif $rng gte 85>> You talk to Eden about the fire. <<He>> stokes the embers as you speak. "Nights in the forest can be cold," <<he>> says. "So enough firewood is a must." <<elseif $rng gte 80>> You ask Eden about <<his>> family. "Nothing to say." <<He>> avoids your gaze. <<elseif $rng gte 75>> You ask Eden where <<he>> got <<his>> old fishing magazine. "An old friend," <<he>> says. <br><br> <<if $speech_attitude is "meek">> "W-who was it?" you ask. <<elseif $speech_attitude is "bratty">> "Who was your friend?" you ask. <<else>> "Who was it?" you ask. <</if>> <br><br> Eden says nothing, but chuckles and pulls you closer. <<elseif $rng gte 70>> You ask Eden about <<his>> name. "It means paradise," <<he>> says, holding you closer. <span class="green">You feel a sense of safety and peace in <<his>> arms.</span><<trauma -1>><<stress -1>><<lstress>><<ltrauma>> <<elseif $rng gte 65>> You ask Eden about <<his>> cabin. "It's a little bare, but it's home," <<he>> says. <<elseif $rng gte 60>> You ask Eden about <<his>> crops. "It can be hard," <<he>> admits, "but it's rewarding in its own way." <<elseif $rng gte 55>> You ask Eden about mushrooms. "It's nice to not have to wander too far for them," <<he>> says. <<elseif $rng gte 50>> You tell Eden that the scent of <<him>> skinning prey makes you queasy. <<He>> chuckles. "You'll get used to it after a while." <<elseif $rng gte 45>> You ask Eden about the forest animals. "Wild animals are dangerous." <<He>> pulls you closer. "Stay near the cabin." <<elseif $rng gte 40>> You ask Eden about reading. "It helps pass the time," <<he>> says. <<elseif $rng gte 35>> You ask Eden about how long <<hes>> lived in the forest. "Some time," <<he>> says. <<He>> doesn't elaborate. <<elseif $rng gte 30>> You ask Eden about school. <<He>> shrugs. "I've always been more of a hands-on learner." <<elseif $rng gte 25>> You ask Eden about <<his>> gun. "I've had it for a while," <<he>> says. <<elseif $rng gte 20>> You ask Eden about hunting. "It's a necessity out here," <<he>> says. <<elseif $rng gte 15>> <<if $edenradiointro is 2>> You ask Eden about the radio. "Never thought of myself as a dancer before that," <<he>> chuckles. <<else>> You ask Eden about dancing. <<He>> raises <<his>> eyebrows at your question. "Don't have much experience," <<he>> says. <</if>> <<elseif $rng gte 10>> You ask Eden about <<his>> extra gardening plot. "Never needed it," <<he>> says. "You're free to use it if you want." <<elseif $rng gte 5>> You ask Eden about the spring. "It gets hard to maintain, so I never bothered," <<he>> says. <<else>> You ask Eden about supply shopping. <<He>> sighs. "Wouldn't do it if I could." <</if>> <br><br> <<if Time.hour isnot 0>> <<couchicon>><<link [[Keep cuddling (0:30)|Eden Cuddle]]>><<trauma -3>><<stress -6>><<pass 30>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>><<lstress>> <br> <<if Time.days % 2 is 0>> <<if $eden_shoot gte 1>> <<edenicon "target">><<link [[Practise shooting (0:30)|Eden Shoot]]>><<pass 30>><<stress -3>><</link>><<lstress>> <br> <<else>> <<edenicon "target">><<link [[Say you want to learn how to shoot (0:05)|Eden Shoot Ask]]>><<pass 5>><</link>> <br> <</if>> <<else>> <<schoolicon "library">><<link [[Ask Eden to read to you (0:30)|Eden Read]]>><<pass 30>><<trauma -3>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>> <br> <</if>> <<getouticon>><<link [[Stand up|Cabin Eden Actions]]>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<set $edenBook to 1>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ <<if $phase is 0>> You snuggle up to Eden, and <<he>> holds you close. <<He>> reads to you in the firelight, <<else>> Eden reads to you in the firelight, <</if>> <<if $rng gte 81>> from a worn book about the forest. It describes rites still conducted at ancient ruins.<<ghistory>><<historyskill>><<genglish>><<englishskill>> <<elseif $rng gte 61>> <<set _eden_romance_novel to true>> from a romance novel. You notice <<he>> skips over the lewder passages. Is <<he>> blushing?<<genglish>><<englishskill>><<glust>><<npcincr Eden lust 1>> <<elseif $rng gte 41>> from a book about wilderness survival. <<He>> keeps interrupting <<himself>> with tangents about <<his>> own experiences. Some of it is interesting.<<genglish>><<englishskill>><<gscience>><<scienceskill>> <<elseif $rng gte 21>> from an old fishing magazine. You wonder where <<he>> got it. <<else>> from a Victorian novel. It drags on a bit, but Eden seems to like it. You might have dozed off.<<genglish>><<englishskill>><<ltiredness>><<tiredness -3>> <</if>> <br><br> <<if Time.hour isnot 0>> <<if _eden_romance_novel is true>> <<link [[Tease|Eden Read Tease]]>><<npcincr Eden lust 1>><<npcincr Eden love 1>><</link>><<glust>><<glove>> <br> <<link [[Insist Eden read it all (0:30)|Eden Read Insist]]>><<pass 30>><<def 1>><<npcincr Eden lust 5>><</link>><<gglust>> <br> <<link [[Just keep listening (0:30)|Eden Read]]>><<pass 30>><<trauma -3>><<npcincr Eden love 1>><<set $phase to 1>><</link>><<glove>><<ltrauma>> <br> <<else>> <<link [[Keep listening (0:30)|Eden Read]]>><<pass 30>><<trauma -3>><<npcincr Eden love 1>><<set $phase to 1>><</link>><<glove>><<ltrauma>> <br> <</if>> <<link [[Stand up|Cabin Eden Actions]]>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>> <br><<effects>> You tease Eden, and call <<his>> bashfulness cute. <br><br> "I just didn't realise how dirty some of these books were," <<he>> protests. <br><br> <<if Time.hour isnot 0>> <<link [[Keep listening (0:30)|Eden Read]]>><<pass 30>><<set $phase to 1>><</link>><<glove>><<ltrauma>> <br> <<link [[Stand up|Cabin Eden Actions]]>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<effects>> <<if $awareness gte 1>> <<if $speech_attitude is "meek">> "You don't need to be bashful for my sake," you say. "You can read it all." <<elseif $speech_attitude is "bratty">> "You keep skipping the good bits," you say. "Let's hear it all." <<else>> "You don't need to skip bits," you say. "I want to hear it." <</if>> <<else>> "Why are you leaving bits out?" you ask. "They can't be that boring. Let me hear them." <</if>> <br><br> Eden assents, but hesitates before each lewd passage, as if making sure they aren't too licentious. Or maybe <<hes>> building up the courage. <<His>> blush deepens as <<he>> reads. <br><br> <<if Time.hour isnot 0>> <<link [[Keep listening (0:30)|Eden Read]]>><<pass 30>><<trauma -3>><<npcincr Eden love 1>><<set $phase to 1>><</link>><<glove>><<ltrauma>> <br> <<link [[Stand up|Cabin Eden Actions]]>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<effects>> <<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ <<if $phase is 0>> You go to the radio and turn the dials, searching for a signal. When music starts playing, you pull Eden towards you and dance with <<him>>. <<else>> Time seems to fly by as you gaze into each other's eyes. <</if>> <<if $rng gte 81>> <<He>> lifts you by your waist and spins you in the air, before lowering you to the ground. <<elseif $rng gte 61>> You lean into Eden's chest, and <<he>> pulls you closer. <span class="green">In <<his>> unyielding and secure embrace, you feel safe.</span><<stress -1>><<trauma -1>><<lstress>><<ltrauma>> <<elseif $rng gte 41>> <<He>> almost steps on your feet a few times, and curses to <<himself>>. You smile at <<him>> in encouragement, and <<he>> smiles back. <<elseif $rng gte 21>> In a daring move, <<he>> pulls you into a dip. You stare at <<him>> in shock for a moment, before <<he>> pulls you back up and continues dancing like nothing happened. <<else>> You giggle as <<he>> twirls you around. <<Hes>> a bit clumsy, but <<he>> smiles. <</if>> <br><br> <<if Time.hour isnot 0>> <<edenicon "radio">><<link [[Keep dancing (0:30)|Eden Dance]]>><<trauma -3>><<stress -3>><<danceskill 5>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 1>><<set $phase to 1>><</link>><<glove>><<glust>><<ltrauma>><<lstress>><<gdanceskill>> <br> <<ind>><<link [[Seduce Eden|Eden Dance Seduce]]>><<npcincr Eden lust 5>><<arousal 600>><</link>><<glust>><<garousal>> <br> <<if Time.days % 2 is 0>> <<if $eden_shoot gte 1>> <<edenicon "target">><<link [[Practise shooting (0:30)|Eden Shoot]]>><<pass 30>><<stress -3>><</link>><<lstress>> <br> <<else>> <<edenicon "target">><<link [[Say you want to learn how to shoot (0:05)|Eden Shoot Ask]]>><<pass 5>><</link>> <br> <</if>> <<else>> <<schoolicon "library">><<link [[Ask Eden to read to you (0:30)|Eden Read]]>><<trauma -3>><<pass 30>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>> <br> <</if>> <<getouticon>><<link [[Stop dancing|Cabin Eden Actions]]>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<effects>> You press your body closer to Eden, and slide your hand down <<his>> stomach. <br><br> <<if C.npc.Eden.lust gte 20>> <<His>> eyes darken, grabbing your hand and guiding you to the floor. <br><br> <<link [[Next|Eden Dance Sex]]>><<set $sexstart to 1>><</link>> <br> <<else>> "Not now," <<he>> chuckles, grabbing your arm and winding it around <<his>> neck. <br><br> <i><<He>> will be more lusty, and easier to seduce, the longer <<hes>> gone without sex.</i> <br><br> <<link [[Next|Eden Dance]]>><<trauma -3>><<stress -3>><<danceskill 5>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 1>><<set $phase to 1>><</link>><<glove>><<glust>><<ltrauma>><<lstress>><<gdanceskill>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Dance Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Dance Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>><<npcincr Eden love 1>> Eden kisses your forehead before helping you back to your feet.<<glove>><<lllust>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> walks away, leaving you by the radio. <<elseif $finish is 1>> <<His>> eyebrows furrow in frustration, but <<he>> pulls away from you, helping you stand. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br><<effects>> <<set $outside to 0>><<set $location to "cabin">><<effects>> <<wearProp "salve">> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ <<if !$daily.eden.salveUse and $salve gte 1 and Time.hour isnot 0>> <<set $daily.eden.salveUse to 1>> <<set $salve -= 1>> You bring a jar of salve to the fireplace and rub some onto your hands. <</if>> <<switch $daily.eden.massage>> <<case 0>> You focus your attention on Eden's calves. They're taut with strain, and you work firmly to release the tension there. <<case 1>> Eden's shoulders are scrunched with tension, you decide to focus your attention there. <<case 2>> Working your way lower, you note that <<his>> shoulder blades are just as tightened with tension as <<his>> shoulders. You carefully work to undo the knots and kinks along them. <<case 3>> You roll your hands across the taut muscles of Eden's large arms. As you tend to the strains of <<his>> daily chores, you feel them slacken in relief. <<case 4>> Moving back along Eden's strong arms, you arrive at <<his>> upper back. Here you work diligently and firmly along the rough muscles with your knuckles. <<case 5>> Finally, you arrive at the core of Eden's lower back. Much of <<his>> lifting strength comes from here, and as quick and gentle exploration reveals, many of <<his>> muscles are strained and knotted with tension. The muscular kinks below <<his>> skin are as stubborn as <<he>> is, and you find yourself in a fierce battle to free them. Your fingers dig deep and rub until you hear <<his>> muscles lightly pop in release, and Eden lets loose a low dusky moan of satisfaction and utter relief. <<default>> /* something went wrong, probably the var got unset in the middle of event, happens at midnight */ Before you can get anything done, <<if currentSkillValue("handskill") gte 800>>even with your amazing skills,<</if>> you feel your hands getting tired. <<tiredness 12>><<ggtiredness>> <<set $daily.eden.massage to 5>> <</switch>> <br><br> <<if Time.hour isnot 0>> <<if $daily.eden.massage isnot 5>> <<edenicon "salve">><<link [[Keep massaging (0:30)|Eden Massage]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 3>><<set $daily.eden.massage += 1>><</link>><<glove>><<gglust>> <</if>> <br> <<if Time.days % 2 is 0>> <<if $eden_shoot gte 1>> <<edenicon "target">><<link [[Practise shooting (0:30)|Eden Shoot]]>><<handheldon>><<pass 30>><<stress -3>><</link>><<lstress>> <br> <<else>> <<edenicon "target">><<link [[Say you want to learn how to shoot (0:05)|Eden Shoot Ask]]>><<handheldon>><<pass 5>><</link>> <br> <</if>> <<else>> <<schoolicon "library">><<link [[Ask Eden to read to you (0:30)|Eden Read]]>><<handheldon>><<trauma -3>><<pass 30>><<npcincr Eden love 1>><</link>><<glove>><<ltrauma>> <br> <</if>> <<getouticon>><<link [[Stop massaging|Cabin Eden Actions]]>><<handheldon>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Firewood Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Firewood Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if C.npc.Eden.love - (C.npc.Eden.lust * 2) gte 1>> You turn away from <<him>>, making your disapproval of <<his>> actions clear. "I'm working hard out here," <<he>> says. "You could be more considerate." <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<else>> You turn away from <<him>>, making your disapproval of <<his>> actions clear. <<He>> grabs your neck and turns your head to face <<him>>. "I'm working hard out here," <<he>> says. "The least you could is show some appreciation." <br><br> <<link [[Next|Eden Firewood Sex]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<npc Eden>><<person1>> <<effects>> <<if Time.hour gte 0 and Time.hour lte 6>> You take a seat by the dining table, watching as Eden snores under the covers. The dying embers of the fire cast a distant glow on <<his>> form. <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>> <<elseif Time.hour lte 8>> You take a seat by the dining table, watching Eden prepare for the day. <<He>> spends some time washing up by the sink. <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>> <<elseif Time.hour lte 16>> You take a seat by the dining table, staring out the window. The trees of the forest sway gently in the clearing. <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>> <<elseif Time.hour lte 17>> <<if $daily.eden.bath isnot 1>> You take a seat by the dining table, watching Eden enter through the front door. <<He>> walks to the bathroom, preparing to run a bath. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <<else>> You take a seat by the dining table, looking in the direction of the bathroom. Eden stretches out in the tub, relaxing in the water. <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>> <</if>> <<elseif Time.hour lte 18 and $daily.eden.dinner isnot 1 and C.npc.Eden.love gte 100>> You relax by the window, watching as Eden prepares dinner. When <<hes>> done, <<he>> brings the food to the dining table. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <<else>> <<if Time.days % 2 is 0>> You take a seat by the dining table, watching as Eden cleans <<his>> gun by the fire. The scene is oddly calming.<<stress -1>><<lstress>> <<else>> You take a seat by the dining table, watching as Eden reads by the fire. The scene is oddly calming.<<stress -1>><<lstress>> <</if>> <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>> <</if>><<effects>> <<if Time.hour gte 9 and Time.hour lte 10>> You relax under the porch, watching as Eden tends to the crops. Every once in a while, you catch <<him>> brushing a few strands of stray hair from <<his>> face. <<elseif Time.hour is 15>> You settle down next to Eden as <<he>> skins <<his>> prey. The smell is much stronger now that you're up close, and you shift your attention to Eden to distract yourself. <<elseif Time.hour is 16>> You relax under the porch, watching as Eden chops firewood. Beads of sweat drip down <<his>> toned body as <<he>> works. <<else>> You relax under the porch, listening to the gentle sounds of the forest. It's calming.<<stress -1>><<lstress>> <</if>> <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> "I'm glad I have you around," <<he>> says. <<He>> picks up <<his>> axe and returns to <<his>> chopping.<<lllust>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you hide behind a tree. <<elseif $finish is 1>> "I guess I do need to get back to work," <<he>> says. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Clearing]]>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> You get on your hands and knees and start tugging up weeds at their roots. Some are rooted deep. <<physique 6>><<set $edengarden += 1>> <<pass 3 hours>> <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure)>> <<if $rng gte 51 and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> The vines around you animate into life. You try to stand but they wrap around your wrists, forcing you to remain on your knees. <br><br> <<link [[Struggle|Clearing Weeding Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <<link [[Soothe|Clearing Weeding Soothe]]>><</link>><<tendingdifficulty 1 1200>> <br> <<elseif (Time.hour gt 6 and Time.hour lt 11) or Time.hour gt 14>> <!-- eden is already generated on passages that lead here <<npc Eden>><<person1>> -->Eden creeps up behind you, making you jump in fright. <<He>> leans on your back, preventing you from standing up. "Why don't you stay right there," <<he>> says, reaching around you and fondling your <<groin>>. <br><br> <<link [[Let Eden continue|Clearing Fondle]]>><<npcincr Eden love 1>><<sub 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>><<garousal>> <br> <<link [[Shove Eden off|Clearing Shove]]>><<npcincr Eden love -3>><<def 1>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>> <br> <<else>> You work for a few hours. You stand back to admire the result. It looks much better than when you started. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <</if>> <<else>> You work for a few hours. You stand back to admire the result. It looks much better than when you started. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <</if>><<effects>> You hum a gentle tune. <<if $tendingSuccess>> <span class="green">The tendrils loosen,</span> releasing your limbs. They disappear into the soil. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<else>> <span class="red">It's no use.</span> The tendrils tighten around you. <br><br> <<link [[Next|Clearing Weeding Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "cabin">> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<molested>> <<controlloss>> <<tentaclestart 4 15 "vine" "vine" true>> <<set $tentacles[0].shaft to "leftarm">><<set $leftarm to "tentgrappled">><<set $lefttarget to "tentacles">> <<set $tentacles[1].shaft to "rightarm">><<set $rightarm to "tentgrappled">><<set $righttarget to "tentacles">> <<set $timer to 50>> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Clearing Weeding Tentacles Finish]]>><</link>></span><<nexttext>> <<elseif $timer lte 0>> <span id="next"><<link [[Next|Clearing Weeding Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Clearing Weeding Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> The roots lose interest in you, and disappear into the soil. <<tearful>> you untangle yourself from the plants and vines surrounding you. <<clotheson>> <<endcombat>> You step back and look at the result. The plot is in a much better state, at least. <br><br> <<link [[Next|Eden Clearing]]>><</link>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if !$worn.lower.type.includes("naked")>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> <<if playerChastity()>> <<He>> reaches beneath your $worn.lower.name and starts probing your $worn.genitals.name. "You're such a little slut, I bet I can make you cum even with this thing on." <<else>> <<He>> reaches beneath your $worn.lower.name and starts touching you directly. <</if>> <<else>> <<if playerChastity()>> <<He>> reaches beneath your $worn.lower.name and starts probing your $worn.genitals.name. "You're such a little slut, I bet I can make you cum even with this thing on." <<else>> <<He>> reaches into your $worn.lower.name and starts touching you directly. <</if>> <</if>> <<elseif !$worn.under_lower.type.includes("naked") and !playerChastity()>> <<He>> reaches into your $worn.under_lower.name and starts touching you directly. <<elseif playerChastity()>> <<He>> starts probing your $worn.genitals.name. "You're such a little slut, I bet I can make you cum even with this thing on." <<else>> <<He>> continues to stroke and fondle your <<genitals>>. <</if>> <br><br> "I've heard that sexual fluids are good for plants," <<he>> says. "I like the idea, anyway. Let's test it. <<if $arousal gte ($arousalmax / 5) * 4>> You're wet already, so this won't take long." <<else>> Just relax and let me work." <</if>> <br><br> <<set _genitalsLockedAway to (!$player.penisExist or playerChastity("penis")) and (!$player.vaginaExist or playerChastity("vagina"))>> <<if _genitalsLockedAway and $analdisable is "f" and !playerChastity("anus")>> You feel <<his>> finger circle your anus. The rough calluses against your <<bottom>> make you shiver. The tip of <<his>> finger presses into you. You flinch on instinct. <<He>> grabs your hip to hold you still. <<if C.npc.Eden.lust lte 30>><<His>> thumb rubs soothing circles on your hip bone<<else>><<His>> thumb digs into you hard enough to bruise<</if>>. "Stay still," <<he>> <<if C.npc.Eden.lust lte 30>>says<<else>>warns<</if>>. <br><br> You quiver as <<he>> pushes <<his>> finger deeper. You can feel <<his>> every twitch as <<he>> <<if $player.penisExist>> probes your prostate<<else>> rubs your walls<</if>>. Heat coils in your <<genitals 1>>, and you reach for your $worn.genitals.name. <br><br> Eden chuckles. Without warning, <<he>> pushes in a second finger. You grit your teeth against the wave of pleasure that hits you. It sends you over the edge. <<elseif _genitalsLockedAway>> <<He>> <<if C.npc.Eden.lust lte 30>>sensually<<else>>roughly<</if>> strokes <<his>> hands along the outside of your hips. You shiver at the feel of <<his>> strong, calloused hands on your smooth skin. <br><br> <<if playerChastity("anus") and $analdisable is "f">> "You really must be a slut if they have to keep you locked up like this," <<he>> says. <<His>> finger strokes over your anal shield. <<if C.npc.Eden.lust lte 30>>"Tell me if you want it off."<<else>>"I might just have to rip it off you." <<gstress>><<stress 5>><</if>> <br><br> <</if>> <<He>> moves <<his>> hands to your <<breasts>>. <<He>> <<if C.npc.Eden.lust lte 30>>gives a gentle squeeze<<else>>squeezes roughly<</if>>. Your face burns with embarrassed arousal. <<garousal>><<arousal 600 "breasts">> <br><br> <<if $arousal gte ($arousalmax / 5) * 4>> "Like that?" <<he>> asks, <<else>> "Not enough?" <<he>> asks, <</if>> giving another squeeze. "I'm just getting started." <<He>> rubs circles around your nipples until they harden. <<He>> pinches them, and you gasp. You can feel <<his>> <<if C.npc.Eden.penis isnot "none">>erection<<else>>wetness<</if>> against your back. A reciprocal bolt of arousal strikes you. <<arousal 600 "breasts">> <<if $arousal lte ($arousalmax / 5) * 4>> <br><br> Despite <<his>> best efforts, it's not quite enough to bring you to orgasm, and you whimper when <<he>> moves <<his>> hands away. "Maybe you're just not in the mood," <<he>> says. <br><br> <<if $speech_attitude is "meek">> "N-no, please don't stop," you beg. <<elseif $speech_attitude is "bratty">> "Hey, you started this," you say. "You better finish it." <<else>> "Please don't stop now," you say. "I'm so close." <</if>> <br><br> "You little whore," <<he>> says, smacking your hip in frustration. "Maybe I should just break this off and give you a proper seeing to." <<gstress>><<stress 5>> <br><br> <<He>> stomps away, leaving you alone amid the weeds. <<set _givesUp to true>> <</if>> <<else>> <<if $player.penisExist and !playerChastity("penis")>> <<He>> holds your <<penis>> in <<his>> palm while running <<his>> thumb up and down your length. <<He>> occasionally pauses to rub the head with a fast, circular motion. <<if $player.virginity.penile is true>> "I'm saving your penis virginity for a special occasion." <<He>> plays with your prepuce too. "But knowing me, I'll take it before then. It's not my fault you look so tasty." <</if>> <</if>> <<if $player.vaginaExist and !playerChastity("vagina")>> <<He>> pushes a finger into your <<pussy>>, but doesn't go very deep. <<His>> thumb rubs your <<clit>> with a fast, circular motion. <<if $player.virginity.vaginal is true>> "I'm saving your pussy virginity for a special occasion." <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <<He>> prods where your hymen should be and gives you an odd look. <<else>> <<He>> prods your hymen. "But knowing me, I'll take it before then. It's not my fault you look so tasty." <</if>> <</if>> <</if>> <</if>> <br><br> <<if !_givesUp>> <<arousal 10000>> <<orgasm>> "Good <<girl>>, give these plants a nice drink," <<he>> says as your body convulses. <<He>> holds you firm in place, making sure your fluids land on the soil. <<He>> kisses you on the cheek as your orgasm subsides. "That wasn't so bad, was it?" <<tearful>> you struggle to your feet. Eden is gone. <br><br> The plot looks tidier at least. <br><br> <</if>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> You shove Eden away from you and stand up. "What's the matter?" <<He>> smiles. "I was just rewarding you for the work you've done out here." <<He>> pats your head. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> <<switch $edenwall>> <<case 0>> You seal up a few of the cracks, but the walls are far from fixed. <<case 1>> Another crack sealing session leaves the walls sturdier, but you still have a ways to go. <<case 2>> You work on the cracks a bit more, and the walls look mostly fixed, but some cracks still remain. <<case 3>> You continue working on the cracks. The walls are almost fully repaired. <<default>> You seal up the last few cracks. You knock on the walls a few times to test its sturdiness. <</switch>> <<physique 3>> <<pass 3 hours>> <br><br> <<set $edenwall += 1>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure) and C.npc.Eden.lust gte 26 and ((Time.hour gt 6 and Time.hour lt 11) or Time.hour gt 14)>> As you step back to look at your work, you feel a pair of hands grab your shoulders, before you're turned around and pressed against the wall. Eden presses <<himself>> between your thighs, trailing kisses down your neck. <br><br> <<link [[Kiss Eden|Eden Wall Sex]]>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<gdom>><<glove>> <br> <<link [[Push Eden away|Eden Wall Push]]>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<ldom>><<lllove>> <<else>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>> <br><<effects>> You push Eden away from you. <<His>> eyes harden in frustration, but <<he>> leaves you alone. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Wall Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Wall Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden buries <<his>> head in your neck, giving it a quick kiss. "Thanks," <<he>> says, walking away. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> walks away, leaving you by the cabin walls. <<elseif $finish is 1>> <<He>> pulls away from you, helping you back to your feet. "Call me if you need help," <<he>> says, walking away. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> <<wearProp "sponge">> <<switch $edenchimney>> <<case 0>> You scrub away at the chimney, soot sloughing off in waves. You work until you are too tired to continue, then examine your efforts. The chimney is still filthy, but looks better than before. <<case 1>> You scrub the bricks of the chimney, washing away months of soot. You give yourself breaks for fresh air every few minutes. When you are done, the chimney is still dirty. <<case 2>> You continue to scrub away at the chimney. While it's demanding work, you're at least making visible progress. <<case 3>> You keep scrubbing at the chimney. It looks mostly clean, but a bit of soot still remains. <<default>> You scrub a bit longer until the chimney is fully cleaned. <</switch>> <<physique 4>> <<pass 3 hours>> <br><br> <<set $edenchimney += 1>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure) and C.npc.Eden.lust gte 26 and ((Time.hour gt 6 and Time.hour lt 11) or Time.hour gt 14)>> Attempting to squeeze out of the chimney, your arms get caught at your sides, leaving you stuck. In a panic, you cry out to Eden for help. You hear footsteps approach, before a strong pair of hands grab your waist and pull. In the struggle, you inadvertently grind up against Eden multiple times, <<if $NPCList[0].penis isnot "none">> feeling <<his>> <<print $NPCList[0].penisdesc>> harden. <<else>> hearing <<his>> breath pick up. <</if>> When you come loose, the both of you topple onto the floor, and Eden wastes no time in pinning you down. <br><br> <<link [[Kiss Eden|Eden Chimney Sex]]>><<handheldon>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<gdom>><<glove>> <br> <<link [[Push Eden away|Eden Chimney Push]]>><<handheldon>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<ldom>><<lllove>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>> <br><<effects>> You push Eden away from you. <<His>> eyes harden in frustration, but <<he>> leaves you alone. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Chimney Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Chimney Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden buries <<his>> head in your neck, giving it a quick kiss. "Thanks," <<he>> says, walking away. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> walks away, leaving you alone by the chimney. <<elseif $finish is 1>> <<He>> pulls away from you, helping you back to your feet. "Call me if you need help," <<he>> says, walking away. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> <<wearProp "hammer" 0 "basic">> <<switch $edenroof>> <<case 0>> The roof of the cabin is unkept, with quite a few rotted or damaged shingles that need total replacement. You look over to the ladder Eden brought, and prepare to climb. Once on top, you pull out some loose shingles and toss them to the ground. <<case 1>> You pull out more loose shingles and replace them with new ones. They stick out, but they'll at least keep out the rain and snow. There's still more to do. <<case 2>> You pick up a claw hammer. There's a patch of shingles damaged from a large fallen tree branch. You dig the hammer in, and pull. Eventually, you pull out the last of the caved in shingles, and look proudly on your work. <<case 3>> You get to work patching the hole in the roof left by the caved in shingles. It's easy work, but time consuming. <<default>> You lay out new shingles over the patched roof, and in time, your work is done. You look across the roof, amazed that you finished it all by yourself. <</switch>> <<physique 4>> <<pass 3 hours>> <br><br> <<set $edenroof += 1>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure) and C.npc.Eden.lust gte 26 and ((Time.hour gt 6 and Time.hour lt 11) or Time.hour gt 14)>> As you start to climb down, you feel the ladder shift slightly. Looking down, you notice Eden holding onto it, helping stabilise it. <<He>> nods to you, watching you make your descent. When you step off, Eden wraps <<his>> arms around your waist, pulling you into <<his>> chest. "How about taking a break?" <<he>> asks. <br><br> <<link [[Kiss Eden|Eden Roof Sex]]>><<handheldon>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<gdom>><<glove>> <br> <<link [[Push Eden away|Eden Roof Push]]>><<handheldon>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<ldom>><<lllove>> <<else>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>> <br><<effects>> You push Eden away from you. <<His>> eyes harden in frustration, but <<he>> leaves you alone. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Roof Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Roof Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden buries <<his>> head in your neck, giving it a quick kiss. "Thanks," <<he>> says, walking away. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> walks away, leaving you alone by the ladder. <<elseif $finish is 1>> <<He>> pulls away from you, helping you back to your feet. "Call me if you need help," <<he>> says, walking away. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> <<wearProp "mushroom">> Though you've no doubt you'd have more luck finding mushrooms in the forest proper, there's still room for fungi to grow in the clearing. You search at the base of tree stumps and the large trees growing at the outskirts of the clearing. <br><br> <<set $edenshrooms += 1>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure)>> <<if $rng gte 81>> <<transform wolf 3>> After an hour you realise you've gathered quite a haul. Eden should be happy, but you feel angry for no discernible reason. You hope all the mushrooms you gathered are safe. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<elseif $rng gte 41>> <<drugs 120>> After an hour you realise you've gathered quite a haul. Eden should be happy, but you feel light-headed. You hope all the mushrooms you gathered are safe. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<else>> <<alcohol 120>> After an hour you've gathered quite a haul. Eden should be happy, but you feel a strange warmth. You hope all the mushrooms you gathered are safe. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <</if>> <<else>> After an hour you realise you've gathered quite a haul. Eden should be happy. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $edenspring is 0>> <<wearProp "handheld net">> You pick up the net you assume is meant for this purpose and start fishing the debris from the spring. It's so messy you don't know where to start, but you leave the spring a little clearer than you found it. <<elseif $edenspring is 1>> You haul out the larger branches that have sunk to the bottom of the spring. <<elseif $edenspring is 2>> <<wearProp "handheld net">> You use the net to guide the floating branches to the edge, where you can remove them with ease. <<else>> <<wearProp "handheld net">> You scoop up the twigs with the net. When you're done, the spring is crystal clear. <</if>> <<physique 2>> <<pass 30>> <br><br> <<set $edenspring += 1>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><span id = "clearingHeaterExamine"> <<clearingHeaterExamine>> </span> <br><br> <<getouticon>><<link [[Back|Eden Clearing]]>><<endevent>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<strip>> <<water>> <<if Weather.waterTemperature lte 5>> <<set _edenSpringTempDesc to "absolutely freezing">> <<set _edenSpringStress to 6>> <<elseif Weather.waterTemperature lte 15>> <<set _edenSpringTempDesc to "uncomfortably cold">> <<set _edenSpringStress to 4>> <<elseif Weather.waterTemperature lte 25>> <<set _edenSpringTempDesc to "cool and refreshing">> <<set _edenSpringStress to -6>> <<elseif Weather.waterTemperature lte 35>> <<set _edenSpringTempDesc to "comfortably warm">> <<set _edenSpringStress to -6>> <<else>> <<set _edenSpringTempDesc to "nice and hot, steam rising from the water">> <<set _edenSpringStress to -8>> <</if>> <<if $phase lte 0>> The cliff face curves around the spring, hiding you from the rest of the clearing. You undress and slip into the water. It's <<print _edenSpringTempDesc>>. <<stress _edenSpringStress>> <<else>> The springwater is <<print _edenSpringTempDesc>>. <<if Weather.waterTemperature lte 15>> It's too cold for you to relax. <<else>> You lie back, close your eyes, and relax. <</if>> <</if>> <<wash>> <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure) and C.npc.Eden.lust gte 26 and ((Time.hour gt 6 and Time.hour lt 11) or Time.hour gt 14)>> <<npc Eden>><<person1>> You're disturbed by a whistling. You open your eyes in alarm. Eden stands at the edge of the spring. <<covered>> "I don't bother keeping this place clear any more," <<he>> says as <<he>> undresses. "It's so much work. I'm glad you feel different." <<He>> jumps in, splashing you. <<npcexpose>> <br><br> <<if C.npc.Eden.dom gte 75>> <<He>> emerges behind you and pulls you into <<his>> chest. "There's something else you can do for me." <<He>> trails a hand downwards, toying with your <<genitals>>. <<else>> <<He>> emerges behind you and wraps <<his>> arms around your waist. "There's something else you can do for me." <<He>> licks your cheek. <</if>> <br><br> <<set $edenFluidsCheck to "clean">> <<link [[Push away|Clearing Spring Push]]>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>> <br> <<link [[Let Eden have you|Clearing Spring Sex]]>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<promiscuous1>><<gdom>><<glove>> <br> <<else>> <<ind>><<link [[Stay in the spring (0:30)|Clearing Spring]]>><<pass 30>><<stress _edenSpringStress>><<set $phase to 1>><</link>> <<if Weather.waterTemperature lte 5>> <<ggstress>> <<elseif Weather.waterTemperature lte 15>> <<gstress>> <<elseif Weather.waterTemperature lte 35>> <<lstress>> <<else>> <<llstress>> <</if>> <br> <<skinicon "masturbate">><<link [[Masturbate|Clearing Spring Masturbation]]>><<handheldruined true true>><<set $masturbationstart to 1>><</link>> <br> <<getouticon>><<link [[Get out|Eden Clearing]]>><<endevent>><<clotheson>><</link>> <</if>><<set $outside to 1>><<set $location to "cabin">><<water>><<effects>> You press your hand against <<his>> face and push <<him>> away. <<if C.npc.Eden.love - (C.npc.Eden.lust * 2) gte 1>> "You wanna be like that?" <<he>> says. "Fine. Don't forget who looks after you though. You should show more respect." <<He>> swims to the shore and climbs out. <<He>> doesn't bother dressing before walking back to the cabin. <br><br> <<endevent>> <<ind>><<link [[Stay in the spring (0:30)|Clearing Spring]]>><<pass 30>><<stress -6>><<set $phase to 1>><</link>><<lstress>> <br> <<getouticon>><<link [[Get out|Eden Clearing]]>><<endevent>><<clotheson>><</link>> <<else>> <<He>> swats your arm away and pulls you into <<him>>. <br><br> <<link [[Next|Clearing Spring Sex]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<water>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<if $NPCList[0].penis is "clothed">> <<set $NPCList[0].penis to 0>> <</if>> <<if $NPCList[0].vagina is "clothed">> <<set $NPCList[0].vagina to 0>> <</if>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Clearing Spring Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Clearing Spring Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<water>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> "You're extra wet now," <<he>> laughs. <<He>> swims to the shore and climbs out. <<He>> doesn't bother dressing before walking back to the cabin.<<lllust>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should just fucking drown you!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> swims to the shore and climbs out. <<He>> doesn't bother dressing before stumbling back to the cabin. <<elseif $finish is 1>> "Did I interrupt your bath?" <<he>> says. "You're so cute." <<He>> swims to the shore and climbs out. <<He>> doesn't bother dressing before walking back to the cabin. <</if>> <br><br> <<endcombat>> <<wash>> <<ind>><<link [[Stay in the spring (0:30)|Clearing Spring]]>><<endevent>><<pass 30>><<stress -6>><<set $phase to 1>><</link>><<lstress>> <br> <<getouticon>><<link [[Get out|Eden Clearing]]>><<endevent>><<clotheson>><</link>><<water>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Clearing Spring Masturbation Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Clearing Spring Masturbation Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<water>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> "Hope that was better than doing it yourself," Eden mumbles as <<he>> nuzzles your neck. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should just fucking drown you!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> leaves you alone in the spring and stumbles back to the cabin. <<elseif $finish is 1>> Eden pulls away from you, before raising <<his>> eyebrows and shooting you an incredulous look. <<He>> leaves you alone in the spring and walks back to the cabin. <</if>> <br><br> <<endcombat>> <<ind>><<link [[Stay in the spring (0:30)|Clearing Spring]]>><<pass 30>><<stress -6>><<set $phase to 1>><</link>><<lstress>> <br> <<getouticon>><<link [[Get out|Eden Clearing]]>><<endevent>><<clotheson>><</link>><<set $outside to 1>><<set $location to "cabin">><<water>><<effects>> <<strip>> Sunlight shimmers on the water as leaves float down, resting gently on the surface. Reaching the edge of the spring, you undress and store your clothes away, ready to slip into the cool water. <br><br> A sound from behind catches your attention. Turning around, your eyes are drawn to Eden. <<Hes>> <<if Time.hour gte 9 and Time.hour lte 10>> tending to the crops, <<elseif Time.hour is 15>> skinning <<his>> prey, <<elseif Time.hour is 16>> chopping firewood, <</if>> a sheen of sweat lining <<his>> neck. Though <<he>> looks quite focused, you can't help but notice that <<he>> seems a little tired today. Maybe a short break would help? <br><br> <<link [[Ask Eden to join you|Eden Spring Intro 2]]>><<set $edenspringintro to 1>><<set $edenFluidsCheck to "clean">><</link>> <br> <<link [[Let <<him>> work|Clearing Spring]]>><<endevent>><<set $phase to 1>><</link>><<water>><<effects>> <<wash>> You wave your hand in the air, calling for Eden. <<He>> turns <<his>> head to you, a questioning look in <<his>> eyes. Over the distance, you ask if <<he>>'d like to join you in the spring. For a second, <<his>> eyes dart down to <<if Time.hour gte 9 and Time.hour lte 10>> the crops, <<elseif Time.hour is 15>> <<his>> prey, <<elseif Time.hour is 16>> <<his>> axe, <</if>> but <<his>> exhaustion gets the better of <<him>>, and <<he>> walks over. <br><br> After <<he>> strips, the both of you sink into the spring. The cool water feels absolutely refreshing against your skin, and you let out a sigh of relief. Eden does the same, lying back against the edge with <<his>> eyes closed. <br><br> <<link [[Cuddle|Eden Spring Intro Cuddle]]>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Splash some water at Eden|Eden Spring Splash]]>><</link>><<water>><<effects>> Swimming over, you snuggle up to Eden, lying against <<his>> chest. Taking the hint, <<he>> wraps <<his>> arms around you, allowing you to settle onto <<his>> lap. Together, the both of you bask in the stillness of the forest, surrounded by nothing but birdsong and the gentle wind. <br><br> <<link [[Seduce Eden|Eden Spring Intro Seduce]]>><</link>> <br> <<link [[Just cuddle|Eden Spring Intro Cuddle 2]]>><</link>><<water>><<effects>> The both of you spend some time in the water, curled up in each other's embrace. After a while, Eden pulls away, looking much less exhausted than before. Although it's clear that <<he>>'d like to stay with you, <<he>> glances back to the clearing. "I should get back to work," <<he>> says, eyes landing on <<if Time.hour gte 9 and Time.hour lte 10>> the crops. <<elseif Time.hour is 15>> <<his>> prey. <<elseif Time.hour is 16>> <<his>> axe. <</if>> <<He>> gives your forehead a quick kiss, and climbs out of the water. <br><br> <span class = "gold">You can now invite Eden to join you in the spring.</span> <br><br> <<link [[Next|Clearing Spring]]>><<pass 30>><<set $daily.eden.springJoin>><<endevent>><<set $phase to 1>><</link>><<water>><<effects>> Slowly, you trail your hands down Eden's chest. At the sudden sensation, <<he>> opens <<his>> eyes, chuckling and pulling you in for a kiss. <br><br> <<link [[Next|Eden Spring Intro Sex]]>><<set $sexstart to 1>><</link>><<water>><<effects>> While <<hes>> not looking, you splash some water at Eden, laughing as the stream hits <<him>> right in the face. Startled, <<he>> sits up, a playfully dangerous look in <<his>> eyes. Before you can swim away, <<he>> grabs your arm and pulls you into <<him>>, pinning you by the edge of the spring. <br><br> <<link [[Next|Eden Spring Intro Sex]]>><<set $sexstart to 1>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<if $NPCList[0].penis is "clothed">> <<set $NPCList[0].penis to 0>> <</if>> <<if $NPCList[0].vagina is "clothed">> <<set $NPCList[0].vagina to 0>> <</if>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<water>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Spring Intro Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Spring Intro Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<water>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden holds you close, running <<his>> fingers through your damp hair.<<lllust>> <br><br> <<endcombat>> <<link [[Next|Eden Spring Intro 3]]>><</link>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should just fucking drown you!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> swims to the shore and climbs out. <<He>> doesn't bother dressing before stumbling back to the cabin. <br><br> <<endcombat>> <<link [[Next|Clearing Spring]]>><<set $phase to 1>><</link>> <<elseif $finish is 1>> Eden pulls away from you, holding you close as <<he>> relaxes by the edge of the spring. <br><br> <<endcombat>> <<link [[Just cuddle (0:30)|Eden Spring Cuddle 2]]>><<pass 30>><</link>> <</if>> <br><br><<water>> <<effects>> <<npc Eden>><<person1>> <<wash>> The both of you take a minute to catch your breath, the sound of your pants echoing through the air. After a bit, Eden pulls away, looking much less exhausted than before. Although it's clear that <<he>>'d like to stay with you, <<he>> glances back to the clearing. "I should get back to work," <<he>> says, eyes landing on <<if Time.hour gte 9 and Time.hour lte 10>> the crops. <<elseif Time.hour is 15>> <<his>> prey. <<elseif Time.hour is 16>> <<his>> axe. <</if>> <<He>> gives your forehead a quick kiss, and climbs out of the water. <br><br> <span class = "gold">You can now invite Eden to join you in the spring.</span> <br><br> <<link [[Next|Clearing Spring]]>><<pass 30>><<endevent>><<set $daily.eden.springJoin to 1>><<set $phase to 1>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<strip>> <<water>> <<wash>> You and Eden walk to the spring, undressing and slipping into the water. <<He>> holds you close as the both of you lie back and relax. Around you, <<if $rng gte 61>> the leaves dance in the wind, resting gently by the water's edge. <<elseif $rng gte 31>> the sound of bird calls echo through the clearing. <<else>> sunlight peeks through the trees, shimmering on the water's surface. <</if>> <br><br> <<link [[Seduce Eden|Eden Spring Seduce]]>><</link>> <br> <<link [[Just cuddle (0:30)|Eden Spring 2]]>><<pass 30>><</link>><<water>> <<effects>> <<set $seductiondifficulty to (10000 - (C.npc.Eden.lust * 200))>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> You trail your hand down Eden's stomach, bringing your lips to <<his>> neck. <<if $seductionrating gte $seductionrequired>> Resting a hand on your cheek, <<he>> pulls you in for a kiss. <br><br> <<link [[Next|Eden Spring Sex]]>><<set $sexstart to 1>><</link>> <<else>> Gently, <<he>> pulls your head away, wrapping an arm around your waist. <br><br> <i><<He>> will be more lusty, and easier to seduce, the longer <<hes>> gone without sex.</i> <br><br> <<link [[Next|Eden Spring 2]]>><</link>> <</if>><<water>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<if $NPCList[0].penis is "clothed">> <<set $NPCList[0].penis to 0>> <</if>> <<if $NPCList[0].vagina is "clothed">> <<set $NPCList[0].vagina to 0>> <</if>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Spring Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Spring Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<water>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden holds you close, running <<his>> fingers through your damp hair.<<lllust>> <br><br> <<endcombat>> <<link [[Next|Eden Spring 2]]>><</link>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should just fucking drown you!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> swims to the shore and climbs out. <<He>> doesn't bother dressing before stumbling back to the cabin. <br><br> <<endcombat>> <<link [[Next|Clearing Spring]]>><<set $phase to 1>><</link>> <<elseif $finish is 1>> Eden pulls away from you, holding you close as <<he>> relaxes by the edge of the spring. <br><br> <<endcombat>> <<link [[Just cuddle (0:30)|Eden Spring 2]]>><<pass 30>><</link>> <</if>><<water>><<effects>> After a while, Eden pulls away, giving your forehead a quick kiss before climbing out of the water. <br><br> <<link [[Next|Clearing Spring]]>><<set $phase to 1>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> You wash Eden's clothes in the spring, making sure to get every bit of dirt and grime off. <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure) and C.npc.Eden.lust gte 26 and ((Time.hour gt 6 and Time.hour lt 11) or Time.hour gt 14)>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/You feel a pair of arms wrap around you from behind. Eden buries <<his>> head in your neck and kisses your collarbone. <br><br> <<if C.npc.Eden.dom gte 75>> "You're such a good <<wife>>, doing this for me," <<he>> says. "Let me return the favour." You feel <<his>> hand slide to your <<genitals>> as <<he>> presses <<himself>> against you. <<else>> "You're such a good <<wife>>, doing this for me," <<he>> says. "Maybe there's a way I can return the favour." You feel <<his>> hand slide onto your thigh. <</if>> <br><br> <<link [[Push away|Wash Spring Push]]>><<npcincr Eden love -1>><<npcincr Eden dom -1>><</link>> <br> <<link [[Embrace Eden|Wash Spring Sex]]>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<promiscuous1>> <br> <<else>> It takes some time, but the clothes look much better off when you're done. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> You push Eden off you. "Alright," <<he>> says, raising <<his>> hands in surrender. "Call me if you need anything else." <<He>> kisses your forehead in thanks before walking off. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wash Spring Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wash Spring Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden holds you close for a moment and kisses your forehead. "Thanks," <<he>> says, before dressing and walking away. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should just fucking drown you!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> walks away and leaves you alone by the spring. <<elseif $finish is 1>> "Alright," <<he>> says, raising <<his>> hands in surrender. "Call me if you need anything else." <<He>> kisses your forehead in thanks before walking off. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<npc Eden>><<person1>> <<if $bus is "edencabin">> The cold makes your teeth chatter, waking you from your <<if $nightmares gte 1>> restless <</if>> sleep. You rub your eyes as you sit up. The first thing you notice is that Eden's side of the bed is empty. There's no sign of <<him>> in the cabin. <br><br> You hear the sound of a shovel hitting dirt outside. Curiosity fills you. You pull on your clothing and head outside into the clearing. <<else>> You walk into the clearing. You can hear the sound of a shovel hitting dirt. Curiosity fills you, and you look for the source. <</if>> <br><br> <<set $outside to 1>> <<set $location to "cabin">> <<set $bus to "edenclearing">> There is a pile of dirt near the spring. As you walk over to investigate, you see Eden throw the shovel out and pull <<himself>> from the hole. <<He>> is covered in dirt and sweat. <<He>> notices you and nods. <br><br> <<if $speech_attitude is "meek">> "Um," you say. "Wh-what are you doing?" <<elseif $speech_attitude is "bratty">> "What are you doing down there?" you ask. "Lose something?" <<else>> "Why are you digging a hole?" you ask. <</if>> <br><br> "Come here, <<girl>>," <<he>> says, motioning you over. "I want to show you something." <br><br> <<He>> seems excited. <br><br> <<link [[Next|Eden Hot Spring Creation 2]]>><</link>>You walk over to <<his>> side. <<He>> points down into the hole. There is a system of pipes connected to each other. <br><br> <<if $science gte 700>> You recognise it as a thermosiphon heater. <<else>> You have no idea what it is. <</if>> <br><br> "We can heat the spring with this," <<he>> says. "All you need is firewood. Let me show you." <br><br> <<He>> takes you by the arm and guides you into the pit. You watch as <<he>> lights a fire in the middle of the coil of pipes. <<He>> explains how it works. <<if $science gte 700>> You knew this already, but listen politely. <<else>> You nod along, your eyes glazing over. <</if>> <br><br> "If you keep the spring clear, we can relax during the day without getting too cold," <<he>> says. <br><br> You look at the complicated set-up. It's clear that <<hes>> worked hard on this. <br><br> <<link[[Thank with a kiss|Eden Hot Spring Creation Response]]>><<set $phase to "kiss">><</link>><<glove>><<ldom>> <br> <<link[[Thank|Eden Hot Spring Creation Response]]>><<set $phase to "thank">><</link>><<glove>><<gdom>> <br> <<link[[Walk away|Eden Hot Spring Creation Response]]>><<set $phase to "leave">><</link>><<lllove>><<if $phase is "leave">> You walk away without a word. Behind you, you hear Eden grumble. <br><br> "Ungrateful brat," <<he>> says, just loud enough for you to hear. <<He>> stomps away. <<npcincr Eden love -3>> <<else>> <<if $phase is "kiss">> You stand on your toes and kiss <<his>> cheek. <<He>> coughs and turns away, but you can see <<him>> blushing. <<npcincr Eden love 1>> <<npcincr Eden dom -1>> <<else>> You give <<him>> a hug. <<npcincr Eden love 1>> <<npcincr Eden dom 1>> <</if>> <br><br> "Thank you for working so hard," you say. <br><br> <<He>> nods, avoiding looking at you. "Let's go back inside while this heats up," <<he>> says. "It can take a while." <</if>> <br><br> <span class='gold'>You can now use the heater to make a hot spring!</span> <br><br> <<set $edenHotSpring to true>> <<set $edenHeater to Cooker.create({maxBurnTime: TimeConstants.secondsPerHour * 6})>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $eden_shoot is 1>> <<set $eden_shoot to 2>> Eden takes you outside, lighting an oil lamp before <<he>> does. <<He>> gestures for you to wait beneath the porch, then disappears behind the cabin. <<He>> reappears a few moments later, carrying a target shaped like a deer. <<He>> sets it up on a patch of unused earth a couple of dozen steps away. <br><br> <<He>> talks you through how to operate the gun before letting you touch it. You think you get the gist. <<He>> passes it to you, and you point it at the target. "Not like that," <<he>> says, sidling close behind you. <<His>> arms wrap around your shoulders, and <<he>> takes your hands in <<his>> own to better demonstrate. "Hold it like this." <br><br> <<edenicon "target">><<link [[Focus|Eden Shoot First Focus]]>><</link>> <br> <<ind>><<link [[Rub your ass against Eden's crotch|Eden Shoot Rub]]>><<npcincr Eden lust 5>><<arousal 600 "bottom">><</link>><<glust>><<garousal>> <br> <<elseif $danger gte (9900 - $allure) and $eventskip is 0>> You practise shooting outside under Eden's instruction. <<He>> takes a hands-on approach. "Not like that," <<he>> says, sidling close behind you. <<His>> arms wrap around your shoulders, and <<he>> takes your hands in <<his>> own to better demonstrate. "Hold it like this." <br><br> <<edenicon "target">><<link [[Focus|Eden Shoot Focus]]>><</link>> <br> <<ind>><<link [[Rub your ass against Eden's crotch|Eden Shoot Rub]]>><<npcincr Eden lust 5>><<arousal 600 "bottom">><</link>><<glust>><<garousal>> <br> <<else>> <<set $stat_shoot += random(20, 40)>> You practise shooting outside under Eden's instruction. The deer-shaped target gains some new holes before you're done. <br><br> <<if Time.hour isnot 0>> <<edenicon "target">><<link [[Keep practising (0:30)|Eden Shoot]]>><<pass 30>><<stress -6>><</link>><<lstress>> <br> <</if>> <<getouticon>><<link [[Go inside|Eden Cabin]]>><<endevent>><</link>> <</if>><<effects>> <<set $stat_shoot += random(15, 25)>> You focus on making the shot. You fire, and the bullet thuds into the target. "Good," Eden says, giving your arms more freedom. "Again." You fire again, but this time the bullet whizzes into the dark. <br><br> You keep practising, listening to Eden's pointers. You learn a lot, and soon find yourself hitting more often than not. <br><br> <<if Time.hour isnot 0>> <<edenicon "target">><<link [[Keep practising (0:30)|Eden Shoot]]>><<pass 30>><<stress -6>><</link>><<lstress>> <br> <</if>> <<getouticon>><<link [[Go inside|Eden Cabin]]>><<endevent>><</link>><<effects>> <<set $stat_shoot += random(20, 40)>> You focus on making the shot. You fire, and the bullet thuds into the target. "Good," Eden says, giving your arms more freedom. "Again." You fire again, and once more make the shot. <br><br> You keep practising as Eden watches. You think <<he>> approves. <br><br> <<if Time.hour isnot 0>> <<edenicon "target">><<link [[Keep practising (0:30)|Eden Shoot]]>><<pass 30>><<stress -6>><</link>><<lstress>> <br> <</if>> <<getouticon>><<link [[Go inside|Eden Cabin]]>><<endevent>><</link>><<effects>> <<set $stat_shoot += random(5, 15)>> You rub your <<bottom>> against Eden. <<He>> stutters as you do, but tries to maintain composure. You look back at <<him>> and feign an innocent expression. <<if $NPCList[0].penis isnot "none">> You feel <<his>> <<print $NPCList[0].penisdesc>> harden beneath <<his>> clothes. <<else>> <</if>> <br><br> <<if C.npc.Eden.lust gte 20>> <<He>> pulls the gun away from your hands and casts it onto the grass before tackling you to the ground. <br><br> <<if hasSexStat("promiscuity", 2)>> <<ind>><<link [[Go along with it|Eden Shoot Sex]]>><<set $sexstart to 1>><<npcincr Eden love 1>><</link>><<promiscuous2>><<glove>> <br> <</if>> <<refuseicon>><<link [[Refuse|Eden Shoot Sex Refuse]]>><<npcincr Eden love -3>><</link>><<lllove>> <br> <<else>> <<He>> does nothing to stop you, but continues the lesson as if nothing were amiss. <<Hes>> distracted, though <<he>> pretends otherwise. <br><br> <<if Time.hour isnot 0>> <<edenicon "target">><<link [[Keep practising (0:30)|Eden Shoot]]>><<pass 30>><<stress -6>><</link>><<lstress>> <br> <</if>> <<getouticon>><<link [[Go inside|Eden Cabin]]>><<endevent>><</link>> <</if>><<effects>> You shove Eden away from you. <<He>> doesn't give up at first, and continues to paw at you, but your persistence wards <<him>> off before long. <br><br> <<He>> stomps back into the cabin. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> Eden's pawing becomes more aggressive. <<promiscuity2>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Shoot Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Shoot Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Eden climbs to <<his>> feet and retrieves <<his>> gun. <<He>> enters the cabin. <<npcincr Eden lust -20>><<lllust>> <br><br> <<tearful>> you follow <<him>> inside. <<elseif $enemyhealth lte 0>> Eden backs away from you, giving you some space. <<He>> shoots you an angry look as <<he>> retrieves <<his>> gun. <<He>> enters the cabin. <br><br> <<tearful>> you follow suit. <<else>> Eden backs away from you, giving you some space. <<He>> shoots you an angry look as <<he>> retrieves <<his>> gun. <<He>> enters the cabin. <br><br> <<tearful>> you follow suit. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><</link>>/* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ <<effects>> <<if $speech_attitude is "meek">> "C-can I learn to shoot?" you ask. <<elseif $speech_attitude is "bratty">> "I want to shoot that thing," you say. <<else>> "Can you teach me how to shoot?" you ask. <</if>> <br><br> <<if C.npc.Eden.love gte 60>> <<set $eden_shoot to 1>> <<He>> begins to shake <<his>> head, but something in your eyes makes <<him>> stop. "If it'll make you happy," <<he>> says. "I can teach you." <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> <<He>> shakes <<his>> head. "Guns aren't for <<girls>> like you," <<he>> says. "You don't need them. You have me to protect you." <br><br> <i>If <<he>> liked you more <<he>> might be more amenable to your request.</i> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<location "forest">><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>>*/ You and Eden walk through the forest, searching for anything of value. <br><br> <<rng>> <<if $rng gte 71>> <<wearProp "wolfshroom">> You both find a cluster of edible mushrooms growing at the base of a decaying tree. <br><br> "Wolfshrooms," Eden says. "I wouldn't come all this way just for those, but since we're here." <br><br> <span class="green">Eden helps you pick some <<icon "tending/wolfshroom.png">> wolfshrooms.</span> <<tending_pick wolfshroom>> <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<elseif $rng gte 51>> You walk into a clearing. Eden holds out <<his>> arm. A deer bursts from the trees a moment later. <br><br> Eden unslings <<his>> rifle, but the beast is already gone. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<elseif $rng gte 31>> <<wearProp "honeycomb">> You both hear a gentle buzz up ahead. A large beehive hangs from a tree. Workers fly in and out in a quest for pollen. The honey would be valuable. <br><br> You reach out to harvest some honeycomb, but Eden stops you before you can. <br><br> "No," <<he>> says. "Let me handle this one." <br><br> Eden climbs the tree and snaps a large chunk off the <<icon "tending/wild_honeycomb.png">> honeycomb. <span class="green">Thanks to <<his>> experienced hands, the bees don't react.</span> <<He>> climbs down. <<silently>><<tending_pick wild_honeycomb 1 1>><</silently>> <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> You both come to a clearing. A gentle breeze blows against your face, and small, soft plants press beneath your feet. <br><br> Lemons grow from a cluster of small trees. <br><br> <<if Time.isBloodMoon()>> <<wearProp "blood lemon">> Eden searches the short trees for <<icon "tending/blood_lemon.gif">> lemons. <span class="green"><<He>> finds a bunch, their yellow skin criss-crossed by red veins.</span> <<tending_pick blood_lemon 6 18>> <br><br> <<if $edenbloodmoon isnot 1>> <<link [[Next|Eden Blood Moon]]>><<handheldon>><<set $edenbloodmoon to 1>><</link>> <<else>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>> <<else>> <<wearProp "lemon">> Eden searches the short trees for <<icon "tending/lemon.png">> lemons. <span class="green"><<He>> finds a bunch, nice and yellow.</span> <<tending_pick lemon 6 18>> <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>> <</if>><<location "forest">><<effects>><<wearProp "blood lemon">> <<if $speech_attitude is "meek">> "R-red lemons?" you ask, as <<he>> hands them to you. <<elseif $speech_attitude is "bratty">> "Strange looking lemons," you say, as <<he>> hands them to you. <<else>> "These lemons look strange," you say, as <<he>> hands them to you. <</if>> "Blood lemons," <<he>> answers, pointing up to the sky. A blood red moon hangs ominously above. <br><br> <<if $speech_attitude is "meek">> "W-why is the moon red?" you ask. <<elseif $speech_attitude is "bratty">> "What's up with the moon?" you ask. <<else>> "Why's the moon red?" you ask. <</if>> <br> "A natural phenomenon," <<he>> says, as you both start walking back to the cabin. <br> <<if $speech_attitude is "meek">> "W-what do you mean?" <<elseif $speech_attitude is "bratty">> "Care to elaborate?" <<else>> "That's it?" <</if>> <br> "It seems to make people act out. The wolves too," <<he>> says. "They're overreacting, though. Just using it as an excuse to indulge their base impulses." <br><br> A few minutes pass in silence, until Eden speaks. <br><br> "I've seen some people enter the forest on nights like these. Always in groups." <<He>> takes your arm and pulls you closer as <<he>> walks. "But they're easy enough to avoid." <br><br> Eden falls silent as the cabin comes into view. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>> After reaching the lake, the two of you spend a few minutes on shore pumping some air into the raft. Once it's inflated, you both lower the raft onto the water and settle in, sitting across from each other. Placing the air pump on the raft, Eden grabs the oars and starts rowing. <br><br> <<link [[Next|Eden Raft Intro 2]]>><</link>><<set $outside to 1>><<effects>> <<if Time.season is "autumn">> As the boat floats over the lake, you take some time to appreciate the scenery. The sounds of the gently flowing water put you at ease, and you're mesmerised as the falling autumn leaves surround you. Glancing around, one of the leaves fall in your hair. Giggling, you brush it off. <<elseif Time.hour gte 6 and Time.hour lte 8>> As the boat floats over the lake, you take some time to appreciate the scenery. The sounds of the gently flowing water put you at ease, and the glow of the orange sun is mesmerising. Glancing around, you see some swans swimming nearby. Looking closer, you notice that a pair of them has faced each other, forming a heart. You smile at the sight. <<else>> As the boat floats over the lake, you take some time to appreciate the scenery. The sounds of the gently flowing water put you at ease, and the view of the sky is enchanting. Glancing around, a butterfly flits over and lands on your nose. You giggle at the ticklish sensation and brush it off. <</if>> <br><br> <<link [[Next|Eden Raft Intro 3]]>><</link>><<set $outside to 1>><<effects>> Suddenly, you notice that the once distant sound of chatter has disappeared. Looking around, you see nothing but trees and deduce that Eden must have brought the two of you into a relatively private section of the lake. You turn your attention to <<him>>, realising that, in this moment, there is nothing but you, Eden and the beautiful <<if Time.season is "autumn">>falling leaves<<elseif Time.hour gte 6 and Time.hour lte 8>>sunset<<else>>sky<</if>>. <br><br> <<link [[Kiss Eden|Eden Raft Intro Kiss]]>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Just admire the scenery|Eden Raft Intro Admire]]>><</link>><<set $outside to 1>><<effects>> Slowly, you shuffle closer to Eden. <<He>> looks confused, until you take <<him>> by surprise and capture <<his>> lips in a sweet kiss. For a second, <<he>> turns stiff, shocked at your bold actions, before <<he>> kisses you back with just as much force. When the two of you break apart, <<he>> chuckles, shaking <<his>> head and turning to look at the <<if Time.season is "autumn">>falling autumn leaves<<elseif Time.hour gte 6 and Time.hour lte 8>>sunset<<else>>sky<</if>>. It really is a gorgeous sight, and you think Eden agrees. <br><br> <<link [[Next|Eden Raft Intro 4]]>><</link>><<set $outside to 1>><<effects>> Turning your gaze back to the <<if Time.season is "autumn">>falling autumn leaves<<elseif Time.hour gte 6 and Time.hour lte 8>>sunset<<else>>sky<</if>>, you stare in wonder at its beauty. Stealing a glance at Eden, you think <<he>> agrees. <br><br> <<link [[Next|Eden Raft Intro 4]]>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>><<set $bus to "edenclearing">><<set $edenraftintro to 2>> After spending some time over the water, you and Eden row back to the shore, deflating the raft and walking back to the cabin. As you help <<him>> hang the raft to dry, you smile to yourself, feeling happy that the both of you were able to share that moment together. <br><br> <i>You can now use the inflatable raft when visiting the lake with Eden.</i> <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>> The two of you walk to the lake, enjoying the calming scenery and sounds of the forest. <br><br> You look to Eden's hand. It's close enough to touch. <br><br> <<link [[Grab Eden's hand|Eden Forest Lake 2]]>><<set $phase to 1>><<npcincr Eden love 1>><</link>><<glove>><<handholdingvirginitywarning>><<NPCvirginitywarning "Eden" "handholding">> <br> <<link [[Just keep walking|Eden Forest Lake 2]]>><</link>> <br><<set $outside to 1>><<effects>> <<if $phase is 1>> You clasp Eden's hand and hook your fingers through <<his>> own. You catch a quick blush on <<his>> face, before <<he>> brushes it off and pulls you closer. <<takeHandholdingVirginity "Eden" "romantic">> <br><br> <</if>> Soon enough, you both reach the lake. The <<if Weather.dayState is "night">>moonlight<<else>>sunlight<</if>> shimmers over the <<if Weather.isFrozen("lake")>>ice<<else>>water<</if>>. <br><br> <<link [[Walk around the lake|Eden Lake Walk]]>><</link>> <br> <<link [[Just admire the view|Eden View]]>><</link>> <br> <<if $edenraftintro is 2 and Time.season isnot "winter">> <<link [[Use the raft|Eden Lake Raft]]>><</link>> <</if>><<set $outside to 1>><<effects>><<rngWraith 1>> You and Eden inflate the raft and push it onto the water. You spend the time basking in the peaceful scenery of the lake. <<stress -6>><<lstress>> <br><br> <<if _wraithEvent>> You see someone standing out in the middle of the lake. Silver hair blows in the wind behind it,<<if ["haunt", "despair"].includes($wraith.state)>> and a pair of red eyes stare through you<<else>> and an ornate necklace of ivory hangs around its neck<</if>>. Your ears begin to ring as it slowly turns to you. <br><br> You turn to Eden, but <<nnpc_he "Eden">> doesn't react. You look back, and the figure is gone. <<stress 12>><<ggstress>><<trauma 4>><<gtrauma>> <br><br> <</if>> <<link [[Go back to the cabin|Eden Clearing]]>><<endevent>><</link>><<set $outside to 1>><<effects>> You and Eden sit together by the lake. <<He>> holds you close as you admire the view. It's calming, even more so that <<hes>> here with you right now. <<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <br><br> After a while, <<he>> stands and offers <<his>> hand to you. "I think that's enough downtime for today," <<he>> says. <br><br> <<link [[Take Eden's hand|Eden Take Hand]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<handholdingvirginitywarning>><<NPCvirginitywarning "Eden" "handholding">> <br> <<link [[Just stand|Eden Stand]]>><<npcincr Eden love -1>><<npcincr Eden dom -1>><</link>><br> <br><<set $outside to 1>><<effects>> You take Eden's hand and <<he>> helps you stand. You walk back to the cabin together.<<takeHandholdingVirginity "Eden" "romantic">> <br><br> <<link [[Go back to the cabin|Eden Clearing]]>><<endevent>><</link>><<set $outside to 1>><<effects>> You ignore Eden's hand and stand up. <<He>> looks a bit hurt, but doesn't press on it. You walk back to the cabin together. <br><br> <<link [[Go back to the cabin|Eden Clearing]]>><<endevent>><</link>><<set $outside to 1>><<effects>> <<if C.npc.Eden.dom gte 75>> You and Eden walk a few times around the lake, until <<he>> pulls you out of sight and pins you up against a tree. "We're all alone now," <<he>> whispers, grinding into you. <<His>> breath is teasingly close to your lips. <<else>> You and Eden walk a few times around the lake, until <<he>> pulls you into the trees and slides <<his>> hand over your waist. "We're all alone now," <<he>> whispers, as <<he>> nips your ear. <</if>> <br><br> <<link [[Kiss Eden|Eden Lake Sex]]>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<promiscuous1>> <br> <<link [[Push Eden away|Eden Lake Push]]>><<npcincr Eden love -1>><<npcincr Eden dom -1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Lake Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Lake Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "lake">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> "We should come here more often," <<he>> laughs. <<He>> pulls you close and you head back to the cabin together. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should just drown you in the lake!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<He>> yanks your arm and pulls you back to the cabin with <<him>>. <<elseif $finish is 1>> "Afraid someone will catch us?" <<He>> smirks as <<he>> pulls away. <<He>> holds you close and you both head back to the cabin. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Go back to the cabin|Eden Clearing]]>><</link>><<set $outside to 1>><<effects>> You put your hands to <<his>> chest and push <<him>> off you. <<if C.npc.Eden.love - C.npc.Eden.lust gte 1>> Eden sighs in disappointment, but relents. <br><br> After a while, you head back to the cabin together. <br><br> <<link [[Go back to the cabin|Eden Clearing]]>><<endevent>><</link>> <<else>> <<He>> pushes your arm down and pulls you closer. <br><br> <<link [[Next|Eden Lake Sex]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> You nod, watching as <<he>> enters the cabin. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $speech_attitude is "meek">> "Please let me help. You've already been through enough today," you plead. <<elseif $speech_attitude is "bratty">> "I'll take care of your wounds. Just get inside." <<else>> "I could help you take care of your wounds, if you want." <</if>> <br> Eden's face softens at your words. <<He>> spares a quick glance into the forest, then follows you into the cabin. <br><br> <<if $speech_attitude is "meek">> You walk to the dining table and pull out a chair, motioning for <<him>> to take a seat. <<elseif $speech_attitude is "bratty">> Grabbing <<his>> arm carefully, you lead Eden to the dining table and pull out a chair, motioning for <<him>> to take a seat. <<else>> You walk to the dining table and pull out a chair, waiting for <<him>> to take a seat. <</if>> <br> <<He>> settles down with an exhausted groan, clearly worn out from the work <<he>> did, and <<his>> tussle with the wolves. You scurry around the cabin, grabbing a washcloth and a roll of bandages. <br><br> Carefully, you lift Eden's shirt over <<his>> head, peeling off the damp fabric. <<His>> body is caked with dirt and sweat. Using the damp washcloth, you gently wipe down <<his>> skin. Upon closer inspection, <<his>> wounds are thankfully rather shallow. Despite this, your hands shake with nervousness as you work. Setting the washcloth aside, you reach for the bandages sitting on the table. Just as your hand hovers over them, Eden stops you, grabbing your arm. <<His>> grip is firm, but gentle. <br><br> "I can do that myself." <br><br> <<link [[Insist|Eden Wounds Insist]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>> <br> <<link [[Relent|Eden Wounds Relent]]>><</link>><<effects>> <<if $speech_attitude is "meek">> "Oh, alright," you say, hanging your head. "As long as you're going to be okay." <<elseif $speech_attitude is "bratty">> "Fine," you say, pulling your hand back. "But let me know if you need anything." <<else>> "Okay," you say, pulling your hand back. <</if>> <br><br> Eden gives you a gentle smile, and makes quick work of wrapping up <<his>> wounds. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> <<if $speech_attitude is "meek">> "Please, let me take care of you," you plead, looking into <<his>> eyes. <<elseif $speech_attitude is "bratty">> "No." You pull your wrist out of <<his>> grasp. "You're hurt, and clearly exhausted. I'm going to take care of you." <<else>> "Please, let me help." <</if>> <br><br> Eden seems amused by your stubbornness, letting out a breathy chuckle. "If you insist." <<He>> leans back and lets you continue. <br><br> <<if $salve gte 1>> <<link [[Use salve|Eden Wounds Salve]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>> <br> <</if>> <<link [[Finish up|Eden Wounds Finish]]>><</link>><<effects>> <<if currentSkillValue('tending') gte 150>> You skilfully wrap up <<his>> wounds. Eden looks impressed by your handiwork. <<else>> You carefully wrap up <<his>> wounds, but the bandages end up loose in some places and too tight in others. Eden seems to appreciate your efforts regardless. <</if>> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> <<set $salve -= 1>> In the process of wrapping <<his>> wounds, your mind drifts back to the salves you made. You quickly undo the bandages, and Eden shoots you a confused look. <br><br> <<if $speech_attitude is "meek">> "I-I just remembered. I made salves." <<elseif $speech_attitude is "bratty">> "Hang on, I just remembered the salve I made." <<else>> "I just remembered that I made some salves." <</if>> <br><br> Rushing to a nearby cabinet, you grab one of the jars and return to Eden. Gathering some on your fingers, you carefully apply the salve to <<his>> deeper wounds. Eden releases a small hiss at the pain, but otherwise doesn't stop you. Taking the hint, you continue, making sure to apply the salve as gently as possible. Over time, Eden starts to relax at your soft touch. In fact, by the time you're done, <<hes>> almost dozing off. <br><br> <<link [[Kiss Eden's wounds|Eden Wounds Kiss]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>> <br> <<link [[Don't kiss|Eden Wounds No Kiss]]>><</link>><<effects>> With Eden barely conscious, you lean over and press a quick kiss to the bandages on <<his>> chest. Eden opens <<his>> eyes to look at you. <br><br> "Was that necessary?" <<he>> asks. <br> "Yes." You smile. <br> Seeing your happy expression, <<he>> returns a faint smile to you. <<He>> leans back in <<his>> chair and shuts <<his>> eyes again. <<He>> must be exhausted. <br><br> <<link [[Next|Eden Wounds No Kiss]]>><</link>><<effects>><<wearProp "solo cup">> Grabbing a cup of water from the kitchen, you walk over to Eden and gently shake <<him>> awake. <<He>> jerks slightly in surprise, but relaxes once <<he>> sees you. You hand <<him>> the cup, watching as <<he>> takes a drink. <br><br> <<if $speech_attitude is "meek">> "I-I think you should rest more today," you say, watching as <<he>> sets the cup on the table. <<elseif $speech_attitude is "bratty">> "You should take it easy today," you say, watching as <<he>> sets the cup on the table. <<else>> "I don't think you should push yourself today," you say, watching as <<he>> sets the cup on the table. <</if>> <br> "No promises," <<he>> replies, standing up. As <<he>> walks past you, <<he>> pulls you close and lays a quick kiss on your forehead. "Thanks," <<he>> says, walking off and leaving you by the dining table. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> Eden takes notice. "Storm making you jumpy?" <<he>> asks with a belittling grin. <br><br> <<if $speech_attitude is "meek">> "Um, well, maybe a bit actually." You twist your hands together. "There's nothing to worry about out here, r-right?" <<elseif $speech_attitude is "bratty">> "Of course not, I was just startled, that's all," you scoff. "Wait, has nothing ever scared you out here?" <<else>> "The forest is scary enough without a storm blowing through," you reply. "Doesn't anything ever bother you out here, Eden?" <</if>> <br><br> <<He>> grunts in acknowledgement, though <<he>> still takes <<his>> time to answer. "Well, I'm not afraid of much," Eden says. "Especially not storms." <<He>> pauses to regard your disappointed pout before wiping <<his>> hands on a clean rag. "But since you're curious," <<he>> says again. "There is something that comes to mind." <br><br> <<link [[Ask to hear the story|Eden Story Begins]]>><<pass 10>><</link>> <br> <<link [[Decline|Eden Story Decline]]>><</link>><<effects>> Your eyes light up with piqued interest. "Alright, let's hear it." <br><br> Eden offers you a smile, then begins. "I tried a new trail one day to look for firewood. Eventually I came into a clearing that overlooked the lake. Once I started working, I got hit by a real odd feeling that just lingered." <br><br> <<if $speech_attitude is "meek">> A shiver rolls down your spine. "A f-feeling? Wh-what kind of feeling?" <<elseif $speech_attitude is "bratty">> "A feeling?" You roll your eyes. "You got spooked by some random thing you couldn't even see?" <<else>> "What sort of feeling?" you ask, inching closer. <</if>> <br><br> "It wasn't just any feeling." <<His>> voice is low. "It was foreboding, like... like I had entered the home of something filled with hate. Hate for me, and others like me." <br> "<<if C.npc["Black Wolf"].init is 1>>Like the Black Wolf<<else>>Could it be another <<nnpc_title "Eden">><</if>>?" you ask. <br> "No. Something much, much more dangerous." <br><br> You sink into your chair. <br><br> "Just as I was about to shrug it off, out the corner of my eye, I caught a shadow scurrying across the clearing." <br><br> You stare at Eden with wide eyes.<<stress 10>><<gstress>> <br><br> "I never could focus on it long enough to take a good look, but it was tall, person-sized. At least it was, before it dropped to all fours and started crawling." <br><br> <<if $speech_attitude is "meek">> You cover your ears with your hands. "No more! You're gonna give me bad dreams!" <<else>> "What happened next?" You try to hide your fear. "What did you do?" <</if>> <br><br> Thunder rips through the cabin, causing you to wince. <br><br> <<link [[Next|Eden Story Continues]]>><</link>><<effects>> Eden smirks at your obvious discomfort. "I left immediately. It wasn't very long before I realised it was following me. That thing breathed down my neck the entire time. Sometimes I heard a voice that almost sounded familiar in the distance. Other times, it whispered in my ear." <br><br> "It wanted a reaction. Every fibre of my being told me to ignore it, don't look at it, so I didn't. That continued until I got far enough from the clearing, maybe a few kilometres. All at once, the odd feeling stopped, and that thing was gone." <br> "Have you been back since?" you ask. <br> "Nope," Eden says, settling back into <<his>> work. "Don't reckon I will be, either." <br><br> You listen to the storm outside, mind racing. "Did that really happen, or did you just make it up to scare me?" <br><br> Eden walks over to the fireplace to hang <<his>> gun above the mantel. In two long strides <<he>> stands before you. You step back, but <<he>> catches you around your waist. <<if $worn.neck.collared is 1>> Your cheeks burn as Eden roughly grabs your collar between <<his>> fingers. <<else>> Your cheeks burn as Eden roughly captures your chin between two fingers. <</if>> <br><br> <<He>> slowly rubs your bottom lip with <<his>> calloused thumb. The cabin is dark save for the embers in the fire and the occasional flashes of distant lightning. You can't see <<his>> eyes, even this close, but you can still feel the weight of <<his>> gaze. "Best to stay close to me while we're out there together, little <<girl>>. Remember that there are worse things than me in this world." <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> You continue watching the storm through the window. "Maybe some other time." <br><br> "Suit yourself." Eden returns to <<his>> work without another word. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>><<wearProp "halloween">> Orange autumn leaves decorate the trees of the forest, covering the ground and crunching under your feet as you approach Eden, the hamper of sweets in your hands. <<He>> momentarily looks up from <<his>> work to regard you, but stops when <<he>> notices what you're holding. <br><br> <<if $speech_attitude is "meek">> "H-Happy Halloween," you say, holding the hamper out to <<him>>. <<elseif $speech_attitude is "bratty">> "Happy Halloween," you say, pushing the hamper into <<his>> hands. <<else>> "Happy Halloween," you say, passing the hamper to <<him>>. <</if>> <br><br> "Sweets?" <<he>> asks, looking your gift over. "This is unexpected." <br> <<if $speech_attitude is "meek">> "Well, s-since you don't trick-or-treat, I thought I could bring the sweets to you," you say. <<elseif $speech_attitude is "bratty">> "Even if you don't go trick-or-treating, there's no reason not to have sweets," you say. <<else>> "I just thought you'd appreciate it since you don't go trick or treating," you say. <</if>> <br><br> Eden glances at the hamper again, an unsure but grateful look in <<his>> eyes. "Thanks," <<he>> says. "It's nice, not that I eat a lot of sweets anyway." As <<he>> walks to the kitchen to store the hamper away, you notice a knife and a few pumpkins on the dining table, their stark orange hue reminding you of the seasonal foliage. <br><br> Eden notices your gaze and stops, placing the hamper down. "I was planning on making pumpkin pie," <<he>> says, eyeing the spread on the table. <br><br> <<link [[Ask to carve pumpkins|Eden Carve]]>><</link>> <br> <<link [[Nod|Eden Nod]]>><</link>><<effects>> You nod your head in response. Eden opens a nearby cabinet to store the sweets away, but suddenly changes <<his>> mind and looks to you. <br><br> "Why don't you share these with me," <<he>> asks. <br><br> <<link [[Accept|Eden Sweets]]>><</link>> <br> <<link [[Refuse|Eden Sweets Refuse]]>><</link>><<effects>> You shake your head. <<if $speech_attitude is "meek">> "I-I bought these sweets for you." <<elseif $speech_attitude is "bratty">> "I got these sweets for you. It's yours." <<else>> "I bought the sweets for you." <</if>> <br><br> Eden shrugs and stores the hamper in the cabinet. <<He>> goes over to you and kisses your forehead. <br> "Thanks again," <<he>> says, before walking away. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> "Can we carve pumpkins?" you ask. <br><br> "What?" <<he>> questions, pulling an incredulous expression. "I was saving these for pie, not carving." <br> <<if $speech_attitude is "meek">> "Please?" you say. <<elseif $speech_attitude is "bratty">> "Oh come on, it's Halloween!" you say. <<else>> "But it's Halloween," you say. <</if>> <br><br> Eden sighs and looks away, considering for a moment, before looking back to you. "Fine," <<he>> says. "But we're only using two of them." <br><br> You smile at <<him>> in thanks and walk over. <br><br> <<link [[Next|Eden Carve 2]]>><<pass 20>><</link>><<effects>> Grabbing a knife, you and Eden sit at opposite ends of the dining table. You decide to carve <br><br> <<link [[Something scary|Eden Carve 3]]>><<set $phase to 0>><</link>> <br> <<link [[Something cute|Eden Carve 3]]>><<set $phase to 1>><</link>> <br> <<link [[Eden|Eden Carve 3]]>><<set $phase to 2>><</link>><<effects>> Using your knife, you whittle away at the surface of the pumpkin. <<if currentSkillValue('tending') gte 150>> <<if $phase is 0>> It takes a while, but the finishing result looks rather scary. <<elseif $phase is 1>> It takes a while, but the finishing result looks rather cute. <<elseif $phase is 2>> It takes a while, but the finishing result looks relatively similar to Eden. <</if>> <<else>> <<if $phase is 0>> You try your best, but the carving doesn't look very scary. <<elseif $phase is 1>> You try your best, but the carving doesn't look very cute. <<elseif $phase is 2>> You try your best, but the carving doesn't look very similar to Eden. <</if>> <</if>> <br><br> Stepping back from your work, you walk over to Eden to look at <<his>> creation. It seems <<hes>> carved the image of a deer into the pumpkin. It looks quite skilfully done, no doubt from how experienced <<he>> is with <<his>> hands. <br><br> <<if $speech_attitude is "meek">> "Y-your pumpkin looks cute," you say. <<elseif $speech_attitude is "bratty">> "That's a cute pumpkin," you say. <<else>> "That pumpkin looks cute," you say. <</if>> <br><br> Eden turns <<his>> head to face you. "If pumpkins are cute, maybe I should start calling you pumpkin too," <<he>> laughs, playfully smacking your ass. <br><br> <<link [[Next|Eden Carve 4]]>><</link>><<effects>> After a while, Eden drops <<his>> knife and walks over to you, evaluating your carving. <br><br> <<if currentSkillValue('tending') gte 150>> <<if $phase is 0>> "Wow, that's scary," <<he>> says. <<He>> looks impressed. <<elseif $phase is 1>> "Wow, that's cute," <<he>> says. <<He>> looks impressed. <<elseif $phase is 2>> <<He>> drinks in your work with a look of slight surprise on <<his>> face, almost unbelieving of what <<he>> sees. "Is that me?" <<he>> asks, turning <<his>> head to you. <br> <<if $speech_attitude is "meek">> You nod your head. <<elseif $speech_attitude is "bratty">> "Yeah," you say. <<else>> "Yes," you say. <</if>> <br><br> "That's good," <<he>> says, nodding slightly. <</if>> <<else>> <<He>> stares at it for a bit, trying to discern what it's supposed to be. <br> <<if $phase is 0>> "It's supposed to be scary," you say. <<elseif $phase is 1>> "It's supposed to be cute," you say. <<elseif $phase is 2>> "It's supposed to be you," you say. <</if>> <br><br> Eden shoots you a smirk. "It's a good effort," <<he>> says, patting you on the head. <</if>> <br><br> <<link [[Next|Eden Carve 5]]>><</link>><<effects>> After a short deliberation, the both of you decide to decorate the cabin with your work. Eden opens the wooden door and you feel the cool autumn air hit your face. <br><br> <<He>> places the pumpkins near the entrance. They add a slight festive touch, contrasting the austere nature of the cabin. <br><br> When you're done admiring your work, you and Eden walk back inside. Looking to the table again, your eyes are drawn to the hamper of sweets. <br><br> <<if $speech_attitude is "meek">> "Y-you haven't eaten the sweets yet," you say. <<elseif $speech_attitude is "bratty">> "Hey, you still haven't tried the sweets yet," you say. <<else>> "You haven't tried the sweets yet," you say. <</if>> <br><br> Eden looks to the table, seemingly contemplating something. "Why don't you share them with me?" <<he>> asks. <br><br> <<link [[Accept|Eden Sweets]]>><</link>> <br> <<link [[Refuse|Eden Sweets Refuse]]>><</link>><<effects>> You accept Eden's offer and walk to the table. Grabbing one of the knives, <<he>> cuts open the hamper's protective plastic and reaches for a small box tucked within its centre. <br><br> Upon opening, you both find that it's filled with creamy chocolate. Its delectable scent wafts up your nose and your mouth waters in response. <br><br> Taking a piece, Eden brings it to <<his>> mouth. <br><br> <<link [[Snatch it from Eden|Eden Sweets 2]]>><<set $phase2 to 1>><</link>> <br> <<link [[Let Eden eat it|Eden Sweets 2]]>><</link>><<effects>> <<if $phase2 is 1>> Just before the chocolate enters <<his>> mouth, you snatch it from Eden and gobble it up. <br><br> "Hey!" Eden exclaims, turning to you. <br> <<if $speech_attitude is "meek">> "Y-you told me we were sharing," you tease. <<elseif $speech_attitude is "bratty">> "What? You did tell me we were sharing," you tease. <<else>> "You told me we were sharing," you tease. <</if>> <br><br> Eden opens <<his>> mouth to retort, but stops. <<His>> eyes glint and a mischievous smirk spreads across <<his>> face. "Okay. We're sharing," <<he>> says, slowly and tantalisingly swiping <<his>> finger over one of the chocolates. <br><br> <<He>> brings <<his>> chocolate-coated finger up to your mouth, looking at you with heated eyes. <br><br> "Come on," <<he>> says. "I know you want to." <<else>> You watch Eden eat the piece of chocolate. <<He>> seems to enjoy its sweetness. <br><br> "Haven't eaten chocolate in a while," <<he>> says. Turning to you, <<he>> offers you the box. "Want one?" <br><br> You're about to reply, before Eden perks up. <<His>> eyes glint and a mischievous smirk spreads across <<his>> face. "I think I can make this more interesting," <<he>> says, slowly and tantalisingly swiping <<his>> finger over one of the chocolates. <br><br> <<He>> brings <<his>> chocolate-coated finger up to your mouth, looking at you with heated eyes. <br><br> "Come on," <<he>> says. "I know you want to." <</if>> <br><br> <<link [[Lick Eden's finger|Eden Sweets Lick]]>><</link>> <br> <<link [[Refuse|Eden Sweets Lick Refuse]]>><</link>><<effects>> You turn your face away. Eden chuckles at you, before licking the chocolate off <<his>> finger and kissing you on the forehead. <br><br> "Thanks for the sweets," <<he>> says. Grabbing the hamper, <<he>> stores it in a nearby cabinet and walks away. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> You slowly encase your mouth around <<his>> finger. Using your tongue, you lick and suck the chocolate off. Eden stares at you hungrily, holding your gaze the entire time. <br><br> "Good <<girl>>," <<he>> says, sliding <<his>> finger down your tongue and popping it out of your mouth. <<He>> reaches into the box. <br><br> "Since you did so well with that," <<he>> says, picking up a piece and placing it between <<his>> teeth. <<He>> pulls you closer. <br><br> <<link [[Kiss Eden|Eden Sweets Sex]]>><<set $sexstart to 1>><</link>> <br> <<link [[Pull away|Eden Sweets Pull Away]]>><</link>><<effects>> You pull away from Eden's hold. <<He>> chuckles at you, before finishing the chocolate <<himself>> and kissing you on the forehead. <br><br> "Thanks for the sweets," <<he>> says. Grabbing the hamper, <<he>> stores it in a nearby cabinet and walks away. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>> <<set $enemyhealth to 600>> <<set $enemyhealthmax to 600>> <<takeKissVirginity "Eden" "romantic">> You kiss Eden back. The taste of chocolate permeates your mouth as <<his>> tongue meets yours. <<He>> separates from you, breathing heavily while lowering you onto the cabin floor. <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <span id="next"> <<if _combatend>> <<link [[Next|Eden Sweets Sex Finish]]>><</link>> <<else>> <<link [[Next|Eden Sweets Sex]]>><</link>> <</if>> </span><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<npcincr Eden lust -20>><<npcincr Eden love 1>> "You're so much sweeter than chocolate," Eden whispers, holding you close to <<his>> chest and stroking your hair.<<glove>><<llust>> <<elseif $enemyhealth lte 0>> "You could've just said no," Eden says, pulling away from you. <<llove>><<npcincr Eden love -1>> <<elseif $finish is 1 or $phase is 1>> Eden pulls away. A look of frustration adorns <<his>> face, but <<he>> doesn't push you. <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Sweets 6]]>><</link>><<effects>> The cabin is silent, save for the sound of Eden shuffling off the floor. <<He>> extends <<his>> hand towards you and helps pull you up. Sitting you on a nearby chair, <<he>> gently lifts your chin and plants a soft kiss on your lips. <br><br> "Thanks for the sweets," <<he>> says. <<He>> grabs the hamper off the table. "And for celebrating Halloween with me." <br><br> <<He>> stores the sweets in a nearby cabinet and walks away, leaving you with the lingering feeling of <<his>> touch and the faint taste of chocolate on your tongue. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $phase is 0 and $exposed gte 1 and !$daily.eden.exposed>> <<His>> gaze lingers on your <<lewdness>>. "I don't want you alone like that." <br><br> <<link [[Go inside|Eden Cabin]]>><<endevent>><</link>> <br> <<link [[Stay outside|Eden Clearing]]>><<endevent>><<set $daily.eden.exposed to 1>><</link>> <<elseif $phase is 0>> <<He>> disappears between the trees. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<else>> "Don't be ridiculous," <<he>> says. "Predators have learned to stay away from the cabin. You'll be safe here." <br><br> <<if $speech_attitude is "meek">> "I only feel safe with you," you say. <<elseif $speech_attitude is "bratty">> "Maybe if you left your gun here I would be," you say. <<else>> "Are you sure I'll be safe here alone?" you say. <</if>> <br><br> <<if C.npc.Eden.love gte 50>> "Fine," <<he>> says. "But be quiet and stay close to me. Bring a basket too, you can keep an eye out for berries." <br><br> <<if $exposed gte 1>> As you walk up join <<him>>, Eden sweeps <<his>> eyes over your body, drinking in your exposed form. "You should put on some clothes next time," <<he>> says, tugging you closer. <br><br> <</if>> <<link [[Next|Eden Hunt]]>><</link>> <<else>> "I can't hunt and keep watch over you at the same time," <<he>> says. "That's final." <br><br> <i>If <<he>> liked you more <<he>> might be more amenable to your request.</i> <br><br> <<link [[Next|Eden Hunting]]>><<set $phase to 0>><</link>> <br> <</if>> <</if>><<location "forest">><<effects>><<wearProp "basket" 0 "empty">> You walk into the forest, keeping close behind Eden. <<if $worn.neck.collared is 1>> <<He>> grips your leash, pulling you along. <<if $speech_attitude is "meek">> "You're hurting my neck," you whisper. "I promise to be good." <<elseif $speech_attitude is "bratty">> "I won't find any berries if you drag me like this," you whisper. <<else>> "You can drop my leash. I promise I'll stay close," you whisper. <</if>> <<He>> looks at you, considers for a moment, then drops the leash. <</if>> <br><br> <<He>> seems to know where <<hes>> going, but you soon lose your sense of direction. <<pass 1 hour>> <<He>> stops to check small traps. Most are empty but one contains a dead rabbit, which <<he>> ties to <<his>> belt. <br><br> <<pass 1 hour>>More time passes, until <<he>> comes to an abrupt stop. "I've got you now," <<he>> whispers, <<his>> pace lowering to a creep. <<He>> glances at you. "Wait here. Don't move an inch." <<He>> disappears between the trees. You look around, but don't see any sign of whatever has <<him>> excited. You do, however, see a bush full of ripe berries. Eden hasn't noticed them. <br><br> <<icon "tending/blackberry.png">><<link [[Get the berries|Eden Hunt 2]]>><<set $phase to 0>><<endevent>><</link>> <br> <<refuseicon>><<link [[Stay close to Eden|Eden Hunt 2]]>><<set $phase to 1>><</link>> <br><<location "forest">><<effects>> <<if $phase is 0>> <<wearProp "basket" 0 "berries">> You sneak over to the bush, careful not to disturb a single twig. Once there you pick the fruit and fill the basket. Satisfied, you start sneaking back to Eden. <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - ($allure))>> <<set $daily.eden.huntCaught to 1>> <<if $rng gte 81 and $bestialitydisable is "f" and $voredisable is "f">> You round a tree and come face to face with a pair of eyes, hovering just inches from your face. All strength drains from your muscles, and you collapse to the ground. The snake slithers onto the forest floor. <<set $trance to 1>> <br><br> <<link [[Next|Eden Hunt Snake]]>><<set $molestationstart to 1>><</link>> <br> <!-- Modified for monster people --> <<elseif $rng gte 41>> <<beastNEWinit 1 wolf>> <<if $monster is 1 or $bestialitydisable is "f">> A <<beasttype>> emerges from between the trees, teeth bared. <<if $monster is 1>> <<bHis>> gaze meets yours. "Hush hush, prey. <<nnpc_Title "Eden">> won't save you." <</if>> Eden would hear your screams from here, but won't be happy with you. <br><br> <<link [[Next|Eden Hunt Wolf]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<endevent>> <<generate1>><<generate2>>Something presses against your back. "What have we here?" the <<person1>><<person>> says. <<Hes>> holding a gun to your back. <br><br> A <<person2>><<person>> puts a hand on your shoulder, "Turn around, <<girl>>. Now, what's a little thing like you doing all alone in the forest?" <br><br> <<person1>>"It's dangerous out here," the <<person>> interjects. "But it's okay, we can keep you safe." <<He>> grabs your <<bottom>> and pulls you closer. <br><br> Eden would hear your screams from here, but won't be happy with you. <br><br> <<link [[Next|Eden Hunt Molestation]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <<else>> <<generate1>><<generate2>>Something presses against your back. "What have we here?" the <<person1>><<person>> says. <<Hes>> holding a gun to your back. <br><br> A <<person2>><<person>> puts a hand on your shoulder, "Turn around, <<girl>>. Now, what's a little thing like you doing all alone in the forest?" <br><br> <<person1>>"It's dangerous out here," the <<person>> interjects. "But it's okay, we can keep you safe." <<He>> grabs your <<bottom>> and pulls you closer. <br><br> Eden would hear your screams from here, but won't be happy with you. <br><br> <<link [[Next|Eden Hunt Molestation]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <<else>> <<npc Eden>><<person1>> <<link [[Next|Eden Hunt 3]]>><<set $phase to 0>><</link>> <br> <</if>> <<elseif $phase is 1>> You were told to stay still, so that's what you do. You wait a couple of minutes before a gunshot sounds through forest. <br><br> <<link [[Next|Eden Hunt 3]]>><<set $phase to 2>><</link>> <br> <</if>><<location "forest">><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<molested>> <<controlloss>> <<set $enemytype to "vore">> <<set $vorestage to 1>> <<set $vorecreature to "snake">> <<set $vorestrength to 1>><<set $position to "doggy">> <<set $timer to 15>> <<resetLastOptions>> <<getCombatDefaultsType>> <</if>> <<if $timer is 12>> <<set $trance to 0>> You break free from the trance, and realise the snake is trying to eat you! <</if>> <<voreeffects>> <<vore>> <<voreactions>> <<if $timer lte 0 or $vorestomach gte 5>> <span id="next"><<link [[Next|Eden Hunt Snake Finish]]>><</link>></span><<nexttext>> <<elseif $vorestage lte 0>> <span id="next"><<link [[Next|Eden Hunt Snake Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Hunt Snake]]>><</link>></span><<nexttext>> <</if>><<effects>> <<set $trance to 0>> <<if $timer lte 0 or $vorestomach gte 5>> <<if $vorestage gte 5>> The walls of the snake's innards tear open. Eden stands there, knife in hand, carving open the beast until you're freed. <<else>> The snake hisses and spits you out. It flees into the undergrowth, trailing blood. <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>>Eden plants <<his>> knife into the ground and grasps your arm. <<if C.npc.Eden.love gte 80>> <<He>> pins you up against a tree. "Fucking snake touching what's mine." <<else>> <<He>> bends you over <<his>> knee. "I was so close to catching that deer," <<he>> says. "And you fucking ruined it."<<llove>><<npcincr Eden love -1>> <</if>> <br><br> <<link [[Next|Eden Hunt Punishment]]>><<set $molestationstart to 1>><</link>> <<else>> <<tearful>> you haul yourself out of the $vorecreature's maw. Deciding you aren't an appropriate meal, it disappears into the undergrowth. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Hunt 3]]>><<set $phase to 0>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<npcspank>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 200>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or $enemyanger lte 0>> <span id="next"><<link [[Next|Eden Hunt Punishment Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Hunt Punishment]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $phase is 0>> <<wearProp "basket" 0 "berries">> <<if $rng gte 91>> You find Eden slinging a deer over <<his>> shoulder. <<He>> sees the basket full of fruit in your hands and smiles. "We've done very well today," <<he>> says. "Maybe you're good luck."<<gglove>> <<else>> You find Eden crouched and frowning. "I let it get away," <<he>> says. <<He>> sees the basket of fruit in your hands and smiles. "At least we have something."<<gglove>> <</if>> <<npcincr Eden love 5>> <<elseif $phase is 1>> <<wearProp "basket" 0 "berries">> You pick up the basket of fruit. "At least we got something," Eden says. <<elseif $phase is 2>> <<wearProp "basket" 0 "empty">> <<if $rng gte 91>> Eden appears between the trees, deer slung over <<his>> shoulder. "Knew I'd get it. Maybe you're a good luck charm." <br><br> <<if $speech_attitude is "meek">> "I found some berries, but I lost sight of them," you say. "I'm sorry." <<elseif $speech_attitude is "bratty">> "There's a bush full of berries around here somewhere," you say. <<else>> "I saw a bush full of berries," you say. "But I can't see it now." <</if>> <br><br> <<He>> shrugs. "I'm no good at hunting fruit. Besides, we're good for today." <<else>> <<wearProp "basket" 0 "empty">> Eden appears between the trees, frowning. "I let it get away," <<he>> says. <br><br> <<if $speech_attitude is "meek">> "I found some berries, but I lost sight of them," you say. "I'm sorry." <<elseif $speech_attitude is "bratty">> "There's a bush full of berries around here somewhere," you say. <<else>> "I saw a bush full of berries," you say. "But I can't see it now." <</if>> <br><br> <<He>> shrugs. "I'm no good at hunting fruit. We have something at least." <<He>> pats the rabbit on <<his>> belt. <</if>> <</if>> <br><br> <<pass 2 hours>>You follow Eden through the forest, back to the safety of <<his>> cabin. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> <<He>> pants from the exertion. "I hope you've learnt your lesson." <br><br> <<tearful>> you avoid <<his>> gaze. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you gather yourself. <<else>> <<He>> looks mollified, and releases you. "I hope you've learnt your lesson." <br><br> <<tearful>> you avoid <<his>> gaze. <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Hunt 3]]>><<set $phase to 1>><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>> <<enable_rescue>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Hunt Wolf Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Hunt Wolf]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> grunts in satisfaction, and leaves you lying between the trees. <br><br> <<tearful>> you continue back to Eden. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Hunt 3]]>><<set $phase to 0>><</link>> <<elseif $enemyhealth lte 0>> The <<beasttype>> yelps and flees into the forest. <br><br> <<tearful>> you continue back to Eden. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Hunt 3]]>><<set $phase to 0>><</link>> <<else>> A gun fires nearby, startling the <<beasttype>> into fleeing. Eden marches towards you. <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<if C.npc.Eden.love gte 80>> <<He>> grabs your arms and pins you up against a tree. "Fucking animal laying its paws on what's mine." <<else>> <<He>> grasps your arm and bends you over <<his>> knee. "Stupid <<bitch>>, I was so close to catching that deer." <</if>> <br><br> <<link [[Next|Eden Hunt Punishment]]>><<set $molestationstart to 1>><</link>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<enable_rescue>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Hunt Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Hunt Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Finished with you, they shove you to the ground. "See ya around, slut." <br><br> <<tearful>> you struggle to your feet and continue back to Eden. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Hunt 3]]>><<set $phase to 0>><</link>> <br> <<elseif $enemyhealth lte 0>> "This <<bitch>> is crazy," says the <<person1>><<person>>, clutching <<his>> arm. "I think I need to get this looked at." <br><br> The other nods in agreement, "<<pShe>> ain't worth it." They stagger into the forest. <br><br> <<tearful>> you continue back to Eden. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Hunt 3]]>><<set $phase to 0>><</link>> <br> <<else>> A gunshot sounds and a bullet smashes into a nearby tree, startling the pair and making them dash for their own guns. They stare into the trees. "Who's there?" shouts the <<person1>><<person>>. <<Hes>> responded to by another gunshot, the bullet landing closer this time. Their eyes dart around, but they can't see the shooter. Another gunshot, this time the bullet thuds into the ground at the <<person2>><<persons>> feet. "Shit! Fuck," <<he>> says, backing away, eyes wild. "Let's get the fuck away from here. This <<girl>> ain't worth it." <br><br> They disappear between the trees as Eden emerges, marching towards you. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<if C.npc.Eden.love gte 80>> <<He>> grabs your arms and pins you up against a tree. "Fucking idiots laying their hands on what's mine." <<else>> <<He>> grasps your arm and bends you over <<his>> knee. "Stupid <<bitch>>, I was so close to catching that deer." <</if>> <br><br> <<link [[Next|Eden Hunt Punishment]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $edenPrey is undefined>> You agree to Eden's proposal, despite the lack of details. <br><br> <</if>> "Good," <<he>> says before <<if $phase is 0>>pushing you out the door<<else>>guiding you along<</if>>. <<if $edenPrey gte 1>> <<He>> leads you to the edge of the clearing. <br><br> "You know the drill," <<else>> You glance back and see Eden reaching for <<his>> gun. Dread fills your body, causing you to resist <<his>> shoving. <br> "Relax," Eden reassures you. "I'm not gonna hurt you." You warily allow <<him>> to lead you to the edge of the clearing. <br><br> "You're prey," <</if>> <<he>> begins. "When I fire my gun, I want you to run like your life depends on it. If you're caught..." <<He>> pauses, chuckling. "I'll have my fun with you." You glance back at <<him>>. <<Hes>> hiding something behind <<his>> back. <br> "Turn around," <<he>> orders. <br><br> You turn around, as instructed. A loud crack erupts behind you, shattering the tranquillity of the forest and signalling you to start running. <br><br> <<if !$edenPrey>><<set $edenPrey to 1>><</if>> <<link [[Run!|Eden Prey Chase]]>><<set $phase to 0>><</link>><<athleticsdifficulty 200 1200>> <br> <<link [[Get caught on purpose|Eden Prey Chase]]>><<set $phase to 1>><<control 25>><<npcincr Eden lust 1>><<npcincr Eden dom 5>><</link>><<ggcontrol>><<glust>><<ggdom>> <br><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $speech_attitude is "meek">> "I-I don't know..." you mutter, looking away from Eden. "Maybe another time...?" <<elseif $speech_attitude is "bratty">> "No way," you tell <<him>>, crossing your arms. "I'm not a sex toy." <<else>> "I don't want to do that right now," you say. <</if>> <br><br> <<if (C.npc.Eden.lust + C.npc.Eden.dom) gte random(70, 170)>> <<set $edenPreyForced to true>> Eden clenches <<his>> fist and shakes <<his>> head. "Nonsense. You'll enjoy it." You're shoved <<if $phase is 0>>out the door<<else>>away from the cabin<</if>>, with Eden's hand placed on your back, forcing you along. You glance back and see Eden reaching for <<his>> gun. Dread fills your body, and you try to pry yourself away from Eden. <br> Eden sighs in frustration and plants <<his>> boot against your <<bottom>>, giving you a swift kick that sends you stumbling <<if $phase is 0>>out the door<<else>>onto your knees<</if>>. "Move," <<he>> commands, the barrel of <<his>> gun pressed against your back. You do as told, coming to a stop at the edge of the clearing. <br><br> "<<if !$edenPrey>>You're prey<<else>>You know the drill<</if>>," <<he>> begins. "When I fire my gun, I want you to run like your life depends on it. If you're caught..." <<He>> pauses, chuckling. "I'll have my fun with you." You glance back at <<him>>. <<Hes>> hiding something behind <<his>> back. <br> "Turn around," <<he>> orders. <br><br> You turn around, as instructed. A loud crack erupts behind you, shattering the tranquillity of the forest and signalling you to start running. <br><br> <<if !$edenPrey>><<set $edenPrey to 1>><</if>> <<link [[Run!|Eden Prey Chase]]>><<set $phase to 0>><</link>><<athleticsdifficulty 200 1200>> <br> <<link [[Get caught on purpose|Eden Prey Chase]]>><<set $phase to 1>><<control 25>><<npcincr Eden lust 1>><<npcincr Eden dom 5>><</link>><<ggcontrol>><<glust>><<ggdom>> <br> <<else>> Eden clenches <<his>> fist, but relents. "Fine," <<he>> says. "I'll <<if $player.virginity.penile is true and $player.virginity.vaginal is true>>take what's mine<<else>>put you to use<</if>> one way or another. Remember who takes care of you around here." <br> <<He>> steps away from you, <<if $phase is 1>>stomping off into the woods with a huff<<else>>storming outside and slamming the door shut behind <<him>><</if>>. <br><br> <<if $phase is 0>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>> <br> <</if>><<set $outside to 1>><<set $location to "forest">><<effects>> <<if $phase is 1>> You sprint into the brush as Eden gives chase. Your curiosity gets the better of you, causing you to look for a plausible excuse for the hunt to end. An idea pops into your mind when you spot a root. You jam your foot into the tree and fall onto the forest floor. Eden takes advantage in an instant. <br><br> You feel your wrists forced behind you as rope coils over them, restricting them to your back. Your eyes dart around, <span class="meek">until a shiny, red ball-gag is forced into your mouth.</span> A <<if $speech_attitude is "meek">>whimper<<elseif $speech_attitude is "bratty">>growl<<else>>sigh<</if>> escapes from you in response. A cloth is wrapped around your eyes and tied around your head, blinding you. You can do nothing but squirm helplessly, as Eden keeps you pinned down. <<bind>><<facewear 6>> <br><br> "Well, well, it seems I've found myself helpless prey," Eden taunts you. "Leaving you here just won't do." <<He>> hoists you up and carries you over <<his>> shoulder. <br> Tied up and deprived of your senses, you can only wait and anticipate what Eden has in store for you. <br><br> <<link [[Next|Eden Prey Caught]]>><</link>> <br> <<else>> <<if $athleticsSuccess>> You sprint into the brush as Eden gives chase. The twists and turns in the forest allow you the freedom to evade <<him>>. Despite the tremendous tracking skills the <<nnpc_title "Eden">> possesses, <span class="green">your speedy feet and persistence keeps <<him>> on <<his>> toes.</span> You can feel Eden trying to reach out to you as <<he>> barely brushes against your skin with <<his>> fingers.<<stress 2>><<gstress>> <br><br> After what seems like an eternity, you've left <<him>> in the dust. Your muscles burn from your efforts.<<physique 2>><<tiredness 12>><<npcincr Eden dom -5>><<gtiredness>><<lldom>> <br><br> <<set $forest to random(50, 100)>> <<set $edenPreyEscaped to true>> <<unset $edenPreyForced>> <<link [[Next|Forest]]>><<endevent>><</link>> <<else>> You sprint into the brush as Eden gives chase. The twists and turns in the forest allow you the freedom to evade <<him>>. However, <span class="red">you're unable to shake off the <<nnpc_title "Eden">>.</span> Despite your best efforts, you can hear <<his>> heavy breathing right behind you. As the last of your energy runs out, you're tackled to the ground.<<pain 1>><<tiredness 12>><<npcincr Eden dom 5>><<gpain>><<ggtiredness>><<ggdom>> <br><br> You feel your wrists forced behind you as rope coils over them, restricting them to your back. Your eyes dart around, <span class="meek">until a shiny, red ball-gag is forced into your mouth.</span> A <<if $speech_attitude is "meek">>whimper<<elseif $speech_attitude is "bratty">>growl<<else>>sigh<</if>> escapes from you in response. A cloth is wrapped around your eyes and tied around your head, blinding you. You can do nothing but squirm helplessly, as Eden keeps you pinned down. <<bind>><<facewear 6>> <br><br> "Well, well, it seems I've found myself some helpless prey," Eden taunts you. "Leaving you here just won't do." <<He>> hoists you up and carries you over <<his>> shoulder. <br> Tied up and deprived of your senses, you can only wait and anticipate what Eden has in store for you. <br><br> <<link [[Next|Eden Prey Caught]]>><</link>> <br> <</if>> <</if>> <<pass 10>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<pass 10>> You're rushed through the forest, unable to move in Eden's grasp. Soon, you hear the sound of a door opening. The cabin, you assume. <br> Without warning, you're dropped onto a bed. Strong arms pin you down, preventing movement. You feel Eden's hot breath against your cheek. <br><br> "Caught you," <<he>> whispers in a sultry tone. One hand caresses your hair as the other slides to your <<breasts>>, drumming <<his>> fingers on your chest. "Now then, what's a <<nnpc_title "Eden">> to do with <<his>> helpless quarry...?" <br><br> <<His>> hand dips lower, down to your <<genitals>>. <br><br> <<link [[Next|Eden Prey Sex]]>><<if $edenPreyForced>><<set $molestationstart to 1>><<else>><<set $sexstart to 1>><</if>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Prey Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Prey Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> <<if ($player.penisExist and $player.virginity.penile is true and ($NPCList[0].vagina isnot "none" or $analdisable is "f")) and ($player.vaginaExist and $player.virginity.vaginal is true and $NPCList[0].penis isnot "none")>> You feel a gentle slap across your face. <br> "We're going to fuck properly next time we do this," Eden says, <<if C.npc.Eden.lust gte 70>>licking<<else>>kissing<</if>> your cheek. <br><br> <</if>> <<if $orgasmcurrent is 0>> You pant heavily into your gag, feeling a frustrated yearning in your <<genitals>>. Eden seems to have taken pity on you, however, and you soon feel <<his>> hands slipping down towards your crotch. <br><br> <<if $player.penisExist and $player.vaginaExist and !playerChastity()>> <<He>> thoughtfully runs <<his>> fingers down the length of your <<penis>> while <<his>> thumb gently rubs your <<pussy>>. "Now, which do I play with?" <<set _edenHermChoice to random(0, 1)>> <br> <</if>> <<if $worn.genitals.name is "chastity parasite">> <<His>> rough hand squeezes your chastity parasite. <br> "Hold still," <<he>> whispers as <<he>> struggles to keep your hips in place. "It'll be over soon." <br> The waves of sensation bring you over the edge. You scream into your gag. <<set $arousal to 10000>> <<orgasm>> You hear a satisfied chuckle as your orgasm subsides. <<elseif playerChastity()>> <<He>> slides <<his>> finger over your $worn.genitals.name. <br><br> "I'll get this off you one day," <<he>> whispers. "Don't you worry." <<elseif _edenHermChoice is 1 or !$player.vaginaExist>> <<His>> rough hand lightly grips your cock and begins stroking up and down. Your glans is teased, causing your hips to buckle. Eden pins you down as you do so. <br> "Hold still," <<he>> whispers. "It'll be over soon." <br> The incredible sensation brings you over the edge. You scream into your gag. <<set $arousal to 10000>> <<orgasm>> You hear a satisfied chuckle as your orgasm subsides. <<else>> <<His>> rough hand traces around your outer walls, until Eden suddenly jams <<his>> fingers inside your <<pussy>>. Your breathing gets a bit heavier. Emboldened by your signs of arousal, <<he>> begins to knead your clit. The sensation causes your legs to twitch. You can't help but begin to struggle. Eden pins you down as you do so. <br> "Hold still," <<he>> whispers. "It'll be over soon." <br> The incredible sensation brings you over the edge. You scream into your gag. <<set $arousal to 10000>> <<orgasm>> You hear a satisfied chuckle as your orgasm subsides. <</if>> <br><br> <</if>> You feel Eden's lips press against your forehead, then hear the bed creak as <<he>> rolls off, leaving you alone in your bound state. <br><br> <<link [[Next|Eden Prey End]]>><<set $phase to 0>><</link>> <br> <<elseif $enemyhealth lte 0>> <<npcincr Eden love -1>><<npcincr Eden dom -1>> Despite your vulnerable state, you kick Eden off of you. You hear <<him>> tumble from the bed. <br> "Piece of shit," Eden shouts. "This better not bruise."<<llove>><<ldom>> <br><br> In a fit of rage, <<he>> walks off. You're left alone, bound, blind and gagged. <br><br> <<link [[Next|Eden Prey End]]>><<set $phase to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> You feel exhausted, struggling to move. You're not left there for long. Eden sits you up and undoes your gag. A cup is pressed to your lips. <br> "It's water," Eden states. <<He>> holds it closer to your mouth. "Drink." <br><br> You have no qualms about drinking as you gulp down a few sips. It's refreshing. Eden allows you a moment to catch your breath before pressing the cup against your lips again. <br> <<He>> pulls the cup away, then turns your body around. Your blindfold is removed, and your bindings follow. <<set $worn.face.type.push("broken")>> <<faceruined>> <<unbind>> <br><br> <<if $phase is 0>> "You've been such a good <<girl>>," Eden says, kissing your forehead again. "Make sure to get some rest." <<else>> "Feisty today, aren't we?" Eden chuckles. <<He>> seems to have calmed down. "Make sure to get some rest." <</if>> <br><br> <<He>> leaves you lying on the bed. <<tearful>> you rise to your feet, <<if $edenPreyForced>><<unset $edenPreyForced>> feeling uneasy about what just happened. <<else>> still feeling more than a little winded. <</if>> <br><br> <<endcombat>> <<clotheson>> <<link [[Next|Eden Cabin]]>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<He>> smiles. "Good. I can't take your leash off just yet, not until you're trained." <<He>> ties <<his>> end of the leash around a wooden beam. "There should be enough slack for you to roam the entire cabin though." <br><br> <<link [[Next|Forest Cabin]]>><<set $forestleashed to 1>><<set $eventskip to 1>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> "You don't mean that," <<he>> says. "This benefits you far more than me." <<He>> grabs you and bends you over <<his>> lap. "But I can't let you get away with being so insolent." <br><br> <<link [[Next|Forest Hunter Punishment]]>><<set $molestationstart to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<npcspank>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 200>> <<if $phase is 1>> <<npcoral>> <</if>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or $enemyanger lte 0>> <span id="next"><<link [[Next|Forest Hunter Punishment Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Hunter Punishment]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> pants from the exertion. "I hope you've learnt your lesson." <br><br> <<tearful>> you avoid <<his>> gaze. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest Cabin]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest Cabin]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyanger lte 0>> <<He>> looks mollified, and releases you. "I hope you've learnt your lesson." <br><br> <<tearful>> you avoid <<his>> gaze. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest Cabin]]>><<set $eventskip to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<npc Eden>><<person1>> <<if $exposed gte 1>> <<towelup>> <</if>> <<if $forestleashed is 1>> <<if C.npc.Eden.trust gte 200>> <span class="green">Eden unties the leash from the wooden beam.</span> "You've been a good <<girl>>, so I'm going to give you a bit more freedom. Don't you dare run out on me though. Stick to the cabin and the clearing just outside." <<set $forestleashed to 0>> <<else>> You are leashed tight to a wooden beam, preventing escape. <</if>> <br><br> <<else>> <<if C.npc.Eden.trust lt 100>> <span class="red">Eden ties your leash to a wooden beam.</span> "You've been a bad <<girl>>, so I'm going to make sure you don't go anywhere." <br><br> <<set $forestleashed to 1>> <</if>> <</if>> <<if $forestleashed isnot 1>> <<if $syndromeeden is undefined>> <<badEndTrackingEnd "Eden" { reason: "edenAccepted" }>> <<set $syndromeeden to 1>><<set C.npc.Eden.lust to 0>><<set $edenshrooms to 0>><<set $edengarden to 0>><<set $edenspring to 0>><<set $wardrobes.edensCabin.unlocked to true>> <span class="red"><i>Eden isn't so bad, <<hes>> just lonely. It must be hard living here in the woods on your own.</i> <br> You've gained the "Stockholm Syndrome: Eden" trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Eden">> <span class = "gold">Eden is now your love interest! The feeling of danger has passed, and you feel safer here.</span> <<else>> <span class = "gold">Eden can now be claimed as your love interest! The feeling of danger has passed, and you feel safer here. <br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <br><br> <</if>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> <<if Time.hour lte 6>> Eden carries you to the bed. <<if $forestleashed is 1>> <<He>> wraps your leash around the bars of the headboard, pinning you in place. <</if>> <<He>> leers at you, a ravenous look in <<his>> eyes. "You're so hot. I'm gonna enjoy this." <br><br> <<link [[Next|Cabin Night Rape]]>><<set $molestationstart to 1>><</link>> <br> <<elseif Time.hour lte 8>> Eden gives you instructions on how to prepare <<his>> breakfast. <br><br> <<link [[Prepare the food as instructed (2:00)|Forest Cabin Food]]>><<npcincr Eden trust 10>><<sub 1>><<pass 2 hours>><</link>><<gtrust>><<gstockholm>> <br> <<link [[Spit in the eggs (2:00)|Forest Cabin Spit]]>><<npcincr Eden trust -10>><<def 1>><<pass 2 hours>><</link>><<ltrust>><<lstockholm>> <br> <<elseif Time.hour lte 16>> Eden leads you outside, and goes about <<his>> daily business. <<if $forestleashed is 1>> <<He>> keeps you close at all times, tying your leash around a tree when <<he>> needs to use both hands. <<else>> <<He>> keeps you close at all times. <</if>> <br><br> <<if $forestleashed is 1>> <<link [[Weaken the leash|Forest Cabin Weaken]]>><<def 1>><</link>> <br> <</if>> <<link [[Be good|Forest Cabin Good]]>><<sub 1>><</link>> <br> <<elseif Time.hour lte 18>> Eden runs a bath. <<He>> eases <<his>> body into the water, and looks at you. "What are you waiting for? Strip, get in, and wash me." <br><br> <<link [[Wash (2:00)|Cabin Bath]]>><<pass 2 hours>><<npcincr Eden trust 10>><<sub 1>><</link>><<gtrust>><<gstockholm>> <br> <<link [[Refuse (2:00)|Cabin Bath Refuse]]>><<pass 2 hours>><<npcincr Eden trust -10>><<def 1>><</link>><<ltrust>><<lstockholm>> <br> <<elseif Time.hour lte 22>> Eden settles down to read a book, and stokes the fireplace. <br><br> <<link [[Cuddle (4:00)|Cabin Cuddle]]>><<sub 1>><<npcincr Eden trust 20>><<npcincr Eden love 1>><<pass 4 hours>><</link>><<glove>><<gtrust>><<ggstockholm>> <br> <<link [[Catch some sleep (4:00)|Forest Cabin]]>><<def 1>><<tiredness -12>><<tiredness -12>><<pass 4 hours>><<endevent>><</link>><<ltiredness>> <br> <<else>> Eden carries you to the bed. <<if $forestleashed is 1>> <<He>> wraps your leash around the bars of the headboard, pinning you in place. <</if>> <<He>> leers at you, a ravenous look in <<his>> eyes. "You're so hot. I'm gonna enjoy this." <br><br> <<link [[Next|Cabin Night Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Cabin Night Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Cabin Night Rape]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Eden sighs and rolls onto <<his>> back. You soon hear <<his>> snoring. <<elseif $enemyhealth lte 0>> Eden takes the hint, and rolls onto <<his>> side, facing away from you. You soon hear <<his>> snoring. <</if>> <br><br> <<tearful>> you wonder what to do. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Cabin Night]]>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $forestleashed is 1>> Eden is asleep, but with your neck leashed tight to the bed, you can't move very far. <br><br> <<link [[Sleep|Cabin Night Sleep]]>><<cabintime>><</link>><<ltiredness>> <br> <<link [[Weaken the leash|Cabin Night Leash]]>><<cabintime true>><</link>> <br> <<else>> Eden is asleep. You could escape if you wanted. <br><br> <<link [[Sleep|Cabin Night Sleep]]>><<cabintime>><</link>><<ltiredness>> <br> <<link [[Escape|Cabin Night Escape]]>><<set $stress -= 2000>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<npc Eden>><<person1>> You settle down and try to sleep. <br><br> You are awoken a while later by Eden kissing you on the cheek. "Good morning." <<He>> yawns and stretches. "Time for breakfast." <br><br> <<link [[Next|Forest Cabin]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $forestleashedwear gte 1>> <<set $forestleashedwear += 1>> <<else>> <<set $forestleashedwear to 1>> <</if>> You rub the leash against the headboard, hoping to wear it through. You think you feel it becoming thinner. <br><br> <<if $forestleashedwear gte 3>> Sunlight caresses your face when the leash snaps, freeing you. Eden still slumbers, there's nothing preventing your escape. <<detach_leash>> <<set $forestleashed to 0>><<set $forestleashedwear to 0>> <br><br> <<link [[Stay put|Cabin Leash Broken]]>><</link>><<gtrust>><<gggstockholm>> <br> <<link [[Escape|Cabin Night Escape]]>><<set $stress -= 2000>><</link>><<lllstockholm>> <br> <<else>> <<npc Eden>><<person1>> A while later you hear Eden stir. <<He>> rolls over and kisses you on the cheek. "Good morning." <<He>> yawns and stretches. "Time for breakfast." <br><br> <<link [[Next|Forest Cabin]]>><<endevent>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> You sneak towards the cabin entrance and try the door handle. It opens, and you escape into the forest. <br><br> <<link [[Next|Forest]]>><<npcincr Eden trust -200>><<set $forest to 80>><<if !$syndromeeden>><<badEndTrackingEnd "Eden" { reason: "edenEscapeNight" }>><</if>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<npc Eden>><<person1>> A while later you hear Eden stir. <<He>> rolls over and kisses you on the cheek. "Good morning." <<He>> yawns and stretches. "Time for breakfast." <<He>> notices your broken leash. "Oh dear, I thought these things were sturdier. You're such a good <<girl>> for not running off." <<He>> leans over and kisses you on the forehead, then looks thoughtfully at the broken remains of the leash. <<npcincr Eden trust 200>> <br><br> <<if C.npc.Eden.trust gte 100>> "I don't think keeping you tied is necessary any more. Just don't run off on me. Stick to the cabin and the clearing just outside, where it's safe." <<if $syndromeeden is undefined>> <<badEndTrackingEnd "Eden" { reason: "edenAccepted" }>> <<set $syndromeeden to 1>><<set C.npc.Eden.lust to 0>><<set $edenshrooms to 0>><<set $edengarden to 0>><<set $edenspring to 0>><<set $wardrobes.edensCabin.unlocked to true>> <br><br> <span class="red"><i>Eden isn't so bad, <<hes>> just lonely. It must be hard living here in the woods on your own.</i> <br> You've gained the "Stockholm Syndrome: Eden" trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Eden">> <span class = "gold">Eden is now your love interest! The feeling of danger has passed, and you feel safer here.</span> <<else>> <span class = "gold">Eden can now be claimed as your love interest! The feeling of danger has passed, and you feel safer here. <br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <</if>> <</if>> <br><br> <<if C.npc.Eden.trust gte 100>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> <<link [[Next|Forest Cabin]]>><<endevent>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> You prepare the food and place it on the table in front of <<him>>. <<He>> takes a bite, then smiles and pats your head. <<He>> shares some with you and you eat together. Eden talks a lot about the minutiae of life here, pausing to allow you a response. You nod each time, which seems enough to satisfy <<him>>. <br><br> <<His>> plate empty, <<he>> stands and looks out the window. <<if Weather.precipitation is "none">> "It's a lovely day! We'll be able to get lots of work done." <<elseif Weather.precipitation is "rain">> "We've got lots of work to do today. A little rain won't stop us." <<elseif Weather.is("heavyClouds")>> "The clouds are grumbling. Hope they don't burst before we're done for the day." <<elseif Weather.isFreezing>> "It's cold today. Best keep active." <</if>> <br><br> <<link [[Next|Forest Cabin]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> You prepare the food and place it on the table in front of <<him>>. <<He>> takes a bite. "You did something to this, didn't you?" You try to suppress a defiant smile, but the twitching at the corner of your lips gives it away. <<He>> grabs you and bends you over <<his>> lap. <br><br> <<link [[Next|Forest Hunter Punishment]]>><<set $molestationstart to 1>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> You snuggle up to Eden. <<He>> is taken aback, but <<his>> face soon softens and <<he>> wraps an arm around you. <br><br> <<link [[Next|Forest Cabin]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>><<wearProp "sponge">> You remove your clothing and get in the bath. Using a sponge, you wash <<his>> back. <<He>> turns to you. "You're such a gentle thing. Now clean my chest." You continue washing, though it's more embarrassing when you can see <<his>> face. <<wash>><<garousal>><<arousal 1000>> <br><br> <<link [[Next|Forest Cabin]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<He>> yanks your leash, dragging you into the bath, and pulling you over <<his>> lap. <br><br> <<link [[Next|Forest Hunter Punishment]]>><<set $molestationstart to 1>><<npcexpose>><<set $phase to 1>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> You grind the leash against the tree, careful not to be noticed. You think you feel the leash become thinner. <br><br> Some time later, Eden pants and stretches while looking at the setting sun. "I need a bath. Come on, let's go home." <<if $forestleashedwear gte 1>> <<set $forestleashedwear += 1>> <<else>> <<set $forestleashedwear to 1>> <</if>> <br><br> <<link [[Next|Forest Cabin]]>><<pass 8 hours>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> Some time later, Eden pants and stretches while looking at the setting sun. "I need a bath. Come on, let's go home." <br><br> <<link [[Next|Forest Cabin]]>><<pass 8 hours>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>><<set $bus to "edencabin">><<getTarget true>><<edenFluidsCheck>> /* make sure that all links that lead here have <<endevent>> */ <<npc Eden>><<person1>> You are in Eden's cabin. <<if $edenpillow is 2>> A rug and some pillows sit by the fireplace. <</if>> <<if $edencushions is 2 and $edenloveseat is 9>> A loveseat rests nearby. <</if>> <<if $edencurtains is 2>> Soft curtains hang from the windows. <</if>> <<if $edencoat is 2>> A coat stand is placed in the corner. <<if $edencoatjacket is 1 and $edenscarf is 1 and !(Time.hour gte 11 and Time.hour lte 14 and $daily.eden.hunting is 1)>> A hunting coat and a scarf hang from it. <<elseif ($edenscarf is 1 and !(Time.hour gte 11 and Time.hour lte 14 and Time.season is "winter" and $daily.eden.hunting is 1))>> A scarf hangs from it. <<elseif $edencoatjacket is 1 and !(Time.hour gte 11 and Time.hour lte 14 and $daily.eden.hunting is 1)>> A hunting coat hangs from it. <</if>> <</if>> There is a thermometer outside the window. It reads <span class="teal"><<print Weather.toSelectedString(Weather.temperature, 0)>></span>. <<print setup.WeatherDescriptions.extremeTemperature()>> <br><br> <<if isPregnancyEnding() and !$possessed>> <<pregnancyPassout "edencabin">> <<elseif $stress gte $stressmax and !$possessed>> <br><br> <<link [[Everything fades to black...|Eden Cabin Passout]]>><</link>> <<elseif $edenCagedEscape and Time.hour gte 0 and Time.hour lte 6 and !$possessed>> You step through the door of the cabin, holding your breath in anticipation. Eden immediately stirs from <<his>> bed, throwing off the covers in a fit of rage. "So now you've come crawling back, have you? About fucking time." <br><br> <<He>> grabs you before you can get a word out. It's then that you see the cage in the corner. <br><br> <<link [[Next|Eden Caged Intro]]>><<set $phase to 2>><</link>> <br> <<elseif ($edenfreedom is 2 and $edendays gte 8 and Time.hour gte 0 and Time.hour lte 6) or ($edenfreedom is 1 and $edendays gte 2 and Time.hour gte 0 and Time.hour lte 6) and !$possessed>> <<set $edendays to 0>> <<npcincr Eden love -2>> You enter to find Eden sleeping. Woken by the sound of the door opening, <<he>> quickly rises from the bed, but relaxes slightly when <<he>> sees you. Throwing off the covers, <<he>> rushes over to you. <<if $edenPreyEscaped>><<unset $edenPreyEscaped>> "Don't think I forgot about our game. You weren't supposed to escape me," <<he>> grumbles. "You shouldn't have been gone so long, either. Where the hell have you been?" <<else>> "Where have you been?" <<he>> asks, grabbing you by the shoulders. "I was so worried about you." <</if>> <br><br> <<link [[Apologise|Eden Return Apologise]]>><<npcincr Eden love 1>><<set $phase to 0>><</link>> <br> <<link [[Explain|Eden Return Apologise]]>><<set $phase to 1>><</link>> <<elseif $edenPreyEscaped and Time.hour gte 0 and Time.hour lte 6 and !$possessed>><<unset $edenPreyEscaped>> You enter to find Eden sleeping. Woken by the sound of the door opening, <<he>> quickly rises from the bed, rubbing <<his>> eyes groggily. When <<he>> sees you, <<his>> expression turns to a glare. <br><br> "You weren't supposed to escape me," <<he>> says, looking you up and down. "I'll fuck you raw if I have to. Next time, you're mine." <br> <<if $worn.neck.collared isnot 1 and $edenaskcollar isnot 1>> <<He>> yawns and starts to drift back to sleep, but <<his>> eyes pop open, as if <<he>> just realised something. <br> "Where's your collar?" <<he>> asks, <<his>> voice growing concerned. <<He>> throws the covers off and stomps towards you. <br><br> <<if $edencollarremove is 1>> <<link [[Lie and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <<else>> <<link [[Explain and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <</if>> <br> <<link [[Just say you removed it|Eden Collar Remove]]>><</link>> <br> <<else>> <<He>> trails off and yawns, then rolls back onto <<his>> side. The sound of <<his>> snoring soon fills the cabin. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>> <<elseif $worn.neck.collared isnot 1 and $edenaskcollar isnot 1 and Time.hour gte 0 and Time.hour lte 6 and !$possessed>> You enter to find Eden sleeping. Woken by the sound of the door opening, <<he>> quickly rises from the bed, but relaxes slightly when <<he>> sees you. <<He>> turns to lie back down, but stops as <<his>> eyes zero in on your neck. <br><br> "Where's your collar?" <<he>> asks, getting out of bed and walking towards you. <br><br> <<if $edencollarremove is 1>> <<link [[Lie and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <<else>> <<link [[Explain and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <</if>> <br> <<link [[Just say you removed it|Eden Collar Remove]]>><</link>> <br> <<elseif ($exposed gte 2 and $exhibitionism lte 74 or $exposed gte 1 and $exhibitionism lte 54) and !isLoveInterest("Eden")>> You don't want to be seen like this! You rush to your clothes. <br><br> <<link [[Next|Eden Wardrobe]]>><<endevent>><</link>> <br><br> <<else>> <<if $exposed is 1 and hasSexStat("exhibitionism", 4) or $exposed is 2 and hasSexStat("exhibitionism", 5)>> <span class="lewd">You feel a primal thrill from your displayed <<lewdness>>.</span> <<elseif $exposed is 1 or $exposed is 2>> <span class="lewd">Your <<lewdness>> embarrasses you, though no one but Eden can see you here.</span> <</if>> <<if Time.dayState is "night">> Embers burn in the hearth. <</if>> <<if Weather.precipitation is "rain">> <<if $edenroof gte 5>> Rain pours down on the cabin's roof with a soothing sound. <<else>> Droplets of rainwater seep through the wooden ceiling and patter on the ground. <</if>> <br><br> <<elseif Weather.precipitation is "snow">> Snow settles on the window sills. <br><br> <</if>> <<if ($edenfreedom is 2 and $edendays lt 8) or ($edenfreedom is 1 and $edendays lt 2)>> <<set $edendays to 0>> <</if>> <<if $possessed>> <<if $nextPassageCheck is "Eden Clearing" and $worn.neck.collared is 1>> You're stopped by your collar's leash going taut. You stare at Eden's sleeping form and sneer. <br><br> You grip the collar, and pull. You can't feel your arms or hands, but you know you're pulling with impossible force. <br><br> Several more hands grab the collar, and pull from all directions. After a moment, it gives way. The hands catch every falling scrap of metal before they can hit the ground, laying them in a pile at Eden's side. You smirk. <<set $forestleashed to 0>><<set $forestleashedwear to 0>><<set $worn.neck.cursed to 0>><<neckruined>> <<else>> Eden is fast asleep. <</if>> <br><br> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<investigateicon>><<link [[Look around the cabin|Cabin House Actions]]>><</link>> <br><br> <<if $nextPassageCheck is "Cabin Actions">> <<bedicon "eden">><span class="nextLink"><<link [[Examine the sleeping area|Cabin Actions]]>><</link>></span> <<else>> <<bedicon "eden">><<link [[Examine the sleeping area|Cabin Actions]]>><</link>> <</if>> <br><br> <<cabinothers>> <<elseif Time.hour gte 0 and Time.hour lte 6>> <<if $edenbed isnot 1 and Time.hour lte 2>><<set $edenbed to 1>> Eden moves away from you, stretching as <<he>> does so. "It's getting late," <<he>> says, walking to bed. <<He>> looks at you expectantly. <br><br> <<bedicon "eden">><<link [[Go with Eden|Eden Cabin Bed]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>> <br> <<wardrobeicon>><<link [[Change into night clothes|Eden Night Wardrobe]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>> <br> <<refuseicon>><<link [[Stay|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> <<set $edenbed to 1>> Eden is fast asleep. <br><br> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<investigateicon>><<link [[Look around the cabin|Cabin House Actions]]>><</link>> <br><br> <<bedicon "eden">><<link [[Examine the sleeping area|Cabin Actions]]>><</link>> <br><br> <<cabinothers>> <</if>> <<elseif Time.hour lte 8>> <<if $valentines is 1 and Time.monthDay is 14 and $daily.eden.breakfast isnot 1>> <<if $daily.eden.breakfast isnot 1>> <<set $daily.eden.breakfast to 1>> <</if>> <<set $valentines_eden_breakfast to 1>> The sound of kitchenware rattles throughout the cabin, ripping you from your slumber. Blinking your eyes open, you see small beams of morning sunlight peek through the windows. Momentarily distracted, you stare at the scenery for a bit before the smell of food breaks your focus. Puzzled, you turn over to ask Eden about it, but realise that <<hes>> not in bed. You sit up just in time to see <<him>> setting the table for breakfast. Hearing you stir, <<he>> turns <<his>> head to look at you. <br><br> "Morning," <<he>> greets. <<Hes>> holding two plates of eggs. <br> You toss the covers off and shamble over, throwing <<him>> a questioning glance. Eden chuckles at your dishevelled state. <br> "It's Valentine's day," <<he>> explains, "so I thought I'd help out." <br><br> You shift your gaze to the food. It's odd not to be making breakfast for <<him>> and it's even stranger to not be sharing, but you find the gesture sweet nonetheless. You smile at <<him>> in gratitude and join <<him>> at the table. As the two of you eat, you attempt to chat with <<him>>. <<Hes>> quiet for the most part, but tries to respond when <<he>> can. <br><br> <<if $valentines_eden_bought isnot 1>> You wonder if there's a way you could repay <<him>>. <<elseif $valentines_eden_bought is 1>> You think about the gifts you bought for Eden at the mall. Maybe you'll be able to repay <<him>> for this later. <</if>> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <<elseif $daily.eden.breakfast isnot 1>> <<if $daily.eden.breakfast isnot 1>> <<set $daily.eden.breakfast to 1>> <</if>> Eden lies on the bed. "Make me breakfast," <<he>> says. <br><br> <<if $rightarm is "bound" or $leftarm is "bound" or $feetuse is "bound">> <<He>> beckons you over. Once you're close enough, Eden grabs your shoulder and spins you around. With your back to <<him>>, Eden begins to fiddle with your bindings. You tense up, anxious that you're unable to see what <<hes>> up to. <br><br> Suddenly, your arms and legs are free of all restraints. You breathe a sigh of relief. <br><br> <<unbind>> <</if>> <<foodicon "pancakes">><<link [[Make the usual breakfast (0:20)|Eden Breakfast]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<pass 20>><<set $phase to 0>><<housekeeping 1 100>><</link>><<housekeepingdifficulty 1 100>><<gdom>> <br> <<if $housekeeping gte 100>> <<foodicon "eat">><<link [[Make something new (0:20)|Eden Breakfast]]>><<pass 20>><<set $phase to 1>><</link>> <br> <<if $edengarden gte 3>> <<tendingicon "carrot">><<link [[Use vegetables from the plot (0:20)|Eden Breakfast]]>><<pass 20>><<set $phase to 3>><<npcincr Eden love 3>><</link>><<gglove>> <br> <</if>> <<if $edenshrooms gte 3>> <<tendingicon "mushroom">><<link [[Use mushrooms from the barrel (0:20)|Eden Breakfast]]>><<pass 20>><<set $phase to 4>><<npcincr Eden lust 30>><</link>><<ggglust>> <br> <</if>> <<else>> <<insufficientStat "housekeeping" "to make something more imaginative">> <br> <</if>> <<refuseicon>><<link [[Refuse|Eden Breakfast]]>><<npcincr Eden love -1>><<npcincr Eden dom -1>><<set $phase to 2>><</link>><<ldom>><<llove>> <<elseif $edenNightmareWake is true>> <<unset $edenNightmareWake>> You catch <<him>> eyeing your <<= $asphyxiaLvl gte 3 ? "neck" : "wrists">>, but <<he>> quickly looks away when <<he>> sees you've noticed. <br><br> <<link [[Ask about last night|Eden Nightmare Morning]]>><<set $phase to 0>><</link>> <br> <<link [[Pretend nothing happened|Eden Nightmare Morning]]>><<set $phase to 1>><</link>> <br> <<else>> Eden is getting ready for the day. <br><br> <<edenlust>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<getinicon>><<link [[Approach Eden|Cabin Eden Actions]]>><</link>> <br><br> <<investigateicon>><<link [[Look around the cabin|Cabin House Actions]]>><</link>> <br><br> <<bedicon "eden">><<link [[Examine the sleeping area|Cabin Actions]]>><</link>> <br><br> <<cabinothers>> <</if>> <<elseif Time.hour lte 16>> Eden is working hard outside. <br><br> <<if Time.hour is 15 and $daily.eden.lunch isnot 1>> <<if $housekeeping gte 100>> Eden must be hungry after all that hunting. Maybe <<he>>'d appreciate some lunch. <br> <<foodicon "eat">><<link [[Make lunch for Eden (0:30)|Eden Lunch]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $daily.eden.lunch to 1>><</link>> <<else>> Eden must be hungry after all that hunting. You think about making <<him>> lunch, <span class="blue">but lack the housekeeping confidence to whip anything up.</span> <</if>> <br><br> <</if>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<investigateicon>><<link [[Look around the cabin|Cabin House Actions]]>><</link>> <br><br> <<bedicon "eden">><<link [[Examine the sleeping area|Cabin Actions]]>><</link>> <br><br> <<cabinothers>> <<elseif Time.hour lte 17>> <<if $valentines is 1 and Time.monthDay is 14 and $valentines_eden_bought is 1 and $daily.eden.bath isnot 1 and $valentines_eden_bath isnot 1>> Eden's still busy outside. Now's your chance to prepare a bath for <<him>>. <br><br> <<link [[Run the bath|Eden Valentines Bath]]>><</link>> <br> <<link [[Don't run a bath|Eden Cabin]]>><<endevent>><<set $valentines_eden_bath to 1>><</link>> <<elseif ($valentines isnot 1 and $daily.eden.bath isnot 1) or ($valentines is 1 and Time.monthDay isnot 14 and $daily.eden.bath isnot 1) or ($valentines is 1 and Time.monthDay is 14 and !$valentines_eden_bought and $daily.eden.bath isnot 1) or ($valentines is 1 and Time.monthDay is 14 and $valentines_eden_bath is 1 and $daily.eden.bath isnot 1)>> <<if $daily.eden.bath isnot 1>> <<set $daily.eden.bath to 1>> <</if>> Eden finishes running <<his>> bath and starts to strip. "Bath time," <<he>> says. "Come on, get in while the water's hot." <br><br> <<noClothingCheck>> <<if _nude is false>> <<link [[Strip and get in (0:30)|Eden Bath]]>><<pass 30>><<npcincr Eden dom 1>><<npcincr Eden love 1>><<set $phase to 0>><<strip>><<set $edenClothes to true>><<set $edenFluidsCheck to "clean">><</link>><<gdom>><<glove>> <<else>> <<link [[Get in (0:30)|Eden Bath]]>><<pass 30>><<npcincr Eden dom 1>><<npcincr Eden love 1>><<set $phase to 0>><<strip>><</link>><<gdom>><<glove>> <</if>> <br> <<link [[Refuse|Eden Bath]]>><<npcincr Eden dom -1>><<npcincr Eden love -1>><<set $phase to 1>><<set $edenjoin to 1>><</link>><<llove>><<ldom>> <br> <<else>> Eden is relaxing in the bath. <br><br> <<edenlust>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<getinicon>><<link [[Approach Eden|Cabin Eden Actions]]>><</link>> <br><br> <<investigateicon>><<link [[Look around the cabin|Cabin House Actions]]>><</link>> <br><br> <<bedicon "eden">><<link [[Examine the sleeping area|Cabin Actions]]>><</link>> <br><br> <<cabinothers>> <</if>> <<elseif Time.hour lte 18 and Time.monthDay is 25 and $christmas_gift_eden_given is 1 and $eden_christmas_dinner isnot 1>> Eden busies <<himself>> with gathering ingredients, preparing something. You roam around the cabin, trying to peek over <<his>> shoulder or at least help <<him>> out. Your efforts are for naught though, as <<he>> insists that you let <<him>> handle everything tonight. As <<he>> starts cooking, a mouth-watering scent fills the cabin, adding to the anticipation of the moment. <br><br> <<He>> calls you over to the table after a long wait. A beautiful meal for two is laid out, looking as good as it smells. You look to Eden and <<he>> seems a bit worn out, but proud of <<himself>>. You think it's the most effort Eden's ever put into cooking before. <br><br> <<link [[Next|Eden Christmas Meal 2]]>><<pass 20>><</link>> <<elseif Time.hour lte 18 and $daily.eden.dinner isnot 1 and C.npc.Eden.love gte 100>> <<set $daily.eden.dinner to 1>> Eden finishes cooking and sets the table for dinner. "I ask you to make breakfast every day," <<he>> says. "It's fair that I help with dinner." <br><br> <<link [[Join Eden for dinner (0:20)|Eden Dinner]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<pass 20>><<set $phase to 1>><</link>><<glove>><<gdom>> <br> <<link [[Don't join Eden|Eden Dinner]]>><<npcincr Eden love -1>><<npcincr Eden dom -1>><<set $phase to 2>><</link>><<llove>><<ldom>> <br> <<else>> <<if $rng gte 11 and $syndromeeden is 1 and C.npc.Eden.love gte 100 and C.npc.Eden.dom gte 75 and Weather.dayState is "night" and (Weather.precipitation is "rain" or Weather.name is "thunderStorm") and !$weekly.edenStory>> <<set $weekly.edenStory to true>> The weather's getting harsher, beating down against the roof. Bolts of lightning periodically illuminate the cabin. You find Eden at the kitchen table, cleaning <<his>> gun. <br><br> A clap of thunder rings out, causing you to flinch involuntarily. <br><br> <<link [[Next|Eden Story]]>><</link>> <<elseif Time.days % 2 is 0>> Eden is cleaning <<his>> gun beside the fire. <span class="blue"> <<He>> looks a bit lonely.</span> <br><br> <<edenlust>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<getinicon>><<link [[Approach Eden|Cabin Eden Actions]]>><</link>> <br><br> <<if checkSextoysGift("Eden") and C.npc.Eden.penis is "none" and checkIfNPCHasCategorySextoy("Eden","strap-on").length <= 5>> <<sextoysicon "strap-on">><<link [[Gift Eden a strap-on|Eden Gift Strap-on]]>><</link>> <br><br> <</if>> <<investigateicon>><<link [[Look around the cabin|Cabin House Actions]]>><</link>> <br><br> <<bedicon "eden">><<link [[Examine the sleeping area|Cabin Actions]]>><</link>> <br><br> <<cabinothers>> <<else>> Eden is reading beside the fire. <span class="blue"> <<He>> looks a bit lonely.</span> <br><br> <<edenlust>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<getinicon>><<link [[Approach Eden|Cabin Eden Actions]]>><</link>> <br><br> <<if checkSextoysGift("Eden") and C.npc.Eden.penis is "none" and checkIfNPCHasCategorySextoy("Eden","strap-on").length <= 5>> <<sextoysicon "strap-on">><<link [[Gift Eden a strap-on|Eden Gift Strap-on]]>><</link>> <br><br> <</if>> <<investigateicon>><<link [[Look around the cabin|Cabin House Actions]]>><</link>> <br><br> <<bedicon "eden">><<link [[Examine the sleeping area|Cabin Actions]]>><</link>> <br><br> <<cabinothers>> <</if>> <</if>> <</if>><<effects>> <<if Time.hour lte 20>>/* if hour >= 21 and it's the last day of october, passing 3h will make it november, which unsets the variables, making nans */ <<if $edenwall lt 5>> <<edenicon "fix">><<link [[Fix the cracks in the walls (3:00)|Eden Wall]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<housekeeping 1 1000>><</link>><<glove>><<gdom "Eden">><<ghousekeeping 1000>> <<else>> <span class="green">The walls are fully repaired.</span> <</if>> <br> <<if $edenchimney lt 5>> <<edenicon "broom">><<link [[Clean the chimney (3:00)|Eden Chimney]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<housekeeping 1 1000>><</link>><<glove>><<gdom "Eden">><<ghousekeeping 1000>> <<else>> <span class="green">The chimney is clean.</span> <</if>> <br> <<if $edenroof lt 5>> <<edenicon "fix">><<link [[Fix the roof (3:00)|Eden Roof]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<housekeeping 1 1000>><</link>><<glove>><<gdom "Eden">><<ghousekeeping 1000>> <<else>> <span class="green">The roof is fixed.</span> <</if>> <br> <<else>> It's getting too late for repairs. <br> <</if>> <br> <<if $outside is 0>> <<getouticon>><<link [[Go back|Eden Cabin]]>><<endevent>><</link>> <<else>> <<getouticon>><<link [[Go back|Eden Clearing]]>><<endevent>><</link>> <</if>> <br><<effects>> Eden glances at you. <br><br> <<edenFluidsCheck>> <<if Time.hour gte 18 and Time.hour lte 23>> <<if $edencushions is 2 and $edenloveseat is 9>> <<couchicon>><<link [[Cuddle on the loveseat (0:30)|Eden Cuddle]]>><<trauma -3>><<stress -3>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 1>><</link>><<glove>><<glust>><<ltrauma>><<lstress>> <br> <<else>> <<couchicon>><<link [[Cuddle (0:30)|Eden Cuddle]]>><<trauma -3>><<stress -3>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 1>><</link>><<glove>><<glust>><<ltrauma>><<lstress>> <br> <</if>> <<if Time.days % 2 is 0>> <<if $eden_shoot gte 1>> <<edenicon "target">><<link [[Practise shooting (0:30)|Eden Shoot]]>><<pass 30>><<stress -3>><</link>><<lstress>> <br> <<else>> <<edenicon "target">><<link [[Say you want to learn how to shoot (0:05)|Eden Shoot Ask]]>><<pass 5>><</link>> <br> <</if>> <<else>> <<schoolicon "library">><<link [[Ask Eden to read to you (0:30)|Eden Read]]>><<trauma -3>><<pass 30>><<npcincr Eden love 1>><<set $phase to 0>><</link>><<glove>><<ltrauma>> <br> <</if>> <<if $edenradiointro is 2>> <<edenicon "radio">><<link [[Ask Eden to dance (0:30)|Eden Dance]]>><<trauma -3>><<stress -3>><<danceskill 5>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 1>><<set $phase to 0>><</link>><<glove>><<glust>><<ltrauma>><<lstress>><<gdanceskill>> <br> <</if>> <<if $edenpillow is 2 and !$daily.eden.massage>> <<edenicon "salve">><<link [[Give Eden a massage (0:30)|Eden Massage]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 3>><<set $daily.eden.massage to 1>><</link>><<glove>><<gglust>><<ltrauma>><<lstress>> <br> <</if>> <<if $edenpillow is 2 and $daily.eden.massage is 1>> <<edenicon "salve">><<link [[Give Eden a massage (0:30)|Eden Massage]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 3>><<set $daily.eden.massage to 2>><</link>><<glove>><<gglust>><<ltrauma>><<lstress>> <br> <</if>> <<if $edenpillow is 2 and $daily.eden.massage is 2>> <<edenicon "salve">><<link [[Give Eden a massage (0:30)|Eden Massage]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 3>><<set $daily.eden.massage to 3>><</link>><<glove>><<gglust>><<ltrauma>><<lstress>> <br> <</if>> <<if $edenpillow is 2 and $daily.eden.massage is 3>> <<edenicon "salve">><<link [[Give Eden a massage (0:30)|Eden Massage]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 3>><<set $daily.eden.massage to 4>><</link>><<glove>><<gglust>><<ltrauma>><<lstress>> <br> <</if>> <<if $edenpillow is 2 and $daily.eden.massage is 4>> <<edenicon "salve">><<link [[Give Eden a massage (0:30)|Eden Massage]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden lust 3>><<set $daily.eden.massage to 5>><</link>><<glove>><<gglust>><<ltrauma>><<lstress>> <br> <</if>> <br> <</if>> <<if !$edenfurniture>> <<edenicon "rug">><<link [[Ask Eden if you can buy a rug and pillows|Eden Pillows]]>><</link>> <br> <<elseif $edenfurniture is 1 and $edenpillow is 2>> <<edenicon "curtains">><<link [[Ask if you can get curtains and a coat stand|Eden Curtains]]>><</link>> <br> <<elseif $edenfurniture gte 2 and !$edencoat and $edencurtains is 2>> <<edenicon "coat stand">><<link [[Ask to make the coat stand (3:00)|Eden Coat Stand]]>><<set $edencoat to 1>><<pass 3 hours>><</link>> <br> <<elseif $edenfurniture is 2 and $edencurtains is 2 and $edencoat>> <<couchicon>><<link [[Ask for a loveseat|Eden Loveseat]]>><</link>> <br> <<elseif $edenfurniture is 3 and $edenloveseat lt 7>> <<couchicon>><<link [[Work on the loveseat (3:00)|Eden Loveseat Work]]>><<pass 3 hours>><</link>> <br> <</if>> <<if Time.hour is 17 and $edenjoin is 1>> <<bathroomicon>><<link [[Ask to join Eden in the bath (0:30)|Eden Bath Join]]>><<npcincr Eden love 1>><<pass 30>><</link>><<glove>> <br> <</if>> <<if $worn.neck.collared isnot 1 and C.npc.Eden.dom gte 100>> <<symbol "dominance">><<link [[Ask Eden for a collar|Eden Collar]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <br> <</if>> <<if $daily.eden.walk isnot 1>> <<lakeicon>><<link [[Ask Eden to accompany you to the lake|Eden Lake]]>><</link>> <br> <</if>> <<if $daily.eden.search is undefined or $daily.eden.search lt (C.npc.Eden.love / 40)>> <<foresticon>><<link [[Ask Eden to help search the forest (0:30)|Eden Search]]>><<if $daily.eden.search is undefined>><<set $daily.eden.search to 1>><<else>><<set $daily.eden.search += 1>><</if>><</link>> <br> <</if>> <<if Time.monthDay is 31 and $halloween_eden is 1 and $halloween_eden_bought is 1 and !$halloween_eden_candy_given>> <<foodicon "sweets">><<link [[Give Eden the hamper|Eden Halloween]]>><<npcincr Eden love 5>><<npcincr Eden dom 1>><<set $halloween_eden_candy_given to 1>><</link>> <br> <</if>> <<if Time.monthDay is 25 and $christmas_gift_eden is 1 and $christmas_gift_eden_given isnot 1>> <<gifticon "hunting">><<link [[Give Eden the hunting jacket|Eden Jacket]]>><<npcincr Eden love 5>><<npcincr Eden dom 1>><<set $christmas_gift_eden_given to 1>><<set $edencoatjacket to 1>><</link>> <br> <</if>> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound" or $worn.feet.name is "ankle cuffs">> <<undobindingsicon>><<link [[Ask Eden to undo your bindings (0:01)|Eden Bindings]]>><<pass 1>><<unbind>><</link>> <br> <</if>> <<if $edenfreedom is undefined>> <<socialiseicon "ask">><<link [[Ask for freedom to return to town|Eden Freedom]]>><</link>> <br> <</if>> <<if $edenfreedom is 1>> <<socialiseicon "ask">><<link [[Ask for freedom to remain in town|Eden Freedom 3]]>><</link>> <br> <</if>> <<if $edenshopping is 1>> <<edenicon "supplies">><<link [[Give Eden the supplies|Eden Supplied]]>><</link>> <br> <</if>> <<if $edenradiointro is 1>> <<edenicon "radio">><<link [[Give Eden the radio|Eden Radio Intro]]>><</link>> <br> <</if>> <<if canGiftFood("Eden")>> <<skinicon "give">><<link [[Give Eden food|Eden Gifts List]]>><</link>> <br> <</if>> <br> <<getouticon>><<link [[Go back|Eden Cabin]]>><<endevent>><</link>><<effects>> You take a moment to look around the cabin. <<if $daily.eden.salve is 1 and $daily.eden.soap is 1>> Jars of salve and soap bars rest on the countertop. <<elseif $daily.eden.salve is 1>> Jars of salve rest on the countertop. <<elseif $daily.eden.soap is 1>> Soap bars rest on the countertop. <</if>> <<if $daily.eden.sweep is 1>> The floor is clean. <</if>> <br><br> <<if $edenpillow is 1>> <<edenicon "rug">><<link [[Set up the rug and pillows|Eden Pillow Set]]>><<set $edenpillow to 2>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom "Eden">> <br><br> <</if>> <<if $edencurtains is 1>> <<edenicon "curtains">><<link [[Set up the curtains|Eden Curtains Set]]>><<set $edencurtains to 2>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom "Eden">> <br><br> <</if>> <<if $daily.eden.sew isnot 1 or $edencushions is 1 or $edendesign lt 9 or (Time.season is "winter" and !$edenscarf and $edencoat is 2)>> A sewing kit sits atop a cupboard. <br> <</if>> <<if $daily.eden.sew isnot 1>> <<shopicon "tailor">><<link [[Fix Eden's clothes (0:30)|Eden Fix]]>><<pass 30>><<npcincr Eden love 1>><<set $daily.eden.sew to 1>><<endevent>><</link>><<glove>> <br> <</if>> <<if $edencushions is 1>> <<shopicon "tailor">><<link [[Make the cushions (3:00)|Eden Loveseat Work]]>><<pass 3 hours>><<set $edencushions to 2>><</link>> <br> <<elseif $edenloveseat is 7>> <i>You could visit the shopping centre to buy cushion materials for your loveseat</i> <br> <</if>> <<if $edencushions is 2 and $edenloveseat is 9 and !$edenblanket>> <<shopicon "tailor">><<link [[Sew a fur blanket (0:30)|Eden Blanket One]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $edenblanket to 1>><</link>><<glove>><<gdom "Eden">> <br> <</if>> <<if $edencushions is 2 and $edenloveseat is 9 and $edenblanket is 1>> <<shopicon "tailor">><<link [[Sew a fur blanket (0:30)|Eden Blanket Two]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $edenblanket to 2>><</link>><<glove>><<gdom "Eden">> <br> <</if>> <<if $edencushions is 2 and $edenloveseat is 9 and $edenblanket is 2>> <<shopicon "tailor">><<link [[Sew a fur blanket (0:30)|Eden Blanket Three]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $edenblanket to 3>><</link>><<glove>><<gdom "Eden">> <br> <</if>> <<if $edenpillow is 2 and ($edendesign lt 9 or !$edendesign)>> <<if !$edendesign>><<set $edendesign to 0>><</if>> <<shopicon "tailor">><<link [[Sew designs in the pillows (0:30)|Eden Design]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $edendesign += 1>><</link>><<glove>><<gdom "Eden">> <br> <</if>> <<if Time.season is "winter" and !$edenscarf and $edencoat is 2>> <<edenicon "scarf">><<link [[Make a scarf for Eden (0:30)|Eden Scarf]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $edenscarf to 1>><</link>><<glove>><<gdom "Eden">> <br> <</if>> <<if $daily.eden.supplies isnot 1>> <br> Eden's supplies are kept in a cabinet. <br> <<edenicon "supplies">><<link [[Take stock of Eden's supplies (0:30)|Eden Stock]]>><<pass 30>><<npcincr Eden love 1>><<set $daily.eden.supplies to 1>><</link>><<glove>> <br> <</if>> <<if $daily.eden.sweep isnot 1>> <br> A broom and dustpan lie in the corner. <br> <<edenicon "broom">><<link [[Sweep the floor (0:30)|Eden Sweep]]>><<pass 30>><<npcincr Eden love 1>><<set $daily.eden.sweep to 1>><</link>><<glove>> <br> <</if>> <<if $daily.eden.salve isnot 1 or $daily.eden.soap isnot 1>> <br> A stove sits in the kitchen. <br> <</if>> <<if $daily.eden.salve isnot 1>> <<edenicon "salve">><<link [[Make salves (0:30)|Eden Salve]]>><<pass 30>><<if !$salve>><<set $salve to 1>><<else>><<set $salve += 1>><</if>><<npcincr Eden love 1>><<set $daily.eden.salve to 1>><</link>><<glove>> <br> <</if>> <<if $daily.eden.soap isnot 1>> <<edenicon "soap">><<link [[Make soap (0:30)|Eden Soap]]>><<pass 30>><<if !$soap>><<set $soap to 1>><<else>><<set $soap += 1>><</if>><<npcincr Eden love 1>><<set $daily.eden.soap to 1>><</link>><<glove>> <br> <</if>> <<kitchenicon "stove_old">><<link [[Kitchen|Eden Kitchen]]>><</link>> <br> <br> <<furnitureicon "chair">><<link [[Relax (0:15)|Eden Table]]>><<stress -2>><<endevent>><<pass 15>><</link>><<lstress>> <br><br> <<getouticon>><<link [[Go back|Eden Cabin]]>><<endevent>><</link>> <br><br><<effects>><<getTarget true>> There's a large mattress with animal skin covers. <<if Time.hour gte 0 and Time.hour lte 6>> Eden slumbers between the sheets. <</if>> <br> <<if $nextPassageCheck is "Eden Cabin Bed">> <span class="nextLink"><<bedicon "eden">><<link [[Eden.|Eden Cabin Bed]]>><<endevent>><</link>></span> <<else>> <<bedicon "eden">><<link [[Sleep|Eden Cabin Bed]]>><<endevent>><</link>> <</if>> <br> <<roomoptions>> <<pregnancyTest "Eden Cabin">> <br> Your clothes are kept in the corner. <br> <<wardrobeicon>><<link [[Wardrobe|Eden Wardrobe]]>><<endevent>><</link>> <br> <<if playerHasSexToys()>> <<sextoysicon>><<link [[Sex toys|Sextoys Inventory]]>><<set $sextoyInvReturnLink to $passage>><</link>> <br> <</if>> <<if $nextPassageCheck is "Eden Mirror">> <span class="nextLink"><<mirroricon>><<link [[Mirror|Eden Mirror]]>><<preMirror>><<endevent>><</link>></span> <<else>> <<mirroricon>><<link [[Mirror|Eden Mirror]]>><<preMirror>><<endevent>><</link>> <</if>> <br><br> <<if $nextPassageCheck is "Eden Cabin">> <<getouticon>><span class="nextLink"><<link [[Go back|Eden Cabin]]>><<endevent>><</link>></span> <<else>> <<getouticon>><<link [[Go back|Eden Cabin]]>><<endevent>><</link>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<npcspank>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 200>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or $enemyanger lte 0>> <span id="next"><<link [[Next|Eden Cabin Punishment Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Cabin Punishment]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> <<He>> pants from the exertion. "I hope you've learnt your lesson."<<lllust>> <br><br> <<tearful>> you avoid <<his>> gaze. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you gather yourself. <<elseif $enemyanger lte 0>> <<He>> looks mollified, and releases you. "I hope you've learnt your lesson." <br><br> <<tearful>> you avoid <<his>> gaze. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><</link>><<endevent>> <<effects>> <<if Time.hour gte 0 and Time.hour lte 6>> You snuggle in beside Eden. <<set $bedGuest to "Eden">> <<else>> You snuggle under the covers. <</if>> <<if $wraith.state and $wraithPrison and ($moonstate is "evening" or $moonstate is _nightstate)>> You feel anxious, and your eyes dart over to the mirror. <</if>> <br><br> <<nightmareCheck "Cabin Sleep">> <<generateSleepLinks "Cabin Sleep">> <<link [[Climb out of bed|Eden Cabin]]>><<unset $bedGuest>><<endevent>><<loadTempHairStyle>><</link>> <br><br><<set _autosavehere to true>> <<sleep>> <<effects>> <<if $wraith.nightmare is 2 and Time.isBloodMoon()>> <<sleepeffects>> You dream of a beautiful figure, cloaked in white, standing under the red moon. It has its arms spread out to you in a welcoming gesture. You can feel its gaze boring into your mind as you step closer. <br><br> It's surrounded by trees, all bending inwards, and floating above a lake. Everything moves around you, and you find yourself hanging above a large ruin. You can't breathe. <br><br> You slowly open your eyes, and sluggishly stand from the bed. You make sure not to wake Eden. Your ears are ringing. <br><br> <<wraithPossess "cabin">> <span class="nextLink"><<link [[Walk.|Eden Cabin]]>><<rainWraith>><</link>></span> <br> <<else>> <<wakingEffects $sleepHoursTotal>> <<if ["dryheaving","nausea"].includes(_wakingEffect)>> <br><br> You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if ($specialClothesEffects.bimbo.total gte random(100,1000) || $specialClothesEffects.pimp.total gte random(100,1000)) or $arousal gte ($arousalmax / 10) * 9>> <<wetDream>> <<elseif !_wakingEffect>> You sleep soundly. <br><br> <<else>> <br><br> <</if>> <</if>> <<sleepeffects>> <<if _dryheaving is true>> "Hope you're not coming down with something. You should stay in bed," Eden says, watching with a worried expression. "I'll handle breakfast." <<set $daily.eden.breakfast to 1>> <br><br> <<getouticon>><<link [[Get out of bed|Eden Cabin]]>><</link>> <<elseif _sleepinterrupt>> <<npc Eden>><<person1>> <<if $edenNightmareWake>> You wake up to Eden mumbling. <<Hes>> still asleep, but <<he>> looks agitated. <br><br> <<link [[Try to wake <<him>> up|Eden Nightmare]]>><<set $phase to 0>><</link>> <br> <<link [[Ignore <<him>>|Eden Nightmare]]>><<set $phase to 1>><<unset $edenNightmareWake>><</link>> <br> <<else>> <<if _orgasm is true>> Eden starts groping. <<He>> feels the moistness around your crotch. "I've been neglectful," <<he>> says, rubbing up against you. <<else>> You wake up to Eden's groping. <<He>> starts rubbing up against you. <</if>> <br><br> <<link [[Let it happen|Eden Sleep Sex]]>><<set $sexstart to 1>><</link>><<promiscuous1>> <br> <<link [[Push away|Eden Sleep Push]]>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>> <br> <</if>> <<elseif !$edenHotSpring and Weather.isFreezing>> <<include "Eden Hot Spring Creation 1">> <<else>> <br><br> <<getouticon>><<link [[Get out of bed|Eden Cabin]]>><<endevent>><</link>> <br><br> <</if>> <</if>> <<set $phase to 0>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <<promiscuity1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Sleep Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Sleep Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> You shove <<him>> away from you. <<if C.npc.Eden.love - (C.npc.Eden.lust * 2) gte 1>> <<He>> grumbles something and rolls over. <<Hes>> asleep within moments. <br><br> <<link [[Back to sleep|Eden Cabin Bed]]>><</link>> <br> <<link [[Get up|Eden Cabin]]>><<endevent>><</link>> <br> <<else>> <<He>> gropes with more force. <br><br> <<link [[Next|Eden Sleep Sex]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> <<He>> kisses you on the neck, rolls over, and goes to sleep.<<lllust>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you hide beneath the covers. <<elseif $finish is 1>> <<He>> rolls over. You hear <<him>> snore moments later. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin Bed]]>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 0>> /* Try to wake up */ You go to wake <<him>>, your hand brushing against <<his>> shoulder. <br><br> Eden wakes up with a start and grabs you by the <<= $asphyxiaLvl gte 3 ? "neck" : "wrists">>, pinning you to the bed. <<His>> hands squeeze <<= $asphyxiaLvl gte 3 ? "around your throat. <span class='red'>You can't breathe!</span>" : "you, preventing you from moving.">> <br><br> <<He>> doesn't seem to recognise you. You <<= $asphyxiaLvl gte 3 ? "choke out a gasp" : "cry out in pain">>, which brings <<him>> back to <<his>> senses.<<pain 4>><<gpain>> <br><br> <<He>> lets you go and glares at you. "Don't startle me.<<if C.npc.Eden.love gte 150>> You should know better by now.<</if>>" <br><br> <<He>> rolls over and goes back to sleep. You wonder if you'll have bruises tomorrow.<<= $asphyxiaLvl gte 3 ? "<<bruise neck>>" : "<<bruise leftarm>><<bruise rightarm>>">> <br><br> You manage to fall back into an uneasy sleep. <<else>> /* Ignore */ You do your best to go back to sleep. <</if>> <br><br> <<link [[Next|Eden Cabin Bed]]>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 0>> /* Ask about last night */ <<if $speech_attitude is "meek">> You look down at the floor. "W-were you having a bad dream last night?" <<elseif $speech_attitude is "bratty">> You cross your arms and stare at <<him>>. "What was last night all about?" <<else>> "Did you have a nightmare last night?" you ask. <</if>> <br><br> <<He>> looks at you and your bruises. <<He>> scowls. <<if C.npc.Eden.love gte 150>> "Bad hunt," <<he>> says, and storms off before you can say anything else. <<else>> <<He>> grunts and turns away from you. <</if>> <br><br> You rub your aching <<= $asphyxiaLvl gte 3 ? "neck" : "wrists">>. <<else>> /* Pretend nothing happened */ You think better of asking <<him>>. <</if>> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br><<effects>> You look through Eden's wardrobe. <br><br> <<set $wardrobe_location to "edensCabin">> <<wardrobeSelection>> <<wardrobewear>> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<effects>> You reach for the door, but Eden's voice stops you in your tracks. <br><br> "Wait," <<nnpc_he "Eden">> says. "You shouldn't go out like that." <br><br> <<getinicon>><<link [[Stay inside|Eden Cabin]]>><<endevent>><</link>> <br> <<getouticon>><<link [[Leave|Eden Clearing]]>><<set $daily.eden.exposed to 1>><</link>><<effects>> <<if $speech_attitude is "meek">> "I-If it's no trouble, could you untie me please?" you ask. <<elseif $speech_attitude is "bratty">> "It may have escaped your notice, but I'm tied up. Could you help?" you ask. <<else>> "Can you untie me?" you ask. <</if>> Without a word, Eden picks up a knife and slashes your bindings. <br><br> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>><<effects>> You set the new rug by the fireplace and arrange the pillows around it. When you're done, you step back and take a look at your work. The setup looks quite cosy, and you feel a sense of accomplishment. You're sure that Eden would be satisfied with your choice. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> You spend some time taking down the current worn out curtains and replacing them with the new ones. After finishing, you step back and look over the result of your efforts. They certainly add a touch of charm to the cabin, and you smile at the achievement. <br><br> The only thing left to do is to work with Eden to make the coat stand. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> <<if $bus is "edenclearing">> Eden brings over some wooden rods of varying sizes. <<else>> Eden leads you outside and brings over some wooden rods of varying sizes. <</if>> "We'll need to sand these," <<he>> says, handing you some sand paper. You take a seat by the porch and pick up one of the rods, taking note of its coarse wooden texture. <br><br> It takes some elbow grease, but you both eventually file all the rods down smoothly. With that done, you help Eden construct the rest of the coat stand, starting from creating its base, to drilling holes in its top to set the coat arms. <br><br> As the final touch, Eden lacquers the stand and leaves it to dry overnight. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is already generated <<npc Eden>><<person1>>*/ <<if $speech_attitude is "meek">> "Could you follow me to the lake please?" you ask. <<elseif $speech_attitude is "bratty">> "I feel like walking to the lake. Wanna come?" you ask. <<else>> "Want to join me for a walk to the lake?" you ask. <</if>> <<if $exposed gte 1>> Eden's eyes scan over your exposed form. "I'm not letting you leave like that. Put some clothes on." <br><br> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>> <<else>> <<set $daily.eden.walk to 1>> Eden considers for a moment, then shrugs. "Not like I had anything better planned anyway." <br><br> <<if $edenraftintro is 1>> <<if $speech_attitude is "meek">> "O-oh, wait. I just remembered," you say. <<elseif $speech_attitude is "bratty">> "Oh, almost forgot," you say. <<else>> "Wait, I just remembered something," you say. <</if>> <br> You hand Eden the inflatable raft you bought at the shopping centre. <br> <<He>> looks at it, reading over the box cover. "An inflatable raft?" <<he>> asks. <br><br> <<if $speech_attitude is "meek">> "Y-Yes. We could use it at the lake. The <<if Time.season is "autumn">>falling autumn leaves<<elseif Time.hour gte 6 and Time.hour lte 8>>sunset<<else>>sky<</if>> would look beautiful over the water." <<elseif $speech_attitude is "bratty">> "Yup. I was thinking we could use it at the lake. Besides, we could see the <<if Time.season is "autumn">>falling autumn leaves<<elseif Time.hour gte 6 and Time.hour lte 8>>sunset<<else>>sky<</if>> over the water." <<else>> "Yes. I was thinking we could use it at the lake. Besides, we could see <<if Time.season is "autumn">>falling autumn leaves<<elseif Time.hour gte 6 and Time.hour lte 8>>sunset<<else>>sky<</if>> over the water." <</if>> <<He>> peeks inside the box for a few seconds before nodding in response. You smile at <<him>> in gratitude and start walking to the lake. <br><br> <</if>> <<if $edenraftintro is 1>> <<link [[Forest lake (0:30)|Eden Raft Intro]]>><<pass 30>><<set $edenlake to 1>><</link>> <<else>> <<link [[Forest lake (0:30)|Eden Forest Lake]]>><<pass 30>><<set $edenlake to 1>><</link>> <</if>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is already generated <<npc Eden>><<person1>>*/ <<if $speech_attitude is "meek">> "Could you help me search the forest please?" you ask. <<elseif $speech_attitude is "bratty">> "I wanna search the forest. Feel like joining?" you ask. <<else>> "Want to help me search the forest?" you ask. <</if>> <br><br> Eden thinks for a second, then nods. "If you must, I'll accompany you." <br><br> <<link [[Search the forest (0:30)|Eden Forest Search]]>><<pass 30>><</link>> <br><br><<set $outside to 1>><<set $location to "cabin">><<effects>><<set $bus to "edenclearing">> <<npc Eden>><<person1>> You are in the clearing outside Eden's cabin. The surrounding trees are so huge that you have to crane your neck to see the sky. There's a small farm plot where Eden grows vegetables. Behind the cabin is a spring at the base of a cliff. <br><br> <<if $foresthunt gte 1>> <span class="lblue">You're safe at Eden's cabin. Whatever was hunting you will have given up.</span> <br><br> <<set $foresthunt to 0>> <</if>> <<if Time.hour gte 7>> <<edenFluidsCheck>> <</if>> <<if $edenCagedEscape and Time.hour gte 7>> Eden looks up as you approach the cabin. <<He>> does a double take when <<he>> sees you. "There you are!" <<he>> shouts, quickly making <<his>> way over to you. "You're in so much trouble, you disobedient whore." <br><br> Eden marches you inside before you can protest. A cage sits ominously in the corner. <br><br> <<link [[Next|Eden Caged Intro]]>><<set $phase to 2>><</link>> <br> <<elseif ($edenfreedom is 2 and $edendays gte 8 and Time.hour gte 6) or ($edenfreedom is 1 and $edendays gte 2 and Time.hour gte 6)>> <<set $edendays to 0>> <<npcincr Eden love -1>> Eden looks up as you approach the cabin. <<He>> stops what <<hes>> doing and rushes over to you. <<if $edenPreyEscaped>><<unset $edenPreyEscaped>> "Don't think I forgot about our game. You weren't supposed to escape me," <<he>> grumbles. "You shouldn't have been gone so long, either. Where the hell have you been?" <<else>> "Where have you been?" <<he>> asks, grabbing your shoulders. "I was so worried about you." <</if>> <br><br> <<link [[Apologise|Eden Return Apologise]]>><<npcincr Eden love 1>><<set $phase to 0>><</link>> <br> <<link [[Explain|Eden Return Apologise]]>><<set $phase to 1>><</link>> <<elseif $edenPreyEscaped and Time.hour gte 6>><<unset $edenPreyEscaped>> You see Eden polishing <<his>> gun. Your arrival prompts a glare from <<him>>. <br> "You weren't supposed to escape me," <<he>> says, looking you up and down. "I'll fuck you raw if I have to. Next time, you're mine." <br> <<if $worn.neck.collared isnot 1 and $edenaskcollar isnot 1>> <<He>> mutters something under <<his>> breath and starts back on <<his>> work, but <<his>> brow furrows, as if <<he>> just realised something. <br> "Where's your collar?" <<he>> asks, <<his>> voice growing concerned. <<He>> sets <<his>> gun down and walks towards you. <br><br> <<if $edencollarremove is 1>> <<link [[Lie and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <<else>> <<link [[Explain and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <</if>> <br> <<link [[Just say you removed it|Eden Collar Remove]]>><</link>> <br> <<else>> <<He>> stares at you for a moment longer, before returning to <<his>> business. <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <</if>> <<elseif $worn.neck.collared isnot 1 and $edenaskcollar isnot 1 and Time.hour gte 6>> As you walk past Eden, <<he>> momentarily stops <<his>> work, turning to look at you. <<His>> eyes zero in on your neck. <br><br> "Where's your collar?" <<he>> asks. <br><br> <<if $edencollarremove is 1>> <<link [[Lie and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <<else>> <<link [[Explain and ask for another one|Eden Collar Ask]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <</if>> <br> <<link [[Just say you removed it|Eden Collar Remove]]>><</link>> <<elseif $stress gte $stressmax>> <<if isPregnancyEnding()>> <<pregnancyPassout "edencabin">> <<else>> <<link [[Everything fades to black...|Eden Cabin Passout]]>><</link>> <</if>> <<elseif Time.hour is 17 and $exposed gte 1 and !$daily.eden.exposed>> Eden walks up to the cabin door, turning back to you just before <<he>> enters. <<He>> eyes your <<lewdness>> for a moment. "You should head inside." <br><br> <<link [[Follow Eden|Eden Cabin]]>><<endevent>><</link>> <br> <<link [[Stay outside|Eden Clearing]]>><<set $daily.eden.exposed to 1>><<endevent>><</link>> <<elseif ($exposed gte 2 and $exhibitionism lte 74 or $exposed gte 1 and $exhibitionism lte 54) and isLoveInterest("Eden") and (Time.hour lte 8 or $daily.eden.hunting is 1 or Time.hour gte 17)>> You don't want to be seen like this when Eden's not around! You rush to your clothes. <br><br> <<link [[Next|Eden Wardrobe]]>><<endevent>><</link>> <<else>> <<if $exposed is 1 and hasSexStat("exhibitionism", 4) or $exposed is 2 and hasSexStat("exhibitionism", 5)>> <span class="lewd">With your <<lewdness>> on display, you can't help but feel a primal thrill.</span> <br><br> <<elseif $exposed gte 1>> <span class="lewd">Your <<lewdness>> embarrasses you, but it's alright if <<if Time.hour lte 10 or (Time.hour gte 11 and Time.hour lte 14 and $daily.eden.hunting isnot 1) or Time.hour gte 15>> Eden's here. <<else>> you're alone. <</if>> </span> <br><br> <</if>> <<if Weather.precipitation is "rain">> Rainwater drips from the branches above. <br><br> <<elseif Weather.precipitation is "snow">> Snow weighs down the branches above. <br><br> <</if>> <<if ($edenfreedom is 2 and $edendays lt 8) or ($edenfreedom is 1 and $edendays lt 2)>> <<set $edendays to 0>> <</if>> <<if Time.hour gte 9 and Time.hour lte 10>> Eden is tending the crops. <br><br> <<edenlust>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<getinicon>><<link [[Approach Eden|Clearing Eden Actions]]>><</link>> <br><br> <<clearingactions>> <<elseif Time.hour gte 11 and Time.hour lte 14>> <<if $daily.eden.hunting isnot 1>><<set $daily.eden.hunting to 1>> <<edenpreystart>> <<if _edenPreyEvent>> Eden approaches you. <<if $edenPrey gte 1>> "Come on," <<he>> says. "We're going on another 'hunting' trip." <<His>> suggestive tone tells you exactly what <<he>> has in mind. <<if _virginityPresent>> <br><br> To drive the point home, Eden snakes <<his>> free hand down your waist, grabbing your crotch. "This time," <<he>> says in a husky whisper, "I'm going to devour you."<<arousal 100>><<garousal>> <</if>> <<else>> <<He>> eyes you up and down<<if _virginityPresent>>, focusing on your crotch<</if>>. The silence coupled with <<his>> lecherous gaze makes you uneasy. <br> <<if _virginityPresent>> "I think it's time we did something about that virginity of yours," <<he>> says. "I've got something special planned. How about it?" <<else>> "I think it's time we did some unwinding," <<he>> says. "I have a nifty idea for the two of us. How about it?" <</if>> <</if>> <br> <<He>> doesn't wait for your response as <<he>> rests a hand on the small of your back. <<He>> tries pushing you away from the cabin. <br><br> <<link [[Go along with it|Eden Prey Yes]]>><<set $phase to 1>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Resist|Eden Prey No]]>><<set $phase to 1>><<npcincr Eden love -1>><<npcincr Eden dom -1>><</link>><<llove>><<ldom>> <br> <<else>> Eden exits the cabin,<<if Time.season is "winter" and $edenscarf is 1>> scarf around <<his>> neck and<</if>> gun in hand. "I'm going hunting. Stay near the cabin while I'm gone." <br><br> <<link [[Nod|Eden Hunting]]>><<set $phase to 0>><</link>> <br> <<link [[Ask to go along|Eden Hunting]]>><<set $phase to 1>><</link>> <br> <</if>> <<else>> Eden is out hunting. <br><br> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<clearingactions>> <</if>> <<elseif Time.hour is 15>> <<if $rng gte 91 and !$edenhurt>> <<set $edenhurt to 1>> <<person1>> The sudden snapping of a twig draws your attention to the treeline. Eden emerges from the forest, <<his>> clothes looking ragged and torn in various places. <<His>> rifle, usually slung over <<his>> shoulder, is grasped tightly in <<his>> hand. You gasp when you see the state <<hes>> in, and flinch when you notice the claw shaped marks covering <<his>> arms and chest. <br><br> <<if $speech_attitude is "meek">> "You're hurt! W-what happened?" You rush over to examine <<his>> wounds, tears brimming in your eyes. <<elseif $speech_attitude is "bratty">> "You're hurt! How could you be so reckless?" You stomp over to examine <<his>> wounds. <<else>> "You're hurt!" you cry, and rush over to examine <<his>> wounds. <</if>> <br><br> Eden brushes your concern off with a wave of <<his>> hand. "I'm fine," <<he>> says. "Ran into some wolves, but I scared them off." <<He>> wipes some sweat from <<his>> face and brushes a few clumps of dirt off <<his>> pants. "I'm going to fix myself up." Making <<his>> way to the cabin door, <<he>> pauses just as <<he>> reaches for the handle. Turning to face you, <<he>> gives you a wary look. "Better get in. Don't want you getting hurt too." <br><br> <<link [[Offer to patch wounds (0:20)|Eden Wounds]]>><<pass 20>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<glove>><<gdom>> <br> <<link [[Nod|Eden Wounds Nod]]>><</link>> <<else>> Eden is skinning prey. The smell makes you queasy. <br><br> <<edenlust>> <<if Time.hour is 15 and $daily.eden.lunch isnot 1>> <<if $housekeeping gte 100>> Eden must be hungry after all that hunting. Maybe <<he>>'d appreciate some lunch. <br> <<foodicon "eat">><<link [[Make lunch for Eden (0:30)|Eden Lunch]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $daily.eden.lunch to 1>><</link>><<glove>><<gdom>> <br><br> <<else>> Eden must be hungry after all that hunting. You think about making <<him>> lunch, <span class="blue">but lack the housekeeping confidence to whip anything up.</span> <br><br> <</if>> <</if>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<getinicon>><<link [[Approach Eden|Clearing Eden Actions]]>><</link>> <br><br> <<clearingactions>> <</if>> <<elseif Time.hour is 16>> <<if C.npc.Eden.lust gte 26 and $daily.eden.chopLust isnot 1>><<set $daily.eden.chopLust to 1>> <!-- <<npc Eden>><<person1>> -->Eden is chopping firewood. <<He>> stretches <<his>> back and spots you watching <<him>>. "I could use a break," <<he>> says. <<He>> marches towards you, covered in sweat and axe still in hand. <<He>> can't realise how menacing <<he>> looks. <<if C.npc.Eden.dom gte 75>> <<He>> drops the axe and pulls you into a deep kiss. <<takeKissVirginity "Eden" `($syndromeeden gte 1?"loveInterest":"romantic")`>> <<else>> <<He>> drops the axe and tries to pull you close to <<him>>. <</if>> <br><br> <<link [[Allow it|Eden Firewood Sex]]>><<set $sexstart to 1>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<promiscuous1>> <br> <<link [[Refuse|Eden Firewood Refuse]]>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>> <br> <<else>> Eden is chopping firewood. <br><br> <<edenlust>> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<getinicon>><<link [[Approach Eden|Clearing Eden Actions]]>><</link>> <br><br> <<clearingactions>> <</if>> <<else>> Eden is indoors. <br><br> <<if Time.monthName is "November" and $edenprepare is 1>> <<edenicon "fix">><<link [[Fix the cabin|Cabin Eden Prepare]]>><</link>> <br><br> <</if>> <<clearingactions>> <</if>> <</if>><<effects>> <<clearingedenactions>><<effects>> <<if $phase is 0>> <<if $speech_attitude is "meek">> "I-I'm sorry," you say. "I was a little busy." <<elseif $speech_attitude is "bratty">> "I was busy," you say. "I didn't mean for you to worry." <<else>> "Sorry," you say. "I was busy." <</if>> <<elseif $phase is 1>> <<if $speech_attitude is "meek">> "I-I was a little busy," you say. <<elseif $speech_attitude is "bratty">> "Stop freaking out," you say. "I was just a little busy," <<else>> "I was busy," you say. <</if>> <</if>> <br><br> Eden sighs and pulls you into a hug. <<He>> holds you for a moment, before releasing you. "I need you here," <<he>> says, "so don't be late next time." <br><br> You nod, and <<he>> gives you one last look before walking off. <br><br> <<if $bus is "edencabin">> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <<elseif $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>><<effects>> <!-- <<npc Eden>><<person1>> --> "Why would you want to leave?" <<he>> asks. "You have everything you need here." <br><br> <<if $speech_attitude is "meek">> "B-but if I'm gone from town too long," you say. "People will come looking for me here." <<elseif $speech_attitude is "bratty">> "Do you think my absence isn't noticed?" you say. "They'll come looking for me here." <<else>> "If I keep missing school," you say. "People will start looking for me." <</if>> <br><br> <<if C.npc.Eden.love gte 20>><<set $edenfreedom to 1>><<set $edenshopping to 0>><<set $edendays to 0>> <<He>> seems conflicted. "I suppose it was too much to hope you'd be content stuck here. Fine, you can go back to town. Make sure you get your little bottom back here though. <span class="gold">If you're gone longer than a day you'll worry me sick.</span> I'd have to come find you." <br><br> <<link [[Hug|Eden Freedom 2]]>><<set $phase to 0>><<npcincr Eden love 1>><</link>><<glove>> <br> <<link [[Nod|Eden Freedom 2]]>><<set $phase to 1>><</link>> <br> <<else>> <<He>> shakes <<his>> head. "They won't find us. I know these woods, and will protect what's mine if necessary." <br><br> <i>If <<he>> liked you more <<he>> might be more amenable to your request.</i> <br><br> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br> <</if>> <</if>><<effects>> <<if $phase is 0>> You hug Eden, taking <<him>> by surprise and almost knocking <<him>> over. <br><br> <<if $speech_attitude is "meek">> "Thank you," you say, pressing your face against <<him>>. <<elseif $speech_attitude is "bratty">> "It's not that I need your permission or anything," you say. "It's just easier this way." <<else>> "Thank you," you say. <</if>> <br><br> <<He>> squeezes you back. "One more thing. I make weekly supply runs into town to pick up essentials. You might as well do it for me. I hate that place. Alright, you can let go now." <<elseif $phase is 1>> "One more thing," <<he>> says. "I make weekly supply runs into town to pick up essentials. You may as well do it for me if you're going anyway. I hate that place." <<else>> You hug Eden. <<He>> expects it and catches you. <<if $speech_attitude is "meek">> "Thank you," you say, pressing your face against <<him>>. <<elseif $speech_attitude is "bratty">> "It's not that I need your permission or anything," you say. "It's just easier this way." <<else>> "Thank you," you say. <</if>> <<He>> squeezes you back. <</if>> <br><br> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>><<location "forest">><<effects>> You walk to the edge of the clearing and gaze into the darkness of the forest. Are you sure you want to escape? <br><br> <<link [[Yes|Forest]]>><<endevent>><<if $edenFluidsCheck is "clean">><<set $edenFluidsCheck to "cleanLeave">><<set $edenescape to true>><</if>><</link>> <br> <<link [[No|Eden Clearing]]>><<endevent>><</link>> <br><<effects>> <!-- <<npc Eden>><<person1>> -->"You already get a whole day," <<he>> says. "You want to sleep in someone else's bed, is that it?" <br><br> <<if $speech_attitude is "meek">> "N-no," you say. "You know I'm yours alone." <<elseif $speech_attitude is "bratty">> "I'm not a slut," you say. "But sometimes I need to be away for longer." <<else>> "No!" you say. "It's just that braving the woods every day for school is dangerous." <</if>> <br><br> <<if C.npc.Eden.love gte 100>><<set $edenfreedom to 2>><<set $edendays to 0>> <<He>> looks about to argue, but sighs in resignation. "Fine. I'm used to being alone. <span class="gold">You can leave for up to a week.</span> If you're gone longer, I'll hunt you down." <br><br> <<link [[Hug|Eden Freedom 2]]>><<set $phase to 2>><<npcincr Eden love 1>><</link>><<glove>> <br> <<if $bus is "edenclearing">> <<link [[Nod|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Nod|Eden Cabin]]>><<endevent>><</link>> <</if>> <<else>> <<He>> shakes <<his>> head. "That town is dangerous. The less time you spend there the better." <br><br> <i>If <<he>> liked you more <<he>> might be more amenable to your request.</i> <br><br> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<npc Eden>><<person1>> Eden leads you back to the safety of <<his>> cabin. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I-I was wondering if we could get a rug. And maybe some pillows," you ask. <<elseif $speech_attitude is "bratty">> "The place is a little bare. How about getting a rug and some pillows?" you ask. <<else>> "Could we get a rug and some pillows for the cabin?" you ask. <</if>> <br><br> <<if C.npc.Eden.love gte 60>><<set $edenfurniture to 1>> /* eden is already generated <<npc Eden>><<person1>> */ Eden furrows <<his>> eyebrows at your question. "I'm not going to town," <<he>> says, turning away from you. <br> "But you don't have to go. I'll do it," you say. <br><br> <<He>> sighs at your words, looking away in consideration. "Fine," <<he>> says, "but don't go overboard." <br> You smile at <<him>> in thanks, leaving <<him>> be. <br><br> <<else>> /* eden is already generated <<npc Eden>><<person1>>*/ Eden narrows <<his>> eyes, looking annoyed. "There's nothing wrong with my cabin." <br><br> <<He>> turns away from you, signalling that the conversation is over. <br><br> <i>If <<he>> liked you more <<he>> might be more amenable to your request.</i> <br><br> <</if>> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>><<effects>> <<if $speech_attitude is "meek">> "I-I was wondering if we could get new curtains. And a coat stand," you ask. <<elseif $speech_attitude is "bratty">> "The cabin still looks bare. How about some new curtains and a coat stand?" you ask. <<else>> "Could we get some new curtains and a coat stand?" you ask. <</if>> <br><br> <<if C.npc.Eden.love gte 120>><<set $edenfurniture to 2>> /* eden is already generated <<npc Eden>><<person1>>*/ Eden sighs. "You already went shopping." <br> "But it's just for two more things," you say. <br><br> For a few seconds, Eden shifts <<his>> gaze to the worn out curtains hanging from the cabin windows, before <<his>> eyes land back on you. "Fine," <<he>> says, albeit more reluctantly than last time. "But we're making the coat stand." <br> You smile at <<him>> in thanks, leaving <<him>> be. <br><br> <<else>> <!-- <<npc Eden>><<person1>> --> Eden shakes <<his>> head, turning away from you. "We have enough furniture." <br><br> Seems the conversation is over. <br><br> <i>If <<he>> liked you more <<he>> might be more amenable to your request.</i> <br><br> <</if>> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>><<effects>> <<if $speech_attitude is "meek">> "I-I was wondering if we could make a loveseat," you ask. <<elseif $speech_attitude is "bratty">> "This place needs a final touch. How about making a loveseat?" you ask. <<else>> "Could we make a loveseat for the cabin?" you ask. <</if>> <br><br> <<if C.npc.Eden.love gte 180>><<set $edenfurniture to 3>><<set $edenloveseat to 1>> /* eden is already generated <<npc Eden>><<person1>>*/ Eden goes silent for a moment. "It's a lot of work," <<he>> warns. <br> <<if $speech_attitude is "meek">> "I-I don't mind," you say. <<elseif $speech_attitude is "bratty">> "So?" you ask. <<else>> "That's fine," you say. <</if>> <br><br> "Fine," <<he>> says. "Tell me when you want to start." <br> You smile at <<him>> in gratitude. <br><br> <i>The loveseat will take some time to complete.</i> <br><br> <<else>> /* eden is already generated <<npc Eden>><<person1>>*/ Eden shakes <<his>> head, turning away from you. "We have enough furniture." <br><br> Seems the conversation is over. <br><br> <i>If <<he>> liked you more <<he>> might be more amenable to your request.</i> <br><br> <</if>> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>><<effects>> <<switch $edenloveseat>> <<case 1>> Grabbing some leftover wood, you and Eden start cutting out the side arm rests, drilling in some holes and attaching them together with screws. Next, you cut out the base stretcher for the arm rests, then work on cutting out the front and back boards. <br> With that done, you attach the arm rest to the stretcher, completing the first part of your project. <<case 2>> This time, the two of you cut out the seat base, creating notches in the inner support. Next, you cut out the seat slats, and start assembling them together by placing the slats in the notches. <br> To finish it up, you join the outer frame with some superglue and a few screws. <<case 3>> Now, you and Eden place your inner support planks and screw them in, aligning the cleats and attaching them with screws. <br> You do the same with attaching the slats in the notches. The loveseat's foundation is halfway done. <<case 4>> You and Eden turn your attention to creating the upright back of the loveseat. <br> It's thankfully a similar process of cutting out notches and placing the supporting slats inside. <<case 5>> With most of the loveseat's foundation complete, you and Eden spend your time sanding the wood down in the clearing. <br> Though it's not the easiest process in the world, you know that sanding before the foundation is assembled would save you a lot of time in the long run. <<case 6>> Now that the foundation's been sanded, you and Eden start putting it all together. You position the seats, securing them by drilling in some screws in the corner. <br> Next, you join the upright back, once again securing them in with screws. You and Eden step back and take a look at your work. The only thing missing now are some cushions. <br><br> <i>You can buy materials in the shopping centre.</i> <<case 7>> Using the foam cushions as a template, you cut the batting and attach them to the cushions with superglue. Next, you cut out the cloth and start sewing together some cushion covers. <br> With that done, you place the covers around your foam base, completing your cushions. <<case 8>> As the last step, you place your cushions on top of the frame, completing your loveseat. Knowing that this wasn't an easy project to tackle, looking at your work fills you with a sense of pride. <br> You glance around the cabin one more time. With all your new additions, the cabin's looking better than ever, and you smile to yourself in satisfaction for a job well done. <</switch>> <br><br> <<if $edenloveseat isnot 7>> <<link [[Next|Eden Cabin]]>><<endevent>><<set $edenloveseat += 1>><</link>> <<else>> <<link [[Finish the loveseat|Eden Loveseat Work]]>><<set $edenloveseat += 1>><</link>> <</if>><<effects>> You grab a few animal pelts and start sewing. It's slow work, but you get some of the blanket done. <br><br> <<link [[Next|Cabin House Actions]]>><</link>><<effects>> You grab more pelts and sew them together. The blanket's getting bigger now. <br><br> <<link [[Next|Cabin House Actions]]>><</link>><<effects>> /* eden is already generated <<npc Eden>><<person1>>*/ You sew on the remaining pelts and look over your work. Running your hands over the soft fur, you think about where to place it. Looking around the cabin, your eyes are drawn to the loveseat. You drape it over, stepping back and nodding in satisfaction at your work. Eden will be happy when <<nnpc_he "Eden">> sees this. <br><br> <<link [[Next|Cabin House Actions]]>><</link>><<effects>> <<endevent>><<npc "Eden">><<person1>> <<switch $edendesign>> <<case 1>> You grab one of the pillows and start sewing a pattern into its fabric. Wanting your ultimate design to be a sunset on the lake, you start by sewing in the image of an orange sun. <<case 2>> Grabbing the pillows, this time you focus on the water, giving it a glowing orange hue. You also add some swans in for more detail. <<case 3>> Taking the pillows again, you turn your attention to the sky. You alternate between yellow and orange threads, until your project is complete. Eden would be happy when <<he>> sees this. <<case 4>> You grab another pillow, thinking about what design you'd work on this time. Eventually, you settle on sewing in the trees of the forest. Grabbing some brown thread, you start working on the tree trunks, making sure to pack them tightly together. <<case 5>> You grab the pillow again and, using some green thread, start sewing in the leaves. You make sure to alternate between different shades for extra detail in your design. <<case 6>> Grabbing the pillow, you finish the landscape by sewing in the ground. When you're done, you place it next to the other pillow you previously worked on. The sight of a job well done makes you satisfied, and Eden would be happy when <<he>> sees this. <<case 7>> You grab another pillow and spend some time wondering what your next design will be. Looking around, inspiration strikes. You decide on sewing the cabin clearing. Taking some thread, you spend some time sewing in the cabin, working your way through all the small details. <<case 8>> Grabbing the pillow again, you start working on sewing in the garden plots and spring. You find yourself peering out the window at times for reference. <<case 9>> Taking the pillow, you finish the scene by focusing on the sky. It takes a bit, but when you're done, you place it with all the other pillows you worked on. Seeing them fills you with a sense of accomplishment, and you're sure Eden would be happy too. <</switch>> <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>><<effects>> You grab some fleece and, folding it in half, start sewing it together. It's slow work, but you make steady progress until you're done. Once you're finished, you hang the scarf on the coat stand, where you know Eden will see it. <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<set $edendays to 0>> Eden grabs your arm and pushes you in front of <<him>>. <<He>> pushes you through the forest and back to <<his>> cabin. Once inside, <<he>> shoves you to the floor. <br><br> "I trust you," <<he>> says. "So when you don't do as I say, it hurts." <br><br> <<link [[Seduce|Eden Recaptured Seduction]]>><</link>><<promiscuous1>> <br> <<link [[Apologise|Eden Recaptured Apologise]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<gdom>><<glove>> <br> <<link [[Do nothing|Eden Recaptured Spank]]>><<set $molestationstart to 1>><</link>> <br><<effects>> <<set $seductiondifficulty to (10000 - (C.npc.Eden.lust * 50))>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> You climb to your knees. <<if $speech_attitude is "meek">> "I can make it up to you!" you say. <<elseif $speech_attitude is "bratty">> "I think I know what you need," you say. <<else>> "Let me make it up to you," you say. <</if>> You <<npcUndressText `C.npc.Eden` "lower">>. <<if $seductionrating gte $seductionrequired>> "This is a good way to start making it up to me," <<he>> says, pressing a hand against the back of your head and pushing you closer. <br><br> <<link [[Next|Eden Recaptured Oral]]>><<set $sexstart to 1>><</link>> <br> <<else>> <<He>> shoves you back to the ground. "Oh no, you're not getting off that easy." <br><br> <<link [[Next|Eden Recaptured Spank]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> You climb to your knees and look up at <<him>>. <<if $speech_attitude is "meek">> "I'm very sorry," you say. "I know I've been bad." You bow your head. <<elseif $speech_attitude is "bratty">> "I didn't mean to worry you," you say. <<else>> "I'm sorry, I know I've been bad," you say. <</if>> <br><br> "I still need to punish you," Eden says. "Or you'll forget the lesson." <br><br> <<link [[Next|Eden Recaptured Spank]]>><<set $phase to 1>><<set $molestationstart to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<npcspank>><<npcidlegenitals>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 200>> <<if $phase is 1>> <<set $enemyanger -= 75>> <</if>> <<He>> bends you over <<his>> knee. <br><br> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or $enemyanger lte 0>> <span id="next"><<link [[Next|Eden Recaptured Spank Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Recaptured Spank]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> <<He>> pants from the exertion. "I hope you've learnt your lesson. Don't disobey me again."<<lllust>> <br><br> <<tearful>> you avoid <<his>> gaze. <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you gather yourself. <<elseif $enemyanger lte 0>> <<He>> looks mollified, and releases you. "I hope you've learnt your lesson. Don't disobey me again." <br><br> <<tearful>> you avoid <<his>> gaze. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>><<npcoral>> <<set $enemytrust -= 100>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 80>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Recaptured Oral Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Recaptured Oral]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>><<npcincr Eden love 1>> "I can't stay mad at you," <<he>> gasps. "But don't you dare run off again."<<lllust>><<glove>> <<elseif $enemyhealth lte 0>> "You ungrateful slut," <<he>> says. "Maybe I should throw you out and leave you to the wolves!" <<He>> winces and holds <<his>> side. "I need to get something for this." <br><br> <<tearful>> you climb out from under the table. <<elseif $finish is 1>> "Remember," <<he>> says. "I'm keeping an eye on you." <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<set $edendays to 0>><<asylumescape>> <<badEndTrackingEnd "Asylum" { reason: "asylumEden" }>> After you enter the cabin, Eden shuts the door behind you and wraps you up in a big hug. Is <<he>> trembling? <br><br> "I was so, so worried," <<he>> says. You think you feel tears land on your shoulder, but Eden gathers <<himself>> before you can address it. <br><br> <<if $pain gte 10>> The tightness of Eden's hold irritates your wounds, and you tap on <<his>> shoulder to notify <<him>>. <br> "You're hurt," <<he>> notes, pulling away and scanning you up and down. <br><br> Eden leads you to the dining table and treats you as best <<he>> can with a first aid kit. You notice a look of guilt on <<his>> face as <<he>> tends to you, almost as if <<hes>> blaming <<himself>> for your injuries. After <<hes>> done, <<he>> brings you a glass of water and some painkillers, which you down in one shot. <<He>> then pulls up a chair in front of you. <<lllpain>><<lltrauma>><<llstress>><<trauma -20>><<pain -200>><<stress -20>> <br><br> <</if>> "What happened?" <<he>> asks. Moreso demands. You tell <<him>> about the trauma that you suffered, and how you had been forced into the asylum for "treatment," and weren't allowed to leave. You also detail what Harper, the asylum staff and other patients subjected you to while you were there. <br><br> Eden's face twists in rage, guilt and horror through your story. When you're done, <<he>> slams <<his>> fist onto the table. <br><br> "Damn bastards," <<he>> says. "Wish I could just shoot them all right now!" <br> You place your hand on <<his>> shoulder to calm <<him>> down. "I'm safe now," you say. "That's all that matters." <br> <<He>> grabs your hand in <<his>> own and pulls you into a much gentler embrace. "You're right," <<he>> says. "You're safe now." <br><br> After a while, you try to pull away from <<him>>, but <<he>> holds you down a second longer. "Please be more careful next time. I don't want you in danger again," <<he>> pleads. <br><br> You tell <<him>> that you can't promise anything, but that you'll try to be safer in the future. Eden nods and throws you a wary, but gentle look as <<he>> stands. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<set $edendays to 0>> You feel safe once beneath the canopy, but don't stop until you reach the cabin. Eden hugs you as soon as you're inside. <br><br> "I looked all over town," <<he>> says. "Couldn't find you. I was so worried." <br><br> <<if $worn.face.type.includes("gag")>> <<He>> reaches behind your head and helps untie your $worn.face.name. <<set $worn.face.type.push("broken")>> <<faceruined>> <</if>> <<if $pain gte 10 or $edenwhip is 1>> You flinch as Eden touches a wound. "You're hurt," <<he>> notes, pulling away and looking over you. <br><br> <<if $edenwhip is 1>> <<He>> looks alarmed by the whip marks. <</if>> <<if $skin.left_bottom.special is "cattle">> <<His>> eyebrows furrow when <<he>> sees your cattle brand. <</if>> <<He>> leads you to the dining table, and asks that you lie down. <<He>> looks guilty as <<he>> tends to you. <<He>> might blame <<himself>> for your injuries. <<if $skin.left_bottom.special is "cattle">> <<He>> applies a strange liquid to the cattle brand. The ink runs from your skin. <<bodywriting_clear left_bottom>> <</if>> After <<hes>> done, <<he>> brings you a glass of water and some painkillers, which you down in one shot. <<He>> pulls up a chair in front of you. <<lllpain>><<lltrauma>><<llstress>><<trauma -20>><<pain -200>><<stress -20>> <br><br> <</if>> <<if $skin.left_bottom.special is "cattle">> <<His>> eyebrows furrow when <<he>> sees your cattle brand. Eden sits you at the dining table and applies a strange liquid. The ink runs from your skin. <<bodywriting_clear left_bottom>> <</if>> <<if ($edenwhip is 1 or $skin.left_bottom.special is "cattle")>> "Who did this to you?" Eden asks. <br> "Remy," you say. <<if $edenshoutrescue is 1>> "The one you punched in the face." <br> "That one?" <<he>> asks. "Should have done more than punch." <</if>> <<else>> "What happened?" <<he>> asks. <</if>> <br><br> You tell <<him>> about how you were brought to Remy's farm, and talk about the humiliations you were forced to endure. <<if ($edenwhip is 1)>> You also detail the torture Remy inflicted on you should you have refused any demands. <</if>> Eden's face twists in rage, guilt and horror through your story. When you're done, <<he>> slams <<his>> fist onto the table. <br><br> "Bastards," <<he>> shouts. "I need more bullets." <br> You place your hand on <<his>> shoulder to calm <<him>> down. "I'm safe now," you say. "That's all that matters." <br> <<He>> grabs your hand in <<his>> own and pulls you into a gentler embrace. "You're right," <<he>> says. "You're safe now." <br><br> You try to pull away from <<him>>, but <<he>> holds you tight. "Please be more careful next time. I don't want you in danger again." <br><br> You tell <<him>> that you can't promise anything, but that you'll try to be safer in the future. Eden nods and stands, looking weary. <br><br> <<if $edenshoutrescue is 1>> "Wait," you say. You bring out the hat you managed to swipe before leaving the barn and give it to Eden. <<He>> looks shocked for a moment, then chuckles. <br> "Seems like I don't give you enough credit. You saved me a shopping trip!" <<He>> kisses your cheek in thanks and walks away from the table. <</if>> <<set $edenshoutrescue to 0>> <<set $edenwhip to 0>> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> <<set $edenshopping to 1>><<wearProp "first aid">> You shop for the things Eden can't make or do without. Tools and medical supplies mostly. <br><br> <<if !$edenradio and $money gte 2500>> As you're shopping, your eyes land on a simple tabletop radio. It makes you think of Eden. There's not a lot to do at the cabin, so maybe <<nnpc_he "Eden">>'d appreciate it. <br><br> <<edenicon "radio">><<link [[Buy it (£25)|Eden Radio Buy]]>><<handheldon>><<money -2500>><</link>> <br> <<refuseicon>><<link [[Don't buy it|Eden Radio Don't Buy]]>><</link>> <<elseif $edenradio isnot 0 and !$edenraft and $money gte 4000>> As you're shopping, your eyes land on an inflatable raft. It makes you think of Eden. Maybe you could use it at the lake together. <br><br> <<ind>><<link [[Buy it (£40)|Eden Raft Buy]]>><<handheldon>><<money -4000>><</link>> <br> <<refuseicon>><<link [[Don't buy it|Eden Raft Don't Buy]]>><<handheldon>><</link>> <<else>> <<link [[Next|Shopping Centre]]>><<handheldon>><</link>> <</if>> <br><<effects>> <<set $edenraft to 1>> <<set $edenraftintro to 1>> You decide to buy the raft. <br><br> <<link [[Next|Shopping Centre]]>><</link>> <br><<effects>> You decide against buying the raft. Maybe next time. <br><br> <<link [[Next|Shopping Centre]]>><</link>> <br><<effects>> <<set $edenradio to 1>> <<set $edenradiointro to 1>> You decide to take a chance and buy the radio. Who knows? Maybe Eden will enjoy it. <br><br> <<link [[Next|Shopping Centre]]>><</link>> <br><<effects>> You decide against buying the radio. Maybe next time. <br><br> <<link [[Next|Shopping Centre]]>><</link>> <br><<effects>> <!-- <<npc Eden>><<person1>> --> <<set $edenradiointro to 2>><<npcincr Eden love 10>> You place the radio on the table before calling Eden over to see it. <br><br> "A radio?" <<he>> asks, scratching <<his>> head. "Not that I don't appreciate the gesture, but why the sudden purchase?" <br><br> <<if $speech_attitude is "meek">> "I-I just thought you'd enjoy it," you say. <<elseif $speech_attitude is "bratty">> "Oh come on, live a little," you say. "Haven't you ever made an impulse buy before?" <<else>> "I thought you'd like a little background noise," you say. <</if>> <br><br> You turn the dials on the radio, trying to find a signal. A few tries later, you hear music. It seems to be a love song. <br><br> <<link [[Look at Eden|Eden Radio Intro 2]]>><</link>> <br><<effects>> When you turn to Eden, <<he>> blushes and avoids your gaze. You're surprised that someone as tough as <<him>> would act so bashful, but you're aware of a tension building in the cabin. <br><br> The love song continues playing, the both of you unsure of what to do. Eden glances at your waist, trying to build up the courage for something. <<He>> looks frustrated with <<himself>>. <br><br> Taking the initiative, you grasp Eden's hands and lead them to your waist. <<He>> hesitates, then wraps <<his>> arm around you. You wind yours around <<his>> neck in turn. <br><br> <<link [[Next|Eden Radio Intro 3]]>><<npcincr Eden love 1>><</link>> <br><<effects>> The song leads you two into a slow waltz. You stare into Eden's eyes and feel a calming warmth settle in you. <br><br> Eden seems to have trouble maintaining your gaze, but holds you tight nonetheless. You can feel the nervousness settle in <<his>> shoulders, causing them to feel stiff at your touch. In fact, the vulnerability of the moment seems to have exposed <<him>>, somehow. It lets you see the part of <<him>> that <<he>> tries so hard to hide from the world. <br><br> You feel glad that <<hes>> showing this to you now, even if it's through uncertain and awkward movements. Maybe, that's what makes it special. <br><br> <<Hes>> no expert at dancing and stumbles more than a few times, but it's nice. You're struck with the realisation that even if life with Eden isn't perfect, <<he>> is trying for you. <br><br> Like <<hes>> trying right now. <br><br> <<link [[Next|Eden Radio Intro 4]]>><<npcincr Eden love 1>><</link>> <br><<effects>> Far too soon, the song comes to an end. Eden seems disappointed, but doesn't move. You wait to see if <<he>> does something, but <<he>> just looks away from you, making a conflicted expression. Disappointed, you pull away from <<him>>, but <<he>> stops you before you can. <br><br> "Wait," <<he>> says. You turn back to ask <<him>> what was wrong, but are interrupted by a kiss. This one seems different. It's full of everything that Eden feels for you. It's raw, and genuine. <br><br> "Thanks for the radio," <<he>> says, pulling you into a hug. <br><br> <span class = "gold">You can now use the radio to dance with Eden in the cabin at night!</span> <br><br> <<link [[Next|Eden Cabin]]>><<npcincr Eden love 1>><<endevent>><</link>> <br><<effects>> <<set $edenshopping to 2>><<npcincr Eden love 5>> <<if $speech_attitude is "meek">> "I got these for you," you say, putting the supplies on the table. <<elseif $speech_attitude is "bratty">> "I did your chore for you," you say, putting the supplies on the table. <<else>> "I got your supplies from town," you say, putting the supplies on the table. <</if>> <br><br> "Good job," Eden says. "How much were they? I'll give you the money." <br><br> <<link [[I don't need money|Eden Supplied 2]]>><<set $phase to 0>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<gdom>><<glove>> <br> <<link [[£50|Eden Supplied 2]]>><<set $phase to 1>><</link>> <br> <<set $skulduggerydifficulty to 200>> <<link [[£200|Eden Supplied 2]]>><<set $phase to 2>><</link>><<skulduggerydifficulty>> <br><<effects>> <!-- <<npc Eden>><<person1>> --> <<if $phase is 0>> "What's yours is mine anyway," Eden says. "Thanks though." <br><br> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>> <<elseif $phase is 1>> "Sounds about right." <<He>> reaches into <<his>> pouch. "Here you go." <br><br> You've gained <<moneyGain 50>>. <br><br> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>> <<else>> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> "Two hundred?" Eden looks annoyed. "You got ripped off." <<He>> reaches into <<his>> pouch. "Still, worth me not doing it. Here you go." <br><br> You've gained <<moneyGain 200>>. <br><br> <<skulduggeryuse>> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>> <<else>> "I'm not gonna fall for that," Eden says. "You can pay out of your own pocket." <br><br> <<skulduggeryuse>> <<if $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <<else>> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <</if>> <</if>> <</if>><<set $settingsExitPassage to "Eden Cabin">> <<settings>><<effects>> <<npc Eden>><<person1>> You fix Eden's clothes, which are full of rips and tears from <<his>> hunting trips. <<if Time.hour lte 6>> You decide to leave them on the table as to not disturb <<his>> rest. <<elseif Time.hour gte 11 and Time.hour lte 14 and $daily.eden.hunting is 1>> You decide to leave them on the table until <<he>> comes back. <<else>> <<He>> seems grateful when you give them back to <<him>>. <</if>> <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>><<effects>><<wearProp "broom">> <!-- <<npc Eden>><<person1>> --> Using the broom and dustpan, you sweep the cabin floor until it's clean. <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>><<effects>><<wearProp "salve">> <!-- <<npc Eden>><<person1>> --> You gather the ingredients for your salve and melt the mixture on the stove. When you're done, you leave your salve on the table to cool and dry. <br><br> <<if $salve is 1>> You have 1 jar of salve. <<elseif $salve gte 2>> You have $salve jars of salve. <</if>> <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>><<effects>><<wearProp "soap">> <!-- <<npc Eden>><<person1>> --> You gather the ingredients for your soap and melt the mixture on the stove. When you're done, you leave your soap on the table to cool and set. <br><br> <<if $soap is 1>> You have 1 bar of soap. <<elseif $soap gte 2>> You have $soap bars of soap. <</if>> <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>><<effects>> <!-- <<npc Eden>><<person1>> --> You take stock of Eden's supplies, noting what needs to be replenished and how much it would cost.<<gmaths>><<mathsskill>> <br><br> <<link [[Next|Cabin House Actions]]>><<endevent>><</link>><<effects>> <<edenicon>><<link [[Step away|Eden Cabin]]>><<handheldon>><<unset $mirrorMenu>><<unset $bodywritingSet>><<postMirror>><</link>> <br> <<mirror>> <br><br><<effects>> <<plot_effects>> <<if $eden_plot_intro is 1>><<unset $eden_plot_intro>> <<plots_init eden 3 earth 2 medium>> <</if>> <<display_plot eden>> <<if !$plants_known.includes("poppy")>> <<icon "tending/poppy.png">> <<link [[Search for seeds (0:30)|Eden Plots Seeds]]>><<set $plants_known.push("poppy")>><<pass 30>><<handheldon>><</link>> <br> <</if>> <br> <<getouticon>><<link [[Leave|Eden Clearing]]>><<endevent>><</link>> <br> <<unset $event_trigger>><<effects>> You search the clearing for wild flowers, and find a number of poppies growing among the grass. You gather some seeds. <br><br> <span class="gold">You can now grow <<icon "tending/poppy.png">> poppies.</span> <br><br> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <br><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyhealth to 600>> <<set $enemyhealthmax to 600>> <<set $enemyanger += 200>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1>> <<gwylanRescueFail "hunter">> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Recaptured Resist Normal Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Recaptured Resist Normal]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>><<if $foresthunt gte 1>><<set $foresthunt to 0>><</if>> <<ejaculation "short">> Eden collapses against a nearby tree. <<elseif $enemyhealth lte 0>><<if $foresthunt gte 1>><<set $foresthunt to 0>><</if>> Eden falls against a nearby tree. <</if>> <<tearful>> you seize the chance, and escape into the woods. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>><<effects>> <<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <<set $NPCList[0].righthand to "throat">><<set $NPCList[0].lefthand to "throat">><<set $neckuse to "hand">> "I don't want to do this," Eden says as <<he>> shifts <<his>> hands over your throat. <span class="red">You're being strangled!</span> <br><br> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1>> <<gwylanRescueFail "hunter">> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Eden Recaptured Resist Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Recaptured Resist]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>><<if $foresthunt gte 1>><<set $foresthunt to 0>><</if>> <<ejaculation "short">> Eden collapses against a nearby tree. <br><br> <<tearful>> you seize the chance, and escape into the woods. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>><<if $foresthunt gte 1>><<set $foresthunt to 0>><</if>> Eden falls against a nearby tree. <br><br> <<tearful>> you seize the chance, and escape into the woods. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> Eden chokes you until your consciousness fades. <br><br> <<endcombat>> <<link [[Next|Eden Recaptured 2]]>><<clotheson>><</link>> <br> <</if>><<effects>> <<npc Eden>><<person1>> <<set $edendays to 0>> <<if $rng gte 51>> You awaken, and find yourself slumped over Eden's shoulder. You're in the clearing outside <<his>> cabin. <<He>> tosses you to the floor once inside. <br><br> "I trust you," <<he>> says. "So when you don't do as I say, it hurts." <br><br> <<else>> You're jolted awake by Eden nudging you with <<his>> boot. You're on the cabin floor. <br><br> "I trust you," <<he>> says. "So when you don't do as I say, it really hurts." <br><br> <</if>> <<link [[Seduce|Eden Recaptured Seduction]]>><</link>><<promiscuous1>> <br> <<link [[Apologise|Eden Recaptured Apologise]]>><<npcincr Eden love 1>><<npcincr Eden dom 1>><</link>><<gdom>><<glove>> <br> <<link [[Do nothing|Eden Recaptured Spank]]>><<set $molestationstart to 1>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> /* eden is not actually generated on passages that lead here */ <<set $edendays to 0>> <<npc Eden>><<person1>> You slip in and out of consciousness. You feel something carry you, and hear the sounds of the forest. <br><br> You wake up some time later on a bed. It feels familiar. You look around, and realise that you are in the cabin in the forest. Eden sits beside you, drinking from a mug. <<He>> glances at you, and puts down <<his>> drink. <br><br> "You're awake. I was worried," <<he>> says, looking relieved as <<he>> reaches for you, and folds you in a firm hug. <<if isLoveInterest("Eden")>> You hug <<him>> back, though you're still weak. <br><br> <<if $speech_attitude is "meek">> "Thank you!" you say. "I don't know what would've happened to me if you didn't rescue me." <<elseif $speech_attitude is "bratty">> "Thanks for the help," you say. "I owe you one." <<else>> "Thank you!" you say. "I appreciate you bringing me back." <</if>> <br><br> <<else>> <br><br> <</if>> "You're safe here now. You're home. It's alright." Eden holds you for a few more moments, before releasing you and looking you over. "No harm done. I think you'll live." <<He>> smiles as <<he>> stands up and stretches. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<set $stress -= 2000>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>> */ You awaken on the cabin bed. Turning your head to the side, you see Eden sitting next to you. <<He>> notices you stirring. <br><br> "You're up. I was worried," <<he>> says. <<His>> voice sounds relieved. <br><br> <<if $pain gte 10>> It seems <<hes>> fixed your injuries while you were out. <<He>> helps you to your feet and gives you one last look before walking off. <<lllpain>><<pain -200>> <<else>> "I couldn't find any injuries. You must have passed out from stress." <<He>> helps you to your feet and gives you one last look before walking off. <</if>> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> <<set $edendays to 0>> You feel yourself being lifted into the air and someone wrapping an arm around your waist. <br><br> <<if isLoveInterest("Eden")>> You bury your face into your rescuer's chest. They smell familiar and comforting. <br><br> <</if>> You pass out again. <br><br> <<link [[Next|Eden Cabin Rescued]]>><<pass 30>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>><<set $edenaskcollar to 1>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>> */ <<if $speech_attitude is "meek">> "I-I removed it," you say. <<elseif $speech_attitude is "bratty">> "I took it off," you say. <<else>> "I removed it," you say. <</if>> <br><br> "What? Why?" <<he>> asks, frustrated. <br> <<if $speech_attitude is "meek">> "People could have used it to take advantage of me if you're not there." <<elseif $speech_attitude is "bratty">> "It put me in a risky spot," you say. "People could have used it to take advantage of me." <<else>> "It's risky," you say. "People could have taken advantage of me with it." <</if>> <br><br> <<He>> looks away and considers your words, before ultimately sighing in defeat. "Fine," <<he>> says, turning away. <<He>> doesn't press the topic further. <br><br> <<if $bus is "edencabin">> <<link [[Next|Eden Cabin]]>><<endevent>><</link>> <<elseif $bus is "edenclearing">> <<link [[Next|Eden Clearing]]>><<endevent>><</link>> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>> <<if $speech_attitude is "meek">> "C-Could you give me another collar?" You blush and turn your face away. <<elseif $speech_attitude is "bratty">> "Could I have another collar?" You try to maintain eye contact while speaking, but feel a blush rising onto your cheeks all the same. <<else>> "Could you give me another collar?" You feel your face heat up at your words. <</if>> <br><br> <<if $bus is "edenclearing">> Eden's eyebrows rise at your question. "Changed your mind?" <<He>> smirks, eyeing your flushed visage. You feel your heart pick up in response. "Come here," <<he>> says, taking your hand and leading you into the cabin. <br><br> <<else>> Eden's eyebrows rise at your question. "Changed your mind?" <<He>> smirks, eyeing your flushed visage. You feel your heart pick up in response. "Come here," <<he>> says, taking your hand. <br><br> <</if>> <<link [[Next|Eden Collar Ask 2]]>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> /* eden is already generated on passages that lead here <<npc Eden>><<person1>> */ <<if $speech_attitude is "meek">> "S-Someone took it from me," you say. <<elseif $speech_attitude is "bratty">> "Someone took it off," you say. <<else>> "Someone took it from me," you say. <</if>> <br> "What?" <<He>> sounds mad. <br> <<if $speech_attitude is "meek">> "I-I'm sorry," you say. "But you being mad doesn't help." <<elseif $speech_attitude is "bratty">> "I said someone took it. You being mad isn't going to change anything." <<else>> "I said someone took it. Your anger doesn't change anything." <</if>> <br><br> <<He>> opens <<his>> mouth to respond, but sighs and looks away. "Fine," <<he>> says, turning away. <br><br> <<if $speech_attitude is "meek">> You look to the ground and fiddle with your hands, not moving from your spot. After a minute, Eden looks up at you. <<elseif $speech_attitude is "bratty">> "Wait," you say. Eden looks up at you. <<else>> You stand around for a minute, building up your courage, before walking up to Eden and tapping <<him>> on the shoulder. <<He>> looks up at you. <</if>> <br> <<if $speech_attitude is "meek">> "C-Could you give me another one?" You blush and turn your face away. <<elseif $speech_attitude is "bratty">> "Could I have another one?" You try to maintain eye contact while speaking, but feel a blush rising onto your cheeks all the same. <<else>> "Could you give me another one?" You feel your face heat up at your words. <</if>> <br><br> <<if $bus is "edenclearing">> Eden's eyebrows rise at your question. <<He>> scans your face, eyeing your flushed visage, and smirks. "Come here," <<he>> says, taking your hand and leading you into the cabin. <<else>> Eden's eyebrows rise at your question. <<He>> scans your face, eyeing your flushed visage, and smirks. "Come here," <<he>> says, taking your hand. <</if>> <br><br> <<link [[Next|Eden Collar Ask 2]]>><</link>><<leash 21>> <<set $outside to 1>><<set $location to "cabin">><<effects>> <<He>> guides you to a nearby drawer. Pulling it open, <<he>> reaches for a collar. A long metal chain dangles, gleaming in the light. <<He>> tilts <<his>> head, motioning for you to approach. <br><br> You take a stuttering breath and walk over, stopping in front of <<him>>. <<if $hairlength gte 200>> "Lift up your hair," <<he>> says. You comply, reaching behind your head and moving your hair out of the way. <</if>> <br><br> <<if $speech_attitude is "meek">> You keep your face to the ground, cheeks still burning strongly under the intensity of <<his>> gaze. <<elseif $speech_attitude is "bratty">> Try as you might, you can't bring yourself to look <<him>> in the eyes. Your cheeks burn embarrassingly red under the intensity of <<his>> gaze. <<else>> Your eyes are locked on the ground, cheeks still burning under the intensity of <<his>> gaze. <</if>> <br><br> Slowly, <<he>> raises the collar to your neck, brushing <<his>> hands against your skin. Your breath involuntarily hitches in response, and Eden chuckles. A distinctive click echoes through the cabin as it clamps shut behind you. <br><br> Eden steps back, scanning you up and down. You brave a look at <<his>> face. <<His>> eyes are dark and hungry. <<npcincr Eden lust 5>><<gglust>> <br><br> <<link [[Next|Eden Collar Ask 3]]>><</link>><<set $outside to 1>><<set $location to "cabin">><<effects>> Grabbing your leash, Eden guides you to the cabin mirror and tilts your head up. The collar sits around your neck, encasing it snugly. <<He>> stands behind you and places <<his>> hands on your shoulders, lowering <<his>> face to level with your ear. <br><br> "What do you think?" <<he>> whispers. The feeling of <<his>> hot breath is maddening. <br><br> <<if $speech_attitude is "meek">> "I-I," you stutter through your words before giving up and hiding your flushed face in your hands. Eden smirks. <<elseif $speech_attitude is "bratty">> "It's... okay," you say, blushing while trying to look at your reflection. Eden smirks. <<else>> "It's... nice," you say, blushing and avoiding your reflection in the mirror. Eden smirks. <</if>> <br><br> <<He>> pulls you into <<his>> chest and runs <<his>> fingers over your new collar. "You look good," <<he>> says, grabbing your chin and pecking you on the lips. Releasing your leash, <<he>> walks away, leaving you staring at the mirror. Your knees feel weak. <<takeKissVirginity "Eden" "romantic">> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>> You are in Eden's kitchen. A grill sits over a fire, and looks more hygienic than the rest of the cabin. A narrow set of stairs leads to a root cellar. <br><br> <<ingredientsSupplied "beef" "bird_egg">> <<allowLewdIngredients>> <br><br> <<kitchenDisplay>> <<link [[Leave|Eden Cabin]]>><<endevent>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<violence 1>> <<neutral 1>> <<maninit>> <<stalk_init>> <<set $combatgoal to "confront">> <<set $NPCList[0].bold to 10000>> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <<actionsman>> <<if $stalk_end>> <span id="next"><<link [[Next|Street Stalk Eden Finish]]>><<if $feetaction is "confront">><<set $phase to 1>><<else>><<set $phase to 0>><</if>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Street Stalk Eden]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "town">><<effects>> <<person1>> <<if $stalk_end is "confront">> <<if $phase is 1>> Eden grabs you by the arm, <<his>> grip painful. <<He>> looks mad. <<else>> <<if $stalk_assess>> Eden's grip on your arm remains painfully tight as <<he>> turns you around to face <<him>>. <<He>> looks mad. <<else>> You're spun around, and come face-to-face with a large figure. It's Eden. <<He>> looks mad. <</if>> <</if>> <br><br> <<endcombat>> <<npc Eden>><<person1>> <<if $edenCagedEscape>> "Told you I'd find you again, didn't I?" <<he>> snarls, pulling you close. "Looks like you still haven't learnt your place. Come on." <<else>> "Where the fuck have you been?" <<he>> snarls, pulling you close. <<if $allure gte (3000 * $alluremod)>> "I've been worried sick and you've been prancing around town like a slut!" <<else>> "I've been worried sick, and you're just prancing around town!" <</if>> <<if C.npc.Eden.love gte 70>> <<set C.npc.Eden.love to 70>> <<llllove>> <</if>> <br><br> Before you can speak, Eden begins to drag you away. "I don't want to hear your excuses, either." <<He>> looks uncomfortable, eyes shifting as <<he>> walks. The corner of <<his>> lip curls in disgust. "And you made me come out here to get you. Things aren't going to be pretty when we get home." <</if>> <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><<def 1>><</link>> <br> <<link [[Try to pull away|Eden Caged Caught Pull]]>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 1>><<pass 30>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <<elseif $stalk_end is "hide">> You emerge from your hiding place. <<if $stalk_assess>>Eden<<else>>Whoever was following you<</if>> is nowhere to be found. <<tearful>> you continue on your way. <br><br> <<clotheson>> <<endcombat>> <<destinationeventend>> <<else>> <<if $stalk_assess>>Eden's<<else>>A familiar<</if>> voice shouts after you as you escape into the <<if Time.dayState is "night">>darkness<<else>>crowds<</if>>, but you keep running. Finally, it fades into the distance. <<tearful>> you slow to a walk, and continue on your way. <br><br> <<clotheson>> <<endcombat>> <<destinationeventend>> <</if>><<effects>> Fearing whatever Eden has in store for you, you pull hard. <<if $physiqueSuccess>><<set $edenCagedEscape to true>> <<He>> resists, turning to you with a warning glare. After some back and forth, <span class="green"><<his>> grasp loosens enough for you to slip out and begin a full-sprint away.</span> Your arm stings, but you push past the feeling.<<pain 2>><<gpain>> <br><br> Eden gives chase, narrowly on your heels for a few minutes. <<He>> calls after you as you pull ahead, <<his>> anger palpable. <br><br> After a few minutes, the sounds of <<his>> voice fades away, until it disappears completely. <br><br> <<if $location is "forest">> You're in the clear, but you know Eden's already on your trail. <span class="red">Something is hunting you.</span> <<set $foresthunt to 1>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> <<endevent>> <<destinationeventend>> <</if>> <<else>> <<His>> grip remains almost bone-crunching. <span class="red">You can't tear away.</span> Eden silently glares as <<he>> tightens <<his>> hold on you.<<pain 4>><<gpain>> <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><<def 1>><</link>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 0>><<pass 30>><<stress 6>><<sub 1>><<npcincr Eden dom 1>><</link>><<gstress>><<gdom>> <br> <</if>><<set $outside to 1>><<set $location to "forest">><<effects>> <<if $phase is 1>> Eden's right. You've been away for far too long. You probably couldn't break free, anyway. <br><br> <<He>> doesn't loosen <<his>> grip, but <<he>> eases up on <<his>> handling of you as you march through the forest. <<else>> Fearing whatever Eden has in store for you, you pull hard. <<if $physiqueSuccess>> <<He>> resists, turning to you with a warning glare. After some back and forth, <span class="green"><<his>> grasp loosens enough for you to slip out and begin a full-sprint away.</span> Your arm stings, but you push past the feeling.<<pain 2>><<gpain>> <br><br> Eden gives chase, narrowly on your heels for a few minutes. <<He>> calls after you as you pull ahead, <<his>> anger palpable. <br><br> After a few minutes, the sounds of <<his>> voice fades away, until it disappears completely. <br> You're in the clear, but you know Eden's already on your trail. <span class="red">Something is hunting you.</span> <<set $foresthunt to 1>> <<set $edenCagedEscape to true>> <<else>> <<His>> grip remains almost bone-crunching. <span class="red">You can't tear away.</span> Eden silently glares as <<he>> pulls you closer. <br><br> <<He>> drags you towards the cabin. You cry for help. Nobody answers.<<trauma 3>><<gtrauma>> <<set $phase to 1>> <</if>> <</if>> <br><br> <<if $phase is 1>> <<set $outside to 0>><<set $location to "cabin">> You're pulled into the cabin. Eden slams the door shut behind you. Everything is as you left it. Apart from the cage near the sleeping area. <br><br> <<link [[Struggle|Eden Caged Intro]]>><<set $phase to 0>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit|Eden Caged Intro]]>><<set $phase to 1>><<sub 1>><<stress 6>><<npcincr Eden dom 1>><</link>><<gstress>><<gdom>> <br> <<else>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<npcidlegenitals>> <<set $enemytrust -= 100>> <<set $enemyhealth to 600>> <<set $enemyhealthmax to 600>> <<set $enemyanger += 200>> <<if $asphyxiaLvl gte 3>> <<set $NPCList[0].righthand to "throat">><<set $NPCList[0].lefthand to "throat">><<set $neckuse to "hand">> "I don't want to do this," Eden says as <<he>> shifts <<his>> hands over your throat. <span class="red">You're being strangled!</span> <<else>> <span class="red">Eden slaps you across the face.</span> "You're only making things harder on yourself," <<he>> snarls. <<violence 6>> <</if>> <br><br> <</if>> <<effects>> <<effectsman>> <<if $location is "forest">> <<if $alarm is 1 and $rescue is 0>> <<if $forest lte 20 and $gwylan_aborted isnot 1>> <<set $alarm to 0>> <<set $gwylan_aborted to 1>> You see <<if $forest_shop_intro is 1 or $gwylan_rescue is 1>>Gwylan<<else>>a <<nnpc_gendery "Gwylan">><</if>> burst through the treeline, alarmed by your shout. <<nnpc_He "Gwylan">> takes one look at the assailant, <span class="red">then turns and runs away.</span> <br><br> <<elseif $forest gt 20>> <<forestRescueFail "hunter">> <br><br> <</if>> <</if>> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or $pain gte 100 and $willpowerpain is 0>> <span id="next"><<link [[Next|Eden Caged Caught Resist Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Caged Caught Resist]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<effects>> <<if $enemyarousal gte $enemyarousalmax>><<if $foresthunt gte 1>><<set $foresthunt to 0>><</if>> <<ejaculation "short">> Eden collapses against a nearby <<if $location is "forest">>tree<<else>>streetlamp<</if>>. <br><br> <<tearful>> you seize the chance, and escape into the <<if $location is "forest">>woods<<else>>streets<</if>>. <br><br> <<clotheson>> <<endcombat>> <<set $edenCagedEscape to true>> <<if $location is "forest">> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<else>> <<destinationeventend>> <</if>> <<elseif $enemyhealth lte 0>><<if $foresthunt gte 1>><<set $foresthunt to 0>><</if>> Eden falls against a nearby <<if $location is "forest">>tree<<else>>streetlamp<</if>>. <br><br> <<tearful>> you seize the chance, and escape into the <<if $location is "forest">>woods<<else>>streets<</if>>. <br><br> <<clotheson>> <<endcombat>> <<set $edenCagedEscape to true>> <<if $location is "forest">> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<else>> <<destinationeventend>> <</if>> <<else>> You fall to the ground, too hurt to continue. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Caged Caught]]>><<set $phase to 0>><<pass 30>><</link>> <</if>><<set $outside to 1>><<effects>> <<if $phase is 1>> Eden's right. You've been away for far too long. You probably couldn't break free, anyway. <br><br> <<if $location is "forest">> <<He>> doesn't loosen <<his>> grip, but <<he>> eases up on <<his>> handling of you as you march through the forest. <<else>> <<He>> guides you towards the forest. Most people ignore you. It's a struggle to keep up with <<his>> quick steps. <</if>> <br><br> You're pulled into the cabin. Eden slams the door shut behind you. Everything is as you left it. Apart from the cage near the sleeping area. <br><br> <<else>> <<if $location is "forest">> Eden roughly pulls you by your wrist, forcing you to stumble after <<him>> as <<he>> makes <<his>> way home. <<else>> Eden's grip remains almost bone-crunching as <<he>> guides you towards the forest. People look on as you pass, but none intervene, despite your cries for help.<<trauma 3>><<gtrauma>> <br><br> Eden doesn't relax as <<he>> drags you through the woods, even once you're past the outskirts of town. The sounds of civilisation gradually give way to nature's deathly silence. <</if>> <br><br> The usual familiarity and comfort of the cabin is disrupted by a foreboding feeling in your stomach. Your dread is reinforced when you see the cage in the corner. <</if>> <<set $outside to 0>><<set $location to "cabin">> <br><br> <<link [[Struggle|Eden Caged Intro]]>><<set $phase to 0>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit|Eden Caged Intro]]>><<set $phase to 1>><<sub 1>><<stress 6>><<npcincr Eden dom 1>><</link>><<gstress>><<gdom>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<npc Eden>><<person1>> As <<he>> carries you through the forest, <<he>> doesn't loosen <<his>> grip. <<He>> doesn't even ease up on <<his>> handling of you as you're pulled into the cabin. <<He>> drops you in a heap on the floor. <br><br> Eden slams the door shut behind <<him>>. The usual familiarity and comfort of the cabin is disrupted by a foreboding feeling in your stomach. Your dread is reinforced when you see the cage in the corner. <br><br> <<link [[Next|Eden Caged Intro]]>><<set $phase to 2>><</link>> <br><<set $outside to 1>><<set $location to "town">><<effects>> <<if $phase is 1>> Eden's right. You've been away for far too long. You probably couldn't break free, anyway. <br><br> <<He>> guides you towards the forest. Most people ignore you. It's a struggle to keep up with <<his>> quick steps. <<else>> Fearing whatever Eden has in store for you, you pull hard. <<if $physiqueSuccess>> Eden resists, turning to you with a warning glare. After some back and forth, <span class="green"><<his>> grasp loosens enough for you to slip out and begin a full-sprint away.</span> Your arm stings, but you push past the feeling.<<pain 2>><<gpain>> <br><br> Eden gives chase, narrowly on your heels for a few minutes. <<He>> calls after you as you pull ahead, <<his>> anger palpable. <br><br> After a few minutes, the sounds of <<his>> voice fades away, until it disappears completely. You're safe. For now. <br> <i><span class="red">Going back to the cabin might be dangerous with Eden this mad.</span></i> <<set $edenCagedEscape to true>> <<else>> Eden's grip remains almost bone-crunching. <span class="red">You can't tear away.</span> Eden silently glares as <<he>> pulls you closer. <br><br> <<He>> guides you towards the forest. People look on as you pass, but none intervene, despite your cries for help.<<trauma 3>><<gtrauma>> <br><br> Eden doesn't relax as <<he>> drags you through the woods, even once you're past the outskirts of town. The sounds of civilisation gradually give way to nature's deathly silence. <<set $phase to 1>> <</if>> <</if>> <br><br> <<if $phase is 1>> <<set $outside to 0>><<set $location to "cabin">> You're pulled into the cabin. Eden slams the door shut behind you. Everything is as you left it. Apart from the cage near the sleeping area. <br><br> <<link [[Struggle|Eden Caged Intro]]>><<set $phase to 0>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit|Eden Caged Intro]]>><<set $phase to 1>><<sub 1>><<stress 6>><<npcincr Eden dom 1>><</link>><<gstress>><<gdom>> <br> <<else>> <<endevent>> <<destinationeventend>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 1>> Even if it's obvious that what happens next won't be pleasant, you give in. <br><br> "Oh, so now you're behaving?" Eden spits. "Fucking great timing, isn't it? Being good when you know you can't get away with shit." <br><br> <<elseif $phase is 0>> <<if $physiqueSuccess>> Knowing the punishment that is about to unfurl, you dig your heels into the floor and pull. Eden, more confident now that you're home, had loosened <<his>> grip, allowing you to pull free. <br><br> Before <<he>> can turn and lunge, you dart to the door, practically ripping it off of its hinges and sprinting back into the forest. Eden is right behind you, heavy footfalls pounding into the ground as <<he>> gives chase. <br><br> Darting between the trees, you're able to break the line of sight that Eden has on you, and after a few minutes lose <<him>> completely.<<pass 10>> <br><br> "I'll fucking catch you again! I always do!" Eden yells from behind. You pay it no mind, running until your lungs burn. Eventually, you come to a stop, unable to go on.<<stress 6>><<tiredness 3>><<gstress>><<gtiredness>> <br> Even though you're alone, a familiar chill runs up your spine. <span class="red">Something is hunting you.</span> <<set $edenCagedEscape to true>> <<set $edenforesthunt to 1>> <<set $foresthunt to 1>> <br><br> <<else>> Knowing the punishment that is about to unfurl, you dig your heels into the floor and pull. Tired of your defiance, Eden turns and backhands you. <<pain 4>><<gpain>> <br><br> "I'm sick of you acting like a brat. It's obvious you need reminding of your duties," <<he>> snarls. <<set $phase to 1>> <br><br> <</if>> <</if>> <<if $phase gte 1>> Held by the scruff of your neck, the <<nnpc_title "Eden">> strips your clothes before forcing you into the cage. A heavy padlock secures the gate. <<ruined>> <br><br> "I'll let you out when you can behave," Eden warns. <<He>> leaves you alone and <<if Time.hour lte 6>>/* bedtime */ lumbers to the bed. <<Hes>> soon out like a light. <<elseif Time.hour lte 8>>/* breakfast */ stomps over to the kitchen to prepare breakfast. <<elseif Time.hour lte 16>>/* out hunting */ storms outside. <<elseif Time.hour lte 18>>/* bathtime */ leaves to run a bath. <<elseif Time.hour lte 22>>/* dinnertime */ stomps over to the kitchen to prepare dinner. <<else>>/* bedtime */ lumbers to the bed. <<Hes>> soon out like a light. <</if>> <<unset $edenCagedEscape>> <<unset $edenescape>> <<set C.npc.Eden.trust to 0>> <<set $edenCaged to {}>> <<set $edenCaged.escape to 0>> <<set $edenCaged.days to 0>> <br><br> <<link [[Next|Eden Caged]]>><<set $phase to 0>><</link>> <br> <<else>> <<set $forest to random(50, 75)>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> You are locked in a cage in Eden's cabin. It's small and cramped, impossible to stand upright in. Furred blankets cover the ground. <br><br> <<if Time.hour lte 6>>/* bedtime */ <<if $phase is 2>> Despite the uncomfortable position, you curl up on the layers of blankets and close your eyes. Soon enough, you drift off to sleep. <<elseif $phase is 1>> With Eden snoring peacefully, you get in position to kick again. <<if $edenCaged.escape gte 9>> The whole cage rattles around you. <span class="green">You feel the gate giving out against your repeated assaults.</span> Eden jolts in <<his>> sleep, and for a moment you fear <<he>>'ll wake. You breathe a sigh of relief when you hear <<his>> snoring.<<stress 2>><<gstress>> <br><br> <span class="blue">The gate is loose enough that one more good kick will set you free. However, you'll need to wait until Eden's distracted.</span> <br><br> Having done all you can, you lie on your side and try your best to sleep. <<else>> However, after one strike, you freeze. It was much louder than you remembered. Over on the furred mattress, the <<nnpc_title "Eden">> stirs briefly, before resting once again. <br><br> It's too risky. You should try again when Eden is distracted with something else. <br><br> Sighing in defeat, you lie on your side and try your best to sleep.<<stress 6>><<gstress>> <</if>> <<else>> Alone with only Eden's snores to keep you company, you wonder what to do. <</if>> <br><br> <<if $phase gte 1>> <<link [[Sleep|Eden Caged]]>><<set $phase to 1>><<cabintime>><<set $edenCaged.days += 1>><</link>><<ltiredness>> <br> <<else>> <<if $edenCaged.escape gte 9>> <span class="purple">The gate is loose, but you won't get far with Eden so close.</span> You'll have to wait until <<hes>> distracted. <br> <<else>> <<link [[Try to escape|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><</link>> <</if>> <br> <<link [[Sleep for the night|Eden Caged]]>><<set $phase to 2>><</link>> <br> <</if>> <<elseif Time.hour lte 8>>/* breakfast */ <<if C.npc.Eden.trust gte 100 or $edenCaged.days gte 5>> The sound of the cage creaking open rouses you from your slumber. Eden is crouched in the opening. "Come on. Punishment's over." <br><br> <<He>> moves to the side as you clamber out, watching you stand and stretch. Before you can get far, the <<nnpc_title "Eden">> grabs your chin, angling it so that you're looking <<him>> in the eye. <br><br> "You'd best behave from now on. This was me being kind." <<His>> face is stern as <<he>> drops <<his>> hand, leaving you standing alone to contemplate the words of warning. <br> <i><span class="gold">Eden has forgiven you, for now.</span> <<if $edenfreedom gte 1>> <<unset $edenfreedom>> You may need to regain <<his>> trust before <<hes>> willing to let you out of the cabin again. <</if>> </i> <br><br> <<link [[Next|Eden Cabin]]>><<unset $edenCaged>><<endevent>><</link>> <br> <<else>> <<if $phase gte 1>> The smell of breakfast wakes you. You sit up and rub your bleary eyes, the cage rattling around you. You're greeted by Eden sat right in front of your cage, a plate of eggs on <<his>> lap. <br> "Morning. Honestly, I wish you were cooking this. But I don't trust you enough yet." <<else>> Eden returns from the kitchen carrying a plate of eggs, and a chair. <<He>> takes a seat right in front of the cage. <br> "Honestly, I wish you were cooking this. But I don't trust you enough yet." <</if>> <br><br> <<He>> ignores you as <<he>> eats, chewing with slow, exaggerated motions. You stare at the eggs, done the way <<he>> always has them, and your stomach rumbles. <br><br> A little bit of food is left when Eden puts down the utensils, and that's when <<he>> finally regards you. "You hungry?" <br><br> <<He>> sets the plate down and opens the cage. You reach for the food, but <<he>> tightly grips your wrist. "No hands. Use your mouth only." <br><br> <<link [[Do as you're told|Eden Caged Breakfast]]>><<set $phase to 1>><<sub 1>><<npcincr Eden trust 5>><<npcincr Eden dom 1>><</link>><<gtrust>><<gdom>> <br> <<link [[Refuse to eat|Eden Caged Breakfast]]>><<set $phase to 0>><<def 1>><<npcincr Eden trust -5>><<npcincr Eden dom -1>><</link>><<ltrust>><<ldom>> <br> <</if>> <<elseif Time.hour lte 16>>/* out hunting */ With Eden outside, you're left alone in your cage. From your claustrophobic position, you can't tell how far <<he>> is, or if <<hes>> even at the cabin. <br><br> <<switch Time.hour>> <<case 9>> <<set _edenCagedPass to 8>> <<case 10>> <<set _edenCagedPass to 7>> <<case 11>> <<set _edenCagedPass to 6>> <<case 12>> <<set _edenCagedPass to 5>> <<case 13>> <<set _edenCagedPass to 4>> <<case 14>> <<set _edenCagedPass to 3>> <<case 15>> <<set _edenCagedPass to 2>> <<default>> <<set _edenCagedPass to 1>> <</switch>> <<capture _edenCagedPass>> <<if $edenCaged.escape gte 9>> <span class="purple">The gate is loose, but you wouldn't get far with Eden so close.</span> You'll have to wait until <<hes>> distracted. <br> <<else>> <<link [[Try to escape|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><<pass _edenCagedPass hours>><</link>> <</if>> <br> <<link [[Rest|Eden Caged]]>><<set $phase to 2>><<pass _edenCagedPass hours>><</link>> <br> <</capture>> <<elseif Time.hour lte 18>>/* bathtime */ <<if $phase is 2>> <<if random(1)>> Left with only your own thoughts as company and entertainment, you lie back and daydream as the hours pass. <<else>> Tired from the stress of the day, you curl up as comfortably as you can and close your eyes. After a few minutes, you fall into an uneasy sleep. <</if>> <<elseif $phase is 1>> Using your alone time to your advantage, you focus on the hinges with your kicks. Eden doesn't come in after the first few. <<He>> can't hear you, for now. <br><br> <<if $edenCaged.escape gte 9>> The whole cage rattles around you. <span class="green">You feel the gate giving out against your repeated assaults.</span> The sound of Eden chopping wood outside comes to an abrupt stop, and for a moment you fear <<he>>'ll come to investigate. You breathe a sigh of relief at the sound of <<his>> axe swinging down.<<stress 2>><<gstress>> <br><br> <span class="blue">The gate is loose enough that one more good kick will set you free. However, you'll need to wait until Eden's distracted.</span> <<else>> After many strikes, <<if $edenCaged.escape gte 5>> the door loosens, but stays steady enough under your assault. <<else>> you notice it bending a little. <</if>> You hesitate to go any further at the sound of Eden working outside. <</if>> <<else>> You're not given much time alone. Just as soon as <<he>> left, Eden returns from the bathroom, half undressed. <</if>> <br><br> <<if $edenCaged.days gte 1>> Eden comes back in, dabbing at the sweat on <<his>> forehead with <<his>> sleeve. <<He>> makes a bee-line for your cage. "Time for your duties again." <<else>> <<if $phase is 2>> Some time later, Eden wakes you with the sound of the lock coming off and the gate opening. <<elseif $phase is 1>> The door to the cabin swings open. Eden stomps over to the cage and unlocks it. <</if>> "You have duties to fulfil." <<He>> <<npcUndressText `C.npc.Eden` "lower" "self">>. <</if>> <br><br> <<link [[Resist|Eden Caged Sex]]>><<set $molestationstart to 1>><<def 1>><<npcincr Eden trust -10>><<npcincr Eden dom -1>><</link>><<ltrust>><<ldom>> <br> <<link [[Be good|Eden Caged Sex]]>><<set $sexstart to 1>><<sub 1>><<npcincr Eden trust 10>><<npcincr Eden dom 1>><</link>><<gtrust>><<gdom>> <br> <<elseif Time.hour lte 22>>/* dinnertime */ <<if $phase is 2>> Resigned to your cage with nothing else to do, you decide to catch some sleep. When you wake up, your side hurts from the uncomfortable angle you're at. <br><br> The sound of Eden making dinner wakes you up. <<He>> gives you none, and ignores you in favour of reading afterwards. <<elseif $phase is 1>> Using the sound of running water to disguise your struggle, you lie on your back and kick at the cage door. <br><br> <<if $edenCaged.escape gte 9>> The whole cage rattles around you. <span class="green">You feel the gate giving out against your repeated assaults.</span> Wet footsteps approach as Eden stomps out of the bath to investigate, not bothering to cover <<himself>> with a towel. <br> "What was that noise?" <<he>> demands. You shrug innocently. <<He>> scrutinises you, then returns to <<his>> bath. You breathe a sigh of relief.<<stress 2>><<gstress>> <br><br> <span class="blue">The gate is loose enough that one more good kick will set you free. However, you'll need to wait until Eden's distracted.</span> <<elseif $edenCaged.escape gte 5>> More damage forms, but not enough to get free. You hope Eden doesn't notice. <<else>> You barely make a dent. Your sore legs force you to stop before you can cause any real damage. <</if>> <br><br> After <<his>> bath, Eden sits in <<his>> usual spot to read, ignoring you completely and not feeding you when <<he>> eats. <<else>> Eden eats <<his>> dinner in silence. <<He>> doesn't offer you anything, and ignores you in favour of reading afterwards. <</if>> <br><br> <<link [[Ask to go outside|Eden Caged Evening]]>><<set $phase to 1>><</link>> <br> <<link [[Stay silent|Eden Caged Evening]]>><<npcincr Eden trust 5>><<set $phase to 0>><</link>><<gtrust>> <br> <<else>>/* bedtime */ <<if $phase is 2>> Despite the uncomfortable position, you curl up on the layers of blankets and close your eyes. Soon enough, you drift off to sleep. <<elseif $phase is 1>> With Eden snoring peacefully, you get in position and kick with all your might. <<if $edenCaged.escape gte 9>> The whole cage rattles around you. <span class="green">You feel the gate giving out against your repeated assaults.</span> Eden jolts in <<his>> sleep, and for a moment you fear <<he>>'ll wake. You breathe a sigh of relief when you hear <<his>> snoring.<<stress 2>><<gstress>> <br><br> <span class="blue">The gate is loose enough that one more good kick will set you free. However, you'll need to wait until Eden's distracted.</span> <br><br> Having done all you can, you lie on your side and try your best to sleep. <<else>> However, after one strike, you freeze. It was much louder than you were expecting. Over on the furred mattress, the <<nnpc_title "Eden">> stirs briefly, before resting once again. <br><br> It's too risky. You should try again when Eden is distracted with something else. <br><br> Sighing in defeat, you lie on your side and try your best to sleep.<<stress 6>><<gstress>> <</if>> <<else>> Alone with only Eden's snores to keep you company, you wonder what to do. <</if>> <br><br> <<if $phase gte 1>> <<link [[Sleep|Eden Caged]]>><<set $phase to 1>><<cabintime>><<set $edenCaged.days += 1>><</link>> <br> <<else>> <<if $edenCaged.escape gte 9>> <span class="purple">The gate is loose, but you won't get far with Eden so close.</span> You'll have to wait until <<hes>> distracted. <br> <<else>> <<link [[Try to escape|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><</link>> <</if>> <br> <<link [[Sleep for the night|Eden Caged]]>><<set $phase to 2>><</link>> <br> <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>><<set $enemytrust to -200>> Eden's face twists into a snarl as you pull away. <<He>> grabs you by the hair and pulls you forwards. "Do as you're told," <<he>> growls. <<controlloss>> <br><br> <<elseif $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>><<set $enemytrust to -200>> Eden presents <<himself>>, pleased when you don't pull away. "Good <<girl>>," <<he>> coos. "See, it's not that difficult, is it?" <br><br> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Caged Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Caged Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Satisfied, Eden pulls back and pats your head. "I need you to do this for me. It's why I hate when you're away for so long."<<npcincr Eden trust 10>><<gtrust>> <br><br> <<He>> urges you back into the cage, locking it up, but gives you a smile before <<he>> leaves to run <<his>> bath. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<tearful>> you sit in your cage and wonder what to do. <br><br> <<if $edenCaged.escape gte 9>> <span class="teal">The gate is loose. One more good kick will set you free.</span> <br> <<link [[Escape|Eden Caged Escape]]>><</link>> <<else>> <<link [[Try to escape (2:00)|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><<pass 2 hours>><</link>> <</if>> <br> <<link [[Rest (2:00)|Eden Caged]]>><<set $phase to 2>><<pass 2 hours>><</link>> <br> <<elseif $enemyhealth lte 0>> "You little fucking whore!" Eden yells out, rubbing at <<his>> side. <<He>> kicks you back into the cage, quickly locking it up again.<<pain 10>><<npcincr Eden trust -10>><<ggpain>><<ltrust>> <br><br> "It's a wonder I don't tie you to a tree and leave you for anyone to use," <<he>> threatens, before leaving you alone once more. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<tearful>> you sit in your cage and wonder what to do. <br><br> <<if $edenCaged.escape gte 9>> <span class="teal">The gate is loose. One more good kick will set you free.</span> <br> <<link [[Escape|Eden Caged Escape]]>><</link>> <<else>> <<link [[Try to escape (2:00)|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><<pass 2 hours>><</link>> <</if>> <br> <<link [[Rest (2:00)|Eden Caged]]>><<set $phase to 2>><<pass 2 hours>><</link>> <br> <<else>> Eden leads you to the cage, but stops abruptly. <<He>> pulls you back with a sneer. <br><br> "No," <<he>> snarls. "I decide when we're done." <<set $consensual to 0>><<molested>><<controlloss>> <<trauma 3>><<npcincr Eden trust -5>><<gtrauma>><<ltrust>> <br><br> <<link [[Next|Eden Caged Sex]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 1>> <<if $speech_attitude is "meek">> "E-Eden?" you mumble. "My legs hurt. C-can I walk around for a little bit, please?" <<elseif $speech_attitude is "bratty">> "Hey, I'm in pain over here," you call out. "Let me out for a few minutes, will you?" <<else>> "Hey, my legs are aching," you say. "Any chance I can stretch?" <</if>> <br><br> Eden cocks an eyebrow at your request, putting <<his>> book down before walking over to the cage. Squatting down to make eye contact, <<he>> smirks. "What do I get in return?" <br><br> <<link [[Offer to get <<him>> off|Eden Caged Evening 2]]>><<set $phase to 0>><<npcincr Eden trust 5>><<npcincr Eden dom 1>><</link>><<gtrust>><<gdom>> <br> <<link [[Nevermind|Eden Caged Evening 2]]>><<set $phase to 1>><<npcincr Eden trust -5>><<npcincr Eden dom -1>><</link>><<ltrust>><<ldom>> <br> <<else>> The rest of the night is silent, the crackling of the fire and pages in Eden's book turning all you can hear. A few hours pass before the <<nnpc_title "Eden">> gets up and gets ready for bed. <br><br> "Behave and I might let you back in the bed one day," <<he>> says before climbing onto the furred mattress and falling asleep. <br><br> Alone with only Eden's snores to keep you company, you wonder what to do. <br><br> <<if $edenCaged.escape gte 9>> <span class="purple">The gate is loose, but you wouldn't get far with Eden so close.</span> You'll have to wait until <<hes>> distracted. <br> <<else>> <<link [[Try to escape (5:00)|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><<pass 5 hours>><</link>> <</if>> <br> <<link [[Sleep for the night (5:00)|Eden Caged]]>><<set $phase to 2>><<pass 5 hours>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 1>> "Actually, I'm okay," you insist. <br><br> Eden's face drops and <<he>> grinds <<his>> jaw. Undoing the lock, <<he>> reaches in and grabs you by the hair. <<He>> drags you out of the cage and starts pulling your legs apart. <br><br> "Teasing me like that isn't fair, you know? You should know better." <br><br> <<link [[Next|Eden Caged Evening Sex]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<if $speech_attitude is "meek">> "I-I can do my 'spousal duties', if you want me to?" You bat your eyelashes a few times for extra measure. <<elseif $speech_attitude is "bratty">> "Why don't you let me out and find out for yourself." You wink up at <<him>>. <<else>> "Yeah, I'll do it." You smile up at <<him>>, hoping <<hes>> satisfied. <</if>> <br><br> Eden seems eager as <<he>> fiddles with the lock, reaching in to pull you out even as you move forwards yourself. <br><br> "You're being good for me," <<he>> chuckles. "Maybe I'll help you get off, too?" <br><br> <<link [[Next|Eden Caged Evening Sex]]>><<set $sexstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>><<set $enemytrust to -200>> <<elseif $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>><<set $enemytrust to -200>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Caged Evening Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Caged Evening Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $consensual is 1>> For a brief moment, Eden seems kind again as <<he>> caresses your cheek.<<npcincr Eden trust 10>><<gtrust>> <br> Kissing your forehead, <<he>> draws back. "Come on. You can have five minutes outside." <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Caged Evening Stretch]]>><</link>> <br> <<else>> The anger recedes from Eden's face, brows relaxing as <<he>> lets you go.<<npcincr Eden trust 10>><<gtrust>> <br> "Good pet. Shame that you changed your mind on the exchange, though. I might have let you walk around on your leash a little before bed." <br><br> Getting up from you, Eden fixes <<his>> clothes, then puts you back in the cage, locking it tight once more. <<He>> returns to <<his>> spot by the fire. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Caged Evening]]>><<set $phase to 0>><</link>> <br> <</if>> <<elseif $enemyhealth lte 0>> Growling in frustration, the <<nnpc_title "Eden">> shoves you back into the cage. It's locked tight before you can regain your balance. <br> "You're really testing my fucking patience," <<he>> grunts. "I'm being gentle right now, you'll see."<<npcincr Eden trust -10>><<ltrust>> <br><br> Getting up from the floor, Eden fixes <<his>> clothes. Then, <<he>> returns to <<his>> spot by the fire, with a slight limp in <<his>> step. <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Caged Evening]]>><<set $phase to 0>><</link>> <br> <<else>> Eden leads you to the cage, but stops abruptly. <<He>> pulls you back with a sneer. <br><br> "No," <<he>> snarls. "I decide when we're done." <<set $consensual to 0>><<molested>><<controlloss>> <<trauma 3>><<npcincr Eden trust -5>><<gtrauma>><<ltrust>> <br><br> <<link [[Next|Eden Caged Evening Sex]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<tearful>> you crawl out of the cage. The stiffness slowly leaves your body as you rise to your feet. <br><br> <<if $worn.neck.collared isnot 1>> While you're standing and stretching, you feel something cold wrap around your neck, with a familiar clicking sound. It's a new collar. <<leash 21>> <</if>> "Come on." Eden tugs on your leash as <<he>> heads towards the door. You follow <<him>> outside, breathing in the fresh air. The <<nnpc_title "Eden">> keeps your leash in <<his>> hand as you walk around the clearing. <<He>> watches your every move.<<stress -6>><<lstress>> <br><br> After a few minutes, <<he>> calls out for you again. "That's enough. Come on, time for bed now." <br><br> You're taken back inside and returned to the confines of the metal prison you currently call home. Eden climbs into bed. <br> "Keep being good like that and I'll let you back on the bed soon." <br><br> Alone with only Eden's snores to keep you company, you wonder what to do. <br><br> <<if $edenCaged.escape gte 9>> <span class="purple">The gate is loose, but you wouldn't get far with Eden so close.</span> You'll have to wait until <<hes>> distracted. <br> <<else>> <<link [[Try to escape (5:00)|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><<pass 5 hours>><</link>> <</if>> <br> <<link [[Sleep for the night (5:00)|Eden Caged]]>><<set $phase to 2>><<pass 5 hours>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 1>> <<if $speech_attitude is "meek">> Spurred by your hunger, you eagerly lap at the plate. Eden lets out a small chuckle at the sight. You blush, but pay <<him>> no mind. <<elseif $speech_attitude is "bratty">> Even as the shame makes your cheeks flush, your hunger gnaws at your gut. You swallow your pride and peck at Eden's leftovers. <<else>> It's humiliating, but you're too hungry to care. Lowering your head, you eat what's left of Eden's breakfast. <</if>> <br><br> It's messy, and you get food all over your face. Eden gently pats your head in encouragement. When you're done, <<he>> takes the plate away and returns with a towel to clean your face with. There's a heated look in <<his>> eyes as <<he>> urges you back into confinement. "I'll come get you in a bit for some exercise. Rest." <br><br> Eden leaves to get dressed, then heads outside, leaving you alone in the cabin. You sit in your cage and wonder what to do. <br><br> <<if $edenCaged.escape gte 9>> <span class="purple">The gate is loose, but from your claustrophobic position, you can't tell how far Eden's gone.</span> You can't risk escaping yet. <br> <<else>> <<link [[Try to escape (10:00)|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><<pass 10 hours>><</link>> <</if>> <br> <<link [[Rest (10:00)|Eden Caged]]>><<set $phase to 2>><<pass 10 hours>><</link>> <br> <<else>> <<if $speech_attitude is "meek">> "I-I'm not that hungry, it's okay," you stammer out while looking at the floor. <<elseif $speech_attitude is "bratty">> "I'm fine, actually," you say through grit teeth. "I'll eat later." <<else>> "It's okay," you say, shaking your head. "I'm not hungry." <</if>> <br><br> Eden picks up the plate and places it next to the sink, giving you a brief glimpse of the unguarded door, but <<he>> returns before you can bolt. And <<he>> looks angry. <br><br> "What, is my cooking not good enough for you? Fine. You can have something else." <br><br> <<link [[Next|Eden Caged Breakfast Oral]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<He>> pulls your face against <<his>> crotch. <<controlloss>> <br><br> <<npcoral>><<set $NPCList[0].lefthand to "hair">> <<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>><<set $enemytrust to -200>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Caged Breakfast Oral Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Caged Breakfast Oral]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The <<nnpc_title "Eden">> pants as <<he>> lets you go. "Taste good? I sure felt good," <<he>> laughs.<<npcincr Eden trust 10>><<gtrust>> <br><br> <<He>> pushes you backwards, not with much force, but it's unexpected enough that you tumble back into the cage. You're shut in once more. "I'll come get you later." <<He>> smirks. "Don't go far." <<else>> Furious, Eden backhands you before booting you back into confinement. "You can fucking stay in there and think over why you're being such a brat. I hope you change your mind this time."<<npcincr Eden trust -10>><<ltrust>> <br><br> <<He>> storms over to the partition to get ready before heading outside. <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<tearful>> you sit in your cage and wonder what to do. <br><br> <<if $edenCaged.escape gte 9>> <span class="purple">The gate is loose, but from your claustrophobic position, you can't tell how far Eden's gone.</span> You can't risk escaping yet. <br> <<else>> <<link [[Try to escape (10:00)|Eden Caged]]>><<set $phase to 1>><<set $edenCaged.escape += 1>><<pass 10 hours>><</link>> <</if>> <br> <<link [[Rest (10:00)|Eden Caged]]>><<set $phase to 2>><<pass 10 hours>><</link>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> The sound of running water is enough cover to kick at the gate again. Using all of your strength, you lash out - once, twice, three times before the hinges pop loose. <br><br> The adrenaline surges through your veins. If you want to escape, now's your chance. <br><br> <<link [[Run for it|Eden Caged Freedom]]>><<set $phase to 1>><<set $stress -= 1000>><<npcincr Eden dom -1>><</link>><<llltrust>><<ldom>> <br> <<link [[Stay|Eden Caged Freedom]]>><<set $phase to 0>><<npcincr Eden trust 200>><<npcincr Eden dom 1>><</link>><<gggtrust>><<gdom>> <br><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $phase is 1>> Determined to be free, you crawl out of the metal prison, knees popping as you stand. You're able to snatch a towel and wrap it around yourself before creeping to the door, your heart pounding with each step. But Eden doesn't notice. <<towelup>> <br><br> Sliding through the slight crack you make in the door, your feet move before your brain registers the feeling. At a full sprint, you make your way into the forest, the cabin fading behind the trees the further you get. <br><br> You know that Eden will be mad when <<he>> finds you again. <br><br> <<link [[Next|Forest]]>><<unset $edenCaged>><<set $edenCagedEscape to true>><<endevent>><<set $eventskip to 1>><<set $forest to 80>><</link>> <br> <<else>> The cage door pops open off its hinges, and for a fleeting moment hope blooms in your chest at the prospect of escape. However, the hope is soon replaced by guilt when you remember how hurt Eden was bringing you home. <br><br> Swallowing, you sit back down and hug your legs to your chest. Soon, Eden emerges from the bathroom, drying <<his>> hair off with a towel. <<He>> pauses when <<he>> sees the state of the cage. <br><br> "You're that sick of being cooped up, huh?" <<he>> says. "Well, I can't blame you for that. Come on, you've earned your place. Just don't piss me off again." Eden juts <<his>> finger in your face as you crawl out. <br><br> You watch as <<he>> folds the cage up and puts it away. You hope you never see it again. <br> <i><span class="gold">Eden has forgiven you, for now.</span> <<if $edenfreedom gte 1>> <<unset $edenfreedom>> You may need to regain <<his>> trust before <<hes>> willing to let you out of the cabin again. <</if>> </i> <br><br> <<link [[Next|Eden Cabin]]>><<unset $edenCaged>><<endevent>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "cabin">><<effects>><<set $bus to "edenclearing">> <<npc Eden>><<person1>> <<if $edenFluidsCheck is "run">> /* after run, return to the cabin */ Nervous, you walk into the clearing. Eden may still be mad. <br><br> You don't see <<him>> at first, not until you hear a twig snap behind you. <<if $goocount gt 0 or $semencount gt 0>> /* with fluids on you */ "You're still covered in all of that. It's disgusting."<<npcincr Eden love -20>><<llllove>> <br><br> You see Eden reaching for you in the corner of your eye. <<else>> /* clean */ "Just because you washed, doesn't mean I forgot." <br><br> You see Eden reaching for you from the corner of your eye. <<set $edenFluidsCheck to "clean">> <</if>> <<else>> <<for _bodyPart, _fluids range $player.bodyliquid>> <<if _fluids.goo gte 1 or _fluids.semen gte 1>> <<set _bodyFluids to _bodyPart>> <<break>> <</if>> <</for>> You burst through the trees into the clearing. Eden pauses <<his>> task to look at you. <<He>> does a double take, and <<his>> face screws up when <<he>> sees the fluids on your <<bodypart _bodyFluids>>. <<stress 6>><<gstress>> <br><br> Eden marches towards you, snarling. "Who touched you?"<<npcincr Eden love -30>><<llllove>> <</if>> <br><br> <<link [[Run|Eden Fluids Punishment 2]]>><<set $phase to 1>><<def 1>><<npcincr Eden love -10>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>><<athleticsdifficulty 650 900>> <br> <<link [[Stay still|Eden Fluids Punishment 2]]>><<set $phase to 0>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>><<set $outside to 1>><<set $location to "cabin">><<effects>><<set $bus to "edenclearing">> <<if $phase is 0>> /* Stay still */ <<if $edenFluidsCheck is "run" or $edenFluidsCheck is "clean">> Eden's hand is rough as <<he>> grabs your arm, the <<nnpc_title "Eden">> grasping so hard <<his>> nails dig into your skin. <<pain 2>><<gpain>> <<else>> You shiver as Eden comes closer, jumping when <<his>> hand grabs your arm. <<He>> examines you closer, <<his>> lip curling in disgust. <br><br> "I've been too gentle with you." <</if>> <br><br> <<link [[Next|Eden Fluids Punishment 3]]>><</link>> <<else>> /* Run */ <<if $edenFluidsCheck is "run">> Not wanting to be hurt again, you turn and begin sprinting into the forest. <<else>> Scared of what Eden may do, you turn and begin sprinting into the forest. <</if>> <<He>> yells after you, insisting that you come back. You can hear <<him>> running after you. <<stress 6>><<gstress>> <br><br> <<if $athleticsSuccess>> You run for a while, getting scratched as you push past branches. <<gpain>><<pain 2>> <br><br> Eventually, Eden's yelling gets quieter until it stops completely. <span class="green">You've lost <<him>>.</span> <br><br> It takes a while to catch your breath as the adrenaline runs through you. <span class="red">Returning to the cabin may be dangerous.</span> <br><br> <<link [[Next|Forest]]>><<set $edenFluidsCheck to "run">><<endevent>><<set $eventskip to 1>><<set $forest to random(50, 75)>><</link>> <<else>> You push yourself as hard as you can, <span class="red">but Eden catches up.</span> <<He>> tackles you to the ground and the air leaves your lungs as you crash into the dirt. <<pain 4>><<gpain>> <br><br> <<if $edenFluidsCheck is "clean">> "You're such an ungrateful brat," <<he>> growls as <<he>> punches you in the back of the head. <<pain 4>><<gpain>> <<else>> "<<if $edenFluidsCheck is "run">>I never thought that you'd be a cheat,<<else>>After all I've done, this is the thanks I get?<</if>>" Eden growls as <<he>> punches you. <<pain 8>><<ggpain>> <</if>> <br><br> Dizzy from the punch, you can't fight <<him>> as <<he>> hauls you onto <<his>> shoulder. When you come back to your senses, Eden spanks you every time you attempt to struggle. Soon enough you return to the cabin. <br><br> <<link [[Next|Eden Fluids Punishment 3]]>><</link>> <</if>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>><<set $bus to "edencabin">> <<if $edenFluidsCheck is "clean">> <<if $phase is 0>> /* Stay still */ Eden grasps your hand and pulls you back into the cabin. <<He>> flings you to the floor as <<he>> reaches behind a wardrobe to get something. It's the cage. <<stress 6>><<gstress>> <<else>> /* Run */ You're led inside and dropped onto the hardwood floor as Eden reaches behind a wardrobe. <<He>> brings out the cage. <<stress 6>><<pain 4>><<gstress>><<gpain>> <</if>> <<else>> <<if $phase is 0>> /* Stay still */ Eden pulls you towards the spring behind the cabin, <<his>> grip never loosening. When you get to the edge, <<he>> pushes you in before you can ask <<him>> what <<he>> is doing. <br><br> <<else>> /* Run */ Eden doesn't stop as <<he>> walks up to the cabin, instead walking past to the spring behind. "<<if $edenFluidsCheck is "run">>I hate how you smell right now.<<else>>You're not coming inside until you're clean.<</if>>" <br><br> There is no warning when Eden throws you into the spring. <</if>> <<if $edenspring gte 4>> /* spring is clean */ The water is a shock, and panic sets in as Eden grabs your hair and keeps you under for a few seconds. <<else>> The water is a shock, and the debris hurts as a hand grasps the back of your neck, keeping you down for a few seconds. <<pain 2>><<gpain>> <</if>> <br><br> Eden pulls you back up, letting you gasp for air as <<he>> begins to strip you of your clothes. <<wash>><<ruined>> <br><br> <<Hes>> quiet as <<he>> roughly washes you with a rag from <<his>> belt. It smells like <<him>>, you think it's the towel <<he>> used to wipe sweat away after working. <<npcincr Eden lust 5>><<glust>> <br><br> "I'm hurt," <<he>> finally says. <<His>> tone is still angry. <br><br> When you're clean, Eden grasps your hand and pulls you back into the cabin. <<He>> flings you to the floor as <<he>> reaches behind a wardrobe to get something. It's the cage. <<stress 6>><<gstress>> <br><br> "You obviously need more time to think about what you've done." <</if>> <<set $edenFluidsCheck to "Eden">> <br><br> <<link [[Run|Eden Fluids Punishment 4]]>><<set $phase to 1>><<def 1>><<npcincr Eden love -10>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>><<athleticsdifficulty 650 900>> <br> <<link [[Accept your punishment|Eden Fluids Punishment 4]]>><<set $phase to 0>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>><<effects>> <<if $phase is 0>> /* Accept your punishment */ Eden is right. You betrayed <<his>> trust. You should accept your punishment. <br><br> You crawl into the cage as Eden holds the gate open, flinching as <<he>> slams it shut. <br><br> "Don't go thinking that I'll be kinder just because you're behaving now." <<ruined>> <<unset $edenCagedEscape>> <<unset $edenescape>> <<set $NPCName[$NPCNameList.indexOf("Eden")].trust to 0>> <<set $edenCaged to {}>> <<set $edenCaged.escape to 0>> <<set $edenCaged.days to 0>> <br><br> <<link [[Next|Eden Caged]]>><<set $phase to 0>><</link>> <<else>> /* Run */ <<if $athleticsSuccess>> Not wanting to be locked away, you bolt out of the door. Eden curses before giving chase. You keep going into the forest, not looking back. <br><br> You run for a while, getting scratched as you push past branches. <<gpain>><<pain 2>> <br><br> Eventually, Eden's yelling gets quieter until it stops completely. <span class="green">You've lost <<him>>.</span> <br><br> It takes a while to catch your breath as the adrenaline runs through you. <span class="red">Returning to the cabin may be dangerous.</span> <br><br> <<link [[Next|Forest]]>><<set $edenCagedEscape to true>><<endevent>><<set $eventskip to 1>><<set $forest to random(50, 75)>><</link>> <<else>> Not wanting to be locked away, you try to bolt for the door. <span class="red">Eden is quicker than you are.</span> <<He>> grips your hair, pulling you back towards the cage. <br><br> "You better learn well from this." <br><br> Eden throws you into the cage, locking it with a padlock. <<ruined>> <<unset $edenCagedEscape>> <<unset $edenescape>> <<set $NPCName[$NPCNameList.indexOf("Eden")].trust to 0>> <<set $edenCaged to {}>> <<set $edenCaged.escape to 0>> <<set $edenCaged.days to 0>> <br><br> <<link [[Next|Eden Caged]]>><<set $phase to 0>><</link>> <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Eden Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Eden Rape]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "cabin">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>><<npcincr Eden lust -20>> Eden hovers over you for a few seconds to catch <<his>> breath before <<he>> moves away.<<lllust>> <br><br> "You're lucky I'm not tying you up again for being a brat," <<he>> mutters as <<he>> leaves you on the floor.<<stress 20>><<gstress>> <br><br> <<tearful>> you avoid <<his>> gaze. <<else>> <<npcincr Eden love -10>> Hissing, Eden backs away from you. <br><br> "This was your idea in the first place," <<he>> spits. "Maybe I shouldn't let you stay away for so long if you're going to be like this." <br><br> <<He>> storms off, leaving you alone on the floor.<<lllove>> <br><br> <<tearful>> you gather yourself. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Eden Cabin]]>><</link>><<set $outside to 0>><<set $location to "cabin">><<effects>><<seenPassage>> <<noClothingCheck>> <<if _nude is false>> <<strip>><<set $edenClothes to true>> <<else>> <<strip>> <</if>> <<if $edenradiointro is 2>> You search around for a suitable place to hide the romance book and settle on a nearby cabinet. On your way to the bathroom, inspiration strikes, and you turn on the radio to set the atmosphere. <<else>> On your way to the bathroom, you search around for a suitable place to hide the romance book and settle on a nearby cabinet. <</if>> Inside, you run the bath, adding the bath oil to the water as the tub fills; the pleasant aroma that ensues permeates the air throughout the cabin. You strip bare, and sink into the soothing hot water as you hear Eden enter. <br><br> <<link [[Next|Eden Valentines Bath 2]]>><<npcincr Eden love 1>><<pass 30>><<wash>><</link>><<effects>> Eden's footsteps momentarily pause by the door before you hear them tentatively approach the bathroom. Surprise adorns <<his>> face as <<he>> enters and takes in the sight of you, waiting for <<him>> naked and splayed out in <<his>> tub. Seeing <<his>> expression, you throw <<him>> a coy smile and beckon <<him>> over. The shock on <<his>> face quickly melts into love as <<he>> chuckles and strips, walking over to you. <br><br> "This is unexpected," <<he>> says, climbing in the tub. <br> <<if $valentines_eden_breakfast is 1>> <<if $speech_attitude is "meek">> "I-I wanted to thank you for breakfast," you answer, <<elseif $speech_attitude is "bratty">> "Thought I could repay you for breakfast," you answer, <<else>> "I thought I could repay you for breakfast," you answer, <</if>> <<else>> You giggle, <</if>> folding your legs to give <<him>> some room. <br><br> <<if $valentines_eden_breakfast is 1>> Eden faintly smiles at your words and reclines in the water. <<else>> Eden faintly smiles at your laughter and reclines in the water. <</if>> <<if $edenradiointro is 2>> The music, warmth and scent of the oils lull the both of you into relaxation. <<else>> The warmth and scent of the oils lull the both of you into relaxation. <</if>> <br><br> <<link [[Wash Eden (0:30)|Eden Valentines Wash]]>><<npcincr Eden love 1>><<pass 30>><</link>><<glove>> <br> <<link [[Just relax (0:30)|Eden Valentines Relax]]>><<stress -12>><<pass 30>><</link>><<lstress>><<effects>> You and Eden relax in the tub. You feel <<his>> gaze slide up your body, until <<he>> meets your eyes. You smile at <<him>> and <<he>> faintly smiles back. <br><br> You both continue staring at one another with tender desire, <<his>> expression unusually soft as <<he>> regards you. <br><br> <<link [[Next|Eden Valentines Bath 3]]>><<clotheson>><</link>><<effects>><<wearProp "sponge">> You grab the sponge and hold it up. Eden turns <<his>> back to you and you start scrubbing. After finishing, you try to place the sponge down, but Eden stops you. <br><br> "Do you want me to wash you too?" <<he>> asks. <br><br> <<link [[Nod|Eden Valentines Wash Nod]]>><<handheldon>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <<link [[Refuse|Eden Valentines Bath 3]]>><<clotheson>><</link>><<effects>> You turn your back to Eden, and <<he>> starts scrubbing you all over. Part way through, <<he>> hits a particularly ticklish spot. You bring your hands up to your mouth and barely stifle a giggle, but Eden notices all the same. <br><br> <<He>> smiles at your laughter and lays a gentle kiss on your neck before continuing. <br><br> <<link [[Next|Eden Valentines Bath 3]]>><<clotheson>><</link>><<effects>> After a while, the water starts to get cold. Eden slowly begins to sit up. <br><br> "I think we should get up now," <<he>> says, rising out of the water. <br> <<if $speech_attitude is "meek">> "I-I thought you usually stay in longer," you say, watching as <<he>> steps out of the tub. <<elseif $speech_attitude is "bratty">> "Don't you usually stay in longer?" you ask, throwing <<him>> a questioning glance as <<he>> steps out of the tub. <<else>> "I thought you usually stay in for a bit longer," you say, watching as <<he>> steps out of the tub. <</if>> <br> Eden looks away from you, sporting a slight blush. "I thought we could spend more time together." You can't help but smile at <<his>> rare display of bashfulness. <br><br> <<He>> helps you out of the tub and the both of you dry off before leaving the bathroom together, hand in hand. <<takeHandholdingVirginity "Eden" "romantic">> <br><br> <<if $edenradiointro is 2>> <<link [[Next|Eden Valentines Dance]]>><</link>> <<else>> <<link [[Next|Eden Valentines Book]]>><</link>> <</if>><<effects>> As you step into the cabin's living area, the melody playing from the radio catches your attention. Something about it sounds strangely familiar. Then it hits you. It's the song. The first song that you and Eden danced to. <br><br> You glance at Eden. By the look on <<his>> face, it seems <<hes>> had the same realisation as you. A look of determination flashes in <<his>> eyes and <<he>> turns to you. There's no hesitation this time. Being the first to act, <<he>> wraps <<his>> hands around your waist and pulls you towards <<him>>. You wind yours around <<his>> neck in turn, and, once again, begin your slow waltz around the cabin. <br><br> <<link [[Next|Eden Valentines Dance 2]]>><<npcincr Eden love 1>><</link>><<effects>> As Eden holds you in <<his>> arms, the rest of the world seems to fade away. Even though you've danced before, this moment seems different. It's a familiar mix of tenderness and nostalgic vulnerability. Eden seems to feel it too, and although <<hes>> improved, a recognisable but no less endearing clumsiness leaks into <<his>> movements. As a matter of fact, <<his>> light blush and awkward missteps bring you back to the way <<he>> bared <<his>> heart to you in the first dance you shared. <br><br> You look back at the memory and realise that this is what makes Eden who <<he>> is. Through <<his>> outer brashness to the softness <<he>> hides deep down, you see how much Eden has tried for you, and as a result, how far you've come together. It makes you realise that even if <<he>> may not know how to say it, it's through moments like these, moments of bumbling laughter and static-filled love songs, moments that belong to the both of you, that truly show the genuine depths of <<his>> love. <br><br> <<link [[Next|Eden Valentines Dance 3]]>><<npcincr Eden love 1>><</link>><<effects>> The song comes to an end, and for a moment, you and Eden stay still. Time stops and you share a private slice of forever in that moment together. It passes in mere seconds but to the two of you it is an eternity, one that ends far too soon. As the world comes rushing back, Eden captures your lips in a sweet kiss. It's as genuine as you remember, but it warms your heart all the same. <br><br> <<link [[Next|Eden Valentines Book]]>><</link>><<effects>> Stepping away from Eden, you walk to the cabinet where you hid the romance book and pull it out. <<He>> raises <<his>> eyebrows as you hand it to <<him>>. "Wow," <<he>> chuckles, turning the book over in <<his>> hands. "You're full of surprises today." <<He>> pauses for a second, seemingly contemplating something. <br><br> "We have some time before dinner. Feel like reading this now?" <<he>> asks, glancing to you. <br><br> <<link [[Read it to Eden instead (0:20)|Eden Valentines Read]]>><<pass 20>><</link>> <br> <<link [[Nod (0:20)|Eden Valentines Book 2]]>><<pass 20>><</link>> <br> <<link [[Refuse|Eden Valentines Book Refuse]]>><</link>><<effects>> You shake your head. Eden shrugs, before walking over to you and kissing your forehead. "Thanks for today," <<he>> says, putting the book away and walking to the kitchen to start dinner. <br><br> <<link [[Next|Eden Cabin]]>><</link>><<effects>> <<if $speech_attitude is "meek">> "C-Could I read it this time?" you ask. <<elseif $speech_attitude is "bratty">> "How about I read this time?" you ask. <<else>> "Could I read it to you this time?" you ask. <</if>> Eden looks at you quizzically, but shrugs. "Sure," <<he>> says, handing you the book. You accompany Eden to the fireplace where <<he>> sets the book down and begins to get the fire going. Once the flames burn high, <<he>> sits and takes hold of the literature, motioning for you to join <<him>> on the floor. <br><br> Once comfortably snuggled into <<his>> chest, you open the book and start reading. <br><br> Halfway through the first chapter, you feel Eden kiss your neck. You pause and try to face <<him>>, but <<he>> doesn't stop. Eden brings <<his>> lips to your ear. "Keep going," <<he>> whispers, as <<he>> slides <<his>> hand over your stomach. <br><br> It's getting hard to read while Eden's distracting you. <br><br> <<link [[Embrace Eden|Eden Valentines Sex]]>><<set $sexstart to 1>><</link>> <br> <<link [[Push Eden away|Eden Valentines Push]]>><</link>> <br><<effects>> You accompany Eden to the fireplace where <<he>> sets the book down and begins to get the fire going. Once the flames burn high, <<he>> sits and takes hold of the literature, motioning for you to join <<him>> on the floor. <br><br> You snuggle into <<his>> chest and breathe deeply, taking in <<his>> unique scent as you watch <<him>> open to the first page and begin to read. <br><br> <<link [[Distract Eden|Eden Valentines Distract]]>><</link>> <br> <<link [[Just listen|Eden Valentines Listen]]>><</link>><<effects>> Eden reads to you for some time, until <<he>> stops, looking out at the window. You shift your gaze to the scenery outside and see that it's getting dark out. "I need to start dinner," <<he>> notes. <br><br> Before pulling away from you, Eden presses a gentle kiss to your forehead. "Thanks for today," <<he>> says, "and Happy Valentine's." <br><br> The both of you share one last smile as <<he>> stores the book away and walks to the kitchen. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> Midway through the first chapter, you turn to Eden and lay a soft kiss on <<his>> neck. <<He>> abruptly stops reading and glances toward you. Deciding to take it a step further, you pepper <<his>> neck with kisses and slide your hands under <<his>> shirt, running it teasingly over <<his>> stomach. Eden's breath starts to pick up. <br><br> Shifting <<his>> attention to you, <<he>> places the book aside and gently guides you onto the cabin floor. <br><br> <<link [[Embrace Eden|Eden Valentines Sex]]>><<set $sexstart to 1>><</link>> <br> <<link [[Push Eden away|Eden Valentines Distract Push]]>><</link>><<effects>> You push Eden away from you. <<He>> looks frustrated and paws at you a little harder, but eventually relents and gets off, walking to the kitchen to start dinner. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<effects>> You push Eden away from you. <<He>> chuckles and buries <<his>> head in your neck, laying down one final kiss. You read to Eden for a bit longer before <<he>> gets up to make dinner. <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>> <<set $enemyhealth to 600>> <<set $enemyhealthmax to 600>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <span id="next"> <<if _combatend>> <<link [[Next|Eden Valentines Sex Finish]]>><</link>> <<else>> <<link [[Next|Eden Valentines Sex]]>><</link>> <</if>> </span><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<npcincr Eden lust -20>><<npcincr Eden love 1>> Eden holds you close to <<his>> chest and strokes your hair.<<glove>><<llust>> <<elseif $enemyhealth lte 0>> "On Valentine's Day?" Eden asks, exasperated. <<He>> winces and holds <<his>> side. "I need to get something for this." <<llove>><<npcincr Eden love -1>> <br><br> <<He>> leaves you by the fireplace. <<elseif $finish is 1 or $phase is 1>> "Okay," <<he>> says, pulling away from you. <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Eden>><<person1>> <<link [[Next|Eden Valentines Book 3]]>><</link>><<effects>> The two of you lie on the cabin floor, the romance story long forgotten. After a bit, Eden lifts <<himself>> off you and helps you sit up. You both stay curled by the fireplace for a bit longer. Staring into the flames, part of you feels disheartened, wishing that moments like these could last forever. Seeing Eden shift <<his>> gaze to the slowly darkening sky, you can tell <<he>> feels the same way. <br><br> <<if $edenradiointro is 2>> A short while later, Eden breaks the silence. "Thanks for today," <<he>> says, "and Happy Valentine's." As <<he>> presses a gentle kiss to your forehead, you come to another realisation. Moments like these are special because of Eden's love. Since it's something that <<he>> carries for you always, it means that every moment with <<him>> is special, from <<his>> clumsy attempts at dancing to the way <<hes>> holding you now. And as Eden whispers three special words to you so softly that you can barely hear it, you smile, because you know that as long as you're together, moments like these never truly have to end. <<else>> A short while later, Eden breaks the silence. "Thanks for today," <<he>> says, "and Happy Valentine's." As <<he>> presses a gentle kiss to your forehead, you come to a realisation. Moments like these are special because of Eden's love. Since it's something that <<he>> carries for you always, it means that every moment with <<him>> is special, from sharing a bath together to the way <<hes>> holding you now. And as Eden whispers three special words to you so softly that you can barely hear it, you smile, because you know that as long as you're together, moments like these never truly have to end. <</if>> <br><br> <<link [[Next|Eden Cabin]]>><<endevent>><</link>><<widget "cabinothers">> <<if $nextPassageCheck is "Eden Clearing">> <<getouticon>><span class="nextLink"><<link [[Go outside|Eden Clearing]]>><</link>></span> <<elseif ($exposed gte 1 and !$daily.eden.exposed and Time.hour is 7) or ($exposed gte 1 and !$daily.eden.exposed and Time.hour is 8)>> <<getouticon>><<link [[Go outside|Eden Exposed]]>><<endevent>><</link>> <<elseif $exposed gte 1 and !$daily.eden.exposed and Time.hour gte 17>> <<getouticon>><<link [[Go outside|Eden Exposed]]>><<endevent>><</link>> <<else>> <<getouticon>><<link [[Go outside|Eden Clearing]]>><<endevent>><</link>> <</if>> <br><br> <<link [[Gameplay Settings|Cabin Settings]]>><<endevent>><</link>> <br> <<attitudesControlCheck>> <<if $attitudesControl.showGoldLink is true>> <span class="goldLink"><<link [[Attitudes]]>><<endevent>><<set $attitudesExitPassage to $passage>><</link>> </span><span class="red">!!</span> <<else>> <<link [[Attitudes]]>><<endevent>><<set $attitudesExitPassage to $passage>><</link>> <</if>> <br> <</widget>> <<widget "edenlust">> <<if $exposed gte 1>> <span class="lewd">Eden keeps stealing glances at you.</span><<glust>> <<npcincr Eden lust 1>> <br><br> <</if>> <</widget>> <<widget "clearingactions">> <<edenicon>><<link [[Enter the cabin|Eden Cabin]]>><<endevent>><</link>> <br><br> <<furnitureicon "chair">><<link [[Relax under the porch (0:15)|Eden Porch]]>><<stress -2>><<pass 15>><</link>><<lstress>> <br><br> <<if $edengarden is 0>> <span class="purple">Eden's crops are strangled by weeds.</span> <br> <<gardenicon "strangled">><<link [[Remove the weeds (3:00)|Clearing Weeding]]>><<tending 1>><<tiredness 12>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>><<gtending>> <br><br> <<elseif $edengarden is 1>> <span class="blue">Eden's crops are tangled with weeds.</span> <br> <<gardenicon "tangled">><<link [[Remove the weeds (3:00)|Clearing Weeding]]>><<tending 1>><<tiredness 12>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>><<gtending>> <br><br> <<elseif $edengarden is 2>> <span class="lblue">There are as many weeds growing in Eden's plot as there are vegetables.</span> <br> <<gardenicon "tangled">><<link [[Remove the weeds (3:00)|Clearing Weeding]]>><<tending 1>><<tiredness 12>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>><<gtending>> <br><br> <<elseif $edengarden is 3>> <span class="teal">Eden's crops are almost free of weeds, but more could be done.</span> <br> <<gardenicon "weeds">><<link [[Remove the weeds (3:00)|Clearing Weeding]]>><<tending 1>><<tiredness 12>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>><<gtending>> <br><br> <<elseif $edengarden is 4>> <span class="green">Eden's crops are free of weeds.</span> <br><br> <</if>> There are other bare plots of soil that Eden isn't using. <br> <<gardenicon "plot">><<link [[Examine|Eden Plots]]>><</link>> <br><br> <<if $edenshrooms is 0>> <span class="purple">Eden's mushroom barrel is almost empty.</span> <br> <<tendingicon "mushroom">><<link [[Look for mushrooms (1:00)|Clearing Mushrooms]]>><<pass 1 hour>><<npcincr Eden love 1>><</link>><<glove>> <br><br> <<elseif $edenshrooms is 1>> <span class="blue">Eden's mushroom barrel is almost empty.</span> <br> <<tendingicon "mushroom">><<link [[Look for mushrooms (1:00)|Clearing Mushrooms]]>><<pass 1 hour>><<npcincr Eden love 1>><</link>><<glove>> <br><br> <<elseif $edenshrooms is 2>> <span class="lblue">Eden's mushroom barrel is half full.</span> <br> <<tendingicon "mushroom">><<link [[Look for mushrooms (1:00)|Clearing Mushrooms]]>><<pass 1 hour>><<npcincr Eden love 1>><</link>><<glove>> <br><br> <<elseif $edenshrooms is 3>> <span class="teal">Eden's mushroom barrel is almost full.</span> <br> <<tendingicon "mushroom">><<link [[Look for mushrooms (1:00)|Clearing Mushrooms]]>><<pass 1 hour>><<npcincr Eden love 1>><</link>><<glove>> <br><br> <<elseif $edenshrooms is 4>> <span class="green">Eden's mushroom barrel is brimming with fungi.</span> <br><br> <</if>> <<if $edenspring is 0>> <span class="purple">The spring is full of broken branches and twigs.</span> <br> <<lakeicon "pond twigs">><<link [[Clear the debris (0:30)|Clearing Debris]]>><<tiredness 6>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>> <br><br> <<elseif $edenspring is 1>> <span class="blue">The bottom of the spring is littered with branches.</span> <br> <<lakeicon "pond twigs">><<link [[Clear the debris (0:30)|Clearing Debris]]>><<tiredness 6>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>> <br><br> <<elseif $edenspring is 2>> <span class="lblue">You can see the bottom of the spring through the twigs and branches floating on its surface.</span> <br> <<lakeicon "pond twigs">><<link [[Clear the debris (0:30)|Clearing Debris]]>><<tiredness 6>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>> <br><br> <<elseif $edenspring is 3>> <span class="teal">Twigs float on the surface of the spring.</span> <br> <<lakeicon "pond twigs">><<link [[Clear the debris (0:30)|Clearing Debris]]>><<tiredness 6>><<npcincr Eden love 1>><</link>><<gtiredness>><<glove>> <br><br> <<elseif $edenspring is 4>> <<if Weather.waterTemperature gt 15>> <span class="green">The spring is clean and clear.</span> <<else>> <span class="purple">The spring is clean and clear, but the water is cold.</span> <</if>> <br> <<if Weather.waterTemperature lte 5>> <<set _edenSpringStress to 6>> <<elseif Weather.waterTemperature lte 15>> <<set _edenSpringStress to 4>> <<elseif Weather.waterTemperature lte 35>> <<set _edenSpringStress to -6>> <<else>> <<set _edenSpringStress to -8>> <</if>> <<if !$edenspringintro and ((Time.hour gte 9 and Time.hour lte 10) or (Time.hour is 15) or (Time.hour is 16)) and Weather.waterTemperature gt 15 and Weather.waterTemperature lte 25>> <<lakeicon "pond">><<link [[Relax in the spring (0:30)|Eden Spring Intro]]>><<stress _edenSpringStress>><</link>> <<else>> <<lakeicon "pond">><<link [[Relax in the spring (0:30)|Clearing Spring]]>><<unset $edenpush>><<endevent>><<pass 30>><<stress _edenSpringStress>><</link>> <</if>> <<if Weather.waterTemperature lte 5>> <<ggstress>> <<elseif Weather.waterTemperature lte 15>> <<gstress>> <<elseif Weather.waterTemperature lte 35>> <<lstress>> <<else>> <<llstress>> <</if>> <br> <<if $daily.eden.wash is undefined>> <<lakeicon "pond">><<link [["Wash Eden's clothes in the spring (0:30)"|Wash Spring]]>><<pass 30>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<set $daily.eden.wash to 1>><</link>><<glove>><<gdom>> <br> <</if>> <br> <</if>> <<if $edenHotSpring>> <<lakeicon "firepit">><<link [[Examine the heater|Clearing Heater]]>><</link>> <br><br> <</if>> <<if $edenfreedom gte 1>> <<foresticon>><<link [[Enter the forest (0:10)|Forest]]>><<endevent>><<pass 10>><<set $forest to 60>><<if $edenFluidsCheck is "clean">><<set $edenFluidsCheck to "cleanLeave">><</if>><</link>> <br> <<else>> <<foresticon>><<link [[Escape|Eden Cabin Escape]]>><<set $forest to 80>><</link>> <br> <</if>> <br> <</widget>> <<widget "clearingHeaterExamine">> <<set _edenHeaterBurnTime to Cooker.getBurnTime($edenHeater)>> You examine the thermosiphon heater. Spring heating time remaining: <<print getTimeString(_edenHeaterBurnTime / 60)>> <br><br> <<set _maxTime to Math.floor($edenHeater.maxBurnTime)>> <<lakeicon "firepit">>The spring can remain heated for up to <<print Math.floor(_maxTime / (60 * 60))>> hours. <br> <<lakeicon "pond">> <<set _burnTimeRatio to Cooker.getBurnTime($edenHeater) / $edenHeater.maxBurnTime>> <<set _startingBurnTimeRatio = Math.max(($edenHeaterStartingLastsUntil ?? $edenHeater.lastsUntil) - $timeStamp, 0) / $edenHeater.maxBurnTime>> <<if _edenHeaterBurnTime gt 0>> <<if _startingBurnTimeRatio gte 0.8>> The spring will take some time to heat up. <<elseif _burnTimeRatio lte 0.2>> The spring is beginning to cool down. <</if>> <</if>> Currently, the spring is <<if Weather.waterTemperature lte 5>> freezing cold. <<elseif Weather.waterTemperature lte 15>> cold. <<elseif Weather.waterTemperature lte 25>> cool. <<elseif Weather.waterTemperature lte 35>> warm. <<else>> nice and hot. <</if>> <br><br> <<set _maxTimeAllowed to Math.clamp(_maxTime - _edenHeaterBurnTime, 0, _maxTime)>> <<set _timeLteMax to _fireWoodTime lte _maxTimeAllowed>> <<if $edenspring is 4>> <<birdicon "wood">> <<if _edenHeaterBurnTime is 0>> <<link "Light the heater with firewood">> <<run Cooker.addBurnTime($edenHeater, _maxTimeAllowed)>> <<set $edenHeaterStartingLastsUntil to $edenHeater.lastsUntil>> <<replace #clearingHeaterExamine>> <<clearingHeaterExamine>> <</replace>> <</link>> <<elseif _maxTimeAllowed gt 0>> <<link "Add more firewood to the heater">> <<run Cooker.addBurnTime($edenHeater, _maxTimeAllowed)>> <<replace #clearingHeaterExamine>> <<clearingHeaterExamine>> <</replace>> <</link>> <<else>> The fire's already strong enough. <</if>> <<else>> <<if _edenHeaterBurnTime is 0>> You should clear the spring before lighting the heater. <<else>> You should clear the spring before adding more wood to the heater. <</if>> <</if>> <</widget>> <<widget "clearingedenactions">> Eden glances at you. <br><br> <<if !$edenfurniture>> <<edenicon "rug">><<link [[Ask Eden if you can buy a rug and pillows|Eden Pillows]]>><</link>> <br> <<elseif $edenfurniture is 1 and $edenpillow is 2>> <<edenicon "curtains">><<link [[Ask if you can get curtains and a coat stand|Eden Curtains]]>><</link>> <br> <<elseif $edenfurniture gte 2 and !$edencoat and $edencurtains is 2>> <<edenicon "coat stand">><<link [[Ask to make the coat stand (3:00)|Eden Coat Stand]]>><<set $edencoat to 1>><<pass 3 hours>><</link>> <br> <<elseif $edenfurniture is 2 and $edencurtains is 2 and $edencoat>> <<couchicon>><<link [[Ask for a loveseat|Eden Loveseat]]>><</link>> <br> <<elseif $edenfurniture is 3 and $edenloveseat lt 7>> <<couchicon>><<link [[Work on the loveseat (3:00)|Eden Loveseat Work]]>><<pass 3 hours>><</link>> <br> <</if>> <<if $worn.neck.collared isnot 1 and C.npc.Eden.dom gte 100>> <<symbol "dominance">><<link [[Ask Eden for a collar|Eden Collar]]>><<npcincr Eden love 5>><<npcincr Eden lust 5>><<npcincr Eden dom 5>><</link>><<gglove>><<gglust>><<ggdom>> <br> <</if>> <<if $edenspringintro is 1 and $daily.eden.springJoin isnot 1 and $edenspring is 4>> <<lakeicon "pond">><<link [[Ask Eden to join you in the spring|Eden Spring]]>><<set $daily.eden.springJoin to 1>><<stress -6>><<npcincr Eden love 1>><</link>><<lstress>><<glove>> <br> <</if>> <<if $daily.eden.walk isnot 1>> <<lakeicon>><<link [[Ask Eden to accompany you to the lake|Eden Lake]]>><</link>> <br> <</if>> <<if !$daily.eden.search or $daily.eden.search lt C.npc.Eden.love / 40>> <<foresticon>><<link [[Ask Eden to help search the forest (0:30)|Eden Search]]>><<set $daily.eden.search to ($daily.eden.search || 0) + 1>><</link>> <br> <</if>> <br> <<if Time.monthDay is 31 and $halloween_eden is 1 and $halloween_eden_bought is 1 and !$halloween_eden_candy_given>> <<foodicon "sweets">><<link [[Give Eden the hamper|Eden Halloween]]>><<npcincr Eden love 5>><<npcincr Eden dom 1>><<set $halloween_eden_candy_given to 1>><</link>> <br> <</if>> <<if Time.monthDay is 25 and $christmas_gift_eden is 1 and $christmas_gift_eden_given isnot 1>> <<gifticon "christmas">><<link [[Give Eden the hunting jacket|Eden Jacket]]>><<npcincr Eden love 5>><<npcincr Eden dom 1>><<set $christmas_gift_eden_given to 1>><<set $edencoatjacket to 1>><</link>> <br><br> <</if>> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound" or $worn.feet.name is "ankle cuffs">> <<undobindingsicon>><<link [[Ask Eden to undo your bindings (0:01)|Eden Bindings]]>><<pass 1>><<unbind>><</link>> <br><br> <</if>> <<if $edenfreedom is undefined>> <<socialiseicon "ask">><<link [[Ask for freedom to return to town|Eden Freedom]]>><</link>> <br> <</if>> <<if $edenfreedom is 1>> <<socialiseicon "ask">><<link [[Ask for freedom to remain in town|Eden Freedom 3]]>><</link>> <br> <</if>> <<if $edenshopping is 1>> <<edenicon "supplies">><<link [[Give Eden the supplies|Eden Supplied]]>><</link>> <br> <</if>> <<if $edenradiointro is 1>> <<ind>><<link [[Give Eden the radio|Eden Radio Intro]]>><</link>> <br> <</if>> <<getouticon>><<link [[Go back|Eden Clearing]]>><<endevent>><</link>> <br><br> <</widget>> <<widget "edenpreystart">> <<if $weekly.edenPrey or random(1, 3) gte 2>> /* do nothing */ <<else>> /* Checks to see if the player has one of the main virginities intact, and if Eden can take it */ <<if ($player.penisExist and $player.virginity.penile is true and ($NPCList[0].vagina isnot "none" or $analdisable is "f")) or ($player.vaginaExist and $player.virginity.vaginal is true and $NPCList[0].penis isnot "none")>> <<set _virginityPresent to true>> <</if>> /* Lowers amount of love and lust required if player is not a virgin or hasnt seen the event before */ <<if $edenPrey gte 1 and _virginityPresent>> <<set _edenPreyPhase to 3>> <<elseif $edenPrey gte 1>> <<set _edenPreyPhase to 2>> <<elseif _virginityPresent>> <<set _edenPreyPhase to 1>> <<else>> <<set _edenPreyPhase to 0>> <</if>> <<switch _edenPreyPhase>> <<case 0>> /* no virginity, first time */ <<if C.npc.Eden.love gte 85 and C.npc.Eden.lust gte 50>> <<set _edenPreyEvent to true>> <</if>> <<case 1>> /* virginity intact, first time */ <<if C.npc.Eden.love gte 75 and C.npc.Eden.lust gte 40>> <<set _edenPreyEvent to true>> <</if>> <<case 2>> /* non-virgin, repeat event */ <<if C.npc.Eden.love gte 125 and C.npc.Eden.lust gte 70>> <<set _edenPreyEvent to true>> <</if>> <<case 3>> /* virgin, repeat event */ <<if C.npc.Eden.love gte 100 and C.npc.Eden.lust gte 60>> <<set _edenPreyEvent to true>> <</if>> <</switch>> <<if _edenPreyEvent>> <<set $weekly.edenPrey to true>> <</if>> <</if>> <</widget>> <<widget "edenCagedSave">> <<npc Eden>><<person1>> Before you have a chance to recollect, you feel a hand on your shoulder. You're spun around, and come face-to-face with Eden, <<his>> eyes full of rage. <br><br> "You've got some nerve," <<he>> growls. "Abandoning me, acting like a fucking brat, then expecting me to save your helpless ass." <br><br> <<He>> grabs your wrist tight and begins marching you into the woods. "Come on. You're overdue for your punishment." <br><br> <<link [[Resist|Forest Eden Rage]]>><<set $phase to 0>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Forest Eden Rage]]>><<set $phase to 1>><<pass 30>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <</widget>> <<widget "edenCagedCoopSave">> <<npc Eden>><<person1>> <<if $forest_shop_intro isnot 1 and $gwylan_rescue isnot 1>> A mousy <<nnpc_gendery "Gwylan">> <<else>> Gwylan <</if>> bursts from the treeline and rushes to your side. "Hey! You alright-" <br><br> <<if $gwylan_eden_coop gte 4>> <<nnpc_Hes "Gwylan">> cut off as someone grabs <<nnpc_him "Gwylan">> by the arm and pulls <<nnpc_him "Gwylan">> aside. <span class="red">It's Eden.</span> <<He>> doesn't look happy to see you. <br> "You've got some nerve," Eden growls. "Abandoning me, acting like a fucking brat, then expecting me to save your helpless ass." <br><br> Gwylan swallows nervously and rests a hand on Eden's shoulder. "H-hey, take it easy. Let's just-" <br><br> Eden turns and punches Gwylan square in the jaw. <<nnpc_He "Gwylan">> cries out in pain, staggering backwards into the dirt.<<trauma 12>><<ggtrauma>> <br> "Don't touch me," Eden spits. "I don't need your help. And neither does <<pshe>>." <<He>> turns to you with a glare. "All <<pshe>> needs is to learn <<pher>> place." <br><br> <<He>> grabs you by the wrist and begins dragging you into the woods, leaving Gwylan behind. <<elseif $gwylan_eden_coop gte 1>> <<nnpc_Hes "Gwylan">> cut off by Eden shoving <<nnpc_him "Gwylan">> aside, eyes full of rage. Gwylan yelps as <<nnpc_he "Gwylan">> falls to the dirt. <br> "You've got some nerve," Eden growls. "Abandoning me, acting like a fucking brat, then expecting me to save your helpless ass." <br><br> Gwylan watches, mouth agape. Eden glares at <<nnpc_him "Gwylan">>. "Go. This is between me and <<phim>>." <br> Gwylan glances between the two of you, <<nnpc_his "Gwylan">> expression a mix of worry and fear, before scrambling to <<nnpc_his "Gwylan">> feet and scurrying away.<<trauma 6>><<gtrauma>> <br><br> Eden turns to you. "I told you I'd find you again," <<he>> spits. "And no one's getting in my way." <<He>> begins dragging you into the woods. <<else>> <<nnpc_He "Gwylan">> cuts off as a hand grabs <<nnpc_him "Gwylan">> by the arm and hurls <<nnpc_him "Gwylan">> into a nearby shrub. <br><br> <span class="red">It's Eden.</span> "I told you I'd find you again," <<he>> growls. "And no one's getting in my way." <br><br> <<He>> begins dragging you into the woods, leaving the dazed <<if $forest_shop_intro isnot 1 and $gwylan_rescue isnot 1>> <<nnpc_gendery "Gwylan">> <<else>> shopkeeper <</if>> groaning behind you. <</if>> <<set $gwylan_aborted to 1>> <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><<def 1>><</link>> <br> <<link [[Try to pull away|Eden Caged Caught Pull]]>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 1>><<pass 30>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <</widget>> <<widget "edenFluidsCheck">> <<if $edenFluidsCheck is undefined>> <<set $edenFluidsCheck to "Eden">> <<elseif $edenFluidsCheck is "clean" and ($goocount + $semencount gt 0)>> <<set $edenFluidsCheck to "Eden">> <<elseif $edenFluidsCheck is "cleanLeave">> <<set $edenFluidsCheck to "clean">> <</if>> <</widget>><<location "catacombs">><<set $bus to "catacombs">><<set $outside to 0>><<effects>> You are in the catacombs beneath the forest. A staircase leads upwards, to the churchyard. A statue of a six-armed angel smiles down at you, cradling a lit brazier in its lowest hands. <br><br> <<if $museumAntiques.antiques.antiqueivorystatuette isnot "found" and $museumAntiques.antiques.antiqueivorystatuette isnot "talk" and $museumAntiques.antiques.antiqueivorystatuette isnot "museum">> A small statuette sits on the statue's shoulder. You could reach it. <br><br> <</if>> <<if $worn.face.type.includes("blindfold")>> A warm breeze brushes against your face, <span class="green">and your blindfold falls free,</span> leaving only a tattered strip of cloth. It's hard to imagine it was sturdy just a moment ago. <<set $worn.face.type.push("broken")>> <<faceruined>> <br><br> <</if>> <<if $worn.upper.name is "cocoon" or $worn.lower.name is "cocoon bottom">> The statue's eyes flicker. The web covering you slacks, loosens, <span class="green">and falls apart.</span> <br><br> <<if $worn.upper.name is "cocoon">> <<upperruined>><<handheldruined>> <</if>> <<if $worn.lower.name is "cocoon bottom">> <<lowerruined>> <</if>> <</if>> <<catacombs_torch_text>><<wearProp "torch">><br><br> <i>Avoiding traps and other nastiness will become more difficult as your torch dies.</i> <br><br> <<set $eventskip to 1>> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs normal>> <<else>> <<if $museumAntiques.antiques.antiqueivorystatuette isnot "found" and $museumAntiques.antiques.antiqueivorystatuette isnot "talk" and $museumAntiques.antiques.antiqueivorystatuette isnot "museum">> <<antiqueicon "ivory_statuette">><<link [[Take statuette|Catacombs Statuette]]>><</link>><<crime "thievery">> <br> <</if>> <<if $leftarm is "bound" or $rightarm is "bound">> <<undobindingsicon>><<link [[Burn through your bindings|Catacombs Unbind]]>><<pain 1>><</link>><<gpain>> <br> <</if>> <<if $catacombs_torch lt 100>> <<caveicon "torch">><<link [[Light torch|Catacombs Light]]>><</link>><<gtorch>> <br> <</if>> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs Sarcophagi]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs Prison]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br><br> <<getouticon>><<link [[Exit|Churchyard]]>><<catacombs_end>><</link>> <br> <</if>> <<set $eventskip to 0>><<effects>> You turn your back to the statue, and hold your bindings over the flame. The heat builds, and you feel a sting. You're about to pull away when the bindings burn loose. You tear yourself free. <<unbind>> <br><br> <<link [[Next|Catacombs]]>><<set $eventskip to 1>><</link>> <br><<effects>> <<catacombs_torch 100>> You hold your torch over the brazier. It blazes into new life. For a moment the statue's eyes burn with reflected fire. <br><br> <<link [[Next|Catacombs]]>><<set $eventskip to 1>><</link>> <br><<effects>><<wearProp "ivory statuette">> You climb the six-armed statue, standing on its arms and using the wings for support. It proves sturdy, and you come face-to-face with the statuette. It's a miniature version of the larger angel, except the arms and head are raised in supplication, and the smile beams. <br><br> You take the smaller angel from the larger angel's hand, and climb back down. It belongs in a museum. <br><br> <<set $antiquemoney += 500>><<museumAntiqueStatus "antiqueivorystatuette" "found">><<crimeUp 500 "thievery">> <<link [[Next|Catacombs]]>><<set $eventskip to 1>><<handheldon>><</link>> <br><<effects>><<set $bus to "sarcophagi">> You are in the catacombs beneath the forest. Sarcophagi jut from the walls at violent angles, as if shunted from their proper positions by a tremendous force. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs normal>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Normal Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs Chasm]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>><<set $bus to "prison">> You are in the catacombs beneath the forest. The walls and floor are riddled with holes, themselves barred with iron. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs normal>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Normal Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs Ridge]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <</if>> <<set $eventskip to 0>><<effects>><<set $bus to "chasm">> You are in the catacombs beneath the forest. One wall has been torn away, as if by the movement of some great beast, revealing a black, yawning chasm. Great stalactites hang from the ceiling. <<if $spiderdisable is "f">> <span class="blue">You see movement in the dark between them.</span> There's something up there. Watching. <<else>> <span class="blue">You see a faint glimmering between them.</span> There's something up there. <</if>> <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs normal>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Normal Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<if $tending gte 500>> <<mysteryicon>><<link [[Coax|Catacombs Chasm Coax]]>><</link>><<note "Tending" "green">> <br> <<else>> <span class="blue">You lack the tending skill to coax out whatever's up there.</span> <br> <</if>> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs Sarcophagi]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>> You coo up at the stalactites, your voice soft. Only a faint echo answers at first, <<beastNEWinit 1 spider>> <<if $spiderdisable is "t">> but then an orb of light descends. It hovers for a moment in front of you, before floating along the edge of the chasm. <br><br> It arrives at the wall, illuminating a thin passage, and hovers there a moment, as if beckoning. Then it floats inside. It looks like a hidden passage around the chasm. <<elseif $monster is 1>> but then a head pokes into view, followed by eight limbs. It's a <<beasttype>>, but there's no menace in <<bhis>> demeanor. <<bHe>> crawls down the stalactite, dropping the rest of the way on a silken thread, and lands in front of you. <br><br> "Dangerous place for you," <<bhe>> says. "I can carry you across the chasm if you like. I'm stronger than I look. Much stronger." <<else>> but then eight legs crawl into view. It's a giant <<beasttype>>, but there's no menace in <<bhis>> demeanor. <<bHe>> crawls down a stalactite, dropping the rest of the way on a silken thread, and lands in front of you. <br><br> <<bHe>> turns and steps towards the chasm, lowering <<bhis>> abdomen. <<bHe>> wants to carry you over. <</if>> <br><br> <<link [[Travel across the chasm (0:10)|Catacombs Chasm Coax 2]]>><<pass 10>><</link>> <br> <<link [[Stay|Catacombs Chasm]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $spiderdisable is "t">> You follow the light. It leads you through a maze of tight corridors in the stone, until you emerge in another part of the catacombs, on the other side of the chasm. Strange holes are bored in the walls and floor. The passage behind you has vanished in the dark. <br><br> With a playful sparkle, the light shoots towards the ceiling, and takes cover in a borehole. <<elseif $monster is 1>> The <<beasttype>> rushes in circles around you. Before you can react, <<bhes>> wrapped several strands of thread around your waist. <<bHe>> climbs the thread <<bhe>> descended on, pulling you off your feet and into the air. "Best way to carry you," <<bhe>> says with an apologetic smile. <br><br> <<bHe>> crawls right up to the ceiling, and dashes over the chasm. You dangle beneath <<bhim>>, aware of the abyss beneath, until you reach the other side. <<bHe>> lowers you, gently, then descends <<bhimself>> and tears off the strands around your waist. <br><br> "See?" <<bHe>> grins. "Strong!" With a leap, <<bhe>> climbs the wall and vanishes into the dark once more. You're in another part of the catacombs. Strange boreholes fill the walls and floor. <<else>> You climb onto the <<beasttype>>'s abdomen, and wrap your arms around <<bhis>> pedicel as <<bhe>> lurches into motion. <<bHe>> skitters up the strand of silk, and onto a horizontal web you could not see from below. <<bHe>> runs across a near-invisible network hung across the chasm. You cling tight, aware of the abyss beneath you. <br><br> <<bHe>> reaches the other side, and skitters down another strand. You climb down, and at once the spider launches itself onto the hanging strand, and vanishes into the dark. You're in another part of the catacombs. Strange boreholes fill the walls and floor. <</if>> <br><br> <<link [[Next|Catacombs Bores]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>><<set $bus to "ridge">> You are in the catacombs beneath the forest. One wall has been torn away, as if by the movement of some great beast, revealing a dark chasm. The drop is steep, but not sheer. You could clamber down if you were careful. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs normal>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Normal Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "south">><<link [[Climb down (0:01)|Catacombs Mud Climb]]>><<pass 1>><</link>> <br> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs Prison]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>> Foot by foot, you lower yourself into the chasm, testing each step before committing. The shattered masonry and natural stone proves sturdy, and reaching the bottom isn't difficult. <br><br> Darkness surrounds you. You hear the rush of water, some distance away. <br><br> <<link [[Next|Catacombs Mud]]>><</link>> <br><<effects>><<set $bus to "mud">> You are in the catacombs beneath the forest. Great furrows have been carved through the stone, leading to an expanse of mud that stretches into the dark. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs barrow>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Barrow Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs Masonry]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "north">><<link [[Climb up (0:01)|Catacombs Ridge Climb]]>><<pass 1>><</link>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>> You traverse the slope, more crawling than climbing, feeling for solid rock that will bear your weight as you go. You reach the top, and the catacombs proper. <br><br> <<link [[Next|Catacombs Ridge]]>><</link>> <br><<effects>><<set $bus to "masonry">> You are in the catacombs beneath the forest. Great furrows have been carved through the stone, many blocked by huge chunks of fallen masonry. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs barrow>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Barrow Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs Barrow]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs Mud]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>><<set $bus to "barrow">> You are in the catacombs beneath the forest. Great furrows have been carved through the stone. A great mound towers over them. <br><br> <<if $museumAntiques.antiques.antiquesilvercrown isnot "found" and $museumAntiques.antiques.antiquesilvercrown isnot "talk" and $museumAntiques.antiques.antiquesilvercrown isnot "museum">> There's a small tunnel, leading into the mound. <br><br> <</if>> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs barrow>> <<else>> <<if $museumAntiques.antiques.antiquesilvercrown isnot "found" and $museumAntiques.antiques.antiquesilvercrown isnot "talk" and $museumAntiques.antiques.antiquesilvercrown isnot "museum">> <<link [[Enter the mound|Catacombs Crown]]>><</link>> <br> <</if>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Barrow Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs Stream]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs Masonry]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>> You enter the tunnel. The ceiling is so low you need to crouch, but you soon emerge in a round room. A cairn sits in the middle, on a raised patch of ground. A stone slab rises from the earth in front, and on top of it rests a silver crown. <br><br> <<antiqueicon "silver_crown">><<link [[Take|Catacombs Crown 2]]>><</link>><<crime "thievery">> <br> <<getouticon>><<link [[Leave|Catacombs Barrow]]>><<set $eventskip to 1>><</link>> <br><<effects>><<wearProp "silver crown">> You take the crown. The earth tremors, almost knocking you off your feet. Clumps of dirt fall from the ceiling. You rush for the tunnel, and manage to escape before being buried in the avalanche. <br><br> You examine the crown. There are sockets on the front that were once filled, and the metal is corroded by time, but it's otherwise intact. It belongs in a museum. <br><br> <<set $antiquemoney += 1200>><<museumAntiqueStatus "antiquesilvercrown" "found">><<crimeUp 1200 "thievery">> <<link [[Next|Catacombs Barrow]]>><<handheldon>><<set $eventskip to 1>><</link>> <br><<effects>><<set $bus to "stream">> You are in the catacombs beneath the forest. Streams run along great furrows in the stone. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs barrow>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Barrow Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "east">><<link [[Walk east (0:10)|Catacombs Stalagmites]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs Barrow]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>><<set $bus to "stalagmites">> You are in the catacombs beneath the forest. A sea of rocky teeth blocks passage east, but a steep slope rises to the north. You might be able to clamber up. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs barrow>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Barrow Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "north">><<link [[Climb up (0:01)|Catacombs Bores Climb]]>><<pass 1>><</link>> <br> <<caveicon "west">><<link [[Walk west (0:10)|Catacombs Stream]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>> You climb the stone slope. Strange boreholes provide good places to grasp, particularly near the top. <br><br> You emerge in the ruins of an ornate hall. Shattered stoneware and crockery litter the ground, crunching underfoot. <br><br> <<link [[Next|Catacombs Bores]]>><</link>> <br><<effects>><<set $bus to "bores">> You are in the catacombs beneath the forest. Pipes and cables crisscross overhead, running through strange boreholes. <<if $spiderdisable is "f">> <span class="blue">You see movement in the dark between them.</span> There's something up there. Watching. <<else>> <span class="blue">You see a faint glimmering between them.</span> There's something up there. <</if>> <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs compound>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Compound Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<if $tending gte 500>> <<mysteryicon>><<link [[Coax|Catacombs Bores Coax]]>><</link>><<note "Tending" "green">> <br> <<else>> <span class="blue">You lack the tending skill to coax out whatever's up there.</span> <br> <</if>> <<caveicon "north">><<link [[Walk north (0:10)|Catacombs Engravings]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "south">><<link [[Climb down (0:01)|Catacombs Stalagmites Climb]]>><<pass 1>><</link>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>> You coo up at the holes, your voice soft. Only a faint echo answers at first, <<beastNEWinit 1 spider>> <<if $spiderdisable is "f">> but then an orb of light emerges from the hole. It hovers for a moment in front of you, before floating along the edge of the chasm. <br><br> It arrives at the wall, illuminating a thin passage, and hovers there a moment, as if beckoning. Then it floats inside. It looks like a hidden passage around the chasm. <<elseif $monster is 1>> but then a head pokes into view, followed by eight limbs. It's a <<beasttype>>, but there's no menace in <<bhis>> demeanor. <<bHe>> crawls from the hole and down the wall, aided by a silken thread, and lands in front of you. <br><br> "Not friends with other humans," <<bhe>> asks. "I can carry you across the chasm if you like. Nearer exit. I'm stronger than I look. Much stronger." <<else>> but then eight legs crawl into view. It's a giant <<beasttype>>, but there's no menace in <<bhis>> demeanor. <<bHe>> crawls from the hole and down the wall, aided by a silken thread, and lands in front of you. <br><br> <<bHe>> turns and steps towards the chasm, lowering <<bhis>> abdomen. <<bHe>> wants to carry you over. <</if>> <br><br> <<link [[Travel across the chasm (0:10)|Catacombs Bores Coax 2]]>><<pass 10>><</link>> <br> <<link [[Stay|Catacombs Bores]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $spiderdisable is "f">> You follow the light. It leads you through a maze of tight corridors in the stone, until you emerge in another part of the catacombs, on the other side of the chasm. Stalactites hang from the dark. The passage behind you has vanished in the shadows. <br><br> With a playful sparkle, the light shoots towards the ceiling, and takes cover among the stalactites. <<elseif $monster is 1>> The <<beasttype>> rushes in circles around you. Before you can react, <<bhes>> wrapped several strands of thread around your waist. <<bHe>> climbs the thread <<bhe>> descended on, pulling you off your feet and into the air. "Best way to carry you," <<bhe>> says with an apologetic smile. <br><br> <<bHe>> crawls right up to the ceiling, and dashes over the chasm. You dangle beneath <<bhim>>, aware of the abyss beneath, until you reach the other side. <<bHe>> lowers you, gently, then descends <<bhimself>> and tears off the strands around your waist. <br><br> "See?" <<bHe>> grins. "Strong!" With a leap, <<bhe>> climbs the wall and vanishes into the dark once more. You're in another part of the catacombs. Stalactites hang from the dark. <<else>> You climb onto the <<beasttype>>'s abdomen, and wrap your arms around <<bhis>> pedicel as <<bhe>> lurches into motion. <<bHe>> skitters up the strand of silk, and onto a horizontal web you could not see from below. <<bHe>> runs across a near-invisible network hung across the chasm. You cling tight, aware of the abyss beneath you. <br><br> <<bHe>> reaches the other side, and skitters down another strand. You climb down, and at once the spider launches itself onto the hanging strand, and vanishes into the dark. You're in another part of the catacombs. Stalactites hang from the dark. <</if>> <br><br> <<link [[Next|Catacombs Chasm]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> You lower yourself into the chasm. Boreholes provide good places to grasp, and reaching the bottom isn't difficult. <br><br> Darkness surrounds you. Water rushes by your feet. <br><br> <<link [[Next|Catacombs Stalagmites]]>><</link>> <br><<effects>><<set $bus to "engravings">> You are in the catacombs beneath the forest. Pipes and cables crisscross overhead. The walls are decorated with skeletal engravings. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs compound>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Compound Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "north">><<link [[Walk north (0:10)|Catacombs Museum]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "south">><<link [[Walk south (0:10)|Catacombs Bores]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>><<set $bus to "museum">> You are in the catacombs beneath the forest. Pipes and cables crisscross overhead. Shattered glass litters the ground. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs compound>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Compound Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "north">><<link [[Walk north (0:10)|Catacombs Statues]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "south">><<link [[Walk south (0:10)|Catacombs Engravings]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>><<set $bus to "statues">> You are in the catacombs beneath the forest. Pipes and cables crisscross overhead. Time-worn statues guard ruined portals. <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs compound>> <<else>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Compound Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "north">><<link [[Walk north (0:10)|Catacombs Compound]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <<caveicon "south">><<link [[Walk south (0:10)|Catacombs Museum]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>><<set $bus to "compound">> You are in the catacombs beneath the forest. Pipes and cables vibrate overhead, snaking around half-ruined pillars. <<if $museumAntiques.antiques.antiquewhitecrystal isnot "found" and $museumAntiques.antiques.antiquewhitecrystal isnot "talk" and $museumAntiques.antiques.antiquewhitecrystal isnot "museum">> They all run in the same direction, towards a humming machine. Suspended in its centre is a glowing white crystal. The dim light casts long shadows. <</if>> <br><br> <<catacombs_torch_text>><<wearProp "torch">><br><br> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<elseif $eventskip isnot 1>> <<events_catacombs compound>> <<else>> <<if $museumAntiques.antiques.antiquewhitecrystal isnot "found" and $museumAntiques.antiques.antiquewhitecrystal isnot "talk" and $museumAntiques.antiques.antiquewhitecrystal isnot "museum">> <<antiqueicon "crystal">><<link [[Approach the crystal|Catacombs Crystal]]>><</link>> <br> <</if>> <<if $leftarm isnot "bound" and $rightarm isnot "bound">> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <span class="green">There are riches entombed here.</span> <br> <<crimeicon "plunder">><<link [[Plunder (0:30)|Catacombs Compound Plunder]]>><<pass 30>><<catacombs_torch -5>><</link>><<crime "thievery">><<ltorch>> <br> <<else>> <span class="red">You lack the skill to sniff out the riches here.</span><<skulduggeryrequired>> <br><br> <</if>> <</if>> <<caveicon "south">><<link [[Walk south (0:10)|Catacombs Statues]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>><<catacombs_exit_indicator>> <br> <</if>> <<set $eventskip to 0>><<effects>> You approach the machine. You feel the ground vibrate as you draw closer, and see the metal prongs holding the crystal in place. Whatever it is, it's important, and might be worth a pretty penny. <br><br> <<antiqueicon "crystal">><<link [[Take it|Catacombs Crystal 2]]>><</link>><<gcrime "thievery">> <br> <<getouticon>><<link [[Step away|Catacombs Compound]]>><<set $eventskip to 1>><</link>> <br><<effects>><<wearProp "crystal">> <<earnFeat "Dark Delvings">> You remove the crystal. The prongs release it without resistance. You think you see an engraving, somehow carved into the interior. <br><br> Before you can examine further, <span class="red">an alarm blares.</span> You turn and run, past the pillars and down one of the passages snaking away. You hear footsteps behind, but soon lose them in the maze. <br><br> <<set $antiquemoney += 2000>><<museumAntiqueStatus "antiquewhitecrystal" "found">><<crimeUp 1000 "destruction">><<crimeUp 1000 "thievery">> <<link [[Next|Catacombs Compound]]>><<handheldon>><<set $eventskip to 1>><</link>> <br><<effects>> You push your arms through a gap, feeling around until you find something you can grasp, then pull yourself in. <br><br> <<if $physiquesize lte random(6000, 16000)>> It takes a bit of wriggling, <span class="green">but you manage to pull yourself clear,</span> clambering down the other side of the rubble. <<else>> <span class="red">The gap isn't as wide as you thought.</span> You make it through to the other side, <<if $worn.upper.name isnot "naked">> <<set $worn.upper.integrity -= 20>> <<set _clothes_torn to true>> <</if>> <<if $worn.lower.name isnot "naked">> <<set $worn.lower.integrity -= 20>> <<set _clothes_torn to true>> <</if>> <<if $worn.under_upper.name isnot "naked">> <<set $worn.under_upper.integrity -= 20>> <<set _clothes_torn to true>> <</if>> <<if $worn.under_lower.name isnot "naked">> <<set $worn.under_lower.integrity -= 20>> <<set _clothes_torn to true>> <</if>> <<if _clothes_torn is true>> but hear your clothing tear. <<integritycheck>> <<exposure>> <<else>> but suffer a few scrapes.<<gpain>><<pain 6>><<gstress>><<stress 6>> <</if>> <</if>> <br><br> <<destination_catacombs skip>><<effects>> You walk back the way you came, and try a branching path. The tunnel twists and turns, until you emerge on the other side of the pile of rubble. <br><br> <<destination_catacombs skip>><<effects>> <<if $physiqueSuccess>> <span class="green">You rip and tear the cobweb off your body.</span> A few strands stick to you, but they'll be no problem. <<else>> You try to rip the spiderweb off your body, but the more you struggle, <span class="red">the tighter it sticks,</span> until you can't move your arms at all. You won't be able to remove it here. At least your legs are free. <<bind>> <</if>> <br><br> <<destination_catacombs skip>><<effects>> You steady your breath. You won't be getting this web off here, but you're not in immediate danger. <br><br> <<bind>> <<destination_catacombs skip>><<effects>> You search the catacombs for plunder, looking in nooks and crannies, kicking open strongboxes and rummaging through dusty interiors. <<if $rng gte 81>> You have no luck, though you do find some old scraps of rag. <<if $worn.face.type.includes("blindfold")>> They'd be useful for fuelling a torch, <span class="pink">but you can't see anyway.</span> <<else>> You feed your torch.<<gtorch>><<catacombs_torch 10>> <</if>> <<elseif $rng gte 61>> You have no luck, until you come across a strongbox, its lock still intact. You make short work of the primitive design. Inside is a blade of tarnished silver. Whatever hilt or handle it was attached to has long since decayed away. It might be worth something. <<wearProp "silver blade">> <<set $antiquemoney += 60>><<museumAntiqueStatus "antiquesilverblade" "found">><<crimeUp 60 "thievery">> <<else>> <<wearProp "copper coin">> You find a copper coin, the metal corroded and any text long-faded. Still, it might be valuable to a collector. <<set $antiquemoney += 10>><<museumAntiqueStatus "antiquecoppercoin" "found">><<crimeUp 10 "thievery">> <</if>> <br><br> <<if $skulduggery lte 600>> <<skulduggeryskilluse>> <</if>> <<destination_catacombs>><<effects>> You search among the debris for anything of value, kneeling while rummaging through the detritus left by shattered coffers. <<if $rng gte 81>> You have no luck, though you do find some old scraps of rag. <<if $worn.face.type.includes("blindfold")>> They'd be useful for fuelling a torch, <span class="pink">but you can't see anyway.</span> <<else>> You feed your torch.<<gtorch>><<catacombs_torch 10>> <</if>> <<elseif $rng gte 61>> <<wearProp "silver goblet">> Your fingers find something cold, and hard. You tug it free from the earth. A goblet of corroded silver. Lines cover the surface, all that remains of an intricate engraving. It might be worth something to a collector. <<set $antiquemoney += 60>><<museumAntiqueStatus "antiquesilvergoblet" "found">><<crimeUp 60 "thievery">> <<else>> <<wearProp "fetish">> You feel a rubbery texture, and pull a strange fetish from the mud. Inhuman arms dangle from a decrepit frame. Still, it might be worth something to a collector. <<set $antiquemoney += 15>><<museumAntiqueStatus "antiquestrangefetish" "found">><<crimeUp 15 "thievery">> <</if>> <br><br> <<if $skulduggery lte 600>> <<skulduggeryskilluse>> <</if>> <<destination_catacombs>><<effects>> You crack open old coffers, and avoid the resulting clouds of dust. <<if $rng gte 81>> <<if $worn.face.type.includes("blindfold")>> They'd be useful for fuelling a torch, <span class="pink">but you can't see anyway.</span> <<else>> You have no luck however, though you do find some old scraps of rag. You feed your torch.<<gtorch>><<catacombs_torch 10>> <</if>> <<elseif $rng gte 61>> <<wearProp "gold coin">> Coffer after coffer yields nothing, until you see a glint of yellow metal. A gold coin, corroded by time, but still valuable no doubt. The face of a long-dead monarch stares at you. <<set $antiquemoney += 100>><<museumAntiqueStatus "antiquegoldcoin" "found">><<crimeUp 100 "thievery">> <<else>> <<wearProp "silver coin">> You find a silver coin, buried under ruined scrap. <<set $antiquemoney += 20>><<museumAntiqueStatus "antiquesilvercoin" "found">><<crimeUp 20 "thievery">> <</if>> <br><br> <<if $skulduggery lte 600>> <<skulduggeryskilluse>> <</if>> <<destination_catacombs>><<effects>> You scour the dark, your torch lighting the way, and find nothing sinister. It was all in your head, but your pulse hasn't slowed. <br><br> <<destination_catacombs skip>><<effects>> You ignore rising terror and keep walking, reminding yourself that you're imagining things. The sounds aren't real. <br><br> <<if $willpowerSuccess>> <span class="green">Your anxiety ebbs,</span> and you breathe a sigh of relief. <<else>> You hear a snap, right behind you, <span class="red">and find your legs carrying you at full flight.</span> You sense something, something monstrous, right behind you, matching your pace. <br><br> You trip in the dark, falling to the ground. Still driven by instinct, you curl up as much as you can. But nothing happens. Whatever was chasing you is gone.<<gpain>><<gtrauma>><<gstress>><<ltorch>><<pain 4>><<trauma 6>><<stress 6>><<catacombs_torch -5>> <</if>> <br><br> <<destination_catacombs skip>><<effects>> You close your eyes and bumble down the tunnel, until you collide with a wall and almost fall on your <<bottom>>. The sarcophagus is far behind you, at least. <br><br> <<destination_catacombs skip>><<effects>> You double back, and find a longer route that doesn't involve scary sarcophagi. <<if $catacombs_torch gte 1>> Your torch flickers. <<else>> The dark bears down on you. <</if>> <br><br> <<destination_catacombs skip>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "lurker">> <<struggle_creatures 3 2>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Catacombs Struggle End]]>><</link>></span> <<else>> <span id="next"><<link [[Next|Catacombs Struggle]]>><</link>></span> <</if>><<effects>> The creatures flee into dark recesses. <br><br> <<clotheson>> <<endcombat>> <<destination_catacombs skip>><<effects>> You turn back the way you came, and search for another passage through. You find one, eventually. The shadows press in. <br><br> <<destination_catacombs skip>><<effects>> You put a foot into the white slime. It's opaque, thick, clingy, and warmer than the surrounding air. The floor dips deep, and you descend lower until the surface reaches your waist. <br><br> You wade across the pool, and emerge on the other side. Sticky strands cling to you, and you leave a trail in your wake. <<waist_goo>> <br><br> <<destination_catacombs skip>><<effects>> <<if $athleticsSuccess>> You run into the dark, turning left, then right, then right again. <span class="green">You soon lose them in the dark tunnels.</span> <br><br> <<endevent>> <<destination_catacombs skip>> <<else>> You run into the dark, turning left, then right, then right again, <span class="red">right into the <<persons>> arms.</span> <br><br> "Thought you'd give us the slip?" <<he>> tuts. "Best be good now." <br><br> <<link [[Fight|Catacombs Caught Fight]]>><<set $fightstart to 1>><</link>> <br> <<link [[Hold still|Catacombs Caught Still]]>><</link>> <</if>><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Catacombs Caught Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Catacombs Caught Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The pair lie on the ground, exhausted by their orgasms. You seize the opportunity. <<tearful>> you flee into the dark. They won't be able to track you through this gloomy maze. <br><br> <<clotheson>> <<endcombat>> <<destination_catacombs skip>> <<elseif $enemyhealth lte 0>> The pair fall to the ground, nursing injuries. You seize the opportunity. <<tearful>> you flee into the dark. They won't be able to track you through this gloomy maze. <br><br> <<clotheson>> <<endcombat>> <<destination_catacombs skip>> <<else>> <<tearful>> you fall to the ground. You're too hurt to continue. <br><br> <<link [[Next|Catacombs Caught Still]]>><</link>> <</if>><<effects>> <<if $worn.face.type.includes("blindfold")>> "Running around with this blindfold on," the <<person2>><<person>> mutters. "Not the sharpest tool, are ya?" <br><br> "We could turn <<phim>> in to-" <br><br> "Nah. Can you imagine the paperwork-" <br><br> That's the last thing you hear. You feel a rag smother your face, and everything fades to black. <br><br> <<endevent>> <<passoutcatacombs>> <br> <<else>> "Hold <<phim>> still," the <<person>> says, pulling a length of fabric from a pocket. <<He>> ties it around your head, blocking your vision. <br><br> "Won't be much threat now," the <<person1>><<person>> laughs. "Will ya?" A pair of arms spins you in several circles, then shoves you forward. You almost stumble in your dizziness. <br><br> Their laughter follows as you walk in a random direction. <br><br> <<facewear 5>> <<clotheson>><<endcombat>> <<destination_catacombs skip>> <</if>><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<molested>> <<controlloss>> <<tentaclestart 5 12 "tendril" "metal">> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Catacombs Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Catacombs Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> The metal tendrils fall inert, and the red light flickers off. <br><br> <<tearful>> you continue through the maze. <br><br> <<clotheson>> <<endcombat>> <<destination_catacombs skip>><<effects>> <<beastNEWinit 1 spider>> <<if $spiderdisable is "f">> You awaken upside down, suspended from the ceiling by a thick string of silk. You squirm and struggle. <<if $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> "Well well," croons a voice from the dark. <span class="red">A <<beasttype>> scuttles into view, examining your body with thirsty eyes.</span> <br><br> "I don't get many visitors," <<bhe>> says. <<bHe>> follows with a chittering laugh. "I get so hungry." <<bHe>> climbs the web with a practised ease, until <<bhe>> perches above you. <<bHe>> leans forward, and traces <<bhis>> tongue across your cheek.<<ggstress>><<stress 12>> <br><br> "Don't look so scared," <<bhe>> says. "I have a different meal in mind. But first, let's make sure you don't struggle." <<else>> <span class="red">You hear a chittering from the dark, and see eight eyes.</span> A giant spider crawls across the stone, up the wall, and onto the web with a delicate ease.<<ggstress>><<stress 12>> <</if>> <br><br> <<link [[Next|Catacombs Passout 2]]>><</link>> <br> <<else>> <<bind>> <<upperwear 104>> <<facewear 5>> <span class="red">You hear a chittering from the dark.</span> <br><br> <<endevent>> You flail in a mad panic. The web spins around and around, until it covers you from head to toe, and at last the string snaps. You flee into the dark.<<beastescape>> <br><br> <<link [[Next|Catacombs Ridge]]>><<endevent>><</link>> <br> <</if>> <<else>> <<bind>> <<upperwear 104>> <<facewear 5>> You awaken upside down, suspended from the ceiling by a thick rope around your ankles. You squirm and struggle, loosening the web until you at last drop free.<<pass 20>><<beastescape>> <br><br> <<endevent>> <<destination_catacombs skip>> <</if>><<effects>> <<bind>> <<upperwear 104>> <<facewear 5>> The <<beasttype>> spins you around and around, coating your legs with web. <<bHe>> works up your body, spinning the silk over your pelvis, waist, all the way up to your shoulders. It leaves you dizzy. <br><br> <<if $monster is 1>> "One more thing," <<bhe>> says, spurting a final string of silk over your eyes. "There. You should keep. But first-" <<bHe>> tears through a patch of web, exposing your <<genitals>>. <br><br> <<if playerChastity()>> <<set $worn.genitals.integrity -= 100>> <<if $worn.genitals.integrity lte 0>> <<bHe>> grasps the metal, twists it, <span class="pink">and tears it apart.</span> "Now to feast." <<bHe>> licks <<bhis>> lips. <<genitalsruined>> <br><br> <<link [[Next|Catacombs Passout 3]]>><</link>> <br> <<else>> <<bHe>> claws at the metal. "Too tough," <<bhe>> admits. "For now." <br><br> <<link [[Next|Catacombs Passout End]]>><</link>> <br> <</if>> <<else>> <<link [[Next|Catacombs Passout 3]]>><</link>> <br> <</if>> <<else>> <<bHe>> spurts a final string of silk over your eyes. <br><br> <<link [[Next|Catacombs Passout End]]>><</link>> <br> <</if>> <br><br><<effects>> You feel the <<beasttype>>'s breath on your <<genitals>>, followed by a long, warm tongue. <<if $player.penisExist>> It encircles your length, and gently pumps it while the tip flicks your glans. <<else>> It encircles your clit, and gently pressures it while the tip eases between your lips. <</if>> <br><br> <<bHis>> breathing becomes more rapid as <<bhe>> torments you, <<bhe>> sounds almost breathless in anticipation. The sensations make your hair stand on end, until it becomes too much to bear. <br><br> <<orgasm>> "Delicious." <<bHe>> laughs. The echo chitters around you. "I'll save the main course for later." <br><br> <<link [[Next|Catacombs Passout End]]>><</link>> <br><<effects>> You hear <<bhim>> scuttle away, and then silence. <br><br> You use your weight to pull down on the string suspending you, loosened by the <<beasttype>>'s weaving. It gives a little, then snaps, dropping you to the floor. <br><br> <<link [[Next|Catacombs Ridge]]>><<endevent>><</link>> <br><<effects>> <<if $rng gte 71>> You twist and turn in the web, <span class="green">and manage to pull yourself free,</span> falling to the ground in a heap. Sticky string still sticks to you, but you're able to tug yourself off the floor. <br><br> <<destination_catacombs skip>> <<else>> <<if $stress gte $stressmax>> <<passoutcatacombs>> <<else>> You twist and turn in the web, <span class="red">but it's no use.</span> The dark presses in. <br><br> <<link [[Struggle|Catacombs Struggle Web]]>><<pass 5>><<tiredness 1>><<stress 20>><<catacombs_torch -5>><</link>><<difficulty 30>><<gtiredness>><<gggstress>><<ltorch>> <br> <</if>> <</if>><<effects>> <<if $willpowerSuccess>> You turn, and see a large spider sat on your shoulder. It's about as big as your fist. <span class="green">Remaining calm,</span> you grab it between thumb and forefinger, and throw it away. <<else>> You turn. <span class="red">Your body spasms in panic</span> before you're consciously aware of the eight-legged creature sat there. You jump in the air, shake and whack your shoulder, almost falling over in the effort.<<lcontrol>><<control -10>><<ggstress>><<stress 12>> <br><br> When you dare to look again, the creature is gone. <</if>> <br><br> <<destination_catacombs skip>><<effects>> You brush your shoulder, and feel a sickening weight. It thuds onto the ground some distance away. You hear a scuttling as its own legs carry it further. <br><br> <<destination_catacombs skip>><<location "churchyard">><<set $outside to 1>><<effects>><<handheldon>> You are in the old churchyard. A decrepit manor looms from a hill, surrounded by stone ruins and sepulchres. <<if Time.dayState is "night">> <<if Weather.bloodMoon>> The graves cast disturbing shadows in the red moonlight. <<else>> <<if Weather.precipitation is "none">> The moonlight-cast shadows seem to move. <<elseif Weather.precipitation is "rain">> The patter of rain on stone drowns out all else. <<elseif Weather.precipitation is "snow">> Snow rests on the headstones. <<else>> You're careful not to trip in the dark. <</if>> <</if>> <<elseif Time.dayState is "day">> Birds nest on statues, and within archways above the sepulchres' entrances. <<elseif Time.dayState is "dawn">> The morning sun peers over the trees. <<else>> The shadows lengthen in the setting sun. <</if>> <br><br> <<foresticon "churchyard">><<link [[Sepulchre|Churchyard Catacombs Lock]]>><</link>> <br> <<foresticon>><<link [[Enter the forest|Forest]]>><<endevent>><<set $forest to 10>><</link>> <br><<location "sepulchre">><<set $outside to 0>><<effects>> You approach the sepulchre. Gargoyles sit on either side, watching. The doors are locked by a modern device, at odds with the old stone. <br><br> <<set $lock to 500>> <<if currentSkillValue('skulduggery') gte $lock>> <<if $leftarm is "bound" and $rightarm is "bound">> You think you'd be able to pick the lock, <span class="blue">if your arms weren't bound.</span> <br> <<else>> <<wearProp "lockpick">> <span class="green">The lock looks easy to pick.</span> <br><br> <<lockicon "pick">><<link [[Pick it (0:10)|Churchyard Catacombs Sneak]]>><<handheldon>><<pass 10>><<crimeUp 1 "trespassing">><</link>><<crime "trespassing">> <br> <</if>> <<else>> <span class="red">The lock looks beyond your ability to pick.</span><<skulduggeryrequired>> <br><br> <</if>> <<getouticon>><<link [[Leave|Churchyard]]>><<handheldon>><</link>> <br><<effects>> <<if $crypt_intro is 1>> You enter the sepulchre. Another torch blazes in the sconce. You take it, and descend into the catacombs. <br><br> <<link [[Next|Catacombs]]>><<catacombs_init>><<set $eventskip to 1>><</link>> <br> <<else>> Even with the lock gone, one of the stone doors is stuck tight, but you're able to push the other far enough to slip inside. <br><br> The interior is lit by a single flaming torch. The light doesn't reach the far side of the room. <br><br> You remove the torch from its sconce, and use it to light your way. The room is empty, save an open sarcophagus. <br><br> <<ind>><<link [[Peer inside slowly|Churchyard Catacombs Peer Slow]]>><<set $crypt_intro to 1>><</link>> <br> <<ind>><<link [[Peer inside quickly|Churchyard Catacombs Peer Quick]]>><<set $crypt_intro to 1>><</link>> <br> <<getouticon>><<link [[Leave|Churchyard Catacombs Leave]]>><<stress 6>><</link>><<gstress>> <br> <</if>><<effects>> You move the torch forward, illuminating the sarcophagus interior inch by inch, ready to pull back at a moment should you find something you don't want to see. Instead you find steps, leading down. <br><br> <<link [[Descend|Churchyard Catacombs Intro]]>><</link>> <br><<effects>> You thrust the torch forward, illuminating the sarcophagus interior all at once. You find a set of steps, leading down. <br><br> <<link [[Descend|Churchyard Catacombs Intro]]>><</link>> <br><<effects>> The steps lead you through a tight passage, until your torch lights up the visage of a six-armed angel. A statue set into a wall, surrounded by stone skulls. <br><br> A path leads further in. Your torchlight carries a little further here, revealing two branching paths up ahead. <br><br> <<link [[Next|Catacombs]]>><<catacombs_init>><<set $eventskip to 1>><</link>> <br><<effects>> You turn and walk towards the entrance, stopping only to return the torch to the sconce. Your feet quicken before you reach the door. <br><br> <<link [[Next|Churchyard]]>><</link>> <br><<widget "catacombs_init">> <<set $catacombs_torch to 100>> <</widget>> <<widget "catacombs_end">> <<unset $catacombs_torch>> <</widget>> <<widget "catacombs_torch_text">> <<if $catacombs_torch gte 100>> Your torch is <span class="green">radiant.</span> <<set Weather.Temperature.override.increase.inside(5, "The burning torch is hot.")>> <<elseif $catacombs_torch gte 80>> Your torch <span class="teal">blazes.</span> <<set Weather.Temperature.override.increase.inside(5, "The burning torch is hot.")>> <<elseif $catacombs_torch gte 60>> The flame on your torch has <span class="lblue">lost some of its vigour.</span> <<set Weather.Temperature.override.increase.inside(3, "The waning fire of your torch is warm.")>> <<elseif $catacombs_torch gte 40>> Your torch is <span class="blue">burning lower.</span><<set Weather.Temperature.override.increase.inside(1, "The dim fire of your torch is slightly warm.")>> <<elseif $catacombs_torch gte 20>> Your torch <span class="purple">won't last much longer.</span> <<elseif $catacombs_torch gte 1>> Barely a <span class="pink">flicker</span> of fire remains on your torch. <<else>> Your torch is <span class="black">extinguished.</span> <</if>> <</widget>> <<widget "gtorch">> <<if $statdisable is "f">> | <span class="green">+ Torchlight</span> <</if>> <</widget>> <<widget "ltorch">> <<if $catacombs_torch gte 1 and $statdisable is "f">> | <span class="red">- Torchlight</span> <</if>> <</widget>> <<widget "catacombs_torch">> <<if _args[0]>> <<set $catacombs_torch += _args[0]>> <</if>> <<set $catacombs_torch to Math.clamp($catacombs_torch, 0, 100)>> <</widget>> <<widget "events_catacombs">> <<cleareventpool>> <<if _args[0] is "normal">> <<addinlineevent "catacombs_normal_1" 1>> <<if $catacombs_torch gte random(1, 100)>> A rope hangs at knee height up ahead. <span class="green">You step over it.</span> <br><br> <<destination_catacombs skip>> <<else>> You feel something brush against your knee. A hatch thuds open, and a dart flies from the dark. <span class="red">It catches your arm.</span> You remove it at once, <span class="lewd">but a warmth spreads from the point of impact.</span><<drugs 40>><<gdrugged>> <br><br> You examine the dart. <<if currentSkillValue("history") gte 1000 and ($leftarm isnot "bound" or $rightarm isnot "bound")>> It seems medieval, until you examine the top more closely. It's made of steel. You give it a shake. There's fluid inside. There's not much here, but it might be worth a little to someone with criminal connections.<<set $blackmoney += 10>> <<else>> It seems old. <</if>> <br><br> <<destination_catacombs skip>> <</if>> <</addinlineevent>> <<addinlineevent "catacombs_normal_2" 1>> <<if $catacombs_torch gte random(1, 100)>> A stone slab up ahead is raised higher than the others. <span class="green">You step over it.</span> <br><br> <<destination_catacombs skip>> <<else>> <<if random(1, 4) is 4 and !$worn.feet.type.includes("shackle")>> You feel a stone slab give way underfoot. The ground trembles, <span class="red">and a set of iron cuffs clamp around your ankles.</span> They're connected to the ground by a chain, but the metal is so rusty that it crumbles at a little force. The chain connecting them proves sturdier. <<shackle_feet>> <br><br> <<destination_catacombs skip>> <<else>> You feel a stone slab give way underfoot. Dust showers you, and a paddle swings down from a recess in the ceiling, <span class="red">smacking your <<bottom>>.</span><<gpain>><<pain 4>><<gtrauma>><<trauma 6>><<gstress>><<stress 6>> <br><br> <<destination_catacombs skip>> <</if>> <</if>> <</addinlineevent>> <</if>> <<if _args[0] is "barrow">> <<addinlineevent "catacombs_barrow_1" 1>> You hear movement in the dark. There's something ahead, drawing closer. There's something behind you as well. And to the side. All drawing closer. <br><br> <<if $catacombs_torch gte random(1, 100)>> You whirl around, waving your torch at the creatures. <span class="green">Its light and heat keeps them at bay.</span> They flee into deep recesses. <br><br> <<destination_catacombs skip>> <<else>> <<if $lurkerdisable is "f">> <<link [[Next|Catacombs Struggle]]>><<set $struggle_start to 1>><</link>> <br> <<else>> You run through the dark, stumbling more than once, until you leave the creatures far behind. You got away, but not unscathed.<<beastescape>> <br><br> <<destination_catacombs skip>> <</if>> <</if>> <</addinlineevent>> <<addinlineevent "catacombs_barrow_2" 1>> You come to a pool of white fluid. It blocks the passage, and finding another way around might be arduous. <br><br> <<if $catacombs_torch gte random(1, 100)>> You hold out your torch, <span class="green">and spot a few chunks of masonry jutting from the fluid.</span> You climb the closest, and use them to traverse the pool, careful not to fall. <br><br> <<destination_catacombs skip>> <<else>> You peer across, <span class="red">but can see nothing that would help you.</span> <br><br> <<link [[Find another path|Catacombs Goop Find]]>><<catacombs_torch -5>><<pass 10>><</link>><<ltorch>> <br> <<link [[Wade across|Catacombs Goop Wade]]>><</link>><<note "Goopy" "pink">> <br> <</if>> <</addinlineevent>> <<addinlineevent "catacombs_barrow_3" 1>> <<if $catacombs_torch gte random(1, 100)>> Gems glitter in the cavern ceiling, far above. They help orient you.<<lstress>><<stress -6>> <<else>> The walls around you stretch into the cavern above. <</if>> <br><br> <<destination_catacombs skip>> <</addinlineevent>> <</if>> <<if _args[0] is "compound">> <<addinlineevent "catacombs_compound_1" 1>> <<generate1>><<generate2>> <<person1>> You hear a pair of voices up ahead. <br><br> <<rng 5>> <<if $rng is 5>> "I've requested a transfer," says a <<person>>. <br> "Too spooky for you down here, aye?" laughs the <<person2>><<person>>. <br> "Oi! It's the spiders. Never liked em." <<elseif $rng is 4>> "Behind you!" shouts a <<person>>. <br> "Fuck!" cries a <<person2>><<person>> in shock, turning with a start. <br> "Made you look." <<person1>><<Hes>> rewarded with a thump. <<elseif $rng is 3>> "What they need all these cables for anyway?" asks a <<person>> <br> "Don't know, and don't care to," replies a <<person2>><<person>>. <br> "Less we know the better, I suppose." <<elseif $rng is 2>> "Think there's anything valuable down here?" asks a <<person>>. <br> "Nah," replies a <<person2>><<person>>. "Other than the stuff we put in. And we wouldn't get away with pinching that." <br> "Probably looted a long time ago anyway." <<else>> "Don't go wandering," says a <<person>>. <br> "Why not?" asks a <<person2>><<person>>. "The dark don't scare me." <br> "It's not the dark. It's what's in it." <</if>> <br><br> <<if $catacombs_torch gte 1>> They're wearing uniforms, but you can't make out the detail in the gloom. <br><br> <</if>> <<if $catacombs_torch gte random(1, 100)>> They haven't noticed you. <span class="green">You sneak away.</span> <br><br> <<endevent>> <<destination_catacombs skip>> <<else>> They haven't noticed you, but with your very next step <span class="red">you crunch broken crockery underfoot.</span> Their heads swivel your way. <br><br> "Got ourselves a live one," the <<person1>><<person>> says. They march closer. "Hold still, <<girl>>." <br><br> <<link [[Run|Catacombs Caught Run]]>><</link>><<athleticsdifficulty 1 800>> <br> <<link [[Fight|Catacombs Caught Fight]]>><<set $fightstart to 1>><</link>> <br> <<link [[Hold still|Catacombs Caught Still]]>><</link>> <br> <</if>> <</addinlineevent>> <<addinlineevent "catacombs_compound_2" 0.5>> <<if $catacombs_torch gte random(1, 100)>> <span class="green">You spot a camera up ahead,</span> barely visible in the gloom. You would have walked right into its path. You're not sure what it's for, but you avoid its line of sight. <br><br> <<destination_catacombs skip>> <<else>> A red light blinks into life. It's part of a camera, <span class="red">pointed right at you.</span> <<if $tentacledisable is "f">> Metal tendrils rise from the dark, coiling around you. <br><br> <<link [[Next|Catacombs Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <<else>> The light intensifies, and a whirring roar fills the tunnel. You manage to escape, but stumble a few times in your haste.<<beastescape>> <br><br> <<destination_catacombs skip>> <</if>> <</if>> <</addinlineevent>> <</if>> <<addinlineevent "catacombs_1" 1>> <<if $worn.face.type.includes("blindfold")>> You walk, each step deliberate, careful not to trip or collide with anything in your blindness. You still brush against the odd hard corner. Shattered crockery shatters further beneath your feet.<<gpain>><<pain 4>><<gstress>><<stress 6>> <br><br> <<destination_catacombs skip>> <<else>> You find an upright, open sarcophagus in the middle of your path. The interior is shrouded by the dark, but you think you see a figure inside. <br><br> <<if $catacombs_torch gte random(1, 100)>> You inhale, and light up the interior with your torch. <span class="green">There's no body in there.</span> <<if random(1, 4) is 4>> However, you do find some tattered scraps of cloth. You feed your torch.<<gtorch>><<catacombs_torch 15>> <</if>> <br><br> <<destination_catacombs skip>> <<else>> <<link [[Walk by with your eyes shut|Catacombs Sarcophagus Close]]>><<trauma 6>><<pain 4>><</link>><<gpain>><<gtrauma>> <br> <<link [[Find another way around|Catacombs Sarcophagus Find]]>><<pass 5>><<catacombs_torch -5>><</link>><<ltorch>> <br> <</if>> <</if>> <</addinlineevent>> <<addinlineevent "catacombs_2" 1>> You hear whispers in the dark. Calling you. You feel your breath quicken. <br><br> <<if $catacombs_torch gte 1>> You could investigate, and prove there's nothing to be afraid of. <br><br> <<link [[Investigate|Catacombs Whispers Investigate]]>><<trauma -6>><<catacombs_torch -5>><</link>><<ltorch>><<gtrauma>> <br> <</if>> <<link [[Ignore|Catacombs Whispers Ignore]]>><</link>><<willpowerdifficulty 1 1000>> <br> <</addinlineevent>> <<addinlineevent "catacombs_3" 1>> <<if $catacombs_torch gte random(1, 100)>> You see a large spiderweb, completely covering the passage. You hold out your torch, <span class="green">and burn it away.</span> <br><br> <<destination_catacombs skip>> <<elseif $leftarm is "bound" and $rightarm is "bound">> You walk right into a spiderweb. It sticks to your already-bound arms. You try to pull free in the only way you can, by pulling against the web with your whole body. The web gets tighter and tighter, until it snaps back violently. The elasticity pulls you up and into the web, <span class="red">leaving you suspended and helpless.</span> <br><br> <<link [[Struggle|Catacombs Struggle Web]]>><<pass 5>><<tiredness 1>><<stress 20>><<catacombs_torch -5>><</link>><<difficulty 30>><<gtiredness>><<gggstress>><<ltorch>> <br> <<else>> <span class="red">You walk right into a cobweb.</span> You tear it away from your face, but now it's stuck to your hand, then your other hand, then you notice your legs are covered as well. It must have been a large spider. <br><br> <<link [[Tear free|Catacombs Tear]]>><</link>><<physiquedifficulty 1 20000>> <br> <<link [[Save your strength|Catacombs Save]]>><<stress -6>><</link>><<lstress>> <</if>> <</addinlineevent>> <<addinlineevent "catacombs_4" 1>> You come to a pile of rubble, stone masonry and not a little soil. The tunnel has collapsed here, but there are gaps. <br><br> <<if $catacombs_torch gte random(1, 100)>> You poke your torch through the holes, and determine the widest. <span class="green">You're confident you'll fit.</span> <br><br> It takes a bit of wriggling, <span class="green">but you manage to pull yourself clear,</span> and clamber down the other side of the rubble. <br><br> <<destination_catacombs skip>> <<else>> You feel around for a gap wide enough to let you through. You think you've found the widest, <span class="red">but you can't tell for sure.</span> <br><br> <<link [[Squeeze through a gap|Catacombs Squeeze]]>><</link>><<small_text>> <br> <<link [[Take a detour (0:10)|Catacombs Detour]]>><<pass 10>><<catacombs_torch -5>><</link>><<ltorch>> <br> <</if>> <</addinlineevent>> <<if $spiderdisable is "f">> <<addinlineevent "catacombs_5" 1>> <<if $catacombs_torch gte random(1, 100)>> Something moves in the shadows overhead. You raise your torch. Whatever it is, <span class="green">it's afraid of the light.</span> <br><br> <<destination_catacombs skip>> <<else>> Something <span class="red">lands on your shoulder.</span> <br><br> <<link [[Look|Catacombs Spider Look]]>><</link>><<willpowerdifficulty 1 1000>> <br> <<link [[Brush it off|Catacombs Spider Brush]]>><<stress 12>><</link>><<ggstress>> <br> <</if>> <</addinlineevent>> <</if>> <<addinlineevent "catacombs_6" 1>> <<if $catacombs_torch gte random(1, 100)>> <span class="green">Your torch lights up a fallen column.</span> You step up and over it. <<else>> Your knee collides with hard stone, concealed in the gloom. A fallen column lies in your way. You step up and over it.<<gpain>><<pain 4>> <</if>> <br><br> <<destination_catacombs skip>> <</addinlineevent>> <<addinlineevent "catacombs_7" 1>> <<if $worn.feet.type.includes("naked") or $worn.feet.type.includes("shackle")>> <<if $catacombs_torch gte random(1, 100)>> <span class="green">Your torch illuminates</span> shards of broken pottery up ahead. You step around them. <<else>> You step on shards of broken pottery, <span class="red">invisible in the gloom.</span><<gpain>><<gstress>><<pain 4>><<stress 6>> <</if>> <<else>> Broken pottery <span class="green">crunches</span> underfoot. <</if>> <br><br> <<destination_catacombs skip>> <</addinlineevent>> <<runeventpool>> <</widget>> <<widget "catacombs_skip">> <<if _args[0] is "skip">> <<set $eventskip to 1>> <</if>> <</widget>> <<widget "destination_catacombs">> <<switch $bus>> <<case "sarcophagi">> <<link [[Next|Catacombs Sarcophagi]]>><<catacombs_skip _args[0]>><</link>> <<case "chasm">> <<link [[Next|Catacombs Chasm]]>><<catacombs_skip _args[0]>><</link>> <<case "prison">> <<link [[Next|Catacombs Prison]]>><<catacombs_skip _args[0]>><</link>> <<case "ridge">> <<link [[Next|Catacombs Ridge]]>><<catacombs_skip _args[0]>><</link>> <<case "mud">> <<link [[Next|Catacombs Mud]]>><<catacombs_skip _args[0]>><</link>> <<case "masonry">> <<link [[Next|Catacombs Masonry]]>><<catacombs_skip _args[0]>><</link>> <<case "barrow">> <<link [[Next|Catacombs Barrow]]>><<catacombs_skip _args[0]>><</link>> <<case "stream">> <<link [[Next|Catacombs Stream]]>><<catacombs_skip _args[0]>><</link>> <<case "stalagmites">> <<link [[Next|Catacombs Stalagmites]]>><<catacombs_skip _args[0]>><</link>> <<case "bores">> <<link [[Next|Catacombs Bores]]>><<catacombs_skip _args[0]>><</link>> <<case "engravings">> <<link [[Next|Catacombs Engravings]]>><<catacombs_skip _args[0]>><</link>> <<case "museum">> <<link [[Next|Catacombs Museum]]>><<catacombs_skip _args[0]>><</link>> <<case "statues">> <<link [[Next|Catacombs Statues]]>><<catacombs_skip _args[0]>><</link>> <<case "compound">> <<link [[Next|Catacombs Compound]]>><<catacombs_skip _args[0]>><</link>> <<default>> <<link [[Next|Catacombs]]>><<catacombs_skip _args[0]>><</link>> <</switch>> <</widget>> <<widget "catacombs_exit_indicator">> <<if $statdisable is "f">> | <span class="teal">Closer to exit</span> <</if>> <</widget>> <<widget "passoutcatacombs">> <<if isPregnancyEnding()>> <<pregnancyPassout "catacombs">> <<if $worn.face.type.includes("blindfold")>> <<set $worn.face.type.push("broken")>> <<faceruined>> <</if>> <<if $worn.upper.name is "cocoon">> <<upperruined>><<handheldruined>> <</if>> <<if $worn.lower.name is "cocoon bottom">> <<lowerruined>> <</if>> <<catacombs_end>> <<elseif $worn.upper.name is "cocoon" or $worn.lower.name is "cocoon bottom">> <<if $worn.face.type.includes("blindfold")>> <<set $worn.face.type.push("broken")>> <<faceruined>> <</if>> <<if $worn.upper.name is "cocoon">> <<upperruined>><<handheldruined>> <</if>> <<if $worn.lower.name is "cocoon bottom">> <<lowerruined>> <</if>> <<catacombs_end>> <<ambulance>> <<else>> <<passout>> <<pass 60>> You've pushed yourself too much. <br><br> <<link [[Next|Catacombs Passout]]>><</link>> <br> <</if>> <</widget>><<location "forest">><<effects>> <!-- Make sure $phase is non-zero when you write a link here --> <<if $foresthunt gte 1>> <<set $foresthunt += 1>> <</if>> You search for plants long and sturdy enough to build an improvised garment. You find some suitable specimens and tie them together around your <<if $phase is 1>> chest. <<plantupper>> <<elseif $phase is 2>> waist. <<plantlower>> <</if>> It's fragile and revealing, and you don't think you could take it off without breaking it, but it's better than nothing. <br><br> <<set $phase to 0>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<location "forest">><<effects>><<wearProp "mushroom">><<canvas-model-override "mouth" "chew">> You eat one of the mushrooms. It tastes bitter, but somehow refreshing. <br><br> <<link [[Next|Forest]]>><<canvas-model-override "clear">><<handheldon>><<set $eventskip to 1>><</link>><<location "forest">><<effects>><<wearProp "wolfshroom">><<canvas-model-override "mouth" "chew">> You eat one of the mushrooms, it's quite sweet. You feel more relaxed, and strangely heated. <br><br> <<link [[Next|Forest]]>><<canvas-model-override "clear">><<handheldon>><<set $eventskip to 1>><</link>> <br><<effects>> You drop to your knees, and search beneath the decaying roots. <<if $tendingSuccess>> <<wearProp "mushroom">> <span class="green">You find some tasty <<icon "tending/mushroom.png">> mushrooms that should fetch a price at market.</span> <<tending_pick mushroom>> <<else>> <span class="red">None of the mushrooms look any good.</span><<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br><<effects>> You drop to your knees, and search beneath the decaying roots. <<if $tendingSuccess>> <<wearProp "wolfshroom">> <span class="green">You find some fat <<icon "tending/wolfshroom.png">> mushrooms that should fetch a good price.</span> <<tending_pick wolfshroom>> <<else>> <span class="red">None of the mushrooms look any good.</span><<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1>> <<gwylanRescueFail "wolf">> <</if>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Wolf Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $syndromewolves gte 1>> <<if $monster is 1>> <<bHe>> grabs you by the scruff of your neck with little effort, before hauling you over one shoulder. You feel like a helpless puppy as you're being carried away. <<else>> <<bHe>> grabs you by the scruff of your neck like you're an errant puppy. <</if>> <br><br> <<link [[Let it happen|Wolf Cave Returned]]>><<endcombat>><</link>> <br> <<link [[Struggle|Forest Wolf Molestation Resist]]>><<endcombat>><<set $molestationstart to 1>><</link>> <br> <<else>> The Black Wolf seems satisfied, but it isn't over. <<if $monster is 1>> "You. With me," <<bhe>> barks. You're not sure if you have any choice. With a display of force, <<bhe>> hauls you over one shoulder. <<else>> <<bHe>> grabs you by the scruff of your neck. <</if>> <<bHe>> wants to take you somewhere. <br><br> <<link [[Let it happen|Forest Wolf Cave Intro]]>><<endcombat>><</link>> <br> <<link [[Struggle|Forest Wolf Molestation Resist]]>><<endcombat>><<set $molestationstart to 1>><</link>> <br> <</if>> <<elseif $enemyhealth lte 0>><<set $foresthunt to 0>> <<if $monster is 1>> Despite <<bhis>> show of force, you manage to overcome it. You wrestle free from the Black Wolf's grasp. "Trouble," <<bhe>> growls. "Weren't easy prey." <<bHe>> flees into the forest, tail between <<bhis>> legs. You feel proud, realising it was no easy feat defeating something nearly twice your size. <<else>> Despite <<bhis>> power, you manage to defeat the Black Wolf. <<bHe>> flees into the forest, tail between <<bhis>> legs. <</if>> <br><br> <<clotheson>> <<endcombat>> <<tearful>> you gather yourself. <br><br> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $eventskip to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<badEndTracking "Wolf Cave" { reason: "wolfCaveCaptured" }>> <<if $passoutReason>> <<npc "Black Wolf" 2>> In the throes of <<= $passoutReason>>, you're helpless to resist as the <<beasttype 0>> drags you through the forest to a cave. <<bHe 0>> presents you to the alpha, a monstrous black <<beasttype 1>>. <<if $monster is 1>> Tufts of thick black hair cover a nude, towering body from head to toe. <<bHe 1>> growls as <<bhe 1>> addresses you. "My home. Your home, if pack accepts." <<bHe 1>> deposits you on a pile of thatch, before stepping back. <<else>> <<bHe 1>> sniffs around your body, still <<= $passoutReason is "hypothermia" ? "frozen from the cold" : "drenched with sweat from the heat">>, before stepping back. <</if>> <<elseif $monster is 1>> <<npc "Black Wolf">> <<bHe>> effortlessly sprints through the forest, and before long arrives at a cave. "My home. Your home, if pack accepts." <<bHe>> enters the cave and lays you down on a pile of thatch, before stepping back. <<else>> <<npc "Black Wolf">> The wolf effortlessly bounds through the forest, and before long arrives at a cave, which <<bhe>> enters without slowing. <<bHe>> dumps you on the cold stone. <</if>> Six pairs of eyes stare at you through the dim light. The pack advances on you. <br><br> <<endevent>> <<beastNEWinit 6 wolf>> <<link [[Next|Forest Wolf Cave Rape]]>><<set $molestationstart to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1>> <<gwylanRescueFail "hunter">> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Hunter Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Hunter Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $hunterintro is 1>> Eden <<if $enemyanger gte ($enemyangermax / 5) * 2>>glares at you and growls,<<else>>smirks at you and says,<</if>> "I knew I'd be able to catch you again. Come on, I'm taking you home." <<else>> <<if $enemyanger gte 20>> The <<person>> smirks. "You're a feisty one. I like that." <<else>> The <<person>> smiles. "You're a gentle creature, aren't you? I'd best take you with me, it wouldn't do to leave you alone out here." <</if>> <</if>> <<He>> produces a length of rope from <<his>> bag. You're going to be tied up! <br><br> <<link [[Don't struggle|Forest Hunter Intro]]>> <<if !$syndromeeden>><<badEndTracking "Eden" { reason: "edenHuntedSubmitted" }>><</if>><<clotheson>><<endcombat>> <</link>> <br> <<link [[Resist|Forest Hunter Resist Molestation]]>><<set $enemyanger += 200>><<set $molestationstart to 1>><</link>> <br> <<elseif $enemyhealth lte 0>><<set $foresthunt to 0>> Despite <<his>> strength, you manage to send the <<person>> reeling, giving you the chance you need. <<tearful>> you escape into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><</link>> <br> <</if>><<leash 21>> <<location "cabin">><<effects>> <<clothesruined>> <<npc Eden>><<initnpc Eden>><<person1>> <<if $hunterintro is 1>>Eden<<else>>The <<person>><</if>> deftly ties your arms and legs together, then hoists you over <<his>> shoulder, before carrying you into the forest. <br><br> <<if $hunterintro is 1>> You soon arrive at the cabin, and Eden carries you inside. <<else>> You soon arrive at a log cabin. Inside is a single, spartan room. <</if>> <<He>> drops you on the hard floor and places a collar around your neck. It shuts with a click. <<He>> stands over you, and attaches a leash to your collar. <<He>> then unties the rope, freeing your arms and legs. <br><br> <<if $hunterintro isnot 1>> <<set $hunterintro to 1>> <<set C.npc.Eden.name_known to 1>> <<set $NPCList[0].name_known to 1>> "You're lucky I found you," <<he>> says. "The woods are dangerous, you'd have gotten hurt. My name is Eden." <<He>> pauses, as if unsure about something. <<He>> seems different to when <<he>> captured you, softer, despite you now being bound and collared at <<his>> feet. <br><br> <<He>> continues. "I've become self-sufficient out here. But it's lonely, sometimes. If I protect and provide for you, will you give me comfort and company?" You don't know if you really have a choice. <br><br> <<link [[Nod|Forest Hunter Nod]]>><</link>> <br> <<link [[Refuse|Forest Hunter Refuse]]>><</link>> <br> <<else>> "Welcome home. Now, time for your punishment." <<He>> bends you over <<his>> lap. <br><br> <<link [[Next|Forest Hunter Punishment]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $enemyarousal to 0>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1>> <<gwylanRescueFail "hunter">> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Forest Hunter Resist Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Hunter Resist Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation "short">> The <<person>> gasps, clearly not expecting to cum again so soon. It seems to be more than <<he>> can handle, giving you the chance you need. <<tearful>> you escape into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> <<set $foresthunt to 0>> Despite <<his>> strength, you manage to send the <<person>> reeling, giving you the chance you need. <<tearful>> you escape into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $eventskip to 1>><</link>> <br> <<else>> <<if !$syndromeeden>><<badEndTracking "Eden" { reason: "edenHunted" }>><</if>> Battered and bruised by <<his>> assault, you are helpless as <<he>> retrieves <<his>> rope from the ground. <br><br> <<link [[Next|Forest Hunter Intro]]>><<clotheson>><<endcombat>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<npc "Black Wolf">> <<beastCombatInit>> /*<<beastNNPCinit>>*/<<set $enemyhealth to 600>><<set $enemyhealthmax to 600>><<set $enemytrust -= 40>><<set $enemyanger += 200>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1>> <<gwylanRescueFail "wolf">> <</if>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Forest Wolf Molestation Resist Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf Molestation Resist]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The second time is too much for <<bhim>>, and <<bhe>> collapses into a slumber. <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> <<set $foresthunt to 0>> Despite <<bhis>> power, you manage to defeat the Black Wolf. <<bHe>> flees into the forest. <<if $monster is 1>> "Trouble," <<bhe>> growls. "Weren't easy prey." <</if>> <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $eventskip to 1>><</link>> <br> <<else>> Battered and bruised by the Black Wolf's assault, you can do nothing but whimper as <<bhe>> <<if $monster is 1>> throws you over <<bhis>> shoulder and runs deeper into the forest with you. <<else>> grabs you by the neck and bounds into the forest. <</if>> <br><br> <<if $upperoff isnot 0>> <<upperruined>> <</if>> <<if $loweroff isnot 0>> <<lowerruined>> <</if>> <<if $underloweroff isnot 0>> <<underlowerruined>> <</if>> <<if $underupperoff isnot 0>> <<underupperruined>> <</if>> <<if $syndromewolves gte 1>> <<link [[Next|Wolf Cave Returned]]>><<endcombat>><</link>> <br> <<else>> <<link [[Next|Forest Wolf Cave Intro]]>><<endcombat>><</link>> <br> <</if>> <</if>><<location "forest">><<effects>> <<if $phase is 0>> You leave the trail and walk into the dense forest. You avoid the pair, but your journey is slowed some. <br><br> <<elseif $phase is 1>> <<generate1>><<generate2>>A <<fullGroup>> come into view. They eye you up as they walk past. <<gstress>><<stress 1>> <br><br> <<endevent>> <<elseif $phase is 2>> <<generate1>><<generate2>>A <<fullGroup>> come into view. They eye you up as they walk past, clearly enjoying the view. <<exhibitionism3>> <<endevent>> <<elseif $phase is 3>> <<generate1>><<generate2>>A <<fullGroup>> come into view. They eye you up as they walk past, clearly shocked at seeing a naked <<girl>> in the middle of the forest, but not complaining. <<flaunting>> you wink as you pass. <<exhibitionism5>> <<endevent>> <</if>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<generate1>><<generate2>><<maninit>> A <<fullGroup>> walk into view. <<person1>>As they walk by, they reach out and grab you! <br><br> <<forestRescueSetup>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1 and $rescue is 2>> <span id="next"><<link [[Next|Forest Coop Rescue]]>><<set $phase to 0>><</link>></span><<nexttext>> <<elseif _combatend>> <span id="next"><<link [[Next|Forest Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Finished with you, they dump you unceremoniously into a ditch. <br><br> <<tearful>> you struggle to your feet. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> <<tearful>> you manage to free yourself from their clutches, and escape into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $rescue is 1 and $forest lte 20>> <<gwylanForestRescue "man">> <<elseif $rescue is 1 and $forest gte 21>> You hear a gun fire close by, and a bullet lands at the pair's feet. They back off in fear and flee into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn hikers," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<forestRescueSetup>> <<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1 and $rescue is 2>> <span id="next"><<link [[Next|Forest Coop Rescue]]>><<set $phase to 1>><</link>></span><<nexttext>> <<elseif _combatend>> <span id="next"><<link [[Next|Forest Wolf Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf]]>><</link>></span><<nexttext>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<beastTrainGenerate>><<set $enemytrust -= 40>> <<if isLoveInterest("Eden") and (random(1, 2) is 2 or $eden_rescue isnot 1)>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Wolf2 Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf2]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> grunts in satisfaction, and leaves you lying between the trees. <br><br> <<tearful>> you rise to your feet. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> The <<beasttype>> yelps and flees into the forest. <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $rescue is 1 and $forest lte 20>> <<gwylanForestRescue "beast">> <<elseif $rescue is 1 and $forest gte 21>> You hear a gun fire close by, and a bullet lands near the <<beasttype>>. <<bHe>> backs off in fear and flees into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn wolves," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <<else>> The <<beasttype>> yelps and flees into the forest. <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>> <<if $enemyhealth lte 0>> <<beastwound>> <<if $combatTrain.length gt 0>> The <<beasttype>> recoils in pain and fear, but the other is eager for a go. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf2]]>><</link>> <<else>> The <<beasttype>> recoils in pain and fear. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf2 Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the <<beasttype>> moves and another <<print $combatTrain.beastTypes[1]>> takes its turn. <<wolfpacktrust>> <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf2]]>><</link>> <<else>> Satisfied, the <<beasttype>> moves away from you. <<wolfpacktrust>> <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf2 Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $rescue is 1 and $alarm is 1>> You hear a gun fire close by, and a bullet lands near the <<beasttype>>. <<bHe>> backs off in fear and flees into the forest, the other following close behind. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn wolves," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to save you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a holler if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <<elseif $finish is 1>> <<if $enemywounded is 1 and $enemyejaculated is 0>> The <<beasttype>> whimpers and flees into the darkness between the trees. <<elseif $enemywounded is 0 and $enemyejaculated is 1>> The <<beasttype>> leaves you lying on the grass. <<elseif $enemywounded gte 2 and $enemyejaculated is 0>> Feeling that you're more trouble than you're worth, the <<beastsplural>> flee between the trees. <<elseif $enemywounded is 0 and $enemyejaculated gte 2>> The <<beastsplural>> leave you spent and shivering on the grass. <<elseif $enemywounded gte 1 and $enemyejaculated gte 1>> The <<beastsplural>> leave you spent and shivering on the grass. <</if>> <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<location "forest">><<water>><<effects>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - ($allure * $forestmod)) and $eventskip is 0>> <!-- Modified for monster people --> <<beastNEWinit 1 lizard>> <<if $monster is 1 or $bestialitydisable is "f">> A large <<beasttype>> rears out of the water! <br><br> <<link [[Next|Forest Swim Molestation]]>><<set $molestationstart to 1>><</link>> <<else>> A large lizard rears out of the water and grabs you in its maw! You manage to struggle free, but not unscathed.<<beastescape>> <br><br> <<link [[Next|Forest Swim]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>> <<else>> <<swimmingdifficulty 1 600 true>> <<if $swimmingSuccess>> The rushing water tears at you. <<set $stripintegrity to 20>><<set $stripobject to "jutting rock">><<stripobject>> Despite this, you <span class="green">successfully</span> swim across. <br><br> <<rng>> <<if $wraith.hunt and Time.isBloodMoon() and $danger gte (7900 - ($allure * $forestmod))>> As you climb up the bank you feel your foot catch on something. <<if $slimedisable is "f">> You look down to see a pale white slime stuck to you, and many more emerging from the river. <<rainWraith true>> <br><br> Far down the river, you see a pale robed figure walking closer. It raises its hand, and the slimes leap at you! <br><br> <<link [[Next|Forest Pale Slime Struggle]]>><<set $struggle_start to 1>><<set $phase to 1>><</link>> <<else>> It violently tugs on your leg, attempting to pull you back into the river! You barely manage to pull away. You look back to see a pale figure disappear behind a tree. <<trauma 12>><<pain 6>><<stress 12>><<gtrauma>><<gpain>><<gstress>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</if>> <<else>> <<if $rng gte 71 and $parasitedisable is "f" and !$parasite.bottom.name>> <<if $worn.lower.type.includes("naked") or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> As you climb up the bank you feel a pinching sensation on your <<bottom>>. You feel behind you, and find a strange, soft creature stuck there. It sucks on your skin, making it feel warm. <<garousal>><<arousal 600 "bottom">> <br><br> You tug, but it won't budge. You'll need help to remove it. <<parasite bottom urchin>> <br><br> <</if>> <</if>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</if>> <br> <<else>> The rushing water tears at you. <<set $stripintegrity to 20>><<set $stripobject to "jutting rock">><<stripobject>> The water is too violent, and you <span class="red">fail</span> to swim across the river, instead being swept downstream and deeper into the forest. <br><br> <<rng>> <<if $forest gte 40 and !$brookIntro>> <<set $brookIntro to 1>> As you climb up the bank, you notice that the waters are much calmer here. It looks like an offshoot brook. You should be able to follow it back upstream without much risk. <br><br> <span class="gold">You've discovered the brook.</span> <br><br> <<link [[Next|Forest Brook]]>><<endevent>><<set $forest to 80>><</link>> <<elseif $wraith.hunt and Time.isBloodMoon()>> As you climb up the bank you feel your foot catch on something. <<if $slimedisable is "f">> You look down to see a pale white slime stuck to you, and many more emerging from the river. <<rainWraith true>> <br><br> Far down the river, you see a pale robed figure walking closer. It raises its hand, and the slimes leap at you! <br><br> <<link [[Next|Forest Pale Slime Struggle]]>><<set $forest += 20>><<set $struggle_start to 1>><<set $phase to 2>><</link>> <<else>> It violently tugs on your leg, attempting to pull you back into the river! You barely manage to pull away. You look back to see a pale figure disappear behind a tree. <<trauma 12>><<pain 6>><<stress 12>><<gtrauma>><<gpain>><<gstress>> <br><br> <<link [[Next|Forest]]>><<set $forest += 20>><</link>> <</if>> <<else>> <<if $rng gte 71 and $parasitedisable is "f" and !$parasite.bottom.name>> <<if $worn.lower.type.includes("naked") or setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> As you climb up the bank you feel a pinching sensation on your <<bottom>>. You feel behind you, and find a strange, soft creature stuck there. It sucks on your skin, making it feel warm. <<garousal>><<arousal 600 "bottom">> <br><br> You tug, but it won't budge. You'll need help to remove it. <<parasite bottom urchin>> <br><br> <</if>> <</if>> <<link [[Next|Forest]]>><<set $forest += 20>><</link>> <</if>> <br> <</if>> <</if>> <<set $eventskip to 0>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<forestRescueSetup>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1 and $rescue is 2>> <span id="next"><<link [[Next|Forest Coop Rescue]]>><<set $phase to 4>><</link>></span><<nexttext>> <<elseif _combatend>> <span id="next"><<link [[Next|Forest Swim Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Swim Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> hisses <<bhis>> satisfaction, and dives back into the churning water. <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest Swim]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> The <<beasttype>> hisses in pain and dives back into the churning water. <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest Swim]]>><<set $eventskip to 1>><</link>> <br> <<elseif $rescue is 1 and $forest lte 20>> <<gwylanForestRescue "river">> <<elseif $rescue is 1 and $forest gte 21>> You hear a gun fire close by, and a bullet lands near the <<beasttype>>. <<bHe>> backs off in fear and flees into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and hauls you out of the water. "Damn lizards," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <</if>><<location "forest">> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<molested>> <<controlloss>> <<tentaclestart 10 15 "root" "vine" true>> <<elseif $molestationstart is 2>><<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<consensual>> <<set $consensual to 1>> You give a small wiggle, inviting them closer. <<deviancy5>> <<set _randomtentacles to 6+random(1, 10)>> <<tentaclestart _randomtentacles 15 "root" "vine" true>> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Forest Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> The roots lose interest in you, and disappear into the soil. <<tearful>> you untangle yourself from the plants and vines surrounding you. <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<location "forest">><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<molested>> <<controlloss>> <<set $enemytype to "vore">> <<set $vorestage to 1>> <<set $vorecreature to "snake">> <<set $vorestrength to 1>><<set $position to "doggy">> <<set $timer to 4>> <<resetLastOptions>> <<getCombatDefaultsType>> <</if>> <<if $timer is 1>> <<set $trance to 0>> You break free from the trance, and realise the snake is trying to eat you! <</if>> <<voreeffects>> <<vore>> <<voreactions>> <<if $vorestage gte 7>> <span id="next"><<link [[Next|Forest Snake Finish]]>><</link>></span><<nexttext>> <<elseif $vorestage lte 0>> <span id="next"><<link [[Next|Forest Snake Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Snake]]>><</link>></span><<nexttext>> <</if>><<effects>> <<set $trance to 0>> <<if $vorestage gte 7>> <<tearful>> you struggle as the snake starts to move. It journeys for several minutes until with a great heave the snake pushes you up and through its gullet once more, expelling you from its body. <br><br> <<endcombat>> <<if $swarmdisable is "f">> You land in a pit of thousands of tiny snakes. <br><br> <<link [[Next|Forest Snake Swarm]]>><<pass 10>><<set $molestationstart to 1>><</link>> <<else>> The snake slithers away. It took you deeper into the forest. <br><br> <<clotheson>> <<link [[Next|Forest]]>><<pass 10>><<set $eventskip to 1>><<set $forest += 20>><</link>> <br> <</if>> <<else>> <<tearful>> you escape from the snake's maw. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<location "forest">><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<molested>> <<controlloss>> <<set $combat to 1>> <<set $enemytype to "swarm">> <<swarminit "snakes" "swarm" "slithering" "slither" "keep back" 10 0>> <<set $timer to 20>> <</if>> <<swarmeffects>> <<swarm>> <<swarmactions>> <<if $timer lte 0>> <span id="next"><<link [[Next|Forest Snake Swarm Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Snake Swarm]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> The snakes slither off of you, escaping through nooks and crannies all around the pit. <br><br> <<endcombat>> <<clotheson>> <<link [[Next|Forest]]>><<set $stress -= 500>><<set $eventskip to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>><<set $enemytrust -= 40>><<set $enemyanger += 40>><<set $enemyhealthmax to 400>><<set $enemyhealth to 400>><<set $enemyarousalmax to 1000>> You continue on your path. You don't get far before hearing a roar behind you. <<if $monster is 1>> "Tiny, squishy little morsel!" <</if>> <br><br> <<if isLoveInterest("Eden") and (random(1, 2) is 2 or $eden_rescue isnot 1)>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Bear Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Bear Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Satisfied, the <<beasttype>> returns to its abode. <<if $monster is 1>> "Next time I might take you with me, squishy," <<bhe>> coos. <</if>> <br><br> <<tearful>> you continue on your way. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> You scare the mighty <<beasttype>>. <<bHe>> flees deeper into the forest. <<if $monster is 1>> "Not so tiny! Not so squishy!" <<bhe>> yells as <<bhe>> runs. <</if>> <br><br> <<tearful>> you continue on your way. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $rescue is 1 and $alarm is 1>> You hear a gun fire close by, and a bullet lands near the <<beasttype>>. <<bHe>> backs off in fear and flees into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn bears," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <</if>><<location "forest">><<effects>> You drop to the ground and adopt a mating posture. <<deviancy2>> The <<beasttype>> paces towards you and sniffs. <<if $monster is 1>> "Curious. Good smell." <</if>> <<bHe>> takes advantage of your position and mounts you. <br><br> <<link [[Next|Forest Wolf Sex]]>><<set $sexstart to 1>><</link>> <br><<location "forest">><<effects>> You drop to the ground and adopt a mating posture. <<deviancy3>> The <<beastsplural>> pace towards you and sniff. <<if $monster is 1>> <br><br> "Smells fresh. Me first!"<br> "No! Me first!"<br> "I saw first!"<br> "I smelled first!"<br><br> <</if>> They growl at each other. After a brief tussle, with many scratches and bites, the victor takes advantage of your position and mounts you. <br><br> <<link [[Next|Forest Wolf Sex2]]>><<set $sexstart to 1>><</link>> <br><<location "forest">><<effects>> <<if $syndromewolves gte 1>> You throw your head back and howl into the canopy. The <<if $phase is 1>><<beastNEWinit 2 wolf>><<beastsplural>> join<<else>><<beastNEWinit 1 wolf>><<beasttype>> joins<</if>> in, and you're answered by others in the distance. After a couple of minutes the howling dies down, and the <<if $phase is 1>><<beastsplural>> step<<else>><<beasttype>> steps<</if>> into view. <br><br> <<if $monster is 1>> "<<pPackbrother>>. Good to see." <br><br> <</if>> <<if $monster is 1 or $bestialitydisable is "f">> <<if $phase is 1>> <<if hasSexStat("deviancy", 3)>> <<link [[Mate|Forest Wolf Sex2]]>><<set $phase to 2>><<set $sexstart to 1>><</link>><<deviant3>> <br> <</if>> <<else>> <<if hasSexStat("deviancy", 2)>> <<link [[Mate|Forest Wolf Sex]]>><<set $phase to 2>><<set $sexstart to 1>><</link>><<deviant2>> <br> <</if>> <</if>> <</if>> <<link [[Pat and depart|Forest Pat]]>><<trauma -6>><<stress -12>><</link>><<ltrauma>><<lstress>> <br> <<else>> You throw your head back and howl into the canopy. The <<if $phase is 1>><<beastNEWinit 2 wolf>><<beastsplural>> join<<else>><<beastNEWinit 1 wolf>><<beasttype>> joins<</if>> in, and you're answered by others in the distance. After a couple of minutes the howling dies down. The <<if $phase is 1>><<beastsplural>> depart.<<else>><<beasttype>> departs.<</if>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<beastTrainGenerate>> <<if $monster is 1 and $phase is 2>> "<<pPackbrother>> in <<pheat>>? Will help!" <</if>> <<set $NPCList[0].stance to "top">><<set $enemytrust -= 20>><<deviancy3>> <<if isLoveInterest("Eden") and (random(1, 2) is 2 or $eden_rescue isnot 1)>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Wolf Sex2 Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf Sex2]]>><</link>></span><<nexttext>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<forestRescueSetup>> <<if $monster is 1 and $phase is 2>> "<<pPackbrother>> in <<pheat>>? Will help!" <</if>> <<set $NPCList[0].stance to "top">><<set $enemytrust -= 20>><<deviancy2>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1 and $rescue is 2>> <span id="next"><<link [[Next|Forest Coop Rescue]]>><<set $phase to 1>><</link>></span><<nexttext>> <<elseif _combatend>> <span id="next"><<link [[Next|Forest Wolf Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf Sex]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $phase is 1>> You pat and stroke the <<beastsplural>>' heads. They rub against your hand, but don't stay long. <br><br> <<if $monster is 1>> "Stay safe, <<ppackbrother>>." <br><br> <</if>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> You pat and stroke the <<beasttype>>'s head. <<bHe>> rubs against your hand, but doesn't stay long. <br><br> <<if $monster is 1>> "Stay safe, <<ppackbrother>>." <br><br> <</if>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> licks your <<undies>> then slinks away between the trees. <<if $monster is 1>> "Tasty." <</if>> <<wolfpacktrust>> <br><br> <<tearful>> you rise to your feet. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> The <<beasttype>> whines and flees between the trees. <<if $monster is 1>> "Too strong!" <</if>> <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $finish is 1>> The <<beasttype>> turns away from you and slinks between the trees. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $rescue is 1 and $forest lte 20>> <<gwylanForestRescue "beast">> <<elseif $rescue is 1 and $forest gte 21>> You hear a gun fire close by, and a bullet lands near the <<beasttype>>. <<bHe>> backs off in fear and flees into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn wolves," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <</if>><<effects>> <<if $enemyhealth lte 0>> <<beastwound>> <<if $combatTrain.length gt 0>> The <<beasttype>> recoils in pain and fear, but the other is eager for a go. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf Sex2]]>><</link>> <<else>> The <<beasttype>> recoils in pain and fear. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf Sex2 Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the <<beasttype>> moves and another <<print $combatTrain.beastTypes[1]>> takes its turn. <<wolfpacktrust>> <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf Sex2]]>><</link>> <<else>> Satisfied, the <<beasttype>> moves away from you. <<wolfpacktrust>> <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf Sex2 Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $rescue is 1 and $alarm is 1>> You hear a gun fire close by, and a bullet lands near the <<beasttype>>. <<bHe>> backs off in fear and flees into the forest, the other following close behind. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn wolves," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <<elseif $finish is 1>> <<if $consensual is 1>> The <<beastsplural>> slink away between the trees. <<else>> <<if $enemywounded is 1 and $enemyejaculated is 0>> The <<beasttype>> whimpers and flees into the darkness between the trees. <<elseif $enemywounded is 0 and $enemyejaculated is 1>> The <<beasttype>> leaves you lying on the grass. <<elseif $enemywounded gte 2 and $enemyejaculated is 0>> Feeling that you're more trouble than you're worth, the <<beastsplural>> flee between the trees. <<elseif $enemywounded is 0 and $enemyejaculated gte 2>> The <<beastsplural>> leave you spent and shivering on the grass. <<elseif $enemywounded gte 1 and $enemyejaculated gte 1>> The <<beastsplural>> leave you spent and shivering on the grass. <</if>> <</if>> <br><br> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<location "forest">><<effects>> <<flaunting>> you leave your hiding place and walk towards the <<person>>, your <<lewdness>> proudly displayed. <<He>> drops <<his>> axe and jaw when <<he>> sees you, then rubs <<his>> eyes. "I've been hitting those shrooms too hard," <<he>> mutters. <<if $exposed gte 2>> <<exhibitionism5>> <<else>> <<exhibitionism3>> <</if>> <<link [[Flaunt|Forest Cutter Flaunt]]>><<arousal 600>><<trauma -6>><<stress -12>><</link>><<garousal>><<ltrauma>><<lstress>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Forest Cutter Seduce]]>><</link>><<promiscuous2>> <br> <</if>><<location "forest">><<effects>> The <<person>> embeds <<his>> axe in the tree and leans against it. "What brings you out here?" <<he>> asks. <br><br> <<link [[Chat (0:30)|Forest Cutter Chat]]>><<stress -6>><<trauma -3>><<pass 30>><</link>><<ltrauma>><<lstress>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Forest Cutter Seduce]]>><</link>><<promiscuous2>> <br> <</if>><<location "forest">><<effects>> You stay and chat with the <<person>>. <<He>> seems happy for the company. <br><br> <<if $pain gte 40>> <<He>> doesn't mention your tears, but <<he>> offers you a tissue. You blow your nose. <<lpain>><<pain -5>> <br><br> <</if>> <<if $rng gte 81>> "If you see any strange fellows," <<he>> says at one point. "Stay away. Criminals sometimes traffic through these woods. Getting stuff into town that they shouldn't." <<elseif $rng gte 61>> "Folks from the temple sometimes come out here for ceremonies," <<he>> says at one point. "I avoid them. Creepy buggers." <<elseif $rng gte 41>> "Some of the animals here will hunt humans," <<he>> says at one point. "I always manage to scare them off. You might have more trouble though. Be careful." <<elseif $rng gte 21>> "They say the snakes here can put you in a trance," <<he>> says at one point. "Seems far-fetched. Don't know why anyone would want to risk going so deep anyway." <<else>> "There's a maniac living deep in these woods," <<he>> says at one point. "Probably the most dangerous thing in here, and that's saying something. Lives deeper than anyone with sense ever ventures." <</if>> <br><br> After a while <<he>> looks at the sky. "I need to get back to work," <<he>> says, lifting <<his>> axe. "It was nice meeting you. Go careful now." <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<location "forest">><<effects>> <<set $seductiondifficulty to 6000>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> You sit on the grass and look up at <<him>>. "I'm just looking for some company," you say, patting the grass next to you. <<promiscuity2>> <<if $seductionrating gte $seductionrequired>> <<He>> hesitates. You reach up, take <<his>> arm and gently pull <<him>> on top of you. <br><br> <<link [[Next|Forest Cutter Sex]]>><<set $sexstart to 1>><</link>> <br> <<else>> <<He>> hesitates. You reach up and tug <<his>> arm but <<he>> pulls away from you. "No, I really need to get back to work," <<he>> says. "Stay safe." <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<location "forest">><<effects>> You give <<him>> a slow twirl while walking towards <<him>>, making sure <<he>> gets to see you from other angles. <<He>> looks away, <<his>> face turning red. "Don't be shy," you purr. "You can look all you want." You're close to <<him>> now, so close <<he>> has to look up to avoid seeing you. <<He>> turns around. "Y-you should take these to cover with," <<he>> says, pulling some towels from a bag sat on a tree stump. "You might attract some bad types dressed like that." <<He>> looks through the trees, still facing away from you. "Please leave me to work. If we're seen people will get the wrong idea." <br><br> <<endevent>> <<link [[Take the towels|Forest]]>><<set $eventskip to 1>><<towelup>><</link>> <br> <<link [[Just leave|Forest]]>><<set $eventskip to 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<if isLoveInterest("Eden") and (random(1, 2) is 2 or $eden_rescue isnot 1)>> <<enable_rescue>> <</if>> <<maninit>> <<set $enemytrust += 50>> <br><br> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Cutter Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Cutter Sex]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> falls asleep on the grass. <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<elseif $enemyhealth lte 0>> You knock the <<person>> back. <<He>> trips over a stump. <<tearful>> you escape into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<elseif $rescue is 1 and $alarm is 1>> You hear a gun fire close by, and a bullet lands near the <<person>>. "The maniac," <<he>> whispers. <<He>> backs off in fear and flees into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn bastard," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <<else>> <<He>> climbs to <<his>> feet. "I should get back to work," <<he>> says. "People would get the wrong idea if they saw us." <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</if>><<location "forest">><<effects>> <<if $rng gte 51>> You creep forward. The deer remains still. You step within arm's reach, and hold out your hand. It sniffs you, then goes back to grazing. <<ltrauma>><<lstress>><<trauma -6>><<stress -6>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<else>> You creep forward. Unfortunately, the deer turns and runs in the other direction. It disappears into the trees. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<location "forest">><<effects>> <<generate1>><<generate2>> You stop in the middle of the trail, and wait. A <<fullGroup>> walk into view. They slow down when they see the strange <<girl>> stood still, staring at them. <br><br> "You lost?" the <<person1>><<person>> asks. <br><br> "I need you to have me," you say. <<if $worn.lower.name isnot "naked">> <<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>> <<if $worn.under_lower.name is "naked">> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>><<set $worn.lower.skirt_down to 0>> You lift up your $worn.lower.name, <span class="lewd">exposing your <<undies>>.</span> <<else>><<set $worn.lower.state to "thighs">> You pull down your $worn.lower.name, <span class="lewd">exposing your <<undies>>.</span> <</if>> <</if>> <</if>> <<if $worn.under_lower.name isnot "naked">> <<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.vagina_exposed to 1>> <<set $worn.under_lower.state to "thighs">><<set $worn.under_lower.exposed to 2>> <<if $worn.lower.name is "naked">> You pull down your $worn.under_lower.name, <span class="lewd">exposing your <<genitals>>.</span> <<else>> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>><<set $worn.lower.skirt_down to 0>> You lift up your $worn.lower.name with one hand while lowering you $worn.under_lower.name with the other <span class="lewd">exposing your <<genitals>>.</span> <<else>><<set $worn.lower.state to "thighs">> You pull down your $worn.lower.name and $worn.under_lower.name, <span class="lewd">exposing your <<genitals>>.</span> <</if>> <</if>> <</if>> <<promiscuity4>> The pair share a grin. "We'll be happy to oblige," <<he>> says, stepping closer. <br><br> <<link [[Next|Forest Slime Rape]]>><<set $sexstart to 1>><</link>> <br><<location "forest">><<effects>> <<generate1>><<generate2>> You stop in the middle of the trail, and wait. A <<fullGroup>> walk into view. They slow down when they see the strange <<girl>> stood still, staring at them. <br><br> "You lost?" the <<person1>><<person>> asks. <br><br> "I-I need," you say. "I need you to have me." <br><br> The pair share a grin. "We'll be happy to oblige," <<he>> says, stepping closer. <br><br> <<link [[Next|Forest Slime Rape]]>><<set $molestationstart to 1>><</link>> <br><<location "forest">><<effects>> <<if $earSlime.defyCooldown>> <<if $earSlime.growth gte 100>> <<set $earSlime.defyCooldown += 2>> You turn and run into the forest, making sure you get far away from the pair and whatever the slime wants you to do, and feel a jolt of pain as the slime punishes you for defiance. However, <span class="red">it doesn't stop you, knowing that it can punish you in other ways.</span> <<else>> You turn and run into the forest, making sure you get far away from the pair and whatever the slime wants you to do, and feel a jolt of pain as the slime punishes you for defiance. However, <span class="teal">it's still worn out from overpowering you earlier.</span> You feel it try, <span class="green">but fail,</span> to force your steps in the opposite direction. <</if>> <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10)>> <<if hasSexStat("promiscuity", 4) and $earSlime.growth lt 100>> <<set $earSlime.defyCooldown += 4>> <<else>> <<set $earSlime.defyCooldown += 8>> <</if>> <<generate1>><<generate2>> You turn and run into the forest, making sure you get far away from the pair and whatever the slime wants you to do. You feel a jolt of pain as the slime punishes you for defiance. It tries to force your legs in the other direction, <span class="red">and overpowers your will.</span> <<ggwillpower>><<willpower 3>> <br><br> You stop in the middle of the trail, and wait. A <<fullGroup>> walk into view. They slow down when they see the strange <<girl>> stood still, staring at them. <br><br> "You lost?" the <<person1>><<person>> asks. <br><br> "I-I need," you say. "I need you to have me." <br><br> The pair share a grin. "We'll be happy to oblige," <<he>> says, stepping closer. <br><br> <<link [[Next|Forest Slime Rape]]>><<set $molestationstart to 1>><</link>> <br> <<else>> You turn and run into the forest, making sure you get far away from the pair and whatever the slime wants you to do. You feel a jolt of pain as the slime punishes you for defiance. It tries to force your legs in the other direction, <span class="green">but fails.</span> <<gwillpower>><<willpower 1>> <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $noFinish to 1>> <<maninit>> <<forestRescueSetup>> <<elseif $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<set $noFinish to 1>> <<maninit>> <<forestRescueSetup>> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1 and $rescue is 2>> <span id="next"><<link [[Next|Forest Coop Rescue]]>><<set $phase to 2>><</link>></span><<nexttext>> <<elseif _combatend>> <span id="next"><<link [[Next|Forest Slime Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Slime Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> They step away from you, smiling. "They said there were fairies living in this forest," the <<person1>><<person>> says. "Didn't expect them to be sluts though." Laughing, they continue on their journey. <br><br> Your knees buckle as the slime's influence fades. <<tearful>> you steady yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<elseif $enemyhealth lte 0>> The pair stagger back, swearing, and flee into the forest. <br><br> Your knees buckle as the slime's influence fades. <<tearful>> you steady yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $rescue is 1 and $forest lte 20>> <<gwylanForestRescue "man" "slime">> <<elseif $rescue is 1 and $forest gte 21>> You hear a gun fire close by, and a bullet lands at the pair's feet. They back off in fear and flee into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<slimePunishmentForest>> <br><br> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn hikers," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<slimePunishmentForest>> <br><br> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <<else>> You shove the pair away from you. <<tearful>> you run. <br><br> You feel a jolt of pain as the slime punishes you for defiance. It tries to steal control of your legs, but fails. <<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</if>><<location "forest">><<effects>> In one motion, you turn and drop to your hands and knees. You wiggle provocatively, and growl. <<deviancy4>> A <<beasttype>> steps out from the forest, sniffs you, then mounts. <br><br> <<link [[Next|Forest Slime Wolf Rape]]>><<set $sexstart to 1>><</link>> <br><<location "forest">><<effects>> In one motion, you turn and drop to your hands and knees. You wiggle provocatively, and growl. <br><br> A <<beasttype>> steps out from the forest, sniffs you, then mounts. <br><br> <<link [[Next|Forest Slime Wolf Rape]]>><<set $molestationstart to 1>><</link>> <br><<location "forest">><<effects>> <<if $earSlime.defyCooldown>> <<if $earSlime.growth gte 100>> <<set $earSlime.defyCooldown += 2>> You turn and run into the forest and feel a jolt of pain as the slime punishes you for defiance. However, <span class="red">it doesn't stop you, knowing that it can punish you in other ways.</span> <<else>> You turn and run into the forest. The slime tries to overpower your will, and feel a jolt of pain as the slime punishes you for defiance. However, <span class="teal">it's still worn out from overpowering you earlier.</span> You feel it try, <span class="green">but fail,</span> to force your steps in the opposite direction. <</if>> <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10)>> <<if hasSexStat("deviancy", 4) and $earSlime.growth lt 100>> <<set $earSlime.defyCooldown += 4>> <<else>> <<set $earSlime.defyCooldown += 8>> <</if>> You try to run into the forest, <span class="red">but the slime overpowers your will.</span> It forces you to turn and drop to your hands and knees. You wiggle provocatively, and growl. <<ggwillpower>><<willpower 3>> <br><br> A <<beasttype>> steps out from the forest, sniffs you, then mounts. <br><br> <<link [[Next|Forest Slime Wolf Rape]]>><<set $molestationstart to 1>><</link>> <br> <<else>> You turn and run into the forest. The slime tries to overpower your will, <span class="green">but you resist its influence.</span> The beast doesn't give chase. <<gwillpower>><<willpower 1>> <br><br> The slime retaliates with a jolt of pain. <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $noFinish to 1>> <<forestRescueSetup>> <<set $NPCList[0].stance to "top">> <<elseif $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $noFinish to 1>> <<forestRescueSetup>> <<set $NPCList[0].stance to "top">> <</if>> <<effects>> <<effectsman>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <br><br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if $alarm is 1 and $rescue is 2>> <span id="next"><<link [[Next|Forest Coop Rescue]]>><<set $phase to 3>><</link>></span><<nexttext>> <<elseif _combatend>> <span id="next"><<link [[Next|Forest Slime Wolf Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Slime Wolf Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> climbs off of you, and disappears into the forest. <br><br> Your knees buckle as the slime's influence fades. <<tearful>> you steady yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<elseif $enemyhealth lte 0>> The <<beasttype>> yelps and flees into the forest. <br><br> Your knees buckle as the slime's influence fades. <<tearful>> you steady yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $rescue is 1 and $forest lte 20>> <<gwylanForestRescue "beast" "slime">> <<elseif $rescue is 1 and $forest gte 21>> You hear a gun fire close by, and a bullet lands at the pair's feet. They back off in fear and flee into the forest. <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<slimePunishmentForest>> <br><br> <<edenCagedSave>> <<else>> Eden emerges and helps you collect yourself. "Damn wolves," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<slimePunishmentForest>> <br><br> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <<else>> The <<beasttype>> runs into the forest, whimpering. <br><br> <<tearful>> you try to stand, but a jolt of pain sends you sprawling. The slime punishes you for defiance. <<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</if>><<effects>> You search among the trees at the edge of the clearing, looking for seeding orchids. You find several hiding beneath a bough. <br><br> <span class="gold">You can now grow <<icon "tending/orchid.png">> orchids.</span> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<effects>> You search around the base of ancient trees, looking for <<icon "tending/orchid.png">> orchids in bloom. <<if $tendingSuccess>> <<wearProp "orchid">> <span class="green">You find some around the base of a great oak.</span> <<tending_pick orchid>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br> <<else>> <span class="red">You find none that would sell at market.</span><<gtending>><<tending 2>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>><<wearProp "rose" "red">> You reach into the rose bushes, searching for seeding flowers. You avoid the thorns as best you can, but a few tear at you regardless. <br><br> <span class="gold">You can now grow <<icon "tending/red_rose.png">> red roses.</span> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br><<effects>> You search the rose bushes for blooming flowers, careful to avoid the thorns. <<if $tendingSuccess>> <<wearProp "rose" "red">> <span class="green">One bush blooms with <<icon "tending/red_rose.png">> red roses.</span> <<tending_pick red_rose>> <<else>> <span class="red">None of the flowers look suitable for market.</span><<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>><<effects>> You drop to your knees and crawl through the grass, searching for seeding lilies in the shadow of larger plants. <br><br> <span class="gold">You can now grow <<icon "tending/lily.png">> lilies.</span> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<effects>> You drop to your knees and crawl through the grass, searching for blooming <<icon "tending/lily.png">> lilies. <<if $tendingSuccess>> <<wearProp "lily">> <span class="green">You find some saleable specimens hiding beneath a fern.</span><<tending_pick lily>> <<else>> <span class="red">You find none that would sell at market.</span><<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>><<effects>> You lean against the tree, until the breeze changes direction and the haze lifts. You begin to feel more sure-footed, and are soon confident that you can continue. <br><br> <<if $foresthunt gte 1>><<set $foresthunt += 1.5>><</if>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $willpowerSuccess>> You continue walking. You're nagged by the fear that you're going the wrong way. It's hard to tell with the sky obscured by the canopy. <span class="green">You remain focused on your path,</span> and soon find the haze thinning. The dizziness subsides.<<willpower 1>><<gwillpower>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<else>> You continue walking, but the dizziness does not subside. You're nagged by the fear that you're going the wrong way. It's hard to tell with the sky obscured by the canopy. <span class="red">You change direction,</span> hoping to escape the haze, but it doesn't help. You turn again, and again. The dizziness becomes more intense, and you find it harder to think. You're lost.<<ggwillpower>><<willpower 3>> <br><br> You keep walking, the haze becomes sweeter, so much that you can taste it in the air. <br><br> You come across a large plant, taller and thicker than you. It's surrounded by vines and flowers. Clouds of white dust emerge from an aperture on top. <br><br> <<link [[Next|Forest Pitcher]]>><</link>> <br> <</if>><<location "forest">><<effects>> <<if $earSlime.defyCooldown>> <<if $earSlime.growth gte 100>> <<set $earSlime.defyCooldown++>> You continue walking, but defy the slime's instructions, and feel a jolt of pain as the slime punishes you for defiance. However, <span class="red">it doesn't stop you, knowing that it can punish you in other ways.</span> <<else>> You continue walking, but defy the slime's instructions, and feel a jolt of pain as the slime punishes you for defiance. However, <span class="teal">it's still worn out from overpowering you earlier.</span> You're nagged by the fear that you're going the wrong way. It's hard to tell with the sky obscured by the canopy. <span class="green">You remain focused on your path,</span> and soon find the haze thinning. The dizziness subsides.<<willpower 1>><<gwillpower>> <</if>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 11)>><<set $earSlime.defyCooldown += 4>> You try to walk against the slime's instruction, <span class = "red">but it overpowers your will</span> and the dizziness does not subside. You're nagged by the fear that you're going the wrong way. It's hard to tell with the sky obscured by the canopy. The dizziness becomes more intense, and you find it harder to think.<<willpower 3>><<gwillpower>> <br><br> You keep walking, the haze becomes sweeter, so much that you can taste it in the air. <br><br> You come across a large plant, taller and thicker than you. It's surrounded by vines and flowers. Clouds of white dust emerge from an aperture on top. <br><br> <<link [[Next|Forest Pitcher]]>><</link>> <<else>> You continue walking, but defy the slime's instructions. You're nagged by the fear that you're going the wrong way. It's hard to tell with the sky obscured by the canopy. <span class="green">You remain focused on your path,</span> and soon find the haze thinning. The dizziness subsides.<<willpower 1>><<gwillpower>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<location "forest">><<effects>> While you follow the slimes instructions, the dizziness does not subside. It's hard to tell where the slime is taking you with the sky obscured by the canopy. The dizziness becomes more intense, and you find it harder to think. <br><br> You keep walking, the haze becomes sweeter, so much that you can taste it in the air. <br><br> You come across a large plant, taller and thicker than you. It's surrounded by vines and flowers. Clouds of white dust emerge from an aperture on top. <br><br> <<link [[Next|Forest Pitcher]]>><</link>> <br><<effects>> The dizziness becomes too intense. The world spins, and you fall. The vines spring to life as you land on them, wrapping around your limbs and pulling you into the air<<if $worn.handheld.name isnot "naked">>, forcing you to drop your $worn.handheld.name.<<handheldruined>><<else>>.<</if>> You dangle, limp, as they lift you over the maw of the plant, and then inside.<<if $slimeObey isnot true>><<gtrauma>><<ggstress>><<trauma 6>><<stress 12>><</if>> <br><br> The fall jolts you to your senses. You land in a thick mucus that sticks to your skin, making it tingle. <<bodyliquid "feet" "nectar">> <<bodyliquid "thigh" "nectar">> <<bodyliquid "bottom" "nectar">> <br><br> <<if $parasite.left_ear.name isnot "slime" and $parasite.right_ear.name isnot "slime">> <<link [[Try to escape|Forest Pitcher Struggle Start]]>><</link>><<willpowerdifficulty 1 700>> <br> <</if>> <<link [[Endure|Forest Pitcher Endure]]>><</link>><<gggarousal>> <br><<effects>> <<if $willpowerSuccess>> You feel the strange dizziness descend once more, but <span class="green">you shake yourself free of its influence.</span> You're in trouble, and need to act.<<gwillpower>><<willpower 1>> <br><br> You pull yourself free of the sticky mucus, rising to your feet. It still comes up to your knees, but you think you'll be able to pull yourself free. You look around. The plant walls don't look too thick. You might also be able to reach the aperture above. <br><br> <<link [[Tear through|Forest Pitcher Break]]>><</link>><<physiquedifficulty 1 $physiquemax>> <br> <<link [[Climb out|Forest Pitcher Climb]]>><</link>><<athleticsdifficulty 1 1000>> <br> <<else>> You feel the strange dizziness descend once more, and <span class="red">sneeze as the thought of trouble passes.</span> You slide back into the warm, relaxing fluid.<<gggarousal>><<ggwillpower>><<willpower 3>> <br><br> <<link [[Next|Forest Pitcher Endure]]>><</link>> <br> <</if>><<effects>> <<bodyliquid "thigh" "nectar">> <<bodyliquid "feet" "nectar">> <<bodyliquid "chest" "nectar">> <<bodyliquid "bottom" "nectar">> <<bodyliquid "tummy" "nectar">> <<if $physiqueSuccess>> You feel around for a solid footing, then punch the wall of the plant. <span class="green">You feel it yield.</span> You punch again, and again. More mucus drips from above, but you continue your assault. <br><br> <<if !$worn.over_upper.type.includes("naked") or !$worn.over_lower.type.includes("naked") or!$worn.upper.type.includes("naked") or !$worn.lower.type.includes("naked") or !$worn.under_lower.type.includes("naked") or !$worn.under_upper.type.includes("naked")>> <span class="pink">Your clothing feels looser as the mucus dissolves it.</span> <<set $worn.over_upper.integrity -= 50>> <<set $worn.over_lower.integrity -= 50>> <<set $worn.upper.integrity -= 50>> <<set $worn.lower.integrity -= 50>> <<set $worn.under_upper.integrity -= 50>> <<set $worn.under_lower.integrity -= 50>> <<integritycheck>><<exposure>> <br><br> <</if>> Something wraps around your ankle just as your fist breaks through. You shake yourself free and tear open a gap wide enough for your body. More vines spring to life, but they're too slow. You escape into the trees. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<else>> You punch the wall of the plant, <span class="red">but it doesn't yield at all.</span> You try again, hoping to find some weak spot, but a thick vine rises from the mucus and snatches your waist, pulling you back into the fluid. <br><br> <<link [[Next|Forest Pitcher Resist]]>><</link>> <br> <</if>><<effects>> <<bodyliquid "thigh" "nectar">> <<bodyliquid "feet" "nectar">> <<if $athleticsSuccess>> You jump <span class="green">and your hands gain purchase on the lip of the plant.</span> You haul yourself out, dropping to the vine-covered ground and escaping through the trees before the dust can influence you once more.<<lstress>><<stress -6>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<else>> You jump for the lip of the plant, <span class="red">but your fingers slide off</span>. You try a few more times, until you feel something snake up and around your leg. It tugs, and you fall back into the slime. <br><br> <<link [[Next|Forest Pitcher Resist]]>><</link>> <</if>><<effects>> <<drench "nectar" 2 "outside">><<drugs 180>> Multiple tentacles wrap around your wrists and ankles as you lie, lightheaded, in the goo. You struggle, but can't put up much of a fight as you are lifted into the air. <br><br> <<if !$worn.upper.type.includes("naked") or !$worn.lower.type.includes("naked") or !$worn.under_lower.type.includes("naked") or !$worn.under_upper.type.includes("naked")>> More mucus drips from above, <span class="pink">coating and dissolving your clothing.</span> <<upperruined>><<lowerruined>><<underruined>><<underupperruined>> <<exposure>> <br><br> <</if>> More vines emerge, their tips dripping with more of the sweet fluid. They squirm over your bare skin, over your <<breasts>> and <<genitals>>.<<ggtrauma>><<gggstress>><<trauma 12>><<stress 48>><<gggarousal>><<arousal 10000>> <br><br> The tingling in your skin becomes too much to bear. <<orgasm>> You hang limp, but the vines don't cease their assault. <<if $player.breastsize gte 3>> Two wrap around your <<breasts>>, squeezing them, while the tips of two of the thinner tendrils open. They latch onto your nipples, and suck. <<else>> The tips of two of the thinner tendrils open. They latch onto your <<nipples>>, and suck. <</if>> <<if $milk_amount gte 1 and $breastfeedingdisable is "f" and $lactating gte 1>> You feel your chest respond to the sensation, and milk flows from your buds. You remain suspended, helpless, as the plant suckles. <<breastfeed 5>> <<elseif $breastfeedingdisable is "f">> <<milkvolume 5>> <</if>> <<arousal 10000>> <<orgasm>> <<link [[Next|Forest Pitcher Resist 2]]>><</link>> <br><<effects>> The walls close in, squeezing you. You're pushed upwards by the pressure. You slide from the plant and land on the bed of vines with a squelch. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>><<effects>> <<drench "nectar" 2 "outside">><<drugs 180>> Any thought of danger passes as the warm slime envelops you. <<if !$worn.upper.type.includes("naked") or !$worn.lower.type.includes("naked") or !$worn.under_lower.type.includes("naked") or !$worn.under_upper.type.includes("naked")>> <span class="pink">You barely notice as it dissolves your clothing.</span> <<upperruined>><<lowerruined>><<underruined>><<underupperruined>> <<exposure>> <</if>> <br><br> You feel slimy vines wrap around your limbs and waist, lifting your limp body into the air. More vines emerge, hot liquid dripping from their tips. They squirm over your bare skin, over your <<breasts>> and <<genitals>>. <<if $slimeObey is true>> The slime rewards for doing as you were told. <<ltrauma>><<lstress>><<trauma -6>><<stress -24>><<unset $slimeObey>> <<else>> <<ggtrauma>><<gggstress>><<trauma 12>><<stress 48>> <</if>> <<gggarousal>><<arousal 10000>> <br><br> The tingling in your skin becomes too much to bear. <<orgasm>> You hang limp, but the vines don't cease their assault. <<if $player.breastsize gte 3>> Two wrap around your <<breasts>>, squeezing them, while the tips of two of the thinner tendrils open. They latch onto your nipples, and suck. <<else>> The tips of two of the thinner tendrils open. They latch onto your <<nipples>>, and suck. <</if>> <<if $milk_amount gte 1 and $breastfeedingdisable is "f" and $lactating gte 1>> You feel your chest respond to the sensation, and milk flows from your buds. You remain suspended, helpless, as the plant suckles. <<breastfeed 5>> <<elseif $breastfeedingdisable is "f">> <<milkvolume 5>> <</if>> <<arousal 10000>> <<orgasm>> <<link [[Next|Forest Pitcher Endure 2]]>><</link>><<effects>> The walls close in, squeezing you. You're pushed upwards by the pressure. You slide from the plant and land on the bed of vines with a squelch. <br><br> You lie naked on the ground, sticky with slime and twitching with arousal. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<effects>> <<clothesstrip>> The wasps<<if $analdisable is "f">>, including the one that latched onto your bottom,<</if>> circle you as you strip, seeming to enjoy the show. <<deviancy4>> The instant you're finished, they approach you with a more relaxed pace. <br><br> <<link [[Next|Forest Wasps]]>><<set $struggle_start to 2>><</link>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "wasp">> <<struggle_creatures 2 2>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $analdisable is "f">> <<set $struggle.anus.creature to "wasp">><<set $anususe to "struggle">><<set $anusstate to "struggle">><<set $struggle.enemy[0].location to "anus">> <</if>> <<unset $struggle_start>> <<elseif $struggle_start is 2>> <<struggle_init>> <<set $struggle.creature to "wasp">> <<struggle_creatures 2 2>> <<set $combat to 1>> <<neutral 1>> <<consensual>> <<set $consensual to 1>> <<if $analdisable is "f">> <<set $struggle.anus.creature to "wasp">><<set $anususe to "struggle">><<set $anusstate to "struggle">><<set $struggle.enemy[0].location to "anus">> <</if>> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Forest Wasps End]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Forest Wasps]]>><</link>></span> <br> <</if>><<effects>> The buzzing fades into the trees. <<tearful>> you continue through the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<effects>> You shake the <<icon "tending/apple.png">> apple trees, hoping to dislodge some of the fruit. <<if $tendingSuccess>> <<wearProp "apple">> <span class="green">You catch some shiny ones.</span> <<tending_pick apple 6 18>> <<else>> <span class="red">None fall.</span> Those on the ground are too bruised.<<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>><<effects>> You stand on tiptoe, and test the <<icon "tending/pear.png">> pears. <<if $tendingSuccess>> <<wearProp "pear">> <span class="green">You find some ripe ones.</span> <<tending_pick pear 6 18>> <<else>> <span class="red">All the ones you can reach are too squishy.</span><<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>><<effects>> You search the short trees for saleable <<icon "tending/lemon.png">> lemons. <<if $tendingSuccess>> <<wearProp "lemon">> <span class="green">You find a bunch, nice and yellow.</span> <<tending_pick lemon 6 18>> <<else>> <span class="red">They're all too green.</span><<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>><<effects>> You search the short trees for saleable <<icon "tending/blood_lemon.gif">> lemons. <<if $tendingSuccess>> <<wearProp "blood lemon">> <span class="green">You find a bunch,</span> their yellow skin criss-crossed by red veins. <<tending_pick blood_lemon 6 18>> <<earnFeat "In Red Light">> <br><br> You feel strangely heated.<<drugs 60>><<arousal 600>><<garousal>> <<else>> <span class="red">They're all too green.</span><<gtending>><<tending 2>> <</if>> <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>><<effects>><<wearProp "honeycomb">> You climb the tree until you're level with the hive. You reach for the <<icon "tending/wild_honeycomb.png">> honeycomb, and snap off a large chunk. <<silently>><<tending_pick wild_honeycomb 1 1>><</silently>> <<earnFeat "Oh Bother">> <<if $tendingSuccess>> <span class="green">The bees don't react.</span> <br><br> Not wanting to tempt fate, you climb back down the tree, prize in hand. <br><br> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br> <<else>> <span class="red">The buzzing intensifies.</span> <br><br> You clamber down the tree, prize in hand. Four immense bees emerge from the hive, and shoot after you. <br><br> <<link [[Next|Forest Honey Struggle]]>><<handheldon>><<set $struggle_start to 1>><</link>> <br> <</if>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "bee">>/*Creature species*/ <<struggle_creatures 4 2>>/*How many creatures will be involved, and their health.*/ <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Forest Honey Struggle End]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Forest Honey Struggle]]>><</link>></span> <br> <</if>><<effects>> You escape into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<effects>><<set $rescued++>> <<if $phase is 0 or $phase is 2>> You hear a gun fire close by, and a bullet lands at the pair's feet. At the same time, a ?gwylanItem crashes into the <<person1>><<persons>> face. They back off in fear and flee into the forest. <<elseif $phase is 1 or $phase is 3>> You hear a gun fire close by, and a bullet lands near the <<beasttype>>. At the same time, a ?gwylanItem crashes into the <<beasttype>>'s side. <<bHe>> backs off in fear and flees into the forest. <<else>> You hear a gun fire close by, and a bullet splashes by the <<beasttype>>. At the same time, a ?gwylanItem crashes into the <<beasttype>>'s side. <<bHe>> backs off in fear and flees into the water. <</if>> <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedCoopSave>> <<elseif $gwylan_eden_coop gte 4>> <<set $gwylan_eden_coop++>> "Nice aim," Eden says as <<nnpc_he "Eden">> emerges from the forest. <br><br> "Wish I could say the same," Gwylan replies, stepping through the treeline on the opposite side. "Unless you were aiming for the <<if $phase is 4>>water<<else>>dirt<</if>>." Eden snorts, and almost smiles. <br><br> <<if $gwylan_eden_coop is 5>> You smile. Eden used to be so suspicious of Gwylan, and Gwylan used to be so scared of Eden. It's nice to see them getting along. <<trauma -12>><<ltrauma>> <br><br> <</if>> <<if $gwylan_aborted is 1>> <<set $gwylan_aborted to 0>> Gwylan frowns for a moment. "Hey, why were you attacking <<phim>> earlier? Did you fall out?" <br><br> Eden sighs, crossing <<nnpc_his "Eden">> arms. "<<pShe>> needed to learn to obey me." Gwylan doesn't seem happy with the answer, but doesn't push it. <br><br> <<elseif $gwylan_aborted is 2>> <<set $gwylan_aborted to 0>> <<nnpc_He "Gwylan">> can't meet your gaze. "Sorry for not saving you before, but I'm not messing with the alpha. I don't want the entire pack breaking my door down." <br><br> "Wait, you were attacked by the alpha? The black one?" Eden growls. "If that thing lays a single mangy paw on you, I'll hunt myself a nice black rug." <br><br> <</if>> "Well, bye," Gwylan says,<<if $phase isnot 4>> gathering <<nnpc_his "Gwylan">> items and<</if>> walking off in the direction of <<nnpc_his "Gwylan">> shop. Eden stays, checking to make sure you're alright. <<if $phase is 2 or $phase is 3>> <br> <<slimePunishmentForest>> <</if>> <br><br> <<clotheson>> <<endcombat>> <<forestCabinReturnLinks>> <<elseif $gwylan_eden_coop gte 1>> <<set $gwylan_eden_coop++>> Eden and Gwylan both emerge from opposite sides of the forest path. Eden eyes Gwylan suspiciously, but <<nnpc_he "Eden">> doesn't deem <<nnpc_him "Gwylan">> a threat. <br><br> "Good thing we were both in the area," Gwylan says, shifting from foot to foot. Eden doesn't respond. <<if $gwylan_aborted is 1>> <<set $gwylan_aborted to 0>> Gwylan frowns. "Hey, why were you attacking <<phim>> earlier? Did you fall out?" <br><br> Eden sighs, crossing <<nnpc_his "Eden">> arms. "<<pShe>> needed to learn to obey me." Gwylan doesn't seem happy with the answer, but doesn't push it. <<elseif $gwylan_aborted is 2>> <<set $gwylan_aborted to 0>> <<nnpc_He "Gwylan">> turns to you and rubs the back of <<nnpc_his "Gwylan">> neck. "Sorry for not saving you before, but I'm not messing with the alpha. I don't want the entire pack breaking my door down." <br><br> "Wait, you were attacked by the alpha? The black one?" Eden growls. "If that thing lays a single mangy paw on you, I'll hunt myself a nice black rug." <</if>> <br><br> After a moment's silence, Gwylan<<if $phase isnot 4>> gathers <<nnpc_his "Gwylan">> items, then<</if>> turns and walks away in the direction of <<nnpc_his "Gwylan">> shop without another word. Eden stays, checking to make sure you're alright. <<if $phase is 2 or $phase is 3>> <br> <<slimePunishmentForest>> <</if>> <br><br> <<clotheson>> <<endcombat>> <<forestCabinReturnLinks>> <<else>> <<set $gwylan_aborted to 0>><<set $gwylan_eden_coop to 1>><<silently>><<nnpc_gendery "Gwylan">><</silently>> <<set _Gwylan to ($forest_shop_intro is 1 or $gwylan_rescue is 1 ? "Gwylan" : "The " + _text_output)>> Eden emerges from the treeline. "You okay?" <<nnpc_he "Eden">> asks. "Good thing I was here to-" <br><br> <<if _Gwylan is "Gwylan">> <<nnpc_Hes "Eden">> cut off by Gwylan bursting through the treeline. <<else>> <<nnpc_Hes "Eden">> cut off by a mousy <<nnpc_gendery "Gwylan">> bursting through the treeline. <</if>> Eden unslings <<nnpc_his "Eden">> rifle and points at <<nnpc_him "Gwylan">>. <br><br> "W-wait!" _Gwylan raises <<nnpc_his "Gwylan">> arms, dropping a ?gwylanItem <<nnpc_he "Gwylan">> was carrying. "I'm on your side! I was coming to save <<phim>>!" <br><br> Eden doesn't lower <<nnpc_his "Eden">> gun. "Why should I believe you?" <<nnpc_He "Eden">> rests <<nnpc_his "Eden">> finger on the trigger. <<stress 3>><<gstress>> <br><br> "It's true, really!" _Gwylan glances in your direction, then back to Eden. "I run a shop by the entrance to town, and I was taking stock when I heard <<phim>> scream. <<if $gwylan_rescue is 1>>I've saved <<phim>> before, <<pshes>> my friend.<<else>><<if $forest_shop_intro is 1>><<pShes>> one of my customers.<</if>> I wanted to save <<phim>>.<</if>>" <br><br> <<if _Gwylan is "Gwylan">> Eden looks at you for confirmation. You nod, and <span class="green"><<nnpc_he "Eden">> lowers <<nnpc_his "Eden">> gun</span>. "Fine. But don't try anything." <br><br> "I won't," Gwylan says. "I gotta get back to the shop anyway, now that I know <<pshes>> safe." <<else>> Eden frowns, then <span class="green">lowers <<nnpc_his "Eden">> gun</span>. "Fine. But don't try anything." <br><br> _Gwylan sighs in relief, and lowers <<nnpc_his "Gwylan">> arms as well. <<nnpc_He "Gwylan">> turns to you. <<nnpc_He "Gwylan">> looks about your age, with mousy hair and freckles. "I'm older than I look," <<nnpc_he "Gwylan">> says, as if reading your mind. "I'm Gwylan. Nice to meet you!" <br><br> "I have a shop right by the outskirts of the forest," <<nnpc_he "Gwylan">> says. "You can't miss it. I sell-" <<nnpc_He "Gwylan">> pauses. "My grand<<father>> sells-" another pause. "I sell knick-knacks there. Things you won't find in normal shops. Even I don't know what I have in stock!" <<nnpc_He "Gwylan">> sounds proud. Eden snorts. <</if>> <br><br> <<if $gwylan_rescue isnot 1>> <<set $gwylan_rescue to 1>> <<nnpc_He "Gwylan">> starts to walk off, but stops and turns around. "By the way," <<nnpc_he "Gwylan">> says. "I was able to hear you because you were close enough to my shop. <span class="gold">If you go any further than the start of the lake, I won't be able to hear you.</span> Keep it in mind." <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> <br><br> "As for me," Eden says, "I happened to be in the area. <span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in danger. Even beyond the lake." <</if>> <<elseif $eden_rescue isnot 1>> <<set $eden_rescue to 1>> As Gwylan turns to set out, Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> With that said, Gwylan walks back in the direction of <<nnpc_his "Gwylan">> shop, <<nnpc_his "Gwylan">> thrown merchandise forgotten. Eden stays, and checks to make sure you're alright. <<if $phase is 2 or $phase is 3>> <br> <<slimePunishmentForest>> <</if>> <br><br> <<clotheson>> <<endcombat>> <<forestCabinReturnLinks>> <</if>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "pale slime">> <<if $wraith.state is "haunt">> <<struggle_creatures 3 2>> <<else>> <<struggle_creatures 2 1>> <</if>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Forest Pale Slime Struggle End]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Forest Pale Slime Struggle]]>><</link>></span> <br> <</if>><<effects>> The slimes disappear into the river. <<tearful>> you look around frantically. <<if $phase is 1>> The pale figure is nowhere to be found. You breathe a sigh of relief, but waste no time getting back on the move. <<endRainWraith true>> <<set $wraith.hunt -= 3>> <<if $wraith.hunt lte 0>> You think you've lost it, but you stay on your guard. <<set $wraith.hunt to 0>><<set $wraith.timer += 5>> <<else>> It's likely still coming for you, but you've put valuable distance between you and it. <</if>> <<else>> The pale figure is nowhere to be found. You're about to breathe a sigh of relief, but hear a laugh from the treeline. You break out into a run. <<endRainWraith>> <</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<if $sexstart is 1 or $molestationstart is 1>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>><<set $consensual to 1>> <<neutral 1>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <</if>> <<if isLoveInterest("Eden") and (random(1, 2) is 2 or $eden_rescue isnot 1)>> <<enable_rescue>> <</if>> <<maninit "plant">><<npcexpose>> <<set $enemyarousalmax to 800>> <<if $phase is 2>> <<set _randomtentacles to random(10, 12)>> <<else>> <<set _randomtentacles to random(6, 10)>> <</if>> <<makeAbomination _randomtentacles 8 "vine" "vine" true>> <<if $phase is 1>> <<if $player.penisExist>> <<set $NPCList[0].mouth to "penisentrance">><<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $penistarget to 0>> <<else>> <<set $NPCList[0].mouth to "vaginaentrance">><<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $vaginatarget to 0>> <</if>> <<set $NPCList[0].location.head to "genitals">> <<set $tentacles[0].shaft to "leftarm">><<set $leftarm to "tentgrappled">><<set $leftarmstate to 0>><<set $lefttarget to "tentacles">> <<set $tentacles[1].shaft to "rightarm">><<set $rightarm to "tentgrappled">><<set $leftarmstate to 0>><<set $righttarget to "tentacles">> <<elseif $phase is 0 and !$consensual>> <<npckiss>> <</if>> <</if>> <<effects>> <<effectsabomination>> <<if $alarm is 1 and $rescue is 0>> <<set $alarm to 0>> <<forestRescueFail>> <br><br> <</if>> <<abomination>> <<stateabomination>> <br><br> <<actionsabomination>> <<if _combatend>> <span id="next"><<link [[Next|Forest Plant Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Plant Sex]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<if $phase is 1>> <<ejaculation "short">> <<else>> <<ejaculation>> <</if>> "That was fun!" the <<person>> chirps. "I wish more humans were like you." <br><br> <<He>> picks <<himself>> up off the ground and dusts off one of <<his>> vines. "If you're ever in the area, hit me up! I'd love to do this again!" <<He>> walks off, <<his>> vines shambling behind <<him>>. <br><br> <<tearful>> you gather yourself. <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<elseif $enemyhealth lte 0>> The <<person>> backpedals from you, looking at you warily. "Yeesh, a bit uncalled for, wouldn't you say? I just wanted us to feel good." <<His>> vines all retract away from you. <br><br> <<He>> rubs one of <<his>> vines, frowning. "Well, if you're ever in the area, hit me up. Maybe we can pick up where we left off, if you're in a better mood!" <<He>> walks off, <<his>> vines trailing weakly behind <<him>>. <br><br> <<tearful>> you gather yourself. <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<elseif $alarm is 1 and $rescue is 1>> You hear a gun fire close by, and a bullet lands at the <<persons>> feet. "Fuck," <<he>> hisses. "It's the <<nnpc_title "Eden">>. Fuck. Fuck shit fuck. Um." <<He>> grabs your face and gives you a syrupy kiss on each cheek, before pulling away from you. "See ya! I'm out!" <<bodyliquid "face" "goo">> <br><br> <<if $edenCagedEscape>> <<clotheson>> <<endcombat>> <<edenCagedSave>> <<else>> The <<person>> retracts <<his>> vines and retreats into the forest right as Eden emerges. <<nnpc_He "Eden">> helps you collect yourself. "Damn hikers," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to hear you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a shout if you're in trouble." <br><br> <</if>> <<forestCabinReturnLinks>> <</if>> <</if>><<location "forest">><<effects>> <<if $backgroundTraits.includes("plantlover") and $nectar_timer lte 14>> You practically lurch forward and capture the <<persons>> lips with your own. <<He>> gasps into your own, and you thrust your tongue into <<his>> mouth, abandoning all self-control. <span class="green">Sweet nectar fills your mouth.</span> <<nectarfed 10>> <br><br> <<takeKissVirginity $NPCList[0] "addiction">> <<promiscuity1>> The <<person>> comes back to <<his>> senses, and wraps <<his>> vines around you. With a gentle, almost teasing push, <<he>> sends you to the forest floor and lowers <<himself>> to lie on top of you. "If I'd know you loved it so much," <<he>> whispers, "I'd have offered more than a kiss. Way more." <br><br> <<link [[Next|Forest Plant Sex]]>><<set $molestationstart to 1>><<set $phase to 0>><</link>> <<else>> You lean forward and kiss the <<person "normal">>, and <<he>> smiles against your mouth. <span class="lewd"><<His>> lips are sticky, and taste very sweet.</span> <<takeKissVirginity $NPCList[0] "consensual">><<promiscuity1>> <<if $rng gte 81>> <<He>> suddenly thrusts <<his>> tongue into your mouth. Something drips into your mouth, and your taste buds are assaulted by a dizzyingly sweet flavour. <<nectarfed 10>> <br><br> Your mind gets foggy, and you barely notice <<him>> pushing you to the ground. <span class="purple">The vines behind <<him>> writhe to life, slithering behind <<him>>.</span> <br><br> "Thanks for that," the <<person>> whispers, lowering <<himself>> to lie on top of you. "Now I think I'll take a bit more than a kiss." <br><br> <<link [[Next|Forest Plant Sex]]>><<set $molestationstart to 1>><<set $phase to 0>><</link>> <<else>> <<He>> holds the kiss for a few seconds, before nipping your upper lip and pulling away. You lick your lips. Syrupy nectar lingers around your mouth. <br><br> Behind <<him>>, <span class="purple">the vines writhe to life</span>, wriggling in contentment. "What did you think?" the <<person>> asks, winking. "Pretty great kiss, huh? Well, I thought so." <br><br> <<He>> turns to walk away. "Well, hope that brings you good luck! See you around, <<girl>>!" <br><br> <<if hasSexStat("deviancy", 3) or $backgroundTraits.includes("plantlover")>> <<link [[Seduce|Forest Plant Seduce]]>><</link>><<deviant3>> <br> <<link [[Say goodbye|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <<else>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <</if>> <</if>> <</if>><<location "forest">><<effects>> "Leaving so soon?" you ask, batting your eyes. The <<person>> turns back. "I could give you so much more than just a kiss. <<if $tentacledisable is "f">>Show me what those vines can do<<else>>Come and get me<</if>>." <br><br> <<set $seductiondifficulty to 0>> <<seductioncheck>> <br><br> <<His>> eyes light up. "Oh, hell yeah!" <<He>> lunges for you and throws <<his>> arms around you, tackling you to the forest floor. <<His>> vines come to <<his>> side, writhing around you. "I love meeting humans who love nature." <br><br> <<if $seductionskill lt 1000>><span class="gold">You feel more confident in your powers of seduction... though you suspect <<he>> would've said yes no matter what.</span><br><br><</if>><<seductionskilluse>> <<link [[Next|Forest Plant Sex]]>><<set $sexstart to 1>><<set $phase to 0>><</link>><<location "forest">><<effects>> "Huh?" The <<persons "normal">> face scrunches up. "But why not?" <br><br> <<He>> thinks for a few seconds, <<if $rng gte 51>> before gasping. "Oh, I get it! You just want to skip the foreplay! I like your style." <<stress 6>><<gstress>> <br><br> <span class="purple">The vines behind <<him>> writhe to life, slithering behind <<him>>.</span> The <<person>> licks <<his>> lips. "Don't worry. I won't keep you waiting." <br><br> <<link [[Next|Forest Plant Sex]]>><<set $molestationstart to 1>><<set $phase to 0>><</link>> <<else>> before shrugging. "Well, whatever. I'm sure someone in this forest is willing to smooch a cute <<personsimple>>." <span class="purple">The vines behind <<him>> writhe to life, slithering behind <<him>>.</span> "Later!" <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <</if>><<effects>><<location "forest">> <<set $forest += random(-3,3)*5>><<set $forest = Math.clamp($forest, 21, 100)>> <<generatePlant1>><<person1>> <<orgasm>> You wake up to a sudden rush of pleasure, and a wet sensation on your <<genitals 1>>. You try to sit up, only to find <span class="red">vines binding your arms to the ground</span>. You struggle for a moment, but they coil tighter. <br><br> "Oh, hi there!" You crane your neck, and see a <<person>> sitting between your legs, with <<plant_details>> braided into <<his>> hair. <<if $exposed lte 1>> Your $worn.lower.name <<lowerhas>> been <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>>lifted up<<else>>pulled down<</if>>, <<if !$worn.under_lower.type.includes("naked")>> and your $worn.under_lower.name <<underlowerhas>> been pulled aside,<</if>> <span class="pink">revealing your <<genitals>>.</span> <</if>> <<He>> licks <<his>> lips. "I found you conked out in the forest, so I dragged you somewhere safe and helped myself." <<if playerChastity()>> <<He>> pokes your $worn.genitals.name. "At least, as best I could through this thing. Who put this on you? How cruel. <<else>> <<He>> grins. "It was just a taste, I wanted to wait until you woke up before really going at it. <</if>> Am I squeezing your arms too tight? Sorry if I am." <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>><<set $worn.lower.skirt_down to 0>><<else>><<set $worn.lower.state to "thighs">><</if>> <<set $worn.lower.vagina_exposed to 1>><<set $worn.lower.anus_exposed to 1>><<set $worn.lower.exposed to 2>> <<set $worn.under_lower.vagina_exposed to 1>><<set $worn.under_lower.anus_exposed to 1>><<set $worn.under_lower.exposed to 1>><<set $worn.under_lower.state to "thighs">> <br><br> You try to sit up again, but the vines pull you back down. "Ah bup bup," the <<person>> chides. "Just let me take care of you. Now, where was I...?" <<He>> moves <<his>> mouth back down to your <<genitals>>. <br><br> <<link [[Next|Forest Plant Sex]]>><<set $molestationstart to 1>><<set $phase to 1>><</link>><<effects>> <<if $phase is 0>> You ignore it and continue on your way. You hear a <<personsimple>> in the bush whining as you walk away. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <<else>> Taking a deep breath, you purposefully step into the snare trap. It immediately tightens, pulling your legs together and sending you to the forest floor. The snare splits off to pull your legs apart. <br><br> A <<person "normal">> with <<plant_details>> in <<his>> hair and <span class="purple">writhing vines trailing behind <<him>></span> runs up to you from out of the bush. "Got one!" the <<person>> crows. "And I only waited six hours. I'm pretty much a trapping pro." <<He>> licks <<his>> lips and moves toward you, wiggling <<his>> fingers lewdly. <br><br> <<link [[Next|Forest Plant Sex]]>><<set $molestationstart to 1>><<set $leftleg to "bound">><<set $rightleg to "bound">><</link>> <</if>><<effects>> You plant your feet and brace for impact. The <<beasttype>> veers at the last moment, surprised, then turns to face you. <br><br> <<link [[Next|Forest Boar Rape]]>><<set $molestationstart to 1>><</link>> <br><<effects>> You leap aside at the last moment, out of the <<beasttype>>'s path, <<if $danceSuccess>> <span class="green">and land with a graceful poise.</span> <<if $monster is 1>> "A warning!" <<bhe>> shouts, disappearing between the trees. "Next time, I hit." <<else>> The <<beasttype>> doesn't slow, and disappears into the trees with another snort. <</if>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <br> <<else>> <span class="red">but stumble and fall as you land.</span> The <<beasttype>> swerves and turns to face you once more, slowing as <<bhe>> approaches. <<if $monster is 1>> "Show you what happen," <<bhe>> snorts. "To trespassers." <<else>> <<bHe>> snorts. <</if>> <<gpain>><<pain 4>> <br><br> <<link [[Next|Forest Boar Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <</if>> <<effects>> <<effectsman>> <br><br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Boar Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Boar Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> stomps into the forest. <br><br> <<tearful>> you rise to your feet. <<else>> The <<beasttype>> turns and runs, almost smacking into a tree in <<bhis>> haste to escape. <br><br> <<tearful>> you gather yourself. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br><<effects>> You start to climb the tree towards the nest. You make it up half way, before nearly slipping. <<if $athleticsSuccess>> <<unset $athleticsSuccess>> <span class="green">You manage to steady yourself, though.</span> <br><br> You continue the climb up to the nest, balancing yourself on the large branch it sits on. <<if currentSkillValue('tending') gte 150>> By your quick count, you see <span class="blue"><<number $forest_nest.eggs>></span> viable bird egg<<if $forest_nest.eggs gt 1>>s<</if>>, but you'd need to count them individually to be sure. <br><br> <<link [[Climb down and pick out eggs|Forest Nest Search Eggs]]>><</link>><<tendingdifficulty 100 500>> <br> <<link [[Climb down and try to lure out a fox (0:05)|Forest Nest Bait]]>><<set $forest_nest.eggs -= 3>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <<else>> <span class="blue">You need a higher tending skill to identify which eggs are viable for sale. Until then, you could try to lure a fox to do it for you, if you think you can get the eggs back afterwards...</span> <br><br> <<link [[Climb down and try to lure out a fox (0:05)|Forest Nest Bait]]>><<set $forest_nest.eggs -= 3>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <</if>> <<link [[Climb down and leave|Forest]]>><<endevent>><<unset $forest_nest>><</link>> <br> <<else>> <<if $rng gte 50>> <<set $forest_nest.eggs -= 4>> You manage to steady yourself, but cause a lot of disturbance while doing so. The tree shakes, <span class="red">and the nest falls</span>. Egg white spills through the twigs. <br><br> You climb back down and inspect the nest. <<if $forest_nest.eggs lte 0>> <span class="red">You're met with a puddle of goop.</span> It seems you weren't careful enough. <br><br> <<if $forest_nest.fox isnot 3>> The smell is sure to attract a fox now. <br><br> <</if>> <<if $forest_nest.fox is 2 and !$NPCList[0].traits.includesAny("cowardly","clumsy")>> <<link [[Wait for a fox|Forest Nest Ambushed]]>><</link>> <br> <<else>> <<link [[Wait for a fox|Forest Nest Hide]]>><<set $phase to 1>><</link>> <br> <</if>> <<elseif currentSkillValue('tending') gte 150>> By your quick count, you see <span class="blue"><<number $forest_nest.eggs>></span> viable bird egg<<if $forest_nest.eggs gt 1>>s<</if>>, but you'd need to count them individually to be sure. <br><br> <<link [[Pick up eggs|Forest Nest Search Eggs]]>><</link>><<tendingdifficulty 100 500>> <br> <<link [[Try to lure out a fox (0:05)|Forest Nest Bait]]>><<set $forest_nest.eggs -= 3>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <<else>> <span class="blue">You need a higher tending skill to identify which eggs are viable for sale. Until then, you could try to lure a fox to do it for you, if you think you can get the eggs back afterwards...</span> <br><br> <<link [[Try to lure out a fox (0:05)|Forest Nest Bait]]>><<set $forest_nest.eggs -= 3>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> A branch cracks under your weight, and <span class="red">you fall</span>. <<if $forest_nest.fox is 2 and $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> You brace for impact with the ground, but your landing is much softer than you expect. You open your eyes. <br><br> You're in the arms of a <<beasttype>>. <<bHe>> caught you, and <<bhe>> smiles. <br><br> "That was pretty dangerous. Here, this is how you do it." <<bHe>> gently puts you down, before scampering up the tree effortlessly. <<bHe>> grabs the whole nest and jumps back down. <br><br> "There! Wanna share?" <<bHis>> tail is wagging. <<else>> The ground is not kind. <<gstress>><<stress 6>><<gpain>><<pain 8>> <br><br> As you slowly open your eyes, you feel a warm breath on your face. There's a <<beasttype>> sitting over you. <<bHe>> tilts <<bhis>> head curiously. <br><br> After a moment, <<bhe>> bounds up the tree, picks an egg up in <<bhis>> mouth, and runs back down, placing it next to you. <<if $forest_nest.eggs gt 1>> <<bHe>> repeats this a few more times, making a pile. <</if>> <br><br> <<bHe>> headbutts you, looking at you expectantly as <<bhe>> sits next to the egg pile. <</if>> <br><br> <<if $fox gte 6>> <<link [[Eat one|Forest Nest Share]]>><<transform fox 1>><<stress -4>><</link>><<lstress>> <br> <<else>> <<link [[Eat one|Forest Nest Share]]>><<transform fox 1>><<stress 2>><</link>><<gstress>> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> You hit a few branches on the way down, and ground is not kind. <<gstress>><<stress 6>><<gpain>><<pain 8>> <br><br> You won't be able to attempt another climb with so many of the branches broken. <br><br> <<link [[Knock the nest down|Forest Nest Throw]]>><<set $forest_nest.eggs -= 4>><<set $forest_nest.type to 3>><</link>><<note "Fewer eggs" "red">> <br> <<if $forest_nest.fox is 3>> <<link [[Hide and wait (0:05)|Forest Nest Hide]]>><<unset $athleticsSuccess>><<set $forest_nest.eggs -= 2>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>> <</if>> <</if>><<effects>> You grab a rock and toss it at the nest. It gets knocked loose, falling down in a messy heap. You see goo and yolk leaking through the twigs. <<if $harpy gte 6>><<stress 6>><<ggstress>><</if>> <br><br> <<if $forest_nest.fox isnot 3>> They're sure to attract a fox if you wait around too long. <br><br> <</if>> <<link [[Search the nest|Forest Nest Search]]>><</link>> <br> <<if $forest_nest.fox is 2 and !$NPCList[0].traits.includesAny("cowardly","clumsy")>> <<link [[Wait for a fox (0:20)|Forest Nest Ambushed]]>><</link>><<note "Fewer eggs" "red">> <<else>> <<link [[Wait for a fox (0:20)|Forest Nest Hide]]>><<set $phase to 1>><<set $forest_nest.eggs -= 2>><<pass 20>><</link>><<note "Fewer eggs" "red">> <</if>> <br><<effects>> You approach the nest and look inside. <<if $forest_nest.eggs lte 0>> <span class="red">You're met with a puddle of goop.</span> It seems you weren't careful enough. <br><br> <<if $forest_nest.fox is 2 and !$NPCList[0].traits.includesAny("cowardly","clumsy")>> <<link [[Wait for a fox|Forest Nest Ambushed]]>><</link>> <br> <<else>> <<link [[Wait for a fox|Forest Nest Hide]]>><<set $phase to 1>><</link>> <br> <</if>> <<elseif currentSkillValue('tending') gte 150>> By your quick count, you see <span class="blue"><<number $forest_nest.eggs>></span> viable bird egg<<if $forest_nest.eggs gt 1>>s<</if>>, but you'd need to count them individually to be sure. <br><br> <<link [[Pick up eggs|Forest Nest Search Eggs]]>><</link>><<tendingdifficulty 100 500>> <br> <<link [[Try to lure out a fox (0:05)|Forest Nest Bait]]>><<set $forest_nest.eggs -= 3>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <<else>> <span class="blue">You need a higher tending skill to identify which eggs are viable for sale. Until then, you could try to lure a fox to do it for you, if you think you can get the eggs back afterwards...</span> <br><br> <<link [[Try to lure out a fox (0:05)|Forest Nest Bait]]>><<set $forest_nest.eggs -= 3>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $tendingSuccess>> <span class="green">You find some viable eggs.</span> <<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest.fox gte 2 and $NPCList[0].traits.includesAny("territorial","clever","clumsy")>> As you look up, you hear a rustling behind you. A <<beasttype>> emerges from the treeline. <<if $monster is 1>> <<if $NPCList[0].traits.includes("territorial")>> "This is my territory. You'll pay for this trespass." <<else>> "I saw those first!" <</if>> <<bHe>> wants to challenge you for the eggs! <</if>> <br><br> <<link [[Next|Forest Fox Nest Rape]]>><<set $phase2 to 1>><<set $molestationstart to 1>><</link>> <br> <<elseif $forest.fox gte 2>> As you look up, you hear a rustling behind you. A <<beasttype>> peeks out from the treeline. <<bHe>> looks meek, and doesn't seem to want to challenge you for the eggs. <br><br> <<link [[Offer an egg|Forest Nest Search Offer]]>><<set $plants.bird_egg.amount -= 1>><</link>><<note "- Egg" "red">> <br> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>> <<else>> <span class="red">None of the eggs look suitable for market.</span><<gtending>><<tending 2>> <br><br> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>> You hold out one of the eggs for the <<beasttype>>. <<bHe>> hesitantly approaches, and <<if $monster is 1>> takes it in <<bhis>> hand. <<bHe>> quickly pops it into is mouth. <<else>> grabs it with <<bhis>> mouth. <</if>> <<bHe>> quickly takes a few steps back, but doesn't flee. <br><br> <<link [[Pet|Forest Fox Nest Pet]]>><<set $tendingSuccess to true>><<set $phase2 to 1>><</link>><<llstress>> <br> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $fox gte 2>> You put an egg in your mouth and start to dig a hole. You feel strangely excited. <br><br> Once it's deep enough, you drop the egg from your mouth into the hole. You hastily bury it, and give the dirt some extra patting down. You feel a primal sense of satisfaction. <<else>> You start to dig a hole with your hands. You're not sure why you're doing this. <br><br> Once it's deep enough, you gently place the egg in. You move the small dirt mound back over it, and pat it down. You feel strangely satisfied. <</if>> <br><br> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br><<effects>> You quickly approach the nest. You find an egg that's already cracked, and use your thumb to break it open. <br><br> It's sure to attract a fox if you wait around. <br><br> <<if $forest_nest.fox is 2 and !$NPCList[0].traits.includesAny("cowardly","clumsy")>> <<link [[Wait for a fox|Forest Nest Ambushed]]>><</link>><<note "Fewer eggs" "red">> <<else>> <<link [[Wait for a fox|Forest Nest Hide]]>><</link>><<note "Fewer eggs" "red">> <</if>><<effects>> You wait around for what seems like a long time, with no sign of anything approaching. <br><br> That is, until you hear rapid footsteps behind you. You turn just in time to be <<if $monster is 1>> pounced on by a naked <<beasttype>>. <<else>> knocked clean over by a ball of orange fur. <</if>> <span class="red">There must have already been a <<beasttype>> nearby</span>, and your antics revealed your position! <br><br> <<if $NPCList[0].traits.includesAny("territorial","clever")>> <<if $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> <<bHe>> smugly straddles you, arms crossed. "That was clumsy. You gave yourself away so easily, <<foxnickname>>." <br><br> <<bHe>> stretches, leaving nothing to the imagination. "You need a lesson in subtlety." <<else>> <<bHe>> yips at you, keeping you pinned. <</if>> <br><br> <<link [[Next|Forest Fox Nest Rape]]>><<set $molestationstart to 1>><<set $position to "missionary">><<set $NPCList[0].stance to "top">><</link>> <br> <<else>> You push yourself out from under <<bhim>> and escape.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><</link>> <br> <</if>> <<else>> <<if $monster is 1>> <<bHe>> sniffs you for a moment, and giggles before <span class="green">petting your head.</span> "What were you trying to do? You're a funny one." <br><br> <<bHe>> rolls off of you, walking up to the nest. <<bHe>> inspects it closely. <<if $forest_nest.eggs lte 0>> "They're all broken. No saving any for later. Wanna share?" <<bHe>> pats the ground next to <<bhim>>. <<else>> "There's still some left. Wanna share?" <<bHe>> pops one into <<bhis>> mouth and pats the ground next to <<bhim>>. <</if>> <<else>> <<bHe>> sniffs you for a moment, and <span class="green">gives your face a lick.</span> <<bHis>> tongue tickles. <br><br> <<bHe>> rolls off of you, sauntering up to the nest. <<bHe>> inspects it closely, and <<if $forest_nest.eggs lte 0>> peeks back up with some yolk on <<bhis>> snout. <<else>> peeks back up with an egg in <<bhis>> mouth. <</if>> <<bHe>> seems to want to share with you. <</if>> <br><br> <<if $fox gte 6>> <<link [[Eat one|Forest Nest Share]]>><<transform fox 1>><<stress -4>><</link>><<lstress>> <br> <<else>> <<link [[Eat one|Forest Nest Share]]>><<transform fox 1>><<stress 2>><</link>><<gstress>> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>><<wearProp "egg" 0 "bird">> <<if $forest_nest.eggs lte 0>> You pick up a broken egg and <<if $fox gte 6>>eagerly lap up its yolk<<else>>hesitantly pour the white and yolk into your mouth. It's not as bad as you thought it'd be<</if>>. <<else>> You pick up an egg and <<if $fox gte 6>>eagerly break it open into your mouth<<else>>hesitantly break it open into your mouth. It's not as bad as you thought it'd be<</if>>. <</if>> <br><br> <<if $monster is 1>> You spend some time talking with the <<beasttype>>, who seems glad to finally have someone friendly to talk to. <<else>> You spend some time petting the <<beasttype>>, who seems to adore the attention. <</if>> <br><br> <<if $forest_nest.eggs gte 2>> <<set $forest_nest.eggs to Math.floor($forest_nest.eggs / 2)>> <<bHe>> lets you take half of the remaining eggs. <<tending_bird_eggs $forest_nest.eggs>> <<else>> There's no eggs left to take. <</if>> You eventually say goodbye. <br><br> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br><<effects>> You hide and wait, watching the nest intently. <<if $forest_nest.fox is 3>> <<if $fox gte 6>> The smell is getting closer. Before long, you hear rustling. <<else>> Before long, the rustling continues. <</if>> <<else>> <<if $forest_nest.fox is 1>> <<beastNEWinit 1 fox>> <</if>> Soon enough, you start to hear a rustling nearby. <</if>> <<if $forest_nest.type lte 3>> <<if $forest_nest.type lte 2>> A bright flash of orange and white shoots up the stump of the tree. A <<beasttype>>. <br><br> <<bHe>> clings to the treetop for a moment before approaching the nest. <<bHe>> closes the distance, and starts to dig through. Before long, <<bhe>> peeks up with <<if $monster is 1>> eggs in <<bhis>> hands. <<bHe>> deftly leaps back down from the tree. <<else>> an egg in <<bhis>> mouth. <<bHe>> leaps down from the tree, and starts to make a pile. <</if>> <<else>> A <<beasttype>> peeks into view, staring intently at the nest. <br><br> <<bHe>> hesitantly takes a step forward, looking around. <<bHe>> then darts forward and starts to dig through it. <<if $phase is 1>> <<set $phase to 0>> <<if $monster is 1>> <<bHe>> greedily licks the remains of the eggs from <<bhis>> fingers, <<else>> <<bHe>> starts to greedily lick up the remains of the eggs, <</if>> before moving on to the intact ones. <<if $forest_nest.eggs lte 0>><span class="purple">There don't seem to be many left</span>.<</if>> <<else>> <<if $monster is 1>> <<bHe>> grabs a handful, puts one in <<bhis>> mouth, and bounds a few metres away to make a pile. <<else>> <<bHe>> grabs one in <<bhis>> mouth and bounds a few metres away to start making a pile. <</if>> <</if>> <</if>> <<if $forest_nest.eggs gt 0>> <<if $NPCList[0].type.includes("clever")>> <<set $forest_nest.eggs += 2>><span class="green"><<bHe>> seems to have found quite a few, for the size of the nest.</span> <<elseif $NPCList[0].type.includes("clumsy")>> <<set $forest_nest.eggs -= 1>><span class="purple"><<bHe>> clumsily drops one of them and steps on it,</span> tumbling over <<bhimself>> right after. <</if>> <</if>> <<set $_athlDiffMin to ($NPCList[0].traits.includesAny("terrirorial","cowardly") ? 200 : 1)>> <<set $skulduggerydifficulty to $NPCList[0].skills.security>> <br><br> <<link [[Just watch (0:05)|Forest Fox Nest Watch]]>><<pass 5>><<stress -3>><</link>><<lstress>> <br> <<if $harpy gte 6>> <<link [[Challenge|Forest Fox Nest Challenge]]>><</link>><<harpy>> <br> <<else>> <<link [[Challenge|Forest Fox Nest Challenge]]>><</link>><<physiquedifficulty 1 $physiquemax>> <br> <</if>> <<link [[Sneak up|Forest Fox Nest Sneak]]>><</link>><<skulduggerydifficulty>> <br> <<if $fox gte 6>> <<link [[Chase!|Forest Fox Nest Chase]]>><<set $phase2 to 1>><<stress -6>><<transform fox 1>><</link>><<llstress>><<fox>><<note "No eggs" "red">> <br> <<else>> <<link [[Chase|Forest Fox Nest Chase]]>><<set $phase2 to 1>><<tiredness 6>><</link>><<gtiredness>><<athleticsdifficulty $_athlDiffMin $NPCList[0].skills.athletics>><<note "No eggs" "red">> <br> <</if>> <<else>> A <<beasttype>> peeks into view, staring intently at the nest. <br><br> <<bHe>> hesitantly takes a step forward, looking around. <<bHe>> then darts forward and starts to dig through it. <br><br> You hear a slither and a hiss. <<bHe>> hears it too. <<if currentSkillValue('tending') lt 800>><span class="red">This isn't a bird's nest.</span><</if>> <br><br> A massive snake slithers out from the underbrush, staring directly at the <<beasttype>>. <<if $NPCList[0].traits.includesAny("cowardly","clever")>> <<bHe>> doubles back, darting out of the area without missing a beat. <br><br> You leave too, not wanting to earn the ire of the snake. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<else>> <<if $NPCList[0].traits.includes("territorial")>> <<bHis>> tail puffs out and <<bhis>> back arches as <<bhe>> takes an aggressive stance. The snake lunges. The <<beasttype>> sidesteps and counters, but is caught by the snake's tail and knocked over. <<bHe>> quickly recovers, rolling over and <<if $monster is 1>> grabbing the tail with both hands. <<else>> biting down on the snake's tail. <</if>> <br><br> <<bHes>> not strong enough. <<bHes>> putting up a good fight, but the snake quickly wraps around <<bhim>>. <<else>> <<bHe>> looks completely entranced and frozen. <<bHe>> only manages to weakly bat at the snake as it lunges, and is quickly restrained. <</if>> <<if $voredisable is "f">> <span class="red">The snake's jaw unhinges.</span> <</if>> <br><br> <<link [[Keep watching|Forest Nest Snake Watch]]>><<trauma 12>><<if $voretrait gte 1>><<arousal 20>><</if>><</link>><<ggtrauma>><<if $voretrait gte 1>><<garousal>><</if>> <br> <<link [[Intervene!|Forest Nest Snake Intervene]]>><<stress 12>><</link>><<ggstress>><<physiquedifficulty 1 $physiquemax>> <br> <</if>> <</if>><<effects>> The <<beasttype>> dives behind a bush and starts to dig a hole, before dropping the eggs in and burying them. <<if $monster is 1>> "For later," <<bhe>> says to <<bhimself>> before letting out a satisfied huff and giving the dirt a few pats for good measure. <<else>> <<bHe>> huffs in satisfaction, giving the dirt a few more pats for good measure. <</if>> <<bHe>> bounds away right after. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br><<effects>> The <<beasttype>> dives behind a bush and starts to dig a hole. You slowly step out, and start to approach <<bhim>> from behind. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<if $NPCList[0].traits.includes("friendly")>> <<set _tendingMin to 1>><<set _tendingMax to 300>> <<elseif $NPCList[0].traits.includes("territorial")>> <<set _tendingMin to 200>><<set _tendingMax to 700>> <<else>> <<set _tendingMin to 100>><<set _tendingMax to 600>> <</if>> You carefully avoid any stray stones or twigs, and <span class="green">make it right behind <<bhim>> without a sound.</span> <<skulduggeryuse>> <<link [[Pet|Forest Fox Nest Pet]]>><</link>><<tendingdifficulty _tendingMin _tendingMax>><<llstress>> <br> <<link [[Scare|Forest Fox Nest Scare]]>><<trauma -10>><</link>><<lltrauma>> <br> <<else>> You make it about half way, <span class="red">before stepping on a twig. It snaps loudly.</span> <br><br> <<if $NPCList[0].traits.includes("cowardly")>> The <<beasttypes>> tail stands on end and puffs out as <<bhe>> quickly turns to you, dropping the egg in the process. <<if $monster is 1>> <<bHe>> stumbles backwards, before righting <<bhimself>> and darting away. "Won't catch me!" <<bhe>> yells at you from the increasing distance. <<else>> <<bHe>> lets out a few high-pitched barks as <<bhe>> stumbles backwards, before righting <<bhimself>> and darting away. <</if>> <br><br> A few of the eggs were broken. <<set $forest_nest.eggs -= 2>><<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest_nest.eggs gte 1>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<elseif $NPCList[0].traits.includes("territorial")>> The <<beasttypes>> ear twitches. <<bHe>> stays completely still for a moment. Then, in one swift movement, <<bhe>> bounds around and pounces! <br><br> <<bHe>> knocks you over easily despite <<bhis>> relatively small size. <<if $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> <<bHe>> holds both of your arms down. <<if $fox gte 6>> "What's this? Hoping to catch an easy mate, kit?" <<elseif $cat gte 6>> <<if $NPCList[0].pronoun is "f" and $NPCList[0].breastsize gte 4 and $NPCList[0].lactation is 1>> "Hoping to get some milk, stray?" <<bHe>> presses <<bhis>> $NPCList[0].breastsdesc against you, <<bhis>> face only inches from yours. <<else>> "Aren't you a bit far from home, cat?" <</if>> <<elseif $wolf gte 6>> "Looking for easy prey, pup? You're not the predator here." <<else>> "Thought you could sneak up on me, meat?" <</if>> <<bHe>> stretches low, <<bhis>> posterior in the air. "Lucky you. I'm in quite the mood right now." <<else>> <<bHe>> yips at you, pinning you to the ground. <</if>> <br><br> <<link [[Next|Forest Fox Nest Rape]]>><<set $molestationstart to 1>><<set $position to "missionary">><<set $NPCList[0].stance to "top">><</link>> <br> <<else>> You push yourself backwards and flee.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><</link>> <br> <</if>> <<elseif $NPCList[0].traits.includes("clever")>> The <<beasttypes>> ear twitches. <<bHe>> stays completely still for a moment. <<if $monster is 1>> Then, in one swift movement, <<bhe>> turns around and throws the egg at you! <br><br> It gets you right in the face, splattering yolk all over. <<bHe>> laughs at you, rolling over <<bhimself>> a few times before scampering away. <<bodyliquid "face" "goo">><<stress 6>><<pain 2>><<gstress>><<gpain>> <<else>> Then, in one swift movement, <<bhe>> bounds around and pounces! <br><br> <<bHe>> knocks you over easily despite <<bhis>> relatively small size. <<bHe>> then chomps on the egg right above your face, splattering yolk all over you. <<bHe>> lets out a series of high-pitched barks that sound a bit like laughter, rolling over <<bhimself>> a few times before scampering away. <<bodyliquid "face" "goo">><<stress 6>><<pain 2>><<gstress>><<gpain>> <</if>> <br><br> <<set $forest_nest.eggs -= 3>><<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest_nest.eggs gte 1>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<elseif $NPCList[0].traits.includes("clumsy")>> The <<beasttypes>> tail stands on end and puffs out as <<bhe>> quickly turns to you. <<if $monster is 1>> <<bHe>> stumbles backwards, <span class="red">landing right on the eggs</span>. <<bHe>> quickly rights <<bhimself>> into a pouncing position. "You scared me! Don't do that!" <<bhe>> yells. <<bHe>> looks annoyed, but quickly starts trying to lick the destroyed eggs off <<bhis>> tail. <<bHe>> seems to immediately forget that you're there. <<else>> <<bHe>> rolls over <<bhimself>>, <span class="red">crushing the eggs</span>. <<bHe>> ends up in a pouncing position, staring you down. After a moment, <<bhe>> relaxes, and starts trying to lick the destroyed eggs off <<bhis>> fur. <<bHe>> seems to immediately forget that you're there. <</if>> <<set $forest_nest.eggs to 0>> <br><br> <<link [[Pet|Forest Fox Nest Pet]]>><<set $phase2 to 1>><</link>><<tendingdifficulty 1 200>><<llstress>> <br> <<if $fox gte 6 and $monster is 1>> <<link [[Lick <<bhim>> clean|Forest Fox Nest Lick]]>><<set $phase2 to 1>><</link>><<deviant1>><<fox>> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<else>> The <<beasttypes>> tail stands on end and puffs out. <<bHe>> dashes away without hesitation, crushing an egg in the process. <<bHe>> stops to look at you after <<bhe>> gets far enough away, before continuing to scamper off. <<set $forest_nest.eggs -= 2>><<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest_nest.eggs gte 1>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>> <</if>><<effects>> The <<beasttype>> dives behind a bush and starts to dig a hole. You take the chance to charge forward. <br><br> <<bHe>> doesn't notice you until you're close. <<bHe>> starts to run. <<if $fox gte 6 or $athleticsSuccess>> <<if $athleticsSuccess>> <span class="green">But you're too fast.</span> You dive, catching <<bhim>> and rolling until <<bhes>> pinned under you. <<else>> You scamper along behind <<bhim>>, dashing in between trees. <<bHe>> almost seems to be enjoying it. Eventually you manage to close the distance, pouncing on <<bhim>> and pinning <<bhim>> under you. <</if>> <br><br> <<if $NPCList[0].traits.includes("cowardly")>> <<set _tendingMin to 1>> <<set _tendingMax to 500>> <<if $monster is 1>> <<bHe>> breathes heavily under you. "Wh...what do you want?" <<else>> <<bHe>> pants under you. <<bHe>> looks scared. <</if>> <<elseif $NPCList[0].traits.includes("territorial")>> <<set _tendingMin to 100>> <<set _tendingMax to 600>> <<if $monster is 1>> <<bHe>> pouts at you, letting out a low growl. "H...hurry up and do what you will, already." <<else>> <<bHe>> lets out a low growl. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<set _tendingMin to 1>> <<set _tendingMax to 2>> <<if $monster is 1>> <<bHes>> laughing under you. "That was fun! Thanks for the exercise." <<else>> <<bHe>> lets out many high-pitched barks that almost sound like laughter. <</if>> <<else>> <<set _tendingMin to 1>> <<set _tendingMax to 300>> <<if $monster is 1>> <<bHe>> breathes heavily under you. "You're quick." <<else>> <<bHe>> pants under you. <</if>> <</if>> <br><br> <<link [[Pet|Forest Fox Chase Pet]]>><</link>><<tendingdifficulty _tendingMin _tendingMax>><<llstress>> <br> <<if hasSexStat("deviancy", 2) and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Adopt mating posture|Forest Fox Nest Mate]]>><<set $phase to 1>><</link>><<deviant2>> <br> <<else>> <<insufficientStat "deviancy" "to take things further">> <br> <</if>> <<link [[Let <<bhim>> go|Forest Fox Let Go]]>><</link>> <br> <<else>> You manage to close the distance between you, <span class="red">but <<bhes>> too nimble.</span> <br><br> <<if $NPCList[0].traits.includes("territorial")>> You lose sight of <<bhim>> in a large patch of shrubbery. As you look around, you hear rapid footsteps approaching. You turn just in time to see a flash of orange before you're knocked over. <br><br> The same <<beasttype>> is now on top of you. <<if $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> <<bHe>> holds both of your arms down. <<if $fox gte 6>> "What's this? Hoping to catch an easy mate, kit?" <<elseif $cat gte 6>> <<if $NPCList[0].pronoun is "f" and $NPCList[0].breastsize gte 4 and $NPCList[0].lactation is 1>> "Hoping to get some milk, stray?" <<bHe>> presses <<bhis>> $NPCList[0].breastsdesc against you, <<bhis>> face only inches from yours. <<else>> "Aren't you a bit far from home, cat?" <</if>> <<elseif $wolf gte 6>> "Looking for easy prey, pup? You're not the predator here." <<else>> "Thought you could catch me, meat?" <</if>> <<bHe>> stretches low, <<bhis>> posterior in the air. "Lucky you. I'm in quite the mood right now." <<else>> <<bHe>> yips at you, pinning you to the ground. <</if>> <br><br> <<link [[Next|Forest Fox Nest Rape]]>><<set $molestationstart to 1>><<set $position to "missionary">><<set $NPCList[0].stance to "top">><</link>> <br> <<else>> You push yourself out from under <<bhim>> and flee.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><</link>> <br> <</if>> <<elseif $NPCList[0].traits.includes("clever")>> You briefly lose sight of <<bhim>>, but find <<bhim>> sitting between some shrubs after making a few turns. You start to approach, and <<bhe>> slowly steps back. <br><br> You keep walking forward, until you step on a branch. You're caught off guard as a rope snares around your right leg, hoisting you high into the air. It flips you upside down, leaving you dangling from a nearby tree.<<gstress>><<stress 6>> <br><br> <<if $monster is 1>> The <<beasttype>> laughs at you, rolling around over <<bhimself>>. "Enjoy your time with the <<nnpc_title "Eden">>!" <<bHe>> bounds away. <<else>> The <<beasttype>> makes some mocking barks at you. <<bHe>> bounds away. <</if>> <<endevent>> <br><br> <<link [[Next|Forest Fox Chase Eden]]>><<unset $forest_nest>><</link>> <br> <<else>> <<set $forest += 15>><<set $forest = Math.clamp($forest, 21, 100)>> You lose sight of <<bhim>> in a large patch of shrubbery. There's no sign of <<bhim>>, and you're now deeper in the forest than you remember. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>> <</if>><<effects>> <<npc Eden>><<person1>> You're left hanging there for some time. Any attempts to untie yourself are met with varying levels of failure. Soon, you hear someone approaching. <br><br> Without warning, the rope releases, dropping you back on the ground. You shakily stand. <<if $edenCagedEscape>> A hand grabs you by the back of the neck. "Told you I'd find you again, didn't I?" It's Eden. <br><br> <<He>> pins you against a tree, rage flashing in <<his>> eyes. <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><</link>> <br> <<link [[Try to pull away|Eden Caged Caught Pull]]>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 1>><<pass 30>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <<elseif $syndromeeden is 1 and (($edenfreedom isnot 2 and $edendays gte 7) or ($edenfreedom gte 2 and $edendays gte 21))>> A hand grabs you by the back of the neck. "Where the fuck have you been?" snarls a <<personsimple>>. It's Eden. "I've been worried sick!" <br><br> Before you can speak, Eden begins to drag you away. "I don't want to hear your excuses, either." <<He>> glances scornfully in the direction of the town. "I could figure what you've been up to, anyway. Things aren't going to be pretty when we get home." <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><</link>> <br> <<link [[Try to pull away|Eden Caged Caught Pull]]>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 1>><<pass 30>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <<elseif $edenfreedom gte 2 and $edendays gte 8>> An arm wraps around your neck from behind, while a hand presses against the back of your head. You hear a <<personsimple>>'s voice. "I've been looking for you all over." It's Eden. "Come on, let's go home." <br><br> <<if $asphyxiaLvl gte 3>> <<link [[Resist|Eden Recaptured Resist]]>><<set $fightstart to 1>><</link>> <<else>> <<link [[Resist|Eden Recaptured Resist Normal]]>><<set $molestationstart to 1>><</link>> <</if>> <br> <<link [[Go to the cabin (0:30)|Eden Recaptured]]>><<set $edendays to 0>><<pass 30>><</link>> <br> <<elseif $edenfreedom is 1 and $edendays gte 2>> An arm wraps around your neck from behind, while a hand presses against the back of your head. You hear a <<personsimple>>'s voice. "I've been looking for you all over." It's Eden. "Come on, let's go home." <br><br> <<link [[Resist|Eden Recaptured Resist]]>><<set $fightstart to 1>><</link>> <br> <<link [[Go to the cabin (0:30)|Eden Recaptured]]>><<set $edendays to 0>><<pass 30>><</link>> <br> <<elseif $edenfreedom gte 1>> <<rng>> <<if Time.dayState isnot "night">> "Those traps are meant for animals," you hear a voice say. It's Eden. "I thought you were that damned fox. You should watch where you're going." <<else>> <<if $rng gte 51>> A light blazes into your eyes, obscuring your vision. You raise your arm in front of your face. "Can't see a damn thing out here," says a voice. It's Eden. <<He>> points the torch right at you. "What are you doing out at this time?" <<else>> An arm wraps around your neck from behind, while a hand presses against the back of your head. You struggle, and the perpetrator releases you. "Sorry," says a voice. It's Eden. "I thought a fox tripped that trap, and someone was stealing it." <</if>> <</if>> <br><br> <<forestCabinReturnLinks>> <<else>> A bullet whizzes past and hits a tree in front of you. You shield your face with your arms and stagger backwards. You hear a <<personsimple>>'s voice. "I've got you now, you damned fox-" <<He>> pauses upon seeing you. <br><br> "Looks like I caught something better. Don't move." A cold hard object presses against your back. <br><br> <<link [[Next|Forest Hunter Molestation]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> <<if $harpy gte 6>> You let out a piercing shriek, flaring out your wings. <<else>> You make your presence known, yelling at the <<beasttype>> to get <<bhis>> attention. <</if>> <br><br> <<if $NPCList[0].traits.includes("clumsy")>> Before you can follow through, however, <<bhe>> clumsily stumbles back in shock, <span class="red">crushing the remaining eggs.</span> This particular <<beasttype>> seems too clumsy to challenge effectively. <br><br> <<if $monster is 1>> <<bHe>> quickly rights <<bhimself>> into a pouncing position. "You scared me! Don't do that!" <<bhe>> yells. <<bHe>> looks annoyed, but quickly starts trying to lick the destroyed eggs off <<bhis>> tail. <<bHe>> seems to immediately forget that you're there. <<else>> <<bHe>> ends up in a pouncing position, staring you down. After a moment, <<bhe>> relaxes, and starts trying to lick the destroyed eggs off <<bhis>> fur. <<bHe>> seems to immediately forget that you're there. <</if>> <<set $forest_nest.eggs to 0>> <br><br> <<link [[Pet|Forest Fox Nest Pet]]>><<set $phase2 to 1>><</link>><<tendingdifficulty 1 200>><<llstress>> <br> <<if $fox gte 6 and $monster is 1>> <<link [[Lick <<bhim>> clean|Forest Fox Nest Lick]]>><<set $phase2 to 1>><</link>><<deviant1>><<fox>> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<elseif $NPCList[0].traits.includes("cowardly")>> Before you can follow through, however, <<bhis>> tail puffs up and <<bhe>> flees. <<bHe>> took some of the eggs with <<bhim>>. This particular <<beasttype>> seemed especially cowardly. <<set $forest_nest.eggs -= 2>> <br><br> <<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest_nest.eggs gte 1>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<else>> You make yourself appear as large as possible, <<if $physiqueSuccess or $harpy gte 6>> <span class="green">and <<bhis>> tail puffs out.</span> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> "Damn it! Fine, take the eggs!" <<bHe>> hastily backs off. <<else>> <<bHe>> growls in frustration, but hastily backs off. <</if>> <<else>> <<bHe>> yelps and flees without looking back. <</if>> <br><br> <<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest_nest.eggs gte 1>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<else>> <<if $NPCList[0].traits.includes("territorial")>> but <<bhe>> <span class="red">merely looks at you</span>. <<if $monster is 1>> "Challenging me in my own territory?" <<bHe>> scoffs. "You need to be taught a lesson." <</if>> The <<beasttype>> charges at you! <br><br> <<link [[Next|Forest Fox Nest Rape]]>><<set $molestationstart to 1>><<set $position to "missionary">><<set $NPCList[0].stance to "top">><</link>> <br> <<elseif $NPCList[0].traits.includes("clever")>> but <<bhis>> ear <span class="red">merely twitches</span>. <<if $monster is 1>> Then, in one swift movement, <<bhe>> picks up and throws an egg at you! <br><br> It gets you right in the face, splattering yolk all over. <<bHe>> laughs at you, rolling over <<bhimself>> a few times before scampering away. <<bodyliquid "face" "goo">><<stress 6>><<pain 2>><<gstress>><<gpain>> <<else>> Then, in one swift movement, <<bhe>> bounds around and pounces! <br><br> <<bHe>> knocks you over easily despite <<bhis>> relatively small size. <<bHe>> then chomps on the egg right above your face, splattering yolk all over you. <<bHe>> lets out a series of high-pitched barks that sound a bit like laughter, rolling over <<bhimself>> a few times before scampering away. <<bodyliquid "face" "goo">><<stress 6>><<pain 2>><<gstress>><<gpain>> <</if>> <br><br> <<set $forest_nest.eggs -= 3>><<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest_nest.eggs gte 1>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<elseif $NPCList[0].traits.includes("friendly")>> but <<bhe>> <span class="red">merely tilts <<bhis>> head at you.</span> Unwavering, <<bhe>> approaches you and sniffs you. <<if $monster is 1>> <<bHe>> giggles before <span class="green">petting your head.</span> "Were you trying to scare me? You're too cute for that." <br><br> <<bHe>> returns to the egg pile and sits. <<if $forest_nest.eggs lte 0>> "They're all broken. No saving any for later. Wanna share?" <<bHe>> pats the ground next to <<bhim>>. <<else>> "There's still some left. Wanna share?" <<bHe>> pops one into <<bhis>> mouth and pats the ground next to <<bhim>>. <</if>> <<else>> After a moment, <span class="green">gives your leg a lick.</span> <<bHis>> tongue tickles. <br><br> <<bHe>> returns to the egg pile and sits, putting <<bhis>> face into it and <<if $forest_nest.eggs lte 0>> peeking back up with some yolk on <<bhis>> snout. <<else>> peeking back up with an egg in <<bhis>> mouth. <</if>> <<bHe>> seems to want to share with you. <</if>> <br><br> <<if $fox gte 6>> <<link [[Eat one|Forest Nest Share]]>><<transform fox 1>><<stress -4>><</link>><<lstress>> <br> <<else>> <<link [[Eat one|Forest Nest Share]]>><<transform fox 1>><<stress 2>><</link>><<gstress>> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>> <</if>> <</if>><<effects>> You gently touch the <<beasttypes>> tail. It is incredibly soft. You start to pet it. <<stress -8>><<llstress>> <br><br> <<if $tendingSuccess>> <<if $NPCList[0].traits.includes("territorial")>> <<set $phase to 2>> <<bHe>> freezes up for a moment, <span class="green">before helplessly falling over, belly up</span>. <<if $monster is 1>> "Wh-what are you doing? Stop that this instant! Ahh-" <<bHe>> seems annoyed, but <<bhis>> signs of arousal betray <<bhim>> as you move on to rubbing <<bhis>> belly. <<else>> <<bHe>> tries to growl, but it quickly changes to a low purr as you rub <<bhis>> belly. <</if>> <br><br> <<bHis>> leg kicks in contentment. <<if $monster is 1>> "Damn you... don't... you... dare... stop..." <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <span class="green"><<bHe>> immediately rolls over</span>, exposing <<bhis>> belly to you. <<if $monster is 1>> <<bHe>> pauses for a moment, staring at you. "S-sorry. Couldn't help it. Please keep going." <<else>> <<bHe>> lets out a low squeak, as if asking you to continue. <</if>> You give <<bhis>> belly a rub, and <<bhis>> tail wags in happiness. <<elseif $NPCList[0].traits.includes("clumsy")>> <<set $phase to 2>> <<bHe>> flinches, turning towards you in a defensive posture. <<bHe>> attempts to pounce, <span class="green">but ends up stumbling and rolling over instead</span>. <br><br> <<if $monster is 1>> "N-no! Don't!" <<else>> <<bHe>> yips in despair. <</if>> You take the opportunity to rub <<bhis>> belly. <<bHe>> immediately relaxes, and <<bhis>> leg starts to kick. <<else>> <<bHe>> flinches, <span class="green">but quickly relaxes at your touch</span>. <<if $monster is 1>> <<bHe>> blushes. "What are you doing?" <<else>> <<bHe>> turns to you with curiosity in <<bhis>> eyes. <</if>> You give <<bhis>> tail more attention, gently petting it and smoothing it out. <<bHe>> rolls over onto <<bhis>> belly. <<if $monster is 1>> "H-hey, quit it!" <<bHe>> tries to look upset, but <<bhes>> smiling. <<else>> Your attention is making <<bhim>> purr. <</if>> <</if>> <br><br> <<if $phase isnot 1 and $phase2 isnot 1>> You move to take the eggs from the hole while <<bhes>> distracted. <<tending_bird_eggs $forest_nest.eggs>><<set $phase2 to 1>> <br><br> <</if>> <<if hasSexStat("deviancy", 2) and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Adopt mating posture|Forest Fox Nest Mate]]>><<set $phase to 2>><</link>><<deviant2>> <br> <<else>> <<insufficientStat "deviancy" "to take things further">> <br> <</if>> <<link [[Let <<bhim>> go|Forest Fox Let Go]]>><</link>> <br> <<else>> <<if $NPCList[0].traits.includes("territorial")>> <<bHe>> freezes up for a moment, <span class="red">before turning around and growling</span>. <<bHe>> immediately pounces on you, pinning you down. <br><br> <<if $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> <<bHe>> smugly straddles you, arms crossed over <<bhis>> bare <<print $NPCList[0].breastsdesc>>. <<if $fox gte 6>> "This is my territory, kit. I will not share." <<bHe>> lowers <<bhimself>> down until your faces are nearly touching. "Of course... if you were my mate, things would be different." <<elseif $cat gte 6>> "Haughty little stray. I should teach you a lesson." <<elseif $wolf gte 6>> "This is my territory, insolent pup. Let this be a warning to your pack." <<else>> "This is my territory. But... you're cute." <</if>> <<bHe>> stretches low, <<bhis>> posterior in the air. "I'm feeling generous." <br><br> <</if>> <<link [[Next|Forest Fox Nest Rape]]>><<set $molestationstart to 1>><<set $position to "missionary">><<set $NPCList[0].stance to "top">><</link>> <br> <<else>> You push yourself out from under <<bhim>> and flee.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><</link>> <br> <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<bHe>> immediately tumbles over, <span class="red">taking a defensive stance</span>. <<if $monster is 1>> <<bHe>> pauses for a moment, staring at you. "You scared me. Go away please. Any other fox would not be so kind." <<else>> <<bHe>> lets out a growl, although it's not very intimidating. <</if>> <<bHe>> continues kicking dirt over the bird eggs, but doesn't break eye contact with you. <br><br> You decide not to push your luck. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<elseif $NPCList[0].traits.includes("clumsy")>> <<bHe>> flinches, <span class="red">turning towards you in a defensive posture</span>. <br><br> <<if $monster is 1>> "Don't touch!" <<bHe>> barks threateningly. <<else>> <<bHe>> barks threateningly. <</if>> <<if $phase2 is 1>> However, <<bhe>> seems to, once again, forget you're there. <<bHe>> continues to lick <<bhis>> yolk-stained tail. <</if>> <br><br> You decide not to push your luck. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<else>> <span class="red">The <<beasttypes>> tail stands on end and puffs out</span>. <<bHe>> takes a defensive stance and growls at you. <br><br> <<if $monster is 1>> "These are mine. This is your only warning. Back off." <<else>> <<bHe>> slowly approaches, letting out threatening barks. <</if>> You slowly back away. It's clear <<bhe>> just wants to be left alone, and you oblige, returning to the trail. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>> <</if>><<effects>> You gently touch the <<beasttypes>> <<if $monster is 1>>hair<<else>>fur<</if>>. It is incredibly soft. You start to pet <<bhim>>. <<stress -8>><<llstress>> <br><br> <<if $tendingSuccess>> <<if $NPCList[0].traits.includes("territorial")>> <<set $phase to 2>> <<bHe>> freezes up, but after a moment, <span class="green"><<bhis>> leg starts to kick</span>. <<if $monster is 1>> <<bHe>> starts to whine. "Th...this is so humiliating... please..." <<bHis>> tail is wagging rapidly. You start to pet that instead. <<bHe>> moans in pleasure, unable to stifle it any longer. <<else>> <<bHe>> starts to whine, but <<bhis>> tail starts to wag, too. <</if>> <<if $monster is 1>> <br><br> "Damn you... don't... you... dare... stop..." <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<set $phase to 2>> <span class="green"><<bHe>> immediately starts to purr</span>. <<if $monster is 1>> <<bHe>> pauses for a moment, staring at you. "You're nice. I like you." <<else>> <<bHe>> lets out a low squeak, as if asking you to continue. <</if>> You give <<bhis>> belly a rub, and <<bhis>> tail wags in happiness. <<elseif $NPCList[0].traits.includes("clumsy")>> <<set $phase to 2>> <<bHe>> flinches, <span class="green">but also starts to purr</span>. <br><br> <<if $monster is 1>> "Did you... really just want to pet me?" <<else>> <<bHe>> yips in contentment. <</if>> You take the opportunity to rub <<bhis>> belly. <<bHe>> immediately relaxes, and <<bhis>> leg starts to kick. <<else>> <<bHe>> flinches, <span class="green">but quickly relaxes at your touch</span>. <<if $monster is 1>> <<bHe>> blushes. "Is this all you wanted? I... don't mind..." <<else>> <<bHe>> looks at you with curiosity in <<bhis>> eyes. <</if>> You give <<bhis>> tail more attention, gently petting it and smoothing it out. <<if $monster is 1>> "H-hey, quit it!" <<bHe>> tries to look upset, but <<bhes>> smiling. <<else>> Your attention is making <<bhim>> purr. <</if>> <</if>> <br><br> <<if hasSexStat("deviancy", 2) and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Adopt mating posture|Forest Fox Nest Mate]]>><<set $phase to 3>><</link>><<deviant2>> <br> <<else>> <<insufficientStat "deviancy" "to take things further">> <br> <</if>> <<link [[Let <<bhim>> go|Forest Fox Let Go]]>><</link>> <br> <<else>> <<if $NPCList[0].traits.includes("territorial")>> <<bHe>> freezes up for a moment, <span class="red">before biting your arm</span>. You pull away. <<stress 8>><<pain 8>><<ggstress>><<ggpain>> <br><br> <<bHe>> frees <<bhimself>> from your grasp as you recoil, and <<bhe>> darts away. <<if $monster is 1>> "I was expecting more. You're so boring," <<bhe>> mocks as <<bhe>> runs. <</if>> <<else>> <span class="red">The <<beasttypes>> tail puffs out</span>. <<bHe>> growls. <<stress 4>><<gstress>> <br><br> You release <<bhim>>, not wanting to be bitten. <<bHe>> wastes no time rolling over and darting away. <</if>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>><<effects>> You crawl up to the <<beasttype>>, and give <<bhim>> a gentle lick. <<bHe>> pauses to stare at you. <br><br> You run your tongue up <<bhis>> arm, savouring the taste of <<bhis>> skin. <<bHe>> lets out a soft moan once you reach <<bhis>> neck. You don't stop. You gently grab <<bhis>> cheeks, and lick <<bhis>> face and the very edge of <<bhis>> lips. <<deviancy1>> By the time you're done, <<bhes>> already panting. <br><br> <<if hasSexStat("deviancy", 2)>> <<link [[Adopt mating posture|Forest Fox Nest Mate]]>><<set $phase to 1>><</link>><<deviant2>> <br> <<else>> <<insufficientStat "deviancy" "to take it further">> You leave <<bhim>> panting in the clearing. <br> <</if>> <<link [[Let <<bhim>> go|Forest Fox Let Go]]>><</link>> <br><<effects>> You let the <<beasttype>> go. <<if $NPCList[0].traits.includes("territorial")>> <<if $phase is 2>> <<if $monster is 1>> <<bHe>> stays completely still. <<bHes>> staring at you... longingly? <br><br> Before you can react, <<bhe>> lunges at you. You both tumble, until <<bhes>> on top of you, straddling you. "You think you can just... work me up like that..." <<bHe>> pushes <<bhis>> hands down into your chest, and starts to grind against you. <br><br> "...and not follow through?" <br><br> <<link [[Next|Forest Fox Nest Rape]]>><<set $molestationstart to 1>><<set $position to "missionary">><<set $NPCList[0].stance to "top">><</link>> <br> <<elseif $bestialitydisable is "f">> <span class="red"><<bHe>> takes the opportunity to lunge back at you</span>. It seems you've worked <<bhim>> up. <<bHe>> topples you, pinning you down. <br><br> <<link [[Next|Forest Fox Nest Rape]]>><<set $molestationstart to 1>><<set $position to "missionary">><<set $NPCList[0].stance to "top">><</link>> <br> <<else>> <span class="red"><<bHe>> takes the opportunity to lunge back at you</span>. It seems you've worked <<bhim>> up. You narrowly avoid <<bhis>> snapping jaws and make your escape.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>> <<else>> <<if $monster is 1>> <<bHe>> stares at you in confusion for a moment, before hastily fleeing from you. "I was hoping for more," <<bhe>> yells at you. <<else>> <<bHe>> flees from you without looking back. <</if>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<bHis>> ears wiggle happily. <<if $monster is 1>> "Thanks for<<if $phase is 2>> playing with me and<</if>> petting me," <<bhe>> says. "I wish all people were like you." <</if>> <<bHe>> nuzzles against you, before scampering off into the forest. <<stress -3>><<lstress>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<elseif $NPCList[0].traits.includes("clumsy")>> <<bHe>> clumsily gets to <<bhis>> feet. <br><br> <<if $monster is 1>> "You're... <<if $phase is 2>>nice<<else>>strange<</if>>." <</if>> <<if $phase is 2>> <<bHe>> nuzzles against you, before scampering off into the forest. <<stress -3>><<lstress>> <<else>> <<bHe>> scampers off into the forest. <</if>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<else>> <<bHe>> hesitantly gets to <<bhis>> feet, before quickly fleeing from you. <<bHe>> stops some distance away, looking back at you, before continuing to run. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>><<effects>> You put your head right next to the <<beasttype>>. <br><br> <<if $fox gte 6>> You let out a high-pitched scream, and <<bhe>> jumps and lets a similar one out in response. You both stare each other down, screaming, before <<bhe>> scrambles away. <<elseif $harpy gte 6>> You let out a piercing screech, and <<bhe>> jumps and screams in response. You both stare each other down, screaming, before <<bhe>> scrambles away. <<elseif $wolf gte 6>> "Woof." <<bHe>> jumps, tail puffed out, and lets out a high-pitched scream before scrambling away. <<elseif $cat gte 6>> "Meow." <<bHe>> jumps, tail puffed out, and lets out a high-pitched scream before scrambling away. <<elseif $cow gte 6>> "Moo." <<bHe>> jumps, tail puffed out, and lets out a high-pitched scream before scrambling away. <<else>> "Caught you." <<bHe>> jumps, tail puffed out, and lets out a high-pitched scream before scrambling away. <</if>> <<if $NPCList[0].traits.includes("clumsy")>> <<bHe>> stumbles, crushing some of the eggs underfoot.<<set $forest_nest.eggs -= 2>> <</if>> <br><br> <<if $NPCList[0].traits.includesAny("territorial", "clever")>> <<bHe>> stops a distance away from you, before turning around and sitting down. <<bHe>> looks profoundly annoyed. <<if $foresthunt gte 1>> <<set $foresthunt += 3>> <<bHe>> puffs <<bhis>> chest out, before letting an even louder scream into the air. <br><br> <span class="red">You feel whatever's hunting you draw closer.</span> <<if $monster is 1>> <<bHe>> smugly smiles at you before darting away. <<else>> <<bHe>> yips at you a few times before darting away. <</if>> <<else>> <<saveNPC 0 "fox_grudge">> <<set $fox_grudge to 1>> <<if $monster is 1>> "Dick," <<bhe>> barks. "<span class="red">I'll remember this</span>." <<else>> <span class="red">And angry</span>. <</if>> <</if>> <br><br> You decide not to linger. <<tending_bird_eggs $forest_nest.eggs>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <<else>> <<bHe>> stops to look back at you once, before continuing to run away. <<tending_bird_eggs $forest_nest.eggs>> <br><br> <<if $forest_nest.eggs gte 1>> <<link [[Bury one|Forest Nest Bury]]>><<trauma -3>><<transform fox 1>><<set $plants.bird_egg.amount -= 1>><</link>><<ltrauma>><<note "- Egg" "red">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<set $eventskip to 1>><<unset $forest_nest>><</link>> <br> <</if>><<location "forest">><<effects>> <<if $phase is 1>> You rub up against the <<beasttype>>. <<bHe>> couldn't get out from under you if <<bhe>> wanted to, but you don't think <<bhe>> wants to anymore. <<elseif $phase is 2>> You start to pet lower. The <<beasttype>> leans into you. <<elseif $phase is 3>> You start to pet lower, leaning into the <<beasttype>>. <<bHe>> suddenly seems very eager. <<else>> You show your appreciation, getting on all fours. <</if>> <<if $monster is 1>> <<if $NPCList[0].traits.includes("territorial")>> <<if $phase is 3>> <<bHe>> clings to you, already panting. You must have really worked <<bhim>> up. <<else>> Despite <<bhis>> previous comments, it seems like <<bhe>> wanted this too. <</if>> <<else>> "I don't have a mate, so... this should be okay..." <</if>> <<else>> Most foxes mate for life. <<bHe>> must not have one. <</if>> <<deviancy2>> <<link [[Next|Forest Fox Nest Sex]]>><<set $sexstart to 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">> <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red"><<bHe>> screams right back in your face, drowning out your own screams.</span>'>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Fox Nest Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Fox Nest Sex]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<if $phase is 3>> <<bHe>> pants, clinging to you. <<bHe>> lets out a long breath, and nuzzles into you, eyes closed. After a moment, <<bhe>> seems to realise what <<bhes>> doing, and quickly gets to <<bhis>> feet. "Th...thanks." <<else>> <<bHe>> gets to <<bhis>> feet, and looks at you smugly. "Consider that a gift." <</if>> <<else>> <<bHe>> huffs in triumph. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> <<bHe>> nuzzles you. "That was fun!" <<else>> <<bHe>> nuzzles your face. <</if>> <<stress -3>><<lstress>><br> <<else>> <<if $monster is 1>> <<bHe>> gets to <<bhis>> feet. "Thank you. Maybe I can find a real partner, now." <<else>> <<bHe>> licks your face. <</if>> <</if>> <<bHe>> slinks away between the trees. <br><br> <<tearful>> you rise to your feet. <<if $phase2 isnot 1>><<tending_bird_eggs $forest_nest.eggs>><</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<if $phase is 3>> <<bHe>> stumbles away from you, trembling. "You... you'll regret this." <<else>> <<bHe>> recoils, baring <<bhis>> teeth at you. "You'll regret this." <</if>> <<else>> <<bHe>> rolls away from you, and huffs in frustration. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> "Ow! Ow! Stop that!" <<else>> <<bHe>> rolls away from you. <</if>> <<else>> <<if $monster is 1>> <<bHe>> recoils from you. "Maybe I'm not good enough for a mate after all..." <<else>> <<bHe>> rolls away from you. <</if>> <</if>> The <<beasttype>> whines and flees between the trees. <br><br> <<tearful>> you gather yourself. <<if $phase2 isnot 1>><<tending_bird_eggs $forest_nest.eggs>><</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> The <<beasttype>> turns away from you and slinks between the trees. <<if $phase2 isnot 1>><<tending_bird_eggs $forest_nest.eggs>><</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red"><<bHe>> screams right back in your face, drowning out your own screams.</span>'>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Fox Nest Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Fox Nest Rape]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<if $phase is 3>> <<bHe>> pants, clinging to you. <<bHe>> lets out a long breath, and nuzzles into you, eyes closed. After a moment, <<bhe>> seems to realise what <<bhes>> doing, and quickly gets to <<bhis>> feet. "T-take that as a lesson!" <<else>> <<bHe>> gets to <<bhis>> feet, and looks at you smugly. "Remember your place." <</if>> <<else>> <<bHe>> huffs in triumph. <</if>> <<else>> <<if $monster is 1>> <<bHe>> gets to <<bhis>> feet. "Thank you. Maybe I can find a real partner, now." <<else>> <<bHe>> licks your face. <</if>> <</if>> <<bHe>> slinks away between the trees, looking satisfied. <br><br> <<tearful>> you rise to your feet. <<if $phase2 isnot 1>><<tending_bird_eggs $forest_nest.eggs>><</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<if $phase is 3>> <<bHe>> stumbles away from you, trembling. "You... you'll regret this, <<foxnickname>>." <<else>> <<bHe>> recoils, baring <<bhis>> teeth at you. "Not bad, <<foxnickname>>." <</if>> <<else>> <<bHe>> rolls away from you, and huffs in frustration. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> "Ow! Ow! Stop that!" <<else>> <<bHe>> rolls away from you. <</if>> <<else>> <<if $monster is 1>> <<bHe>> recoils from you. "No eggs. Have to find another nest." <<else>> <<bHe>> rolls away from you. <</if>> <</if>> The <<beasttype>> flees between the trees. <br><br> <<tearful>> you gather yourself. <<if $phase2 isnot 1>><<tending_bird_eggs $forest_nest.eggs>><</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> The <<beasttype>> turns away from you and slinks between the trees. <<if $phase2 isnot 1>><<tending_bird_eggs $forest_nest.eggs>><</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>> <<if $forest_nest.fox gte 2 and $NPCList[0].traits.includes("friendly")>> You start to approach the nest, <<if $monster is 1>> but you're suddenly stopped as something grabs your arm. You jump in surprise, but are pulled back before you can retaliate. <br><br> You end up on the ground, back in the underbrush. A naked <<beasttype>> sits over of you, panting. <br><br> "What are you doing?! That's a <span class="red">snake nest</span>! Looks similar to a bird nest, used as bait!" <<bHe>> starts to fuss over you, seemingly unbothered by <<bhis>> own nudity. "Reckless <<foxnickname>>..." <br><br> You let <<bhim>> help you to your feet. "Be more careful.<<if $voredisable is "f">> The snakes here will gobble you up whole.<</if>>" <br><br> You ask <<bhim>> why <<bhe>> helped you. <<bHe>> blinks at you. "Why wouldn't I?" <br><br> <<if hasSexStat("deviancy", 2)>> <<link [[Show your appreciation|Forest Fox Nest Sex]]>><<set $sexstart to 1>><<set $phase2 to 1>><</link>><<deviant2>> <br> <<else>> <<insufficientStat "deviancy" "to show your appreciation">> <br> <</if>> <<link [[Thank and leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><<stress -3>><</link>><<lstress>> <br> <<else>> but you suddenly feel a tug on your <<if $worn.lower.type.includes("naked")>>leg<<else>>$worn.lower.name<</if>>. You look down to see a <<beasttype>> grabbing you with <<bhis>> mouth, trying to pull you back. <br><br> You suspect it wants the eggs, but you see a primal desperation in <<bhis>> eyes. <<bHe>> lets out a few muffled barks. You let <<bhim>> pull you away. <br><br> Once you're back in the underbrush, you hear a faint hiss. Looking back to the nest, you see a <span class="red">massive snake</span> investigating the area. That wasn't a bird's nest at all, and this <<beasttype>> just saved you. <<bHe>> yips at you once before turning to leave. <br><br> <<if $bestialitydisable is "f" and hasSexStat("deviancy", 2)>> <<link [[Show your appreciation|Forest Fox Nest Sex]]>><<set $sexstart to 1>><<set $phase2 to 1>><</link>><<deviant2>> <br> <<else>> <<insufficientStat "deviancy" "to show your appreciation">> <br> <</if>> <<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><<stress -3>><</link>><<lstress>> <br> <</if>> <<else>> You approach the nest, and look around for eggs. The ones you find look nothing like the bird eggs you're used to. <br><br> You hear a slither and a hiss. Your hair stands on end. <span class="red">This isn't a bird's nest</span>. <br><br> You feel a breath on your legs. <br><br> <<if $voredisable is "f">> <<link [[Next|Forest Nest Snake Vore 2]]>><<endevent>><<unset $forest_nest>><<set $molestationstart to 1>><</link>> <<else>> You get to your feet and run as fast as you can.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>> <br> <</if>><<effects>> You lay down in the nest, completely still. You don't have to wait long. You hear the slithering first, and soon feel breath on your legs. <<deviancy4>> <<link [[Next|Forest Nest Snake Vore 2]]>><<endevent>><<unset $forest_nest>><<set $molestationstart to 2>><</link>> <br><<effects>> You decide it's too dangerous to intervene. <br><br> <<if $voredisable is "f">> <<if $monster is 1>> <<if $NPCList[0].traits.includes("territorial")>> The <<beasttype>> looks up in terror. <<bHe>> tries to hold the snake's jaws open, but it's no use. You watch as the snake lunges once more, and the <<beasttype>> is swallowed whole. <<else>> The <<beasttype>> looks up in terror. <<bHe>> covers <<bhis>> face with <<bhis>> arms and cowers. You watch as the snake lunges once more, and the <<beasttype>> is swallowed whole. <</if>> <br><br> ...and then immediately and violently regurgitated. The <<beasttype>> lays stunned for a moment, before standing and limping off into the forest, looking traumatised. The snake returns to its nest. <<else>> The <<beasttype>> flinches and curls up on <<bhimself>>. You watch as the snake lunges once more, and the <<beasttype>> is swallowed whole. <br><br> ...and then immediately and violently regurgitated. The <<beasttype>> lays stunned for a moment, before limping off into the forest. The snake returns to its nest. <</if>> <<else>> The <<beasttype>> flinches and tries to curl up defensively. The snake looks like it's about to lunge one last time. <br><br> Instead, however, it slowly curls up around <<bhim>>. <<bHe>> doesn't dare move, but after some time, it almost seems like the snake... falls sleep? <br><br> The <<beasttype>> very slowly and carefully pulls <<bhimself>> out from the snake's grasp, and slinks away into the trees, looking quite confused all the while. <</if>> <br><br> It's a good time to leave. <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br><<effects>> You waste no time. You dash out from the brush. The snake turns to you, the much more appealing target, and lunges. <br><br> <<if $physiqueSuccess>> <span class="green">You catch its jaws with your hands, keeping it from closing them around you.</span> You manage to take a step forward, pushing it back as it starts to fold back on itself. <br><br> You feel it trying to get away from you. You move with it, tossing it far off course. It quickly recognises that you're more trouble than you're worth, and retreats back into the underbrush. <br><br> <<if $monster is 1 or $bestialitydisable is "f">> <<if $monster is 1>> You feel something grab onto your arm. It's the <<beasttype>>, and <<bhe>> nuzzles against you, blushing. <<if $NPCList[0].traits.includes("territorial")>> "Th...thanks. You, uhm..." <<bHe>> shifts in place for a moment. "Alright, I'll cut to the chase. <span class="lewd">That was hot. Please fuck me senseless. Right now.</span>" <<else>> "You saved me!" <<bHe>> pulls you closer. "You're brave. And nice. You'd make a good mate." <</if>> <<else>> You feel something brush up against you and nuzzle you. It's the <<beasttype>>. It seems to be very thankful. So thankful, that <<bhe>> takes on a mating posture. <</if>> <br><br> <<link [[Accept|Forest Nest Snake Fox Sex]]>><<unset $forest_nest>><<set $sexstart to 1>><</link>><<deviant1>> <br> <<link [[Refuse|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> There's no sign of the <<beasttype>>. <<bHe>> wisely fled during the commotion. <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>> <<else>> You try to hold its jaws open, <span class="red">but you're not strong enough.</span> They close violently, and you're just quick enough to avoid being swallowed, instead being knocked to the ground. <<gpain>><<pain 4>> <br><br> <<if $NPCList[0].traits.includes("territorial")>> It slowly slithers up to you, hissing. It moves to lunge at you, but stops just short. You look behind it, to see the <<beasttype>> <<if $monster is 1>> holding the snake's tail with both arms and pulling with all <<bhis>> might. <<else>> biting down on the snake's tail and pulling with all <<bhis>> might. <</if>> <<bHe>> tosses the snake to the side with one final, mighty pull. It retreats back into the underbrush. <br><br> <<if $monster is 1>> The <<beasttype>> stares you down, arms crossed. "That was stupid. That thing could have swallowed you whole." <<bHis>> stance softens. "But... thanks." <<bHe>> <<else>> The <<beasttype>> <</if>> gives you an appreciative glance, before leaving the way <<bhe>> came. <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> You see the <<beasttype>> darting off into the forest. You bought <<bhim>> enough time to escape, at least. <<if $voredisable is "f">> The snake seems irritated at losing its meal, and slithers up to you mouth agape once more. <br><br> <<link [[Next|Forest Nest Snake Vore 2]]>><<endevent>><<unset $forest_nest>><<set $molestationstart to 1>><</link>> <br> <<else>> You get to your feet and run as fast as you can.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>> <</if>> <</if>><<location "forest">><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<molested>> <<controlloss>> <<set $enemytype to "vore">> <<set $vorestage to 1>> <<set $vorecreature to "snake">> <<set $vorestrength to 1>><<set $position to "doggy">> <<resetLastOptions>> <<getCombatDefaultsType>> <<elseif $molestationstart is 2>> <<set $molestationstart to 0>> <<set $combat to 1>> <<consensual>> <<set $consensual to 1>> <<set $enemytype to "vore">> <<set $vorestage to 1>> <<set $vorecreature to "snake">> <<set $vorestrength to 1>><<set $position to "doggy">> <<resetLastOptions>> <<getCombatDefaultsType>> <</if>> <<voreeffects>> <<vore>> <<voreactions>> <<if $vorestage gte 7>> <span id="next"><<link [[Next|Forest Nest Snake Vore Finish]]>><</link>></span><<nexttext>> <<elseif $vorestage lte 0>> <span id="next"><<link [[Next|Forest Nest Snake Vore Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Nest Snake Vore 2]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $vorestage gte 7>> <<tearful>> you struggle as the snake starts to move. It journeys for several minutes until with a great heave, the snake pushes you up and through its gullet once more, expelling you from its body. <br><br> <<endcombat>> The snake slithers away. It took you deeper into the forest. <br><br> <<clotheson>> <<link [[Next|Forest]]>><<pass 10>><<set $eventskip to 1>><<set $forest += 20>><<set $forest = Math.clamp($forest, 21, 100)>><</link>> <br> <<else>> <<tearful>> you escape from the snake's maw. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">> <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red"><<bHe>> screams right back in your face, drowning out your own screams.</span>'>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Nest Snake Fox Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Nest Snake Fox Sex]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<bHe>> pants, clinging to you. <<bHe>> lets out a long breath, and nuzzles into you, eyes closed. After a moment, <<bhe>> seems to realise what <<bhes>> doing, and quickly gets to <<bhis>> feet. "Th...thanks." <<else>> <<bHe>> huffs in triumph. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> <<bHe>> nuzzles you. "That was fun!" <<else>> <<bHe>> nuzzles your face. <</if>> <<stress -3>><<lstress>><br> <<else>> <<if $monster is 1>> <<bHe>> gets to <<bhis>> feet. "Thank you. Maybe I can find a real partner, now." <<else>> <<bHe>> licks your face. <</if>> <</if>> <<bHe>> slinks away between the trees. <br><br> <<tearful>> you rise to your feet. <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<bHe>> recoils, baring <<bhis>> teeth at you. "You'll regret this." <<else>> <<bHe>> rolls away from you, and huffs in frustration. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> "Ow! Ow! Stop that!" <<else>> <<bHe>> rolls away from you. <</if>> <<else>> <<if $monster is 1>> <<bHe>> recoils from you. "Maybe I'm not good enough for a mate after all..." <<else>> <<bHe>> rolls away from you. <</if>> <</if>> The <<beasttype>> whines and flees between the trees. <br><br> <<tearful>> you gather yourself. <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <<else>> The <<beasttype>> turns away from you and slinks between the trees. <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<beastTrainGenerate>><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red"><<bHe>> screams right back in your face, drowning out your own screams.</span>'>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Fox Revenge Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Fox Revenge]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> <<beastwound>> <<if $combatTrain.length gt 0>> The <<beasttype>> recoils in pain and fear, but the other is eager for a go. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Fox Revenge]]>><</link>> <<else>> The <<beasttype>> recoils in pain and fear. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Fox Revenge Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the <<beasttype>> moves and another <<print $combatTrain.beastTypes[1]>> takes its turn. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Fox Revenge]]>><</link>> <<else>> Satisfied, the <<beasttype>> moves away from you. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Fox Revenge Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $finish is 1>> <<if $enemywounded gte 1 and $enemyejaculated is 0>> The <<beastsplural>> flee between the trees in defeat. They won't be bothering you again. <<elseif $enemywounded is 0 and $enemyejaculated gte 1>> You're left lying on the grass. <<if $monster is 1>> The lead <<beasttype>> cradles up to you, and whispers into your ear. "Don't forget this." <<bHe>> holds you for some time, before seemingly growing bored and leaving with <<bhis>> companions. <</if>> <<else>> The <<beastsplural>> surround you, panting. <<if $monster is 1>> The lead one steps forward. "You put up a good fight. Consider us... even," <<bhe>> says between breaths. <</if>> They leave one by one, feeling that you're more trouble than you're worth. <</if>> <br><br> <<tearful>> you gather yourself. <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>><<generatey1>><<person1>> <<if $cool gte 240>> As you walk by, the other teens notice you and excitedly emerge to chat. After a few moments, they go back to their place off the path and let you go about your day. <<stress -5>><<trauma -2>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <<else>> You try to ignore them as you walk along the trail. The leader, a <<person>>, moves to block you. "What's the hurry? You should hang around a while!" <<he>> says through a menacing grin. <br><br> <<if $worn.under_lower.integrity gte 1>> Several students move behind you and force you to the ground while the other teens grab your arms. You expect them to try stripping you, or worse, but instead you feel two pairs of hands <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>>reach up your skirt <<else>>dive down your waistband<</if>> and clamp something metallic to the sides of your $worn.under_lower.name before letting go of you. <br><br> You stand back up, but before you have time to react, some of the students begin pulling on ropes that loop over branches above you and connect to your $worn.under_lower.name. <<if $worn.under_lower.plural isnot 1>>It starts<<else>>They start<</if>> to tear slightly as your classmates hoist you a metre off the ground, pulling the fabric tightly between your ass cheeks and against your <<genitals>>. It hurts but is slightly arousing as well. <<ggstress>><<stress 12>><<garousal>><<arousal 100>><<gpain>><<pain 10>> <br><br> <<if $worn.lower.name isnot 'naked'>> The teens gather in a circle around you to admire their handiwork. "I think something is missing," the <<person>> says and approaches you. <br><br> <<if $submissive lte 850>> <<link [[Kick|Forest Bully Kick]]>><</link>><<physiquedifficulty 1 16650>> <<elseif $submissive gte 1150>> <<link [[Beg|Forest Bully Beg]]>><</link>><<englishdifficulty 1 1055>> <</if>> <br> <<link [[Stay still|Forest Bully Still]]>><</link>> <<else>> <<link [[Next|Forest Bully Skip Lower]]>><</link>> <</if>> <<else>> Several students move behind you and force you to the ground while the other teens grab your arms. You expect them to try stripping you, or worse, but instead you feel two pairs of hands <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>>reach up your skirt <<else>>dive down your waistband<</if>> before pausing. "Uh, <<pshe>> isn't wearing underwear," one of them states. <br><br> "Seriously?" the <<person>> asks in disbelief, then commands, "Fine, let <<phim>> go. We'll grab the next loser who walks by." <br><br> Turning to you, <<he>> says, "You got lucky this time. Now get out of here before I change my mind." <br><br> You waste no time continuing on your way. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <</if>> <</if>><<He>> steps back and admire <<his>> handiwork triumphantly, while the other students giggle and take pictures.<<fameexhibitionism 50>> <br><br> "Have fun up there, loser!" the <<person>> shouts as the group walks away. <<ggstress>><<stress 25>> <<forestBullyLeaves>><<if $physiqueSuccess>> You wait for the opportune moment and deliver a solid kick to the bully approaching you. <<He>> lands flat on <<his>> ass, much to the delight of the crowd. "Shut the fuck up!" <<he>> growls. <<He>> gets up and motions the group to leave. "Have fun up there, loser!" <<else>> You wait for the opportune moment and kick out with all your strength. The <<person>> staggers back for a moment before scowling in rage. "Oh, that's how you want to play, bitch? You two, come here and hold <<phim>>. I'm going to have fun with you." <br><br> Held in place, you are powerless to resist as the <<person>> systematically tears and cuts off your clothing, leaving only the $worn.under_lower.name that suspend<<if $worn.under_lower.plural isnot 1>>s<</if>> you in the air. <<He>> steps back and admires <<his>> handiwork triumphantly, while the other students giggle and take pictures.<<fameexhibitionism 50 "pic">> <br><br> "Have fun up there, loser!" the <<person>> shouts as the group walks away. <<overheadruined>> <<overupperruined>> <<overlowerruined>> <<upperruined>> <<lowerruined>> <<underupperruined>> <<headruined>> <<faceruined>> <<legsruined>> <<feetruined>> <<handsruined>><<handheldruined>><<ggstress>><<stress 50>> <</if>> <<forestBullyLeaves>>"P-p-please stop. Haven't you done enough?" you beg. <br><br> <<if $englishSuccess>> <<He>> continues towards you before being interrupted by another student, "C'mon, I think we had our fun, right?" Some of the more empathetic students nod in agreement and start walking away. <br><br> "Have fun up there, loser!" the <<person>> grunts, visibly frustrated as <<he>> jogs to catch up with the others. <<else>> <<He>> continues towards you with renewed dominance. "Aw, are we making your day hard? Are you not having fun up there?" <<he>> mocks. "Shut up, you dumb slut, I'm going to have my fun!" <br><br> The <<person>> then begins to systematically tear and cut off your clothing, leaving only the $worn.under_lower.name that suspend<<if $worn.under_lower.plural isnot 1>>s<</if>> you in the air. <<He>> steps back and admires <<his>> handiwork triumphantly, while the other students giggle and take pictures.<<fameexhibitionism 50>> <br><br> "Have fun up there, loser!" the <<person>> shouts as they walk away. <<overheadruined>> <<overupperruined>> <<overlowerruined>> <<upperruined>> <<lowerruined>> <<underupperruined>> <<headruined>> <<faceruined>> <<legsruined>> <<feetruined>> <<handsruined>> <<handheldruined>><<ggstress>><<stress 50>> <</if>> <<forestBullyLeaves>>You remain still as the <<person>> removes your $worn.lower.name, further exposing you. <<He>> steps back and admires <<his>> handiwork triumphantly, while the other students giggle and take pictures.<<fameexhibitionism 50>> <br><br> "Have fun up there, loser!" the <<person>> shouts as they walk away. <<lowerruined>> <<ggstress>><<stress 25>> <<forestBullyLeaves>>You grip two of the ropes the best you can and start pulling yourself up towards the branches above. There is an instant feeling of relief as the pressure of your body weight is removed from your crotch. <br><br> <<if $athleticsSuccess>> Your arm muscles are sore by the time you pull yourself up to the canopy, but your grip holds. With your bodyweight now being supported by the branches, you are able to free yourself from the trap your classmates put you in. You waste no time climbing back down to the trail. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <<elseif $worn.under_lower.integrity gte 21>> You start climbing, but only make it about halfway up before your arms start to shake and your grip fails. You fall a short distance before being caught by your $worn.under_lower.name. The material from your $worn.under_lower.name pulls even tighter <<print ($player.ballsExist ? " against your testes" : "in between your labia")>> than before, causing a new wave of agony. <<gpain>><<ggstress>><<pain 25>><<stress 50>> <br><br> You hear threads snap and pop as the jerking motion comes to a stop, leaving your underwear worse for wear. <<set $worn.under_lower.integrity -= 20>> <br><br> Still stuck in the air, you will need to either try again or call out for help. <br><br> <<link [[Climb|Forest Bully Climb]]>><</link>> <br> <<link [[Call for help|Forest Bully Help]]>><</link>> <<else>> You start climbing, but only make it about halfway up before your arms start to shake and your grip fails. You fall a short distance before being caught by your $worn.under_lower.name. The material from your $worn.under_lower.name pulls even tighter <<print ($player.ballsExist ? " against your testes" : "in between your labia")>> than before, causing a new wave of agony. <<gpain>><<ggstress>><<pain 25>><<stress 50>> <br><br> You hear threads snap and pop before finally yielding and sending you falling the remaining distance to the trail below. After taking a moment, you stand up and keep moving, leaving the tattered remains of your $worn.under_lower.name tied to the ropes behind. <<underlowerruined>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <</if>>You shout for help out the top of your lungs, hoping for the best. Besides some startled birds, the forest seems still.<br><br> <<rng>> <<if $rng lte 20 >> <<generatey2>><<person2>> After a few minutes of waiting, you see one of the students from earlier quietly sneak back to you. <<person2>><<He>> moves over to where the ropes are secured and gently lowers you back to the ground before running back into the woods to catch up with <<person2>><<his>> friends. You breathe a sigh of relief when your feet finally reach the ground, taking the pressure off your crotch. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <<elseif $rng lte 40 >> <<generate2>><<person2>> After a few minutes of waiting, you see a <<person>> jogging up the path, attracted by the noise. Seeing your state, <<he>> quickly gets to work, freeing you from your predicament. You breathe a sigh of relief when your feet finally reach the ground, taking the pressure off your crotch. <<He>> takes a moment to make sure you are ok, before moving along. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <<elseif $rng lte 60>> <<generate2>><<person2>> After a few minutes of waiting, you see a <<person>> jogging up the path, attracted by the noise. Seeing your state, an evil smile spreads across <<his>> face. <<He>> grabs onto your ankles and pulls down with all <<his>> strength. The extra force pulls your $worn.under_lower.name painfully <<print ($player.ballsExist ? " against your testes" : "between your labia")>> until your underwear finally tears off your body. <<gpain>><<ggstress>><<pain 25>><<stress 50>><<set $worn.under_lower.integrity to 0>> <br><br> You fall to the ground, clutching your crotch in agony, as <<he>> walks away laughing. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <<elseif $rng lte 80>> <<beastNEWinit 1 wolf>> After a few minutes of waiting, you see a lone <<beasttype>> emerge from the trees, attracted by the noise. <<bHe>> snarls before biting onto your ankle! The extra weight pulls your $worn.under_lower.name painfully <<print ($player.ballsExist ? " against your testes" : "between your labia")>> until your underwear finally tears off your body. <<gpain>><<ggstress>><<pain 25>><<stress 50>><<set $worn.under_lower.integrity to 0>>. <br><br> <<if $monster is 1 or $bestialitydisable is "f">> You fall to the ground, clutching your crotch in agony. The <<beasttype>>, seeing your vulnerability, leaps on top of you! <br><br> <<link [[Next|Forest Wolf]]>><<set $molestationstart to 1>><</link>> <br> <<else>> You fall to the ground, clutching your crotch in agony. You barely manage to stand as the wolf lunges at you and begins chasing you through the woods. You run until you can no longer hear it behind you. You're not sure if you outran it or it grew bored.<<beastescape>><<gtiredness>><<tiredness 4>><<gathletics>><<athletics 2>><<silently>><<physique 1>><</silently>> <br><br> <<link [[Next (0:20)|Forest]]>><<endevent>><<pass 20>><<set $eventskip to 1>><</link>> <br> <</if>> <<else>> You wait for a few minutes, but no one comes. You gently swing back and forth due to the breeze, which forces you to occasionally shift your weight, adding to your discomfort. <br><br> <<if $worn.under_lower.integrity gte 11>> The silence is only broken by the occasional tearing sounds coming from your $worn.under_lower.name, which <<underlowerplural>> starting to look worse for wear. <<set $worn.under_lower.integrity -= 10>> <br><br> Still stuck in the air, you will need to either try again or call out for help. <br><br> <<link [[Climb|Forest Bully Climb]]>><</link>> <br> <<link [[Call for help|Forest Bully Help]]>><</link>> <<else>> The silence is only broken by the occasional tearing sounds coming from your $worn.under_lower.name. Finally, the material gives way, dropping you to the ground! <br><br> After taking a moment, you stand up and keep moving, leaving the tattered remains of your $worn.under_lower.name tied to the ropes behind. <<set $worn.under_lower.integrity -= 10>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <</if>> <</if>><<if $phase is 0>> /* Help Eden pull pants down */ <<set $edenFluidsCheck to "Eden">> <<if $NPCList[0].penis isnot "none">> Eden releases <<his>> <<print $NPCList[0].penisdesc>> from <<his>> torn pants. It's already hard. <br><br> "You know what I want from you," <<he>> mutters as <<he>> cradles your head. <br><br> You take <<his>> penis into your mouth, licking and sucking while the <<nnpc_title "Eden">> grunts in approval.<<if $player.virginity.oral is true>><<takeVirginity "Eden" "oral">><</if>> <br><br> <<He>> gets bored after a while and grabs you by the back of the head. It gets harder to breathe as <<he>> uses your throat to get off.<<stress 6>><<gstress>> <br><br> After a while Eden finishes, filling your mouth with <<his>> semen until it spills down your face.<<bodyliquid "mouth" "semen">><<bodyliquid "face" "semen">> <<else>> Eden pulls <<his>> pants down as to <<his>> ankles, revealing <<his>> wet pussy. <br><br> "I need this," <<he>> says as <<he>> cradles your head. <br><br> You strain your neck to lick at <<his>> pussy, tasting the wetness as you do. Eden sighs in approval. <br><br> You begin to suckle <<his>> clit, but Eden seems to get impatient and presses your face closer. It's hard to breathe with <<him>> smothering you like this.<<stress 6>><<gstress>> <br><br> After a while, Eden finishes. <<His>> juices cover your mouth as <<he>> pulls away.<<bodyliquid "mouth" "goo">> <</if>> You're dizzy now from the blood rushing to your head and the lack of air. "Good <<girl>>." <br><br> Eden takes a moment to fix <<himself>> up before returning to you. This time, <<he>> lets you down from the snare. <<else>> /* Push Eden away */ "I don't want to," you say as you push at Eden's thighs. <br><br> <<if C.npc.Eden.love gte 150>> <<He>> considers your words for a moment before fixing <<his>> pants. A scowl remains on <<his>> face. <br><br> "You better make it up to me later," Eden huffs as <<he>> undoes the bindings. <<He>> isn't gentle as <<he>> helps you down.<<pain 4>><<gpain>> <<else>> <<set $edenFluidsCheck to "Eden">> "Of course you do; you don't need to lie to me." Your protests don't seem to matter. The <<nnpc_title "Eden">> continues to reveal <<himself>> to you. <br><br> Eden tries to force <<= $NPCList[0].penis isnot "none" ? "<<his>> cock into your mouth" : " your mouth onto <<his>> pussy">> even as you try to writhe away. <<He>> gets fed up after one too many times and slaps your face.<<pain 4>><<gpain>> <br><br> You cry out before realising your mistake. Eden forces <<his>> <<= $NPCList[0].penis isnot "none" ? "cock" : "wet cunt">> into your mouth. <<He>> is not gentle, <<= $NPCList[0].penis isnot "none" ? "making" : "smushing your face as close as can be. It makes">> it hard to keep breathing.<<stress 6>><<gstress>><<if $NPCList[0].penis isnot "none" and $player.virginity.oral is true>><<takeVirginity "Eden" "oral">><</if>> <br><br> It takes a while for Eden to finish. By then, you've almost passed out. Luckily, <<he>> cums before you can. <<= $NPCList[0].penis isnot "none" ? "The semen drips out of the corners of your mouth and onto" : "<<His>> juices cover">> your face.<<if $NPCList[0].penis isnot "none">><<bodyliquid "mouth" "semen">><<bodyliquid "face" "semen">><<else>><<bodyliquid "mouth" "goo">><</if>> <br><br> Eden takes a moment to fix <<himself>> up. When <<he>> does return, <<he>> isn't gentle when <<he>> releases you.<<pain 2>><<gpain>> <</if>> <</if>> <br><br> <<forestCabinReturnLinks>><<effects>> You try to tear your gaze from the tree, but a visage catches your eye, formed by twisting branches. You don't want to move. <br><br> <<if $willpowerSuccess>> You shift your attention away from the face, onto the sky behind it, <span class="green">and regain control of your limbs.</span> You run. <br><br> You keep running until the sound of thrashing branches fades beneath the sound of your heartbeat. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> There are many faces, each wearing a different expression. You're still counting them when the branches unfurl, <span class="red">and snatch you from the ground.</span><<gwillpower>><<willpower 1>> <br><br> <<link [[Next|Forest Trunks Caught]]>><</link>> <br> <</if>><<effects>><<effects>><<location "forest">><<effects>><<wPersist "forest">><<getTarget true>> <<if $foresthunt gte 1>> <<if $edenforesthunt is 1>> <<print either( `<span class="red">You are being hunted. You see spent bullet casings lying on the ground.</span>`, `<span class="red">You are being hunted. You see boot prints on the ground.</span>`, `<span class="red">You are being hunted. You hear a gun firing from afar.</span>` )>> <<elseif $blackwolfhunt is 1>> <<print either( `<span class="red">You are being hunted. You see wolf fur tangled in the trees.</span>`, `<span class="red">You are being hunted. You see wolf prints on the ground.</span>`, `<span class="red">You are being hunted. You hear a growl in the distance.</span>` )>> <<elseif $wraith.hunt>> <<if $moonstate is "morning" and Time.hour gte 6>> With the rising of the sun, you feel a sense of relief. The dread passes. <span class="blue"><i>You're safe until the next blood moon.</i></span> <<clearWraith>> <<else>> <<print either( `<span class="red">You are being hunted. Red moonlight casts dire shadows all around you.</span><<stress 6>><<gstress>>`, `<span class="red">You are being hunted. You hear distant laughter.</span> <<trauma 6>><<gtrauma>>`, `<span class="red">You are being hunted. It's becoming harder to breathe.</span> <<stress 6>><<gstress>><<trauma 6>><<gtrauma>>` )>> <</if>> <<else>> <!-- generic text for when a hunt is happening but we haven't written a more specific version of the text. --> <span class="red">You are being hunted.</span> <</if>> <br><br> <</if>> <<if $arousal gte $arousalmax>> <<orgasmforest>> <</if>> <<set $forest to Math.clamp($forest, 0, 100)>> <<forestmove>> <<if $stress gte $stressmax and !$possessed>> <<passoutforest>> <<elseif $foresthunt gte 10 and !$possessed>> <<foresthunt>> <<elseif $forest lte 0>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $eventskip is 0>> <<rng>> <<if $rng gte 81 or ($forest_search is true and $rng gte 61)>> <<eventforestitem>> <<elseif $danger gte (9900 - ($allure * $forestmod))>> <<eventforestoutskirts>> <<else>> <<eventforestsafe>> <</if>> <<elseif $town_projects.road is 1>> <<set $town_projects.road to 2>> You are in the forest outskirts. You can make out the town between the trees. <br><br> You almost trip over a worn brick. It draws your attention to others like it. There used to be a road here, connecting the town to the lake. <span class="teal">An idea strikes you.</span> If the road were restored, the journey would be safer, for both you and other students. <br><br> <i>You could enquire about the road at the town hall.</i> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $town_projects.road is 3>> <<set $town_projects.road to 4>> You are in the forest outskirts. You can make out the town between the trees. <br><br> The mayor's office acted fast. A road stretches into the forest, swerving out of sight. <span class="green">Getting to and from the lake will be much easier.</span> <br><br> <<earnFeat "Safe Trail">> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<elseif $eventskip gte 1>> You are in the forest outskirts. You can make out the town between the trees. <br><br> <<if $exposed lte 1>> <<if $forest_shop_intro is 1>> <<shopicon "forest">><<link [[Forest shop|Forest Shop]]>><</link>> <<else>> <<shopicon "forest">><<link [[Strange shop|Forest Shop]]>><</link>> <</if>> <br><br> <</if>> <<forestdeeper>> <br><br> <<forestsearch>> <br><br> Leave the forest <br> <<danubeicon>><<link [[Danube Street (0:10)|Danube Street]]>><<pass 10>><<set $foresthunt to 0>><</link>> <br> <<wolficon>><<link [[Wolf Street (0:10)|Wolf Street]]>><<pass 10>><<set $foresthunt to 0>><</link>> <br> <<nightingaleicon>><<link [[Nightingale Street (0:10)|Nightingale Street]]>><<pass 10>><<set $foresthunt to 0>><</link>> <br> <<if $temple_rank isnot undefined and $temple_rank isnot "prospective">> <<wolficon>><<link [[Temple (0:10)|Temple Garden]]>><<pass 10>><<set $foresthunt to 0>><</link>> <br> <</if>> <br><br> <<if $historytrait gte 2 and $thicket_tunnel_intro is 1>> <<foresticon "bush">><<link [[Take the secret tunnel to the residential alleyways (0:05)|Residential Thicket]]>><<pass 5>><<set $foresthunt to 0>><</link>> <br> <</if>> <<if $historytrait gte 3>> <<forestroadicon "secret">> <<link [[Take secret path deeper into the woods (0:10)|Forest]]>> <<set $forestmod to 1.5>><<set $forest += 50>><<set $forestmove to "secretin">><<pass 10>> <<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>> <</link>> <br> <</if>> <</if>> <<elseif $forest lte 20>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $eventskip is 0>> <<rng>> <<if $rng gte 81 or ($forest_search is true and $rng gte 61)>> <<eventforestitem>> <<elseif $danger gte (9900 - ($allure * $forestmod))>> <<eventforestoutskirts>> <<else>> <<eventforestsafe>> <</if>> <<elseif $eventskip gte 1>> You are in the forest. The trees are quite sparse, you can't be too far from town. <br><br> <<if $forest gte 10 and $forest lte 14>> <<foresticon "churchyard">><<link [[Old churchyard|Churchyard]]>><</link>> <br><br> <</if>> <<if $smuggler_location is "forest" and $smuggler_timer is 0 and Time.dayState is "night" and Time.hour gte 18>> <span class="gold">You see a flickering through the trees. Like a flame.</span> <br><br> <</if>> <<if $smuggler_location is "forest" and $smuggler_timer is 0 and Time.dayState is "night" and Time.hour gte 18>> <<link [[Approach flame|Smuggler Forest]]>><</link>> <br><br> <</if>> <<forestdeeper>> <br><br> <<forestsearch>> <br><br> <<forestlessdeep>> <</if>> <<elseif $forest lte 50>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $eventskip is 0>> <<rng>> <<if $rng gte 81 or ($forest_search is true and $rng gte 61)>> <<eventforestitem>> <<elseif $danger gte (9900 - ($allure * $forestmod))>> <<eventforest>> <<else>> <<eventforestsafe>> <</if>> <<elseif $eventskip gte 1>> You are in the forest, surrounded by nature. <br><br> <<if $forest lte 30>> <<if $nextPassageCheck is "Lake Shore">> <span class="nextLink"><<lakeicon>><<link [[The lake.|Lake Shore]]>><<pass 10>><</link>></span> <<else>> <<lakeicon>><<link [[Lake (0:10)|Lake Shore]]>><<pass 10>><</link>> <</if>> <<elseif $forest lte 40>> <<lakeicon>><<link [[Lake (0:10)|Lake Waterfall]]>><<pass 10>><</link>> <<else>> <<if $nextPassageCheck is "Lake Fishing Rock">> <span class="nextLink"><<lakeicon>><<link [[The lake.|Lake Fishing Rock]]>><<pass 10>><</link>></span> <<else>> <<lakeicon>><<link [[Lake (0:10)|Lake Fishing Rock]]>><<pass 10>><</link>> <</if>> <</if>> <br><br> <<forestdeeper>> <br><br> <<forestsearch>> <br><br> <<forestlessdeep>> <br><br> <<if $historytrait gte 3>> <<forestroadicon "secret">> <<link [[Take secret path out of the woods (0:10)|Forest]]>> <<set $forestmod to 1.5>><<set $forest -= 50>><<set $forestmove to "secretout">><<pass 10>> <<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>> <</link>> <br> <</if>> <</if>> <<elseif $forest lte 99>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $eventskip is 0>> <<rng>> <<if $rng gte 81 or ($forest_search is true and $rng gte 61)>> <<eventforestitem>> <<elseif $danger gte (9900 - ($allure * $forestmod))>> <<eventforestdeep>> <<else>> <<eventforestsafe>> <</if>> <<elseif $eventskip gte 1>> You are deep in the forest. The trees are tall and dark, their branches twisting together to form the canopy. <br><br> <<if $edenfreedom gte 1 or $syndromeeden gte 1>> <<if $edenFluidsCheck is "cleanLeave" and ($goocount + $semencount gte 10) and Time.hour gte 7 or $edenFluidsCheck is "run">> <<edenicon>><<link [[Eden's cabin (0:10)|Eden Fluids Punishment]]>><<pass 10>><</link>> <<elseif !$edenHotSpring and Weather.isFreezing>> <<edenicon>><<link [[Eden's cabin (0:10)|Eden Hot Spring Creation 1]]>><</link>> <<else>> <<edenicon>><<link [[Eden's cabin (0:10)|Eden Clearing]]>><<pass 10>><</link>> <</if>> <br> <</if>> <<if $syndromewolves gte 1>> <<if $caveHumanPregnancyDiscovered isnot 1 or !playerIsPregnant()>> <<wolfcaveicon>><<link [[Wolf cave (0:10)|Wolf Cave Clearing]]>><<pass 10>><</link>> <br> <<else>> <span class="blue">You don't think the wolves would allow you to come back until your pregnancy is over.</span> <br> <</if>> <</if>> <<if $pubtask is "forest" and $pubtask2 isnot 1>> <<rng>> <!-- Modified for Monster People --> <<if $pubtasksetting is "bear">> <<crimeicon "black box">><<link [[Search for Landry's black box|Forest Bear Box]]>><</link>> <<elseif $pubtasksetting is "pair">> <<crimeicon "black box">><<link [[Search for Landry's black box|Forest Box]]>><</link>> <<elseif $rng gte 51>> <<crimeicon "black box">><<link [[Search for Landry's black box|Forest Bear Box]]>><</link>> <<else>> <<crimeicon "black box">><<link [[Search for Landry's black box|Forest Box]]>><</link>> <</if>> <br> <</if>> <<if $forest gte 80 and $forest lte 90 and $brookIntro gte 1>> <<if $worn.feet.type.includes("heels")>> <span class="red">Traversing the brook in heels would be impossible.</span> <<else>> <<foresticon "river">><<link [[Follow the brook (0:20)|Forest Brook]]>><<pass 20>><</link>> <</if>> <br> <</if>> <br> <<forestdeeper>> <br><br> <<forestsearch>> <br><br> <<forestlessdeep>> <</if>> <<elseif $forest gte 100>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $eventskip is 0>> <<rng>> <<if $rng gte 81 or ($forest_search is true and $rng gte 61)>> <<eventforestitem>> <<elseif $danger gte (9900 - ($allure * $forestmod))>> <<eventforestdeep>> <<else>> <<eventforestsafe>> <</if>> <<elseif $eventskip gte 1>> You are deep in the forest. You can make out the asylum through the trees. <br><br> <<forestsearch>> <br><br> <<forestlessdeep>> <</if>> <</if>> <<unset $forest_search>> <<set $eventskip to 0>><<location "forest">><<effects>> <<beastNEWinit 1 bear>> <<if $pubtasksetting is "bear">> You return to the cave, where Landry's black box can be found. You hear something large breathing within. <<else>> <<set $pubtasksetting to "bear">> You come to a cave, the location Landry said the black box would be found. It must be inside. <br><br> You've barely taken two steps further when you hear a deep growl. There's something big in there. <</if>> <br><br> <<if $monster is 1 or $bestialitydisable is "f">> <<getinicon>><<link [[Enter|Forest Bear Box Molestation]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<getinicon>><<link [[Enter|Forest Bear Box Molestation Finish]]>><<set $phase to 1>><</link>> <br> <</if>> <<getouticon>><<link [[Leave|Forest]]>><<endevent>><</link>><<location "forest">><<effects>> <<if $pubtasksetting is "pair">> <<generate1>><<generate2>> You return to the clearing with the dilapidated cabin. The <<fullGroup>> are still there. "Changed your mind?" says the <<person1>><<person>> "Let us have our way with you and we'll give you the black box." <<else>> <<set $pubtasksetting to "pair">> <<generate1>><<generate2>> You come to the clearing where the black box supposedly resides. There's a dilapidated wood cabin in the middle. A <<fullGroup>> sit outside beside a fire. They look up as you approach. "This is unexpected," says the <<person1>><<person>>. "What brings you all the way out here?" <br><br> You tell them you're looking for a small black box. "Oh," <<he>> says. "You mean this?" <<He>> stands and produces a black box from <<his>> pocket. "We could be persuaded to part with it. We'd want something in return though." <<He>> walks closer to you. "You're a cute little thing, Landry sure knows how to pick em. We'll give you the box if you let us fuck you." The <<person2>><<person>> grins. <</if>> <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Accept|Forest Box Molestation]]>><<set $sexstart to 1>><</link>><<promiscuous2>> <br> <</if>> <<if $submissive lte 500>> <<link [[Attack them|Forest Box Molestation]]>><<set $molestationstart to 1>><<set $phase to 2>><</link>><<defianttext>> <br> <</if>> <<link [[Refuse|Forest Box Refuse]]>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>><<set $enemytrust -= 40>><<set $enemyanger += 40>><<set $enemyhealthmax to 400>><<set $enemyhealth to 400>> You creep into the cave. After some fumbling through the dark you see the light catch on something. It's the black box. The box in hand, you turn to leave the cave, but something emerges from the darkness. As you turn back around, <<bhe>> descends down onto you. <<set $pubtask2 to 1>> <br><br> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Bear Box Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Bear Box Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $phase is 1>> /* Autoresolve when bestiality disabled */ <<unset $phase>> <<set $pubtask2 to 1>> You creep into the cave. After some fumbling through the dark you see the light catch on something. It's the black box. The box in hand, you turn to leave the cave, but something emerges from the darkness. You turn around to see a mighty bear swiping its claw at you!<<gstress>> <br><br> You narrowly dodge aside, dropping the black box in the process. Irritated, the bear lets out a rumbling growl and tries to strike you again. Fortunately, it's too groggy to aim at you properly. You duck below and pick up the black box again, scrambling out of the cave. <<gstress>><<ggtrauma>><<ggpain>> <br><br> <<tearful>> you lean against a tree to catch your breath.<<silently>><<beastescape>><<beastescape>><</silently>> <br><br> <<else>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Satisfied, the <<beasttype>> retreats into <<bhis>> abode. <<if $monster is 1>> <<bHe>> yawns, giving <<bhis>> hairy chest one last scratch before returning to <<bhis>> slumber. <</if>> <<elseif $enemyhealth lte 0>> <<if $monster is 1>> The <<beasttype>> recoils in pain, turning away from you. <<bHe>> covers <<bhis>> wrist with <<bhis>> hand, before fleeing deeper into <<bhis>> abode. <<else>> The <<beasttype>> turns away from you and flees deeper into its abode. <</if>> <</if>> <br><br> <<tearful>> you pick up the box again and leave the cave. <br><br> <<clotheson>> <<endcombat>> <</if>> <<wearProp "black box">> <<link [[Next|Forest]]>><<set $eventskip to 1>><<handheldon>><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<if $phase is 1>> <<set $enemytrust -= 40>> <<elseif $phase is 2>> <<set $enemyanger += 40>><<set $enemytrust -= 100>><<set $enemyhealth -= 100>> You stand still, waiting until they draw close. With their guard down, you stomp on the <<person2>><<persons>> foot and smack <<his>> face, sending <<him>> reeling. <<person1>>The <<person>> is not amused. "Stupid slut. You'll pay for that." <br><br> <</if>> <<elseif $sexstart is 1>> <<set $sexstart to 0>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 40>> <<promiscuity2>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Box Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Box Molestation]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> "I don't think you quite understand the situation you're in," the <<person1>><<person>> says, now very close. "We're getting what we want." <br><br> <<link [[Next|Forest Box Molestation]]>><<set $phase to 1>><<set $molestationstart to 1>><</link>> <br><<effects>> <<if $finish is 1>> "You're not getting away that easily," the <<person1>><<person>> says. <br><br> <<set $consensual to 0>><<set $finish to 0>> <<link [[Next|Forest Box Molestation]]>><<set $molestationstart to 1>><</link>> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Here you go," says the <<person1>><<person>>, dropping the box in front of you. "Give Landry our regards." <<tearful>> you collect the box and leave the clearing. <<set $pubtask2 to 1>> <br><br> <<clotheson>> <<endcombat>> <<wearProp "black box">> <<link [[Next|Forest]]>><<set $eventskip to 1>><<handheldon>><</link>> <<elseif $enemyhealth lte 0>> The pair recoil in pain and drop the box on the grass. <<tearful>> you seize it and flee the clearing, chased by their angry shouts. <<set $pubtask2 to 1>> <br><br> <<clotheson>> <<endcombat>> <<wearProp "black box">> <<link [[Next|Forest]]>><<set $eventskip to 1>><<handheldon>><</link>> <</if>><<location "forest">><<effects>> <<if $scienceshroomknown isnot 1>> <<set $scienceshroomknown to 1>> <span class="gold">You have discovered a new science project.</span> <</if>> <<if $phase is 0>> <<wearProp "mushroom">> <<set $scienceshroomheart += 1>> You kneel and gather the mushrooms. They smell refreshing. <<ltiredness>><<tiredness -6>> <br><br> <span class="gold">You can add the mushrooms you found to your project in your room or the school library.</span> <br><br> <<else>> <<wearProp "wolfshroom">> <<set $scienceshroomwolf += 1>> You kneel and gather the mushrooms. They smell sweet. <<garousal>><<arousal 600>> <br><br> <span class="gold">You can add the mushrooms you found to your project in your room or the school library.</span> <br><br> <</if>> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br><<location "forest">><<effects>> You follow the lake's offshoot brook carefully. The shoreline is choked with dense foliage, forcing you to shimmy along the steep bank. <br><br> There's sharp declines and sharper rocks pointing downstream. Any further will make for a one-way trip. <br><br> <<lakeicon "waterfall">><<link [[Go upstream towards the lake (0:30)|Lake Waterfall]]>><<pass 30>><<tiredness 6>><</link>><<gtiredness>> <br> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked") and hasSexStat("exhibitionism", 3)>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<else>> <<if $bogProgress gte 1>> <<foresticon "bog">><<link [[Go downstream towards the bog (0:20)|Bog Intro]]>><<set $foresthunt to 0>><<pass 20>><<tiredness 6>><<set $forest to 0>><</link>><<note "One-way" "red">><<gtiredness>> <<else>> <<mysteryicon>><<link [[Explore downstream (0:20)|Bog Intro]]>><<set $foresthunt to 0>><<pass 20>><<tiredness 6>><<set $forest to 0>><</link>><<note "One-way" "red">><<gtiredness>> <</if>> <</if>> <br><br> <<foresticon>><<link [[Forest (0:10)|Forest]]>><<pass 10>><<set $forest to 80>><</link>> <br><<widget "forestmove">> <<if $possessed>> You shamble through the forest. You know where you're going. <<elseif $forestmove is "quickly">> You move as quick as the rough and wooded terrain will allow. Twigs and fallen branches bend and snap beneath your feet. <<elseif $forestmove is "normally">> You walk through the trees. The gentle sounds and scents make for a pleasant journey. <<elseif $forestmove is "carefully">> You sneak through the undergrowth, causing as little disturbance as possible. <<elseif $forestmove is "hobble">> You hobble through the undergrowth, careful not to trip. <<elseif $forestmove is "secretin">> The path you take would be invisible if you didn't know where to look. The trees close in around you. You're much deeper in the forest. <<elseif $forestmove is "secretout">> The path you take would be invisible if you didn't know where to look. You soon hear the sounds of town up ahead. You're near the edge of the forest. <<elseif $forestmove is "quick_search">> You search as quick as the rough and wooded terrain will allow, tearing fallen branches off the ground to observe beneath. <<elseif $forestmove is "normal_search">> You search for anything of value hidden between the trees. <<elseif $forestmove is "careful_search">> <<if $forest gte 50>> You sneak through the undergrowth, searching among dense ferns for anything of value. <<else>> You sneak through the undergrowth, scanning the ground for anything of value. <</if>> <<elseif $forestmove is "road">> You walk along the smooth road, safe from the dangers of the wild. <</if>> <<if Weather.precipitation is "rain">> Thick drops of rain fall around you, gathered by the canopy. <</if>> <<if $forestmove or $possessed>> <br><br> <</if>> <<set $forestmove to 0>> <</widget>> <<widget "forestdeeper">> Go deeper into the forest <br> <<if $worn.feet.type.includes("heels") and !$possessed>> <<heelsicon "hobble">><<link [[Hobble in heels (0:30)|Forest]]>><<set $forestmod to 3>><<set $forest += 5>><<pass 30>><<set $forestmove to "hobble">><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>><<gharass>> <<if $town_projects.road gte 4 and $forest lte 24>> <br> <<forestroadicon "deep">><<link [[Follow road (0:10)|Forest]]>><<set $forestmod to 1>><<set $forest += 5>><<set $forestmove to "road">><<pass 10>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><<set $eventskip to 1>><</link>><<noharass>> <</if>> <<else>> <<if !$worn.feet.type.includes("shackle")>> <<runicon>><<link [[Quickly (0:05)|Forest]]>><<set $forestmod to 3>><<set $forest += 5>><<pass 5>><<set $forestmove to "quickly">><<if $foresthunt gte 1>><<set $foresthunt += 0.5>><</if>><</link>><<gharass>> <br> <</if>> <<if $nextPassageCheck is "Forest Blood Deeper">> <span class="nextLink"><<walkicon>><<link [[The lake.|Forest Blood Deeper]]>><<set $forestmod to 1.5>><<set $forest += 5>><<set $forestmove to "normally">><</link>></span> <<else>> <<walkicon>><<link [[Normally (0:10)|Forest]]>><<set $forestmod to 1.5>><<set $forest += 5>><<set $forestmove to "normally">><<pass 10>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><</link>> <</if>> <br> <<sneakicon>><<link [[Carefully (0:30)|Forest]]>><<set $forestmod to 1>><<set $forest += 5>><<pass 30>><<set $forestmove to "carefully">><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>><<lharass>> <<if $town_projects.road gte 4 and $forest lte 24>> <br> <<forestroadicon "deep">><<link [[Follow road (0:05)|Forest]]>><<set $forestmod to 1>><<set $forest += 5>><<set $forestmove to "road">><<pass 5>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><<set $eventskip to 1>><</link>><<noharass>> <</if>> <</if>> <</widget>> <<widget "forestsearch">> Search this area <<gtreasure>> <br> <<if !$worn.feet.type.includes("shackle")>> <<runicon>><<link [[Quickly (0:05)|Forest]]>><<set $forest_search to true>><<set $forestmod to 3>><<pass 5>><<set $forestmove to "quick_search">><<if $foresthunt gte 1>><<set $foresthunt += 0.5>><</if>><</link>><<gharass>> <br> <</if>> <<walkicon>><<link [[Normally (0:10)|Forest]]>><<set $forest_search to true>><<set $forestmod to 1.5>><<set $forestmove to "normal_search">><<pass 10>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><</link>> <br> <<sneakicon>><<link [[Carefully (0:30)|Forest]]>><<set $forest_search to true>><<set $forestmod to 1>><<pass 30>><<set $forestmove to "careful_search">><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>><<lharass>> <</widget>> <<widget "forestlessdeep">> Go towards town <br> <<if $worn.feet.type.includes("heels") and !$possessed>> <<heelsicon "hobble">><<link [[Hobble in heels (0:30)|Forest]]>><<set $forestmod to 3>><<set $forest -= 5>><<pass 30>><<set $forestmove to "hobble">><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>><<gharass>> <<if $town_projects.road gte 4 and $forest lte 25 and $forest gte 1>> <br> <<forestroadicon "town">><<link [[Follow road (0:10)|Forest]]>><<set $forestmod to 1>><<set $forest -= 5>><<set $forestmove to "road">><<pass 10>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><<set $eventskip to 1>><</link>><<noharass>> <</if>> <<else>> <<if !$worn.feet.type.includes("shackle")>> <<runicon>><<link [[Quickly (0:05)|Forest]]>><<set $forestmod to 3>><<set $forest -= 5>><<pass 5>><<set $forestmove to "quickly">><<if $foresthunt gte 1>><<set $foresthunt += 0.5>><</if>><</link>><<gharass>> <br> <</if>> <<if $nextPassageCheck is "Forest Blood Less Deep">> <span class="nextLink"><<walkicon>><<link [[The lake.|Forest Blood Less Deep]]>><<set $forestmod to 1.5>><<set $forest -= 5>><<set $forestmove to "normally">><</link>></span> <<else>> <<walkicon>><<link [[Normally (0:10)|Forest]]>><<set $forestmod to 1.5>><<set $forest -= 5>><<set $forestmove to "normally">><<pass 10>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><</link>> <</if>> <br> <<sneakicon>><<link [[Carefully (0:30)|Forest]]>><<set $forestmod to 1>><<set $forest -= 5>><<pass 30>><<set $forestmove to "carefully">><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>><<lharass>> <<if $town_projects.road gte 4 and $forest lte 25 and $forest gte 1>> <br> <<forestroadicon "town">><<link [[Follow road (0:05)|Forest]]>><<set $forestmod to 1>><<set $forest -= 5>><<set $forestmove to "road">><<pass 5>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><<set $eventskip to 1>><</link>><<noharass>> <</if>> <</if>> <</widget>> <<widget "eventforestoutskirts">> <<cleareventpool>> <<addinlineevent "forestoutskirts_hikers">> <<if numberOfEarSlime() and $earSlime.growth gte 80 - ($earSlime.promiscuity * 10)>> You hear a pair up ahead, on the same trail as you. <br><br> <span class="lewd">You feel the slime in your head command you to give yourself to the pair.</span> It promises rewards if you comply, and threatens consequences if you do not. <br><br> <<if hasSexStat("promiscuity", 4) and $submissive gte 1900>> <<link [[Submit willingly|Forest Slime Pair Submit willingly]]>><<corruption 3>><<pain -8>><<stress -12>><<trauma -24>><<sub 2>><</link>><<promiscuous4>><<ggcorruption>><<llpain>><<llltrauma>><<llstress>> <br> <</if>> <<link [[Obey|Forest Slime Pair Obey]]>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 2>><</link>><<gcorruption>><<lpain>><<lltrauma>><<lstress>> <br> <<link [[Defy|Forest Slime Pair Defy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br> <<else>> <<if $exposed is 1>> You hear a pair up ahead, on the same trail as you. <<if hasSexStat("exhibitionism", 3)>> You look down at your <<lewdness>> and feel a lewd thrill rush through you. Maybe it wouldn't be so bad if they saw you. <br><br> <<rng>> <<if $rng gte 61>> <<link [[Stick to the trail|Forest Molestation]]>><<set $molestationstart to 1>><</link>><<exhibitionist3>> <br> <<else>> <<link [[Stick to the trail|Forest Avoid]]>><<set $phase to 2>><</link>><<exhibitionist3>> <br> <</if>> <<link [[Avoid them (0:20)|Forest Avoid]]>><<set $phase to 0>><<set $eventskip to 1>><<pass 20>><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>> <<else>> You look down at your <<lewdness>> and feel anxious, you'll have to leave the trail or you'll be seen. <br><br> <<link [[Avoid them (0:20)|Forest Avoid]]>><<set $phase to 0>><<set $eventskip to 1>><<pass 20>><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>> <</if>> <<elseif $exposed gte 2>> You hear a pair up ahead, on the same trail as you. <<rng>> <<if hasSexStat("exhibitionism", 5)>> You look down at your <<lewdness>> and feel a lewd thrill rush through you. Maybe it wouldn't be so bad if they saw you. <br><br> <<if $rng gte 41>> <<link [[Stick to the trail|Forest Molestation]]>><<set $molestationstart to 1>><</link>><<exhibitionist5>> <br> <<else>> <<link [[Stick to the trail|Forest Avoid]]>><<set $phase to 3>><</link>><<exhibitionist5>> <br> <</if>> <<link [[Avoid them (0:20)|Forest Avoid]]>><<set $phase to 0>><<set $eventskip to 1>><<pass 20>><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>> <<else>> You look down at your <<lewdness>> and feel anxious, you'll have to leave the trail or you'll be seen. <br><br> <<link [[Avoid them (0:20)|Forest Avoid]]>><<set $phase to 0>><<set $eventskip to 1>><<pass 20>><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>> <</if>> <<else>> You hear a pair up ahead, on the same trail as you. Something about them makes you nervous. <br><br> <<link [[Avoid them (0:20)|Forest Avoid]]>><<set $phase to 0>><<pass 20>><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><</link>> <br> <<rng>> <<if $rng gte 81>> <<link [[Stick to the trail|Forest Molestation]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<link [[Stick to the trail|Forest Avoid]]>><<set $phase to 1>><</link>> <br> <</if>> <</if>> <</if>> <</addinlineevent>> <<addevent "forestwolfspy">> <<addevent "forestwolf" 0.33>> <<addinlineevent "forestoutskirts_safeperson">> <<if Time.dayState is "night">> <<generate1>><<person1>> You see a <<person>> through the trees, leaning against a tree and smoking a cigarette. <<if $exposed gte 1>> You follow a different path, not wanting your <<lewdness>> seen. <<gstress>><<stress 6>> <<else>> <<He>> glances at you as you pass, but doesn't say anything. <</if>> <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<else>> <<generate1>><<person1>> You see a <<person>> through the trees, reaching into a bramble patch. <<He>> holds a basket full of berries in <<his>> other hand. <<if $exposed gte 1>> You follow a deeper path, not wanting your <<lewdness>> seen. <<gstress>><<stress 6>> <<else>> <<He>> waves when <<he>> sees you, and you wave back. <<ltrauma>><<trauma -6>> <</if>> <br><br> <<endevent>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>> <</addinlineevent>> <<addevent "forestrock" 0.33>> <<addinlineevent "forestoutskirts_treebranch">> You squeeze through a thicket. <<set $stripintegrity to 10>><<set $stripobject to "tree branch">><<stripobject>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</addinlineevent>> <<runeventpool>> <</widget>> <<widget "eventforest">> <<if $foresthunt lte 0 and wraithCanHunt() and $wraith.state and ($wraith.hunt or $wraith.timer gte random(0, 40))>> <<wHunt "forest">> <<elseif $foresthunt lte 0 and random(1, 16) is 1>> /* 1 in 12 gives a 5% trigger rate when searching at max allure (given the 60% chance of calling eventforest). * Not part of the eventpool, as having a fixed percent chance simplifies game balancing. * This way, adding new encounters to this event pool won't reduce the risk of being hunted. * Also, players don't get punished with an increased hunt rate if they disable some encounter types. */ <<foresthuntstart>> <<else>> <<cleareventpool>> <<outfitChecks>> <<addevent "forestwolfspy" 0.25>> <<addevent "forestboar" 0.20>> <<if _bottomless is false>> <<addevent "ForestBullies" 0.20>> <</if>> <<addevent "forestwolf" 0.33>> <<addevent "forestbear" 0.15>> <<addevent "forestrock" 0.25>> <<addinlineevent "forest_clothingdamage">> You squeeze through a thicket. <<set $stripintegrity to 10>><<set $stripobject to "tree branch">><<stripobject>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</addinlineevent>> <<addevent "forestcutter" 0.15>> <<set _forestNestUnsafe to true>> <<addevent "forest_nest" 0.15>> <<if $fox_grudge>> <<addevent "fox_grudge" 0.33>> <</if>> <<runeventpool>> <</if>> <</widget>> <<widget "eventforestdeep">> <<if $foresthunt lte 0 and wraithCanHunt() and $wraith.state and ($wraith.hunt or $wraith.timer gte random(0, 20))>> <<wHunt "forest">> <<elseif $foresthunt lte 0 and random(1, 6) is 1>> /* 1 in 6 gives a 10% trigger rate when searching at max allure (given a 60% chance of calling eventforestdeep). * Not in eventpool: see eventforest. */ <<foresthuntstart>> <<else>> <<cleareventpool>> <<addevent "forestwolfspy2">> <<addinlineevent "deepforest_wolf2">> <<beastNEWinit 2 wolf>> A pair of <<if ($monster isnot 1) or ($NPCList[0].pronoun is "m" and $NPCList[1].pronoun is "m") or ($NPCList[0].pronoun is "f" and $NPCList[1].pronoun is "f")>> <<beastsplural>> <<else>> wolf people - one male, and one female - <</if>> emerge from between the trees, teeth bared. <<if $monster is 1>> "Found you," one barks. "Outnumbered. You're ours now." <</if>> <br><br> <!-- Modified for monster people --> <<if $monster is 1 or $bestialitydisable is "f">> <<link [[Next|Forest Wolf2]]>><<set $molestationstart to 1>><</link>> <br> <<else>> They chase you through the woods. You run until you can no longer hear them behind you. You're not sure if you outran them or they grew bored. <<physique 2>><<beastescape>><<gtiredness>><<tiredness 8>><<gathletics>><<athletics 4>> <br><br> <<link [[Next (0:20)|Forest]]>><<pass 20>><<endevent>><<set $eventskip to 1>><</link>> <</if>> <</addinlineevent>> <<if $voredisable is "f" and $bestialitydisable is "f">> <<addevent "forestsnake" 0.33>> <</if>> <<addevent "forestbear">> <<if $tentacledisable is "f" and $voredisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addinlineevent "deepforest_slimecontrol">> You walk through a dense thicket. The air is thick with pollen, but you don't see any flowers. You begin to feel lightheaded, and steady yourself against a trunk. A white haze lingers in the air. <br><br> <<if numberOfEarSlime() and $earSlime.growth gte 50>> <span class="lewd">You feel the slime in your head command you to continue moving in a specific direction.</span> It promises rewards if you comply, and threatens consequences if you do not. <br><br> <<link [[Obey|Forest Pitcher Slime Obey]]>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 1>><<set $slimeObey to true>><</link>><<gcorruption>><<lpain>><<lltrauma>><<lstress>> <br> <<link [[Defy|Forest Pitcher Slime Defy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br> <<else>> <<link [[Steady yourself until the feeling subsides (0:30)|Forest Pitcher Wait]]>><<pass 30>><<arousal 1200>><<drugs 30>><</link>><<ggarousal>> <br> <<link [[Continue|Forest Pitcher Ignore]]>><</link>><<willpowerdifficulty 1 $willpowermax>> <br> <</if>> <</addinlineevent>> <</if>> <<if $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<addevent "forestplant_kiss">> <<addevent "forestplant_snare">> <<addinlineevent "deepforest_roots">> Something grabs your ankle, causing you to trip and fall. You look back, and see a tree root coiling round you. Several others snake through the undergrowth. <br><br> <<link [[Struggle|Forest Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <<if hasSexStat("deviancy", 5)>> <<link [[Allow them to surround you|Forest Tentacles]]>><<set $molestationstart to 2>><</link>><<deviant5>> <</if>> <</addinlineevent>> <</if>> <<addevent "forestrock">> <<if $bestialitydisable is "f" and $waspdisable is "f">> <<addevent "forestwasps">> <</if>> <<addinlineevent "deepforest_clothingdamage">> You squeeze through a thicket. <<set $stripintegrity to 10>><<set $stripobject to "tree branch">><<stripobject>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</addinlineevent>> <<set _forestNestUnsafe to true>> <<addevent "forest_nest">> <<if $fox_grudge>> <<addevent "fox_grudge" 0.33>> <</if>> <<runeventpool>> <</if>> <</widget>> <<widget "eventforestsafe">> <<cleareventpool>> <<if playerRutMinArousal()>> <<addinlineevent "safeforest_wolfhowl_rut">> You hear a wolf howl in the distance. The sound is deep and rumbling. <<if $wolfgirl gte 3>> It stirs something primal in your body. You're desperate to answer this call. <<garousal>><<arousal 1000>> <<elseif $sciencetrait gte 3 and $awareness gte 100>> You remember learning about the local species' rut and oestrus period with Sirris. Best not to linger. <<gstress>><<stress 10>> <<else>> You don't know why but you think the wolves sound different. <<gstress>><<stress 1>> <</if>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<else>> <<addinlineevent "safeforest_wolfhowl">> You hear a wolf howl in the distance. <<if $wolfgirl gte 3>> <<garousal>><<arousal 600>> <<else>> <<gstress>><<stress 1>> <</if>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <</if>> <<addinlineevent "safeforest_easytrail" 0.33>> You find a trail which makes the going a little easier. <<lstress>><<stress -2>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<addinlineevent "event_ambient">> <<eventAmbient>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <<if $forest lte 60>> <<addevent "forestriver" 0.33>> <<else>> <<addinlineevent "safeforest_deer" 0.33>> A breeze caresses your face as you enter a clearing. Stood in the middle is a deer. It stops feeding when it notices you, but doesn't move. <br><br> <<link [[Approach|Forest Deer]]>><</link>> <br> <<link [[Ignore|Forest]]>><<set $eventskip to 1>><</link>> <br> <</addinlineevent>> <</if>> <<if $halloween is 1 and Time.monthDay is 31 and !$halloween_lake>> <<addevent "halloween_lake_invite" 1000>> <</if>> <<runeventpool>> <</widget>> <<widget "eventforestitem">> <<rng>> <<if $rng lte 25>> /* Not part of the eventpool, as having a fixed percent chance simplifies game balancing. * This way, adding new encounters and items to the event pool won't change the difficulty of * mushroom-hunting between game versions. * Similarly, players modifying their toggles (eg the bees toggle, here) won't affect the mushroom drop rate. * * Note that other items in the pool will still be affected: so within the event pool, * the forest gem drop chance is 1:11 because of the bees event, while * the dagger and arrow are 1:7 as the bee event is not in their eventpool. * Multiplying that by 0.75 (not a mushroom) and 0.4 (searching), the overall chance * of getting a museum item each time you search is 2.7% in the deep forest, 4.3% elsewhere. */ <<mushroompick>> <<exit>> <</if>> <<cleareventpool>> /* To calculate the overall odds of getting these when searching or walking, multiply by: * 0.75% (not a mushroom) * (0.2 for walking or 0.4 for searching) * odds within the event pool*/ <<addevent "forestgather" 4>> <<addevent "forest_nest" 1>> <<if $forest lte 20>> <<addevent "forestarrow" 2>> <<elseif $forest lte 50>> <<addevent "forestdagger" 2>> <<else>> <<addevent "forestgem" 2>> <<addinlineevent "eventforestitem_bees" 4>> <<if $beedisable is "f">> You hear a gentle buzz up ahead. A large beehive hangs from a tree. Workers fly in and out in a quest for pollen. The honey would be valuable. <br><br> <<if currentSkillValue('tending') gte 800>> <<tendingicon "wild_honeycomb">><<link [[Harvest honeycomb (0:20)|Forest Honey Pick]]>><<pass 20>><</link>><<tendingdifficulty 800 1100>> <br> <<else>> <span class="blue">You need a higher tending skill to harvest wild honeycomb.</span> <br> <</if>> <<getouticon>><<link [[Leave|Forest]]>><<set $eventskip to 1>><</link>> <br> <<else>> /* This event must exist whether or not $beedisable, so changing toggles won't affect drop rates. */ You take a moment to scramble over a fallen tree, and continue uneventfully. <br><br> <<getouticon>><<link [[Leave|Forest]]>><<set $eventskip to 1>><</link>> <</if>> <</addinlineevent>> <</if>> <<runeventpool>> <</widget>> <<widget "forestwolfspy">> A pair of eyes stares out from the darkness beneath a fern. <<gstress>><<stress 6>> <br><br> <<beastNEWinit 1 wolf>> <!-- Modified for monster people --> <<if numberOfEarSlime() and ($bestialitydisable is "f" or $monster is 1) and ($earSlime.growth gte 80 - ($earSlime.deviancy * 10))>> <span class="lewd">You feel the slime in your head command you to drop to all fours.</span> It promises rewards if you comply, and threatens consequences if you do not. <br><br> <<if hasSexStat("deviancy", 4) and $submissive gte 1900>> <<link [[Submit willingly|Forest Slime Wolf Submit willingly]]>><<corruption 3>><<pain -8>><<stress -12>><<trauma -24>><<sub 2>><</link>><<deviant4>><<ggcorruption>><<llpain>><<llltrauma>><<llstress>> <br> <</if>> <<link [[Obey|Forest Slime Wolf Obey]]>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 1>><</link>><<gcorruption>><<lpain>><<lltrauma>><<lstress>> <br> <<link [[Defy|Forest Slime Wolf Defy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br> <<else>> <<if hasSexStat("deviancy", 2) and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Adopt mating posture|Forest Wolf Mate]]>><</link>><<deviant2>> <br> <</if>> <<if $wolfgirl gte 6>> <<link [[Howl|Forest Howl]]>><<endevent>><<stress -12>><<trauma -6>><<set $phase to 0>><</link>><<ltrauma>><<lstress>><<wolfgirl>> <br> <</if>> <<link [[Continue|Forest]]>><<endevent>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><<set $eventskip to 1>><</link>> <br> <</if>> <</widget>> <<widget "forestwolfspy2">> Two pairs of eyes stare out from the darkness between the trees. <<gstress>><<stress 6>> <br><br> <<beastNEWinit 2 wolf>> <<if hasSexStat("deviancy", 3) and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Adopt mating posture|Forest Wolf Mate2]]>><</link>><<deviant3>> <br> <</if>> <<if $wolfgirl gte 6>> <<link [[Howl|Forest Howl]]>><<endevent>><<stress -12>><<trauma -6>><<set $phase to 1>><</link>><<ltrauma>><<lstress>><<wolfgirl>> <br> <</if>> <<link [[Continue|Forest]]>><<endevent>><<if $foresthunt gte 1>><<set $foresthunt += 1>><</if>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "forestcutter">> <<generate1>><<person1>> You hear a steady noise up ahead. As you get closer, you see a <<person>> chopping a tree. <<if $exposed gte 1>> You crouch behind a bush to conceal your <<nudity>>. <br><br> <<if $exposed gte 2>> <<if hasSexStat("exhibitionism", 5)>> <<link [[Let <<him>> see you|Forest Cutter Exhibitionism]]>><<set $phase to 2>><</link>><<exhibitionist5>> <br> <</if>> <<else>> <<if hasSexStat("exhibitionism", 3)>> <<link [[Let <<him>> see you|Forest Cutter Exhibitionism]]>><<set $phase to 1>><</link>><<exhibitionist3>> <br> <</if>> <</if>> <<link [[Sneak around|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> <<He>> waves at you. <br><br> <<link [[Approach|Forest Cutter]]>><</link>> <br> <<link [[Wave back and continue on|Forest]]>><<stress -12>><<set $eventskip to 1>><<endevent>><</link>><<lstress>> <br> <</if>> <</widget>> <<widget "forestsnake">> You round a tree and come face to face with a pair of eyes, hovering just inches from your face. All strength drains from your muscles, and you collapse to the ground. The snake slithers onto the forest floor. <<set $trance to 1>> <br><br> <<link [[Next|Forest Snake]]>><<set $molestationstart to 1>><</link>> <br> <</widget>> <<widget "ForestBullies">> On the path ahead you spot a group of your classmates lurking off the trail slightly. They look like they are up to no good. <br><br> <<link [[Go around (0:20)|Forest]]>><<pass 20>><<set $eventskip to 1>><</link>> <br> <<link [[Walk by them|Forest Bully Walk]]>><</link>> <br> <</widget>> <<widget "forestboar">> <<beastNEWinit 1 boar>><<person1>> You hear the crunch of branches, then the rustle of leaves, and a snort. A <<beasttype>> fast approaches. <br><br> <<if $monster is 1>> <<bHe>> bursts through a fern, and doesn't slow down. "My territory," <<bhe>> grunts, changing trajectory and speeding up. "Trespasser!" <<bHe>> charges right at you! <<else>> <<bHe>> bursts through a fern, and doesn't slow down. <<bHe>> changes trajectory and speeds up, charging right at you! <</if>> <br><br> <<if $bestialitydisable is "f" or $monster is 1>> <<link [[Brace|Forest Boar Brace]]>><</link>> <br> <<link [[Dodge|Forest Boar Dodge]]>><</link>><<dancedifficulty 1 600>> <br> <<else>> You leap from the creature's path, dodging it but landing in a thorny bush. The creature rushes into the forest, unconcerned with you.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><<endevent>><</link>> <br> <</if>> <</widget>> <<widget "forestbear">> You see fresh bear prints in the dirt. <br><br> <<beastNEWinit 1 bear>> <<if $foresthunt gte 1>> You feel whatever's hunting you draw closer. <br><br> <</if>> <<link [[Take a detour (0:30)|Forest]]>><<endevent>><<pass 30>><<if $foresthunt gte 1>><<set $foresthunt += 2>><</if>><<set $eventskip to 1>><</link>> <br> <!-- Modified for Monster People --> <<if random(1, 5) is 5 and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Ignore them|Forest Bear Molestation]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<link [[Ignore them|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>> <</widget>> <<widget "forestwolf">> <<beastNEWinit 1 wolf>> <!-- Modified for monster people --> A lone <<beasttype>> emerges from between the trees, teeth bared. <<if $monster is 1>> <<if $forest lt 50>> "Found you," <<bhe>> barks. "Mine." <<else>> "Prey. No struggle." <</if>> <</if>> <br><br> <<if $monster is 1 or $bestialitydisable is "f">> <<link [[Next|Forest Wolf]]>><<set $molestationstart to 1>><</link>> <br> <<else>> It chases you through the woods. You run until you can no longer hear it behind you. You're not sure if you outran it or it grew bored. <<beastescape>><<gtiredness>><<tiredness 4>><<gathletics>><<athletics 2>><<silently>><<physique 1>><</silently>> <br><br> <<link [[Next (0:20)|Forest]]>><<pass 20>><<set $eventskip to 1>><<endevent>><</link>> <</if>> <</widget>> <<widget "forestspider">> You're walking across the top of a dell when the ground gives way. Your stomach lurches as you tumble down the slope. <<if $rng gte 71 and $spiderdisable is "f">> You come to a sudden stop. It takes a moment to get your bearings, as it feels like you're suspended in the air. You try to move, but cannot. You glance around, and realise you're <span class="red">stuck to a giant web.</span> <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <br><br> You feel movement elsewhere on the web. Above you. You look up. Many eyes look back. The giant spider creeps closer. <br><br> <<else>> You come to a rest at the bottom, unhurt. That could have been fun, if it wasn't so scary. <<gstress>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>> <</widget>> <<widget "forestrock">> <<if $worn.feet.type.includes("naked") or $worn.feet.type.includes("shackle")>> Your bare foot steps on a hard and jagged rock. It doesn't hurt much, but the shock makes you lose your footing and you tumble into a fern. <<gstress>><<gpain>><<stress 6>><<pain 6>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <<else>> The ground here is covered by hard and jagged rocks. They're hard to spot within the grass, but your $worn.feet.name hold up. <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <br> <</if>> <</widget>> <<widget "forestwasps">> You hear a buzzing in the surrounding trees. <<if $analdisable is "f">> It's loudest behind you, but before you can turn, a dark shape shoots from the canopy and lands on your <<bottom>>. <<else>> Two shapes drop from the canopy, and fly towards you. <</if>> <br><br> <<if hasSexStat("deviancy", 4) and $exposed lt 2>> <<link [[Strip clothes|Forest Wasps Strip]]>><</link>><<deviant4>> <br> <</if>> <<link [[Freeze|Forest Wasps]]>><<set $struggle_start to 1>><</link>> <br> <</widget>> <<widget "forestplant_kiss">> <<generatePlant1>><<person1>> "Hi there!" You hear a voice beside you. A <<person "normal">> stands by a bush of tangled vines, waving at you cheerfully. <<He>> has <<plant_details>> scattered throughout <<his>> hair, and <<hes>> completely naked. <<arousal 600>><<garousal>> <br><br> "Cuties like you don't usually come this far into the forest," <<he>> says. "It's dangerous this deep. <<if $liquidoutsidecount gte 25>> I'd ask if you made it through alright, but..." <<He>> eyes up the lewd fluids covering your body. "Yeah, you've had some fun." <<else>> Hope you didn't run into any trouble. That'd be awful." <</if>> <br><br> The <<person "normal">> thinks for a moment, before smiling. "Hey, before you go, how about a kiss? Y'know, for good luck." <<He>> closes <<his>> eyes and leans forward, tapping <<his>> finger to <<his>> lips. <br><br> <<if $backgroundTraits.includes("plantlover") and $nectar_timer lte 14>> <span class="pink">You know <<hes>> a <<personsimple>>. You can smell the nectar on <<his>> lips from here.</span> Your heart races, and you can barely think. You need <<his>> nectar. You need more of the sweet, intoxicating nectar. <br><br> <<link [[Kiss <<him>>|Forest Plant Kiss]]>><</link>><<promiscuous1>><<kissvirginitywarning>> <br> <<link [[Refuse|Forest Plant Kiss Refuse]]>><<stress 12>><</link>><<ggstress>> <<else>> <<link [[Kiss <<him>>|Forest Plant Kiss]]>><</link>><<promiscuous1>><<kissvirginitywarning>> <br> <<link [[Refuse|Forest Plant Kiss Refuse]]>><</link>> <</if>> <</widget>> <<widget "forestplant_snare">> <<generatePlant1>><<person1>> <<if currentSkillValue('skulduggery') gte random(200,700)>> You <span class="green">notice something out of the corner of your eye</span>, and look down. A snare trap made of vines is hidden in the ground. A vine leads across the ground into a nearby bush. <br><br> <<link [[Step over it|Forest Plant Snare]]>><<set $phase to 0>><</link>> <br> <<link [[Purposefully step in it|Forest Plant Snare]]>><<set $phase to 1>><<control 35>><</link>><<gcontrol>> <<else>> You're walking through the forest when <span class="red">a snare trap circles around your legs</span>. It tightens and pulls you to the ground, splitting off to pull your legs apart. It looks like it's made out of vines. <br><br> A <<person "normal">> with <<plant_details>> in <<his>> hair and <span class="purple">writhing vines trailing behind <<him>></span> runs up to you from out of a bush. "Got one!" the <<person>> crows. "And I only waited six hours. I'm pretty much a trapping pro." <<He>> licks <<his>> lips and moves toward you, wiggling <<his>> fingers lewdly. <br><br> <<link [[Next|Forest Plant Sex]]>><<set $molestationstart to 1>><<set $leftleg to "bound">><<set $rightleg to "bound">><</link>> <</if>> <</widget>> <<widget "forestdagger">> <<wearProp "dagger">> You tread on something hard. You kneel and pull it from the forest detritus. It's an ancient dagger, worn beyond use. A collector might pay for this. <br><br> <<set $antiquemoney += 40>><<museumAntiqueStatus "antiqueforestdagger" "found">> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "forestgem">> <<wearProp "forest gem">> Something glints at the base of a tree stump. You tug it free. A calmness falls over you. <<lstress>><<stress -3>> <br><br> It's a translucent green gemstone. A collector might pay for it. <br><br> <<set $antiquemoney += 100>><<museumAntiqueStatus "antiqueforestgem" "found">> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "forestarrow">> <<wearProp "arrow">> You spot a decaying metal shard amongst the fallen bark at your feet. It's an arrowhead. A collector might pay for it. <br><br> <<set $antiquemoney += 20>><<museumAntiqueStatus "antiqueforestarrow" "found">> <<link [[Next|Forest]]>><<handheldon>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "foresthuntstart">> A chill runs up your spine, a warning from some primal instinct. <span class="red">Something is hunting you.</span> <<if random(1, 2) is 1>> <<set $edenforesthunt to 1>> <<set $blackwolfhunt to 0>> <<else>> <<set $edenforesthunt to 0>> <<set $blackwolfhunt to 1>> <</if>> <<set $foresthunt to 1>> <<endevent>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</widget>> <<widget "foresthunt">> <<set $foresthunt to 0>> <<if $wraith.hunt>> <<set $wraith.hunt to 0>> <<if $location is "forest">> <<set $wraith.exit to "forest">> <<elseif $location is "lake_ruin">> <<set $wraith.exit to "lake_ruin">> <<else>> <<set $wraith.exit to "lake">> <</if>> <<wraithCaught>> <<elseif $blackwolfhunt is 1>> <!-- Modified for monster people --> <<npc "Black Wolf">>/*<<beastNNPCinit>>*/ <<if playerNormalPregnancyType() isnot "wolf" and isPregnancyEnding()>> The Black Wolf bounds towards you! <<bHe>> observes you for a moment, then howls. <<if $monster is 1>> "Not good place for human birth," <<bhe>> says, <<bhis>> voice tinged with fear. "Come. Hold my fur. I'll take you." <<else>> <<bHe>> turns to face away from the forest, but keeps <<bhis>> gaze fixed on you. <</if>> <br><br> <<link [[Next|Pregnancy Birth Black Wolf Hospital 1]]>><</link>> <br> <<elseif $syndromewolves is 1>> <<if $caveHumanPregnancyDiscovered is 1>> The Black Wolf bounds towards you! <<if $wolfpackharmony gte 12>> <<bHis>> excitement knocks you over as <<bhe>> leaps on top of you and licks your face, then turns and walks several paces away.<<stress -1>><<lstress>> <br><br> <<bHe>> looks back over <<bhis>> shoulder, in the direction of the wolf cave. <<if $monster is 1>> "Good to see you," <<bhe>> says. <<bHe>> looks at your belly, "But <<ppackbrother>> can't return with human cub," <<bhe>> says, disappointed. "We miss you." <<else>> <<bHe>> looks at your belly and whimpers. You can't go back to the cave while carrying a human cub. <</if>> <<else>> <<if $monster is 1>> "<<pPackbrother>> still with human cub!" <<bhe>> barks. "Leave, now!" <<else>> <<bHe>> growls at you. You think <<bhe>> wants you to leave <<bhis>> territory. <</if>> <<stress 1>><<gstress>> <</if>> <br><br> <<link [[Continue|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <<elseif $wolfpacktrust gte 24>> The Black Wolf bounds towards you! <<bHis>> excitement knocks you over as <<bhe>> leaps on top of you and licks your face, then turns and walks several paces away.<<stress -1>><<lstress>> <br><br> <<bHe>> looks back over <<bhis>> shoulder, in the direction of the wolf cave. <<if $monster is 1>> "Good to see you," <<bhe>> says. "Not safe here. Cold, dark. Come home." <</if>> <br><br> <<link [[Return to wolf cave (0:30)|Wolf Cave Clearing]]>><<endevent>><<pass 30>><</link>> <br> <<link [[Continue|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> <<if $monster is 1 or $bestialitydisable is "f">> The Black Wolf bounds towards you! <<if $monster is 1>> "Runaway, no good," <<bhe>> says. <</if>> <br><br> <<link [[Next|Forest Wolf Molestation]]>><<set $molestationstart to 1>><</link>> <<else>> You hear rustling nearby. A pair of glowing yellow eyes watch you from the canopy. The Black Wolf bounds towards you! You flee in terror, and somehow manage to escape.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <</if>> <</if>> <<elseif $monster is 1 or $bestialitydisable is "f">> You hear rustling nearby. A pair of glowing yellow eyes watch you from the canopy. <<if $monster is 1>> Tufts of thick black hair cover a nude, towering body from head to toe. With a primal growl, <<bhe>> leaps towards you! <<else>> A monstrous black wolf bounds towards you! <</if>> <br><br> <<link [[Next|Forest Wolf Molestation]]>><<set $molestationstart to 1>><</link>> <<else>> You hear rustling nearby. A pair of glowing yellow eyes watch you from the canopy. A monstrous black wolf bounds towards you! You flee in terror, and somehow manage to escape.<<beastescape>> <br><br> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>> <<else>> <<rngWraith 2 "night">> <<if _wraithEvent and (["haunt", "despair"].includes($wraith.state) or $wraith.offspring is "dead") and $syndromeeden is 1>> <<set $wraith.mimic to "Eden">><<npc Eden>><<person1>>Something whizzes past and hits a tree in front of you. You shield your face with your arms and stagger backwards. Something presses against your back, and you hear a <<personsimple>>'s voice. "I've got you now. Don't resist." <br><br> <<link [[Next|Wraith Mimic Fight]]>><<set $wraith.exit to "forest">><<set $molestationstart to 1>><</link>> <br> <<elseif $edenCagedEscape>> <<npc Eden>><<person1>> A hand grabs you by the back of the neck as you look off into the forest. "Told you I'd find you again, didn't I?" It's Eden. <br><br> <<He>> pins you against a tree, rage flashing in <<his>> eyes. <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><</link>> <br> <<link [[Try to pull away|Eden Caged Caught Pull]]>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 1>><<pass 30>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <<elseif $syndromeeden is 1 and (($edenfreedom isnot 2 and $edendays gte 7) or ($edenfreedom gte 2 and $edendays gte 21))>> <<npc Eden>><<person1>> A hand grabs you by the back of the neck as you look off into the forest. "Where the fuck have you been?" snarls a <<personsimple>>. It's Eden. "I've been worried sick!" <br><br> Before you can speak, Eden begins to drag you away. "I don't want to hear your excuses, either." <<He>> glances scornfully in the direction of the town. "I could figure what you've been up to, anyway. Things aren't going to be pretty when we get home." <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><</link>> <br> <<link [[Try to pull away|Eden Caged Caught Pull]]>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 1>><<pass 30>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <<elseif $edenfreedom gte 2 and $edendays gte 8>> <<npc Eden>><<person1>> An arm wraps around your neck from behind, while a hand presses against the back of your head. You hear a <<personsimple>>'s voice. "I've been looking for you all over." It's Eden. "Come on, let's go home." <br><br> <<if $asphyxiaLvl gte 3>> <<link [[Resist|Eden Recaptured Resist]]>><<set $fightstart to 1>><</link>> <<else>> <<link [[Resist|Eden Recaptured Resist Normal]]>><<set $molestationstart to 1>><</link>> <</if>> <br> <<link [[Go to the cabin (0:30)|Eden Recaptured]]>><<pass 30>><</link>> <br> <<elseif $edenfreedom is 1 and $edendays gte 2>> <<npc Eden>><<person1>> An arm wraps around your neck from behind, while a hand presses against the back of your head. You hear a <<personsimple>>'s voice. "I've been looking for you all over." It's Eden. "Come on, let's go home." <br><br> <<link [[Resist|Eden Recaptured Resist]]>><<set $fightstart to 1>><</link>> <br> <<link [[Go to the cabin (0:30)|Eden Recaptured]]>><<pass 30>><</link>> <br> <<elseif $edenfreedom gte 1>> <<rng>> <<if Time.dayState isnot "night">> <<if $rng gte 51>> <<if currentSkillValue("feetskill") gte 800>> <<npc Eden>><<person1>> You step on a branch. You're almost caught off guard as a rope starts to coil around your legs. <span class="green">You jump out of the way.</span> A half-second later and you'd be left dangling from a tree. <br><br> "Too close," a voice calls out. It's Eden. "Those traps are meant for animals. You should watch where you're going." <<else>> <<npc Eden>><<person1>> You step on a branch. You're caught off guard as a rope snares around your right leg, hoisting you high into the air. It flips you upside down, leaving you dangling from a nearby tree.<<gstress>><<stress 6>> <br><br> You reach up to untie yourself, and spot someone watching. It's Eden. <br><br> "Those traps are meant for animals," <<he>> says. "You should watch where you're going." <<He>> takes your weight in <<his>> arms while <<he>> <<if C.npc.Eden.lust gte 60>> begins to untie you. <<He>> pauses before <<he>> does. <br><br> "We should have some fun first, though, don't you agree?" <<He>> smiles down at you as <<he>> unzips <<his>> pants. <br><br> <<link [[Help Eden pull <<his>> pants down|Forest Eden Snare Oral]]>><<set $phase to 0>><<npcincr Eden love 1>><<npcincr Eden dom 1>><<sub 1>><</link>><<glove>><<gdom>> <br> <<link [[Push Eden away|Forest Eden Snare Oral]]>><<set $phase to 1>><<npcincr Eden love -1>><<npcincr Eden dom -1>><<def 1>><</link>><<llove>><<ldom>> <<exit>> <<else>> unties you, then eases you to the ground. <</if>> <</if>> <<else>> <<npc Eden>><<person1>> You hear leaves rustling. A deer leaps from a nearby bush, with Eden close behind. The latter stops in <<his>> tracks when <<he>> spots you. <br><br> "I almost didn't see you," <<he>> says. "You should get back to the cabin. Where it's safe." <</if>> <<else>> <<if $rng gte 51>> <<npc Eden>><<person1>> A light blazes into your eyes, obscuring your vision. You raise your arm in front of your face. "Can't see a damn thing out here," says a voice. It's Eden. <<He>> points the torch right at you. "What are you doing out at this time?" <<else>> <<npc Eden>><<person1>> An arm wraps around your neck from behind, while a hand presses against the back of your head. You struggle, and the perpetrator releases you. "Sorry," says a voice. It's Eden. "I just wanted to check on you. Why do you look scared?" <</if>> <</if>> <br><br> <<forestCabinReturnLinks>> <<else>> <<npc Eden>><<person1>> A bullet whizzes past and hits a tree in front of you. You shield your face with your arms and stagger backwards. A cold hard object presses against your back, and you hear a <<personsimple>>'s voice. "I've got you now. Don't resist." <br><br> <<link [[Next|Forest Hunter Molestation]]>><<set $molestationstart to 1>><</link>> <</if>> <</if>> <</widget>> <<widget "eventwolfcave">> <<if $wolfpacktrust gte 12>> <<npc "Black Wolf">>/*<<beastNNPCinit>>*/ The Black Wolf walks up to you and <<if $monster is 1>>kneels<<else>>turns<</if>> until <<bhis>> <<if C.npc["Black Wolf"].gender is "m">>erect $NPCList[0].penisdesc<<else>>wet pussy<</if>> hovers inches away from you. <<bHe>> waits. The other <<wolf_cave_plural>> watch. <<if $monster is 1>>"Accept, and become <<ppackbrother>>.<<print ((playerHeatMinArousal() and (V.player.vaginaExist or canBeMPregnant()) and V.NPCList[0].penis !== "none") ? ' You ready.' : '')>><<print ((playerRutMinArousal() and $NPCList[0].vagina isnot "none") ? " You ready." : '')>>"<</if>> <br><br> <<link [[Take it in hand|Wolf Cave Accept]]>><<set $sexstart to 1>><</link>><<deviant1>> <br> <<if hasSexStat("deviancy", 4)>> <<link [[Take it in mouth|Wolf Cave Accept]]>><<set $phase to 1>><<set $sexstart to 1>><</link>><<deviant4>> <br> <</if>> <<if $wolfgirl gte 6 and hasSexStat("deviancy", 5)>> <<if playerAwareTheyAreInHeat() and $NPCList[0].penis isnot "none" and (($player.vaginaExist and !playerChastity("vagina")) or (canBeMPregnant() and !playerChastity("anus")))>> <<link [[Present your behind|Wolf Cave Accept]]>><<set $phase to 2>><<set $sexstart to 1>><</link>><<deviant5>><<wolfgirl>><<heat>> <br> <</if>> <<if playerRutMinArousal() and $NPCList[0].vagina isnot "none" and !playerChastity("penis")>> <<link [[Playful bite|Wolf Cave Accept]]>><<set $phase to 3>><<set $sexstart to 1>><</link>><<deviant5>><<wolfgirl>><<rut>> <br> <</if>> <</if>> <<link [[Refuse|Wolf Cave Refuse]]>><</link>> <br> <<else>> <<if $rng gte 81>> Most of the pack leave to hunt, only a pair remain to guard you. Now could be your chance to escape. <br><br> <<link [[Try to escape|Forest Wolf Cave Pair]]>><</link>> <br> <<link [[Stay put (0:30)|Forest Wolf Cave Hunt]]>><<pass 30>><</link>><<gstockholm>> <br> <<else>> <<beastNEWinit 1 wolf>> One of the <<beastsplural>> approaches you. <br><br> <<link [[Next|Forest Wolf Cave Molestation]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <</if>> <</widget>> <<widget "cabintime">> <<switch Time.hour>> <<case 6>> <<set _night_length to 1>> <<case 5>> <<set _night_length to 2>> <<case 4>> <<set _night_length to 3>> <<case 3>> <<set _night_length to 4>> <<case 2>> <<set _night_length to 5>> <<case 1>> <<set _night_length to 6>> <<case 0>> <<set _night_length to 7>> <<case 23>> <<set _night_length to 8>> <</switch>> <<pass _night_length hours>> <<if not _args[0]>> /* passing time but not sleeping */ <<tiredness _night_length*(-12)>> <</if>> <</widget>> <<widget "passoutforest">> <<if isPregnancyEnding()>> <<pregnancyPassout "forest">> <<else>> You've pushed yourself too much. <br><br> <<passout>> <<set $danger to random(1, 10000)>> <<if $danger gte (9900 - $allure)>> <<if $rng gte 71 and $forest gte 21 and $plantdisable is "f" and $tentacledisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<link [[Everything fades to black...|Forest Plant Passout]]>><</link>> <<else>> <<foresthunt>> <</if>> <<else>> <<set $foresthunt to 0>> <<ambulance>> <</if>> <</if>> <<pass 1 hour>> <<trauma 6>><<set $stress -= 2000>> <</widget>> <<widget "forestriver">> You come to a fast-flowing river. <<if $foresthunt gte 1>> You might be able to use it to disrupt your trail and escape your pursuer, but it looks dangerous. <</if>> <br><br> <<link [[Swim across|Forest Swim]]>><<set $foresthunt to 0>><</link>><<swimmingdifficulty 1 600>> <br> <<link [[Ignore it|Forest]]>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "foresttrunks">> You feel uneasy, as if you're being watched. You scan the forest, but see nothing strange. <br><br> You take another step, and a rumble almost knocks you off your feet. A tree in front of you creaks and groans as a shiver travels up its trunk. The branches curl upwards, as if pulled by an unseen giant. They entwine with one another, forming a cage. <br><br> With a crack, the trunk bends in your direction, and the cage of branches lunges for you. <br><br> <<link [[Run|Forest Trunks Run]]>><</link>><<willpowerdifficulty 1 1000>> <br> <<link [[Cower|Forest Trunks Cower]]>><</link>> <br> <<if $wolfgirl gte 6>> <<link [[Howl|Forest Trunks Howl]]>><</link>><<wolfgirl>> <br> <</if>> <</widget>> <<widget "mushroompick">> <<if $forest lte 50>> <<set _forest_shrooms to 1>> <<else>> <<set _forest_shrooms to 2>> <</if>> You find a cluster of edible mushrooms growing at the base of a <<if _forest_shrooms is 2>>decaying <</if>> tree. <br><br> <<if _forest_shrooms is 2>> <<if currentSkillValue('science') gte 200>> You remember from school that they're called <<tendingicon "wolfshroom">> wolfshrooms, and were prized by warriors in ancient times. <br><br> <</if>> <</if>> <<if _forest_shrooms is 1>> <<if $scienceshroomheart lt 5>> <<tendingicon "mushroom">><<link [[Take for science project (0:02)|Forest Science Shroom]]>><<pass 2>><<set $phase to 0>><</link>> <br> <</if>> <<tendingicon "mushroom">><<link [[Search for saleable specimens (0:20)|Forest Mushrooms Pick]]>><<pass 20>><</link>><<tendingdifficulty 1 300>> <br> <<tendingicon "mushroom">><<link [[Eat one (0:01)|Forest Mushrooms]]>><<stress 3>><<pass 1>><<tiredness -6>><</link>><<gstress>><<ltiredness>> <<else>> <<if $scienceshroomwolf lt 5>> <<tendingicon "wolfshroom">><<link [[Take for science project (0:02)|Forest Science Shroom]]>><<pass 2>><<set $phase to 1>><</link>> <br> <</if>> <<if currentSkillValue('tending') gte 300>> <<tendingicon "wolfshroom">><<link [[Search for saleable specimens (0:20)|Forest Mushrooms2 Pick]]>><<pass 20>><</link>><<tendingdifficulty 300 600>> <br> <<else>> <span class="blue">You need a higher tending skill to pick saleable mushrooms.</span> <br> <</if>> <<tendingicon "wolfshroom">><<link [[Eat one (0:01)|Forest Mushrooms2]]>><<pass 1>><<alcohol 60>><<arousal 3000>><<trauma -3>><<transform wolf 3>><</link>><<garousal>><<ltrauma>> <br> <</if>> <br> <<getouticon>><<link [[Best leave them alone|Forest]]>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "forest_nest">> <<if !$forest_nest_intro>> <<set $forest_nest_intro to true>> <<set $forest_nest to {type: 2, fox: 3, eggs: 7}>> <<beastNEWinit 1 fox>> You hear some rustling from a tree up ahead. <<if $anxiety gte 1>>You instinctively hide behind the nearest tree.<<else>>You cautiously approach to take a look.<</if>> <br><br> You spot a fluffy orange tail peeking out from a cluster of branches in the canopy. The soft face of a <<beasttype>> suddenly looks up. There's an egg in <<bhis>> mouth. <br><br> <<bHe>> briefly looks around, before noisily chomping down on the egg. Some of the yolk dribbles down <<bhis>> chin. <<bHe>> reaches into the nest for more, <<if $monster is 1>> grabbing a handful before deftly leaping down from the tree. <<bHe>> puts them in a pile on the ground. <<else>> putting one in <<bhis>> mouth before leaping down from the tree. <<bHe>> begins making a pile of them on the ground. <</if>> <br><br> <i><span class="blue">If you could raid a nest like that, you might be able to sell any unfertilised <<icon "tending/bird_egg.png">> bird eggs you find.</span></i> <br><br> <<ind>><<link [[Just watch (0:05)|Forest Fox Nest Watch]]>><<pass 5>><<stress -3>><</link>><<lstress>> <br> <<if $harpy gte 6>> <<ind>><<link [[Challenge|Forest Fox Nest Challenge]]>><</link>><<harpy>> <br> <<else>> <<ind>><<link [[Challenge|Forest Fox Nest Challenge]]>><</link>><<physiquedifficulty 1 $physiquemax>> <br> <</if>> <<set $skulduggerydifficulty to 300>> <<ind>><<link [[Sneak up|Forest Fox Nest Sneak]]>><</link>><<skulduggerydifficulty>> <br> <<if $fox gte 6>> <<ind>><<link [[Chase!|Forest Fox Nest Chase]]>><<set $phase2 to 1>><<stress -6>><<transform fox 1>><</link>><<llstress>><<fox>><<note "No eggs" "red">> <br> <<else>> <<ind>><<link [[Chase|Forest Fox Nest Chase]]>><<set $phase2 to 1>><<tiredness 6>><</link>><<gtiredness>><<athleticsdifficulty 1 300>><<note "No eggs" "red">> <br> <</if>> <<else>> <<set $forest_nest to {type: 0, fox: 0, bird: 0, eggs: 0}>> <!-- 1 = abandoned nest, 2 = active nest, 3 = fallen nest, 4 = snake nest --> <<rng 4>><<set $forest_nest.type to ($forest lte 50 ? Math.clamp($rng, 1, 3) : Math.clamp($rng, 2, 4))>> <!-- 1 = no fox, 2 = fox, 3 = player aware of fox --> <<if _forestNestUnsafe>> <<set $forest_nest.fox to 2>> <<else>> <<rng 2>><<set $forest_nest.fox to $rng>> <</if>> <<rng>> <<switch $forest_nest.type>> <<case 1>> <<set $forest_nest.eggs to random(1, 3)>> You spot an <span class="purple">abandoned</span> bird's nest in a nearby tree. <<case 2>> <<set $forest_nest.eggs to ($forest gte 50 ? random(7, 14) : random(5, 10))>> You spot a <span class="teal">well-maintained</span> bird's nest in a nearby tree. <<if $forest gt 50>>It sticks out against the decaying branches.<</if>> <<case 3>> <<set $forest_nest.eggs to random(3, 8)>> You spot a large cluster of <<if $forest gt 50>>mud<<else>>twigs<</if>> and foliage on the ground. It looks like a <span class="teal">fallen bird's nest</span>. <<case 4>> <<set $forest_nest.eggs to 0>> You spot a large cluster of <<if $forest gt 50>>mud<<else>>twigs<</if>> and foliage on the ground. It looks like a <span class="teal">fallen bird's nest</span>. <<if currentSkillValue('tending') gte 800>> <<set _snakeKnown to true>> However, thanks to your tending skill, you spot nearby tracks and holes in the ground. You realise <span class="red">it's a snake's nest</span>. <</if>> <</switch>> <br> <<if $forest_nest.fox is 2>> <<beastNEWinit 1 fox>> <<if $fox gte 6>> <<set $forest_nest.fox to 3>> <span class="orange">You smell a <<beasttype>> nearby</span>. You can tell <<bhes>> <<if $NPCList[0].traits.includes("cowardly")>><span class="teal">cowardly</span>. <<elseif $NPCList[0].traits.includes("territorial")>><span class="red">territorial</span>. <<elseif $NPCList[0].traits.includes("clever")>><span class="purple">clever</span>. <<elseif $NPCList[0].traits.includes("friendly")>><span class="green">friendly</span>. <<elseif $NPCList[0].traits.includes("clumsy")>><span class="blue">clumsy</span>. <</if>> <br> <<elseif currentSkillValue('skulduggery') gte $NPCList[0].skills.security>> <<set $forest_nest.fox to 3>> <span class="blue">You hear a rustle nearby.</span> Something else is eyeing up the nest, too. <br> <</if>> <</if>> <br> <<if $forest_nest.type lte 2>> <<ind>><<link [[Climb up to the nest|Forest Nest Climb]]>><</link>><<athleticsdifficulty 0 800>> <br> <<ind>><<link [[Knock the nest down|Forest Nest Throw]]>><<set $forest_nest.eggs -= 4>><<set $forest_nest.type to 3>><</link>><<note "Fewer eggs" "red">> <br> <<elseif $forest_nest.type is 3>> <<ind>><<link [[Search the nest|Forest Nest Search]]>><</link>> <br> <<elseif !_snakeKnown>> <<ind>><<link [[Search the nest|Forest Nest Snake]]>><</link>> <br> <<elseif _snakeKnown and hasSexStat("deviancy", 4) and $voredisable is "f">> <<ind>><<link [[Present yourself as food|Forest Nest Snake Vore 1]]>><</link>><<deviant4>> <br> <</if>> <<if $forest_nest.fox is 3>> <<ind>><<link [[Hide and wait (0:05)|Forest Nest Hide]]>><<unset $athleticsSuccess>><<set $forest_nest.eggs -= 2>><<pass 5>><</link>><<note "Fewer eggs" "red">> <br> <</if>> <</if>> <<getouticon>><<link [[Leave|Forest]]>><<endevent>><<unset $forest_nest>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "fox_grudge">> <<loadNPC 0 "fox_grudge">> <<loadNPC 1 "fox_grudge">> <<loadNPC 2 "fox_grudge">> <<clearNPC "fox_grudge">> <<unset $fox_grudge>> A <<beasttype>> emerges from between the trees. Another one emerges behind you, and a final, larger one appears right in front of you. <span class="red">You recognise <<bhim>></span>. <<bHes>> the one you scared off from a nest. <<if $monster is 1>> "Hold still, <<foxnickname>>. We're going to enjoy this." <</if>> <br><br> <<if $monster is 1 or $bestialitydisable is "f">> <<link [[Next|Forest Fox Revenge]]>><<set $molestationstart to 1>><</link>> <br> <<else>> They chase you through the woods. You run until you can no longer hear them behind you. You're not sure if you outran them or they grew bored. <<physique 1>><<beastescape>><<gtiredness>><<tiredness 4>><<gathletics>><<athletics 2>> <br><br> <<link [[Next (0:20)|Forest]]>><<endevent>><<pass 20>><<set $eventskip to 1>><</link>> <</if>> <</widget>> <<widget "forestgather">> <<set _forest_item to random(1, 2)>> You come to a clearing. A gentle breeze blows against your face, and small, soft plants press beneath your feet. <<if $forest lte 20>> <<if _forest_item is 1>> Lilies grow among the grass and in the shadow of taller plants. <<else>> Ripe apples hang from the branches. <</if>> <<elseif $forest lte 50>> <<if _forest_item is 1>> Wild red rose bushes dot the area. <<else>> Wild pears grow from the trees. <</if>> <<else>> <<if _forest_item is 1>> You spot orchids near the edge, at the base of ancient trees. <<else>> <<if Time.isBloodMoon()>> <span class="red">Red-veined</span> lemons grow from a cluster of small trees. <<else>> Lemons grow from a cluster of small trees. <</if>> <</if>> <</if>> <<lstress>><<stress -2>> <br><br> <<if $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1 or $worn.upper.exposed gte 2 and $underupperwetstage gte 3 or $upperwetstage gte 3 and $worn.under_upper.exposed gte 1 or $upperwetstage gte 3 and $underupperwetstage gte 3>> <<foresticon "bush">><<link [[Make a top out of plants and twigs (0:20)|Forest Clearing]]>><<set $phase to 1>><<pass 20>><</link>> <br> <</if>> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 or $worn.lower.exposed gte 2 and $underlowerwetstage gte 3 or $lowerwetstage gte 3 and $worn.under_lower.exposed gte 1 or $lowerwetstage gte 3 and $underlowerwetstage gte 3>> <<foresticon "bush">><<link [[Make a skirt out of plants and twigs (0:20)|Forest Clearing]]>><<set $phase to 2>><<pass 20>><</link>> <br> <</if>> <<if $forest lte 20>> <<if _forest_item is 1>> <<if !$plants_known.includes("lily")>> <<if $sciencetrait gte 1>> <<icon "tending/lily.png">> <<link [[Search for seeds (0:30)|Forest Lily]]>><<pass 30>><<tending 6>><<set $plants_known.push("lily")>><</link>><<gtending>> <br> <<else>> <span class="blue">A higher science skill would let you harvest lily seeds.</span> <br> <</if>> <</if>> <<if currentSkillValue('tending') gte 100>> <<icon "tending/lily.png">> <<link [[Pick lilies (0:20)|Forest Lily Pick]]>><<pass 20>><</link>><<tendingdifficulty 100 400>> <br> <<else>> <span class="blue">You need a higher tending skill to pick saleable specimens.</span> <br> <</if>> <<else>> <<icon "tending/apple.png">> <<link [[Pick apples (0:20)|Forest Apple Pick]]>><<pass 20>><</link>><<tendingdifficulty 1 300>> <br> <</if>> <<elseif $forest lte 50>> <<if _forest_item is 1>> <<if !$plants_known.includes("red_rose")>> <<if $sciencetrait gte 2>> <<icon "tending/red_rose.png">> <<link [[Search for seeds (0:30)|Forest Red Rose]]>><<pass 30>><<tending 6>><<set $plants_known.push("red_rose")>><<pain 6>><</link>><<gpain>><<gtending>> <br> <<else>> <span class="blue">A higher science skill would let you harvest red rose seeds.</span> <br> <</if>> <</if>> <<if currentSkillValue('tending') gte 200>> <<icon "tending/red_rose.png">> <<link [[Pick red roses (0:20)|Forest Red Rose Pick]]>><<pass 20>><</link>><<tendingdifficulty 200 500>> <br> <<else>> <span class="blue">You need a higher tending skill to pick saleable specimens.</span> <br> <</if>> <br> <<else>> <<if currentSkillValue('tending') gte 100>> <<icon "tending/pear.png">> <<link [[Pick pears (0:20)|Forest Pear Pick]]>><<pass 20>><</link>><<tendingdifficulty 100 400>> <br> <<else>> <span class="blue">You need a higher tending skill to pick saleable specimens.</span> <br> <</if>> <</if>> <<else>> <<if _forest_item is 1>> <<if !$plants_known.includes("orchid")>> <<if $sciencetrait gte 3>> <<icon "tending/orchid.png">> <<link [[Search for seeds (0:30)|Forest Orchid]]>><<pass 30>><<tending 6>><<set $plants_known.push("orchid")>><</link>><<gtending>> <br> <<else>> <span class="blue">A higher science skill would let you harvest orchid seeds.</span> <br> <</if>> <</if>> <<if currentSkillValue('tending') gte 300>> <<icon "tending/orchid.png">> <<link [[Pick orchids (0:20)|Forest Orchid Pick]]>><<pass 20>><</link>><<tendingdifficulty 300 600>> <br> <<else>> <span class="blue">You need a higher tending skill to pick saleable specimens.</span> <br> <</if>> <<else>> <<if currentSkillValue('tending') gte 200>> <<if Time.isBloodMoon()>> <<icon "tending/lemon.png">> <<link [[Pick lemons (0:20)|Forest Blood Lemon Pick]]>><<pass 20>><</link>><<tendingdifficulty 200 500>> <br> <<else>> <<icon "tending/lemon.png">> <<link [[Pick lemons (0:20)|Forest Lemon Pick]]>><<pass 20>><</link>><<tendingdifficulty 200 500>> <br> <</if>> <<else>> <span class="blue">You need a higher tending skill to pick saleable specimens.</span> <br> <</if>> <</if>> <</if>> <<foresticon>><<link [[Continue|Forest]]>><<set $eventskip to 1>><</link>> <br> <</widget>> <<widget "gwylanitem">> <<print either("trophy","baseball","baseball bat","snow globe","magic 8-ball","ping-pong paddle","chess set","piggy bank","mug","cookie tin","frying pan","backscratcher","pencil case","lunch box","lava lamp","torch","cuckoo clock","Rubix cube","globe","water gun","dictionary","hand mirror","novelty camera","ziplock bag filled with seashells","miniature stepladder","knick-knack of unknown purpose")>> <</widget>> <<widget "slimePunishmentForest">> You feel a jolt of pain as the slime punishes you for defiance. <<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <</widget>> <<widget "forestRescueSetup">> <<set $_eden_available to (isLoveInterest("Eden") and (random(1, 2) is 2 or $eden_rescue isnot 1))>> <<if $_eden_available or $forest lte 20>> <<if $_eden_available and $forest lte 20>> <<set $rescue to 2>> <<else>> <<enable_rescue>> <</if>> <</if>> <</widget>> <<widget "forestRescueFail">> <<if $gwylan_rescue is 1>> <span class="red">You're too deep into the forest for Gwylan to hear you<<if _args[0] isnot "hunter" and isLoveInterest("Eden")>>, and Eden must not be in the area<</if>>.</span> <<else>> <span class="red">You're too far from town for anyone to hear you<<if _args[0] isnot "hunter" and isLoveInterest("Eden")>>, and Eden must not be in the area<</if>>.</span> <</if>> <</widget>> <<widget "gwylanRescueFail">> <!-- Note: This widget was initially designed to expect ONE argument which is ONLY either "wolf" or "hunter"; If you want to use it for other animals, you will need to edit this widget. --> <<set $_gwylan_abort_value to (_args[0] is "wolf" ? 2 : 1)>> <<if $forest lte 20 and $gwylan_aborted isnot $_gwylan_abort_value>> <<set $gwylan_aborted to $_gwylan_abort_value>> <<set $rescue to 0>> <<set $_assailant to (_args[0] is "wolf" ? "wolf" : "assailant")>> <!-- If you want to use this widget for other animals, change this --> You see <<if $forest_shop_intro is 1 or $gwylan_rescue is 1>>Gwylan<<else>>a mousy <<nnpc_gendery "Gwylan">><</if>> burst through the treeline, alarmed by your shout. <<nnpc_He "Gwylan">> takes one look at the $_assailant, <span class="red">then turns and runs away.</span> <br><br> <<elseif $forest gt 20>> <<forestRescueFail _args[0]>> <br><br> <</if>> <</widget>> <<widget "gwylanRescueApology">> <<if $gwylan_aborted is 3>> <<nnpc_He "Gwylan">> looks you over with concern. "Are you feeling okay? You look a little pale, and I thought I heard you screaming the other night..." <<else>> <<nnpc_He "Gwylan">> can't meet your gaze. <<gwylanRescueApologySpeech>> <</if>> <</widget>> <<widget "gwylanRescueApologyShop">> <<if $gwylan_aborted is 3>> <<if _args[0] is "Intro">> <<nnpc_He "Gwylan">> looks you over with concern. <<else>> "Hey," Gwylan says as you walk in. <<nnpc_He "Gwylan">> looks concerned. <</if>> "Are you feeling okay? You look a little pale, and I thought I heard you screaming the other night..." <<else>> <<if _args[0] is "Robin">> <<nnpc_He "Gwylan">> turns to you with an apologetic smile. <<gwylanRescueApologySpeech "btw">> <<elseif _args[0] is "Intro">> <<nnpc_He "Gwylan">> rubs the back of <<nnpc_his "Gwylan">> neck. <<gwylanRescueApologySpeech "btw">> <<else>> "Hey," Gwylan says as you walk in. <<gwylanRescueApologySpeech>> <</if>> <</if>> <<if _args[0] is "Robin">> Robin blinks, but doesn't question it. <</if>> <</widget>> <<widget "gwylanRescueApologySpeech">> <<if _args[0] is "btw">> "By the way, sorry for not saving you before, but I'm not messing with <<else>> "Sorry for not saving you before, but I'm not messing with <</if>> <<if $gwylan_aborted is 1 and $gwylan_eden_coop gte 1>> Eden. <<nnpc_He "Eden">> still scares me." <<elseif $gwylan_aborted is 1>> the <<nnpc_title "Eden">>. <<nnpc_Hes "Eden">> the scariest thing in the forest." <<elseif $gwylan_aborted is 2>> the alpha. I don't want the entire pack breaking my door down." <</if>> <</widget>> <<widget "gwylanForestRescue">> <<set _gwylanKnown to ($forest_shop_intro is 1 or $gwylan_rescue is 1)>> <<switch _args[0]>> <<case "beast">> The <<beasttype>> growls, but is hit in the face by a flying ?gwylanItem. <<bHe>> yelps and looks around, alarmed. <<if $monster is 1>>"Human attack! Where human?!"<</if>> <<case "river">> The <<beasttype>> hisses, but is hit in the face by a flying ?gwylanItem. <<bHe>> looks around, alarmed. <<case "man">> The <<person1>><<person>> charges you, but is interrupted when a flying ?gwylanItem smacks <<him>> in the face. The <<person2>><<person>> looks over, only for a ?gwylanItem to fly into <<his>> face as well. <</switch>> <br><br> "Hey!" <<if _gwylanKnown>>Gwylan<<else>>a <<nnpc_gendery "Gwylan">><</if>> shouts from beyond the treeline. <<set $_theboy to (_gwylanKnown ? "Gwylan" : "the " + _text_output)>> <!-- This _text_output comes from the nnpc_gendery call one line above. Do not move this line without accounting for that. --> <<switch _args[0]>> <<case "beast">> "Shoo!" <<nnpc_He "Gwylan">> throws a ?gwylanItem, hitting the <<beasttype>> in the side. <<bHe>> scurries away, <<bhis>> tail between <<bhis>> legs. <<case "river">> "Shoo!" <<nnpc_He "Gwylan">> throws a ?gwylanItem, hitting the <<beasttype>> in the side. <<bHe>> dives back into the churning water. <<case "man">> "Get away from <<phim>>. I have more." As if to demonstrate, <<nnpc_he "Gwylan">> throws a ?gwylanItem, hitting the <<person1>><<person>> in the face again. The pair glance at each other, then turn and run. <</switch>> <br><br> <<set $pronoun to C.npc.Gwylan.pronoun>> <<switch _args[0]>> <<case "beast">> "I swear they get more aggressive every day," $_theboy mutters. <<case "river">> "The rivers keep getting more dangerous," $_theboy mutters. <<case "man">> "I hope they weren't customers," $_theboy mutters. "Well, I wouldn't want their money anyway." <</switch>> <<He>> steps out from the treeline, and walks toward you. "You okay? Good thing I was in the area." <<if _args[0] is "river">> <<He>> grasps your arm and pulls you out of the water. <</if>> /* Prevents towelup when the player has clothes */ <<silently>><<clotheson>><</silently>> <<if $exposed gte 1>> <<He>> offers you some old towels to <<if _args[0] is "river">>dry yourself and <</if>>cover up.<<towelup>> <</if>> <<if !_gwylanKnown>> <br><br> <<He>> looks about your age, with mousy hair and freckles. "I'm older than I look," <<he>> says, as if reading your mind. "I'm Gwylan. Nice to meet you." <br><br> "I have a shop right by the outskirts of the forest," <<he>> says. "You can't miss it. I sell-" <<He>> pauses. "My grand<<father>> sells-" Another pause. "I sell knick-knacks there. Things you won't find in normal shops. Even I don't know what I have in stock!" <<He>> sounds proud. <<elseif $gwylan_aborted gte 1>> <<gwylanRescueApology>> <</if>> <br><br> <<if $gwylan_eden_coop gte 1 and $gwylan_aborted is 0>> <<He>> looks around for a moment, as if waiting for something. "Strange," <<he>> says to <<himself>>. "I thought the <<nnpc_title "Eden">> would be here. Must be busy. Ah well." <br><br> <</if>> <<if $gwylan_rescue isnot 1>> <<set $gwylan_rescue to 1>> <<He>> starts to walk away, but stops and turns around. "By the way," <<he>> says. "I was able to save you because you're close enough to my shop. <span class="gold">If you go any further than the start of the lake, I won't be able to hear you.</span> Keep it in mind." <br><br> <</if>> <<He>> gathers <<his>> items, then walks off in the direction of <<his>> shop. <br><br> <<clotheson>><<set $gwylan_aborted to 0>> <<endcombat>> <<if _args[1] is "slime">> <<slimePunishmentForest>> <br><br> <</if>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</widget>> <<widget "forestCabinReturnLinks">> <<link [[Go back to the cabin (0:30)|Forest Cabin Return]]>><<pass 30>><<endevent>><</link>> <br> <<link [[Say goodbye|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</widget>> <!-- Argument one is minimum --> <<widget "tending_bird_eggs">> <<if _args[0] gt 0>> <<set $_min to _args[0]>> <<if _args[1]>> <<set $_max to _args[0]>> <<else>> <<if $forest_nest and $forest_nest.type>> <<switch $forest_nest.type>> <<case 1>><<set $_max to (_args[0] + 2)>> <<case 2>><<set $_max to (_args[0] + 7)>> <<case 3>><<set $_max to (_args[0] + 4)>> <</switch>> <<else>> <<set $_max to (_args[0] + 4)>> <</if>> <</if>> <<wearProp "egg" 0 "bird">> <span class="green"><<tending_pick bird_egg $_min $_max>></span> <<else>> <span class="red">There's no intact eggs left.</span> <</if>> <</widget>> <<widget "forestBullyLeaves">> <br><br> After they leave, you try looking for a way to escape. You could try climbing the ropes to the branches, but the canopy is a long way up. It doesn't seem like there is any other way out without help, but drawing attention to yourself might make the situation worse. <br><br> <<link[[Climb|Forest Bully Climb]]>><</link>><<athleticsdifficulty 0 1055>> <br> <<link[[Call for help|Forest Bully Help]]>><</link>> <</widget>><<effects>><<lakeeffects>> <<if $earSlime.defyCooldown>> <<if $earSlime.growth gte 100>> <<set $earSlime.defyCooldown += 2>> You ignore the slime's command. You feel a jolt of pain as the slime punishes you for your defiance. However, <span class="red">it doesn't stop you, knowing that it can punish you in other ways.</span> <<else>> You ignore the slime's command. The slime tries to overpower your will, and you feel a jolt of pain as it punishes you for your defiance. However, <span class="teal">it's still worn out from overpowering you earlier.</span> It tries <span class="green">and fails</span> to force you to go for a stroll. <</if>> <br><br> <<link [[Next|Lake Shore]]>><<endevent>><</link>> <br> <<elseif $earSlime.corruption gte (currentSkillValue('willpower') / 10)>> <<if hasSexStat("deviancy", 4) and $earSlime.growth lt 100>> <<set $earSlime.defyCooldown += 4>> <<else>> <<set $earSlime.defyCooldown += 8>> <</if>> The slime tries to assert control. <span class="red">It overpowers your will,</span> forcing you to take a stroll by the lake. <<ggwillpower>><<willpower 3>> <br><br> <<link [[Next|Lake Stroll]]>> <<pass 60>><<set $earSlimeLakeStroll to true>> <<if $exposed gte 2>> <<arousal 1000>><<rng>> <<if $laketeenspresent is 1>> <<set $phase to 2>> <<else>> <<set $phase to 3>> <</if>> <<else>> <<set $phase to 1>> <</if>> <</link>><<if $exposed gte 2>><<garousal>><</if>> <<else>> The slime tries to assert control, <span class="green">but you fight it off</span> and manage to wrench yourself away from where it wants you to walk. <<gwillpower>><<willpower 1>> <br><br> <<link [[Next|Lake Shore]]>><<endevent>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $forest to 40>><<set $bus to "lakewaterfall">> <<if $earSlimeLakeStroll>>You follow the slime's command.<</if>> <<if $phase is 1>> <<set $phase to 0>> You take a stroll around the lake. The water is <<= Weather.precipitation is "rain" ? "alive with motion as rain breaks its surface" : "calm">>. <<if $laketeenspresent is 1>> <<set _in to Time.season is "winter" ? "near" : "in">> You hear students playing _in the waterfall and sitting _in the pond above. <<elseif Weather.dayState is "night">> Moonlight reveals the area around you and turns the falling water into a curtain of silver. <<else>> A calming wind gently caresses you. <</if>> <br> You think about all the things that happened lately. The stillness around you helps digest it. <br><br> You feel refreshed. <<set $eventskip to 0>> <br><br> <<link [[Return|Lake Shore]]>><<clotheson>><</link>> <<elseif $phase is 2>> <<flaunting>> you walk around the edge of the Lake. There are people scattered around, but you don't think they can tell how exposed you are. <<if !$earSlimeLakeStroll>><<exhibitionism5>><</if>> <<if $player.bodyliquid.vagina.semen gte 2>> A bit of semen drips from your <<pussy>> onto the ground.<</if>> <<if $beauty gte (($beautymax / 7) * 3)>> <<generate1>>As you walk further you notice a <<person1>><<person>> lying on <<his>> blanket trying to peek at your <<genitals>>. You face <<him>> and wave. <<He>> blushes and looks away. <br><br> Amused by <<his>> response, you continue your walk. <br><br> <<endevent>> <</if>> <<if $rng gte 70 and $lakestealgold is 0>> You spot a couple swimming together<<if Time.season is "winter">>, clad in wetsuits<</if>>. One points at the shore, then they both dive. <br> You peer towards the spot they pointed at, and see a small camp between the trees. <br><br> <<link [[Check it out |Lake CampGold]]>><<set $phase to 1>><</link>> <br> <<link [[Continue your walk |Lake CampGold]]>><<set $phase to 2>><</link>> <br> <<else>> You finish your walk. You feel refreshed. <br><br> <<endevent>> <<set $eventskip to 0>> <<link [[Return |Lake Shore]]>><<clotheson>><</link>> <</if>> <<elseif $phase is 3>> <<flaunting>> you walk around the edge of the lake. You don't see anybody nearby, but being so exposed is thrilling. <<if !$earSlimeLakeStroll>><<exhibitionism4>><</if>> <<if $player.bodyliquid.vagina.semen gte 2>> A bit of semen drips from your <<pussy>> onto the ground as you walk. <</if>> <<if $rng gte 80 and hasSexStat("deviancy", 2) and ($player.vaginaExist or ($lactating and $milk_amount gte 250 and $breastfeedingdisable is "f")) and $swarmdisable is "f">> After a few minutes you find a nice glade. The soft wind feels nice. You decide to lie down. <br><br> You close your eyes and listen to the sound of the forest. <br><br> <<if ($player.vaginaExist and ($lactating and $milk_amount gte 250 and $breastfeedingdisable is "f"))>> <<set _part1 to "crotch and breasts tickle">> <<set _part2 to "<<genitals>> and nipples">> <<elseif $player.vaginaExist>> <<set _part1 to "crotch tickles">> <<set _part2 to "<<genitals>>">> <<else>> <<set _part1 to "breasts tickle">> <<set _part2 to "nipples">> <</if>> Your <<print _part1>>. You look down <<if $arousal gte ($arousalmax / 5) * 2>> and see a few bugs and insects crawling around your <<print _part2>>, mesmerised by the leaking fluid. <<else>> and see a few bugs and insects crawling on your <<print _part2>>. <</if>> <br><br> <<if hasSexStat("deviancy", 3)>> <<link [[Let them explore|Lake Insect]]>><<set $phase to 1>><</link>><<deviant3>> <br> <</if>> <<if hasSexStat("deviancy", 4)>> <<link [[Masturbate|Lake Insect]]>><<set $phase to 2>><</link>><<deviant4>> <br> <</if>> <<link [[Brush them away|Lake Insect]]>><<set $phase to 3>><</link>> <br> <<else>> You finish your walk. You feel refreshed. <br><br> <<endevent>> <<set $eventskip to 0>> <<link [[Return |Lake Shore]]>><<clotheson>><</link>> <</if>> <</if>> <<unset $earSlimeLakeStroll>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $forest to 40>><<set $bus to "lakewaterfall">> <<if ($player.vaginaExist and ($lactating and $milk_amount gte 250))>> <<set _part to "<<genitals>> and nipples">> <<elseif $player.vaginaExist>> <<set _part to "<<genitals>>">> <<else>> <<set _part to "nipples">> <</if>> <<if $phase is 1>> You lie back and let them explore you. <<deviancy3>> <<if $arousal gte ($arousalmax / 5) * 2>> The bugs and insects search around for the source of the delicious "honey". <<else>> The bugs and insects explore your every inch. <</if>> It tingles. A warm feeling spreads through your <<print _part>>. <br><br> After a few minutes you brush them off. You rise to your feet and finish your walk. You feel refreshed. <br><br> <<endevent>> <<set $eventskip to 0>> <<link [[Return|Lake Shore]]>><<clotheson>><</link>> <<elseif $phase is 2>> You lie back and let them explore you. <<deviancy4>> <<if $arousal gte ($arousalmax / 5) * 2>> The bugs and insects search around for the source of the delicious "honey". <<else>> The bugs and insects explore your every inch. <</if>> It tingles. A warm feeling spreads through your <<print _part>>. <<if $player.vaginaExist>> You start touching yourself as you feel them crawl inside. <<else>> You start touching yourself as you feel them drain you of milk. <</if>> <br><br> <<link [[Next|Lake Masturbation]]>><<set $bugsinside to 1>><<set $masturbationstart to 1>><</link>> <<elseif $phase is 3>> You brush them off and continue your walk, until you arrive where you started. You feel refreshed. <br><br> <<endevent>> <<set $eventskip to 0>> <<link [[Return|Lake Shore]]>><<clotheson>><</link>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $forest to 40>><<set $bus to "lakewaterfall">> <<if $phase is 1>> You walk to the camp and look around. Something shiny catches your attention. <br><br> It's a small gold bar. The pair must have gotten lucky during diving. You hear them re-emerge from the water. They're swimming back. <br><br> <<link [[Steal|Lake StealGold]]>><<crimeUp 30 "thievery">><<set $phase to 3>><<arousal 1500>><</link>><<gcrime "thievery">><<garousal>><<deviant3>> <br> <<link [[Don't steal|Lake StealGold]]>><<endevent>><<set $phase to 4>><</link>> <<else>> <br> You had enough fun for now and decide to return. You finish your walk. You feel refreshed. <br><br> <<set $eventskip to 0>> <<link [[Return|Lake Shore]]>><<clotheson>><</link>> <</if>><<if $phase is 3>> <br> You think quickly. You are completely naked and they would notice immediately if you had anything in your hand. <br><br> <<wearProp "gold bar">> A really lewd and crazy idea pops in your head. <br> You have one 'pocket' at your disposal. A natural one. Your <<print ($player.vaginaExist ? "vagina" : "asshole")>>! <br> Not wasting any time you pick up one gold bar. Your heart is beating loudly. <<if $arousal gte ($arousalmax / 5) * 3>> <<if $player.vaginaExist>> <br><br> You are really aroused and your <<pussy>> is completely wet. It barely takes any effort to insert the tip of the gold bar in your vagina. <br> You start pushing it in with your full strength. Your vagina stretches as it easily swallows the gold bar. <br> <<if $player.bodyliquid.vagina.semen gte 3>> The semen leaking out of your womb also acts as a lubricant making it even easier to insert the gold bar.<</if>> <br> You feel the bar kissing your cervix and with one last strong push the whole gold bar is inside of you. <<else>> <br><br> You are so aroused it barely takes any much effort to insert the tip of the gold bar in your asshole. <br> You start pushing it in with your full strength. Your asshole stretches as it swallows the gold bar. <br> Within moments the whole gold bar is inside of you. <</if>> <<elseif $arousal gte ($arousalmax / 10) * 3>> <<if $player.vaginaExist>> <br><br> You are aroused and your <<pussy>> is a bit wet. It takes not much of an effort to insert the tip of the gold bar in your vagina. <br> You start pushing it in with your full strength. Your vagina stretches as it accepts the gold bar. It hurts a bit, but you manage. <br> <<if $player.bodyliquid.vagina.semen gte 3>> The semen leaking out of your womb also acts as a lubricant making it easier to insert the gold bar.<</if>> <br> You feel the bar kissing your cervix and with one last strong push the whole gold bar is inside of you. <<else>> <br><br> You are aroused, but it still takes some effort to insert the tip of the gold bar in your asshole. <br> You start pushing it in with your full strength. Your asshole stretches as it accepts the gold bar. It hurts a bit, but you manage. <br> Within moments the whole gold bar is inside of you. <</if>> <<elseif $arousal gte $arousalmax / 10>> <<if $player.vaginaExist>> <br><br> Your <<pussy>> is not really wet. It takes a lot effort to insert the tip of the gold bar in your vagina. <br> You start pushing it in with your full strength. Your vagina stretches painfully as it tries to accept the gold bar. It hurts, but you barely manage. <br> <<if $player.bodyliquid.vagina.semen gte 3>> The semen leaking out of your womb acts as a lubricant making it easier to insert the gold bar.<</if>> <br> You feel the bar kissing your cervix and with one last strong push the whole gold bar is inside of you. <<else>> <br><br> You are not really aroused and it takes great effort to insert the tip of the gold bar in your asshole. <br> You start pushing it in with your full strength. Your asshole stretches painfully as it tries accept the gold bar. It hurts, but you barely manage. <br> Within moments the whole gold bar is inside of you. <</if>> <</if>> <br><br> <<link [[Next|Lake GoldCheck]]>><<handheldon>><</link>> <<else>> Your thoughts keep hammering inside your head, but at the end you decide not to steal it. You leave as fast as you can and retrieve your clothes. <br> You had enough adventure this time. <<endevent>> <<set $eventskip to 0>> <br><br> <<link [[Return|Lake Shore]]>><<clotheson>><</link>> <</if>>You make it just in time, the couple is just swimming to the shore, they didn't saw your lewd act. You quickly cover your exposed <<genitals>> with your hands. <br> Running now would be suspicious so you are not moving an inch, trying to make it obvious that you are not doing "anything". <br> The couple quickly arrives and the woman's eye darts around looking for any change. <br><br> "What are you doing here and why are you naked?!" asks the woman, while the man is keeping an eye on you. <br> "I-I just arrived, I..I'm just taking a stroll," you lie as trying to pretend to be shy about your covered <<genitals>>. <br> You raise your empty hands as proof, but this just makes you even more aroused. <br> <<arousal 1000>> <<if $arousal gte ($arousalmax / 5) * 3>> <br> The couple has a hard time not looking at your <<if $player.penisExist>>fully erect penis<<else>>dripping wet pussy as your juices keep leaking out of you like honey<</if>>. <br> After a long moment they look at your hand. <br> <<else>> <br> The couple checks out your <<genitals>>. After a moment they look at your hand. <br> <</if>> <br> "I don't see anything in <<pher>> hands, <<pshe>> is obviously just a pervert," says the man. <br> "I-I didn't take anything. Can you just please l-let me go?" <br> The couple looks at each other and then back to you. <br><br> "Go," says the woman, "and don't come back here. This is our loot!" <br> You nod and start walking back to your clothes with the gold bar inside of you, your heart beating like never before. <br><br> You would have never thought this would work. You could sell this gold bar for quite a hefty price...after you wash it of course. <br><br> <<endevent>> <<set $lakestealgold to 1>> <<set $eventskip to 0>> <<set $antiquemoney += 1500>> <<link [[Return|Lake Shore]]>><<clotheson>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<generatey1>><<person1>> You wake up unable to move. You're up to your neck in sand. <br><br> "You're awake," says a <<person>>. <<Hes>> not alone. "You looked so peaceful asleep on the beach. We decided to turn you into a mermaid. We are almost done, we just want a picture." They step back to admire their handiwork. The <<person>> looks up, and fear darkens <<his>> face. <<He>> and <<his>> friends run. <br><br> <<endevent>><<generatey1>><<generatey2>><<generatey3>> Seconds later a shadow is cast over you. It's a <<fullGroup>>. You recognise them from school. "What do we have here?" The <<person1>><<person>> says. <<He>> drops to <<his>> knees in front of you. <br><br> <<if $speech_attitude is "meek">> "P-please don't," you plead. <<elseif $speech_attitude is "bratty">> "Don't think I'm harmless," you say. "I'll rip you to pieces if you come near." <<else>> "Don't you dare," you say. <</if>> <br><br> "Don't worry," <<he>> says. "We aren't gonna touch you, but..." <<He>> grins at <<his>> friends. "I think this mermaid needs a makeover." <<His>> friends kneel beside <<him>>. <br><br> <<if isLoveInterest("Eden")>> <<link [[Scream for Eden|Lake Mermaid Eden]]>><</link>> <br> <<link [[Don't scream|Lake Mermaid 2]]>><</link>> <<else>> <<link [[Next|Lake Mermaid 2]]>><</link>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You hear a gun fire from the forest. A bullet lands nearby, and the students scramble away from you in fear. "W-What was that?" one of them asks in a hesitant voice. <br><br> A second gunshot rings through the air. The bullet lands closer this time, causing them to jump up to their feet. A third one follows, making them run off in a panic. <br><br> Others along the shore flee the area, hearing the gunshots as well, leaving you stranded and stuck in the sand. Suddenly, you hear footsteps approach you. <br><br> <<endevent>><<npc Eden>> "What do we have here?" says a familiar voice. It's Eden. <<if $edenCagedEscape>> "I told you I'd catch you again." <<He>> digs you out and grips your wrist tight. The moment you're on your feet, <<he>> begins dragging you into the woods. <br><br> "You keep letting me down, and you still rely on me to save your ass." <<He>> glares over <<his>> shoulder, eyes narrowed. "You're overdue for your punishment." <<set $location to "forest">> <br><br> <<link [[Fight|Eden Caged Caught Resist]]>><<set $fightstart to 1>><<def 1>><</link>> <br> <<link [[Try to pull away (0:01)|Eden Caged Caught Pull]]>><<pass 1>><<def 1>><<npcincr Eden dom -1>><</link>><<physiquedifficulty 2000 18000>><<ldom>> <br> <<link [[Submit (0:30)|Eden Caged Caught]]>><<set $phase to 1>><<pass 30>><<sub 1>><<npcincr Eden dom 1>><</link>><<gdom>> <br> <<elseif ($edenfreedom gte 2 and $edendays lt 8) or ($edenfreedom is 1 and $edendays lt 2)>> "I knew you'd end up like this. This place dangerous," <<he>> says, digging you out and helping you to your feet. "Let's go home." <br><br> <<He>> takes you back to <<his>> cabin. <br><br> <<link [[Next (0:30)|Eden Cabin]]>><<endevent>><<pass 30>><</link>> <br> <<else>> "I trusted you," <<he>> says. "This is what happens if you don't obey me. It's for your own protection." <<He>> digs you out and pulls you to your feet. "Let's go home." <br><br> <<link [[Next (0:30)|Eden Recaptured]]>><<pass 30>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $NPCList[0].penis isnot "none">> They expose their penises and play with them, just inches from your face. You struggle against the sand, but you can't budge. The <<person>> cums first. It shoots all over your forehead and dribbles around your eyes. The others follow suit, and soon you're covered from the neck up. <<bodyliquid "face" "semen" 5>> <<else>> They expose their pussies and play with them, just inches from your face. You struggle against the sand, but you can't budge. The <<person>> cums first, and squirts all over your forehead. It dribbles around your eyes. The others follow suit, and you're soon covered in pussy juice from the neck up. <<bodyliquid "face" "goo" 5>> <</if>> <br><br> "Aren't we nice?" the <<person>> says. They stand and leave, but not before taking pictures. Others along the shore watch. <<gtrauma>><<trauma 6>><<famerape 30>><<status -30>><<llcool>> <br><br> <<endevent>> <<link [[Struggle (0:30)|Lake Mershame]]>><<pass 30>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<generatey1>> You continue to struggle against the sand. A few people come for a closer look, and either laugh or take a picture. Or both. Until a <<person1>><<person>>, who kneels beside you digs you out. <<He>> at least suppresses <<his>> laughter. <br><br> <<endevent>> <<link [[Next|Lake Shore]]>><<set $eventskip to 1>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $daily.lakeCouple to 1>> <<generate1>><<generatep2>> You walk into the light of the fire. You see them more closely now, a <<fullGroup>>. "Hey," the <<person1>><<person>> says. "What are you doing out here alone? Come join us." <br><br> <<link [[Join them (0:10)|Lake Couple 2]]>><<pass 10>><</link>> <br> <<link [[Decline and go on your way|Lake Campsite]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You sit down beside them. "We're enjoying our time away from the city," the <<person2>><<person>> says while the <<person1>><<persons>> head rests on <<person2>><<his>> shoulder. You tell them a bit about yourself. <<lstress>><<stress -2>> <br><br> After chatting for a bit, the <<person1>><<person>> shivers. "It's chilly tonight," <<he>> says. <<He>> pats <<his>> lap. "Come on. We'll keep each other warm." <br><br> <<link [[Sit on lap (0:10)|Lake Couple 3]]>><<pass 10>><</link>> <br> <<link [[Decline and go on your way|Lake Campsite]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You sit on the <<person1>><<persons>> lap. You hear the couple kiss each other. You sit together for several minutes, listening to the fire crackle and the gentle ripple of the water. <<stress -2>><<trauma -1>><<lstress>><<ltrauma>> <br><br> The <<person2>><<person>> leans over and kisses your cheek. <<He>> looks at the <<person1>><<person>> as if for approval. The <<person>> leans in and kisses you too. <br><br> <<link [[Return kisses|Lake Couple 4]]>><</link>><<promiscuous1>> <br> <<link [[Pull away and leave|Lake Campsite]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You kiss them back. One after the other, while the other kisses your cheek. Sometimes they kiss each other. <<takeKissVirginity "Lake couple" "romantic" "human">> <<promiscuity1>> "I'm sorry," the <<person2>><<person>> pants. "I should have asked first." You're not sure who <<hes>> addressing. <br><br> <<person1>>"It's getting late," the <<person>> says. "The tent is waiting." <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Join them|Lake Couple 5]]>><</link>><<promiscuous2>> <br> <<if hasSexStat("exhibitionism", 3)>> <<link [[Strip and join them|Lake Couple 5]]>><<strip>><<set $phase to 1>><</link>><<exhibitionist3>> <br> <</if>> <</if>> <<link [[Part ways|Lake Campsite]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> The <<person1>><<person>> holds your hand as you approach the tent. <<takeHandholdingVirginity "Lake couple" "romantic" "human">><<He>> lets go to enter and the <<person2>><<person>> follows <<person1>><<him>>. <<if $phase is 1>> You take off your clothes and enter after them. You shuffle between the sheets and lie naked between two strangers. <<exhibitionism3>> <<else>> You enter after them, shuffle between the sheets and lie between two strangers. <<promiscuity2>> <</if>> <<link [[Cuddle (0:30)|Lake Couple Cuddle]]>><<trauma -3>><<stress -6>><</link>><<ltrauma>><<lstress>> <br> <<if hasSexStat("promiscuity", 3)>> <<link [[Embrace and kiss|Lake Couple Sex]]>><<set $sexstart to 1>><</link>><<promiscuous3>> <br> <</if>> <<link [[Shuffle out and be on your way|Lake Campsite]]>><<clotheson>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You snuggle up to them and they cuddle back. You lie there for a while, feeling their warm bodies pressed against yours. It's comforting, but soon becomes stuffy in the small tent. You leave and let them get their sleep. <br><br> <<link [[Next|Lake Campsite]]>><<clotheson>><<endevent>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 200>> You roll over and embrace the <<person1>><<person>>. You kiss <<him>>. You feel the <<person2>><<person>> shift closer over behind you.<<person1>> <<promiscuity3>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Couple Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Couple Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> You lie with them a little longer, feeling the warmth of their bodies against yours. It's comforting, but soon becomes stuffy in the small tent. You leave and let them get their sleep. <<elseif $enemyhealth lte 0>> You shove them away from you and leave the tent. <<elseif $finish is 1>> They stop touching you and let you leave the tent. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Campsite]]>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $cool gte 160>> They're eager to have you along. They form around you and vie for your attention. Everyone knows the forest is dangerous, but you should be safe in a group. <<status 1>><<gcool>> <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure)>> <<lakejourney>> <<else>> You arrive at the lake without a problem. <br><br> <<link [[Next|Lake Shore]]>><</link>> <br> <</if>> <<elseif $cool gte 40>> They're happy to have you along. You chat as you travel, making sure to stay close. Everyone knows the forest is dangerous, but you should be safe in a group. <<status 1>><<gcool>> <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure)>> <<lakejourney>> <<else>> You arrive at the lake without a problem. <br><br> <<link [[Next|Lake Shore]]>><</link>> <br> <</if>> <<else>> They look at each other and smirk at your request, but they don't turn you down. Everyone knows the forest is dangerous, but you should be safe in a group. <<status 1>><<gcool>> <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure)>> <<lakejourney>> <<else>> You're nearing the lake when someone shoves you from behind. You fall to the ground. The group laughs, and leaves you alone in the forest. <<gtrauma>><<gstress>><<trauma 3>><<stress 3>> <br><br> <<link [[Next|Forest]]>><<set $forest to 30>><</link>> <br> <</if>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $cool gte 160>> They're eager to have you along. They form around you and vie for your attention. You stick to the road, safe from the dangers of the forest. <<status 1>><<gcool>> <br><br> You arrive at the lake without a problem. <br><br> <<link [[Dare them to take a wild path|Lake Journey Road Dare]]>><<status 1>><</link>><<gcool>> <br> <<link [[Stick to the road|Lake Shore]]>><</link>> <br> <<elseif $cool gte 40>> They're happy to have you along. You chat as you travel, making sure to stay close. You stick to the road, safe from the dangers of the forest. <<status 1>><<gcool>> <br><br> <<link [[Dare them to take a wild path|Lake Journey Road Dare]]>><<status 1>><</link>><<gcool>> <br> <<link [[Stick to the road|Lake Shore]]>><</link>> <br> <<else>> They look at each other and smirk at your request, but they don't turn you down. You stick to the road, safe from the dangers of the forest. <<status 1>><<gcool>> <br><br> You're nearing the lake when someone shoves you from behind. You fall to the ground. The group laughs, and leaves you alone in the forest. <<gtrauma>><<gstress>><<trauma 3>><<stress 3>> <br><br> <<link [[Next|Forest]]>><<set $forest to 15>><</link>> <br> <</if>><<effects>> You goad the students into leaving the safety of the road. It's easy to do, no one wants to be seen as a coward. <br><br> <<lakejourney>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You join the others in sprinting the rest of the way to the lake. You don't know if the <<beasttype>> gave chase, but you all arrive safely. <br><br> <<link [[Lake|Lake Shore]]>><<endevent>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> You step towards the <<beasttype>>. "Go," you say to the others. "It's not safe. I've got this." They must think you mad. You adopt an exaggerated combat stance. "Go!" you repeat. They run towards the lake. Once alone, you drop to the ground and assume a mating position. <<deviancy2>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Wolf Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Wolf Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Satisfied, the <<beasttype>> wanders deeper into the forest. <br><br> <<tearful>> you continue to the lake. <<elseif $enemyhealth lte 0>> <<tearful>> you watch the <<beasttype>> flee deeper into the forest. <<else>> The <<beasttype>> wanders deeper into the forest. <br><br> <<tearful>> you continue to the lake. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Shore]]>><</link>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<cleareventpool>> <<addinlineevent "lake_hang_1">> You skip rocks across the lake's surface with several others. Someone's skips <<print either("five","six","seven","eight","nine","ten")>> times. <</addinlineevent>> <<addinlineevent "lake_hang_2">> You help build a sandcastle, until it collapses under its own weight. You have a nice time regardless. <</addinlineevent>> <<addinlineevent "lake_hang_3">> You play catch with a Frisbee. <<gathletics>><<athletics 3>><<physique 1>> <</addinlineevent>> <<addinlineevent "lake_hang_4">> <<if $cool gte 160>> You chat with some students you recognise from your classes. A <<generates1>><<person1>><<person>> tries to impress you by entering the forest alone. <<He>> doesn't get far before a strange noise scares <<him>> back. <<ltrauma>><<trauma -3>><<endevent>> <<elseif $cool gte 40>> You chat with some students you recognise from your classes. <<else>> You try to chat with some students you recognise from your classes. You're mostly ignored. <<gtrauma>><<trauma 3>> <</if>> <</addinlineevent>> <<addinlineevent "lake_hang_5">> An impromptu game of tag starts. <<if currentSkillValue('athletics') gte 800>> No one can catch you. <<gcool>><<status 1>><<gathletics>><<athletics 3>><<physique 1>> <<elseif currentSkillValue('athletics') gte 400>> You give as good as you get. <<gathletics>><<athletics 3>><<physique 1>> <<else>> Once "it" you struggle to catch anyone. <<lcool>><<status -5>><<gathletics>><<athletics 3>><<physique 1>> <</if>> <</addinlineevent>> <<addinlineevent "lake_hang_6">> Several students swim out into the lake. <<if clothingInStorage("lakeshore").length gt 1>> You join them.<<lstress>><<stress -6>><<swimmingskilluse>> <<else>> You stay dry on the coast. <</if>> <</addinlineevent>> <<runeventpool>> <<pass 30>> <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if Time.hour is 20>> It's getting late, and the shadows of the forest are lengthening. People are preparing to return to town. No one wants to be left to travel alone. <br><br> <<if $exposed lte 0>> <<link [[Go with them (0:30)|Lake Return Journey]]>><<set $foresthunt to 0>><<pass 30>><</link>> <br> <</if>> <<link [[Stay|Lake Shore]]>><</link>> <br> <<elseif $danger gte (9900 - $allure)>> <<if $cool gte 160>> A <<generates1>><<person1>><<person>> approaches you. "H-hi," <<he>> says. "Umm, c-can I ask you something?" <<He>> takes a deep breath. "Will you kiss me? They said they'd leave me alone if I could get a kiss from you." <<He>> looks down and blushes. The students <<hes>> referring to watch from a rock not far away. You've seen them bully the <<person>> before. <br><br> <<link [[Kiss|Lake Kiss]]>><<status -10>><</link>><<promiscuous1>><<lcool>> <br> <<link [[Refuse|Lake Refuse]]>><</link>> <br> <<link [[Laugh|Lake Laugh]]>><<status 1>><</link>><<gcool>> <br> <<else>> A <<generatey1>><<person1>><<person>> tackles you behind a rock and gropes you. <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Grope back|Lake Hang Sex]]>><<set $sexstart to 1>><</link>><<promiscuous2>> <br> <</if>> <<link [[Shove away|Lake Hang Shove]]>><</link>> <br> <</if>> <<else>> <<link [[Hang out (0:30)|Lake Hang]]>><<stress -6>><<status 1>><</link>><<gcool>><<lstress>> <br> <<link [[Stop|Lake Shore]]>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You grip <<his>> collar and pull <<him>> close. <<His>> eyes widen in surprise, but then close. You feel <<him>> shiver. The bullies on the rock stare, dumbfounded. One throws an empty bottle to the ground in disgust. They drop from the rock and walk away. <<promiscuity1>><<takeKissVirginity `($pronoun is "m"?"shy boy":"shy girl")` "consensual">> You pull away from the <<person>>. <<Hes>> blushing and tearing up. "Th-thank you." <<He>> turns and runs. <<famegood 20>> <br><br> <<endevent>> <<link [[Hang out (0:30)|Lake Hang]]>><<stress -6>><<status 1>><</link>><<gcool>><<lstress>> <br> <<link [[Stop|Lake Shore]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You shake your head. <<He>> smiles. "I know. It's unfair of me to ask. Thanks anyway." <<He>> walks away. The bullies on the rock jeer and taunt <<him>>. <br><br> <<endevent>> <<link [[Hang out (0:30)|Lake Hang]]>><<stress -6>><<status 1>><</link>><<gcool>><<lstress>> <br> <<link [[Stop|Lake Shore]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You burst into laughter. The bullies on the rock follow suit. The <<person>> looks down and runs into the forest. <br><br> <<endevent>> <<link [[Hang out (0:30)|Lake Hang]]>><<stress -6>><<status 1>><</link>><<gcool>><<lstress>> <br> <<link [[Stop|Lake Shore]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $rng gte 81>> You shove <<him>> off you. <<He>> sneers and climbs back on, gagging your mouth with <<his>> hand. "Don't try that again <<bitch>>," <<he>> says. "This is happening." <br><br> <<link [[Next|Lake Hang Sex]]>><<set $molestationstart to 1>><</link>> <br> <<else>> You shove <<him>> off you. <<He>> shrugs and leaves to find someone else to pester. <br><br> <<endevent>> <<link [[Hang out (0:30)|Lake Hang]]>><<stress -6>><<status 1>><</link>><<gcool>><<lstress>> <br> <<link [[Stop|Lake Shore]]>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>> <<promiscuity2>> <</if>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $consensual to 0>> <<neutral 1>> <<controlloss>> <<molested>> <<maninit>> <<hand_gag 0 left>> <<if isLoveInterest("Eden") and !$edenCagedEscape and $location is "lake" and random(1,2) is 2>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Hang Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Hang Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $enemyhealth lte 0>> <<He>> recoils in pain. <<tearful>> you run out into the open where <<he>> can't try that again. <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> lies on <<his>> back and pants. <<tearful>> you climb to your feet. <<elseif $rescue is 1 and $alarm is 1>> You hear a gun firing from the forest, and a bullet lands at the <<person>>'s feet. <<He>> backs off in fear and runs away. <br><br> <<endevent>><<npc Eden>> You look into the trees for your rescuer, but can't see <<him>>. <<tearful>> you climb to your feet. <<else>> <<He>> hesitates, but climbs off you. <<tearful>> you struggle to your feet as <<he>> wanders off. <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Shore]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> You join the others and enter the darkening forest. People don't talk much, until the lights of town can be seen between the trees. <br><br> <<link [[Next|Wolf Street]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>><<rngWraith 1>> You wave at the <<person>>. <<He>> waves back. <<Hes>> a distance away, but you think <<hes>> smiling. <br><br> <<if _wraithEvent>> <<if ["haunt", "despair"].includes($wraith.state)>> <<His>> head tilts to the side, and <<his>> smile falters as <<he>> turns pale. For a brief moment, you see <<him>> clutching at <<his>> neck and reaching for you. You blink, and <<hes>> gone. <<trauma 6>><<gtrauma>> <<else>> Upon closer inspection, you see a necklace of ivory wrapped around <<his>> neck. You blink, and <<hes>> suddenly gone. <<trauma 3>><<gtrauma>> <</if>> <br><br> <</if>> <<link [[Next|Lake Shallows]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $worn.upper.exposed gte 2>> You bare your <<breasts>> above the water and wave. The <<person>> whistles at you. <<else>> You <<pullup>> your <<allTops>>, baring your <<breasts>> for the <<person>>. <<He>> whistles at you. <</if>> <<exhibitionism3>> <<link [[Next|Lake Shallows]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<molested>> <<controlloss>> <<set $enemytype to "vore">> <<set $vorestage to 1>> <<set $vorecreature to "frog">> <<set $vorestrength to 1>><<set $position to "doggy">> <<resetLastOptions>> <<getCombatDefaultsType>> <</if>> <<water>><<effects>><<voreeffects>> <<vore>> <<voreactions>> <<if $stress gte $stressmax>> <span id="next"><<link [[Next|Lake Vore Finish]]>><</link>></span><<nexttext>> <<elseif $vorestage lte 0>> <span id="next"><<link [[Next|Lake Vore Finish]]>><</link>></span><<nexttext>> <<elseif $vorestomach gte 5>> <span id="next"><<link [[Next|Lake Vore Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Vore]]>><</link>></span><<nexttext>> <</if>><<water>><<effects>> <<if $stress gte $stressmax or $vorestomach gte 5>> It's all just too much for you. You pass out. <br><br> <<if $upperoff isnot 0>> <<upperruined>> <</if>> <<if $loweroff isnot 0>> <<lowerruined>> <</if>> <<if $underloweroff isnot 0>> <<underlowerruined>> <</if>> <<if $underupperoff isnot 0>> <<underupperruined>> <</if>> <<endcombat>> <<passoutlake>> <<else>> <<tearful>> you haul yourself out of the $vorecreature's maw. It disappears back into the depths. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Depths]]>><</link>> <br> <</if>><<location "forest">><<effects>> <<set $forest to 10>> <<set $leftarm to "bound">><<set $rightarm to "bound">><<handheldruined>> <<upperruined>><<lowerruined>><<underruined>> <<generateCultist 1>><<person1>> <<if $pronoun is "m">> <<generatem2>><<generatem3>><<generatem4>><<generatem5>><<generatem6>> <<else>> <<generatef2>><<generatef3>><<generatef4>><<generatef5>><<generatef6>> <</if>> <<for _i = 0; _i < $NPCList.length; _i++>> <<npcClothesType $NPCList[_i] "temple">> <</for>> You awaken naked on a stone slab with your arms tied down. All around you loom <<monks>> wearing ceremonial attire. They chant in a language you don't understand. They fall silent, then reach for you. <br><br> <<link [[Next|Lake Ritual Molestation]]>><<set $molestationstart to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $consensual to 0>> <<neutral 1>> <<controlloss>> <<molested>> <<maninit>> <<npcidlegenitals>> <<set $enemyarousalmax /= 2>> <<set $enemyarousal /= 2>> <<if isLoveInterest("Eden") and !$edenCagedEscape and (random(1, 2) is 2 or $eden_rescue isnot 1)>> <<enable_rescue>> <<set $phase2 to 1>> <<elseif $wraith.state and $wraithIntro and $hallucinations gte 2>> <<enable_rescue>> <<set $phase2 to 2>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Ritual Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Ritual Molestation]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> They back away from you, not wanting to be the next one hit. They whisper amongst themselves for a moment, then disappear into the forest. <br><br> You struggle against the bonds holding you in place. You feel them become looser, and they soon snap. <br><br> <<clotheson>> <<endcombat>> <<pass 20>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<elseif $rescue is 1 and $alarm is 1>> <<if $phase2 is 2>> <<set $wraith.seen++>> You hear your own scream echo back through the trees. The group backs off, looking to the source. They all go quiet. After a moment, you see a flash of <<wraithEyes>> from the darkness. <<rainWraith true>> <br><br> One of the <<person1>><<monks>> is hurled backwards by an unseen force, colliding with a tree. Splinters of bark fall after <<him>> as <<he>> comes crashing to the ground. The rest all clutch their heads in agony, attempting to block their ears. You don't hear anything. <br><br> Another <<monk>> attempts to run. You see a long translucent limb ensnare <<his>> legs, lifting <<him>> helplessly into the air. Phantom shapes dance through the air, slowly taking the form of a pale humanoid figure. <br><br> "<span class="wraith">The mercy of silence has left you.</span>" <br><br> A blaring shriek fills your ears as the figure opens its mouth. With the way you're bound, you have no way to block it out. <<stress 24>><<trauma 24>><<gggstress>><<gggtrauma>> <br><br> <<link [[Next|Lake Ritual Molestation Finish 2]]>><</link>> <<else>> You hear a gun fire close by, and a bullet lands at the group's feet. They back off and whisper amongst themselves for a moment, then disappear into the forest. <br><br> <<clotheson>> <<unbind>> <<endcombat>> Eden emerges, slashes your bindings, and helps you collect yourself. "Damn bastards," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to save you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a holler if you're in trouble." <br><br> <</if>> <<link [[Go back to the cabin (0:30)|Forest Cabin Return]]>><<pass 30>><</link>> <br> <<link [[Say goodbye|Lake Shore]]>><<endevent>><</link>> <</if>> <<else>> <<ejaculation>> "The ritual is complete," the <<person1>><<person>> stammers. "We can return to the temple." They disappear into the forest. They don't untie you. <br><br> You struggle against the bonds holding you in place. You feel them become looser, and they soon snap. <br><br> <<clotheson>> <<endcombat>> <<pass 20>> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <</if>> <br> <<set $stress -= 1000>><<effects>> The <<monk>> is lifted high into the air and slammed into the ground. You think <<hes>> screaming, but it's too loud to hear. Dirt and rocks are kicked up by the impact. Two more <<monks>> are grabbed by translucent limbs. The remaining <<monks>> flee, and you take the opportunity to follow. You struggle against the bonds holding you in place. You feel them become looser, and they soon snap. Not a moment too soon. <br><br> <<if C.npc["Ivory Wraith"].lust gte 10>> You run away as fast as you can, but it doesn't feel like you're getting anywhere. You see the trees as you run past them, but the pale figure doesn't get any further away. It slowly approaches you, always in the corner of your eye no matter where you look. Its mouth is closed, but the screaming still persists. <br><br> You stumble briefly, and the figure dissipates with a quiet laugh, somehow audible over the shrieking. "<span class="wraith">Forget that you have nowhere to go. Run from your sins.</span>" <<stress 12>><<ggstress>> <<else>> You run away as fast as you can, until the screams grow distant. After a few minutes, you hear it speak again. <br><br> "<span class="wraith">Finally... some quiet...</span>" <</if>> <br><br> You quicken your pace. <br><br> <<clotheson>> <<endcombat>> <<pass 20>> <<link [[Next|Forest]]>><<endRainWraith>><<set $eventskip to 1>><</link>><<set $outside to 1>><<effects>><<lakeeffects>> You stand your ground. The <<beasttype>> doesn't consider long before charging you. <<if $rng gte 51>> Before <<bhe>> reaches you, however, <<bhe>> runs in a semicircle and back towards the forest. You hear <<= Weather.isFrozen("lake") ? "the lake ice crack" : "a splash in the lake">> behind you, but when you turn, there's nothing there. <br><br> <<endevent>> <<set $eventskip to 1>> <<destinationlake>> <<else>> <<bHe>> knocks you to the ground with <<bhis>> first pass, and leaps on you with the second. <br><br> <<link [[Next|Lake Boar Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<set $outside to 1>><<effects>><<lakeeffects>> You sprint away from the <<beasttype>>. You hear <<bhis>> paws breaking the dirt behind you. <<if $athleticsSuccess>> <span class="green">You run fast enough that the <<beasttype>> gives up.</span> You turn and see <<bhim>> returning to the litter by the tree. <br><br> <<endevent>> <<set $eventskip to 1>> <<destinationlake>> <<else>> <span class="red">You're not fast enough.</span> The <<beasttype>> knocks you to the ground and leaps on top of you. <br><br> <<link [[Next|Lake Boar Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">> <<if isLoveInterest("Eden") and !$edenCagedEscape and (random(1, 2) is 2 or $eden_rescue isnot 1)>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Boar Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Boar Rape]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Satisfied, the <<beasttype>> returns to the litter by the tree. <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<set $eventskip to 1>> <<destinationlake>> <<elseif $enemyhealth lte 0>> The <<beasttype>> squeals and flees into the trees. <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<set $eventskip to 1>> <<destinationlake>> <<elseif $rescue is 1 and $alarm is 1>> You hear a gun fire close by, and a bullet lands at the <<beasttype>>'s feet. <<bHe>> backs off in fear and flees into the trees. <br><br> Eden emerges and helps you collect yourself. "Damn boars," <<nnpc_he "Eden">> mutters. "Are you okay?" <br><br> <<clotheson>> <<endcombat>> <<if $gwylan_eden_coop gte 1>> Eden glances around for a moment. "We must be in too deep for that shopkeep," <<nnpc_he "Eden">> says. <br><br> <</if>> <<if $eden_rescue isnot 1>> <<set $eden_rescue to 1>> Eden pats you on the shoulder. "I was able to save you because I happened to be in the area," <<nnpc_he "Eden">> says. "<span class="gold">I might not always be around, but I should be able to save you anywhere in the forest.</span> Give me a holler if you're in trouble." <br><br> <</if>> <<link [[Go back to the cabin (0:30)|Forest Cabin Return]]>><<pass 30>><</link>> <br> <<link [[Say goodbye|Lake Shore]]>><<endevent>><</link>> <</if>><<effects>> <<if $masturbationstart is 1>> <<set $masturbationstart to 0>> <<set $masturbationstat += 1>> <<masturbationstart>> <</if>> <<masturbationeffects>> <<masturbationactions>> <<masturbationControls>><<effects>> <<endmasturbation>> <<endcombat>> You stand, your <<genitals>> still tingling. <br><br> You walk back to your clothes and get dressed. That was quite the stroll. <<unset $bugsinside>> <<set $eventskip to 0>> <br><br> <<link [[Next|Lake Shore]]>><<clotheson>><</link>> <br><<effects>> You don't want to look, <<if $willpowerSuccess>> <span class="green">so you don't.</span> The terror dissipates as quick as it arrived.<<lstress>><<stress -6>> <br><br> <<destination_lake_ice>> <<else>> you dread it, <span class="red">but you can't help it.</span> You look beneath the ice. <br><br> <<if $rng gte 95>> A single, gargantuan eye stares through you. Stars fill your vision. <br><br> You're lying on the ice.<<ggtrauma>><<gstress>><<gpain>><<gawareness>><<trauma 18>><<stress 6>><<pain 4>><<awareness 1>> <br><br> <<destination_lake_ice>> <<else>> There's nothing there. Of course there isn't.<<gstress>><<stress 6>><<gwillpower>><<willpower 1>> <br><br> <<destination_lake_ice>> <</if>> <</if>><<effects>> <<if $rng gte 95>> A single, gargantuan eye stares through you. Stars fill your vision. <br><br> You're lying on the ice.<<ggtrauma>><<gstress>><<gpain>><<gawareness>><<trauma 18>><<stress 6>><<pain 4>><<awareness 1>> <br><br> <<destination_lake_ice>> <<else>> There's nothing there. Of course there isn't.<<gstress>><<stress 6>> <br><br> <<destination_lake_ice>> <</if>><<effects>> <<if playerIsPregnant() and playerAwareTheyArePregnant()>> You lie on your belly as best as you can, given your <<bellyDescription "pc">>, and spread out your weight. You shuffle to a safer part of the lake. <<else>> You lie on your belly and spread out your weight. You shuffle to a safer part of the lake. <</if>> <br><br> <<destination_lake_ice>><<effects>> <<if $rng gte 91>> You keep walking, until the groaning stops. <br><br> <<destination_lake_ice>> <<else>> You keep walking. The ice feels fine, <span class="red">until it gives way all of a sudden.</span> You plunge into icy water.<<ggstress>><<stress 18>> <br><br> <<link [[Next|Lake Underwater]]>><</link>> <br> <</if>><<effects>> You lean into your fall and hold out your arms. You save yourself from the worst of it. <br><br> <<if $laketeenspresent is 1 and $bus is "lakeshallows">> You hear laughter. The others thought your fall funny. <br><br> <</if>> <<tearful>> you climb to your feet. <br><br> <<destination_lake_ice>><<effects>> You shift your weight, spin, <<if $danceSuccess>> <span class="green">and manage to stay upright.</span> The danger over, that felt pretty cool.<<lstress>><<stress -6>> <<else>> <span class="red">and land on your back with your legs in the air.</span><<ggstress>><<gpain>><<stress 6>><<pain 4>> <<if $laketeenspresent is 1 and $bus is "lakeshallows">> <br><br> You hear laughter. The others thought your fall funny.<<lcool>><<status -10>> <</if>> <</if>> <br><br> <<destination_lake_ice>><<effects>> <<if $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $player.penisExist>> <<set $struggle.penis.creature to "pale slime">><<set $penisuse to "struggle">><<set $penisstate to "struggle">><<set $struggle.enemy[0].location to "penis">> <<else>> <<set $struggle.vagina.creature to "pale slime">><<set $vaginause to "struggle">><<set $vaginastate to "struggle">><<set $struggle.enemy[0].location to "vagina">> <</if>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<underwater>><<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if _combatend>> <span id="next"><<link [[Next|Wraith Underwater Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Underwater Rape]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Wraith Underwater Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Underwater Rape]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Underwater Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Underwater Rape]]>><</link>></span><<nexttext>> <</if>> <</switch>><<underwater>><<effects>> <<if $enemyhealth lte 0 and $wraith.type is "man">> The figure looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly back into the darkness, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. The water rushes in to fill the empty space, sending a shockwave out that leaves you tumbling in the water. Your ears ring, and you think you hear laughter. "<span class="wraith">You can't keep me away forever, <<pcpetname "Wraith">>.</span>" <br><br> <<tearful>> you try to get your bearings. <<set $wraith.defeated++>> <<else>> <<ejacW>> With a bright flash, <<he>> vanishes. You feel lewd energy linger in the water, and <<his>> laughs echo between your ears. "<span class="wraith">Worry not, we'll meet again soon.</span>" <br><br> <<tearful>> you try to get your bearings. <</if>> <<clotheson>> <<endcombat>> <<link [[Next|Lake Ruin]]>><<endWraith>><</link>> <br><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <<set $timer to 15>> <</if>> <<effectsWraith>> <<if _combatend or $timer lte 0>> <span id="next"><<link [[Next|Asylum Machine Wraith Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Asylum Machine Wraith]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> With both feet, you kick as hard as you can. The cover of the machine flies open. <<set $wraith.defeated++>> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejacW>> Light floods into the machine as the cover is finally pried open. Laughter echoes between your ears. "<span class="wraith">See you soon.</span>" <br><br> <<else>> The <<person>> caresses your face. "<span class="wraith">Time is fleeting, like sand slipping through your fingers. See you soon.</span>" <<kissWraith>> <br><br> Light floods into the machine as the cover is finally pried open. <</if>> You feel yourself being pulled out, and hear many voices. You look up to see several orderlies clad in gas masks. There's no sign of the <<person>> anywhere. <br><br> Someone rushes up to you. It's Harper, also wearing a gas mask. "Thank goodness. The machine began to malfunction, and we couldn't get it open. Please accept my sincerest apologies." <<suspicion -10>><<lllsuspicion>> <<tearful>> they look you over and help you to your feet. <<clotheson>> "You've done well today," the doctor says. "I hope you weren't too distressed. Be well." <<if C.npc["Ivory Wraith"].lust gte 16>> <<He>> looks pale. You hope it's just the lighting. <<stress 6>><<gstress>> <</if>> <br><br> You leave the room, still shaking. <br><br> <<endcombat>> <<link [[Next|Asylum]]>><<endWraith>><</link>> <br><<location "forest">><<effects>> You swallow the pill. A daze descends on you and a perverse warmth grows in your belly. Everything spins. You taste something strange, and you feel like what you just swallowed wasn't even a pill. <br><br> You turn to <<him>>. <<His>> skin has turned a stark white. <<if $wraith.seen gte 3>> You immediately recognise it as the pale being that's been following you. <<elseif $wraith.seen gte 1>> <<His>> pale visage looks familiar, and you feel as though you should panic, but whatever you just consumed won't let you. <</if>> <<He>> smiles. "<span class="wraith">I can feel your heart beating. Give in.</span>" <<endevent>><<generateWraith 1 true>> <<initWraith>><<rainWraith true>> <br><br> <<switch $wraith.gen>> <<case "man">> <<He>> raises <<his>> hand to the air, and an unseen force pushes you to the ground. <<case "tentacles" "abomination" "slimetentacles">> You feel something slithering up your legs. You look down to see a mass of pale tendrils surrounding you! <<case "slime">> <<He>> raises <<his>> hands to the air, and a shimmering purple mass appears above you. A group of pale, undulating slimes jump out! <<case "arms">> A manic grin crosses <<his>> face, and several additional pairs of arms spring from <<his>> back, each one gesturing in strange patterns. <</switch>> <br><br> <<if Time.isBloodMoon()>> <<link [[Next|Wraith Caught]]>><<set $wraith.exit to "forest">><</link>> <<else>> <<link [[Next|Pub Wraith Mimic Attack]]>><</link>> <</if>> <br><<location "forest">><<effects>> You shake your head. <<He>> freezes in an unnatural position, and grins. Your pulse quickens. <<His>> skin grows more and more pale by the second. <br><br> <<if Time.isBloodMoon()>> "<span class="wraith"><<pcPetname "Wraith">>. You never had a choice.</span>" <<if $wraith.seen gte 3>> You immediately recognise it as the pale being that's been following you. <<elseif $wraith.seen gte 1>> <<His>> pale visage looks familiar. <</if>> <<He>> smiles. "<span class="wraith">I can feel your heart beating. Give in.</span>" <<endevent>><<generateWraith 1 true>> <<initWraith>><<rainWraith true>> <br><br> <<switch $wraith.gen>> <<case "man">> <<He>> raises <<his>> hand to the air, and an unseen force pushes you to the ground. <<case "tentacles" "abomination" "slimetentacles">> You feel something slithering up your legs. You look down to see a mass of pale tendrils surrounding you! <<case "slime">> <<He>> raises <<his>> hands to the air, and a shimmering purple mass appears above you. A group of pale, undulating slimes jump out! <<case "arms">> A manic grin crosses <<his>> face, and several additional pairs of arms spring from <<his>> back, each one gesturing in strange patterns. <</switch>> <br><br> <<link [[Next|Wraith Caught]]>><<set $wraith.exit to "forest">><</link>> <br> <<else>> "<span class="wraith">Clever.</span>" The voice seems to come from all around you. Your vision goes fuzzy for a brief moment, and when it clears, <<hes>> gone. You look around in a panic. <<stress 6>><<gstress>><<trauma 12>><<ggtrauma>> <br><br> You begin to jump at every shadow. Your breathing grows heavier. You break out into a run, leaving the clearing far behind. <br><br> <<link [[Next|Forest]]>><<set $forest to 0>><<endevent>><</link>> <br> <</if>><<effects>> <<if $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<set $rescue to 0>> <<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if _combatend>> <span id="next"><<link [[Next|Pub Wraith Mimic Attack Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Pub Wraith Mimic Attack]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Pub Wraith Mimic Attack Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Pub Wraith Mimic Attack]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Pub Wraith Mimic Attack Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Pub Wraith Mimic Attack]]>><</link>></span><<nexttext>> <</if>> <</switch>> <br><<set $outside to 0>><<effects>> <<if $enemyhealth lte 0 and $wraith.type is "man">> The <<person>> looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you think you hear laughter. "<span class="wraith">I am everywhere. You will never escape me.</span>" <br><br> <<tearful>> you run from the clearing, not daring to look back. <<set $wraith.defeated++>> <<else>> <<ejacW>> <<kissWraith>> <br><br> <<He>> breaks off and gives you a regal bow as <<he>> vanishes in a torrent of water, and <<his>> laughs echo between your ears. "<span class="wraith">I could be anyone. I am anyone. See you soon.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <</if>> <<endRainWraith true>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $forest to 0>><<endWraith>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<set $rescue to 0>> <<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if _combatend>> <span id="next"><<link [[Next|Wraith Moor Ring Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Moor Ring]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Wraith Moor Ring Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Moor Ring]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Moor Ring Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Moor Ring]]>><</link>></span><<nexttext>> <</if>> <</switch>> <br><<set $outside to 0>><<effects>> <<if $enemyhealth lte 0 and $wraith.type is "man">> The <<person>> looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you think you hear laughter. "<span class="wraith">I am everywhere. You will never escape me.</span>" <br><br> <<tearful>> you run from the glowing shore, not daring to look back. <<set $wraith.defeated++>> <<else>> <<ejacW>> <<kissWraith>> <br><br> <<He>> breaks off and gives you a regal bow as <<he>> vanishes in a torrent of water, and <<his>> laughs echo between your ears. "<span class="wraith">Leave the dead to their slumber, thief.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <</if>> <<endRainWraith true>> <<clotheson>> <<endcombat>> <<link [[Next|Moor]]>><<endWraith>><<set $eventskip to 1>><</link>> <br><<effects>> <<set $wraith.exit to "town">> <<if $speech_attitude is "meek">> You look away from Kylar. "S-sorry," you say. "Not today." <<elseif $speech_attitude is "bratty">> You put your hands on your hips. "In a creepy alley," you say. "Really? No." <<else>> You shake your head. <</if>> <br><br> Kylar stares at the ground and nods. <<Hes>> grinning widely. <<He>> turns as if to leave, but then lunges forward and shoves you against a wall with <<his>> hand. <br><br> Except that's not a hand. Many long, translucent limbs are pinning you to the wall. <br><br> You see <<his>> skin ripple, like wax melting down a candle. <<His>> arms take on an unnatural, ivory pallor. <<endevent>><<generateWraith 1 true>><<initWraith "abomination">> <br><br> This isn't Kylar. <<trauma 12>><<ggtrauma>><<set $wraith.revealed to true>> <br><br> <<if $wraith.offspring is "dead">> "<span class="wraith">This one couldn't save them,</span>" <<he>> hisses. "<span class="wraith">You let them die.</span>" The translucent limbs converge on you. <<elseif $wraith.offspring is "sold">> "<span class="wraith">This one couldn't save them,</span>" <<he>> hisses. "<span class="wraith">You threw them away.</span>" The translucent limbs converge on you. <<elseif $wraith.state is "despair">> "<span class="wraith">Where is it? Have you seen it? My necklace...</span>" <<he>> pleads. The translucent limbs converge on you. <<else>> "<span class="wraith">You stole it from me,</span>" <<he>> hisses. "<span class="wraith">Give it back.</span>" The translucent limbs converge on you. <</if>> <br><br> <<if Time.isBloodMoon()>> <<link [[Next|Wraith Caught]]>><</link>> <<else>> <<link [[Next|Wraith Mimic Fight]]>><</link>> <</if>> <br><<effects>> You cuddle Robin, but <<his>> hands continue to wander and grope. <<He>> pulls you closer. <br><br> <<link [[Insist on just cuddling|Wraith Mimic Robin Bed]]>><<trauma -6>><<stress -12>><</link>><<llove>><<ldom>><<ltrauma>><<lstress>> <br> <<link [[Give in|Wraith Mimic Fight]]>><<set $sexstart to 1>><</link>><<gdom>> <br><<effects>><<set $sleepWraith to true>> <<wearoutfit>> You snuggle under the covers with Robin. <br><br> <<generateSleepLinks "Sleep">> <<link [[Climb out of bed|Wraith Mimic Robin Refuse]]>><<storeon "bed">><<set $wardrobe_location to "wardrobe">><<loadTempHairStyle>><<unset $sleepWraith>><</link>><<effects>><<unset $robinbed>> You try to climb out of bed, but a hand grabs you. Robin pulls you back to the bed with one hand and pins you down with the other. <<He>> strokes your cheek with a third hand. <br><br> Except that's not a hand. Many long, translucent limbs are pinning you to the bed. <br><br> You see <<his>> skin ripple, like wax melting down a candle. <<His>> arms take on an unnatural, ivory pallor. <<endevent>><<generateWraith 1 true>><<initWraith "abomination">> <br><br> This isn't Robin. <<trauma 12>><<ggtrauma>><<set $wraith.revealed to true>> <br><br> "<span class="wraith">You built your cage, now lie in it,</span>" <<he>> hisses. "<span class="wraith">Lie until you forget the truth.</span>" The translucent limbs converge on you. <br><br> <<link [[Next|Wraith Mimic Fight]]>><</link>> <br><<effects>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $wraith.type to "man">><<set $wraith.gen to "man">> <<switch $wraith.mimic>> <<case "Kylar">> <<He>> pulls you into the alley, then around another corner, away from prying eyes. There's a mattress already here. Kylar collapses on it, pulling you down atop <<him>>. <<case "Robin">> <<npckiss>><<unset $robinbed>> <</switch>> <<set $speechdisable to 1>> <<elseif $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $player.penisExist>> <<set $struggle.penis.creature to "pale slime">><<set $penisuse to "struggle">><<set $penisstate to "struggle">><<set $struggle.enemy[0].location to "penis">> <<else>> <<set $struggle.vagina.creature to "pale slime">><<set $vaginause to "struggle">><<set $vaginastate to "struggle">><<set $struggle.enemy[0].location to "vagina">> <</if>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<if $wraith.revealed>> <<set $enemytype to $wraith.type>> <<else>> <<set $wraith.type to "man">><<set $wraith.gen to "man">> <<maninit>><<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <</if>> <<set $speechdisable to 1>> <</if>> <<effectsWraith>> <<if $wraith.revealed>> <<switch $wraith.type>> <<case "man">> <<if _combatend>> <span id="next"><<link [[Next|Wraith Mimic Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Mimic Fight]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Wraith Mimic Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Mimic Fight]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Mimic Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Mimic Fight]]>><</link>></span><<nexttext>> <</if>> <</switch>> <<else>> <<if $enemyhealth lte ($enemyhealthmax / 2)>> <span id="next"><<link [[Next|Wraith Mimic Fight Revealed]]>><<set $phase to 1>><</link>></span><<nexttext>> <<elseif $enemyarousal gte $enemyarousalmax>> <span id="next"><<link [[Next|Wraith Mimic Fight Revealed]]>><<set $phase to 2>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Mimic Fight]]>><</link>></span><<nexttext>> <</if>> <br> <</if>><<effects>> <<if $phase is 1>> <<His>> head snaps back at an unnatural angle. You wince. <<His>> arms hang down, limp. <br><br> <<His>> skin turns more and more pale as you stare. Slowly, <<he>> rights <<his>> head to look at you with a manic grin. <<else>> As you think <<hes>> about to reach climax, <<he>> laughs in a voice that isn't <<hers>>. <<if $wraith.seen gte 3>> It's a voice that fills you with dread. You instinctively push yourself away. <<else>> You freeze up. <</if>> <br><br> <<His>> skin begins to turn pale. <<His>> eyes flash a bright <<wraithEyes>>, and a baleful white glow surrounds <<him>>. <<rainWraith true>> <</if>> <br><br> This isn't $wraith.mimic. <<trauma 24>><<gggtrauma>><<set $wraith.revealed to true>> <br><br> <<silently>><<endcombat>><</silently>> <<generateWraith 1 true>><<initWraith "abomination">> <<if $phase is 1>> <<set $enemyhealth -= 200>> <<else>> <<set $enemyarousal += 200>> <</if>> <<if $wraith.state is "haunt">> <<if $wraith.mimic is "Eden">> "<span class="wraith">Vulture.</span>" <<elseif $wraith.mimic is "Robin">> "<span class="wraith">We all have something to protect.</span>" <<else>> "<span class="wraith">Give it back.</span>" <</if>> <<elseif $wraith.state is "despair">> <<if C.npc["Ivory Wraith"].lust gte 12>> "<span class="wraith"><<pcPetname "Wraith">>. It's so cold without it... keep me warm.</span>" <<else>> "<span class="wraith">Where is it? Have you seen it? My necklace...</span>" <</if>> <<elseif $wraith.offspring is "dead" and $tentacledisable is "f">> "<span class="wraith">You let them die. We will make more.</span>" <<elseif $wraith.offspring is "sold" and $tentacledisable is "f">> "<span class="wraith">You threw them away. We will make more.</span>" <<else>> "<span class="wraith">Carnal lust. Passion. Beautiful. <<pcPetname "Wraith">>.</span>" <</if>> <br><br> <<startWraith>> <br><br> <<if Time.isBloodMoon()>> <<link [[Next|Wraith Caught]]>><</link>> <<else>> <<link [[Next|Wraith Mimic Fight]]>><</link>> <</if>> <br><<effects>> <<if $wraith.type is "man" and $enemyhealth lte 0>> The <<person>> looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you think you hear laughter. "<span class="wraith">I am everyone. You will never escape me, <<pcpetname "Wraith">>.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <<set $wraith.defeated++>> <<else>> <<ejacW>> <<kissWraith>> <br><br> <<He>> breaks off and gives you a regal bow as <<he>> vanishes in a torrent of water, and <<his>> laughs echo between your ears. "<span class="wraith">Such magnificent lust. Perhaps I will visit <<nnpc_him $wraith.mimic>> next.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <</if>> <<clotheson>> <<endcombat>> <<exitWraith>><<effects>> Without a second thought, you<<if $phase is 1>> jump out and<</if>> break out into a run. You hear a terrible blaring screech from behind you, getting closer and closer. <br><br> You hear a harsh whipping sound. A pale tendril springs from a drainage grate, and lashes for your legs. <<if $athleticsSuccess>> <span class="green">You jump over it at the last possible moment, and keep running.</span> The noise grows more distant. <br><br> You turn a corner, panting. It likely won't give up that easily. <br><br> <<set $wraith.hunt -= 2>> <<exitWraith>> <<else>> You try to jump over it, <span class="red">but it catches you.</span> The ground hurdles towards your face. Your stomach rises to your throat as you're flipped upside down. <br><br> A pale visage materialises before you. <<generateWraith>><<initWraith "abomination">> <<startWraith>> <br><br> <<link [[Next|Wraith Caught]]>><<set $wraith.exit to "town">><</link>> <br> <</if>><<effects>> It hasn't seen you yet. You frantically look for a place to hide. Your eyes land on <<if $location is "park">>a large bush<<else>>an empty dumpster<</if>>. <br><br> You vault into it as quietly as you can. The <<print Weather.precipitation>> starts to become heavier. You sit and wait, daring a peek outside every few minutes. <br><br> Your ears begin to ring. Through the tiny gap, you see a long, white robe dragging against the ground. <br><br> <<if $rng gte 51 or $slimedisable is "t">> <<if numberOfEarSlime()>> <span class="red">You feel the slime in your head make a strange noise, as if calling out to something.</span> <br><br> <</if>> <<link [[Hold your breath and stay calm|Wraith Hide Hold]]>><</link>><<willpowerdifficulty 1 $willpowermax>> <br> <<else>> You feel something prod your rear. You slowly look behind you, as quiet as you can manage. A small pale slime has started to crawl on you. <br><br> <<link [[Keep it quiet|Wraith Hide Struggle]]>><<set $struggle_start to 1>><</link>> <br> <</if>> <<link [[Jump out and run|Wraith Run]]>><<set $phase to 1>><</link>><<athleticsdifficulty 800 1500>> <br><<effects>> You slowly take in a breath, and hold it. You hope it can't hear you. <<if $willpowerSuccess>> The white cloth makes no sound as it drags past the <<if $location is "park">>bushes<<else>>dumpster<</if>>. It isn't even slowing down. <br><br> You don't dare move for a long while. You wait, but you don't know for how long. Eventually, you hazard a peek. <br><br> <<if $rng lte 15>> <span class="red">You see nothing but a pair of glowing <<wraithEyes>> eyes staring directly into yours, only inches away.</span> You're pulled out violently, and slammed into the ground. <<pain 4>><<gpain>> <br><br> <<generateWraith 1 true>><<initWraith "abomination">> <<startWraith>> <br><br> <<link [[Next|Wraith Caught]]>><</link>> <br> <<else>> <span class="green">You don't see anyone.</span> You slip out, taking one last look around. You're safe, if only for a precious moment. <<stress -3>><<lstress>> <<set $wraith.hunt -= 2>> <br><br> <<exitWraith>> <</if>> <<else>> You try not to think about the other ways it could find you. <span class="red">Like the <<if numberOfEarSlime()>>slime<<else>>visions<</if>> in your head.</span> Your breathing grows heavier. You begin to panic. <<stress 6>><<gstress>> <br><br> Your vision begins to get blurry. You're tearing up, and choking back a sob. Your breathing is deafening, and only causing you to panic further. <<stress 12>><<ggstress>> <br><br> Even with your hand over your mouth, it's so loud. You inhale sharply, and hold it. <br><br> You still hear heavy breathing. It's low, and almost sounds like a gurgle. From right next to you. <br><br> Your entire body goes numb with fear. You barely manage to turn your head, and come face to face with a pale visage. You don't get the chance to scream. <br><br> You're violently thrown out. It floats out after you. <<generateWraith 1 true>><<initWraith "abomination">> <<startWraith>> <br><br> <<link [[Next|Wraith Caught]]>><</link>> <br> <</if>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "pale slime">> <<struggle_creatures 1 2>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $analdisable is "f">> <<set $struggle.anus.creature to "pale slime">><<set $anususe to "struggle">><<set $anusstate to "struggle">><<set $struggle.enemy[0].location to "anus">> <</if>> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Hide Struggle End]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Wraith Hide Struggle]]>><</link>></span> <br> <</if>><<effects>> The slime slips away without a sound. <<tearful>> you peek outside. <br><br> You don't see anyone. You're safe, if only for a precious moment. <<stress -3>><<lstress>> <<set $wraith.hunt -= 2>> <br><br> <<clotheson>> <<endcombat>> <<exitWraith>><<effects>> <<physiquedifficulty 5000 16000 true>> You grab the tentacle and try calm it. <<deviancy1>> <<if $physiqueSuccess>> It thrashes against you, <span class="green">then slows to a rhythmic, thrusting movement.</span> Before you realise what it is doing, the tentacle ejaculates slime all over your hands. <<bodyliquid "leftarm" "goo">><<bodyliquid "rightarm" "goo">> <br><br> <<if $location is "sewers">> <<water>> Worn out, the pale tentacle retracts as several more emerge from the canal, wrapping around your limbs and waist and pulling you into the water. They're easily able to hold your weight. <<else>> Worn out, the pale tentacle retracts as several more emerge from the manhole, wrapping around your limbs and waist and pulling you underground. They're easily able to hold your weight. <</if>> <br><br> <<link [[Next|Wraith Tentacle Rape]]>><<set $molestationstart to 1>><</link>> <br> <<else>> As it thrashes against your grip, <span class="red">it gets under your leg and trips you.</span> <<gpain>><<pain 5>><<gtrauma>><<gstress>><<stress 6>><<trauma 6>> <br><br> You feel the sense of dread building, and can't shake the notion that whatever's hunting you knows exactly where you are now. <<set $wraith.hunt++>> <<exitWraith>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<controlloss>> <<molested>> <<tentaclestart 8 20 "tentacle" "pale">> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Wraith Tentacle Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Tentacle Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $location is "sewers">> The pale tentacles recoil from you and disappear into the canal. <<tearful>> you climb out of the water. <<else>> The pale tentacles recoil from you and disappear into the sewer. <</if>> You're not sure why, but you feel as though whatever's hunting you has lost some progress. <<set $wraith.hunt -= 2>> <<clotheson>> <<endcombat>> <<exitWraith>><<effects>> You pull away from the pale tentacle, hoping to shake it off. <span class="red">It holds firm.</span> <br><br> The vision of the pale figure in your head grows more and more intense, and you feel a warmth building up. The tentacle ejaculates slime all over your leg, and quickly retreats. The slime smells strange. <<ghallucinogens>> <br><br> The dread builds, and you can't shake the notion that whatever's hunting you knows exactly where you are now. <<set $wraith.hunt++>> <br><br> <<exitWraith>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "pale slime">> <<struggle_creatures 1 2>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<unset $struggle_start>> <<set $timer to 7>> <</if>> <<if $timer is 1>> <<struggle_add 2 1>> <span class="pink">Two more slimes drop from the ceiling!</span> <br><br> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Sewers Struggle End]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Wraith Sewers Struggle]]>><</link>></span> <br> <</if>><<effects>> The slime slips away without a sound. <<tearful>> you peek around. <br><br> You don't see anything. You're safe, if only for a precious moment. <<stress -3>><<lstress>> <<set $wraith.hunt -= 2>> <br><br> <<clotheson>> <<endcombat>> <<exitWraith>><<effects>> It moves in a hypnotic pattern, leaving phantom shapes in the air. A warmth builds in your head. You fall to your knees without resistance. <br><br> <<generateWraith 1 true>> <<initWraith "arms" "abomination">> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> A pair of pale hands grabs your head. <<if $wraith.gen is "arms">> Followed by many more. You look up and see several extra arms and hands springing from <<his>> back. <<else>> Something slithers around your legs and arms. <</if>> "<span class="wraith">Drown with me.</span>" <<else>> A pale hand lifts your chin. Your mind goes blank as you look into <<his>> eyes. <<if $wraith.gen is "arms">> Many additional pairs of arms emerge from <<his>> back. <<else>> Something slithers around your legs and arms. <</if>> "<span class="wraith">Like a puppet on strings.</span>" <</if>> <br><br> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> <<set $enemyanger -= 20>> <<link [[Next|Wraith Caught]]>><</link>> <<else>> The figure begins to rapidly dissipate into white mist from the bottom up. You find your mouth hanging open. You can't feel anything. <br><br> The mist trails into your mouth, making your entire body feel cold and rigid. The figure is gone. <<if $location is "lake_ruin">> You right yourself in the water, but can't feel your arms. <<else>> You stand up, but can't feel your legs. <</if>> <br><br> <<link [[Next|Wraith Snatched Intro]]>><<endcombat>><<endWraith>><<wraithPossess>><</link>> <</if>> <br><<effects>> <<if $willpowerSuccess is 1>> You try to tear your eyes away from the pale figure. With a great deal of effort, you turn away. <span class="green">The ringing stops, and you regain feeling in your legs.</span> Even with your back to it, you still feel as though you can see it behind you. <br><br> When you turn around again, it's gone. Laughter echoes between your ears. <<switch $location>> <<case "town" "park" "alley">> The streets are still empty, and baleful red light shines down on you. You're not in the clear yet. <<case "forest" "lake">> The forest grows quiet. You see shapes between the trees, and red moonlight covers everything in a red glow. You're not in the clear yet. <<case "sewers">> The sewers are still empty, and the air is uncomfortably chilly. You're not in the clear yet. <</switch>> <br><br> <<set $wraith.hunt to 6>> <<set $wraith.evaded++>> <<exitWraith>> <<else>> Even with your eyes closed, <span class="red">you still see it.</span> Its arms move in a hypnotic pattern, leaving phantom shapes in the air. Your whole body goes numb. <<willpower 3>><<gwillpower>> <br><br> <<generateWraith 1 true>> <<initWraith "abomination">> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> A pair of pale hands grabs your head. <<if $wraith.gen is "arms">> Followed by many more. You look up and see several extra arms and hands springing from <<his>> back. <<else>> Something slithers around your legs and arms. <</if>> "<span class="wraith">Flail and writhe, you'll only drown faster.</span>" <br><br> <<link [[Next|Wraith Caught]]>><</link>> <br> <<else>> A pale hand lifts your chin. Your mind goes blank as you look into <<his>> eyes. <<if $wraith.gen is "arms">> Many additional pairs of arms emerge from <<his>> back. <<else>> Something slithers around your legs and arms. Pale tentacles have completely surrounded you. <</if>> "<span class="wraith">You will learn.</span>" <br><br> <<link [[Next|Wraith Caught]]>><</link>> <br> <</if>> <</if>><<effects>> You close your eyes and whisper a prayer. <span class="red">You still see it through your closed eyelids.</span> <br><br> It frowns at you. "<span class="wraith">No one will answer. A merciful silence.</span>" <br><br> Your eyes snap open. The figure is gone, but you hear laughter echo in your head. <<switch $location>> <<case "town" "park" "alley">> The streets are still empty, and baleful red light shines down on you. You're not in the clear yet. <<case "forest" "lake">> The forest grows quiet. You see shapes between the trees, and red moonlight covers everything in a red glow. You're not in the clear yet. <<case "sewers">> The sewers are still empty, and the air is uncomfortably chilly. You're not in the clear yet. <</switch>> <br><br> <<set $wraith.hunt to 8>> <<set $wraith.evaded++>> <<exitWraith>><<effects>> <<if $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $player.penisExist>> <<set $struggle.penis.creature to "pale slime">><<set $penisuse to "struggle">><<set $penisstate to "struggle">><<set $struggle.enemy[0].location to "penis">> <<else>> <<set $struggle.vagina.creature to "pale slime">><<set $vaginause to "struggle">><<set $vaginastate to "struggle">><<set $struggle.enemy[0].location to "vagina">> <</if>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<set $rescue to 0>> <<if $location is "lake_ruin">> <<underwater>> <</if>> <<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Wraith Caught Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Caught]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Wraith Caught Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Caught]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Caught Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Caught]]>><</link>></span><<nexttext>> <</if>> <</switch>> <br><<effects>> <<if !$wraithCount>> <<if C.npc["Ivory Wraith"].lust lte 10>> <<set $wraithCount to 1>><<set $wraithMax to 1>> <<else>> <<set $wraithCount to 0>> <<set $wraithMax to 3>> <<if $wraith.offspring is "dead">> <<set $wraithMax++>> <</if>> <<if $tentacledisable is "t">> <<set $wraithMax -->> <</if>> <</if>> <</if>> <<if $wraith.type is "man" and $enemyhealth lte 0>> <<if $location is "lake_ruin">> The figure looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly into the dark water. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. The water rushes in to fill the empty space, sending a shockwave out that leaves you tumbling in the water. Your ears ring, and you think you hear laughter. "<span class="wraith">Just breathe.</span>" <br><br> <<tearful>> you try to get your bearings. <<else>> The <<person>> looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you think you hear laughter. "<span class="wraith">I am everywhere. You will never escape me.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <</if>> <<set $wraith.defeated++>> <<set $wraith.timer to -30>> <<set $wraith.hunt to 0>> <<clotheson>> <<endcombat>> <<exitWraith>> <<elseif $enemyarousal gte $enemyarousalmax or $pain gte 100 and $willpowerpain is 0 or ($wraith.type is "tentacles" and $tentacles.active lte ($tentacles.max / 2)) or ($wraith.type is "slime" and $struggle.done gte $struggle.number)>> <<set $wraithCount++>> <<ejacW>> <<if $wraithCount gte $wraithMax>> <<kissWraith "stress">> <br><br> <<if $moonstate is "morning" and Time.hour gte 6>> <<He>> floats away from you, looking to the sky as the sun comes up. <<He>> sneers. "<span class="wraith">Alas, time is fleeting. Worry not, <<pcpetname "Wraith">>, we'll meet again soon.</span>" <br><br> <<His>> glow begins to dim, and <<he>> slowly melts away in a torrent of water. The dread slowly passes. <span class="blue"><i>You're safe until the next blood moon.</i></span> <br><br> <<tearful>> you stand, wondering if it's really over. <<set $wraith.hunt to 0>> <<clotheson>> <<endcombat>> <<exitWraith>> <<clearWraith>> <<elseif $pain gte 100 or $stress gte $stressmax>> <<set $wraith.hunt to 0>> <<if $pain gte 100>> <span class="red">You're too battered and bruised to resist.</span> <<else>> This is too much for you. You feel your consciousness slipping. <</if>> The figure begins to rapidly dissipate into white mist from the bottom up. You find your mouth hanging open. You can't feel anything. <br><br> The mist trails into your mouth, making your entire body feel cold and rigid. The figure is gone. <<if $location is "lake_ruin">> You right yourself in the water, but can't feel your arms. <<else>> You stand up, but can't feel your legs. <</if>> <br><br> <<link [[Next|Wraith Snatched Intro]]>><<endWraith>><<clotheson>><<endcombat>><<wraithPossess>><</link>> <br> <<elseif $wraith.state is "haunt" or $wraith.offspring is "dead">> "<span class="wraith">Your will is strong. But you will bend, or you will break.</span>" <br><br> <<if $location is "lake_ruin">> With a bright flash, <<he>> vanishes. You feel lewd energy linger in the water, and <<his>> laughs echo between your ears. <br><br> <<tearful>> you try to get your bearings. <<else>> <<He>> breaks off and gives you a regal bow as <<he>> vanishes in a torrent of water, and <<his>> laughs echo between your ears. <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <</if>> <<set $wraith.timer -= 20>> <<set $wraith.hunt to 0>> <<clotheson>> <<endcombat>> <<exitWraith>> <<else>> <<if $location is "lake_ruin">> With a bright flash, <<he>> vanishes. You feel lewd energy linger in the water, and <<his>> laughs echo between your ears. "<span class="wraith">Such magnificent lust. I like you.</span>" <br><br> <<tearful>> you try to get your bearings. <<else>> <<He>> breaks off and gives you a regal bow as <<he>> vanishes in a torrent of water, and <<his>> laughs echo between your ears. "<span class="wraith">Such magnificent lust. I like you.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <</if>> <<set $wraith.timer -= 20>> <<set $wraith.hunt to 0>> <<clotheson>> <<endcombat>> <<exitWraith>> <</if>> <<else>> <<continueWraith>> <br><br> <<link [[Next|Wraith Caught]]>><</link>> <br> <</if>> <</if>><<set $outside to 0>><<set $location to "home">><<effects>><<seenPassage>> You walk up to the mirror and gaze into its depths. It no longer reflects, but glows with a curious light. It's a bright white. Like snow. <br><br> The light begins to take shape. A pale hand gently presses up against the surface from the other side. A pale figure stares back, smiling. Its <<wraithEyes>> eyes hold your gaze. <<if $wraith.seen gte 3 or $wraithPrison>> <span class="blue">You recognise it.</span> You feel as though you should be full of dread, but you aren't. <<else>> You feel like you should be scared, but you aren't. <</if>> <br><br> <<link [[Reach out|Christmas Mirror Reach]]>><</link>><<handholdingvirginitywarning>> <br> <<link [[Watch|Christmas Mirror Watch]]>><</link>> <br> <<link [[Step away|Christmas Mirror Leave]]>><</link>> <br>You step away from the mirror. The next time you blink, it's returned to normal. <br><br> <<link [[Next|Bedroom]]>><<endevent>><</link>> <br>You keep your eyes fixed on the hand. Its fingers slowly creep through the surface, revealing gnarled claws as they gingerly grip the frame. <br><br> The shape behind it flickers. The claws vanish, replaced by supple skin. You look up to see the figure still smiling warmly at you. It holds out its other hand, without a word. <br><br> <<link [[Take the hand|Christmas Mirror Reach]]>><</link>><<handholdingvirginitywarning>> <br> <<link [[Step away|Christmas Mirror Leave]]>><</link>> <br><<effects>> <<generateWraith 1 true>> <<set $pronoun to C.npc["Ivory Wraith"].gender>> You reach forward, taking the hand in yours. <<takeHandholdingVirginity "Ivory Wraith" "consensual">> <br><br> The skin ripples, changing between a ghastly pale and a normal tone. <br><br> <span class="teal"><<He>> hums a familiar tune.</span> <br><br> <<Hes>> cloaked in a white robe, standing under a red moon. <<He>> has <<his>> other arm spread out to you in a welcoming gesture. You feel profoundly calm as you take a step forward. <br><br> <<set $christmas_wraith to true>> <<freezePlayerStats>> <<set Weather.Temperature.set(-15)>> <<rainWraith>> <<link [[Step in (0:05)|Christmas Mirror 2]]>><<pass 5>><</link>> <br><<effects>><<set $location to "old_temple">><<set $outside to 0>> You're surrounded by trees, all covered in snow. You look down to see a bed of coals at your feet. The red moon vanishes. Your feet burn. You collapse forward, into <<his>> arms. <<He>> embraces you. <<Hes>> congratulating you, smiling and laughing. You're crying. <br><br> "You did it! I knew you could do it!" <<He>> speaks in a language you don't know, and yet, you find yourself understanding the words. Another voice speaks in unison. <br><br> "<span class="wraith">We may never reach the bottom. We can only hope.</span>" <br><br> The pale figure holds you close. <<if ["haunt", "despair"].includes($wraith.state)>> <<His>> eyes flicker red for a brief moment, before returning to a calm blue. <<else>> <<His>> deep blue eyes fill you with an inner peace. <</if>> "<span class="wraith">No one deserves to die in a cage.</span>" <br><br> The world around you begins to shift. <br><br> <<link [[Next|Christmas Mirror 3]]>><<pass 5>><</link>> <br><<effects>> You're in the middle of a large cathedral. Tables are set up for a great feast. All around you, faces you <<if $wraithPrison and $wraithPrison.vision is true>> vaguely <<else>> don't <</if>> recognise smile and make merriments. They're all surrounded by a pale glow. The longer you look, the more translucent they become. <br><br> "<span class="wraith">But for now, we are whole again. Enjoy it. Like sand slipping through our fingers.</span>" <br><br> You find yourself returning the embrace. You don't want to let go. The inner warmth begins to fade, and the faces around you become unrecognisable. They begin to distort into unnatural shapes. You're instantly filled with panic. The pale figure slips backwards, out of your reach. <br><br> The tapestries on the walls peel away, revealing utter emptiness as the figures fall to the ground, clutching the sides of their heads where their ears used to be. A bell tolls. <br><br> <<His>> skin turns marble white once again, and <<he>> begins to fade away. The faint <<wraithEyes>> light of <<his>> eyes flicker out in a rapidly expanding darkness. <br><br> "<span class="wraith">Remember us, <<pcpetname "Wraith" "nice">>, not as we are, but as how we were.</span>" <br><br> As the light draws away, you begin to fall. You can't hear wind in your ears, or against your skin, but somehow you know you're falling. Snowflakes and shards of glass brush past, mingling and dissolving. <br><br> <<link [[Reach out|Christmas Mirror 4]]>><</link>> <br> <<link [[Fall|Christmas Mirror Fall]]>><</link>><<effects>> You reach your arm out. You're not sure what you're reaching for, but you feel a presence approach. It doesn't beckon you, but neither does it push you away. <br><br> <<if $wraithPrison and $wraithPrison.vision is true>> <<link [[Apologise|Christmas Mirror 5]]>><<set $phase to 1>><</link>> <<else>> <<link [[Ask|Christmas Mirror 5]]>><</link>> <</if>> <br> <<link [[Fall|Christmas Mirror Fall]]>><<set $phase to 1>><</link>> <br><<effects>> You open your mouth. <<if $phase is 1>> You try to apologise. For what it's been through, for what it's lived through, for all the ways it's suffered. For all the things you've done. <<else>> You try to ask why. Why it follows you, why it torments you. Why it seeks you specifically, and why it brought you here. <</if>> <br><br> The words fail to form. But still, a response comes. <br><br> "<span class="wraith">I can't answer,</span>" <<he>> murmurs. <<He>> remains silent for a long time. "<span class="wraith">I would be wrong.</span>" <<lobsession 2>> <br><br> <<link [[Fall|Christmas Mirror Fall]]>><<set $phase to 1>><</link>> <br><<effects>> <<if $phase is 1>> You let your arm drop back to your side. <</if>> You fall, and you fall, and further you fall still. You're not sure if you're falling down anymore. You're not sure where down is. <br><br> Your descent is beautiful. <br><br> <<link [[Wake up|Christmas Mirror End]]>><</link>> <br><<set $location to "home">><<set $outside to 0>><<effects>> <<unfreezePlayerStats>> You cry out, and shoot up. You're in your bed, sweating, and breathing heavily. <br><br> You rub the tiredness out of your eyes. You catch a glimpse of yourself in the mirror. You look pale. <<trauma 4>><<gtrauma>> <br><br> <<link [[Next|Bedroom]]>><<endevent>><<endWraith>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<violence 1>> <<neutral 1>> <<maninit>> <<stalk_init>> <<set $combatgoal to "confront">> <</if>> <<effects>> <<effectsman>><<man>> <<stateman>> <br><br> <<actionsman>> <<if $stalk_end>> <span id="next"><<link [[Next|Wraith Stalk Finish]]>><<if $feetaction is "confront">><<set $phase to 1>><<else>><<set $phase to 0>><</if>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Stalk]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $stalk_end is "escaped">> You slow to a walk. You hear faint laughter around you, but nobody is nearby. <<tearful>> you continue your journey. <br><br> <<clotheson>> <<endcombat>> <<destinationeventend>> <<elseif $stalk_end is "passed">> The mist slowly fades from view. <<tearful>> you continue your journey. <br><br> <<clotheson>> <<endcombat>> <<destinationeventend>> <<elseif $stalk_end is "hide">> The mist slowly fades from view. <<covered>> <<tearful>> you emerge from your hiding place. You continue your journey. <br><br> <<set $stealtextskip to 1>> <<stealclothes>> <<clotheson>> <<endcombat>> <<destinationeventend>> <br> <<elseif $stalk_end is "confront">> <<silently>><<endcombat>><</silently>> <<generateWraith 1 true>><<person1>> <<initWraith>><<set $wraith.exit to "town">> The pale figure laughs, leaning forward at an unnatural angle. <<rainWraith true>> <<switch $wraith.gen>> <<case "man">> <<He>> raises <<his>> hand to the air, and an unseen force pushes you to the ground. <<case "tentacles" "abomination" "slimetentacles">> You feel something slithering up your legs. You look down to see a mass of pale tendrils surrounding you! <<case "slime">> <<He>> raises <<his>> hands to the air, and a shimmering purple mass appears above you. A group of pale, undulating slimes jump out! <<case "arms">> A manic grin crosses <<his>> face, and several additional pairs of arms spring from <<his>> back, each one gesturing in strange patterns. <</switch>> <br><br> <<if Time.isBloodMoon()>> <<link [[Next|Wraith Caught]]>><</link>> <<else>> <<link [[Next|Wraith Stalk Attack]]>><</link>> <</if>> <br> <</if>><<effects>> <<if $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<set $rescue to 0>> <<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if _combatend>> <span id="next"><<link [[Next|Wraith Stalk Attack Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Stalk Attack]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Wraith Stalk Attack Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Stalk Attack]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Wraith Stalk Attack Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wraith Stalk Attack]]>><</link>></span><<nexttext>> <</if>> <</switch>> <br><<set $outside to 0>><<effects>> <<if $enemyhealth lte 0 and $wraith.type is "man">> The <<person>> looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you think you hear laughter. "<span class="wraith">You'll see me soon. I'll see you sooner.</span>" <br><br> <<tearful>> you run, not daring to look back. <<set $wraith.defeated++>> <<else>> <<ejacW>> <<kissWraith>> <br><br> <<He>> breaks off and gives you a regal bow as <<he>> vanishes in a torrent of water, and <<his>> laughs echo between your ears. "<span class="wraith">We'll meet again. We'll meet again. We'll meet.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <</if>> <<endRainWraith true>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $forest to 0>><<endWraith>><<set $eventskip to 1>><</link>> <br><<schismStart>> <<set _thermoDisable to true>><<effects>> <<set Weather.set("clear", true, 1000)>> You pick at the shackles binding your legs together. It's how you've passed most of the time, tonight. How could you sleep? Your crude bedroll offers no comfort, and your thoughts stay fixated on the others. <br><br> You can hear people elsewhere. The room must be quite large. It's too dark to see anything. Not too dark to hear the whipping, or the laughing, though. <<gtrauma>><<trauma 6>> <br><br> All you can do now is wait, and pray. <br><br> <<link [[Wait (?:??)|Schism 2]]>><<set $phase to 1>><<trauma 18>><</link>><<gtrauma>> <br> <<link [[Pray (?:??)|Schism 2]]>><<set $phase to 2>><<control 10>><<stress 18>><</link>><<gcontrol>><<gstress>> <br><<set _thermoDisable to true>><<effects>> <<set $phaseWraith to 0>> <<set Time.setTime(5, 22)>> <<if $phase is 1>> You sit and wait, continuing to pick at your leg shackles. You break another fingernail. You move on to the next finger. <br><br> You think about what happened. It's blurred together. You remember making preparations for a ritual, and then screaming. The <<people>> in black robes. Masks with antlers. <br><br> You decide to not think so much, after all. You clutch your necklace. <<else>> You kneel in the cell. It's spacious. You wonder why they aren't keeping multiple people in each cell. <br><br> You place your hands together, and pray for the other members of the order. With any luck, only you and a few others were grabbed. You clutch your necklace. <</if>> <<canvas-model-override "arm_right" "hold">> <br><br> You're glad it wasn't lost in the struggle. You rub the largest sapphire, and find yourself calming down. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<generatev1>><<generatev2>><<person1>> As you move your thumb away, you catch the reflection of light in it. You look to the source. Someone's entering the room with a torch. It looks like they're coming up from a large staircase, followed by many black-robed figures. You remember being led upwards with a bag over your head. That must be the entrance. Or exit, if you're lucky. <br><br> The figure begins to light up the sconces along the walls, flooding the room with light. You grab the bars of your cage, and stand. You look around the room again. You can see a few members you know in the other cages. You wince as you recognise a few of them as initiates. You had hoped they only targeted more senior members. <br><br> You see the Cardinal in a far cage, looking around in much the same way as you. You remember how hard <<he>> fought to protect the other members. You're surprised <<he>> can stand. Next to <<him>> is an initiate you'd easily recognise anywhere. You remember being there for <<person2>><<his>> first trial of purity. You remember how happy <<he>> was when <<he>> passed, and how <<he>> ran up and hugged you. <br><br> <<link [[Call out to the Cardinal|Schism 3]]>><<set $phase to 1>><</link>> <br> <<link [[Call out to the initiate|Schism 3]]>><<set $phase to 2>><</link>> <br><<set _thermoDisable to true>><<effects>> <<pass 30>><<pain 3>> <<canvas-model-override "eyes_half" false>> <<if $phase is 1>> You call out to the Cardinal. <<person1>><<He>> immediately locks eyes with you, and gives you a weary smile. <<He>> assures you that <<hes>> fine. <<He>> yells reassurance to the other caged <<people>>, giving them instructions, but is cut off as a black-robed figure slams a torch against the bars. <br><br> The figure yells in a language you don't understand, before unlocking the cage and storming in. The initiate in the next cage screams, helpless to do anything but watch as the Cardinal is beaten, and worse. <<stress 18>><<trauma 12>><<ggstress>><<gtrauma>> <br><br> <<Hes>> dragged out with <<his>> hands bound, clothing torn, and sporting fresh bruises. <<He>> turns to you one last time, and mouths the word "ritual" before being led down the stairs. <<else>> You call out to the initiate. <<person2>><<His>> face lights up as soon as <<he>> sees you. <<He>> calls out your name, and you see tears in <<his>> eyes. You yell reassurances to <<him>> from across the room, and place your palm against the bars of your cage. <<He>> does the same. <br><br> One of the black-robed figures slams the bars of <<his>> cage with a torch. <<He>> immediately stumbles back, landing on <<his>> bottom. The figure yells in a language you don't understand, before unlocking the cage and storming in. The Cardinal in the next cage screams at the figure, spitting threats and attempting to reach through the bars. There's nothing <<person1>><<he>> can do. <br><br> You scream even louder. You beg the figure to take you instead. Your pleas fall on deaf ears. <<pain 10>><<stress 40>><<trauma 24>><<gggstress>><<ggtrauma>> <br><br> <<person2>><<Hes>> dragged out with <<his>> hands bound, clothing torn, and sporting fresh bruises. <<His>> eyes are empty. You yell <<his>> name, but there's no reaction. You slam the bars as <<hes>> led down the stairs. <br><br> The tears come quickly, but you're snapped out of it as the Cardinal calls your name. Through your hysteria, you make out the word "ritual". <</if>> <br><br> The ritual. <br><br> You remember. <br><br> You rub your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<link [[Remember|Schism 4]]>><<endevent>><</link>> <br><<set _thermoDisable to true>><<effects>> <<canvas-model-override "clear">> <<generate1>><<person1>> You were assisting with a ritual when it happened. More specifically, it was a counter-ritual. A sect of the order had gone rogue, and was attempting to commit sacrilege. A summoning, of some kind. The hymns echo in your mind. <br><br> You hope the ritual was finished in your absence. If the heretics were to finish their own ritual... <br><br> You're snapped back again. A masked figure slams your cage with a large rod. You don't know how much time has passed, but many of the cages are now empty. <<stress 6>><<trauma 12>><<awareness 5>><<gstress>><<gtrauma>><<gawareness>> <br><br> <<He>> throws in a clump of a strange purple plant. You recognise it immediately. It's a divine herb, used to grant visions to the faithful. <<He>> yells at you, demanding you consume it. <br><br> <<link [[Eat|Schism Lichen Eat]]>><<pain 2>><<hallucinogen 120>><<trauma 50>><</link>><<ggtrauma>><<gghallucinogens>> <br> <<link [[Refuse|Schism Lichen Refuse]]>><<pain 4>><</link>> <br><<set _thermoDisable to true>><<effects>> <<set Time.setTime(11, 11)>> <<canvas-model-override "arm_right" "hold">> You slowly consume the plant. The figure makes a pleased sound, before moving on to the next cage and repeating the process. <br><br> You watch as other figures do the same, all around the room. You hear a yell, and watch a black-robed figure leap upon an initiate that refused to eat the herb. <<stress 24>><<trauma 24>><<ggstress>><<ggtrauma>> <br><br> You say a prayer, and rub your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<link [[Rest|Schism 5]]>><<endevent>><</link>> <br><<set _thermoDisable to true>><<effects>> <<set Time.setTime(21, 43)>> The figure yells again, and hastily unlocks your cage. You push yourself backwards against the floor, mumbling a prayer to yourself and clutching your necklace. <br><br> <<He>> lifts up your robe, revealing your <span class="lewd">gold chastity belt</span>. <<He>> curses, but you see a grin form from under <<his>> mask. Before you can react, you're struck with the rod. <br><br> <<link [[Everything fades to black...|Schism Lichen Refuse 2]]>><<trauma 60>><<stress 60>><</link>> <br><<set _thermoDisable to true>><<effects>> <<pain 6>> You awaken with your arms hanging upwards. You look up, and see the floor. <br><br> You're suspended upside-down by your leg shackles. You quickly pat around your neck, feeling a spike of dread. <br><br> ...no, it's still there. <br><br> You hold your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> Several masked figures enter your cell. You only now notice that your robe is hanging downwards over your belly, totally exposing you from the waist down. Or, in this case, waist up. <br><br> You rush to cover yourself. The figure in front laughs. <<He>> makes a grab for your necklace, which you instinctively expose yourself to clutch away. <<He>> nods to the other figures. <br><br> <<link [[Next|Schism Lichen Refuse 3]]>><</link>> <br><<set _thermoDisable to true>><<effects>> One of the figures holds a torch up to your groin, making sure not to catch your robes ablaze. You look up in horror. <br><br> <span class="red">Your gold chastity belt quickly begins to heat up.</span> <br><br> You beg them to stop. They all laugh at you. You begin to sob. It's only warm right now, but you know you won't last long like this. <br><br> You yell and beg and cry. Finally, the figure in front kneels down to your level. <<He>> holds your cheeks to keep your mouth open, and inserts a mass of the purple herb. You can feel <<his>> gaze through the mask as you chew. <<trauma 50>><<gggtrauma>><<hallucinogen 180>><<gghallucinogens>> <br><br> You're suddenly dropped, coming to rest on the floor. The figures all laugh once again as they exit your cage. You fix your robe, and cough. <br><br> You hold your necklace, as you lie down to rest. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<link [[Rest|Schism 5]]>><<endevent>><</link>> <br><<set _thermoDisable to true>><<effects>> <<set Time.setDate(new DateTime(Time.year, Time.month, 29, 6, 56))>> <<canvas-model-override "clear">> <<pass 1 hour>><<pain 1>><<set $tiredness to 1000>> <<generate1>><<person1>> You doze off quickly, but are once again awakened by a slam against your cage. Another masked figure stares at you, with an arm resting against the cage, and a hand under <<his>> chin. You can feel the sheer malice emanating off of <<him>>. <br><br> <<He>> asks for your gold bracelets and anklets, as well as your hairpin. You didn't even realise you were still wearing them, thinking they would have been stolen by now. You look down. Their sparkle catches the light. The bands were a gift from the late bishop for reaching your current place in the order. <br><br> <<link [[Give them|Schism Gold Give]]>><</link>> <br> <<link [[Refuse|Schism Gold Refuse]]>><</link>> <br><<set _thermoDisable to true>><<effects>><<handsruined>><<legsruined>><<headruined>> <<canvas-model-override "arm_right" "hold">> You shakily remove your anklets first, struggling to manipulate them around your shackles. The figure watches patiently. <br><br> You remove your bracelets and hairpin too, and slide them to the edge of the cage. <<He>> picks them up through the bars, and thanks you in an overly polite tone before leaving. <br><br> You clutch your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<link [[Rest|Schism 6]]>><<endevent>><</link>> <br><<set _thermoDisable to true>><<effects>><<handsruined>><<legsruined>><<headruined>> <<canvas-model-override "arm_right" "hold">> <<generatev2>> You shake your head no, and say they mean too much to you. The figure nods in understanding before walking out of sight, to the next cage. <br><br> You slowly crawl forward, wondering if <<person1>><<hes>> really gone. You hear a yell from the next cell, and the slamming of a door. The figure walks back into view, holding a struggling initiate. The initiate immediately stills as the figure produces a wicked-looking bladed instrument and holds it to <<person2>><<his>> throat. <<stress 50>><<trauma 50>><<gggstress>><<ggtrauma>> <br><br> <<He>> looks to you with pleading eyes. You quickly remove your regalia, tossing them through the bars. The figure immediately releases the initiate, who makes a run for it. Other black-robed figures pursue <<him>>, but the figure before you casually inspects <<person1>><<his>> prize. <br><br> You see the initiate disappear down the stairs. You say a prayer for <<person2>><<his>> safety, and rub your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<link [[Rest|Schism 6]]>><<endevent>><</link>> <br><<set _thermoDisable to true>><<effects>> <<canvas-model-override "clear">> <<set Time.setDate(new DateTime(Time.year, Time.month, 30, 18, 46))>> <<pass 30>><<pain 1>> <<generateCultist 1>><<person1>> The cages have begun to run empty. You've lost track of how long you've been here. It must have been days. Only you and half a dozen others remain now, the rest having been led down the dark staircase one by one. <br><br> A fine pink mist has started to fill the prison. You're unsure of the source, but it smells sweet. <<hallucinogen 80>><<ghallucinogens>> <br><br> It looks like it won't be long until you're next. A figure approaches you carrying a set of rags and a rope, demanding your robe. <br><br> <<link [[Surrender your robe|Schism Robes Accept]]>><<stress 24>><<trauma 24>><</link>><<gstress>><<gtrauma>> <br> <<link [[Refuse|Schism Robes Refuse]]>><<set $molestationstart to 1>><</link>> <br><<set _thermoDisable to true>><<effects>> <<canvas-model-override "arm_right" "hold">> <<upperruined>><<lowerruined>> <<upperwear 156>> You shakily disrobe. You can feel the hungry eyes of figures all around the room. You choke back a sob as you walk towards the door, covering yourself with your robe, before handing it to <<him>>. <br><br> <<He>> grabs your arm through the bars, and pulls you in. You yelp as <<he>> holds you there, and threatens that <<he>> would take you right there were you not needed. <<He>> harshly releases you, tossing in rags to cover yourself with as <<he>> leaves with your robe. <br><br> You hastily cover yourself with the rags as best you can, securing them around your waist with the rope. You sit in the corner, and let out a long breath. <br><br> You hold your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<link [[Rest|Schism 7]]>><<endevent>><</link>><<set _thermoDisable to true>><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<npcstrip>><<npcidlegenitals>> You weakly shake your head. <<He>> slams the bars before unlocking your door, and storming in. <<stress 24>><<ggstress>> <br><br> <<set $speechdisable to 1>> <</if>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($worn.upper.type.includes("naked") and $worn.lower.type.includes("naked"))>> <span id="next"><<link [[Next|Schism Robes Refuse Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Schism Robes Refuse]]>><</link>></span><<nexttext>> <</if>><<set _thermoDisable to true>><<effects>> <<if $enemyhealth lte 0>> <<He>> crashes back against the bars and slumps against the floor. Other figures enter the cell to pull <<him>> out, giving you a wide space and wary looks. You're happy with this small revenge. <<stress -24>><<trauma -24>><<control 15>><<lstress>><<ltrauma>><<ggcontrol>> <br><br> <<tearful>> you rise to your feet, and clutch your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <<else>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <</if>> <<He>> leaves with your clothing, leaving behind a few rags. You hastily cover yourself with them. <<stealclothes>> <br><br> <<tearful>> you rise to your feet, and clutch your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<upperwear 156>> <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Rest|Schism 7]]>><</link>><<set _thermoDisable to true>><<effects>> <<canvas-model-override "clear">> <<set Time.setDate(new DateTime(Time.year, Time.month, 31, 21, 40))>> <<pass 1 hour>> <<pain 10>> <<set $moonstate to "evening">> <<generate1>><<person1>><<generate2>><<generate3>><<generate4>><<generate5>><<generate6>> You awaken in a different cell than the one you fell asleep in. It's much smaller, but has a barred window. <br><br> You gaze outside, as you're mocked by the bars across the moon. It's red, tonight. <br><br> You hear the door open behind you. It's finally time. Four <<monks>> enter your cage, and grab you. You let yourself be led out. <br><br> One of the <<monks>> makes a grab for your necklace, stating its obvious value. You immediately break free from the first <<monk>>, grabbing the offender's hand and biting it. Hard. <br><br> <<He>> screams as the other <<monks>> quickly restrain you. The masked one chastises <<him>>, calling <<him>> a petty thief, and saying <<he>> should have learned from the <<monk>> that made a grab for you when you were first brought here. <br><br> The <<monk>> holds <<his>> hand and mumbles something, and you're led down the dark stairs. At this point, they're practically carrying you, with each <<monk>> holding you up by a limb. <br><br> <<link [[Next|Schism 8]]>><</link>> <br><<set _thermoDisable to true>><<effects>> The staircase is dimly lit by torches. You spot a glowing rune at the very end of it, a long way down. <br><br> The lead <<monk>> places a hand against it, and the wall opens. <<if $tentacledisable is "t">> You exit out into... <br><br> ...a temple? Everything looks wrong. Thuribles float suspended by nothing, and windows open into endless white. You feel something terrible on the edge of your mind. <br><br> You look down, and see your skin ripple. The vision is starting to fall apart. <br><br> You see visions of long, boneless limbs and writhing masses of purple tendrils. <span class="red">You're terrified by them,</span> and start pushing against your consciousness, trying to force yourself to wake up. However, for one brief moment of lucidity, <span class="lewd">you wonder what would happen if you opened your mind to it.</span> <br><br> <<link [[Try to continue the vision|Schism Continue]]>><</link>><<willpowerdifficulty 1 1>> | <span class="pink">This will enable tentacles.</span> <!-- Appears even with blind stats enabled. Intentional --> <br> <<link [[Wake up|Schism Failure]]>><<endevent>><</link>> <br> <<else>> You exit out into the temple. Much of the iconography has been defaced. You feel sick seeing it in this state. <br><br> You're led further down into the temple. Your pulse starts to rise. They're taking you to the plinth room, and you can feel it. <br><br> Your limbs feel as though they're becoming weaker. Your struggles against the <<monks>> go almost unnoticed. <br><br> Before long, you reach an ornate door. The masked <<monk>> produces a bronze key, and two others open it ahead of <<him>>. <br><br> <<link [[Next|Schism 9]]>><</link>> <br> <</if>><<set _thermoDisable to true>><<effects>> <<set $tentacledisable to "f">> <span class="green">You steel your mind, and focus on the vision.</span> It begins to reverse itself, as the temple comes into view. <br><br> <i><span class="lewd">Tentacles are now enabled.</span></i> <br><br> <<link [[Next|Schism 8]]>><</link>> <br><<set _thermoDisable to true>><<effects>> Purple smoke hisses through the door, as the rest of the <<monks>> don their antlered masks. You're carried in. The mist assails your mind, and you start to see shadows moving, writhing, and pointing at you. <<hallucinogen 400>><<ggghallucinogens>> <br><br> You pray. <br><br> You hold your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> You're placed on the large plinth, facing upwards. The ceiling extends up into sheer nothingness, and a faint red glow emanates from the floor. You hear whispers all around you. You can't tell which ones are from the black-robed figures. <br><br> You expect to be restrained, and clutch your necklace to your chest with both hands. However, you instead find all of your limbs immobilised by an invisible force. Candles are lit all around you. <br><br> You listen to the figures chant louder and louder. Your gaze is fixed on the expanse of darkness above, unable to look away. You're barely staying conscious. Tears begin to stream from your eyes. You wonder, you pray, that any of the others escaped, and didn't meet your fate. <br><br> <<link [[Pray|Schism 10]]>><</link>> <br><<set _thermoDisable to true>><<effects>> <<set Weather.set("heavyPrecipitation", true)>> The only thing you can feel is the pendant of your necklace between your hands. You clutch it, shaking in fear. You see something start to take shape above you. <br><br> You can't look away. Not even closing your eyes works; it takes shape in the darkness of your eyelids. Your mind goes numb, but doesn't grant you the mercy of suppressing the dread. <<set $pain to 0>> <br><br> The purple mist swirls into a vortex, growing larger and larger as the figures raise their hands in triumph. Writhing purple tendrils slowly emerge from the vortex, grabbing the nothingness and physically pulling itself into the world. You lose count of how many there are. The air itself crackles at its presence. With the sound of thunder, it stops. <br><br> <<unbind>> The leading <<monk>> orders for the sacrifice to be offered. Your leg bindings are removed. It sees you. Tendrils shoot down from above. Several tentacles worm their way around your legs and into your clothes. They slither into your gold chastity belt, and start to pull away at it. They cause you immense pain as they struggle against the shining metal. You hear sizzling, and it seems to be harming them, too. <<pain 6>><<gpain>> <br><br> With one final pull, the metal fractures and splinters, sending shards of gold clattering to the ground as your belt yields and shatters in a bright flash of light. The figures resume chanting, and your clothing meets a similar fate. <<set $worn.genitals.type.push("broken")>><<genitalsruined>><<upperruined>><<lowerruined>><<underupperruined>> <br><br> You finish your prayer, and clutch your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <<link [[Next|Schism Awakening]]>><<endevent>><<set $molestationstart to 1>><</link>> <br><<set _thermoDisable to true>> <<if $molestationstart is 1>> <<canvas-model-override "clear">> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<controlloss>> <<molested>> <<tentaclestart 18 15>> <<set $timer to 20>> <</if>> Purple mist swirls in the chamber. <<hallucinogen 10>><<ghallucinogens>> <br> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2) or $timer lte 0>> <span id="next"><<link [[Next|Schism Awake]]>><</link>></span><<nexttext>> <<elseif $pain gte 100 and $willpowerpain is 0 or $stress gte $stressmax or $trauma gte $traumamax>> <span id="next"><<link [[Next|Schism Failure]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Schism Awakening]]>><</link>></span><<nexttext>> <</if>><<set _thermoDisable to true>><<effects>> <<if $timer lte 0>> The tentacles continue to have their way with you, as you lie helpless. <<else>> You push one final tentacle away, and the rest pause. <</if>> The swirling mass above begins to widen. The creature, empowered by your body, continues to pull itself into the world. Your ears start to ring, and you see flakes in your vision. Something was taken from you. <br><br> You think you see it open its eyes. You think they were already open, watching you. You can't think anymore. The heretics pull you from the plinth and onto the cold floor. They force you back against it, binding your legs and waist to it in a kneeling position. Your hands still hold your necklace. You refuse to stop clutching it, so your arms are bound forwards. <<legbind>> <br><br> More tendrils descend towards you. <br><br> <<link [[Pray|Schism Battle]]>><<clotheson>><<endcombat>><</link>> <br><<set _thermoDisable to true>><<effects>> <<canvas-model-override "arm_right" "hold">> A bright flash lights up the room, and the tentacles heading for you are sliced through by a solid mass of light. They vanish in the mist. <br><br> The black-robed figures begin shouting in panic, their gaze drawn to the large doorway. It takes all of your effort, but you manage to lift your head to look. A brilliant golden light floods in. A pair of large arms grab the doorway. Then another. And another. <br><br> A large shrouded head with luminous hair looks in, with closed eyes. Behind it, a mass of wings follows. Two of the arms clutch a gigantic spear. It pulls itself through the doorway, and moves its head to look up at the creature. <br><br> For a moment, you think your prayers have been answered; an angel has come to deliver you from evil. Then, you remember the ritual. It must have been finished after all. <br><br> You manage a weak smile. You've more than likely gone mad, and are seeing things. You realise this, but you decide to let the delusion take you. It's less painful than the alternative. <br><br> At least the heretics see something equally as terrifying, based on their panic. You allow yourself to enjoy their despair. <br><br> <<link [[Watch|Schism Battle 2]]>><</link>> <br><<set _thermoDisable to true>><<effects>> The angelic figure has fully pulled itself through. It must be four men tall, if not more. You count six arms, but can't count the wings. Its body is naked and largely featureless, but you think you see many open eyes on its legs. Each time one looks at a black-robed figure, they collapse. <br><br> You whisper a prayer. You hear an answer. <br><br> Purple tendrils lash out at the angel. Most are cut away by the spear, moving faster than you can track. A few make it through and pierce it. It falls to a knee, but quickly retaliates. It beats its wings, soaring upwards into the gaping expanse above. <br><br> Your vision gets blurry. You want to believe that what you're seeing is real. You've been taught all your life that belief is power, after all. <br><br> The heretics begin to regain consciousness, and start to say something about sinking. Panic sets in. <br><br> The battle above becomes a spectacle of flashing golden and purple lights. Parts of the foundation are ripped away, and float upwards. Severed purple tendrils scatter and dissipate, while flawless white feathers fall like snow. One lands on your chest, spreading an alien chill. You clutch it with your necklace. <br><br> The room begins to shake and rumble. You hear a sound not unlike a waterfall building up. <br><br> The heretics all flee the room, leaving you bound to the plinth. <br><br> <<link [[Next|Schism Battle 3]]>><</link>> <br><<set _thermoDisable to true>><<effects>> <<canvas-model-override "clear">> The angel comes hurtling down. It narrowly avoids crushing you. The ground cracks, and water begins rising from it. <br><br> It braces its spear, and aims it upwards. It says something that makes your head feel full, and gestures strangely with its four free hands before taking off again. It hits its mark, and disappears into the purple vortex, pushing the creature with it. The portal closes behind it with a crackle. <br><br> A jet of water erupts from in between stone bricks. You struggle against your bindings, but it's no use. Your heart races as the water rises. <br><br> <<link [[Struggle|Schism Struggle]]>><</link>> <br><<set _thermoDisable to true>><<effects>> <<if !$schismStruggle>> <<set $schismStruggle to 0>> <</if>> <<switch $schismStruggle>> <<case 0>> You struggle against your bindings. <br><br> <span class="red">The water rises to your knees.</span> <<case 1>> You struggle against your bindings. <br><br> <span class="red">The water rises to your groin.</span> <<case 2>> You struggle against your bindings, and weakly scream for help. <br><br> <span class="red">The water rises to your tummy.</span> <<case 3>> <<silently>><<water>><</silently>> <<set $hairtype to "ruffled">><<set $fringetype to "sideswept braid">> You desperately struggle, choking back sobs. <br><br> <span class="red">The water rises to your chest.</span> <<case 4>> <<silently>><<water>><</silently>><<canvas-model-override "arm_right" "hold">> You clutch your necklace. <<stress -6>><<trauma -6>><<lstress>><<ltrauma>> <br><br> <span class="red">The water rises to your neck.</span> <</switch>> <br><br> <<if $schismStruggle lt 4>> <<link [[Struggle!|Schism Struggle]]>><<stress 24>><</link>><<gggstress>> <br> <</if>> <<set $schismStruggle ++>> <<link [[Close your eyes|Schism Drown]]>><</link>> <br><<set _thermoDisable to true>><<effects>> <<silently>><<wash>><</silently>> <<set $hairtype to "ruffled">><<set $fringetype to "sideswept braid">><<canvas-model-override "arm_right" "hold">> <<if $schismStruggle gte 2>> Your struggling is senseless. <</if>> <<unset $schismStruggle>> You close your eyes. Your heart rate slows. You can hear it pounding in your ears, but it slowly grows quiet. <br><br> You breathe deeply. You focus on the sound of the water. You let it lull you into a trance. <br><br> You say one last prayer. <br><br> The water reaches your chin. <br><br> You let out one last breath. <br><br> You hold your necklace. <br><br> One last time. <br><br> <<link [[Sleep|Schism Drowned]]>><<set $wraithSkin to 1>><</link>> <br><<silently>><<dry>><</silently>><<set _thermoDisable to true>><<effects>><<set $location to "lake_ruin">><<set $possessed to true>><<canvas-model-override "clear">><<set $wraith.state to "active">><<canvas-model-override "blink" false>> <<neckruined>><<upperruined>><<lowerruined>><<underupperruined>><<headruined>><<unbind>><<set $arousal to 0>> <<upperwear 156>><<handswear 12>><<legswear 35>><<set $worn.upper.integrity to 10>><<set $worn.lower.integrity to 10>> <<set Weather.set("clear", true)>> <<if $trauma lte ($traumamax / 5) and $stress lte $stressmax / 5>> <<set $pain to 0>> <<else>> <<set $pain to 5>> <</if>> <<set Time.setTime(11, 0)>> <<set $moonstate to 0>> You open your eyes. <br><br> You're underwater. You can't breathe, but it's okay. You don't feel like you need to anymore. <br><br> You can see everything. You can see through the walls, and all around you. There's a silent beauty to the submerged place. <br><br> You hold your... <br><br> ... <br><br> Where is it? <br><br> You drift through the empty ruin. You can feel it pulling you. You see it. It's still on the plinth. <br><br> <<link [[Enter|Schism Necklace]]>><</link>> <br><<set _thermoDisable to true>><<effects>> You can't. You can't enter. The room is only walls, and no doors. But that's okay. You only need to see it. <br><br> You place your palm against the wall. You feel it around your neck. You hold your necklace. <br><br> It's all you need. But no one else can be down here. This is yours. No one can take it. <br><br> <<link [[Watch|Schism Ghost]]>><</link>> <br><<set _thermoDisable to true>><<effects>> <<set Time.setDate(new DateTime(Time.year, 10, 24, 21, 3))>> <<canvas-model-override "mouth" "smile">><<canvas-model-override "arm_right" "hold">> <<neckwear 23>> You watch the moon. You watch the things around you crumble, while you stay eternally beautiful. As long as you have it. <br><br> You watch people you think you knew in life rebuild. They make a beautiful chapel, and practise their faith. They don't remember you, but that's okay. As long as you have it. <br><br> You watch time pass. You watch the seasons change. You watch the people of the fledgeling town nearby use your lake to swim. That's okay. As long as they stay up there. <br><br> Sometimes, you try to appear to them. Sometimes, you play with them. It's okay. As long as they don't come down here. <br><br> You watch. <br><br> You laugh. <br><br> You cry. <br><br> You hold your necklace. <br><br> <<link [[Hold|Schism Wraith]]>><</link>> <br><<set _thermoDisable to true>><<effects>><<canvas-model-override "mouth" "neutral">> Someone's coming down. <<if $necklaceThief is "player">> <<set _isPGenderM to $frozenValues.player.sex is "m">> A <<if _isPGenderM>>boy<<else>>girl<</if>> with <<set _hcolour to $frozenValues.haircolour>> <<if $frozenValues.hairColourStyle is "gradient">> two-toned <<elseif _hcolour in setup.colours.hair_map>> <<print setup.colours.hair_map[_hcolour].name>> <<else>> _hcolour <</if>> hair and <<print ($frozenValues.leftEyeColour is $frozenValues.rightEyeColour ? $frozenValues.leftEyeColour : "mismatched")>> <<if $frozenValues.angel gte 4>> eyes, and a ring of light proudly circling <<if _isPGenderM>>his<<else>>her<</if>> head. <<elseif $frozenValues.fallenangel gte 2>> eyes, and a shattered ring of light circling <<if _isPGenderM>>his<<else>>her<</if>> head. <<elseif $frozenValues.demon gte 2>> eyes, and two baleful horns protruding from <<if _isPGenderM>>his<<else>>her<</if>> head. <<else>> eyes. <</if>> You try to stop <<if _isPGenderM>>him<<else>>her<</if>>. You can't. <br><br> You yell. You scream. You cry. <br><br> <<if _isPGenderM>>He<<else>>She<</if>> enters the plinth room. You can't follow. You wail. You claw at the walls. You churn the waves. <br><br> <<if _isPGenderM>>He<<else>>She<</if>> takes it. It disappears from around your neck. <<else>> A smooth, featureless mass in the shape of a person, with a harsh metal weight strapped to its back and face. It seeks to pilfer. You try to stop it. You can't. <br><br> You yell. You scream. You cry. <br><br> It enters the plinth room. You can't follow. You wail. You claw at the walls. You churn the waves. <br><br> It takes the necklace. It disappears from around your neck. <</if>> <br><br> <<link [[Hate.|Schism Wraith 2]]>><</link>> <br><<set _thermoDisable to true>><<effects>><<set $moonstate to "evening">><<set $wraith.state to "haunt">> <<canvas-model-override "mouth" "cry">><<canvas-model-override "arm_right" "hold">><<canvas-model-override "scars" true>> <<set Time.setDate(new DateTime(Time.year, Time.month, 31, 22, 56))>> <<set Weather.set("heavyPrecipitation", true)>> <<neckruined>><<set $pain to 80>> You cry. <br><br> You scream. <br><br> You float endlessly, clawing at your bare neck, sobbing, sulking, longing. <br><br> <<if $necklaceThief is "player">> <<set _isPGenderM to $frozenValues.player.sex is "m">> You hate <<if _isPGenderM>>him<<else>>her<</if>>. <<if _isPGenderM>>He<<else>>She<</if>> took the last thing you have. <br><br> But that's okay. <br><br> As long as you take everything from <<if _isPGenderM>>him<<else>>her<</if>>. <<else>> You hate them all. They took the last thing you have. <br><br> But that's okay. <br><br> As long as you take everything from them. <</if>> <br><br> <<link [[Wake up|Schism End]]>><<unset $wraithSkin>><</link>> <br><<schismEnd>><<effects>> <<earnFeat "Schism">> <<set $pain to 30>> You gasp for air, and snap to an upright position. You immediately turn your head and start retching, coughing up water. <br><br> You feel sick, dizzy and confused. That might have been the most intense nightmare you've ever had. You look around, but the pale figure seems to be gone. You look for a way out. <br><br> Your vision is blurry. You wipe the tears from your eyes, but you don't remember when you started crying, or why. <span class="blue"><i>You're safe until the next blood moon.</i></span> <<if $wraithPrison>> <<set $wraithPrison.state to "gone">> <<if !$wraithPrison.vision>> <<set $wraithPrison.vision to true>><<lobsession 5>> <</if>> <</if>> <<endWraith>> <<clearWraith>> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <br><<schismEnd>><<effects>> <span class="red">Your mind can't handle the vision any longer. Everything fades away.</span> <br><br> You gasp for air, and find yourself back in the underwater prison. You look around frantically, but the pale figure is nowhere to be seen. <br><br> The feeling of dread rapidly fades. <span class="blue"><i>You're safe until the next blood moon.</i></span> <<endcombat>> <<clotheson>> <<if $wraithPrison>> <<set $wraithPrison.state to "gone">> <</if>> <<unset _wraithEvent>> <<endWraith>> <<clearWraith>> <<if $wraithPrison and !$wraithPrison.vision>> <span class="blue">You wonder what would have happened next, had you not woken up.</span> <br><br> <</if>> <<link [[Next|Lake Ruin Prison]]>><</link>> <br><<widget "schismStart">> /*Store player stats*/ <<if !$frozenValues>> <<freezePlayerStats>> <</if>> /*morph player into Clánha*/ <<visionPrepMorph>> <<set $condomLvl to 0>> <<unset $condoms>> <<set $player.gender to C.npc["Ivory Wraith"].gender>> <<set $player.sex to C.npc["Ivory Wraith"].gender>> <<set $player.breastsize to C.npc["Ivory Wraith"].breastsize>> <<if $player.sex is "f">> <<set $vaginastate to 0>> <<set $vaginause to 0>> <<set $penisstate to "none">> <<set $penisuse to "none">> <<set $player.vaginaExist to true>> <<set $player.penisExist to false>> <<set $player.ballsExist to false>> <<elseif $player.sex is "m">> <<set $penisstate to 0>> <<set $penisuse to 0>> <<set $vaginastate to "none">> <<set $vaginause to "none">> <<set $player.vaginaExist to false>> <<set $player.penisExist to true>> <<set $player.ballsExist to true>> <<else>> <<set $vaginastate to 0>> <<set $vaginause to 0>> <<set $penisstate to 0>> <<set $penisuse to 0>> <<set $player.vaginaExist to true>> <<set $player.penisExist to true>> <<set $player.ballsExist to false>> <</if>> <<if $player.penisExist is true>> <<set $player.penissize to C.npc["Ivory Wraith"].penissize>> <<set $semen_volume to 300>> <<set $semen_amount to 300>> <</if>> <<set $player.virginity.temple to true>> <<set $sexStats.vagina.pregnancy.totalBirthEvents to 0>> <<set $vaginaWetness to 0>> <<set $penisWetness to 0>> <<set $anusWetness to 0>> <<set $haircolour to "white">> <<set $hairColourStyle to "simple">> <<set $hairfringecolour to "white">> <<set $hairFringeColourStyle to "simple">> <<set $hairlength to 800>> <<set $hairlengthstage to "thighs">> <<set $hairtype to "defined curl">> <<set $fringelength to 200>> <<set $fringelengthstage to "shoulder">> <<set $fringetype to "loose">> <<set $rightEyeColour to "dark blue">> <<set $leftEyeColour to "dark blue">> <<set $naturalhaircolour = "white">> <<set $makeup.lipstick = 0>> <<set $makeup.eyeshadow = 0>> <<set $makeup.eyelenses = {"left":0, "right":0}>> <<set $makeup.blusher = 0>> <<set $makeup.mascara = 0>> <<set $makeup.mascara_running = 0>> <<set $makeup.pbcolour = 0>> <<set $makeup.browscolour = 0>> <<set $makeup.concealer = 0>> <<set $pbgrowth to 0>> <<set $pblevel to 0>> <<set $pain to 10>> <<set $tiredness to 1500>> <<set $stress to 500>> <<set $trauma to 200>> <<set $submissive to 1000>> <<set $awareness to 100>> <<set $awarelevel to 1>> <<set $spraymax to 0>> <<set $angel to 3>> <<set $angelbuild to 100>> <<set $purity to 1000>> <<set $beauty to 10000>> <<set $drugged to 0>> <<set $hallucinogen to 0>> <<set $promiscuity to 0>> <<set $exhibitionism to 0>> <<set $deviancy to 0>> <<set $tending to 800>> <<set $loveInterest to { primary: "None", secondary: "None", tertiary: "None" }>> /*change location and time*/ <<set $moonstate to 0>> <<set Time.setDate(new DateTime(361, 1, 28, 5, 16))>> <<set $location to "old_temple">> /*give player clothes*/ <<feetwear 3>> <<upperwear 32>> <<underupperwear 17>> <<handswear 7>> <<legswear 10>> <<genitalswear 3>> <<headwear 64>> <<generalRuined "under_lower">> <<generalRuined "face">> <<generalRuined "handheld">> <<neckwear 23>> <</widget>> <<widget "schismEnd">> <<if !$frozenValues>> <<exit>> <</if>> <<if !$replayScene>> <<unfreezePlayerStats>> <<endcombat>> /* legacy support for old saves updated in the event mid combat */ <<passTimeUntil 6>> <<else>> /* Restore the players looks in the sidebar during the sciene viewer */ <<set $player to clone($frozenValues.player)>> <<set $worn to clone($frozenValues.worn)>> <<set $fringetype to clone($frozenValues.fringetype)>> <<set $fringelength to clone($frozenValues.fringelength)>> <<set $fringelengthstage to clone($frozenValues.fringelengthstage)>> <<set $hairtype to clone($frozenValues.hairtype)>> <<set $hairlength to clone($frozenValues.hairlength)>> <<set $hairlengthstage to clone($frozenValues.hairlengthstage)>> <<set $haircolour to clone($frozenValues.haircolour)>> <<set $hairColourGradient to clone($frozenValues.hairColourGradient)>> <<set $hairfringecolour to clone($frozenValues.hairfringecolour)>> <<set $hairFringeColourGradient to clone($frozenValues.hairFringeColourGradient)>> <<set $skin to clone($frozenValues.skin)>> <<set $parasite to clone($frozenValues.parasite)>> <</if>> <<canvas-model-override "clear">> <<set $wraith.init to 1>> <</widget>><<effects>> You shamble over to your mirror. A pale <<girl>> with <<wraithEyes>> eyes stares back. <br><br> <<link [[Step away (0:01)|Wraith Snatched Home Mirror 2]]>><<pass 1>><</link>> <br> <span class="nextLink"><<link [[Stare (0:01)|Wraith Snatched Home Mirror 2]]>><<pass 1>><</link>></span> <br><<effects>> You move each finger individually, as if to test them. <br><br> You place your hand against the mirror. <<if Time.hour is 3 and $hallucinations gte 2 and $daily.mirrorTentacles isnot 1 and $tentacledisable is "f">> The surface flashes a terrible red. You see an open space on the other side, but it quickly dissolves away. <<else>> You can't feel the surface. <</if>> <br><br> Your head quickly tilts to the side, making sickening cracks. Your hands open and clench. <br><br> <<set $wraithWillMessage to true>> <i><span class="red">Fully restore your </span><span class="green">control</span><span class="red"> to take back your body.</span></i> <br><br> <span class="nextLink"><<link [[Step away (0:01)|Bedroom]]>><<pass 1>><<set $phase2 to 1>><</link>></span> <br><<pass 10>><<effects>><<getTarget>> You steady yourself against the wall, and push yourself to the window. <br><br> <<if Time.hour gte 6 and $moonstate is "morning">> The sun has started to come up. You stare at the horizon for some time. You can feel your mind begin to focus. You try to move your arm. <span class="green">It twitches.</span> <br><br> You sigh, and look at yourself in the reflection of the glass. You don't look so pale anymore. You giggle. <br><br> "<span class="nextLink">See you soon,</span>" the reflection says. <<trauma 50>><<gggtrauma>> <br><br> You shamble back to your bed, and crawl in. You slowly feel yourself slipping back into place, able to feel your skin, your hands, your legs, yourself again. <<control 50>><<ggcontrol>> <br><br> <span class="blue"><i>You're safe until the next blood moon.</i></span> <br><br> <<endWraith>> <<clearWraith>> <<link [[Separate|Sleep]]>><<set $sleephour to 1>><<unset $possessed>><<canvas-model-override "clear">><</link>><<ltiredness>> <br> <<else>> <<set $nextPassage to "Wraith Snatched Home Leave">> <<set $nextPassageCheck to "Wraith Snatched Home Leave">> The red moon fills you with a horrible chill. Translucent pale limbs quietly open the window. You place your hands on the frame. <br><br> <span class="nextLink"><<link [[Go.|Wraith Snatched Home Leave]]>><</link>></span> <br> <<link [[Grip the frame|Bedroom]]>><</link>> <br> <</if>><<pass 10>><<effects>><<getTarget>><<rainWraith>> You push yourself out your window, into the night air. <br><br> The ground comes hurtling towards you. You never hit it. <br><br> Just before you do, you slow in mid-air and right yourself. The tips of your feet gently touch the ground without any disturbance or noise. You don't feel the <<print Weather.precipitation>> on your skin. <br><br> A long, translucent limb slithers up the side of the orphanage, and shuts your window. <br><br> <span class="nextLink"><<link [[Walk.|Domus Street]]>><<set $location to "town">><<set $wraith.exit to "town">><<set $bus to "domus">><<set $phase2 to 1>><<set $phaseWraith to 0>><</link>></span> <br><<effects>> You shamble over to the mirror. A pale <<girl>> with <<wraithEyes>> eyes stares back. <br><br> <<link [[Step away (0:01)|Wraith Snatched Cabin Mirror 2]]>><<pass 1>><</link>> <br> <span class="nextLink"><<link [[Stare (0:01)|Wraith Snatched Cabin Mirror 2]]>><<pass 1>><</link>></span> <br><<effects>> You move each finger individually, as if to test them. <br><br> You place your hand against the mirror. You can't feel the surface. <br><br> Your head quickly tilts to the side, making sickening cracks. Your hands open and clench. <br><br> <<set $wraithWillMessage to true>> <i><span class="red">Fully restore your </span><span class="green">control</span><span class="red"> to take back your body.</span></i> <br><br> <span class="nextLink"><<link [[Step away (0:01)|Cabin Actions]]>><<pass 1>><<set $phase2 to 1>><</link>></span> <br><<effects>><<getTarget>><<rainWraith>> Your gaze passes over Eden one last time. You open the door, walk out into the <<print Weather.precipitation>>, and escape into the forest. <br><br> <span class="nextLink"><<link [[Walk.|Forest]]>><<endevent>><<set $location to "forest">><<set $wraith.exit to "forest">><<set $forest to 90>><<set $phase2 to 1>><<set $phaseWraith to 0>><</link>></span><<effects>> You approach the stream. You reach a hand in, and the surface becomes completely still. <br><br> You look at your reflection. A pale <<girl>> with <<wraithEyes>> eyes stares back. <br><br> <<link [[Step away (0:01)|Wraith Snatched Cave Reflection 2]]>><<pass 1>><</link>> <br> <span class="nextLink"><<link [[Stare (0:01)|Wraith Snatched Cave Reflection 2]]>><<pass 1>><</link>></span> <br><<effects>> You move each finger individually, as if to test them. <br><br> Your head quickly tilts to the side, making sickening cracks. Your hands open and clench. The <<wolf_cave_plural>> begin barking and howling at you, their tails frayed. <br><br> <<set $wraithWillMessage to true>> <i><span class="red">Fully restore your </span><span class="green">control</span><span class="red"> to take back your body.</span></i> <br><br> <span class="nextLink"><<link [[Step away (0:01)|Wolf Cave Clearing]]>><<pass 1>><<set $phase2 to 1>><</link>></span> <br><<pass 10>><<effects>><<getTarget>> You point. You see a translucent limb strike a <<beastNEWinit 1 wolf>><<beasttype>>, who yelps and staggers away. <<endevent>> <br><br> The rest of them back away. You walk out into the forest, but can tell some of them are trying to follow you. <br><br> <span class="nextLink"><<link [[Walk.|Forest]]>><<set $location to "forest">><<set $wraith.exit to "forest">><<set $forest to 90>><<set $phase2 to 1>><<set $phaseWraith to 0>><</link>></span><<effects>><<endevent>> You shamble over to the mirror. A pale <<girl>> with <<wraithEyes>> eyes stares back. <br><br> <<link [[Step away (0:01)|Wraith Snatched Far Mirror 2]]>><<pass 1>><</link>> <br> <span class="nextLink"><<link [[Stare (0:01)|Wraith Snatched Far Mirror 2]]>><<pass 1>><</link>></span> <br><<effects>> You move each finger individually, as if to test them. <br><br> You place your hand against the mirror. It passes right through. The surface flashes a terrible red. <br><br> Your head quickly tilts to the side, making sickening cracks. Your free hand opens and clenches. <br><br> <span class="nextLink"><<link [[Step inside (0:01)|Wraith Snatched Far Mirror 3]]>><<pass 1>><</link>></span> <br><<effects>><<set $location to "tentworld">><<set $outside to 0>> You put your foot forward. It passes through the mirror. You place your other hand in. <br><br> You fall forwards, and everything goes a brilliant purple. You see writhing masses blotting out the sky, and an endless expanse of tendrils. It doesn't last. <br><br> You pass through a swirling purple disc, and emerge in a thicket. It looks like the forest just outside town. You look behind you, and see the Asylum. <br><br> Your head swiftly turns again, causing more cracks. You can't feel anything anymore. <br><br> <<set $wraithWillMessage to true>> <i><span class="red">Fully restore your </span><span class="green">control</span><span class="red"> to take back your body.</span></i> <br><br> <span class="nextLink"><<link [[Walk.|Forest]]>><<set $location to "forest">><<set $wraith.exit to "forest">><<set $forest to 90>><<set $phase2 to 1>><<set $phaseWraith to 0>><</link>></span> <br><<effects>> You shamble over to an empty bottle on the floor. You pick it up. Against the tinted glass, a pale <<girl>> with <<wraithEyes>> eyes stares back. <br><br> <<link [[Drop it (0:01)|Wraith Snatched Pirate Mirror 2]]>><<pass 1>><</link>> <br> <span class="nextLink"><<link [[Stare (0:01)|Wraith Snatched Pirate Mirror 2]]>><<pass 1>><</link>></span> <br><<effects>><<getTarget>><<rainWraith>> You move each finger individually, as if to test them. <br><br> You place your finger against the bottle. The surface flashes a terrible red, and you see a glimpse of an open space on the other side. You hold it up to you, as if judging the size. <br><br> You drop the bottle to your feet, shattering it. Your head quickly tilts to the side, making sickening cracks. Your hands open and clench. <br><br> <<set $wraithWillMessage to true>> <i><span class="red">Fully restore your </span><span class="green">control</span><span class="red"> to take back your body.</span></i> <br><br> <span class="nextLink"><<link [[Step away (0:01)|Pirate Bilge]]>><<pass 1>><<set $phase2 to 1>><</link>></span> <br><<effects>><<getTarget>> You grip the railing and look down. The waves, reflecting a red light, churn beneath you. <br><br> You stare at the water below. Slowly, the area directly below you begins to calm, until a perfect circle of still water floats amidst the waves, undisturbed even by the <<print Weather.precipitation>>. <br><br> You reach down toward the circle, and it flashes purple, the water beginning to swirl. You grip the railing, preparing to heft yourself over the side. <br><br> <span class="nextLink"><<link [[Dive (0:01)|Wraith Snatched Pirate Railing 2]]>><<pass 1>><</link>></span> <br><<effects>><<npc "Zephyr">><<person1>> "What you be doing out here?" a voice calls behind you. It's Captain Zephyr, blinking wearily. "Thought I heard a bottle break. It's awful late to be admiring the view, <<if $pirate_rank is 0>><<girl>><<else>><<lass>><</if>>. Especially on the night of the blood sea." <<outfitChecks>> <<if _fullyNaked>> <<He>> takes in your nudity. "Your rags better not be overboard." <</if>> <br><br> You turn to look at Zephyr, stepping away from the railing. The circle stills once more. Words spill from your mouth. <<if $spear_holder is "Zephyr">> "<span class="wraith">You found warmth and locked it in a cage.</span>" <<elseif $wraith.state is "despair">> "<span class="wraith">A thief, proud. Did you take it? No, no...</span>" <<else>> "<span class="wraith">A nuisance. You'll try to keep <<phim>>, won't you?</span>" <</if>> Your head tilts at an unnatural angle. <br><br> Zephyr frowns. On a whim, <<he>> takes <<his>> spyglass from <<his>> side and peers at you. <<He>> clicks <<his>> tongue. "Ah. That'd do it." With a silent glare, <<he>> strides toward you. <br><br> <span class="nextLink"><<link [[Fight.|Wraith Snatched Pirate Fight]]>><<set $fightstart to 1>><</link>></span><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust to -100>> <<set $enemyanger to 200>> <<npcidlegenitals>> <<set $noAdmire to true>><<set $noBodyWriting to true>> Your body is made to laugh. "<span class="wraith">Maybe this time you'll finally drown.</span>" <br><br> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or _controlRegain is 1>> <span id="next" class="nextWraith"><<link [[Next.|Wraith Snatched Pirate Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next" class="nextWraith"><<link [[Next.|Wraith Snatched Pirate Fight]]>><</link>></span><<nexttext>> <</if>><<effects>><<getTarget true>> <<if $control gte $controlmax>> <<wraithExorcise true true>><<clearWraith>><<endWraith>> <span class="gold">You stop.</span> You can feel it pushing you to keep going, to keep fighting, but you dig your heels in and focus. You have your body back, and you don't plan on giving it up. <br><br> You double over in agony. It's pulling itself out of you, knowing it's been bested. You see a pair of pale, translucent arms erupt from your chest. With a great amount of effort, it expels itself out of you. <br><br> Its head snaps back, and it dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you hear its voice all around you. "<span class="wraith">It's a great misfortune, learning to swim.</span>" Below you, the circle of still water returns to crashing waves. <br><br> <<npc "Zephyr">><<person1>> <<if Weather.precipitation isnot "none">> Zephyr scowls as the figure disappears. <<else>> Zephyr scowls as the <<print Weather.precipitation>> begins to clear up. <</if>> "And stay gone, dredgie." <<He>> looks you over. "I don't know what ye did to earn that thing's ire. You'd best keep its business out of me ship." <<He>> slaps you in the face twice, shocking you out of your stupor, before trudging back to <<his>> cabin. <<pain 2>><<gpain>> <br><br> <<tearful>> you gather yourself. <br><br> <<endcombat>> <<link [[Next|Pirate Deck]]>><<clotheson>><<set $eventskip to 1>><</link>> <<else>> <<set $zephyr_seen to "wraith">> <<if $enemyarousal gte $enemyarousalmax>><<ejaculation "short">><</if>> Zephyr is shoved away from you, falling over <<himself>>. <<He>> slowly stands <<himself>> up, a grim look on <<his>> face. <br><br> You turn away from <<him>>, gripping the railing and lifting yourself up. Below you, the circle of undisturbed water ripples, becoming an angry purple whirlpool. You look over your shoulder at <<him>>. "<span class="wraith">Someday, captain mine, the waves will chew you too.</span>" <br><br> "No!" <<he>> bellows, already back on <<his>> feet. <<He>> charges at you, stretching out <<his>> arm. <<Hes>> too late. You slip off the railing and through the whirlpool. Everything goes a brilliant purple. You see writhing masses blotting out the sky, and an endless expanse of tendrils. It doesn't last. <br><br> You pass through a swirling purple disc, and emerge in a thicket. It looks like the forest just outside town. You look behind you, and see the Asylum. <br><br> Your head swiftly turns again, causing more cracks. You can't feel anything anymore. <br><br> <<endcombat>> <span class="nextLink"><<link [[Walk.|Forest]]>><<clotheson>><<set $location to "forest">><<set $wraith.exit to "forest">><<set $forest to 90>><<set $phase2 to 1>><<set $phaseWraith to 0>><</link>></span> <</if>><<pass 10>><<effects>><<getTarget>> <<set $nextPassage to "Wraith Snatched Guest 2">> <<if $location is "home">> <<if $robinbed is "yours" or $robinbed is "theirs">> <<set _bedGuest to "Robin">> <<else>> <<set _bedGuest to "Kylar">> <</if>> <<elseif $location is "cabin">> <<set _bedGuest to "Eden">> <</if>> You quietly approach the bed. You stare at _bedGuest, unmoving. <br><br> You remain purely focused on <<nnpc_him _bedGuest>>. You raise an arm, and begin to reach for <<nnpc_him _bedGuest>>. <br><br> <<link [[Try to scream|Bedroom]]>><</link>> <br> <<if C.npc["Ivory Wraith"].lust gte random(12, 16) or !$wraithIntro>> <span class="nextLink"><<link [[Take.|Wraith Snatched Guest 2]]>><</link>></span> <<else>> <<set $wraithBedSpeech to true>> <span class="nextLink"><<link [[Touch.|Wraith Snatched Guest 2]]>><</link>></span> <</if>> <br><<pass 5>><<effects>><<getTarget>><<set $phase2 to 1>> <<if $willpowerSuccess>> <span class="green">You manage to force a short exhale.</span> <br><br> <</if>> <<if $location is "home">> <<if $robinbed is "yours" or $robinbed is "theirs">> <<set _bedGuest to "Robin">> <<else>> <<set _bedGuest to "Kylar">> <</if>> <<elseif $location is "cabin">> <<set _bedGuest to "Eden">> <</if>> You place your hand on <<nnpc_his _bedGuest>> cheek. You can't feel it. You stroke it gently. <br><br> <<if $wraithBedSpeech>> <<silently>><<speechWraith _bedGuest>><</silently>> You speak in a voice that makes no sound. "<span class="wraith">_line1<<if $rng lte 10>> _line2<</if>></span>" <br><br> You slowly turn away. <<else>> <<if $tentacledisable is "f" and random(0, 1)>> You hear a faint slithering. The blankets move. You see pale tendrils creep into your vision as they begin to worm their way up the bed, and over <<nnpc_him _bedGuest>>. <br><br> <<nnpc_He _bedGuest>> stirs slightly, and all the tendrils snap away, vanishing out of sight without a sound. <<else>> Another hand softly touches <<nnpc_him _bedGuest>>. Then another, on <<nnpc_his _bedGuest>> chest. Another one begins tracing down <<nnpc_his _bedGuest>> stomach. <br><br> <<nnpc_He _bedGuest>> stirs slightly, and all the arms snap away, vanishing out of sight without a sound. <</if>> <br><br> <<nnpc_He _bedGuest>> stills. You can't feel yourself breathing. <</if>> <br><br> <<switch $wraith.exit>> <<case "home">> <span class="nextLink"><<link [[Step away|Bedroom]]>><</link>></span> <<case "cabin">> <span class="nextLink"><<link [[Step away|Cabin Actions]]>><</link>></span> <</switch>> <br><<control 20>><<effects>><<getTarget>> You clumsily walk over to the <<print $container[$location].name.toLowerCase()>>. <<set $outside to 0>> <<set _container to $container[$location]>> <<set $checkboxResult to {}>><<set _paleCount to 0>> <<for _i to 0; _i lt Object.keys(_container.creatures).length; _i++>> <<if _container.creatures[_i] isnot null and _container.creatures[_i].creature.includes("Pale")>> <<set _paleCount ++>> <</if>> <</for>> You feverishly check on your pale child<<if _paleCount isnot 1>>ren<</if>>, taking <<if _paleCount isnot 1>>them<<else>>it<</if>> out and holding <<if _paleCount isnot 1>>them<<else>>it<</if>>. <br> <<creatureVisit>> <br><br> You hold <<if _paleCount isnot 1>>them<<else>>it<</if>> close to you. You feel a strange warmth growing within, and your vision starts to get blurry. <br><br> You're crying. <<set $pain to 100>><<set $phase2 to 2>> <br><br> You don't know how long you sit there. You hardly feel anything. Your face remains locked in cold unexpression. <<set _palePass to (45 + (15 * _paleCount))>><<pass _palePass>><<ggcontrol>> <br><br> Eventually, your gaze turns to <<if $wraith.exit is "home" and ($robinbed is "yours" or $robinbed is "theirs" or $kylarbed is 1)>><<if $robinbed is "yours" or $robinbed is "theirs">>Robin.<<else>>Kylar.<</if>><<else>>the lake.<</if>> <br><br> <<switch $wraith.exit>> <<case "home">> <<set $nextPassage to "Bedroom">> <<set $nextPassageCheck to "Bedroom">> <span class="nextLink"><<link [[Step away|Bedroom]]>><</link>></span> <br> <<link [[Try to stay still|Containers]]>><</link>> <<case "lake">> <<set $nextPassage to "Lake Waterfall">> <<set $nextPassageCheck to "Lake Waterfall">> <span class="nextLink"><<link [[The lake.|Lake Waterfall]]>><</link>></span> <br> <<link [[Try to stay still|Containers]]>><</link>> <<case "alex_farm">> <<set $nextPassage to "Bedroom">> <span class="nextLink"><<link [[Step away|Bedroom]]>><</link>></span> <br> <<link [[Try to stay still|Containers]]>><</link>> <</switch>> <br><<effects>> <<set $wraithWillMessage to true>> <<if $location is "park">> You shamble over to the fountain, <<elseif $location is "forest" or $location is "moor">> You shamble over to a <<if Weather.isSnow>>frozen <</if>>pool of water, <<elseif $bus is "lakeshore">> You shamble over to the edge of the lake, <<elseif $bus is "lakewaterfall">> You shamble over to the <<if Weather.isSnow>>frozen <</if>>pond, <<elseif $location is "lake_ruin">> You float over to a reflective part of the wall, <<elseif $location is "drain">> You peek over the edge of the walkway, <<elseif $location is "sewers">> You shamble over to a nearby shard of broken glass, <<elseif $outside is 1>> You shamble over to a puddle, <<else>> You shamble over to a window, <</if>> and look at your reflection. A pale <<girl>> with <<wraithEyes>> eyes stares back. <br><br> You move each finger individually, as if to test them. <br><br> Your head quickly tilts to the side, making sickening cracks. Your hands open and clench. <br><br> <i><span class="red">Fully restore your</span> <span class="green">control</span> <span class="red">to take back your body.</span></i> <br><br> <span class="nextLink"><<exitWraith true>></span><<rainWraith>><<set $phase2 to 1>> <br><<effects>> <<if Time.hour gte 6 and $moonstate is "morning">> Your body begins to grow heavy as the first rays of sunlight crest over the horizon. You try to move your arm. <span class="green">It twitches.</span> <br><br> You fall to your knees, and your vision grows blurry. You see a set of pale, translucent arms emerging from your own. Your body goes stiff, and you start leaning backwards. <br><br> <<if $wraithIntro>> The pale figure exits your body, staring back at you <<if $wraith.state is "haunt">> scornfully as it scratches at its scarred neck. <br><br> "<span class="wraith">You belong to me, thief.</span>" <<elseif $wraith.state is "despair">> mournfully as it scratches at its scarred, bare neck. <br><br> "<span class="wraith">Please... help me find it...</span>" <<else>> playfully as it thumbs a necklace made of ivory. <br><br> "<span class="wraith">You belong to me.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <<else>> A beautiful pale figure floats out of your body, towering over you. <<if $wraith.state is "haunt">> It angrily claws at its own neck as it stares you down. It places a hand under your chin. <br><br> "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" <<elseif $wraith.state is "despair">> It mournfully claws at its own scarred, bare neck as it stares you down. <br><br> "<span class="wraith">Have you seen my necklace? I...</span>" <<else>> It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. <br><br> "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <</if>> It vanishes in a torrent of water. You slowly regain feeling in your body, and try to stand. It takes a few tries, but eventually, you hoist yourself up. <br><br> <<tearful>> you try to make sense of what happened to you. <br><br> <<else>> <span class="gold">You stop.</span> <br><br> You can feel it pushing you to take another step. It clashes against you, pushing against your mind and body, trying to assert its dominance. You have a hold of it now, and you're not letting go. <br><br> You double over in agony. It's pulling itself out of you, knowing it's been bested. You see a pair of pale, translucent arms erupt from your chest. With a great amount of effort, it expels itself out of you. <br><br> <<if $wraithIntro>> The pale figure floats before you, staring at you <<if $wraith.state is "haunt">> scornfully as it scratches at its scarred neck. <br><br> "<span class="wraith">You belong to me. You will not hold against me forever, thief.</span>" <<elseif $wraith.state is "despair">> mournfully as it scratches at its scarred, bare neck. <br><br> "<span class="wraith">Please... help me find it...</span>" <<else>> playfully as it thumbs a necklace made of ivory. <br><br> "<span class="wraith">You belong to me. You will not hold against me forever.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <<else>> A beautiful pale figure floats before you. <<if $wraith.state is "haunt">> It angrily claws at its own neck as it stares you down. It places a hand under your chin. <br><br> "<span class="wraith">I will have you, graverobber. Soon.</span>" <<elseif $wraith.state is "despair">> It mournfully claws at its own scarred, bare neck as it stares you down. <br><br> "<span class="wraith">Have you seen my necklace? I...</span>" <<else>> It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. <br><br> "<span class="wraith">Your will is strong. I like you.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <</if>> A massive torrent of water shoots up from below, completely engulfing it. You can only see its <<wraithEyes>> eyes glowing through it. When it passes, the figure is gone. <<tearful>> you try to make sense of what you just went through. <br><br> <</if>> <<exposure>> <<clotheson>> <<exitWraith>> <<clearWraith>><<effects>> <<if Time.hour gte 6 and $moonstate is "morning">> Your body begins to grow heavy as the first rays of sunlight reach the depths. You try to move your arm. <span class="green">It twitches.</span> <br><br> You float aimlessly in the water, and your vision grows blurry. You see a set of pale, translucent arms emerging from your own. Your body goes stiff, and you start leaning backwards. <br><br> <<if $wraithIntro>> The pale figure exits your body, staring back at you <<if $wraith.state is "haunt">> scornfully as it scratches at its scarred neck. <br><br> "<span class="wraith">You belong to me, thief.</span>" <<elseif $wraith.state is "despair">> pleadingly as it scratches at its scarred neck. <br><br> "<span class="wraith">Where is it?</span>" <<else>> playfully as it thumbs a necklace made of ivory. <br><br> "<span class="wraith">You belong to me.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <<else>> A beautiful pale figure floats out of your body, towering over you. <<if $wraith.state is "haunt">> It angrily claws at its own neck as it stares you down. It places a hand under your chin. <br><br> "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" <<elseif $wraith.state is "despair">> It mournfully claws at its own scarred neck as it stares you down. <br><br> "<span class="wraith">Have you seen my necklace? I...</span>" <<else>> It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. <br><br> "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <</if>> It vanishes with a bright flash. You slowly regain feeling in your body, and try to swim. It takes some time, but you're able to move yourself again. <br><br> <<tearful>> you try to make sense of what happened to you. <<else>> <span class="gold">You stop.</span> <br><br> You can feel it pushing you to keep going. It clashes against you, pushing against your mind and body, trying to assert its dominance. You have a hold of it now, and you're not letting go. <br><br> You double over in agony. It's pulling itself out of you, knowing it's been bested. You see a pair of pale, translucent arms erupt from your chest. With a great amount of effort, it expels itself out of you. <br><br> <<if $wraithIntro>> The pale figure floats before you, staring at you <<if $wraith.state is "haunt">> scornfully as it scratches at its scarred neck. <br><br> "<span class="wraith">You belong to me. You will not hold against me forever, thief.</span>" <<elseif $wraith.state is "despair">> mournfully as it scratches at its scarred, bare neck. <br><br> "<span class="wraith">Please... help me find it...</span>" <<else>> playfully as it thumbs a necklace made of ivory. <br><br> "<span class="wraith">You belong to me. You will not hold against me forever.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <<else>> A beautiful pale figure floats before you. <<if $wraith.state is "haunt">> It angrily claws at its own neck as it stares you down. It places a hand under your chin. <br><br> "<span class="wraith">I will have you, graverobber. Soon.</span>" <<elseif $wraith.state is "despair">> It mournfully claws at its own scarred, bare neck as it stares you down. <br><br> "<span class="wraith">Have you seen my necklace? I...</span>" <<else>> It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. <br><br> "<span class="wraith">Your will is strong. I like you.</span>" <</if>> <<trauma 50>><<gggtrauma>> <br><br> <</if>> A bright flash of light blinds you. When it passes, the figure is gone. <<tearful>> you try to make sense of what you just went through. <br><br> <</if>> <<exposure>> <<clotheson>> <<exitWraith>> <<clearWraith>><<effects>> DEBUG PASSAGE. Should be unreachable. <br><br> <<link [[Fuck|Bedroom]]>><<endevent>><</link>><<effects>> DEBUG PASSAGE. Should be unreachable. <br><br> <<link [[Fuck|Bedroom]]>><<endevent>><</link>><<effects>><<getTarget>> You look down. You see your reflection in the ice. A pale <<girl>> with <<wraithEyes>> eyes still stares back. <br><br> You find yourself sinking through the ice, submerging without causing a break. <br><br> <span class="nextLink"><<link [[Down.|Lake Underwater]]>><<set $phase2 to 1>><</link>></span> <br><<widget "getTarget">> <<if $possessed>> <<set $eventskip to 1>> <<if _args[0]>> <<switch $passage>> <<case "Bedroom">> <<pass 1>> <<set $wraith.exit to "home">> <<if !$nextPassageCheck>> <<set $phaseWraith to 0>> <<set $nextPassageCheck to "Mirror">> <<set $nextPassage to "Wraith Snatched Home Mirror">> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound">> <<set $unbind to 1>> <</if>> <<else>> <<if $phaseWraith lt 1 and $container and $container.home and $container.home.count gte 1 and !$wraithPaleVisit>> <<for _i to 0; _i lt Object.keys($container.home.creatures).length; _i++>> <<if $container.home.creatures[_i] isnot null and $container.home.creatures[_i].creature.includes("Pale")>> <<set $wraithPaleVisit to "home">> <</if>> <</for>> <<set $phaseWraith to 1>> <</if>> <<if $phaseWraith lt 2 and $wraithPaleVisit and $wraithPaleVisit is "home">> <<set $nextPassageCheck to "Containers">> <<set $nextPassage to "Wraith Snatched Offspring">> <<set $phaseWraith to 2>> <<elseif $phaseWraith lt 3 and ($robinbed is "yours" or $robinbed is "theirs" or $kylarbed is 1)>> <<set $nextPassageCheck to "Bed">> <<set $nextPassage to "Wraith Snatched Guest">> <<set $phaseWraith to 3>> <<else>> <<set $nextPassageCheck to "Bedroom">> <<set $nextPassage to "Wraith Snatched Home Window">> <<set $phaseWraith to 4>> <</if>> <</if>> <<case "Eden Cabin">> <<pass 1>> <<set $wraith.exit to "cabin">> <<if !$nextPassageCheck>> <<set $nextPassageCheck to "Cabin Actions">> <<set $nextPassage to "Cabin Actions">> <<set $phaseWraith to 0>> <<else>> <<set $phaseWraith to 4>> <<set $nextPassageCheck to "Eden Clearing">> <<set $nextPassage to "Wraith Snatched Cabin Leave">> <</if>> <<case "Cabin Actions">> <<pass 1>> <<if $phaseWraith is 0>> <<set $phaseWraith to 1>> <<set $nextPassageCheck to "Eden Mirror">> <<set $nextPassage to "Wraith Snatched Cabin Mirror">> <<elseif $phaseWraith lt 2>> <<set $nextPassageCheck to "Eden Cabin Bed">> <<set $nextPassage to "Wraith Snatched Guest">> <<set $phaseWraith to 2>> <<elseif $phaseWraith lt 3>> <<set $nextPassageCheck to "Eden Cabin">> <<set $nextPassage to "Eden Cabin">> <<set $phaseWraith to 3>> <<endevent>> <<set $phase2 to 1>> <</if>> <<case "Wolf Cave">> <<pass 1>> <<if !$nextPassageCheck>> <<set $nextPassageCheck to "Wolf Cave Clearing">> <<set $nextPassage to "Wolf Cave Clearing">> <<set $phaseWraith to 0>> <</if>> <<case "Wolf Cave Clearing">> <<pass 5>> <<if $phaseWraith is 0>> <<set $nextPassageCheck to "Wolf Cave Wash">> <<set $nextPassage to "Wraith Snatched Cave Reflection">> <<set $phaseWraith to 1>> <<else>> <<set $nextPassageCheck to "Forest">> <<set $nextPassage to "Wraith Snatched Cave Leave">> <</if>> <<case "Bird Tower">> <<set $nextPassageCheck to "Bird Tower Mirror">> <<set $nextPassage to "Wraith Snatched Far Mirror">> <<case "Farm Alex Bedroom">> <<set $nextPassageCheck to "Farm Bedroom">> <<set $nextPassage to "Farm Bedroom">> <<case "Farm Bedroom">> <<set $nextPassageCheck to "Farm Mirror">> <<set $nextPassage to "Wraith Snatched Far Mirror">> <<case "Pirate Bilge">> <<if $phaseWraith is 0>> <<set $nextPassageCheck to "Wraith Snatched Pirate Mirror">> <<set $nextPassage to "Wraith Snatched Pirate Mirror">> <<set $phaseWraith to 1>> <<else>> <<set $nextPassageCheck to "Pirate Cabin">> <<set $nextPassage to "Pirate Cabin">> <</if>> <<case "Pirate Cabin">> <<set $nextPassageCheck to "Pirate Deck">> <<set $nextPassage to "Pirate Deck">> <<case "Pirate Deck">> <<set $nextPassageCheck to "Wraith Snatched Pirate Railing">> <<set $nextPassage to "Wraith Snatched Pirate Railing">> <<case "Domus Street" "Barb Street" "Danube Street" "Residential Drain">> <<pass 5>> <<set $nextPassageCheck to "Residential alleyways">> <<set $nextPassage to "Residential alleyways">> <<case "Residential alleyways">> <<pass 5>> <<set $nextPassageCheck to "Connudatus Street">> <<set $nextPassage to "Connudatus Street">> <<case "Connudatus Street" "Cliff Street" "Wolf Street" "Commercial Drain">> <<pass 5>> <<set $nextPassageCheck to "Commercial alleyways">> <<set $nextPassage to "Commercial alleyways">> <<case "Commercial alleyways">> <<pass 5>> <<set $nextPassageCheck to "High Street">> <<set $nextPassage to "High Street">> <<case "Drain Exit">> <<pass 5>> <<set $nextPassageCheck to "Industrial Drain">> <<set $nextPassage to "Industrial Drain">> <<case "Sewers Residential" "Sewers Commercial" "Sewers Industrial">> <<set $nextPassageCheck to "Sewers Possessed">> <<set $nextPassage to "Sewers Possessed">> <<case "Sewers Scrap" "Sewers Wood">> <<set $nextPassageCheck to "Sewers Residential">> <<set $nextPassage to "Sewers Residential">> <<case "Sewers Mud" "Sewers Ruins">> <<set $nextPassageCheck to "Sewers Commercial">> <<set $nextPassage to "Sewers Commercial">> <<case "Sewers Waterfall" "Sewers Algae" "Sewers Rubble">> <<set $nextPassageCheck to "Sewers Industrial">> <<set $nextPassage to "Sewers Industrial">> <<case "Sewers Lake">> <<set $nextPassageCheck to "Sewers Waterfall">> <<set $nextPassage to "Sewers Waterfall">> <<case "Sewers Webs">> <<set $nextPassageCheck to "Sewers Wood">> <<set $nextPassage to "Sewers Wood">> <<case "Sewers Shrooms">> <<set $nextPassageCheck to "Sewers Mud">> <<set $nextPassage to "Sewers Mud">> <<case "Sewers Hole">> <<set $nextPassageCheck to "Sewers Ruins">> <<set $nextPassage to "Sewers Ruins">> <<case "Sewers Workshop">> <<set $nextPassageCheck to "Sewers Scrap">> <<set $nextPassage to "Sewers Scrap">> <<case "Harvest Street" "Mer Street" "Industrial Drain">> <<pass 5>> <<set $nextPassageCheck to "Industrial alleyways">> <<set $nextPassage to "Industrial alleyways">> <<case "Industrial alleyways">> <<pass 5>> <<set $nextPassageCheck to "Oxford Street">> <<set $nextPassage to "Oxford Street">> <<case "Oxford Street" "Starfish Street" "High Street">> <<pass 5>> <<set $nextPassageCheck to "Park">> <<set $nextPassage to "Park">> <<case "Park" "Elk Street">> <<pass 5>> <<set $nextPassageCheck to "Nightingale Street">> <<set $nextPassage to "Nightingale Street">> <<case "Nightingale Street">> <<pass 5>> <<set $nextPassageCheck to "Forest">> <<set $nextPassage to "Forest">> <<set $forest to 0>> <<set $wraith.exit to "forest">> <<case "Forest">> <<pass 8>> <<if $forest lte 20>> <<set $nextPassageCheck to "Forest Blood Deeper">> <<set $nextPassage to "Forest">> <<if $phaseWraith isnot 5>> <<set $phaseWraith to 5>> <<else>> <<set $forestmod to 1.5>><<set $forest += 5>> <<if $forest is 25>> <<set $nextPassageCheck to "Lake Shore">> <<set $nextPassage to "Lake Shore">> <<set $wraith.exit to "lake">> <</if>> <</if>> <<elseif $forest gt 40 and $forest lte 50>> <<set $nextPassageCheck to "Lake Fishing Rock">> <<set $nextPassage to "Lake Fishing Rock">> <<set $wraith.exit to "lake">> <<elseif $forest gt 30>> <<set $nextPassageCheck to "Forest Blood Less Deep">> <<set $nextPassage to "Forest">> <<if $phaseWraith isnot 5>> <<set $phaseWraith to 5>> <<else>> <<set $forestmod to 1.5>><<set $forest -= 5>> <<if $forest is 50>> <<set _nextPassageCheckTemp to "Lake Fishing Rock">> <<set _nextPassageTemp to "Lake Fishing Rock">> <</if>> <</if>> <<else>> <<set $nextPassageCheck to "Lake Shore">> <<set $nextPassage to "Lake Shore">> <<set $wraith.exit to "lake">> <</if>> <<case "Lake Campsite">> <<pass 5>> <<set $nextPassageCheck to "Lake Fishing Rock">> <<set $nextPassage to "Lake Fishing Rock">> <<set $wraith.exit to "lake">> <<case "Lake Fishing Rock">> <<pass 5>> <<set $nextPassageCheck to "Lake Waterfall">> <<set $nextPassage to "Lake Waterfall">> <<set $wraith.exit to "lake">> <<case "Lake Firepit">> <<pass 5>> <<set $nextPassageCheck to "Lake Shore">> <<set $nextPassage to "Lake Shore">> <<set $wraith.exit to "lake">> <<case "Lake Waterfall">> <<pass 5>> <<if $phaseWraith lt 1 and $container and $container.lake and $container.lake.count gte 1 and !$wraithPaleVisit>> <<for _i to 0; _i lt Object.keys($container.lake.creatures).length; _i++>> <<if $container.lake.creatures[_i] isnot null and $container.lake.creatures[_i].creature.includes("Pale")>> <<set $wraithPaleVisit to "lake">> <</if>> <</for>> <<set $phaseWraith to 1>> <</if>> <<if $wraithPaleVisit and $wraithPaleVisit is "lake" and $phaseWraith lt 3>> <<set $nextPassageCheck to "Containers">> <<set $nextPassage to "Wraith Snatched Offspring">> <<set $phaseWraith to 3>> <<else>> <<set $nextPassageCheck to "Lake Shore">> <<set $nextPassage to "Lake Shore">> <<set $wraith.exit to "lake">> <</if>> <<case "Lake Shore">> <<pass 5>> <<if $phaseWraith lt 1 and $container and $container.lake and $container.lake.count gte 1 and !$wraithPaleVisit>> <<for _i to 0; _i lt $container.lake.count; _i++>> <<if $container.lake.creatures[_i].creature.includes("Pale")>> <<set $wraithPaleVisit to "lake">> <</if>> <</for>> <<set $phaseWraith to 1>> <</if>> <<if $phaseWraith lt 2 and $wraithPaleVisit and $wraithPaleVisit is "lake">> <<set $nextPassageCheck to "Lake Waterfall">> <<set $nextPassage to "Lake Waterfall">> <<set $phaseWraith to 2>> <<else>> <<if Weather.isFrozen("lake")>> <<set $nextPassageCheck to "Lake Shallows Ice">> <<set $nextPassage to "Lake Shallows Ice">> <<else>> <<set $nextPassageCheck to "Lake Shallows">> <<set $nextPassage to "Lake Shallows">> <</if>> <</if>> <<case "Lake Shallows">> <<pass 5>> <<set $nextPassageCheck to "Lake Depths">> <<set $nextPassage to "Lake Depths">> <<case "Lake Shallows Ice">> <<pass 5>> <<set $nextPassageCheck to "Lake Depths Ice">> <<set $nextPassage to "Lake Depths Ice">> <<case "Lake Depths">> <<pass 5>> <<set $nextPassageCheck to "Lake Underwater">> <<set $nextPassage to "Lake Underwater">> <<case "Lake Depths Ice">> <<pass 5>> <<set $nextPassageCheck to "Lake Depths Ice Break">> <<set $nextPassage to "Lake Depths Ice Break">> <<case "Lake Underwater" "Lake Ruin Deep">> <<pass 5>> <<set $nextPassageCheck to "Lake Ruin">> <<set $nextPassage to "Lake Ruin">> <<case "Lake Ruin">> <<pass 2>> <<set $nextPassageCheck to "Lake Ruin Prison Intro">> <<set $nextPassage to "Lake Ruin Prison Intro">> <</switch>> <</if>> <<if !$wraith.will>> <<if $wraith.state is "haunt">> <<set $wraith.will to random(1300, 1700)>> <<else>> <<set $wraith.will to random(1100, 1500)>> <</if>> <</if>> <<set _wraithWill to Math.floor(1 + $wraith.will)>> <<if $wraith.possessCount is undefined>> <<if $location is "forest" or $location is "lake">> <<set _wraithWill /= 3>> <<else>> <<set _wraithWill /= 2>> <</if>> <</if>> <<if $wraithWillMessage and !$combat>> <<if $phase2 is 1>> <<set $phase2 to 0>> <<controlcaption>> <br> <<elseif ($passage isnot "Forest" or $passagePrev isnot "Forest") and $passage is $nextPassageIntended or $nextPassageCheck is $nextPassageIntended>> <<controlcaption>> <<set $willpowerSuccess to 0>> <br> <span class="pink">You let it take you.</span> <<pain -2>><<stress -12>><<sub 2>><<lpain>><<llstress>><<set $wraith.will += 30>> <<if numberOfEarSlime() and $worn.genitals.name is "chastity parasite" and $earSlime.vibration lt 60 and !$earSlime.defyCooldown>><<set $earSlime.vibration to 60>><<garousal>><</if>> <br><br> <<else>> <<if numberOfEarSlime() and $earSlime.growth gte 100>><<set $earSlime.vibration to 0>><<set $earSlime.defyCooldown++>><</if>> <<set $willpowerSuccess to 0>> <<willpowerdifficulty 1 _wraithWill true>> <<if $willpowerSuccess>> <<control `Math.floor(currentSkillValue('willpower') / 80)`>> <<controlcaption>> <br> <span class="green">You fight for control. It becomes slower.</span> <<pass 4>><<pain 4>><<stress 12>><<trauma 12>><<def 2>><<gpain>><<ggtrauma>><<ggstress>><<gcontrol>><<set $wraith.will -= Math.floor(currentSkillValue('willpower') / 8)>> <br><br> <<else>> <<controlcaption>> <br> <span class="red">Your body does not obey.</span> <<stress 6>><<trauma 6>><<willpower 1>><<def 1>><<gtrauma>><<gstress>><<gwillpower>><<set $wraith.will -= Math.floor(currentSkillValue('willpower') / 10)>> <br><br> <</if>> <</if>> <</if>> <<if _nextPassageCheckTemp>> <<set $nextPassage to _nextPassageTemp>> <<set $nextPassageCheck to _nextPassageCheckTemp>> <</if>> <<if $phase2 is 2>> <<set $phase2 to 0>><<set $pain to 0>> <</if>> <<if _args[0]>> <<if $bus isnot "lake_ruin_prison" and (Time.hour gte 6 and $moonstate is "morning" and $wraith.exit isnot "home" or $control gte $controlmax)>> <<if $location is "lake_ruin">> <<set $nextPassage to "Wraith Resisted Lake">> <<else>> <<set $nextPassage to "Wraith Resisted">> <</if>> <</if>> <</if>> <</if>> <</widget>><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_prison">><<set $wraith.exit to "lake_ruin">><<underwater>><<effects>> You place your hand against the rune. You trace a symbol around it with your other hand, and it flashes to life with a red glow. <br><br> The walls rumble. Plumes of purple steam hiss as seams appear between the stone. Masses of lichen crumble and float away. The wall around the rune begins to retract backwards, before falling into the floor. You swim into the breach. <br><br> Before you is a staircase leading up into darkness. Small patches of lichen illuminate sections of the wall. At the top, you can see a faint glow. You clumsily pull yourself along the walls leading up. <br><br> <span class="nextLink"><<link [[Up (0:02)|Lake Ruin Prison Intro 2]]>><<pass 2>><</link>></span> <br><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_prison">><<set $wraith.exit to "lake_ruin">><<effects>> You hear the scraping of stone behind you as you climb. After some time, you fall forwards, landing on your hands. <span class="blue">You've left the water.</span> There's a large air pocket here, and the air is filled with a purple mist. You crawl up the last of the stairs. <br><br> <<if $wraithPrison>> You're back in the underwater prison. <<else>> As you reach the top, you see the source of the glow. You're in a massive stone room lit by a colossal colony of glowing purple lichen. It snakes along the walls, occasionally following the pattern of intricate carvings. All around you are sets of large cages, many of which have rusted away. You spot a set of shackles in one of them. Another one of the cages seems to be the epicentre of the lichen colony, with much of it completely covered. <br><br> <</if>> You double over in pain. A pale, translucent limb emerges from your chest, followed by another. You're forcefully pushed into leaning backwards as it leaves you. <<pain 10>><<ggpain>> <br><br> <<endWraith>> <<generateWraith 1 true>> You collapse on the cold stone floor, with your senses slowly returning to you. You retch, coughing up water. You sharply inhale, and taste a sickening sweetness in the air. <<hallucinogen 40>><<gghallucinogens>> <br><br> <<if !$wraithIntro>> <<set $wraithIntro to true>> Before you floats a beautiful pale figure. <<if $wraith.state is "haunt">> It regards you with angry red eyes, clutching at its own scarred neck. <br><br> "<span class="wraith">Sealed away forever. As a thief should.</span>" <br><br> It grabs you by the neck and effortlessly pushes you to the ground. It floats down, coming to rest as it straddles you, and begins to put pressure on your neck. <span class="red">You can't breathe!</span> <<elseif $wraith.state is "despair">> It regards you with miserable, tired red eyes. It clutches at its own scarred, bare neck. <br><br> "<span class="wraith">H...have you seen my necklace...?</span>" <br><br> It gently puts its hands on your neck, and pushes you down on your back. It floats down, coming to rest as it straddles you. <<else>> It's naked, save for a necklace of ivory around its neck, set with large blue gemstones. It regards you with curious blue eyes, lifting your chin with its hand. It feels cold. <br><br> "<span class="wraith">Bask in immaculance. We will be beautiful.</span>" <br><br> It gently puts its hands on your neck, and pushes you down on your back. It floats down, coming to rest as it straddles you. <</if>> <<else>> The pale figure floats before you. <<if $wraith.state is "haunt">> <<if $wraithPrison and $wraithPrison.vision>> It places a clawed hand on your chest. You can feel a bitter chill in your whole body. You feel the room spin, and your back touch the floor. <br><br> "<span class="wraith">Do you understand yet, thief? Don't make me repeat myself.</span>" <<else>> It scratches its scarred neck, before pushing you over effortlessly. It floats down, and comes to rest as it straddles you. It grabs you by the neck. <span class="red">You can't breathe!</span> <br><br> "<span class="wraith">If you wish to steal from the dead, you will join them.</span>" <</if>> <<elseif $wraith.state is "despair">> <<if $wraithPrison and $wraithPrison.vision>> It places a clawed hand on your chest. You can feel a bitter chill in your whole body. You feel the room spin, and your back touch the floor. <br><br> "<span class="wraith">I can't find it. It's so cold without my necklace. Won't you keep me warm, <<pcpetname "Wraith">>?</span>" <<else>> It scratches at its bare neck, before gently pushing you on your back. It floats down, and comes to rest as it straddles you. <br><br> "<span class="wraith">It's so cold without my necklace. Won't you keep me warm, <<pcpetname "Wraith">>?</span>" <</if>> <<else>> It thumbs its necklace, before gently pushing you on your back. It floats down, and comes to rest as it straddles you. <br><br> "<span class="wraith">Welcome home, <<pcpetname "Wraith">>.</span>" <</if>> <</if>> Its gaze bores into you, keeping your body weak and unresponsive. <<if C.npc["Ivory Wraith"].lust gte 12 and $wraith.state is "haunt">> A sadistic smile creeps across its face. <<else>> It seems to hesitate for a moment, as if in thought. <</if>> <<if !$wraithPrison>> <br><br> <<link [[Beg|Lake Prison Intro 3]]>><<set $phase to 1>><<sub 1>><</link>> <br> <<link [[Struggle|Lake Prison Intro 3]]>><<set $phase to 2>><<def 1>><</link>> <br> <<else>> <<if $parasitedisable is "f" and ($parasite.left_ear.name is undefined or $parasite.right_ear.name is undefined) and $slimedisable is "f" and !$noEarSlime>> It raises a hand to the side, and a swirling purple disc appears in the air. It reaches in, and pulls out a writhing red mass. A living slime. It lowers it down to your ear. <br><br> <<link [[Struggle|Lake Prison Slime Resist]]>><</link>> <br> <<link [[Stay still|Lake Prison Slime]]>><</link>> <<else>> <<initWraith "abomination">> <<startWraith>> <br><br> <<link [[Next|Lake Prison Intro Fight]]>><</link>> <</if>> <</if>> <br> <<if !$wraithPrison>> <<set $wraithPrison to {timer: 0, timePassed: 0, search: 0, state: "present", possession: false, masturbation: false}>> <<else>> <<set $wraithPrison.timer to 0>> <<set $wraithPrison.timePassed to 0>> <<set $wraithPrison.search to 0>> <<set $wraithPrison.state to "present">> <<set $wraithPrison.possession to false>> <<set $wraithPrison.masturbation to false>> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_prison">><<set $wraith.exit to "lake_ruin">><<effects>> <<if $phase is 1>> <<if $speech_attitude is "meek">> "P-please, don't hurt me..." you beg. <<elseif $speech_attitude is "bratty">> "Whatever you are, please leave me alone!" you yell. <<else>> "Please, I'm sorry! Don't hurt me!" you beg. <</if>> <br><br> <<if $wraith.state is "haunt">> "<span class="wraith">A thief is not one to beg.</span>" It grabs your neck more violently, cutting off your pleas. <<pain 8>><<gpain>> <<elseif $wraith.state is "despair">> "<span class="wraith">Did you take it? No, no...</span>" It gives you a profoundly sad frown, before grabbing you by the neck. <<pain 4>><<gpain>> <<else>> "<span class="wraith">I promise endless pleasure. Is this not enough?</span>" It giggles, before grabbing you by the neck. <<pain 4>><<gpain>> <</if>> <<else>> You try to pry its hands off of you, to no end. It smiles at you. <<if $wraith.state is "haunt">> "<span class="wraith">Struggle. It will only drown you faster.</span>" <<elseif $wraith.state is "despair">> "<span class="wraith">Did you take it? No, no...</span>" <<else>> "<span class="wraith">Save your energy. You will need it.</span>" <</if>> <</if>> <br><br> <<if $parasitedisable is "f" and ($parasite.left_ear.name is undefined or $parasite.right_ear.name is undefined) and $slimedisable is "f" and !$noEarSlime>> It raises a hand to the side, and a swirling purple disc appears in the air. It reaches in, and pulls out a writhing red mass. A living slime. It lowers it down to your ear. <br><br> <<link [[Struggle|Lake Prison Slime Resist]]>><</link>> <br> <<link [[Stay still|Lake Prison Slime]]>><</link>> <<else>> <<initWraith "abomination">> <<startWraith>> <br><br> <<link [[Next|Lake Prison Intro Fight]]>><</link>> <</if>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_prison">><<set $wraith.exit to "lake_ruin">><<effects>> With the last of your willpower, you keep moving your head, preventing the slime from entering. <br><br> It looks down at you and whispers. "<span class="wraith">You will bend. Or you will break.</span>" <<initWraith "abomination">> <<startWraith>> <br><br> <<link [[Next|Lake Prison Intro Fight]]>><</link>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_prison">><<set $wraith.exit to "lake_ruin">><<effects>> <<set $wraithParasite to true>> It brings the slime down to your <<if $parasite.left_ear.name is undefined>> left ear, <span class="lewd">where it squirms in.</span> <<parasite left_ear slime>> <<elseif $parasite.right_ear.name is undefined>> right ear, <span class="lewd">where it squirms in.</span> <<parasite right_ear slime>> <</if>> <br><br> You shake in the figure's grasp. You feel unnaturally aroused, especially with it straddling you like this. It's a small feeling at first. Then it grows, until <span class="lewd">an overwhelming desire for lewdity overtakes you.</span> It looks pleased. <<lobsession>> <br><br> <<if numberOfEarSlime() is 1>> <i>A corruption bar has appeared in the Characteristics tab.</i> <br><br> <</if>> Its grip on you loosens<<if $wraith.state is "haunt">>, and you gasp for breath<</if>>. You hear whispers all around you. <<if numberOfEarSlime() gte 2>> <span class="lewd">The ear slimes are stronger now, redoubled. It commands you to give yourself to the pale figure.</span> By now you know how good it will feel to comply. <<else>> <span class="lewd">Something inside pressures you to give yourself to the pale figure.</span> Somehow, you know going along with the urges will feel good, and disobeying will be painful. <</if>> <<initWraith "abomination">> <<startWraith>> <br><br> <<if hasSexStat("promiscuity", 4) and $submissive gte 1900>> <<link [[Submit|Lake Prison Intro Fight]]>> <<set $sexstart to 1>><<corruption 3>><<pain -8>><<stress -12>><<trauma -24>><<sub 2>> <<if $earSlime.promiscuity lt 4>><<set $earSlime.promiscuity to 4>><</if>> <<if $earSlime.deviancy lt 4>><<set $earSlime.deviancy to 4>><</if>> <<set $earSlime.startedThreats to true>> <</link>><<promiscuous4>><<ggcorruption>><<llpain>><<llltrauma>><<llstress>> <br> <</if>> <<link [[Obey|Lake Prison Intro Fight]]>> <<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 1>> <<if $earSlime.promiscuity lt 2>><<set $earSlime.promiscuity to 2>><</if>> <<if $earSlime.deviancy lt 2>><<set $earSlime.deviancy to 2>><</if>> <</link>><<gcorruption>><<lpain>><<lltrauma>><<lstress>> <br> <<link [[Defy|Lake Prison Intro Fight]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br><<effects>> <<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<set $enemytype to $wraith.type>> <<elseif $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $player.penisExist>> <<set $struggle.penis.creature to "pale slime">><<set $penisuse to "struggle">><<set $penisstate to "struggle">><<set $struggle.enemy[0].location to "penis">> <<else>> <<set $struggle.vagina.creature to "pale slime">><<set $vaginause to "struggle">><<set $vaginastate to "struggle">><<set $struggle.enemy[0].location to "vagina">> <</if>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if _combatend>> <span id="next"><<link [[Next|Lake Prison Intro Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Prison Intro Fight]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Lake Prison Intro Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Prison Intro Fight]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Lake Prison Intro Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Prison Intro Fight]]>><</link>></span><<nexttext>> <</if>> <</switch>> <br><<effects>> <<if !$wraithCount>> <<set $wraithCount to 0>> <</if>> <<if !$wraithMax>> <<set $wraithCount to 0>> <<set $wraithMax to 2>> <<if C.npc["Ivory Wraith"].lust gt 10>> <<set $wraithMax++>> <</if>> <<if $tentacledisable is "t">> <<set $wraithMax -->> <</if>> <</if>> <<if $wraith.type is "man" and $enemyhealth lte 0>> The <<person>> looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> A terrible shriek pierces the air, forcing you to your knees. It grabs you by the neck, and lifts you. <<if $worn.neck.cursed is 1>> There's a flash of light, a deep groaning sound, and your $worn.neck.name is no more. <<set $worn.neck.type.push("broken")>> <<neckruined>> <</if>> <br><br> You're dragged and thrust into the cage next to the centre of the lichen colony. There's no door. The figure becomes more translucent, and begins fading. "<span class="wraith">I must recover. You will wait.</span>" It vanishes in a bright flash. <br><br> <<tearful>> you look around, trying to make sure its really gone. <<set $wraith.defeated++>> <<set $wraithPrison.timer to 120>> <<set $wraithPrison.state to "recovering">> <<clotheson>> <<endcombat>> <<endWraith>> <br> <<link [[Next|Lake Ruin Prison]]>><<unset $wraithParasite>><</link>> <br> <<elseif $enemyarousal gte $enemyarousalmax or ($wraith.type is "tentacles" and $tentacles.active lte ($tentacles.max / 2)) or ($wraith.type is "slime" and $struggle.done gte $struggle.number)>> <<set $wraithCount++>> <<ejacW>> <<if $wraithCount gte $wraithMax or $wraithCount gte 5>> <<kissWraith>> <br><br> <<if $parasitedisable is "f" and ($parasite.left_ear.name is undefined or $parasite.right_ear.name is undefined) and $slimedisable is "f" and !$wraithParasite and !$noEarSlime>> <<set $wraithParasite to true>> It brings the slime down to your <<if $parasite.left_ear.name is undefined>> left ear, <span class="lewd">where it squirms in.</span> <<parasite left_ear slime>> <<elseif $parasite.right_ear.name is undefined>> right ear, <span class="lewd">where it squirms in.</span> <<parasite right_ear slime>> <</if>> <br><br> You shake in the figure's grasp. You feel unnaturally aroused, especially with it straddling you like this. It's a small feeling at first. Then it grows, until <span class="lewd">an overwhelming desire for lewdity overtakes you.</span> <br><br> <<if !$earSlime.corruption>> <i>A corruption bar has appeared in the Characteristics tab.</i> <br><br> <</if>> Its grip on you loosens<<if $wraith.state is "haunt">>, and you gasp for breath<</if>>. You hear whispers all around you. <span class="lewd">Something inside pressures you to give yourself to the pale figure.</span> Somehow, you know going along with the urges will feel good, and disobeying will be painful. <br><br> <</if>> It suddenly lifts you, and begins to carry you. You're helpless to resist. You're placed in a decrepit cage, right next to the centre of the lichen colony. There's no door. <<if $wraith.state is "haunt">> <<if !$wraithPrison.vision>> "<span class="wraith">I will break open your mind, and then I will show you. And then you will. Give. It. Back.</span>" <<else>> "<span class="wraith">The descent begins again. Isn't it beautiful?</span>" <</if>> <<elseif $wraith.state is "despair">> <<if !$wraithPrison.vision>> "<span class="wraith">Help me find it. See what I've seen. Stay.</span>" <<else>> "<span class="wraith">Again. Again. Descending. Where is it?</span>" <</if>> <</if>> <<if $worn.neck.cursed is 1>> It rests a hand against your $worn.neck.name. There's a flash of light, a deep groaning sound, and the metal is no more. <<set $worn.neck.type.push("broken")>> <<neckruined>> <</if>> It floats away from the cell, out of sight. <<tearful>> you look around, trying to think of a way out. The figure is nowhere to be seen. <<set $wraithPrison.timer to 60>> <<set $wraithPrison.state to "recovering">> <<clotheson>> <<endcombat>> <<endWraith>> <br> <<link [[Next|Lake Ruin Prison]]>><<unset $wraithParasite>><</link>> <br> <<else>> <<continueWraith>> <br><br> <<link [[Next|Lake Prison Intro Fight]]>><</link>> <br> <</if>> <<else>> It suddenly lifts you, and begins to carry you. You're helpless to resist. You're placed in a decrepit cage, right next to the centre of the lichen colony. There's no door. <<if $wraith.state is "haunt">> <<if !$wraithPrison.vision>> "<span class="wraith">I will break open your mind, and then I will show you. And then you will. Give. It. Back.</span>" <<else>> "<span class="wraith">The descent begins again. Isn't it beautiful?</span>" <</if>> <<elseif $wraith.state is "despair">> <<if !$wraithPrison.vision>> "<span class="wraith">Help me find it. See what I've seen. Stay.</span>" <<else>> "<span class="wraith">Again. Again. Descending. Where is it?</span>" <</if>> <</if>> <<if $worn.neck.cursed is 1>> It rests a hand against your $worn.neck.name. There's a flash of light, a deep groaning sound, and the metal is no more. <<set $worn.neck.type.push("broken")>> <<neckruined>> <</if>> It floats away from the cell, out of sight. <<tearful>> you look around, trying to think of a way out. The figure is nowhere to be seen. <<set $wraithPrison.timer to 60>> <<set $wraithPrison.state to "recovering">> <<clotheson>> <<endcombat>> <<endWraith>> <br> <<link [[Next|Lake Ruin Prison]]>><<unset $wraithParasite>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<set $wraith.exit to "lake_ruin">><<set $bus to "lake_ruin_prison">><<effects>> You are in a submerged prison. Pink mist swirls in the air. <<ghallucinogens>> <br><br> <<if $wraithPrison.state is "present">> <<set _wraithEvent to true>> <</if>> <<if isPregnancyEnding() and !$possessed>> <<set $wraithPrison.state to "gone">> <<endWraith>> <<clearWraith>> <<pregnancyPassout "wraith">> <<else>> <<if $moonstate is "morning" and Time.hour gte 6 and $wraithPrison.timePassed gte 120 and $wraithPrison.state isnot "gone">> You see the figure near the staircase leading down. It's flickering. <br><br> <<if $wraith.state is "haunt">> <<if !$wraithPrison.vision>> It stares at you with pure anger and hatred. It screams, and begins floating in circles, clawing at its own bare neck and wailing. <br><br> It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. It swiftly drags you to the stairs, and plunges your head under the water. <<stress 24>><<pain 10>><<gpain>><<gstress>> <br><br> You struggle against it. It screams. "<span class="wraith">I will show you exactly what you've done. I will find you again, thief. You have not suffered enough. You were not ready.</span>" <<gobsession>> <br><br> It flickers backwards. You bring your head back up above the water, and cough. <<tearful>> you stand. The rune at the bottom of the stairs glows again. <<elseif C.npc["Ivory Wraith"].lust gte 12>> It stares at you with pure anger. It growls, and begins floating in circles, holding its own neck. <br><br> It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. You're pressed back against the wall. <<stress 12>><<pain 5>><<gpain>><<gstress>> <br><br> You struggle against it. It whispers. "<span class="wraith">You've seen it. Do you seek penance? More. More pain, first.</span>" <br><br> It flickers backwards. You slide down the wall. <<tearful>> you stand. The rune at the bottom of the stairs glows again. <<lobsession>> <<else>> It stares at you with apprehension, before appearing directly in front of you. It brings a clawed hand up, as if to strike you, and you instinctively cover your face. <br><br> You instead feel a gentle caress against your cheek. You slowly open your eyes. <span class="green">The clawed hand is gone, replaced by pale, supple skin. You see a faint familiarity in its face.</span> <br><br> "<span class="wraith">We're still falling, nowhere near the bottom. But maybe we don't need to reach the bottom.</span>" <<lobsession>> <</if>> <<elseif $wraith.state is "despair">> <<if !$wraithPrison.vision>> It stares at you with a look of regret. It screams, and begins floating in circles, clawing at its own bare neck and wailing. <br><br> It flickers out, only to flicker back right in front of you. It reaches out for your neck, its hand long and clawed. But it stops short. It begins to sob, and collapses before you. <br><br> "<span class="wraith">I'm sorry. You were not ready. We must suffer more.</span>" <<gobsession>> <br><br> It flickers backwards, away from you. The rune at the bottom of the stairs glows again. <<elseif C.npc["Ivory Wraith"].lust gte 12>> It stares at you with anger and regret. It growls, and begins floating in circles, clawing at its own bare neck. <br><br> It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. You're pressed back against the wall. <<stress 12>><<pain 5>><<gpain>><<gstress>> <br><br> You struggle against it. It immediately drops you, looking horrified. "<span class="wraith">I'm sorry. It wasn't you. It wasn't you...</span>" <<lobsession>> <br><br> It floats backwards. You slide down the wall. <<tearful>> you stand. The rune at the bottom of the stairs glows again. <<else>> It stares at you with a look of regret. It flickers out of sight, only to appear right before you. <br><br> "<span class="wraith">You've seen it. Have you seen it? Will you help me? You will help me.</span>" <<lobsession>> <br><br> It floats backwards, away from you. The rune at the bottom of the stairs glows again. <</if>> <<else>> "<span class="wraith">My time comes to an end. You will return, next moon.</span>" <<if numberOfEarSlime()>> <<if $earSlime.growth gte 200>> It giggles, and you feel the slime in your head briefly take full control over your body. "<span class="wraith">This is the only place you can free yourself from the parasites you have become one with, after all.</span>" <<else>> It giggles, and you feel the slime in your head wriggle. "<span class="wraith">This is the only place you can free yourself from the parasite, after all.</span>" <</if>> <</if>> <</if>> <br><br> A torrent of water shoots up from the stairs, and when it passes, the figure is gone. <span class="blue"><i>You're safe until the next blood moon.</i></span> <br><br> <<set $wraithPrison.state to "gone">> <<unset _wraithEvent>> <<endWraith>> <<clearWraith>> <</if>> <<if _wraithEvent is true>> <<if ["haunt", "despair"].includes($wraith.state) and $trauma gte ($traumamax / 10) * 4 and $wraithPrison.timePassed gte 140>> The pale figure emerges from the ground. You feel your energy being sapped away already. You're pushed into one of the cells and onto a bed of lichen by an unseen force. <br><br> <<if $wraith.state is "haunt">> It looks you over with a cold gaze, and grabs your cheeks with a clawed hand. <<if !$wraithPrison.vision>> "<span class="wraith">What was it you were seeking when you stole from the dead? Answers? I'll show you what it's like to drown with the corpse of this temple. May your curiosity be sated as the waves chew your bones. <<pcPetname "Wraith">>. <<pcPetname "Wraith">>.</span>" <<else>> "<span class="wraith">Down we go, once again. <<pcPetname "Wraith">>.</span>" <</if>> <<else>> It looks you over with a desperate gaze, and grabs your cheeks with a clawed hand. <<if !$wraithPrison.vision>> "<span class="wraith">You must see. You must understand. You must help me. Where is it? <<pcPetname "Wraith">>.</span>" <<else>> "<span class="wraith">Help me. Where is it? <<pcPetname "Wraith">>.</span>" <</if>> <</if>> <br><br> It grabs a handful of lichen from the centre of the large colony, and tilts your head back. It begins to drop the crushed lichen into your mouth. <<if $wraithPrison.vision>> You know better than to try to resist. <<else>> You try to spit it out, but your body isn't obeying you. <</if>> Once your mouth is full of the flowering lichen, it kisses you. You tense up, but soon enough, you feel an odd sense of relief. <<takeKissVirginity "Ivory Wraith" "rape">> <<stress -200>><<lllstress>><<trauma 36>><<gggtrauma>><<purity -50>><<lllpurity>><<physique_loss 16>><<llphysique>><<pain -15>><<llpain>> <br><br> Everything spins out around you, leaving only you and a pale face in a swirling sea of nothing. Your mind screams for release as your thoughts burn away. <<ggghallucinogens>> <br><br> Your vision turns and warps in ways you didn't know were possible. Your skin ripples, like wax melting off a candle. You see yourself from above, backlit by the glowing lichen. You look down at your arms, and find them to be unnaturally pale. <br><br> <span class="nextLink"><<link [[Wake up.|Schism]]>><</link>></span> <br> <<else>> <<generateWraith 1>> The pale figure emerges from the ground. You're pulled towards it by an unseen force. It looks you over. <br><br> <<if $wraith.state is "haunt">> "<span class="wraith"><<print either( "Open your eyes.", "<<pcPetname \"Wraith\">>.", "You must sleep before you can awaken.", "You must open your mind, only then can you face penance.", "You aren't ready to see yet, thief. I will make you ready.", "I will take everything from you. Only then will you understand." )>></span>" <<elseif $wraith.state is "despair">> "<span class="wraith"><<print either( "So cold.", "I'm sorry.", "Have you seen it?", "We must suffer together.", "<<pcPetname \"Wraith\">>.", "You are everything I have." )>></span>" <<else>> "<span class="wraith"><<print either( "Do not resist.", "Won't you give in?", "Drown with me, forever.", "<<pcPetname \"Wraith\">>.", "I am already inside you.", "This is everything you have." )>></span>" <</if>> <br><br> <<if $rng gte 90>> It grabs a handful of the pink lichen, and grabs your face with its other hand, forcing your mouth open. It crumbles the lichen, and flakes begin to fall into your mouth. <br><br> <<set $skulduggerydifficulty to 600>> <<link [[Accept it|Lake Ruin Lichen Eat]]>><<trauma 100>><<stress -50>><<set $phaseWraith to 1>><<hallucinogen 220>><</link>><<gggtrauma>><<lllstress>><<gghallucinogens>> <br> <<link [[Pretend to eat|Lake Ruin Lichen Eat]]>><<set $phaseWraith to 2>><</link>><<skulduggerydifficulty>> <br> <<link [[Spit it out|Lake Ruin Lichen Eat]]>><<set $phaseWraith to 3>><</link>> <br> <<elseif $rng gte 70 and $wraithPrison.possession is false>> <<if !$wraith.will>> <<set $wraith.will to random(1300, 1700)>> <</if>> <<set _wraithWill to Math.floor(1 + $wraith.will)>> You feel it try to enter your body. <br><br> <<link [[Give in|Lake Ruin Prison Possession]]>><<if numberOfEarSlime()>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><</if>><<sub 1>><</link>><<if numberOfEarSlime()>><<gcorruption>><<lpain>><<lltrauma>><<lstress>><</if>> <br> <<link [[Resist|Lake Ruin Prison Possession Resist]]>><<set $phase to 1>><<if numberOfEarSlime()>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><</if>><<def 1>><</link>><<if numberOfEarSlime()>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>><</if>><<willpowerdifficulty 1 _wraithWill>> <br> <<elseif $rng gte 50 and !$wraithPrison.masturbation>> <<if !$wraith.will>> <<set $wraith.will to random(1300, 1700)>> <</if>> <<set _wraithWill to Math.floor(1 + $wraith.will)>> You feel it try to enter your body. <br><br> <<link [[Give in|Lake Ruin Prison Masturbation Start]]>><<if numberOfEarSlime()>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><</if>><<sub 1>><</link>><<if numberOfEarSlime()>><<gcorruption>><<lpain>><<lltrauma>><<lstress>><</if>> <br> <<link [[Resist|Lake Ruin Prison Masturbation Resist]]>><<set $phase to 1>><<if numberOfEarSlime()>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><</if>><<def 1>><</link>><<if numberOfEarSlime()>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>><</if>><<willpowerdifficulty 1 _wraithWill>> <br> <<else>> <<initWraith>> <<startWraith>> <br><br> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <br> <</if>> <</if>> <<elseif $wraithPrison.state is "gone">> <<link [[Enter the water|Lake Ruin Prison Leave]]>><<wraith_pass 2>><</link>> <br> <<elseif !$wraithPrison.search>> <<link [[Search for a way out (0:30)|Lake Ruin Prison Search]]>><<wraith_pass 30>><</link>> <br> <<else>> <<if $wraithPrison.search is 1>> <<link [[Examine the cages (0:15)|Lake Ruin Prison Search]]>><<wraith_pass 15>><</link>> <br> <<elseif $wraithPrison.search is 2>> <<link [[Keep searching (0:30)|Lake Ruin Prison Search]]>><<wraith_pass 30>><</link>> <br> <<elseif $wraithPrison.search is 3>> <<link [[Swim down the stairs|Lake Ruin Prison Search]]>><<wraith_pass 2>><</link>> <br> <</if>> <<if $wraithPrison.search gte 2>> <<link [[Rest (1:00)|Lake Ruin Prison Rest]]>><<wraith_pass 60>><<set $tiredness -= 500>><<trauma 50>><</link>><<ltiredness>><<ggtrauma>> <</if>> <</if>> <</if>><<effects>> <<if !$wraithPrison.search>> <<set $wraithPrison.search to 1>> You look around the large chamber. The colony of glowing lichen is unlike anything you've ever seen before, and you wonder how it's survived. As you ponder, you realise this room should be flooded like the rest of the ruin. <br><br> You see discoloured marks on the walls, and the remains of rusted shackles below them. The cages are incapable of holding anything anymore, but you notice that each one has a large patch of lichen in the same corner. <<elseif $wraithPrison.search is 1>> <<set $wraithPrison.search to 2>> You examine the cages. The glowing lichen has completely covered the bars in some places. You run your hand against it, and some of the bars crumble entirely away. <br><br> You become uneasy as you think about why the lichen starts in the back right corner of each cell. You take a closer look, and start to clear some of it away. <br><br> You find a large scrap of cloth underneath, torn in countless places by the lichen growing through. <<if $historytrait gte 4>>It looks like the remains of an ancient bedroll.<</if>> <<elseif $wraithPrison.search is 2>> <<set $wraithPrison.search to 3>> You find the smashed remains of a small statue at the far end of the room. It's damaged beyond any value, but you think you can make out the shape of arms and wings. <br><br> You approach the stairs leading downwards. Dark water extends into nothingness. You spot a faint glow at the end. <<elseif $wraithPrison.search is 3>> <<set $wraithPrison.search to 4>> You take a deep breath, and swim down. It's a long distance. <<loxygen>> <br><br> <<water>><<effectswater>> When you finally reach the end, you see the same glowing rune. You place your hand against it, but nothing happens. You try pushing, but it's hopeless. You swim back up. <br><br> <span class="red">There's no way out.</span> <</if>> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <br><<effects>> You clear away some of the lichen in one of the cells, and lie on the tattered cloth. You close your eyes, but feel like you can still see the entire room. <br><br> You don't know how much time passes. Your body feels refreshed, but your mind feels exhausted. <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <br><<effects>> <<if $struggle_start is 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $player.penisExist>> <<set $struggle.penis.creature to "pale slime">><<set $penisuse to "struggle">><<set $penisstate to "struggle">><<set $struggle.enemy[0].location to "penis">> <<else>> <<set $struggle.vagina.creature to "pale slime">><<set $vaginause to "struggle">><<set $vaginastate to "struggle">><<set $struggle.enemy[0].location to "vagina">> <</if>> <<unset $struggle_start>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $enemytype to $wraith.type>> <</if>> <<effectsWraith>> <<switch $wraith.type>> <<case "man">> <<if _combatend>> <span id="next"><<link [[Next|Lake Ruin Prison Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Ruin Prison Rape]]>><</link>></span><<nexttext>> <</if>> <<case "tentacles">> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Lake Ruin Prison Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Ruin Prison Rape]]>><</link>></span><<nexttext>> <</if>> <<case "slime">> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Lake Ruin Prison Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Ruin Prison Rape]]>><</link>></span><<nexttext>> <</if>> <</switch>> <br><<effects>> <<if !$wraithCount>> <<set $wraithCount to 0>> <</if>> <<if !$wraithMax>> <<set $wraithCount to 0>> <<set $wraithMax to 1>> <<if C.npc["Ivory Wraith"].lust gt 10>> <<set $wraithMax++>> <</if>> <<if $tentacledisable is "t">> <<set $wraithMax -->> <</if>> <</if>> <<if $wraith.type is "man" and $enemyhealth lte 0>> The <<person>> looks down at you in shock as <<he>> staggers backwards. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly to the ground, and sublimate into a pink mist. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you hear its voice all around you. "<span class="wraith">Good. Keep struggling.</span>" <br><br> <<tearful>> you look around, trying to make sure <<hes>> really gone. <<set $wraith.defeated++>> <<set $wraithPrison.timer to 120>> <<set $wraithPrison.state to "recovering">> <<clotheson>> <<endcombat>> <<endWraith>> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <br> <<elseif $enemyarousal gte $enemyarousalmax or ($wraith.type is "tentacles" and $tentacles.active lte ($tentacles.max / 2)) or ($wraith.type is "slime" and $struggle.done gte $struggle.number)>> <<set $wraithCount++>> <<ejacW>> <<if $wraithCount gte $wraithMax>> <<kissWraith>> <br><br> <<He>> breaks off, and sinks back into the floor. <<His>> laughs echo all around you. <br><br> <<tearful>> you look around, wondering when the next attack will come. <<set $wraithPrison.timer to 60>> <<set $wraithPrison.state to "recovering">> <<clotheson>> <<endcombat>> <<endWraith>> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <br> <<else>> <<continueWraith>> <br><br> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <br> <</if>> <</if>><<effects>> You push back as much as you can, clashing against its will. <br><br> <<if $willpowerSuccess>> It's pushed back, <span class="green">rejected by your body.</span> <<if $wraith.state is "haunt">> It growls, and grabs you by the neck. <br><br> "<span class="wraith">Very well. We do it the hard way, then.</span>" <<elseif $wraith.state is "despair">> It frowns, and grabs you by the neck. <br><br> "<span class="wraith">We will share everything. Pleasure and pain.</span>" <<else>> It laughs, and places its hands on your shoulders. <br><br> "<span class="wraith">And yet, it was not a request.</span>" <</if>> <br><br> <<initWraith>> <<startWraith>> <br><br> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <br> <<else>> <<set $possessed to true>><<canvas-model-override "blink" false>> It slows for a moment, <span class="red">but still enters your body.</span> Your limbs twitch, and you feel your consciousness get pushed back and overwritten. <br><br> <<link [[Next|Lake Ruin Prison Possession]]>><</link>> <br> <</if>><<effects>><<set $possessed to true>><<canvas-model-override "blink" false>><<set $wraithPrison.possession to true>> <<if $phase is 1>> It begins to dissipate into a white mist. You don't resist at all, letting it take you entirely. All feeling and sense fades. Your limbs twitch, and you feel your consciousness get pushed back and overwritten. <br> <</if>> It stands up in your body, steadying itself against the bars of the cage. It clenches your hands, and cracks your neck. It smiles. <br><br> "You're mine," it says with your voice. <br><br> <<if $tentacledisable is "f" and $rng gte 25>> It sits down against the wall, and spreads your legs. Many pale tentacles enter your vision. <<if $worn.lower.name isnot "naked">> Your $worn.lower.name <<lowerplural>> torn to shreds in an instant.<<lowerruined>> <</if>> They near your groin, and cover your <<genitals>> in a thick slime. Sensation suddenly comes flooding back to you in every spot the slime touches. <<garousal>><<gpain>><<pain 6>> <<if $player.vaginaExist>><<bodyliquid "vaginaoutside" "goo" 2>><</if>><<if $player.penisExist>><<bodyliquid "penis" "goo" 2>><</if>><<bodyliquid "thigh" "goo" 3>> <br><br> A gasp escapes your lips. You aren't sure if you caused it or not. Your mind is clouded by an inferno of arousal. You feel like you're right on the edge of a climax, but can't quite reach it. <<ggarousal>><<set $arousal to $arousalmax - 1>> <br><br> The tentacles trace up your body, leaving lines of pleasure in their wake. You feel like you're trapped in a cage of flesh, trying to push out. It's a twisted combination of pain, lust, and emptiness. <<gggarousal>> <<bodyliquid "chest" "goo" 2>><<bodyliquid "rightarm" "goo" 2>><<bodyliquid "leftarm" "goo" 2>> <<else>> It sits and spreads your legs. Beneath you, your shadow ripples. It congeals into a body. Several bodies. <<if $worn.lower.name isnot "naked" or $worn.upper.name isnot "naked">> Damp hands lunge from all sides, tearing into your clothes. All they leave behind are their slimy prints. <<upperruined>><<lowerruined>> <<else>> Damp hands caress you from all sides, leaving viscous prints. <</if>> Each one simmers on your skin.<<garousal>><<gpain>><<pain 6>> <br><br> Their touch is chaotic as it is sensual. A tender stroke turns to nails raking your skin. A lick to a bite. A moan to a shriek, directly in your ear. They're taunting you - coaxing you to the edge, then dragging you back at the last second.<<ggarousal>><<set $arousal to $arousalmax - 1>> <br><br> One body pulls you into its own, pushes you into another's, over and over again. In the briefs moments you aren't drowning in flesh, you're strangled by unbidden moans. It's a twisted combination of pain, lust, and emptiness.<<gggarousal>> <<if $player.vaginaExist>><<bodyliquid "vaginaoutside" "goo" 2>><</if>><<if $player.penisExist>><<bodyliquid "penis" "goo" 2>><</if>><<bodyliquid "thigh" "goo" 3>> <<bodyliquid "chest" "goo" 2>><<bodyliquid "rightarm" "goo" 2>><<bodyliquid "leftarm" "goo" 2>> <</if>> <br><br> <<if $wraith.state is "haunt">> Relief never comes, and you sit, trapped in your own body, for what feels like an eternity. It laughs in your voice, clearly enjoying the suffering it's inflicting on you. The minuscule light of the room begins to fade, and you black out. <br><br> <<link [[Next|Lake Ruin Prison Possession 2]]>><</link>> <br> <<else>> Its upper half exits your body, and its hands caress your face. You're flooded with warmth as it leaves you. You're not sure if you can resist what's coming. You're not sure if you want to. <br><br> <<initWraith "man">> <<link [[Next|Lake Ruin Prison Rape]]>><<wraithExorcise true false>><</link>> <br> <</if>><<effects>> An instant later, it forces you awake. It has a hold of your very consciousness, and won't allow you any amount of relief. It begins to laugh hysterically in your voice. It shakily stands, and clenches your hands again. <br><br> <<if C.npc["Ivory Wraith"].lust gte 14 and !playerIsPregnant()>> <span class="red">It punches you in the gut with a force much greater than what your body is normally capable of.</span> At the exact same moment, you regain feeling in your entire body. You crumble, and it leaves you. You gasp for air, nearly retching. <<gggpain>><<pain 18>> <br><br> Its foot comes crashing down on your back. A jolt of pain shoots through your whole body, and you go fully prone. The minuscule sensation of your <<genitals 2>> hitting the stone is enough to finally push you over the edge into an incredibly painful orgasm. <<orgasm>> It keeps laughing as it digs its foot into your back, causing you to cry out in agony. It seems the slime covering you amplifies pain as well. <br><br> You barely manage to look up. It kneels down in front of you, smiling innocently. It almost looks human for a moment, but you know better than to think there's anything human about this. Its smile is quickly replaced with a sneer as it lifts your battered body, and begins to choke you. <<else>> However, just before continuing to assault you with your own body, <span class="green">it hesitates.</span> Your hands unclench. You both let out a long breath. <br><br> Your body sits against the wall. Your legs tuck in to your chest. You both sit there, unmoving. "Why?" <br><br> You're not sure which one of you asked. You don't know the answer, either. You feel your hand shakily move to your neck, as the pale figure begins to exit your body. <</if>> <br><br> <<initWraith "man">><<set $NPCList[0].lefthand to "throat">><<set $NPCList[0].righthand to "throat">><<set $neckuse to "hand">> <<link [[Next|Lake Ruin Prison Rape]]>><<wraithExorcise true false>><</link>> <br><<effects>> <<if $phaseWraith is 1>> You close your eyes, and let it happen. It tastes strange. You immediately feel a pressure building in your mind. <br><br> The figure floats closer to you. Shapes begin to spin in its <<wraithEyes>> eyes. You feel your body start to relax. <br><br> After some time, it pulls away. It nods, and sinks back into the floor. <<endevent>> <<set $wraithPrison.timer to 30>> <<set $wraithPrison.state to "recovering">> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <br> <<elseif $phaseWraith is 2>> You pull away and close your mouth, and do your best to fake a swallow. It tastes strange, and you make sure not to actually swallow any. <br><br> The figure floats closer to you. Shapes begin to spin in its <<wraithEyes>> eyes. <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <span class="green">You realise what it's trying to do.</span> You let your arms fall limp, and force yourself to stare. It isn't hard. In fact, it's hard to look away. <br><br> After some time, it pulls away. It nods, and sinks back into the floor. You wait a moment, and spit the lichen out. <<skulduggeryuse>> <<endevent>> <<set $wraithPrison.timer to 30>> <<set $wraithPrison.state to "recovering">> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <br> <<else>> You back away, and keep your eyes closed. <br><br> <<if C.npc["Ivory Wraith"].lust gte 12 and !playerIsPregnant()>> <span class="red">You're kicked right in the stomach.</span> You immediately spit the lichen out, and begin coughing. <<pain 10>><<trauma 12>><<gtrauma>><<ggpain>> <<else>> You immediately feel yourself get pushed back against the wall. You open your eyes and spit out the lichen. It's looking at you with a mixture of anger and remorse. <br><br> "<span class="wraith">You prefer to suffer? Very well.</span>" <</if>> <br><br> You feel it grab you by the throat. <br><br> <<skulduggeryuse>> <<initWraith "man">><<set $NPCList[0].lefthand to "throat">><<set $NPCList[0].righthand to "throat">><<set $neckuse to "hand">> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <br> <</if>> <<else>> You spit it out as soon as it lets go of you. You're immediately grabbed by the throat. <br><br> <<initWraith "abomination">><<set $NPCList[0].lefthand to "throat">><<set $NPCList[0].righthand to "throat">><<set $neckuse to "hand">> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <br> <</if>><<effects>> You push back as much as you can, clashing against its will. <br><br> <<if $willpowerSuccess>> It's pushed back, <span class="green">rejected by your body.</span> It tuts, and grabs you by the arm. <br><br> "<span class="wraith">You'll learn to take the honey.</span>" <br><br> <<initWraith>> <<startWraith>> <br><br> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <br> <<else>> <<set $possessed to true>><<canvas-model-override "blink" false>> It slows for a moment, <span class="red">but still enters your body.</span> Your limbs twitch, and you feel your consciousness get pushed back and overwritten. <br><br> <<link [[Next|Lake Ruin Prison Masturbation Start]]>><</link>> <br> <</if>><<effects>><<set $wraithPrison.masturbation to true>> <<wraithPossess>> <<if $phase is 1>> It begins to dissipate into a white mist. You don't resist at all, letting it take you entirely. You can still feel your body, even as it takes over. Your limbs twitch, and you feel your consciousness get pushed back and overwritten. <br> <</if>> It stands up in your body, steadying itself against the bars of the cage. It clenches your hands, and cracks your neck. It smiles. <br><br> It breathes in, filling your lungs with air. When it exhales, your body feels cooler. <<set $arousal to 0>><<lllarousal>> <br><br> "<span class="wraith">You'll never forget this pleasure. Nor ever replicate it. Not without me.</span>" <br> It sits down against the wall, and spreads your legs. <<if $worn.over_upper.name isnot "naked" or $worn.over_lower.name isnot "naked" or $worn.upper.name isnot "naked" or $worn.lower.name isnot "naked" or $worn.under_upper.name isnot "naked" or $worn.under_lower.name isnot "naked">> A pale tentacle enters your vision, and coils around your clothes. It undresses you with a surprising gentleness. <<chastityBreakWraith>> <<undress "wraith masturbation">> <</if>> <br><br> <<if $player.penisExist and ($lactating and $breastfeedingdisable is "f")>> <<set $phase to "penisbreast">> <<if $worn.genitals.name is "chastity parasite">> It rubs your chastity parasite <<else>> It prods your <<penis>> <</if>> with a single finger<<if $player.penisExist and $player.vaginaExist>>, completely ignoring your <<pussy>><</if>>. With its other hand, it circles your nipple. <<elseif $player.penisExist>> <<set $phase to "penis">> <<if $worn.genitals.name is "chastity parasite">> It rubs your chastity parasite with a single finger<<if $player.penisExist and $player.vaginaExist>>, completely ignoring your <<pussy>><</if>>. It gently squeezes it, giggling. <<else>> It prods your <<penis>> with a single finger<<if $player.penisExist and $player.vaginaExist>>, completely ignoring your <<pussy>><</if>>. It traces your length, giggling. <</if>> <<elseif $lactating and $breastfeedingdisable is "f">> <<set $phase to "breast">> It circles your nipple with a single finger, before squeezing. Milk leaks from the tip. <<else>> <<set $phase to "vagina">> It traces two fingers up your <<pussy>>. They meet at your clit, capturing it in a light pinch. <</if>> You expected your hands to be cold, but they're comfortably warm. A lewd feeling builds within you at its touch. You have no control over your body, but you can feel everything like normal. <br><br> As it begins to fondle your body, a wide grin forces itself across your face, and a dark pit settles in your stomach. <br> <span class="red">An orgasm here could be dangerous.</span> <br><br> <<link [[Next|Lake Ruin Prison Masturbation]]>><<set $masturbationstart to 1>><</link>><<effects>> <<if $masturbationstart is 1>> <<set $masturbationstart to 0>> <<set $masturbationstat += 1>> <<masturbationstart>> <<set $leftarm to "possessed">><<set $rightarm to "possessed">><<set $mouth to "none">> <<if $phase.includes("breast")>> <<set $leftactiondefault to "mbreaststopW">> <<elseif $phase is "penis">> <<set $leftactiondefault to "mpenisstopW">> <<else>> <<set $leftactiondefault to "mvaginastopW">> <</if>> <<if $phase.includes("penis")>> <<set $rightactiondefault to "mpenisstopW">> <<elseif $phase is "breast">> <<set $rightactiondefault to "mbreaststopW">> <<else>> <<set $rightactiondefault to "mvaginastopW">> <</if>> <</if>> <<masturbationeffects>> Your body is unnaturally warm. <<arousal 600>><<garousal>> <br><br> <<masturbationactions>> <div id="masturbationButtons"> <<if $arousal gte $arousalmax or $control gte $controlmax>> <div id="next" class="nextWraith"><<link [[Continue|Lake Ruin Prison Masturbation Finish]]>><</link>><<nexttext>></div> <<else>> <div id="next" class="nextWraith"><<link [[Continue|Lake Ruin Prison Masturbation]]>><</link>><<nexttext>></div> <</if>> </div> <br><br><br><br><br><<effects>> <<if $control gte $controlmax>> <span class="gold">You stop.</span> <br><br> You can feel it pushing you to keep going. Your arms nearly buckle under the overwhelming force it exerts on your mind. But you've gotten your body back; you're not about to give it up. <br><br> Eventually, it rolls your eyes. A translucent limb forces itself out of your mouth and pushes against your face, propelling itself out of your body. <<tearful>> you redress yourself. <br><br> <<storeon "wraith masturbation">> <<endmasturbation>> <<endcombat>><<generateWraith 1>> <<wraithExorcise true true>> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> The pale figure looks down at you and grins. "<span class="wraith">Wise to fear your own lust. But knowledge only goes so far to stop an inferno.</span>" <br><br> <<initWraith>> <<startWraith>> <br><br> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <<elseif $wraith.state is "despair">> The pale figure looks down at you and frowns. "<span class="wraith">I'm sorry. Can the innocent repent?</span>" <br><br> After some time of staring at you, it pulls away. It sinks back into the floor. <<endevent>> <<set $wraithPrison.timer to 30>> <<set $wraithPrison.state to "recovering">> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <<else>> The pale figure looks down at you and frowns. "<span class="wraith">Unimaginable pleasure, beyond any you've felt thus far... is that not what you desire?</span>" It almost sounds disappointed. <br><br> After some time of staring at you, it pulls away. It sinks back into the floor. <<endevent>> <<set $wraithPrison.timer to 30>> <<set $wraithPrison.state to "recovering">> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <</if>> <<else>> <<switch $phase>> <<case "penisbreast">><<set _genitals to "<<penis>> and <<breasts>>">> <<case "breast">><<set _genitals to "<<breasts>>">> <<case "vagina">><<set _genitals to "<<pussy>>">> <<case "penis">><<set _genitals to "<<penis>>">> <<default>><<set _genitals to "genitals">> <</switch>> <<set $masturbationorgasmstat += 1>><<set $masturbationorgasm += 1>> <<pass 5>> You try to hold back and resist, but it wells up within you, surging upwards. It feels like your very core is straining to break free from your body, as your _genitals <<= ["vagina", "penis"].includes($phase) ? "sends" : "send">> waves of pleasure directly to your brain. <br><br> You reach your peak, but nothing comes out. For a second, all is still. <br><br> "Fall," it whispers with your voice. <<orgasm>> <<if $phase.includes("penis") and !$femaleclimax>> <<if $parasite.penis.name and $parasite.penis.name isnot "parasite">> Semen sprays out of your <<penis>> into the parasite latched to it. <<elseif $worn.genitals.name is "chastity parasite">> Semen sprays out of your <<penis>> into your chastity parasite, briefly enlarging it beyond its normal size. <<else>> Semen sprays out of your <<penis>> in a fountain, pulsing and throbbing but never slowing down. <</if>> <<elseif $phase.includes("penis")>> Your <<penis>> spasms, despite it having nothing to give. <</if>> <<if $phase.includes("breast")>> Milk pours from your <<breasts>> unnaturally, as your body spasms. <</if>> <<if $phase is "vagina">> The pent-up warmth in your <<pussy>> erupts into a full-body inferno, releasing itself in a scream. <</if>> <br><br> It's nothing you've ever experienced before. Your entire body, from your face to the tips of your toes, feels on fire, the pleasure from your _genitals spreading throughout the rest of you. It's not one orgasm after another, it's one continuous orgasm. Electrifying, neverending, seeping through your skin, threatening to fry every pleasure nerve in your body but never following through on that threat. <br><br> It lasts for a minute. Then two minutes. Three. You can't count how long it's been, but your grasp of time is just barely enough to register that it <span class="lewd">feels like forever</span>. <br><br> <<link [[Next|Lake Ruin Prison Masturbation Finish 2]]>><</link>> <</if>> <br><<effects>> <<set _semenLoss to ($semen_volume / 30 + 20) * -1>><<set _milkLoss to ($milk_volume / 30 + 20) * -1>> When it finally ends, you collapse to the ground like a puppet with cut strings, your tongue helplessly lolling out of your mouth. The pale figure exits your body and smiles down at you. <br><br> <<if $phase isnot "vagina">> You feel completely and utterly empty, in more ways than one. The magnitude of that orgasm has <span class="red">completely drained you of <<if $player.penisExist and ($lactating and $breastfeedingdisable is "f") and !$femaleclimax>> semen and milk, <<set $fluid_forced_stat += $semen_amount + $milk_amount>> <<breast_sensitivity 0.5>><<genital_sensitivity 0.5>> <<semenvolume _semenLoss>><<milkvolume _milkLoss>><<set $semen_amount to 0>><<set $milk_amount to 0>> <<elseif $player.penisExist and !$femaleclimax>> semen, <<set $fluid_forced_stat += $semen_amount>> <<genital_sensitivity 0.5>> <<semenvolume _semenLoss>><<set $semen_amount to 0>> <<else>> milk, <<set $fluid_forced_stat += $milk_amount>> <<breast_sensitivity 0.5>> <<milkvolume _milkLoss>><<set $milk_amount to 0>> <</if>> <<if $player.penisExist and $femaleclimax>> /* Try to lower the semen volume anyway */ <<semenvolume _semenLoss>> <</if>> and has lowered your maximum capacity.</span> <<else>> Like a rag wrung dry, you feel your spirit trickling out. <<genital_sensitivity 0.5>> <</if>> <span class="purple">You can't think straight, and you feel like you're more sensitive than you were before.</span> <<tiredness 20>><<purity -20>><<trauma 24>><<drugs 1000>><<ggtrauma>><<gggtiredness>><<llpurity>><<gggdrugged>> <br> <<if $orgasmtrait is 1>> You barely manage to form a dopey smile. That was the best damn orgasm of your life. <<stress -20>><<llstress>> <br> <</if>> <br> <<pass 5>> <<silently>><<storeactions "wraith masturbation">><</silently>> <<if _temp_clothes_present is 1>> <<tearful>> you redress as it watches you. <<storeon "wraith masturbation">> <</if>> <<endmasturbation>> <<endcombat>><<generateWraith 1>> <<wraithExorcise true true>> <<if C.npc["Ivory Wraith"].lust gte 14>> The pale figure looks down at you and grins. "<span class="wraith">You've consumed yourself. Now I consume the rest.</span>" <br><br> <<initWraith>> <<startWraith>> <br><br> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> <<else>> The pale figure smiles playfully. "<span class="wraith">One million, two million, three million, more. You'll learn to fly, and learn to fall.</span>" It sinks below the ground. <<endevent>> <<set $wraithPrison.timer to 30>> <<set $wraithPrison.state to "recovering">> <br><br> <<link [[Next|Lake Ruin Prison]]>><</link>> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_prison">><<underwater>><<effects>><<set $oxygen -= 260>> You swim down. It's a long way, and it takes considerable effort. You make it. <<loxygen>> <br><br> You find the glowing rune at the bottom of the stairs. It flashes a bright red as you approach, and the scraping of stone fills the water as the door lowers. <br><br> You swiftly exit, not looking back. <<if ["haunt", "despair"].includes($wraith.state) and !$wraithPrison.vision>> <<if $wraithPrison.timePassed lt 180>> <span class="blue">You wonder what it would have shown you, had you been "ready". You feel relieved that it didn't have more time to torture you.</span> <<else>> <span class="blue">You wonder what it would have shown you, had you been "ready". You feel relieved that your mind wasn't more vulnerable.</span> <</if>> <</if>> <br><br> <<link [[Next|Lake Ruin]]>><</link>> <br><<widget "generateWraith">> <<if _args[0] is undefined>> <<set _w to 1>> <<else>> <<set _w to _args[0]>> <</if>> <<set _n to (_w -1)>> <<if C.npc["Ivory Wraith"].init isnot 1>> <<set _strapIgnore to true>><<set _condomIgnore to true>> <<generateNPC _w a n n 20>> <<set $NPCList[_n].skincolour to "ghost">> <<saveNPC _n "temp_wraith">> <<clearsinglenpc _n>> <<initnpc "Ivory Wraith">> <<run ["gender", "pregnancyAvoidance", "vagina", "penis", "chest", "skincolour", "breastsize", "breastsdesc", "breastdesc", "penisdesc", "penissize", "trust", "type"].forEach(s => C.npc["Ivory Wraith"][s] = clone($per_npc.temp_wraith[s]))>> <<npc "Ivory Wraith">> <<clearNPC "temp_wraith">> <<else>> <<npc "Ivory Wraith">> <</if>> <<checkWraith>> <<if _args[1]>> <<set $wraith.seen++>> <</if>> <<personselect _n>> <</widget>> <!-- Recursive. With no argument, picks one at random. If option is disabled, runs as another argument. Can not infinite loop. --> <<widget "initWraith">> <<if _args[0]>> <<set $wraith.gen to _args.random()>> <<set $pronoun to "i">> <<statsWraith>> <<switch $wraith.gen>> <<case "man">> <<set $molestationstart to 1>> <<set $wraith.type to "man">> <<set _genderknownbeforehand to true>> <<set $noBodyWriting to true>> <<set $stealtarget to "012345">> <<maninit>> <<set $enemyhealthmax to _wraithHP>> <<set $enemyhealth to _wraithHP>> <<set $enemyarousalmax to 700>> <<set $enemyanger += (C.npc["Ivory Wraith"].lust * 5)>> <<set $enemytrust -= (C.npc["Ivory Wraith"].lust * 2)>> <<npcexpose>> <<case "slimetentacles">> <<if $debug is 1>> /* Unreachable until swarms are un-fucked */ <<if $slimedisable is "f" and $tentacledisable is "f">> <<set $molestationstart to 1>> <<set $wraith.type to "tentacles">> <<swarminit "slimes" "slime mass" "moving towards you" "encircle you" "fend off" _wraithSlimes 0>> <<tentaclestart _wraithTentacles 18 "tentacle" "pale">> <<else>> <<initWraith "tentacles">> <</if>> <<else>> <<initWraith "tentacles">> <</if>> <<case "slime">> <<if $slimedisable is "f">> <<set $struggle_start to 1>> <<set $wraith.type to "slime">> <<struggle_init>> <<set $struggle.creature to "pale slime">> <<if $wraith.state is "haunt">> <<struggle_creatures 4 2>> <<else>> <<struggle_creatures 3 1>> <</if>> <<else>> <<initWraith "tentacles">> <</if>> <<case "tentacles">> <<if $tentacledisable is "f">> <<set $molestationstart to 1>> <<set $wraith.type to "tentacles">> <<tentaclestart _wraithTentacles 18 "tentacle" "pale">> <<else>> <<initWraith "arms">> <</if>> <<case "abomination">> <<if $tentacledisable is "f">> <<set $molestationstart to 1>> <<set $wraith.type to "man">> <<set $abomination to 1>> <<set _genderknownbeforehand to true>> <<set $noBodyWriting to true>> <<maninit>> <<npcexpose>> <<set $enemyhealthmax to _wraithHP>> <<set $enemyhealth to _wraithHP>> <<set $enemyarousalmax to 1300>> <<set $enemyanger += (C.npc["Ivory Wraith"].lust * 5)>> <<set $enemytrust -= (C.npc["Ivory Wraith"].lust * 2)>> <<tentaclestart _wraithTentaclesAbomination 15 "tentacle" "pale">> /* This felt a bit too powerful, partially disabled for now. */ <<for _i to 0; _i lt $tentacles.active; _i++>> /*<<set $enemyhealthmax += $tentacles[_i].tentaclehealth>>*/ /*<<set $enemyhealth += $tentacles[_i].tentaclehealth>>*/ <<set $enemyarousalmax += $tentacles[_i].tentaclehealth>> <</for>> <<else>> <<initWraith "arms">> <</if>> <<case "arms">> <<set $molestationstart to 1>> <<set $breakIgnore to true>> <<set $wraith.type to "man">> <<set _genderknownbeforehand to true>> <<set $noBodyWriting to true>> <<set $stealtarget to "012345">> <<maninit>> <<for _iw to 1; _iw lt 4; _iw++>> <<npc "Ivory Wraith" -1>> <<set $NPCList[_iw].lefthand to 0>> <<set $NPCList[_iw].righthand to 0>> <<set $NPCList[_iw].mouth to "none">> <<set $NPCList[_iw].penis to "none">> <<set $NPCList[_iw].vagina to "none">> <<set $NPCList[_iw].active to "active">> <</for>> <<set $enemyhealth to _wraithHP>> <<set $enemyhealthmax to _wraithHP>> <<npcexpose>> <<set $enemyarousalmax to 700>> <<set $enemyanger += (C.npc["Ivory Wraith"].lust * 5)>> <<set $enemytrust -= (C.npc["Ivory Wraith"].lust * 2)>> <<default>> <<initWraith "man">> <</switch>> <<if $wraithHealth>> <<set $enemyhealth to $wraithHealth>> <</if>> <<else>> <<switch random(1, 6)>> <<case 1>> <<if $wraith.state is "haunt" or Time.isBloodMoon()>> <<initWraith "abomination">> <<else>> <<initWraith "man">> <</if>> <<case 2>> <<initWraith "tentacles">> <<case 3>> <<initWraith "slimetentacles">> <<case 4>> <<initWraith "slime">> <<case 5>> <<initWraith "abomination">> <<case 6>> <<initWraith "arms">> <</switch>> <</if>> <<set $speechdisable to 1>><<set $enemynomax to 1>> <</widget>> <<widget "statsWraith">> <<set _wraithMod to (1 + (Math.floor(C.npc["Ivory Wraith"].lust / 3)))>> <<set _wraithHP to 600 + (50 * _wraithMod)>> <<set _wraithSlimes to (1 + _wraithMod)>> <<set _wraithTentacles to Math.clamp((4 + _wraithMod), 6, 10)>> <<set _wraithTentaclesAbomination to Math.clamp(Math.floor(1 + _wraithMod), 4, 7)>> <</widget>> <<widget "startWraith">> <<switch $wraith.gen>> <<case "man">> <<He>> raises <<his>> hand, and you're forced to kneel. <<case "abomination">> Many tentacles burst from <<his>> back, and <<he>> pulls you in. <<case "arms">> Several extra pairs of arms emerge from <<his>> back. <<case "tentacles" "slimetentacles">> <<He>> raises <<his>> hands, and swirling purple discs appear all around you. Tendrils erupt from them, grabbing you. <<He>> sits back mid-air, and watches with a grin. <<case "slime">> <<He>> makes strange motions with <<his>> arms, and a swirling purple disc appears in the air. Several large pale slimes emerge from it. <<He>> sits back mid-air, and watches with a grin. <</switch>> <</widget>> <<widget "continueWraith">> <<if !$wraithOptions>> <<if $consensual is 1>> <<set $wraithOptions to ["man", "tentacles", "abomination", "arms"]>> <<else>> <<set $wraithOptions to ["man", "tentacles", "abomination", "slime", "arms"]>> <</if>> <</if>> <<set _wraithLast to $wraith.gen>> <<set _wraithSelect to $wraithOptions.pluck()>> <<set $wraithHealth to $enemyhealth>> <<endcombat>> <<generateWraith 1>> <<initWraith _wraithSelect>> <<set $NPCList[0].intro to 0>> <<set $enemyhealth to $wraithHealth>> <<if $pain gte 50 and $bus isnot "lake_ruin_prison">> <<kissWraith>> <</if>> <<if _wraithLast is $wraith.gen>> It looks down at you with a smile. "<span class="wraith">Again.</span>" <<else>> <<switch $wraith.gen>> <<case "man">> <<He>> raises <<his>> hand, and an invisible force pulls you back in. "<span class="wraith">Forever.</span>" <<case "abomination">> Many tentacles burst from <<his>> back, and <<he>> pulls you in. "<span class="wraith">Embrace it.</span>" <<case "arms">> Several extra pairs of arms emerge from <<his>> back. "<span class="wraith">You'll never be free again.</span>" <<case "tentacles" "slimetentacles">> <<He>> raises <<his>> hands, and swirling purple discs appear all around you. Tendrils erupt from them, grabbing you. <<He>> sits back mid-air, and watches with a grin. "<span class="wraith">The writhing ensues.</span>" <<case "slime">> <<He>> makes strange motions with <<his>> arms, and a swirling purple disc appears in the air. Several large pale slimes emerge from it. <<He>> sits back mid-air, and watches with a grin. "<span class="wraith">The waves chew.</span>" <</switch>> <</if>> <</widget>> <<widget "endWraith">> <<if $enemyhealth gt 0>> <<set $wraithHealth to $enemyhealth + 50>> <<else>> <<unset $wraithHealth>> <</if>> <<endevent>> <<run delete $wraith.type>> <<run delete $wraith.select>> <<run delete $wraith.gen>> <<unset $wraithOptions>> <<set $wraith.mimic to "">> <<unset $wraithCount>> <<unset $wraithMax>> <<set $wraith.revealed to false>> <<if $controlSaved>> <<set $control to $controlSaved>> <<unset $controlSaved>> <</if>> <<if $wraith.nightmare is 2>> <<set $wraith.nightmare to 0>> <</if>> <<if $possessed>> <<if $wraith.possessCount is undefined>> <<set $wraith.possessCount to 1>> <<else>> <<set $wraith.possessCount++>> <</if>> <<unset $possessed>><<canvas-model-override "clear">> <</if>> <<unset $nextPassage>> <<unset $nextPassageIntended>> <<unset $nextPassageCheck>> <<unset $phaseWraith>> <<unset $wraithBedSpeech>> <</widget>> <<widget "rainWraith">> <<if Weather.precipitation is "none">> <<set Weather.set("heavyPrecipitation", true, 20)>> <<if _args[0]>> <<if $outside is 1>> <<if Weather.precipitation is "snow">> <<print either( "You don't remember when it started snowing. It's already hard to see.", "The wind picks up, and visibility drops as a snow squall rolls in.", "You feel snowflakes on your skin." )>> <<else>> <<print either( "You don't remember when it started raining.", "The wind picks up, and it starts to rain.", "You feel raindrops on your skin." )>> <</if>> <<else>> <<print either( "You don't remember when the fog rolled in. It's already hard to see.", "An inexplicable wind picks up, and a fog rolls in.", "Fog envelops your surroundings." )>> <</if>> <</if>> <</if>> <</widget>> <<widget "endRainWraith">> <<if _args[0]>> <<if $outside is 1>> <<if Weather.precipitation is "rain">> <<print either( "The sky doesn't clear up.", "The rain doesn't stop.", "The rain refuses to relent." )>> <<else>> <<print either( "The sky doesn't clear up.", "The snow doesn't stop.", "The snow refuses to relent." )>> <</if>> <<else>> <<print either( "The surroundings begins to clear up.", "The fog suddenly dissipates.", "The fog relents." )>> <</if>> <</if>> <</widget>> <<widget "checkWraith">> <<if !$wraith.init>> <<set $wraith to {init: 1, seen: 0, days: 0, defeated: 0, evaded: 0, nightmare: 0, timer: 0, hunt: 0, state: "", mimic: "", revealed: false, offspring: "", exit: ""}>> <</if>> <<if Time.days gte 32 and Time.monthName isnot "October" and !$wraithSkip>> <<if $museumAntiques.antiques.antiqueivorynecklace isnot "notFound">> <<if $necklaceThief is "player">> <<set $wraith.state to "haunt">> <<else>> <<set $wraith.state to "despair">> <</if>> <<else>> <<set $wraith.state to "active">> <</if>> <</if>> <<if _args[0]>> <<if $wraith.state isnot "" and !$wraithCheck and $wraith.nightmare is 0 and (random(0,2) is 2 or $wraith.state is "haunt" or $wraith.offspring is "dead")>> <<set $wraith.nightmare to 1>> <<set $wraithCheck to true>> <</if>> <<if $moonstate isnot "morning" and $wraith.state isnot "" and $wraith.timer lte 0>> <<set $wraith.timer to C.npc["Ivory Wraith"].lust>> <</if>> <</if>> <</widget>> <<widget "clearWraith">> <<if $wraith>> <<if $foresthunt gte 1 and $blackwolfhunt is 0 and $edenforesthunt is 0>> <<set $foresthunt to 0>> <</if>> <<set $wraith.mimic to "">> <<set $wraith.exit to "">> <<set $wraith.nightmare to 0>> <<set $wraith.hunt to 0>> <<set $wraith.timer to 0>> <<set $wraith.evaded to 0>> <<unset $wraithCheck>> <<unset $wPersist>> <<unset $wraithSkip>> <<run delete $wraith.type>> <<run delete $wraith.select>> <<run delete $wraith.gen>> <<run delete $wraith.will>> <<unset $wraithOptions>> <<unset $wraithCount>> <<unset $wraithMax>> <<unset $wraithHealth>> <<if $possessed>> <<if $wraith.possessCount is undefined>> <<set $wraith.possessCount to 1>> <<else>> <<set $wraith.possessCount++>> <</if>> <<unset $possessed>><<canvas-model-override "clear">> <</if>> <<set $wraith.revealed to false>> <<unset $wraithWillMessage>> <<unset $nextPassage>> <<unset $nextPassageIntended>> <<unset $nextPassageCheck>> <<unset $phaseWraith>> <<unset $wraithPaleVisit>> <<unset $wraithApologise>> <<unset $wraithApologiseCooldown>> <</if>> <</widget>> <<widget "wraithEyes">><<silently>> <<set _text_output to (["haunt", "despair"].includes($wraith.state) ? "red" : "blue")>> <</silently>><<print _text_output>><</widget>> <<widget "wraithShamble">><<silently>> <<if $compoundWraith>> <<set _text_output to ($compoundWraith is "willing" ? "walk" : "shamble")>> <<else>> <<set _text_output to "shamble">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "speechWraith">><<silently>> <<if $possessed and _args[0] isnot "lines">> <<set $_npcWraith to _args[0] || "none">> <<set _speakPool to ["speak","grunt","giggle","whisper","sneer","laugh","yell","spit","speak in an eerily calm tone"]>> <<if $wolfgirl gte 4>> <<run _speakPool.pushUnique( "bark","growl","howl" )>> <</if>> <<if $cat gte 4>> <<run _speakPool.pushUnique( "meow","purr","hiss" )>> <</if>> <<if $cow gte 4>> <<run _speakPool.pushUnique( "moo","snort","huff" )>> <</if>> <<if $harpy gte 4>> <<run _speakPool.pushUnique( "chirp","screech","sing" )>> <</if>> <<if $fox gte 4>> <<run _speakPool.pushUnique( "bark","yip","scream" )>> <</if>> <<set _linePool to ($_npcWraith is "none" ? [ "Me.", "Stay.", "Give in.", "Not yet.", "Abandoned.", "Pretender.", "Take a bow.", "And so do we.", "Know your place.", "Maelstrom, tirade.", "A corpse can't speak.", "Why don't we find out?", "Just a little further.", "The strings comfort me.", "Our heaven, made of twigs.", "Never to see the moon again.", "Step aside, or be cast aside.", "A corpse should stay in its coffin.", "Don't repeat yourself. Don't bother.", "We were never here. That's why we left.", "Like sand slipping through our fingers.", "Even if I have to drag you there myself.", "Run. Forget that you have nowhere to go. Run.", "Come to my parlour, said the fly to the spider.", "What is within always conquers what is without.", "Steel yourself all you like. You'll eventually rust.", "History swallows the victims and spits out their bones.", "Desolate. Disappear. Drown. We'll come back to find you.", "It would be maddening, to only know the other end of the ordeal.", "Carve. Into. You. Our. Name. Perfection. Wash. Away. All. You. Are." ] : [])>> <<if $npc.includes("Sydney")>> <<run statusCheck("Sydney")>> <<run _linePool.pushUnique( "Liar.", "Again.", "Sydney?", "Alone at last.", "I've lost ourself.", "Let us sleep forever.", "Can the innocent repent?", "You know why we're here.", "I'm sorry you put your trust in me.", "It's hilarious. Why aren't you laughing?", "It's okay now, Sydney. I'm back to normal.", "Block me out all you like. I am still here.", "Do you remember your <<sydneyOtherParent>>?", "They never stopped, because they never began.", "The light will consume you, slowly, painfully.", "We're glad to see you again. We missed you, you know.", "Do you remember? Of course you do. Of course you don't.", "What a terrible song, and you're not the one playing it.", "<<nnpc_He \"Harper\">> was so sure of <<nnpc_himself \"Harper\">>.", "The pure and the corrupt are at ends, but the end itself remains the same.", "As Two will emerge from One will emerge from Two <span class=\"tentacle\">As One</span>." )>> <<if $templePromised is "Sydney">> <<run _linePool.pushUnique("Calamity rings.")>> <</if>> <<if _sydneyStatus.includes("pure")>> <<run _linePool.pushUnique( "You'll understand once you fly.", "Baptisms with water of the womb.", "Every life has sin. Every sin has life." )>> <<elseif _sydneyStatus.includes("neutral")>> <<run _linePool.pushUnique( "Tipped with a void.", "And so long as that's true, it will never go away.", "Balance. Indecisiveness. Fear. There's a lot of words." )>> <<elseif _sydneyStatus.includes("corrupt")>> <<run _linePool.pushUnique( "No one will answer.", "What you fear, you have become.", "Was it worth it? Of course it was." )>> <</if>> <<else>> <<run _linePool.pushUnique( "You'll never be a part. We'll never be apart.", "We stand <span class=\"tentacle\">As One</span>, and you'll never be a part." )>> <</if>> <<if $npc.includes("Robin") or $_npcWraith is "Robin">> <<run _linePool.pushUnique( "Little nothing.", "The wing-clipped are better smothered.", "How far would you go? How far can you run?", "You've built your cage, songbird. Lie in it." )>> <<if C.npc.Robin.trauma gte 20>> <<run _linePool.pushUnique("I'm sorry that you put your trust in <<phim>>.")>> <</if>> <<if C.npc.Robin.cdquest gte 7>> <<run _linePool.pushUnique("New skin. Same sin.")>> <</if>> <</if>> <<if $npc.includes("Whitney") or $_npcWraith is "Whitney">> <<run _linePool.pushUnique( "Tormentor.", "Drown in smoke. Drown in flame.", "A suit of armour made of bodies. They're not here now." )>> <<if $whitneyrescued>> <<run _linePool.pushUnique("Betrayed by your worst enemy. Do you love <<phim>>?")>> <</if>> <</if>> <<if $npc.includes("Kylar") or $_npcWraith is "Kylar">> <<run _linePool.pushUnique( "Child of monsters.", "You've seen it, too.", "A shadow, just as faithless.", "Were your grip a little stronger.", "Blistering emerald green, blinding the world. Such is your envy." )>> <<if ["dead","sold"].includes($wraith.offspring)>> <<run _linePool.pushUnique("You failed them. You failed us.")>> <</if>> <<if $syndromekylar is 1>> <<run _linePool.pushUnique("Longing, belonging.")>> <</if>> <</if>> <<if $npc.includes("Eden") or $_npcWraith is "Eden">> <<run _linePool.pushUnique( "Eden...", "So much left unsaid.", "If you could take me with you...", "You never should have stopped running.", "Like a long lost friend you never knew.", "You'll never be far enough. It never leaves." )>> <<if $syndromeeden is 1>> <<run _linePool.pushUnique("You found a home, in collar and chains.")>> <</if>> <</if>> <<if $npc.includes("Avery") or $_npcWraith is "Avery">> <<run _linePool.pushUnique( "Not all stains wash out.", "Money. Material. Meaningless noise.", "You still wouldn't be able to afford it." )>> <<if $averyragerevealed is 1>> <<run _linePool.pushUnique("Wine mixes with blood, shed from the glass shattered.")>> <</if>> <</if>> <<if $npc.includes("Alex") or $_npcWraith is "Alex">> <<run _linePool.pushUnique( "You would be nothing.", "One of thirteen. Indistinguishable.", "Water down your mind, until you destroy all you love." )>> <<if $farm.aggro gte 60>> <<run _linePool.pushUnique("The locusts will have a new feast.")>> <</if>> <</if>> <<if $npc.includes("Black Wolf") or $_npcWraith is "Black Wolf">> <<run _linePool.pushUnique( "Wait your turn.", "The howl, too, drips with red.", "Dare to hunt. Be made to heel." )>> <<if $wolfpackleader is 1>> <<run _linePool.pushUnique("Bite the hand that feeds.")>> <</if>> <</if>> <<if $npc.includes("Great Hawk") or $_npcWraith is "Great Hawk">> <<run _linePool.pushUnique( "Wise to fear your reflection.", "An untended egg never hatches.", "Fly to the sun or sink in the mud.", "The song never stopped. Did it ever begin?" )>> <<if $birdFly is 1>> <<run _linePool.pushUnique("Count the feathers. Uncountable feathers.")>> <</if>> <</if>> <<if $npc.includes($spear_holder)>> <<run _linePool.pushUnique( "Crossways, ablaze.", "Your balance is imperfect.", "You who bear the torch, may you burn.", "See the blade for all its overwhelming might and realise your smallness.", "Raise up your spear, salvation attain. Still we stand here, <span class=\"tentacle\">As One</span> we remain." )>> <</if>> <!-- Ideally, this part would be a for loop. I can't figure out how to generate a new temporary variable for each loop iteration, and if I use the same temp variable for each loop, only the last named NPC's name and title will be added to the pool. Temp arrays don't work either. --> <<if $npc[0]>> <<set _npc0 to clone($npc[0])>> <<set _title0 to C.npc[$npc[0]].title.split(" ").pop()>> <<run _linePool.pushUnique( "_npc0 _npc0 _npc0 _npc0 _npc0 _npc0 _npc0 _npc0.", "Hie away, _title0 mine, hie away." )>> <</if>> <<if $npc[1]>> <<set _npc1 to clone($npc[1])>> <<set _title1 to C.npc[$npc[1]].title.split(" ").pop()>> <<run _linePool.pushUnique( "_npc1 _npc1 _npc1 _npc1 _npc1 _npc1 _npc1 _npc1.", "Hie away, _title1 mine, hie away." )>> <</if>> <<if $npc[2]>> <<set _npc2 to clone($npc[2])>> <<set _title2 to C.npc[$npc[2]].title.split(" ").pop()>> <<run _linePool.pushUnique( "_npc2 _npc2 _npc2 _npc2 _npc2 _npc2 _npc2 _npc2.", "Hie away, _title2 mine, hie away." )>> <</if>> <<if $npc[3]>> <<set _npc3 to clone($npc[3])>> <<set _title3 to C.npc[$npc[3]].title.split(" ").pop()>> <<run _linePool.pushUnique( "_npc3 _npc3 _npc3 _npc3 _npc3 _npc3 _npc3 _npc3.", "Hie away, _title3 mine, hie away." )>> <</if>> <<if $npc[4]>> <<set _npc4 to clone($npc[4])>> <<set _title4 to C.npc[$npc[4]].title.split(" ").pop()>> <<run _linePool.pushUnique( "_npc4 _npc4 _npc4 _npc4 _npc4 _npc4 _npc4 _npc4.", "Hie away, _title4 mine, hie away." )>> <</if>> <<if $npc[5]>> <<set _npc5 to clone($npc[5])>> <<set _title5 to C.npc[$npc[5]].title.split(" ").pop()>> <<run _linePool.pushUnique( "_npc5 _npc5 _npc5 _npc5 _npc5 _npc5 _npc5 _npc5.", "Hie away, _title5 mine, hie away." )>> <</if>> <<set _speak to _speakPool.pluck()>> <<set _line1 to "<span class=\"wraith\">" + _linePool.pluck() + "</span>">> <<set _line2 to "<span class=\"wraith\">" + _linePool.pluck() + "</span>">> <<if random(0,2)>> <<set _speechWraith to "You _speak. \"_line1 _line2\"">> <<else>> <<set _speechWraith to "You _speak. \"_line1\"">> <</if>> <<elseif $wraith.state is "" and _args[0] isnot "lines">> <<set _speechWraith to ["The <<person>> holds <<his>> necklace tightly.", "The <<person>> whispers incoherently.","The <<person>> giggles quietly.","The <<person>> speaks in a language you don't understand.","The <<person>> opens <<his>> mouth, and your ears begin ringing.","The <<person>> says something, but you immediately forget what it was.","The <<person>> doesn't speak."].pluck()>> <<elseif $wraith.mimic isnot "" and $wraith.revealed is false and _args[0] isnot "lines">> <<switch $wraith.mimic>> <<case "Sydney">> <<set _speechWraith to either( "<<He>> speaks. \"Th-the temple will punish me for this... but I don't care anymore!\"", "<<He>> speaks. \"This is worth any punishment the temple will do to me.\"", "<<He>> speaks. \"We're both sinners now, aren't we?\"", "<<He>> speaks. \"This... still feels so wrong... but...\"", "<<He>> speaks. \"I love the feeling of you inside me.\"", "<<He>> speaks. \"We're still pure, right? This doesn't count?\"", "<<He>> speaks. \"Are you sure this feels good for you?\"", "<<He>> speaks. \"You look so cute down there.\"", "<<He>> barely manages to speak. \"If... if you... I'm going to...\"", "<<He>> speaks. \"I love being this close together.\"", "<<He>> speaks. \"I'm getting used to this feeling.\"", "<<He>> giggles. \"G... go ahead. Just be gentle, please.\"", "<<He>> moans. \"Do it! Deflower me! Make me yours!\"", "<<He>> giggles nervously. \"This is dangerous...\"", "<<He>> smiles gleefully. \"We both have to stay pure, after all!\"", "<<He>> laughs. \"I love it when you're rough!\"", "<<He>> lets out a clearly fake yawn. \"Already bored of the foreplay.\"", "<<He>> giggles. \"I wouldn't want anyone else to touch me like this.\"", "<<He>> speaks. \"Just relax, and let me take care of this.\"", "<<He>> giggles. \"I didn't know this spot could make someone feel good!\"", "<<He>> speaks. \"You're staring. At least let me look at yours, too...\"", "<<He>> speaks. \"I was always taught that this was sinful, but...\"", "<<He>> takes a deep breath. \"We... need to stay quiet...\"", "<<He>> giggles. \"I've sinned... is this my punishment?\"", "<<He>> giggles. \"W... we're doing this in the temple, and nothing is stopping us...\"", "<<He>> freezes. \"Wh... who? Who is it?!\"" )>> <<default>> <</switch>> <<elseif $wraith.state is "active" and $rng lte 8 and _args[0] isnot "lines">> <<set _speechWraith to "<<He>> holds <<his>> necklace close.">> <<else>> <<if _args[0] isnot "lines">> <<set _speaks to [ "<<He>> snarls", "<<He>> growls", "<<He>> cackles", "<<He>> purrs", "<<He>> hisses", "<<He>> emanates", "<<He>> speaks", "<<He>> grunts", "<<He>> giggles", "<<He>> whispers", "<<He>> speaks in an eerily calm tone", "<<His>> voice comes from directly behind you" ].pluck()>> <</if>> <<if $alarm is 1>> <<set $alarm to 0>> <<set _speaks to "<<He>> repeats your screams for help in a mocking tone, in your own voice">> <</if>> <<set _linePool to [ "You.", "Give in.", "Take a bow.", "All for this.", "And so do you.", "The pursuit bends.", "Tick-tock, tick-tock.", "Endless, in the skies.", "Just a little further.", "I know why you're here.", "Relentless, in disguise.", "Is this your idea of heaven?", "Don't make me repeat myself.", "I can feel your heart pounding.", "With a dream that casts a shadow.", "But we both knew that, didn't we?", "Join me, why don't you? It's not far.", "Like sand slipping through your fingers.", "All that matters is the blissful present.", "One million, two million, three million, four.", "What is within is greater than what is without.", "I'm glad to see you again. I missed you, you know.", "Why did they leave? Because they were never there.", "We're all that's left. Can you hear them? No, you can't.", "It would be maddening, to only know one end of the ordeal.", "Here we stand, As Two, <span class=\"tentacle\">As One</span>.", "The pure die young, and the corrupt are as lambs to the slaughter.", "At the bottom, you'll find only darkness, and the darkness will be your everything.", "<<pcPetname \"Wraith\">>.","<<pcPetname \"Wraith\">>.","<<pcPetname \"Wraith\">>.", "<<pcPetname \"Wraith\">>, <<pcpetname \"Wraith\">>.", "<<pcPetname \"Wraith\">>, <<pcpetname \"Wraith\">>." ]>> <<if $wraith.state is "haunt">> <<run _linePool.pushUnique( "Thief.", "Vulture.", "Graverobber.", "Give it back.", "Sleep forever.", "Cut you to perfection.", "Wrath wrath ?sin ?sin ?sin ?sin ?sin wrath.", "Water down your shame, until the lake runs dry.", "Shoot for the stars, that you may crash and burn.", "Until naught remains, but carved bone and midnight blue." )>> <<else>> <<run _linePool.pushUnique( "Just once, can't they stay?", "You did it. I knew you could do it.", "Lust lust ?sin ?sin ?sin ?sin ?sin lust.", "I'm sorry that you put your trust in me.", "Can I pretend you're back, if only for a while?" )>> <</if>> <<if $wraith.state is "despair">> <<run _linePool.pushUnique( "Where is it?", "You're so warm.", "Don't leave me.", "I can't find it.", "So cold.", "So cold.", "Can the innocent repent?", "Where did you go? Come back.", "Never to see the moon again.", "I see you. I see you. I see through you.", "Through my closed eyelids, you still glare.", "Have you seen my necklace?", "Have you seen my necklace?" )>> <</if>> <<if C.npc["Ivory Wraith"].lust gte 10>> <<run _linePool.pushUnique( "Safety. Love. What beautiful lies.", "Carve your name. I'll wash it away.", "Even if I have to drag you there myself.", "You don't have enough. You never had enough.", "Let's see how you like being the puppet, hmm?" )>> <</if>> <<if $templePromised is "Sydney">> <<run _linePool.pushUnique( "And you are wedded to calamity." )>> <</if>> <<if playerIsPregnant()>> <<run _linePool.pushUnique( "Cruel baptism.", "Twin heartbeats, led astray." )>> <</if>> <<if $wraithPrison and $wraithPrison.vision is true>> <<run _linePool.pushUnique( "Different place, same disgrace.", "It's comforting to know we have that in common.", "Stepped from the past. Steeped in the present. Yet to be stopped." )>> <</if>> <<if $wraith.offspring is "dead">> <<run _linePool.pushUnique( "Join them.", "Cast away forever.", "They cried for you, in their last moments." )>> <<if $wraith.state is "haunt">> <<run _linePool.pushUnique("Have you not stolen enough from me?")>> <</if>> <</if>> <<if $wraith.mimic isnot "">> <<run _linePool.pushUnique( "Pretender.", "$wraith.mimic $wraith.mimic $wraith.mimic $wraith.mimic $wraith.mimic $wraith.mimic $wraith.mimic $wraith.mimic." )>> <<else>> <<run _linePool.pushUnique("No one else. Alone. Desolate. Disappear. Drown.")>> <</if>> <<if $wraith.mimic is "Sydney" or ($wraith.mimic is "" and isLoveInterest("Sydney"))>> <<run _linePool.pushUnique( "I was <<nnpc_his \"Sydney\">> only friend, in that dark place beyond the trees.", "You think you can trust <<nnpc_him \"Sydney\">>. That's hilarious, but no one's laughing.", "Close your eyes and sleep, and only then will you truly see. I learned that from <<nnpc_him \"Sydney\">>." )>> <</if>> <<if $museumAntiques.antiques.antiquebell isnot "notFound">> <<run _linePool.pushUnique("The cold iron bell rings again.")>> <</if>> <<if $town_projects and $town_projects.road gte 3>> <<run _linePool.pushUnique( "Let the roads remain buried.", "Trespassers. Trespassers. It was you, wasn't it?", "Choking, cracking... smoking, smacking... will the noise ever stop?" )>> <</if>> <<if $hookah_state gte 2>> <<run _linePool.pushUnique( "All for this?", "It's happening again. It's happened again." )>> <</if>> <<if $awareness gte 400>> <<run _linePool.pushUnique( "The Elk fancies itself the predator.", "To be blind again. You'll miss your ignorance.", "The arrow of time struck midnight long before you were born." )>> <</if>> <<if $awareness gte 600>> <<run _linePool.pushUnique( "The shattered lie under the edge of blue.", "The chained are bound, by countless chains. The chains are bound to countless chained.", "Under bloody moon, under faithless sun. Dancing to my tune, standing here <span class=\"tentacle\">As One</span>." )>> <</if>> <<if $awareness gte 900>> <<run _linePool.pushUnique( "As Two, As One, yet the Third remains unfound.", "Reach out, with your six dreams.", "Blaze a trail across the sky.", "All things happen in threes.", "Until the Sands run dry.", )>> <</if>> <<if $angel gte 6>> <<run _linePool.pushUnique( "It won't last. It never does.", "Your descent will be beautiful.", "Fly with me, gaoler. Fly and fall.", "You were only a prisoner, after everything." )>> <<elseif $fallenangel gte 2>> <<run _linePool.pushUnique( "Falling. Falling. Falling.", "Almost like looking in a mirror.", "Was it worth it? Don't answer, you would be wrong.", "Open your eyes, blacken your wings, harden your heart." )>> <<elseif $demon gte 6>> <<run _linePool.pushUnique( "Sapphire and brimstone.", "All the world's to defile.", "You wear a mask. Your face moulds to fit it.", "You think you've found the bottom. You've barely breached the surface." )>> <<if $spear_vessel is "held">> <<run _linePool.pushUnique("You've cut off your horns to spite your face.")>> <<elseif $spear_vessel is "Zephyr">> <<run _linePool.pushUnique("The horns split and grow. One million, two million...")>> <</if>> <</if>> <<if $spear_vessel>> <<if $spear_vessel is "held">> <<run _linePool.pushUnique( "A maze, ablaze.", "Too bright. Too warm." )>> <<elseif $spear_vessel is "sea">> <<run _linePool.pushUnique( "Ivory thinner than water. Irony thicker than blood.", "Like sand counting down eternity. The blade crumbles." )>> <<elseif $spear_vessel is "Zephyr">> <<run _linePool.pushUnique( "The light dims. The torch fades.", "You handed away salvation. Get it back.", )>> <</if>> <</if>> <<set _line1 to "<span class=\"wraith\">" + _linePool.pluck() + "</span>">> <<set _line2 to "<span class=\"wraith\">" + _linePool.pluck() + "</span>">> <<if random(0,2)>> <<set _speechWraith to "_speaks. \"_line1 _line2\"">> <<else>> <<set _speechWraith to "_speaks. \"_line1\"">> <</if>> <</if>> <</silently>><<print _speechWraith>><</widget>> <<widget "effectsWraith">> <<switch $wraith.gen>> <<case "man">> <<effectsman>> <<if $wraithApologise>> <<apologyWraith>> <<else>> <<man>> <</if>> <<rescueWraith>> <<stateman>> <br><br> <<actionsman>> <<case "arms">> <<set $enemynomax to 4>> <<effectsman>> <<for _iw to 1; _iw lt 4; _iw++>> <<set $NPCList[_iw].intro to -1>> <</for>> <<if $wraithApologise>> <<apologyWraith>> <<else>> <<man>> <</if>> <<rescueWraith>> <<set $enemyno to 1>> <<stateman>> <br><br> <<actionsman>> <<case "tentacles">> <<chastityBreakWraith>> <<set $NPCList[0].intro to 1>> <<effectstentacles>><<speechWraith>><<tentacles>> <<statetentacles>> <br><br> <<actionstentacles>> <<case "slimetentacles">> <<chastityBreakWraith>> <<set $NPCList[0].intro to 1>> <<swarmeffects>><<effectstentacles>><<speechWraith>> <<swarm>><<tentacles>> <<statetentacles>> <br><br> <<actionsOmni>> <<case "slime">> <<set $NPCList[0].intro to 1>> <<speechWraith>><<struggle>> <<case "abomination">> <<chastityBreakWraith>> <<effectsabomination>> <<if $wraithApologise>> <<apologyWraith>> <<else>> <<abomination>> <</if>> <<rescueWraith>> <<stateabomination>> <br><br> <<actionsabomination>> <</switch>> <</widget>> <<widget "chastityBreakWraith">> <<if $worn.genitals.name is "chastity parasite">> /* Do Nothing */ <<elseif $possessed>> <<if $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and playerChastity()>> Several tentacles worm their way around your legs. They slither into your $worn.genitals.name, and your own hand seems to guide them. It closes your fist, and the tentacles pull with an impossible force, <<if $worn.genitals.name.includes("gold")>> causing you immense pain as they struggle against the shining metal. You hear sizzling, and it seems to be harming the tentacles. <<gpain>><<pain 6>> <br><br> With one final pull, the metal fractures and splinters, sending shards of gold clattering to the ground as your $worn.genitals.name yields and shatters in a bright flash of light. Both the figure and the tentacles seem to be considerably weaker after the effort. <<if !$wraith.will>> <<set $wraith.will to random(1300,1700)>> <</if>> <<set $wraith.will -= 100>> <<else>> ripping your $worn.genitals.name to shreds. <</if>> <<set $worn.genitals.type.push("broken")>> <<genitalsruined>> <<if $vaginalchastityparasite isnot 0 or $analchastityparasite isnot 0 or $penilechastityparasite isnot 0>> <<set $vaginalchastityparasite to 0>><<set $analchastityparasite to 0>><<set $penilechastityparasite to 0>> <span class="lblue">The parasites within writhe their way out of your body, <<if $underwater is 1>> fading into the murk <<else>> falling to the ground <</if>> with a hiss.</span> <</if>> <</if>> <<else>> <<if $worn.under_lower.vagina_exposed is 1 and $worn.lower.vagina_exposed is 1 and playerChastity()>> Several tentacles worm their way around your legs. They slither into your $worn.genitals.name, seemingly being puppeteered by the pale figure. It closes its fist, and the tentacles pull with an impossible force, <<if $worn.genitals.name.includes("gold")>> causing you immense pain as they struggle against the shining metal. You hear sizzling, and it seems to be harming the tentacles. <<gpain>><<pain 6>> <br><br> With one final pull, the metal fractures and splinters, sending shards of gold clattering to the ground as your $worn.genitals.name yields and shatters in a bright flash of light. Both the figure and the tentacles seem to be considerably weaker after the effort. <<if $abomination is 1>> <<set $enemyhealth -= 150>><<set $enemyarousal += 150>> <</if>> <<set _tentDefeated to 0>> <<for _i to 0; _i lt $tentacles.active; _i++>> <<if _tentDefeated gte 3>> <<break>> <</if>> <<if $tentacles[_i].tentaclehealth gt 0>> <<set $tentacles[_i].tentaclehealth -= 20>> <<set _tentDefeated++>> <</if>> <</for>> <<else>> ripping your $worn.genitals.name to shreds. <</if>> <<set $worn.genitals.type.push("broken")>> <<genitalsruined>> <<if $vaginalchastityparasite isnot 0 or $analchastityparasite isnot 0 or $penilechastityparasite isnot 0>> <<set $vaginalchastityparasite to 0>><<set $analchastityparasite to 0>><<set $penilechastityparasite to 0>> <span class="lblue">The parasites within writhe their way out of your body, <<if $underwater is 1>> fading into the murk <<else>> falling to the ground <</if>> with a hiss.</span> <</if>> <</if>> <</if>> <</widget>> <<widget "apologyWraith">> <<unset $wraithApologise>> <br> <<He>> freezes, and dissipates slightly. A face you swear you've seen before appears in the mist. <<He>> looks at you with an unreadable expression and raises <<his>> arm, just a bit. <<He>> quickly shies away, reforming the mist around <<himself>>. <span class="green"><<He>> seems unable to act.</span> <br><br> <</widget>> <<widget "rescueWraith">> <<if $location is "forest">> <<if $alarm is 1 and $forest lte 20 and $gwylan_aborted isnot 3>> <<set $gwylan_aborted to 3>> <<if $forest_shop_intro isnot 1 and $gwylan_rescue isnot 1>> You see a mousy <<nnpc_gendery "Gwylan">> burst through the treeline, alarmed by your shout. <<else>> You see Gwylan burst through the treeline, alarmed by your shout. <</if>> <<nnpc_He "Gwylan">> looks around, puzzled. <<nnpc_His "Gwylan">> gaze passes right over you, as if you weren't there, <span class="red">then turns and walks away.</span> <br><br> <<elseif $alarm is 1 and $forest gte 21>> <<forestRescueFail>> <br><br> <</if>> <</if>> <</widget>> <<widget "ejacW">> <<if $wraith.gen is "slime">> The <<person>> raises <<his>> hand. Incorporeal lines of energy flow to <<him>> from the slimes. They disengage, retreating back to the <<person>>. <<He>> picks one up, and begins to pet it. <<else>> <<ejaculation>> <</if>> <</widget>> <<widget "ejaculation-wraith">> <<if !_ejacRepeatFix>> <<switch $wraith.gen>> <<case "man">> <<He>> glows a bright white. <<case "abomination">> <<He>> glows a bright white, and begins laughing. <<His>> pale tentacles disperse in the radiance. <<case "tentacles" "slimetentacles">> <<He>> pulls back <<his>> hand, and <<his>> eyes flash <<wraithEyes>>. The tentacles retreat from you, back to <<his>> side.<<if $wraith.gen is "slimetentacles">> The slimes quickly follow.<</if>> <<case "arms">> <<set $enemyno to 1>> <<He>> glows a bright white, and begins laughing.<<set $NPCList[0].intro to 0>> <<He>> begins to make strange gestures with <<his>> extra arms. <<set _ejacRepeatFix to true>> <<default>> <</switch>> <!-- Temporary until Wraith has its own bodyliquid --> <<for _nn to 0;_nn lt $enemynomax; _nn++>> <<if $NPCList[_nn].penis is "vagina">> <<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "semen">> <<recordVaginalSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <<elseif $NPCList[_nn].penis is "anus">> <<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" $NPCList[_nn] `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>> <</if>> <</for>> <<if $pain gte 100>> <<He>> seems to revel in your suffering. <<elseif C.npc["Ivory Wraith"].lust gte random(10,30) and $wraith.state is "haunt" and !playerIsPregnant()>> <<His>> body flickers and <span class="red">something strikes your stomach</span>. You double over and <<he>> <<if ["abomination","arms"].includes($wraith.gen)>>laughs louder<<else>>laughs<</if>>. <<gstress>><<gtrauma>><<gpain>><<violence 10>> <</if>> <br><br> <</if>> <</widget>> <<widget "kissWraith">> <<if _args[0] is "stress" and $stress gte $stressmax>> <<set $_wraithStress to true>> <</if>> <<set $pronoun to "i">> <<He>> approaches you, <<if $wraith.type is "tentacles" or $wraith.gen is "abomination">> pushing some tentacles aside. <<if $tentacleMouth>> <<set $_outof to (["tentacle", "tentacledeep"].includes($mouthstate) ? "out of" : "away from")>> <<He>> <span class="lblue">yanks the $tentacleMouth $_outof your mouth.</span> <</if>> <<else>> <<if C.npc["Ivory Wraith"].lust gte 16>> grabbing your hair in a painful grip with <<if $wraith.gen is "arms">>more than two<<else>>both<</if>> hands. <<trauma 12>><<stress 6>><<arousal 1000>> <<elseif C.npc["Ivory Wraith"].lust gte 11>> holding the back of your neck with one hand. <<trauma 6>><<arousal 500>> <<else>> cupping your cheek with a surprising gentleness. <</if>> <</if>> <<He>> kisses you, and your ears immediately begin to ring. Your fingers and toes go cold, and your face becomes fiery hot. Until it, too, grows cold. You feel as though some part of you was drained away. <<takeKissVirginity "Ivory Wraith" "rape">> <<arousal 2000 "mouth">><<gggarousal>> <<trauma 30>><<gggtrauma>><<purity -50>><<lllpurity>><<physique_loss 16>><<llphysique>> <<if $pain lt 100>> <<pain -15>><<llpain>> <</if>> <<if $arousal gte $arousalmax>> <br><br> <<orgasm>> Your climax is torturous and painful as you writhe against <<him>>. <<His>> assault only grows more intense. You feel weak. <<trauma 30>><<gggtrauma>><<purity -25>><<llpurity>><<physique_loss 8>><<lphysique>><<awareness -20>><<lllawareness>><<gobsession>> <<if $_wraithStress>> <<set $stress to $stressmax>> <</if>> <</if>> <</widget>> <<widget "wHunt">> <<if !$possessed>> <<switch _args[0]>> <<case "town">> <<if wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte (random(0, 50))>> <br><br> <<set $wraith.hunt to 1>> A wave of dizziness and confusion washes over you. Every time you blink, you see a blurred image. <br> You hold your eyes shut, and it begins to come into focus. You see a tall robed figure, bathed in red moonlight, its skin as pale as ivory. As soon as you see it, you can't help but think that it sees you too. <<stress 6>><<gstress>><<trauma 6>><<gtrauma>> <br> <<if $wraith.state is "haunt">> <span class="red">You are being hunted.</span> <<else>> <span class="red">Dread lingers in the air.</span> <</if>> <<elseif $wraith.hunt>> <<if $moonstate is "morning" and Time.hour gte 6>> <br><br> With the rising of the sun, you feel a sense of relief. The dread passes. <span class="blue"><i>You're safe until the next blood moon.</i></span> <<clearWraith>> <<elseif $wPersist is 1>> <<set $wPersist to 2>> <br><br> The feeling of dread remains. Something's wrong. <span class="red">Whatever was hunting you is still coming.</span><<stress 3>><<gstress>> <<elseif $wraith.state is "haunt">> <span class="red">Something terrible is hunting you.</span> <<set $wraith.hunt += (0.5 + (C.npc["Ivory Wraith"].lust / 40))>> <<if $wraith.hunt gte ($rng / 10)>> <<set $eventforced to true>> <</if>> <<else>> <span class="red">Something unnatural stalks the streets.</span> <<set $wraith.hunt += (0.5 + (C.npc["Ivory Wraith"].lust / 40))>> <<if $wraith.hunt gte ($rng / 10)>> <<set $eventforced to true>> <</if>> <</if>> <</if>> <<case "forest">> <<if $wraith.hunt is 0>> <<set $rng2 to random(1, 3)>> <<if $rng2 is 1 and $edenfreedom gte 1>> A chill runs up your spine, a warning from some primal instinct. <span class="red">Something is hunting you.</span> <<set $edenforesthunt to 1>> <<set $blackwolfhunt to 0>> <<else>> A wave of dizziness and confusion washes over you. Every time you blink, you see a blurred image. <br> You hold your eyes shut, and it begins to come into focus. You see a tall robed figure, bathed in red moonlight, its skin as pale as ivory. As soon as you see it, you can't help but think that it sees you too. <<stress 6>><<gstress>><<trauma 6>><<gtrauma>> <br> <span class="red">Something is hunting you.</span> <<set $edenforesthunt to 0>> <<set $blackwolfhunt to 0>> <</if>> <<set $wraith.hunt to 1>> <<else>> You begin to see strange shapes in the air around you. A chill runs up your spine. <span class="red">Something is still hunting you.</span> <<set $edenforesthunt to 0>> <<set $blackwolfhunt to 0>> <</if>> <<set $foresthunt to $wraith.hunt>> <br><br> <<link [[Next|Forest]]>><<set $eventskip to 1>><</link>> <<case "drain">> <<if wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte (random(0, 60))>> <<set $wraith.hunt to 1>> <br><br> A wave of dizziness and confusion washes over you. Every time you blink, you see a blurred image. <br> You hold your eyes shut, and it begins to come into focus. You see a tall robed figure, bathed in red moonlight, its skin as pale as ivory. As soon as you see it, you can't help but think that it sees you too. <<stress 6>><<gstress>><<trauma 6>><<gtrauma>> <br> <<if $wraith.state is "haunt">> <span class="red">You are being hunted.</span> <<else>> <span class="red">Dread lingers in the air.</span> <</if>> <<elseif $wraith.hunt>> <<if $moonstate is "morning" and Time.hour gte 6>> <br><br> As the first rays of sunlight trickle through open manholes and grates, you feel a sense of relief. The dread passes. <span class="blue"><i>You're safe until the next blood moon.</i></span> <<clearWraith>> <<elseif $wraith.state is "haunt">> <span class="red">Something terrible is hunting you.</span> <<set $wraith.hunt += (0.5 + (C.npc["Ivory Wraith"].lust / 40))>> <<if $wraith.hunt gte ($rng / 10)>> <<set $eventforced to true>> <</if>> <<else>> <span class="red">Something unnatural stalks the streets above.</span> <<set $wraith.hunt += (0.5 + (C.npc["Ivory Wraith"].lust / 40))>> <<if $wraith.hunt gte ($rng / 10)>> <<set $eventforced to true>> <</if>> <</if>> <</if>> <<case "sewers">> <<if wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte (random(0, 60))>> <<set $wraith.hunt to 1>> <br><br> A wave of dizziness and confusion washes over you. Every time you blink, you see a blurred image. <br> You hold your eyes shut, and it begins to come into focus. You see a tall robed figure, bathed in red moonlight, its skin as pale as ivory. As soon as you see it, you can't help but think that it sees you too. <<stress 6>><<gstress>><<trauma 6>><<gtrauma>> <br> <<if $wraith.state is "haunt">> <span class="red">You are being hunted.</span> <<else>> <span class="red">Dread lingers in the air.</span> <</if>> <<elseif $wraith.hunt>> <<if $moonstate is "morning" and Time.hour gte 6>> <br><br> You feel a sense of relief, and instinctively know the sun has risen. The dread passes. <span class="blue"><i>You're safe until the next blood moon.</i></span> <<clearWraith>> <<elseif $wraith.state is "haunt">> <span class="red">Something terrible is hunting you.</span> <<set $wraith.hunt += (0.5 + (C.npc["Ivory Wraith"].lust / 40))>> <<if $wraith.hunt gte ($rng / 10)>> <<set $eventforced to true>> <</if>> <<else>> <span class="red">Something unnatural stalks the sewers.</span> <<set $wraith.hunt += 0.5>> <<if $wraith.hunt gte ($rng / 10)>> <<set $eventforced to true>> <</if>> <</if>> <</if>> <<case "lake">> Your ears begin to ring, and you feel like you're being watched. Out of instinct, you turn around. <br><br> <<if $bus is "lakeshore" or $bus is "lakeshallows" or $bus is "lakedepths">> A beautiful pale figure hovers over the centre of the lake. You see a long stream of silver hair flowing in the wind. As soon as you see it, it vanishes. <<stress 6>><<gstress>> <br><br> <<elseif $location is "lake_ruin">> A beautiful pale figure floats in the water. Long streams of silver hair flow in the current. As soon as you see it, it vanishes. <<stress 6>><<gstress>> <br><br> <<else>> For a moment, you think you see the shape of a pale face between the trees. <<stress 6>><<gstress>> <br><br> <</if>> <span class="red">You're trespassing. Something is hunting you.</span> <<set $edenforesthunt to 0>> <<set $blackwolfhunt to 0>> <<set $wraith.hunt to 1>> <<set $foresthunt to $wraith.hunt>> <br><br> <<set $eventskip to 1>> <<if $location is "lake_ruin">> <<destinationlakeruin>> <<else>> <<if Weather.isSnow and ($bus is "lakeshallows" or $bus is "lakedepths")>> <<destination_lake_ice>> <<else>> <<destinationlake>> <</if>> <</if>> <</switch>> <</if>> <</widget>> <<widget "wPersist">> <<if $wraith.state and !$possessed>> <<if $wraith.hunt and wraithCanHunt()>> <<if _args[0] is "forest">> <<if $foresthunt gte 1>> <<set $wraith.hunt to $foresthunt>> <<if !$wPersist>> <<set $wPersist to 1>> <</if>> <<else>> <<set $foresthunt to $wraith.hunt>> You enter the treeline, <span class="red"> but can't shake the feeling that something's still coming for you.</span> <</if>> <<if ($location is "lake" or $location is "lake_ruin") and !$possessed>> <<set $wraith.hunt += 1.5>> <<set $foresthunt += 1.5>> <<if $moonstate is "morning" and Time.hour gte 6>> With the rising of the sun, you feel a sense of relief. The dread passes. <span class="blue"><i>You're safe until the next blood moon.</i></span> <<clearWraith>> <br><br> <<else>> <<rng 60>> <<if $rng lte 20>> <span class="red">You are being hunted. Red moonlight reflects off of the water.</span> <<stress 6>><<gstress>> <br><br> <<elseif $rng lte 40>> <span class="red">You are being hunted. You hear distant laughter.</span> <<trauma 6>><<gtrauma>> <br><br> <<else>> <span class="red">You are being hunted. You feel a pressure building around you.</span> <<stress 6>><<gstress>><<trauma 6>><<gtrauma>> <br><br> <</if>> <</if>> <</if>> <</if>> <<elseif wraithCanHunt() and !$possessed>> <<wTimerProgress>> <</if>> <</if>> <</widget>> <<widget "wTimerProgress">> <<if $wraith.state and $wraith.hunt is 0 and Time.isBloodMoon()>> <<set $wraith.timer++>> <<set $wraith.timer += Math.floor(C.npc["Ivory Wraith"].lust / 10)>> <<if $rng gte 60 and numberOfEarSlime()>> You hear the slime in your ear make an unusual sound, <span class="red">as if it's calling out to something.</span> <<set $wraith.timer++>> <</if>> <</if>> <</widget>> <<widget "exitWraith">> <<switch $wraith.exit>> <<case "home">> <<link [[Next|Bedroom]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "sleep">> <<set $wardrobe_location to "wardrobe">> <<wardrobeSelection true>> <<radiooutfits>> <br><br> <<link [[Next|Bedroom]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "cabin">> <<link [[Next|Eden Cabin]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "alex_cottage">> <<link [[Next|Farm Cottage]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "tower">> <<link [[Next|Bird Tower]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "town">> <<destinationeventend>> <<endevent>> <<case "forest">> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "lake_ruin">> <<destinationlakeruin>> <<endevent>><<set $eventskip to 1>> <<case "lake">> <<if Weather.isSnow and ($bus is "lakedepths" or $bus is "lakeshallows")>> <<destination_lake_ice>> <<else>> <<destinationlake>> <</if>> <<endevent>><<set $eventskip to 1>> <<case "wolf_cave">> <<link [[Next|Wolf Cave]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "moor">> <<link [[Next|Moor]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<case "farm_assault">> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<case "sewers">> <<destinationsewers>> <<endevent>><<set $eventskip to 1>> <<case "pirates">> <<link [[Next|Pirate Deck]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<default>> <span class="red">Something went wrong. There's nowhere to place you due to a failure of the Wraith's code. Please inform PurityGuy.</span> <br><br> Offending event: $passage | Location: $location ($bus) | Exit: $wraith.exit <br><br> <<endWraith>> <<clearWraith>> <<link [[Portal to the bedroom|Bedroom]]>><<endevent>><<set $eventskip to 1>><<hallucinogen 180>><</link>><<gghallucinogens>> <br> <</switch>> <<if !_args[0]>> <<endWraith>> <</if>> <</widget>> <<widget "rngWraith">> <<if $wraith.state>> <<if _args[1] is "night" and Time.dayState isnot "night" or _args[1] is "noBlood" and Time.isBloodMoon()>> <<set _wraithEvent to false>> <<else>> <<set _rngWraith to 2 + (Math.floor(C.npc["Ivory Wraith"].lust / 10))>> <<if Time.dayState is "night">> <<set _rngWraith += 2>> <</if>> <<set _wraithHallucinations to (_args[0] is 1 or _args[0] is 2 ? _args[0] : 0)>> <<if ($hallucinations gte _wraithHallucinations and _rngWraith gte random(1,100)) or Time.isBloodMoon()>> <<set _wraithEvent to true>> <</if>> <</if>> <</if>> <</widget>> <<widget "rngWraithSocial">> <<if $wraith.state and !_rngWraithSocialCheck>> <<set _rngWraithSocialCheck to true>> <<set _rngWraithFace to ($wraith.type ? Math.ceil(Math.random() * 10) : Math.ceil(Math.random() * 30))>> <<set _rngWraithLineChance to Math.ceil(Math.random() * 15)>> <<set _rngWraithSocial to 2 + (Math.floor(C.npc["Ivory Wraith"].lust / 10))>> <<if Time.dayState is "night">> <<set _rngWraithSocial += 2>> <</if>> <<if ($hallucinations gte 1 and _rngWraithSocial gte Math.ceil(Math.random() * 100)) or Time.isBloodMoon()>> <<set _wraithEventSocial to true>> <</if>> <<if $wraith.mimic isnot "" and $wraith.revealed>> <<set _wraithTitle to "pretender">> <<else>> <<switch $wraith.gen>> <<case "tentacles">><<set _wraithTitle to "writhing">> <<case "abomination">><<set _wraithTitle to "profane">> <<case "arms">><<set _wraithTitle to "vain">> <<default>><<set _wraithTitle to (["haunt", "despair"].includes($wraith.state) ? "forlorn" : "reflection")>> <</switch>> <</if>> <</if>> <</widget>> <<widget "wraithEventStreet">> <<set $wraith.exit to "town">> <<if $wraith.hunt gte 10>> <<if !$wraithIntro>> <<wraithIntro>> <<else>> <<wraithCaught>> <</if>> <<else>> <<cleareventpool>> <<if $wraith.hunt gte 5>> <<if !$wraithIntro>> <<addevent "wraithIntro" 0.1>> <<else>> <<addinlineevent "wraithClose1" 0.1>> As you walk, your footfalls become lighter. You're having trouble breathing<<if $exposed lte 0>>, and your clothes feel heavy<</if>>. <<rainWraith true>> <br><br> Your ears begin to ring, and you see something taking shape in the <<print Weather.precipitation>>. A beautiful pale figure floats just above the ground, wearing translucent white robes that flow in the wind. Its eyes flash a bright <<wraithEyes>> as it sees you. Your mind feels cloudy as you see shapes dancing in the air and behind its eyes. <br><br> Before you can look away, it makes a hypnotic motion with its hands. <<if $wraith.state is "haunt">> It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. <br><br> "<span class="wraith">Thief. You will never be free again.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> <br><br> <</if>> <<elseif $wraith.state is "despair">> It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. <br><br> "<span class="wraith">It's so cold. You're so warm.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to</span> <span class="red">kneel.</span> <br><br> <</if>> <<else>> It raises a hand to its chest, rubbing its ivory necklace. The glint of the inlaid blue gemstones match its glowing eyes. <br><br> "<span class="wraith">Kneel.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to kneel.</span> <br><br> <</if>> <</if>> <<link [[Give in|Wraith Caught Obey]]>><<if numberOfEarSlime()>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><</if>><<sub 1>><</link>><<if numberOfEarSlime()>><<gcorruption>><<lpain>><<lltrauma>><<lstress>><</if>> <br> <<link [[Try to look away|Wraith Caught Resist]]>><<if numberOfEarSlime()>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><</if>><<def 1>><</link>><<if numberOfEarSlime()>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>><</if>><<willpowerdifficulty 1 $willpowermax>> <br> <</addinlineevent>> <<addinlineevent "wraithClose2" 0.1>> Something whispers your name directly in your ear. You flail to the side, but there's nothing there. <<if $loveInterest.primary isnot "None" and $loveInterest.primary isnot "Black Wolf" and $loveInterest.primary isnot "Great Hawk">> You think it sounded like $loveInterest.primary. <<if $wraith.seen gte 5>>You know better, though.<</if>> <</if>> <br><br> When you turn around, your blood freezes. The pale figure <<if $location is "park">>floats atop the fountain<<else>>stands at the end of the street<</if>>. <<rainWraith>> <br><br> <<link [[Run|Wraith Run]]>><</link>><<athleticsdifficulty 800 1500>> <br> <<link [[Hide (0:10)|Wraith Hide]]>><<pass 10>><</link>> <br> <</addinlineevent>> <<addinlineevent "wraithClose3" 0.1>> <<if $tentacledisable is "f">> You see a blur of white from the corner of your eye, and feel something touch your thighs. You look down to see a pale tentacle extending from an open manhole. <span class="red">You feel whatever's hunting you drawing near.</span> <br><br> <<link [[Grab the tentacle|Wraith Tentacle Grab]]>><</link>><<physiquedifficulty 6000 16000>><<deviant1>> <br> <<if hasSexStat("deviancy", 5)>> <<link [[Offer yourself|Wraith Tentacle Rape]]>><<set $molestationstart to 1>><</link>><<deviant5>> <br> <</if>> <<link [[Try to run|Wraith Tentacle Run]]>><<stress 3>><<trauma 3>><</link>><<gtrauma>><<gstress>> <br> <<else>> You see a blur of white from the corner of your eye, and feel something grab your ankle. You immediately try to jump back, but trip as it tightens its grip. <<pain 2>><<gpain>> <br><br> You look down to see a pale hand retreating into a storm drain. <<stress 6>><<gstress>> <br><br> You scramble to your feet and keep moving. <br><br> <<set $wraith.hunt++>> <<destinationeventend>> <</if>> <</addinlineevent>> <<addinlineevent "wraithClose4" 0.2>> Everything around you is bathed in red light. As you walk, you notice large spans of time where there seems to be no one else around. <br><br> You're not sure whether this is a reprieve, or a sign of something much worse. <br><br> <<destinationeventend>> <</addinlineevent>> <<addinlineevent "wraithClose5" 0.1>> You hear an intense rumbling from under you. It sounds like it's coming from the sewers. You see a massive column of water shoot up from an open manhole, carrying water high into the air. <br><br> The rumbling becomes heavier. A drainage grate much closer to you erupts in water. You look down, and realise you're standing right on top of a grate. <br><br> <<if (currentSkillValue('danceskill') + $rng) gte 800>> Thanks to your agility, you <span class="green"> reflexively pivot and throw yourself out of the way</span> as another column of water shoots up. <<else>> You try to throw yourself out of the way, but <span class="red">you're too slow.</span> You're soaked by a column of water from below. <<water>><<effectswater>><<exposure>><<covered>> <</if>> <br><br> A final water spout shoots up from another manhole far behind you. You see a ghostly pale figure standing at the crest, surrounded by translucent watery tendrils. <<stress 12>><<ggstress>> <br><br> You run in the opposite direction. <<set $wraith.hunt++>> <br><br> <<exitWraith>> <</addinlineevent>> <</if>> <</if>> <<addinlineevent "wraith1" 0.2>> From the corner of your eye, you catch a glimpse of a pale face watching you from <<if $location is "park">> behind a tree. <<else>> a high window. <</if>> When you blink, it's gone. <<stress 6>><<gstress>> <br><br> <<destinationeventend>> <</addinlineevent>> <<addinlineevent "wraith2" 0.1>> You think you hear someone call your name. You don't see a single person around you. <<stress 6>><<gstress>> <br><br> <<destinationeventend>> <</addinlineevent>> <<addinlineevent "wraith3" 0.1>> <<generate1>><<person1>>A <<person>> runs by, nearly knocking you over. <<Hes>> barely staying on <<his>> feet, and keep looking towards you with panic. <br><br> You realise <<hes>> looking behind you. You turn, but there's nothing except <<if $location is "park">> the empty park. <<else>> empty streets. <</if>> <br><br> <<endevent>> <<destinationeventend>> <</addinlineevent>> <<addinlineevent "wraith4" 0.2>> Red moonlight reflects off distant windows and parked cars. As eerie as the atmosphere is, you can't deny that it's also rather beautiful. <<stress -3>><<lstress>> <br><br> <<destinationeventend>> <</addinlineevent>> <<addinlineevent "wraith5" 0.1>> As you pass over a grate, you hear a faint rumbling from down below. It gets louder the longer you listen. <br><br> You decide not to linger. <br><br> <<destinationeventend>> <</addinlineevent>> <<addinlineevent "wraithEventSkip" 0.3>> <<set _wraithEventSkipped to true>> <<eventsstreet>> <</addinlineevent>> <<runeventpool>> <</if>> <</widget>> <<widget "wraithEventSewers">> <<set $wraith.exit to "sewers">> <<if $wraith.hunt gte 10>> <<if !$wraithIntro>> <<wraithIntro>> <<else>> <<wraithCaught>> <</if>> <<else>> <<cleareventpool>> <<if $wraith.hunt gte 5>> <<if !$wraithIntro>> <<addevent "wraithIntro" 0.1>> <<else>> <<addinlineevent "wraithClose1" 0.1>> As you walk, your footfalls become lighter. You're having trouble breathing<<if $exposed lte 0>>, and your clothes feel heavy<</if>>. <<rainWraith true>> <br><br> Your ears begin to ring, and you see something taking shape in the fog. A beautiful pale figure floats just above the ground, wearing translucent white robes that flow in the wind. Its eyes flash a bright <<wraithEyes>> as it sees you. Your mind feels cloudy as you see shapes dancing in the air and behind its eyes. <br><br> Before you can look away, it makes a hypnotic motion with its hands. <<if $wraith.state is "haunt">> It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. <br><br> "<span class="wraith">Thief. You will never be free again.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> <br><br> <</if>> <<elseif $wraith.state is "despair">> It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. <br><br> "<span class="wraith">It's so cold. You're so warm.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to</span> <span class="red">kneel.</span> <br><br> <</if>> <<else>> It raises a hand to its chest, rubbing its ivory necklace. The glint of the inlaid blue gemstones match its glowing eyes. <br><br> "<span class="wraith">Kneel.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to kneel.</span> <br><br> <</if>> <</if>> <<link [[Give in|Wraith Caught Obey]]>><<if numberOfEarSlime()>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><</if>><<sub 1>><</link>><<if numberOfEarSlime()>><<gcorruption>><<lpain>><<lltrauma>><<lstress>><</if>> <br> <<link [[Try to look away|Wraith Caught Resist]]>><<if numberOfEarSlime()>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><</if>><<def 1>><</link>><<if numberOfEarSlime()>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>><</if>><<willpowerdifficulty 1 $willpowermax>> <br> <</addinlineevent>> <<addinlineevent "wraithClose2" 0.1>> <<if $tentacledisable is "f">> You see a blur of white from the corner of your eye, and feel something touch your thighs. You look down to see a pale tentacle extending from the canal. <span class="red">You feel whatever's hunting you drawing near.</span> <br><br> <<link [[Grab the tentacle|Wraith Tentacle Grab]]>><</link>><<physiquedifficulty 6000 16000>><<deviant1>> <br> <<if hasSexStat("deviancy", 5)>> <<link [[Offer yourself|Wraith Tentacle Rape]]>><<set $molestationstart to 1>><</link>><<deviant5>> <br> <</if>> <<link [[Try to run|Wraith Tentacle Run]]>><<stress 3>><<trauma 3>><</link>><<gtrauma>><<gstress>> <br> <<else>> You see a blur of white from the corner of your eye, and feel something grab your ankle. You immediately try to jump back, but trip as it tightens its grip. <<pain 2>><<gpain>> <br><br> You look down to see a pale hand retreating into a storm drain. <<stress 6>><<gstress>> <br><br> You scramble to your feet and keep moving. <br><br> <<set $wraith.hunt++>> <<destinationsewers>> <</if>> <</addinlineevent>> <<addinlineevent "wraithClose3" 0.1>> You notice the ceiling glisten. <<if $slimedisable is "f">> A sticky substance drops to the floor with a splat. It's thick, slimy and pale. It shambles toward you, and more appear from the fog. <br><br> <<link [[Next|Wraith Sewers Struggle]]>><<set $struggle_start to 1>><</link>> <<else>> You step to the side just as a pale slime drops to the floor with a splat. You run before it gives chase, but feel whatever's hunting you draw closer. <<stress 6>><<gstress>> <br><br> <<set $wraith.hunt++>> <<destinationsewers>> <</if>> <</addinlineevent>> <</if>> <</if>> <<addinlineevent "wraith1" 0.2>> From the corner of your eye, you catch a glimpse of a pale face watching you from the shadows. When you blink, it's gone. <<stress 6>><<gstress>> <br><br> <<destinationsewers>> <</addinlineevent>> <<addinlineevent "wraith2" 0.1>> You think you hear someone call your name. You don't see a single person around you. <<stress 6>><<gstress>> <br><br> <<destinationsewers>> <</addinlineevent>> <<addinlineevent "wraith3" 0.1>> The water churns unnaturally, before leaping at you. You jump back, but the water stops in midair. It slowly retreats back into the canal, as if changing its mind. <<stress 6>><<gstress>> <br><br> <<destinationsewers>> <</addinlineevent>> <<addinlineevent "wraithEventSkip" 0.1>> <<set _wraithEventSkipped to true>> <<eventssewers>> <</addinlineevent>> <<runeventpool>> <</if>> <</widget>> <<widget "wraithIntro">> <<set $wraithIntro to true>> As you walk, your footfalls become lighter. You're having trouble breathing<<if $exposed lte 0>>, and your clothes feel heavy<</if>>. <br><br> <<if $location is "forest" or $location is "lake">> You steady yourself against a tree, panting. You look around, and notice that everything's gone quiet. <<switch Weather.precipitation>> <<case "snow">> A cold breeze accompanies the snowfall. You look back, finding your footprints already covered. You've completely lost your sense of direction. <<case "rain">> Only the rain breaks the silence. <<default>> <<if Weather.isSnow>> The snow falls quietly. You don't remember when it started snowing, though. <<rainWraith>> <<else>> Only the rain breaks the silence. You don't remember when it started raining, though. <<rainWraith>> <</if>> <</switch>> Your ears begin to ring. <br><br> The shape of a person begins to form in the <<print Weather.precipitation>>, and your pulse quickens. <<elseif $location is "sewers">> <<rainWraith>> The air around you chills. You swear you feel <<print Weather.precipitation>> on your skin, but there is no <<print Weather.precipitation>> in the sewers. Only a rapidly expanding fog. <br><br> Your ears begin to ring. An image starts to take shape in the fog, and your pulse quickens. <<else>> You look around. The area is completely devoid of people. You take a moment to steady yourself. The image of the robed figure slowly fades from your head. <<rainWraith true>> <br><br> Your ears begin to ring. An image starts to take shape in the <<print Weather.precipitation>>, and your pulse quickens. <</if>> You try to turn and run, but your legs won't move, and you can't help but look. A beautiful pale figure floats just above the ground, wearing translucent white robes that flow in the wind. Its eyes flash a bright <<wraithEyes>> as it sees you. <<if $wraith.state is "haunt">> It raises a hand to its scarred neck, seemingly trying to grab something that isn't there. <br><br> "<span class="wraith">Thief. Give it back, or <<if Weather.precipitation is "snow">>this blizzard will freeze you<<else>>this deluge will drown you<</if>>.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> <br><br> <</if>> <<elseif $wraith.state is "despair">> It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. <br><br> "<span class="wraith">H...have you seen my necklace?</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to</span> <span class="red">kneel.</span> <br><br> <</if>> <<else>> It raises a hand to its chest, rubbing its ivory necklace. The glint of the inlaid blue gemstones match its glowing eyes. <br><br> "<span class="wraith">A poor, lonely soul. Come. I will make us beautiful.</span>" <br><br> <<if numberOfEarSlime()>> <span class="lewd">You feel the slime in your head command you to kneel.</span> <br><br> <</if>> <</if>> <<link [[Give in|Wraith Caught Obey]]>><<if numberOfEarSlime()>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><</if>><<sub 1>><</link>><<if numberOfEarSlime()>><<gcorruption>><<lpain>><<lltrauma>><<lstress>><</if>> <br> <<link [[Try to look away|Wraith Caught Resist]]>><<if numberOfEarSlime()>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><</if>><<def 1>><</link>><<if numberOfEarSlime()>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>><</if>><<willpowerdifficulty 250 $willpowermax>> <br> <<if $angel gte 6>> <<link [[Pray|Wraith Intro Pray]]>><</link>><<angel>> <br> <</if>> <</widget>> <<widget "wraithCaught">> <<rainWraith>> <<if $passage is "Lake Meditate">> You're suddenly snapped out of your meditation. Your arms<<if $exposed lte 0>> and clothes<</if>> grow heavy, and you feel like you're floating. <br><br> As soon as you look behind you, you feel something violently grab into your neck and lift you clear off the ground. <br><br> <<if $wraithIntro>> A pale figure stands before you. <<if $wraith.state is "haunt">> It holds a clenched hand to its neck, and bares its teeth at you. <br><br> "<span class="wraith">Drown.</span>" <<elseif $wraith.state is "despair">> It holds a clenched hand to its neck, and frowns at you. <br><br> "<span class="wraith">Where is it? So cold.</span>" <<else>> Its necklace shimmers blue, despite the red moonlight. <br><br> "<span class="wraith">You belong to me.</span>" <</if>> <<else>> <<set $wraithIntro to true>> A beautiful pale figure stands before you. It looks you over, before pulling you closer. It's hard to look away. <br><br> <<if $wraith.state is "haunt">> It holds a clenched hand to its scarred neck, and bares its teeth at you. <br><br> "<span class="wraith">Thief. Give it back.</span>" <<elseif $wraith.state is "despair">> It holds a clenched hand to its neck, and frowns at you. <br><br> "<span class="wraith">H...have you seen my necklace?</span>" <<else>> Its necklace shimmers blue, despite the red moonlight. <br><br> "<span class="wraith">Don't resist. I will make us beautiful.</span>" <</if>> <</if>> <<elseif $location is "lake_ruin" or $bus is "lakedepths" or $bus is "lakeshallows">> <<if $bus is "lakeshallows" or $bus is "lakedepths">> <<set $location to "lake_ruin">> <<if Weather.isSnow>> You stumble forward, and feel your foot hit ice cold water. You didn't hear any ice break. <br><br> You look back, and see a pale hand sticking out of the ice without a breach. <span class="red">It pulls, and you begin to pass right through the ice.</span> You have nothing to grab onto, and are helplessly pulled under. <<else>> You feel a tug on your leg. Without warning, <span class="red">you're pulled under the surface violently.</span> <</if>> <br><br> <<else>> You feel a sudden tug downwards. You struggle in the water, but fail to move. You look around, and see many long, translucent limbs ensnaring you. <br><br> <</if>> <<if $wraithIntro>> A pale figure floats in the water before you. <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> It holds a clenched hand to its neck, and bares its teeth at you. <br><br> "<span class="wraith">Drown.</span>" <<elseif $wraith.state is "despair">> It holds a clenched hand to its neck, and smiles at you. <br><br> "<span class="wraith"><<pcPetname "Wraith">>. You've returned. Have you seen my necklace?</span>" <<else>> Its necklace shimmers a striking blue, causing reflections in the water all around you. <br><br> "<span class="wraith">You've returned.</span>" <</if>> <<else>> <<set $wraithIntro to true>> A beautiful pale figure encircles you. Long streaks of silver hair flow in the water behind it. It almost seems to be inspecting you. <br><br> <<if $wraith.state is "haunt">> It scratches at its bare neck, and regards you with striking red eyes. <br><br> "<span class="wraith">Thief. You've returned. Give it back at once.</span>" <<elseif $wraith.state is "despair">> It holds a clenched hand to its neck, and frowns at you. <br><br> "<span class="wraith">H...have you seen my necklace?</span>" <<else>> It places a hand over its ivory necklace, as if to guard it from you. <br><br> "<span class="wraith">Trespasser. Do you come to steal from the dead?</span>" <</if>> <</if>> <<else>> You suddenly feel like you're walking through waist-high water. Your arms<<if $exposed lte 0>> and clothes<</if>> grow heavy, and your feet don't seem to hit the ground anymore. <br><br> As soon as you look behind you, you feel something violently grab into your neck and lift you clear off the ground. A pale figure stands before you. <<if ["haunt", "despair"].includes($wraith.state)>> It has a hand pressed to its own bare neck, and regards you with striking red eyes. <<else>> Its silver hair flows in a breeze you can't feel. It places its free hand over its necklace. <</if>> <br><br> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> "<span class="wraith">Drown.</span>" <<elseif $wraith.state is "despair">> "<span class="wraith">So cold. Where is it?</span>" <<else>> "<span class="wraith">You belong to me.</span>" <</if>> <</if>> <br><br> <<generateWraith 1 true>> <<initWraith "abomination">> <<if $wraith.gen is "abomination">> Pale tendrils keep you suspended in place. <<else>> Many translucent arms swirl behind it. <</if>> <br><br> <<link [[Next|Wraith Caught]]>><</link>> <br> <</widget>> <<widget "wraith_pass">> <<if _args[0]>> <<pass _args[0]>> <<set $wraithPrison.timer -= _args[0]>> <<if $wraithPrison.timer lte 0 and $wraithPrison.state isnot "gone">> <<set $wraithPrison.state to "present">> <<elseif $wraithPrison.state isnot "gone">> <<set $wraithPrison.state to "recovering">> <</if>> <<set $wraithPrison.timePassed += _args[0]>> <<hallucinogen `(_args[0] * 3)`>> <<set $arousal += (_args[0] * 3)>> <</if>> <</widget>> <<widget "wraithPossess">> <<set $possessed to true>><<canvas-model-override "blink" false>> <<set $controlSaved to $control>><<set $control to 0>> <<set $wraith.hunt to 0>> <<if _args[0]>> <<set $wraith.exit to _args[0]>> <</if>> <</widget>> <<widget "wraithExorcise">> <<unset $possessed>><<canvas-model-override "clear">> <<if _args[0]>> <<if $wraith.possessCount is undefined>> <<set $wraith.possessCount to 1>> <<else>> <<set $wraith.possessCount++>> <</if>> <</if>> <<if _args[1] and $controlSaved isnot undefined>> <<set $control to $controlSaved>><<unset $controlSaved>> <</if>> <</widget>> <<widget "gobsession">> <<if !$wraith.init>> <span class="red">ERROR: Wraith is not initialised.</span> <br><br> Offending event: $passage | Location: $location ($bus) <<else>> <<set $_change to (_args[0] ? _args[0] : 1)>> <<set C.npc["Ivory Wraith"].lust += $_change>> <<if $statdisable is "f" and $_change gt 0>> | <<if $_change gt 4>> <span class="red">+ + + Obsession</span> <<elseif $_change gt 2>> <span class="red">+ + Obsession</span> <<else>> <span class="red">+ Obsession</span> <</if>> <</if>> <</if>> <<relationshipclamp>> <</widget>> <<widget "lobsession">> <<if !$wraith.init>> <span class="red">ERROR: Wraith is not initialised.</span> <br><br> Offending event: $passage | Location: $location ($bus) <<else>> <<set $_change to (_args[0] ? _args[0] : 1)>> <<set C.npc["Ivory Wraith"].lust -= $_change>> <<if $wraith.state is "haunt" and C.npc["Ivory Wraith"].lust lt 10>> <<set $_change -= (10 - C.npc["Ivory Wraith"].lust)>> <</if>> <<if $statdisable is "f" and $_change gt 0>> | <<if $_change gt 4>> <span class="blue">- - - Obsession</span> <<elseif $_change gt 2>> <span class="blue">- - Obsession</span> <<else>> <span class="blue">- Obsession</span> <</if>> <</if>> <</if>> <<relationshipclamp>> <</widget>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set _earSlimeEnableSwimwear to true>> <<set $forest to 30>><<set $bus to "lakeshore">><<wearoutfit>> You are at the shore of the <<= Weather.isFrozen("lake") ? "frozen lake" : "lake">>. <<if Time.hour gte 15 and $halloween is 1 and Time.monthDay is 31 and $halloween_lake is 1>> There are several people hanging out for the Halloween party. <<elseif $laketeenspresent is 1>> <<if Weather.isFrozen("lake")>> Students hang out nearby, while others practise ice skating. <<else>> <<if Time.season isnot "winter">>There are several people playing in the water. <</if>>You can see the swimmer's dock with a few students sitting on it. <</if>> <<elseif Time.dayState is "night">> <<if Time.isWeekEnd()>> You can see faint light from a fire at the campsite across the water. <<else>> Dark water ripples unseen. <</if>> <<elseif Time.dayState is "dusk" or Time.dayState is "dawn">> <<if Weather.isFrozen("lake")>> The sun reflects off the ice. <<else>> Undulating waves splash against the sand and rocks. A bear eats fish on the opposite bank. <</if>> <<else>> You can see your reflection in its surface. <<if Weather.isFrozen("lake")>> You could walk out to the swimmers dock if you wanted. <<else>> The swimmers dock sits idle out on the water. <</if>> <</if>> <<if Weather.precipitation is "rain">> The <<= Weather.isFrozen("lake") ? "ice" : "water">> is alive with motion as rain <<= Weather.isFrozen("lake") ? "bounces off" : "breaks">> its surface. <<elseif Weather.precipitation is "snow">> Snow <<= Weather.isFrozen("lake") ? "settles on the ice" : "drifts into the frigid water">>. <<elseif Weather.isFrozen("lake")>> The ice is serene. <<else>> The water is calm. <</if>> <br><br> <<if $exposed gte 1 and $laketeenspresent is 1>> You keep low and stay among the trees to keep your <<lewdness>> hidden. <br><br> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - $allure) and $eventskip is 0 and $laketeenspresent isnot 1 and !$possessed>> <<eventlake>> <<elseif $town_projects.diving is 1 and $exposed lte 0 and !$possessed>> <<set $town_projects.diving to 2>> <<npc Winter>><<person1>> <<if Weather.precipitation is "rain">> You see Winter stood on the shore, the wind catching <<his>> grey hair beneath a black umbrella. <<else>> You see Winter stood on the shore, the wind catching <<his>> grey hair. <</if>> <<He>> glances your way. <<if Time.dayState is "night">> "Didn't expect company at this hour," <<he>> says. <<elseif Time.schoolDay and Time.hour gte 9 and Time.hour lt 15>> "Shouldn't you be in school?" <<he>> asks, then chuckles. "I suppose you could ask the same of me." <<elseif Time.schoolDay>> "I didn't expect company," <<he>> says. <<elseif Time.weekDay is 7 or Time.weekDay is 1>> "Don't worry," <<he>> says. "I won't be away from the museum long." <<else>> "I didn't expect company," <<he>> says. <</if>> <br><br> <<He>> looks out over the lake. <<if $winterlakeknown is 1>> "Do you remember my mention of old structures beneath the water? <<else>> "There are old structures beneath the water. <</if>> Ancient. A wealth of heritage. I once wrote up plans for a field office here, so I could investigate. My petition fell on deaf ears." <br><br> <<He>> turns towards the trees, in the direction of town. "Forgive my ramblings. You stay safe out here." <br><br> <i>You could enquire about the field office at the town hall.</i> <br><br> <<link [[Next|Lake Shore]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<elseif $town_projects.diving is 3 and $exposed lte 0 and !$possessed>> <<set $town_projects.diving to 4>> <<npc Winter>><<person1>> You hear voices up ahead. Several people are hammering pegs around a dark green tent. Winter stands some distance away. <<He>> notices you, and springs over. <br><br> "Thank you," <<he>> says, clasping <<his>> hands over yours and shaking them. "The mayor called personally. Said a certain someone had provided the funds for my field office." <br><br> <<earnFeat "Field Work">> <<link [[Next|Lake Shore Diving]]>><</link>> <br> <<elseif Time.season isnot "winter" and !Time.isBloodMoon() and numberOfEarSlime() and !$daily.earSlimeStroll and random(0,100) gte 92 and (($exposed lte 1 and earSlimeMakingMundaneRequests()) or ($laketeenspresent isnot 1 and $exposed gte 2 and $earSlime.growth gte 20 - $earSlime.exhibitionism) or ($laketeenspresent is 1 and $exposed gte 2 and $earSlime.growth gte 50 - $earSlime.exhibitionism))>> <<set $daily.earSlimeStroll to true>> <span @class="$earSlime.startedThreats ? 'lewd' : 'lblue'">You feel the slime in your head command you to go for a stroll by the lake.</span> It promises rewards if you comply<<if $earSlime.startedThreats>>, and threatens consequences if you do not<</if>>. <br><br> /* Link decreases stress by both the ear slime and taking a stroll */ <<link [[Obey|Lake Stroll]]>> <<pass 60>><<set $earSlimeLakeStroll to true>> <<if $exposed gte 2>> <<arousal 1000>><<rng>> <<if $laketeenspresent is 1>> <<set $phase to 2>> <<else>> <<set $phase to 3>> <</if>> <<else>> <<set $phase to 1>> <</if>> <<corruption 1>><<pain -4>><<stress -12>><<trauma -12>><<sub 2>> <</link>><<gcorruption>><<lpain>><<lltrauma>><<llstress>><<if $exposed gte 2>><<garousal>><</if>> <br> <<if $earSlime.startedThreats>> <<link [[Defy|Lake Stroll Slime Defy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <<else>> <<link [[Ignore|Lake Shore]]>><</link>> <</if>> <<else>> <<eventlakesafe>> <<lakereturnjourney>> <<if clothingInStorage("lakeshore").length lt 1>> There's a rocky alcove where you could store your clothes. <br> <</if>> <<lakeclothes>> The lake shimmers with your reflection, <<if Weather.bloodMoon>> drowning in blood. <<elseif Time.dayState is 'dawn'>> with an afterglow of amber from the dawn. <<elseif Time.dayState is 'day'>> leaving no impurities in the image. <<elseif Time.dayState is 'dusk'>> with an afterglow of amber from the dusk. <<else>> the moonlight illuminating the surface. <</if>> <br> <<mirroricon>><<link [[Check your reflection|Lake Shore Mirror]]>><<preMirror>><</link>> <br><br> <<if Time.hour gte 18 and $halloween is 1 and Time.monthDay is 31 and $halloween_lake is 1>> <<socialiseicon "party">><<link [[Join the party (0:10)|Lake Halloween Party]]>><<pass 10>><<stress -6>><<status 1>><</link>><<gcool>><<lstress>> <br> <<elseif $laketeenspresent is 1 and $exposed lte 0 and Time.hour isnot 20 and !Weather.isFrozen("lake")>> <<socialiseicon>><<link [[Hang out (0:30)|Lake Hang]]>><<stress -6>><<status 1>><</link>><<gcool>><<lstress>> <br> <</if>> <<if Weather.isFrozen("lake")>> <<if $nextPassageCheck is "Lake Shallows Ice">> <span class="nextLink"><<lakeicon>><<link [[Walk.|Lake Shallows Ice]]>><<pass 2>><</link>></span> <<else>> <<lakeicon>><<link [[Walk onto the ice (0:02)|Lake Shallows Ice]]>><<pass 2>><</link>> <</if>> <br> <<else>> <<if $nextPassageCheck is "Lake Shallows">> <span class="nextLink"><<swimicon>><<link [[Swim.|Lake Shallows]]>><<pass 2>><</link>></span> <<else>> <<swimicon>><<link [[Swim (0:02)|Lake Shallows]]>><<pass 2>><</link>> <<swim_check>> <<if _swim_check isnot 1 and $statdisable is "f">> | <span class="purple">You are not wearing any swimwear!</span> <</if>> <</if>> <br> <</if>> <<if $town_projects.diving gte 4>> <<if $exposed gte 2>> It's not the best idea to stroll into the archaeological field office in your state. <<else>> <<lakeicon "field office">><<link [[Archaeological field office (0:02)|Lake Office]]>><<pass 2>><</link>> <</if>> <br> <</if>> <<if !Weather.isFrozen("lake") and !Time.isBloodMoon()>> <<if $exposed gte 2>> <<if hasSexStat("exhibitionism", 5) and $laketeenspresent is 1>> <<walkicon>><<link [[Take a stroll (1:00)|Lake Stroll]]>><<pass 60>><<stress -6>><<arousal 1000>><<rng>><<set $phase to 2>><</link>><<exhibitionist5>><<garousal>><<lstress>> <br> <<elseif hasSexStat("exhibitionism", 4) and $laketeenspresent isnot 1>> <<walkicon>><<link [[Take a stroll (1:00)|Lake Stroll]]>><<pass 60>><<stress -6>><<arousal 1000>><<rng>><<set $phase to 3>><</link>><<exhibitionist4>><<garousal>><<lstress>> <br> <</if>> <<else>> <<walkicon>><<link [[Take a stroll (1:00)|Lake Stroll]]>><<pass 60>><<stress -6>><<set $phase to 1>><</link>><<lstress>> <br> <</if>> <</if>> <<if $debug is 1>> <<ind>><<link [[North to firepit (0:10)|Lake Firepit]]>><<pass 10>><</link>> <br> <</if>> <<if $earSlime.forcedCommando isnot undefined and $worn.under_lower.name isnot "naked">> <<elseif $town_projects.road gte 4>> <<busicon>><<link [[North to bus stop|Lake Bus]]>><</link>> <br> <</if>> <<if $nextPassageCheck is "Lake Waterfall">> <span class="nextLink"><<lakeicon "waterfall">><<link [[South to waterfall (0:10)|Lake Waterfall]]>><<pass 10>><</link>></span> <<else>> <<lakeicon "waterfall">><<link [[South to waterfall (0:10)|Lake Waterfall]]>><<pass 10>><</link>> <</if>> <br><br> /* Added $exhibitionism due to situations where the player can be soft locked and unsure how best to deal with it */ <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked") and hasSexStat("exhibitionism", 3)>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<else>> <<foresticon>><<link [[Forest (0:10)|Forest]]>><<pass 10>><</link>> <</if>> <br> <<set $eventskip to 0>> <</if>><<effects>> "It might not look like much," Winter says. "But it will keep the warmth in these old bones well enough. Let me show you." <br><br> Winter leads you into the tent. It's spacious. A long table runs down the length. Diving suits hang on a rack near an area separated by a flap. They're visibly wet, and were likely used recently. <br><br> "They're running cables for power," <<he>> says. <span class="green">"You'll be able to find me here on weekdays, after school."</span> <br><br> <<if Time.dayState is "night">> "I can't wait to get started, but it's late. Again, thank you. I can scarcely wait to start!" <<elseif Time.weekDay gte 1 and Time.weekDay lte 5>> <<if Time.schoolDay and Time.hour gte 9 and Time.hour lt 15>> "I can't wait to get started, but I can't neglect my students. Again, thank you. I can scarcely wait to start!" <<else>> "I can't wait to get started, but it's late. Again, thank you. I can scarcely wait to start!" <</if>> <<else>> <<He>> places a bag upon the table, and begins unpacking. "Again, thank you. I can't wait to start!" <</if>> <br><br> <<link [[Next|Lake Office]]>><<endevent>><</link>> <br><<set $outside to 0>><<location "lake_office">><<effects>> You are in the archaeological office at the lake. Green tent walls surround a spacious interior. <<if Time.schoolDay and Time.hour gte 16 and Time.hour lte 20 or !Time.schoolDay and Time.hour gte 6 and Time.hour lte 20>> <<npc Winter>><<person1>> Winter sits in front of a table, engrossed in study. <</if>> <br><br> <<if (Time.schoolDay and Time.hour gte 16 and Time.hour lte 20 or !Time.schoolDay and Time.hour gte 6 and Time.hour lte 20)>> <<if !$weekly.winterLakeTalk>> <<socialiseicon "ask">><<link [[Ask about Winter's research|Lake Office Ask]]>><</link>> <br> <</if>> <<if $winterLakeTalk is 1 and $bogProgress is 1>> <<socialiseicon>><<link [[Tell Winter about the bog|Lake Office Ask Bog]]>><<npcincr Winter love 2>><</link>><<glove>> <br> <</if>> <</if>> <<getouticon>><<link [[Leave|Lake Shore]]>><<endevent>><</link>> <br><<set $outside to 0>><<location "lake_office">><<effects>> <<set $winterLakeTalk = ($winterLakeTalk || 0)>> <<if $winterLakeTalk is 0>> <<if $speech_attitude is "meek">> "Was... was this worth it? Have you learned anything?" <<elseif $speech_attitude is "bratty">> "So, was this whole project worth the money? Did you learn anything?" <<else>> "Has the office been helpful? Did you learn anything?" <</if>> <<else>> <<if $speech_attitude is "meek">> "H-have you learned anything new?" <<elseif $speech_attitude is "bratty">> "Anything new?" <<else>> "What's new?" <</if>> <</if>> you ask. <br><br> <<switch $winterLakeTalk>> <<case 0>> <<set $winterLakeTalk to 1>><<set $weekly.winterLakeTalk to true>> <<His>> head tilts slightly. "Normally I wouldn't be so inclined to share new and potentially flawed information, but you're to thank for all of this. I can make an exception." <<npcincr Winter love 1>><<glove>> <br><br> "Manmade interference is obvious, even beyond the submerged ruins. Erosion patterns show that the channel leading north towards the town is at least partially artificial. The former natural waterway that leads east became a small brook due to the redirection." <br><br> <<He>> pauses for a moment. "We can't place a definitive date, and nothing about the northern waterway exists in the town's records. However, the stagnation caused by the reduced flow may have led to the formation of the bog to the east. <span class="green">One could possibly traverse the dry section of the riverbed to bypass the dense foliage between here and there</span>. I may have more information for you soon, depending on whether or not I can find someone to <span class="blue">scout the brook for me.</span>" <br><br> <<if !$brookIntro>> <<set $brookIntro to 1>> <span class="gold">You've discovered the offshoot brook near the waterfall.</span> <br><br> <</if>> <<link [[Next|Lake Office]]>><<endevent>><</link>> <br> <<case 1>> <<if $bogProgress gte 2>> <<set $winterLakeTalk to 2>><<set $weekly.winterLakeTalk to true>> <<He>> turns to you. "The lake is fed by a tributary river that forms in the mountain to the west. However, the lake wasn't always here. That much is made obvious by the old ruins. The questions are when, and why? Where did the river lead to before then?" <br><br> <<He>> pauses. "I'll be sending a group to take notes on the bog. <span class="green">We finally have some volunteers thanks to your scouting.</span> Come see me in a week, and I may have more for you." <<else>> <<set $weekly.winterLakeTalk to true>> <<He>> frowns. "Afraid not. <span class="blue">I need someone to investigate the brook's path.</span> Until then, we're stuck." <</if>> <br><br> <<link [[Next|Lake Office]]>><<endevent>><</link>> <br> <<case 2>> <<set $winterLakeTalk to 3>> <<set $bogTeam to { state: "active", robinKnown: false, robinPresent: false, timer: 0 }>> <<He>> nods. "My team has collected samples-" <br><br> As if on cue, someone enters the tent. It's Sirris. <<npc Sirris 2>><<person2>> <<He>> drops a large backpack onto the desk beside Winter, smiling. "Branch trimmings, a sketch of the heartwood rings, and a small jar of sap," <<he>> says proudly before smiling at you. <br><br> <<npc Niki 3>><<npc Wren 4>> <<run getRobinLocation()>> <<if _robin_location isnot $robinmissing>> <<npc Robin 5>><<set $bogTeam.robinKnown to true>><<set $bogTeam.robinPresent to true>> Two more enter. You first notice Robin shuffling awkwardly and looking downtrodden. <<person5>><<He>> lightens up upon seeing you. "Hey. Winter said <<person1>><<he>> needed help, so I volunteered!" Behind <<person5>><<him>> is a <<person4>><<personsimple>> with <<if $pronoun is "m">>short<<else>>shoulder-length<</if>> hair. There's a pistol holstered on <<his>> belt. <<if $wrenSeen.includesAny("cards", "letter", "prison", "catsuit")>> <span class="gold">It's Wren.</span> <br><br> "Well, if it isn't my favourite troublemaker," <<he>> says with a grin. <<He>> places a hand on Robin's head, ruffling <<person5>><<his>> hair. <<if $robinromance is 1>> "Never guessed this would be your <<girlfriend>>, Ro." Robin pushes Wren's hand away. The emotion on <<his>> face is hard to read, but you think you catch a mixture of disgust and 'help me'. <<else>> "Never guessed this would be the friend you were telling me all about, Ro." Robin pushes Wren's hand away and takes a step out of reach. The emotion on <<his>> face is hard to read. <</if>> <<elseif $wrenSeen.length>> <span class="gold">It's Wren.</span> <br><br> "Well, fancy seeing you here," <<he>> says with a grin. <<He>> places a hand on Robin's head, ruffling <<person5>><<his>> hair. <<if $robinromance is 1>> "Never guessed this would be your <<girlfriend>>, Ro." Robin pushes Wren's hand away. The emotion on <<his>> face is hard to read, but you think you catch a mixture of disgust and 'help me'. <<else>> "Never guessed this would be the friend you were telling me all about, Ro." Robin pushes Wren's hand away and takes a step out of reach. The emotion on <<his>> face is hard to read. <</if>> <<else>> <br><br> <<if $robinromance is 1>> "Oh, is this your <<girlfriend>>, Ro? <span class="gold">The name's Wren,</span>" <<he>> says, ruffling Robin's hair as <<he>> looks at you. Robin pushes Wren's hand away. The emotion on <<person5>><<his>> face is hard to read, but you think you catch a mixture of disgust and 'help me'. <<else>> "Oh, is this the friend you were telling me about, Ro? <span class="gold">The name's Wren,</span>" <<he>> says, ruffling Robin's hair as <<he>> looks at you. Robin pushes Wren's hand away and takes a step out of reach. The emotion on <<person5>><<his>> face is hard to read. <</if>> <</if>> Wren frowns, but is cut off by <<else>> Two more enter the tent. You first notice a <<person4>><<personsimple>> with <<if $pronoun is "m">>short<<else>>shoulder-length<</if>> hair. There's a pistol holstered on <<his>> belt. <<if $wrenSeen.includesAny("cards", "letter", "prison", "catsuit")>> <span class="gold">It's Wren.</span> <br><br> "Well, if it isn't my favourite troublemaker," <<he>> says with a grin. <<elseif $wrenSeen.length>> <span class="gold">It's Wren.</span> <br><br> "Well, fancy seeing you here," <<he>> says with a grin. <<else>> "Damn, how much more help are you planning on pulling in, Winter?" <<He>> regards you with a grin. <span class="gold">"The name's Wren."</span> <</if>> <<Hes>> cut off by <</if>> a young <<person3>><<personsimple>> with a stick in <<his>> mouth pushing in, looking down at a camera. <br><br> <<if !$nikiSeen.length>> "That's Niki," Sirris says. "A photographer who works in town. When Winter came calling, I thought <<he>> would be interested." Niki acknowledges you with a nod. <<elseif $nikiSeen.includes("adult_shop_opening")>> It's Niki, the photographer. "You remember Niki, right?" Sirris asks. "From the opening of the shop." Niki acknowledges you with a nod. <<elseif $nikiSeen.includes("farm")>> <span class="red">It's Niki,</span> the photographer from Remy's farm. <<He>> looks alarmed to see you. "That's Niki," Sirris says. "A photographer who works in town. When Winter came calling, I thought <<he>> would be interested." <<gtrauma>><<trauma 6>> <<else>> It's Niki, the photographer. <<He>> acknowledges you with a nod. "That's Niki," Sirris says. "A photographer who works in town. When Winter came calling, I thought <<he>> would be interested." <</if>> <br><br> <<set $wrenSeen.pushUnique("winter")>> <<set $wrenSeenLast to "winter">> <<set $nikiSeen.pushUnique("winter")>> <<link [[Next|Lake Office Volunteers]]>><</link>> <br> <<case 3>> "Nothing new, yet. It may be some time before we make any meaningful progress." <br><br> <<link [[Next|Lake Office]]>><<endevent>><</link>> <br> <<default>> "Nothing yet," <<he>> says with a hint of regret. "We've hit something of a standstill." <br><br> <<link [[Next|Lake Office]]>><<endevent>><</link>> <br> <</switch>><<set $outside to 0>><<location "lake_office">><<effects>> <<set $bogProgress to 2>><<set $weekly.winterLakeTalk to false>> <<if $speech_attitude is "meek">> "You were right about that brook, it leads into a scary bog," you say. "It looks dangerous." <<elseif $speech_attitude is "bratty">> "You're right on the money about the brook, it leads into a bog," you say. "I went and looked for you. Aren't I sweet?" <<else>> "You were right about the brook. It leads into a bog," you say. <</if>> You also tell <<him>> how it can be safely traversed, and about the one-way drop into the bog. <br><br> You see a smile cross <<his>> face, but only for a moment. "You didn't have to do that. It could have been dangerous. But this is valuable information. Thank you." <<glove>> <br><br> <<He>> pauses. "I'm sure I'll be able to find volunteers now that they won't have to go in completely blind, or go all the way around through the moor." <br><br> <<link [[Next|Lake Office]]>><<endevent>><</link>> <br><<set $outside to 0>><<location "lake_office">><<effects>> <<person1>>Winter clears <<his>> throat. "Thank you, you <<if $bogTeam.robinKnown>>four<<else>>three<</if>>. You look like you've worked hard today. I appreciate excellence, but remember not to overdo it." <<if !$bogTeam.robinKnown>> Winter turns to you. "I had hoped to ask your classmate Robin for aid as well, but I haven't seen <<nnpc_him "Robin">>." <</if>> <br><br> The group leaves the tent, saying their goodbyes. "I may ask you to join them on one of their trips in the future. However, to answer your initial question..." <<He>> begins to dig through Sirris' backpack. "This lake should not exist. More water drains than is fed into it. The only explanation currently feasible is that the lake is connected to an underground aquifer or aqueduct that feeds it. But the divers have found no such passage." <br><br> <<He>> examines a jar of tree sap. "Patterns of old-growth trees show that the area around the lake was logged heavily. Sirris' current theory is that the lack of sturdy vegetation, combined with an unseasonably warm spring and rapid snowmelt, led to the river bursting its banks and forming a large sinkhole some centuries ago." <br><br> <<He>> continues. "The persistence of such dense vegetation around the brook still eludes me. Perhaps it's an invasive species that requires less water. This is all we've learned as of now." <br><br> <<link [[Next|Lake Office]]>><<endevent>><</link>> <br><<effects>> <<link [[Step away|Lake Shore]]>><<handheldon>><<unset $mirrorMenu>><<unset $bodywritingSet>><</link>> <br> <<mirror "reflection">> <br><br><<set $outside to 1>><<set $location to "lake">><<set $bus to "lakebus">><<effects>><<lakeeffects>> You are at the bus stop beside the lake. The road from town terminates here, ending in a paved circle. The lake proper is visible over a ridge. <br><br> <<if $exposed lte 0>> <<busicon>><<link [[Wait for a bus (0:02)|Bus]]>><<pass 2>><</link>><br> <</if>> <<lakeicon>><<link [[South to shore|Lake Shore]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $forest to 40>><<set $bus to "lakewaterfall">> You are at the waterfall. <<if Weather.isFrozen("lake")>> It feeds the lake through a gap in the ice. <<elseif $laketeenspresent is 1>> <<set _in to Time.season is "winter" ? "near" : "in">> Some of the students are playing _in the falling water. Others sit _in the pond above. <<elseif Time.dayState is "night">> It's a curtain of silver in the moonlight. <<else>> Water is flowing down from the pond up on the rocks. A refreshing mist rolls out. <</if>> <<if Weather.precipitation is "snow">> Snow <<= Weather.isFrozen("lake") ? "settles on its surface" : "drifts into the frigid water">>. <<elseif Weather.isFrozen("lake")>> The ice is <<= Weather.precipitation is "rain" ? "pelted with frigid rain" : "serene">>. <<else>> The water is <<= Weather.precipitation is "rain" ? "alive with motion as rain breaks its surface" : "calm">>. <</if>> <br><br> <<if $exposed gte 1 and $laketeenspresent is 1>> <<if hasSexStat("exhibitionism", 5)>> You keep low and stay among the trees. You really wish to show your <<lewdness>>, but you restrain yourself from doing so. <<else>> You keep low and stay among the trees to keep your <<lewdness>> from being seen. <</if>> <br><br> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - $allure) and $eventskip is 0 and $laketeenspresent isnot 1>> <<eventlake>> <<elseif !$brookIntro and $historytrait gte 4 and $sciencetrait gte 2 and $tending gte 200 and !$possessed>> <<set $brookIntro to 1>> You let yourself listen to the trickle of water for a moment. Curiosity gets the better of you. You look at the waterfall, and follow the stream that runs off. It slowly but gradually gets weaker as it disappears into a nearly impassible wall of foliage. <span class="green">Nearly.</span> <br><br> You remember your science and history lessons. This is an offshoot distributary of the lake. It flows east towards the moor, instead of north towards the ocean. All rivers end somewhere, and this one must flow sharply downwards into the bog between the forest and moor. <br><br> <span class="gold">With some care, you could traverse the brook's channel deeper into the forest, and eventually into the bog and moor.</span> <span class="red">But it would be a one-way trip.</span> <br><br> <<link [[Next|Lake Waterfall]]>><<set $eventskip to 1>><</link>> <br> <<else>> <<eventlakesafe>> <<lakereturnjourney>> <<if $pregnancyStats.parasiteDoctorEvents gte 2>> <<containersLink>> <</if>> <<if $mason_count gte 2 and !Weather.isFrozen("lake")>> <<lakeicon "pond">><<link [[Mason's pond (0:05)|Mason Pond]]>><<pass 5>><</link>> <br> <</if>> <<if $nextPassageCheck is "Lake Shore">> <<lakeicon>><span class="nextLink"><<link [[The lake.|Lake Shore]]>><<pass 10>><</link>></span> <<else>> <<lakeicon>><<link [[North to shore (0:10)|Lake Shore]]>><<pass 10>><</link>> <</if>> <br> <<lakeicon "fishing">><<link [[South to fishing rock (0:10)|Lake Fishing Rock]]>><<pass 10>><</link>> <br> <<if $brookIntro gte 1>> <<if $worn.feet.type.includes("heels")>> <span class="red">Traversing the brook in heels would be impossible.</span> <<else>> <<foresticon "river">><<link [[East to brook (0:10)|Forest Brook]]>><<pass 10>><<tiredness 4>><</link>><<gtiredness>> <</if>> <br> <</if>> <br> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked") and hasSexStat("exhibitionism", 3)>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<else>> <<foresticon>><<link [[Forest (0:10)|Forest]]>><<pass 10>><</link>> <</if>> <br> <<set $eventskip to 0>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $forest to 50>><<set $bus to "lakefishingrock">> You are on the fishing rock. <<if $laketeenspresent is 1>> You see people on the other side of the <<= Weather.isFrozen("lake") ? "frozen lake" : "lake. Fish splash up to eat insects. It's peaceful, though the nearby trees are foreboding">>. <<elseif Time.dayState is "night">> Dark water ripples unseen beneath the <<= Weather.isFrozen("lake") ? "ice" : "lake surface">>. <<elseif Time.dayState is "dusk" or Time.dayState is "dawn">> <<= Weather.isFrozen("lake") ? "The lake ice sparkles in the dim light" : "Fish splash up to eat insects">>. It's peaceful, though the nearby trees are foreboding. <<else>> From here you have a clear view of the entire lake. You see fish swimming <<= Weather.isFrozen("lake") ? "beneath the ice" : "in the water">>. <</if>> <<if Weather.isFrozen("lake")>> <<= Weather.precipitation is "snow" ? "Snow settles on the ice" : "The ice is serene">>. <<else>> The water is <<= Weather.precipitation is "rain" ? "alive with motion as rain breaks its surface" : "calm">>. <</if>> <br><br> <<if $exposed gte 1 and $laketeenspresent is 1>> <<if hasSexStat("exhibitionism", 5)>> You keep low and stay among the trees. You really wish to show your <<lewdness>>, but you restrain yourself from doing so. <<else>> You keep low and stay among the trees to keep your <<lewdness>> from being seen. <</if>> <br><br> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - $allure) and $eventskip is 0 and $laketeenspresent isnot 1>> <<eventlake>> <<else>> <<eventlakesafe>> <<lakereturnjourney>> <<lakeicon "meditate">><<link [[Meditate|Lake Meditate]]>><<set $phase to 1>><</link>> <br> <<if $nextPassageCheck is "Lake Waterfall">> <<lakeicon>><span class="nextLink"><<link [[The lake.|Lake Waterfall]]>><<pass 10>><</link>></span> <<else>> <<lakeicon "waterfall">><<link [[North to waterfall (0:10)|Lake Waterfall]]>><<pass 10>><</link>> <</if>> <br> <<lakeicon "campfire">><<link [[South to campsite (0:20)|Lake Campsite]]>><<pass 20>><</link>> <br><br> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked") and hasSexStat("exhibitionism", 3)>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<else>> <<foresticon>><<link [[Forest (0:10)|Forest]]>><<pass 10>><</link>> <</if>> <br> <<set $eventskip to 0>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $forest to 30>><<set $bus to "lakefirepit">> You are at the Firepit. <<if $laketeenspresent is 1>> Several students sit on a circle of stone benches. <<= Weather.isFrozen("lake") ? "Others try to skate on the nearby ice" : "You can see several people splashing in the water down on the shore">>. <<elseif Time.dayState is "night">> <<if $laketeensfire is 1>> People are sitting around the fire as it burns, talking and drinking. The reflection of the fire on the lake's <<= Weather.isFrozen("lake") ? "ice" : "surface">> is almost mesmerising. <<else>> Dark water ripples unseen beneath the lake's <<= Weather.isFrozen("lake") ? "ice" : "surface">>. <</if>> <<else>> There are stone benches circling the pit. <</if>> <<if Weather.isFrozen("lake")>> <<= Weather.precipitation is "snow" ? "Snow settles on the ice below" : "The ice is serene">>. <<else>> The water is <<= Weather.precipitation is "rain" ? "alive with motion as rain breaks its surface" : "calm">>. <</if>> <br><br> <<if $exposed gte 1 and ($laketeenspresent is 1 or $laketeensfire is 1)>> <<if hasSexStat("exhibitionism", 5)>> You keep low and stay among the trees. You really wish to show your <<lewdness>>, but you restrain yourself from doing so. <<else>> You keep low and stay among the trees to keep your <<lewdness>> from being seen. <</if>> <br><br> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - $allure) and $eventskip is 0 and $laketeenspresent isnot 1>> <<eventlake>> <<else>> <<if $arousal gte $arousalmax>> <<orgasmLocation "lake" `$laketeenspresent isnot 1`>> <</if>> <<eventlakesafe>> <<lakereturnjourney>> <<link [[South to shore (0:10)|Lake Shore]]>><<pass 10>><</link>> <br><br> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked") and hasSexStat("exhibitionism", 3)>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<else>> <<foresticon>><<link [[Forest (0:10)|Forest]]>><<pass 10>><</link>> <</if>> <br> <<set $eventskip to 0>> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<set $forest to 50>><<set $bus to "lakecampsite">> You are at the campsite. <<if Time.dayState is "night">> <<if Weather.precipitation is "none" and Time.hour gte 18 and $daily.lakeCouple isnot 1>> A couple cuddles beside a small fire. There is a tent set up nearby. <<elseif Weather.precipitation is "rain" or Weather.precipitation is "snow">> An unlit fireplace sits in the centre of the clearing. The <<= Weather.precipitation>> may have driven off campers. <<else>> Embers burn beside a tent. <</if>> <<elseif Time.dayState is "dawn">> It looks like it was used recently. <<else>> An unlit fireplace sits in the centre of the clearing. <</if>> <br><br> <<if Weather.precipitation is "none" and Time.hour gte 18 and $exposed gte 1 and $daily.lakeCouple isnot 1>> <<if hasSexStat("exhibitionism", 5)>> You keep low and stay among the trees. You really wish to show your <<lewdness>>, but you restrain yourself from doing so. <<else>> You keep low and stay among the trees to keep your <<lewdness>> from being seen. <</if>> <br><br> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - $allure) and $eventskip is 0 and $laketeenspresent isnot 1>> <<eventlake>> <<else>> <<if $arousal gte $arousalmax>> <<orgasmLocation "campsite">> <</if>> <<eventlakesafe>> <<lakereturnjourney>> <<if Weather.precipitation is "none" and Time.hour gte 18 and $exposed lte 0 and $daily.lakeCouple isnot 1>> <<ind>><<link [[Approach the couple|Lake Couple]]>><</link>> <br> <</if>> <<if $nextPassageCheck is "Lake Fishing Rock">> <<lakeicon>><span class="nextLink"><<link [[The lake.|Lake Fishing Rock]]>><</link>></span> <<else>> <<lakeicon "fishing">><<link [[North to fishing rock (0:10)|Lake Fishing Rock]]>><<pass 10>><</link>> <</if>> <br><br> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked") and hasSexStat("exhibitionism", 3)>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<else>> <<foresticon>><<link [[Forest (0:10)|Forest]]>><<pass 10>><</link>> <</if>> <br> <<set $eventskip to 0>> <</if>><<set $outside to 1>><<set $location to "lake">><<set $bus to "lakeshallows">><<water>><<effects>><<lakeeffects>> <<if $laketeenspresent is 1>> You are swimming in the lake near the shore. The beach is alive with activity. <<if Time.season isnot "winter">>People play in the sand and water.<</if>> <<else>> <<if Weather.precipitation is "rain">> You are swimming in the lake near the shore. The rain drowns out the sounds of the forest. <<else>> You are swimming in the lake near the shore. There is no one at the beach today. The sound of the forest fills the air. <</if>> <</if>> <<if !Time.schoolDay and Weather.precipitation is "rain" and Time.dayState is "day">> Someone is swimming further out, past the dock. <</if>> <<if $sciencetrait gte 2 and !$plants_known.includes("lotus")>> Lotus flowers float by you. <</if>> <br><br> <<if $laketeenspresent is 1 and $exposed gte 1>> <<if hasSexStat("exhibitionism", 5)>> You keep low beneath the water. You really wish to show your <<lewdness>>, but you restrain yourself from doing so and probably should find something to cover yourself with. <<else>> You keep low beneath the water to keep your <<lewdness>> from being seen. You'll need to find something to cover with. <</if>> <br><br> <</if>> <<if $lakeswim is 1>> <<set $lakeswim to 0>> You practise swimming in the lake. <<if Weather.dayState is "night">> <<if Weather.precipitation is "rain">> The dark water dances with the rain. It's exhilarating, if scary. <<else>> The black water is gentle. <</if>> <<elseif Weather.dayState is "dusk">> <<if Weather.precipitation is "rain">> Rain agitates the cool water. <<else>> The sun falls over the trees, casting its double in the water. <</if>> <<elseif Weather.dayState is "dawn">> <<if Weather.precipitation is "rain">> Rain agitates the cool water. <<else>> The morning sun rises over the trees, casting its double in the water. <</if>> <<else>> <<if Weather.precipitation is "rain">> Rain agitates the warm water. <<else>> The water is warm and gentle. <</if>> <</if>> <<physique 3>><<swimmingskilluse>><<pass 30>> <br><br> <</if>> <<if $phase is 1>> <<set $phase to 0>> You improvise a garment made from reeds and lilies and tie it around your chest. It's fragile and revealing, and you don't think you could take it off without breaking it, but it's better than nothing. <<plantupper "seaweed">> <br><br> <<if $rng gte 91 and $parasite.nipples.name is undefined and $parasitedisable is "f">> Your satisfaction is interrupted by a pinching sensation on your <<nipples>>. Shocked, you pull down your top to find the culprit. Two small and soft invertebrates have latched to your chest. They massage and suck your nipples as if trying to nurse. They don't hurt at all, but the sensations are arousing you. You tug them in a bid to be free of their molestation, but they cling too tightly. What's more, touching them with any amount of force makes them suck more intensely. You'll need help to remove them. <<parasite nipples urchin>><<garousal>><<arousal 600 "breasts">> <br><br> <</if>> <<exposure>> <</if>> <<if $phase is 2>> <<set $phase to 0>> You improvise a garment made from reeds and lilies and tie it around your waist. It's fragile and revealing, and you don't think you could take it off without breaking it, but it's better than nothing. <<plantlower "seaweed">> <br><br> <<if $parasite.penis.name is "parasite" or $parasite.clit.name is "parasite">> /* Prevents the 2 types of parasites from interacting */ <<elseif $rng gte 91 and $parasite.penis.name is undefined and $player.penisExist and $parasitedisable is "f" and !playerChastity("penis")>> Your satisfaction is interrupted by a pinching sensation on your <<penis>>. Shocked, you lift your skirt to find the culprit. A small and soft invertebrate has latched on. It massages and sucks as if trying to nurse. It doesn't hurt at all, but the sensations are making you feel shamefully aroused. You tug it in a bid to be free of its molestation, but it clings too tightly. What's more, touching it with any amount of force makes it suck more intensely. You'll need help to remove it. <<parasite penis urchin>><<garousal>><<arousal 600 "genitals">> <br><br> <<elseif $rng gte 91 and $parasite.clit.name is undefined and $player.vaginaExist and $parasitedisable is "f" and !playerChastity("hidden") and !$player.penisExist>> Your satisfaction is interrupted by a pinching sensation on your <<pussy>>. Shocked, you lift your skirt to find the culprit. A small and soft invertebrate has latched onto your clit. It massages and sucks as if trying to nurse. It doesn't hurt at all, but the sensations are making you feel shamefully aroused. You tug it in a bid to be free of its molestation, but it clings too tightly. What's more, touching it with any amount of force makes it suck more intensely. You'll need help to remove it. <<parasite clit urchin>><<garousal>><<arousal 600 "genitals">> <br><br> <</if>> <<exposure>> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - ($allure / 2)) and $eventskip is 0>> <<eventlakewater>> <<else>> <<swimicon "back">><<link [[Practise swimming (0:30)|Lake Shallows]]>><<stress -6>><<tiredness 6>><<set $lakeswim to 1>><<slimeEventEnd "swimming">><</link>><<gswimming>><<lstress>><<gtiredness>> <br> <<if $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1 or $worn.upper.exposed gte 2 and $underupperwetstage gte 3 or $upperwetstage gte 3 and $worn.under_upper.exposed gte 1 or $upperwetstage gte 3 and $underupperwetstage gte 3>> <<beachicon "seaweed">><<link [[Make a top out of plants (0:20)|Lake Shallows]]>><<pass 20>><<set $phase to 1>><</link>> <br> <</if>> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 or $worn.lower.exposed gte 2 and $underlowerwetstage gte 3 or $lowerwetstage gte 3 and $worn.under_lower.exposed gte 1 or $lowerwetstage gte 3 and $underlowerwetstage gte 3>> <<beachicon "seaweed">><<link [[Make a skirt out of plants (0:20)|Lake Shallows]]>><<pass 20>><<set $phase to 2>><</link>> <br> <</if>> <<if $sciencetrait gte 2 and !$plants_known.includes("lotus")>> <<icon "tending/lotus.png">> <<link [[Search for seeds (0:30)|Lake Lotus]]>><<set $plants_known.push("lotus")>><<pass 30>><<tending 6>><</link>><<gtending>> <br> <</if>> <<if $exposed gte 1 and $laketeenspresent is 1>> <br> <<elseif $debug is 1>> <<lakeicon "dock">><<link [[Swim to dock (0:10)|Lake Dock]]>><<pass 10>><</link>> <br> <</if>> <<if $nextPassageCheck is "Lake Depths">> <span class="nextLink"><<link [[Further.|Lake Depths]]>><<pass 12>><</link>></span> <<else>> <<swimicon>><<link [[Swim further out (0:12)|Lake Depths]]>><<pass 12>><</link>> <</if>> <br> <<if $exposed gte 1 and $laketeenspresent is 1>> <<if $exposed gte 2 and hasSexStat("exhibitionism", 5)>> <<lakeicon>><<link [[Leave the water exposed (0:02)|Lake Shore Exposed]]>><<set $phase to 0>><<pass 2>><</link>><<exhibitionist5>> <<elseif $exposed gte 1 and hasSexStat("exhibitionism", 4)>> <<lakeicon>><<link [[Leave the water exposed (0:02)|Lake Shore Exposed]]>><<set $phase to 1>><<pass 2>><</link>><<exhibitionist4>> <</if>> <<else>> <<lakeicon>><<link [[Shore (0:02)|Lake Shore]]>><<pass 2>><</link>> <br> <</if>> <<set $eventskip to 0>> <</if>><<effects>> <<fameschoolex 5>> <<generatey1>><<generatey2>> <<if ($phase is 0 and ($uncomfortable.nude is false) or ($phase is 1 and $uncomfortable.underwear is false))>> In a moment of daring, you casually emerge from the lake despite your <<lewdness>>. <<flaunting>> you stroll right past a group of students. It takes a moment for anyone to notice, but eventually a <<person1>><<person>> gasps and points at you, drawing the attention of several more. <br><br> A few avert their eyes in embarrassment, but many more have their eyes glued to you as you stride over to the rocky alcove. A <<person2>><<person>> especially takes an interest in you, but seems to hesitate before doing anything. You decide to increase your pace. <br><br> You sit by the rocky alcove, just out of sight. You wonder how many are still looking in your direction. <<else>> In a moment of daring, you emerge from the lake despite your <<lewdness>>. You run right past a group of students, attempting to cover yourself however you can. A <<person1>><<person>> points and laughs as you run, drawing the attention of several more. <<status -10>><<lcool>> <br><br> A few avert their eyes in embarrassment, but many more have their eyes glued to you as you stride over to the rocky alcove. A <<person2>><<person>> especially takes an interest in you, and for a moment, you think <<hes>> going to chase you. You increase your pace. <br><br> You sit by the rocky alcove, just out of sight. You wonder how many are still looking in your direction. <</if>> <<if $phase is 0>> <<exhibitionism5>> <<else>> <<exhibitionism4>> <</if>> <<link [[Next|Lake Shore]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<set $bus to "lakeshallows">><<effects>><<lakeeffects>> <<if $laketeenspresent is 1>> You are stood on the frozen lake near the shore. Students practise ice skating nearby. <<else>> <<if Weather.precipitation is "snow">> You are stood on the frozen lake near the shore. Snow blankets the ice, softening your footsteps. <<else>> You are stood alone on the frozen lake near the shore. The sound of the forest fills the air. <</if>> <</if>> <<if $sciencetrait gte 2 and !$plants_known.includes("lotus")>> You see lotus flowers trapped within the ice. <</if>> <br><br> <<if $laketeenspresent is 1 and $exposed gte 1>> There's nowhere to hide. <<covered>> <br><br> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - ($allure / 2)) and $eventskip is 0>> <<eventlakeice>> <<else>> <<eventlakesafe>> <<lakereturnjourney>> <<lakeicon "skate">><<link [[Ice skate (0:30)|Lake Skate]]>><<pass 30>><<tiredness 5>><<danceskill 5>><</link>><<gtiredness>><<gdanceskill>> <br> <<if $sciencetrait gte 2 and !$plants_known.includes("lotus")>> <<icon "tending/lotus.png">> <<link [[Search for seeds (0:30)|Lake Lotus Ice]]>><<set $plants_known.push("lotus")>><<pass 30>><<tending 6>><</link>><<gtending>> <br> <</if>> <<if $nextPassageCheck is "Lake Depths Ice">> <<ind>><span class="nextLink"><<link [[Further (0:12)|Lake Depths Ice]]>><<pass 12>><</link>></span> <<else>> <<getinicon>><<link [[Walk further out (0:12)|Lake Depths Ice]]>><<pass 12>><</link>> <</if>> <br> <<lakeicon>><<link [[Shore (0:02)|Lake Shore]]>><<pass 2>><</link>> <br> <<set $eventskip to 0>> <</if>><<effects>><<wearProp "lotus">> You swim among the lotus flowers, gathering seeds. <span class="gold">You can now grow <<icon "tending/lotus.png">> lotus.</span> <i>Lotus are valuable, but need a special environment to grow.</i> <br><br> <<link [[Next|Lake Shallows]]>><<handheldon>><</link>> <br><<effects>><<wearProp "lotus">> You free the lotus flowers from the ice, gathering the seeds. <span class="gold">You can now grow <<icon "tending/lotus.png">> lotus.</span> <i>Lotus are valuable, but need a special environment to grow.</i> <br><br> <<link [[Next|Lake Shallows Ice]]>><<handheldon>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<set $bus to "lakedepths">><<water>><<effects>><<lakeeffects>> <<if $laketeenspresent is 1>> You are swimming in the middle of the lake near the dock. You see several students hanging out on and around it. <<else>> <<if Weather.precipitation is "rain">> You are swimming in the lake near the shore. The rain is so thick you can't see the shore. An endless deluge surrounds you in all directions. <<else>> You are swimming in the middle of the lake near the dock. <</if>> <</if>> <<if !Time.schoolDay and Weather.precipitation is "rain" and Time.dayState is "day">> <span class="lblue">Mason swims nearby.</span> <</if>> <br><br> <<if $laketeenspresent is 1 and $exposed gte 1>> <<if hasSexStat("exhibitionism", 5)>> You keep low beneath the water. You really wish to show your <<lewdness>>, but you restrain yourself from doing so and probably should find something to cover yourself with. <<else>> You keep low beneath the water to keep your <<lewdness>> from being seen. You'll need to find something to cover with. <</if>> <br><br> <</if>> <<if $lakeswim is 1>> <<set $lakeswim to 0>> You practise swimming in the lake. <<if Weather.dayState is "night">> <<if Weather.precipitation is "rain">> The dark water dances with the rain. It's exhilarating, if scary. <<else>> The black water is gentle. <</if>> <<elseif Weather.dayState is "dusk">> <<if Weather.precipitation is "rain">> Rain agitates the cool water. <<else>> The evening sun falls over the trees, casting its double in the water. <</if>> <<elseif Weather.dayState is "dawn">> <<if Weather.precipitation is "rain">> Rain agitates the cool water. <<else>> The morning sun rises over the trees, casting its double in the water. <</if>> <<else>> <<if Weather.precipitation is "rain">> Rain agitates the warm water. <<else>> The water is warm and gentle. <</if>> <</if>> <<physique 3>><<swimmingskilluse>><<pass 30>> <br><br> <</if>> <<if $phase is 1>> <<set $phase to 0>> You improvise a garment made from reeds and lilies and tie it around your chest. It's fragile and revealing, and you don't think you could take it off without breaking it, but it's better than nothing. <<plantupper "seaweed">> <br><br> <<if $rng gte 91 and $parasite.nipples.name is undefined and $parasitedisable is "f">> Your satisfaction is interrupted by a pinching sensation on your <<nipples>>. Shocked, you pull down your top to find the culprit. Two small and soft invertebrates have latched to your chest. They massage and suck your nipples as if trying to nurse. They don't hurt at all, but the sensations are arousing you. You tug them in a bid to be free of their molestation, but they cling too tightly. What's more, touching them with any amount of force makes them suck more intensely. You'll need help to remove them. <<parasite nipples urchin>><<garousal>><<arousal 600 "breasts">> <br><br> <</if>> <</if>> <<if $phase is 2>> <<set $phase to 0>> You improvise a garment made from reeds and lilies and tie it around your waist. It's fragile and revealing, and you don't think you could take it off without breaking it, but it's better than nothing. <<plantlower "seaweed">> <br><br> <<if $parasite.penis.name is "parasite" or $parasite.clit.name is "parasite">> /* Prevents the 2 types of parasites from interacting */ <<elseif $rng gte 91 and $parasite.penis.name is undefined and $player.penisExist and $parasitedisable is "f" and !playerChastity("penis")>> Your satisfaction is interrupted by a pinching sensation on your <<penis>>. Shocked, you lift your skirt to find the culprit. A small and soft invertebrate has latched on. It massages and sucks as if trying to nurse. It doesn't hurt at all, but the sensations are making you feel shamefully aroused. You tug it in a bid to be free of its molestation, but it clings too tightly. What's more, touching it with any amount of force makes it suck more intensely. You'll need help to remove it. <<parasite penis urchin>><<garousal>><<arousal 600 "genitals">> <br><br> <<elseif $rng gte 91 and $parasite.clit.name is undefined and $player.vaginaExist and $parasitedisable is "f" and !playerChastity("hidden")>> Your satisfaction is interrupted by a pinching sensation on your <<pussy>>. Shocked, you lift your skirt to find the culprit. A small and soft invertebrate has latched onto your clit. It massages and sucks as if trying to nurse. It doesn't hurt at all, but the sensations are making you feel shamefully aroused. You tug it in a bid to be free of its molestation, but it clings too tightly. What's more, touching it with any amount of force makes it suck more intensely. You'll need help to remove it. <<parasite clit urchin>><<garousal>><<arousal 600 "genitals">> <br><br> <</if>> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - ($allure + 1000)) and $eventskip is 0 and $lakesurface is 1>> <span class="purple">Something followed you from the depths.</span> <<eventlakewater>> <<elseif $danger gte (9900 - ($allure / 2)) and $eventskip is 0>> <<eventlakewater>> <<else>> <<swimicon>><<link [[Practise swimming (0:30)|Lake Depths]]>><<stress -6>><<tiredness 6>><<set $lakeswim to 1>><<slimeEventEnd "swimming">><</link>><<gswimming>><<lstress>><<gtiredness>> <br> <<if !Time.schoolDay and Weather.precipitation is "rain" and Time.dayState is "day" and $daily.masonSpoken isnot 1 and !$possessed>> <<if $mason_count gte 1>> <<swimicon>><<link [[Swim out to Mason (0:05)|Lake Mason]]>><<pass 5>><<set $daily.masonSpoken to 1>><</link>> <br> <<else>> <<swimicon>><<link [[Swim out to Mason (0:05)|Lake Mason Intro]]>><<pass 5>><</link>> <br> <</if>> <</if>> <<if $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1 or $worn.upper.exposed gte 2 and $underupperwetstage gte 3 or $upperwetstage gte 3 and $worn.under_upper.exposed gte 1 or $upperwetstage gte 3 and $underupperwetstage gte 3>> <<beachicon "seaweed">><<link [[Make a top out of plants (0:20)|Lake Depths]]>><<pass 20>><<set $phase to 1>><</link>> <br> <</if>> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 or $worn.lower.exposed gte 2 and $underlowerwetstage gte 3 or $lowerwetstage gte 3 and $worn.under_lower.exposed gte 1 or $lowerwetstage gte 3 and $underlowerwetstage gte 3>> <<beachicon "seaweed">><<link [[Make a skirt out of plants (0:20)|Lake Depths]]>><<pass 20>><<set $phase to 2>><</link>> <br> <</if>> <<if $nextPassageCheck is "Lake Underwater">> <<swimicon "down">><span class="nextLink"><<link [[Down.|Lake Underwater]]>><<pass 1>><</link>></span> <<else>> <<swimicon "dive">><<link [[Dive (0:01)|Lake Underwater]]>><<pass 1>><</link>> <</if>> <br> <<swimicon "back">><<link [[Swim towards shore (0:12)|Lake Shallows]]>><<pass 12>><</link>> <br><br> <<if $exposed gte 1 and $laketeenspresent is 1>> <<elseif $debug is 1>> <<lakeicon "dock">><<link [[Swim to dock (0:02)|Lake Dock]]>><<pass 2>><</link>> <br> <</if>> <<set $eventskip to 0>> <</if>> <<set $lakesurface to 0>><<set $outside to 1>><<set $location to "lake">><<set $bus to "lakedepths">><<effects>><<lakeeffects>> You are in the middle of the frozen lake, near the swimming dock. <<if Weather.precipitation === "snow">> Thick snow makes it difficult to see the surrounding forest. <</if>> <br><br> <<if !Weather.isFrozen("lake")>> As the temperature increases, the ice suddenly gives way. You plunge into icy water.<<ggstress>><<stress 18>> <br><br> <<link [[Next|Lake Underwater]]>><</link>> <<exit>> <</if>> <<if !Time.schoolDay and Weather.isFrozen("lake") and Time.dayState is "day">> Someone's dug through the ice beside the swimming dock. <<else>> <<if $lake_ice_broken is undefined>> Someone left equipment on the swimming dock, including a shovel. The ice is thin here. You could break through, with some effort. <<else>> There's a hole in the ice, allowing access to the water below. <</if>> <</if>> <br><br> <<if $exposed gte 1>> <<covered>> There's nowhere to hide out here. <br><br> <</if>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif $danger gte (9900 - ($allure + 1000)) and $eventskip is 0 and $lakesurface is 1>> <span class="purple">Something followed you from the depths.</span> <<eventlakewater>> <<elseif $danger gte (9900 - ($allure / 2)) and $eventskip is 0>> <<eventlakeice>> <<else>> <<if !Time.schoolDay and Weather.isSnow and Time.dayState is "day">> <<set $lake_ice_broken to 1>> <</if>> <<if $nextPassageCheck is "Lake Depths Ice Break">> <<swimicon "down">><span class="nextLink"><<link [[Down.|Lake Depths Ice Break]]>><<pass 12>><</link>></span> <br> <<elseif $lake_ice_broken is undefined>> <<swimicon "break">><<link [[Break the ice (0:30)|Lake Ice Break]]>><<pass 30>><<set $lake_ice_broken to 2>><<tiredness 3>><</link>><<gtiredness>> <br> <<else>> <<swimicon "dive">><<link [[Dive (0:01)|Lake Underwater]]>><<pass 1>><</link>> <<swim_check>> <<if _swim_check isnot 1 and $statdisable is "f">> | <span class="purple">You are not wearing any swimwear!</span> <</if>> <br> <</if>> <<lakeicon>><<link [[Walk towards shore (0:12)|Lake Shallows Ice]]>><<pass 12>><</link>> <br><br> <<set $eventskip to 0>> <</if>> <<set $lakesurface to 0>><<effects>><<wearProp "shovel">> You lift the shovel, and thrust it into the ice. It's hard work, but you manage to make a sizeable hole. <br><br> <<link [[Next|Lake Depths Ice]]>><<handheldon>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $laketeenspresent is 1>> You are on the swimming dock. Several students accompany you on the dock. There is a bikini sitting on the edge with no signs of its owner. <<elseif Weather.precipitation is "rain">> You are on the swimming dock. The sound of the rain hitting the water surrounding you is almost deafening. <<if $hallucinations gte 1>>You can't see far, yet you feel like something's watching you.<</if>> <<elseif Time.dayState is "day">> You are on the swimming dock. The lake looks placid. You feel like the only person in the entire world. <<elseif Time.dayState is "night">> <<if $laketeensfire is 1>> You are on the swimming dock. You can see the fire from the party a little ways in the distance. Stars dot the water. You feel like you are floating among them. <<else>> You are on the swimming dock. Stars dot the water. You feel like you are floating among them. <<if $hallucinations gte 1>>You can't see far in the dark, yet you feel like something's watching you.<</if>> <</if>> <<else>> You are on the swimming dock. The only sounds you hear are waves crashing upon the sides of the dock. <</if>> <br><br> <<link [[Go swimming|Lake Depths]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>><<lakeeffects>> <<if $phase is 1>> <<set $phase to 0>> You sit on the rock and look out at the lake. <<if !Weather.isFreezing>> <<if Time.dayState is "night">> <<if Weather.precipitation is "rain">> The violent darkness roils before you. <<else>> The blackness stretches before you. <</if>> <<else>> <<if Weather.precipitation is "rain">> The water dances with raindrops. <<else>> The water is almost perfect in its stillness. <</if>> <</if>> <<else>> <<if Time.dayState is "night">> <<if Weather.precipitation is "snow">> Silent snow settles in darkness. <<else>> The blackness stretches before you. <</if>> <<else>> <<if Weather.isSnow is "snow">> Snow blankets the ice. <<else>> The ice reflects the world. <</if>> <</if>> <</if>> <i>Meditation effectiveness depends on willpower.</i> <<elseif $phase is 2>> <<set $phase to 0>> With some effort you quiet your thoughts until they still. <br><br> An hour passes, and you feel less burdened. <<elseif $phase is 3>> <<set $phase to 0>> You detach yourself from your thoughts. You witness them come and go, as if summoned by something else. <<if $awareness gte 400>> <br><br> The <<if Weather.isFrozen("lake")>>ice<<else>>water<</if>> parts, revealing a gaping abyss. Terror shivers up your spine, and breaks your concentration. <<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <</if>> <<elseif $phase is 4 or $phase is 5>> <<set $phase to 0>> Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You try to remain detached. <br><br> An hour passes, and for a few moments the weight of scrutiny lifts. <<if $acceptance_penis_small gte 1000>> <<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>> <br><br> Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait. <</if>> <<elseif $phase is 6>> <<set $phase to 0>> Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You try to remain detached. <br><br> An hour passes, and for a few moments the weight of scrutiny lifts. <<if $acceptance_penis_big gte 1000>> <<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>> <br><br> Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait. <</if>> <<elseif $phase is 7>> <<set $phase to 0>> Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You try to remain detached. <br><br> An hour passes, and for a few moments the weight of scrutiny lifts. <<if $acceptance_breasts_small gte 1000>> <br><br> Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Flat Chest</span> trait. <</if>> <<elseif $phase is 8>> <<set $phase to 0>> Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached. <br><br> An hour passes, and for a few moments the weight of scrutiny lifts. <<if $acceptance_breasts_small gte 1000>> <br><br> <<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>> Realisation dawns as you lean back. Your <<breasts>> beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait. <</if>> <<elseif $phase is 9>> <<set $phase to 0>> Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached. <br><br> An hour passes, and for a few moments the weight of scrutiny lifts. <<if $acceptance_breasts_big gte 1000>> <<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>> <br><br> Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait. <</if>> <<elseif $phase is 10>> <<set $phase to 0>> Your thoughts turn to your <<print playerAwareTheyArePregnant() ? "pregnant belly" : "pregnant looking belly">>, and the mocking way people regard it. The torment returns. You try to remain detached. <br><br> An hour passes, and for a few moments the weight of scrutiny lifts. <<if $acceptance_pregnancy gte 1000>> <br><br> Realisation dawns as you lean back. Your belly is beautiful. Why should you care what other people say about it? You've gained the <span class="green"><<print playerAwareTheyArePregnant() ? "Acceptance: Pregnant Belly" : "Acceptance: Pregnant Looking Belly">></span> trait. <</if>> <</if>> <br><br> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<else>> <<meditateoptions>> <</if>> <<set $eventskip to 0>><<effects>> You approach the pair. <<if $speech_attitude is "meek">> "A party?" you ask. "May I come?" <<elseif $speech_attitude is "bratty">> "Whatever you're doing," you say. "I want in." <<else>> "What's this about a party?" you ask. "Sounds fun." <</if>> <br><br> <<if $cool gte 240>> The <<person1>><<person>> perks up at your approach. "We're having a party at the lake," <<he>> says. "Halloween night. Everyone's invited." <br><br> <<His>> friend grabs your arm in excitement. "You should come!" <<person2>><<he>> says, before backing off with a blush. "I-if you want to." <br><br> They wave over their shoulders as they continue <<if $location is "school">>down the hall<<else>>into the woods<</if>>. <<elseif $cool gte 120>> The <<person2>><<person>> glances over, holding <<his>> phone aside. "There's gonna be a Halloween party at the lake," <<he>> says. <br><br> <<His>> friend nods. "It's open-invite." <<person1>><<He>> pauses, <<his>> gaze crawling up your body. "You should come." <br><br> They bid you goodbye and continue <<if $location is "school">>down the hall<<else>>into the woods<</if>>. <<else>> The <<person1>><<person>> regards you with a sneer. "Party at the lake," <<he>> says. "On Halloween." <br><br> "Don't think about crashing it," the <<person2>><<person>> butts in. "A freak like you'd scare everyone away." <br><br> Their mocking laughter fades as they <<if $location is "school">>round a corner<<else>>disappear past the trees<</if>>. <</if>> <br><br> <<if $location is "school">> <<link [[Next|Hallways]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>> You continue past the pair. <<if $cool gte 240>> The <<person1>><<person>> gives you a smile, but doesn't stop to chat. <<elseif $cool gte 120>> They ignore you, too caught up in their conversation. <<else>> The <<person1>><<person>> spits in your direction, but doesn't stop to harass you further.<<trauma 2>><<gtrauma>> <</if>> <br><br> As you pass, you can't help overhearing the <<person2>><<person>>. "Don't be chicken," <<he>> laughs. "We won't go past the lake. You'd rather spend the night trick-or-treating?" <br><br> You don't catch the rest as the two <<if $location is "school">>round a corner<<else>>disappear past the trees<</if>>. <br><br> <<if $location is "school">> <<link [[Next|Hallways]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> <<link [[Next|Forest]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>> <<if $phase is 0>> You settle down by the bonfire, surrounded by raucous youths. <<if $cool gte 240>> They greet you with a cheer, drunkenly stumbling over each other for a seat beside you. <<elseif $cool gte 120>> They greet you warmly. You suspect the alcohol has something to do with that. <<else>> No one pays you any mind, not even to pester you. Perhaps they don't recognise you in the dim light. Or they're too drunk to care. <</if>> <br><br> <</if>> <<if playerAwareTheyArePregnant()>> You sit and chat under the moonlight, though you refrain from any drinks. <<else>> <<wearProp "solo cup">> You sit, chat, and drink under the moonlight. <</if>> The others try to entertain themselves with ghost stories. <<generatey1>><<person1>> <<switch random(1, 5)>> <<case 5>>They're not very scary, but a <<person>> is still shaking by the end. <<case 4>>A <<person>> claims the lake itself is haunted. The others laugh <<him>> off. <<case 3>>They're not very scary. Most of the fun comes from jokes at the storytellers' expense. <<case 2>>A <<persons>> story leaves the whole party howling with ridicule. <<He>> washes down the shame with another beer. <<case 1>>One drives a <<person>> to tears, to the amusement of the group. <<He>> sniffles and retreats to the woods, drawing further laughter. <</switch>> <br><br> <<if $syndromewolves is 1 and !$halloweenWolves>><<set $halloweenWolves to 1>> The party is suddenly silenced by a cry from the woods. A howl, followed by cursing, then a pained yelp. <br><br> <<investigateicon>><<link [[Investigate|Lake Halloween Wolves Investigate]]>><<endevent>><</link>> <br> <<ind>><<link [[Stay seated|Lake Halloween Wolves Ignore]]>><<endevent>><</link>> <br> <<elseif Time.monthDay isnot 31>> It's getting late, and the shadows of the forest are lengthening. People are preparing to return to town. No one wants to be left to travel alone. <br><br> <<set _storedClothes to clothingInStorage("lakeshore")>> <<if $earSlime.forcedCommando isnot undefined and _storedClothes.find(item => item.slot is "under_lower" and !item.type.includes("naked"))>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<set _earSlimeText to true>> <<elseif _storedClothes.length>> <<ind>><<link [[Get changed, then go with them (0:40)|Lake Return Journey]]>><<endevent>><<storeload "lakeshore">><<set $foresthunt to 0>><<pass 30>><</link>> <br> <</if>> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked")>> <<if _earSlimeText>><span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span><</if>> <<elseif $exposed lte 0>> <<ind>><<link [[Go with them (0:30)|Lake Return Journey]]>><<endevent>><<set $foresthunt to 0>><<pass 30>><</link>> <br> <</if>> <<ind>><<link [[Stay|Lake Shore]]>><<endevent>><</link>> <br> <<else>> <<if playerAwareTheyArePregnant()>> <<socialiseicon "party">><<link [[Keep partying (0:10)|Lake Halloween Party]]>><<endevent>><<set $phase to 1>><<stress -4>><<status 1>><<pass 10>><</link>><<lstress>><<gcool>> <<else>> <<socialiseicon "party">><<link [[Keep partying (0:10)|Lake Halloween Party]]>><<endevent>><<set $phase to 1>><<stress -4>><<alcohol 20>><<status 1>><<pass 10>><</link>><<lstress>><<gcool>><<galcohol>> <</if>> <br> <<getouticon>><<link [[Leave|Lake Shore]]>><<endevent>><<set $phase to 0>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "lake">><<effects>> <<beastNEWinit 1 wolf>><<generatey2>> You peer between the trees, where you find a <<beasttype 0>> hounded by a gang of delinquents. From the look of <<bhis 0>> <<if $monster is 1>> mussed hair and the bruises lining <<bhis 0>> body, <<else>> patchy fur and haggard stance, <</if>> <<bhes>> fighting a losing battle. <br><br> "Piss off, mutt," a <<person2>><<person>> slurs. <<He>> hurls a rock at the <<beasttype 0>>, hitting <<bhim 0>> dead in the <<if $monster is 1>>face<<else>>snout<</if>>. <<bHe 0>> howls in pain. The onlookers cheer.<<stress 6>><<gstress>> <br><br> Guilt takes you as you watch the <<beasttype 0>> limp <<bhis 0>> way into the brush, towards the cave. <span class="blue">You should check up on them.</span> <br><br> <<endevent>> <<link [[Next|Lake Shore]]>><</link>> <br><<set $outside to 1>><<set $location to "lake">><<effects>> <<beastNEWinit 1 wolf>><<generatey2>> Leaves rustle behind you. You turn in time to catch a <<beasttype 0>> rushing past. <<bHis 0>> eyes are wild with fear, and <<bhe 0>> doesn't stop to regard you. <br><br> The others scream at the intrusion and scurry away in a panic. Until a <<person2>><<person>> bursts through, armed with a heavy branch. <<He>> swings it, hitting the <<beasttype 0>> dead in the chest. <<bHe 0>> howls in pain. The onlookers cheer.<<stress 6>><<gstress>> <br><br> Guilt takes you as you watch the <<beasttype>> limp <<bhis 0>> way into the brush, towards the cave. <span class="blue">You should check up on them.</span> <br><br> <<endevent>> <<socialiseicon "party">><<link [[Keep partying (0:10)|Lake Halloween Party]]>><<set $phase to 1>><<pass 10>><<status 1>><</link>><<gcool>> <br> <<getouticon>><<link [[Leave|Lake Shore]]>><</link>> <br><<set $daily.masonLake to true>> <<effects>> <<npc Mason>><<person1>> You swim into the middle of the lake. There Mason swims in a wide circle. <<He>> notices you approach, and faces you, treading water. <br><br> "It's nice to see you out here," <<he>> says. "If it's okay though, I'd like to continue my laps." <<He>> swims away before you can get close. <br><br> <<swimicon>><<link [[Try to catch <<him>> (0:05)|Lake Mason Swim]]>><<tiredness 1>><</link>><<swimmingdifficulty 1 300>><<gtiredness>> <br> <<getouticon>><<link [[Leave|Lake Depths]]>><<endevent>><</link>> <br><<effects>> <<if $swimmingskill gte 1000>> <<set $mason_count to 1>> You swim after <<him>>, <span class="green">and manage to close the distance.</span> <<He>> glances over <<his>> shoulder, and swims faster, but still you manage to keep up. You're almost close enough to touch <<him>> when <<he>> stops and turns. <br><br> "I-I see someone's been paying attention in class," <<he>> says. <<He>> holds <<his>> arms beneath the water in a strange way, close to <<his>> body. "If only the rest of the class were so capable. We'd have our own swim team." <br><br> You look down, through the rain-broken water, and see the reason for <<his>> behaviour. <span class="lewd"><<Hes>> naked.</span> Something in your expression gives you away, and <<his>> face turns a deep shade of red. <br><br> "I-I," <<he>> begins, voice quivering. "I prefer swimming like this. It's just more fun." <br><br> <<link [[Pretend you haven't noticed|Lake Mason Pretend]]>><<npcincr Mason love 1>><</link>><<glove>> <br> <<link [[Tease|Lake Mason Tease]]>><<npcincr Mason love -1>><<npcincr Mason lust 1>><<npcincr Mason dom -1>><</link>><<llove>><<glust>><<ldom>><<promiscuous1>> <br> <<link [[Act nonchalant|Lake Mason Nonchalant]]>><</link>> <br> <<elseif currentSkillValue('swimmingskill') gte random(1, 300)>> <<set $mason_count to 1>> You swim after <<him>>, but <<hes>> too fast. You'd need to be pretty skilled to match <<him>>, let alone catch up. <br><br> You try to head <<him>> off, but <<he>> swims in unexpected directions. It's as if <<hes>> avoiding you. <br><br> <span class="green">You have an idea.</span> You dive beneath the water and hold your breath, right in Mason's path. You wait for <<his>> shimmer to appear in the murk, then emerge from the water. <<He>> almost collides with you. <br><br> "I-I didn't expect to see a student out here," <<he>> says as you wipe water from your eyes. <<He>> holds <<his>> arms beneath the water in a strange way, close to <<his>> body. "Though I'm glad to see you practising outside school hours." <br><br> You look down, through the rain-broken water, and see the reason for <<his>> behaviour. <span class="lewd"><<Hes>> naked.</span> Something in your expression gives you away, and <<his>> face turns a deep shade of red. <br><br> "I-I," <<he>> begins, voice quivering. "I prefer swimming like this. It's just more fun." <br><br> <<link [[Pretend you haven't noticed|Lake Mason Pretend]]>><<npcincr Mason love 1>><</link>><<glove>> <br> <<link [[Tease|Lake Mason Tease]]>><<npcincr Mason love -1>><<npcincr Mason lust 1>><<npcincr Mason dom -1>><</link>><<llove>><<glust>><<ldom>><<promiscuous1>> <br> <<link [[Act nonchalant|Lake Mason Nonchalant]]>><</link>> <br> <<else>> You swim after <<him>>, <span class="red">but <<hes>> too fast.</span> You'd need to be pretty skilled to match <<him>>, let alone catch up. <br><br> You try to head <<him>> off, but <<he>> swims in unexpected directions. It's as if <<hes>> avoiding you. <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br> <</if>><<effects>> You smile at <<him>>, and try to look confused. <<if $speech_attitude is "meek">> "In the rain?" you say. "I like it too." <<elseif $speech_attitude is "bratty">> "Swimming in the rain isn't that weird," you say. "I like it myself. It's bracing." <<else>> "Don't worry," you say. "I like swimming in the rain too." <</if>> <br><br> <<He>> looks confused for just a moment. "Th-thank you for understanding," <<he>> says, still covering <<himself>> beneath the water. "I need to get back to my laps. Keep practising, you've shown promising skill." <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br><<effects>> <<if $exposed gte 2>> <<if $speech_attitude is "meek">> "Please don't be embarrassed," you giggle. "I'm naked too." <<elseif $speech_attitude is "bratty">> "You've nothing to be shy about," you say. "I'm not wearing anything either." <<else>> "Don't be shy," you say. "You're not the only one swimming naked." <</if>> <<promiscuity1>> You didn't think it possible, but <<his>> blush deepens. <<He>> looks away, and opens <<his>> mouth to speak. Instead, you get a good look at <<his>> toned ass near the surface of the water as <<he>> turns and swims away. <<else>> <<if $speech_attitude is "meek">> "Please don't be embarrassed," you say. "You know swimming best." <<elseif $speech_attitude is "bratty">> "You've nothing to be shy about," you say. "I'd show off too if I had a body like that." <<else>> "Don't be shy," you say. "You look good." <</if>> <<promiscuity1>> You didn't think it possible, but <<his>> blush deepens. "I-I need to return to my laps," <<he>> says. You get a good look at <<his>> toned ass near the surface of the water as <<he>> turns and swims away. <</if>> <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br><<effects>> You ignore <<his>> bashfulness. <<if $exposed gte 2>> <<if $speech_attitude is "meek">> "Me too," you say. "I'm naked right now." <<elseif $speech_attitude is "bratty">> "I get it," you say. "That's why I'm naked." <<else>> "I know what you mean," you say. "I'm naked too." <</if>> You didn't think it possible, but <<his>> blush deepens. "I-I need to return to my laps," <<he>> says. You get a good look at <<his>> toned ass near the surface of the water as <<he>> turns and swims away. <<else>> <<if $speech_attitude is "meek">> "I-it's fine," you say. "Lots of people do it." <<elseif $speech_attitude is "bratty">> "It's fine," you say. "Not like anyone would find out anyway. Except me, but I'm great." <<else>> "Don't worry," you say. "That isn't strange." <</if>> <<He>> seems relieved by your words, but doesn't move <<his>> arms. "I-I need to return to my laps," <<he>> says. You get a good look at <<his>> toned ass near the surface of the water as <<he>> turns and swims away. <</if>> <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br><<effects>> <<set $daily.masonLake to true>> <<npc Mason>><<person1>> You swim towards Mason. <<He>> doesn't try to outswim you, and starts treading water as you draw close. <<He>> covers <<his>> toned body beneath the water. <br><br> "C-can I help you?" <<he>> asks, eager to return to <<his>> laps. <br><br> <<link [[Just say hello|Lake Mason Greet]]>><<stress -6>><</link>><<lstress>> <br> <<if $mason_count lte 1>> <<link [[Ask to chat|Lake Mason Ask]]>><<npcincr Mason love 1>><</link>><<glove>> <br> <</if>> <<if hasSexStat("promiscuity", 2)>> <<link [[Ask to see|Lake Mason Flirt]]>><<npcincr Mason love -1>><<npcincr Mason lust 1>><<npcincr Mason dom -1>><</link>><<llove>><<glust>><<ldom>><<promiscuous2>> <br> <</if>><<effects>> <<set $mason_count to 2>> You ask Mason if <<hes>> free to talk. <<He>> glances beneath the water. "N-not right now," <<he>> says. "But there's a place nearby I go to relax in the evening, after my swim. You can find me there if you want to talk." <br><br> <span class="gold"><<He>> gives you directions to <<his>> secret spot near the waterfall. <<He>> will be there on rainy non-school evenings.</span> <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br><<effects>> You exchange awkward pleasantries. <<He>> remains covered and blushing the whole time, before returning to <<his>> laps. You get a nice look at <<his>> toned ass near the surface of the water as <<he>> swims away. <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I-I don't mean to be rude," you say. "But can I see? No one will know." <<elseif $speech_attitude is "bratty">> "Don't be coy," you say. "You want people to see. You've got a good body, it's only natural you'd want to show it off. So show me." <<else>> "Let me see," you say. "No one will know." <</if>> <br><br> <<if C.npc.Mason.lust gte 10>> <<earnFeat "Mason's Secret">> <<He>> blushes. "F-Fine," <<he>> says, voice quivering with anger as much as embarrassment. "If that's what it'll take to get you to stop bothering me." <br><br> <<He>> hesitates despite <<his>> words, then slowly moves <<his>> arms aside. You dive under the water for a better look at <<his>> sleek and toned body. <<if $pronoun is "f">> <<if $NPCList[0].penis isnot "none">> Your eyes are drawn to <<his>> <span class="lewd"><<print $NPCList[0].breastsdesc>> and <<print $NPCList[0].penisdesc>>.</span> You're used to seeing their contours beneath <<his>> tight swimsuit, but seeing them exposed in the water is something else. <<else>> Your eyes are drawn to <<his>> <span class="lewd"><<print $NPCList[0].breastsdesc>>.</span> You're used to seeing their contours beneath <<his>> tight swimsuit, but seeing them exposed in the water is something else. <</if>> <<else>> <<if $NPCList[0].penis isnot "none">> Your eyes are drawn to <<his>> <span class="lewd"><<print $NPCList[0].penisdesc>>.</span> You're used to seeing its contours beneath <<his>> tight swimsuit, but seeing it exposed in the water is something else. <<else>> Your eyes are drawn to <<his>> <span class="lewd">pussy.</span> You're used to seeing its contours beneath <<his>> tight swimsuit, but seeing it exposed in the water is something else. <</if>> <</if>> <br><br> <<He>> covers <<himself>> again when you come up for air. "I-I hope you're satisfied," <<he>> says. "Now leave me to finish my laps in peace." <<He>> turn and swims away. <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br> <<else>> <<He>> blushes. "Th-that's no request to make of your teacher!" <<he>> says. "Now please, let me get back to my laps." You get a nice look at <<his>> toned ass near the surface of the water as <<he>> swims away. <br><br> <<link [[Next|Lake Depths]]>><<endevent>><</link>> <br> <</if>><<set $location to "lake">><<set $outside to 1>><<effects>> You follow one of the streams feeding the lake, to the pond Mason likes to relax in. Water bubbles up from a spring beneath it. <br><br> <<if Time.dayState is "dusk" and ($daily.masonLake or !Time.schoolDay and Weather.precipitation is "rain")>> <<set $daily.masonLake to true>> <<npc Mason>><<person1>>Mason sits in it, wearing a swimsuit. <<His>> arms rest on the rocky bank, and <<his>> eyes are shut. <br><br> <<if $exposed gte 2>> <<if hasSexStat("exhibitionism", 5)>> <<ind>><<link [[Sit in the pond|Mason In Pond Naked]]>><</link>><<if $daily.ex.mason isnot 1>><<exhibitionist5>><</if>> <br> <<ind>><<link [[Sit beside the pond|Mason Beside Pond Naked]]>><</link>><<if $daily.ex.mason isnot 1>><<exhibitionist5>><</if>> <br> <<else>> <<covered>> You couldn't alert Mason to your presence like this! <br><br> <</if>> <<elseif $exposed gte 1>> <<if hasSexStat("exhibitionism", 3)>> <<ind>><<link [[Sit in the pond|Mason In Pond Naked]]>><</link>><<if $daily.ex.mason isnot 1>><<exhibitionist3>><</if>> <br> <<ind>><<link [[Sit beside the pond|Mason Beside Pond Naked]]>><</link>><<if $daily.ex.mason isnot 1>><<exhibitionist3>><</if>> <br> <<else>> <<covered>> You couldn't alert Mason to your presence like this! <br><br> <</if>> <<else>> <<ind>><<link [[Sit in the pond|Mason In Pond]]>><</link>> <br> <<ind>><<link [[Sit beside the pond|Mason Beside Pond]]>><</link>> <br> <</if>> <<getouticon>><<link [[Leave|Lake Waterfall]]>><<endevent>><</link>> <br> <<else>> The pond is empty. Mason likes to come here on rainy evenings on weekends and school holidays, after swimming in the lake. <br><br> <<getouticon>><<link [[Leave|Lake Waterfall]]>><</link>> <br> <</if>><<effects>> <<if $mason_count gte 3>> You sit beside the pond. Mason opens <<his>> eyes when <<he>> hears you. <br><br> <<mason_greet>> <br><br> <<mason_actions>> <<else>><<set $mason_count to 3>> <<swim_check>> You sit beside the pond. Mason opens <<his>> eyes when <<he>> hears you. <br><br> <<if _swim_check is 1>> "I'm glad you found me," <<he>> says. "You can get in if you like." <<else>> "I'm glad you found me," <<he>> says. "You can get in if you like. There's a little hidey-hole at the shore of the lake if you need somewhere to keep your clothes." <</if>> <br><br> <<mason_actions>> <</if>><<effects>><<water>> <<if $mason_count gte 3>> You slip into the pond opposite Mason. <<His>> eyes open when <<he>> hears the splash. <br><br> <<mason_greet>> <br><br> <<mason_actions>> <<else>><<set $mason_count to 3>> <<swim_check>> You slip into the pond opposite Mason. <<His>> eyes open when <<he>> hears the splash. <br><br> <<if _swim_check is 1>> "I'm glad you found me," <<he>> says. "The water here is lovely, and it's so secluded." <<else>> "I'm glad you found me," <<he>> says. "The water here is lovely, and it's so secluded." <<He>> looks at your clothes. "You've got your clothes all wet! There's a little hidey-hole at the shore of the lake if you need somewhere to keep them in the future." <</if>> <br><br> <<mason_actions>> <</if>><<effects>> <<flaunting>> you sit beside the pond. Mason opens <<his>> eyes when <<he>> hears you, but shuts them again when <<he>> sees your <<lewdness>>. <<if !C.npc.Mason.chastityKeyCarried and playerChastity() and $worn.genitals.origin is "Winter" and (C.npc.Mason.love gte 5 or C.npc.Mason.lust gte 10) and getVisibleClothesList().find(o => o === V.worn.genitals)>> After a moment, <<he>> opens <<his>> eyes again and stares at your $worn.genitals.name. <<He>> stares hard enough that it briefly becomes uncomfortable before <<he>> catches <<himself>> and averts <<his>> gaze with a blush. <<set C.npc.Mason.chastityKeyCarried to 1>><<set $daily.masonChastityRemovalDeclined to 1>> <</if>> <<if $exposed gte 2>> <<if $daily.ex.mason isnot 1>> <<exhibitionism5>> <<set $daily.ex.mason to 1>> <<else>> <br><br> <</if>> <<else>> <<if $daily.ex.mason isnot 1>> <<exhibitionism3>> <<set $daily.ex.mason to 1>> <<else>> <br><br> <</if>> <</if>> <<if $mason_count gte 3>> <<mason_greet_lust>> <br><br> <<mason_actions>> <<else>><<set $mason_count to 3>> "I-I'm glad you found me here," <<he>> says. "But could you put some clothes on?" <br><br> <<mason_actions>> <</if>><<effects>><<water>> <<flaunting>> you slip into the pond. Mason opens <<his>> eyes when <<he>> hears the splash, but shuts them again when <<he>> sees your <<lewdness>>. <<if !C.npc.Mason.chastityKeyCarried and playerChastity() and $worn.genitals.origin is "Winter" and (C.npc.Mason.love gte 5 or C.npc.Mason.lust gte 10) and getVisibleClothesList().find(o => o === V.worn.genitals)>> After a moment, <<he>> opens <<his>> eyes again and stares at your $worn.genitals.name. <<He>> stares hard enough that it briefly becomes uncomfortable before <<he>> catches <<himself>> and averts <<his>> gaze with a blush. <<set C.npc.Mason.chastityKeyCarried to 1>><<set $daily.masonChastityRemovalDeclined to 1>> <</if>> <<if $exposed gte 2>> <<if $daily.ex.mason isnot 1>> <<exhibitionism5>> <<set $daily.ex.mason to 1>> <<else>> <br><br> <</if>> <<else>> <<if $daily.ex.mason isnot 1>> <<exhibitionism3>> <<set $daily.ex.mason to 1>> <<else>> <br><br> <</if>> <</if>> <<if $mason_count gte 3>> <<mason_greet_lust>> <br><br> <<mason_actions>> <<else>><<set $mason_count to 3>> "I-I'm glad you found me here," <<he>> says. "But could you put some clothes on?" <br><br> <<mason_actions>> <</if>><<effects>> You chat with Mason. <<if $rng gte 81>> <<He>> talks about the lake and the forest surrounding it. It seems they're a big reason <<he>> moved here. <<elseif $rng gte 61>> <<He>> asks about school, and probes you for what the other students think of <<him>>. <<elseif $rng gte 41>> <<He>> talks about <<his>> successes in competitive swimming. <<elseif $rng gte 21>> <<He>> talks about the computer games <<hes>> played recently. <<else>> <<He>> talks about the other teachers. <<Hes>> careful not to insult any of them. <</if>> <br><br> <<if $swimmingskill lte 999 and random(1, 3) is 3>> <<He>> explains some of <<his>> swimming technique to you. <<swimmingskilluse>> <br><br> <</if>> <<mason_actions>><<effects>> <<if $exposed gte 1>> You chat with Mason, and draw attention to your exposed body. <<He>> tries not to look, but glances over occasionally regardless. <<He>> seems uncomfortable. <<else>> You chat with Mason, and keep commenting about how nice <<his>> body looks. <<He>> looks uncomfortable, and covers <<his>> swimsuit with <<his>> hands as if naked. <</if>> <<promiscuity1>> <<mason_actions>><<effects>> <<dry>><<towelup>><<set $foresthunt to 0>> Mason gives you some towels to dry with, and wraps one around <<himself>>. Together you walk <<if $masonDressed is true>> to where you hid your clothes, then after getting dressed, continue <<unset $masonDressed>> <</if>> through the dark forest in the direction of town. <br><br> You arrive on Danube Street without incident. Mason insists on walking you up to the orphanage before waving you goodbye. <br><br> <<link [[Next|Domus Street]]>><<set $eventskip to 1>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I don't want to be a bother," you say. "I'll be okay." <<elseif $speech_attitude is "bratty">> "Do I look like I'm afraid of the dark?" you ask. "I'll be fine." <<else>> "It's okay," you say. "I know my way around the forest." <</if>> <br><br> Mason seems unsure, but nods. "If you're sure. Be careful." <<He>> dries <<himself>> with a towel as <<he>> walks into the forest. <br><br> <<link [[Next|Lake Waterfall]]>><<endevent>><</link>> <br><<widget "mason_actions">> <<if $mason_pond is undefined and C.npc.Mason.love gte 30>> <<set $mason_pond to 1>> "There's a lot of water underground around here," Mason says. "There's a stream beneath Domus Street, in fact. I've always wanted to own a home there. I could make my own spring." <br><br> <<He>> sits up with a splash, and looks at you. "You live on Domus Street, right?" <<he>> asks. <<He>> sits back in the water. "It would be expensive. And you'd need permission from your caretaker. It's fun to think about though." <br><br> <</if>> <<if Time.dayState is "night">> The last of the sun's light fades between the leaves. Mason stands up. "We'll catch a chill if we're out here too long," <<he>> says. "The forest can be dangerous after dark. Let me walk you home." <br><br> <<set _storedClothes to clothingInStorage("lakeshore")>> <<if $earSlime.forcedCommando isnot undefined and _storedClothes.find(item => item.slot is "under_lower" and !item.type.includes("naked"))>> <span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span> <<set _earSlimeText to true>> <<elseif _storedClothes.length>> <<link [[Get changed, then walk home with Mason (0:40)|Mason Walk]]>><<pass 40>><<storeload "lakeshore">><<set $masonDressed to true>><</link>> <br> <</if>> <<if $earSlime.forcedCommando isnot undefined and !$worn.under_lower.type.includes("naked")>> <<if !_earSlimeText>><span class="red">The slime in your ear refuses to allow you to leave with <<underwearTypeText>> on.</span><</if>> <<else>> <<link [[Walk home with Mason (0:30)|Mason Walk]]>><<pass 30>><</link>> <</if>> <br> <<link [[Say you'll be okay|Mason Walk Refuse]]>><</link>> <br> <<elseif playerChastity() and $worn.genitals.origin is "Winter" and C.npc.Mason.chastityKeyCarried and !$daily.masonChastityRemovalDeclined and getVisibleClothesList().find(o => o === V.worn.genitals) and (C.npc.Mason.love gte 10 or C.npc.Mason.lust gte 15)>> <<include "Mason Chastity Prompt">> <<else>> <<socialiseicon>><<link [[Chat (0:30)|Mason Pond Chat]]>><<npcincr Mason love 1>><<pass 30>><<stress -6>><</link>><<glove>><<lstress>> <br> <<brothelicon>><<link [[Flirt (0:30)|Mason Pond Flirt]]>><<pass 30>><<npcincr Mason love -1>><<npcincr Mason lust 1>><</link>><<promiscuous1>><<llove>><<glust>> <br> <<getouticon>><<link [[Leave|Lake Waterfall]]>><<endevent>><</link>> <br> <</if>> <</widget>> <<widget "mason_greet">> <<if C.npc.Mason.love gte 30>> "It's good to see you," <<he>> says, smiling. "I like the company." <<elseif C.npc.Mason.love gte 10>> "I was hoping to see you," <<he>> says. <<elseif C.npc.Mason.love gte -10>> "Hey," <<he>> says. <<elseif C.npc.Mason.love gte -30>> "What do you want?" <<he>> asks. <<else>> "Please don't disturb me," <<he>> says. <</if>> <</widget>> <<widget "mason_greet_lust">> <<if C.npc.Mason.lust gte 30>> "P-please put some clothes on," <<he>> says, shifting as if to conceal something. <<elseif C.npc.Mason.lust gte 10>> "You should put some clothes on," <<he>> says. "People might get the wrong idea if they catch us." <<elseif C.npc.Mason.lust gte -10>> "You should put some clothes on," <<he>> says. <<elseif C.npc.Mason.lust gte -30>> "That's no way to present yourself to your teacher," <<he>> says. <<else>> <<He>> sighs in resignation. <</if>> <</widget>><<effects>> <<if $speech_attitude is "meek">> "D-don't be worried," you say. "I'll be careful." <<elseif $speech_attitude is "bratty">> "I can look after myself," you say. "It's warmer down there than up here, anyway." <<else>> "Don't worry about me," you say. "I'll be careful." <</if>> <br><br> <<if $swimmingSuccess>> <<set $mason_ice_lake to 2>> Mason watches you a moment, <span class="green">then sighs in resignation.</span> <<if $worn.upper.type.includes("diving") and $worn.lower.type.includes("diving")>> "At least you're dressed for it," <<he>> says. "Just be careful, alright?" <<else>> "At least dress properly for it," <<he>> says. "They sell diving gear in town." <</if>> <<He>> swings <<his>> legs over the hole in the ice, and drops beneath.<<glove>><<npcincr Mason love 1>> <br><br> <<link [[Next|Lake Depths Ice]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> Mason watches you a moment, <span class="red">then shakes <<his>> head.</span> <<if $worn.upper.type.includes("diving") and $worn.lower.type.includes("diving")>> "You might be dressed for it," <<he>> says. "But the ice is treacherous." <<else>> "You don't even have proper diving gear," <<he>> says. "You'll freeze." <</if>> <<He>> swings <<his>> legs over the hole in the ice, and drops beneath.<<llove>><<npcincr Mason love -1>> <br><br> <<link [[Next|Lake Depths Ice]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <</if>><<effects>> <<if $speech_attitude is "meek">> You thank Mason, avoiding eye contact. <<elseif $speech_attitude is "bratty">> You thank Mason. <<else>> You thank Mason. <</if>> <<He>> smiles. "No problem," <<he>> says, swinging <<his>> legs over the hole in the ice. "Go get yourself warmed up." <<He>> disappears into the water. <br><br> <<link [[Next|Lake Depths Ice]]>><<endevent>><<set $eventskip to 1>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I-I was down there on purpose," you say. <<elseif $speech_attitude is "bratty">> "Don't interfere with my business," you say. <<else>> "I was down there on purpose," you say. <</if>> <br><br> Mason shakes <<his>> head. "I can't be negligent," <<he>> says. "I don't care if you don't appreciate that. Keep working hard in class, and someday you'll be an accomplished enough diver." <<He>> swings <<his>> legs over the hole in the ice, and disappears below the water. <br><br> <<link [[Next|Lake Depths Ice]]>><<endevent>><<set $eventskip to 1>><</link>> <br><!-- no effects, this is an alternative passage ending --> <<if $location is "pool">> As you get closer, <<he>> points to your $worn.genitals.name and blushes, <<else>> Pointing to your $worn.genitals.name and blushing, <<he>> says, <</if>> <<if !C.npc.Mason.chastityRemovalDeclined>> <<switch C.npc.Mason.chastityRemoved>> <<case 0 undefined null>> "Y-you know, I might have something for that." <<He>> follows up with a hasty, "Only if you want, of course." <<case 1>> "What have you been doing to draw the ire of Old Winter to end up in one of these again? Still, I should be able to remove it." <<He>> follows up with a hasty statement, "Only if you want, of course." <<default>> "I don't understand. What have you been doing to keep getting caught in those things? Old Winter only ever ended up doing that to me when I..." <br><br> Mason's face gets even redder, which you did not think possible, as <<he>> changes the subject. "N-nevermind! The point is, I should be able to remove it again if you like." <</switch>> <<else>> <<print [ '"Y-you know, I might have something for that. Just let me know,"', '"M-my offer still stands. If you need out of that, I could help,"', '"Talk to me if you ever change your mind about that thing,"', ].random()>> says Mason while pointing at your $worn.genitals.name. <</if>> <br><br> <<link [[No thanks|Mason Chastity Decline]]>><<set C.npc.Mason.chastityRemovalDeclined to 1>><<set $daily.masonChastityRemovalDeclined to 1>><<set $weekly.masonChastityRemovalDeclined to 1>><</link>> <br> <<if C.npc.Mason.chastityKeyCarried is 1 or $exhibitionism lt 75>> <<link [[Ask|Mason Chastity Ask]]>><</link>> <<elseif hasSexStat("exhibitionism", 5)>> <<link [[Accept|Mason Chastity Accept]]>> <<arousal 600>><<exhibitionism5>><<set C.npc.Mason.chastityRemovalDeclined to 0>><<run delete $daily.masonChastityRemovalDeclined>><<run delete $weekly.masonChastityRemovalDeclined>> <</link>><<garousal>><<exhibitionist5>> <<else>> <br><<insufficientStat "exhibitionism" "to let Mason strip you">> <</if>> <br><<effects>> "No thanks," you say while shifting to cover the $worn.genitals.name a little. <br><br> "I understand," says Mason blushing. "I just thought I'd offer." <<He>> cannot help but glance at your $worn.genitals.name once more before turning away. <<npcincr Mason lust 1>><<glust>> <br><br> <<if $location is "pool">> /* Exit to Pool */ <<link [[Rejoin the Class|Swimming Lesson]]>><<endevent>><</link>> <<else>> /* Exit to Mason Pond */ <<mason_actions>> <</if>> <br><<effects>><<set C.npc.Mason.chastityKeyCarried to 2>> "Like what?" you ask. <br><br> Mason pulls out a small key. "You've had a run in with Old Winter. I think this might fit. W-would you mind if I tried?" <br><br> <<link [[No thanks|Mason Chastity Decline]]>><<set C.npc.Mason.chastityRemovalDeclined to 1>><<set $daily.masonChastityRemovalDeclined to 1>><<set $weekly.masonChastityRemovalDeclined to 1>><</link>> <br> <<if hasSexStat("exhibitionism", 5)>> <<link [[Accept|Mason Chastity Accept]]>> <<arousal 600>><<exhibitionism5>><<set C.npc.Mason.chastityRemovalDeclined to 0>><<run delete $daily.masonChastityRemovalDeclined>><<run delete $weekly.masonChastityRemovalDeclined>> <</link>><<garousal>><<exhibitionist5>> <<else>> <br><<insufficientStat "exhibitionism" "to let Mason strip you">> <</if>> <br><<effects>> <<if C.npc.Mason.chastityRemoved is undefined>><<set C.npc.Mason.chastityRemoved to 0>><</if>> /* Player */ <<switch C.npc.Mason.chastityRemoved>> <<case 0>> <<if $speech_attitude is "meek">> "O-only if you think it will fit," you say, blushing and averting your eyes. <<elseif $speech_attitude is "bratty">> "I bet it would fit," you say, smiling and tilting your head suggestively. <<else>> "Do you think it will fit?" you ask as you look at the key and back to Mason. <</if>> <<case 1>> <<if $speech_attitude is "meek">> "Y-you sure you don't just want another peek?" you ask, blushing and averting your eyes. <<elseif $speech_attitude is "bratty">> "I bet you just want another peek," you say, smiling and tilting your head suggestively. <<else>> "I don't mind letting you see, have another look," you say as you look at the key and back to Mason. <</if>> <<default>> <<if $speech_attitude is "meek">> "I-I'm ok with letting you peek again. M-maybe you can even touch if you want," you say, blushing and averting your eyes. <<elseif $speech_attitude is "bratty">> "Are you sure you are not just trying to get another peek? Maybe I'll even let you touch if you like," you say, smiling and tilting your head suggestively. <<else>> "Sure, I can let you have another peek and maybe let you touch if you like," you say with a smile. <</if>> <</switch>> <br><br> /* Action */ <<He>> tries to ignore your comment but unconsciously licks <<his>> lips. <<He>> <<if $location is "pool">> pulls you off to the side of the pool where there is at least a slight amount of privacy and <</if>> brings the key to your $worn.genitals.name with trembling fingers. <<if $worn.over_lower.vagina_exposed gte 1 and $worn.lower.vagina_exposed gte 1 and $worn.under_lower.vagina_exposed gte 1>> <<switch random(0,1)>> <<case 0>> You thrust your hips forward, letting Mason have full access to your $worn.genitals.name. <<default>> You spread your legs, giving Mason full access to your $worn.genitals.name. <</switch>> <<else>> <<set _worn to [$worn.over_lower, $worn.lower, $worn.under_lower].filter(w => w.name !== "naked").map(w => w.name).formatList({useOxfordComma: true})>> You pull off your <<print $underlowerwetstage gte 3 or $overlowerwetstage gte 3 or $lowerwetstage gte 3 ? "soaked " : "">>_worn to give Mason full access to your $worn.genitals.name. <</if>> The key fits perfectly, and with a loud click, the $worn.genitals.name comes off, exposing your <<genitals 1>>. <<set $worn.genitals.type.push("broken")>><<genitalsruined>> <br><br> /* Reaction */ <<switch C.npc.Mason.chastityRemoved>> <<case 0>> Mason marvels at your <<genitals 2>> for longer than <<he>> means to and, upon realising it, closes <<his>> eyes and quickly turns away. "Well, it does fit, so you're welcome. It's not the first time I've had a run in with one of these." <<npcincr Mason lust 5>><<gglust>><<npcincr Mason love 1>><<glove>> <<case 1>> Mason stares at your <<genitals 2>> for longer than intended, and <<his>> hand raises, as if to touch you. When <<he>> realises, <<he>> pulls back <<his>> hand and turns away, closing <<his>> eyes. "You're welcome, though you should try to be more careful. Winter has... unique interests." <<npcincr Mason lust 5>><<gglust>><<npcincr Mason love 1>><<glove>> <<default>> Mason marvels at your <<genitals 2>> for longer than <<he>> means to. As if it had a mind of its own, <<his>> hand raises. <</switch>> <<set C.npc.Mason.chastityRemoved += 1>> <br><br> /* Options */ <<if C.npc.Mason.chastityRemoved gte 3>> <<if $promiscuity lt 35>> <<insufficientStat "promiscuity" "to take things any further">> <<else>> <<link [[Grab Mason's Hand|Mason Chastity Grab]]>><</link>><<handholdingvirginitywarning>><<NPCvirginitywarning "Mason" "handholding">> <</if>> <br> <<link [[Do nothing|Mason Chastity Escape]]>><</link>> <<else>> <<if $location is "pool">> <<link [[Rejoin the Class|Swimming Lesson]]>><<endevent>><</link>> <<else>> <<mason_actions>> <</if>> <</if>> <br><<effects>> <<npc Mason>><<person1>> Upon realising what <<he>> is about to do, Mason pulls <<his>> hand back and closes <<his>> eyes while quickly turning away. "You're welcome, though you should try to be more careful. Winter has... unique interests." <<npcincr Mason lust 5>><<gglust>><<npcincr Mason love 1>><<glove>> <br><br> <<if $location is "pool">> <<link [[Rejoin the Class|Swimming Lesson]]>><<endevent>><</link>> <<else>> <<mason_actions>> <</if>><<effects>> Before Mason loses <<his>> nerve, you catch <<his>> hand and pull it toward your <<genitals>>. <<takeHandholdingVirginity "Mason">> <br><br> <<if C.npc.Mason.love gte 20 or C.npc.Mason.lust gte 25>> <<set _part to $player.penisExist and $player.vaginaExist ? ["penis","pussy"].random() : $player.penisExist ? "penis" : "pussy">> <<He>> panics and attempts to pull <<his>> hand back, but your grip is too firm. When <<his>> fingers touch your <<genitals 2>>, <<his>> struggling stops, but <<his>> hand is shaking. You gently guide <<his>> trembling fingers to your _part. Mason's eyes go wide as <<he>> <<if _part is "pussy">>probes your pussy. <<else>>grasps your penis.<</if>> With timid fingers, <<he>> slowly begins to <<if _part is "pussy">>rub your pussy. <<else>>stroke your penis.<</if>> <<npcincr Mason lust 5>><<gglust>><<npcincr Mason love -2>><<llove>><<npcincr Mason dom -1>><<arousal 1800 _part>><<ggarousal>> <br><br> <<if $arousal gte $arousalmax>> <<orgasm>> You shudder as a wave of pleasure washes over you<<if !$femaleclimax and !_deniedOrgasm>> and you cum on Mason's hand<</if>>. <<He>> does not immediately remove <<his>> hand, though, and instead gives you a few more moments of pleasure before withdrawing. <br><br> Mason inspects <<his>> hand and catches your eye. <<He>> quickly turns away, "We shouldn't have done that." <<else>> Mason continues to <<if _part is "pussy">>rub your pussy <<else>>stroke your penis<</if>> for a few moments before finally pulling <<his>> hand away. <<He>> catches your eye and quickly turns away, "We shouldn't have done that." <</if>> <<else>> <<He>> panics and pulls <<his>> hand from your grip. Mason scowls at you and opens <<his>> mouth to protest, but thinks better of it and turns away with a blush.<<npcincr Mason lust 1>><<glust>><<npcincr Mason love -1>><<llove>><<gdom>><<npcincr Mason dom 1>> <</if>> <br><br> <<if $location is "pool">> <<link [[Rejoin the Class|Swimming Lesson]]>><<endevent>><</link>> <<else>> <<mason_actions>> <</if>><<effects>> <<npc Mason>><<person1>> The hard pressure on your chest wakes you up. You open your eyes, but all you can see is a blurred figure kneeling beside you. <br><br> You try to make out who it is.<span class="green"> It's Mason.</span> <br><br> <<if $location is "pool">> Several heads poke in to observe you, making it feel harder to breathe. <<stress 10>><<ggstress>> <br> Mason shoos them away, giving you space. <br><br> <</if>> <<He>> opens <<his>> mouth, trying to say something, but you can't hear anything. The only sound is a loud buzzing that makes your head ring. The water must've gotten inside your ears.<<trauma 18>><<ggtrauma>> <br><br> You can infer some of <<his>> words. <<Hes>> calling your name. You feel <<his>> toned hands pumping on your sternum, and <<he>> leans down. <<His>> face gets closer, and<<if C.npc.Mason.lust gte 40>> you can see <<his>> flushed cheeks as<</if>> <<his>> parted lips engulf your own.<<npcincr Mason lust 1>><<glust>> <br><br> You feel the air forcing its way into your battered lungs, and you can finally breathe. You cough up water. Mason pulls away from you, looking relieved after hearing your coughs and faint breathing. <<He>> calls your name again, but you can feel your consciousness slipping. <br><br> <<link [[Next|Ambulance Mason]]>><</link>><<effects>> You feel yourself being lifted onto a stretcher. From the corner of your eyes, you can see Mason trailing along as they take you away. Mason's concerned look is the last thing you see before you black out. <br><br> <<link [[Sleep|Hospital Bed]]>><<endevent>><</link>><<effects>> You don a pair of ice skates, and push yourself onto the lake. <<if currentSkillValue('danceskill') gte 1000>> You glide across, leaping and spinning with grace. <<if $laketeenspresent is 1 and $rng gte 51>> <span class="green">The students watch, awed by your skill.</span><<ltrauma>><<gcool>><<trauma -6>><<status 1>> <</if>> <<elseif currentSkillValue('danceskill') gte 800>> You glide across at a good pace, and practise more advanced tricks. <<if $laketeenspresent is 1 and $rng gte 81>> <span class="green">The students watch, awed by your skill.</span><<ltrauma>><<gcool>><<trauma -6>><<status 1>> <</if>> <<elseif currentSkillValue('danceskill') gte 600>> You glide across at a good pace. <<elseif currentSkillValue('danceskill') gte 400>> You move at a good pace, and rarely wobble. <<elseif currentSkillValue('danceskill') gte 200>> You're a bit wobbly, but manage to put one foot in front of the other without falling. <<elseif currentSkillValue('danceskill') gte 100>> You're able to remain upright, but little more than that. <<else>> You struggle to even remain upright.<<gpain>><<pain 4>> <<if $laketeenspresent is 1>> <br><br> <<if $cool gte random(1, 400)>> <<generatey1>><<person1>> The other students giggle, but are sympathetic. You're far from the only one struggling. A <<person1>><<person>> lends an arm to steady you.<<gdanceskill>> <<elseif random(1, 400) gte $cool>> The other students laugh at your expense.<<gtrauma>><<gstress>><<lcool>><<status -10>><<trauma 6>><<stress 6>> <<else>> The other students giggle, but are sympathetic. You're far from the only one struggling. <</if>> <</if>> <</if>> <br><br> <<endevent>> <<set $danger to random(1, 10000)>><<set $dangerevent to 0>> <<if $danger gte (9900 - $allure) and $laketeenspresent is 1>> <<if $rng gte 81>> <<generatey1>><<person1>> A <<person>> skates by. <<He>> spins as <<he>> passes, and winks. <<Hes>> trying to show off. <br><br> <<link [[Challenge (0:05)|Lake Skate Challenge]]>><<pass 5>><</link>><<dancedifficulty 200 1000>> <br> <<link [[Ignore|Lake Shallows Ice]]>><<endevent>><</link>> <br> <<elseif $rng gte 61>> You catch a <<generatey1>><<person1>><<person>> admiring you from the shore. <<He>> looks away when your eyes meet <<hers>>. <br><br> <<link [[Bring <<him>> onto the ice (0:05)|Lake Skate Flirt]]>><<pass 5>><</link>><<promiscuous1>> <br> <<link [[Ignore|Lake Shallows Ice]]>><<endevent>><</link>> <br> <<elseif $rng gte 41>> <<generatey1>><<person1>> A <<person>> skates up to you, and wraps <<his>> arms around you from behind. <<He>> licks your ear.<<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <br><br> <<link [[Shove|Lake Skate Shove]]>><<ltrauma>><<def 1>><</link>> <br> <<link [[Endure|Lake Skate Endure]]>><<stress 6>><<arousal 600>><</link>><<gstress>><<garousal>> <br> <<elseif $rng gte 21>> <<generatey1>><<person1>> <<dancedifficulty 400 1000 true>> <<if $danceSuccess>> A <<person>> wobbles as <<he>> skates up to you. "C-could you teach me how to skate as well as you?" <br><br> <<link [[Teach (0:20)|Lake Skate Teach]]>><<trauma -6>><<pass 20>><</link>><<ltrauma>> <br> <<link [[Refuse|Lake Skate Refuse]]>><</link>> <br> <<else>> A <<person>> glides to a halt in front of you. "Fancy a hand?" <<he>> asks. "I could give you some pointers." <br><br> <<link [[Accept (0:20)|Lake Skate Learn]]>><<trauma -6>><<pass 20>><<danceskill 6>><</link>><<gdanceskill>> <br> <<link [[Refuse|Lake Skate Learn Refuse]]>><</link>> <br> <</if>> <<else>> <<generatey1>><<person1>><<generatey2>><<generatey3>><<generatey4>> A few delinquents surround a <<person>>. They push <<him>> away from the other students, trying to isolate <<him>>. <br><br> <<link [[Intervene (0:05)|Lake Skate Intervene]]>><<def 1>><<famegood 4>><<pass 5>><</link>> <br> <<link [[Ignore|Lake Shallows Ice]]>><<endevent>><</link>> <br> <</if>> <<else>> <<link [[Next|Lake Shallows Ice]]>><</link>> <br> <</if>><<effects>> You <<if currentSkillValue('danceskill') gte 200>> skate <<else>> wobble <</if>> over to the <<person>> and delinquents. <<if $speech_attitude is "meek">> "L-leave <<him>> alone," you say. <<elseif $speech_attitude is "bratty">> "Oi fuckers," you say. "Leave <<him>> alone." <<else>> "Leave <<him>> alone," you say. <</if>> <br><br> <<person2>> The delinquents abandon their quarry, and skate in your direction. "Sounds like someone wants a beating," a <<person>> says, leading the way. <br><br> <<if $rng gte 71>> Before you can respond, one of the other delinquents, a <<person3>><<person>>, tumbles to the ice. The <<person1>><<person>> lies behind <<person3>><<him>>, arms around the <<persons>> legs. <br><br> The other two delinquents almost slip as they spin, shocked by the <<person1>><<persons>> daring. <br><br> <<link [[Charge|Lake Skate Charge]]>><</link>><<dancedifficulty 1 600>> <br> <<link [[Mock|Lake Skate Mock]]>><</link>><<englishdifficulty 1 1000>> <br> <<else>> <<link [[Charge|Lake Skate Charge 2]]>><</link>><<dancedifficulty 1 1000>> <br> <<link [[Brace|Lake Skate Brace]]>><</link>><<physiquedifficulty 1 $physiquemax>> <br> <</if>><<effects>> You skate toward the distracted delinquents, and collide with the <<person2>><<person>>. <<if $danceSuccess>> <span class="green">You manage to remain upright</span> as <<he>> tumbles to the ground, grabbing <<his>> friend's arm and bringing <<person4>><<him>> down as well. <br><br> You help the <<person1>><<person>> to <<his>> feet, and skate back to shore before the delinquents can recover. <br><br> <<else>> <<He>> grasps <<his>> friend's arm, and yours, as <<he>> falls, <span class="red">dragging you with <<him>>.</span><<gstress>><<gpain>><<stress 6>><<pain 4>> <br><br> A pair of hands grasps your wrists. It's the <<person1>><<person>>. <<He>> helps you to your feet, and together you skate back to shore before the delinquents can recover. <br><br> <</if>> "I don't know what they were gonna do to me," <<he>> says. "I don't want to think about it. It doesn't matter. You saved me. Th-thank you."<<ltrauma>><<trauma -6>> <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br><<effects>> <<if $englishSuccess>> <<if $speech_attitude is "meek">> "B-be careful," you say. "Ice can be slippery." <<elseif $speech_attitude is "bratty">> "Keep sliding like that," you say. "I mean it. It's hilarious." <<else>> "You need to be more careful," you say. "Ice can be slippery." <</if>> <br><br> The <<person2>><<person>> swivels to face you, <span class="green">and loses <<his>> footing.</span> <<He>> slides to the ground, dragging <<his>> remaining friend with <<him>>. <br><br> You help the <<person1>><<person>> to <<his>> feet, and skate back to shore before the delinquents can recover. <br><br> <<else>> <<if $speech_attitude is "meek">> "S-silly pooheads," you say. <<elseif $speech_attitude is "bratty">> "Fucking shitheads," you say. <<else>> "Stupid bullies," you say. <</if>> <span class="red">It sounded more clever in your head.</span> <br><br> The <<person2>><<person>> wobbles to a halt in front of you. <<He>> tries to throw a punch, but loses balance. <<He>> grasps <<his>> friend's arm, and yours, and together you tumble to the ice.<<gpain>><<gstress>><<pain 4>><<stress 6>> <br><br> A pair of hands grasps your wrists. It's the <<person1>><<person>>. <<He>> helps you to your feet, and together you skate back to shore before the delinquents can recover. <br><br> <</if>> "I don't know what they were gonna do to me," <<he>> says. "I don't want to think about it. It doesn't matter. You saved me. Th-thank you."<<ltrauma>><<trauma -6>> <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br><<if $danceSuccess>> You skate towards the delinquents as fast as you can. <span class="green">Surprised by your audacity,</span> they throw up their arms in a defensive reflex. You shoulder barge the <<person2>><<person>> into <<his>> friend, sending them both sprawling. The remaining delinquent almost slips in <<person4>><<his>> haste to get away. <br><br> You grasp the <<person1>><<persons>> hand, and together skate back to shore. "I don't know what they were gonna do to me," <<he>> says. "I don't want to think about it. It doesn't matter. You saved me. Th-thank you."<<ltrauma>><<trauma -6>> <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br> <<else>> You skate towards the delinquents as fast you can, <span class="red">but lose balance.</span> You tumble to the ground, skidding to a halt in front of them.<<ggpain>><<gstress>><<pain 8>><<stress 6>> <br><br> The delinquents roar with laughter, so much that they almost slip up themselves. The <<person2>><<person>> grasps your arms, and starts dragging you across the ice. <br><br> <<link [[Next|Lake Skate Drag]]>><</link>> <br> <</if>><<effects>> You brace for impact. The <<person2>><<person>> hits first, <<if $physiqueSuccess>> barging into you. <span class="green">You manage to keep your footing.</span> A <<person3>><<person>> comes next. You grasp <<his>> arm as <<his>> body connects with yours. You spin around, redirecting <<his>> momentum and sending <<him>> back the way <<he>> came. Right at a <<person4>><<person>>. <br><br> They collide, and tumble to the ice. The <<person2>><<person>> laughs at <<his>> friends' misfortune, but doesn't seem keen to approach you again. <br><br> You grasp the <<person1>><<persons>> hand, and together skate back to shore. "I don't know what they were gonna do to me," <<he>> says. "I don't want to think about it. It doesn't matter. You saved me. Th-thank you."<<ltrauma>><<trauma -6>> <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br> <<else>> barging into you. <span class="red">The force sends you skidding to the ground.</span><<ggpain>><<gstress>><<pain 8>><<stress 6>> <br><br> The delinquents roar with laughter, so much that they almost slip up themselves. The <<person2>><<person>> grasps your arms, and starts dragging you across the ice. <br><br> <<link [[Next|Lake Skate Drag]]>><</link>> <br> <</if>><<effects>> <<set $rescued += 1>> The delinquents drag you further from shore, debating what to do with you and threatening to kick you with their ice skates if you don't play along. <<if playerIsPregnant() and playerAwareTheyArePregnant()>> You desperately hope it's just an empty threat, since their grasp on your arms prevents you from shielding your <<pregnancyBabyText "pc">> from any blows. You try to squirm free, to no avail. <</if>> <<gtrauma>><<trauma 6>> <br><br> <<if $syndromeeden gte 1 and $rng gte 75>> You hear a gunshot, distant, but clear across the open lake. You hear the bullet whistle through the air before <span class="red">thudding into the nearby ice.</span> <br><br> The trio stop in their tracks. "Was that a gun?" the <<person3>><<person>> asks. <br><br> A second gunshot answers. <span class="red">The bullet lands closer.</span> The ice explodes this time, throwing shards into the air. <br><br> "F-fuck this," the <<person4>><<person>> whimpers. <<He>> turns and skates the way <<he>> came. The others follow close behind. <br><br> <<tearful>> you rise to your feet. You peer in the direction the bullets came, but can't see your rescuer. They could be lurking anywhere along that tree line. <br><br> <<endevent>> <<link [[Next|Lake Depths Ice]]>><</link>> <br> <!-- Modified for Monster People --> <<elseif $syndromewolves gte 1 and $rng gte 50 and $wolfpacktrust gte 24>> <<person3>> "What's that?" the <<person>> says, pointing at a dark shape across the ice. <br><br> The <<person2>><<person>> peers at it. "It's getting closer," <<he>> says, voice betraying worry. <br><br> The third delinquent, a <<person4>><<person>> takes a step backwards. <span class="red">"It-it's a wolf,"</span> <<he>> stutters. The trio stand motionless for a moment, then, slipping more than once, turn and skate away. You're left alone on the ice. <br><br> <<endevent>><<npc "Black Wolf">> You hear rapid footsteps, then a warm tongue licks your face. It's the Black Wolf.<<lstress>><<stress -6>> <br><br> <<if $monster is 1>> "Humans. So crude. You belong with wolf." <<bHe>> watches the delinquents run, before turning and walking away. <<bHe>> looks at you over <<bhis>> shoulder. <<else>> <<bHe>> seems uninterested in pursuing the delinquents, instead walking back the way it came. It stops and looks over its shoulder. <</if>> <br><br> <<endevent>> <<link [[Go to the wolf cave (0:30)|Wolf Cave Clearing]]>><<pass 30>><</link>> <br> <<link [[Stay at the lake|Lake Depths Ice]]>><</link>> <br> <<else>> <span class="green">They're interrupted by a shout.</span> It's the <<person1>><<person>>, following across the ice. <<Hes>> not alone. <br><br> The delinquents hurl insults at the pursuers, but they're outnumbered. They skate away, leaving you lying on the ice. <br><br> <<generatey5>> <<tearful>> you rise to your feet. The <<person1>><<person>> and <<his>> friends arrive at your side. They're all a bit older than <<him>>. It's a <<person5>><<person>> who speaks. <br><br> "Heard you saved my li'l <<person1>><<if $pronoun is "m">>bro<<else>>sis<</if>>," <<person5>><<he>> says. "Good of you. Excuse me though." <<He>> pushes <<himself>> after the delinquents, and the other friends follow. The <<person1>><<person>> stays behind, and gives you a shy smile. Together, you return to shore.<<gcool>><<status 1>> <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br> <</if>><<effects>> There's no substitute for practice, but your presence is great for the <<persons>> confidence. You give <<him>> pointers, and offer an arm when <<he>> needs it. <<He>> doesn't seem quite so wobbly by the end. <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br><<effects>> "Thanks anyway," the <<person>> says, disappointed. <<He>> wobbles away. <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br><<effects>> <<if currentSkillValue('danceskill') gte 800>> You perform some tricks in front of the <<person>>. <<He>> watches, then points out the flaws in your technique. <<elseif currentSkillValue('danceskill') gte 400>> You skate in front of the <<person>>. <<He>> watches, then offers tips on how to improve your speed and balance. <<elseif currentSkillValue('danceskill') gte 100>> The skate in front of the <<person>>. <<He>> watches, then offers tips on how to improve your balance. <<else>> The <<person>> holds your arm as you skate, and gives you pointers. You're able to skate more adventurously than normal, knowing you aren't going to end up on your ass. <</if>> You learn a lot. <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br><<effects>> The <<person>> shrugs. "Suit yourself," <<he>> says. "Good luck." <<He>> skates away. <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br><<effects>> You shove the <<person>> away from you. <<He>> loses <<his>> footing, and lands on <<his>> back. You hear laughter from several directions. <br><br> <<if $rng gte 81>> Incensed, the <<person>> rises to <<his>> feet, and lunges. <br><br> <<link [[Next|Lake Skate Rape]]>><<set $molestationstart to 1>><<set $phase to 1>><</link>> <br> <<else>> Pride wounded, the <<person>> rises to <<his>> feet, and skates away. <br><br> <<link [[Next|Lake Shallows Ice]]>><</link>> <br> <</if>><<effects>> <<if $rng gte 61>> The <<person>> gropes and fondles you, then puts <<his>> hand over your mouth. <br><br> <<link [[Next|Lake Skate Rape]]>><<set $molestationstart to 1>><<set $phase to 0>><</link>> <br> <<else>> The <<person>> gropes and fondles you for a few moments, before skating off to find someone else to harass. <br><br> <<link [[Next|Lake Shallows Ice]]>><</link>> <br> <</if>><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<if $phase is 1>> <<set $enemyanger += 150>> <<else>> <<hand_gag 0 left>> <</if>> <<enable_rescue>> <</if>> <<effects>> <<effectsman>> <<alarmstate>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Skate Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Skate Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> shoves you forward, and skates off to find someone else to harass. <br><br> <<tearful>> you steady yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Shallows Ice]]>><</link>> <br> <<elseif $enemyhealth lte 0>> You shove the <<person>> onto <<his>> ass. <<tearful>> you skate away. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Shallows Ice]]>><</link>> <br> <<else>> <<set $rescued += 1>> The cry attracts attention. The <<person>> looks around, nervous. <<He>> shoves you forward and skates away. <br><br> <<tearful>> you steady yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Shallows Ice]]>><</link>> <br> <</if>><<effects>> You race after the <<person>>. <<He>> speeds up when <<he>> notices you following. <<if $danceSuccess>> <<if currentSkillValue('danceskill') gte 600>> You're able to keep up, <span class="green">and then overtake <<him>>.</span> You spin and wink. <<else>> Driven by the desire to win, you manage to keep up, <span class="green">and even overtake <<him>></span> You spin and wink. <</if>> <<gcool>><<status 1>> <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br> <<else>> <<if currentSkillValue('danceskill') gte 800>> <<Hes>> fast, <span class="red">too fast.</span> Realising you won't catch up, you slow to a stop.<<lcool>><<status -10>> <<else>> In your rush to catch up, <span class="red">you lose your balance.</span> You're left sprawled on the ice.<<gpain>><<gstress>><<lcool>><<pain 4>><<stress 6>><<status -1>> <</if>> <br><br> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br> <</if>><<effects>> <<if currentSkillValue('danceskill') gte 200>> You skate over. <<else>> You manage to wobble your way over. <</if>> <<Hes>> blushing. <br><br> <<if $speech_attitude is "meek">> "I-it's okay to be shy," you say. "But I saw you watching me." <<elseif $speech_attitude is "bratty">> "I saw you watching me," you say. "No need to be shy." <<else>> "There's no need to be shy," you say. <</if>> <<Hes>> already wearing ice skates. You hold out your hand. <<promiscuity1>> <<if currentSkillValue('danceskill') gte 200>> You help <<him>> across the ice. You have to steady <<him>> more than once when <<he>> slips. <<He>> laughs, embarrassed, but <<his>> nervousness abates. <br><br> <<else>> You're not much more experienced than <<him>>, and inevitably end up sprawled together on the ice. <<He>> laughs, <<his>> nervousness abated. <br><br> <</if>> You're a fair way onto the ice, well away from the other students. <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Lake Skate Seduce]]>><</link>><<promiscuous2>> <br> <</if>> <<link [[Help <<him>> back to shore|Lake Skate Shore]]>><</link>> <br><<effects>> <<set $seductiondifficulty to 4000>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> <<if currentSkillValue('danceskill') gte 200>> You press your body against the <<persons>>, and breathe on <<his>> neck. <<else>> You roll on top of the <<person>>, and breathe on <<his>> neck. <</if>> <<promiscuity2>> <<if $seductionrating gte $seductionrequired>> <<He>> shivers, <span class="green">and pulls you closer.</span> <br><br> <<link [[Next|Lake Skate Sex]]>><<set $sexstart to 1>><</link>> <br> <<else>> <<He>> shivers, <span class="red">but <<his>> nervousness returns,</span> and <<he>> looks away. <br><br> <<if currentSkillValue('danceskill') gte 200>> You help <<him>> back to shore. <<else>> You help <<him>> to <<his>> feet, and back to shore. <</if>> <<He>> looks like <<he>> wants to say something, but can't find the words. <br><br> <<link [[Next|Lake Shallows Ice]]>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Skate Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Skate Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<He>> pants against the ice. <br><br> <<clotheson>> <<tearful>> you help <<him>> to shore. <<He>> gives you a parting kiss on the cheek. <br><br> <<endcombat>> <<link [[Next|Lake Shallows Ice]]>><</link>> <<elseif $enemyhealth lte 0>> You pull away from the <<person>>. <<He>> tries to follow, but slips on the ice. <br><br> <<tearful>> you make it some distance away. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Shallows Ice]]>><</link>> <<else>> <<clotheson>> You help the <<person>> back to shore. <<He>> looks like <<he>> wants to say something, but can't find the words. <br><br> <<tearful>> you skate back onto the ice. <br><br> <<endcombat>> <<link [[Next|Lake Shallows Ice]]>><</link>> <</if>><<effects>> <<if currentSkillValue('danceskill') gte 200>> You help the <<person>> back to shore. <<He>> kisses your cheek before you part.<<ltrauma>><<trauma -6>> <br><br> <<else>> You help each other to your feet, and return to the shore. The <<person>> is still giggling. <<He>> kisses your cheek before you part.<<ltrauma>><<trauma -6>> <br><br> <</if>> <<link [[Next|Lake Shallows Ice]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lakeunderwater">><<underwater>><<effects>><<lakeeffects>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte random(0, 10) and !$possessed>> <<wHunt "lake">> <<else>> <<if Weather.isFrozen("lake")>> You are beneath the lake. You swim beneath a crystal ceiling, between tall weeds. <<if Weather.dayState is "night">> <<if Weather.isSnow>> The ice is pitch black. <<elseif Weather.is("heavyClouds")>> The ice is black. <<else>> Pale moonlight spills through. <</if>> <<else>> <<if Weather.isSnow>> The ice is white. <<elseif Weather.is("heavyClouds")>> The ice is a dull grey. <<else>> Sunlight pierces through. <</if>> <</if>> <<else>> You are beneath the lake. You swim over dark silt and between tall weeds. <<if Weather.dayState is "night">> <<if Weather.precipitation is "rain">> The water is black. It dulls the sound of the rain above. <<elseif Weather.is("heavyClouds")>> The water is black. <<else>> The plants glisten in moonlight. <</if>> <<else>> <<if Weather.precipitation is "rain">> The water is dark. It dulls the sound of the rain above. <<elseif Weather.is("heavyClouds")>> The water is dark. <<else>> Sunlight pierces the gloom. <</if>> <</if>> <</if>> <<if !Time.schoolDay and Weather.isSnow and Weather.dayState is "day" and $mason_ice_lake gte 1>> You glimpse Mason through the plants. <</if>> <br><br> <<if !Time.schoolDay and Weather.isSnow and Weather.dayState is "day" and $mason_ice_lake is undefined>> <<set $mason_ice_lake to 1>> <<npc Mason>><<person1>> A shape looms from the dark. Strong arms clutch you, pressing you against a sleek muscular body as you are carried back towards the light. <br><br> You're pushed onto the ice. The figure climbs after you. It's Mason, clad in a wetsuit. <<if $exposed gte 1>> <<He>> grabs a towel from a bag on the swimming dock, and wraps it around you. <<towelup>> <</if>> <<He>> shivers in the cold air, but seems more concerned about you. <br><br> "You shouldn't dive this time of year," <<he>> says. "It's dangerous." <br><br> <<link [[Reassure|Lake Mason Reassure]]>><</link>><<swimmingdifficulty 600 1000>> <br> <<link [[Thank|Lake Mason Thank]]>><<npcincr Mason love 1>><</link>><<glove>> <br> <<link [[Get angry|Lake Mason Angry]]>><<def 1>><<npcincr Mason love -1>><</link>><<llove>> <br> <<elseif !Time.schoolDay and Weather.isFrozen("lake") and Weather.dayState is "day" and $mason_ice_lake is 1 and random(1, 5) is 5>> <<npc Mason>><<person1>> Mason spots you, and speeds in your direction. <<He>> scoops you up in <<his>> arms, and kicks towards the light. You're pushed onto the ice. <br><br> <<if $exposed gte 1>> <<He>> grabs a towel from a bag on the swimming dock, and wraps it around you. <<towelup>> <</if>> <<He>> shivers in the cold air, but seems more concerned about you. <br><br> "I appreciate eagerness," <<he>> says. "But I meant what I said. It's dangerous. I can't let a student down there." <br><br> <<link [[Reassure|Lake Mason Reassure]]>><</link>><<swimmingdifficulty 600 1000>> <br> <<link [[Thank|Lake Mason Thank]]>><</link>> <br> <<link [[Get angry|Lake Mason Angry]]>><</link>> <br> <<else>> <<if $nextPassageCheck is "Lake Ruin">> <<swimicon>><span class="nextLink"><<link [[Swim inside ruin|Lake Ruin]]>><<wateraction>><</link>><<loxygen>></span> <<else>> <<swimicon>><<link [[Swim inside ruin|Lake Ruin]]>><<wateraction>><</link>><<loxygen>> <</if>> <br> <<if !Time.schoolDay and Weather.isSnow and Weather.dayState is "day">> <<set $lake_ice_broken to 1>> <</if>> <<if Weather.isFrozen("lake")>> <<if $lake_ice_broken is undefined>> <<swimicon "up">><<link [[Surface|Lake Underwater Ice]]>><</link>> <br> <<else>> <<swimicon "up">><<link [[Surface|Lake Depths Ice]]>><</link>> <br> <</if>> <<else>> <<swimicon "up">><<link [[Surface|Lake Depths]]>><<set $lakesurface to 1>><</link>> <br> <</if>> <</if>> <</if>><<underwater>><<effects>> You swim up to the surface, <span class="red">but you can't find the hole in the ice.</span> It's frozen over!<<ggstress>><<stress 18>> <br><br> <<link [[Smash through|Lake Underwater Ice Smash]]>><<wateraction>><<pain 4>><</link>><<physiquedifficulty 1 $physiquemax>><<loxygen>><<gpain>> <br> <<link [[Keep calm and search for the hole|Lake Underwater Ice Calm]]>><<wateraction>><</link>><<willpowerdifficulty 1 $willpowermax>><<loxygen>> <br> <<link [[Swim back down|Lake Underwater]]>><<wateraction>><</link>><<loxygen>> <br><<underwater>><<effects>> <<if $physiqueSuccess>> You smash your <<if $leftarm is "bound" and $rightarm is "bound">>feet<<else>>fists<</if>> against the ice. <span class="green">You hear it crack.</span> You keep bashing away, your strength bolstered by panic, and manage to bash open a hole large enough to climb through. <br><br> <<earnFeat "Under the Ice">> You haul yourself onto the surface of the lake. <br><br> <<set $location to "lake">> <<set $lake_ice_broken to 2>> <<link [[Next|Lake Depths Ice]]>><<set $eventskip to 1>><</link>> <br> <<else>> Your <<if $leftarm is "bound" and $rightarm is "bound">>feet<<else>>fists<</if>> thud against the ice, <span class="red">but it remains solid</span>. <br><br> <<link [[Keep trying|Lake Underwater Ice Smash]]>><<wateraction>><<pain 4>><</link>><<physiquedifficulty 1 $physiquemax>><<loxygen>><<gpain>> <br> <<link [[Keep calm and search for the hole|Lake Underwater Ice Calm]]>><<wateraction>><</link>><<willpowerdifficulty 1 $willpowermax>><<loxygen>> <br> <<link [[Swim back down|Lake Underwater]]>><<wateraction>><</link>><<loxygen>> <br> <</if>><<underwater>><<effects>> <<if $willpowerSuccess>> You can't breathe to focus yourself, but you can feel the current around you. The ice won't be solid. There hasn't been time. <br><br> Now calm, you see it. A gap not far from you. You swim over, and push against the frozen ceiling. <span class="green">It breaks apart at your touch.</span> <br><br> <<earnFeat "Under the Ice">> You haul yourself onto the surface of the lake. <br><br> <<set $location to "lake">> <<set $lake_ice_broken to 2>> <<link [[Next|Lake Depths Ice]]>><<set $eventskip to 1>><</link>> <br> <<else>> You'd normally breathe to stay calm, but you can't even do that. <span class="red">Frantic,</span> you push yourself along the surface <span class="red">in an erratic and hopeless pattern.</span><<gtrauma>><<trauma 6>><<ggwillpower>><<willpower 3>> <br><br> <<link [[Smash through|Lake Underwater Ice Smash]]>><<wateraction>><<pain 4>><</link>><<physiquedifficulty 1 $physiquemax>><<loxygen>><<gpain>> <br> <<link [[Keep trying|Lake Underwater Ice Calm]]>><<wateraction>><</link>><<willpowerdifficulty 1 $willpowermax>><<loxygen>> <br> <<link [[Swim back down|Lake Underwater]]>><<wateraction>><</link>><<loxygen>> <br> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> You are in the submerged ruin beneath the lake. Glowing purple lichen covers ancient walls. <<if $wraithPrison or $sciencelichenlake is 1 or $scienceproject is "won" or $scienceproject is "done">> A strange rune glimmers on a flat section of the wall. <</if>> <br><br> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte random(0, 10) and !$possessed>> <<wHunt "lake">> <<else>> <<swimicon "down">><<link [[Swim deeper|Lake Ruin Deep]]>><<wateraction>><</link>><<loxygen>> <br> <<swimicon "up">><<link [[Swim towards the surface|Lake Underwater]]>><<wateraction>><</link>><<loxygen>> <br><br> <<if $sciencelichenknown is 1 and $sciencelichenlake isnot 1 and $scienceproject is "ongoing">> <<scienceicon "purple lichen">><<link [[Retrieve lichen for your science project|Lake Lichen]]>><<set $sciencelichenlake to 1>><<wateraction>><</link>><<loxygen>> <br> <</if>> <<if $nextPassageCheck is "Lake Ruin Prison Intro">> <<investigateicon>><span class="nextLink"><<link [[Inspect the rune|Lake Ruin Prison Intro]]>><<wateraction>><</link>><<loxygen>></span> <br> <<elseif $wraithPrison or $sciencelichenlake is 1 or $scienceproject is "won" or $scienceproject is "done">> <<investigateicon>><<link [[Inspect the rune|Lake Ruin Symbol]]>><<wateraction>><</link>><<loxygen>> <br> <</if>> <br> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> You run your hand over the carved symbol in the wall. Nothing happens. <br><br> <<if $wraithPrison>> You shiver, knowing what's on the other side. <br><br> <</if>> <<link [[Next|Lake Ruin]]>><</link>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_deep">><<underwater>><<effects>><<lakeeffects>> You are deep in the submerged ruin beneath the lake. Pots of different sizes fill the room. <br><br> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<elseif wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte random(0, 10) and !$possessed>> <<wHunt "lake">> <<else>> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<wateraction>><</link>><<loxygen>> <br> <<if $nextPassageCheck is "Lake Ruin">> <<swimicon "up">><span class="nextLink"><<link [[Swim towards exit|Lake Ruin]]>><<wateraction>><</link>><<loxygen>></span> <<else>> <<swimicon "up">><<link [[Swim towards exit|Lake Ruin]]>><<wateraction>><</link>><<loxygen>> <</if>> <br><br> There's an ancient door opposite the entrance. <<if $lakeruinkey isnot 2>> It's closed. <<else>> It's open. <</if>> <br> <<if $lakeruinkey is 1>> <<lockicon "bronze key">><<link [[Use bronze key|Lake Ruin Door]]>><<wateraction>><</link>><<loxygen>> <br> <</if>> <<if $lakeruinkey is 2>> <<swimicon>><<link [[Swim inside plinth room|Lake Ruin Plinth]]>><<wateraction>><</link>><<loxygen>> <br> <</if>> <br> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> <<set $lakeruinkey to 2>><<wearProp "key" "bronze">> You hear the ancient mechanism creak and the door groans open. Beyond is a plinth, stood alone in a rubble-strewn room. Atop it sits an ivory necklace. It's studded with blue jewels. <br><br> <<swimicon>><<link [[Swim inside|Lake Ruin Plinth]]>><<handheldon>><</link>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> You grip the plinth, and pull your <<bottom>> against it. The instant you do, a red light blazes into life, illuminating the room. Previously unseen statues stare down at you from above. <br><br> <<if !(!$player.vaginaExist and playerIsPregnant())>> You jerk back, and convulse. The room shakes and trembles. A crack appears in the floor. It widens, letting in more of the red light. <<if numberOfEarSlime() gte 2>> You feel the slimes squirm from your ears. They vanish into the crevice. <<world_corruption "soft" 20>> <<else>> You feel the slime squirm from your ear. It vanishes into the crevice. <<world_corruption "soft" 10>> <</if>> <br><br> <<set $earSlime.corruption to 0>> <<if $slime_tf is 1>> <<set $slime_tf to 0>> <<set $physicalTransform to 0>> <</if>> <<if $player.sex is "f" and ["mixed", "impregnation"].includes($earSlime.focus) and $player.ballsExist>> <<set $player.ballsExist to false>> <</if>> <<if $parasite.left_ear.name is "slime">> <<removeparasite left_ear>> <</if>> <<if $parasite.right_ear.name is "slime">> <<removeparasite right_ear>> <</if>> <<set $noEarSlime to true>> <<if $tentacledisable is "f">> The light fades, and all falls quiet. Yet you feel a presence. Something stayed behind. <br><br> Over a dozen tentacles curl up the side of the plinth, forming a prison around you. <br><br> <<link [[Next|Lake Ruin Sit Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<link [[Next|Lake Ruin Plinth]]>><</link>> <br> <</if>> <<else>> Seconds after, and just as fast as before, it returns to normal. It seems that something's restraining itself. <<if playerAwareTheyArePregnant()>>You wonder if it has to do with your pregnancy.<</if>> <br><br> <<link [[Next|Lake Ruin Plinth]]>><</link>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<controlloss>> <<molested>> <<tentaclestart 16 16>> <</if>> <<statetentacles>> <<underwater>><<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Lake Ruin Sit Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Ruin Sit Tentacles]]>><</link>></span><<nexttext>> <</if>><<underwater>><<effects>> The creature recoils from you and disappears into darkness. <<tearful>> you look around, but see no other threats. <<clotheson>> <<endcombat>> <<link [[Next|Lake Ruin Plinth]]>><<set $phase to 1>><</link>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> You are deep in the lake ruin, in a small room with a plinth. <<if $museumAntiques.antiques.antiqueivorynecklace is "notFound">> An ivory necklace sits atop it. It's studded with blue jewels. <</if>> <<set _leave to 1>> <<set _bmoon to Time.isBloodMoon()>> <<set _parasite to !!numberOfEarSlime()>> <<if _bmoon>> /* Display these on every blood moon entry */ <<if $wraith.hunt>> You sense the presence following you come to a stop. <span class="blue">It can't reach you in here.</span> <<set $wraith.hunt to 0>><<set $foresthunt to 0>><<set $wraith.timer += 5>> <</if>> Red moonlight filters down from cracks in the ceiling. There isn't much, but the plinth seems to glow where the light hits it. <<if $moonEvent and !_parasite and $worn.genitals.name is "gold chastity belt">> /* Moon event if no parasites and has gold cb */ <<unset $moonEvent>><<set $worn.genitals.integrity *= 0.5>><<control 50>> You're drawn to the plinth, and feel an odd sense of peace. <<gggcontrol>><br><br> <<set $phase to 1>> <</if>> <</if>> <<if _bmoon and _parasite>> /* Clear the possibility of the other moon event, but this event can be revisited if it is skipped */ <<unset $moonEvent>> You feel it pull to you. <br><br> <<ind>><<link [[Sit on the plinth|Lake Ruin Sit]]>><</link>> <br> <<elseif $tentacledisable is "f" and $hallucinations gte 2 and !_bmoon>> You look around the barren room. You don't see anything besides the plinth<<if $museumAntiques.antiques.antiqueivorynecklace is "notFound">> and necklace<</if>>, but you hear a faint slithering sound. <span class="blue">Something's watching you.</span> <br><br> <<investigateicon>><<link [[Search|Lake Ruin Deep Offer]]>><<loxygen>><</link>> <br> <<elseif $tentacledisable is "f" and _bmoon and $phase isnot 1 and $museumAntiques.antiques.antiqueivorynecklace isnot "notFound">> <<set _leave to 0>> <br><br> You feel the water stirring around you, growing more agitated as you look around. From the darkness, thinly illuminated by the red moonlight, tentacles lash out. <span class="red">Two of them wrap around your ankles, beginning to pull you further into the room!</span> <br><br> <<link [[Submit|Lake Ruin Deep NonConsentacles]]>><<set $molestationstart to 1>><</link>> <br> <<link [[Escape|Lake Ruin Deep Consentacles Leave]]>><<loxygen>><</link>><<swimmingdifficulty 600 1200>> <br> <<elseif _bmoon>> The water around you is eerily silent, and deathly still, the room barely illuminated in the red glow. <br><br> <<else>> The water sways with your movements in the dark room. <br><br> <</if>> <<if _leave>> <<if $museumAntiques.antiques.antiqueivorynecklace is "notFound">> <<icon "clothes/ivory_necklace.png">><<link [[Take the necklace|Lake Ruin Ivory]]>><<set $antiquemoney += 2000>><<museumAntiqueStatus "antiqueivorynecklace" "found">><<set $necklaceThief to "player">><</link>> <br> <</if>> <<swimicon "back">><<link [[Leave|Lake Ruin Deep]]>><<set $phase to 0>><</link>> <br> <</if>><<effects>><<wearProp "ivory necklace">> You lift the necklace from the plinth. The craftsmanship is masterful, and you get the feeling that this meant a lot to someone. <br><br> <<if C.npc["Ivory Wraith"].init is 1>> <<set C.npc["Ivory Wraith"].lust to 20>> <</if>> <<if Time.isBloodMoon()>> You suddenly hear pounding on the walls all around you. <<if $wraith.seen gte 1>>A familiar<<else>>An unfamiliar<</if>> voice cries out, and it feels like something's grabbing at your arms and legs. You instinctively flail and push yourself backwards through the water. <<trauma 12>><<ggtrauma>> <br><br> It dies down after a few moments, leaving you shaken. <<if $wraith.hunt>> The dread slowly passes, and you no longer sense the presence hunting you. <span class="blue"><i>You're safe until the next blood moon.</i></span> <br><br> <</if>> <<if $wraith>> <<set $wraith.state to "">> <<clearWraith>> <<set $wraithSkip to true>> <</if>> <<tearful>> you exit the room. <<elseif $wraith.state>> You feel a twinge of dread as you look at your reflection in the blue gemstones. You look pale. <<stress 6>><<gstress>> <br><br> You decide not to linger, and leave the room with the necklace in hand. <<else>> You can see your reflection in the blue gemstones. This will fetch a high price. <</if>> <br><br> <<link [[Next|Lake Ruin Deep]]>><<handheldon>><</link>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> Whatever it is, it sounds like it's behind you. No matter what direction you face. You sense a thirst. <br><br> <<if hasSexStat("deviancy", 4)>> <<ind>><<link [[Offer yourself|Lake Ruin Deep Offer 2]]>><<loxygen>><</link>><<deviant4>> <br> <</if>> <<swimicon "back">><<link [[Leave|Lake Ruin Deep]]>><</link>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> <<if $museumAntiques.antiques.antiqueivorynecklace is "notFound">> You gingerly move the necklace aside. <</if>> <<if _topless and _bottomless>> You spread your arms and legs out, presenting your body to the thing in the room. <<else>> <<strip>> You strip naked and give a suggestive wiggle, trying to goad the presence. <</if>> <<deviancy4>> After a moment, you sense a number of tentacles approach you from behind. They prod you gently, testing your offer. Though underwater, your skin slickens at their touch. <br><br> Several of the tentacles begin to explore your body, trailing slime wherever they go. You feel two of them wrap around your ankles. Everywhere they make contact, a stimulating tingle electrifies your skin. You are filled with an intense excitement as the tendrils slide up your thighs and towards your <<genitals>>. <<ggarousal>><<arousal 1500>> <br><br> <<link [[Continue|Lake Ruin Deep Consentacles]]>><<loxygen>><<set $sexstart to 1>><</link>> <br> <<link [[Escape|Lake Ruin Deep Consentacles Leave]]>><<loxygen>><</link>><<swimmingdifficulty 1 1000>>Sensing imminent danger, you decide not to take any risks and leave the room. <br><br> <<link [[Continue|Lake Ruin Deep]]>><<loxygen>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<set $enemytype to "tentacles">> <<neutral 1>> <<set $enemytrust += 100>> <<tentaclestart 6 8>> <</if>> <<statetentacles>> <<underwater>><<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Lake Underwater Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Ruin Deep Consentacles]]>><</link>></span><<nexttext>> <</if>>Deciding you've had enough, you attempt to unravel yourself and leave the room. <br><br> <<if $swimmingSuccess>> <span class="green">You free your ankles and make your escape.</span> The tentacles grasp at you with increasing desperation. You narrowly avoid one shooting for your leg, and swim through the doorway. The tentacles protrude from the room and grope around the walls, but they refuse to chase you any further. They slink away. <br><br> <<link [[Continue|Lake Ruin Deep]]>><<loxygen>><</link>> <br> <<else>> You try to swim towards the doorway, <span class="red">but you're unable to free yourself.</span> The tentacles snaring your ankles drag you back into the centre of the room while the rest surround you from all sides. <br><br> <<link [[Next|Lake Ruin Deep NonConsentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<controlloss>> <<molested>> <<tentaclestart 6 8>> <</if>> <<statetentacles>> <<underwater>><<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Lake Underwater Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Ruin Deep NonConsentacles]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<set $bus to "lake_ruin_deep">><<underwater>><<effects>><<lakeeffects>> <<if $stress gte $stressmax and !$possessed>> <<passoutlake>> <<elseif $foresthunt gte 10>> <<foresthunt>> <<else>> <<cleareventpool>> <<addinlineevent "ivory box" 20>> <<wearProp "ivory box">> You reach inside one of the pots, and find a small ivory box. It's sealed by a bronze lock. <br><br> <<if $historytrait gte 4>> The box itself is very old. It must be valuable. <br><br> <</if>> <<set $skulduggerydifficulty to 300>> <<lockicon "unlock">><<link [[Open it|Lake Ruin Box]]>><<wateraction>><<handheldon>><</link>><<skulduggerydifficulty>><<loxygen>> <br> <<if $historytrait gte 4>> <<antiqueicon "ivory_box">><<link [[Just take the box|Lake Ruin Deep]]>><<set $antiquemoney += 20>><<museumAntiqueStatus "antiquebox" "found">><<handheldon>><</link>> <br> <</if>> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br><br> There's an ancient door opposite the entrance. <<if $lakeruinkey isnot 2>> It's closed. <<else>> It's open. <</if>> <br> <<if $lakeruinkey is 1>> <<lockicon "bronze key">><<link [[Use bronze key|Lake Ruin Door]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br> <</if>> <<if $lakeruinkey is 2>> <<swimicon>><<link [[Swim inside plinth room|Lake Ruin Plinth]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br> <</if>> <br> <</addinlineevent>> <<if $swarmdisable is "f">> <<addinlineevent "swarm" 3>> You reach inside one of the pots. Swarms of small fish surge out, surrounding you. <br><br> <<link [[Next|Lake Swarm]]>><<set $molestationstart to 1>><</link>> <br> <</addinlineevent>> <</if>> <<addinlineevent "dust" `27 + ($swarmdisable is "t" ? 3 : 0)`>> You reach inside one of the pots. There's purple dust at the bottom. Your probing disturbs it, and it swirls around your arm. You feel heated. <<gstress>><<stress `$swarmdisable is "t" and random(30) gte 27 ? 6 : 3`>><<garousal>><<arousal 600>> <br><br> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<wateraction>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<wateraction>><</link>><<loxygen>> <br><br> There's an ancient door opposite the entrance. <<if $lakeruinkey isnot 2>> It's closed. <<else>> It's open. <</if>> <br> <<if $lakeruinkey is 1>> <<lockicon "bronze key">><<link [[Use bronze key|Lake Ruin Door]]>><<wateraction>><</link>><<loxygen>> <br> <</if>> <<if $lakeruinkey is 2>> <<swimicon>><<link [[Swim inside plinth room|Lake Ruin Plinth]]>><<wateraction>><</link>><<loxygen>> <br> <</if>> <br> <</addinlineevent>> <<if $lakeruinkey is undefined>> <<addinlineevent "bronze key" 10>> <<wearProp "key" "bronze">> You reach inside one of the pots. You find a decaying bronze key. <br><br> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<handheldon>><<wateraction>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br><br> There's an ancient door opposite the entrance. <<if $lakeruinkey isnot 2>> It's closed. <<else>> It's open. <</if>> <br> <<set $lakeruinkey to 1>> <<lockicon "bronze key">><<link [[Open door with bronze key|Lake Ruin Door]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br> <<if $lakeruinkey is 2>> <<swimicon>><<link [[Swim inside plinth room|Lake Ruin Plinth]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br> <</if>> <br> <</addinlineevent>> <</if>> <<addinlineevent "empty" 40>> <<rng>> <<if $rng gte 81>> You reach inside one of the pots. It's full of broken ceramics. <<elseif $rng gte 61>> You reach inside one of the pots. Something inside snaps at you. You pull your hand away in time, but it was close. <<gstress>><<stress 3>> <<elseif $rng gte 41>> You reach inside one of the pots. It's full of mud. <<elseif $rng gte 21>> You reach inside one of the pots. It's full of pebbles. <<else>> You reach inside one of the pots. It's empty. <</if>> <br><br> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<wateraction>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<wateraction>><</link>><<loxygen>> <br><br> There's an ancient door opposite the entrance. <<if $lakeruinkey isnot 2>> It's closed. <<else>> It's open. <</if>> <br> <<if $lakeruinkey is 1>> <<lockicon "bronze key">><<link [[Use bronze key|Lake Ruin Door]]>><<wateraction>><</link>><<loxygen>> <br> <</if>> <<if $lakeruinkey is 2>> <<swimicon>><<link [[Swim inside plinth room|Lake Ruin Plinth]]>><<wateraction>><</link>><<loxygen>> <br> <</if>> <br> <</addinlineevent>> <<runeventpool>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<molested>> <<controlloss>> <<set $combat to 1>> <<set $enemytype to "swarm">> <<swarminit "fish" "container" "shaking" "shatter" "steady" 4 6>> <<set $swimdistance to 8>> <<set $water to 1>> <</if>> <<if $swimdistance gte 8>> You're caught in the middle of the swarm. <<elseif $swimdistance gte 2>> You're escaping the swarm. <<else>> You've almost escaped. <</if>> <<underwater>><<effects>><<swarmeffects>> <<swarm>> <<swarmactions>> <<if $stress gte $stressmax>> <span id="next"><<link [[Next|Lake Swarm Finish]]>><</link>></span><<nexttext>> <<elseif $swimdistance lte 0>> <span id="next"><<link [[Next|Lake Swarm Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Swarm]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> <<if $stress gte $stressmax>> It's all just too much for you. You pass out. <br><br> <<if $upperoff isnot 0>> <<upperruined>> <</if>> <<if $loweroff isnot 0>> <<lowerruined>> <</if>> <<if $underloweroff isnot 0>> <<underlowerruined>> <</if>> <<if $underupperoff isnot 0>> <<underupperruined>> <</if>> <<endcombat>> <<passoutlake>> <<else>> <<tearful>> you swim away from the swarms of fish, who stay near their pots. They disappear inside them. <br><br> <<clotheson>> <<endcombat>> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<wateraction>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<wateraction>><</link>><<loxygen>> <br> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<skulduggeryuse>> <<if $rng gte 95>> <<if random(0,100) gte 80>> <<wearProp "chastity">> You find a gold chastity belt. <<set $antiquemoney += 2000>><<museumAntiqueStatus "antiquegoldchastitybelt" "found">> <<set _goldchastity to true>> <br><br> <<else>> <<wearProp "gold necklace">> You find a gold necklace. <<set $antiquemoney += 500>><<museumAntiqueStatus "antiquegoldnecklace" "found">> <br><br> <</if>> <<else>> <<wearProp "silver ring">> You find a silver ring. <<set $antiquemoney += 30>><<museumAntiqueStatus "antiquesilverring" "found">> <br><br> <</if>> <<if $historytrait gte 4>> You take the empty box too. It belongs in a museum. <<set $antiquemoney += 20>><<museumAntiqueStatus "antiquebox" "found">> <br><br> <</if>> <<if $worn.genitals.name is "naked" and _goldchastity and playerBellySize() lte 7>> <<antiqueicon "chastity">><<link [[Wear it|Lake Gold Chastity Belt]]>><<wateraction>><<handheldon>><</link>><<loxygen>> <br> <</if>> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<handheldon>> <<if _goldchastity>> <<set $gold_chastity_held to true>> <</if>> <<wateraction>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<handheldon>> <<if _goldchastity>> <<set $gold_chastity_held to true>> <</if>> <<wateraction>><</link>><<loxygen>> <br> <<else>> <<wearProp "ivory box">> You fail to pick the lock. <br><br> <<lockicon "unlock">><<link [[Try again|Lake Ruin Box]]>><<handheldon>><<wateraction>><</link>><<skulduggerydifficulty>><<loxygen>> <br> <<if $historytrait gte 4>> <<antiqueicon "ivory_box">><<link [[Just take the box|Lake Ruin Deep]]>><<handheldon>><<set $antiquemoney += 20>><<museumAntiqueStatus "antiquebox" "found">><</link>> <br> <</if>> <<lakeicon "pots">><<handheldon>><<link [[Search pots|Lake Pots]]>><<wateraction>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<handheldon>><<wateraction>><</link>><<loxygen>> <br> <</if>><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> <<set $antiquemoney -= 2000>> You examine the gold chastity belt in your hands. You think you see a faint glow emanating from it. You wonder what it felt like having something so beautiful protecting your <<genitals 1>>. <br><br> You feel an urge to try it on. You wrap it around your waist. As it clicks shut you wonder if there's a key somewhere. <br><br> <<clothesstrip>> <<genitalswear 3>> <<earnFeat "Locked In Gold">> <<set $worn.genitals.origin to "Underwater Temple">> <<lakeicon "pots">><<link [[Search pots|Lake Pots]]>><<handheldon>><<wateraction>><<clotheson>><</link>><<loxygen>> <br> <<swimicon "back">><<link [[Swim towards exit|Lake Ruin]]>><<handheldon>><<wateraction>><<clotheson>><</link>><<loxygen>> <br><<set $outside to 0>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> <<hallucinogen 180>><<wearProp "lichen" "purple">> The lichen crumbles at your touch, but you collect enough for your science project. <<if !$wraithPrison>>Where the lichen breaks, you notice a rune carved into the wall. <</if>> <br><br> <span class="gold">You can add the lichen you found to your project in your room or the school library.</span> <br><br> A warmth spreads through your fingers, up your arm and into the rest of your body. You feel light-headed. <br><br> <i>You've been afflicted by a hallucinogen. You'll have the Hallucinations and Severe Hallucinations traits until it wears off. High trauma or awareness will also cause hallucinations.</i> <br><br> <<generateWraith 1 true>> <<if $wraith.state isnot "">> <<rainWraith>> You suddenly feel yourself yanked away, and you come face to face with a beautiful pale figure. <<if $wraith.state is "haunt">> "<span class="wraith">The thief returns to pilfer again.</span>" <<else>> "<span class="wraith">Trespasser...</span>" <</if>> <br><br> <<initWraith "abomination">> <<He>> has a hand wrapped around your neck. <<set $NPCList[0].lefthand to "throat">><<set $neckuse to "hand">> <<if $wraith.gen is "abomination">> <<He>> raises <<his>> other hand, and a swarm of pale tendrils rise from the shadows. <<else>> Several more pairs of arms creep around you. <</if>> <br><br> <<if $wraith.state is "haunt" and Time.isBloodMoon()>> <<link [[Next|Wraith Caught]]>><<handheldon>><<set $wraith.exit to "lake_ruin">><</link>> <<else>> <<link [[Next|Wraith Underwater Rape]]>><<handheldon>><<set $molestationstart to 1>><</link>> <</if>> <br> <<else>> <<initWraith "man">> You hear whispers, and turn to see a beautiful pale figure floating before you. <<if $museumAntiques.antiques.antiqueivorynecklace isnot "notFound">> <<Hes>> naked and has a hand pressed to <<his>> neck, regarding you with rage and disgust. <<else>> <<Hes>> naked, save a necklace of ivory around <<his>> neck. <</if>> <<if $tentacledisable is "f">> <<He>> raises <<his>> hand, and a mass of tendrils rise from the dark. They dart towards you. <br><br> <<link [[Next|Lake Underwater Tentacles]]>><<handheldon>><<set $molestationstart to 1>><</link>> <br> <<else>> <<He>> shouts something unintelligible, then lunges for you. <br><br> <<link [[Next|Lake Underwater Rape]]>><<handheldon>><<set $molestationstart to 1>><</link>> <br> <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<controlloss>> <<molested>> <<tentaclestart 6 8>> <</if>> <<statetentacles>> <<underwater>><<effects>><<speechWraith>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Lake Underwater Tentacles Finish]]>><<set $phase2 to 1>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Underwater Tentacles]]>><</link>></span><<nexttext>> <</if>><<underwater>><<effects>> The creature recoils from you and disappears into darkness. <<tearful>> you turn to the exit. When you look back, the pale figure has vanished. <<clotheson>> <<endcombat>> <<link [[Next|Lake Ruin]]>><<endWraith>><</link>> <br><<underwater>><<effects>> <<set _phase to $phase2>> <<if $bus is "lake_ruin_deep">> <<set _nextroom to "Lake Ruin Deep">> <<elseif $bus is "lake_ruin">> <<set _nextroom to "Lake Ruin">> <</if>> The creature recoils from you and disappears into darkness. <<tearful>> you turn to the exit. <<if _phase is 1>>When you look back, the pale figure has vanished.<</if>> <<clotheson>> <<endcombat>> <<if _phase is 1>><<endWraith>><</if>> <<link [[Next|_nextroom]]>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $consensual to 0>> <<neutral 1>> <<controlloss>> <<molested>> <<maninit>> <</if>> <<underwater>><<effects>> <<effectsman>><<man>><<speechWraith>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Lake Underwater Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Underwater Rape]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "lake_ruin">><<underwater>><<effects>><<lakeeffects>> <<if $enemyhealth lte 0>> <<He>> recoils from you and disappears into darkness. <<tearful>> you turn to the exit. <br><br> <<clotheson>> <<endcombat>> <<else>> <<silently>><<ejaculation>><</silently>> <<He>> giggles and disappears into darkness. <<tearful>> you turn to the exit. <br><br> <<clotheson>> <<endcombat>> <</if>> <<link [[Next|Lake Ruin]]>><<endWraith>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<molested>> <<controlloss>> <<set $combat to 1>> <<set $enemytype to "swarm">> <<if $slimedisable is "f" and Time.isBloodMoon()>> <<swarminit "pale slimes" "slime mass" "moving towards you" "encircle you" "fend off" 8 0>> <<else>> <<swarminit "fish" "swarm" "moving towards you" "encircle you" "fend off" 1 7>> <</if>> <<set $swimdistance to 12>> <<set $water to 1>> <</if>> <<if $swimdistance gte 8>> You're caught in the middle of the swarm. <<elseif $swimdistance gte 2>> You're escaping the swarm. <<else>> You've almost escaped. <</if>> <<water>><<effects>><<swarmeffects>> <<swarm>> <<swarmactions>> <<if $stress gte $stressmax>> <span id="next"><<link [[Next|Lake Depths Swarm Finish]]>><</link>></span><<nexttext>> <<elseif $swimdistance lte 0>> <span id="next"><<link [[Next|Lake Depths Swarm Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Lake Depths Swarm]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $stress gte $stressmax>> It's all just too much for you. You pass out. <br><br> <<if $upperoff isnot 0>> <<upperruined>> <</if>> <<if $loweroff isnot 0>> <<lowerruined>> <</if>> <<if $underloweroff isnot 0>> <<underlowerruined>> <</if>> <<if $underupperoff isnot 0>> <<underupperruined>> <</if>> <<endcombat>> <<passoutlake>> <<else>> <<tearful>> you escape the swarms of <<if $slimedisable is "f" and Time.isBloodMoon()>>pale slimes<<else>>fish<</if>>. They don't pursue. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Lake Depths]]>><<set $eventskip to 1>><</link>> <br> <</if>><<widget "lakeeffects">> <<set $laketeenspresent to teensPresentCheck("lake")>> <<if Weather.precipitation is "none" and Time.hour gte 18>> <<set $laketeensfire to 1>> <<else>> <<set $laketeensfire to 0>> <</if>> <<wPersist "forest">><<getTarget true>> <</widget>> <<widget "destinationlake">> <<if $bus is "lakeshallows">> <<link [[Next|Lake Shallows]]>><</link>> <br> <<elseif $bus is "lakedepths">> <<link [[Next|Lake Depths]]>><</link>> <br> <<elseif $bus is "lakefirepit">> <<link [[Next|Lake Firepit]]>><</link>> <br> <<elseif $bus is "lakefishingrock">> <<link [[Next|Lake Fishing Rock]]>><</link>> <br> <<elseif $bus is "lakecampsite">> <<link [[Next|Lake Campsite]]>><</link>> <br> <<elseif $bus is "lakewaterfall">> <<link [[Next|Lake Waterfall]]>><</link>> <br> <<elseif $bus is "lakebus">> <<link [[Next|Lake Bus]]>><</link>> <br> <<else>> <<link [[Next|Lake Shore]]>><</link>> <br> <</if>> <</widget>> <<widget "passoutlake">> <<if isPregnancyEnding()>> <<pregnancyPassout "lake">> <<else>> You've pushed yourself too much. <br><br> <<passout>> <<set $danger to random(1, 10000)>> <<if $exposed gte 1 and $syndromeeden is 1 and random(1,2) is 2>> <<link [[Next|Eden Passout Lake Rescue]]>><</link>> <<elseif C.npc.Mason.init is 1 and !Time.schoolDay and Weather.precipitation is "rain" and Time.dayState is "day" and random(1,2) is 1>> <<link [[Everything fades to black...|Mason CPR]]>><</link>> <<elseif $danger gte (9900 - $allure)>> <<if $laketeenspresent is 1 and !Weather.isSnow>> <<link [[Next|Lake Mermaid]]>><</link>> <br> <<else>> <<link [[Next|Lake Ritual]]>><</link>> <br> <</if>> <<else>> <<set $foresthunt to 0>> <<ambulance>> <</if>> <<pass 1 hour>> <<trauma 6>><<set $stress -= 2000>> <</if>> <</widget>> <<widget "lakejourney">> <<beastNEWinit 1 wolf>> Someone screams. You turn with the others to see that a <<beasttype>> has emerged from the trees. There are a few more screams, and people start backing away. <br><br> <<if $monster is 1>> <<bHis>> nude body leaves little to the imagination, <<bhis>> genitals on full display to the crowd. <<bHe>> makes no attempt to cover <<bhimself>>, several people shielding their eyes while others laugh nervously. <br><br> <</if>> <<bHe>> stands some way apart and watches. <br><br> <!-- Modified for Monster People --> <<if hasSexStat("deviancy", 2) and ($monster is 1 or $bestialitydisable is "f")>> <<link [[Deal with <<bhim>>|Lake Wolf Sex]]>><<set $sexstart to 1>><</link>><<deviant2>><<status 2>><<gcool>> <br> <</if>> <<link [[Run away|Lake Wolf Run]]>><<stress 3>><</link>><<gstress>> <br> <</widget>> <<widget "lakereturnjourney">> <<if $laketeenspresent is 1 and Time.hour is 20>> It's getting late, and the shadows of the forest grow longer. People are preparing to return to town. No one wants to be left to travel alone. <br><br> <<if $earSlime.forcedCommando isnot undefined and $worn.under_lower.name isnot "naked">> <<elseif $exposed lte 0>> <<ind>><<link [[Go with them (0:30)|Lake Return Journey]]>><<set $foresthunt to 0>><<pass 30>><</link>> <br><br> <</if>> <</if>> <</widget>> <<widget "eventlakesafe">> <<if random(1, 20) is 1 and !$possessed>> <<eventAmbient>> <</if>> <</widget>> <<widget "eventlakewater">> <<if wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte random(0, 10)>> <<wHunt "lake">> <<elseif $bus is "lakeshallows">> <<if $laketeenspresent is 1>> <<generatey1>><<person1>> A <<person>> watches you from the bank. <br><br> <<link [[Wave (0:01)|Lake Wave]]>><<stress -2>><<pass 1>><</link>><<lstress>> <br> <<link [[Ignore|Lake Shallows]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<if $player.gender_appearance is "f" and hasSexStat("exhibitionism", 3)>> <<link [[Flash|Lake Flash]]>><</link>><<exhibitionist3>> <br> <</if>> <<else>> Your leg gets tangled in some weeds. It takes a few minutes of struggling to free yourself. <<gtiredness>><<tiredness 2>> <br><br> <<pass 3>> <<link [[Next|Lake Shallows]]>><<set $eventskip to 1>><</link>> <br> <</if>> <<else>> <<if $rng gte 91 and Weather.precipitation is "rain" and $bestialitydisable is "f" and $voredisable is "f" and $hallucinations gte 2 and $controlled is 0>> Something large surges through the water beneath you. A gaping maw grips your thighs. <br><br> <<link [[Next|Lake Vore]]>><<set $molestationstart to 1>><</link>> <br> <<elseif $rng gte 81 and $swarmdisable is "f">> <<if $slimedisable is "f" and Time.isBloodMoon()>> The water is agitated. Swarms of pale slimes encircle you. <<else>> The water is agitated. Swarms of small fish encircle you. <</if>> <br><br> <<link [[Next|Lake Depths Swarm]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<if Time.dayState is "night" and Weather.precipitation is "rain">> Something brushes your leg and startles you. You look beneath the dark and violent water, but can't see anything. You feel strange. <<garousal>><<arousal 600>><<gstress>><<stress 6>> <br><br> <<else>> Something brushes your leg and startles you. You look beneath the water, but can't see anything. <<garousal>><<arousal 600>><<gstress>><<stress 6>> <br><br> <</if>> <<link [[Next|Lake Depths]]>><<set $eventskip to 1>><</link>> <br> <</if>> <</if>> <</widget>> <<widget "eventlakeice">> <<rng>> <<if wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte random(0, 10)>> <<wHunt "lake">> <<elseif $rng gte 81>> <<dancedifficulty 1 1000 true>> <<if $danceSuccess>> The wind picks up, almost knocking you over, <span class="green">but you manage to keep your footing.</span> <<else>> The wind picks up, <span class="red">and you lose your footing,</span> slipping on the ice. <<if playerIsPregnant() and playerAwareTheyArePregnant()>> Your hands and knees hurt from the hard landing, but at least you were able to protect your <<pregnancyBabyText "pc">>.<<gstress>><<gpain>><<stress 6>><<pain 4>> <</if>> <<gstress>><<gpain>><<stress 6>><<pain 4>> <</if>> <br><br> <<destination_lake_ice>> <<elseif $rng gte 61>> You're struck by a sudden terror. <span class="pink">You feel watched.</span> <<if $laketeenspresent is 1>> The voices of the students fade, until you're alone. <</if>> <br><br> There's something below. <br><br> <<link [[Ignore|Lake Ice Ignore]]>><<def 1>><</link>><<willpowerdifficulty 1 $willpowermax>> <br> <<link [[Look down|Lake Ice Look]]>><</link>> <br> <<elseif $rng gte 41>> You hear a heavy groan. Then another. The ice might be unsafe. <br><br> <<link [[Be careful (0:10)|Lake Ice Careful]]>><<pass 10>><</link>> <br> <<link [[Walk normally|Lake Ice Normal]]>><</link>> <br> <<elseif $rng gte 21>> <<if Weather.precipitation is "snow">> The snow falls heavy, and conceals the trees around the lake. <<if currentSkillValue('history') gte random(1, 1000)>> <span class="green">It soon passes.</span> <br><br> <<else>> Without the trees to orient yourself, <span class="red">you lose your direction,</span> though the heavy snow soon passes.<<gstress 6>> <br><br> <</if>> <<elseif Weather.is("clear")>> <<if Time.dayState is "night">> <<if Time.isBloodMoon()>> The red moon reflects off the ice. Dread stabs at you.<<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <br><br> <<else>> The moon reflects off the ice. It's cold and beautiful.<<lstress>><<stress 6>> <br><br> <</if>> <<else>> The sun's glare reflects off the ice. You shield your eyes. <br><br> <</if>> <<else>> <<if Time.dayState is "night">> The surrounding trees are almost invisible in the dark.<<gstress>><<stress 6>> <br><br> <<else>> <<beastNEWinit 1 fox>> You see a <<beasttype>> rummaging in the dirt at the lake's edge. <<bHis>> ears perk, and <<bhe>> bounds between the trees. <br><br> <<endevent>> <</if>> <</if>> <<destination_lake_ice>> <<else>> You slip on the ice!<<gstress>><<stress 6>> <br><br> <<link [[Brace yourself|Lake Ice Brace]]>><<status -10>><</link>><<if $laketeenspresent is 1 and $bus is "lakeshallows">><<lcool>><</if>><<gstress>> <br> <<link [[Try to stay upright|Lake Ice Stay]]>><</link>><<dancedifficulty 1 600>> <br> <</if>> <</widget>> <<widget "destination_lake_ice">> <<if $bus is "lakedepths">> <<link [[Next|Lake Depths Ice]]>><<set $eventskip to 1>><</link>> <br> <<else>> <<link [[Next|Lake Shallows Ice]]>><<set $eventskip to 1>><</link>> <br> <</if>> <</widget>> <<widget "eventlake">> <<if wraithCanHunt() and $wraith.state and $wraith.hunt is 0 and $wraith.timer gte random(0, 10)>> <<wHunt "lake">> <<elseif $rng gte 81>> <!-- Modified for Monster People --> <<beastNEWinit 1 boar>> You see a <<beasttype>> rifling through litter at the base of a tree. <<bHe>> spots you. <br><br> <<if $monster is 1 or $bestialitydisable is "f">> <<link [[Stand your ground|Lake Boar Stand]]>><</link>> <br> <<link [[Run|Lake Boar Run]]>><</link>><<athleticsdifficulty>> <br> <<else>> You turn and run into the forest. Branches tear at you until you trip and collapse in a heap. You think you got away, but your heart continues to pound.<<beastescape>> <br><br> <<endevent>> <<set $eventskip to 1>> <<destinationlake>> <</if>> <<elseif $rng gte 51>> <<if $wraith.state or $hallucinations gte 1>> You thought you heard someone call your name, but there's no one there. <<gtrauma>><<trauma 3>> <<else>> The wind makes a low howl as it passes through the trees. <<if $awarelevel gte 1>>For a moment, it looks as though the trees are all blowing away from the lake.<</if>> <<gstress>><<stress 1>> <</if>> <br><br> <<set $eventskip to 1>> <<destinationlake>> <<else>> A pair of eyes stares at you from between the trees, then vanishes. <<gstress>><<stress 6>> <br><br> <<set $eventskip to 1>> <<destinationlake>> <</if>> <</widget>> <<widget "meditateoptions">> <<link [[Still your thoughts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 2>><<willpower 1>> <<if $willpower gte (($willpowermax / 7) * 6)>> <<stress -6>><<awareness -2>><<arousal -1200>> <<elseif $willpower gte (($willpowermax / 7) * 5)>> <<stress -6>><<awareness -1>><<arousal -1000>> <<elseif $willpower gte (($willpowermax / 7) * 4)>> <<stress -5>><<awareness -1>><<arousal -800>> <<elseif $willpower gte (($willpowermax / 7) * 3)>> <<stress -4>><<awareness -1>><<arousal -600>> <<elseif $willpower gte (($willpowermax / 7) * 2)>> <<stress -3>><<awareness -1>><<arousal -500>> <<elseif $willpower gte (($willpowermax / 7) * 1)>> <<stress -2>><<awareness -1>><<arousal -400>> <<else>> <<stress -1>><<awareness -1>><<arousal -300>> <</if>> <</link>><<lawareness>><<gwillpower>><<lstress>><<larousal>> <br> <<if $player.penisExist and $insecurity_penis_small gte 1 and $player.penissize lte 1 and $acceptance_penis_small lte 999 and $daily.lakeMeditate isnot 1>> <<link [[Meditate on your small penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to $player.penissize lt 0 ? 4 : 5>><<willpower 1>><<set $daily.lakeMeditate to 1>> <<if $willpower gte (($willpowermax / 7) * 6)>> <<stress 5>><<acceptance "penis_small" 20>> <<elseif $willpower gte (($willpowermax / 7) * 5)>> <<stress 5>><<acceptance "penis_small" 18>> <<elseif $willpower gte (($willpowermax / 7) * 4)>> <<stress 6>><<acceptance "penis_small" 16>> <<elseif $willpower gte (($willpowermax / 7) * 3)>> <<stress 7>><<acceptance "penis_small" 14>> <<elseif $willpower gte (($willpowermax / 7) * 2)>> <<stress 8>><<acceptance "penis_small" 12>> <<elseif $willpower gte (($willpowermax / 7) * 1)>> <<stress 10>><<acceptance "penis_small" 10>> <<else>> <<stress 12>><<acceptance "penis_small" 8>> <</if>> <</link>><<gstress>><<gwillpower>><<gacceptance>> <br> <</if>> <<if $player.penisExist and $insecurity_penis_big gte 1 and $player.penissize gte ($player.gender is "m" ? 4 : 2) and $acceptance_penis_big lte 999 and $daily.lakeMeditate isnot 1>> <<link [[Meditate on your big penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 6>><<willpower 1>><<set $daily.lakeMeditate to 1>> <<if $willpower gte (($willpowermax / 7) * 6)>> <<stress 5>><<acceptance "penis_big" 20>> <<elseif $willpower gte (($willpowermax / 7) * 5)>> <<stress 5>><<acceptance "penis_big" 18>> <<elseif $willpower gte (($willpowermax / 7) * 4)>> <<stress 6>><<acceptance "penis_big" 16>> <<elseif $willpower gte (($willpowermax / 7) * 3)>> <<stress 7>><<acceptance "penis_big" 14>> <<elseif $willpower gte (($willpowermax / 7) * 2)>> <<stress 8>><<acceptance "penis_big" 12>> <<elseif $willpower gte (($willpowermax / 7) * 1)>> <<stress 10>><<acceptance "penis_big" 10>> <<else>> <<stress 12>><<acceptance "penis_big" 8>> <</if>> <</link>><<gstress>><<gwillpower>><<gacceptance>> <br> <</if>> <<if $player.gender is "f" and $insecurity_breasts_small gte 1 and between($player.breastsize, 0, 4) and $acceptance_breasts_small lte 999 and $daily.lakeMeditate isnot 1>> <<link [[Meditate on your small breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to $player.breastsize ? 7 : 8>><<willpower 1>><<set $daily.lakeMeditate to 1>> <<if $willpower gte (($willpowermax / 7) * 6)>> <<stress 5>><<acceptance "breasts_small" 20>> <<elseif $willpower gte (($willpowermax / 7) * 5)>> <<stress 5>><<acceptance "breasts_small" 18>> <<elseif $willpower gte (($willpowermax / 7) * 4)>> <<stress 6>><<acceptance "breasts_small" 16>> <<elseif $willpower gte (($willpowermax / 7) * 3)>> <<stress 7>><<acceptance "breasts_small" 14>> <<elseif $willpower gte (($willpowermax / 7) * 2)>> <<stress 8>><<acceptance "breasts_small" 12>> <<elseif $willpower gte (($willpowermax / 7) * 1)>> <<stress 10>><<acceptance "breasts_small" 10>> <<else>> <<stress 12>><<acceptance "breasts_small" 8>> <</if>> <</link>><<gstress>><<gwillpower>><<gacceptance>> <br> <</if>> <<if $insecurity_breasts_big gte 1 and $player.breastsize gte ($player.gender is "m" ? 1 : 8) and $acceptance_breasts_big lte 999 and $daily.lakeMeditate isnot 1>> <<link [[Meditate on your big breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 9>><<willpower 1>><<set $daily.lakeMeditate to 1>> <<if $willpower gte (($willpowermax / 7) * 6)>> <<stress 5>><<acceptance "breasts_big" 20>> <<elseif $willpower gte (($willpowermax / 7) * 5)>> <<stress 5>><<acceptance "breasts_big" 18>> <<elseif $willpower gte (($willpowermax / 7) * 4)>> <<stress 6>><<acceptance "breasts_big" 16>> <<elseif $willpower gte (($willpowermax / 7) * 3)>> <<stress 7>><<acceptance "breasts_big" 14>> <<elseif $willpower gte (($willpowermax / 7) * 2)>> <<stress 8>><<acceptance "breasts_big" 12>> <<elseif $willpower gte (($willpowermax / 7) * 1)>> <<stress 10>><<acceptance "breasts_big" 10>> <<else>> <<stress 12>><<acceptance "breasts_big" 8>> <</if>> <</link>><<gstress>><<gwillpower>><<gacceptance>> <br> <</if>> <<if $insecurity_pregnancy gte 1 and $acceptance_pregnancy lte 999 and playerBellySize() gte 8 and $daily.lakeMeditate isnot 1>> <<set _pregnancyLink to (playerAwareTheyArePregnant() ? "Meditate on your pregnant belly (1:00)" : "Meditate on your pregnant looking belly (1:00)")>> <<link [[_pregnancyLink|Lake Meditate]]>><<pass 60>><<set $phase to 10>><<willpower 1>><<set $daily.lakeMeditate to 1>> <<if $willpower gte (($willpowermax / 7) * 6)>> <<stress 5>><<acceptance "pregnancy" 20>> <<elseif $willpower gte (($willpowermax / 7) * 5)>> <<stress 5>><<acceptance "pregnancy" 18>> <<elseif $willpower gte (($willpowermax / 7) * 4)>> <<stress 6>><<acceptance "pregnancy" 16>> <<elseif $willpower gte (($willpowermax / 7) * 3)>> <<stress 7>><<acceptance "pregnancy" 14>> <<elseif $willpower gte (($willpowermax / 7) * 2)>> <<stress 8>><<acceptance "pregnancy" 12>> <<elseif $willpower gte (($willpowermax / 7) * 1)>> <<stress 10>><<acceptance "pregnancy" 10>> <<else>> <<stress 12>><<acceptance "pregnancy" 8>> <</if>> <</link>><<gstress>><<gwillpower>><<gacceptance>> <br> <</if>> <<link [[Observe your thoughts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 3>><<willpower 1>> <<if $willpower gte (($willpowermax / 7) * 6)>> <<stress 5>><<awareness 2>> <<elseif $willpower gte (($willpowermax / 7) * 5)>> <<stress 5>><<awareness 1>> <<elseif $willpower gte (($willpowermax / 7) * 4)>> <<stress 6>><<awareness 1>> <<elseif $willpower gte (($willpowermax / 7) * 3)>> <<stress 7>><<awareness 1>> <<elseif $willpower gte (($willpowermax / 7) * 2)>> <<stress 8>><<awareness 1>> <<elseif $willpower gte (($willpowermax / 7) * 1)>> <<stress 10>><<awareness 1>> <<else>> <<stress 12>><<awareness 1>> <</if>> <</link>><<gawareness>><<gstress>><<gwillpower>> <br> <<link [[Stop|Lake Fishing Rock]]>><</link>> <br> <</widget>> <<widget "lakeclothes">> <<if !$possessed>> <br> <<storeactions "lakeshore">> <<wardrobeSelection true>> <<set _store_location to "lakeshore">> <<storeon _store_location "check">> <<if _store_check is 1>> <<set _clothes to clothingInStorage(_store_location)>> <<if _clothes.length gt 0>> <<if _clothes.length gt 2>> Your clothes are lying on the ground behind a rock. <br> <<elseif _clothes.length is 2>> Your _clothes[0].name and _clothes[1].name are lying on the ground behind a rock. <br> <<else>> Your _clothes[0].name is lying on the ground behind a rock. <br> <</if>> <<clothingicon _clothes[0] _clothes[0].slot>><<link [[Put on clothes|$passage]]>><<set $eventskip to 1>><<storeload _store_location>><</link>> <br><br> <</if>> <</if>> //Swimming sets:// <br> <<listswimoutfits $wardrobe_location _store_location true>> <br> <<unset $wearoutfittext>> <</if>> <</widget>> <<widget "destinationlakeruin">> <<switch $bus>> <<case "lakeunderwater">> <<link [[Next|Lake Underwater]]>><<endevent>><<set $eventskip to 1>><</link>> <<case "lake_ruin">> <<link [[Next|Lake Ruin]]>><<endevent>><<set $eventskip to 1>><</link>> <<case "lake_ruin_deep">> <<link [[Next|Lake Ruin Deep]]>><<endevent>><<set $eventskip to 1>><</link>> <<case "lake_ruin_prison">> <<link [[Next|Lake Ruin Prison]]>><<endevent>><<set $eventskip to 1>><</link>> <<default>> <<link [[Next|Lake Ruin Deep]]>><<endevent>><<set $eventskip to 1>><</link>> <</switch>> <br> <</widget>> <<widget "halloween_lake_invite">> <<set $halloween_lake to 1>> <<generates1>><<generates2>>You pass a <<person1>><<person>> <<if $location is "school">> with a stack of flyers tucked under <<his>> arm. <<else>> toting a cooler over <<his>> shoulder. <</if>> At <<his>> side, a <<person2>><<person>> is deep in a phone call. <<He>> mentions a Halloween party. <br><br> <<link [[Enquire|Lake Halloween Invite Inquire]]>><</link>> <br> <<link [[Ignore|Lake Halloween Invite Ignore]]>><</link>> <br> <</widget>><<effects>> <<set $tentacledisable to "f">> <span class="green">You steel your mind, and focus on the portal.</span> A mental barrier inside you breaks. <br><br> <i><span class="lewd">Tentacles are now enabled.</span></i> <br><br> <<link [[Next|Tentacle Forest Entrance]]>><<set $tentacleEntrance to "hookah">><<endevent>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> <<undress "hookah">> <<set $tentacle_forest_lurker to []>> <<set $tentacle_forest_time to 0>> You awaken in a clearing, surrounded by giant tentacles. There are paths between them, snaking out of sight. <br><br> A warm breeze makes your hair stand on end. <span class="lewd">Your clothes are missing.</span> <br><br> <<if $arousal gte 6000>> <<set $arousal to 6000>> <</if>> <span class="red">An orgasm here could be dangerous.</span> <br><br> <<link [[Next|Tentacle Forest]]>><</link>> <br><<set $bus to "tentacle_forest_main">><<effects>> You are in the tentacle forest, in a clearing surrounded by giant tentacles, packed tight. Two viable paths lead away, one ascending, one descending. <br><br> <<tentacle_forest_safe_orgasm>> <<tentacle_forest_time>> <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $stress gte $stressmax>> <<tentacle_forest_stress_scene>> <<elseif $arousal gte 10000 and !$tentacle_forest_lurker.includes("defeated")>> <<tentacle_forest_orgasm_scene>> <<else>> <<link [[Ascend (0:05)|Tentacle Forest Pool]]>><<tentacle_forest_pass 5>><</link>><<note "Move deeper into the forest" "lblue">> <br> <<link [[Descend (0:05)|Tentacle Forest Stream]]>><<tentacle_forest_pass 5>><</link>><<note "Move deeper into the forest" "lblue">> <br><br> <<link [[Climb (0:05)|Tentacle Forest Climb]]>><<tentacle_forest_pass 5>><</link>><<willpowerdifficulty 1 1200>> <br><br> Strange fruits hang from the thinner branches, within reach. <br> <<link [[Eat (0:15)|Tentacle Forest Hands]]>><<tentacle_forest_pass 15>><</link>><<note "+ Hand skill?" "blue">> <br><br> <<link [[Wake up|Tentacle Forest Wake]]>><</link>> <</if>><<effects>> You think about the hookah parlour, and notice you can feel two bodies. One here in the tentacle forest, another lying on a cushion. <br><br> <<tentacle_forest_end_scene>><<effects>> You enter a cave beneath the forest through a fissure in the roof, and land on your <<bottom>> in a shallow pool of pink fluid. <br><br> <<if $tentacle_forest_lurker.includes("defeated")>> You struggle to your feet. <span class="green">No creature emerges to greet you.</span> You climb the wall, and escape through a fissure in the ceiling. <br><br> <<link [[Next|Tentacle Forest]]>><</link>> <br> <<else>> A bulbous creature the size of a car squirms across the ceiling. It has no eyes, nor any other outward feature, save a gigantic maw. A large tongue emerges, tastes the air. The creature <span class="purple">lurches in your direction.</span> <br><br> <<if !$tentacle_forest_lurker.includes("hide")>> <<set $skulduggerydifficulty to 500>> <<link [[Hide under the fluid|Tentacle Forest Orgasm Hide]]>><<set $skulduggerydifficulty to 500>><</link>><<skulduggerydifficulty 500>> <br> <</if>> <<if !$tentacle_forest_lurker.includes("run")>> <<link [[Run|Tentacle Forest Orgasm Run]]>><</link>><<athleticsdifficulty 1 800>> <br> <</if>> <<if !$tentacle_forest_lurker.includes("scare")>> <<link [[Scare|Tentacle Forest Orgasm Scare]]>><</link>><<willpowerdifficulty 1 800>> <br> <</if>> <<set $skulduggerydifficulty to 1000>> <<link [[Lay an ambush|Tentacle Forest Orgasm Ambush]]>><<set $skulduggerydifficulty to 1000>><</link>><<skulduggerydifficulty>> <br> <</if>><<effects>> You dive beneath the fluid, hoping it will mask your scent. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> The creature drops from the ceiling, landing in the thick liquid and sending a wave that lifts you, <span class="green">but you remain submerged.</span> <br><br> You hear the creature squirm away, but hold your breath for a while longer to be on the safe side. <br><br> <<if $skulduggery lte ($skulduggerydifficulty + 100)>> <<skulduggeryskilluse>> <<else>> <span class="blue">That was too easy. You didn't learn anything.</span> <br><br> <</if>> <i>The creature won't be fooled by that a second time. Another orgasm could be dangerous.</i> <<set $tentacle_forest_lurker.pushUnique("hide")>> <br><br> You emerge from the goop, and look around. A slope leads up one of the rocky walls, leading to a crack in the ceiling. You climb it, and emerge in the tentacle forest. <br><br> <<link [[Next|Tentacle Forest]]>><</link>> <br> <<else>> The creature drops from the ceiling, landing in the thick liquid and sending a wave that <span class="red">lifts you clear from the goop.</span> The creature picks up your scent, and heads your way. <br><br> <<if $skulduggery lte ($skulduggerydifficulty + 100)>> <<skulduggeryskilluse>> <<else>> <span class="blue">That was too easy. You didn't learn anything.</span> <br><br> <</if>> <<link [[Next|Tentacle Forest Orgasm Defeat]]>><</link>> <br> <</if>><<effects>> You turn and run as fast as the thick fluid allows, each step kicking forth dollops of the stuff. The cave shakes as the creature drops to the floor. You hear it squirming after you, but dare not spare a glance. <br><br> There's a fissure in the ceiling up ahead. You should be able to reach the nearby rocks and climb up, but you hear the creature gaining ground. It slams against the floor once again, close enough that the ground shakes with a violent quake, <<if $athleticsSuccess>> <span class="green">but you manage to keep your footing.</span> <br><br> You clamber up the rocks and squeeze through the fissure, emerging back in the tentacle forest. It's much too tight for the creature to follow. <br><br> <<set $tentacle_forest_lurker.pushUnique("run")>> <i>The creature has learned of your strengths. Running won't work a second time. Another orgasm could be dangerous.</i> <br><br> <<link [[Next|Tentacle Forest]]>><</link>> <br> <<else>> <span class="red">sending you tumbling off your feet.</span> <br><br> <<link [[Next|Tentacle Forest Orgasm Defeat]]>><</link>> <br> <</if>><<effects>> <<if $willpowerSuccess>> You charge at the creature, kicking great sloshes of fluid ahead of you. <span class="green">Your aggression startles the creature,</span> and it squirms away in fright. <br><br> <<set $tentacle_forest_lurker.pushUnique("scare")>> <i>The creature is inured to your tricks. Scaring it won't work a second time.</i> <br><br> You climb the side of the cave, up to a fissure in the ceiling, and emerge in the tentacle forest. <br><br> <<link [[Next|Tentacle Forest]]>><</link>> <br> <<else>> You charge at the creature, <span class="red">but the thick fluid slows you,</span> and you lose the element of surprise.<<gwillpower>><<willpower 3>> <br><br> It drops from the ceiling mere feet from you, sending a wave of fluid that knocks you on your <<bottom>>. <br><br> <<link [[Next|Tentacle Forest Orgasm Defeat]]>><</link>> <br> <</if>><<effects>> You jump beneath the fluid, and thrash around like a wounded animal. The creature drops from the ceiling, making the ground quake, and squirms closer. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<earnFeat "Lurker Beyond">> You wait, continuing to flail and watching for any sign of weakness. <span class="green">Then you notice a pattern in its movements.</span> It licks the air constantly, tasting you, but stops whenever it shifts direction. It's masked by the chaotic squirming, but it can't move and turn at the same time. <br><br> Its maw is mere feet away. You launch yourself into motion, running around the creature's side. It turns as fast as it can, but far too slow for you. You're able to stay right behind it, where its body tapers into a tail. <br><br> A thought strikes you. An impossible thought. But why not? <br><br> You grasp the tail with one hand and, with little required strength, hurl the creature across the cave. It collides with a wall, explodes, and showers the room with more fluid. <br><br> The creature defeated, there's nothing stopping you from climbing to a fissure in the ceiling, and returning to the forest. <br><br> <span class="green"><i>The creature won't bother you again, should you have another orgasm.</i></span> <br><br> <<set $tentacle_forest_lurker.pushUnique("defeated")>> <<if $skulduggery lte ($skulduggerydifficulty + 100)>> <<skulduggeryskilluse>> <<else>> <span class="blue">That was too easy. You didn't learn anything.</span> <br><br> <</if>> <<link [[Next|Tentacle Forest]]>><</link>> <br> <<else>> You watch for any sign of weakness. The only discernible feature is that maw. Is it a weak spot? <br><br> <span class="red">There's no time to decide,</span> it's on you already. You lunge, fist first, at the creature. Your impotent blow is deflected by its rubbery hide, and the force knocks you on your <<bottom>>. <br><br> <<if $skulduggery lte ($skulduggerydifficulty + 100)>> <<skulduggeryskilluse>> <<else>> <span class="blue">That was too easy. You didn't learn anything.</span> <br><br> <</if>> <<link [[Next|Tentacle Forest Orgasm Defeat]]>><</link>> <br> <</if>><<effects>> <<if $voredisable is "f">> The creature scoops you face-first with its maw, lifts you into the air, and lets gravity slide you deeper. You push against the sides of its mouth for purchase, and stop it from sucking you any deeper than your waist. <br><br> A faint pink light illuminates the interior. The creature's tongue squirms over your face, then <<breasts>>. It slides between your body and its lip, squirming over your <<genitals>> and between your thighs until it licks your <<bottom>>.<<gggarousal>><<arousal 3000>> <br><br> Hooked between your thighs, the tongue tries to draw you deeper. <br><br> <<link [[Next|Tentacle Forest Orgasm Defeat 2]]>><</link>> <br> <<else>> The creature bares down on you, but then halts in its tracks. <span class="blue">Something is coming for you.</span> You feel it. The creature feels it too, and flees deeper into the cave. <br><br> Time parts to allow the newcomer's passage. It whirls around you, unravelling this reality. <br><br> <<link [[Next|Flats Hookah End]]>><<tentacleworldend>><</link>> <br> <</if>><<effects>> The creature squeezes your bottom with its mouth as it pulls you deeper. You feel about for anything you can grasp, but the best you can find is a fleshy uvula hanging above. <br><br> Your raised arms leave your <<breasts>> exposed. Two tentacles emerge from deeper within the creature, snaking towards you. <br><br> <<link [[Cover your chest|Tentacle Forest Orgasm Defeat Cover]]>><</link>> <br> <<link [[Cling|Tentacle Forest Orgasm Defeat Cling]]>><</link>> <br><<effects>> You cover your <<breasts>>, saving them from the tentacles' attentions. Without your grasp on the uvula however, the tongue forces you the rest of the way into the creature's mouth, and down its gullet. <br><br> The walls press in, trapping you completely. They squeeze to a peculiar rhythm, pushing you deeper. Apertures on the walls squirt you with a sweet-smelling liquid, while others produce tendrils that grope and squirm, <span class="pink">leaving you more sensitive.</span><<genital_sensitivity 0.5>> <br><br> It's too much for you. You pass out. <br><br> <<link [[Next|Flats Hookah End]]>><<passout>><<tentacleworldend>><</link>> <br><<effects>> You cling to the uvula, preventing the creature from pulling you any deeper, but allowing the tentacles to snake over and latch onto your <<breasts>>. <br><br> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> They squeeze, sucking milk from your erect buds as the tongue pushes against your <<bottom>>. <<set $milk_produced_stat += 800>> <<milk_amount -800>> <<else>> They squeeze and knead your flesh as the tongue pushes against your <<bottom>>. <</if>> <br><br> It's too much for you. You pass out. <br><br> <<link [[Next|Flats Hookah End]]>><<passout>><<tentacleworldend>><</link>> <br><<effects>> Up close, the large tentacles are marked with deep rivets and gnarled with thick bumps. Enough for you to find purchase, and ascend. <br><br> <<if $willpowerSuccess>> <span class="green">The tentacles seem to twist and bend themselves to make your passage easier.</span> With their help, you're able to ascend high above the forest floor. <br><br> The tentacles taper near the top, letting you see through the landscape beyond. The forest stretches far, but a faint mist hangs in the air, swallowing the horizon. <br><br> <<link [[Next|Tentacle Forest Climb 2]]>><</link>> <br> <<else>> However, <span class="red">the tentacles revolt against your effort.</span> They twist and turn, making every inch an ordeal, until your fingers slip and you fall to the ground. It's fortunate you didn't get very high.<<gpain>><<pain 4>><<gwillpower>><<willpower 3>> <br><br> <<link [[Next|Tentacle Forest]]>><</link>> <br> <</if>><<effects>> The ground slopes below, ascending and descending. Ascending, you see a glimmering pool. Beyond is another clearing, covered in small, white-tipped tentacles, and beyond that is a great gate. Even from here, you can make out a gigantic lock. <br><br> In the opposite direction runs a stream, descending and turning. Small shapes leap from the surface. It runs into a clearing filled with wide-petalled flowers. They move to an unnatural rhythm. <br><br> The stream continues, and disappears down a ravine. Tentacles rise from its depths, as tall as the giant you cling to, but much thinner. The mist seems thicker here. <<if $tentacle_forest_key isnot 1>>One of the tentacles wraps around a metal object.<</if>> <br><br> <<link [[Next|Tentacle Forest Climb 3]]>><</link>> <br><<effects>> You climb to the forest floor. The tentacle bends lower as you near, and you hop down. <br><br> <<link [[Next|Tentacle Forest]]>><</link>> <br><<set $bus to "tentacle_forest_stream">><<effects>> You are in the tentacle forest, beside a rushing stream. You can't see the bottom, and strange, slug-like creatures hop from the surface. It crashes down a waterfall on one edge of the clearing, and disappears between tentacles opposite. <br><br> <<tentacle_forest_safe_orgasm>> <<tentacle_forest_time>> <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $town_projects.bridge gte 5>> <<if $slugdisable is "f">> The bridge waits for you to cross. The leaping slugs might be a problem, however. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $stress gte $stressmax>> <<tentacle_forest_stress_scene>> <<elseif $arousal gte 10000 and !$tentacle_forest_lurker.includes("defeated")>> <<tentacle_forest_orgasm_scene>> <<else>> <<if $tentacle_forest_stream is undefined>> <<set $tentacle_forest_stream to 5>> <</if>> <<switch $tentacle_forest_stream>> <<case 5>> <span class="pink">The stream is teeming with leaping slugs.</span> <<case 4>> <span class="purple">The stream is still full of leaping slugs.</span> <<case 3>> <span class="blue">Your efforts have reduced the population, but many slugs still leap from the surface.</span> <<case 2>> <span class="lblue">The stream is significantly emptier than when you found it, but several slugs still burst from the surface here and there.</span> <<case 1>> <span class="teal">The stream is almost clear, save the occasional, solitary slug.</span> <<default>> <span class="green">The stream is free of slugs.</span> <</switch>> <br><br> <<if $tentacle_forest_stream gte 1>> <<link [[Catch some slugs from the shore, making it safer to cross (0:05)|Tentacle Forest Stream Catch]]>><<tentacle_forest_pass 5>><</link>><<tendingdifficulty 1 400>> <br> <</if>> <<set _stream_difficulty to 300 * $tentacle_forest_stream>> <<link [[Cross as fast as you can (0:05)|Tentacle Forest Stream Fast]]>><<tentacle_forest_pass 5>><</link>><<athleticsdifficulty 1 _stream_difficulty>><<note "Move deeper into the forest" "lblue">> <br> <<link [[Cross slowly, ready to fend off any slugs that come your way (0:05)|Tentacle Forest Stream Slow]]>><<tentacle_forest_pass 5>><</link>><<willpowerdifficulty 1 _stream_difficulty>><<note "Move deeper into the forest" "lblue">> <br><br> <<if $footdisable is "f">> Some of the fatter slugs have washed up on shore, and struggle to make it back to the stream. <br> <<link [[Step on them (0:15)|Tentacle Forest Feet]]>><<tentacle_forest_pass 15>><</link>><<note "+ Feet Skill?" "blue">> <br><br> <</if>> <<link [[Return to your arrival point (0:05)|Tentacle Forest]]>><<tentacle_forest_pass 5>><</link>> <br> <</if>> <<else>> You'll need to take it very slowly however, or risk being swept away. <br><br> <<link [[Cross|Tentacle Forest Stream Safe]]>><<tentacle_forest_pass 20>><<arousal 2000>><</link>><<ggarousal>> <br><br> <<if $footdisable is "f">> Some of the fatter slugs have washed up on shore, and struggle to make it back to the stream. <br> <<link [[Step on them (0:15)|Tentacle Forest Feet]]>><<tentacle_forest_pass 15>><</link>><<note "+ Feet skill?" "blue">> <br><br> <</if>> <<link [[Return to your arrival point (0:05)|Tentacle Forest]]>><<tentacle_forest_pass 5>><</link>> <br> <</if>> <<elseif $town_projects.bridge is 4>> <<set $town_projects.bridge to 5>> A bridge has appeared beneath the water, connecting the ruined pillars. It's built low, the water rushes over it and crossing will still be difficult, <span class="green">but it's now possible.</span> <br><br> <<link [[Next|Tentacle Forest Stream]]>><</link>> <br> <<else>> <<if $town_projects.bridge is undefined>> <<set $town_projects.bridge to 1>> <</if>> Two pillars on each side suggest there used to be a bridge here, but no longer. You kick a loose tentacle into the churning water. It's dragged under at once, and does not resurface. Crossing will be impossible, <span class="blue">for now.</span> <br><br> <<if $footdisable is "f">> Some of the fatter slugs have washed up on shore, and struggle to make it back to the stream. <br> <<link [[Step on them (0:15)|Tentacle Forest Feet]]>><<tentacle_forest_pass 15>><</link>><<note "+ Feet Skill?" "blue">> <br><br> <</if>> <<link [[Turn back|Tentacle Forest]]>><</link>> <br> <</if>><<effects>><<wearProp "tenta slug">> You kneel beside the stream and watch for the slugs squirming beneath the surface. <<if $tendingSuccess>> <span class="green">You snatch one from the water.</span> It's a thick, weighty and squirmy thing. You throw it between the giant tentacles behind you, then snatch another. <br><br> You soon have the population significantly reduced. <<set $tentacle_forest_stream -= 1>> <br><br> <<link [[Next|Tentacle Forest Stream]]>><<handheldon>><</link>> <br> <<else>> You snatch one from the water, <span class="red">but it squirms from your grasp and crawls up your arm.</span> You try to grasp it, but it leaps onto your breasts, slithers over your <<genitals>>, then leaps back into the stream.<<garousal>><<arousal 1000>> <br><br> <<link [[Next|Tentacle Forest Stream]]>><<handheldon>><</link>> <br> <</if>><<effects>> <<if $athleticsSuccess>> You run across the river as fast as you can. The slugs leap at you, <span class="green">but you weave between them,</span> and make it to the other side. <br><br> <<link [[Next|Tentacle Forest Flowers]]>><</link>> <br> <<else>> You run across the river as fast as you can. A slug leaps at you, <span class="red">slamming into your waist and knocking you off balance.</span> You trip and tumble into the stream. <br><br> You avoid being swept away, but more slugs leap from the water. <br><br> <<link [[Next|Tentacle Forest Stream Struggle]]>><<set $struggle_start to 1>><</link>> <br> <</if>><<effects>> <<if $willpowerSuccess>> You walk across the stream, watching the water with care. Slugs leap from the surface, straight at you, <span class="green">but you swat them aside with your fists.</span> <br><br> You make it to the other side, leaving a trail of defeated slugs in your wake. <br><br> <<link [[Next|Tentacle Forest Flowers]]>><</link>> <br> <<else>> You walk across the stream, watching the water with care. Slugs leap from the surface, straight at you. You try to bash them aside with your fists, <span class="red">but there are too many.</span> You tumble into the stream.<<gwillpower>><<willpower 3>> <br><br> You avoid being swept away, but more slugs leap from the water. <br><br> <<link [[Next|Tentacle Forest Stream Struggle]]>><<set $struggle_start to 1>><</link>> <br> <</if>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "slug">> <<struggle_creatures 2 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<set $timer to 20>> <<unset $struggle_start>> <</if>> <<if $tentacle_forest_stream is 5 and $timer is 1 or $tentacle_forest_stream is 4 and $timer is 5 or $tentacle_forest_stream is 3 and $timer is 9 or $tentacle_forest_stream is 2 and $timer is 14 or $tentacle_forest_stream is 1 and $timer is 18>> <<struggle_add 1 1>>/*Adds more creatures, with a specific health.*/ <span class="pink">Another creature attacks!</span> <br><br> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Tentacle Forest Stream Struggle End]]>><</link>></span> <br> <<elseif $orgasmdown gte 1>> <span id="next"><<link [[Next|Tentacle Forest Stream Struggle End 2]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Tentacle Forest Stream Struggle]]>><</link>></span> <br> <</if>><<effects>> With the last slug driven away, the others seem too fearful to approach. You make it to the other side of the river. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Flowers]]>><</link>> <br><<effects>> The orgasm wracks you, leaving you to be swept away by the water. Instead of taking advantage of your vulnerability however, the slugs flee upstream. <br><br> The ground quakes, and ruptures. Tentacles burst through, moving in a violent, directed fashion. Directed at you. <br><br> They seize your limbs before your orgasm subsides, and drag you below. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Orgasm]]>><</link>> <br><<effects>> You put one foot in front of the other, making sure you have firm purchase before continuing. The river is wide, but you manage to make it to the other side without issue. <br><br> <<link [[Next|Tentacle Forest Flowers]]>><</link>> <br><<set $bus to "tentacle_forest_flowers">><<effects>> You are in the tentacle forest, in a clearing full of fleshlike flowers. The petals always face you, following. They spray a purple mist if you draw too close. <br><br> <<tentacle_forest_safe_orgasm>> <<tentacle_forest_time>> <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $town_projects.road gte 5>> A road runs across the clearing, providing the safest route across. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $stress gte $stressmax>> <<tentacle_forest_stress_scene>> <<elseif $arousal gte 10000 and !$tentacle_forest_lurker.includes("defeated")>> <<tentacle_forest_orgasm_scene>> <<else>> <<link [[Run (0:05)|Tentacle Forest Flowers Run]]>><<tentacle_forest_pass 5>><</link>><<willpowerdifficulty 1 1000>><<note "Move deeper into the forest" "lblue">> <br> <<link [[Cross while singing (0:05)|Tentacle Forest Flowers Sing]]>><<tentacle_forest_pass 5>><</link>><<tendingdifficulty 1 1000>><<note "Move deeper into the forest" "lblue">> <br><br> Vines hang around the edge of the clearing, dripping a sickly sweet nectar. <<if $backgroundTraits.includes("plantlover") and $nectar_timer lte 14>> You sniff it and frown. It's not the nectar you're addicted to; this won't satisfy your cravings. <</if>> <br> <<link [[Suck (0:15)|Tentacle Forest Oral]]>><<tentacle_forest_pass 15>><</link>><<note "+ Oral Skill?" "blue">> <br><br> <<link [[Return to your arrival point (0:05)|Tentacle Forest]]>><<tentacle_forest_pass 5>><</link>> <br> <</if>> <<elseif $town_projects.road gte 4>> <<set $town_projects.road to 5>> A road of thick pink glass bricks has appeared, connecting one side of the clearing to the other. A haze lingers over it, <span class="green">but crossing should now be possible.</span> <br><br> <<link [[Next|Tentacle Forest Flowers]]>><</link>> <br> <<else>> Just a whiff of fragrance sends your head spinning, and it's too far for anyone to hold their breath. <span class="blue">You'll need to find another solution.</span> <<if $town_projects.road is undefined>> <<set $town_projects.road to 1>> <</if>> <br><br> Vines hang around the edge of the clearing, dripping a sickly sweet nectar. <<if $backgroundTraits.includes("plantlover") and $nectar_timer lte 14>> You sniff it and frown. It's not the nectar you're addicted to; this won't satisfy your cravings. <</if>> <br> <<link [[Suck (0:15)|Tentacle Forest Oral]]>><<tentacle_forest_pass 15>><</link>><<note "+ Oral Skill?" "blue">> <br><br> <<link [[Turn back|Tentacle Forest]]>><</link>> <br> <</if>><<effects>> You run down the road, winding around patches of sweet-smelling flowers. Their pollen assaults your senses, even kept at bay by the road. <<garousal>><<arousal 600>><<hallucinogen 120>> <br><br> <<if $willpowerSuccess>> You feel lightheaded, <span class="green">but remain focused on your task,</span> and reach the other side. You continue through the forest. <br><br> <<link [[Next|Tentacle Forest Cliff]]>><</link>> <br> <<else>> You feel lightheaded, <span class="red">and stumble to the ground.</span> You try to crawl the rest of the way, but tentacles snake to enwrap you. <br><br> <<link [[Next|Tentacle Forest Flowers Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> You hum as you walk, soothing the sweet-smelling flowers. Their pollen assaults your senses, even kept at bay by the road. <<garousal>><<arousal 600>><<hallucinogen 120>> <br><br> <<if $tendingSuccess>> A gentle tune comes to mind. <span class="green">The flowers close their petals</span> when they hear it. You make it to the other side of the clearing. <br><br> <<link [[Next|Tentacle Forest Cliff]]>><</link>> <br> <<else>> The flower petals droop at the sound of your voice, <span class="red">but the haze only deepens,</span> making you more lightheaded, until you stumble and fall. <br><br> Tentacles snake to enwrap you before you can begin to stand. <br><br> <<link [[Next|Tentacle Forest Flowers Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<molested>> <<controlloss>> <<tentaclestart 8 16>> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $orgasmdown gte 1>> <span id="next"><<link [[Next|Tentacle Forest Flowers Tentacles Finish 2]]>><</link>></span><<nexttext>> <<elseif $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Tentacle Forest Flowers Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Tentacle Forest Flowers Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> You struggle free from the writhing tentacles, and make it the rest of the way through the clearing. <br><br> <<tearful>> you walk further into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Cliff]]>><</link>> <br><<effects>> The orgasm wracks you, leaving you at the mercy of the tentacles. The ground quakes, and ruptures. More tentacles burst through, moving in a violent, directed fashion. Directed at you. <br><br> They seize your limbs before your orgasm subsides, and drag you below. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Orgasm]]>><</link>> <br><<set $bus to "tentacle_forest_cliff">><<effects>> You are in the tentacle forest, at the edge of a great fissure in the ground. A wall of thin tentacles rises from the depths. In the distance, a vast plain stretches on as far as you can see. The closer you try to look, the further it seems to stretch. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $town_projects.diving gte 5>> A staircase, carved from rock, descends along the edge. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $stress gte $stressmax>> <<tentacle_forest_stress_scene>> <<elseif $arousal gte 10000 and !$tentacle_forest_lurker.includes("defeated")>> <<tentacle_forest_orgasm_scene>> <<else>> <<if $tentacle_forest_key isnot 1>> <<link [[Retrieve the object (0:05)|Tentacle Forest Cliff Key]]>><<tentacle_forest_pass 5>><</link>> <br><br> <</if>> Some of the tentacles beckon, challenging you. <br> <<link [[Wrestle (0:15)|Tentacle Forest Chest]]>><<tentacle_forest_pass 15>><</link>><<note "+ Chest Skill?" "blue">> <br><br> <<link [[Return to your arrival point (0:05)|Tentacle Forest]]>><<tentacle_forest_pass 5>><</link>> <br> <</if>> <<elseif $town_projects.diving gte 4>> <<set $town_projects.diving to 5>> A staircase has appeared, carved from rock, <span class="green">descending the cliff.</span> <br><br> You see a glint of light. One of the tentacles clutches an object, far below. <br><br> <<link [[Next|Tentacle Forest Cliff]]>><</link>> <br> <<else>> You peer down the edge, and see a glint of light. One of the tentacles clutches an object, far below. However, there's no way you could climb down such a sheer cliff. <span class="blue">You'll need to find another solution.</span> <<if $town_projects.diving is undefined>> <<set $town_projects.diving to 1>> <</if>> <br><br> Some of the tentacles beckon, challenging you. <br> <<link [[Wrestle (0:15)|Tentacle Forest Chest]]>><<tentacle_forest_pass 15>><</link>><<note "+ Chest Skill?" "blue">> <br><br> <<link [[Turn back|Tentacle Forest]]>><</link>> <br> <</if>><<effects>> <<set $tentacle_forest_key to 1>> You walk down the steps. You draw close enough to the object to see that it's a thick key, made from silver metal. The colour is out of place here. <br><br> You reach over a short gap. The tentacle gives up the key without a struggle. <br><br> <<link [[Return to your arrival point|Tentacle Forest]]>><</link>> <br><<set $bus to "tentacle_forest_pool">><<effects>> You are in the tentacle forest, beside a glimmering pool. The ripples reflect a rainbow of colour. <br><br> <<tentacle_forest_safe_orgasm>> <<tentacle_forest_time>> <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $town_projects.thicket gte 5>> The water is placid, but innumerable eyes stare up at you. You'll have to be careful. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $stress gte $stressmax>> <<tentacle_forest_stress_scene>> <<elseif $arousal gte 10000 and !$tentacle_forest_lurker.includes("defeated")>> <<tentacle_forest_orgasm_scene>> <<else>> <<link [[Paddle (0:05)|Tentacle Forest Pool Focus]]>><<tentacle_forest_pass 5>><</link>><<willpowerdifficulty 1 1000>><<note "Move deeper into the forest" "lblue">> <br> <<link [[Swim (0:05)|Tentacle Forest Pool Swim]]>><<tentacle_forest_pass 5>><</link>><<swimmingdifficulty 1 1000>><<note "Move deeper into the forest" "lblue">> <br><br> Large lily pads float around the gentle edge of the pool. They look able to support your weight. <br> <<link [[Sit (0:15)|Tentacle Forest Bottom]]>><<tentacle_forest_pass 15>><</link>><<note "+ Bottom Skill?" "blue">> <br><br> <<link [[Return to your arrival point (0:05)|Tentacle Forest]]>><<tentacle_forest_pass 5>><</link>> <br> <</if>> <<elseif $town_projects.thicket gte 4>> <<set $town_projects.thicket to 5>> You peer into the pool. The eyes are still there, but the water is placid, and gentle. <span class="green">Crossing should now be possible.</span> <br><br> <<link [[Next|Tentacle Forest Pool]]>><</link>> <br> <<else>> There's another path on the other side, but there's no way to cross without swimming. You peer beneath the surface. Innumerable eyes greet your gaze, and the water whirls in a violent torrent. <span class="blue">You'll need to find another solution.</span> <<if $town_projects.thicket is undefined>> <<set $town_projects.thicket to 1>> <</if>> <br><br> Large lily pads float around the gentle edge of the pool. They look able to support your weight. <br> <<link [[Sit (0:15)|Tentacle Forest Bottom]]>><<tentacle_forest_pass 15>><</link>><<note "+ Bottom Skill?" "blue">> <br><br> <<link [[Turn back|Tentacle Forest]]>><</link>> <br> <</if>><<effects>> <<water>> You paddle across the pool. You feel the eyes below, leering at your unprotected nudity, <<if $willpowerSuccess>> <span class="green">but you manage to resist looking down.</span> You reach the other side of the pool, and continue deeper into the forest. <br><br> <<link [[Next|Tentacle Forest Plants]]>><</link>> <br> <<else>> <span class="red">and can't resist glancing down.</span> As their gaze meets yours, tentacles surge from the depths. <br><br> <<link [[Next|Tentacle Forest Pool Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> <<water>> You swim across the pool, disturbing the eyes below. Tentacles surge from the depths, <<if $swimmingSuccess>> trailing behind you, <span class="green">but you manage to outpace them.</span> <br><br> You make it to the other side of the pool, and continue deeper into the forest. <br><br> <<link [[Next|Tentacle Forest Plants]]>><</link>> <br> <<else>> trailing behind. <span class="red">A couple wrap around your ankles,</span> slowing you long enough for others to catch up. <br><br> <<link [[Next|Tentacle Forest Pool Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<molested>> <<controlloss>> <<tentaclestart 8 16>> <</if>> <<water>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $orgasmdown gte 1>> <<link [[Next|Tentacle Forest Pool Tentacles Finish 2]]>><</link>> <br> <<elseif $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Tentacle Forest Pool Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Tentacle Forest Pool Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> You struggle free from the writhing tentacles, and make it the rest of the way across the pool. <br><br> <<tearful>> you walk further into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Plants]]>><</link>> <br><<effects>> The orgasm wracks you, leaving you at the mercy of the tentacles. The water swirls in a violent whirlpool, and drags you below. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Orgasm]]>><</link>> <br><<set $bus to "tentacle_forest_plants">><<effects>> You are in the tentacle forest, in a clearing full of shoulder-high tentacles. They're dark purple at the base, and become paler towards the top. They give the impression of long grass. <br><br> <<tentacle_forest_safe_orgasm>> <<tentacle_forest_time>> <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $town_projects.green gte 5>> Some of the tentacles are tall enough to climb, but you'll need to be careful. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $stress gte $stressmax>> <<tentacle_forest_stress_scene>> <<elseif $arousal gte 10000 and !$tentacle_forest_lurker.includes("defeated")>> <<tentacle_forest_orgasm_scene>> <<else>> <<link [[Swing (0:05)|Tentacle Forest Plants Swing]]>><<tentacle_forest_pass 5>><</link>><<willpowerdifficulty 1 1000>><<note "Move deeper into the forest" "lblue">> <br> <<link [[Climb (0:05)|Tentacle Forest Plants Climb]]>><<tentacle_forest_pass 5>><</link>><<athleticsdifficulty 1 1000>><<note "Move deeper into the forest" "lblue">> <br><br> Similar, taller tentacles rise either side of you, climbing high enough to weave between the thicker tentacles around the clearing. They bend low to the ground. <br> <<link [[Shimmy (0:15)|Tentacle Forest Thighs]]>><<tentacle_forest_pass 15>><</link>><<note "+ Thigh Skill?" "blue">> <br><br> <<link [[Return to your arrival point (0:05)|Tentacle Forest]]>><<tentacle_forest_pass 5>><</link>> <br> <</if>> <<elseif $town_projects.green gte 4>> <<set $town_projects.green to 5>> Some of the tentacles have grown to prodigious size. They bend under their own weight, many low enough to reach. <span class="green">Crossing should now be possible.</span> <br><br> <<link [[Next|Tentacle Forest Plants]]>><</link>> <br> <<else>> You try to push between them, but they're much sturdier than they look, and push against you. They form an impassable barrier. <span class="blue">You'll need to find another solution.</span> <<if $town_projects.green is undefined>> <<set $town_projects.green to 1>> <</if>> <br><br> Similar, taller, tentacles rise either side of you, climbing high enough to weave between the thicker tentacles around the clearing. They bend low to the ground. <br> <<link [[Shimmy (0:15)|Tentacle Forest Thighs]]>><<tentacle_forest_pass 15>><</link>><<note "+ Thigh Skill?" "blue">> <br><br> <<link [[Turn back|Tentacle Forest]]>><</link>> <br> <</if>><<effects>> You take a great leap, hurtling through the air and grasping the nearest hanging tentacle. <<if $willpowerSuccess>> You use the momentum, and hurl yourself to the next, then the next, <span class="green">until you've crossed the whole field.</span> You continue deeper into the forest. <br><br> <<link [[Next|Tentacle Forest Door]]>><</link>> <br> <<else>> You hesitate, considering what to do next, <span class="red">and your fingers slip.</span> <br><br> You fall onto a bed of writhing tentacles. <br><br> <<link [[Next|Tentacle Forest Plants Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> You climb the gnarled trunk of the nearest tentacle. It bends towards another. There's a bit of a gap, <<if $athleticsSuccess>> <span class="green">and you manage to leap across.</span> You travel across the field from tentacle to tentacle, until you arrive on the other side. <br><br> <<link [[Next|Tentacle Forest Door]]>><</link>> <br> <<else>> <span class="red">and your fingers slip.</span> You slide onto a bed of writhing tentacles. <br><br> <<link [[Next|Tentacle Forest Plants Tentacles]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<molested>> <<controlloss>> <<tentaclestart 8 15>> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $orgasmdown gte 1>> <span id="next"><<link [[Next|Tentacle Forest Plants Tentacles Finish 2]]>><</link>></span><<nexttext>> <<elseif $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Tentacle Forest Plants Tentacles Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Tentacle Forest Plants Tentacles]]>><</link>></span><<nexttext>> <</if>><<effects>> You struggle free from the writhing tentacles, and fall to the ground. You've made it across the field. <br><br> <<tearful>> you walk further into the forest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Door]]>><</link>> <br><<effects>> The orgasm wracks you, leaving you at the mercy of the tentacles. The ground quakes, and ruptures. More tentacles burst through, moving in a violent, directed fashion. Directed at you. <br><br> They seize your limbs before your orgasm subsides, and drag you below. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Forest Orgasm]]>><</link>> <br><<set $bus to "tentacle_forest_door">><<effects>> You are in the tentacle forest, stood before a gigantic stone door. Despite the size of its frame, the keyhole is tiny, and within reach. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $tentacle_forest_key is 1>> <<if $hookah_plot gte 1>> <<link [[Enter|Tentacle Forest Prison]]>><</link>> <br> <<else>> <span class="green">The key you found down the ravine will fit.</span> <br><br> <<link [[Enter|Tentacle Forest Quinn]]>><</link>> <br> <</if>> <<link [[Return to entrance|Tentacle Forest]]>><</link>> <br> <<else>> <<link [[Return to entrance|Tentacle Forest]]>><</link>> <br> <</if>><<set $bus to "tentacle_forest_prison">><<effects>> The door unlocks with a click. You pull it open, and brace to stop the sour wind from knocking you over. <br><br> You enter the tunnel, bathed in purple light. Other corridors lead away from this one, their walls etched with strange symbols. <br><br> <<if $tentacle_forest_time gte 60>> <<tentacle_forest_end_scene>> <<elseif $stress gte $stressmax>> <<tentacle_forest_stress_scene>> <<elseif $arousal gte 10000 and !$tentacle_forest_lurker.includes("defeated")>> <<tentacle_forest_orgasm_scene>> <<else>> <<if $analdisable is "f">> <<link [[Decypher (0:15)|Tentacle Forest Anal]]>><<tentacle_forest_pass 15>><</link>><<note "+ Anal Skill?" "blue">> <br> <</if>> <<link [[Return to arrival point|Tentacle Forest]]>><</link>> <br> <</if>><<effects>> The door unlocks with a click. You pull it open, and a sour wind throws it the rest of the way, knocking you to the ground. <br><br> Inside is a tunnel, bathed in a dim purple light. You see movement in the distance, but it's too far to make out. <br><br> You enter, passing corridors leading away from the main tunnel, but the movement in the distance beckons you on. <br><br> <<link [[Next|Tentacle Forest Quinn 2]]>><</link>> <br><<effects>> <<set $hookah_plot to 1>> <<set $hookah_state to 2>> <<hookah_init>> <<npc Quinn>><<person1>> You draw close enough to make out a writhing mass. There's a figure in the centre. They hang limp, suspended by violating tentacles. One curls around their head, covering their eyes. Yet you can tell who it is. <span class="pink">It's Quinn, the mayor.</span><<gggawareness>><<awareness 24>> <br><br> You hear a thud, then a shattering of glass. You can't pinpoint the source. "This trespass," echoes a disembodied voice. "Will have consequences." The walls vanish brick by brick as the voice reverberates down the tunnel. <br><br> <span class="blue">You glimpse an expanse behind the wall.</span> <span class="pink">Your mind rejects it,</span> and reality unravels to escape it. <br><br> <<link [[Next|Tentacle Forest Quinn 3]]>><<endevent>><<tentacleworldend>><</link>> <br><<location "flats">><<set $outside to 0>><<effects>> <<storeon "hookah">> <<loadNPC 0 "hookah">><<person1>> You awaken in the hookah parlour. You're alone. The hookah itself lies in pieces. The door has been broken off its hinges. <br><br> Lying in the entrance are a pair of tiny spectacles. A piece of paper is wrapped around the left temple. You unfurl it. There's writing, hastily scrawled. <br><br> "I've searched for so long. <span class="green">The glasses, and the parlour, are yours.</span> Thank you." <br><br> <<earnFeat "Hookah Master">> <<link [[Look around|Tentacle Forest Quinn 4]]>><<facesend 31 $wardrobe_location>><</link>> <br><<effects>> Even in its ransacked state, the parlour looks like it was once a normal flat. There's a kitchen with a working fridge. You open it. There are five cages inside. <span class="pink">A strange creature writhes within the lowest.</span> <br><br> You look through the rest of the parlour. There's no bed anywhere, and cleaning will take a lot of work. <br><br> <<link [[Next|Flats Hookah]]>><<endevent>><</link>> <br><<effects>> Seized by a bizarre competitiveness, you wrestle one of the tentacles to the ground. You toss to and fro, <<set _rng to random(1, 2)>> <<if _rng is 1>> until you manage to pin it beneath your weight. <br><br> You luxuriate in victory.<<gchestskill>><<chestskill 1>> <br><br> <<destination_tentacle_forest>> <<else>> until it hurls you aside. <br><br> <<tentacle_forest_events>> <</if>><<effects>> You sit on one of the pads, dipping your feet in the water. You find you can propel yourself by shifting your weight back and forth. <<set _rng to random(1, 2)>> <<if _rng is 1>> You can't travel far, but moving in a little circle proves relaxing.<<gbottomskill>><<bottomskill 1>> <br><br> <<destination_tentacle_forest>> <<else>> You tumble into the water with a splash. You're glad the water is shallow here. <br><br> <<tentacle_forest_events>> <</if>><<effects>> You climb atop a low-hanging tentacle, and shimmy along with length between your thighs. <<set _rng to random(1, 2)>> <<if _rng is 1>> It sways a little, but you manage to hold on. You journey between the larger tentacles, before looping back around to the clearing.<<gthighskill>><<thighskill 1>> <br><br> <<destination_tentacle_forest>> <<else>> It sways this way and that. The rocking is too violent for you to cling, and you fall to the ground in a heap. <br><br> <<tentacle_forest_events>> <</if>><<effects>> You attempt to take one of the vines into your mouth. <<set _rng to random(1, 2)>> <<if _rng is 1>> It seems to follow your head, and enters your mouth without much difficulty. You eagerly lap up the nectar.<<goralskill>><<oralskill 1>> <br><br> <<destination_tentacle_forest>> <<else>> It sways away from you, and it lightly smacks you on the cheek when you try to persist. <br><br> <<tentacle_forest_events>> <</if>><<effects>> You reach for the fruit. The tentacle 'branches' they attach to lift as you do, pulling the fruit beyond your grasp. <<set _rng to random(1, 2)>> <<if _rng is 1>> <<wearProp "tenta fruit">> You manage to snag one by jumping. <br><br> Despite its juicy appearance, it tastes most similar to pork. <<ghandskill>><<handskill 1>> <br><br> <<destination_tentacle_forest>> <<else>> Even jumping just makes the tentacles jump away in response. <br><br> <<tentacle_forest_events>> <</if>><<effects>> You try to stomp on one of the slugs, but the threat gives it a burst of energy, and it slithers away with surprising speed. <<set _rng to random(1, 2)>> <<if _rng is 1>> <<wearProp "tenta slug">> You catch it before it makes it to the stream. White fluid squirts from the tip, deflating it and leaving it similar to the other slugs. Now free of its extra bulk, it escapes into the stream. <<gfeetskill>><<feetskill 1>> <br><br> <<destination_tentacle_forest>> <<else>> It slips into the stream before you can catch it. <br><br> <<tentacle_forest_events>> <</if>><<effects>> You try to read the writing etched on the walls. The symbols change as you look, resettling into new, <<set _rng to random(1, 2)>> <<if _rng is 1>> strange patterns. Meaning floods your mind. You blush.<<ganalskill>><<analskill 1>> <br><br> <<destination_tentacle_forest>> <<else>> disturbing patterns. Meaning floods your mind. You shudder. <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> <<if $awareness lt 600>> <<gawareness>><<awareness 3>> <<else>> <<ggarousal>><<arousal 1800>> <</if>> <<case 2>> <<ggarousal>><<arousal 1800>> <<case 3>> <<gstress>><<stress 18>> <<case 4>> <<gtrauma>><<trauma 18>> <<case 5>> <<gwillpower>><<willpower 3>> <</switch>> <br><br> <<link [[Next|Tentacle Forest Prison]]>><</link>> <br> <</if>><<widget "passouttentacleworld">> <<if isPregnancyEnding()>> <<pregnancyPassout "tentacleworld">> <<else>> <<passout>> <<link [[Everything fades to black...|Passout Tentacle World]]>><</link>> <</if>> <</widget>> <<widget "tentacleworldintro">> <<set $tentnorth to 0>> <<set $tenteast to 0>> <<if $rng gte 51>> <<set $tentportalnorth to either(-5, -4, 4, 5)>> <<set $tentportaleast to random(-5, 5)>> <<else>> <<set $tentportalnorth to random(-5, 5)>> <<set $tentportaleast to either(-5, -4, 4, 5)>> <</if>> <</widget>> <<widget "tentacleworldend">> <<unset $tentacleadmire>> <<unset $tentaclewolf>> <<unset $tentacleangel>> <<unset $tentaclefallenangel>> <<unset $tentacleEntrance>> <<unset $tentaclecat>> <<unset $tentaclecow>> <<unset $tentaclefox>> <<unset $tentacleorgasmignore>> <<unset $tentacle_forest_time>> <<unset $tentacle_forest_stream>> <<unset $tentacle_forest_lurker>> <</widget>> <<widget "tentacle_forest_safe_orgasm">> <<if $arousal gte 10000 and $tentacle_forest_lurker.includes("defeated")>> You fall to your hands and knees as the sensations become too much to bear. <<orgasm>> <br><br> You struggle to your feet. Despite being in a vulnerable state, <span class="teal">nothing assaults you.</span> <br><br> <</if>> <</widget>> <<widget "tentacle_forest_end_scene">> <span class="blue">Something is coming for you.</span> You feel it. Time parts to allow its passage. It whirls around you, unravelling this reality. <br><br> <<set $bus to "barb">> <<link [[Next|Flats Hookah End]]>><<tentacleworldend>><</link>> <br> <</widget>> <<widget "tentacle_forest_orgasm_scene">> You fall to your hands and knees as the sensations become too much to bear. <<orgasm>> <br><br> The ground quakes, and ruptures. Tentacles burst through, moving in a violent, directed fashion. Directed at you. <br><br> They seize your limbs before your orgasm subsides, and drag you below. <br><br> <<link [[Next|Tentacle Forest Orgasm]]>><</link>> <br> <</widget>> <<widget "tentacle_forest_stress_scene">> <<if isPregnancyEnding()>> <<pregnancyPassout "tentacleforest">> <<else>> You've pushed yourself too much, and collapse to your knees. <br><br> <span class="red">A fissure erupts beneath you, and several tentacles emerge.</span> They grasp your limbs, and draw your weakened body underground. <br><br> <<if $tentacle_forest_lurker.includes("defeated")>> You land on your <<bottom>> in the cave beneath the forest. <span class="red">The strange creature has returned,</span> and squirms towards you. <<else>> You land on your <<bottom>> in a pool of thick, pink fluid, surrounded by cavernous walls. A strange creature squirms towards you. It has no discernible features, save a single, colossal maw. <</if>> <br><br> <<link [[Next|Tentacle Forest Orgasm Defeat]]>><</link>> <br> <</if>> <</widget>> <<widget "tentaclewolf">> <<if $wolfgirl gte 6 and $syndromewolves gte 1>> <<if $tentaclewolf is undefined>> <<set $tentaclewolf to 0>> You hear something familiar in the distance, but you aren't sure what it is. It breaks through the fog and reminds you of the forest. <<lstress>><<larousal>><<stress -6>><<arousal -6>> <br><br> <<elseif $tentaclewolf is 0>> <<set $tentaclewolf to 1>> You hear it again. It came from <<tentacledirection>> <<lstress>><<larousal>><<stress -6>><<arousal -6>> <br><br> <<elseif $tentaclewolf is 1>> <<set $tentaclewolf to 2>> The familiar sound is louder now. It sounds like howling. It's coming from <<tentacledirection>> <<lstress>><<larousal>><<stress -6>><<arousal -6>> <br><br> <</if>> <</if>> <</widget>> <<widget "tentacledirection">> <<if $tentportalnorth gt $tentnorth>> <<if $tentportaleast gt $tenteast>> the Northeast. <<elseif $tentportaleast lt $tenteast>> the Northwest. <<else>> the North. <</if>> <<elseif $tentportalnorth lt $tentnorth>> <<if $tentportaleast gt $tenteast>> the Southeast. <<elseif $tentportaleast lt $tenteast>> the Southwest. <<else>> the South. <</if>> <<else>> <<if $tentportaleast gt $tenteast>> the East. <<elseif $tentportaleast lt $tenteast>> the West. <<else>> nearby. <</if>> <</if>> <</widget>> <<widget "tentacle_forest_pass">> <<if _args[0]>> <<pass _args[0]>> <<set $tentacle_forest_time += _args[0]>> <<set $tentacle_forest_time to Math.clamp($tentacle_forest_time, 0, 120)>> <</if>> <</widget>> <<widget "tentacle_forest_time">> Time remaining in the forest: <<print (60 - $tentacle_forest_time)>> <</widget>> <<widget "destination_tentacle_forest">> <<switch $bus>> <<case "tentacle_forest_main">> <<link [[Next|Tentacle Forest]]>><<handheldon>><</link>> <br> <<case "tentacle_forest_stream">> <<link [[Next|Tentacle Forest Stream]]>><<handheldon>><</link>> <br> <<case "tentacle_forest_flowers">> <<link [[Next|Tentacle Forest Flowers]]>><<handheldon>><</link>> <br> <<case "tentacle_forest_cliff">> <<link [[Next|Tentacle Forest Cliff]]>><<handheldon>><</link>> <br> <<case "tentacle_forest_pool">> <<link [[Next|Tentacle Forest Pool]]>><<handheldon>><</link>> <br> <<case "tentacle_forest_plants">> <<link [[Next|Tentacle Forest Plants]]>><<handheldon>><</link>> <br> <<case "tentacle_forest_door">> <<link [[Next|Tentacle Forest Door]]>><<handheldon>><</link>> <br> <<case "tentacle_forest_prison">> <<link [[Next|Tentacle Forest Prison]]>><<handheldon>><</link>> <br> <<default>> <<link [[Next|Tentacle Forest]]>><<handheldon>><</link>> <br> <</switch>> <</widget>> <<widget "tentacle_forest_events">> <<cleareventpool>> <<addinlineevent "tentacle_forest_1" 1>> A vine-like tentacle erupts from the canopy above, slicing through the air and delivering a sharp blow to your <<bottom>>.<<gpain>><<ggarousal>><<pain 4>><<arousal 1800>> <br><br> The force jolts you forwards. <<dancedifficulty 1 1000>> <<if $danceSuccess>> You almost trip over yet another tentacle, lying low near the ground, <span class="green">but manage to keep your footing.</span> <br><br> <<destination_tentacle_forest>> <<else>> <span class="red">You trip over another tentacle</span>, lying low near the ground. It coils around your waist, holding you still as the first slithers up your thigh. <br><br> <<if $player.penisExist>> You feel a flick against your <<genitals 1>>. The tentacle slithers up and down your length, squeezing in a rhythmic fashion. <<else>> You feel a flick against your labia. The tentacle slithers across your skin, and wraps around your clit, squeezing in a rhythmic fashion. <</if>> You pull both tentacles away from you, allowing you to stand, but you can't stop the heat rising.<<gggarousal>><<arousal 3600>> <br><br> <<destination_tentacle_forest>> <</if>> <</addinlineevent>> <<addinlineevent "tentacle_forest_2" 1>> An aperture on one of the larger tentacles opens, and sprays a thick pink mist. It makes you feel lightheaded.<<ggarousal>><<arousal 1800>> <br><br> <<destination_tentacle_forest>> <</addinlineevent>> <<addinlineevent "tentacle_forest_3" 1>> You feel a squishiness beneath your feet. You move your foot, and see a large eye staring up at you. It blinks. The lid becomes a pair of lips. One whisper, and you find yourself lying on your back, staring up at the tentacles swaying overhead. <br><br> You can't remember what was said. <<if $awareness lt 600>> <<gawareness>><<awareness 3>> <<else>> <<ggarousal>><<arousal 1800>> <</if>> <br><br> <<destination_tentacle_forest>> <</addinlineevent>> <<addinlineevent "tentacle_forest_4" 1>> A dollop of slick stickiness falls from above. <<random_goo>> <br><br> <<destination_tentacle_forest>> <</addinlineevent>> <<addinlineevent "tentacle_forest_5" 1>> <<set _rng to random(1, 4)>> <<switch _rng>> <<case 1>> You hear something whisper your name. <<case 2>> Innumerable eyes open, all around. You blink, and they're gone. <<case 3>> A tremor shakes the ground. It journeys up the giant tentacles, shaking them right to the tip. <<default>> You hear a distant keening sound. Another responds. <</switch>> <<ggstress>><<stress 18>> <br><br> <<destination_tentacle_forest>> <</addinlineevent>> <<runeventpool>> <</widget>><<location "tentworld">><<set $outside to 0>><<effects>><<set $phase to 0>> <<tentacleworldintro>> You open the door, revealing an alien landscape. Giant tentacles writhe against the sky. <span class="red">An orgasm here could be dangerous.</span> <br><br> <<link [[Next|Tentacle Plains]]>><<set $tentacleEntrance to "asylum">><</link>> <br><<location "tentworld">><<effects>> <<strip>> You wake, realising with horror that you are trapped naked within a mass of tentacles. They hold you several feet above the ground, your limbs and torso secure in their gentle but unyielding embrace. Struggling to escape, you move your arms and legs in hopes of disrupting the tentacles' grip. You fail, as every movement is countered effortlessly by the unconcerned appendages. Your desperation rises as your thrashing has no effect. <br><br> But desperation is not the only thing to rise. As you continue to breathe in the musky air and feel your captor's wriggling flesh pressing against your arms and hips and calves, you find your body flush with growing arousal. Your genitals react. Sweat breaks out across your skin. Your <<nipples>> harden. Unsatisfied by your previous climaxes, your body yearns to be touched. To be toyed with. To be pleasured. <br><br> And yet your <<genitals_are 1>> not assaulted. Your ass remains unmolested. Instead, the tentacles seem only interested in holding you in this bondage. It's maddening, the pleasure rising within you like the tide. Though you wish to be free, your body wants to be used. Closing your eyes, you moan with frustrated lust even as you ponder escape. <br><br> That sound spurs the tentacles into movement. Several begin to caress your chest and back, thighs and tummy. Far from your most sensitive areas, they nevertheless drive you wild as you find yourself bucking against them. You ache with arousal, your mind drifting in a sea of desire. <br><br> It's too much. Though unable to get yourself off, or perhaps because of it, you find your body tingling as your climax begins to build. You moan as the tentacles increase their speed, the dam within you breaking. It is slow, the pleasure building upon itself as the orgasmic energy pours into your pelvis and you suck in deep ragged breaths. It's too much. <br><br> You cum, twitching against your captor as you groan through your climax. It lasts for many seconds, the tentacles gliding over your flesh as the pleasure pulses brighter and brighter within you. Your stiff body collapses and you let out a long exhausted exhale. <<orgasmstat>><<orgasmcount 1>> <br><br> <<link [[Next|Passout Tentacle World 2]]>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> But it's not over. Before you can regain your senses, two naughty tentacles find your <<nipples>> and begin to vigorously grind against them. You squeal at this spike of pleasure, your eyes flying open as you look down at your chest. Instead of feeling your orgasm dissipate, it seems that this new assault has created an echo chamber within your nervous system and you realise with horror and anticipation that a new climax is beginning to build within you. <br><br> Before it peaks, however, a third tentacle slides between your bottom and rubs aggressively over your hole, eliciting an even louder squeal from you as the pleasure in your <<nipples>> and asshole merge into a tsunami that crashes against you. Your climax speeds towards you and you open your mouth to scream. <br><br> Instead you cry out as the tentacles force you to cum hard. You buck and writhe against your bindings. Your eyes flutter open and closed. Moans escape your throat as you endure the orgasm, the time growing indistinct as you cum and cum and cum. <<orgasmstat>><<orgasmcount 1>> <br><br> Eventually, the powerful feelings start to fade. Despite the tentacles still teasing your body, you feel the effects of this newest climax receding. Your mind, soaked for so long in a fog of unrelenting pleasure, starts to clear. <br><br> <<link [[Next|Passout Tentacle World 3]]>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> Then a tentacle flicks the tip of your <<print ($player.penisExist ? "penis" : "clit")>> hard, sending a jolt right to your brain. With tentacles torturing your ass and nipples, this lone strike against your most sensitive place, which up until now had not been subjected to any sensations, overloads your system. You cum suddenly, your body unprepared for the unstoppable pleasure. The explosion within you causes your body to spasm, your hands clenched tight and your feet kicking out spastically. <<orgasmstat>><<orgasmcount 1>> <br><br> Before this newest climax can properly fade, your <<genitals_are 1>> subjected to another hard slap that sends you spiralling into a fourth orgasm. You scream as the tingling breaks down your mental barriers. <<orgasmstat>><<orgasmcount 1>> <br><br> Another slap. <<set $arousal to 10000>><<orgasm>> Another. <<set $arousal to 10000>><<orgasm>> It goes on and on and on, your body no longer distinguishing one peak from the next. Your breathing ragged, your body fights the losing battle against the pleasure being forced upon you and your mind begins to shatter. <br><br> Overwhelmed with unending orgasms, you eventually crash into unconsciousness. <br><br> <<link [[Next|Passout Tentacle World 4]]>><<clotheson>><</link>> <br><<set $outside to 0>><<effects>> <<if $tentacleEntrance is "mirror">><<set $location to "home">> You wake up on the floor next to your mirror. That was quite the nightmare. <br><br> <<tentacleworldend>> <<link [[Next|Bedroom]]>><</link>> <<else>> <<set $location to "asylum">> You wake in darkness. You're back in the asylum, in the tiny room.<<endevent>><<npc Harper>><<person1>> <br><br> <<tentacleworldend>> <<link [[Next|Asylum Room 2]]>><</link>> <</if>> <br><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentacleorgasmignore is undefined>><<set $tentacleorgasmignore to 0>><</if>> You are on the tentacle plains. <<if $phase is 5>> You feel the slime in your head make a strange noise as you head in the direction it wants you to go. Tendrils growing from the ground seem to avoid you while the air seems clearer than before. <<if $tentacleorgasmignore is 0>><<set $tentacleorgasmignore to 1>><</if>> <<else>> Tendrils growing from the ground strain to reach your <<genitals>>, caressing your thighs and whatever else they can reach. The air is sweet. <<drugs 10>><<ggarousal>><<arousal 1200>> <</if>> <br><br> <<switch $phase>> <<case 1>> You walk north. <br><br> <<case 2>> You walk south. <br><br> <<case 3>> You walk east. <br><br> <<case 4>> You walk west. <br><br> <</switch>> <<tentaclewolf>> <<set $phase to 0>> <<if $stress gte $stressmax>> <<passouttentacleworld>> <<elseif $arousal gte $arousalmax and $eventskip isnot 1 and $tentacleorgasmignore lte 0>> <<orgasm>> Energised, the tentacles around you dart higher than normal. They wrap around your arms and drag you to the ground. <br><br> <<link [[Next|Tentacle Rape]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <<if $arousal gte $arousalmax and $tentacleorgasmignore gte 1>> <<orgasm>><<set $tentacleorgasmignore -= 1>> The tentacles don't take advantage of your vulnerability. <br><br> <</if>> <<if $tentnorth is 0 and $tenteast is 0>> <<if $tentacleEntrance is "mirror">> You stand in front of your mirror. <br> <<mirroricon "blood">><<link [[Walk through|Tentacle Home Return]]>><</link>> <<else>> The door to the asylum is nearby. <br> <<asylumicon "door">><<link [[Return to asylum|Tentacle Return]]>><</link>> <</if>> <br><br> <</if>> <<if $tentnorth is $tentportalnorth and $tenteast is $tentportaleast>> <<if $wolfgirl gte 6 and $syndromewolves gte 1>> You see another door in the distance, similar to the one that led you here. It's surrounded by tentacles. The door is wide open, and the forest lies on the other side, promising escape. You see a black blur shift before snapping and snarling at one of the tendrils. <br><br> <<foresticon>><<link [[Run for the door|Tentacle Wolf Escape]]>><</link>> <br><br> <<else>> A door stands open here. There's a forest beyond. <br> <<foresticon>><<link [[Enter|Tentacle Escape]]>><</link>> <br><br> <</if>> <</if>> <<if $tentnorth gte 5 or $tentnorth lte -5 or $tenteast gte 5 or $tenteast lte -5>> The plains stretch to the horizon. You don't want to wander too far from the portal. <br><br> <</if>> <<if $tentnorth is 4 and $tenteast is 4 and $tentspray isnot 1>> A red light hovers in the air at chest-height, held aloft by thin tendrils. <br> <<peppersprayicon>><<link [[Touch|Tentacle Plains Spray]]>><<set $spraymax += 1>><<set $tentspray to 1>><<spray 5>><</link>><<gspraymax>> <br><br> <</if>> <<if numberOfEarSlime() gte 2 and $earSlime.growth gt 50 and $earSlime.focus isnot "none" and !$weekly.earSlimeTentaclePlains and $tentnorth lte 0 and $tenteast lte 1>> <span class="red">You feel the slime in your head urge you to face a specific way, as if it wants you to head towards something.</span> <br> <<if $tentnorth is -5 and $tenteast is -4>> <<ind>><<link [[Follow the slime's directions (0:10)|Tentacle Plains Ear Slime]]>><<pass 10>><</link>> <<else>> <<ind>><<link [[Follow the slimes' directions (0:10)|Tentacle Plains]]>> <<pass 10>><<set $phase to 5>> <<if $tenteast gte -3 and random(0,100) gte 50>> <<set $tenteast -= 1>> <<elseif $tenteast is -5 and random(0,100) gte 50>> <<set $tenteast += 1>> <<elseif $tentnorth gt -5>> <<set $tentnorth -= 1>> <<elseif $tenteast gte -3>> <<set $tenteast -= 1>> <<elseif $tenteast is -5>> <<set $tenteast += 1>> <</if>> <</link>> <</if>> <br> <</if>> <<if $tentnorth lt 5>> <<tentacleicon "north">><<link [[North (0:10)|Tentacle Plains]]>><<pass 10>><<set $tentnorth += 1>><<set $phase to 1>><</link>> <br> <</if>> <<if $tentnorth gt -5>> <<tentacleicon "south">><<link [[South (0:10)|Tentacle Plains]]>><<pass 10>><<set $tentnorth -= 1>><<set $phase to 2>><</link>> <br> <</if>> <<if $tenteast lt 5>> <<tentacleicon "east">><<link [[East (0:10)|Tentacle Plains]]>><<pass 10>><<set $tenteast += 1>><<set $phase to 3>><</link>> <br> <</if>> <<if $tenteast gt -5>> <<tentacleicon "west">><<link [[West (0:10)|Tentacle Plains]]>><<pass 10>><<set $tenteast -= 1>><<set $phase to 4>><</link>> <br> <</if>> <<if $demon gte 6 and $tentacleadmire gte 1>> <<tficon "demon">><<link [[Offer yourself|Tentacle Plains Admire]]>><</link>><<demon>> <br> <<elseif $demon gte 6>> <<tficon "demon">><<link [[Admire|Tentacle Plains Admire]]>><</link>><<demon>> <br> <</if>> <<if $tentaclewolf gte 2>> <<tficon "wolf">><<link [[Howl|Tentacle Plains Howl]]>><<transform wolf 1>><</link>><<wolfgirl>> <br> <</if>> <<if $angel gte 6 and $tentacleangel gte 2>> <<tficon "angel">><<link [[Resist|Tentacle Plains Resist]]>><</link>><<angel>> <br> <<elseif $angel gte 6>> <<tficon "angel">><<link [[Focus|Tentacle Plains Resist]]>><</link>><<angel>> <br> <</if>> <<if $fallenangel gte 2>> <<tficon "fallenangel">><<link [[Despair|Tentacle Plains Despair]]>><</link>><<fallenangel>> <br> <</if>> <<if $cat gte 6>> <<tficon "cat">><<link [[Pounce|Tentacle Plains Cat]]>><<transform cat 1>><</link>><<cat>> <br> <</if>> <<if $cow gte 6 and $breastfeedingdisable is "f">> <<tficon "cow">><<link [[Let the tentacles milk your breasts|Tentacle Cow Breasts]]>><<transform cow 1>><</link>><<cow>> <br> <</if>> <<if $cow gte 6 and $player.penisExist and !playerChastity("penis")>> <<tficon "cow">><<link [[Let the tentacles milk your penis|Tentacle Cow Penis]]>><<transform cow 1>><</link>><<cow>> <br> <</if>> <<if $harpy gte 6>> <<tficon "bird">><<link [[Get a bird's eye view|Tentacle Bird]]>><<transform bird 1>><</link>><<flight_text>> <br> <</if>> <<if $fox gte 6>> <<tficon "fox">><<link [[Look for something to steal|Tentacle Plains Fox]]>><<transform fox 1>><</link>><<fox>> <br> <</if>> <</if>> <<set $eventskip to 0>><<set $location to "home">><<set $outside to 0>><<effects>> You step through the mirror, and you're back in your room. The eerie light fades, as if it were never there. <br><br> <<tentacleworldend>> <<link [[Next|Bedroom]]>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentaclefallenangel is undefined>> <<set $tentaclefallenangel to 0>> You growl at the unfairness of the situation. Flashbacks of the last few days play out through your head, filling you with anger and dread. What did you do to deserve this? The world robbed you of your purity, and has now dumped you here. You deliver a vicious kick to one of the tentacles at your feet. You have fallen so far. Your anger distracts you from the lewd warmth within you. <<gstress>><<larousal>><<stress 6>><<arousal -600>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentaclefallenangel is 0>> <<set $tentaclefallenangel to 1>> The anger keeps building. The injustices committed against you all come rushing back. Memories of the pain you've experienced resurface at full force, opening wounds that should have long since healed. The pain is as real as when you first felt it, driving you to keel over in agony. The tentacles around you recoil. <<gpain>><<llarousal>><<pain 20>><<arousal -1200>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentaclefallenangel is 1>> <<set $tentaclefallenangel to 2>> You remember the faces of everyone who wronged you. Every single one is floating around you, laughing at your torment and mocking you for your weakness. They jeer into the sickeningly sweet air in unison. Each word is another scar on your tattered existence. You fall to the ground, writhing in pain. The tears sting your face. <<gpain>><<lllarousal>><<pain 20>><<arousal -1800>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentaclefallenangel is 2>> <<set $tentaclefallenangel to 3>> The world has wronged you. You've been forsaken in an alien land. As the pain overwhelms you, your vision begins to fade. The tendrils creep closer. <br><br> "No." Surprised by your own voice, you snap back to full attention. You get back to your feet. The pain is almost too much to bear. Almost. You throw your head back, and release an agonised scream. It carries the lifetime of torment that tortures you. <br><br> The tentacles retreat. The world thinks it can just dump you here to be forgotten and used by alien creatures like a toy. Maybe you deserve it, but you're not going to let it happen. <br><br> Whether this world is real or not, you're determined to make it back to your own out of pure spite alone. You'll show them all. Nobody has seen the last of you, but they're going to wish they had. <<gpain>><<lltrauma>><<llstress>><<lllarousal>><<pain 30>><<trauma -18>><<stress -18>><<arousal -2400>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<else>> Each memory is more pain, and you have no shortage of them. It drives you to keep moving, and the sting keeps you alert as you search for a way out. <<gpain>><<llarousal>><<pain 10>><<arousal -1800>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <</if>><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentacleangel is undefined>> <<set $tentacleangel to 0>> You kneel and reflect upon the events that led you to this place. Completely disgusted by your surroundings, you find the willpower to continue. These horrors will not hold you. <<llarousal>><<arousal -1200>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentacleangel is 0>> <<set $tentacleangel to 1>> As you meditate in the barren plains, the ground around you almost seems to get brighter. You feel better about your situation. <<lstress>><<stress -6>><<llarousal>><<arousal -1200>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentacleangel is 1>> <<set $tentacleangel to 2>> In the depths of your mind, you hear a distant choir sing a single note. The halo above your head is getting brighter, and the lewd warmth within you melts away. <span class="gold">This place will not hold you.</span> <<lllarousal>><<arousal -2400>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentacleangel is 2>> <<set $tentacleangel to 3>> You are a beacon of light. The tentacles grasping your feet retract away from you. You are above this wasteland, it does not deserve your radiant presence. You keep repeating that to yourself. <span class="gold">This place will not hold you.</span> <<lllarousal>><<arousal -2400>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<else>> The light from your halo is blinding. You are above this place. You are above this place. You repeat the mantra out loud. The floor falls away from beneath you. You can't see the tentacles. The light from your halo encompasses all. You feel yourself rising higher and higher, the dark sky offering no resistance to your ascent. You rise and rise. <br><br> <<if $tentacleEntrance is "asylum">> <<asylumescape>> <<badEndTrackingEnd "Asylum" { reason: "asylumTentacleAngel" }>> <</if>> <<endevent>><<tentacleworldend>> <<set $forest to random(50, 100)>> <<link [[Next|Mirror]]>><<set $location to "home">><</link>> <br> <</if>><<location "tentworld">><<set $outside to 0>><<effects>> You make a mad dash for the door, pushing every muscle to its limits. The Black Wolf turns and sees you. It howls into the air in triumph at your approach. The tendrils shift their attention to you. A stray tentacle grabs you by the leg, tripping you. <br><br> You twist yourself over and bite the tentacle, piercing it with your fangs. It recoils and retreats. You get to your feet and keep going. <br><br> The door is within arm's reach. You jump forward to cover the final distance as a surge of tendrils chase you. A few gain purchase around your legs, but the Black Wolf grabs your neck<<npc "Black Wolf">><<if $monster isnot 1>> in its jaws<</if>> and pulls you through the door. <br><br> You fall forward and kick the remaining tentacles off. The door slams shut behind you, and vanishes. You are deep in the forest. The asylum stands before you. The Black Wolf gruffs and licks your face. <<if $monster is 1>> "Heard you, smelled you. Knew trouble. Bad land. Safe now. Home." <<bHe>> lifts you up, and you journey to the cave. <<else>> The wolf lets you climb on to its back, and together you journey to the cave. <</if>> <<lstress>><<ltrauma>><<stress -6>><<trauma -6>> <br><br> <<if $tentacleEntrance is "asylum">> <<asylumescape>> <<badEndTrackingEnd "Asylum" { reason: "asylumBlackWolf" }>> <</if>> <<endevent>><<tentacleworldend>> <<set $forest to random(50, 100)>> <<link [[Next (0:30)|Wolf Cave Clearing]]>><<pass 30>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> You rear your head back and howl to the bleak sky. A much louder, more energetic howl responds from <<tentacledirection>> You can feel the adrenaline as your wild spirit ignites. You don't know how, but you feel like escape is at hand, and the thought drives you to continue. <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentaclecat is undefined>> <<set $tentaclecat to 1>> Your eyes focus. There are so many writhing, slippery little things here. One small tentacle catches your attention as it brushes against your foot. You swipe at it, and it recoils. <<larousal>><<lstress>><<arousal -120>><<stress -6>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentaclecat is 1>> <<set $tentaclecat to 2>> You pounce after another tentacle. Other tentacles begin to slither away from you. This is fun! <<larousal>><<llstress>><<arousal -120>><<stress -12>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentaclecat is 2>> <<set $tentaclecat to 3>> You pounce, catching a small tentacle and biting down on it. You catch another. And another. You make a small bundle of tentacles and paw it around. <<larousal>><<llstress>><<arousal -120>><<stress -12>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<else>> <<unset $tentaclecat>> You pounce and grab onto a larger tentacle, biting into it and wrestling it to the ground. It quickly retreats from you. <<set $tentacleorgasmignore += 1>><span class = green>There are no other tentacles nearby. Your next orgasm might not be so dangerous.</span> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <</if>><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentaclefox is undefined>> <<set $tentaclefox to 1>> You look around. There's a lot of moving things, but very few shiny things that catch your eye. A particularly slick tentacle looks shiny enough. You make a grab for it, but it slips away. <<larousal>><<lstress>><<arousal -120>><<stress -6>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentaclefox is 1>> <<set $tentaclefox to 2>> You get low to the ground, stalking another shiny tentacle. You see a lump half way up its length. Your pupils dilate. <br><br> You pounce, but miss, and the tentacle slithers into the ground. Not satisfied, you jump into the air, diving right into the same spot. You end up buried to your waist, upper body lodged in the ground. <br><br> Exactly as planned. You're able to grab the tentacle with your right hand, and rapidly push yourself back out of the fresh hole you've made in the soft ground. It squirms to no avail. <br><br> You take off with your prize. <<larousal>><<llstress>><<arousal -120>><<stress -12>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentaclefox is 2>> <<set $tentaclefox to 3>> You raid another tentacle den, and find another lumpy tentacle. You squeeze them, and they produce two small, egg-shaped objects! <br><br> You shove them both into your mouth without a moment's hesitation. <br><br> You immediately realise how stupid that was to do. <<drugs 70>><<gdrugged>> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<else>> <<unset $tentaclefox>> You clumsily stumble around, trying to find more tentacles to harass. <<set $tentacleorgasmignore += 1>><span class = green>But they seem to be avoiding you. Your next orgasm might not be so dangerous.</span> <br><br> <<link [[Next|Tentacle Plains]]>><</link>> <br> <</if>><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentaclecow is undefined>> <<set $tentaclecow to 1>> You think you know a way to satisfy the tentacles. <<else>> You prepare to satisfy the tentacle's thirst. <</if>> You drop to all fours, and they begin slithering up your arms. <<outfitChecks>> <<if _top>> <<if $leftarm is "bound" or $rightarm is "bound">> A pair of tentacles <<else>> You <</if>> displace your <<allTopsUnderwear>>.<<overupperstrip>><<upperstrip>><<underupperstrip>> <</if>> You wiggle in place, drawing attention to your <<breasts>>. The response is almost immediate. The tentacles latch on to your chest and begin sucking. <br><br> <<= $lactating is 1 ? "Milk leaks from your buds, and your body shakes. Your fluid is sucked away by the tentacles. You" : "Your body shakes as you">> remain on your hands and knees, two tentacles clinging to your <<breasts>>. <<arousal 1000 "breasts">><<ggarousal>> <br><br> <<if $lactating is 1>> <<set _tentacles_milk to ($milk_amount / 2)>> <<milk_amount `-_tentacles_milk`>> <<set $milk_produced_stat += Math.trunc(_tentacles_milk)>> <<if _tentacles_milk gte 50>> <<set $tentacleorgasmignore += 1>> Full, the tentacles release you and scatter. <span class = "green">They seem satisfied. Your next orgasm might not be so dangerous.</span> <<else>> The tentacles keep sucking. <span class = "red">They aren't satisfied by the amount of milk you produce.</span> Eventually, their sucking becomes painful, forcing you to pull them off. <<pain 10>><<gpain>> <</if>> <<else>> You fail to produce any milk. <span class = "red">The tentacles aren't satisfied.</span> <</if>> <<purity -5>> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Plains]]>><<endevent>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentaclecow is undefined>> <<set $tentaclecow to 1>> You think you know a way to satisfy the tentacles. <<else>> You prepare to satisfy the tentacle's thirst. <</if>> You drop to all fours, and they begin slithering up your legs. <<outfitChecks>> <<if _bottom>> <<if $feetuse is "bound">> A pair of tentacles <<else>> You <</if>> displace your <<allBottomsUnderwear>>.<<overlowerstrip>><<lowerstrip>><<underlowerstrip>> <</if>> <<set $penisuse to "tentacle">><<set $tentaclePenis to "tentacle">> <<set _tentacles_semen to ($semen_amount / 2)>> You wiggle your <<bottom>>, drawing attention to your <<penis>>. The response is almost immediate. A tentacle latches on to you, and begins sucking. <br><br> You gasp at the sensation. The tentacle expands and shrinks while sucking. <<arousal 10000>><<ggarousal>> <<orgasm>> <br><br> Your semen is sucked away, and the tentacle releases you. Another one takes its place before you can react. <<orgasm>> <br><br> <<semen_amount `-_tentacles_semen`>> <<set $semen_produced_stat += _tentacles_semen>> <<if _tentacles_semen gte 100>> <<set $tentacleorgasmignore += 1>> Full, the tentacles release you and scatter. <span class = "green">They seem satisfied. Your next orgasm might not be so dangerous.</span> <<else>> The tentacle keeps sucking. <span class = "red">It isn't satisfied by the amount of semen you produce.</span> Eventually, its sucking becomes painful, forcing you to pull it off. <<pain 10>><<gpain>> <</if>> <<purity -20>> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Plains]]>><<endevent>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> <<if $tentacleadmire is undefined>> <<set $tentacleadmire to 0>> As your eyes scan the unending horizon, everything seems to slow down. The smooth sway of the tentacles becomes almost hypnotic to you. Before long you're swaying in place, too. The tentacles at your feet tickle you. <<ltrauma>><<lstress>><<garousal>> <br><br> <<trauma -6>><<stress -6>><<arousal 600>> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentacleadmire is 0>> <<set $tentacleadmire to 1>> Everything begins to melt away as you focus on the landscape. Nothing else seems to matter. The world outside holds no meaning. Your only thoughts are of the immense pleasure this realm could offer you. Your tail moves in a phantom breeze, and a tentacle gently creeps up your leg. <<ltrauma>><<lstress>><<garousal>> <br><br> <<trauma -6>><<stress -6>><<arousal 600>> <<link [[Next|Tentacle Plains]]>><</link>> <br> <<elseif $tentacleadmire is 1>> <<set $tentacleadmire to 2>> You feel no guilt or self-loathing as the heat builds within you. Every tentacle seems to provocatively motion for you to just come one step closer. You can't help yourself any longer. You fall to your knees and present yourself to the countless tentacles surrounding you. They respond to your offering and snake up your arms, legs, and tail. <<gcontrol>><<control 25>><<ltrauma>><<lstress>><<ggarousal>> <br><br> <<trauma -6>><<stress -6>><<arousal 1200>> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound">> A pair of tentacles reach your <<if $leftarm is "bound" or $rightarm is "bound">>arms<</if>><<if ($leftarm is "bound" or $rightarm is "bound") and $feetuse is "bound">> and <</if>><<if $feetuse is "bound">>legs<</if>> and squirt a viscous liquid onto your bindings, slowly dissolving them.<<unbind>> <br><br> <</if>> <<link [[Next|Tentacle Plains Admire Sex]]>><<set $sexstart to 1>><</link>> <<else>> Just thinking about what's to come is driving you mad with lust. You could leave at any time, and yet here you remain. You crouch low to the ground, taking a tentacle in each hand. They respond to your touch eagerly, and an entire swarm of tentacles is soon upon you. <<gcontrol>><<control 25>><<ltrauma>><<lstress>><<ggarousal>> <br><br> <<trauma -6>><<stress -6>><<arousal 1200>> <<link [[Next|Tentacle Plains Admire Sex]]>><<set $sexstart to 1>><</link>> <</if>><<location "tentworld">><<set $outside to 0>> <<if $sexstart is 1>><<set $sexstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<consensual>> <<set $consensual to 1>> <<tentaclestart 6 8>> <<set $tentacles[0].shaft to "waist">> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Tentacle Plains Admire Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Tentacle Plains Admire Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> As your body is completely covered by the warm, writhing masses, you take another look at the land around you. This twisted world is a perversion of all that is right, a vile mockery of the world you know. It's defiled, it's corrupt, it's evil. It's just like you. <br><br> <<set $eventskip to 1>> <<clotheson>> <<endcombat>> <<link [[Next|Tentacle Plains]]>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> You step through the door. It seals shut behind you. You're in the forest. <br><br> <<if $tentacleEntrance is "asylum">> <<asylumescape>> <<badEndTrackingEnd "Asylum" { reason: "asylumTentacle" }>> <</if>> <<endevent>><<tentacleworldend>> <<set $forest to random(50, 100)>> <<link [[Next|Forest]]>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>> You go through the door back to the asylum. It seals shut behind you. <br><br> <<endevent>><<npc Harper>><<person1>><<tentacleworldend>> <<link [[Next|Asylum Room 2]]>><</link>> <br><<location "tentworld">><<set $outside to 0>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<set $enemytype to "tentacles">> <<controlloss>> <<molested>> <<tentaclestart 12 15>> <<set $tentacles[0].shaft to "waist">> <</if>> <<statetentacles>> <<effects>> <<effectstentacles>> <<tentacles>> <<actionstentacles>> <<if $tentacles.active lte ($tentacles.max / 2)>> <span id="next"><<link [[Next|Tentacle Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Tentacle Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> The tentacles lose interest in you, for now. <<tearful>> you struggle to your feet. <br><br> <<set $eventskip to 1>> <<clotheson>> <<endcombat>> <<arousal -1000>> <<link [[Next|Tentacle Plains]]>><</link>> <br><<location "tentworld">><<set $outside to 0>><<effects>><<wearProp "pepperspray">> The light pulses and fades at your touch. The tendrils fall away. Your pepper spray feels warm. <br><br> <span class="gold">You've gained an additional pepper spray charge.</span> <br><br> <<link [[Next|Tentacle Plains]]>><<handheldon>><</link>> <br><<effects>> You take to the air, leaving the writhing tentacles far below. Your wings soon tire, but you're able to get a good view. <br><br> <<set _tent_portal_north to $tentnorth - $tentportalnorth>> <<set _tent_portal_east to $tenteast - $tentportaleast>> <<set _tent_spray_north to $tentnorth - 4>> <<set _tent_spray_east to $tenteast - 4>> <<if _tent_portal_north lte 2 and _tent_portal_north gte -2 and _tent_portal_east lte 2 and _tent_portal_east gte -2>> <<set _tent_found to true>> You see a green door. <<if _tent_portal_north is 0>> <<elseif _tent_portal_north gte 1>> <<Number _tent_portal_north*10>> minutes to the south. <<elseif _tent_portal_north lt 0>> <<Number _tent_portal_north*-10>> minutes to the north. <</if>> <<if _tent_portal_east is 0>> <<elseif _tent_portal_east gte 1>> <<Number _tent_portal_east*10>> minutes to the west. <<elseif _tent_portal_east lt 0>> <<Number _tent_portal_east*-10>> minutes to the east. <</if>> <br> <</if>> <<if $tentnorth gte -2 and $tentnorth lte 2 and $tenteast gte -2 and $tenteast lte 2>> <<set _tent_found to true>> <<if $tentacleEntrance is "mirror">> You see the mirror to your bedroom. <<else>> You see the door to the asylum. <</if>> <<if $tentnorth is 0>> <<elseif $tentnorth gte 1>> <<Number $tentnorth*10>> minutes to the south. <<elseif $tentnorth lt 0>> <<Number $tentnorth*-10>> minutes to the north. <</if>> <<if $tenteast is 0>> <<elseif $tenteast gte 1>> <<Number $tenteast*10>> minutes to the west. <<elseif $tenteast lt 0>> <<Number $tenteast*-10>> minutes to the east. <</if>> <br> <</if>> <<if _tent_spray_north gte -2 and _tent_spray_north lte 2 and _tent_spray_east gte -2 and _tent_spray_east lte 2>> <<set _tent_found to true>> You see a strange object. <<if _tent_spray_north is 0>> <<elseif _tent_spray_north gte 1>> <<Number _tent_spray_north*10>> minutes to the south. <<elseif _tent_spray_north lt 0>> <<Number _tent_spray_north*-10>> minutes to the north. <</if>> <<if _tent_spray_east is 0>> <<elseif _tent_spray_east gte 1>> <<Number _tent_spray_east*10>> minutes to the west. <<elseif _tent_spray_east lt 0>> <<Number _tent_spray_east*-10>> minutes to the east. <</if>> <br> <</if>> <<if _tent_found isnot true>> You don't see anything interesting. <br> <</if>> <br> <<link [[Next|Tentacle Plains]]>><<set $eventskip to 1>><</link>> <br><<effects>> <<set $weekly.earSlimeTentaclePlains to true>> You continue following the slime's direction, walking well beyond where you would normally dare to go on this endless plain of tentacles. <<if !$earSlime.pod>> Just as you pass one of the largest tentacles you've been near so far, you spot what looks like a pod opening up. A feeling of dread fills you. <<else>> As you pass the large tentacle again, you spot the pod opening up once more. You shiver knowing what it will do if you lie in it. <</if>> <br><br> <span class="lewd">You feel the slime in your head command you to lie down inside the pod.</span> <span class="red">It expects to be obeyed.</span> <br><br> <<link [[Obey|Tentacle Plains Ear Slime Obey]]>><<corruption 1>><<pain -4>><<stress -6>><<trauma -12>><<sub 2>><</link>><<gcorruption>><<lpain>><<lltrauma>><<lstress>> <br> <<link [[Defy|Tentacle Plains Ear Slime Defy]]>><<corruption -1>><<pain 8>><<stress 6>><<trauma 6>><<def 1>><</link>><<lcorruption>><<ggpain>><<ggtrauma>><<ggstress>> <br><<effects>> Following the slime's instructions, you walk to the pod<<if !$earSlime.pod>> while doing your best to ignore the growing feeling of dread<<else>>, unable to stop shaking<</if>>. Hesitating a moment, you gulp and then climb into it. <br><br> <<link [[Next|Tentacle Plains Ear Slime 2]]>><</link>><<effects>> <<if $earSlime.corruption + $earSlime.growth gte (currentSkillValue('willpower') / 5)>> <<if $earSlime.growth gte 100>> <<set $earSlime.defyCooldown += 12>> <</if>> The slime tries to assert control. <span class="red">It overpowers your will,</span> forcing you to walk towards the pod. <<if !$earSlime.pod>> The feeling of dread quickly escalates<<else>> You can't stop trembling.<</if>>. You're unable to stop yourself from climbing into it. <<ggwillpower>><<willpower 3>> <br><br> <<link [[Next|Tentacle Plains Ear Slime 2]]>><</link>> <<else>> <<set $earSlime.defyCooldown += 6>> The slime tries to assert control, <span class="green">but you fight it</span> and manage to walk back towards where you entered the tentacle plains. <<gwillpower>><<willpower 1>> <br><br> <<link [[Next|Tentacle Plains]]>><<endevent>><</link>> <br> <</if>><<effects>> <<set $earSlime.pod to ($earSlime.pod or 0) + 1>> <<set $earSlimeGrown to $earSlime.growth lt 200>> <<set $earSlime.growth += 25>> The moment you lie down, the pod's entrance closes up, and your vision is quickly clouded by a dense fog that you helplessly start breathing in. Pleasure quickly builds in your <<genitals>><<if $earSlime.focus isnot "impregnation">> and <<breasts>><</if>>.<<drugs 500>><<gggdrugged>><<gggarousal>> <br><br> <<if playerChastity("hidden")>> With your $worn.genitals.name in the way, you're unable to do anything but <<if $earSlime.focus isnot "impregnation">> play with your <<breasts>>, as much as it only seems to make the situation worse for you. <<else>> squirm in the small space. <</if>> <<elseif $worn.genitals.name is "chastity parasite">> You can't help but desperately squeeze your $worn.genitals.name, as much as it only seems to make the situation worse for you. <<elseif playerChastity("cage") and !$player.vaginaExist>> You can't help but desperately try to get to your <<penis>> despite it being inside of the $worn.genitals.name. <<elseif $player.penisExist and !playerChastity("penis")>> You can't help but desperately stroke your <<penis>><<if $player.vaginaExist>> while fingering your vagina<</if>>, as much as it only seems to make the situation worse for you. <<else>> You can't help but desperately finger your vagina, as much as it only seems to make the situation worse for you. <</if>> It's not long before you're pushed over the edge. <br><br> <<orgasm>> <<if _deniedOrgasm>> Despite your ruined orgasm, you soon climax a second... third... then fourth time, each one more intense than the last. <br><br> <<orgasm>> <<orgasm>> <<orgasm>> You feel your consciousness fade even as you close in on the next ruined orgasm. <<else>> You soon climax a second... third... then fourth time, each one more intense than the last. <br><br> <<orgasm>> <<orgasm>> <<orgasm>> You feel your consciousness fade even as you close in on the next orgasm. <</if>> <<set $arousal to $arousalmax>> <br><br> /* May run physicalAdjustments or earSlimeDaily twice, its intended */ <<link [[Next|Tentacle Plains Ear Slime 3]]>><<pass 120>><<physicalAdjustments>><<earSlimeDaily true>><<set $arousal to 0>><</link>><<effects>> <<if $genitalsensitivity lt 3>> <<genital_sensitivity 1>> <</if>> <<if $bottomsensitivity lt 3>> <<set $bottomsensitivity += 1>> <</if>> <<if $earSlime.focus isnot "impregnation" and $breastsensitivity lt 3>> <<breast_sensitivity 1>> <</if>> You wake with your <<genitals>><<if $earSlime.focus isnot "impregnation">> and chest<</if>> <span class="pink">feeling more sensitive</span> than before. <<if $earSlimeGrown>>You suspect that it's not the only thing that's changed.<</if>> Noticing that the pod is open, you carefully exit and leave the pod prison behind. <br><br> <<if $tentacleorgasmignore lt 2>> <<set $tentacleorgasmignore to 2>><span class="green">The tentacles still seem to be avoiding you. Your next orgasm might not be so dangerous.</span> <br><br> <</if>> <<link [[Next|Tentacle Plains]]>><<unset $earSlimeGrown>><<endevent>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> You shift your body to make things easier for the horny <<beasttype>>. <<deviancy1>><<set $enemytrust -= 20>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red">The pack is too busy thinking about themselves to help you.</span>'>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Fight]]>><</link>></span><<nexttext>> <</if>><<set $location to "wolf_cave">><<effects>> You cry for help. <br><br> <<if $wolfpackharmony gte 1>> <<if statusCheck("Black Wolf").love gte 100 and $wolfstate is "cave">> <<endevent>> <<npc "Black Wolf">> The Black Wolf appears quickly at the noise, bounding towards the aggressor and snarling in a way that sends chills down your spine. They flee immediately. <br><br> The Black Wolf huffs before nuzzling your cheek. <<if $monster is 1>> <<if $wolfpackharmony gt $wolfpackferocity>> "I protect mate," <<bhe>> says. <<else>> "Mate is <i>mine</i>," <<bhe>> says. <</if>> <</if>> <br><br> The other <<wolf_cave_plural>> give <<bhim>> a wide berth as <<bhe>> leaves. <<else>> The other <<beastsplural>> growl at the aggressor, who slinks away in response. <</if>> <<lharmony>> <br><br> <<destinationwolfcave>> <<else>> The other <<beastsplural>> don't care. <br><br> <<link [[Next|Wolf Cave Fight]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br> The <<beasttype>> yawns and lies down.<<wolfpacktrust>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> The <<beasttype>> limps away from you. <<if $monster is 1>>"Was just playing... too rough..."<</if>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<elseif $rescue is 1 and $alarm is 1>><<set $rescued += 1>> The other <<beastsplural>> growl at the <<beasttype>> assaulting you. <<bHe>> growls back at first, but then backs down and leaves you alone. <<lharmony>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<else>> The <<beasttype>> yawns and lies down. <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <</if>> <<destinationwolfcave>><<set $location to "wolf_cave">><<effects>> <<if $phase is 0>> You stroke the low ranking <<beasttype 0>>, and <<bhis 0>> ears perk up. The more dominant <<beasttype 1>> growls, but doesn't press it. <<gharmony>><<lferocity>> <br><br> <<deviancy1>> <<endevent>> <<loadNPC 0 wolf_rank_1>> <<clearNPC wolf_rank_1>> <<clearNPC wolf_rank_2>> <<link [[Next|Wolf Cave Fight]]>><<set $sexstart to 1>><</link>> <br> <<elseif $phase is 1>> You stroke the high ranking <<beasttype 1>>. The less dominant <<beasttype 0>> walks away with <<bhis 0>> tail down. <<lharmony>><<gferocity>> <br><br> <<deviancy1>> <<endevent>> <<loadNPC 0 wolf_rank_2>> <<clearNPC wolf_rank_1>> <<clearNPC wolf_rank_2>> <<link [[Next|Wolf Cave Fight]]>><<set $sexstart to 1>><</link>> <br> <<elseif $phase is 2>> <<endevent>> <<loadNPC 0 wolf_rank_2>> <<loadNPC 1 wolf_rank_1>> <<clearNPC wolf_rank_1>> <<clearNPC wolf_rank_2>> You stroke both of them. The dominant <<beasttype 0>> seems less pleased, but doesn't cause a fuss. <<bHe 0>> insists on taking you first. <<gharmony>><<gferocity>> <br><br> <<deviancy2>> <<link [[Next|Wolf Cave Fight Duo]]>><<set $sexstart to 1>><</link>> <br> <<else>> You turn away from them both. The more dominant <<beasttype 1>> growls, but doesn't press it. <br><br> <<endevent>> <<destinationwolfcave>> <</if>><<set $location to "wolf_cave">><<effects>> <<if $phase is 0>> You cover the wounded <<beasttype>> with your body. The other <<beasttype>> bares its teeth at you, but relents. <<gharmony>><<lferocity>> <br><br> <<elseif $phase is 1>> You stroke the <<beasttype>> who drew blood. <<bHe>> jumps at your touch, as if expecting attack, but continues once <<bhe>> realises what you're doing. <<lharmony>><<gferocity>> <br><br> <<else>> You ignore the <<beastsplural>>. The wounded <<beasttype>> whimpers, and the other stops. <br><br> <</if>> <<destinationwolfcave>><<set $location to "wolf_cave">><<effects>> <<if $phase is 0>> You walk over to the Black Wolf and drop to your knees to stroke <<bhis>> head. <<bHe>> shakes you off, then presents <<bhis>> genitals to you. <<if $monster is 1>> "Angry. Help.<<print ((playerHeatMinArousal() and (V.player.vaginaExist or canBeMPregnant()) and V.NPCList[0].penis !== "none") ? ' You ready.' : '')>><<print ((playerRutMinArousal() and $NPCList[0].vagina isnot "none") ? " I'm ready." : '')>>" <</if>> <br><br> <<link [[Take it in hand|Wolf Cave Black Wolf]]>><<set $sexstart to 1>><</link>><<deviant1>> <br> <<if hasSexStat("deviancy", 4)>> <<link [[Take it in mouth|Wolf Cave Black Wolf]]>><<set $phase to 1>><<set $sexstart to 1>><</link>><<deviant4>> <br> <</if>> <<if $wolfgirl gte 6 and hasSexStat("deviancy", 5)>> <<if playerAwareTheyAreInHeat() and $NPCList[0].penis isnot "none" and (($player.vaginaExist and !playerChastity("vagina")) or (canBeMPregnant() and !playerChastity("anus")))>> <<link [[Present your behind|Wolf Cave Black Wolf]]>><<set $phase to 2>><<set $sexstart to 1>><</link>><<deviant5>><<wolfgirl>><<heat>> <br> <</if>> <<if playerRutMinArousal() and $NPCList[0].vagina isnot "none" and !playerChastity("penis")>> <<link [[Playful bite|Wolf Cave Black Wolf]]>><<set $phase to 3>><<set $sexstart to 1>><</link>><<deviant5>><<wolfgirl>><<rut>> <br> <</if>> <</if>> <<link [[Refuse|Wolf Cave Calm]]>><<set $phase to 1>><</link>> <br> <<elseif $phase is 1>> <<if $monster is 1>> "No challenge. Obey!" <</if>> The Black Wolf continues harassing the other <<wolf_cave_plural>>, who do their best to avoid <<bhim>>. <<bHe>> eventually calms down, but leaves the rest of the pack anxious. <<lharmony>> <br><br> <<destinationwolfcave>> <<else>> You look the Black Wolf right in the eyes and bare your <<if $transformationParts.traits.fangs isnot "disabled">>fangs<<else>>teeth<</if>>. <<bHis>> anger is wiped from <<bhis>> <<if $monster is 1>>face<<else>>muzzle<</if>> for a moment, but soon returns. <<bHe>> growls and lunges at you. <<if $monster is 1>> "I am alpha. I'll punish you." <</if>> <br><br> <<link [[Next|Wolf Cave Challenge]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<if $phase is 0>> You reach beneath the <<beasttype>> and take it in your hand. <<npchand>><<deviancy1>> <<elseif $phase is 2>> <<clothesstrip>><<deviancy5>> You bend forward, assuming a submissive stance on your hands and knees, before bringing your shoulders down to stick your butt up and leave your <<print ($player.vaginaExist ? '<<pussy>>' : 'anus')>> exposed to the <<beasttype>>. <<bHe>> bears down on you, keeping you grounded under <<bhis>> massive size. <<npc_attempt_sex>> <<set $position to "doggy">> <<set $position_lock to 1>> <<set $NPCList[0].location.head to "head">> <<set $NPCList[0].location.genitals to "genitals">> <<elseif $phase is 3>> <<clothesstrip>><<deviancy5>> You draw closer to the Black Wolf, bringing your mouth closer to <<bhis>> dark fur. You attempt to place a playful bite on <<bhim>> but the Black Wolf puts <<bhis>> <<if $NPCList[0].monster>>hand<<else>>paw<</if>> on your chest, before driving you down onto the ground with little to no effort. <<bHis>> overwhelming weight and size leaves you with few other options. <<npc_attempt_sex>> <<set $position to "missionary">> <<set $position_lock to 1>> <<set $NPCList[0].location.head to "head">> <<set $NPCList[0].location.genitals to "genitals">> <<else>> You lean beneath the <<beasttype>>. <<npcoral>><<deviancy4>> <</if>> <<blackwolfhealth>><<set $enemytrust -= 20>> <!--Prevents the mate event from occurring back to back with black wolf sex--> <<set $daily.blackWolfHeatEvent to Time.hour>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<blackwolfhealth>><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Black Wolf Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Black Wolf]]>><</link>></span><<nexttext>> <</if>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<if $phase is 3 and $orgasmcurrent is 0 and $NPCList[0].vagina is "penis">> <<set _forcedOrgasm to true>> <<set $orgasmdown to 3>> <</if>> <<beastejaculation>> <br> <<if _forcedOrgasm>> Despite having an orgasm, the Black Wolf continues pleasuring your <<penis>>. <<set $penisuse to "othervagina">> <<orgasm>> <</if>> <<clotheson>> <<endcombat>> <<beastNEWinit 2 wolf>> The Black Wolf calms down. The other <<beastsplural>> look grateful and relieved. <<wolfpacktrust>><<gharmony>> <br><br> <<endevent>> <<tearful>> you climb to your feet. <br><br> <<destinationwolfcave>> <<elseif $enemyhealth lte 0>> <<if $wolfpackleader is 1>> The Black Wolf limps away from you. The pack looks relieved. <<gharmony>> <br><br> <<else>> The whole pack watches as the Black Wolf rolls onto <<bhis>> back in submission. <br><br> <<tearful>> you howl. The other <<wolf_cave_plural>> howl with you. <<if $monster is 1>> The Black Wolf speaks. "You're... strong. Stronger than Black Wolf. I knew taking you was right choice." <</if>> The Black Wolf hobbles away to nurse <<bhis>> injuries. <span class="gold">You can now lead the pack on hunts.</span> <<set $wolfpackleader to 1>><<earnFeat "Head of the Pack">> <br><br> <</if>> <<clotheson>> <<endcombat>> <<destinationwolfcave>> <<else>> The Black Wolf stops bothering you, but continues to bite and growl at the others. <<lharmony>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<destinationwolfcave>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<blackwolfhealth>><<set $enemyanger += 200>><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Wolf Cave Challenge Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Challenge]]>><</link>></span><<nexttext>> <</if>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br> The Black Wolf calms down. The other <<beastsplural>> look grateful and relieved. <<wolfpacktrust>><<gharmony>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<destinationwolfcave>> <<elseif $enemyhealth lte 0>> The whole pack watches as the Black Wolf rolls onto <<bhis>> back in submission. <br><br> <<tearful>> you howl. The other <<beastsplural>> howl with you. <<if $monster is 1>> The Black Wolf speaks. "You're... strong. Stronger than Black Wolf. I knew taking you was right choice." <</if>> The Black Wolf hobbles away to nurse its injuries. <span class="gold">You can now lead the pack on hunts.</span> <<set $wolfpackleader to 1>><<earnFeat "Head of the Pack">> <br><br> <<clotheson>> <<endcombat>> <<destinationwolfcave>> <<else>> You fall to the ground, unable to fight any longer. The Black Wolf grabs your neck<<if $monster isnot 1>> in its jaws<</if>> and holds you to the floor for a moment, then releases you.<<gtrauma>><<gstress>><<trauma 6>><<stress 6>> <br><br> <<if $monster is 1>> "<<pPackbrother>> weak. Should stay in <<pher>> place if know better." <<bHe>> sneers <<else>> <<bHe>> gives you a low, warning growl <</if>> before walking off. The other <<wolf_cave_plural>> follow in the footsteps of their alpha. <br><br> <<if $wolfpackpoisoned isnot 1>> <i>The Black Wolf is very strong. There must be a way to even things.</i> <br><br> <</if>> <<clotheson>> <<endcombat>> <<destinationwolfcave>> <</if>><<deviancy5>> <<if $phase is 1>> <<if $NPCList[0].monster>> You draw closer to the Black Wolf, bringing your mouth closer to <<bhis>> dark fur. You place a playful bite on <<bhim>>. You begin rubbing your head against <<bhim>> while you continue to bite at <<bhis>> body. "Very frisky today," <<bhe>> says. "<<pPackbrother>> must be in a rut." <br><br> <<bHe>> allows you to continue, but only for a few moments. After a while, the Black Wolf places <<bhis>> hand on your chest, before effortlessly pushing you down onto the ground. Before you have a chance to respond, <<bhe>> moves up and pins you down under <<bhis>> massive size. "<<pPackbrother>> wants breed? Will give breed," <<bhe>> says with a big, lustful smile. <<else>> You draw closer to the Black Wolf, bringing your mouth closer to <<bhis>> dark fur. You place a playful bite on <<bhim>>. You begin rubbing your head against <<bhim>> while you continue to bite at <<bhis>> body. Shortly after, <<bhe>> reciprocates your affection with a gentle bite of <<bhis>> own. <<bHe>> nuzzles you in return. <br><br> Your teasing continues, albeit briefly. The Black Wolf puts <<bhis>> paw on you, before driving you down onto the ground with little to no effort. <<bHe>> eyes you with lustful desire, <<bhis>> leering hinting at what's to come. The Black Wolf eases down on you, intent on mating. <<bHis>> overwhelming weight and size leaves you with few other options. <</if>> <<else>> You bend forward, assuming a submissive stance on your hands and knees, before bringing your shoulders down to stick your butt up and leave your <<print ($player.vaginaExist ? '<<pussy>>' : 'anus')>> exposed to the <<beasttype>>. You begin to whimper softly, demanding the Black Wolf's attention. <<if $NPCList[0].monster>> <br><br> "<<pPackbrother>> must be ready to mate," <<bhe>> says. "Will gladly help with that." <<bHe>> bears down on you, keeping you grounded under <<bhis>> massive size. <<else>> <br><br> <<bHe>> takes notice of your invitation, and draws near to sniff your groin. <<bHe>> seems to understand your intentions, and bears down on you, keeping you grounded under its massive size. <</if>> <</if>> <br><br> <<link [[Next|Wolf Cave Black Wolf Mate]]>><<set $sexstart to 1>><</link>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<clothesstrip>> <<if $phase is 1>> <<set $position to "missionary">> <<set $position_lock to 1>> <<else>> <<set $position to "doggy">> <<set $position_lock to 1>> <</if>> <<npc_attempt_sex>> <<set $NPCList[0].location.head to "head">> <<set $NPCList[0].location.genitals to "genitals">> <<blackwolfhealth>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Black Wolf Mate Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Black Wolf Mate]]>><</link>></span><<nexttext>> <</if>><<if $enemyarousal gte $enemyarousalmax and $phase is 1 and $NPCList[0].vagina is "penis">> <<if $orgasmcurrent is 0>> <<set _forcedOrgasm to true>> <<set $orgasmdown to 3>> <</if>> <<beastejaculation>> <br> <<if _forcedOrgasm>> Despite having an orgasm, the Black Wolf continues pleasuring your <<penis>>. <<set $penisuse to "othervagina">> <<orgasm>> <</if>> The Black Wolf pulls back once satisfied, having hardly broken a sweat. <<if $monster is 1>> "Tired already?" <<bHe>> taunts. "Guess <<ppackbrother>> doesn't want another go." <<bHe>> turns in place, before finally settling down to rest once again. "Felt very good." <<bHe>> turns to you. "Never felt as good and special as with <<ppackbrother>>, hope to birth some strong pups." <<else>> It turns around before slowly dropping it's body down to <<bhis>> settle upon <<bhis>> rock once again. Despite <<bhis>> apparently absent attitude, <<bhe>> seems genuinely satisfied and even relieved to have you with <<bhim>>. <</if>> <br><br> <<elseif $enemyarousal gte $enemyarousalmax and $phase is 0 and (($player.vaginaExist and $NPCList[0].penis is "vagina") or (!$player.vaginaExist and $NPCList[0].penis is "anus"))>> <<beastejaculation>> <br> The Black Wolf pulls back once satisfied, having hardly broken a sweat. <<if $monster is 1>> "Tired already?" <<bHe>> taunts. "Guess <<ppackbrother>> doesn't want another go." <<bHe>> turns in place, before finally settling down to rest once again. "Felt very good." <<bHe>> turns to you. "Never felt as good and special as with <<ppackbrother>>, hope you birth some strong pups." <<else>> It turns around before slowly dropping it's body down to <<bhis>> settle upon <<bhis>> rock once again. Despite <<bhis>> apparently absent attitude, <<bhe>> seems genuinely satisfied and even relieved to have you with <<bhim>>. <</if>> <br><br> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br> The Black Wolf looks perplexed. <<if $monster is 1>> "Didn't you need to mate?" <<else>> <<bHe>> nudges your belly with <<bhis>> nose. <</if>> <br><br> <<else>> The Black Wolf looks perplexed. <<if $monster is 1>> "Didn't you need to mate?" <<else>> <<bHe>> nudges your belly with <<bhis>> nose. <</if>> <br><br> <</if>> You climb to your feet. <br> <<clotheson>> <<endcombat>> <<destinationwolfcave>><<set $location to "wolf_cave">><<effects>> <<if $phase is 0>> You rush over to the young <<beasttype>> and stroke <<bhis>> head. <<bHe>> rears up and licks your face. <<bHes>> fine, just upset by the fall. <<gharmony>><<lferocity>><<ltrauma>><<lstress>><<trauma -6>><<stress -12>> <br><br> <<destinationwolfcave>> <<else>> You ignore the young <<beasttype>>. <<bHe>> soon starts playing again. <<bHes>> fine. <<lharmony>><<gferocity>> <br><br> <<destinationwolfcave>> <</if>><<set $outside to 1>><<set $location to "wolf_cave">><<effects>> <<if $phase is 1>> <<set $phase to 0>> You search for plants long and sturdy enough to build an improvised garment. You find some suitable specimens and tie them together around your chest. It's fragile and revealing, but it's better than nothing. <<plantupper>> <br><br> <<elseif $phase is 2>><<set $phase to 0>> You search for plants long and sturdy enough to build an improvised garment. You find some suitable specimens and tie them together around your waist. It's fragile and revealing, but it's better than nothing. <<plantlower>> <br><br> <</if>> <<link [[Next|Wolf Cave Clearing]]>><</link>> <br><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You play fight with the young <<beasttype>>. <<bHe>> bites your arm and tries to drag you to the ground. When that fails, <<bhe>> bites your leg and tries there. <<bHes>> not very strong. <br><br> <<destinationwolfcave>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> You adopt a mating posture and present yourself to the <<beasttype>>. <<deviancy2>><<set $enemytrust -= 20>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate "<span class='red'>The <<beastsplural>> are too busy thinking about themselves to help you.</span>">> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Lewd Play Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Lewd Play]]>><</link>></span><<nexttext>> <</if>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br> The <<beasttype>> yawns and lies down.<<wolfpacktrust>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> The <<beasttype>> limps away from you. <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<elseif $rescue is 1 and $alarm is 1>><<set $rescued += 1>> The other <<beastsplural>> growl at the <<beasttype>> assaulting you. <<bHe>> growls back at first, but then backs down and leaves you alone. <<lharmony>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<else>> The <<beasttype>> yawns and lies down. <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <</if>> <<destinationwolfcave>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<beastTrainGenerate>> You shift your body to make things easier for the horny <<beasttype>>. <<deviancy1>><<set $enemytrust -= 20>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate "<span class='red'>The <<wolf_cave_plural>> are too busy thinking about themselves to help you.</span>">> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Fight Duo Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Fight Duo]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> <<beastwound>> <<if $combatTrain.length gt 0>> The <<beasttype>> recoils in pain and fear, but the other is eager for a go. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Cave Fight Duo]]>><</link>> <<else>> The <<beasttype>> recoils in pain and fear. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Cave Fight Duo Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the <<beasttype>> moves and another takes its turn. <<wolfpacktrust>> <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Cave Fight Duo]]>><</link>> <<else>> Satisfied, the <<beasttype>> moves away from you. <<combatTrainAdvance>> <<wolfpacktrust>> <br><br> <<link [[Next|Wolf Cave Fight Duo Finish]]>><<set $finish to 1>><</link>> <</if>> <<else>> <<if $consensual is 1>> The <<beastsplural>> groom each other. <br><br> <<else>> <<if $enemywounded is 1 and $enemyejaculated is 0>> The <<beasttype>> whimpers and flees into the darkness between the trees. <<elseif $enemywounded is 0 and $enemyejaculated is 1>> The <<beasttype>> leaves you lying on the grass. <<elseif $enemywounded gte 2 and $enemyejaculated is 0>> Feeling that you're more trouble than you're worth, the <<beasttype 0>> and <<beasttype 1>> flee between the trees. <<elseif $enemywounded is 0 and $enemyejaculated gte 2>> The <<beasttype 0>> and <<beasttype 1>> leave you spent and shivering on the grass. <<elseif $enemywounded gte 1 and $enemyejaculated gte 1>> The <<beasttype 0>> and <<beasttype 1>> leave you spent and shivering on the grass. <</if>> <br><br> <</if>> <<tearful>> you gather yourself. <br><br> <<clotheson>> <<endcombat>> <<destinationwolfcave>> <</if>><<effects>> <<if $phase is 0>> You sit on a nearby log and watch the <<wolf_cave_plural>> howling lively into the crisp air. <<if $sciencetrait gte 3>> You think back to your biology lessons. Wolves can howl for a multitude of reasons, such as bonding, communicating positions, or warding off trespassers. <<else>> You are unsure as to why wolves howl together, but you're content with knowing that it must be a sign of a healthy and sociable pack. <</if>> <br><br> Seeing the pack united and willing to partake in such activities together brings you a feeling of contentment. <<stress -6>><<trauma -3>><<lstress>><<ltrauma>> <<else>> You take a spot in the middle of the noisy crowd. You take a deep breath, before shutting your eyes and raising your head to howl into the crisp forest air. <br><br> <<if $wolfgirl gte 6>> You let your wilder, primal senses take over. <span class="green">Your howling blends beautifully and naturally with that of your brethren.</span> The other <<wolf_cave_plural>> seem to accept you among them, content with letting you howl along with them as just another wolf of the pack. <<stress -12>><<trauma -12>><<llstress>><<lltrauma>> <<elseif $fox gte 6>> You join the rest of the <<wolf_cave_plural>>, letting your instincts take over. You manage some high-pitched yips and yowls, and it doesn't sound too out of place. The <<wolf_cave_plural>> seem to hesitantly accept you among them. <<stress -6>><<lstress>> <<elseif $harpy gte 6>> You join the rest of the <<wolf_cave_plural>>, or so you think. Your instincts take over, and your howling is instead more reminiscent of a cheerful singing. Your harmonic melodies clash with your brethren's howling, leaving them mildly exasperated. <<stress -3>><<lstress>> <<else>> Despite your best efforts, your <<if $cat gte 6>>yowling<<elseif $cow gte 6>>mooing<<else>>scratchy howling<</if>> doesn't seem to convince most of the <<wolf_cave_plural>>. Most don't seem to mind, but some of them are put off by your lacklustre attempts. <<stress -3>><<lstress>> <</if>> <</if>> <br><br> <<destinationwolfcave>><<effects>><<beastNEWinit 1 wolf>><<person1>> You approach the hunters who are resting in their usual spots in preparation for the upcoming hunt. <br><br> Feeling like you could do with a bit of exercise, you assume a belligerent position on all fours and bare your <<if $transformationParts.traits.fangs isnot "disabled">>fangs<<else>>teeth<</if>>. <br><br> One of the hunters, a <<beasttype>>, <<if $wolfpackharmony gte 10 and $wolfpackferocity gte 10>> answers your call to spar and prepares to fight. <<if $monster is 1>> "<<pPackbrother>> should not hold back!" <</if>> <<elseif $wolfpackharmony gte 10>> yawns and lazily walks over to answer your call to spar. <<if $monster is 1>> "Worse ways to kill time." <</if>> <<elseif $wolfpackferocity gte 10>> eagerly jumps up and answers your call to spar. <<if $monster is 1>> "<<pPackbrother>>, you will fall!" <</if>> <<elseif $wolfpackferocity gte 1>> huffs and walks over to you, answering your call to spar. <<if $monster is 1>> "This is fine." <</if>> <<else>> glances your way, before lying down. <<if $monster is 1>> "<span class="red">Cannot waste energy. No point.</span>" <<else>> <span class="red"><<bHe>> doesn't have the energy to spare.</span> <</if>> <<set _reject to 1>> <</if>> <br><br> <<if _reject>> <<link [[Next|Wolf Cave Clearing]]>><</link>> <<else>> <<pass 20>><<stress -6>> <<link [[Go for heavy hits (0:10)|Wolf Cave Spar 2]]>><<set $phase to 0>><</link>><<physiquedifficulty 2000 $physiquemax>> <br> <<link [[Win by stamina (0:10)|Wolf Cave Spar 2]]>><<set $phase to 1>><</link>><<athleticsdifficulty 200 1000>> <br> <<link [[Outmanoeuvre <<bhim>> (0:10)|Wolf Cave Spar 2]]>><<set $phase to 2>><</link>><<dancedifficulty 200 1000>> <br> <</if>><<effects>> <<switch $phase>> <<case 0>> You try to overpower the <<beasttype>> with a few powerful hits, to end the fight quickly and decisively. The <<beasttype>> ducks under your first two swings, but <<if $physiqueSuccess>> <<set _victory to 1>> the third staggers <<bhim>> and the fourth <span class="green">sends <<bhim>> to the ground.</span> <<else>> you catch <<bhim>> with the third. <span class="red"><<bHe>> barely flinches.</span> <<bHe>> <<if $monster is 1>>kicks<<else>>charges into<</if>> your knees with force, and you crumple. <</if>> <<physique 2>> <<case 1>> You try to waste the <<beasttypes>> energy, while expanding as little of your own as possible. The <<beasttype>> lunges forward to attack, and you backpedal. <<bHe>> follows up with a charge, and you step to the side. <<if $athleticsSuccess>> <<set _victory to 1>> <span class="green"><<bHe>> pants, and you strike. <<bHes>> not able to dodge in time.</span> <<else>> <span class="red">Your foot catches a root.</span> You collapse to the ground, and <<bhes>> on you in an instant. With <<bhis>> <<if $monster is 1>>hand<<else>>jaws<</if>> wrapped around your throat, it's clear who the victor is. <</if>> <<athletics 1>> <<case 2>> You try to dance around <<bhim>>, getting in hits while avoiding all of <<bhers>>. <<if $danceSuccess>> <<set _victory to 1>> <span class="green">You find it easy to stave off your opponent's attacks.</span> You evade the <<beasttype>>'s pounce and deliver a decisive blow to <<bhis>> <<if $monster is 1>>face<<else>>muzzle<</if>>. <<else>> You're agile. <span class="red">But not as agile as <<bhim>>.</span> No matter how you try, you can't even land a single blow on <<bhim>>. It's clear <<bhes>> toying with you, and you drop to your knees in exhaustion and defeat. <</if>> <<physique 1>><<danceskill 2>> <</switch>> <<gtiredness>><<tiredness 12>> <<if !_victory>> <<pain 6>><<gpain>> <</if>> <<pass 10>> <br><br> <<if _victory>> <<if $wolfpackharmony gte 10>> Yelping from pain, the <<beasttype>> takes a few steps back before turning and presenting <<bhis>> backside to you. <<if $monster is 1>> "<<pPackbrother>> may take <<pher>> reward." <</if>> <br><br> <<if $bestialitydisable is "f" or $monster is 1>> <<if hasSexStat("deviancy", 3)>> <<link [[Accept the invitation|Wolf Cave Spar Sex]]>><<set $sexstart to 1>><<set $phase to 0>><</link>><<deviant3>> <<else>> <<insufficientStat "deviancy" "to accept such an offer">> <</if>> <br> <</if>> <<link [[Refuse|Wolf Cave Clearing]]>><<endevent>><</link>> <<elseif $wolfpackferocity gte 10>> Yelping from pain, the <<beasttype>> takes a few steps back and growls. <<bHe>> bares <<bhis>> fangs when you try to approach to make sure <<bhe>> isn't hurt. <<if $monster is 1>> "What else <<ppackbrother>> want? You won." <</if>> <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <<else>> Yelping from pain, the <<beasttype>> takes a few steps back before bowing <<bhis>> head and returning to <<bhis>> resting spot. <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <</if>> <<else>> <<if $wolfpackferocity gte 10>> The <<beasttype>> bares <<bhis>> fangs and pins you to the ground. <<bHes>> not satisfied with just beating you in a fight. <br><br> <<if $bestialitydisable is "f" or $monster is 1>> <<if hasSexStat("deviancy", 3)>> <<link [[Submit|Wolf Cave Spar Sex]]>><<set $sexstart to 1>><<set $phase to 1>><<sub 1>><</link>><<deviant3>> <br> <</if>> <<link [[Struggle|Wolf Cave Spar Sex]]>><<set $molestationstart to 1>><<def 1>><</link>> <<else>> You manage to squirm out from under its weight. It growls, snapping at your heels as you flee.<<beastescape>><<pass 5>> <br><br> <<link [[Next (0:05)|Wolf Cave Clearing]]>><<endevent>><</link>> <</if>> <<elseif $wolfpackharmony gte 10>> The <<beasttype>> lets out a satisfied chuff and nudges you with <<bhis>> <<if $monster is 1>>hand<<else>>nose<</if>>. <<bHis>> tail wags affectionately. <br><br> <<if hasSexStat("deviancy", 3) and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Reward|Wolf Cave Spar Sex]]>><<set $sexstart to 1>><<set $phase to 2>><<sub 1>><</link>><<deviant3>> <br> <</if>> <<link [[Take a breather (0:05)|Wolf Cave Clearing]]>><<endevent>><<pass 5>><</link>> <<else>> The <<beasttype>> lets out a satisfied chuff and returns to <<bhis>> resting spot. <br><br> <<link [[Take a breather (0:05)|Wolf Cave Clearing]]>><<endevent>><<pass 5>><</link>> <</if>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <<if $phase is 1>> You decide that struggling will only lead to you getting hurt, so you show the <<beasttype>> that you're willing to cooperate. <<set $enemytrust -= 20>><<set $enemyanger += 20>> <<elseif $phase is 2>> You adopt a mating posture and present yourself to the <<beasttype>>. <<else>> You accept the <<beasttype>>'s invitation. <</if>> <<deviancy3>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> Not keen on letting the <<beasttype>> use you in this manner, you try to tackle <<bhim>> aside. <<bHe>> growls. <<if $monster is 1>> "<<pPackbrother>> lost! Now <<ppackbrother>> submits!" <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate "<span class='red'>The <<beastsplural>> are too busy thinking about themselves to help you.</span>">> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Spar Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Spar Sex]]>><</link>></span><<nexttext>> <</if>><<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br> The <<beasttype>> yawns and lies down.<<wolfpacktrust>> <<elseif $enemyhealth lte 0>> The <<beasttype>> limps away from you. <<if $monster is 1>>"<<pPackbrother>> won... in the end..."<</if>> <<elseif $rescue is 1 and $alarm is 1>><<set $rescued += 1>> The other <<beastsplural>> growl at the <<beasttype>> assaulting you. <<bHe>> growls back at first, but then backs down and leaves you alone. <<lharmony>> <<else>> The <<beasttype>> yawns and returns to where <<bhe>> was resting. <</if>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Wolf Cave Clearing]]>><</link>><<effects>> You clamber atop the Black Wolf's rock, high enough that it can hear you speak. "Why don't you say hello?" you say. <br><br> The <<beasttype>> doesn't react at first. You drop from the rock. Only then does the Black Wolf move, jumping to the grass in a single bound. <<bHe>> walks into the forest. <<if $monster is 1>>"You frightened the pups," you hear. "It's funny-"<</if>> <<gharmony>> <br><br> <<destinationwolfcave>><<effects>> You leave them to their staring contest. <<gferocity>> <br><br> <<destinationwolfcave>><<effects>> The situation is funny enough that it makes you laugh. Some of the tension aggravating you melts away.<<lltrauma>><<llstress>><<trauma -24>><<stress -24>> <br><br> <<if $speech_attitude is "meek">> "It's very cute," you say. "I'm glad you showed me." <<elseif $speech_attitude is "bratty">> "You're so weird." You laugh. "Good <<if C.npc["Black Wolf"].gender is "m">>boy<<else>>girl<</if>>." <<else>> "Thanks," you say. "That's kind of you." <</if>> <br><br> <<if $monster is 1>> <<if C.npc["Black Wolf"].love gte 10>> "Pack feels happier when you're happy," <<bhe>> states while wagging <<bhis>> tail. <<else>> "Pack is stronger when everyone's happy," <<bhe>> states with a nod. <</if>> <<else>> <<if C.npc["Black Wolf"].love gte 10>> Emboldened by your display of gratitude, the wolf walks over you to nuzzle against your face. You laugh while protecting the baby rabbit from <<bhis>> clumsy paws with your hands. <<else>> The wolf simply watches you intensely before breaking eye contact. <</if>> <</if>> <br><br> You tentatively pet the rabbit. It shivers under your touch but does not recoil. You spend some time with your gift before asking the Black Wolf to take it back. Sadly, you do not think taking in a rabbit pet among a wolf pack could end without tragedy. It's better to set it free.<<ltrauma>><<trauma -4>> <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>><<effects>> <<if $outside>> You are in the wolf cave. The ceiling hangs low. There's a breeze blowing from the back. <<else>> You are in the clearing outside the wolf cave. A stream runs by. <</if>> Most of the pack is out hunting. Younger members of the pack growl and snap at each other, practising their fighting. <br><br> An alarmed yelp <<if $outside>>outside<<else>>from the treeline<</if>> attracts your attention. <br><br> <<link [[Investigate|Wolf Cave Bear 2]]>><<set $phase to 0>><</link>><br> <<link [[Ignore|Wolf Cave Bear 2]]>><<set $phase to 1>><</link>><br><<effects>> <<beastNEWinit 1 bear>><<person1>> <<if $phase is 1>> The <<wolf_cave_plural>> are probably just play-fighting. You decide to ignore the noise and continue with what you were doing. This doesn't last long. A large shadow falls over you, and the yelping and growling gets louder. The owner of the shadow bumps into you and groans. <br><br> You turn to find yourself face-to-face with a <<beasttype>>. The creature has been backed up into you by the <<wolf_cave_plural>> trying to drive <<bhim>> away. <<bHe>> shifts <<bhis>> attention to you and growls. <<if $wolfpackleader gte 1>> <br><br> <<if $monsterchance gt 0 and ($hallucinations gte 1 or $monsterhallucinations is "f")>> You hear <<wolf_cave_plural>> calling out for you to deal with <<bhim>><<if $monsterchance lt 100>>, alongside whines and growls of encouragement<</if>>. <<else>> You hear whines and growls of encouragement. <</if>> The pack wants you to fight. <</if>> <<else>> Curious as to the cause of the commotion, <<if $outside is 1>> you make your way over to a group of pups by the trees and <<else>> you leave the cave and <</if>> immediately spot a group of agitated young <<wolf_cave_plural>>. You jog over. <br><br> <<set $outside to 1>> As you draw close, you make out the hulking form that has the group snarling. A <<beasttype>> growls and swipes at one of the <<wolf_cave_plural>> that surround <<bhim>>. <<if $monster is 1>> <br><br> "Loud <<wolf_cave_plural>>," the <<beasttype>> huffs out, "disturb my sleep when hunting. Should teach you all to stay quiet." <</if>> <<if $wolfpackleader gte 1>> <br><br> <<generateBEAST 2 wolf>><<person2>> A <<beasttype 1>> backs up to where you stand. <<if $NPCList[1].monster is "monster">> "Do something!" <<else>> <<bHe>> whines, looking up at you with pleading eyes. <</if>> The pack wants you to fight. <<person1>><<clearsinglenpc 2>> <</if>> <</if>> <br><br> <<set $bus to "wolfcaveclearing">> /* when event is resolved, player will be deposited in the clearing regardless of where they started */ <<link [[Try to calm the <<beasttype>>|Wolf Cave Bear Calm]]>><</link>><<tendingdifficulty 600 1200>><br> <<if $monster is 1 or $bestialitydisable is "f">> <<link [[Fight|Wolf Cave Bear Fight]]>><<set $phase to 0>><<set $molestationstart to 1>><</link>><br> <<else>> <<link [[Fight|Wolf Cave Bear Fight Finish]]>><<set $phase to 1>><</link>><br> /* autoresolve */ <</if>><<effects>> <<if $speech_attitude is "meek">> "D-did we upset you somehow? That isn't very g-good of us. Please, let us make it up to you." You pick a bone up off the ground, a remnant from the pack's last hunt, and show it to the <<beasttype>>. "S-some of our next hunt, maybe?" <<elseif $speech_attitude is "bratty">> "Hey man, calm down! You don't think that we can come to a deal?" You pick a bone up off the ground, a remnant from the pack's last hunt, and wave it in the air. "If we give you a cut of our next hunt, will that make you happy? Think about it, a big juicy cut of meat. Sounds good, big <<if $NPCList[0].pronoun is "m">>guy<<else>>gal<</if>>?" <<else>> "I'm sorry that you're upset," you begin. "Are you sure we can't find a way to make you happy?" You pick a bone up off the ground, a remnant from the pack's last hunt, and hold it up in the air. "Maybe we can give you a big cut of our next hunt?" <</if>> <br><br> <<if $tendingSuccess>> <<if $monster is 1>> The <<beasttype>> considers the picked-over bone. "Good deal," <<bhe>> huffs out. "Food is good. Make me plump for winter." <<else>> The <<beasttype>> sniffs the picked-over bone and huffs in agreement. <<bHe>> seems to accept your deal. <</if>> <br><br> You hold your breath until the <<beasttype>> leaves. You hope that <<bhe>> won't return. The tension vanishes as the pack resumes play-fighting. <<gharmony>> <br><br> <<destinationwolfcave>> <<else>> Your words only seem to enrage <<bhim>> further. With a snarl, the <<beasttype>> leaps forwards, intent on taking <<bhis>> anger out on you. <br><br> <<if $monster is 1 or $bestialitydisable is "f">> <<link [[Fight|Wolf Cave Bear Fight]]>><<set $phase to 0>><<set $molestationstart to 1>><</link>><br> <<else>> <<link [[Fight|Wolf Cave Bear Finish]]>><<set $phase to 1>><</link>><br> /* autoresolve */ <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<npcidlegenitals>> <<set $enemyanger to 200>> <<set $enemytrust -= 40>> Letting out a loud yell, you pounce forwards, intent on defending your home. <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red">The <<wolf_cave_plural>> aren\'t willing to join the fray.</span>'>> <br><br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Bear Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Bear Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0 or $phase is 1>> With a scream, you kick out at the <<beasttype>>'s face, landing a strong hit. <<bHe>> lets out an equally loud <<if $monster is 1>>yell<<else>>roar<</if>> as <<bhe>> rears back. The pack snarls in delight at your victory. <<if $phase is 1>> /* autoresolve */ However, the exertion leaves you worse for wear. <<beastescape>> <</if>> <br><br> Cautious and wounded, the <<beasttype>> backs away from you and the <<wolf_cave_plural>> who circle around you, growing more confident and aggressive. <<if $monster is 1>> "Too strong. Stronger than thought," <<bhe>> breathes out, <<else>> <<bHe>> lets out a scared growl <</if>> before turning tail and fleeing. <<gferocity>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> lets out a satisfied noise and pulls away from you. <<if $monster>> "Noises forgotten. I will go home now." <</if>> <<bHe>> nuzzles at your face before turning and lumbering off, leaving you on the ground. <br><br> The <<wolf_cave_plural>> seem disappointed, but relieved that no one got hurt. <</if>> <br><br> <<clotheson>> <<endcombat>> <<destinationwolfcave>><<effects>> What would you like to give the Black Wolf? <br><br> <<food_gift_list>> <<if _food_gift_found is true>> <<skinicon "give">><<link [[Give gift (0:05)|Black Wolf Gifts]]>><<pass 5>><<give_gift "Black Wolf">><</link>> <br> <</if>> <<refuseicon>><<link [[Reconsider|Black Wolf Gifts Reconsider]]>><</link>> <br><<effects>> The Black Wolf sniffs the air. <br><br> <<link [[Next|Wolf Relax]]>><</link>> <br><<effects>> <<set _gift to $gift.handheld_gift || $gift.handheld>> <<wearProp _gift>> <<if $phase is 1>> "I've brought you something," you say. <<elseif $phase is 2>> "I made something," you say. "Just for you." <<else>> "I've made you a gift," you say. "I hope you like it." <</if>> <br><br> <<if $gift.special.includes("carnivore")>> The Black Wolf looks at the <<recipe_name $gift.name>> with predatory eyes. <<bHe>> sniffs, then leaps at it, knocking you off your feet. <<bHe>> devours the meal in seconds.<<glove>><<npcincr "Black Wolf" love 1>> <br><br> <<if $monster gte 1>> <<bHe>> licks <<bhis>> lips. "Tender," <<bhe>> says. "Sweet. No blood. Strange, but I like it." <<else>> <<bHe>> licks <<bhis>> lips, then your face, with approval. <</if>> <br><br> The Black Wolf lies down, contented. <br><br> <<saveFavoriteFood "Black Wolf" $gift.name>> <<earnFeat "Encroaching Civilisation">> <<elseif $gift.special.includes("drink")>> The Black Wolf looks at the <<recipe_name $gift.name>> with predatory eyes. <<bHe>> sniffs, then sticks <<bhis>> tongue in. <<bHe>> laps up the drink, knocking the vessel over in <<bhis>> eagerness, but <<bhe>> seems happy enough to lick it off the floor.<<glove>><<npcincr "Black Wolf" love 1>> <br><br> <<if $monster gte 1>> "Tasty," <<bhe>> says. "Town water? Don't tell others. They'd take dangerous risks." <<else>> <<bHe>> licks your face, in thanks, when finished. <</if>> <br><br> The Black Wolf lies down, contented. <br><br> <<saveFavoriteFood "Black Wolf" $gift.name>> <<earnFeat "Encroaching Civilisation">> <<else>> The Black Wolf looks at the <<recipe_name $gift.name>> with predatory eyes. <<bHe>> sniffs, then leaps at it, knocking you off your feet. <<bHe>> bites into the meal, then spits it out, and growls at you. <br><br> <<if $monster gte 1>> "That's not food," <<bhe>> says. "It's got plants in it. You tricked me." <<else>> <span class="blue">Perhaps <<bhe>> wants something fit for a carnivore.</span> <</if>> <br><br> <<bHe>> lies down, and sulks. <br><br> <</if>> <<link [[Next|Wolf Relax]]>><<handheldon>><</link>> <br><<effects>><<beastNEWinit 2 wolf>> <<unset $halloween_lake>><<unset $halloweenWolves>> You approach the noisy mob of wolves. They've gathered around a distressed and injured member. It's the <<beasttype 0>> you saw at the lake being attacked by students. <br><br> <<if $monster is 1>> The Black Wolf rushes to the scene, shoving the others aside. "Move, stand back!" <<nnpc_he "Black Wolf">> yells. <<nnpc_His "Black Wolf">> eyes widen in shock after seeing the <<beasttype 0>>. The Black Wolf carries a look of concern, but tries <<nnpc_his "Black Wolf">> best to hide it. "What has happened to pack sibling?" <br><br> "Was hungry, looking for scraps at... lake." <<bHe 0>> admits ashamed. "Humans saw and attacked. Some followed while ran away..." <<bhe>> says, still shaken from the encounter. <br><br> "Pack not supposed to tread lake!" the Black Wolf protests. "Why would sibling disobey orders?" <<nnpc_Hes "Black Wolf">> beside <<nnpc_himself "Black Wolf">> with anger. "Humans attack sibling, and now walking into pack territory," <<nnpc_he "Black Wolf">> growls. "Must teach lesson!" <<else>> The Black Wolf rushes to the scene, shoving the others aside. <<bHis>> eyes widen in shock after seeing the <<beasttype 0>>. You spot what seems to be a look of concern on the Black Wolf's posture. <<nnpc_He "Black Wolf">> draws closer to inspect the wolf. <br><br> Upon closer inspection, you notice that the <<beasttype 0>> has a minor injury over <<bhis>> side, no doubt from <<bhis>> run in with the students. The bruise doesn't seem very concerning, so the animal is most likely just spooked. <br><br> The Black Wolf catches on to the scent lingering over the <<beasttype 0>> and growls furiously in response. <<nnpc_He "Black Wolf">> must be aware that this is the work of a human. The Black Wolf rises up and marches on in the direction of the lake. <</if>> <br><br> <<link [[Next|Wolf Halloween 2]]>><</link>><<effects>> <<if $monster is 1>> Before the Black Wolf has a chance to leave, a younger <<beasttype 1>> stands in the way and embraces <<bhim>>. "Black Wolf stay!" <<bhe>> pleads. "Must protect pack!" The Black Wolf stops for a moment and considers. <<nnpc_His "Black Wolf">> demeanor changes, and <<nnpc_he "Black Wolf">> crouches down to soothe the trembling <<beasttype 1>>. <br><br> "Will go look for humans!" declares another <<beasttype 0>>. "Will teach not to intrude in pack territory!" <br><br> The Black Wolf nods in response, while seeing to the other member's state. <<nnpc_He "Black Wolf">> glances over at you, but says nothing. <<else>> Before the Black Wolf has a chance to leave, a younger <<beasttype 1>> stands in the way and snuggles <<nnpc_him "Black Wolf">>, nudging <<nnpc_him "Black Wolf">> with <<bhis 1>> snout. The youngster must be worried about the cave being left unprotected. The Black Wolf stops for a moment and considers. <<nnpc_His "Black Wolf">> demeanor changes, and <<nnpc_he "Black Wolf">> crouches down to soothe the trembling <<beasttype 1>>. <br><br> Another <<beasttype 0>> seems to have other plans. A small group of <<wolf_cave_plural>> gathers around it, intent on hunting down the responsible humans. <br><br> The Black Wolf seems satisfied with the proposition. <<bHe>> stays in order to see to the other member's state. <<bHe>> glances over at you curiously. <</if>> <br><br> <<if $pound and $pound.progress gte 6>> <<link [[Go with the hunting party|Wolf Halloween Dog]]>><</link>> <<else>> <<link [[Go with the hunting party|Wolf Halloween 3]]>><<set $phase to 0>><</link>> <</if>> <br> <<link [[Stay at the cave|Wolf Halloween Stay]]>><</link>><<effects>> You shake your head and walk away from the group. The <<beasttype 0>> huffs, before taking off and disappearing into the night. A few other <<wolf_cave_plural>> follow the lead. <br><br> <<destinationwolfcave>><<effects>><<loadNPC 2 "black_dog">> You join the group of <<wolf_cave_plural>>. <<if $monster is 1>> "Glad to have <<ppackbrothers>> help," <<bhe>> says. <<else>> They seem glad to have you at their side. <</if>> <br><br> As the party prepares to leave, you spot a large looming figure appear from behind the bushes. It's the Black Dog. <<if $monster is 1>> "If going after humans, should let me follow," <<bhe 2>> declares. "Saved from them once, allow to return favour." A hint of apprehension betrays <<bhis 2>> seemingly determined attitude. <<else>> You wonder if the dog may feel an odd sense of gratitude towards you for saving <<bhim 2>> from the pound. It may prove advantageous to have more help during the expedition. <</if>> <br><br> <<link [[Accept|Wolf Halloween 3]]>><<set $phase to 1>><</link>> <br> <<link [[Decline|Wolf Halloween 3]]>><<set $phase to 2>><</link>><<effects>> <<if $phase is 0>> <<endevent>><<beastNEWinit 3 wolf>> You join the group of <<wolf_cave_plural>>. <<if $monster is 1>> "Glad to have <<ppackbrothers>> help," <<bhe>> says. <<else>> They seem glad to have you at their side. <</if>> <<elseif $phase is 1>> <<set $blackDog to true>> You nod at the Black Dog, prompting <<bhim 2>> to join the party. "Have dealt with humans before, know what pack will face," <<bhe 2>> comments. <<elseif $phase is 2>> You reach out to the Black Dog, signalling <<bhim 2>> to stay. The dog gives you a worried look, but nods in response. You gather the rest of the <<wolf_cave_plural>> and venture out. <</if>> <br><br> <<generateyv4>><<generateyv5>><<generateyv6>> You walk through the forest along with <<if $blackDog>>the Black Dog and<</if>> the rest of the <<wolf_cave_plural>>. A more well-seasoned <<beasttype 0>> follows a set of tracks for the others to follow. <br><br> Your group suddenly comes to a halt. Despite your disadvantage in tracking skills, you hear the echoing of laughter while the smell of beer hangs in the air. The students from the lake must be nearby. You sneak through the bushes and spot three people around your age. They can be heard bantering and laughing loudly to one another. <br><br> "You're a real bastard, you know that?" says a <<person4>><<person>> wearing a scarecrow costume. <br><br> "Oh shut your mouth, that fucking mutt was going to attack us. I'm a bloody hero!" answers the <<person5>><<person>> through <<his>> robot helmet. <br><br> "It looked just like my dog, I wanted to pet it!" adds a <<person6>><<person>> donning a lion onesie. <br><br> The <<group>> chatter amongst themselves, completely unaware to your presence. <br><br> <<link [[Confront|Wolf Halloween 4]]>><<set $phase to 0>><</link>> <br> <<link [[Warn|Wolf Halloween 4]]>><<set $phase to 1>><</link>><<effects>> You creep around the unaware partygoers, stepping out of the bushes to meet them face to face. <<if $phase is 0>> <<if $speech_attitude is "meek">> "H-Hey you...! Stop!" <<elseif $speech_attitude is "bratty">> "Hey assholes, listen here!" <<else>> "Hold it right there, you lot!" <</if>> you shout. <br><br> The trio is startled for a moment, before setting their eyes on you and laughing in relief. "What's this dumb slut doing here?" the <<person5>><<person>> chuckles. <br><br> "You lost?" asks the <<person4>><<person>>. "You cute little thing. Come with us, we'll keep you company." <br><br> <<if $speech_attitude is "meek">> "You three... You're so mean!" you say. "Now we're going to teach you a lesson!" <<elseif $speech_attitude is "bratty">> "You fuckers never should have come here," you spit. "We're pissed now, and we want payback!" <<else>> "Attacking a defenceless animal was a huge mistake," you say. "We're here to get even!" <</if>> <br><br> They stare at you in a mix of confusion and anger. The <<person5>><<person>> laughs. "Who is <i>we</i>, slut?" <<elseif $phase is 1>> <<if $speech_attitude is "meek">> "You guys really messed up..." you say. "T-They are so mad now. You should have just run!" <<elseif $speech_attitude is "bratty">> "You three are knee deep in it now," you say. "They're fucking pissed, not sure if I can help you now..." <<else>> "You've really done it now," you say. "They're fuming right now. They'll want to teach you a lesson." <</if>> <br><br> "They?" asks the <<person5>><<person>>. "Are you threatening us, slut? Who is they?" <</if>> <br><br> <<link [[Next|Wolf Halloween 5]]>><</link>><<effects>> <<if $blackDog>> The <<person4>><<person>> moves closer, but is immediately flanked by the Black Dog. The <<beasttype 2>> has no trouble throwing the teen to the ground. <<else>> The <<person4>><<person>> moves closer, but is immediately jumped by a <<beasttype 1>>. The beast catches the student by surprise, and drives <<person4>><<him>> down onto the ground. <</if>> <br><br> The other two students yell. The <<person6>><<person>> reaches for a rock in the ground. As <<he>> winds for a throw, <<his>> arm is caught in the maws of a <<beasttype 0>> emerging from the bushes. They tussle for a moment, before the <<beasttype 0>> manages to wrestle <<person6>><<him>> to the floor. <br><br> "Call someone, go get some help please!" they shout to the <<person5>><<person>>. <<He>> comes to <<his>> senses and makes a run for it, before being cut off by two other pack members. The <<person>> freezes in place. <br><br> The three are rounded up together. The pack circles around them with an anger they can barely contain. <br><br> <<link [[Leave them with a warning|Wolf Halloween 6]]>><<set $phase to 0>><</link>> <br> <<link [[Tease them|Wolf Halloween 6]]>><<set $phase to 1>><</link>><<effects>> <<if $phase is 0>> <<if $speech_attitude is "meek">> "I-I hope you've learned your lesson you three!" you say. "Bad people always get what's coming to them!" <<elseif $speech_attitude is "bratty">> "If we ever see you three fucks wandering here again..." you threaten. "You'll get much worse than just a scare." <<else>> "We'll let you go unharmed... this time," you say. "You're lucky my pack wasn't hungry tonight!" <</if>> <br><br> The students nod in response. They hold each other tightly as they shiver in fear. <<elseif $phase is 1>> <<if $speech_attitude is "meek">> "Happy Halloween!" you manage, containing your laughter. "Never seen anyone this scared, geez!" <<elseif $speech_attitude is "bratty">> "Happy Halloween!" You chuckle at them. "Don't get mad, everyone is entitled to a good pant shitting tonight!" <<else>> "Like the pups, do you?" you laugh. "Not so funny when you're outnumbered, is it?" <</if>> <br><br> They give you a collective look of confusion. "Who the fuck..." manages the <<person4>><<person>>. <</if>> <br><br> Satisfied with your stunt, you turn to leave back to the cave, only to notice that the <<wolf_cave_plural>> aren't following. <br><br> The pack remains captivated with the students, who stick together and tremble in fear. A <<beasttype 0>> eyes the <<person5>><<person>> with unrestrained lust, before lunging for <<him>>, making <<him>> shriek. <br><br> "Leave <<him>> alone!" yells the <<person6>><<person>>, smacking the <<beasttype 0>> in the face. The <<beasttype 0>> growls, angered. The other <<wolf_cave_plural>> grow ever bolder with their advances. <br><br> You yell at the <<wolf_cave_plural>>, telling them to leave the three alone. They turn in unison, and you're met with the unfamiliar sight of <span class="red">a pack of ravenous <<if $monster is 1>>monsters<<else>>beasts<</if>> bathed in red moonlight</span>, not the same ones you remember from just hours ago. <br><br> <<if $wolfpackleader is 1>> <<set _winReason to "Alpha">> <<elseif $blackDog>> <<set _winReason to "Black Dog">> <</if>> <<link [[Insist|Wolf Halloween 7]]>><<stress 6>><<set $phase to 0>><</link>><<gstress>><<note _winReason "gold">> <br> <<link [[Back off|Wolf Halloween 7]]>><<set $phase to 1>><</link>><<effects>> <<if $phase is 0>> <<if $wolfpackleader is 1 or $blackDog>> <<famegood 10>> <<if $wolfpackleader is 1>> "I said that's enough!" you yell. "I am the alpha and you will listen to me!" <br><br> The <<wolf_cave_plural>> relent their assault, pacing menacingly towards you instead. A <<beasttype 1>> growls, before shoving you aside and marching angrily towards the cave along with the rest of the wolves. <<else>> "I said stop!" you yell. "They got the message!" <br><br> The <<wolf_cave_plural>> relent their assault, pacing menacingly towards you instead. A <<beasttype 1>> prepares to lunge, but is stopped by the Black Dog, who steps in front of you shielding you behind <<bhim 2>>. The <<beasttype 1>> growls, before joining <<bhis 1>> brethren on their way back to the cave. <</if>> <<if $monster is 1>>"<<pPackbrother>> should not get in way of pack."<</if>><<gferocity>> <br><br> <<if $blackDog>> <<if $monster is 1>> The Black Dog gives you a slight smile of approval as <<bhe 2>> leaves. "Glad friend showed mercy tonight," <<bhe 2>> says. "Should never punish violence with more violence." <<else>> The Black Dog wags <<bhis 2>> tail happily in approval. Could <<bhe 2>> have felt pity for the teens, given their defenceless position? <</if>> <br><br> <</if>> You approach the sobbing students. The <<person4>><<person>> flinches at your touch, but you manage to help <<him>> to <<his>> feet and pat the dirt off <<his>> costume. <<if $speech_attitude is "meek">> "I-it wasn't supposed to go that far," you say. "Please, just... don't mess with the pack again." <<elseif $speech_attitude is "bratty">> "Well, that nearly went to shit," you say. "Keep away from the pack, and it won't happen again." <<else>> "I lost control of the situation," you say. "Sorry about the scare, but don't attack the pack again." <</if>> <br><br> The students scramble to their feet and run away, disappearing behind the trees. You decide it's best to return to the cave for now. <br><br> <<unset $blackDog>> <<destinationwolfcave>> <<else>> "I said stop!" you yell. "They got the message!" <br><br> The <<wolf_cave_plural>> relent their assault, pacing menacingly towards you instead. The <<beasttype 1>> growls. <<if $monster is 1>>"<<pPackbrother>> has forgotten place. Will gladly remind!"<</if>> <br><br> <<saveNPC 3 "halloween_lake">> <<beastNEWinit 3 wolf>> <<link [[Next|Wolf Halloween Fight]]>><<set $molestationstart to 1>><</link>> <</if>> <<elseif $phase is 1>> You step away from the <<wolf_cave_plural>>, and see them pounce on the helpless trio. Fabric flies through the air as their costumes are torn to shreds and their bodies are laid bare to the feral beasts. <<if $monster is 1>>A <<beasttype 0>> lets loose a wild roar, not bothering with words anymore.<</if>> <br><br> <<if $blackDog>> The Black Dog attempts to intervene, but is stopped by one of the <<beasttype 1>>s. <<if $monster is 1>> "Back off, outsider!" <<bhe>> yells. "Lucky we even allow to follow!" <<else>> It doesn't seem wise to provoke their ire in a moment like this. <</if>> <br><br> <</if>> You witness in horror the display of cruelty and ruthlessness of the pack as they have their wicked way with the students. The three of them are mercilessly raped for what feels like hours until the last of the <<wolf_cave_plural>> is finally sated. They leave their ruined prey laying on the grass as they march off. <<trauma 6>> <br><br> The students scramble to their feet, with their costumes completely destroyed. They sob inconsolably as they shamble away with what little dignity they have left. <br><br> <<if $blackDog>> The Black Dog remains by your side. <<if $monster is 1>> "Sorry about humans," <<bhe>> utters in a disheartened tone. "Don't blame friend, never intended things to be like this, I'm sure." You <<else>> <<bHe 2>> whimpers in regret as <<bhe 2>> watches the students leave. You wonder if even the Black Dog may have found their punishment too severe. You pet <<bhim 2>> in reassurance, and <</if>> walk together back to the relative safety of the cave. <<else>> Nothing can be done to help. You decide it's best to return to the relative safety of the wolf cave for the night. <</if>> <br><br> <<unset $blackDog>> <<destinationwolfcave>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>><<beastTrainGenerate>> <<set $enemytrust -= 40>><<set $enemyanger to 60>> <</if>> <<effects>> <<effectsman>> <<alarmstate "The students watch in horror, but <span class='red'>do nothing to help.</span>">> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Halloween Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Halloween Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyhealth lte 0>> <<beastwound>> <<if $combatTrain.length gt 0>> The <<beasttype>> recoils in pain and fear, but another is eager for a go. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Halloween Fight]]>><</link>> <<else>> The <<beasttype>> recoils in pain and fear. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Halloween Fight Finish]]>><<set $finish to 1>><</link>> <</if>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the <<beasttype>> moves and another takes its turn. <<wolfpacktrust>> <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Halloween Fight]]>><</link>> <<else>> Satisfied, the <<beasttype>> moves away from you.<<wolfpacktrust>> <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Halloween Fight Finish]]>><<set $finish to 1>><</link>> <</if>> <<else>> <<if $enemywounded gt $enemyejaculated>> <<famegood 10>> You stand triumphantly over the defeated <<wolf_cave_plural>>. They recover shortly after. They keep their distance, now seemingly less eager to provoke you. <br><br> <<endevent>> <<loadNPC 0 "halloween_lake">> <<tearful>> you approach the sobbing students. The <<person1>><<person>> flinches at your touch, but you manage to help <<him>> to <<his>> feet and pat the dirt off <<his>> costume. <<if $speech_attitude is "meek">> "Oh, it was dumb of you to come here!" you protest. "It's scary and dangerous. Stay in town next time, okay?" <<elseif $speech_attitude is "bratty">> "You idiots." You scowl at them. "Don't go doing stupid shit like this again, got it? I won't be around next time." <<else>> "Not the brightest move to annoy the pack, was it?" you ask. "Go on, get out of here." <</if>> <br><br> The students scramble to their feet and run away, disappearing behind the trees. You decide it's best to return to the cave for now. <<elseif $enemywounded is 0>> The <<wolf_cave_plural>> settle down, their palpable lust abated. They leave your spent body laying on the ground before leaving to the cave. <br><br> <<tearful>> you raise to your feet and look around for the students. They must have scrambled off during the commotion. You take a moment to recuperate and make your way back to the cave. <</if>> <br><br> <<clotheson>> <<endcombat>><<clearNPC "halloween_lake">> <<destinationwolfcave>> <</if>><<set $location to "wolf_cave">><<effects>> <<if $wolfpacktrust gte 18 or $wolfpackleader gte 1>> <<if playerIsPregnant() and playerBellySize() gte 15>> <<set _pregnancy to getPregnancyObject()>> <<npc "Black Wolf">> You try to follow the <<wolf_cave_plural>>, but the Black Wolf turns and sniffs around your belly. <<if $monster is 1>> "Stay! Watch young. Protect belly." <<if _pregnancy.type is "wolf" and _pregnancy.potentialFathers.find(father => father.source === "Black Wolf")>> As <<bhe>> proudly looks at your belly.<<set $blackWolfPregnancyHunt to true>> <</if>> <<else>> <<bHe>> <<if _pregnancy.type is "wolf" and _pregnancy.potentialFathers.find(father => father.source === "Black Wolf")>> looks more confidant than normal and clearly<<set $blackWolfPregnancyHunt to true>> <</if>> wants you to stay with the younger <<wolf_cave_plural>> to protect you and your growing belly. <</if>> <br><br> <<endevent>> You watch as they depart between the trees. <br><br> <<destinationwolfcave>> <<elseif $blackWolfNotHunting>> <<npc "Black Wolf">> The Black Wolf sits, watching from <<bhis>> rock with <<bhis>> extended belly showing. <<endevent>> <br><br> <<if $wolfpackleader gte 1>> The pack bays and howls as members nip and bite each other in excitement. But no one has started running yet. They're all looking at you. <<else>> Members of the pack snarl and bite over who gets to lead the hunt. <</if>> <<set $outside to 1>> <br><br> <<link [[Take the lead (0:15)|Wolf Cave Hunt No Black Wolf Start]]>><<set $phase to 1>><</link>> <br> <<link [[Look away (0:30)|Wolf Cave Hunt No Black Wolf Start]]>><</link>> <<else>> <<set $dateCount.BlackWolfHunts++>> You follow the <<wolf_cave_plural>> as they depart between the trees. They don't stop you. <br><br> <<set $outside to 1>> Not far from the cave they break into a run. They move fast. It's hard to keep up. <<physique 1>><<gathletics>><<athletics 1>><<pass 10>> <br><br> <<wolfhuntevents>> <</if>> <<else>> You try to follow the <<wolf_cave_plural>>, but the Black Wolf turns and growls at you. <<npc "Black Wolf">> <<if $monster is 1>> "Stay! Watch young. Build trust." <<else>> <<bHe>> wants you to stay with the younger <<wolf_cave_plural>>. <</if>> <br><br> <<endevent>> You watch as they depart between the trees. <br><br> <i>If they trusted you more, they might be willing to let you come along.</i> <br><br> <<destinationwolfcave>> <</if>><<set $location to "wolf_cave">><<effects>> <<if $phase is 1>> <<set $phase to 0>> <<npc "Black Wolf">> Black Wolf huffs, but dutifully stands. <<if playerIsPregnant() and playerBellySize() gte 15>> <<if $monster is 1>> "Will bring prey, for pups." <<else>> <<bHe>> gives your pregnant belly a lick before leaving. <</if>> <<elseif $wolfpackleader is 1 and (statusCheck("Black Wolf").love lt 125 or $wolfpackharmony lt 18)>> <<if $monster is 1>> "Alpha should lead hunt." <<else>> <<bHe>> looks disapproving, but heeds your decision nonetheless. <</if>> <<if $wolfpackharmony lt 18>> <<npcincr "Black Wolf" love -1>><<llove>> <</if>> <<else>> <<if $monster is 1>> "Will bring prey, my mate." <<else>> <<bHe>> gives you a lick on the cheek before leaving. <</if>> <<gharmony>> <<gferocity>> <</if>> <br><br> <<bHe>> bounds off to lead the pack as they depart between the trees, leaving you with the younger <<wolf_cave_plural>>. <<endevent>> <<elseif $blackWolfNotHunting>> The pack departs between the trees, leaving you and the Black Wolf with the younger <<wolf_cave_plural>>. <<if $wolfpackleader gte 1>> <<npc "Black Wolf">> <<if $monster is 1>> <br><br> "Alpha should be leading." When <<bhe>> notices you staring, <<bhe>> huffs, seemingly disappointed. <</if>> <<endevent>> <</if>> <<else>> The pack departs between the trees, leaving you with the younger <<wolf_cave_plural>>. <</if>> <br><br> <<if $wolfpackferocity gte 15 and $rng gte 90>> <<link [[Next|Wolf Cave Bear]]>><</link>> <<else>> <<destinationwolfcave>> <</if>><<location "forest">><<effects>> You run with the pack alongside the river. You come to a soft patch of grass. Some of the <<wolf_cave_plural>> lie down for a rest. <br><br> <<if $wolfpackleader gte 1>> <<link [[Rest (1:00)|Wolf River Rest]]>><<tiredness -12>><</link>> <br> <<link [[No time for rest|Wolf River Rouse]]>><</link>> <br> <<if $rng gte 51>> <<link [[Let the Black Wolf decide|Wolf River Rest]]>><<tiredness -12>><</link>> <br> <<else>> <<link [[Let the Black Wolf decide|Wolf River Rouse]]>><</link>> <br> <</if>> <<else>> <<npc "Black Wolf">> <<if $rng gte 51>> The Black Wolf lies down too, and you and the other <<wolf_cave_plural>> follow suit. <<if $monster is 1>> "Rest. Save strength." <</if>> <br><br> <<link [[Next (1:00)|Wolf River Rest]]>><<tiredness -12>><</link>> <br> <<else>> <<if $monster is 1>> The Black Wolf barks. "No time for rest! Scent on the wind. Be swift." <<else>> The Black Wolf growls at them, and they stand back up. <</if>> <br><br> <<link [[Next|Wolf River Rouse]]>><</link>> <br> <</if>> <</if>> <<endevent>><<location "forest">><<effects>> You come to a decaying stump at the base of the cliff. There's a collection of mushrooms growing at its base, some red some pink. <<if currentSkillValue('science') gte 400>> You recognise the red ones as wolfshrooms, thought to grant strength and prized by warriors in ancient times. You recognise the pink ones too. They're an aphrodisiac, and poisonous to many animals. Including <<wolf_cave_plural>>. <<elseif currentSkillValue('science') gte 200>> You recognise the red ones as wolfshrooms, thought to grant strength and prized by warriors in ancient times. You don't recognise the pink ones. <<else>> You don't recognise either of them. <</if>> <br><br> <<tendingicon "wolfshroom">><<link [[Take red mushroom|Wolf Cliff2]]>><<set $wolfpackshroom to "red">><</link>> <br> <<tendingicon "mushroom_aphrodisiac">><<link [[Take pink mushroom|Wolf Cliff2]]>><<set $wolfpackshroom to "pink">><<arousal 600>><</link>><<garousal>> <br> <<refuseicon>><<link [[Leave them alone|Wolf Cliff2]]>><</link>> <br><<location "forest">><<effects>> The pack rests for a while. You think you even fall asleep. <<pass 45>> <<gharmony>><<lferocity>><<ltiredness>> <br><br> The hunting party soon becomes restless, and the hunt continues. <<physique 1>><<gathletics>><<athletics 1>><<pass 10>> <br><br> <<wolfhuntevents>><<location "forest">><<effects>> The pack is roused and the hunt continues. <<physique 1>><<gathletics>><<athletics 1>><<pass 10>> <br><br> <<wolfhuntevents>><<location "forest">><<effects>> The pack starts to move again, and you run to keep up with them. <<physique 1>> <<gathletics>><<athletics 1>><<pass 10>> <br><br> <<wolfhuntevents>><<npc "Black Wolf">> <<location "forest">><<effects>> You follow the deer tracks. They lift their heads more frequently, as if they can smell something you can't. After some time they break into a sprint. <br><br> <<if $athleticsSuccess>> They don't hold back for you, <span class="green">but you're able to keep up.</span> You soon arrive at a clearing. On the other side stands a lone deer. It stops grazing and breaks into a panicked run at the sight of the pack. <br><br> <<if 20 + $wolfpackharmony + $wolfpackferocity gte $rng>> It bounds through the forest, weaving between the trees and out of sight. The Black Wolf breaks from the rest of the pack and races after it. You break into another clearing and find the Black Wolf stood triumphant over <<bhis>> prey. <br><br> <<if random(1,5) is 1>> <<endevent>><<beastNEWinit 1 wolf>><<saveNPC 0 rival_wolf>> The pack gathers around their prey, but something stops them before they get the chance to feast. A different pack reveals itself in front of you. Teeth bared, they approach bearing a menacing posture. <br><br> <<if $wolfpackleader is 1>> Their leader, a larger <<beasttype>>, has <<bhis>> eyes fixed on you. <<if $monster is 1>> "You leader?" <<bhe>> growls. "Pack stand down! Give quarry now!" <<else>> <<bHe>> growls aggressively, demanding that you surrender the prey to <<bhim>>. <</if>> <br><br> A small group at first, you start to notice more of the rival pack members stepping out from behind the bushes, surrounding the rest of your brethren. They outnumber you. <br><br> <<endevent>><<npc "Black Wolf">> The Black Wolf stands by your side. <<if $monster is 1>> "Give order," <<bhe>> whispers to you. "Pack will follow." <</if>> <br><br> The <<wolf_cave_plural>> waits for your signal. <br><br> <<endevent>><<loadNPC 0 rival_wolf>> <<link [[Fight the leader|Wolf Rival Challenge]]>><</link>> <br> <<if hasSexStat("deviancy", 2)>> <<link [[Offer yourself to the pack|Wolf Rival Offer]]>><</link>><<deviant2>> <br> <</if>> <<link [[Retreat|Wolf Rival Retreat]]>><</link>> <<else>> Their leader, a larger <<beasttype>>, has <<bhis>> eyes fixed on the Black Wolf. <<if $monster is 1>> "You leader?" <<bhe>> growls. "Pack stand down! Give quarry now!" <<else>> <<bHe>> gives the Black Wolf a chilling glare, demanding that the pack surrender the prey to <<bhim>>. <</if>> <br><br> <<endevent>><<npc "Black Wolf">> The Black Wolf snarls back, but flattens <<bhis>> ears. You start to notice more of the rival pack members stepping out from behind the bushes, surrounding the rest of your brethren. They outnumber you. <br><br> <<bHis>> confidence lost from the sudden approach, the Black Wolf seems unsure as to how to respond. <br><br> <<if hasSexStat("deviancy", 2)>> <<endevent>><<loadNPC 0 rival_wolf>> <<link [[Offer yourself to the pack|Wolf Rival Offer]]>><</link>><<deviant2>> <br> <</if>> <<link [[Flee|Wolf Rival Flee]]>><</link>><<athleticsdifficulty 1 1000>> <</if>> <<else>> The Black Wolf keeps the choice parts for <<bhimself>>. You find some berries growing nearby which serve you better. You sit by the deer. <<if $monster is 1>> <<bHe>> sits next to you and places a hand on your head. "Good hunt. Success thanks to <<ppackbrother>>." <</if>> <<stress -12>><<lstress>> <br><br> The pack lazes around, eating at their leisure. A small dispute breaks out and the Black Wolf leaves <<bhis>> place by the deer to quell it. <br><br> <<endevent>> <<wolfpackhuntoptions>> <</if>> <<else>> It bounds through the forest, weaving between the trees. The pack races after it, but they tire quickly running at such speed. The deer escapes. <br><br> <i>Higher harmony and ferocity increases the chance of a successful hunt.</i> <br><br> Dejected but not broken, the <<wolf_cave_plural>> try to pick up the scent of easier prey. They catch something on the breeze and break into a run. <<physique 2>><<gathletics>><<athletics 4>> <br><br> <<endevent>> <<set $bus to "wolfcaveclearing">> <<wolfhuntevents>> <</if>> <<else>> They don't hold back for you, <span class="red">and you're unable to keep up</span>. You lose them in the forest. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $forest to 60>><</link>> <br> <</if>> <<pass 60>><<location "forest">><<effects>> <<beastNEWinit 1 boar>><<npc "Black Wolf" 2>> You follow the trail and arrive at a grassy knoll. On its top lies a deer carcass, being chewed on by a wild <<beasttype>>. <<bHe 0>> spots the pack and glares down. <br><br> <<if $rng gte 51>> Before the rear <<wolf_cave_plural>> even arrive, the <<beasttype 0>> leaps over the carcass and charges down the hill, straight at you! <br><br> <<link [[Stand your ground|Wolf Carrion Stand]]>><</link>><<physiquedifficulty 2000 12000>> <br> <<link [[Run|Wolf Carrion Run]]>><</link>> <br> <<else>> Before the last of the pack arrive, the <<beasttype 0>> leaps over the carcass and charges down the hill, straight at the Black Wolf. <br><br> <<if $wolfpackharmony + $wolfpackferocity + 20 gte $rng>> The Black Wolf stands <<bhis 1>> ground. The attacker veers away and runs into the forest. <br><br> The Black Wolf keeps the choice parts for <<bhimself 1>>. You find some berries growing nearby which serve you better. You sit by the deer. <<if $monster is 1>> <<bHe 1>> sits next to you and places a hand on your head. "Good hunt. Always stand ground, <<ppackbrother>>." <</if>> <<stress -12>><<lstress>> <br><br> The pack lazes around, eating at their leisure. A small dispute breaks out and the Black Wolf leaves <<bhis 1>> place by the deer to quell it. <br><br> <<endevent>> <<wolfpackhuntoptions>> <<else>> The Black Wolf stands <<bhis 1>> ground, and the attacker's charge knocks <<bhim 1>> aside. <<bHe 0>> runs amok among the pack, who panic and run for the safety of the trees. <br><br> <i>Higher harmony and ferocity increases the chance of a successful hunt.</i> <br><br> You run with the pack into the forest. There must be easier prey. <<physique 2>><<gathletics>><<athletics 4>> <br><br> <<endevent>> <<set $bus to "wolfcaveclearing">> <<wolfhuntevents>> <</if>> <</if>> <<pass 60>><<location "forest">><<effects>> <<beastNEWinit 1 bear>><<npc "Black Wolf" 2>> You come to a small cave and see a large shape rise and fall in a steady rhythm. It's a <<beasttype 0>>, lying with <<bhis 0>> eyes shut beside a fresh kill. It looks like a deer. The pack creeps closer. They'll need the element of surprise. <br><br> <<set $skulduggerydifficulty to 300>> <<link [[Distract it|Wolf Bear Distract]]>><</link>><<skulduggerydifficulty>> <br> <<link [[Attack|Wolf Bear Attack]]>><</link>> <br><<location "forest">><<effects>> The pack seems uneasy. They wouldn't normally track a pack of humans unless the situation was dire. They follow you regardless. Their run slows to a prowl, and soon after you hear laughter ahead. You creep forward. Three hunters sit around a fire. A deer carcass lies on the ground beside them. They each have a rifle. <br><br> A frontal attack would be very risky. <br><br> <<if $exposed gte 2>> <<if hasSexStat("exhibitionism", 5)>> You feel more conscious of your <<lewdness>> now that you're faced with other people. It would be so embarrassing to stride into the middle of them like this. But it could work to your advantage. <br><br> <<set $skulduggerydifficulty to 400>> <<link [[Distract them|Wolf Hunters Distract]]>><<set $phase to 0>><</link>><<skulduggerydifficulty>><<exhibitionist5>> <br> <<else>> You feel more conscious of your <<lewdness>> now that you're faced with other people. There's no way you can let them see you. <br><br> <</if>> <<elseif $exposed gte 1>> <<if hasSexStat("exhibitionism", 3)>> You feel more conscious of your <<lewdness>> now that you're faced with other people. It would be so embarrassing to stride into the middle of them like this. But it could work to your advantage. <br><br> <<set $skulduggerydifficulty to 600>> <<link [[Distract them|Wolf Hunters Distract]]>><<set $phase to 1>><</link>><<skulduggerydifficulty>><<exhibitionist3>> <br> <<else>> You feel more conscious of your <<lewdness>> now that you're faced with other people. There's no way you can let them see you. <br><br> <</if>> <<else>> <<set $skulduggerydifficulty to 800>> <<link [[Distract them|Wolf Hunters Distract]]>><<set $phase to 2>><</link>><<skulduggerydifficulty>> <br> <</if>> <<link [[Attack|Wolf Hunters Attack]]>><</link>> <br> <<link [[Leave|Wolf Hunter Leave]]>><</link>> <br><<location "forest">><<effects>> <<npc "Black Wolf">> <<if $phase is 0>><<set $wolfpackshroom to "none">> <<wearProp "wolfshroom">> You crumble the red mushroom onto the Black Wolf's food. <<bHe>> spots you and growls, but relents when <<bhe>> sees you carry nothing away. <<bHe>> returns to <<bhis>> place and continues eating. Over the next few hours <<bhe>> becomes more territorial, glaring at other <<wolf_cave_plural>> who approach the deer. <<gferocity>> <br><br> <<elseif $phase is 1>><<set $wolfpackshroom to "none">> <<wearProp "pinkshroom">> You crumble the pink mushroom onto the Black Wolf's food. <<bHe>> spots you and growls, but relents when <<bhe>> sees you carry nothing away. <<bHe>> returns to <<bhis>> place and continues eating. Over the next few hours <<bhe>> becomes lethargic. The other <<wolf_cave_plural>> notice and try their luck at parts of the deer they wouldn't normally be allowed. <<lferocity>><<set $wolfpackpoisoned to 1>> <br><br> <</if>> <<endevent>><<beastNEWinit 1 wolf>> You lie on the grass with your head resting on a <<beasttype>>. All that running is tiring. You close your eyes and sleep. You're awoken when the <<beasttype>> you were resting on stands up. <br><br> <<endevent>> <<set $huntstate to "success">> <<wolfhuntevents>><<location "forest">><<effects>> <<generate1>><<generate2>><<generate3>> The pack gets into position around the camp, then rush in from all directions! <br><br> <<if $wolfpackharmony + $wolfpackferocity - 20 gte $rng>> The hunters are quick to react, but not quick enough. A <<person1>><<person>> reaches for <<his>> gun, which <<he>> left where <<he>> sat, but it's too late. The Black Wolf lunges and grabs <<his>> arm. <br><br> The other <<wolf_cave_plural>> follow the Black Wolf's lead. You back away as they drive the hunters into a tight circle with their backs against each other. <br><br> "Th-this is m-mad," the <<person>> stammers. <br><br> <<earnFeat "Top of the Food Chain">> <<link [[Demand valuables|Wolf Hunters Valuables]]>><</link>><<crime "thievery">> <br> <<link [[Let them go|Wolf Hunters Go]]>><</link>> <br> <<else>> The hunters are quick to react. They grab their rifles and fire at the pack. The bullets whiz into the forest. Though unharmed, the <<wolf_cave_plural>> turn their tails and flee to safety. You go with them. <<lharmony>><<lferocity>> <br><br> <i>Higher harmony and ferocity increases the chance of a successful hunt.</i> <br><br> You run into the forest once more, the pack following close behind. There must be easier prey. <<physique 1>><<gathletics>><<athletics 1>><<pass 15>> <br><br> <<endevent>> <<set $bus to "wolfcaveclearing">> <<wolfhuntevents>> <</if>><<location "forest">><<effects>> <<generate1>><<generate2>><<generate3>> <<if $phase is 0>> <<flaunting>> you emerge from the safety of the trees, naked. You hear one of your packmates whimper somewhere behind you but you don't stop. You see the hunters more clearly now, and march right into the middle of them. <<exhibitionism5>> They gape at you. The closest, a <<person1>><<person>>, is the first to speak. "Why, if it isn't a forest nymph, come to keep us warm." <<He>> stands up, and the others do too. <br><br> <<elseif $phase is 1>> <<flaunting>> you emerge from the safety of the trees, despite being exposed so. You hear one of your packmates whimper somewhere behind you but you don't stop. You see the hunters more clearly now, and march right into the middle of them. <<exhibitionism3>> They gape at you. The closest, a <<person1>><<person>>, is the first to speak. "Looks like you forgot to dress properly." <<He>> stands up, and the others do too. <br><br> <<else>> You emerge from the safety of the trees. You hear one of your packmates whimper somewhere behind you but you don't stop. You see the hunters more clearly now, and march right into the middle of them. <br><br> They jump and reach for their guns when they see you, but soon calm down. The closest, a <<person1>><<person>>, is the first to speak. "You shouldn't sneak up on people like that," <<he>> says. "You're liable to get hurt." <<He>> leers at you as <<he>> stands up, and the others do too. <br><br> <</if>> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<skulduggeryuse>> A <<person2>><<person>> cocks <<his>> head as if listening, <span class="green">but doesn't hear anything.</span> <<He>> grins at you. "Walking the woods all alone are we? Don't fret, we'll look after you." <br><br> "That's right," a <<person3>><<person>> says next as <<he>> eyes you up and down. "Question is, what shall we do with you?" <br><br> They're so taken by you they don't notice the many pairs of eyes glowing in the dark, drawing closer. The <<person1>><<person>> looks over <<his>> friend's shoulder and horror spreads on <<his>> face. <<He>> reaches for <<his>> gun, which <<he>> left where <<he>> sat, but it's too late. The Black Wolf lunges and grabs <<his>> arm. <br><br> The other <<wolf_cave_plural>> follow the Black Wolf's lead. You back away as they drive the hunters into a tight circle with their backs against each other. <br><br> "Th-this is m-mad," the <<person>> stammers. <br><br> <<earnFeat "Top of the Food Chain">> <<link [[Demand valuables|Wolf Hunters Valuables]]>><</link>><<crime "thievery">> <br> <<link [[Let them go|Wolf Hunters Go]]>><</link>> <br> <<else>> <<skulduggeryskilluse>> "<span class="red">I heard that</span>," a <<person2>><<person>> announces, and in once swift movement <<he>> picks up a stone and hurls it into the shrubs around their camp. You hear rustling and pattering feet. It fades away. The pack was so on edge it was enough to spook them into fleeing. <br><br> "Looks like your friends have done a runner," a <<person3>><<person>> says. "Pity. I bet they're as cute as you." <<He>> reaches towards you. "Now come 'ere." <br><br> <<link [[Next|Wolf Hunter Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<location "forest">><<effects>> It's not worth the risk. You turn and run, the relieved <<wolf_cave_plural>> following close behind. <<physique 1>><<gathletics>><<athletics 1>><<pass 15>> <br><br> <<set $bus to "wolfcaveclearing">> <<wolfhuntevents>><<location "forest">><<effects>> <<set $wolfpackrob to 1>> <<if $speech_attitude is "meek">> "Give me your money and valuables," you say. "Then leave us to eat in peace." <<elseif $speech_attitude is "bratty">> "Your money and valuables," you say. "Before I feed you to my family." <<else>> "Your money and valuables," you say. "Hurry, I can't hold them back forever." <</if>> The pack growls. <br><br> They pull money out of pockets and take off their jewellery. They drop it all in a pile at their feet before being marched from the camp by the <<wolf_cave_plural>> nipping at their heels. They rush to the deer carcass once they are out of earshot. <br><br> <<if $rng gte 96>> You find <<moneyGain 200 true true>> in cash, as well as assorted baubles you think are very valuable. <<set $blackmoney += 800>><<crimeUp 800 "thievery">> <<elseif $rng gte 51>> You find <<moneyGain 50 true true>> in cash, as well as assorted baubles you think are quite valuable. <<set $blackmoney += 50>><<crimeUp 50 "thievery">> <<else>> You find <<moneyGain 20 true true>> in cash, as well as assorted baubles you think are quite valuable. <<set $blackmoney += 30>><<crimeUp 30 "thievery">> <</if>> <<endevent>> <<npc "Black Wolf">> The Black Wolf keeps the choice parts of the deer for <<bhimself>>. You rummage in a bag left behind by the hunters and find some canned food that suits you better. You sit by the deer. <<stress -12>><<lstress>> <br><br> <<if $wolfpackspray isnot 1>><<set $wolfpackspray to 1>> <<wearProp "pepperspray">> You find a strange cylinder among their things. It looks like a charge for your pepper spray, but with an exposed computer chip at the base. You put it in. <<gspraymax>><<set $spraymax += 1>><<spray 5>> <br><br> <span class="gold">You've gained an additional pepper spray charge.</span> <br><br> <</if>> <<if $monster is 1>> The Black Wolf sits next to you and places a hand on your head. "Good hunt. Humans apex predators. With you, we can do anything, <<ppackbrother>>." <</if>> The pack lazes around, eating at their leisure. A small dispute breaks out and the Black Wolf leaves <<bhis>> place by the deer to quell it. <br><br> <<wolfpackhuntoptions>><<location "forest">><<effects>> <<if $speech_attitude is "meek">> "Leave us alone," you say. "We only want to eat in peace." <<elseif $speech_attitude is "bratty">> "Leave," you say. "Before I change my mind and feed you to my family." <<else>> "Leave," you say. "I can't hold them back forever." <</if>> The pack growls. <br><br> The hunters nod and march from the camp with <<wolf_cave_plural>> nipping at their heels. They rush to the deer carcass once they are out of earshot. <br><br> <<endevent>> <<npc "Black Wolf">> The Black Wolf keeps the choice parts for <<bhimself>>. You rummage in a bag left behind by the hunters and find some canned food that suits you better. You sit by the deer. <<stress -12>><<lstress>> <br><br> <<if $wolfpackspray isnot 1>> <<set $wolfpackspray to 1>> <<wearProp "pepperspray">> You find a strange cylinder among their things. It looks like a charge for your pepper spray, but with an exposed computer chip at the base. You put it in. <<gspraymax>><<set $spraymax += 1>><<spray 5>> <br><br> <span class="gold">You've gained an additional pepper spray charge.</span> <br><br> <</if>> <<if $monster is 1>> The Black Wolf sits next to you and places a hand on your head. "Good hunt. Humans apex predators. With you, we can do anything, <<ppackbrother>>." <</if>> The pack lazes around, eating at their leisure. A small dispute breaks out and the Black Wolf leaves <<bhis>> place by the deer to quell it. <br><br> <<wolfpackhuntoptions>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>><<set $enemyanger += 50>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Hunter Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Hunter Rape]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "I said the trip would be worth it," the <<person1>><<person>> says. "What now?" <br><br> <<person2>>"I know," the <<person>> says. <<He>> produces a rope from a bag beside the fire and ties your arms together. "There. Have fun being wolf food." <<tearful>> you leave the camp. You walk until their laughter fades behind you. <br><br> <<set $leftarm to "bound">><<set $rightarm to "bound">><<handheldruined>> <<else>> The <<person1>><<person>> stumbles backwards and steps in the fire. <<tearful>> you push past <<him>> and flee into the forest. <br><br> <</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $forest to 1>><</link>><<location "forest">><<effects>> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> You sneak up to the cave. You think you hear the <<beasttype 0>> snore. <span class="green">You sneak behind <<bhim 0>>.</span> The rest of the pack inches closer. One of them snaps a twig, and the <<beasttypes>> eyes shoot open. You throw a rock at <<bhim 0>>, and <<bhe 0>> turns to face you. <<bHe 0>> rears up and roars, unaware of the <<wolf_cave_plural>> right behind <<bhim 0>>. They attack <<bhim 0>> from behind, biting at <<bhis 0>> limbs and clawing at <<bhis 0>> back. <br><br> <<skulduggeryuse>> Groggy and surrounded, the <<beasttype 0>> stumbles away from the cave and leaves the deer carcass unguarded. <<if $monster is 1>>"Thieving wolves... take the deer if you want it so badly!"<</if>> The Black Wolf keeps the choice parts for <<bhimself 1>>. You find some berries growing nearby which serve you better. You sit by the deer. <<stress -12>><<lstress>> <br><br> <<endevent>> <<npc "Black Wolf">> <<if $monster is 1>> The Black Wolf calls you over. "Bear no match for pack strength. <<pPackbrother>> did well." <</if>> The pack lazes around, eating at their leisure. A small dispute breaks out and the Black Wolf leaves <<bhis>> place by the deer to quell it. <br><br> <<wearProp "rock">> <<wolfpackhuntoptions>> <<else>> You sneak up to the cave. You think you hear the <<beasttype 0>> snore. <span class="red">You're right beside <<bhim 0>> when <<bhe 0>> opens <<bhis 0>> eyes and looks straight at you!</span> The <<wolf_cave_plural>> flee into the night and the <<beasttype 0>> rears over you. <br><br> <<link [[Next|Wolf Bear Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<location "forest">><<effects>> The pack creeps up to the cave. The <<beasttypes 0>> eyes open, and the pack lunges at <<bhim 0>>. <br><br> <<if $wolfpackharmony + $wolfpackferocity + 20 gte $rng>> The <<beasttype 0>> tries to stand, but it's too late. Several sets of jaws clamp down on <<bhis 0>> body. <<bHe 0>> roars in pain and swipes at the attackers, but they jump back to safety. <br><br> Groggy and hurt, the <<beasttype 0>> stumbles away from the cave and leaves the deer carcass unguarded. <<if $monster is 1>>"Thieving wolves... take the deer if you want it so badly!"<</if>> The Black Wolf keeps the choice parts for <<bhimself 1>>. You find some berries growing nearby which serve you better. <<stress -12>><<lstress>> <br><br> <<endevent>> <<npc "Black Wolf">> <<if $monster is 1>> The Black Wolf calls you over. "Bear no match for pack strength. <<pPackbrother>> did well." <</if>> The pack lazes around, eating at their leisure. A small dispute breaks out and the Black Wolf leaves <<bhis>> place by the deer to quell it. <br><br> <<endevent>> <<wolfpackhuntoptions>> <<else>> The Black Wolf strikes, but the <<beasttype 0>> is too quick. <<bHe 0>> swipes the Black Wolf to the side, and the other <<wolf_cave_plural>> turn and flee. The Black Wolf follows, unhurt save for <<bhis 1>> pride. <br><br> <i>Higher harmony and ferocity increases the chance of a successful hunt.</i> <br><br> You run with the pack into the forest. There must be easier prey. <<physique 1>><<gathletics>><<athletics 1>><<pass 15>> <br><br> <<endevent>> <<set $bus to "wolfcaveclearing">> <<wolfhuntevents>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>><<set $enemyanger += 40>><<set $enemyhealthmax to 400>><<set $enemyhealth to 400>><<set $enemyarousalmax to 1000>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Bear Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Bear Rape]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Satisfied, the <<beasttype>> returns to sleep. <<elseif $enemyhealth lte 0>> You scare the mighty <<beasttype>>. <<bHe>> flees deeper into <<bhis>> abode. It's a shame the pack ran, as there's nothing guarding the carcass. <</if>> <br><br> <<tearful>> you stagger from the cave. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $forest to 60>><</link>> <br><<location "forest">><<effects>> You plant your feet and stand your ground. <<if $physiqueSuccess>> <span class="green">The <<beasttype 0>> veers away from you</span>, and runs into the forest. <br><br> The Black Wolf keeps the choice parts for <<bhimself 1>>. You find some berries growing nearby which serve you better. You sit by the deer. <<endevent>><<npc "Black Wolf">> <<if $monster is 1>> <<bHe>> sits next to you and places a hand on your head. "Good hunt. Always stand ground, <<ppackbrother>>." <</if>> <<stress -12>><<lstress>> <br><br> The pack lazes around, eating at their leisure. A small dispute breaks out and the Black Wolf leaves <<bhis>> place by the deer to quell it. <br><br> <<endevent>> <<wolfpackhuntoptions>> <<else>> <span class="red">The <<beasttype 0>> doesn't stop.</span> <<bHe 0>> knocks you aside and runs amok among the pack, who run for the safety of the forest. Before you can stagger to your feet the <<beasttype 0>> is on top of you. <br><br> <<link [[Next|Wolf Carrion Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<location "forest">><<effects>> You run away from the <<beasttype 0>>. <<bHe 0>> runs amok among the pack, who panic and run for the safety of the trees. <br><br> You run with the pack into the forest. There must be easier prey. <<physique 1>><<gathletics>><<athletics 1>><<pass 15>> <br><br> <<endevent>> <<set $bus to "wolfcaveclearing">> <<wolfhuntevents>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Carrion Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Carrion Rape]]>><</link>></span><<nexttext>> <</if>><<location "forest">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Satisfied, the <<beasttype>> climbs the hill and continues to eat. <<elseif $enemyhealth lte 0>> You scare the <<beasttype>> away from you. <<bHe>> squeals and flees. It's a shame the pack ran as there's nothing guarding the carcass. <</if>> <br><br> <<tearful>> you walk into the trees. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest]]>><<set $forest to 60>><</link>> <br><<effects>> Your pack has no chance of winning this fight. You walk towards the larger <<beasttype>>, wanting to settle things one on one. Your opponent closes in and lunges at you without a second thought once you come into range. <br><br> <<link [[Next|Wolf Rival Fight]]>><<set $fightstart to 1>><</link>><<if $fightstart is 1>> <<set $fightstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemyanger += 200>> <<set $enemyhealth to 300>><<set $enemyhealthmax to 300>> <</if>> <<set $enemyanger += 10>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Wolf Rival Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Rival Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<set _victory to 1>> <<beastejaculation>> The <<beasttype>>'s eyes unfocus, and <<bhe>> absently wanders off. The rival pack seems confused, but with their leader leaving, they reluctantly pull away from you and your pack. <<tearful>> you stand up. <<elseif $enemyhealth lte 0>> <<set _victory to 1>> <<tearful>> you stand triumphant over your defeated foe. The <<beasttype>> scurries away from you and into the safety of its pack. They quickly begin taking their leave, leaving your pack to revel in its rightful quarry. <<else>> <<set _victory to 0>> You can't fight any longer, and collapse to the ground. The <<beasttype>> holds your neck<<if $monster isnot 1>> with <<bhis>> teeth<</if>>, but lets go of you. <<trauma 6>><<gtrauma>> <br><br> <<if $monster is 1>> "Weak alpha," <<bhe>> scoffs. "Pack must be ashamed. Scurry home with tail between legs, runt." <br><br> <</if>> The rival pack drags the carcass away, leaving you to face the disappointed looks of your brethren. <<tearful>> you stand up, avoiding their eyes. <<lharmony>><<lferocity>> <</if>> <br> <<endcombat>><<clearNPC rival_wolf>><<npc "Black Wolf">> <<clotheson>> <<if _victory is 1>> The Black Wolf howls, and you and the pack join in. The forest echoes with the song of your victory. <<stress -12>><<trauma -6>><<llstress>><<ltrauma>><<gharmony>><<gferocity>> <br><br> <<if $wolfpackharmony gte $wolfpackferocity>> The Black Wolf nudges your side. <<if $monster is 1>> "Good leader act strong," <<bhe>> says. "Great leader proves strength. Pack is lucky to have <<ppackbrother>>." <<else>> <<bHe>> licks your hand. <</if>> <<else>> The Black Wolf lets out a feral bark in the direction the other pack left. <<if $monster is 1>> "Should finish fight," <<bhe>> growls. "Never worry about rivals again. Strong leader shows no mercy!" <</if>> <</if>> <<else>> <<if $wolfpackharmony gte $wolfpackferocity>> The Black Wolf nuzzles you tenderly. <<if $monster is 1>> "Leader fought bravely," <<bhe>> says. "But pack respect strength. Leader must be strong if want pack to follow." <<else>> <<bHe>> doesn't scorn you for your loss, at least. <</if>> <<else>> The Black Wolf steps in front of you, and gives you a low growl. <<if $monster is 1>> "If pack must rely on weak leader to hunt, pack will starve!" <<he>> snarls. "Alpha win next time, or alpha lose pack!" <</if>> <</if>> <</if>> <br><br> <<endevent>> <<wolfpackhuntoptions>><<effects>> You begin to walk towards the rival pack. The alpha <<beasttype>> growls as you approach. You drop to your hands and knees and adopt a mating posture in front of the <<beastsplural>>. <br><br> <<if $monster is 1>> The <<beasttype>> marches up to you, pushing your head down onto the ground and holding you tightly. "Take food," <<bhe>> says to the Black Wolf. "We found tastier prey..." The rest of the <<beasttype>>'s pack draws closer, allowing your own party to take back its original hunt. <<else>> Their leader approaches to sniff you, before holding your hair in its teeth and mounting you from behind. The rest of the pack draws closer, leaving their previous quarry unattended and free for your friends to take. <</if>> <br><br> The alpha <<beasttype>> approaches first. <br><br> <<for _wolfNum = 2; _wolfNum < 5; _wolfNum++>> <<generateBEAST _wolfNum "wolf">> <</for>> <<link [[Next|Wolf Rival Molestation]]>><<set $molestationstart to 1>><<set $phase to 1>><</link>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<beastTrainGenerate>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Rival Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Rival Molestation]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the <<beasttype>> leaves you be. Another takes <<bhis>> place. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Rival Molestation]]>><</link>> <<else>> Satisfied, the <<beasttype>> leaves you be. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Rival Molestation End]]>><</link>> <</if>> <<elseif $enemyhealth lte 0>> <<beastwound>> <<if $combatTrain.length gt 0>> The <<beasttype>> recoils in pain and fear, but another takes <<bhis>> place. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Rival Molestation]]>><</link>> <<else>> The <<beasttype>> recoils in pain and fear. <<combatTrainAdvance>> <br><br> <<link [[Next|Wolf Rival Molestation End]]>><</link>> <</if>> <</if>><<effects>> <<if $enemyejaculated is 0>> <<if $phase is 1>> Despite their tremendous advantage in numbers, you manage to fight off the ravenous pack, leaving them to run off beyond the bushes with their tails between their legs. <<else>> Feeling you're more trouble than you're worth, the <<beasttype>> retreats. <</if>> <<else>> Satisfied, they leave you on the ground to recover, before darting away and disappearing into the night. <</if>> <<tearful>> you stand up. <br><br> <<endcombat>><<clotheson>><<clearNPC rival_wolf>> You climb to your feet and take a couple of minutes to recuperate. Luckily, you manage to spot a trail of paw prints left by your pack where the deer once was, which you manage to successfully follow back to the safety of your cave.<<gharmony>><<lferocity>> <br><br> <<set $huntstate to "finished">> <<if $wolfstate is "hunt">> <<set $wolfstate to "cave">> <</if>> <<link [[Next|Wolf Cave Clearing]]>><</link>><<effects>> <<endevent>><<beastNEWinit 1 wolf>> Not wanting to take part in the ensuing fight, you pay close attention to the beasts, looking for your chance to run away. Once the fighting breaks out, you turn around and break into a run. A <<beasttype>> takes notice of your attempted retreat and begins to chase after you. <br><br> <<if $athleticsSuccess>> <<clearNPC rival_wolf>> You run as fast as your legs will allow, <span class="green">and the <<beasttype>> soon loses sight of you</span>. Having thrown your pursuer off your trail, you take a few minutes to catch your breath. <br><br> <<link [[Next|Forest]]>><<endevent>><<set $forest to 60>><</link>> <<else>> You run as fast as your legs will allow, <span class="red">but you're overtaken by the <<beasttype>></span>. <<bHe>> tackles you down onto the floor. <br><br> <<if $monster is 1>> "Coward try to run?" <<bHe>> growls. "Will teach lesson!" <br><br> <</if>> <<link [[Next|Wolf Rival Molestation]]>><<set $molestationstart to 1>><</link>> <</if>><<effects>> You measure your options and come to realise that this fight would be best avoided. You look at the rest of your <<wolf_cave_plural>> and wave at them to leave. <br><br> A <<beasttype>> from the opposing pack approaches to attack but is stopped by its leader. <<if $monster is 1>> "Let cowards go," <<bhe>> says dismissively. "Not worth fighting. Cut losses." <</if>> <br><br> <<endevent>><<clearNPC rival_wolf>> The rival pack drags the carcass away, leaving the <<wolf_cave_plural>> of your own pack to leave empty-handed. They look at you with contempt as they go along. <<npc "Black Wolf">> The Black Wolf stops by your side, looking at you with sadness. <<if $monster is 1>> "Leader used to be strong and feral," <<bhe>> says. "Pack won't follow weak leader." <</if>> <br><br> <<endevent>> <<wolfpackhuntoptions>><<effects>> <<if $phase is 1>> <<beastNEWinit 1 wolf>> You take a deep breath before running into the trees. Pack members chase on behind you, some following, some trying to take over your lead. One <<beasttype>> in particular seems intent on taking over the hunt. <<physique 1>><<gathletics>><<athletics 1>> <br><br> <<pass 15>> <<link [[Trip (0:30)|Wolf Cave Hunt Outrun]]>><<set $phase to 1>><</link>><<dancedifficulty 600 1200>> <br> <<link [[Try to outrun (0:30)|Wolf Cave Hunt Outrun]]>><<set $phase to 0>><</link>><<athleticsdifficulty 600 1200>> <<else>> Not wanting to lead, you keep your head down and wait for someone else to take over.<<if $wolfpackleader gte 1>> You hear the Black Wolf snarl behind you.<</if>> <br><br> Eventually, a larger wolf takes charge, and the hunt begins. <br><br> Several other wolves still fight for the right to lead as they run. <<physique 1>><<gathletics>><<athletics 3>> <<pass 30>> <br><br> <<link [[Next (1:00)|Wolf Cave Hunt Not Taking the Lead]]>><<pass 60>><</link>> <</if>><<effects>> <<if $phase is 1>> <<if $danceSuccess>> You keep your lead up for a while before a strain begins in your leg. Not wanting to lose, you strike out with your foot, <span class="green">tripping up the <<beasttype>></span>. You hear <<bhim>> whine as <<bhe>> falls. <<gferocity>> <br><br> <<link [[Next (0:15)|Wolf Cave Hunt Taking the Lead]]>><<pass 15>><</link>> <<else>> You keep up your lead for a while before a strain begins in your leg. Not wanting to lose, you strike out with your foot, but the <<beasttype>> dodges quickly and you end up tripping instead. <<physique 6>><<gdanceskill>><<danceskill 6>><<pass 30>> <br><br> <<link [[Next (0:30)|Wolf Cave Hunt Not Taking the Lead]]>><<pass 30>><</link>> <</if>> <<clearsinglenpc 0>> <br> <<else>> <<if $athleticsSuccess>> You push hard to stay ahead in the race, sweat dripping down your brow the longer you go on. <span class="green">You keep your lead</span>, your challenger eventually breaking away to drink some water from a small pond. <br><br> The pack had pushed hard to keep up, most members pausing to take drinks themselves. <<gharmony>> <br><br> <<link [[Next (0:15)|Wolf Cave Hunt Taking the Lead]]>><<pass 15>><</link>> <<else>> You push hard to stay ahead in the race, sweat dripping down your brow the longer you go on. You end up falling behind, the burn in your legs too great to ignore. <<physique 1>><<gathletics>><<athletics 3>><<pass 30>> <br><br> Other members pant just as hard. The sight of a small pond is a welcome respite for you all to drink from. <br><br> <<link [[Next (0:30)|Wolf Cave Hunt Not Taking the Lead]]>><<pass 30>><</link>> <</if>> <br> <</if>><<effects>> <<if $wolfgirl gte 6>> In charge, a scent hits your nose. It's familiar. Deer. Several of the pack members catch the scent too, looking over to you. <<else>> In charge, you see tracks in the mud. Hooves, likely a deer. Pack members sniff at them, tails wagging in excitement. <</if>> <br><br> You once again begin to run, this time with a target in mind. <br><br> <<link [[Next (1:00)|Wolf Cave Hunt Taking the Lead 2]]>><<pass 60>><</link>><<effects>> You try to keep the pack uniform, remembering how the Black Wolf would lead. This is difficult, with older members trying to take over or the younger ones falling behind to play. <br><br> The pack makes it close enough to see the deer in the clearing. It seems to be on high alert, looking up frequently and eating little. Thankfully, you are all downwind, obscured by the brush. <br><br> The thought of taking it down still doesn't appease you. Instead, you pick a member with experience, who seems eager to take the role. <br><br> Pack members move into place before striking out. Panicked, the deer bolts, but the pack keeps up. <br><br> <<link [[Next (0:30)|Wolf Cave Hunt No Black Wolf Deer]]>><<pass 30>><</link>><<effects>> You just begin to catch your breath when excited yips and whines sound off. A scent has been found, the proper hunt beginning. <br><br> <<link [[Next (1:00)|Wolf Cave Hunt Not Taking the Lead 2]]>><<pass 60>><</link>><<effects>> There seems to be further struggles for power as more wolves try to organise the pack. Some nip, some bark, some barge to ensure everyone stays together. <br><br> All sounds fall quiet when the pack gets in range of the deer. Downwind and hidden by the brush, you see as one <<wolf_cave_singular>> directs the others into place, ready to jump out at the prey. <br><br> The leader begins, starting at a slow trot. The deer bolts, and the chase begins anew. <br><br> <<link [[Next (0:30)|Wolf Cave Hunt No Black Wolf Deer]]>><<pass 30>><</link>><<effects>> You manage to keep up with the deer on its left side, further away than other pack members nipping at its ankles. <br><br> Weaving between the trees, you come ahead of the hunt. The deer is slowly being worn down, more and more wolves catching up to it. <br><br> It seems the hunt will be successful when the deer pushes with all of its might. Sharp teeth snap after it as the deer almost escapes their grasps. <br><br> Behind you the river roars over rapids, a fallen tree acting as a bridge. If the deer escapes and makes it across, the pack will go hungry. <br><br> You make it to the tree trunk. The chaos of the hunt grows louder behind you, the deer narrowly being caught again. <br><br> <<link [[Push the trunk|Wolf Cave Hunt Push the trunk]]>><<tiredness 2>><</link>><<physiquedifficulty 5000 16000>><<gtiredness>> <br> <<link [[Do nothing|Wolf Cave Hunt Do nothing]]>><</link>><<effects>> <<if $physiqueSuccess>> After all of the running, your limbs strain and ache. Despite this, you are able to grit your teeth and roll the log until it splashes into the water. <br><br> A split second later, the deer balks, having escaped the pack only to stumble at the edge of the river bank. With nowhere to run, it tries to leap over the pack to run back to the clearing... <span class="green">it doesn't make it</span>. <br><br> The pack howls in excitement. It was a big catch, and they'll all be full tonight. <br><br> Hungry in your own right, you let your eyes wander. They land on a low apple tree, the fruit ripe and delicious. <<endevent>> <<set $huntstate to "success">> <<wolfhuntevents>> <<else>> After all of the running, your limbs strain and ache. The ache is too much, you feel it too deeply, and a cramp begins to spread up your leg. You collapse to the ground before you can roll the log away. <br><br> The deer makes its final escape attempt, bounding over you and onto the log. A <<wolf_cave_singular>> goes to follow, but the fallen tree breaks in half just as the deer makes it to the other side. <br><br> The pack whines and howls, disappointed and hungry. They leave you alone soon after, still desperate for food. You eat well enough, grabbing the small rabbit for the Black Wolf to eat. <br><br> <<set $huntstate to "failure">> <<wolfhuntevents>> <</if>><<effects>> Not wanting to be part of the fight, you go looking for easier food. An apple tree stands a few metres away, you will be able to eat. You notice a rabbit caught in a hunter's trap as you forage. <br><br> <<if $wolfpackharmony + $wolfpackferocity gte $rng>> The deer makes its final escape attempt, bounding over you towards a log, <span class="green">but is tackled by a <<wolf_cave_singular>> before it is able to make it</span>. <br><br> The pack howls in excitement. It was a big catch, and they'll all be full tonight. <br><br> Hungry in your own right, you let your eyes wander. They land on a low apple tree, the fruit ripe and delicious. <<endevent>> <<set $huntstate to "success">> <<wolfhuntevents>> <<else>> The deer makes its final escape attempt, bounding over you and onto the log. A <<wolf_cave_singular>> goes to follow, but the fallen tree breaks in half just as the deer makes it to the other side. <br><br> <<if $wolfpackleader gte 1>> Pack members turn on you, snarling and nipping at your skin. Some elder <<wolf_cave_plural>> chastise you for standing there and doing nothing. "<<print ["Is Alpha truly worthy?", "Packmate is weak."][random(0,1)]>>" <br><br> <</if>> They leave you alone soon after, still desperate for food. You eat well enough, grabbing the small rabbit for the Black Wolf to eat. <<endevent>> <<set $huntstate to "failure">> <<wolfhuntevents>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<if $phase is 1>> <<beastTrainGenerate>> <<set $enemyanger += 30>> <<else>> <<beastTrainGenerate>> <</if>> <<set $noFinish to 1>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Wolf Cave Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf Cave Rape]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $combatTrain.length gt 0>> Satisfied, the <<beasttype>> leaves you be. Another takes its place. <<combatTrainAdvance>> <<wolfpacktrust>><<gstockholm>> <br><br> <<link [[Next|Forest Wolf Cave Rape]]>><</link>> <<else>> Satisfied, the beast leaves you be. <<combatTrainAdvance>> <<wolfpacktrust>><<gstockholm>> <br><br> <<link [[Next|Forest Wolf Cave Rape End]]>><</link>> <</if>> <<else>> <<beastwound>> <<if $combatTrain.length gt 0>> The <<beasttype>> recoils in pain and fear, but another takes its place. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf Cave Rape]]>><</link>> <<else>> The beast recoils in pain and fear. <<combatTrainAdvance>> <br><br> <<link [[Next|Forest Wolf Cave Rape End]]>><</link>> <</if>> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $enemywounded gte 2 and $enemyejaculated is 0>> In a display of power, you defeat the pack. <<tearful>> you escape from the cave. <br><br> <<clotheson>> <<endcombat>> <<badEndTrackingEnd "Wolf Cave" { reason: "wolfCaveDefeated" }>> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $eventskip to 1>><</link>> <<elseif $enemywounded is 0 and $enemyejaculated gte 2>> Finished with you, the <<beastsplural>> leave you be. However, they rest between you and the cave entrance, and could easily block your escape. <<tearful>> you settle down. <br><br> <<if $phase is 1>> The other <<wolf_cave_plural>> soon return from their hunt. <</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest Wolf Cave]]>><<set $eventskip to 1>><</link>> <<elseif $enemywounded gte 1 and $enemyejaculated gte 1>> Finished with you, the <<beastsplural>> leave you be. However, they rest between you and the cave entrance, and could easily block your escape. <<tearful>> you settle down. <br><br> <<if $phase is 1>> The other <<wolf_cave_plural>> soon return from their hunt. <</if>> <<clotheson>> <<endcombat>> <<link [[Next|Forest Wolf Cave]]>><<set $eventskip to 1>><</link>> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $eventskip is 0>> <<eventwolfcave>> <<else>> The <<wolf_cave_plural>> are blocking your way out of the cave. A draught blows from the back. <br><br> <<wolfcaveicon "sleep">><<link [[Rest (2:00)|Forest Wolf Cave Wait]]>><<set $tiredness -= 480>><<pass 2 hours>><</link>> <br> <<getouticon>><<link [[Try to escape|Forest Wolf Cave Escape]]>><</link>> <br> <<if $wolfcavedig gte 13>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>> <br> <<elseif $wolfcavedig gte 12 and $physiquesize lte 12000>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>><<small_text>> <br> <<elseif $wolfcavedig gte 11 and $physiquesize lte 10000>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>><<small_text>> <br> <<elseif $wolfcavedig gte 10 and $physiquesize lte 6000>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>><<small_text>> <br> <<elseif $wolfcavedig gte 1>> <<getouticon "hole">><<link [[Dig at the back of the cave (1:00)|Forest Wolf Cave Dig]]>><<pass 1 hour>><<set $wolfcavedig += 1>><</link>> <br> <<else>> <<investigateicon>><<link [[Examine the back of the cave|Forest Wolf Cave Examine]]>><<set $wolfcavedig to 1>><</link>> <br> <</if>> <</if>> <<set $eventskip to 0>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You huddle at the back of the cave, and the pack pays you little heed for a time. <br><br> <<link [[Next|Forest Wolf Cave]]>><</link>> <br><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $wolfpacktrust gte 12>> <<badEndTrackingEnd "Wolf Cave" { reason: "wolfCaveTrusted" }>> The pack looks at you as you try to leave, but make no move to stop you. It seems they trust you enough to let you go. <<lstress>> <br><br> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $forest to 80>><<set $eventskip to 1>><</link>> <br> <<elseif $wolfpackfear gte 12>> <<badEndTrackingEnd "Wolf Cave" { reason: "wolfCaveFeared" }>> The pack growls at you as you try to leave, but make no move to stop you. It seems they fear you too much to try and stop you. <<lstress>> <br><br> <<link [[Next|Forest]]>><<set $stress -= 1000>><<set $eventskip to 1>><<set $forest to 80>><<set $eventskip to 1>><</link>> <br> <<else>> The pack immediately stirs as you try to leave, and they block your path. The pack stares at you, growling a warning. <<stress 6>><<gstress>> <br><br> <<link [[Try to escape anyway|Forest Wolf Cave Rape]]>><<beastNEWinit 6 wolf>><<set $molestationstart to 1>><</link>> <br> <<link [[Back down|Forest Wolf Cave]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> The pack immediately stirs as you try to leave, and they block your path. The pair stare at you, growling a warning. <<stress 3>><<gstress>> <br><br> <<link [[Try to escape anyway|Forest Wolf Cave Rape]]>><<beastNEWinit 2 wolf>><<set $molestationstart to 1>><<set $phase to 1>><</link>> <br> <<link [[Back down (0:30)|Forest Wolf Cave Hunt]]>><<pass 30>><</link>> <br><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You decide not to risk it. You wait at the back of the cave. The pack soon returns from their hunt. <<wolfpacktrust>> <br><br> <<link [[Next|Forest Wolf Cave]]>><<set $eventskip to 1>><</link>> <br><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Forest Wolf Cave Molestation Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Forest Wolf Cave Molestation]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> grunts in satisfaction, and heads back to the rest of the pack. <<wolfpacktrust>> <br><br> <<tearful>> you settle down. <<gstockholm>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest Wolf Cave]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> The <<beasttype>> whines in pain and returns to the rest of the pack. <<wolfpackfear>> <br><br> <<tearful>> you settle down. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Forest Wolf Cave]]>><<set $eventskip to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $wolfcavedig gte 13>> You move the rocks out of the way, until the remainder collapse and reveal a hole in the ground. You hear rushing water. <<elseif $wolfcavedig gte 12 and $physiquesize lte 12000>> You move the rocks out of the way, until the remainder collapse and reveal a hole in the ground. You hear rushing water. <<elseif $wolfcavedig gte 11 and $physiquesize lte 10000>> You move the rocks out of the way, until the remainder collapse and reveal a hole in the ground. You hear rushing water. <<elseif $wolfcavedig gte 10 and $physiquesize lte 6000>> You move the rocks out of the way, until the remainder collapse and reveal a hole in the ground. You hear rushing water. <<elseif $wolfcavedig gte 9>> You think you hear rushing water as you move the rocks out of the way. Not far to go now. <<elseif $wolfcavedig gte 6>> You move some of the rocks out of the way. The draught becomes stronger. <<elseif $wolfcavedig gte 4>> You move some of the rocks out of the way. You think you feel the draught become stronger. <<else>> You move some of the rocks in the way, but there's still much to do. <</if>> <br><br> <<if $wolfcavedig gte 13>> <<link [[Go down|Forest Wolf Cave Hole]]>><</link>> <br> <<if $syndromewolves gte 1>> <<link [[Leave it for now|Wolf Cave]]>><</link>> <br> <<else>> <<link [[Leave it for now|Forest Wolf Cave]]>><</link>> <br> <</if>> <<elseif $wolfcavedig gte 12 and $physiquesize lte 12000>> <<link [[Go down|Forest Wolf Cave Hole]]>><</link>><<small_text>> <br> <<if $syndromewolves gte 1>> <<link [[Leave it for now|Wolf Cave]]>><</link>> <br> <<else>> <<link [[Leave it for now|Forest Wolf Cave]]>><</link>> <br> <</if>> <<elseif $wolfcavedig gte 11 and $physiquesize lte 10000>> <<link [[Go down|Forest Wolf Cave Hole]]>><</link>><<small_text>> <br> <<if $syndromewolves gte 1>> <<link [[Leave it for now|Wolf Cave]]>><</link>> <br> <<else>> <<link [[Leave it for now|Forest Wolf Cave]]>><</link>> <br> <</if>> <<elseif $wolfcavedig gte 10 and $physiquesize lte 6000>> <<link [[Go down|Forest Wolf Cave Hole]]>><</link>><<small_text>> <br> <<if $syndromewolves gte 1>> <<link [[Leave it for now|Wolf Cave]]>><</link>> <br> <<else>> <<link [[Leave it for now|Forest Wolf Cave]]>><</link>> <br> <</if>> <<elseif $syndromewolves gte 1>> <<link [[Next|Wolf Cave]]>><</link>> <br> <<else>> <<link [[Next|Forest Wolf Cave]]>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You feel around the darkness at the back of the cave, looking for the source of the draught. The air feels like it's coming from behind a pile of loose rocks. <br><br> <<if $syndromewolves gte 1>> <<link [[Next|Wolf Cave]]>><</link>> <br> <<else>> <<link [[Next|Forest Wolf Cave]]>><<set $eventskip to 1>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You peer down the hole at the back of the cave but can't make anything out. You hear rushing water. If you climb into it, you won't be able to come back the way you came. <br><br> <<getouticon "hole">><<link [[Descend|Wolf Cave Descent]]>><</link>> <br> <<if $syndromewolves gte 1>> <<getouticon>><<link [[Leave|Wolf Cave]]>><</link>> <br> <<else>> <<getouticon>><<link [[Leave|Forest Wolf Cave]]>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<if $phase is 0>> You reach beneath the <<beasttype>> and take it in your hand. <<npchand>><<deviancy1>> <<elseif $phase is 2>> <<clothesstrip>><<deviancy5>> You bend forward, assuming a submissive stance on your hands and knees, before bringing your shoulders down to stick your butt up and leave your <<print ($player.vaginaExist ? '<<pussy>>' : 'anus')>> exposed to the <<beasttype>>. <<bHe>> bears down on you, keeping you grounded under <<bhis>> massive size.<<if $NPCList[0].monster>> "<<pPackbrother>> knows <<pher>> place, very well. Will make you a good pack mother," <<bhe>> says with a big, lustful smile.<</if>> <<npc_attempt_sex>> <<set $position to "doggy">> <<set $position_lock to 1>> <<set $NPCList[0].location.head to "head">> <<set $NPCList[0].location.genitals to "genitals">> <<elseif $phase is 3>> <<clothesstrip>><<deviancy5>> You draw closer to the Black Wolf, bringing your mouth closer to <<bhis>> dark fur. You attempt to place a playful bite on <<bhim>> but the Black Wolf puts <<bhis>> <<if $NPCList[0].monster>>hand<<else>>paw<</if>> on your chest, before driving you down onto the ground with little to no effort. <<bHis>> overwhelming weight and size leaves you with few other options.<<if $NPCList[0].monster>> "<<pPackbrother>> knows <<pher>> place, very well. Will make you a proud pack father," <<bhe>> says with a big, lustful smile.<</if>> <<npc_attempt_sex>> <<set $position to "missionary">> <<set $position_lock to 1>> <<set $NPCList[0].location.head to "head">> <<set $NPCList[0].location.genitals to "genitals">> <<else>> You lean beneath the <<beasttype>>. <<npcoral>><<deviancy4>> <</if>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Accept Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Accept]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You shuffle away from the Black Wolf, preparing for another assault. But none comes. <<bHe>> turns and walks away. <<if $monster is 1>>"No matter. You will learn."<</if>> <br><br> <<badEndTrackingEnd "Wolf Cave" { reason: "wolfCaveAccepted" }>> <<set $syndromewolves to 1>> <<set $wolfevent to 0>> <<set $wolfstate to "cave">> <<set $wolfpackferocity to 10>> <<set $wolfpackharmony to 10>> <<if $bestialitydisable is "f">> <span class="red"><i>It's not their fault. They're just cute animals.</i> You've gained the "Stockholm Syndrome: Wolves" trait.</span> <<else>> <span class="red"><i>It's not their fault. They're just cute monsters.</i> You've gained the "Stockholm Syndrome: Wolf People" trait.</span> <</if>> <br><br> <<npc "Black Wolf">>/*<<beastNNPCinit>>*/ <<if $loveInterest.primary is "None" and hasSexStat("deviancy", 3)>> <<set $loveInterest.primary to "Black Wolf">> <span class="gold">The Black Wolf is now your love interest! <<bHe>> seems happy to have found a mate.</span> <<elseif hasSexStat("deviancy", 3)>> <span class="gold">The Black Wolf can now be claimed as your love interest! <<bHe>> seems happy to have found a mate. <br> You can change your love interest in the "Attitudes" menu.</span> <<else>> <span class="blue">You aren't sure if a <<beasttype>> would make a good love interest...</span> <</if>> <br><br> <<link [[Next|Wolf Cave]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<if $phase is 3 and $orgasmcurrent is 0 and $NPCList[0].vagina is "penis">> <<set _forcedOrgasm to true>> <<set $orgasmdown to 3>> <</if>> <<beastejaculation>><<wolfpacktrust>> <br> <<if _forcedOrgasm>> Despite having an orgasm, the Black Wolf continues pleasuring your <<penis>>. <<set $penisuse to "othervagina">> <<orgasm>> <</if>> <<tearful>> you watch the Black Wolf yawn and lie down. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> <<tearful>> you watch the Black Wolf yawn and lie down. <br><br> <<clotheson>> <<endcombat>> <<else>> <<tearful>> you watch the Black Wolf yawn and lie down. <br><br> <<clotheson>> <<endcombat>> <</if>> <<if $monster is 1>> "Sleepy. Did well... <<ppackbrother>>." <</if>> <<badEndTrackingEnd "Wolf Cave" { reason: "wolfCaveAccepted" }>> <<set $syndromewolves to 1>> <<set $wolfevent to 0>> <<set $wolfstate to "cave">> <<set $wolfpackferocity to 10>> <<set $wolfpackharmony to 10>> <<if $bestialitydisable is "f">> <span class="red"><i>It's not their fault. They're just cute animals.</i> You've gained the "Stockholm Syndrome: Wolves" trait.</span> <<else>> <span class="red"><i>It's not their fault. They're just cute monsters.</i> You've gained the "Stockholm Syndrome: Wolf People" trait.</span> <</if>> <br><br> <<npc "Black Wolf">>/*<<beastNNPCinit>>*/ <<if $loveInterest.primary is "None" and hasSexStat("deviancy", 3)>> <<set $loveInterest.primary to "Black Wolf">> <span class="gold">The Black Wolf is now your love interest! <<bHe>> seems happy to have found a mate.</span> <<elseif hasSexStat("deviancy", 3)>> <span class="gold">The Black Wolf can now be claimed as your love interest! <<bHe>> seems happy to have found a mate. <br> You can change your love interest in the "Attitudes" menu.</span> <<else>> <span class="blue">You aren't sure if a <<beasttype>> would make a good love interest...</span> <</if>> <br><br> <<link [[Next|Wolf Cave]]>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "wolf_cave">><<effects>><<getTarget true>> <<set $wolfpackharmony = Math.clamp($wolfpackharmony, 0, 22)>> <<set $wolfpackferocity = Math.clamp($wolfpackferocity, 0, 22)>><<set $bus to "wolfcave">> You are in the wolf cave. The ceiling hangs low. There's a breeze blowing from the back. <<if $exposed gte 1>> The <<wolf_cave_plural>> don't care, but being exposed is embarrassing regardless. <</if>> <<storeon "wolfcave" "check">> <<if _store_check is 1>> Your clothes are tucked away behind a rock. <</if>> <<if $wolfstate is "hunt">> Most of the pack is out hunting. <<else>> <<if Weather.precipitation is "rain">> The pack shelters from the rain. <<elseif Weather.precipitation is "snow">> The pack shelters from the snow. <<else>> The pack rests. <</if>> <<wolfcavestate>> <</if>> <br><br> <<if isPregnancyEnding() and !$possessed>> <<pregnancyBirthWolfCave>> <<elseif npcPregnancyEnding("Black Wolf") and !$possessed and $wolfstate is "cave">> <<pregnancyBirthBlackWolf>> <<elseif $wolfevent gte 1 and !$possessed>> <<set $wolfevent to 0>> <<wolfcaveselect>> <<else>> <<if !$possessed>> <<storeactions "wolfcave">> <<else>> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound">> You stare down at your bindings. You pull, and they fall apart, unable to hold against you. <br><br> <<unbind>> <</if>> <</if>> <<if $wolfcavedig gte 13>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>> <<elseif $wolfcavedig gte 12 and $physiquesize lte 12000>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>><<small_text>> <<elseif $wolfcavedig gte 11 and $physiquesize lte 10000>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>><<small_text>> <<elseif $wolfcavedig gte 10 and $physiquesize lte 6000>> <<getouticon "hole">><<link [[Go down the hole|Forest Wolf Cave Hole]]>><</link>><<small_text>> <<elseif $wolfcavedig gte 1>> <<getouticon "dig">><<link [[Dig at the back of the cave (1:00)|Forest Wolf Cave Dig]]>><<pass 1 hour>><<set $wolfcavedig += 1>><</link>> <<else>> <<investigateicon>><<link [[Examine the back of the cave|Forest Wolf Cave Examine]]>><<set $wolfcavedig to 1>><</link>> <</if>> <br> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound">> <<undobindingsicon>><<link [[Cut your binds|Wolf Cave Unbind]]>><</link>> <br> <</if>> <!-- Modified for monster people --> <<getChildrenIds `{location: $location}`>> <<if _childrenIds.length gt 0 or $knowsAboutDen is 1>> <<wolfcaveicon "pup">><<link [[Pups' den|Pups Den]]>><</link>> <br> <</if>> <<wolfcaveicon "sleep">><<link [[Sleep|Wolf Cave Bed]]>><</link>> <br> <<if $nextPassageCheck is "Wolf Cave Clearing">> <<getouticon>><span class="nextLink"><<link [[Go outside|Wolf Cave Clearing]]>><</link>></span> <<else>> <<getouticon>><<link [[Go outside|Wolf Cave Clearing]]>><</link>> <</if>> <br><br> <<link [[Gameplay Settings|Wolf Cave Settings]]>><</link>> <br> <<attitudesControlCheck>> <<if $attitudesControl.showGoldLink is true>> <span class="goldLink"><<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> </span><span class="red">!!</span> <<else>> <<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> <</if>> <br><br> <</if>> <<storecleanup>><<set $outside to 1>><<set $location to "wolf_cave">><<effects>><<getTarget true>> <<set _bwmother to Object.values($children).find(child => child.mother === "Black Wolf" && child.location === "wolf_cave")>> <<set $wolfpackharmony = Math.clamp($wolfpackharmony, 0, 22)>> <<set $wolfpackferocity = Math.clamp($wolfpackferocity, 0, 22)>><<set $bus to "wolfcaveclearing">> You are in the clearing outside the wolf cave. A stream runs by. <<if $exposed gte 1>> The <<wolf_cave_plural>> don't care, but being exposed is embarrassing regardless. <</if>> <<if $nextPassageCheck is "Wolf Cave Wash">> A <<beastNEWinit 1 wolf>><<beasttype>><<endevent>> walks up to you curiously. A few others keep their distance. <<elseif $nextPassageCheck is "Forest">> The <<wolf_cave_plural>> bark at you, attempting to circle you. <<elseif $wolfstate is "hunt">> Most of the pack is out hunting. <<else>> <<if Weather.precipitation is "rain">> The pack shelters from the rain. <<elseif Weather.precipitation is "snow">> The pack shelters from the snow. <<else>> The pack rests. <</if>> <<wolfcavestate>> <</if>> <<if $pound and $pound.progress is 5>> <span class="blue">A dark shape lurks in the trees.</span> <br> <</if>> <br><br> <<if $foresthunt gte 1>> <span class="lblue">You're safe at the cave. Whatever was hunting you will have given up.</span> <br><br> <<set $foresthunt to 0>> <</if>> <<if $wolfpatrolsent gte 3>> <<unset $wolfpatrolsent>><<npc "Black Wolf">> The Black Wolf approaches you. There are no wounds on <<bhis>> body, and nothing in <<bhis>> jaws. <<if $monster is 1>> "It was nothing," <<bhe>> grunts out. "No intruder." <<else>> There must have been nothing, when you <<if $wolfpackleader is 1>>sent <<bhim>><<else>>watched <<bhim>> leave<</if>> to investigate. <</if>> <<bHe>> seems almost disappointed. <br><br> <<endevent>> <</if>> <<if isPregnancyEnding() and !$possessed>> <<pregnancyBirthWolfCave>> <<elseif $wolfevent gte 1 and !$possessed>><<set $wolfevent to 0>> <<wolfcaveselect>> <<else>> <<if $halloweenWolves and $wolfstate is "cave">> <span class="blue">Your attention is drawn to a large crowd of <<wolf_cave_plural>> outside the cave.</span> <br> <<investigateicon>><<link [[Investigate|Wolf Halloween]]>><</link>> <br><br> <</if>> <<wolfcaveicon "harmony">><<link [[Play (1:00)|Wolf Cave Play]]>><<stress -12>><<pass 1 hour>><</link>><<lstress>> <br> <<if $pound and $pound.progress is 5>> <<wolfcaveicon "black dog">><<link [[Approach the dark shape|Wolf Cave Dog Intro]]>><<set $pound.progress to 6>><<stress 6>><<trauma -6>><<control 25>><</link>><<gstress>><<ggcontrol>><<ltrauma>> <br> <<elseif $pound and $pound.progress is 6 and Time.dayState is "day" and $daily.wolfCaveDog is undefined>> <<wolfcaveicon "black dog">><<link [[Approach the black dog|Wolf Cave Dog]]>><</link>> <br> <</if>> <<if $nextPassageCheck is "Wolf Cave Wash">> <<wolfcaveicon "stream">><span class="nextLink"><<link [[Water.|Wolf Cave Wash]]>><</link>></span> <<else>> <<wolfcaveicon "stream">><<link [[Wash in the stream (0:20)|Wolf Cave Wash]]>><<pass 20>><</link>> <</if>> <br> <<if $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1 or $worn.upper.exposed gte 2 and $underupperwetstage gte 3 or $upperwetstage gte 3 and $worn.under_upper.exposed gte 1 or $upperwetstage gte 3 and $underupperwetstage gte 3>> <<foresticon "bush">><<link [[Make a top out of plants and twigs (0:20)|Wolf Cave Plant]]>><<set $phase to 1>><<pass 20>><</link>> <br> <</if>> <<if $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1 or $worn.lower.exposed gte 2 and $underlowerwetstage gte 3 or $lowerwetstage gte 3 and $worn.under_lower.exposed gte 1 or $lowerwetstage gte 3 and $underlowerwetstage gte 3>> <<foresticon "bush">><<link [[Make a skirt out of plants and twigs (0:20)|Wolf Cave Plant]]>><<set $phase to 2>><<pass 20>><</link>> <br> <</if>> <br> The stream ripples with your reflection, <<if Time.isBloodMoon()>> drowning in blood. <<elseif Time.dayState is 'dawn'>> with an afterglow of amber from the dawn. <<elseif Time.dayState is 'day'>> leaving no impurities in the image. <<elseif Time.dayState is 'dusk'>> with an afterglow of amber from the dusk. <<else>> the moonlight illuminating the surface. <</if>> <br> <<mirroricon>><<link [[Check your reflection|Wolf Cave Mirror]]>><<preMirror>><</link>> <br> <br> The soil near the stream looks good, yet is almost free of wild plants. <br> <<gardenicon "plot">><<link [[Examine|Wolf Cave Plots]]>><</link>> <br> <<pregnancyTest "Wolf Cave Clearing">> <br> <<if $wolfstate is "cave" and npcPregnancyEnding("Black Wolf")>> <<elseif _bwmother and $wolfstate is "cave" and ((Time.hour gte 8 and Time.hour lte 15) or (Time.hour gte 18 and Time.hour lte 21))>> You see the Black Wolf resting by a rock, overlooking the cave and its surroundings. <br> <<wolfcaveicon "bw">><<link [[Approach|Wolf Relax]]>><<npc "Black Wolf">><<set $phase to 1>><</link>> <br><br> <<elseif !_bwmother and $wolfstate is "cave" and Time.dayState isnot "night">> You see the Black Wolf resting by a rock, overlooking the cave and its surroundings. <br> <<wolfcaveicon "bw">><<link [[Approach|Wolf Relax]]>><<npc "Black Wolf">><<set $phase to 1>><</link>> <br><br> <<elseif $wolfstate is "cave" and $wolfcavepatrol is 1 and $wolfcavepatrolchance is 1 and Time.dayState is "night">> <<npc "Black Wolf">> The Black Wolf rests away from the pack, occasionally surveying passing members before <<bhis>> attention returns to the treeline. <span class="blue"><<bHe>> looks agitated.</span> <br> <<endevent>> <<wolfcaveicon "bw">><<link [[Approach|Wolf Patrol Intro]]>><</link>> <br><br> <</if>> <<if $wolfstate is "cave" and Time.dayState isnot "night" and Weather.precipitation is "none">> Some of the stronger <<wolf_cave_plural>> lie around the clearing, waiting for a hunt. They look bored. <br> <<wolfcaveicon "bw">><<link [[Challenge the hunters (0:20)|Wolf Cave Spar]]>><</link>><<gtiredness>><<gphysique>><<lstress>> <br><br> <</if>> <<getinicon>><<link [[Go inside|Wolf Cave]]>><</link>> <br><br> <<if $nextPassageCheck is "Forest">> <span class="nextLink"><<foresticon>><<link [[Leave (0:10)|Forest]]>><<pass 10>><<set $eventskip to 1>><<set $forest to 60>><</link>></span> <<else>> <<foresticon>><<link [[Walk into the forest (0:10)|Forest]]>><<pass 10>><<set $eventskip to 1>><<set $forest to 60>><</link>> <</if>> <br> <</if>><<effects>> <<loadNPC 0 "black_dog">> The dark shape slinks away before you arrive. You turn to leave, and come face-to-face with a pair of yellow eyes. The creature jumps on you, knocking you on your back, and covers your face in licks. <span class="green">It's the black <<beasttype>> you rescued from the pound.</span> <br><br> <<if $monster is 1>> "Sorry," <<bhe>> says, climbing off you. <<bHe>> adopts <<bhis>> usual gruff demeanor, but there's a light in <<bhis>> eyes that wasn't present before. <<bHe>> looks healthier. "Happy to see you." <<else>> <<bHe>> climbs off you, and resumes <<bhis>> usual gruff demeanor as if remembering <<bhimself>>, but there's a light in <<bhis>> eyes that wasn't present before. <<bHe>> looks healthier. <<bHe>> gives you a playful bark. <</if>> <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <br><<effects>> <<loadNPC 0 "black_dog">> The black dog lurks on the outskirts of the clearing. The <<wolf_cave_plural>> tolerate <<bhim>>, but keep their distance. <br><br> <<bHe>> lies beneath a large fern, and watches you approach. <br><br> <<ind>><<link [[Relax (0:30)|Wolf Cave Dog Relax]]>><<set $daily.wolfCaveDog to 1>><<pass 30>><<trauma -6>><<stress -6>><</link>><<ltrauma>><<lstress>> <br> <<ind>><<link [[Encourage to play with the pups|Wolf Cave Dog Play]]>><<set $daily.wolfCaveDog to 1>><</link>> <br><br> <<getouticon>><<link [[Leave|Wolf Cave Clearing]]>><<endevent>><</link>> <br><<effects>> You sit beside the <<beasttype>>, and chat. <<if $monster is 1>> <<if $rng gte 81>> "This my half-<<if C.npc["Black Wolf"].pronoun is "f">>sister<<else>>brother<</if>>'s pack," <<bhe>> says. "Not welcome here. Not welcome anywhere. I have nowhere else." <<elseif $rng gte 61>> "Stay away from big human caves," <<bhe>> says. "Danger." <<elseif $rng gte 41>> "Stay away from lake," <<bhe>> says. "More danger than forest. More danger than town." <<elseif $rng gte 21>> "Pups frightened of me," <<bhe>> says. "Must look strange." <<else>> "Didn't hate master," <<bhe>> says. "But demanded too much." <</if>> <<else>> You lean against the <<beasttype>>, and stare at the canopy above as you rise and fall with <<bhis>> breathing. It's almost enough to send you to sleep. <</if>> <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <br><<effects>> The <<beasttype>> huffs, and prowls from <<bhis>> hiding place, towards the playing pups. <<if $wolfstate is "cave">> The Black Wolf watches from atop the cave, interested but unconcerned. <<elseif $wolfstate isnot "hunt">> The grown <<wolf_cave_plural>> watch, wary. <<else>> They're alone, but back away in fright when the large figure emerges from a bush in front of them. <</if>> <br><br> <<if $rng gte 51>> <<bHe>> growls, and runs at the closest. They scramble to escape. You watch as <<bhe>> chases them around the clearing, sniffing out their hiding places with ease. <<bHes>> only playing, but you're not sure the pups know that.<<gferocity>> <<else>> <<bHe>> lies down for a while, until a more adventurous pup summons the courage to approach, and learns that there's nothing to fear. <br><br> You watch as the <<beasttype>> plays with the pups. They have more energy than <<bhim>>, however, and <<bhe>> soon returns to the trees to rest.<<gharmony>> <</if>> <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <br><<effects>> <<plot_effects>> <<if $wolf_plot_intro is 1>><<unset $wolf_plot_intro>> <<plots_init wolf 3 earth 2 medium>> <</if>> <<display_plot wolf>> <br> <<getouticon>><<link [[Leave|Wolf Cave Clearing]]>><<handheldon>><</link>> <br> <<unset $event_trigger>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<pass 30>> <<npc "Black Wolf">> The Black Wolf runs through the forest, all the way back to the cave. <<bHe>> dumps you at the back and gives a warning growl before turning away. <<if $monster is 1>> "Stay. You belong to pack." <</if>> <br><br> <<link [[Next|Wolf Cave]]>><<clotheson>><<endevent>><</link>> <br><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You rub your binds against a sharp rock and they soon come loose. <br><br> <<unbind>> <<link [[Next|Wolf Cave]]>><</link>> <br><<effects>> <<switch statusCheck("Black Wolf").gender>> <<case "m">> <<set _BWGender to 1>> <<default>> <<set _BWGender to 0>> <</switch>> <<if lastVisited("Wolf Relax") is 1>> You get up and follow the Black Wolf into the cave to sleep. <br><br> <</if>> <<if Time.dayState is "night" and $wolfstate is "cave" and (statusCheck("Black Wolf").love gte 100 or $wolfpackleader is 1 or playerIsPregnant() and playerBellySize() gte 15 or parentFunction.findParent("Black Wolf", _BWGender, true))>> <<npc "Black Wolf">> <<set $bedGuest to "Black Wolf">> <<set $blackWolfSleep to true>> You find an empty spot to lie on and close your eyes. After a moment, you feel an enormous mass of fur engulf you. You open your eyes to see the Black Wolf curling up beside you. <<bHe>> regards you for just a moment before laying <<bhis>> head down, facing away towards the mouth of the cave. You rest your head against <<bhim>>. <<lstress>><<ltrauma>><<stress -10>><<trauma -10>> <<elseif $wolfpackharmony gte 10>> <<beastNEWinit 1 wolf>> <<if $rng gte 51>> <<if $wolfstate is "hunt">> You find an empty spot to lie on and close your eyes. As you lie there, you feel warm and fuzzy little bodies moving all around you. It looks like the puppies saw you going to bed and felt safer staying with you as long as the adults of the pack are gone. One of them licks your face before resting <<bhis>> head inside your hair. <br><br> You won't be cold tonight, and they won't be alone. <<lstress>><<ltrauma>><<stress -10>><<trauma -10>> <<else>> You find an empty spot to lie on and close your eyes. As you lie there, you feel a wall of fur moving all around you. It looks like the <<wolf_cave_plural>> saw you going to bed and got sleepy themselves. One of them nuzzles <<bhis>> head under your arm. <br><br> You won't be cold tonight. <<lstress>><<ltrauma>><<stress -6>><<trauma -6>> <</if>> <<set $wolfbed to 1>> <<else>> You snuggle beside a <<beasttype>> for warmth and close your eyes. <</if>> <<endevent>> <<else>> You find an empty spot to lie on and close your eyes. <</if>> <br><br> <<nightmareCheck "Wolf Cave Sleep">> <<generateSleepLinks "Wolf Cave Sleep">> <<link [[Climb out of bed|Wolf Cave]]>><<unset $blackWolfSleep>><<unset $bedGuest>><<set $wolfbed to 0>><<loadTempHairStyle>><<endevent>><</link>> <br><br><<set $settingsExitPassage to "Wolf Cave">> <<settings>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if !$syndromewolves>><<badEndTrackingEnd "Wolf Cave" { reason: "wolfCaveDiggingAHole" }>><</if>> You sit on the edge and try to lower yourself down, but the rock gives way and you fall into dark water. <br><br> <<link [[Next|Underground Lake]]>><</link>> <br><<set _autosavehere to true>> <<sleep>> <<effects>> <<if $wraith.nightmare is 2 and Time.isBloodMoon()>> <<sleepeffects>> You dream of a beautiful figure, cloaked in white, standing under the red moon. It has its arms spread out to you in a welcoming gesture. You can feel its gaze boring into your mind as you step closer. <br><br> It's surrounded by trees, all bending inwards, and floating above a lake. Everything moves around you, and you find yourself hanging above a large ruin. You can't breathe. <br><br> You slowly open your eyes, and sluggishly stand<<if $wolfbed is 1>>, extracting yourself from the <<wolf_cave_plural>> surrounding you<</if>>. Your ears are ringing. <br><br> <<wraithPossess "wolf_cave">> <span class="nextLink"><<link [[Walk.|Wolf Cave]]>><</link>></span> <br> <<else>> <<wakingEffects $sleepHoursTotal>> <<if ["dryheaving","nausea"].includes(_wakingEffect)>> <br><br> You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if ($specialClothesEffects.bimbo.total gte random(100,1000) || $specialClothesEffects.pimp.total gte random(100,1000)) or $arousal gte ($arousalmax / 10) * 9>> <<wetDream>> <<elseif !_wakingEffect>> You sleep soundly. <br><br> <<else>> <br><br> <</if>> <</if>> <<sleepeffects>> <<if $blackWolfSleep>> You open your eyes to see the Black Wolf still beside you, already awake. If <<bhe>> even slept, that is. <<bHe>> regards you, but otherwise does not stir while you wake. <br><br> <<link [[Get up|Wolf Cave]]>><<endevent>><<unset $blackWolfSleep>><</link>> <<elseif _sleepinterrupt>> <<beastNEWinit 1 wolf>> You wake up to something mounting you. <br><br> <<link [[Let it happen|Wolf Cave Sleep Sex]]>><<set $sexstart to 1>><</link>><<deviant1>> <br> <<link [[Push away|Wolf Cave Sleep Push]]>><</link>> <<elseif $wolfbed is 1>> <<if ($uncomfortable.nude is true or $uncomfortable.underwear is true) and $syndromewolves gte 1 and $exposed gte 2>> Your sleeping companions rise before you do and begin their day. As they move, their fur brushes gently against your naked skin. <span class="gold">Your exposure doesn't concern you as it once did. It feels natural.</span> <br><br> <<set $uncomfortable.underwear to false>> <<set $uncomfortable.nude to false>> <<else>> Your sleeping companions get up before you do and go on with the day. You don't feel them moving, and they do not wake you. <br><br> <</if>> <<link [[Get up|Wolf Cave]]>><</link>> <<else>> <br><br> <<link [[Get up|Wolf Cave]]>><</link>> <</if>> <</if>> <<set $wolfbed to 0>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> You shift your body to make things easier for the horny <<beasttype>>. <<deviancy1>><<set $enemytrust -= 20>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate "<span class='red'>The <<beastsplural>> are too busy thinking about themselves to help you.</span>">> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Sleep Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Sleep Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You shove the <<beasttype>> away from you. <<lharmony>> <br><br> <<if $wolfpackferocity lte 19>> <<bHe>> leaves you in peace. <<endevent>> <br><br> <<link [[Back to sleep|Wolf Cave Bed]]>><</link>> <br> <<link [[Get up|Wolf Cave]]>><</link>> <br> <<else>> <<bHe>> growls and tries to force <<bhimself>> on you! <br><br> <<link [[Next|Wolf Cave Sleep Sex]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<set $outside to 1>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br> The <<beasttype>> yawns and lies down.<<wolfpacktrust>> <br><br> <<tearful>> you try to find a comfy position again. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> The <<beasttype>> limps away from you. <br><br> <<tearful>> you try to find a comfy position again. <br><br> <<clotheson>> <<endcombat>> <<elseif $rescue is 1 and $alarm is 1>> <<set $rescued += 1>> The other <<beastsplural>> growl at the <<beasttype>> assaulting you. <<bHe>> growls back at first, but then backs down and leaves you alone. <<lharmony>> <br><br> <<tearful>> you try to find a comfy position again. <br><br> <<clotheson>> <<endcombat>> <<else>> The <<beasttype>> yawns and lies down. <br><br> <<tearful>> you try to find a comfy position again. <br><br> <<clotheson>> <<endcombat>> <</if>> <<link [[Next|Wolf Cave Bed]]>><</link>> <br><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if !$weekly.watchingForest and $wolfpackharmony gte 20 and Time.dayState is "day" and Weather.precipitation is "none" and $rng gte 80 and $wolfstate is "cave">> <<set $weekly.watchingForest to true>> <<npc "Black Wolf">> You're playing with younger <<beastsplural>> when you feel something <<if $monster is 1>>warm touch your lower back. You look behind your shoulder and see the Black Wolf resting <<bhis>> hand on your waist. "Need you," <<bhe>> says.<<else>>moist touch your back. You look behind and see the Black Wolf poking <<bhis>> nose at you.<</if>> <br><br> <<bHe>> doesn't seek your attention often, so you excuse yourself and follow the black canine giant. <br><br> The Black Wolf treads towards the edge of the forest all the while waggling <<bhis>> tail and looking back at you, as if inviting to come along. <br><br> <<link [[Follow Black Wolf|Watching the Forest Follow]]>><</link>> <br> <<link [[Stay at the cave|Watching the Forest Stay]]>><</link>><<lharmony>> <<elseif $rng gte 51>> <<beastNEWinit 1 wolf>> You play fight with one of the younger <<wolf_cave_plural>>. <<bHe>> jumps and grabs your arm in <<bhis>> mouth<<if $monster is 1>> and hands<</if>>, but doesn't bite down hard, until <<bhe>> manages to pull you to the ground. <<bHe>> sniffs your groin. <br><br> <<link [[Let <<bhim>> continue|Wolf Cave Play Sex]]>><<set $sexstart to 1>><</link>><<deviant1>> <br> <<link [[Push <<bhim>> away|Wolf Cave Clearing]]>><<endevent>><</link>> <br> <<else>> You play something similar to hide-and-seek with the younger <<wolf_cave_plural>>. They're hesitant to stray too far from the cave, but there are many hiding places nearby. Their sense of smell gives them an advantage and they're quick to find you every time, but it's fun. <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <br> <</if>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>><<strip>> You wash in the stream. The water is cold but clean. <br><br> <<wash>> <<if !$daily.blackWolfWash and $wolfpackharmony gte 10 and $wolfpackferocity gte 15 and statusCheck("Black Wolf").love gte 125 and $wolfstate is "cave" and $rng gte 81>> <<set $daily.blackWolfWash to true>> <<npc "Black Wolf">> As you're finishing, a large shadow falls over you. Looking up, you see the Black Wolf has come down from <<bhis>> usual station near <<bhis>> rock. <<bHe>> circles around you, <<if $monster is 1>>crouching down<</if>> until you're face to face. <br><br> <<if $monster is 1>> "Mate washing scent away. No good." <</if>> There's something primal in <<bhis>> eyes as <<bhe>> <<= $monster is 1 ? "presses <<bhis>> hand" : "butts <<bhis>> snout">> against your shoulder, forcing you down onto the ground with an unyielding strength. You flail a bit at the suddenness, and <<bhe>> growls. <br><br> <<if $monster is 1>> "Still," <<bhe>> commands. <<else>> Seems you'd better stay still. <</if>> <br><br> Black Wolf leans in and licks your cheek, <<bhis>> hot tongue coating your skin with <<bhis>> saliva. <<bHe>> doesn't stop there, licking across your face, your neck, and then applying <<bhis>> ministrations to your <<breasts>> until your nipples stand taut against <<bhis>> tongue. <<arousal 1200 "breasts">><<ggarousal>> <br><br> <<link [[Next|Wolf Cave Wash Marking]]>><</link>> <br> <<else>> <<link [[Next|Wolf Cave Clearing]]>><<clotheson>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> The <<beasttype>> becomes more bold. <<deviancy1>><<set $enemytrust -= 20>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>> <<if $wolfpackharmony gte 1>> <<enable_rescue>> <</if>> <</if>> <<effects>> <<effectsman>> <<alarmstate "<span class='red'>The <<beastsplural>> are too busy thinking about themselves to help you.</span>">> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Cave Play Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Cave Play Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 1>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br> The <<beasttype>> yawns and lies down.<<wolfpacktrust>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> The <<beasttype>> limps away from you. <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<elseif $rescue is 1 and $alarm is 1>> <<set $rescued += 1>> The other <<beastsplural>> growl at the <<beasttype>> assaulting you. <<bhe>> growls back at first, but then backs down and leaves you alone. <<lharmony>> <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <<else>> The <<beasttype>> yawns and lies down. <br><br> <<tearful>> you climb to your feet. <br><br> <<clotheson>> <<endcombat>> <</if>> <<link [[Next|Wolf Cave Clearing]]>><</link>> <br><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $phase is 1>> You encourage the less assertive wolves to suckle too. <<else>> <<if $worn.upper.exposed lte 0 or $worn.under_upper.exposed lte 0>> <<upperstrip>><<underupperstrip>>You bare your <<breasts>> and encourage the wolf pups to suckle. <<else>> You encourage the wolf pups to suckle. <</if>> <</if>> <<pass 5>> <<if $milk_amount gte 1>> <<if $wolfcavebreast is undefined>> <<set $wolfcavebreast to 1>> <<else>> <<set $wolfcavebreast += 1>> <</if>> The wolves sniff at your milk. One takes over each nipple, teasing more from you with clumsy licks. <<deviancy3>> <<if $wolfcavebreast is 3>> The last of the pups are satisfied. They curl up to nap. <<gharmony>> <<else>> Other wolves jostle for a turn. <</if>> <br><br> <<transform wolf 1>> <<breastfeed 5>> <<if $wolfcavebreast isnot 3>> <<link [[Continue feeding (0:05)|Wolf Cave Breastfeed]]>><<set $phase to 1>><</link>><<deviant3>> <br> <</if>> <<link [[Stop|Pups Den]]>><<clotheson>><<set $phase to 0>><</link>> <br> <<else>> No milk will leak from your nipples. <span class="pink">You've run out.</span> The wolves get bitey in frustration. <<gpain>><<pain 6>><<milkvolume 1>> <br><br> <<link [[Next|Pups Den]]>><<clotheson>><<set $phase to 0>><</link>> <br> <</if>><<effects>> <<getouticon>><<link [[Step away|Wolf Cave Clearing]]>><<handheldon>><<unset $mirrorMenu>><<unset $bodywritingSet>><</link>> <br> <<mirror "reflection">> <br><br><<widget "blackWolfPresentsPregnancyToPlayer">> <<endevent>><<npc "Black Wolf">> <<set C.npc["Black Wolf"].pregnancy.npcAwareOf to true>> <<set C.npc["Black Wolf"].pregnancy.pcAwareOf to true>> <<setKnowsAboutPregnancy "Black Wolf" "pc">> <<if $wolfpackferocity gte 20 and $wolfpackharmony gte 20>> <<if $monster is 1>> You are approached by the Black Wolf. "Was looking for <<ppackbrother>>," <<bhe>> says, regarding you with a smile. "Need to show something." Without warning, <<bhe>> wraps an arm around you and picks you up, making you freeze in <<bhis>> grasp. <br><br> <<bHe>> takes you to a spot behind the bushes. Black Wolf leaves you on the ground before bearing down on, covering your face in loving licks. <<bHe>> stops <<bhimself>>. "Right, had news for <<ppackbrother>>." <<bHe>> untangles <<bhimself>> from you, giving you a clearer view of <<bhis>> belly. It looks big and bumpy. "Cannot believe, will finally have <<if pregnancyCountBetweenParents("Black Wolf", "pc") gte 1>>another<<else>>first<</if>> litter. Could not have asked for better mate than <<ppackbrother>>". <br><br> <<bHe>> stands up. "Will give birth to strong pups, strongest pack has seen yet." <<bHe>> smiles, before heading back to the cave. <<else>> You are approached by the Black Wolf. <<bHe>> carries an excited spring to <<bhis>> step as <<bhe>> draws closer to you. Without warning, <<bhe>> positions <<bhimself>> behind you and pushes you forward. The force is enough to bring you off balance. You instinctively grab on to the wolf and let it take you away. <br><br> <<bHe>> drops you off at the base of a tree, before covering your face in loving licks. You manage to wiggle yourself free, just in time to notice Black Wolf's belly. It has a large and bumpy form. Black Wolf draws closer once more and nuzzles you affectionately. Given their behaviour towards you, you're quick to realise who the parent of the pups is going to be. <br><br> Black Wolf untangles <<bhimself>> from you at last, before turning to head back to the cave. <<bHe>> turns around to meet your gaze, waiting for you to follow. It might be best to stay around the cave for now. <</if>> <<elseif $wolfpackferocity gte 15>> <<if $monster is 1>> You are approached by the Black Wolf. "Was looking for <<ppackbrother>>," <<bhe>> says, regarding you with a smile. "Need to show something." Without warning, <<bhe>> wraps an arm around you and picks you up, making you freeze in <<bhis>> grasp. <br><br> <<bHe>> takes you to a spot behind the bushes and pins you against a tree, <<bhe>> looks down on you. "Has <<ppackbrother>> noticed anything unusual?" <<bHe>> smirks. Black Wolf takes a hold of your hand and guides it towards <<bhis>> belly. It's bumpy and bigger than you remember. "Allowed <<ppackbrother>> to breed me, should feel honoured to father <<if pregnancyCountBetweenParents("Black Wolf", "pc") gte 1>>another of my<<else>>my first ever<</if>> litter." <<bhe>> declares. <br><br> "Will return to cave. <<pPackbrother>> should as well, don't want to abandon me and pups I hope?" <<bhe>> warns, giving you a cold glare before marching back to the cave. <<else>> You are approached by the Black Wolf. <<bHe>> carries an excited spring to <<bhis>> step as <<bhe>> draw closer to you. Without warning, <<bhe>> positions <<bhimself>> behind you and pushes you forward. The force is enough to bring you off balance. You instinctively grab on to the wolf and let it take you away. <br><br> <<bHe>> takes you to a spot behind the bushes and shoves you against a tree, <<bhe>> looks down on you. Black Wolf lays on <<bhis>> side, exposing <<bhis>> belly to you. It has a large and bumpy form. <<bHe>> brings <<bhis>> snout over to <<bhis>> belly, asking you to feel it. You hesitate, prompting Black Wolf to bare <<bhis>> teeth and growl angrily. You do as instructed. <<bHis>> irritable temper towards you makes it clear who the other parent is. <br><br> Black Wolf stands up again, before marching off back to the cave. <<bHe>> gives you a menacing stare before leaving. It might be a good idea to stick around the cave for now. <</if>> <<elseif $wolfpackharmony gte 15>> <<if $monster is 1>> You are approached by the Black Wolf. "Was looking for <<ppackbrother>>," <<bhe>> says, regarding you with a smile. "Need to show something." Without warning, <<bhe>> wraps an arm around you and picks you up, making you freeze in <<bhis>> grasp. <br><br> <<bHe>> takes you to a spot behind the bushes and sits next to a tree. Black Wolf bares <<bhis>> belly to you, running <<bhis>> hand over it. "Carrying <<if pregnancyCountBetweenParents("Black Wolf", "pc") gte 1>>another<<else>>first ever<</if>> litter," <<bhe>> says. "And have <<ppackbrother>> to thank for it." <<bhe>> says before reaching out and pulling you into a tight embrace. <br><br> Black Wolf stands up moments later. "Cannot wait to see pups playing with rest of pack," <<bhe>> says as you both return to the cave. <<else>> You are approached by the Black Wolf. <<bHe>> carries an excited spring to <<bhis>> step as <<bhe>> draw closer to you. Without warning, <<bhe>> positions <<bhimself>> behind you and pushes you forward. The force is enough to bring you off balance. You instinctively grab on to the wolf and let it take you away. <br><br> <<bHe>> takes you to a spot behind the bushes and sits next to a tree. Black Wolf bares <<bhis>> belly to you, you take notice of its unusually large and bumpy shape. Black Wolf gives you a compliant whimper, as well as a happy tail wag. You figure this must be <<if pregnancyCountBetweenParents("Black Wolf", "pc") gte 1>>another of <<bhis>><<else>><<bhis>> first ever<</if>> litter, with you being responsible for it. <br><br> Black Wolf stands up moments later. <<bHe>> marches happily back to the cave. <</if>> <<else>> <<if $monster is 1>> You are approached by the Black Wolf. "Was looking for <<ppackbrother>>," <<bhe>> says, regarding you with a smile. "Need to show something." Without warning, <<bhe>> wraps an arm around you and picks you up, making you freeze in <<bhis>> grasp. <br><br> <<bHe>> takes you to a spot behind the bushes and sits next to a tree, placing you right beside <<bhim>>. "Pack is... going through difficult times," <<bhe>> explains. "Things bleak, and pack is losing hope, but...". Black Wolf moves <<bhis>> arm aside, revealing <<bhis>> bumpy belly. "Maybe things not as bad as they seem. Will have <<if pregnancyCountBetweenParents("Black Wolf", "pc") gte 1>>another<<else>>very first<</if>> litter with <<ppackbrother>> after all. <br><br> <<bHis>> tail begins to wag in happiness. Black Wolf gives you ample time to inspect <<bhis>> belly. <<bHe>> heads back to the cave, but is hesitant to leave your side. "Pups will need protection, and guidance. <<pPackbrother>> better stay safe." <<bhe>> says before leaving. <<else>> You are approached by the Black Wolf. <<bHe>> carries an excited spring to <<bhis>> step as <<bhe>> draw closer to you. Without warning, <<bhe>> positions <<bhimself>> behind you and pushes you forward. The force is enough to bring you off balance. You instinctively grab on to the wolf and let it take you away. <br><br> <<bHe>> stops at a tree and places you down. <<bHe>> sits next to you. Black Wolf's depressed demeanor is gone for just a moment. <<bHe>> lays on <<bhis>> side, bearing <<bhis>> belly to you. It looks big and bumpy. You bring your hand closer and feel it up. Black Wolf stands up once more and licks your face. It doesn't take you long to realise who the parent of the pups is going to be. Whatever seemed to have <<bhim>> upset seems to have vanished completely. <br><br> You try to stand up, but the Black Wolf refuses to let go, almost as if afraid of you leaving. It might put <<bhim>> at ease if you stayed at the cave for now. <</if>> <</if>> <br><br> <<set $eventskip to 1>><<set $wolfevent to 0>> <<destinationwolfcave>> <</widget>> <<widget "pregnancyBirthBlackWolf">> <<npc "Black Wolf">> <<setKnowsAboutPregnancy "Black Wolf" "pc">> You hear whimpering from somewhere inside the cave. You hunt for its source and discover a well-hidden, excavated tunnel. You follow the sound of crying and emerge into a secluded chamber, where you spot a large figure laying down in one of the corners. It's the Black Wolf. <<bHis>> face is contorted in pain. <<bHe>> turns to meet your gaze. <br><br> <<if $monster is 1>> "Was wondering if <<ppackbrother>> would co-" <<bHe>> cuts <<bhimself>> off and groans painfully. <<bHis>> entire body folds in pain. <br><br> "Pups will arrive soon," <<bhe>> manages through heavy breathing. "Want to be alone for now. Will be fine." <<bhe>> whimpers in between waves of pain. <<else>> The wolf buries <<bhis>> snout on the ground, whimpering and squirming in pain. From the movements and the animal's reactions, you can tell <<bhe>> is going into labour. <</if>> <br><br> <<link [[Stay|Pregnancy Birth Black Wolf 1]]>><</link>><<if $monster is 1>><<handholdingvirginitywarning>><<NPCvirginitywarning "Black Wolf" "handholding">><</if>> <br> <<link [[Leave|Pregnancy Birth Black Wolf 1]]>><<set $phase to 1>><</link>> <</widget>> <<widget "pregnancyBirthWolfCave">> You feel as though you will go into labour soon. <br><br> <<if playerNormalPregnancyType() is "wolf">> <<npc "Black Wolf">> <<setKnowsAboutPregnancy "pc" "Black Wolf">> You search for a secluded spot to give birth, as the main chamber offers little privacy. You come across a well-hidden, excavated tunnel and enter it to discover an empty chamber. You tuck yourself into a safe corner and lie down. Your body contorts with each breath, sending jolts of pain down your back and abdomen. <br><br> <<if $wolfstate is "cave" and $syndromewolves is 1>> <<if $monster is 1>> The Black Wolf rushes in and crouches down to eye level. "Is <<ppackbrother>> well?" <<bhe>> asks with concern. "Will stay here, in birthing den." <br><br> <<else>> The Black Wolf rushes into the den, giving a howl of apparent concern. <<bHe>> sits on <<bhis>> haunches near you, gently prodding your heaving belly with <<bhis>> snout. You get the feeling that <<bhes>> reluctant to leave you in this state. <br><br> <</if>> <<link [[Get <<bhim>> to leave (0:10)|Pregnancy Birth Wolf Cave 1]]>><<pass 10>><<set $phase to 0>><<strip>><</link>> <br> <<link [[Let <<bhim>> stay (0:10)|Pregnancy Birth Wolf Cave 1]]>><<pass 10>><<strip>><<set $phase to 1>><</link>> <<else>> <<if $wolfstate is "hunt">><<set $huntstate to "finished">><</if>> <<set $wolfstate to "cave">> You're alone, but have a feeling the Black Wolf will be here soon. <br><br> <<link [[Next (0:10)|Pregnancy Birth Wolf Cave 1]]>><<pass 10>><<strip>><<set $phase to 2>><</link>> <</if>> <<else>> <<npc "Black Wolf">> The Black Wolf prowls into the cave. <<bHe>> observes you for a moment, <<if $monster is 1>> then howls. "Not good place for human birth," <<bhe>> says, <<bhis>> voice tinged with fear. "Come. Hold my fur. I'll take you." <<else>> then howls. It turns to face the cave entrance, but keeps <<bhis>> gaze fixed on you. <</if>> <br><br> <<link [[Next|Pregnancy Birth Black Wolf Hospital 1]]>><</link>> <br> <</if>> <</widget>> <<widget "CaveHumanPregnancyDiscovered">> <<if $wolfpackferocity gte 20 and $wolfpackharmony gte 20>> <<if $monster is 1>> Feeling tired, you take a seat near a lonely stump. A <<beasttype>> paces toward you with a look of concern in <<bhis>> eyes. "Hope <<ppackbrother>> is doing well..." <<bHe>> sits beside you. "Really need to have a talk." <br><br> "<<pPackbrother>> is one of us now, but... Pack knows, about human cub." <<bhe>> says with a trembling voice, refusing to make eye contact. "<<pPackbrother>> will always be welcome, but this is no place for human." <br><br> The <<beasttype>> leads you outside and into the woods. You walk together until you reach the end, where the forest meets the edge of town. The Nightingale Street hospital can be seen through the trees. <br><br> "As far as can go, please be safe." You pet the <<beasttype>>, <<bhis>> ears drop in response. <<bHe>> licks your hand. "Will always be family, may <<ppackbrother>> never forget." <<bhe>> says before turning away, disappearing into the trees. <br><br> <<else>> Feeling tired, you take a seat near a lonely stump. A <<beasttype>> paces toward you with a look of concern in <<bhis>> eyes. <<bHe>> rests <<his>> head on your lap. <br><br> You gently run your hand across the <<beasttype>>'s fur. <<bHe>> stands up once more. The <<beasttype>> rubs <<bhis>> head against your belly. You understand that the pack knows of your pregnancy, and that your offspring is in fact human. A cave of wolves is no place to raise a baby. You feel a deep sense of bond to the <<wolf_cave_plural>>, and begin to think that you and them think the same. You stand up. <br><br> You walk through the forests with the <<beasttype>> in tow, <<bhe>> stands by you at all times. You eventually reach the edge of the town, the Nightingale hospital can be seen in the distance. You crouch down and hug your canine friend goodbye. <<bHe>> warmly returns your show of affection, seemingly thankful for your decision. There is no doubt that you are part of their family by now. <br><br> <</if>> <<elseif $wolfpackharmony gte 20>> <<if $monster is 1>> Feeling tired, you take a seat near a lonely stump. A <<beasttype>> joins you soon after. <<bHe>> lays down next to you. <br><br> "<<pPackbrother>> looking to nap as well?" <<bhe>> asks. The <<beasttype>> tries to relax, but something seems to trouble <<bhim>>. "Didn't want to say before, but pack is uneasy," <<bhe>> claims. "<<pPackbrother>> is one of us, but pack cannot care for human cub." Most of the <<wolf_cave_plural>> must have realised you are pregnant, and that you are not waiting for a pup. <br><br> "Allowing human cub here is not safe. Not for human or pack." The <<beasttype>> holds your arm in <<bhis>> mouth gently. <<bHe>> takes you out of the cave and towards the town. <<bHe>> releases you, now simply leading the way for you to follow. <br><br> Moments later you make it to the edge of the woods, where the town and the forest meet. The Nightingale Street hospital can be seen through the trees. "As far as can go, be safe." <<bHe>> turns around before leaving. "Hope <<ppackbrother>> can understand," <<bhe>> says before disappearing into the forest. <br><br> <<else>> Feeling tired, you take a seat near a lonely stump. A <<beasttype>> joins you soon after. <<bHe>> lays down next to you. The <<beasttype>> rests by your side, but something seems to have <<bhim>> upset. The <<beasttype>> stands up and gently nudges your belly, <<bhis>> ear drops and <<bhe>> whimpers. <br><br> The pack must have somehow realised by now that you are pregnant, and that they shouldn't be expecting a new wolf to join their ranks. This is no place to raise a baby. The <<beasttype>> holds your wrist gently in <<bhis>> mouth, leading you away from the cave. <br><br> You traverse the woods together, until you make it to the edge of town. The Nightingale Street hospital can be seen beyond the trees. The <<beasttype>> nudges you in the direction of the hospital, watching you leave before making <<bhis>> departure. <br><br> <</if>> <<elseif $wolfpackferocity gte 15>> <<if $monster is 1>> Feeling tired, you take a seat near a lonely stump. You spot a <<beasttype>> marching angrily towards you. <br><br> "Has <<ppackbrother>> gone insane?!" <<bhe>> growls. "No point hiding it. <<pPackbrother>> carrying litter, human litter! Whole pack knows by now!" <br><br> The <<beasttype>> growls in fury. <<bHe>> bites on your wrist hard, pulling you away from the cave with terrifying strength. You follow <<bhis>> pull to alleviate some of the pain. The <<beasttype>> takes you through the forests and into the edge where the woods meet the town, the Nightingale Street hospital can be seen through the trees. <<bHe>> lets go. <br><br> "<<pPackbrother>> should be ashamed, humans belong with humans!" the <<beasttype>> says as <<bhe>> releases you. "Don't care if <<ppackbrother>> is Black Wolf's favourite, will not allow <<ppackbrother>> to endanger pack." <<bHe>> declares, before turning away and heading back into the forest. <br><br> <<else>> Feeling tired, you take a seat near a lonely stump. You spot a <<beasttype>> marching angrily towards you. <br><br> The <<beasttype>> growls menacingly, <<bhis>> eyes fixated on your belly. The pack must have figured out by now that your baby isn't going to be one of theirs. The <<beasttype>> lunges forward, but <<bhe>> goes for your forearm instead. <br><br> The beast's maw is clamped tightly around you, keeping your arm restrained. <<bHe>> pulls you away from the cave with terryfing strength. You decide to follow the animal's lead, so as to reduce the pain in your arm. The <<beasttype>> drags you across the forest and into the edge of town, the Nightingale Street hospital can be seen beyond the trees. <br><br> At last the <<beasttype>> releases you, before marching back to the cave. You try to follow <<bhim>> back, but <<bhe>> turns around and bares <<bhis>> teeth at you. You won't be welcome into the cave while being pregnant with a human. <br><br> <</if>> <<else>> <<if $monster is 1>> Feeling tired, you take a seat near a lonely stump. You join a crestfallen <<beasttype>> resting alone. "Hasn't <<ppackbrother>> caused enough pain yet?" <<bhe>> complains. <<bHe>> stares at your belly uncomfortably, knowing that you're waiting for a human baby. <br><br> "If <<ppackbrother>> still cares about pack in slightest, will go now. Pack will crumble if human is born here." <br><br> The <<beasttype>> nods at you to follow. <<bHe>> leads you through the forest and into the edge of town, where the Nightingale Street hospital can be seen through the trees. <br><br> "<<pPackbrother>> is still part of pack, but human cannot be allowed. Pack cannot endure another tragedy like this." Having made <<bhis>> point clear, the <<beasttype>> turns to leave back into the forest. <br><br> <<else>> Feeling tired, you take a seat near a lonely stump. You join a crestfallen <<beasttype>> resting alone. <<bHe>> whimpers, <<bhis>> gaze lingering on your belly. The pack must have figured out by now that you are awaiting a baby, not a wolf cub. <br><br> Despite your differences with the pack, you realise that a human baby would make things more difficult and dangerous for everyone. The <<beasttype>> stands up and nudges you from behind, leading you away from the cave. <br><br> You walk through the woods together, until you make it to the edge of town. The Nightingale Street hospital can be seen at the distance. You turn to pat the <<beasttype>> goodbye, but the animal steps back, afraid from your touch. <<bHe>> darts away and disappears into the bushes. <br><br> <</if>> <</if>> <<link [[Next|Forest]]>><<set $forest to 0>><<set $caveHumanPregnancyDiscovered to 1>><<endevent>><</link>> <</widget>><<effects>> You walk over to the Black Wolf. The feel of <<bhis>> fur in your grip is comforting. <<bHe>> crouches, inviting you to climb on <<bhis>> back. <br><br> <<pass 10>> The trip through the forest passes in an exhilarating blur. Tree, leaf, fern, and stream all exalt your passage. <br><br> Your mount hesitates as the hospital looms above the treetops. <<if $monster is 1>> "No closer," <<bhe>> says. "Dangerous. I can't understand their weapons. Kill through time. But they will help you." <<bHe>> eases you, gently, to the forest floor. "Have no fear. You are strong, and the pack is with you." <<else>> <<bHe>> releases a low growl, and lowers <<bhis>> body. You slip to the forest floor. <</if>> <br><br> <<bHe>> howls again, then disappears between the trees. You walk the rest of the way on foot, staggering into the hospital foyer. The receptionist looks up, and guesses your situation. <br><br> <<link [[Next|Pregnancy Birth Hospital]]>><<endevent>><</link>> /* Black Wolf Pregnancy Scene */<<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $phase is 0>> <<if $monster is 1>> You draw closer to Black Wolf and hold <<bhis>> hand. <<takeHandholdingVirginity "Black Wolf" "romantic">> "Said will be fine, not as weak as <<ppackbrother>> thinks I am," <<bhe>> protests. <<bHe>> winces in pain once more. <br><br> You rest your hand on Black Wolf's head and pat <<bhim>>. "If <<ppackbrother>> really wants to..." <<bHes>> reluctant at first, but slowly eases into your touch. <<bHis>> tail starts to twitch, but <<bhe>> grabs it before it can start wagging. <br><br> You continue stroking <<bhis>> hair, before <<bhe>> shifts away. "Enough," <<bhe>> growls. "Want to be alone." You stand up and walk out of the birthing chamber, giving the <<beasttype>> some peace. <<else>> You draw closer to Black Wolf and reach out to touch <<bhim>>. <<bHe>> pulls back in anger at your display of pity towards <<bhim>>. <br><br> You rest your hand on Black Wolf's head and pat <<bhim>>. <<bHes>> reluctant at first, but slowly eases into your touch. You catch a small glimpse of what may be <<bhis>> tail wagging. <br><br> You continue stroking <<bhis>> fur, before <<bhe>> shifts away. <<bHe>> must have had enough. You stand up and walk out of the birthing chamber, giving the wolf some peace. <</if>> <<else>> Not eager to disobey the <<beasttype>>, you stand up and walk out of the birthing chamber. <<bHe>> gives you a final look of reassurance before you leave. <</if>> <br><br> <<link[[Next (2:00)|Pregnancy Birth Black Wolf 2]]>><<pass 120>><</link>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> You sit and wait near the tunnel entrance, with only the sound of whimpering to accompany you. Time passes and the wait becomes unbearable. Eventually, the whining stops, and the cave grows silent. Expecting the worst, you rush back into the birthing chamber. <br><br> <<if $monster is 1>> As you enter, you're met by the sight of the Black Wolf, who is now relaxed and beaming with joy. You soon realise that the bundle of pups between <<bhis>> arms is the cause of <<bhis>> good mood. "Pups seem active for newborns," <<bhe>> says. "Must be eager to meet <<ppackbrother>>." <br><br> You reach out to take one of your pups. Black Wolf growls, keeping the litter close to <<bhimself>>, but the little beasts insist. <<bHe>> finally concedes, letting you see your pups. <br><br> You take the little wolves and hold them tightly against you. The tiny furry bodies settle their whimpering and become tranquil, as they bask in the protective embrace of their father. Black Wolf takes them once more. "Pups will need to be fed regularly." <<bHe>> stops and thinks for a moment. "<<pPackbrother>> may want to name them as well..." <br><br> "Will rest here for a while, won't leave their side." <<else>> As you enter, you're met by the sight of the Black Wolf, who is now relaxed and in a happier demeanour. You soon realise that the bundle of pups surrounding <<bhim>> is the cause of <<bhis>> improved mood. <<bHe>> seems eager for you to see them. <br><br> You reach out to take one of your pups. Black Wolf growls, keeping the litter close to <<bhimself>>, but the little beasts insist. <<bHe>> finally concedes, letting you see your pups. <br><br> You take the little wolves and hold them tightly against you. The little furry bodies settle their whimpering and become tranquil, as they bask in the protective embrace of their father. <br><br> Black Wolf takes them once more. Your pups will need to be fed regularly, and it would be a good idea to name them as well. <br><br> Black Wolf remains in the birthing chamber, seemingly content with resting for now. <</if>> <br><br> <<birthUi "Black Wolf" "wolf_cave" "wolf_cave" "Pregnancy Birth Black Wolf 3" 60>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if $monster is 1>> Having named your children, you hand them back to the Black Wolf. <<bHe>> nods approvingly at your choice of names. <br><br> <<if pregnancyCountBetweenParents("Black Wolf", "pc") gte 2 or $knowsAboutDen is 1>> "Come," <<bhe>> says. "Visit pups den now." Cradling the bundle of pups, the Black Wolf leads you through the tunnel to the pups den, where the newborns join the rest of the young pups in the pack. "Will rest here for a while," the Black Wolf says. "Won't leave their side." <<else>> <<set $knowsAboutDen to 1>> "Come," <<bhe>> says. "Show <<ppackbrother>> pups den." Cradling the bundle of pups, the Black Wolf leads you through the tunnel to another secluded chamber. The den appears to house all the young and newborn pups from the pack, as well as the <<wolf_cave_plural>> who look after them. "Will rest here for a while," the Black Wolf says. "Won't leave their side." <br><br> <span class="gold">You can now access the pups den.</span> <</if>> <<else>> Having named your children, you move to hand them back to the Black Wolf, but <<bhe>> growls at you. Lumbering to <<bhis>> feet, <<bhe>> heads for the tunnel entrance, where <<bhe>> swings <<bhis>> massive head around to gaze at you. You dutifully follow <<bhim>>, gingerly carrying the litter of pups. <br><br> <<if pregnancyCountBetweenParents("Black Wolf", "pc") gte 2 or $knowsAboutDen is 1>> The Black Wolf leads you through the tunnel to the pups den, where the newborns will join the rest of the young pups in the pack. The Black Wolf lies down once more and looks up at you expectantly. You give the pups back to the Black Wolf, who chooses to remain in the den, seemingly content with resting for now. <<else>> <<set $knowsAboutDen to 1>> The Black Wolf leads you through the tunnel to another secluded chamber. This part of the cave appears to house all the young and newborn pups from the pack, as well as the <<wolf_cave_plural>> who look after them. The Black Wolf lies down once more and looks up at you expectantly. You give the pups back to the Black Wolf, who chooses to remain in the den, seemingly content with resting for now. <br><br> <span class="gold">You can now access the pups den.</span> <</if>> <</if>> <br><br> <<link [[Next|Wolf Cave]]>><<set $eventskip to 1>><<set $wolfevent to 0>><<endevent>><</link>> /* Player Wolf Cave Pregnancy */<<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<set _pregnancy to getPregnancyObject()>> <<if _pregnancy.totalBirthEvents gte 5>> <<set _min to 15>> <<set _max to 60>> <<elseif _pregnancy.totalBirthEvents gte 3>> <<set _min to 30>> <<set _max to 120>> <<else>> <<set _min to 60>> <<set _max to 180>> <</if>> <<set _max to Math.floor(_max * (1 + Math.floor(_pregnancy.fetus.length * 0.2)))>> <<set _min to Math.floor(_min * (1 + Math.floor(_pregnancy.fetus.length * 0.2)))>> <<set _timeCalc to random(_min, _max)>> <<set _hours to Math.floor(_timeCalc / 60)>> <<set _minutes to _timeCalc % 60>> <<switch $phase>> <<case 0>> You gently push the Black Wolf away. <<bHe>> growls at you, before eventually leaving with a scoff. <br><br> You lay in the cold ground, trying fruitlessly to find some comfort amidst your contractions. Your breathing grows heavier by the second, and the pain becomes too intense for you to endure as you continue pushing. Everything fades away. <<set $phase to 1>> <<case 1>> You shift around, trying your best to find a comfortable position, with no success. Black Wolf takes notice, and stands up to move closer to you. <<bHe>> lays down behind you, letting you rest your back on <<bhis>> side and easing your pain. <<bHe>> gives you a reassuring lick of support. <br><br> Your breathing grows heavier and your contractions become more unbearable every second. The pain becomes too much for you to endure as you continue pushing. Everything fades away. <<set $phase to 0>> <<case 2 3>> <<set $phase to $phase is 2 ? 1 : 2>> You shift around, trying your best to find a comfortable position, with no success. <br><br> Your breathing grows heavier and your contractions become more unbearable every second. The pain becomes too much for you to endure as you continue pushing. Everything fades away. <</switch>> <br><br> <<link [["Next (0"+_hours+":"+(_minutes lt 10 ? "0": "")+_minutes+")"|Pregnancy Birth Wolf Cave 2]]>><<playerPrebirth>><</link>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<earSlimePregnancy>> As you regain your consciousness, you feel a faint sound of weeping nearby. You open your eyes and look around, only to spot the Black Wolf carrying a small furry bundle of puppies flailing around and nibbling on each other. Your children have finally been born. <br><br> <<if $phase is 2>> <<npc "Black Wolf">> <<if $monster is 1>> The Black Wolf turns around, presenting you the handful of pups. "<<pPackbrother>> had rough delivery," <<bhe>> says. <<if $syndromewolves isnot 1>> "Came running to make sure pups were fine. <span class="gold">You make a good pack mother, welcome to pack.</span>" <<else>> "Pleased you made it back safe. Came running to make sure pups were fine. Glad to see them healthy." <</if>> <<bHe>> smiles with relief. <<else>> The Black Wolf turns around, presenting you the handful of pups. <<bHe>> must have rushed toward you after noticing your very difficult delivery. You think that the wolf must have somehow helped during labour<<if $syndromewolves isnot 1>>, <span class="gold">despite you not being part of the pack</span><</if>>. <</if>> <<elseif $phase is 1>> <<if $monster is 1>> The Black Wolf turns around, presenting you the handful of pups. "<<pPackbrother>> had rough delivery," <<bhe>> says. "Came running to make sure pups were fine. <<if $syndromewolves isnot 1>> <span class="gold">You make a good pack mother, welcome to pack.</span>" <<else>> Glad to see them healthy." <</if>> <<bHe>> smiles with relief. <<else>> The Black Wolf turns around, presenting you the handful of pups. <<bHe>> must have rushed toward you after noticing your very difficult delivery. You think that the wolf must have somehow helped during labour<<if $syndromewolves isnot 1>>, <span class="gold">despite you not being part of the pack</span><</if>>. <</if>> <<else>> <<if $monster is 1>> The Black Wolf turns around, presenting you the handful of pups. "<<pPackbrother>> had rough delivery," <<bhe>> says. "Glad decided to stay. Had to make sure little ones had no trouble at birth." <<bHe>> smiles with relief. <<else>> The Black Wolf turns around, presenting you the handful of pups. <<bHe>> must have somehow aided during your delivery, as well keeping the pups safe while you came to. <</if>> <</if>> <br><br> You reach out for your pups, but Black Wolf pulls away. The pups whine and whimper. Black Wolf inspects them once more, before finally handing them to you. <br><br> <<link [[Next|Pregnancy Birth Wolf Cave 3]]>><</link>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<set $wolfevent to 1>> Overwhelmed by the stress, relief, and flood of emotion, you break into tears. You gather your pups and hold them close, making sure they find comfort in your warmth. Their whimpering settles down as they bask in your embrace. You're whimpering yourself, but can't contain a big smile drawing on your tear-covered face. <br><br> <<if getPregnancyObject().fetus[0].father is "Black Wolf">> <<if $monster is 1>> The Black Wolf remains close, wearing a proud smile. "A fine litter of pups. Grateful to have <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>another<<else>>first<</if>> litter with <<ppackbrother>>." <<bHe>> licks your cheek affectionately. "Our pups are in good health. Will need to be fed regularly, to stay strong. Will be strongest pups in pack!" <<bHe>> stops and thinks for a moment. "<<pPackbrother>> may want to name them as well..." <<else>> The Black Wolf stands close, wearing a proud smile. <<bHe>> licks your cheek affectionately, seemingly grateful that you've given <<bhim>> <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>another fine litter<<else>><<bhis>> first litter<</if>> of pups. Your pups seem restless and hungry. You will need to feed them regularly, and they'll need names too. <</if>> <br><br> <<else>> <<if $monster is 1>> <<if isLoveInterest("Black Wolf")>> The Black Wolf stands close. "Still think pups should be mine, but they make fine addition to pack," <<bhe>> admits, nuzzling against your head. <<else>> The Black Wolf stands close, wearing a proud smile. "New pups make fine addition to pack," <<bhe>> says. <</if>> "Will need to be fed regularly, to stay strong." <<bHe>> stops and thinks for a moment. "<<pPackbrother>> may want to name them as well..." <br><br> <<else>> <<if isLoveInterest("Black Wolf")>> The Black Wolf stands close. <<bHe>> nuzzles <<bhis>> snout against your head. The pups may not be <<bhis>>, but <<bhe>> doesn't seem to mind. Your pups, on the other hand, seem restless and hungry. <<else>> The Black Wolf stands close, wearing a proud smile. Your pups seem restless and hungry. <</if>> You will need to feed them regularly, and they'll need names too. <br><br> <</if>> <</if>> <<birthUi "pc" "wolf_cave" "wolf_cave" "Pregnancy Birth Wolf Cave 4" 180>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> Having named them, you gather your children. <br><br> <<if $monster is 1>> <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1 or $knowsAboutDen is 1>> "Come," <<bhe>> says. "Visit pups den now." Hovering close to you as you cradle your pups in your arms, <<bhe>> leads you through the tunnel to the pups den, where the newborns join the rest of the young pups in the pack. <<else>> <<set $knowsAboutDen to 1>> "Come," the Black Wolf says. "Show <<ppackbrother>> pups den." Hovering close to you as you cradle your pups in your arms, <<bhe>> leads you through the tunnel to another secluded chamber. The den appears to house all the young and newborn pups from the pack. Your own children are accepted into the group by the other pups, as well as the <<wolf_cave_plural>> who look after them. <br><br> <span class="gold">You can now access the pups den.</span> <</if>> <<else>> <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1 or $knowsAboutDen is 1>> The Black Wolf circles your body and herds you to the tunnel entrance. Hovering close to you as you cradle your pups in your arms, <<bhe>> leads you through the tunnel to the pups den, where the newborns join the rest of the young pups in the pack. <<else>> <<set $knowsAboutDen to 1>> The Black Wolf circles your body and herds you to the tunnel entrance. Hovering close to you as you cradle your pups in your arms, <<bhe>> leads you through the tunnel to another secluded chamber. The den appears to house all the young and newborn pups from the pack. Your own children are accepted into the group by the other pups, as well as the <<wolf_cave_plural>> who look after them. <br><br> <span class="gold">You can now access the pups den.</span> <</if>> <</if>> <br><br> <<if $syndromewolves isnot 1>> <<if $bestialitydisable is "f">> <span class="red"><i>After giving birth to pups of your own, you see they're just cute animals.</i> You've gained the "Stockholm Syndrome: Wolves" trait.</span> <br><br> <<else>> <span class="red"><i>After giving birth to pups of your own, you see they're just cute monsters.</i> You've gained the "Stockholm Syndrome: Wolf People" trait.</span> <br><br> <</if>> <<if $loveInterest.primary is "None" and hasSexStat("deviancy", 3)>> <<set $loveInterest.primary to "Black Wolf">> <span class="gold">The Black Wolf is now your love interest! <<bHe>> seems happy to have found a mate.</span> <<elseif hasSexStat("deviancy", 3)>> <span class="gold">The Black Wolf can now be claimed as your love interest! <<bHe>> seems happy to have found a mate. <br> You can change your love interest in the "Attitudes" menu.</span> <<else>> <span class="blue">You aren't sure if a <<beasttype>> would make a good love interest...</span> <</if>> <br><br> <<set $syndromewolves to 1>> <<set $wolfevent to 0>> <<set $wolfstate to "cave">> <<set $wolfpackferocity to 10>> <<set $wolfpackharmony to 10>> <</if>> <<link [[Next|Wolf Cave]]>><<clotheson>><<set $eventskip to 1>><<set $wolfevent to 0>><<endevent>><</link>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<set _pregnancy to getPregnancyObject()>> <<npc "Black Wolf">> <<setKnowsAboutPregnancy "pc" "Black Wolf">> You lean back and expose your belly to Black Wolf. <<bHe>> takes notice, and gets up to have a better look. <br><br> <<if !_pregnancy or !_pregnancy.type or !_pregnancy.fetus or !_pregnancy.fetus.length>> The Black Wolf sniffs your non-existent baby belly, wondering how you could reach such a scene when you shouldn't be able to. Clearly an error has occurred. <<elseif _pregnancy.type isnot "wolf">> <<if $monster is 1>> "What is <<ppackbrother>>..." <<bhe>> manages. <<bHe>> brings <<bhimself>> closer to your crotch and sniffs you. <<bHis>> ears fall in response. <br><br> <<bHe>> pulls back from you. "Children... but not pups? <<pPackbrother>> may be better off finding their real mate." <<else>> <<bHe>> is caught by surprise. The wolf brings <<bhimself>> closer to your crotch and sniffs you. <<bHis>> ears fall in response and <<bhe>> walks away from you. <</if>> <<elseif $wolfpackferocity gte 20 and $wolfpackharmony gte 20>> <<if $monster is 1>> "What is <<ppackbrother>>..." <<bhe>> manages. <<bHe>> brings <<bhimself>> closer to your crotch and sniffs you. <<bHis>> ears perk up in response. "Cannot believe, will have <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>another<<else>>first ever<</if>> litter with <<ppackbrother>>." <<bHe>> nuzzles your neck. "Pack is fortunate to have <<ppackbrother>>, but not as fortunate as me." <br><br> <<bHe>> pulls back from you. "<<pPackbrother>> must stay with pack, with me," <<bhe>> says. "Will protect mate, and pups no matter what." <<else>> <<bHe>> is caught by surprise. The wolf brings <<bhimself>> closer to your crotch and sniffs you. <<bHis>> ears perk up in response. <<bHe>> nuzzles your neck and licks your face in the tender way that only two wolf mates would. <br><br> <<bHe>> pulls back from you, but seems hesitant to let you go. It may put the Black Wolf at ease if you stayed around the cave. <</if>> <<elseif $wolfpackferocity gte 15>> <<if $monster is 1>> "Must see for myself." <<bHe>> smirks. <<bHe>> pushes you down onto your back and lifts your leg, before shifting over to smell your nether regions. "Could never mistake own scent," <<bhe>> remarks with pride. <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>"<<pPackbrother>> should be honoured to carry another litter of mine."<<else>>"Never had own litter before, <<ppackbrother>> should be honoured."<</if>> <br><br> Black Wolf settles down once more. "Have finally staked claim," <<bhe>> says while holding you. "<<pPackbrother>> belongs to me, mine alone to breed." You try to free yourself from <<bhis>> grip, but <<bhe>> tightens instead. "<<pPackbrother>> would do well in staying," <<bhe>> growls. "Will not put my own pups at risk." <<else>> Black Wolf tilts <<bhis>> head in confusion. <<bHe>> pushes you down onto your back and tries to sniff your nether regions. You try to hold <<bhim>> back, but <<bhe>> growls in response, before resuming <<bhis>> inspection. Black Wolf raises <<bhis>> head, projecting an odd aura of pride. <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>You figure <<bhe>> must be proud to father another litter.<<else>>You figure this must be <<bhis>> first litter.<</if>> <br><br> <<bHe>> brings <<bhis>> jaws down on to the back of your neck and pushes the rest of your body down with <<bhis>> paw. The beast keeps you in this submissive position for a few moments longer, asserting dominance and claiming you as <<bhis>> own. <br><br> At last, <<bhe>> lets go of you. You take a deep breath of relief as Black Wolf settles down once more. <</if>> <<elseif $wolfpackharmony gte 15>> <<if $monster is 1>> "Is that?" <<bhe>> asks in disbelief. You move your arm to the side, giving <<bhim>> a clearer view. Black Wolf inches closer and smells you. <<bHe>> sniffs you, then smiles in excitement. <<bHe>> pushes you down and climbs atop you, covering your face in loving licks. "Can't believe luck!" <<bhe>> exclaims. "Will have <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>another<<else>>first<</if>> litter with <<ppackbrother>>!" <br><br> <<bHe>> comes to <<bhis>> senses and settles down. <<bHe>> climbs off of you. "Got too excited for a moment." <<bHe>> places an arm on you. "Very lucky to have litter with <<ppackbrother>>. Should stay in cave for now, for sake of our pups." <<else>> <<bHe>> stares in disbelief. You move your arm to the side, giving <<bhim>> a clearer view. Black Wolf inches closer and smells you. <<bHe>> sniffs you, then perks up in excitement. <<bHe>> pushes you down and climbs atop you, covering your face in loving licks. <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>You guess that <<bhe>> must be excited that your carrying <<bhis>> pups once again.<<else>>By <<bhis>> enthusiasm, you guess that this must be <<bhis>> first ever litter.<</if>> <br><br> <<bHe>> comes to <<bhis>> senses and settles down. <<bHe>> climbs off of you. <<bHe>> nuzzles your face, as if ashamed of <<bhis>> own uncontrollable excitement. The beast gives an unexplainable aura of gratitude. It might keep <<bhim>> at ease to stay close to the cave. <</if>> <<else>> <<if $monster is 1>> "Is <<ppackbrother>>..." <<bhe>> mutters. <<bHe>> takes a closer look at your belly and sniffs you. <<bHis>> eyes widen in surprise. "Will have <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>another<<else>>first ever<</if>> litter with <<ppackbrother>>." <<bHe>> smiles. "Maybe things not as terrible as they seem." <<bHe>> holds you tightly for a moment longer. <br><br> "<<pPackbrother>> should stay," <<bhe>> says, <<bhis>> tone suddenly nervous. "If something were to happen to pups, or <<ppackbrother>>..." <<else>> The wolf regards you with curiosity. <<bHe>> takes a closer look at your belly and sniffs you. <<bHis>> ears perk up in surprise. <<bHis>> demeanour quickly changes. Where there was a grim and crestfallen look, Black Wolf now looks excited and hopeful. <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>You figure that <<bhe>> must be looing forward to fathering another litter of pups.<<else>>You figure this must be <<bhis>> first litter.<</if>> <br><br> <<bHe>> nuzzles you tenderly and gives a soft and quiet whimper, as if worried that you'll leave. It may put Black Wolf at ease if you stayed around the cave. <</if>> <</if>> <br><br> <<set $eventskip to 1>><<set $wolfevent to 0>> <<destinationwolfcave>><<widget "wolfwetnurse">> <<if $monster is 1>> You spot an angry wolfgirl marching towards you, with your pups in tow. <br><br> "<<pPackbrother>> finally back!" she protests. She draws attention to her breasts. Her nipples look sore. <br><br> "Black Wolf told me to feed pups! Savage beasts, bit me all over and dried me up!" She pushes you aside as she leaves. "Look for different pack sister to help next time!" <<else>> You spot an angry female wolf marching towards you, with your pups in tow. <br><br> Its nipples look sore. It must have been feeding your pups, and by the looks of things, they haven't been gentle about it. <br><br> The female wolf growls at you before turning to leave. The Black Wolf will have to look for a different pack sister to help next time. <</if>> <br><br> Your pups seem eager to see you back, at least. You gather them in your embrace and take them inside. <br><br> <<destinationwolfcave>> <</widget>><<set $outside to 0>><<set $location to "wolf_cave">><<effects>> <<if ((Time.hour gte 8 and Time.hour lte 15) or (Time.hour gte 18))>> <<unset $breastfeedend>> <</if>> You are in a secluded den inside the wolf cave. Makeshift chew toys are scattered around. <br><br> One of your packmates guards the entrance to the pups den. <br><br> <<if Object.values($children).find(child => child.mother === "Black Wolf" && child.location === "wolf_cave") and ((Time.hour gte 6 and Time.hour lte 7) or (Time.hour gte 16 and Time.hour lte 17))>> The Black Wolf lays down in a corner of the den, surrounded by a group of puppies. <br><br> <<if $breastfeedend isnot 1>> <<wolfcaveicon "bw">><<link [[Approach|BW Pups Breastfeed]]>><</link>> <br> <<else>> <<wolfcaveicon "bw">><<link [[Approach|BW Pups Breastfeed]]>><</link>> <br> <</if>> <</if>> <<if $bestialitydisable is "f" and $breastfeedingdisable is "f" and $lactating is 1 and hasSexStat("deviancy", 3) and ($monsterchance lt 100 or ($monsterhallucinations is "t" and $hallucinations is 0))>> <<if $wolfcavebreast is 3>> <span class="blue">The pups are full of milk.</span> <br> <<else>> <<ind>><<link [[Breastfeed some pups (0:05)|Wolf Cave Breastfeed]]>><<set $phase to 0>><</link>><<deviant3>> <br> <</if>> <</if>> <<if Object.values($children).find(child => child.mother === "pc" && child.location === "wolf_cave") and ((Time.hour gte 6 and Time.hour lte 7) or (Time.hour gte 16 and Time.hour lte 17)) and $breastfeedend isnot 1>> <<wolfcaveicon "children">><<link [[Check on your children|PC Pups Breastfeed]]>><</link>> <br> <<else>> <<wolfcaveicon "children">><<link [[Check on your children|Childrens Home]]>><<set $exitPassage to $passage>><</link>> <br> <</if>> <<getouticon>><<link [[Leave|Wolf Cave]]>><</link>><<effects>><<npc "Black Wolf">> <<if $breastfeedend isnot 1>> The pups have gathered around the Black Wolf's breasts. They shove each other away trying to claim their share of the milk. <br><br> The Black Wolf remains still and absent-minded, only giving the pups the occasional growl whenever they become too feisty. <br><br> <<if $monster is 1>> "Pups too impatient," <<bhe>> sulks. "Takes more patience than I thought..." <<else>> You take notice of the Black's exasperation and lack of patience with the pups. <</if>> <br><br> <<link [[Try to drink some of the milk (0:30)|BW Pups Breastfeed Drink]]>><<pass 30>><</link>> <br> <<if $lactating is 1 and $breastfeedingdisable is "f" and $milk_amount gte 1>> <<link [[Feed some of the pups yourself (0:30)|BW Pups Breastfeed Help]]>><<pass 30>><</link>> <br> <</if>> <<link [[Leave|Pups Den]]>><</link>> <<else>> The pups are resting in a small pile around the Black Wolf. <br><br> <<if $monster is 1>> "Pups finally calmed down," <<bhe>> says relieved. <<else>> <<bHe>> seems relieved that the pups finally calmed down. <</if>> <br><br> <<link [[Next|Pups Den]]>><<endevent>><</link>> <</if>><<effects>> You wait expectantly for your pups to finish feeding. Once sated, they gather in a small pile around the Black Wolf to rest. You inch closer to the Black Wolf's <<if $monster is 1>>breasts<<else>>tits<</if>> and give them a gentle lick.<<garousal>><<arousal 600>> <br><br> The <<beasttype>> shoves you away. <<if $monster is 1>> "Stop that," <<bhe>> growls. "<<pPackbrother>> is not pup." <<else>> Seemingly annoyed by your attempt to feed like a pup. <</if>> <br><br> <<link [[Insist|BW Pups Breastfeed Insist]]>><</link>> <br> <<link [[Leave|Pups Den]]>><<set $breastfeedend to 1>><<endevent>><</link>><<effects>> You won't let that stop you. You ignore the <<beasttype>>'s warning and shift closer once again. <<if $wolfpackharmony gte 15>> <<bHe>> growls again, but in a softer tone this time. <<if $monster is 1>> The Black Wolf moves <<bhis>> arm aside, leaving <<bhis>> bare breasts at your reach. <<else>> The Black Wolf moves <<bhis>> leg aside, leaving <<bhis>> bare chest at your reach. <</if>> <br><br> You don't waste the opportunity. Reaching forward, you wrap your lips around <<bhis>> nipple and begin sucking. <span class="lewd">Sweet creamy milk begins to flow out.</span> You squeeze <<bhis>> breast with your hand, making sure to get even the last drop as you continue feeding. <br><br> Despite the pups' hungrily drinking earlier, there seems to be enough for you as well. You move over to the other breast and repeat the process. The Black Wolf remains still, yet remorseful. <br><br> You stand up once finished, wiping some leftover milk off your mouth. The Black Wolf looks ashamed. <<if $monster is 1>> "Hope <<ppackbrother>> won't make habit out of this," <<bhe>> says without looking at you. "What would pack think if they saw?" <<else>> Your behaviour may have put <<bhim>> off. You wonder if the other <<wolf_cave_plural>> would find this strange. <</if>> <br><br> <<else>> <span class="red"><<bHe>> grabs a hold of your collar and forces you down on the ground.</span> <<if $monster is 1>> "Not in mood for playing now!" <<bHe>> protests. <<else>> <<bHe>> growls louder this time. This might not be a good time to try your luck. <</if>> <br><br> You decide not to push things further and leave them be. <br><br> <</if>> <<link [[Next|Pups Den]]>><<set $breastfeedend to 1>><<endevent>><</link>><<effects>> <<set _pupsCount to Object.values($children).reduce((prev,curr) => curr.location === "wolf_cave" ? prev + 1: prev,0)>> You bare your breasts and lay down on the ground. You pat the ground, beckoning some of the pups over. <br><br> A few of them take notice of you, and split off from the group to start piling around you instead. It doesn't take long for the pups to begin hungrily feeding. <br><br> The Black Wolf seems mildly confused, but relieved. <<if $monster is 1>> "Not sure if will be enough, even with both of us..." <<bhe>> says with a smile. <</if>> <br><br> The pups continue with their feeding for a while longer, before settling down at last. The Black Wolf moves over and gives your face a long lick of thanks, before settling down along with the pups to rest. <br><br> <<set $milk_amount -=_pupsCount/2>> <<link [[Next|Pups Den]]>><<set $breastfeedend to 1>><<endevent>><</link>><<effects>> You approach your pups, who cry and whimper at your arrival. More tiny wolves gather around you, trying desperately to reach for your breasts. <br><br> <<link [[Feed (0:30)|PC Pups Breastfeed Feed]]>><<pass 30>><</link>> <br> <<link [[Leave|Pups Den]]>><<endevent>><</link>><<effects>> <<set _pupsCount to Object.values($children).reduce((prev,curr) => curr.location === "wolf_cave" ? prev + 1: prev,0)>> <<if $catbuild gte 50 or $wolfbuild gte 30 or $foxbuild gte 30>> You<<if $worn.over_upper.name isnot "naked" or $worn.upper.name isnot "naked">> remove your top and<</if>> lower yourself to the ground, laying on your side. You leave your breasts exposed to the pups, who don't waste any time before piling on them. <br><br> The small beasts push and shove each other aside. They squirm and compete for a spot, with you only being able to feed two at once. The pups give the occasional bite, making you wince.<<gpain>><<violence 3>> <br><br> Moments later, the pups settle down and begin to grow weary. <<if _pupsCount lte 16>> You're pretty sure they all received their fair share. With their bellies full, they soon drift off into a gentle sleep. <br><br> <<else>> You were unable to feed some of the puppies, leading them to a nearby <<if $monster is 1>>wolfgirl<<else>>female wolf<</if>>. <br><br> <</if>> <<set $milk_amount -=_pupsCount>> <<elseif $cowbuild gte 40>> You<<if $worn.over_upper.name isnot "naked" or $worn.upper.name isnot "naked">> remove your top and<</if>> lower yourself to the ground, resting on your hands and knees. Your breasts hang over the pups, who don't waste any time before piling below them. <br><br> The tiny beasts push and shove each other aside. They try to stand and reach for a spot, with you only being able to feed two at once. The pups give the occasional bite, making you wince.<<gpain>><<violence 3>> <br><br> Moments later, the pups settle down and begin to grow weary. <<if _pupsCount lte 32>> You're pretty sure they all received their fair share. With their bellies full, they soon drift off into a gentle sleep. <<else>> You were unable to feed some of the puppies, leading them to a nearby <<if $monster is 1>>wolfgirl<<else>>female wolf<</if>>. <</if>> <br><br> <<set $milk_amount -=_pupsCount>> <<else>> You<<if $worn.over_upper.name isnot "naked" or $worn.upper.name isnot "naked">> remove your top and<</if>> lower yourself to the ground, taking a seat near the small crowd. You try to cradle the pups, who wiggle eagerly in your arms. <br><br> The tiny beasts push and shove each other aside. They beg incessantly at you, impatient for their turn to feed. You soon become overwhelmed, being able to feed only two of them at once.<<gstress>><<stress 6>> <br><br> The pups give the occasional bite, making you wince.<<gpain>><<violence 3>> <br><br> Moments later, the pups settle down and begin to grow weary. <<if _pupsCount lte 8>> You're pretty sure they all received their fair share. With their bellies full, they soon drift off into a gentle sleep. <<else>> You were unable to feed some of the puppies, leading them to a nearby <<if $monster is 1>>wolfgirl<<else>>female wolf<</if>>. <</if>> <br><br> <<set $milk_amount -=_pupsCount>> <</if>> <<link [[Next|Pups Den]]>><<set $breastfeedend to 1>><<endevent>><</link>><<widget "wolfcaveevent">> <<beastNEWinit 1 wolf>> <<rng>> <<cleareventpool>> <<if $wolfstate isnot "cave">> <<childrenEvents "wolf_cave" $passage>> <<addinlineevent "wolf cave play fight">> One of the younger <<beastsplural>> approaches you. <<bHe>> wants to play fight. <br><br> <<link [[Play (0:20)|Wolf Cave Play Fight]]>><<pass 20>><<stress -4>><</link>><<lstress>> <br> <<if hasSexStat("deviancy", 2) and ($bestialitydisable is "f" or $monster is 1)>> <<link [[Lewd play|Wolf Cave Lewd Play]]>><<set $sexstart to 1>><</link>><<deviant2>> <br> <</if>> <<if $bus is "wolfcave">> <<link [[Ignore|Wolf Cave]]>><<endevent>><</link>> <br> <<else>> <<link [[Ignore|Wolf Cave Clearing]]>><<endevent>><</link>> <br> <</if>> <</addinlineevent>> <<addinlineevent "anxious younger wolves" 2>> The younger <<wolf_cave_plural>> stare at the tree line, anxious for the pack's return. <br><br> <<endevent>> <<destinationwolfcave>> <</addinlineevent>> <<addinlineevent "younger wolf rub" 2>> One of the younger <<beastsplural>> rubs <<bhis>> head against your leg as <<bhe>> walks by. <<ltrauma>><<lstress>><<trauma -6>><<stress -12>> <<endevent>> <br><br> <<destinationwolfcave>> <</addinlineevent>> <<else>> <<childrenEvents "wolf_cave" $passage>> <<if npcIsPregnant("Black Wolf") and npcBellyVisible("Black Wolf") and !knowsAboutPregnancy("Black Wolf","pc")>> <<addevent "blackWolfPresentsPregnancyToPlayer" 5000>> <</if>> <<if playerNormalPregnancyType() isnot "wolf" and playerIsPregnant() and playerAwareTheyArePregnant() and playerBellyVisible()>> <<addevent "CaveHumanPregnancyDiscovered" 5000>> <</if>> <<if Object.values($children).find(child => child.mother === "pc" && child.location === "wolf_cave") and $lactating isnot 1 and Time.dayState is "day">> <<addevent "wolfwetnurse" 0.5>> <</if>> <<if $weekly.babyRabbit isnot 1 and $wolfstate isnot "hunt" and $rng gte 56 and $dissociation gte 1 and $syndromewolves gte 1 and $wolfpackharmony gte 10>> <<set $weekly.babyRabbit to 1>> <<addevent "wolfCaveBabyRabbit" 5000>> <</if>> <<if $wolfpackferocity + random(1, 20) gte $wolfpackharmony + random(1, 20)>> <<addinlineevent "wolf cave fight">> One of the <<beastsplural>> paces towards you, growling. <br><br> <<link [[Fight|Wolf Cave Fight]]>><<set $molestationstart to 1>><</link>> <br> <<link [[Call for help|Wolf Cave Help]]>><</link>> <br> <<if hasSexStat("deviancy", 3) and $submissive gte 1150>> <<link [[Adopt a mating posture|Wolf Cave Spar Sex]]>> <<set $sexstart to 1>> <<set $phase to 1>> <<sub 1>> <</link>> <<deviant3>> <<submissivetext>> <br> <</if>> <</addinlineevent>> <<addinlineevent "wolf cave play fight" 2>> A play fight escalates until one draws blood. <br><br> <<link [[Intervene|Wolf Cave Intervene]]>><<set $phase to 0>><</link>> <br> <<link [[Encourage|Wolf Cave Intervene]]>><<set $phase to 1>><</link>> <br> <<link [[Ignore|Wolf Cave Intervene]]>><<set $phase to 2>><</link>> <br> <</addinlineevent>> <<addinlineevent "wolf cave blackwolf agitated" 2>> <<endevent>><<npc "Black Wolf">>/*<<beastNNPCinit>>*/ <<if $wolfpackleader is 1>> The Black Wolf is agitated. <<bHe>> bites and growls at the others, agitating them in turn. <br><br> <<link [[Calm <<bhim>> down|Wolf Cave Calm]]>><<set $phase to 0>><</link>> <br> <<link [[Ignore <<bhim>>|Wolf Cave Calm]]>><<set $phase to 1>><</link>> <br> <<else>> One of the larger <<beastsplural>> challenges the Black Wolf. The Black Wolf wins after a brief tussle, but <<bhis>> anger is not assuaged. <<bHe>> growls and bites at the other <<beastsplural>>, as if daring any to challenge <<bhim>>. <br><br> <<if $wolfpackpoisoned is 1>> <span class="lblue"><<bHe>> staggers slightly. The poisonous mushrooms are having an effect. <<bHe>> will be weaker than usual.</span> <br><br> <</if>> <<link [[Calm <<bhim>> down|Wolf Cave Calm]]>><<set $phase to 0>><</link>> <br> <<link [[Ignore <<bhim>>|Wolf Cave Calm]]>><<set $phase to 1>><</link>> <br> <<link [[Challenge|Wolf Cave Calm]]>><<set $phase to 2>><</link>> <br> <</if>> <</addinlineevent>> <<else>> <<addinlineevent "wolf face lick" 2>> A <<beasttype>> rushes over to you. <<bHe>> rears up and leans on you, almost knocking you over. <<bHe>> licks your face. <<ltrauma>><<lstress>><<trauma -6>><<stress -12>> <br><br> <<destinationwolfcave>> <</addinlineevent>> <<addinlineevent "wolve mating rank">> <<endevent>> <<beastNEWinit 2 wolf>> A low ranking <<beasttype 0>> approaches you, wishing to mate. A more dominant <<beasttype 1>> tries to steal your attention. <br><br> <<saveNPC 0 wolf_rank_1>> <<saveNPC 1 wolf_rank_2>> <<if $bestialitydisable is "f" or $monster is 1>> <<link [[Favour the low ranking <<beasttype 0>>|Wolf Cave Rank]]>><<set $phase to 0>><</link>><<deviant1>> <br> <<link [[Favour the high ranking <<beasttype 1>>|Wolf Cave Rank]]>><<set $phase to 1>><</link>><<deviant1>> <br> <<if hasSexStat("deviancy", 2)>> <<link [[Share yourself with both|Wolf Cave Rank]]>><<set $phase to 2>><</link>><<deviant2>> <br> <</if>> <</if>> <<link [[Ignore both|Wolf Cave Rank]]>><<set $phase to 3>><</link>> <br> <</addinlineevent>> <<addinlineevent "young wolf rock climb" 2>> A younger <<beasttype>> tries to climb on a rock. <<bHis>> feet skid and <<bhe>> tumbles to the ground. <<bHe>> stands up, but starts whining. <br><br> <<link [[Make sure <<bhes>> okay (0:05)|Wolf Cave Young]]>><<set $phase to 0>><<pass 5>><</link>> <br> <<link [[Ignore|Wolf Cave Young]]>><<set $phase to 1>><</link>> <br> <</addinlineevent>> <<addinlineevent "wolf cave howl chorus">> <<endevent>><<npc "Black Wolf">> Amidst the group, you notice the Black Wolf standing atop a large rock, surrounded by a larger group of <<wolf_cave_plural>>. <<bHe>> suddenly raises <<bhis>> head and begins howling loudly, yet beautifully. A second <<beasttype>> takes notice and joins <<bhis>> pack sibling in hearty bonding. <br><br> Moments later, a modest group follows the lead and begins to howl loudly in harmonic unison. <br><br> <<link [[Watch them|Wolf Cave Howl]]>><<set $phase to 0>><</link>> <br> <<link [[Join in|Wolf Cave Howl]]>><<set $phase to 1>><</link>> <br> <</addinlineevent>> <<if $pound and $pound.progress is 6>> <<addinlineevent "wolf cave black dog" 0.5>> <<endevent>><<npc "Black Wolf">><<person1>> The Black Wolf sits atop a large rock, watching the surrounding forest. You see a pair of eyes staring back. It's the black dog. <br><br> <<link [[Encourage them to meet|Wolf Cave Dog Meet]]>><</link>> <br> <<link [[Leave them to their staring|Wolf Cave Dog Stare]]>><</link>> <br> <</addinlineevent>> <</if>> <</if>> <</if>> <<runeventpool>> <</widget>> <<widget "wolfcavestate">> <<if $wolfpackferocity gte 20 and $wolfpackharmony gte 20>> <span class="green">The pack is unified in lethal purpose.</span> <<elseif $wolfpackferocity gte 20 and $wolfpackharmony gte 10>> <span class="purple">The <<wolf_cave_plural>> pace and growl at each other, anxious for a hunt.</span> <<elseif $wolfpackferocity gte 20 and $wolfpackharmony gte 1>> <span class="pink">The <<wolf_cave_plural>> are agitated, afraid of losing their place in the pecking order.</span> <<elseif $wolfpackferocity gte 20>> <span class="red">The <<wolf_cave_plural>> keep a large space between them. Any trespass is met with gnashing teeth.</span> <<elseif $wolfpackharmony gte 20 and $wolfpackferocity gte 10>> <span class="teal">Play fights break out frequently.</span> <<elseif $wolfpackharmony gte 20 and $wolfpackferocity gte 1>> <span class="lblue">The <<wolf_cave_plural>> lie together, grooming each other.</span> <<elseif $wolfpackharmony gte 20>> <span class="blue">The <<wolf_cave_plural>> lie together in a big cuddly pile.</span> <<elseif $wolfpackferocity gte 10 and $wolfpackharmony gte 10>> <span class="lblue">Some of the <<wolf_cave_plural>> lie and groom each other, while others pace and watch the trees.</span> <<elseif $wolfpackferocity gte 10 and $wolfpackharmony gte 1>> <span class="purple">The <<wolf_cave_plural>> are on edge, growling and baring teeth at each other.</span> <<elseif $wolfpackferocity gte 10>> <span class="pink">The <<wolf_cave_plural>> eye each other warily.</span> <<elseif $wolfpackharmony gte 10 and $wolfpackferocity gte 1>> <span class="blue">Most of the <<wolf_cave_plural>> lie with their eyes shut, while others groom each other.</span> <<elseif $wolfpackharmony gte 10>> <span class="purple">The <<wolf_cave_plural>> groom themselves, and occasionally each other.</span> <<elseif $wolfpackferocity gte 1 and $wolfpackharmony gte 1>> <span class="purple">The <<wolf_cave_plural>> groom themselves and ignore each other.</span> <<elseif $wolfpackferocity gte 1>> <span class="pink">The pack lazes around, barely able to summon the energy to growl at each other.</span> <<elseif $wolfpackharmony gte 1>> <span class="pink">The pack lazes together, able to summon little energy.</span> <<else>> <span class="red">A depressive malaise lies on the pack.</span> <</if>> <</widget>> <<widget "wolfcaveselect">> <<if $huntstate is "ongoing" and ["dawn", "day"].includes(Weather.dayState)>> <<npc "Black Wolf">> <<if $wolfstate is "hunt">> <<set $wolfstate to "cave">> <<if $blackWolfPregnancyHunt and playerIsPregnant()>> The pack returns from the hunt. Many carry pieces of meat for the younger <<wolf_cave_plural>> that stayed at the cave. The Black Wolf drops some by your side before moving away. The hunt was successful. <<gharmony>><<gferocity>> <br><br> <<elseif $rng + $wolfpackferocity + $wolfpackharmony gte 80>> The pack returns from the hunt. Some carry pieces of meat for the younger <<wolf_cave_plural>> that stayed at the cave. The hunt was successful. <<gharmony>><<lferocity>> <br><br> <<else>> The pack returns from the hunt. They failed to catch anything. <<gferocity>><<lharmony>> <br><br> <<if $blackWolfPregnancyHunt and playerIsPregnant()>> The Black Wolf approaches you. <<if $monster is 1>> Now that <<bhe>> is closer you can see something in <<bhis>> hands. <br><br> "<<pPackbrother>> lucky to eat plants." The Black Wolf hands you some pears. <br><br> <<bHe>> looks down at your pregnant belly. "Should try meat next hunt. Good for pups." <br><br> <<else>> Some pears are in <<bhis>> mouth. <<bHe>> drops them in front of you before shaking <<bhis>> head. <<bHe>> doesn't seem to enjoy the taste. <br><br> <<bHe>> sniffs at your pregnant belly before looking back into the forest. <<bHe>> seems disappointed with <<bhimself>>. <br><br> <</if>> <<wearProp "pear">> <</if>> <</if>> <<else>> <<if $rng + $wolfpackferocity + $wolfpackharmony gte 80>> The pack returns from the hunt. Some carry pieces of meat for the younger <<wolf_cave_plural>> that stayed at the cave. <<if npcIsPregnant("Black Wolf")>> Some of it is brought to the Black Wolf. <<nnpc_He "Black Wolf">> scarfs it down quickly. <</if>> The hunt was successful. <<gharmony>><<lferocity>> <br><br> <<else>> The pack returns from the hunt. They failed to catch anything. <<gferocity>><<lharmony>> <br><br> <<if npcIsPregnant("Black Wolf") and npcBellyVisible("Black Wolf") and knowsAboutPregnancy("Black Wolf","pc")>> <<if $monster is 1>> You hear a grumble. It seems to be coming from the Black Wolf's stomach. <br><br> "Need more prey." <<bHe>> looks on wistfully into the forest. <br><br> <<else>> You hear a grumble. It seems to be coming from the Black Wolf's pregnant stomach. <br><br> <<bHe>> makes another grumble, this time from <<bhis>> maw. The Black Wolf doesn't usually complain about hunger. <<bHe>> must be worried about the pups. <br><br> <</if>> <</if>> <</if>> <</if>> <<unset $blackWolfNotHunting>> <<unset $blackWolfPregnancyHunt>> <<destinationwolfcave>> <<elseif $wolfstate is "cave" and !["finished","ongoing"].includes($huntstate) and ["dusk", "night"].includes(Weather.dayState)>> <<set $huntstate to "ongoing">><<set $wolfpackpoisoned to 0>> <<npc "Black Wolf">> <<if npcBellySize("Black Wolf") lte 15>> <<set $wolfstate to "hunt">> The Black Wolf howls and the others join in. <<if $monster is 1>> "We hunt soon. Be ready." <<else>> They're going hunting. <</if>> <<else>> <<set $blackWolfNotHunting to true>> The pack begins to howl and bay as they run through the trees. One usual member is missing. Turning, you see the Black Wolf resting on <<bhis>> usual rock, <<if $monster is 1>>stroking<<else>>nudging<</if>> <<bhis>> pregnant belly. <<if $monster is 1>> <br><br> <<bHe>> sighs, laying down and looking on after the pack. <</if>> <</if>> <<endevent>> <br><br> <<link [[Go with them|Wolf Cave Hunt]]>><</link>> <br> <<link [[Watch them leave|Wolf Cave Hunt Leave]]>><</link>> <br> <<elseif $wolfstate is "cave" and $wolfpackleader is 1 and $wolfpackharmony lte random(0,10) and $wolfpackferocity gte random(11,20) and $wolfchallengetimer lte 0>> <<set $wolfchallengetimer to 14>><<npc "Black Wolf">> You hear a loud bark behind you. You turn to face the Black Wolf, who stands firmly and bares <<bhis>> teeth to you. <<if $monster is 1>> "Leader weak!" <<bhe>> snarls. "Pack need strength, courage. Pack will have new leader today. <<pPackbrothers>> time as alpha is over!" <<else>> <<bHis>> fur bristles and <<bhis>> tail is held straight in the air. <<bHe>> seeks to challenge you for role as pack alpha. <</if>> <br><br> A small group gathers around you. <br><br> <<link [[Fight|Wolf Challenge Accept]]>><</link>> <br> <<link [[Surrender|Wolf Challenge Surrender]]>><</link>> <br> <<if $wolfgirl gte 6>> <<link [[Reason|Wolf Challenge Reason]]>><</link>><<wolfgirl>> <br> <</if>> <<elseif !$daily.blackWolfCleanAway and $wolfstate is "cave" and Time.dayState isnot "night" and $passagePrev is "Forest" and ['face', 'chest', 'tummy'].every(part => Object.values($player.bodyliquid[part]).some(value => value >= 3)) and ['penis', 'vagina', 'vaginaoutside'].some(part => Object.values($player.bodyliquid[part]).some(value => value >= 3))>> <<npc "Black Wolf">> As you enter the clearing outside of the wolf cave, Black Wolf raises <<person1>><<bhis>> head, sniffing the air. <br><br> <<bHe>> gets up, following the scent to you until <<bhe>> locks eyes with you. <<bHe>> lowers <<bhis>> ears, letting out a low growl. <<if $monster is 1>> "<<pPackbrother>> smells different," <<bhe>> says. "Not like pack." <<else>> <<bHe>> doesn't seem to like your current scent. <</if>> <br><br> <<bHe>> leans closer, looking at every inch of your face. <<bHe>> licks your forehead, cleaning the fluids off of it. <br><br> <<bodyliquid "face" "semen" -1>> <<bodyliquid "face" "goo" -1>> <<bodyliquid "face" "nectar" -1>> <<link [[Let <<bhim>> continue|Wolf Liquid Clean]]>><</link>> <br> <<link [[Push <<bhim>> away|Wolf Liquid Clean Away]]>><<set $phase to 0>><</link>> <br> <<else>> <<wolfcaveevent>> <</if>> <<if Weather.dayState is "day" or Weather.dayState is "dawn">> <<set $huntstate to "notStarted">> <<if $wolfstate is "hunt">><<set $wolfstate to "cave">><</if>> <</if>> <</widget>> <<widget "destinationwolfcave">> <<if $bus is "wolfcave">> <<link [[Next|Wolf Cave]]>><<endevent>><</link>> <br> <<else>> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <br> <</if>> <</widget>> <<widget "wolfhuntevents">> <<if $huntstate is "success">> <<set $huntstate to "finished">> <<if $wolfstate is "hunt">><<set $wolfstate to "cave">><</if>> Satiated, the pack heads back to the cave. Some carry food for the younger <<wolf_cave_plural>><<if $blackWolfNotHunting>> and the Black Wolf. <<nnpc_He "Black Wolf">> scarfs it down quickly<</if>>. <<lferocity>><<gharmony>> <br><br> <<link [[Next|Wolf Cave]]>><<handheldon>><<unset $blackWolfNotHunting>><</link>> <br> <<elseif $huntstate is "ongoing" and (Weather.dayState is "dawn" or Weather.dayState is "day")>> <<set $huntstate to "finished">> <<if $wolfstate is "hunt">><<set $wolfstate to "cave">><</if>> With the sun rising on the horizon, the pack returns to the cave. The failure of the hunt has the pack riled. <<gferocity>><<lharmony>> <br><br> <<link [[Next|Wolf Cave]]>><<handheldon>><<unset $blackWolfNotHunting>><</link>> <br> <<elseif $huntstate is "failure">> <<set $huntstate to "finished">> <<if $wolfstate is "hunt">><<set $wolfstate to "cave">><</if>> <<gferocity>><<lharmony>> <br><br> <<link [[Next|Wolf Cave]]>><<handheldon>><<unset $blackWolfNotHunting>><</link>> <br> <<else>> <<rng>> <<if $bus is "wolfpackriver">> You come to two pairs of tracks. One looks like a deer's hoof prints. The other several pairs of shoes. <br><br> <<if $wolfpackleader is 1>> The pack waits for your decision. <br><br> <<link [[Follow the deer tracks (1:00)|Wolf Deer]]>><<set $bus to "wolfpackdeer">><<tiredness 12>><</link>><<athleticsdifficulty>><<gtiredness>> <br> <<link [[Follow the shoe tracks (1:00)|Wolf Hunters]]>><<pass 1 hour>><<set $bus to "wolfpackhunters">><<tiredness 12>><</link>><<ggtiredness>> <br> <<link [[Let the Black Wolf decide (1:00)|Wolf Deer]]>><<set $bus to "wolfpackdeer">><<tiredness 12>><</link>><<gtiredness>> <br> <<else>> The Black Wolf follows the deer prints without a second thought. <br><br> <<link [[Next (1:00)|Wolf Deer]]>><<set $bus to "wolfpackdeer">><<tiredness 12>><</link>><<athleticsdifficulty>><<gtiredness>> <br> <</if>> <<elseif $bus is "wolfpackcliff">> You come to two pairs of tracks. One of a deer's hooves, but the steps are irregular. The other of large paws, with claws digging into the earth. <<if $wolfpackleader is 1>> The pack waits for your decision. <br><br> <<link [[Follow the deer prints (1:00)|Wolf Carrion]]>><<set $bus to "wolfpackcarrion">><<tiredness 12>><</link>><<gtiredness>> <br> <<link [[Follow the large prints (1:00)|Wolf Bear]]>><<pass 1 hour>><<set $bus to "wolfpackbear">><<tiredness 12>><</link>><<ggtiredness>> <br> <<if $rng gte 51>> <<link [[Let the Black Wolf decide (1:00)|Wolf Carrion]]>><<set $bus to "wolfpackcarrion">><<tiredness 12>><</link>><<gtiredness>> <br> <<else>> <<link [[Let the Black Wolf decide (1:00)|Wolf Bear]]>><<pass 1 hour>><<set $bus to "wolfpackbear">><<tiredness 12>><</link>><<ggtiredness>> <br> <</if>> <<else>> <<if $rng gte 51>> The Black Wolf sniffs the air, then follows the deer prints. <br><br> <<link [[Next (1:00)|Wolf Carrion]]>><<pass 1 hour>><<set $bus to "wolfpackcarrion">><<tiredness 12>><</link>><<ggtiredness>> <br> <<else>> The Black Wolf sniffs the air, then follows the large prints. <br><br> <<link [[Next (1:00)|Wolf Bear]]>><<pass 1 hour>><<set $bus to "wolfpackbear">><<tiredness 12>><</link>><<ggtiredness>> <br> <</if>> <</if>> <<elseif $bus is "wolfpackbear">> <<elseif $bus is "wolfpackhunters">> <<elseif $bus is "wolfpackdeer">> <<elseif $bus is "wolfpackcarrion">> <<else>> You come to a river emerging from the base of the cliff. <<if $wolfpackleader is 1>> The pack waits for your decision. <br><br> <<link [[Follow the river (1:00)|Wolf River]]>><<pass 1 hour>><<set $bus to "wolfpackriver">><<tiredness 12>><</link>><<ggtiredness>> <br> <<link [[Follow the cliff (1:00)|Wolf Cliff]]>><<pass 1 hour>><<set $bus to "wolfpackcliff">><<tiredness 12>><</link>><<ggtiredness>> <br> <<if $rng gte 51>> <<link [[Let the Black Wolf decide (1:00)|Wolf River]]>><<pass 1 hour>><<set $bus to "wolfpackriver">><<tiredness 12>><</link>><<ggtiredness>> <br> <<else>> <<link [[Let the Black Wolf decide (1:00)|Wolf Cliff]]>><<pass 1 hour>><<set $bus to "wolfpackcliff">><<tiredness 12>><</link>><<ggtiredness>> <br> <</if>> <<else>> <<if $rng gte 51>> The Black Wolf sniffs the air, then runs along the river. <br><br> <<link [[Next (1:00)|Wolf River]]>><<pass 1 hour>><<set $bus to "wolfpackriver">><<tiredness 12>><</link>><<ggtiredness>> <br> <<else>> The Black Wolf sniffs the air, then runs along the cliff. <br><br> <<link [[Next (1:00)|Wolf Cliff]]>><<pass 1 hour>><<set $bus to "wolfpackcliff">><<tiredness 12>><</link>><<ggtiredness>> <br> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "blackwolfhealth">> <<if $wolfpackpoisoned is 1>> <<set $enemyhealth to 200>><<set $enemyhealthmax to 200>> <<else>> <<set $enemyhealth to 600>><<set $enemyhealthmax to 600>> <</if>> <</widget>> <<widget "wolfpackhuntoptions">> <<if $wolfpackshroom is "red">> <<tendingicon "wolfshroom">><<link [[Add a red mushroom to the Black Wolf's food (3:00)|Wolf Deer2]]>><<endevent>><<set $phase to 0>><<tiredness -12>><<pass 3 hours>><<tiredness -12>><<tiredness -12>><</link>><<ltiredness>> <br> <<elseif $wolfpackshroom is "pink">> <<tendingicon "mushroom_aphrodisiac">><<link [[Add a pink mushroom to the Black Wolf's food (3:00)|Wolf Deer2]]>><<endevent>><<set $phase to 1>><<tiredness -12>><<pass 3 hour>><<tiredness -12>><<tiredness -12>><</link>><<ltiredness>> <br> <</if>> <<wolfcaveicon "sleep">><<link [[Rest (3:00)|Wolf Deer2]]>><<endevent>><<set $phase to 2>><<tiredness -12>><<pass 3 hour>><<tiredness -12>><<tiredness -12>><</link>><<ltiredness>> <br> <</widget>> <<widget "blackwolfhand">> <<if C.npc["Black Wolf"].gender is "m">> <<set $leftarm to "penis">> <<set $NPCList[0].penis to "leftarm">> You take the Black Wolf's penis in your hand. <<else>> <<set $leftarm to "othervagina">> <<set $NPCList[0].vagina to "leftarm">> You rub the Black Wolf's pussy with your hand. <</if>> <</widget>> <<widget "ppackbrother">><<silently>> <<if $description is "alpha" and statusCheck("Black Wolf").love gte 100>> <<set _text_output to "mate">> <<elseif $wolfpackleader gte 1>> <<set _text_output to "pack leader">> <<elseif $player.gender_appearance is "m">> <<set _text_output to "pack brother">> <<elseif $player.gender_appearance is "f">> <<set _text_output to "pack sister">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "pPackbrother">><<silently>> <<ppackbrother>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "ppackbrothers">><<silently>> <<if $description is "alpha" and statusCheck("Black Wolf").love gte 100>> <<set _text_output to "mate's">> <<elseif $wolfpackleader gte 1>> <<set _text_output to "pack leader's">> <<elseif $player.gender_appearance is "m">> <<set _text_output to "pack brother's">> <<elseif $player.gender_appearance is "f">> <<set _text_output to "pack sister's">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "pPackbrothers">><<silently>> <<ppackbrothers>><<capitalise>> <</silently>><<print _text_output>><</widget>> <<widget "pheat">><<silently>> <<if $player.gender_appearance is "m">> <<set _text_output to "rut">> <<elseif $player.gender_appearance is "f">> <<set _text_output to "heat">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "wolf_cave_update">> <<if ($monsterchance gte random(1, 100) and ($hallucinations gte 1 or $monsterhallucinations is "f")) or ($bestialitydisable is "t")>> <<set $wolfcave_monster_roll to true>> <<else>> <<set $wolfcave_monster_roll to false>> <</if>> <</widget>> <<widget "wolf_cave_plural">><<silently>> <<if beastMaleChance() gte 100>> <<set _wolves_plural to "m">> <<elseif beastMaleChance() gte 1>> <<set _wolves_plural to "b">> <<else>> <<set _wolves_plural to "f">> <</if>> <<if $bestialitydisable is "t" or $wolfcave_monster_roll is true or ($monsterchance gte random(1, 100) and ($hallucinations gte 1 or $monsterhallucinations is "f"))>> <<if _wolves_plural is "m">> <<set _text_output to "wolfboys">> <<elseif _wolves_plural is "f">> <<set _text_output to "wolfgirls">> <<else>> <<set _text_output to "wolfgirls and wolfboys">> <</if>> <<else>> <<set _text_output to "wolves">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "wolf_cave_singular">><<silently>> <<if _args[0]>> <<set _wolves_singular to _args[0]>> <<elseif beastMaleChance() gte 100 or (beastMaleChance() gte 1 and beastMaleChance() gte random(0,100))>> <<set _wolves_singular to "m">> <<else>> <<set _wolves_singular to "f">> <</if>> <<if $bestialitydisable is "t" or $wolfcave_monster_roll is true or ($monsterchance gte random(1, 100) and ($hallucinations gte 1 or $monsterhallucinations is "f"))>> <<if _wolves_singular is "m">> <<set _text_output to "wolfboy">> <<else>> <<set _text_output to "wolfgirl">> <</if>> <<else>> <<set _text_output to "wolf">> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "bwpcinteraction">> <<set _pregnancy to C.npc["Black Wolf"].pregnancy>> <<set _pregnancyProgress to Math.clamp(_pregnancy.timer / _pregnancy.timerEnd, 0, 1)>> <<if playerIsPregnant() and playerAwareTheyArePregnant() and knowsAboutPregnancy("pc","Black Wolf")>> <<if Weather.BodyTemperature.state is "chilly" or Weather.BodyTemperature.state is "cold">> <<if $monster is 1>> <<bHe>> shuffles closer to you as you sit next to <<bhim>>. <br><br> "<<pPackbrother>> should stay warm. Pups grow better." You lean against <<bhim>>, thankful for the warmth. <<else>> <<bHe>> shuffles closer to you as you sit next to <<bhim>>. <<bHe>> seems to be trying to keep you warm. <br><br> <<bHe>> nudges your pregnant stomach with <<bhis>> snout before returning to ignoring you. <</if>> <<else>> <<if $monster is 1>> <<bHe>> sniffs at your belly, nuzzling it. <br><br> "<<pPackbrother>> eat well? Should eat meat on hunt. Good for pups." <br><br> You shiver at the thought of eating raw meat. <<else>> <<bHe>> sniffs at your pregnant belly before nuzzling it. <br><br> <<bHe>> presses <<bhis>> ear close to your tummy, listening for something. When your stomach rumbles, <<bhe>> looks up, concerned. <br><br> "I'll get some food, don't worry." Your words seem to be enough and the Black Wolf calms. <</if>> <</if>> <<else>> <<if between(_pregnancyProgress, 0.7, 1)>> <<if $monster is 1>> <<bHe>> shifts, looking down at <<bhis>> pregnant belly. You can see a little <<if _pregnancy.fetus[0].features.monster>>foot<<else>>paw<</if>> kicking against it. <br><br> "Pups already strong." You can hear pride in <<bhis>> voice. <<else>> <<bHe>> shifts, looking down at <<bhis>> pregnant belly. You can see a little paw kicking against it. <br><br> You watch as <<bhe>> licks the spot the pup kicks from, holding a laugh when the little paw retreats. <</if>> <<elseif Time.hour gte 18 and Time.hour lte 6>> <<if $monster is 1>> "No more hunt soon." The Black Wolf grumbles as <<bhe>> looks down at <<bhis>> growing belly. "Dangerous for pups." <<else>> <<bHe>> watches over the pack with a longing in <<bhis>> eyes. You can see <<bhis>> pregnant belly, it is growing bigger as the days go by. <<bHe>> won't be able to hunt soon. <</if>> <<elseif npcBellyVisible("Black Wolf")>> <<if $monster is 1>> You hear a brief snore before the Black Wolf shakes <<bhis>> head. <<bHe>> looks away. <br><br> "Carrying pups tiring sometimes," <<bhe>> grumbles under <<bhis>> breath. <br><br> Looking over every so often, you can see that <<bhe>> continues to fight off sleep. <<else>> <<bHe>> shifts, looking down at <<bhis>> pregnant belly. You can see a little paw kicking against it. <br><br> You watch as <<bhe>> licks the spot the pup kicks from, holding a laugh when the little paw retreats. <</if>> <</if>> <</if>> <</widget>> <<widget "wolfCaveBabyRabbit">> <<npc "Black Wolf">> The Black Wolf approaches you. <<bHe>> is holding something in <<bhis>> gigantic mouth. It's a small mass of fur, presumably the spoils from the last hunt. <<if $wolfgirl gte 6 or $cat gte 6 or $fox gte 6>>Oddly enough, you don't smell blood.<</if>> <br><br> <<bHe>> tries to speak, but you can't understand <<bhim>>, voice muffled with fur. <br><br> The Black Wolf gently drops what <<bhe>> is holding into your lap. It's a baby rabbit. Alive, much to your surprise. The small animal trembles in fear, but doesn't try to flee. You raise your eyes to the wolf before you, puzzled. <br><br> <<if $monster is 1>> "Humans like small living things. Thought it'd make <<ppackbrother>> feel better," <<bhe>> says.<<if $wolfgirl gte 6>> "<<pPackbrother>> used to be human. Still cries like one, when not howls like us."<</if>> <<else>> The canine simply nuzzles the offering closer to you, waiting for something. It looks like <<bhe>> wants some reaction out of you. Is <<bhe>> trying to make you feel better? <</if>> <br><br> <<link [[Next|Wolf Cave Baby Bunny]]>><</link>> <</widget>><<effects>> You don't feel like going deep into the woods. You turn your back on the Black Wolf and return to the youngsters who are just about to play a game of tag. <br><br> The <<beasttype>> doesn't look content, but lets you go nonetheless. As you pass a pair of older <<if $monster is 1>>wolfpeople<<else>>wolves<</if>>, you notice a faint disapproval painted all over their <<if $monster is 1>>faces<<else>>muzzles<</if>>. <br><br> <<if $monster is 1>> "If ask, you follow," you hear one of them say. <br><br> <</if>> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>><<effects>> <<if $forestCliffKnown isnot 1>> You follow the Black Wolf deeper into the woods. Unlike during the hunts, your companion walks slowly, matching <<bhis>> speed to yours. <br><br> This part of the forest doesn't look familiar to you. However, the <<beasttype>> seems to know exactly where you are going. <br><br> The sheer confidence across <<bhis>> <<if $monster is 1>>face<<else>>muzzle<</if>> brings serenity to your heart. <br><br> You feel safe. There is no way anyone would try to attack a <<beasttype>> this big and fierce. <br><br> You smile and run your fingers over <<bhis>> black <<if $monster is 1>>hair<<else>>fur<</if>>.<<lstress>><<stress -6>> <br><br> <<else>> You follow the Black Wolf deeper into the forest. Unlike during the hunts, your companion walks slowly, matching <<bhis>> speed to yours. <br><br> You have already been to this part of the forest with the Black Wolf. Just like before, <<bhe>> has a confident expression on <<bhim>> <<if $monster is 1>>face<<else>>muzzle<</if>>, which brings peace to your heart. <br><br> You feel safe. There is no way anyone would dare to attack a <<beasttype>> this big and fierce-looking. <br><br> You smile and run your fingers over <<bhis>> black <<if $monster is 1>>hair<<else>>fur<</if>>.<<lstress>><<stress -6>> <br><br> <</if>> <<link [[Next|Watching the Forest Follow 2]]>><</link>><<effects>> <<if $forestCliffKnown isnot 1>> Soon enough, you stumble upon a high hill with sparse trees sprouting here and there over the elevation. The Black Wolf doesn't stop and continues to walk up the hill, persuading you to do the same with a gentle look in <<bhis>> eyes. <br><br> <<if $monster is 1>> "Hard, but good for legs. Go," <<bhe>> says. <br><br> <</if>> When you reach the top, your breath is taken away. Unlike the side of the hill you have just climbed, the other side plunges abruptly down to reveal a spectacular view of the forest below. You can see the treetops swaying peacefully in the wind and a river winding its way towards the horizon. <<lstress>><<stress -6>> <<else>> You arrive at the foot of the familiar hill with sparse trees sprouting over the elevation. <br><br> The Black Wolf begins to walk up the hill, and you follow <<bhim>> without hesitation to the topmost spot. <br><br> <<if $monster is 1>> "Legs look stronger. Good," <<bhe>> says. <br><br> <</if>> Having reached the top, you witness the same soothing view of the forest below. <br><br> Standing near the steep edge, you see treetops swaying peacefully in the wind and a river winding its way towards the horizon.<<lstress>><<stress -6>> <</if>> <br><br> The Black Wolf <<if $monster is 1>>sits<<else>>lies<</if>> down on tall grass and sets <<bhis>> eyes on the distance. <br><br> <<link [[Enjoy the view|Watching the Forest Sit]]>><<stress -12>><<trauma -6>><</link>><<lstress>><<ltrauma>> <br> <<link [[Return to the cave|Watching the Forest Return]]>><</link>><<effects>> You sit beside the Black Wolf and look in the distance. <br><br> Before long you find yourself snuggling against <<bhis>> cosy black fur. <br><br> In this serene moment, all that exists in your mind is you, the warmth of your companion, and the endless forest stretching towards the skyline. <br><br> /*<<if $monster is 1 and C.npc["Black Wolf"].love gte 100>> <<link [[Kiss|Watching the Forest Kiss]]>><<npcincr "Black Wolf" love 1>><</link>><<glove>> <</if>>*/ <<link [[Nap (3:00)|Watching the Forest Nap]]>><</link>><<ltiredness>> <br> <<link [[Continue watching|Watching the Forest Watch]]>><<stress -9>><<trauma -6>><</link>><<lstress>><<ltrauma>> <br> <<link [[Return to the cave|Watching the Forest Return]]>><</link>><<effects>><<effects>> You feel your eyelids grow heavier. Unable to fight off drowsiness, you fall asleep. <br><br> <<link [[Next|Watching the Forest Nap 2]]>><<pass 180>><<tiredness -20>><</link>><<effects>> You open your eyes and find yourself still snuggled against the Black Wolf, who keeps watching over the forest from above. You don't know how much time has passed since you fell asleep. <br><br> <<if $monster is 1>> As soon as the Black Wolf realises you are awake, <<bhe>> stands up and looks you in the eye. <br><br> "I watched over you," <<bhe>> says reassuringly. "We go back to pack now." <br><br> <<else>> As soon as the Black Wolf notices that you are awake, <<bhe>> stands up and looks you in the eyes. You understand that <<bhe>> suggests going back home. <br><br> <</if>> When you return to the cave, the pack is delighted to see you both come back. <br><br> <<link [[Next|Wolf Cave Clearing]]>><<set $forestCliffKnown to 1>><<endevent>><</link>><<effects>> You continue to watch the forest from your elevated position. <br><br> You feel the worry and fear leave your mind, if only for a moment. <br><br> <<if $monster is 1>> "Peaceful place," <<bhe>> says. "I like it," <<bhe>> says. <br><br> <</if>> You don't know how long you have been on the hill before the Black Wolf rises from <<bhis>> nestled spot. Judging by the look in <<bhis>> eyes, you figure that you should go back. <br><br> When you return to the cave, the pack is delighted to see you both come back. <br><br> <<link [[Next|Wolf Cave Clearing]]>><<set $forestCliffKnown to 1>><<endevent>><</link>><<effects>> <<if $forestCliffKnown isnot 1>> You pet the Black Wolf on <<bhis>> head and thank <<bhim>> for bringing you to such a wonderful place, but you suggest going back before the pack gets worried over your sudden absence. <<else>> You pat the Black Wolf on the head, thanking <<bhim>> for bringing you to this wonderful place again, but then suggest that you should go back before the pack gets worried about your sudden absence. <</if>> The <<beasttype>> licks your hand<<if $monster is 1>>, grumbles something<</if>> and stands up. <br><br> When you return to the cave, the pack is delighted to see you both come back. <br><br> <<link [[Next|Wolf Cave Clearing]]>><<set $forestCliffKnown to 1>><<endevent>><</link>><<effects>> <<if $phase is 1>> <<set $phase to 0>> You make your way toward the Black Wolf. <<if $wolfgirl gte 6 and $wolfpackferocity gte 15 and $wolfpackharmony gte 15 and Time.dayState isnot "night" and ($daily.blackWolfHeatEvent or 0) - Time.hour lte -3 and ((playerHeatMinArousal() and (V.player.vaginaExist or canBeMPregnant()) and C.npc["Black Wolf"].penis isnot "none") or (playerRutMinArousal() and C.npc["Black Wolf"].vagina isnot "none"))>> <<set $daily.blackWolfHeatEvent to Time.hour>> <<set _blackWolfHeatEvent to true>> <<bHe>> sits up after noticing you, looking at you curiously. <<if $monster is 1>> "Do you need help <<ppackbrother>>?" <<bHe>> smirks, before sniffing in your direction. "Will gladly help with that." <<else>> <<bHis>> tail begins to wag after sniffing in your direction. <</if>> <<elseif C.npc["Black Wolf"].pregnancy.pcAwareOf is true or (playerIsPregnant() and playerAwareTheyArePregnant()) and knowsAboutPregnancy("pc","Black Wolf")>> <<bwpcinteraction>> <<elseif $wolfpackferocity gte 20 and $wolfpackharmony gte 20>> <<bHe>> sits up after noticing you. <<bHis>> tail begins to wag. <<if $monster is 1>> <<switch random(1,3)>> <<case 1>> "Can help <<ppackbrother>>?" <<case 2>> "Glad to see <<ppackbrother>> safe." <<default>> "<<pPackbrother>> should get ready for tonight. Will be a sporting hunt." <</switch>> <</if>> <<elseif $wolfpackferocity gte 10 and $wolfpackharmony gte 10>> <<bHe>> turns to look at you as you approach. <<if $monster is 1>> <<switch random(1,3)>> <<case 1>> "<<pPackbrother>>. You are well?" <<case 2>> "I come here to rest. Quiet." <<default>> "Pack has been better. Pack has been worse." <</switch>> <<else>> <<bHe>> nudges your arm with <<bhis>> nose. <</if>> <<elseif $wolfpackferocity gte 15>> <<bHe>> chews on a large bone you can't identify. It's not human, at least. <<bHe>> growls at you, but calms down after sniffing you and identifying your scent. <<if $monster is 1>> <<switch random(1,3)>> <<case 1>> "What does <<ppackbrother>> want?" <<case 2>> "<<pPackbrother>> should be down there. Playing with younglings." <<default>> "Don't want to be bothered right now." <</switch>> <</if>> <<elseif $wolfpackharmony gte 15>> <<bHe>> begins to drift off, but is awakened by your sudden arrival. <<bHe>> yawns. <<if $monster is 1>> <<switch random(1,3)>> <<case 1>> "Pack seems quiet. Could do with some sleep right now." <<case 2>> "Young pups... So lively. And noisy." <<default>> "Cave too noisy sometimes. Often come here to nap." <</switch>> <</if>> <<elseif $wolfpackferocity gte 1 and $wolfpackharmony gte 1>> <<bHis>> ear flicks as you approach, but <<bhe>> doesn't turn to acknowledge you. <<if $monster is 1>> <<switch random(1,3)>> <<case 1>> "Do not lead rest of pack here." <<case 2>> "Sit, <<ppackbrother>>." <<default>> "Pack howls to forest. Sometimes forest howls back." <</switch>> <</if>> <<else>> <<bHe>> looks down and whimpers quietly. <<bHe>> turns for a second and spots you, but doesn't seem to care about your presence. <<if $monster is 1>> <<switch random(1,3)>> <<case 1>> "Just leave alone." <<case 2>> "Sometimes wonder how long will last." <<default>> "Had to come here. Needed to... be alone." <</switch>> <</if>> <</if>> <<if !_blackWolfHeatEvent>> <br><br> You sit down next to <<bhim>>. Even when you're both sitting down, <<if $monster is 1>>your head only reaches <<bhis>> chest<<else>><<bhe>> can look you in the eye<</if>>. <</if>> <<elseif $phase is 2>> <<set $phase to 0>> The pack bounds into the forest without you. <<if playerIsPregnant() and playerBellySize() gte 15>> Black Wolf lets out a huff, and gives your pregnant belly a nudge. You watch the pack leave together. <<elseif $wolfpackleader is 1 and (statusCheck("Black Wolf").love lt 125 or $wolfpackharmony lt 18)>> Black Wolf looks at you questioningly for a moment, but seems to accept your decision. You watch the pack leave together. <<if $wolfpackharmony lt 18>> <<npcincr "Black Wolf" love -1>><<llove>> <</if>> <<else>> Black Wolf nuzzles against your neck affectionately, before letting out a huff and relaxing, watching the pack leave. <</if>> <<lharmony>> <<else>> You sit and rest by the Black Wolf's side. <<switch random(1,8)>> <<case 1>> You hear younger <<wolf_cave_plural>> somewhere below. Black Wolf observes them fondly as they play fight near the river. <<if $monster is 1>> "So soothing to see younglings playing," <<bhe>> says in a surprisingly tender voice. <<if pregnancyCountBetweenParents("pc", "Black Wolf") gte 1>>"Happy to have own litter now."<<else>>"Hope to have own litter someday."<</if>> <<else>> You can see some of the tension leave <<bhis>> frame. <</if>> <<case 2>> <<bHe>> stands tall, surveying the cave and its surrounding regions. <<bHe>> settles down shortly after. <<if $monster is 1>> "Pack is safe here," <<bhe>> says. "Outsiders know to stay away." <<else>> <<bHe>> lets out a satisfied chuff, content with the safety of the cave. <</if>> <<case 3 4>> <<if $syndromeeden is 1 and $rng gte 51>> <<bHe>> looks over in the direction of Eden's cabin. <<bHis>> ears press against <<bhis>> head. <<if $monster is 1>> "Heard very loud noise other day," <<bhe>> says. "Horrible human creation." <<else>> You consider how loud a gunshot would sound to a wolf, and wince. No wonder <<bhes>> worried. <</if>> <<else>> You reach out for <<bhis>> fur in an attempt to pet <<bhim>>. <<if $monster is 1>> "Does <<ppackbrother>> think of me as a tamed one?" <<bhe>> asks, pulling away from your touch. <<else>> <<bHe>> huffs and pulls away, as if offended. <</if>> <</if>> <<case 5>> <<if $monster is 1>> <<bHe>> rubs a spot on <<bhis>> leg. "<<pPackbrother>> should avoid hunting alone," <<bhe>> says. "Lone wolves are lone fools. Break from the pack and end up injured, or worse." <<else>> <<bHe>> licks a wound on its leg. It seems rather old and it doesn't seem to bother <<bhim>> greatly. <</if>> <<case 6>> Something in the direction of the lake catches <<bhis>> attention. <<bHe>> tilts <<bhis>> head in confusion. <<if $monster is 1>> "<<pPackbrother>> should be careful if going to lake," <<bhe>> warns. "Pack avoid place at all costs." <<else>> <<bHe>> seems unnerved. <</if>> <<case 7>> <<bHe>> starts sniffing you, burying <<bhis>> snout on your hair and huffing on it. <<if $monster is 1>> "Could never forget <<ppackbrothers>> scent," <<bhe>> says. "Could track all over forest if necessary." <<else>> <<bHe>> probably has your scent memorised by now. <</if>> <<case 8>> <<if $wolfgirl gte 4 and $transformationParts.wolf.ears isnot "hidden">> <<if random(1,2) is 1>> <<bHe>> sniffs your face, before nuzzling your neck affectionately. <<if $monster is 1>> "<<pPackbrothers>> fur looks beautiful today," <<bhe>> says. <<else>> <<bHe>> probably has your scent memorised by now. <</if>> <<else>> <<bHe>> admires your wolf ears. <<bHe>> nibbles at them gently. <<if $monster is 1>> "<<pPackbrother>> has taken to living with pack well," <<bhe>> says. <</if>> <</if>> <<elseif $cat gte 4 and $transformationParts.cat.ears isnot "hidden">> <<bHe>> glares at your cat ears. <<if $monster is 1>> "<<pPackbrother>> has lost <<pher>> way," <<bhe>> says, shaking <<bhis>> head. "Should stay with pack for some time." <<else>> <<bHe>> growls, but stops <<bhimself>> from snapping at you. <</if>> <<elseif $fox gte 4 and $transformationParts.fox.ears isnot "hidden">> <<bHe>> glares at your fox ears. <<if $monster is 1>> "<<pPackbrother>> looks troublesome," <<bhe>> says, shaking <<bhis>> head. "Should stay with pack for some time." <<else>> <<bHe>> growls, but stops <<bhimself>> from snapping at you. <</if>> <<elseif $harpy gte 4 and $transformationParts.bird.plumage isnot "hidden">> <<bHe>> stares at your plumage in fascination. <<if $monster is 1>> <<bHe>> draws closer and runs a hand along your wings. "Never seen anything similar," <<bhe>> says. "Not in this forest." <<else>> <<bHe>> draws closer and sniffs your wings. <<bHe>> probably hasn't seen wings this close up very often. <</if>> <<elseif $cow gte 4 and $transformationParts.cow.ears isnot "hidden">> <<bHe>> stares at your bovine ears and tilts <<bhis>> head. <<if $monster is 1>> "<<pPackbrothers>> ears cannot perk up," <<bhe>> says. "Poor hearing over large distances. Can still hear pack's howl, hopefully." <<else>> <<bHe>> leans in to sniff them, <<if $transformationParts.cow.horns isnot "hidden" or ($demon gte 2 and $transformationParts.demon.horns isnot "hidden")>> but bumps <<bhis>> nose against your horns. <<bHe>> huffs and backs away. <<else>> making you giggle from the ticklish sensation. <</if>> <</if>> <<else>> <<if $monster is 1>> <<bHe>> runs a hand over your hair. "Did <<ppackbrother>> lose ears in battle? My condolences." You giggle and tap the side of your head, showing your human ears. <<bHe>> doesn't seem to understand, and looks away with a huff. <<else>> <<bHe>> leans in and sniffs your face. <</if>> <</if>> <</switch>> <</if>> <br><br> <<if $wolfevent is 1 and ($wolfstate is "cave" and !["finished","ongoing"].includes($huntstate) and ["dusk", "night"].includes(Weather.dayState))>> <<set $huntstate to "ongoing">><<set $wolfpackpoisoned to 0>> <<switch statusCheck("Black Wolf").gender>> <<case "m">> <<set _BWGender to 1>> <<default>> <<set _BWGender to 0>> <</switch>> <<if (statusCheck("Black Wolf").love gte random(100,200) or $wolfpackleader is 1 or parentFunction.findParent("Black Wolf", _BWGender, true)) and ($wolfpackharmony + $wolfpackferocity gte 20)>> The pack begins to howl in excitement, readying for a hunt. You look to the Black Wolf, expecting <<bhim>> to join them, only to find <<bhim>> looking towards you instead. <<if $wolfpackleader is 1>> <<if $monster is 1>> "We hunt, Alpha?" <<else>> <<bHe>> waits for your guidance. <</if>> <<else>> <<if $monster is 1>> "Pack hunt well without us this night, I feel." <<else>> <<bHe>> seems hesitant to part. <</if>> <</if>> <br><br> <<link [[Go with them|Wolf Cave Hunt]]>><<set $wolfstate to "hunt">><<npcincr "Black Wolf" love 1>><<endevent>><</link>><<glove>> <br> <<link [[Stay with Black Wolf|Wolf Relax]]>><<set $phase to 2>><<set $blackWolfNotHunting to true>><</link>> <br> <<link [[Encourage Black Wolf to go|Wolf Cave Hunt Leave]]>><<endevent>><<set $phase to 1>><<set $wolfstate to "hunt">><</link>> <br> <<else>> <<if npcBellySize("Black Wolf") lte 15>> <<set $wolfstate to "hunt">> The Black Wolf stands up and howls. The rest of the pack joins in. <<if $monster is 1>> "We hunt soon. Be ready." <<else>> They're going hunting. <</if>> <<else>> <<set $blackWolfNotHunting to true>> The pack begins to howl and bay as they run through the trees. You sit with the Black Wolf on <<bhis>> rock, watching as <<bhe>> nudges <<bhis>> pregnant belly. <<if $monster is 1>> <br><br> <<bHe>> sighs, laying down and looking on after the pack. <</if>> <</if>> <<endevent>> <br><br> <<link [[Go with them|Wolf Cave Hunt]]>><</link>> <br> <<link [[Watch them leave|Wolf Cave Hunt Leave]]>><</link>> <br> <</if>> <<elseif Time.dayState is "night">> The Black Wolf stands up. <<if $monster is 1>> "Darkness falls," <<bhe>> says. "Should be slumbering now." <<bHe>> walks off. <<else>> <<bHe>> looks at the night sky, before walking away. <</if>> <br><br> <<link [[Follow to bed|Wolf Cave Bed]]>><<endevent>><</link>> <br> <<link [[Stay|Wolf Cave Clearing]]>><<endevent>><</link>> <<else>> <<if _blackWolfHeatEvent and hasSexStat("deviancy", 5)>> <<if playerAwareTheyAreInHeat() and $NPCList[0].penis isnot "none" and (($player.vaginaExist and !playerChastity("vagina")) or (canBeMPregnant() and !playerChastity("anus")))>> <<ind>><<link [[Present your behind|Wolf Cave Black Wolf Before Mate]]>><</link>><<deviant5>><<wolfgirl>><<heat>> <br> <</if>> <<if playerRutMinArousal() and $NPCList[0].vagina isnot "none" and !playerChastity("penis")>> <<ind>><<link [[Playful bite|Wolf Cave Black Wolf Before Mate]]>><<set $phase to 1>><</link>><<deviant5>><<wolfgirl>><<rut>> <br> <</if>> <</if>> <<if playerIsPregnant() and playerAwareTheyArePregnant() and playerBellySize() gte 7 and !knowsAboutPregnancy("pc","Black Wolf")>> <<ind>><<link [[Present your belly (0:10)|Player Presents Pregnancy To Black Wolf]]>><<pass 10>><</link>> <br> <</if>> <<ind>><<link [[Relax (0:15)|Wolf Relax]]>><<pass 15>><<stress -3>><<tiredness -3>><<npcincr "Black Wolf" love 1>><<if $rng gte 71>><<transform wolf 1>><</if>><</link>><<lstress>><<ltiredness>><<glove>> <br> <<if canGiftFood("Black Wolf")>> <<skinicon "give">><<link [[Give the Black Wolf food|Black Wolf Gifts List]]>><</link>> <br> <</if>> <<getouticon>><<link [[Leave|Wolf Cave Clearing]]>><<endevent>><</link>> <br> <</if>><<effects>><<set $wolfchallengereason to 0>> You try to strike a menacing pose and show your <<if $transformationParts.traits.fangs isnot "disabled">>fangs<<else>>teeth<</if>> to the Black Wolf, making it clear you won't back down. <<bHe>> lunges for you immediately. <<if $monster is 1>> "Show you are worth pack!" <</if>> <br><br> <<link [[Next|Wolf Challenge Fight]]>><<set $fightstart to 1>><</link>><<effects>><<set $wolfpackleader to 0>><<set $wolfchallengereason to 0>> You drop to the ground and cover your head and neck, hoping that the beast may show you mercy. <<if $speech_attitude is "meek">> "N-No!" you cry. "Don't hurt me, please! You can be the alpha!" <<elseif $speech_attitude is "bratty">> "Get away from me!" you yell. "You can have the fucking pack!" <<else>> "Just go away!" you say. "I won't bother you anymore!" <</if>> <br><br> <<if $monster is 1>> "Pathetic <<ppackbrother>>," <<bhe>> grunts. "Weaklings not fit for alpha. Follow pack, where you belong." <<else>> The Black Wolf gives you a short grunt, almost as if scoffing at your pitiful display. <</if>> <<bHe>> howls, and the rest of the pack howls with <<bhim>>. <<bHe>> turns <<bhis>> back and walks into the cave. The <<wolf_cave_plural>> follow in the footsteps of their new alpha. <br><br> <span class="red">You can no longer lead the pack on hunts.</span> <br><br> <<destinationwolfcave>><<effects>> Having lived like the rest of your pack, you feel a deeper connection to them. "Stand down!" you say. The Black Wolf <<if $monster isnot 1>>seems to understand your command, and <</if>>takes a step back. "Pack is angry, I know..." You try to speak slowly, as if to help the <<if $bestialitydisable is "f">>beasts<<else>>monsters<</if>> understand you. "Tensions high, and successful hunts low. But pack must remain united to be strong. Family must not attack family." You manage to remain firm in your demand. <br><br> <<if $wolfchallengereason is 1>> The Black Wolf snarls at your words. <<if $monster is 1>> "<<pPackbrother>> said that last time," <<bhe>> spits. "Words alone cannot hunt prey. <span class="red">Pack demands results!</span>" <<else>> <<bHe>> creeps closer, unaffected. <span class="red"><<bHe>> demands results, not platitudes.</span> <</if>> <br><br> <<link [[Fight|Wolf Challenge Accept]]>><</link>> <br> <<link [[Surrender|Wolf Challenge Surrender]]>><</link>> <<else>> <<set $wolfchallengereason to 1>> <<if $monster is 1>> "Leader speak honestly," the Black Wolf admits reluctantly. <<bHis>> eyes narrow. "But if leader claim loyalty to pack, leader should prove so." <<else>> Despite the absurdity of your predicament, the <<beasttype>> seems to understand. <</if>> The Black Wolf relents <<bhis>> attack and marches away, now calmed and seemingly satisfied with your response. <br><br> <<destinationwolfcave>> <</if>><<if $fightstart is 1>> <<set $fightstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 40>><<set $enemyanger += 200>> <<blackwolfhealth>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Challenge Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Challenge Fight]]>><</link>></span><<nexttext>> <</if>><<set $location to "wolf_cave">><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The Black Wolf calms down. <<if $monster is 1>> <<bHe>> speaks. "Leader... clever. Perhaps leader will use cleverness to help pack one day..." <<bHe>> chuckles and walks away. <<else>> <<bHe>> gives you an unreadable look, before chuffing and walking away. <</if>> <br><br> <<tearful>> you howl. The other <<wolf_cave_plural>> howl with you. <span class="gold">You can still lead the pack on hunts.</span> <<elseif $enemyhealth lte 0>> The Black Wolf recoils back. Taken by surprise by your show of strength, <<bhe>> retreats back into the cave. <<if $monster is 1>> "Leader not so weak," <<bhe>> says. "Perhaps leader will use strength to help pack one day..." <</if>> <br><br> <<tearful>> you howl. The other <<wolf_cave_plural>> howl with you. <span class="gold">You can still lead the pack on hunts.</span> <<else>> <<set $wolfpackleader to 0>> You are quickly overwhelmed by your opponent's sheer strength and ferocity. The Black Wolf <<if $monster is 1>>grabs<<else>>bites the scruff of<</if>> your neck, but you manage to wriggle free before <<bHe>> can get a good grasp. You stumble back and land face first on the ground. <br><br> <<if $monster is 1>> "<<pPackbrother>> was meant to follow, not to lead," the Black Wolf says, shaking <<bhis>> head. "When <<ppackbrother>> stronger, come try again." <br><br> <</if>> <<bHe>> turns <<bhis>> back and walks into the cave. The <<wolf_cave_plural>> follow in the footsteps of their new alpha. <br><br> <span class="red">You can no longer lead the pack on hunts.</span> <<if $wolfpackpoisoned isnot 1>> <i>The Black Wolf is very strong. There must be a way to even things.</i> <</if>> <</if>> <br> <<endcombat>><<clotheson>> <<destinationwolfcave>><<effects>> <<set $wolfcavepatrol to 0>> <<npc "Black Wolf">> <<if $wolfpackleader is 1>> <<if $wolfpackharmony gte $wolfpackferocity>> <<if $monster is 1>> "Alpha." <<bHis>> ears perk up as you approach, sitting up and stretching <<bhis>> limbs. Looking up at the moon, <<bhe>> sniffs at the air, flicking <<bhis>> tail. <br><br> The Black Wolf's eyes narrow, ears flattening to <<bhis>> head. "Intruder," <<bhe>> growls. Standing, <<bhe>> looks back to you for permission to go. <<else>> <<bHis>> ears perk up as you approach, sitting up and stretching <<bhis>> limbs. Tilting <<bhis>> head back, <<bhe>> sniffs at the air, flicking <<bhis>> tail. <br><br> The Black Wolf's lip curls into a snarl, ears flattening to <<bhis>> head. Standing, <<bhe>> looks back to you for permission to go. <</if>> <<else>> <<if $monster is 1>> As you approach, the Black Wolf snaps out of <<bhis>> restful state, keeping an eye on you as you sit. Eventually, <<bhe>> averts <<bhis>> eyes in subservience, but remains tense. <br><br> "Alpha need anything?" <<bhe>> asks, but before you can respond, something else catches <<bhis>> attention. <<bHe>> looks unsettled when <<bhe>> glances back. <br><br> "Something there," <<bhe>> urges, waiting for your lead. <<else>> As you approach, the Black Wolf snaps out of <<bhis>> restful state, keeping an eye on you as you sit. Eventually, <<bhe>> averts <<bhis>> eyes in subservience, but remains tense. <br><br> <<bHe>> tilts <<bhis>> head, but before you can speak, something else catches <<bhis>> attention. <<bHe>> looks unsettled when <<bhe>> glances back. <br><br> A growl comes from the Black Wolf's throat, the beast standing and glaring into the foliage. <<bHe>> doesn't move, just stands still, waiting for your lead. <</if>> <</if>> <br><br> <<link [[Order to go alone|Wolf Patrol Alone]]>><</link>> <br> <<link [[Order to accompany you (1:00)|Wolf Patrol Follow]]>><<pass 1 hour>><</link>> <br> <<link [[Order to leave it be|Wolf Patrol Ignore]]>><</link>> <<else>> <<if $wolfpackharmony gte $wolfpackferocity>> <<if $monster is 1>> "<<pPackbrother>>." <<bHis>> ears perk up as you approach, sitting up and stretching <<bhis>> limbs. Looking up at the moon, <<bhe>> sniffs at the air, flicking <<bhis>> tail. <br><br> The Black Wolf's eyes narrow, ears flattening to <<bhis>> head. "Intruder," <<bhe>> growls. Standing, <<bhe>> heads into the trees without looking back. <<else>> <<bHis>> ears perk up as you approach, sitting up and stretching <<bhis>> limbs. Tilting <<bhis>> head back, <<bhe>> sniffs at the air, flicking <<bhis>> tail. <br><br> The Black Wolf's lip curls into a snarl, ears flattening to <<bhis>> head. Standing, <<bhe>> heads into the trees without looking back. <</if>> <<else>> <<if $monster is 1>> As you approach, the Black Wolf snaps out of <<bhis>> restful state, keeping an eye on you as you sit. <br><br> <<bHe>> stays cautious, even as <<bhe>> sniffs, eyes flickering between you and the trees. <br><br> "Something there," <<bhe>> growls, standing and rushing off. You wonder if it is just an excuse to be alone. <<else>> As you approach, the Black Wolf snaps out of <<bhis>> restful state, keeping an eye on you as you sit. <br><br> <<bHe>> stays cautious, even as <<bhe>> sniffs, eyes flickering between you and the trees. <br><br> <<bHe>> growls, standing and rushing off. You wonder if it is just an excuse to be alone. <</if>> <</if>> <br><br> <<link [[Follow (1:00)|Wolf Patrol Follow]]>><<pass 1 hour>><</link>> <br> <<link [[Ignore|Wolf Patrol Alone]]>><</link>> <</if>><<effects>><<set $wolfpatrolsent to 1>> <<if $wolfpackleader is 1>> <<if $speech_attitude is "meek">> "G-go investigate," you tell <<bhim>>. "Protect the pack." <<elseif $speech_attitude is "bratty">> "Well? Go sort it out," you tell <<bhim>>. "Protect the pack." <<else>> "Go investigate," you tell <<bhim>>. "Protect the pack." <</if>> <br><br> <</if>> You watch the Black Wolf leave, <<bhis>> large body disappearing between the bushes. <br><br> <<endevent>><<destinationwolfcave>><<if $speech_attitude is "meek">> "I-I don't think anything would be brave enough to come close," you say, huddling closer. "You should stay, so you can protect everyone. Just in case." <br><br> <<if $wolfpackharmony gte $wolfpackferocity>> The Black Wolf chuffs, letting you lean on <<bhis>> body. <<else>> The Black Wolf pushes you away when you try to lean on <<bhim>>. <<bHe>> obviously disapproves of your decision. <</if>> <<elseif $speech_attitude is "bratty">> "It's probably nothing," you say, leaning back onto your elbows. "Just stay and relax for a bit. <<if Weather.precipitation isnot "none">>It's too cold to be going off alone<<else>>It's a nice night<</if>>." <br><br> <<if $wolfpackharmony gte $wolfpackferocity>> You huddle closer to <<bhis>> large body, and <<bhe>> leans <<bhis>> head on yours. <<else>> You attempt to huddle close, but <<bhe>> pulls away from your touch. <<bHe>> obviously disapproves of your decision. <</if>> <<else>> "We need you here more than out there," you point out. "It's probably nothing." <br><br> The Black Wolf seems to sit a little straighter, taking pride in your compliment. <<if $wolfpackharmony gte $wolfpackferocity>> <<bHe>> accepts your head resting on <<bhis>> body as you relax. <<else>> However, <<bhe>> still pulls away when you try to touch <<bhim>>. <</if>> <</if>> <br><br> <<endevent>><<destinationwolfcave>><<location "forest">><<effects>> Together, you walk into the forest, searching in a circular route around the cave with the Black Wolf sniffing constantly. <<if $wolfgirl gte 6 or $cat gte 6 or $fox gte 6>> You assist the best you can, but only pick up the scent of the pack. <</if>> <br><br> After a full loop, nothing is found. You widen the circle and try again, but whatever the Black Wolf had picked up must have been imaginary, or no longer nearby. <<if $monster is 1>> <<bHe>> grows more agitated as you progress. "I smelled it. I know it!" <<else>> <<bHe>> growls and looks around carefully. <<bHe>> seems agitated. <</if>> <br><br> <<link [[Reassure|Wolf Patrol Follow 2]]>><<sub 1>><<set $phase to 1>><</link>> <br> <<link [[Belittle|Wolf Patrol Follow 2]]>><<def 1>><<set $phase to 2>><</link>> <br> <<link [[Keep walking|Wolf Patrol Follow 2]]>><<set $phase to 0>><</link>><<if $phase is 1>> <<if $speech_attitude is "meek">> "H-hey, it's okay!" you say. "It's best to make sure rather than to have ignored it and missed a threat, right?" You gently put a hand on <<bhis>> shoulder, patting once or twice before <<bhe>> keeps walking. <<elseif $speech_attitude is "bratty">> "Obviously, whatever it was must have fled," you chuckle. "Like it could beat the both of us!" You slap <<bhim>> on the back as you smile. The Black Wolf stands up a little straighter as <<bhe>> continues onwards. <<else>> "You were doing your duty. It's okay." You place your hand on <<bhis>> shoulder to comfort <<bhim>>. It seems to work. <</if>> <<gharmony>><<lferocity>><<npcincr "Black Wolf" love 1>><<glove>> <br><br> <<elseif $phase is 2>> <<if $speech_attitude is "meek">> "I-it's your fault we wasted so much time," you mumble. You keep your head low, not looking at the Black Wolf. Nevertheless, you can feel <<bhim>> glaring at you. <<bHe>> steps closer, backing you up against a tree. <<elseif $speech_attitude is "bratty">> "Well done, moron. I could have been napping right now!" You let out an exasperated sigh, before you're backed right up against a tree by the angry <<beasttype>>. <<else>> "I suppose I needed something to bore me before bed time." You roll your shoulders to rid them of an ache, only for the Black Wolf to advance on you. <</if>> <br><br> <<if $wolfpackleader is 1>> <<if $monster is 1>> "Your idea!" <<bhe>> growls, before quickly stepping away again. <<bHe>> almost looks ashamed. "Sorry. Forgot who was alpha." <<bHis>> shoulders slump as <<bhe>> continues. <<else>> As quickly as <<bhe>> advances, the Black Wolf pulls back. <<bHis>> ears flattening against <<bhis>> head as <<bhe>> whines. You think it is an apology. <</if>> <<else>> <<if $monster is 1>> "Remember who is alpha," <<bhe>> growls, sharp teeth right in front of your face. <<else>> <<bHe>> snarls at you, gnashing <<bhis>> teeth. You should remember who is in charge. <</if>> <</if>> <<lharmony>><<gferocity>><<npcincr "Black Wolf" love -1>><<llove>> <br><br> <</if>> <<if $phase is 1>>Happy <<bhe>> seems in better spirits<<else>>Ignoring <<bhis>> mood<</if>>, you keep walking towards the grassy clearing near the river. It's the last place to check. <br><br> Just as with the trees surrounding the cave, nothing more threatening than a field mouse can be found in the clearing. With the light of the moon overhead, the few flowers you can make out look quite pretty. <br><br> Satisfied nothing will attack you in your sleep, you turn to make your way back. The Black Wolf blocks your path. <<if $monster is 1>> "Rarely get time alone," <<bhe>> rumbles. <<bHis>> tail swishes as <<bhe>> leans in and nuzzles into your neck. <<bHis>> hands start to wander. <<else>> <<bHis>> head nuzzles into your thigh. <<bHe>> seems to want something. <</if>> <br><br> <<link [[Get into a mating position|Wolf Patrol Sex]]>><<set $sexstart to 1>><</link>> <br> <<link [[Push away|Wolf Patrol Push]]>><<def 1>><</link>><<effects>> <<if $wolfpackleader is 1>> "Not right now." You push past and return to the cave. <<if $wolfpackharmony gte $wolfpackferocity>> The Black Wolf follows, ears drooping. <<else>> The entire walk back, you can feel <<bhis>> eyes glaring into the back of your head. <</if>> <<npcincr "Black Wolf" love -1>><<llove>> <<endevent>> <br><br> <<link [[Next|Wolf Cave Clearing]]>><<set $wolfevent to 0>><</link>> <<else>> "Not right now." You hoped that <<bhe>> would stop, <span class="red">but <<bhis>> attention only gets more intimate.</span> <<bHe>> growls, mounting you. <br><br> <<link [[Next|Wolf Patrol Sex]]>><<set $molestationstart to 1>><</link>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<blackwolfhealth>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<blackwolfhealth>><<set $enemytrust -= 40>><<set $enemyanger += 40>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Patrol Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Patrol Sex]]>><</link>></span><<nexttext>> <</if>><<if $finish is 1>> The Black Wolf stands up and backs away from you. <<tearful>> you gather yourself. <<endcombat>><<clotheson>> <<elseif $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $consensual is 1 or $enemyanger lt 40>> <<if $monster is 1>> "Mate smell good. Smell like me." The Black Wolf buries <<bhis>> nose into the side of your neck again, holding you close for a moment longer. <<else>> The Black Wolf licks up the side of your neck, pleased with <<bhimself>>. <</if>> <<gharmony>><<lferocity>><<npcincr "Black Wolf" love 1>><<glove>> <br><br> <<tearful>> you lie there for a moment and gather yourself. <<clotheson>> <<if $consensual is 1>> <<if $monster is 1>> <<bHe>> stands first, holding out a hand for you to grip onto. When you accept, <<bhe>> pulls you up- and then picks you up, bridal style, making you laugh. <br><br> "<<pPackbrother>> deserves rest. I take care of you." The Black Wolf gives you a toothy grin, before carrying you home to the cave. <<bHe>> gently settles you down when you arrive. <<else>> <<bHe>> stands first, pushing <<bhis>> head under your arm. <<bHe>> wants you to lean on <<bhim>>. Stroking <<bhis>> fur, you accept the help as you make your way home to the cave. <</if>> <<stress -12>><<trauma -6>><<llstress>><<ltrauma>> <br><br> <<endcombat>> <<else>> The Black Wolf steps away and glances at you, and you get up. The two of you march back to the cave. <br><br> <<endcombat>> <</if>> <<else>> Furious, the Black Wolf bites into your shoulder, making you yelp out in pain. <<pain 6>><<gpain>><<lharmony>><<gferocity>> <br><br> <<bHe>> still seems upset as <<bhe>> gets up and marches toward the cave. <<tearful>> you get up and follow. <br><br> <<endcombat>><<clotheson>> <</if>> <<elseif $enemyhealth lte 0>> The Black Wolf yelps as you kick <<bhim>> away from you. <<if $monster is 1>> "Tell no one," <<bhe>> snarls, wincing as <<bhe>> holds <<bhis>> ribs, body hunched over as if to hide. <<else>> <<bHe>> snarls, limping away a few more metres. <</if>> <<lharmony>><<gferocity>><<npcincr "Black Wolf" love -1>><<llove>> <br><br> <<bHe>> still seems upset as <<bhe>> gets up and marches toward the cave. <<tearful>> you get up and follow. <br><br> <<endcombat>><<clotheson>> <</if>> <<link [[Next|Wolf Cave Clearing]]>><<set $wolfevent to 0>><</link>> <br><<effects>> <<outfitChecks>> You allow <<bhim>> to lick your face clean. <<bHe>> <<= $monster is 1 ? "reaches up, grabbing your chin between <<bhis>> index and <<bhis>> thumb" : "pays close attention to get every drop off of you">>.<<wash_face>> <br><br> <<bHis>> tongue works its way lower, and <<bhes>> careful to not get <<bhis>> teeth too close to your skin. <br><br> <<if !_topless>> <<if $monster is 1>> <<bHe>> grabs at your <<allTopsUnderwear>>, pulling it off and exposing your skin to the air. <<else>> <<bHe>> uses <<bhis>> nose to nudge your <<allTopsUnderwear>> up, exposing your skin. <</if>> <<upperstrip>><<underupperstrip>> <</if>> <<bHis>> tongue runs over your chest, lingering a bit too long around your nipples.<<arousal 1200 "breasts">><<ggarousal>> <br><br> <<if playerIsPregnant() and playerAwareTheyArePregnant() and knowsAboutPregnancy("pc","Black Wolf")>> <<set _pregnancy to getPregnancyObject()>> <<if _pregnancy.type is "wolf" and _pregnancy.potentialFathers.find(father => father.source === "Black Wolf")>> <<bHe>> stops <<bhis>> grooming to sniff your stomach. <<bHe>> nuzzles against it, and pays close attention to the area as <<bhe>> continues cleaning. <<else>> <<bHe>> stops <<bhis>> grooming to sniff your stomach. <<bHe>> gently presses <<bhis>> head against it before continuing. <</if>> <br><br> <</if>> <<bHis>> licking grows rougher and sloppier as <<bhe>> makes <<bhis>> way down towards your <<genitals>>. <br><br> <<set _parts to ["neck", "chest", "tummy"]>> <<for _i, _part range _parts>> <<bodyliquid _part "semen" -5>> <<bodyliquid _part "goo" -5>> <<bodyliquid _part "nectar" -5>> <</for>> <<link [[Spread your legs|Wolf Liquid Clean Spread]]>><</link>><<if !playerChastity() and $player.penisExist>><<NPCvirginitywarning "Black Wolf" "oral">><</if>> <br> <<link [[Push <<bhim>> away|Wolf Liquid Clean Away]]>><<set $phase to 0>><</link>> <br><<effects>> <<outfitChecks>> <<set _parts to []>> You spread your legs, welcoming <<bhim>>. <<if !_bottomless>> You pull your <<allBottomsUnderwear>> off, tossing it to the side.<<lowerstrip>><<underlowerstrip>> <</if>> <br><br> <<bHe>> buries <<bhis>> <<= $monster is 1 ? "snout" : "mouth">> against your <<genitals>>.<<garousal>> <br><br> <<if playerChastity()>> <<if $worn.genitals.name is "chastity parasite">> <<bHe>> seems baffled by your chastity parasite and tentatively tries to gnaw it off you. <<bHes>> not successful. <<elseif $worn.genitals.type.includes('cage')>> <<bHe>> runs <<bhis>> tongue along your caged length, attempting to get in any opening <<bhe>> can.<<ggarousal>> <<else>> <<bHe>> runs <<bhis>> tongue between your <<= $worn.genitals.name>> and your inner thigh, attempting to get <<bhis>> tongue under the belt.<<ggarousal>> <</if>> <br><br> Despite the barrier, <<bhe>> continues eagerly licking your <<genitals>> until <<bhe>> feels you tense up.<<gggarousal>> <<elseif $player.penisExist>> <<set _parts.push("penis") >> <<bHe>> runs <<bhis>> tongue along your length, cradling it in <<bhis>> mouth. <<bHe>> pays extra attention to the head of your cock.<<takeNPCVirginity "Black Wolf" "oral">> <br><br> <<bHe>> continues licking, cradling your member in <<bhis>> mouth. As you shudder into an orgasm, <<bhe>> buries <<bhis>> nose <<if $pbdisable is "f" and $pblevel gte 2>>in your pubes <</if>>against your pubic mound.<<gggarousal>> <<else>> <<set _parts.push("vagina", "vaginaoutside") >> <<bHe>> runs <<bhis>> tongue along your vagina, alternating between focusing on your clit and lapping up lewd fluid. <<bHis>> tongue slides in and out of your vagina with each stroke of <<bhis>> tongue. <<bHe>> pushes <<bhis>> nose against you, trying to taste more of you. <<gggarousal>> <</if>> <br><br> <<orgasm>> <<if $worn.genitals.name is "chastity parasite" or ($player.penisExist and $femaleclimax is 1)>> Without any cum produced to lap up, <<bhe>> pulls away with a grunt. <<else>> <<bHe>> swallows your cum in a single gulp. <</if>> <br><br> As you catch your breath, Black Wolf stands over you. <<bHes>> panting heavily, <<bhis>> tongue lolling out of <<bhis>> mouth. Looking down, <<= $NPCList[0].penis isnot "none" ? "you see <<bhis>> erect $NPCList[0].penisdesc" : "you see fluid dripping from between <<bhis>> legs">>. <br><br> <<if _parts.length isnot 0>> <<for _i, _part range _parts>> <<bodyliquid _part "semen" -5>> <<bodyliquid _part "goo" -5>> <<bodyliquid _part "nectar" -5>> <</for>> <</if>> <<if hasSexStat("deviancy", 2)>> <<link [[Wiggle your hips|Wolf Liquid Clean Sex]]>><<set $sexstart to 1>><</link>><<deviant2>> <br> <</if>> <<link [[Move out from under <<bhim>>|Wolf Liquid Clean Away]]>><<set $phase to 1>><</link>> <br><<effects>> <<set $daily.blackWolfCleanAway to true>> <<if $phase is 0>> /* Push away */ You push <<bhis>> <<= $monster is 1 ? "face" : "snout">> away. <br><br> <<bHe>> pouts as <<bhe>> lets out a huff. <<bHe>> turns around and returns to <<bhis>> resting spot, not giving you another glance. <<else>> /* Move out */ You pull yourself out from under <<bhim>> and shake your head. <br><br> <<bHe>> lets out a low growl before turning to leave you. <</if>> <br><br> <<clotheson>> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">> <<deviancy2>> <<if $wolfpackleader gte 1>><<enable_rescue>><</if>> <<blackwolfhealth>> <</if>> <<effects>> <<effectsman>> <<alarmstate "<span class='red'>The <<wolf_cave_plural>> are too busy thinking about themselves to help you.</span>">> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Wolf Liquid Clean Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Wolf Liquid Clean Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Black Wolf groans as <<bhis>> movements slow to a stop. Breathing heavily <<bhe>> climbs off of you, <<= $monster is 1 ? "planting a kiss on your cheek" : "licking your cheek one more time">> before returning to <<bhis>> resting spot. <<elseif $enemyhealth lte 0>> Black Wolf looks at you with hurt and confusion. <<bHe>> pins <<bhis>> ears back as <<bhe>> retreats to <<bhis>> resting spot to lick <<bhis>> injuries. <<elseif $alarm is 1 and $rescue is 1>> Black Wolf gets off of you, confusion written on <<bhis>> expression. <br><br> A <<generatewolf2>><<beasttype 1>> stalks out of the cave, growling with its head lowered. Its tense posture and pinned back ears tell you it's ready to fight to protect its alpha. <br><br> Black Wolf looks between you and the <<beasttype 1>>. <<bHe>> huffs and climbs off you. <<bHe>> returns to <<bhis>> resting spot. You notice <<bhe>> avoids looking at you. <br><br> The <<beasttype 1>> comes over to you, inspecting you briefly. After deciding you're alright, <<bhe>> returns to the cave. <<else>> <<if $wolfpackharmony gte 12>> Black Wolf falters before climbing off of you. <<bHe>> looks at you, tilting <<bhis>> head. <br><br> <<if $pain gte 80>> <<bHe>> carefully licks your injuries, looking at you sadly before returning to <<bhis>> resting spot. <<else>> Seeing nothing wrong, <<bhe>> gently pushes <<bhis>> head against yours before returning to <<bhis>> resting spot. <</if>> <<else>> Black Wolf slows to a stop with a grunt. <<bHe>> pants heavily as <<bhe>> gets off of you. <<if $wolfpackleader gte 1>> <<bHe>> pays you no more mind as <<bhe>> returns to <<bhis>> resting spot and lays down. <<else>> <<bHe>> nuzzles your cheek before returning to <<bhis>> resting spot and laying down. <</if>> <</if>> <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Wolf Cave Clearing]]>><</link>> <br><<effects>> <<= $monster is 1 ? "With a smirk, <<bhe>>" : "<<bHe>>">> travels lower, marking you from your chest to<<if playerAwareTheyArePregnant() and playerBellySize() gte 15>> the pregnant swell of<</if>> your tummy, until <<bhe>> settles between your legs. <br><br> Wasting no time, <<bhe>> licks your <<= $player.vaginaExist ? "<<pussy>>" : "<<penis>>">> with a long, broad stroke. You shiver and squirm, but <<bhe>> doesn't let up, <<bhis>> tongue sliding <<if $player.vaginaExist>> against and then past your entrance, marking you from the inside out. <<else>> up against your shaft to the tip and back down again, sparing no inch from <<bhis>> claim. <</if>> <br><br> You grip <<bhis>> <<= $monster is 1 ? "hair" : "fur">> instinctively, your legs trembling from the onslaught until your body finally yields to the pleasure. <br><br> <<orgasm>> Panting with exertion, you look into Black Wolf's eyes. <<bHe>> holds your gaze easily, triumphant.<<if $monster is 1>> "Mine. All of pack should know."<</if>> As if for good measure, <<bhe>> rubs <<bhis>> cheek against your damp one. <br><br> Looking rather pleased with <<bhimself>>, <<bhe>> heads back to <<bhis>> usual spot to watch over the pack now that <<bhis>> claim of you has been made clear. <br><br> <<tearful>> you climb to your feet. <br><br> <<link [[Next|Wolf Cave Clearing]]>><<endevent>><<clotheson>><</link>> <br><<effects>> <<npc "Great Hawk">> What would you like to give the Great Hawk? <br><br> <<food_gift_list>> <<if _food_gift_found is true>> <<skinicon "give">><<link [[Give gift (0:05)|Great Hawk Gifts]]>><<pass 5>><<give_gift "Great Hawk">><</link>> <br> <</if>> <<refuseicon>><<link [[Reconsider|Great Hawk Gifts List Reconsider]]>><</link>> <br><<effects>> The Great Hawk turns <<bhis>> head as <<bhe>> looks at you askance. <br><br> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <br><<effects>> <<set _gift to $gift.handheld_gift || $gift.handheld>> <<wearProp _gift>> <<if $phase is 1>> "I've brought you something," you say. <<elseif $phase is 2>> "I made something," you say. "Just for you." <<else>> "I've made you a gift," you say. "I hope you like it." <</if>> <br><br> <<if $gift.special.includes("carnivore")>> <<if $monster gte 1>> The Great Hawk looks at it with a puzzled expression. "Strange meat," <<bhe>> says. "Humans hunt strange things. I will take though." <<bHe>> bows. "Thank you." <br><br> <<bHe>> tears into the meat, devouring it in great chunks. "Very good! I'll try to catch something equally delicious for <<wife>>."<<glove>><<npcincr "Great Hawk" love 1>> <<else>> The Great Hawk cocks <<bhis>> head, as if puzzled. <<bHe>> tears off a chunk of flesh with <<bhis>> beak, and swallows it. <<bHe>> tears into the rest at once, and devours it in moments. <br><br> <<bHe>> beats <<bhis>> wings in a leisurely way. <<bHe>> enjoyed the meal.<<glove>><<npcincr "Great Hawk" love 1>> <</if>> <<saveFavoriteFood "Great Hawk" $gift.name>> <<earnFeat "Return the Favour">> <<elseif $gift.special.includes("drink")>> <<if $monster gte 1>> The Great Hawk lifts the drink. "My <<wife>> has strange ideas," <<bhe>> says. "Drink you can carry. Or is it a human thing?" <<bHe>> gives it a sniff, then a sip. <<bHis>> wings unfurl in pleasure. <br><br> "Mmm! A very good gift!" <<bHe>> downs the rest in one go. "You've made me happy. I'll return the favour."<<npcincr "Great Hawk" love 1>> <<else>> The Great Hawk tilts <<bhis>> head, observing the drink. Then <<bhe>> sticks <<bhis>> beak in, and laps up the fluid with <<bhis>> tongue. Enjoying the taste, <<bhe>> lifts the beverage with a talon, and pours the rest down <<bhis>> throat. <br><br> <<bHe>> beats <<bhis>> wings in a leisurely way. <<bHe>> enjoyed the drink.<<glove>><<npcincr "Great Hawk" love 1>> <</if>> <<saveFavoriteFood "Great Hawk" $gift.name>> <<earnFeat "Return the Favour">> <<else>> <<if $monster gte 1>> The Great Hawk frowns at the <<recipe_name $gift.name>>. <<bHe>> gives it a sniff, then takes a tiny bite. <<bHis>> face scrunches in disgust, and <<he>> flings the gift from the tower. <br><br> "Forgive me, <<wife>>," <<bhe>> says, sounding remorseful. "I'm not used to eating human food. They use too many plants." <<else>> The Great Hawk pecks at the <<recipe_name $gift.name>>, lifts it with a talon, and flings it from the tower. <<bHe>> avoids meeting your gaze, as if ashamed. <br><br> <span class="blue">Perhaps <<bhe>> wants something fit for a carnivore.</span> <</if>> <</if>> <br><br> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <br><<effects>> <<bHe>> spreads <<bhis>> wings and launches from the tower. <br><br> <<set $bird.timer to random(30, 60)>> <<set $bird.state to "hunting">> <<if $birdPerch>> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <<else>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <</if>> <<unset $birdPerch>> <br><<effects>> <<bird_fly_reveal_wings>> <<if $bird.hunts.unlocked is false>> <!-- First hunt --> You stop <<bhim>> just as <<bhes>> about to launch from the tower. <<if $speech_attitude is "meek">> "I-I want to help," you say. "Let me come with you." <<elseif $speech_attitude is "bratty">> "I can't let you keep doing all the work," you say. "I'm coming with you." <<else>> "You've been doing this for me for so long. I'm coming with you," you say. <</if>> <<else>> <!-- Subsequent hunts --> You stand beside <<bhim>>. <<if $speech_attitude is "meek">> "I-I'll join you," you say. <<elseif $speech_attitude is "bratty">> "I want to stretch my wings," you say. "I'm coming with you." <<else>> "I'll join you," you say. <</if>> <</if>> <br><br> <<if $birdFly isnot 1 or $harpy lte 5>> <!-- Player hasn't learned to fly --> <<if !$daily.birdHuntAsked>> <<set $daily.birdHuntAsked to 1>> <<if $monster is 1>> <<bHe>> looks at you for a moment. "No. <<Wife>> is not ready yet." Before you can ask why, <<bhe>> flaps <<bhis>> wings for emphasis. "Can not carry you for the hunt. When <<wife>> is ready, we can go together." <<else>> <<bHe>> looks at you for a moment. <<bHe>> flaps <<bhis>> wings at you and shakes <<bhis>> head. <<bHe>> seems to think you're not ready. <span class="blue">You'll need to learn to fly first.</span> <</if>> <<else>> <<bHe>> cocks <<bhis>> head. <<if $monster is 1>> "<<Wife>> asks again. <<Wife>> really wants to help?" <<bHe>> walks over to you, and nuzzles your cheek. "When <<wife>> can join me in the sky, <<wife>> can hunt." <<else>> <<bHe>> walks over to you and nuzzles your cheek, before letting out a low caw. <</if>> <</if>> <<if $daily.birdHuntAsked is 1>> <<set $daily.birdHuntAsked to 2>> <<npcincr "Great Hawk" love 1>><<glove>> <</if>> <br><br> <<link [[Next|Bird Tower No Hunt]]>><</link>> <br> <<elseif C.npc["Great Hawk"].love lte 25>> <!-- Love too low --> <<if $monster is 1>> <<bHe>> looks at you for a moment. "I hunt for <<wife>>. <<Wife>> must stay home. For now." <<else>> <<bHe>> looks at you for a moment. <<bHe>> cocks <<bhis>> head to the side, before letting out a low trill. <</if>> <span class="blue"><<bHe>> might let you join when <<bhe>> trusts you more.</span> <br><br> <<link [[Next|Bird Tower No Hunt]]>><</link>> <br> <<elseif playerIsPregnant() and getPregnancyObject().fetus[0].type is "hawk" and playerBellyVisible() and talkedAboutPregnancy("pc","Great Hawk") and playerBellySize() gte 15>> <!-- TOO PREGGY --> <<if $monster is 1>> <<bHe>> looks at you for a moment, then down to your <<bellyDescription>>. "I hunt for <<wife>>. <<Wife>> must stay home. For now." <<else>> <<bHe>> looks at you for a moment, then down to your <<bellyDescription>>. <<bHe>> cocks <<bhis>> head to the side, before letting out a low trill. <</if>> <span class="blue"><<bHe>> might let you join after you've laid your eggs.</span> <br><br> <<link [[Next|Bird Tower No Hunt]]>><</link>> <br> <<elseif $bird.hunts.unlocked is false>> <!-- First hunt, can't happen during poor flying weather --> <<if Weather.precipitation is "rain">> <<if $monster is 1>> <<bHe>> looks at you for a moment, clearly surprised. "Would love to hunt with <<wife>>. But now is not a good time for you to learn," <<bhe>> says apologetically, gesturing to the rainy skies. <<else>> <<bHe>> looks at you for a moment, then lets out a meek squawk. <<bHe>> gazes at the rainy skies before shaking <<bhis>> head. Maybe if the weather was better <<bhe>> would be willing to take you along. <</if>> <br><br> <<link [[Next|Bird Tower No Hunt]]>><</link>> <br> <<else>> <<if $monster is 1>> <<bHe>> looks at you for a moment, clearly surprised. "Would be happy to hunt with <<wife>>!" <<bHe>> seems excited. "Much to learn. I will teach <<wife>>. Stay close," <<bhe>> says, beckoning you to the edge of the perch. <<else>> <<bHe>> looks at you for a moment, then lets out a squawk followed by a small, happy screech. <<bHe>> nudges you closer to the edge of the perch. <</if>> <br><br> <<bHe>> spreads <<bhis>> wings and launches from the tower. You jump out after <<bhim>>. You're not used to flying like <<bhe>> is, but you do your best. With the help of the moor's heavy updrafts, you're just barely able to keep pace with <<bhim>>, although it's clear <<bhes>> going slower than usual. <br><br> It takes some time, and a lot of effort, for you to gain altitude. Gliding was hard, but this is on another level. <<if $monster is 1>> "<<Wife>> is doing good. <<Wife>> is ready to hunt," <<bhe>> says. <<bHe>> changes direction, and you follow. <<else>> <<bHe>> screeches and changes direction. You follow <<bhim>>. <</if>> <br><br> <<link [[Next (0:30)|Bird Hunt Intro]]>><<pass 30>><<unset $birdPerch>><</link>> <br> <</if>> <<else>> <!-- Subsequent hunts --> <<set $bird.hunts.duo to true>> <<set $dateCount.Total++>><<set $dateCount.GreatHawkHunts++>> <<if $monster is 1>> "Would be happy to hunt with <<wife>>," <<bhe>> says. <<bHe>> spreads <<bhis>> wings and leaps out of the tower. You follow after <<bhim>>. <<else>> <<bHe>> lets out a small squawk and beckons you with <<bhis>> wing. <<bHe>> then spreads <<bhis>> wings and leaps out of the tower. You follow after <<bhim>>. <</if>> <br><br> <<flight_time_check 30>> <<link [[Hunt|Bird Hunt Goal]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<unset $birdPerch>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <</if>><<set $outside to 1>><<effects>> <<if $monster is 1>> "Always fly high, prey won't see you," <<bhe>> instructs. "Be fast. Never let prey anticipate your strike." You keep flying over the moor, looking for an opportune moment. Soon, your mate spots something. "There," <<bhe>> says, turning towards movement in the heather. A scattered group of lurkers. "Watch. Will show <<wife>> how to strike." <br><br> True to <<bhis>> word, <<bhe>> swoops down like lightning and grabs one in <<bhis>> talons. <<bHe>> barely loses any speed, returning to your side quickly. The creature struggles for a moment before going limp. "Our prey is weak from the sky. Not built for high up. <<Wife>> can hunt too." <<bHe>> begins to circle, waiting for you to grab one as well. <<else>> You observe <<bhis>> methods. <<bHe>> makes sure to fly high and wait for a good opportunity. After a moment, <<bhe>> turns <<bhis>> head towards movement in the heather; a scattered group of lurkers. <<bHe>> readies <<bhis>> talons, preparing to strike. <br><br> <<bHe>> swiftly swoops down and grabs one in <<bhis>> talons. <<bHe>> barely loses any speed, returning to your side quickly. The creature struggles for a moment before going limp. It seems they can't handle the change in altitude. Maybe you could get one too. <</if>> <br><br> <<link [[Try to grab one|Bird Hunt Intro 2]]>><</link>> <br><<effects>> You came here to hunt, and hunt you will. <br><br> Using your wings to swoop downward isn't something you're familiar with, but your instincts guide you. It feels similar to muscle memory, as your wings fold and your arms rear back for a grab. Your mind hones in on your target, and the rushing air is all you can hear. The lurkers aren't expecting another attack, allowing you to catch one easily. <br><br> The recovery isn't as easy. The sudden weight shift and the returning force from grabbing an object at high speed throws you off balance. You manage to right yourself, but you're too close to the ground. You instinctively lower your legs, making contact with the ground. You run with your momentum and use the speed to take off again. <br><br> It struggles in your hands. You manage to pick up wind and soar to the sky. As soon as you reach the clouds, the creature falls limp. <<if $monster is 1>> You look over to your <<nnpc_wife "Great Hawk">>. <<bHe>> seems proud of you. <<npcincr "Great Hawk" love 3>><<gglove>> <br><br> "Good hunt. <<Wife>> learns so fast! We return home," <<bhe>> says. You follow <<bhim>> until you see the tower. <<else>> You look over at your <<beasttype>>. <<bHe>> seems proud of you. <<npcincr "Great Hawk" love 3>><<gglove>> <br><br> <<bHe>> squawks in satisfaction and begins to fly back towards the tower. <</if>> <br><br> <<link [[Next (0:30)|Bird Hunt Intro 3]]>><<pass 30>><</link>> <br><<effects>><<set $outside to 0>> With your successful hunts, you fly back to the castle. Looking at the prey in your hands, you feel a primal sense of satisfaction. <<stress -12>><<llstress>> <br><br> Soon, you both arrive at the castle and land in the nest. You feel pins and needles in your wings, a reminder that you're still a guest in these skies. You set down your lurkers. <<if $monster is 1>> "<<Wife>> did good. I knew you were a good mate," <<bhe>> says. <br><br> <<link [[Hug|Bird Hunt Intro Hug]]>><<npcincr "Great Hawk" love 1>><</link>><<glove>> <<else>> The <<beasttype>> looks at you happily. <br><br> <<link [[Pet|Bird Hunt Intro Hug]]>><<npcincr "Great Hawk" love 1>><</link>><<glove>> <</if>> <br> <<link [[Eat the lurker|Bird Hunt Intro Eat]]>><<hunger -2000>><<transform bird 1>><</link>><<ltrauma>> <br> <<link [[Give your lurker to your spouse|Bird Hunt Intro No Eat]]>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br><<effects>> <<if $monster is 1>> You suddenly hug <<bhim>>. It takes <<bhim>> by surprise, but <<bhe>> returns it. "Not used to <<wife>>'s affections. But still like it." <<else>> You pet <<bhis>> head. This surprises <<bhim>>, but <<bhes>> quick to start nuzzling <<bhis>> head to your hand. <<bHe>> makes small sounds of satisfaction. <</if>> <br><br> <<link [[Eat the lurker|Bird Hunt Intro Eat]]>><<hunger -2000>><<transform bird 1>><</link>><<ltrauma>> <br> <<link [[Give your lurker to your spouse|Bird Hunt Intro No Eat]]>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br><<effects>> You return your attention to your catch. <<if $bird.loot.lurker gte 50>> You're filled with the desire to eat it. Your <<beasttype>> has already started eating <<bhers>>. You follow your instinct once again, and are filled with satisfaction, as well as a strange warmth. <<eatLurker>><<trauma -6>><<drugs 120>><<ltrauma>><<ggdrugged>> <<else>> Eating it doesn't seem so repulsive anymore. Your <<beasttype>> has already started eating <<bhers>>. You take a deep breath, and take a bite. You're filled with primal satisfaction once again, as well as a strange warmth. <<eatLurker>><<trauma -6>><<drugs 120>><<ltrauma>><<ggdrugged>> <</if>> <br><br> <<if $monster is 1>> The <<beasttype>> speaks up. "Would be happy to hunt with <<wife>> again." <<else>> The <<beasttype>> looks over at you and gives another happy screech. <</if>> <br> <span class="gold">You can now go hunting with the Great Hawk.</span> <br> <span class="blue">Feasting on the lurker felt good. You should hunt them more often.</span> <span class="gold">You can now hunt for lurkers on your own.</span> <br><br> <<set $bird.hunts.unlocked to true>> <<set $bird.hunts.lurkers to true>> <<set $bird.timer to 90>> <<set $dateCount.Total++>><<set $dateCount.GreatHawkHunts++>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> You place your lurker in front of the <<beasttype>>. <<if $monster is 1>> <<bHe>> looks to you with concern. "<<Wife>> worked hard, you should eat too." Despite <<bhis>> protest, <<bhe>> eventually eats it. "Would be happy to hunt with <<wife>> again." <<else>> <<bHe>> looks to you with concern, but eats it anyways. <<bHe>> gives another happy screech. <</if>> <br> <span class="gold">You can now go hunting with the Great Hawk.</span> <br><br> <<set $bird.hunts.unlocked to true>> <<set $bird.timer to 90>> <<set $dateCount.Total++>><<set $dateCount.GreatHawkHunts++>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<npc "Great Hawk">> <<bird_fly_reveal_wings>> You stand on the edge of the perch, spreading your wings. You feel for the wind while looking out to the moor. Your focus sharpens. <br><br> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home" and Weather.bloodMoon>> A large wing unfurls in front of you, blocking you. <<if $monster is 1>> "No, <<wife>>. The sky is hungry tonight. Hunting is too dangerous." <<bHe>> gestures to the red moon. <<else>> Your <<beasttype>> caws in warning, staring at the red moon. <<bHes>> worried about you hunting. <</if>> <br><br> <<link [[Step away|Bird Tower Perch]]>><<endevent>><</link>> <br> <<else>> <<flight_time_check 30 "silent">> <<link [[Hunt alone (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Start Alone]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<unset $birdPerch>><<bird_pass _flightTime>><</link>><<print _fatigueText>> <br> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<if $bird.injured gt 1>> <span class="red">Your spouse won't be able to hunt with you until <<bhis>> wing heals.</span> <<else>> <<link [[Hunt together|Bird Hunt Start Ask]]>><<npcincr "Great Hawk" dom 1>><</link>><<gdom>> <</if>> <br> <</if>> <<if $bird.state is "home" and !["sleep","rest"].includes($bird.activity) and $bird.injured is 0 and $bird.hunts.estate isnot false>> <<if $bird.hunts.estate is "unlocked">> <<link [[Ask for help stealing from the estate|Bird Hunt Estate Prepare]]>><<endevent>><</link>> <br> <<elseif $bird.hunts.estate is "scouting">> <<if Time.dayState is "night">> <span class="red">It's too dark to scout the estate. You'll have to wait until the sun comes up.</span> <<elseif Time.hour gte 18>> <span class="red">It'll be too dark to scout the estate soon. You'll have to wait until the sun comes up again.</span> <<elseif Weather.precipitation isnot "none" or Weather.isOvercast>> <span class="red">The weather isn't clear enough to scout the estate.</span> <<else>> <<link [[Scout out the estate (2:00)|Bird Hunt Estate Scout]]>><<endevent>><</link>> <</if>> <br> <<elseif $bird.hunts.estate is "ready">> <<if $birdSilverHuntCooldown>> <span class="red">You promised the Great Hawk you wouldn't try stealing from the Remy estate again for a while.</span> <<elseif Time.hour gte 8 and Time.hour lte 16 and Weather.precipitation is "none" and Weather.overcast lte 25>> <<link [[Fly to the estate (1:00)|Bird Hunt Estate Steal Intro]]>><<endevent>><</link>> <<else>> <span class="red">You should wait until the middle of a clear day to attempt stealing from the Remy estate.</span> <</if>> <br> <</if>> <</if>> <<link [[Step away|Bird Tower Perch]]>><<endevent>><</link>> <br> <</if>><<effects>> <<bird_fly_reveal_wings>> <<if $speech_attitude is "meek">> "I-I'll hunt for you," you say. "I'll bring back something nice." <<elseif $speech_attitude is "bratty">> "Looks like I have to do all the work," you say. "Protect the nest. I'll be back soon." <<else>> "I'll hunt for you," you say. "Just stay here and rest." <</if>> <br><br> <<if $monster is 1>> "<<Wife>>? I am sorry. Thank you." <<else>> <<bHe>> lets out a low trill of shame, but nuzzles you in thanks. <</if>> <br><br> You stand on the edge of the perch, spreading your wings. You feel for the wind while looking out to the moor. Your focus sharpens. You spread your wings and leap from the tower. <br><br> <<link [[Next|Bird Hunt Goal]]>><<endevent>><</link>> <br><<effects>> You turn to the <<beasttype>>. <<if $speech_attitude is "meek">> "C-can you come with me? I'm still nervous about hunting alone," you say. <<elseif $speech_attitude is "bratty">> "I want to stretch my wings," you say. "Might catch a lurker or two while I'm at it. You coming?" <<else>> "I'm going hunting. Will you come with me?" you ask. <</if>> <br><br> <!-- Futureproofing, some pregnancy content will require either player or hawk to remain at nest --> <<if $bird.injured is 1>> <<set $bird.injured to 0>> <<set $bird.hunts.duo to true>> <<set $dateCount.Total++>><<set $dateCount.GreatHawkHunts++>> <<bHe>> stretches out <<bhis>> injured wing, <span class="green">showing no signs of strain. It's healed.</span> <<if $monster is 1>> "Finally. We return to the skies together." <<else>> <<bHe>> looks out over the moor with a harsh gaze. <<bHe>> seems to be eager to hunt with you again. <</if>> <<elseif npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk","pc") and npcBellySize("Great Hawk") gte 12>> <<bHe>> moves to stand, and stretches. <<if $monster is 1>> <<bHe>> places <<bhis>> hands on <<bhis>> <<bellyDescription "Great Hawk">>. "I would only slow <<wife>> down right now. I'm sorry." <<else>> <<bHe>> then rolls over on <<bhis>> side, showing off <<bhis>> <<bellyDescription "Great Hawk">>. It seems <<bhe>> doesn't have the energy. <</if>> <<else>> <<set $bird.hunts.duo to true>> <<set $dateCount.Total++>><<set $dateCount.GreatHawkHunts++>> <<if Time.dayState is "night">> <<set $daily.birdNightWarning to true>> <<if $monster is 1>> "Hunting at night time? Difficult. If <<wife>> wants to..." <<else>> <<bHe>> stares up at the night sky, hesitant. After a moment, <<bhe>> hops beside you. <</if>> <<else>> <<if $monster is 1>> "<<Wife>> wants to hunt?" <<bhe>> asks as <<bhe>> gets up. "Then we hunt." <<else>> <<bHe>> gets up, then lets out a small affirmative caw. <</if>> <</if>> <</if>> <br><br> <<flight_time_check 30 "silent">> <<if $bird.hunts.duo is true>> You both spread your wings and leap out of the tower, beginning your hunt. <br><br> <<link [[Hunt together (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Goal]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<unset $birdPerch>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<else>> <<link [[Hunt alone (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Start Alone]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<unset $birdPerch>><<bird_pass _flightTime>><</link>><<print _fatigueText>> <br> <<link [[Step away|Bird Tower Perch]]>><<endevent>><</link>> <br> <</if>><<effects>> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<if $bird.injured gte 1>> The <<beasttype>> stirs. <<if $monster is 1>> "Have a good hunt, <<wife>>," <<bhe>> says, trying to hide a bit of shame in <<bhis>> voice. "Return soon." <<else>> <<bHe>> squawks shamefully as you approach the edge of the perch, wishing you luck in your hunt. <</if>> <<else>> You decide to hunt alone. The <<beasttype>> stirs. <<if $monster is 1>> <<if Time.dayState is "night">> <<set $daily.birdNightWarning to true>> "Hunting at night? Difficult. Good luck, <<wife>>," <<bhe>> says. "Return soon." <<else>> "Have a good hunt, <<wife>>," <<bhe>> says. "Return soon." <</if>> <<else>> <<bHe>> squawks as you approach the edge of the perch, wishing you luck in your hunt. <</if>> <</if>> <br><br> <</if>> <<set $bird.hunts.duo to false>> You spread your wings and leap from the tower. <br><br> <<link [[Next|Bird Hunt Goal]]>><<endevent>><</link>> <br><<set $outside to 1>><<set $location to "moor">><<effects>><<flight_effects>> <<if !$bird.hunts.loot>> <<set $bird.hunts.loot to {}>> <<set $bird.hunts.lootAmount to 0>> <<set $bird.hunts.weight to (Weather.precipitation is "rain" ? 1 : 0)>> <<set $bird.hunts.goal to "">> <<set $bird.hunts.direction to "">> <<set $bird.hunts.distanceNorth to 0>> <<set $bird.hunts.distanceEast to 0>> <<set $bird.hunts.timer to 0>> <<set $moor to 40>> <</if>> <<if $phase is 1>> You choose to hunt for something else. <<elseif $phase is 2>> You ask your spouse if you can hunt for something else. <<else>> You catch the wind and fly high up into the air. <<if Weather.precipitation is "rain">> The rain hinders your flight, but you persist. <<gtiredness>><<tiredness 2>> <</if>> <</if>> <br><br> What will you hunt for? <br> <<if $bird.hunts.lurkers is true>> <<link [[Lurkers|Bird Hunt Direction]]>><<set $bird.hunts.goal to "lurkers">><</link>> <br> <</if>> <<if $bird.hunts.materials is true>> <<link [[Materials|Bird Hunt Direction]]>><<set $bird.hunts.goal to "materials">><</link>> <br> <</if>> <<if $bird.hunts.valuables is true>> <<link [[Valuables|Bird Hunt Direction]]>><<set $bird.hunts.goal to "valuables">><</link>> <br> <</if>> <<if $bird.hunts.duo is true>> <<link [[Let the Great Hawk decide|Bird Hunt Direction]]>><<set $bird.hunts.goal to "hawk">><<npcincr "Great Hawk" dom 1>><</link>><<gdom>> <br> <</if>> <<set $phase to 0>><<effects>><<flight_effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> You tell the <<beasttype>> that you want to <<else>> You decide to <</if>> <<switch $bird.hunts.goal>> <<case "lurkers">>find some proper prey to hunt. <<case "materials">>find something to improve the castle. <<case "valuables">>find something valuable, or otherwise eye-catching. <<case "hawk">> follow <<bhim>>. <</switch>> <br><br> <<flight_time_check 20 "silent">> <<if $bird.hunts.duo is true and $bird.hunts.goal is "hawk">> <<set _directionPool to []>> <<if $bird.hunts.distanceNorth lt 5 and $bird.hunts.distanceNorth isnot -1>> <<run _directionPool.pushUnique("north")>> <</if>> <<if $bird.hunts.distanceEast lt 5 and $bird.hunts.distanceEast isnot -1>> <<run _directionPool.pushUnique("east")>> <</if>> <<if $bird.hunts.distanceNorth gt -5 and $bird.hunts.distanceNorth isnot 1>> <<run _directionPool.pushUnique("south")>> <</if>> <<if $bird.hunts.distanceEast gt -5 and $bird.hunts.distanceEast isnot 1>> <<run _directionPool.pushUnique("west")>> <</if>> <<set $bird.hunts.direction to _directionPool.pluck()>> <<if $monster is 1>> "<<Wife>> follows? I will lead," <<bhe>> says, flying $bird.hunts.direction. <<else>> <<bHe>> screeches in response and starts flying $bird.hunts.direction. <</if>> <<switch $bird.hunts.direction>> <<case "north">><<set $bird.hunts.distanceNorth++>> <<case "east">><<set $bird.hunts.distanceEast++>> <<case "south">><<set $bird.hunts.distanceNorth-->> <<case "west">><<set $bird.hunts.distanceEast-->> <</switch>> <<bird_loot_select>> <br><br> <<link [[Next (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<else>> <<if $bird.hunts.duo is true>> <<if $monster is 1>> "Will help <<wife>> hunt," <<bhe>> says. <<else>> <<bHe>> screeches in response. <</if>> <br><br> <</if>> With a plan in mind, you decide to hunt: <br> <<if $bird.hunts.distanceNorth lt 5>> <<link [[North (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<set $bird.hunts.direction to "north">><<set $bird.hunts.distanceNorth++>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <</if>> <<if $bird.hunts.distanceEast lt 5>> <<link [[East (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<set $bird.hunts.direction to "east">><<set $bird.hunts.distanceEast++>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <</if>> <<if $bird.hunts.distanceNorth gt -5>> <<link [[South (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<set $bird.hunts.direction to "south">><<set $bird.hunts.distanceNorth-->><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <</if>> <<if $bird.hunts.distanceEast gt -5>> <<link [[West (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<set $bird.hunts.direction to "west">><<set $bird.hunts.distanceEast-->><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <</if>> <</if>><<effects>><<flight_distance_check>><<flight_hunt_chance>><<flight_effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> <</if>> <<if $phase is 2>> You ignore your setback and continue. <</if>> <<if $bird.hunts.goal is "hawk">> You follow the <<beasttype>> $bird.hunts.direction, hoping to spot something. <<else>> You <<if $bird.hunts.duo is true>>both <</if>>fly $bird.hunts.direction, hoping to spot something. <</if>> <<if Weather.precipitation is "rain">>The rain does nothing to help your search.<<elseif Weather.precipitation is "snow">>The snow does nothing to help your search.<</if>> <<if $daily.birdHuntPhysique is undefined>> <<set $daily.birdHuntPhysique to 0>><<physique 1>> <<elseif $daily.birdHuntPhysique lt 3>> <<set $daily.birdHuntPhysique++>><<physique 1>> <</if>> <br><br> <<endevent>> <<cleareventpool>> <<if $stress gte $stressmax or isPregnancyEnding()>> You don't have the strength to keep flying. Your wings limply carry you into a clumsy, rapidly descending glide. You black out. <br><br> <<if $bird.hunts.duo is false>> You hear a muffled splash, and your body goes cold. <br><br> <<passout_moor>> <<else>> You feel something grab you mid-air, and your ears pop as you begin to ascend again. <br><br> <<link [[Next (?:??)|Bird Hunt Passout]]>><<bird_pass _returnTime>><</link>> <br> <</if>> <<elseif _distanceTotal is 0>> You're right above the castle. <span class="blue">You won't find anything until you fly further out.</span> <br><br> <<endevent>> <<flight_hunt_options>> <<elseif $daily.huntRemyCampNorth is $bird.hunts.distanceNorth and $daily.huntRemyCampEast is $bird.hunts.distanceEast>> <<if $daily.huntRemyAlerted>> You're close to the encampment you harassed. <span class="red">The occupants are alert, keeping their eyes on the sky.</span> You won't be able to find anything here today. <br><br> <<endevent>> <<set $phase to 2>> <<flight_hunt_options>> <<elseif $daily.huntRemyBurnt>> The smouldering remains of an encampment sit below you. As cathartic as the sight is, you won't find anything more here today. <br><br> <<endevent>> <<flight_hunt_options>> <<else>> <<if $daily.huntRemyCamp>> You're above <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> an encampment belonging to Remy's goons. <<else>> the encampment. <</if>> <<else>> <<set $daily.huntRemyCamp to true>> You spot a few tents. Someone seems to have set up camp. You can see the owners sitting outside. <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> You recognise them from their uniforms. <span class="red">Remy's goons.</span> <<else>> A few of them carry pronged metal poles, and others carry nets. They look dangerous. <</if>> <</if>> <br><br> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> <<if $monster is 1>> "Landbound without their leader. Bad, but not a threat," your <<beasttype>> says confidently. <<else>> Your <<beasttype>> looks them over intently. <<bHe>> doesn't seem to consider them a threat. <</if>> <<if $remySeen?.includesAny("farm","livestock","manor")>> You know from experience that they can be dangerous, but now you're not alone. <</if>> <br><br> With help from the Great Hawk, you could try to steal from them. The two of you could also scare them away. <br><br> <<link [[Steal from them (0:05)|Bird Hunt Tent Steal]]>><<bird_pass 5>><</link>><<crime "thievery">> <br> <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> <<link [[Scare and harass (0:05)|Bird Hunt Tent Sabotage]]>><<bird_pass 5>><</link>> <br> <<else>> <<link [[Scare and harass (0:05)|Bird Hunt Tent Scare]]>><<bird_pass 5>><</link>> <br> <</if>> <<if $bird.hunts.loot.lurkers gte 1>> <<link [[Drop a lurker on their heads (0:05)|Bird Hunt Tent Lurker Drop]]>><<endevent>><<bird_pass 5>><</link>> <br> <</if>> <<else>> <span class="red">Crossing them would be very dangerous.</span> <br><br> <<set $skulduggerydifficulty to 500>> <<link [[Sneak in and steal from them (0:05)|Bird Hunt Tent Steal Alone]]>><<crimeUp 10 "trespassing">><<bird_pass 5>><</link>><<skulduggerydifficulty>><<crimes "thievery" "trespassing">> <br> <<if $bird.hunts.loot.lurkers gte 1>> <<link [[Drop a lurker on their heads (0:05)|Bird Hunt Tent Lurker Drop]]>><<endevent>><<bird_pass 5>><</link>> <br> <</if>> <</if>> <<link [[Avoid them|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</if>> <<elseif $daily.emptyCampNorth is $bird.hunts.distanceNorth and $daily.emptyCampEast is $bird.hunts.distanceEast>> <<if Time.dayState isnot "night">> <<if $daily.emptyCamp>> You're above the trashed campsite. <<else>> You see a big open clearing with a smouldering firepit in the middle. Litter and other items lie scattered around everywhere. Looks like some people were hanging out here. It's possible they left behind something useful to you. <</if>> <br><br> <<if $daily.emptyCampLoot is 0>> <span class="purple">It's been picked clean.</span> <br><br> <<else>> <<link [[Land (0:02)|Bird Hunt Scavenge Party Site]]>><<endevent>><<bird_pass 2>><</link>> <br> <</if>> <<else>> You see a big open clearing with a fire burning brightly, surrounded by people. They appear to be dancing, and otherwise having fun. There's too many people for you to approach right now. <br><br> <</if>> <<flight_hunt_options>> <<elseif ($bird.hunts.distanceNorth is -3 and $bird.hunts.distanceEast is 3) or ($bird.hunts.distanceNorth is -3 and $bird.hunts.distanceEast is -3)>> There's a tall pillar of stone at the top of a hill nearby. The bottom is completely overgrown, but a path manages to cleave through the underbrush. <<if Time.dayState is "night">> It would make a good ambush point, but it's too dark. <br><br> <<else>> It would be a good place to set up an ambush. <br><br> <<link [[Land (0:02)|Bird Hunt Ambush Point]]>><<endevent>><<bird_pass 2>><</link>> <br> <</if>> <<flight_hunt_options>> <<else>> <<addinlineevent "bird_hunt_nothing" _flight_hunt_chance.nothing>> <<rng 3>> After some time, you still haven't found anything of interest. <<switch $rng>> <<case 1>> <!-- Nothing --> <<case 2>> <<switch Weather.precipitation>> <<case "none">> <<if !Weather.overcast>> <<switch Time.dayState>> <<case "dawn">>The morning sun kisses the horizon, making you feel more alert. <<stress -6>><<lstress>> <<case "day">>You take a moment to relish in the sun's warmth as you glide. <<stress -6>><<lstress>> <<case "dusk">>The setting sun casts striking shadows across the moor. <<stress -6>><<lstress>> <<case "night">>The moor is dark, and seems strangely peaceful from up here. <<stress -6>><<lstress>> <</switch>> <<else>> A strong gust of wind washes over you, allowing you to glide in place for a few minutes. <<stress -6>><<lstress>> <</if>> <<case "rain">>The rain batters you. <<stress 6>><<gstress>> <<case "snow">>You glide in a sparkling white void above the earth. The snow makes you feel like you're in an otherworldly bubble. <<stress -6>><<trauma -3>><<lstress>><<ltrauma>> <</switch>> <<case 3>> You lose focus for a moment, and enjoy the sensation of flying. <<trauma -3>><<ltrauma>> <</switch>> <br><br> <<endevent>> <<set $phase to 2>> <<flight_hunt_options>> <</addinlineevent>> <<addinlineevent "bird_hunt_camp" _flight_hunt_chance.materials>> You notice the remains of a campsite. There might be something worth taking left. <br><br> <<link [[Search the area (0:05)|Bird Hunt Camp]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_dead_tree" _flight_hunt_chance.materials>> You spot a leafless tree. It looks old and withered, however its branches still look healthy enough to be of use for your nest. <br><br> <<link [[Land (0:05)|Bird Hunt Dead Tree]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_sticks" _flight_hunt_chance.materials>> You spot a pile of hefty branches. <<if $bird.hunts.materials is false>> You might be able to use them to improve your nest. <</if>> <br><br> <<link [[Land (0:05)|Bird Hunt Sticks]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_leaves" _flight_hunt_chance.materials>> You see a patch of large leaves on the ground. <<if Time.season is "winter" or Time.season is "autumn">> They stick out against the dead foliage and look high quality. <</if>> They'd fit well in your nest. <br><br> <<link [[Land (0:05)|Bird Hunt Leaves]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_underbrush" (_flight_hunt_chance.materials - Math.floor($bird.hunts.distanceEast / 2))>> You spot a cluster of dying foliage. It should be easy to take materials from. <br><br> <<link [[Land (0:05)|Bird Hunt Underbrush]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_flowers" (_flight_hunt_chance.materials + Math.floor($bird.hunts.distanceEast / 2))>> You spot a patch of brightly coloured flowers. <br><br> <<link [[Land (0:05)|Bird Hunt Flowers]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<if $bird.upgrades.tarp is 0 and !$bird.hunts.loot.tarp>> <<addinlineevent "bird_hunt_tarp" _flight_hunt_chance.materials>> You notice a large blue tarp tied between two large rocks, providing shelter from the rain. No one seems to be around. You could take it for yourself. <br><br> <<link [[Take the tarp (0:05)|Bird Hunt Tarp]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <</if>> <<addinlineevent "bird_hunt_lurkers_1" _flight_hunt_chance.lurkers>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> The Great Hawk lets out a small screech to get your attention. You see some lurkers in the grass. They appear to be resting. <<if $monster is 1>> "Prey is unaware. Now is good time to strike." <<else>> <<bHe>> lets out another low screech, indicating <<bhis>> intent to attack. <</if>> <br><br> <<link [[Hunt them (0:05)|Bird Hunt Lurkers GH]]>><<bird_pass 5>><</link>> <br> <<else>> You spot some lurkers in the grass. They appear to be resting. <br><br> <<link [[Hunt them (0:05)|Bird Hunt Lurkers Alone]]>><<bird_pass 5>><</link>> <br> <</if>> <<link [[Ignore them|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_lurkers_2" _flight_hunt_chance.lurkers>> You notice a lone lurker on the move. <br><br> <<link [[Hunt it (0:05)|Bird Hunt Lurkers Few]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore it|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_shiny" _flight_hunt_chance.valuables>> A shiny glint catches your eye amidst the mire. <br><br> <<link [[Investigate (0:05)|Bird Hunt Shiny]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore it|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_shiny_pond" _flight_hunt_chance.valuables>> You notice a glimmer in the depths of a pond. There could be something of interest beneath the water's surface. <br><br> <<link [[Investigate (0:05)|Bird Hunt Pond Dive]]>><<bird_pass 5>><</link>> <br> <<link [[Ignore it|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_animals_1" _flight_hunt_chance.other>> <<rng 2>><<set _beastGen to ($rng is 1 ? "cat" : "fox")>><<if _beastGen is "cat">><<beastNEWinit 1 cat>><<else>><<beastNEWinit 1 fox>><</if>> You spot a lone <<beasttype>> below. <<rng 100>> <<if $rng gte 60>> <<set $phase to 1>> <<bHes>> holding something<<if $monster isnot 1>> in <<bhis>> mouth<</if>>. <</if>> <br><br> <<link [[Watch (0:05)|Bird Hunt Animal Watch]]>><<trauma -3>><<bird_pass 5>><</link>><<ltrauma>> <br> <<link [[Land (0:05)|Bird Hunt Animal Land]]>><<bird_pass 5>><</link>> <br> <<link [[Screech|Bird Hunt Animal Screech]]>><<stress -3>><</link>><<lstress>> <br> <<link [[Ignore it|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_animals_2" _flight_hunt_chance.other>> <<beastNEWinit 1 fox>><<beastPARTNERinit 1 fox 0>> You spot a pair of <<if ($monster isnot 1) or ($NPCList[0].pronoun is "m" and $NPCList[1].pronoun is "m") or ($NPCList[0].pronoun is "f" and $NPCList[1].pronoun is "f")>> <<beastsplural>> <<else>> fox people - one male, and one female - <</if>> below. They're tumbling over each other, but you can't tell if they're playing or fighting from up here. <br><br> <<link [[Land for a closer look (0:05)|Bird Hunt Foxes Land]]>><<bird_pass 5>><</link>> <br> <<link [[Screech|Bird Hunt Animal Screech]]>><<stress -3>><<set $phase to 4>><</link>><<lstress>> <br> <<link [[Ignore it|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_hunt_people_watch" (Math.floor($bird.hunts.distanceNorth / 2))>> You spot two people walking around the moor. <br><br> <<link [[Follow (0:10)|Bird Hunt People Watching]]>><<bird_pass 10>><</link>> <br> <<link [[Ignore|Bird Hunt Ignore]]>><<endevent>><</link>> <br> <</addinlineevent>> <<if $bird.hunts.duo is true and !$daily.birdPlaneChase>> <<addinlineevent "bird_hunt_plane" _flight_hunt_chance.other>> <<set $daily.birdPlaneChase to true>> <<npc "Great Hawk">> A shiny glint catches your eye. Except this time, it's above you. You can see a plane flying far above you. <<your_bird_text "cap">> sees it too. <<if $bird.hunts.goal is "hawk">> <<if $monster is 1>> "<<Wife>>! Look! A big shiny thing in the air! Come, we have to get it!" <<bhe>> screams in excitement. <<else>> <<bHe>> lets out a loud scream filled with excitement. <<bHe>> must really like the plane. <</if>> <br><br> Before you can say anything, <<bhe>> starts chasing after it. Not wanting to be left behind, you fly after <<bhim>>. <br><br> <<link [[Next|Bird Hunt Plane Chase]]>><</link>> <br> <<else>> <<if $monster is 1>> "<<Wife>>! Look! A big shiny thing in the air! Come, we have to get it!" <<bhe>> screams in excitement. <<else>> <<bHe>> lets out a loud scream of pure excitement. <<bHe>> must really like the plane. <<bHe>> starts squawking at you, trying to convince you to follow it. <</if>> <br><br> You know you have no chance of catching it, but it's clear your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> still wants to try. <br><br> <<link [[Chase the plane (0:20)|Bird Hunt Plane Chase]]>><<bird_pass 20>><<set $phase to 0>><<npcincr "Great Hawk" love 1>><</link>><<glove>> <br> <<link [[Ignore it|Bird Hunt Plane Chase]]>><<set $phase to 1>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br> <</if>> <</addinlineevent>> <</if>> <<if $bird.hunts.duo is true and (_distanceNorthSouth gte 4 or _distanceEastWest gte 4) and !Object.values($children).find(child => child.childId == "orphanHawk1") and Object.values($children).length lt 1000>> <<addinlineevent "bird_hunt_orphan" 2>> <!-- Shut up I'll convert this to a function later, I'm dealing with a lot of hardcoded stuff and this is the only way I could do this without polluting important objects --> <<set _hatchedTime to new DateTime(Time.date).addDays(random(-120, -60))>> <<set _laidTime to new DateTime(_hatchedTime).addDays(random(-30, -21))>> <<set _conceivedTime to new DateTime(_hatchedTime).addDays(random(-44, -30))>> <<set $children["orphanHawk1"] to { childId: "orphanHawk1", birthId: 0, mother: "unknown hawk", father: "unknown hawk", motherKnown: false, fatherKnown: false, type: "hawk", gender: random(0, 100) > 50 ? "f" : "m", features: { size: ["tiny", "small", "normal", "normal"][random(0, 3)], eyeColour: ["purple", "dark blue", "light blue", "amber", "hazel", "green", "lime green", "red", "pink", "grey", "light grey"][random(0, 10)], hairColour: ["white", "brown"][random(0,1)], skinColour: random(1, 100) lte $blackchance ? "dark" : "light", monster: ((V.monsterchance > random(0, 100) && (V.hallucinations >= 1 || V.monsterhallucinations === "f")) || V.greathawkmonster === 2) ? "monster" : 0 }, conceived: {day: _conceivedTime.day, month: _conceivedTime.monthName, year: _conceivedTime.year}, conceivedLocation: "unknown", laid: {day: _laidTime.day, month: _laidTime.monthName, year: _laidTime.year}, born: {day: _hatchedTime.day, month: _hatchedTime.monthName, year: _hatchedTime.year} }>> <<childSelect "orphanHawk1">> <<npc "Great Hawk">><<person1>> Your <<if $monster is 1>><<nnpc_wife "Great Hawk">> gasps<<else>>partner lets out a surprised chirp<</if>>, and directs your attention to the brush below. <br><br> <span class="gold">A baby <<if $cmonster is 1>>harpy<<else>>hawk<</if>> lies on the ground.</span> <span class="red">There's no sign of <<childhis>> parents.</span> <br><br> <<link "Land (0:05)" "Bird Hunt Chick Approach">><<bird_pass 5>><</link>> <br> <<link [[Keep flying|Bird Hunt Chick Ignore]]>><<npcincr "Great Hawk" love -5>><</link>><<lllove>> <</addinlineevent>> <</if>> <<if !$bird.trespasser and $bird.hunts.duo is true and $dateCount.GreatHawkHunts gte 20 and $bird.hunts.timer gte 45>> <<addinlineevent "bird_hunt_trespasser" 3>> <<beastNEWinit 1 hawk>><<npc "Great Hawk" 2>><<person2>> <<if $NPCList[1].monster is "monster">> <<set $monster to 1>> <<set $NPCList[0].monster to "monster">> <<set $NPCList[0].type to "harpy">> <<else>> <<set $monster to 0>> <<set $NPCList[0].monster to "">> <<set $NPCList[0].type to "hawk">> <</if>> <<your_bird_text "cap">> suddenly looks agitated. Some of <<bhis 1>> plumage stands on end. <br><br> <<if $monster is 1>> "Outsider. Can smell-" a horrible screech cuts <<bhim 1>> off. Something's hurtling towards the two of you. It's in the sky, with you! <<else>> <<bHe 1>> lets out a shriek, but not like the ones you've heard before. This one sounds like a warning, or perhaps a challenge. <<bHe>> gets an answer immediately, as you hear another screech nearby. It rapidly gets closer, and you spot something hurtling through the air towards you! <</if>> <br><br> It's big, and you feel its whole weight crash right into you. Your ears ring as it drags you out of the sky. <<ggpain>><<pain 8>> <br><br> <<link [[Next|Bird Hunt Trespasser]]>><</link>> <br> <</addinlineevent>> <</if>> <<if Weather.bloodMoon>> <<addinlineevent "bird_hunt_blood" 8>> You feel your stomach twist. The hairs on the back of your neck stand on end. <br><br> Everything goes blurry for a moment, and you feel as though you've been flipped upside-down. Your wings are no longer working to keep you in the sky, and are instead trying to push you away from it, as if you were being pulled upwards by gravity instead of downwards. <br><br> You try to look up, but can no longer tell which way it is. You desperately try to find the ground. <br><br> <span class="red">It's gone.</span> <br><br> You're swallowed by the sky. Everything fades to red. <br><br> <<link [[Next|Bird Hunt Blood]]>><<bird_pass 60>><</link>> <br> <</addinlineevent>> <</if>> <<runeventpool>> <</if>><<effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> You and the Great Hawk land and investigate your surroundings. <<else>> You land and investigate your surroundings. <</if>> <br><br> <<if $bird.upgrades.tools is 0 and !$bird.hunts.loot.tools and ($rng gte 90 or $dateCount.GreatHawkHunts gte 5)>> You notice a toolbox on the ground. You look inside it and find a handsaw, hammer and a chisel. These would be useful for improving the tower. <br><br> <<link [[Take the toolbox|Bird Hunt Camp 2]]>><<set $phase to 1>><</link>> <br> <<elseif $rng gte 20>> You notice some firewood was left behind. Most of it has been ruined by the damp atmosphere, but you notice two of the small logs are in good condition. <br><br> <<if $bird.hunts.duo is true>> <<link [[Take the wood|Bird Hunt Camp 2]]>><<set $phase to 2>><</link>> <br> <<else>> <<set _athlDiffMin to ($bird.hunts.weight * 100)>> <<set _athlDiffMax to (_athlDiffMin + 500)>> <<link [[Take one piece of wood|Bird Hunt Camp 2]]>><<set $phase to 2>><</link>> <br> <<link [[Try to take two|Bird Hunt Camp 2]]>><<set $phase to 3>><</link>><<athleticsdifficulty _athlDiffMin _athlDiffMax>> <br> <</if>> <<else>> You notice large pieces of fabric scattered around. Most of it has been torn. You should be able to make use of it anyway. <br><br> <<link [[Take random pieces|Bird Hunt Camp 2]]>><<set $phase to 4>><</link>> <br> <<link [[Look for higher quality pieces|Bird Hunt Camp 2]]>><<set $phase to 5>><</link>><<housekeepingdifficulty 1 300>><<ghousekeeping 300>> <br> <</if>> <<link [[Leave|Bird Hunt Exit]]>><<endevent>><</link>> <br><<effects>> <<switch $phase>> <<case 1>> <span class="gold">You grab the toolbox.</span> It's easy to carry, and light enough for you to fly with it. <<if $bird.hunts.duo is true>> <<if $monster is 1>> "What does <<wife>> want with metal box?" <<bhe>> asks. You explain that it has useful tools. "If <<wife>> says it's useful, we take it." <<else>> The <<beasttype>> looks at you inquisitively. You explain that the box has useful tools. <<bHe>> doesn't seem to actually understand. <</if>> <</if>> <br><br> <<set _prop to "toolbox">> <<flight_hunt_get "tools" 1>> <<flight_hunt_return>> <<case 2>> <<if $bird.hunts.duo is true>> You take a log and instruct the <<beasttype>> to do the same. <<if $monster is 1>> <<bHe>> takes one in <<bhis>> hand. "Good wood. Strong enough for nest." <<else>> <<bHe>> grabs the other log in <<bhis>> talons. <</if>> <br><br> <<set _prop to "wood">> <<flight_hunt_get "wood" 2>> <<flight_hunt_return>> <<else>> You take a log. It's heavy, but you should still be able to fly. <br><br> <<set _prop to "wood">> <<flight_hunt_get "wood" 1>> <<flight_hunt_return>> <</if>> <<case 3>> <<if $athleticsSuccess>> You grab a log in each hand. It's hard to fly with this much extra weight, <span class="green">but you manage it</span>. <br><br> <<set _prop to "wood">> <<flight_hunt_get "wood" 2>> <<flight_hunt_return>> <<else>> <<set _huntFail to 1>> You grab a log in each hand. You attempt to fly, <span class="red">but the weight of the logs quickly wear you down</span>. You're forced to let go, and accidentally drop both. You hear a loud crack as the logs land. You'll have to look for something else. <<stress 6>><<tiredness 2>><<gstress>><<gtiredness>> <br><br> <<flight_hunt_return>> <</if>> <<case 4>> <<wearProp "rag">> You take random pieces of cloth, hoping to be able to use them later. <br><br> <<flight_hunt_get "fabric" random(1, 2)>> <<flight_hunt_return>> <<case 5>> <<wearProp "rag">> <<if $housekeepingSuccess>> You're able to find more usable pieces of cloth, a few sturdy ones catching your eye. You take them with you. <<flight_hunt_get "fabric" 3>> <<else>> Despite your best efforts, you're unable to find much intact cloth. You take the little that you did find. <<flight_hunt_get "fabric" 1>> <</if>> <<housekeeping 1 300>><<ghousekeeping 300>> <br><br> <<flight_hunt_return>> <</switch>><<effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> You and your <<beasttype>> land near the tree. You notice that one of the largest branches looks to be on the verge of breaking. It's pretty deep in the bramble that now forms the tree's top, meaning you can't just fly up to grab it. <<if $monster is 1>> "I can help," <<bhe>> says. <<else>> <<your_bird_text "cap">> sees you eyeing the branch and caws. <</if>> <br><br> You could try to climb up and break it off. Alternatively, if you shook the tree for long enough the branch might just fall on its own. <br><br> <<link [[Climb the tree|Bird Hunt Dead Tree 2]]>><<set $phase to 1>><</link>><<athleticsdifficulty 400 700>> <br> <<link [[Shake the tree|Bird Hunt Dead Tree 2]]>><</link>> <br> <<else>> You land near the tree. You notice one of the largest branches looks to be on the verge of breaking. It's pretty deep in the bramble that now forms the tree's top, meaning you can't just fly up to grab it. <br><br> You could try to climb up and break it off. Alternatively, if you shook the tree for long enough the branch might just fall on its own. <br><br> <<link [[Climb the tree|Bird Hunt Dead Tree 2]]>><<set $phase to 1>><</link>><<athleticsdifficulty 500 850>> <br> <<link [[Shake the tree|Bird Hunt Dead Tree 2]]>><</link>> <br> <</if>><<effects>> <<if $phase is 1>> <<if $bird.hunts.duo is true>> You tell your <<beasttype>> that you'll climb up and break off the branch. <<bHe>> nods and starts to circle around the tree. You begin your climb slowly, making sure you don't step too hard on any of the smaller branches. <br><br> <<if $athleticsSuccess>> You carefully ascend the tree, <span class="green">until you reach the weak branch</span>. You get in a good position to stomp on it. <<your_bird_text "cap">> hops up after you, <<bhis>> talons easily biting into the dead bark. <<bHe>> lands on the branch and puts <<bhis>> weight on it to help you. It only takes you a few good kicks to detach the branch from the tree. It breaks off with a satisfying crack, and lands on the ground. <br><br> You nearly fall out of the tree, but the <<beasttype>> grabs onto you, steadying you. You carefully climb back down to inspect your work. The branch itself will be useful, as well as some of the smaller branches on it. <<if $monster is 1>> "Good job <<wife>>," <<bhe>> says. <<else>> The <<beasttype>> screeches happily. <</if>> <<flight_hunt_get "wood" 1>> <<flight_hunt_get "sticks" 2>> <br><br> <<set _prop to "wood">> <<endevent>> <<flight_hunt_return>> <<else>> <<set _prop to "stick">> You try to climb carefully, but still manage to <span class="red">accidentally put too much weight on a small branch</span>. It cracks beneath your foot, sending you off balance, and you fall. You try to grab onto anything you can to slow the fall, breaking other branches as you go. <<pain 10>><<ggpain>> <br><br> You brace for impact with the ground, but it's much softer than you expect. You look down, and see that <<your_bird_text>> has caught you. <<if $monster is 1>> "That looked painful, are you alright <<wife>>?" <<bhe>> asks, <<bhis>> concern clear. <<else>> <<bHe>> gently caresses your face with <<bhis>> beak, worried you may be hurt. <</if>> You assure <<bhim>> you're fine as you dust yourself off and stand up. <<npcincr "Great Hawk" dom 1>><<gdom>> <br><br> The tree you were climbing is now bare of anything you could use to climb up again, not that you have the strength to do so anyway. At least one of the branches you broke off could be of use to you. <<flight_hunt_get "sticks" 1>> <br><br> <<endevent>> <<flight_hunt_return>> <</if>> <<else>> You take a deep breath and begin slowly climbing the tree. <br><br> <<if $athleticsSuccess>> You carefully ascend, <span class="green">until you reach the weak branch</span>. You get in a good position to stomp on it. It takes you a few kicks, but eventually the branch snaps off and falls. It lands with a satisfying thud. <br><br> You carefully climb back down and look it over. The branch itself will be useful, as well as some of the smaller branches on it. <<flight_hunt_get "wood" 1>> <<flight_hunt_get "sticks" 2>> <<set _prop to "wood">> <<endevent>> <<flight_hunt_return>> <<else>> You try to climb carefully, but still manage to <span class="red">accidentally put too much weight on a small branch</span>. It cracks beneath your foot, sending you off balance, and you fall. You try to grab onto anything you can to slow the fall, breaking other branches as you go. <<pain 10>><<ggpain>> <br><br> You crash into the ground, and the wind is knocked out of you. You spend a few moments retching for air. <<pain 5>><<gpain>> <br><br> The tree you were climbing is now bare of anything you could use to climb up again, not that you have the strength to do so anyway. At least one of the branches you broke off could be of use to you. <<flight_hunt_get "sticks" 1>> <br><br> <<set _prop to "stick">> <<endevent>> <<flight_hunt_return>> <</if>> <</if>> <<else>> <<if $bird.hunts.duo is true>> You ask your <<beasttype>> to help shake the tree with you. <<if $monster is 1>> "<<Wife>> thinks that will help? Well, I can do it," <<bhe>> says. <<else>> <<bHe>> looks puzzled at your request, but is willing to oblige. <</if>> <<bHe>> flies up and grips the trunk with <<bhis>> talons. You then begin to shake the bottom while <<bhe>> shakes further up. <<if $rng gte 30>> <<set _prop to "wood">> It takes you many minutes, but eventually the branch snaps off loudly. The <<beasttype>> lets it fall down for you to inspect. The branch itself will be useful, as well as some of the smaller branches on it. <<flight_hunt_get "wood" 1>> <<flight_hunt_get "sticks" 2>> <br><br> <<if $monster is 1>> "Did not know what <<wife>> was planning, but it did work," <<bhe>> says. <<else>> The <<beasttype>> squawks meekly. <</if>> Your method appears to have been better than <<bhe>> thought. <<npcincr "Great Hawk" dom -1>><<ldom>> <br><br> <<endevent>> <<flight_hunt_return>> <<else>> You shake and shake, but after minutes go by it's clear that the branch is not going to fall by itself. <<your_bird_text "cap">> looks unsurprised. <br><br> You put a lot of effort into shaking the tree, and now feel too tired to try climbing it. You decide it would be best to leave. <br><br> <<endevent>> <<flight_hunt_return>> <</if>> <<else>> You get a firm grip on the tree and start shaking. It's quite tiring. <br><br> <<if $rng gte 70>> <<set _prop to "wood">> After a few minutes, your dedication pays off. You hear a small snap from the branch, then creaking as it starts to detach from the tree. You dodge the falling debris, then go over to inspect it. The branch itself will be useful, as well as some of the smaller branches on it. <<flight_hunt_get "wood" 1>> <<flight_hunt_get "sticks" 2>> <br><br> <<endevent>> <<flight_hunt_return>> <<else>> No matter how hard you shake, the branch does not budge. You keep shaking until you feel too weak to continue. Now you feel too tired to try climbing it. You decide it would be best to leave. <br><br> <<endevent>> <<flight_hunt_return>> <</if>> <</if>> <</if>><<effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> You and your <<beasttype>> land near the branches. Only two of them look suitable for use. The two of you should be able to carry them without any trouble. <br><br> <<link [[Take them|Bird Hunt Sticks 2]]>><<set $phase to 1>><</link>> <br> <<else>> You land near the branches and walk over to them. <<if $rng gte 71>> You hear the grass rustle behind you. You turn around in time to see something leaping at you! <br><br> <<link [[Dodge|Bird Hunt Lurker Dodge]]>><</link>><<dancedifficulty 1 1200>> <br> <<if $bestialitydisable is "f" and $lurkerdisable is "f">> <<if hasSexStat("deviancy", 4)>> <<link [[Stand still|Bird Hunt Lurker Stand Still]]>><</link>><<deviant4>> <br> <</if>> <<if $farm_stage gte 10>> <<link [[Hurl net|Bird Hunt Lurker Hurl Net]]>><</link>><<wearProp "net">><<dancedifficulty 1 1200>><<athleticsdifficulty 0 1200>> <br> <</if>> <</if>> <<else>> <<set _athlDiffMin to ($bird.hunts.weight * 50)>> <<set _athlDiffMax to (_athlDiffMin + 300)>> Only two of them look suitable for use. <br><br> <<link [[Take one branch|Bird Hunt Sticks 2]]>><<set $phase to 2>><</link>> <br> <<link [[Try to take two|Bird Hunt Sticks 2]]>><<set $phase to 3>><</link>><<athleticsdifficulty _athlDiffMin _athlDiffMax>> <br> <</if>> <</if>><<effects>> <<switch $phase>> <<case 1>> <<set _prop to "stick">> You take a branch and instruct the <<beasttype>> to take the other one. <<if $monster is 1>> <<bHe>> looks it over. "<<Wife>> found good sticks for nest," <<bhe>> states, grabbing the other one. <<else>> <<bHe>> pokes the branch with <<bhis>> beak. Seeming satisfied with its quality, <<bhe>> grabs it. <</if>> <br><br> <<flight_hunt_get "sticks" 2>> <<flight_hunt_return>> <<case 2>> <<set _prop to "stick">> You grab a branch. Its uneven shape makes it more difficult to carry, but you manage without issue. <br><br> <<flight_hunt_get "sticks" 1>> <<flight_hunt_return>> <<case 3>> <<set _prop to "stick">> You take both branches. Their uneven shape makes them hard to carry. <<if $athleticsSuccess>> <span class="green">You're able to keep them fairly still as you take off.</span> <br><br> <<flight_hunt_get "sticks" 2>> <<flight_hunt_return>> <<else>> <<set _huntFail to 1>> Flying proves even more difficult. Soon after you take off, the movement makes <span class="red">one of the branches hit you near the eye.</span><<pain 3>><<stress 6>><<gpain>><<gstress>> <br><br> The unexpected hit makes you drop the branches, sending them back to the ground. You hear a loud snap. You won't be able to use them. <br><br> <<flight_hunt_return>> <</if>> <</switch>><<effects>> <<if $danceSuccess>> You quickly duck down, <span class="green">and the lurker flies over you.</span> It lands and darts back into the heather. <br><br> <<set _athlDiffMin to ($bird.hunts.weight * 50)>> <<set _athlDiffMax to (_athlDiffMin + 300)>> You return your attention to the branches. Only two of them look suitable for use. <br><br> <<link [[Take one branch|Bird Hunt Sticks 2]]>><<set $phase to 2>><</link>> <br> <<link [[Try to take two|Bird Hunt Sticks 2]]>><<set $phase to 3>><</link>><<athleticsdifficulty _athlDiffMin _athlDiffMax>> <br> <<else>> <<if $bestialitydisable is "f" and $lurkerdisable is "f">> You try to jump aside, <span class="red">but you fail to move in time, and the lurker lands on your face.</span> <br><br> <<link [[Next|Bird Hunt Struggle]]>><<set $struggle_start to 1>><</link>> <br> <<else>> You jump to the side, just barely tumbling out of the way. You flee from the lurker, but don't escape unscathed. <<beastescape>> <br><br> You abandon your current hunt in fear of the creature. <br><br> <<set _huntFail to 1>> <<flight_hunt_return>> <</if>> <</if>><<effects>> <<if $danceSuccess and $athleticsSuccess>> <span class="green">The net lands true.</span> You pull the lurker into your possession. <br><br> <<flight_hunt_get "lurkers" 1>> <<set _athlDiffMin to ($bird.hunts.weight * 50)>> <<set _athlDiffMax to (_athlDiffMin + 300)>> You return your attention to the branches. Only two of them look suitable for use. <br><br> <<link [[Take one branch|Bird Hunt Sticks 2]]>><<handheldon>><<set $phase to 2>><</link>> <br> <<link [[Try to take two|Bird Hunt Sticks 2]]>><<handheldon>><<set $phase to 3>><</link>><<athleticsdifficulty _athlDiffMin _athlDiffMax>> <br> <<else>> You try to hurl the net, <span class="red">but it's on you too fast,</span> latching onto your face. You can't see. You try to pull the creature off, but you struggle to get a grip on its slimy skin. You keep your lips sealed as something presses against your mouth.<<gnet>> <<prof net 1>> <br><br> <<link [[Next|Bird Hunt Struggle]]>><<handheldon>><<set $struggle_start to 1>><</link>> <br> <</if>><<effects>> You stand still, and allow the lurker to latch onto your face. <<deviancy4>> <<link [[Next|Bird Hunt Struggle]]>><<set $struggle_start to 2>><</link>> <br><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "lurker">> <<struggle_creatures 1 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<set $struggle.mouth.creature to "lurker">> <<set $mouthuse to "struggle">><<set $mouthstate to "struggle">><<set $struggle.enemy[0].location to "mouth">> <<unset $struggle_start>> <<elseif $struggle_start is 2>> <<struggle_init>> <<set $struggle.creature to "lurker">> <<struggle_creatures 1 1>> <<set $combat to 1>> <<neutral 1>> <<consensual>> <<set $consensual to 1>> <<set $struggle.mouth.creature to "lurker">> <<set $mouthuse to "struggle">><<set $mouthstate to "struggle">><<set $struggle.enemy[0].location to "mouth">> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Bird Hunt Struggle Finish]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Bird Hunt Struggle]]>><</link>></span> <br> <</if>><<effects>> The lurker darts back into the heather. <br><br> <<clotheson>> <<endcombat>> <<set _athlDiffMin to ($bird.hunts.weight * 50)>> <<set _athlDiffMax to (_athlDiffMin + 300)>> You return your attention to the branches. Only two of them look suitable for use. <br><br> <<link [[Take one branch|Bird Hunt Sticks 2]]>><<set $phase to 2>><</link>> <br> <<link [[Try to take two|Bird Hunt Sticks 2]]>><<set $phase to 3>><</link>><<athleticsdifficulty _athlDiffMin _athlDiffMax>> <br><<effects>> You land near the leaves. <<if $rng gte 90>> <<if $quicksand gte 5>> You notice a pattern. They didn't just fall here. They were placed by someone. Looking closer, you notice that the ground looks unstable. Quicksand. <br><br> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> <<if $monster is 1>> "Good eyes, <<wife>>." <<else>> Your <<beasttype>> squawks in approval at your alertness. <</if>> <</if>> You carefully walk around the pit, picking some of the nicer leaves from the surface. Most of them are in good condition. <br><br> <<set _prop to "leaf">> <<flight_hunt_get "leaves" 2>> <<flight_hunt_return>> <<else>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> Your <<beasttype>> suddenly stops. <<if $monster is 1>> "Wait. Ground is bad here." <<bHe>> pokes the ground with <<bhis>> foot, revealing its unstable nature. Quicksand. <<bHe>> carefully prods at the ground, until <<bhe>> finds a safe spot to walk over. "Land itself tries to eat you." <<else>> <<bHe>> taps the ground with <<bhis>> talons, then squawks. <<bHes>> warning you about the ground. It's quicksand. <<bHe>> carefully prods at the ground, until <<bhe>> finds a safe spot to hop over. <</if>> <br><br> You carefully cross the pit, picking some of the nicer leaves from the surface. Most of them are in good condition. <br><br> <<set _prop to "leaf">> <<flight_hunt_get "leaves" 2>> <<flight_hunt_return>> <<else>> As you step closer, you begin to sink. You're in quicksand! Those leaves were likely left here to mark this patch of quicksand, or maybe conceal it. <br><br> <<set $quicksand_escape to "bird_hunt">> <<set $quicksand_depth to 4>> <<quicksand_actions>> <</if>> <</if>> <<elseif $rng gte 20>> Now that you're closer, you see that many of them are torn or eaten through. There's still some good ones left. <br><br> You take what you can and leave. <br><br> <<set _prop to "leaf">> <<flight_hunt_get "leaves" 1>> <<flight_hunt_return>> <<else>> Now that you're closer, you see that most of the leaves are in good condition. You take them. <br><br> <<set _prop to "leaf">> <<flight_hunt_get "leaves" 2>> <<flight_hunt_return>> <</if>><<effects>> Having escaped the sand, you carefully pick leaves from the surface. Most of them are in good condition. You should be able to get a lot of usable ones. <br><br> <<set _prop to "leaf">> <<flight_hunt_get "leaves" 3>> <<flight_hunt_return>><<set $outside to 1>><<effects>> The <<person2>><<person>> helps you to your feet, and <<if $exposed gte 1>> blushes when <<he>> sees your state of dress. <<covered>> <<He>> offers you some towels. <<towelup>> <<else>> offers you a towel to wipe off the sand. <</if>> <br><br> "You shouldn't wander the moor alone," <<he>> says. "Not this deep<<if Time.dayState is "night">>, and especially not at night<</if>>." <br><br> <<person1>>"We can help you back to civilisation," the <<person>> adds. "If you like." <br><br> You tell them that you appreciate the offer, but are choosing to stay. You wave them off and wait until they're gone. <br><br> Having escaped the sand, you look to pick leaves from the surface, but they've all been ruined. <br><br> <<set _huntFail to 1>> <<flight_hunt_return>><<effects>> You land near the dying plants. They look fragile. You'll have to choose which parts are most important to take. <br><br> <<link [[Take wood|Bird Hunt Underbrush 2]]>><<set $phase to 0>><</link>> <br> <<link [[Take sticks|Bird Hunt Underbrush 2]]>><<set $phase to 1>><</link>> <br> <<link [[Take leaves|Bird Hunt Underbrush 2]]>><<set $phase to 2>><</link>> <br><<effects>> <<switch $phase>> <<case 0>>You focus on larger pieces of wood on small dead trees. <<set _prop to "wood">><<flight_hunt_get "wood" 1>> <<case 1>>You snap off branches from the dead bushes and small trees. <<set _prop to "stick">><<flight_hunt_get "sticks" 2>> <<case 2>>You pluck away the few living leaves.<<set _prop to "leaf">><<flight_hunt_get "leaves" 2>> <</switch>> <br><br> <<set $danger to random(1, 10000)>> <<if $danger gte (9000 - $allure)>> <<endevent>> <<wearProp _prop>> <<if $rng gte 50>><<beastNEWinit 1 fox>><<else>><<beastNEWinit 1 cat>><</if>> You hear a low growl from inside the tangle. Two glowing eyes stare at you. <<if $bird.hunts.duo is true>> They flick between you and your spouse, before slowly backing away. <<stress 12>><<ggstress>> <br><br> <<flight_hunt_return>> <<else>> A <<beasttype>> pounces! <<if $bestialitydisable is "f">> <br><br> <<link [[Next|Bird Hunt Underbrush Rape]]>><<handheldon>><<set $molestationstart to 1>><</link>> <br> <<else>> You take flight to escape. <<beastescape>> <br><br> <<flight_hunt_return>> <</if>> <</if>> <<else>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> <<your_bird_text "cap">> looks at what you've taken. <<if $monster is 1>> "Good nest material." <<else>> <<bHe>> seems to approve. <</if>> <br><br> <</if>> <<flight_hunt_return>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<if $NPCList[0].type.includes("fox")>> <<alarmstate '<span class="red"><<bHe>> screams right back in your face, drowning out your own screams.</span>'>> <</if>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Underbrush Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Underbrush Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<bHe>> huffs in triumph, before slinking away into the underbrush. <br><br> <<tearful>> you rise to your feet. <<elseif $enemyhealth lte 0>> <<bHe>> rolls away from you, and flees into the underbrush. <br><br> <<tearful>> you gather yourself. <<else>> The <<beasttype>> turns away from you and slinks into the moor. <</if>> <<clotheson>> <<endcombat>> <<flight_hunt_return>><<effects>> You land amidst the flowers. <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> Your spouse lands behind you. <</if>> <br><br> <<if $rng gte 80>> <<if $plants_known.includes("strange_flower")>> <span class="purple">You recognise them.</span> Strange flowers. <<else>> You don't recognise the flowers, but they smell sweet. <</if>> You suddenly feel very dizzy. <<if $bird.hunts.duo is true>> <<run delete $bird.satisfied>> <<if $monster is 1>> <<your_bird_text "cap">> sways a bit. "<<Wife>>... this place feels wrong." <<else>> <<your_bird_text "cap">> is clearly feeling the effects too. <</if>> <</if>> <<drugs 50>><<gdrugged>> <br><br> <<link [[Relax in the flowers for a while (0:15)|Bird Hunt Flowers Relax]]>><<set $phase to 4>><<bird_pass 15>><<stress -6>><<tiredness -2>><<arousal 4000>><<drugs 100>><</link>><<lstress>><<ltiredness>><<ggarousal>><<gggdrugged>> <br> <<if $plants_known.includes("strange_flower")>> <<link [[Take some (0:05)|Bird Hunt Flowers Take]]>><<bird_pass 5>><<drugs 50>><</link>><<gdrugged>><<tendingdifficulty 600 900>> <br> <</if>> <<link [[Leave|Bird Hunt Flowers Leave]]>><<set $phase to 2>><</link>> <br> <<else>> There's nothing particularly useful here, but it's certainly pretty. <br><br> <<link [[Relax in the flowers for a while (0:15)|Bird Hunt Flowers Relax]]>><<set $phase to 1>><<bird_pass 15>><<stress -6>><<tiredness -2>><</link>><<lstress>><<ltiredness>> <br> <<if $bird.hunts.duo is true and !$daily.birdFlowerCrown>> <<link [[Make a crown of flowers for your spouse (0:25)|Bird Hunt Flowers Relax]]>><<set $phase to 2>><<bird_pass 25>><</link>><<tendingdifficulty 1 300>> <br> <</if>> <<if $worn.head.name isnot "flower crown">> <<link [[Make yourself a crown of flowers (0:25)|Bird Hunt Flowers Relax]]>><<set $phase to 3>><<bird_pass 25>><</link>><<tendingdifficulty 1 200>> <br> <</if>> <<link [[Leave|Bird Hunt Flowers Leave]]>><</link>> <br> <</if>><<effects>> <<switch $phase>> <<case 1>> You lay back in the flowers. <<if $bird.hunts.duo>> <<your_bird_text "cap">> looks down at you curiously, before <<if $monster is 1>> laying on <<bhis>> back next to you. <<else>> sitting down next to you. <</if>> You enjoy relaxing with <<bhim>> for a while. <<npcincr "Great Hawk" love 1>><<glove>> <<else>> It's nice to let go for a while. <</if>> <br><br> You decide not to linger too long. <br><br> <<flight_hunt_return>> <<case 2>> You start picking the prettiest flowers you can find, winding them together into a headpiece. You hold it up to <<your_bird_text>>, trying to measure out the exact size. <<if $monster is 1>> <<bHe>> eyes you curiously. <<else>> As you do, <<bhe>> grabs the unfinished crown in <<bhis>> beak. You gently flick <<bhim>> on the forehead to take it back. <</if>> <br><br> You finish the crown and motion for <<bhim>> to lower <<bhis>> head. <<if $tendingSuccess>> <<set $daily.birdFlowerCrown to true>> <span class="green">It fits, and stays together.</span> <<if $monster is 1>> <<bHe>> touches it with <<bhis>> hands. "I don't understand what this is. But <<wife>> made it, so I like it." <<else>> <<bHe>> shakes <<bhis>> head a few times, but quickly gets used to it. <<bHe>> headbutts you gently. <<bHe>> seems to like it. <</if>> <<trauma -8>><<lltrauma>> <<else>> It fits, but <span class="red">quickly falls apart.</span> <<if $monster is 1>> <<bHe>> picks up the fallen petals. "I don't understand what <<wife>> was doing. But it was pretty. Come back and try again some time?" <<else>> <<bHe>> tilts <<bhis>> head at you. <</if>> <</if>> <<tending 1>><<npcincr "Great Hawk" love 1>><<glove>><<gtending>> <br><br> You decide not to linger much longer. <br><br> <<flight_hunt_return>> <<case 3>> You start picking the prettiest flowers you can find, winding them together into a headpiece. After a few minutes, you try on your crown. <br><br> <<if $tendingSuccess>> <<if isConnectedToHood("head")>> <<toggleHood>> <</if>> <<headwear 14>> <<set $daily.birdFlowerCrown to true>> <span class="green">It stays together.</span> <<if $bird.hunts.duo is true>> <<if $monster is 1>> <<your_bird_text "cap">> touches it with <<bhis>> hands. "New plumage. It's pretty." <<else>> <<your_bird_text "cap">> tries to grab it from your head with <<bhis>> beak. <<bHe>> seems to like it. <</if>> <</if>> <<trauma -8>><<lltrauma>> <<else>> It <span class="red">quickly falls apart.</span> <<if $bird.hunts.duo is true>> <<if $monster is 1>> <<your_bird_text "cap">> picks up the fallen petals for you. "I don't understand what <<wife>> was doing. But it was pretty." <<else>> <<your_bird_text "cap">> tilts <<bhis>> head at you. <</if>> <</if>> <</if>> <<tending 1>><<gtending>> <br><br> You decide not to linger much longer. <br><br> <<flight_hunt_return>> <<case 4>> You lay back in the strange flowers. Your head spins. <<if $bird.hunts.duo is true>> <<your_bird_text "cap">> snuggles up next to you, gripping onto you tightly. <br><br> After some time, you move to get up, but <<bhe>> doesn't let go. <<bHis>> eyes are empty. <<if $monster is 1>> "<<Wife>>... I need you..." <<else>> <<bHe>> lets out a shaky chirp. <</if>> <br><br> <span class="red"><<bHe>> pushes you to the ground.</span> <br><br> <<link [[Next|Bird Hunt Flowers Sex]]>><<set $molestationstart to 1>><</link>> <br> <<else>> Eventually, you start to feel nauseous. You pull yourself from the flower patch and take some time to recover before leaving. <br><br> <<link [[Get your bearings and leave (0:10)|Bird Hunt Flowers Leave]]>><<bird_pass 10>><</link>> <br> <</if>> <</switch>><<effects>> <<if $tendingSuccess>> <<wearProp "strange flower">> You're careful not to disturb the flowers too much, and cover your nose and mouth to minimise your exposure. <<tending_pick strange_flower 5 15>> <br><br> <<link [[Leave|Bird Hunt Flowers Leave]]>><<handheldon>><<set $phase to 2>><</link>> <br> <<else>> You attempt to pick some of the flowers, but your head is spinning too much. Each flower you disturb makes the overpowering sweet smell stronger, which makes you more and more clumsy.<<drugs 50>><<gdrugged>> <br><br> <<if $bird.hunts.duo is true>> You pull yourself from the flower patch. You look back, and see <<your_bird_text>> standing in the middle still. <<bHe>> turns to you, <span class="red"><<bhis>> eyes vacant.</span> <br><br> <<if $monster is 1>> "<<Wife>>... I need you..." <<else>> <<bHe>> lets out a shaky chirp. <</if>> In an instant, <<bhe>> beats <<bhis>> wings, and comes hurtling towards you. <<bHe>> collides with you, pushing you both to the ground. <br><br> <<link [[Next|Bird Hunt Flowers Sex]]>><<set $molestationstart to 1>><</link>> <br> <<else>> You pull yourself away from the flower patch before it's too late, and take some time to recover. It would be too dangerous to fly without getting your bearings first. <br><br> <<link [[Get your bearings and leave (0:10)|Bird Hunt Flowers Leave]]>><<bird_pass 10>><</link>> <br> <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">> <<set $enemyhealthmax to 600>> <<set $enemyhealth to 600>> <<if $monster isnot 1>> <<set $position to "doggy">> <<set $NPCList[0].stance to "top">> <</if>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Flowers Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Flowers Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <br><br> Colour returns to <<bhis>> eyes. <<if $monster is 1>> Terrible realisation fills <<bhis>> face. "<<Wife>>? Did I do this? I... I'm so sorry." <<else>> <<bHe>> starts to make various distressed noises, seemingly realising what <<bhes>> done. <</if>> <<bHe>> nuzzles into you and wraps you up with <<bhis>> wings. <br><br> <<tearful>> you return <<bhis>> feathery embrace, and pull yourself from the flower patch. You both take some time to get your bearings before leaving. <br><br> <<clotheson>> <<endcombat>> <<npc "Great Hawk">><<person1>> <<link [[Get your bearings and leave (0:10)|Bird Hunt Flowers Leave]]>><<bird_pass 10>><</link>> <br> <<else>> You yank <<bhim>> away from the flower patch and knock <<bhim>> to the ground. Your legs refuse to support you any longer and you collapse on top of <<bhim>>. <br><br> You flick <<bhim>> on the forehead. "Naughty bird." Colour slowly returns to <<bhis>> eyes. <<if $monster is 1>> Terrible realisation fills <<bhis>> face. "<<Wife>>? Did I do this? I... I'm so sorry." <<else>> <<bHe>> starts to make various distressed noises, seemingly realising what <<bhes>> done. <</if>> <<bHe>> nuzzles into you and wraps you up with <<bhis>> wings. <br><br> <<tearful>> you return <<bhis>> feathery embrace. You both take some time to get your bearings before leaving. <br><br> <<clotheson>> <<endcombat>> <<npc "Great Hawk">><<person1>> <<link [[Get your bearings and leave (0:10)|Bird Hunt Flowers Leave]]>><<set $phase to 2>><<bird_pass 10>><</link>> <br> <</if>><<effects>> <<if $phase is 2 and $bird.hunts.duo is true>> <<set $bird.hunts.returnAccept to true>> <<your_bird_text "cap">> seems flustered. <<if $monster is 1>> "Return home soon, <<wife>>?" <<else>> <<bHe>> keeps looking back in the direction of the tower. <</if>> <br><br> <</if>> <<flight_hunt_return>><<effects>> You land near the rocks and unfurl the tarp. A large portion of it is wedged between the rocks, but a few hefty tugs free it. You untie the remaining parts. <br><br> It's large and unwieldy. <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> The two of you should be able to get it back together. <<if $monster is 1>> The <<beasttype>> looks at the tarp. "Big... sky-coloured thing? If it makes <<wife>> happy, we take it." <<else>> The <<beasttype>> looks at the tarp. <<bHe>> squawks in affirmation. <</if>> <</if>> <br><br> <<set _prop to "tarp">> <<flight_hunt_get "tarp" 1>> <<flight_hunt_return>><<effects>> You start to dive. There's one isolated from the others, and two more that are closer together. <br><br> <<link [[Hunt the isolated one|Bird Hunt Lurkers Alone Single]]>><</link>><<dancedifficulty 1 600>> <br> <<link [[Hunt the pair|Bird Hunt Lurkers Alone Double]]>><</link>><<dancedifficulty 300 1200>> <br><<effects>> You prepare to grab the isolated lurker. You wait for the right moment before quickening your dive. <br><br> <<dancedifficulty 1 600 true>> <<if $danceSuccess>> With grace, <span class="green">you smoothly grab it</span> and ascend back to the skies. The lurker is too stunned to even struggle. <<flight_hunt_get "lurkers" 1>> <<else>> You reach for the lurker, <span class="red">but fail to coordinate your hands against the wind resistance</span>. It slips through your fingers. You ascend before the others can attack. <<set _huntFail to 1>> <</if>> <br><br> <<flight_hunt_return>><<effects>> You arrest your dive and use the momentum to circle the group, looking for the perfect angle to grab two at once. You see an opening, and dive again. <br><br> <<dancedifficulty 300 1200 true>> <<if $danceSuccess>> With impressive dexterity, <span class="green">you manage to snatch both of them</span>. They wriggle around in your arms, but soon fall limp. <br><br> <<flight_hunt_get "lurkers" 2>> <<flight_hunt_return>> <<else>> With only one hand for each lurker, staying stable is difficult. You grab the first one, but its struggling prevents you from flying true. Your arm collides with the ground as you reach for the second, throwing off your balance and <span class="red">sending you tumbling</span>. <<pain 3>><<gpain>> <br><br> <<if $bestialitydisable is "f" and $lurkerdisable is "f">> The first lurker squirms in your grasp as the second pounces at you! <br><br> <<link [[Next|Bird Hunt Lurkers Alone Struggle]]>><<set $struggle_start to 1>><</link>> <br> <<else>> You drop your catch and flee from the lurkers, but don't escape unscathed. <<beastescape>> <br><br> You abandon your current hunt in fear of the creatures. <br><br> <<set _huntFail to 1>> <<flight_hunt_return>> <</if>> <</if>><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "lurker">> <<struggle_creatures 2 1>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<set $struggle.mouth.creature to "lurker">> <<set $mouthuse to "struggle">><<set $mouthstate to "struggle">> <<set $rightarm to "struggle">><<set $rightarmstate to "mouthstruggle">> <<set $struggle.enemy[0].location to "mouth">><<set $struggle.mouth.grip to 4>> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Bird Hunt Lurkers Alone Struggle Finish]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Bird Hunt Lurkers Alone Struggle]]>><</link>></span> <br> <</if>><<effects>> The Lurkers dart back into the heather. <br><br> <<clotheson>> <<endcombat>> <<tearful>> you take flight again. <<set _huntFail to 1>> <br><br> <<flight_hunt_return>><<effects>> You start to circle the lurkers with the Great Hawk. <<bHe>> locks eyes with you, <<if C.npc["Great Hawk"].dom gte 50>> before staring down at one of the lurkers. <<bHes>> declared <<bhis>> target. <<else>> waiting for you to pick a target. <</if>> There's one on its own, and a group of several close together. <br><br> <<link [[Hunt the isolated one|Bird Hunt Lurkers GH Single]]>><</link>><<dancedifficulty 1 400>> <br> <<link [[Hunt the pair|Bird Hunt Lurkers GH Double]]>><</link>><<dancedifficulty 300 1000>> <br> <<link [[Hunt the whole group|Bird Hunt Lurkers GH Group]]>><</link>><<dancedifficulty 600 1200>><<tendingdifficulty 1 700>> <br><<effects>> You stare down at the loner, and back at your spouse. You each have a target. <<bHe>> dives, and you follow. <<bHe>> grabs one with <<bhis>> talons. <br><br> <<dancedifficulty 1 400 true>> <<if $danceSuccess>> The other lurkers jump to flee, <span class="green">but you're able to catch one</span>. With your prizes, you soar up to the skies. <<bHe>> looks at your catch. <br><br> <<if $monster is 1>> "<<Wife>> did well." <<else>> <<bHe>> looks happy that you were able to get one as well. <</if>> <<flight_hunt_get "lurkers" 2>> <<else>> The other lurkers jump to flee, and your target <span class="red">dodges your dive</span>, leaving you grabbing the air. You try for a different one, but they've all fled by now. You return to the Great Hawk empty handed. <br><br> <<if $monster is 1>> "Slippery prey. Do not feel bad," <<bhe>> says. <<bHis>> words are comforting. <<else>> <<bHe>> lets out a small squawk, comforting you. At least <<bhes>> not disappointed. <</if>> <<set _huntFail to 1>> <<flight_hunt_get "lurkers" 1>> <</if>> <br><br> <<flight_hunt_return>><<effects>> Wanting to prove your skill, you stare down at the lurker pair. You tilt yourself sideways, indicating that you want to attack first. Your <<beasttype>> looks hesitant about the idea, but does nothing to object. <br><br> You continue to circle from up high, waiting for the perfect moment. You see it, and your instincts kick in. You dive. <br><br> <<dancedifficulty 300 1000 true>> <<if $danceSuccess>> You're fast. <span class="green">Fast enough to grab them before they can recover.</span> The other ones jump up to escape, but they're too slow. The Great Hawk catches one out of the air. You ascend to the clouds. Your spouse flies up to you. <<if $monster is 1>> "<<Wife>> is a great hunter. Knew you would be a good mate." You can hear how proud of you <<bhe>> is. <<else>> <<bHe>> nuzzles <<bhis>> wings against you as best as <<bhe>> can. <<bHe>> looks very proud of your skills. <</if>> <<npcincr "Great Hawk" love 1>><<glove>> <<flight_hunt_get "lurkers" 3>> <<else>> <span class="red">But you're too slow.</span> The other lurkers jump to intercept you. You're thrown off course and fall on your side. <<pain 3>><<gpain>> <br><br> Before the lurkers can jump on you again, another screech pierces the air. The lurkers retreat, their survival instincts taking over. You dust yourself off and take flight again. Your spouse flies up to you. <<bHe>> seems to have lost <<bhis>> catch, too. <<if $monster is 1>> "Was reckless of <<wife>> to try go first." It's almost like <<bhes>> scolding you, though <<bhe>> doesn't seem mad. <<else>> <<bHe>> screeches, expressing annoyance. <<bHe>> doesn't seem mad, though. <</if>> <<set _huntFail to 1>> <</if>> <br><br> <<flight_hunt_return>><<effects>> Wanting to prove your skill, you stare down at the group. You tilt yourself sideways, indicating that you want to attack first. Your <<beasttype>> looks hesitant about the idea, but does nothing to object. <br><br> You continue to circle from up high, waiting for the perfect moment. You see it, and your instincts kick in. You let out a screech and dive. <br><br> <<dancedifficulty 600 1200 true>><<tendingdifficulty 1 700 true>> <<if $danceSuccess and $tendingSuccess>> <span class="green">For a brief moment, terror has an equal.</span> Your shriek paralyses the lurkers. You're fast. Fast enough to grab them before they can recover. Your senses feel sharper than ever before. With a lurker in each hand, you prepare to take back to the sky, but your body moves on its own as you spot another lurker within range. You plant both of your feet directly on it, grabbing it as well. The Great Hawk catches one out of the air. You ascend to the clouds, and your spouse flies up to you. <<if $monster is 1>> "<<Wife>> has sharp instincts. Knew you would be a good mate." You can hear how proud of you <<bhe>> is. <<else>> <<bHe>> nuzzles <<bhis>> wings against you as best as <<bhe>> can. <<bHe>> looks very proud of your skills. <</if>> <<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom -1>><<gglove>><<ldom>> <<flight_hunt_get "lurkers" 4>> <<earnFeat "Feather Trick">> <<else>> <span class="red">But you're too slow.</span> The other lurkers jump to intercept you. You're thrown off course and fall on your side. <<pain 3>><<gpain>> <br><br> Before the lurkers can jump on you again, another screech pierces the air. The lurkers retreat, their survival instincts taking over. You dust yourself off and take flight again. Your spouse flies up to you. <<bHe>> seems to have lost <<bhis>> catch, too. <<if $monster is 1>> "Was reckless of <<wife>> to try go first." It's almost like <<bhes>> scolding you, though <<bhe>> doesn't seem mad. <<else>> <<bHe>> screeches, expressing annoyance. <<bHe>> doesn't seem mad, though. <</if>> <<set _huntFail to 1>> <</if>> <br><br> <<flight_hunt_return>><<effects>> The lurker is moving quite fast, flitting between underbrushes. You don't think you'll be able to catch it while flying. <<if $bird.hunts.duo is true and C.npc["Great Hawk"].dom gte 50>> <<npc "Great Hawk">><<person1>> <br><br> <<if $monster is 1>> "No need to feel bad, <<wife>>. Will show you how to catch fast prey." <<else>> <<bHe>> lets out a small squawk and extends <<bhis>> talons. <</if>> <<bHe>> prepares to attack the lurker before you can act. <br><br> <<bHe>> flies over and aligns <<bhimself>> with the direction the lurker is going. After <<bhes>> ready, <<bhe>> dives at the lurker and catches it with ease. The lurker struggles for a moment before going limp. <br><br> <<link [[Praise|Bird Hunt Lurkers Few GH]]>><<npcincr "Great Hawk" dom 1>><<set $phase to 1>><</link>><<gdom>> <br> <<link [[Pout|Bird Hunt Lurkers Few GH]]>><<npcincr "Great Hawk" dom -1>><<set $phase to 2>><</link>><<ldom>> <br> <<else>> You could wait until it stops and ambush it, or you could pursue it on the ground. <br><br> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> Your <<beasttype>> waits to see what you'll do. <br><br> <</if>> <<set $skulduggerydifficulty to 500>> <<set _athlDiffMin to ($bird.hunts.weight * 50)>> <<set _athlDiffMax to (_athlDiffMin + 500)>> <<link [[Ambush|Bird Hunt Lurkers Few Ambush]]>><</link>><<skulduggerydifficulty>> <br> <<link [[Chase|Bird Hunt Lurkers Few Chase]]>><</link>><<athleticsdifficulty _athlDiffMin _athlDiffMax>> <br> <</if>><<effects>> <<if $phase is 1>> You can't deny that <<bhis>> display of hunting prowess was impressive. <<if $speech_attitude is "meek">> "Nice job, I don't think I could have done that," you say. <<elseif $speech_attitude is "bratty">> "You're quick, but don't go taking all the fun catches," you say. <<else>> "You're really good at this," you say. <</if>> <<if $monster is 1>> <<bHe>> blushes at your words. <<else>> <<bHe>> responds with a happy squawk. <</if>> <<else>> <<if $speech_attitude is "meek">> "H-hey, I wanted to catch that one," you say with a pout. <<elseif $speech_attitude is "bratty">> "I saw that one first! You owe me a lurker when we get back," you say with a pout. <<else>> "Showoff. I could have gotten that one," you say with a pout. <</if>> <<if $monster is 1>> <<bHe>> frowns, but shoots you a smug grin right after. <<else>> <<bHe>> responds with a smug squawk. <</if>> <</if>> <br><br> <<flight_hunt_get "lurkers" 1>> <<flight_hunt_return>><<effects>> You wait for the lurker to start resting, then land. Keeping in mind its location, you carefully sneak over to it. <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <span class="green">You're able to get right behind it.</span> With the lurker oblivious, you <<if $farm_stage gte 10>> hurl your net at it. It struggles in the net, <<else>> jump at it and grab it. It struggles in your hands, <</if>> but soon gives up. <br><br> <<if $bird.hunts.duo is true>> Your <<beasttype>> lands next to you. <<if $monster is 1>> "Attack from ground. Unsafe. But well done." <<if $farm_stage gte 10>> <<bHe>> shoots a wary glare at your net, but says nothing further. <</if>> <<else>> <<if $farm_stage gte 10>> <<bHe>> squawks with pride, but shoots a wary glare at your net. <<else>> <<bHe>> squawks with pride. <</if>> <</if>> <br><br> <</if>> <<flight_hunt_get "lurkers" 1>> <<else>> As you reach the spot it was resting in, you lunge <span class="red">at empty space</span>. It must have heard you and fled. <br><br> <<if $bird.hunts.duo is true>> Your <<beasttype>> lands next to you. <<if $monster is 1>> "Attacking from the sky is easier. <<Wife>> will learn." <<bHe>> nuzzles you. <<else>> <<bHe>> nuzzles you for reassurance. <</if>> <br><br> <</if>> <<set _huntFail to 1>> <</if>> <<flight_hunt_return>><<effects>> You land near it and begin running. The lurker sees you immediately and starts to flee. <<if $athleticsSuccess>> <span class="green">You manage to keep up with it.</span> Soon, the creature is within arms reach. You leap on it, catching it in a tight grip. It struggles for a moment, but soon gives up. <<if $bird.hunts.duo is true>> <br><br> Your <<beasttype>> lands and nuzzles you with pride. <</if>> <br><br> <<flight_hunt_get "lurkers" 1>> <<flight_hunt_return>> <<else>> <<if $bird.hunts.duo is false and $rng gte 61 and $voredisable is "f">> <span class="red">The lurker is simply too fast.</span> It begins skittering away even faster, but you don't give up. You chase the lurker all the way to a large crack in the earth, which it slips into. <br><br> You come to a stop at the edge, peering over. It's pitch black inside. <<if Time.dayState is "day" and !Weather.overcast>>Despite the sun being directly overhead. <<gtrauma>><<trauma 6>><</if>> <br><br> The ground rumbles, and you lose your footing. You don't feel like you're falling. Rather, it feels like the chasm itself moving up to meet you. You quickly understand why. <br><br> <span class="red">A gigantic lurker bursts from the darkness, catching you in its mouth.</span> <br><br> <<link [[Next|Bird Hunt Giant Lurker Vore]]>><<set $molestationstart to 1>><</link>> <br> <<else>> <span class="red">The lurker is simply too fast.</span> It begins skittering away even faster, and soon you're left behind feeling disappointed. <<if $bird.hunts.duo is true>> <br><br> Your <<beasttype>> gives you a sympathetic stare when you return to <<bhis>> side. <</if>> <br><br> <<set _huntFail to 1>> <<flight_hunt_return>> <</if>> <</if>><<effects>> <<if $molestationstart is 1>> <<set $molestationstart to 0>> <<set $combat to 1>> <<molested>> <<controlloss>> <<if $tentacledisable is "f" and $hallucinations gte 1>> <<set $enemytype to "tentacles">> <<tentaclestart 2 15>> <<set $voretentacles to 1>> <<else>> <<set $enemytype to "vore">> <<set $voretentacles to 0>> <</if>> <<set $vorestage to 1>> <<set $vorecreature to "giant lurker">> <<set $vorestrength to 1>><<set $position to "doggy">> <<resetLastOptions>> <<getCombatDefaultsType>> <</if>> <<if $tentacledisable is "f" and $hallucinations gte 1 and $enemytype is "tentacles">> <<voreeffects>><<effectstentacles>> <<vore>><<tentacles>> <<statetentacles>> <br><br> <<actionsvorentacles>> <<else>> <<voreeffects>> <<vore>> <<voreactions>> <</if>> <<if $stress gte $stressmax>> <span id="next"><<link [[Next|Bird Hunt Giant Lurker Vore Finish]]>><</link>></span><<nexttext>> <<elseif $vorestage lte 0>> <span id="next"><<link [[Next|Bird Hunt Giant Lurker Vore Finish]]>><</link>></span><<nexttext>> <<elseif $vorestomach gte 5>> <span id="next"><<link [[Next|Bird Hunt Giant Lurker Vore Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Giant Lurker Vore]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $stress gte $stressmax or $vorestomach gte 5>> It's all too much for you. You pass out. <br><br> <<if $upperoff isnot 0>> <<upperruined>> <</if>> <<if $loweroff isnot 0>> <<lowerruined>> <</if>> <<if $underloweroff isnot 0>> <<underlowerruined>> <</if>> <<if $underupperoff isnot 0>> <<underupperruined>> <</if>> <<endcombat>> <<passout_moor>> <<else>> <<tearful>> you scramble away from the chasm. The giant lurker retreats back into the darkness. <br><br> <<clotheson>> <<endcombat>> <<set _huntFail to 1>> <<flight_hunt_return>> <</if>><<effects>><<flight_distance_check>> You land nearby and begin searching. <br><br> <<rng 7>> <<switch $rng>> <<case 1>> <<set _prop to "bullet">> You sift through some tall grass until you find it; a bullet. It looks old. A collector might pay for it. <<flight_hunt_get "valuables" 1 "antique bullet">> <<case 2>> <<set _looted to either("watch", "ring", "necklace", "bracelet")>> <<set _prop to _looted>> You find it in a small puddle. It's a _looted. Someone must have lost it while travelling. <<flight_hunt_get "valuables" 1 _looted>> <<case 3>> <<set _prop to "junk">> You spot it sticking out of a small patch of sand. You dig it up, revealing a piece of a drink can. Worthless, but pleasingly shiny. <<flight_hunt_get "junk" 1>> <<case 4>> <<set _prop to "junk">> You spot it easily in a sunken patch of grass. It's a tin can. Worthless, but pleasingly shiny. <<flight_hunt_get "junk" 1>> <<case 5>> <<set _prop to "junk">> You see it again after a few seconds of searching. It's a tiny pile of metal scrap, worn down by the elements. Worthless, but pleasingly shiny. <<flight_hunt_get "junk" 3>> <<case 6>> <<select_random_clothes_limited "upper">> You see it suspended in between some fallen branches. It's <<if _random_clothes isnot "piece of fabric" and setup.clothes[_random_slot][_random_index].type.includes("formal")>> a tattered _random_clothes with shiny buttons. <<else>> <<set _random_clothes to "piece of fabric">> a ruined uniform with some shiny buttons. It would make for good scrap cloth and shiny junk. <</if>> <<if _random_clothes isnot "piece of fabric">> <<if $worn[_random_slot].cursed is 1>> <<set _cursedPrevent to true>> <</if>> <<set _outfitPrimaryWear to setup.clothes[_random_slot][$worn[_random_slot].index].outfitPrimary>> <<if _outfitPrimaryWear isnot undefined>> <<for _outfitSlot, _value range _outfitPrimaryWear>> <<if $worn[_outfitSlot].cursed is 1>> <<set _cursedPrevent to true>> <</if>> <</for>> <</if>> <<if $bird.upgrades.wardrobe is 1>> You could tear it up for scrap cloth and shiny junk, or bring it back to the tower. <<else>> You have nowhere to store it at the tower. A few hours in the open would reduce it to scrap cloth and shiny junk. <</if>> <br><br> <<if !_cursedPrevent>> <<if $worn[_random_slot].name isnot "naked">> <<if $bird.upgrades.wardrobe is 1>> <<link [[Wear|Bird Hunt Shiny Clothes]]>><<set $phase to 1>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear" "damaged">><</link>> <span class="blue">Your $worn[_random_slot].name will be replaced.</span> <<else>> <<link [[Wear|Bird Hunt Shiny Clothes]]>><<set $phase to 1>><<generalRuined _random_slot>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear" "damaged">><<flight_hunt_get "fabric" 1>><</link>> <span class="blue">Your $worn[_random_slot].name will be scrapped.</span> <</if>> <<else>> <<link [[Wear|Bird Hunt Shiny Clothes]]>><<set $phase to 1>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear" "damaged">><</link>> <</if>> <</if>> <br> <<link [[Scrap|Bird Hunt Shiny Clothes]]>><<set $phase to 2>><<flight_hunt_get "fabric" 1>><<flight_hunt_get "junk" 1>><</link>> <br> <<if $bird.upgrades.wardrobe is 1>> <<link [[Take|Bird Hunt Shiny Clothes]]>><<set $phase to 3>><<flight_hunt_get "clothing" 1 _random_slot _random_index "take" "damaged">><</link>> <br> <</if>> <<else>> <br><br> <<link [[Take|Bird Hunt Shiny Clothes]]>><<set $phase to 2>><<flight_hunt_get "fabric" 1>><<flight_hunt_get "junk" 1>><</link>> <br> <</if>> <<default>> You spot it embedded in some dirt. It's just some broken glass. You bury it deeper so nothing steps on it. <<set _huntFail to 1>> <</switch>> <<if $rng isnot 6>> You take off<<if $bird.hunts.duo is true>> and rejoin your spouse.<<if $rng lte 5>><<npc "Great Hawk">> <<bHe>> looks pleased at your find.<<endevent>><</if>><<else>>.<</if>> <br><br> <<flight_hunt_return>> <</if>><<effects>> <<switch $phase>> <<case 1>>You wear it, ignoring its somewhat degraded condition. <<case 2>>You quickly tear it up for easier transport. <<case 3>>You tuck it under your arm. <</switch>> You take off<<if $bird.hunts.duo is true>><<npc "Great Hawk">> and rejoin your spouse. <<bHe>><<endevent>> looks pleased at your find<</if>>. <br><br> <<flight_hunt_return>><<effects>> You <<if $bird.hunts.duo is true>><<npc "Great Hawk">><<person1>>and your <<beasttype>> <</if>> land in front of the pond. You can see the glimmering even better now. It looks like there's multiple objects down there. With your superior eyesight, you spot a smaller, faintly shining object near the bigger glimmer. It looks to be mostly buried. <br><br> <<if $bird.hunts.duo is true>> <<if $monster is 1>> "Does <<wife>> want to get the shiny from the water? Not good to get wet while hunting, but if that's what <<wife>> wants," <<your_bird_text>> says. <<else>> <<your_bird_text "cap">> taps the water with <<bhis>> talon and shivers. <</if>> <<bHe>> won't be of much help here. <br><br> <</if>> Getting everything would be quite a challenge, though not impossible. <br><br> <<link [[Grab the larger glimmer|Bird Hunt Pond Dive 2]]>><<set $phase to 1>><</link>><<swimmingdifficulty 400 700>> <br> <<link [[Try to grab everything|Bird Hunt Pond Dive 2]]>><<set $phase to 2>><</link>><<swimmingdifficulty 600 900>> <br><<effects>> <<unset $swimmingSuccess>> <<noClothingCheck>> <<strip>> <<if _nude is false>>You undress and hide your clothes in a nearby bush.<</if>> <<if $phase is 1>> <<silently>><<swimmingdifficulty 400 700>><</silently>> You slip into the pond and swim right above where the glimmer is. <<water>> You take a deep breath and dive. The murky water makes it hard to see where you're going. <<if $swimmingSuccess>> <span class="green">You maintain your composure and methodically swim deeper.</span> You reach the source of the shine. You see <<if $rng gte 30>> a bunch of metallic trash, likely the results of littering. You quickly snatch up your prize and swim back up to the surface. <<flight_hunt_get "junk" 2>> <<set _prop to "junk">> <<else>> <<set _looted1 to either("ring", "necklace", "bracelet")>><<set _looted2 to either("ring", "necklace", "bracelet")>> <<if _looted1 is _looted2>> a pair of <<print _looted1 + "s">>, possibly lost by someone. You quickly snatch up your prize and swim back up to the surface. <<flight_hunt_get "valuables" 2 _looted1>> <<else>> a _looted1 and a _looted2, possibly lost by someone. You quickly snatch up your prize and swim back up to the surface. <<flight_hunt_get "valuables" 1 _looted1>><<flight_hunt_get "valuables" 1 _looted2>> <</if>> <<set _prop to either(_looted1, _looted2)>> <</if>> <br><br> After emerging, you look down again. Dirt has been kicked up from the bottom, making it too hard to see where the other object is. <br><br> You swim to shore, then step out of the water. <<clotheson>> <<if $bird.hunts.duo is true>> Your <<beasttype>> comes over to inspect your gains. <<if $monster is 1>> "<<Wife>> is very good at diving, much better than me," <<bhe>> says. <<else>> <<bHe>> looks surprised by how well you can swim. <</if>> You can tell <<bhes>> slightly envious of your skill. <<npcincr "Great Hawk" dom -1>><<ldom>> <br><br> <</if>> <<endevent>> <<flight_hunt_return>> <<else>> You figure it would be best to be fast, so you pick up the pace. <span class="red">Your impatience causes you to lose sight of your goal.</span> It takes you a bit to spot it again, and you can tell you're running out of air. You quickly swim over and grab the glimmering object, but you're starting to panic. You manage to swim back to the surface, but lose your prize as you flail. <<stress 12>><<ggstress>> <br><br> When you emerge from the water, you take a moment to breathe, then look down again. Whatever was glimmering is now gone, likely buried in the sand you kicked around in your panic. You swim to shore and step out of the water. <<if $bird.hunts.duo is true>> Your <<beasttype>> comes over. <<bHe>> wraps a wing around you. <<if $monster is 1>> "Diving is hard, you won't always succeed," <<bhe>> says. <<else>> <<bHe>> nuzzles <<bhis>> beak against you, trying to make you feel better. <</if>> <<bHe>> lets go of you and takes off again. <<npcincr "Great Hawk" dom 1>><<gdom>> <</if>> <<clotheson>> <<endevent>> <<flight_hunt_return>> <</if>> <<else>> <<silently>><<swimmingdifficulty 600 900>><</silently>> You slip into the pond and swim right above where the glimmer is. You take a deep breath and dive. The murky water makes it hard to see where you're going. <<if $swimmingSuccess>> <span class="green">You maintain your composure and methodically swim deeper.</span> You reach the source of the shine. You see <<if $rng gte 30>> a bunch of metallic trash, likely the results of littering. You quickly snatch up your prize and swim back up to the surface. <<flight_hunt_get "junk" 2>> <<else>> <<set _looted1 to either("ring", "necklace", "bracelet")>><<set _looted2 to either("ring", "necklace", "bracelet")>> <<if _looted1 is _looted2>> a pair of <<print _looted1 + "s">>, possibly lost by someone. You quickly snatch up your prize and swim back up to the surface. <<flight_hunt_get "valuables" 2 _looted1>> <<else>> a _looted1 and a _looted2, possibly lost by someone. You quickly snatch up your prize and swim back up to the surface. <<flight_hunt_get "valuables" 1 _looted1>><<flight_hunt_get "valuables" 1 _looted2>> <</if>> <</if>> <br><br> <<set _looted3 to either("ring", "necklace", "bracelet")>> After grabbing them, you start digging up the buried object. You pull away the sand, revealing <<if _looted3 is _looted1>>another _looted1<<else>>a _looted3<</if>>. <<flight_hunt_get "valuables" 1 _looted3>> <br><br> <<set _prop to _looted3>> Swimming with your hands full isn't easy, but anyone watching wouldn't be able to tell. You reach the surface of the water, then swim back to land, satisfied with your finds. <<clotheson>> <<if $bird.hunts.duo is true>> Your <<beasttype>> comes over to inspect your gains. <<if $monster is 1>> "<<Wife>> is very good at diving, much better than me," <<bhe>> says. <<else>> <<bHe>> looks surprised by how well you can swim. <</if>> You can tell <<bhes>> slightly envious of your skill. <<npcincr "Great Hawk" dom -1>><<ldom>> <br><br> <</if>> <<endevent>> <<flight_hunt_return>> <<else>> You swim slowly, trying to conserve air. <span class="red">But you're overly cautious, and start to run out of air.</span> You stick to the plan and start digging up the buried object. You uncover most of it, when you realise you don't have enough time to finish the job. <br><br> You try to find the first object you saw, but your rapid searching has kicked up sand and made it hard to see. You have no choice but to surface. <br><br> When you emerge from the water, you take a moment to breathe, then look down again. You don't see any sign of the items you were looking for. You swim to shore and step out of the water. <<if $bird.hunts.duo is true>> Your <<beasttype>> comes over. <<bHe>> wraps a wing around you. <<if $monster is 1>> "Diving is hard, you won't always succeed," <<bhe>> says. <<else>> <<bHe>> nuzzles <<bhis>> beak against you, trying to make you feel better. <</if>> <<bHe>> lets go of you and takes off again. <<npcincr "Great Hawk" dom 1>><<gdom>> <</if>> <<clotheson>> <<endevent>> <<flight_hunt_return>> <</if>> <</if>><<effects>> You fly lower to the ground and spend some time watching the <<beasttype>> from above. <<if $NPCList[0].type.includes("fox")>> <<if $phase is 1>> <<bHe>> stops in a small patch of dirt and starts digging. <<bHe>> drops the object inside and buries it before running off. <<else>> <<bHe>> curls up in a small patch of dirt for a nap. <</if>> <<else>> <<if $phase is 1>> <<bHe>> drops the object and starts to bat it around. After a few minutes, <<bhe>> picks it back up and runs off. <<else>> <<bHe>> curls up in a small patch of dirt for a nap. <</if>> <</if>> <br><br> <<flight_hunt_return>><<effects>> <<if $NPCList[0].type.includes("fox")>> You land in front of the <<beasttype>>, wings spread wide. <<if $NPCList[0].traits.includesAny("cowardly")>> <<bHe>> immediately screams at you, before turning and running away. <<bHe>> dropped something. <<flight_hunt_get_random>> <<if $bird.hunts.duo is true>> <<endevent>><<npc "Great Hawk">><<person1>> <<if $monster is 1>> "Landbound beasts always lose their catches. Good find, <<wife>>." <<else>> Your <<beasttype>> looks pleased. <</if>> <</if>> <br><br> <<flight_hunt_return>> <<elseif $NPCList[0].traits.includesAny("friendly", "clumsy", "clever")>> <<bHe>> stops and tilts <<bhis>> head at you. <<if $bird.hunts.duo is true>> <<bHe>> starts to hesitantly approach you, until your spouse lands behind you. <<bHe>> turns and runs. <br><br> <<endevent>><<npc "Great Hawk">><<person1>> The Great Hawk tilts <<bhis>> head curiously, as if wondering whether <<bhe>> did something wrong. <<if $monster is 1>> "Cowardly things." <</if>> <br><br> <<flight_hunt_return>> <<else>> <<if $monster is 1>> <<if $NPCList[0].traits.includes("clever")>> "I-I didn't steal anything, I swear!" <<if $phase is 1>> <<bHe>> pushes the object behind <<bhim>>, as if to hide it from you. <</if>> <<else>> "Oh, wow, your wings are so big and pretty! You're not going to eat me, are you?" <</if>> <</if>> <<bHis>> tail begins to puff out. <<bHes>> clearly very afraid of you, but seems unable to move as you lock eyes with <<bhim>>. <br><br> <<if $phase is 1>> <<link [[Take the object|Bird Hunt Fox Take]]>><</link>> <br> <</if>> <<if ($bestialitydisable is "f" or $monster is 1) and hasSexStat("deviancy", 3)>> <<link [[Push over|Bird Hunt Fox Sex]]>><<set $sexstart to 1>><</link>><<deviant3>> <br> <</if>> <<link [[Pet|Bird Hunt Fox Pet]]>><<stress -3>><</link>><<lstress>> <br> <</if>> <<elseif $NPCList[0].traits.includes("territorial")>> <<bHe>> drops into a defensive posture and growls at you. <<if $monster is 1>> "I'm not afraid of you, damned harpy! Find someone else to screech at!" <</if>> <<bHe>> takes a step forward, prepared to pounce. <br><br> <<if $bird.hunts.duo is true>> <<npc "Great Hawk" 2>> Immediately, <<bhes 0>> pressed to the ground from above. <<person2>> <<if $monster is 1>> "Poor manners. No way to greet a neighbour." Your <<beasttype 1>> smiles from atop the <<person1>><<beasttypes>> back. <<else>> Your <<beasttype 1>> shrieks triumphantly from the <<person1>><<beasttypes>> back. <</if>> <br><br> <<bHe>> struggles. <<if $NPCList[0].monster is "monster">> "Fine. I'll behave. Just get off of me." <</if>> Your spouse loosens the pressure, and the <<beasttype>> takes the chance to dart away. <<if $phase is 1>> <<bHe>> left something behind. <<flight_hunt_get_random>> <<person2>> <<if $monster is 1>> "Landbound beasts always lose their catches. Good find, <<wife>>." <<else>> Your <<beasttype>> looks pleased. <</if>> <<else>> <br><br> <<person2>> <<if $monster is 1>> "Those ones make poor prey. We should hunt smaller." <<else>> The Great Hawk hops over to you and nudges you, eager to resume the hunt. <</if>> <</if>> <br><br> <<flight_hunt_return>> <<else>> <<if $bestialitydisable is "f">> You don't have time to flee before <<bhe>> springs forward. <br><br> <<link [[Next|Bird Hunt Fox Sex]]>><<set $molestationstart to 1>><</link>> <br> <<else>> You take to the skies to avoid it, but <<bhe>> gets a few hits on you first. <<beastescape>> <br><br> <<flight_hunt_return>> <</if>> <</if>> <<else>> <<bHe>> doubles back from you and growls, before darting away. <br><br> <<flight_hunt_return>> <</if>> <<else>> You prepare to land in front of the <<beasttype>>, but <<bhe>> seems to sense your presence. <<bHe>> suddenly begins to run, before diving into a small alcove out of sight. <br><br> <<flight_hunt_return>> <</if>><<effects>> You <<if $phase isnot 5>>swoop down and <</if>>let out a piercing screech. <<if $bird.hunts.duo is true>> Your spouse matches it. <<if $phase is 1>> The <<beasttype>> drops whatever <<bhe>> was holding and scurries away. <br><br> You land and pick it up. <<flight_hunt_get_random>> <<endevent>><<npc "Great Hawk">><<person1>> <<if $monster is 1>> "Landbound beasts always lose their catches. Good find, <<wife>>." <<else>> Your <<beasttype>> looks pleased. <</if>> <<else>> <<if $phase gte 4>>They jump and dart away<<else>>The <<beasttype>> jumps and scurries away<</if>>. <</if>> <<else>> <<if $phase gte 4>>They jump and dart away<<else>>The <<beasttype>> jumps and scurries away<</if>>. <</if>> <br><br> <<flight_hunt_return>><<effects>> You hold out your hand, motioning for <<bhim>> to give you whatever <<bhes>> hiding. <br><br> <<if $monster is 1>> <<if $NPCList[0].traits.includes("clever")>> <<bHe>> grumbles under <<bhis>> breath, before producing the item from behind <<bhis>> back. <<else>> "Oh, that's all? Okay." <<bHe>> produces the object from behind <<bhis>> back. <</if>> <<else>> <<bHe>> hesitantly pushes it forward from behind <<bhim>>. <</if>> <<flight_hunt_get_random>> <<set $phase to 3>> <<wearProp _prop>> <br><br> <<if ($bestialitydisable is "f" or $monster is 1) and hasSexStat("deviancy", 3)>> <<link [[Reward|Bird Hunt Fox Sex]]>><<set $sexstart to 1>><</link>><<deviant3>> <br> <</if>> <<link [[Pet|Bird Hunt Fox Pet]]>><<handheldon>><<stress -3>><</link>><<lstress>> <br> <<link [[Leave|Bird Hunt Fox Leave]]>><<handheldon>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> You adopt a mating posture. The <<beasttype>> cocks <<bhis>> head, but quickly accepts your offer. <<deviancy3>> <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red"><<bHe>> screams right back in your face, drowning out your own screams.</span>'>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Fox Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Fox Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<if $consensual is 1>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<bHe>> gets to <<bhis>> feet, and looks at you smugly. "Consider that a gift." <<else>> <<bHe>> huffs in triumph. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> <<bHe>> nuzzles you. "That was fun!" <<else>> <<bHe>> nuzzles your face. <</if>> <<stress -3>><<lstress>><br> <<else>> <<if $monster is 1>> <<bHe>> gets to <<bhis>> feet. "Thank you. Maybe I can find a real partner, now." <<else>> <<bHe>> licks your face. <</if>> <</if>> <<bHe>> slinks away into the underbrush. <<if $phase is 1>> <<bHe>> left something behind for you. <<flight_hunt_get_random>> <</if>> <<else>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<bHe>> gets to <<bhis>> feet, and looks at you smugly. "I thought you were supposed to be a terror. You're just a toy." <<bHe>> slinks away into the underbrush. <<else>> <<bHe>> huffs in triumph, before slinking away into the underbrush. <</if>> <</if>> <</if>> <br><br> <<tearful>> you rise to your feet. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <<elseif $enemyhealth lte 0>> <<if $NPCList[0].traits.includes("territorial")>> <<if $monster is 1>> <<bHe>> recoils, baring <<bhis>> teeth at you. "You'll regret this." <<else>> <<bHe>> rolls away from you, and huffs in frustration. <</if>> <<elseif $NPCList[0].traits.includes("friendly")>> <<if $monster is 1>> "Ow! Ow! Stop that!" <<else>> <<bHe>> rolls away from you. <</if>> <<else>> <<if $monster is 1>> <<bHe>> recoils from you. "Maybe I'm not good enough for a mate after all..." <<else>> <<bHe>> rolls away from you. <</if>> <</if>> The <<beasttype>> whines and flees into the underbrush. <<if $phase is 1>> <<bHe>> left something behind. <<flight_hunt_get_random>> <</if>> <br><br> <<tearful>> you gather yourself. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <<else>> The <<beasttype>> turns away from you and slinks into the moor. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <</if>><<effects>> You reach forward. <<bHe>> flinches, but eases up when you start to scratch behind <<bhis>> ears. <<if $monster is 1>> <<bHe>> leans into you while you continue stroking <<bhis>> ears. With your other hand, you reach behind <<bhim>> and gently run your fingers along <<bhis>> tail. <br><br> After a few minutes of this, the <<beasttype>> pulls away from you. <<bHes>> blushing. Without a word, <<bhe>> turns and walks off. <<else>> The fox purrs appreciatively as you bring a second hand up to stroke <<bhis>> back while you continue rubbing between <<bhis>> ears. <br><br> After a few minutes of this, the fox runs off into the bushes, yipping happily. <</if>> <br><br> <<flight_hunt_return>><<effects>> <<flight_hunt_return>><<effects>> You land a short distance away from the pair. <<if $bird.hunts.duo is true>> Your spouse lands right next to you. <</if>> You approach them low to the ground, unseen, for a closer look. <br><br> <<if $rng gte 60>> <<if $NPCList[0].traits.includes("territorial")>> The larger of the two pounces on the other. <<if $monster is 1>> "Give up yet?" <<bHe 0>> straddles the smaller <<beasttype 1>> smugly. <br><br> <<if $NPCList[1].traits.includes("territorial")>> "Never!" The smaller <<beasttype 1>> rolls out from under <<bhim 0>>, and the fight continues as they tumble off into the underbrush. <<else>> "Y-yes. I'm sorry. I'll hunt elsewhere," the smaller <<beasttype 1>> whimpers. <br><br> The larger one huffs, dismounting and freeing the smaller one, who darts away. The winner saunters off, seemingly resuming <<bhis 0>> own interrupted hunt. <</if>> <<else>> <<bHe>> barks and yips at the smaller one, <<if $NPCList[1].traits.includes("territorial")>> who rolls out and makes a pounce of their own. They tumble off into the underbrush. <<else>> before releasing <<bhim 1>>. <<bHe 1>> darts off, and the victorious fox saunters away. <</if>> <</if>> <<else>> One of them pounces on the other, growling. <<if $monster is 1>> "You spoiled my catch!" <<bhe 0>> barks. <br> "I saw it first!" the <<beasttype 1>> under <<bhim 0>> barks back. <<bHe 1>> rolls out from under <<bhim 0>> and makes a pounce of <<bhis 1>> own. They chase each other deeper into the moor. <<else>> The two then bark and yip at each other for a moment, before the fight continues. They chase each other deeper into the moor. <</if>> <</if>> <br><br> <<link [[Leave|Bird Hunt Fox Leave]]>><</link>> <br> <<elseif $rng gte 30>> <<if $NPCList[0].traits.includes("territorial") or $NPCList[1].traits.includes("territorial")>> The larger of the two pounces on the other. <<if $monster is 1>> <<bHe>> straddles <<bhis>> victim smugly. "Looks like I win. Now, what should I do with you...?" The other <<beasttype 1>> looks nervous as the larger one begins to rub <<bhis 1>> chest and down towards <<bhis 1>> groin. <<else>> <<bHe>> gets into a mounting position. <</if>> <<else>> They tumble over one another, before righting themselves and nuzzling each other. One gets low to the ground and raises its rear. <</if>> <span class="lewd">They're about to mate.</span> <br><br> <<link [[Keep watching (0:10)|Bird Hunt Foxes Watch Mate]]>><<bird_pass 10>><</link>><<deviant1>> <br> <<link [[Leave|Bird Hunt Fox Leave]]>><</link>> <br> <<else>> They each get low to the ground, before righting themselves and yelling at each other. One jumps forward, tackling the other and nuzzling <<bhim>>. They're just playing. <br><br> <<link [[Screech|Bird Hunt Animal Screech]]>><<set $phase to 5>><<stress -3>><</link>><<lstress>> <br> <<link [[Leave|Bird Hunt Fox Leave]]>><</link>> <br> <</if>><<effects>> You watch the couple with interest. <<if $bird.hunts.duo is true>> <<npc "Great Hawk" 3>> The Great Hawk sits next to you. <<if $monster is 1>> "<<Wife>> wants to watch them mate?" <</if>> <</if>> <<set $phase to 0>> <<if ($NPCList[0].penis isnot "none" and $NPCList[1].vagina isnot "none") or ($NPCList[0].vagina isnot "none" and $NPCList[1].penis isnot "none")>> <!-- Penile/Vaginal --> <<set $phase to 1>> <<elseif ($NPCList[0].penis isnot "none" or $NPCList[1].penis isnot "none") and $analdisable is "f">> <!-- Penile/Anal --> <<set $phase to 2>> <<elseif $NPCList[0].penis isnot "none" or $NPCList[1].penis isnot "none">> <<set $phase to 3>> <!-- Penile/Oral --> <<else>> <<set $phase to 4>> <!-- Vaginal/Oral --> <</if>> <<if $NPCList[0].traits.includes("territorial") or $NPCList[1].traits.includes("territorial")>> <<set _domF to ($NPCList[0].traits.includes("territorial") ? 0 : 1)>> <<else>> <<set _domF to 0>> <</if>> <<set _subF to (_domF is 1 ? 0 : 1)>> <<deviancy1>> <<if $NPCList[0].monster is "monster">> <<if $NPCList[0].traits.includes("territorial") or $NPCList[1].traits.includes("territorial")>> "Maybe I'll eat you instead." <</if>> The larger <<beasttype _domF>> lowers <<bhis _domF>> head to <<bhis _domF>> lover's groin, and begins licking <<if $NPCList[_subF].penis isnot "none">> up <<bhis _subF>> red shaft. <<else>> <<bhis _subF>> pussy. <</if>> <<bHe _subF>> covers <<bhis _subF>> face in embarrassment as <<bhe _subF>> softly moans. <br><br> <<switch $phase>> <<case 1 2>> <<if $NPCList[_domF].penis isnot "none">> The large <<beasttype _domF>> crawls back up, and gently guides <<bhis _domF>> knotted penis into the smaller <<beasttype _subF>>'s <<if $phase is 1>>pussy<<else>>ass<</if>>. It starts off slow, but before long, the large <<beasttype _domF>> is thrusting into <<bhis _domF>> lover with fervour. It's hard to not get a little exasperated yourself. <br><br> You continue to watch for a long time, their pace still increasing. With a final thrust, you <<if $bird.hunts.duo is true>>and your spouse <</if>>watch the <<beasttype _domF>>'s knot slide in. The <<beasttype _subF>> moans as <<bhes _subF>> filled with warm semen. <<arousal 2000>><<ggarousal>> <<else>> The large <<beasttype _domF>> crawls back up, and gently guides the smaller <<beasttype _subF>>'s knotted penis into <<bhim _domF>>. It starts off slow, but before long, the large <<beasttype _domF>> is riding <<bhis _domF>> lover with fervour. It's hard to not get a little exasperated yourself. <br><br> You continue to watch for a long time, their pace still increasing. With a final thrust, you <<if $bird.hunts.duo is true>>and your spouse <</if>>watch the <<beasttype _subF>>'s knot slide in. They both moan as the <<beasttype _domF>> is filled wih warm semen. <<arousal 2000>><<ggarousal>> <</if>> <<case 3>> The large <<beasttype _domF>> slowly takes the smaller <<beasttype _subF>>'s penis into <<bhis _domF>> mouth, and bobs <<bhis _domF>> head up and down. You <<if $bird.hunts.duo is true>>and your spouse <</if>>watch until the <<beasttype _subF>> moans, and fresh semen escapes the large <<beasttype _domF>>'s mouth. <<case 4>> The large <<beasttype _domF>> slowly inserts <<bhis _domF>> tongue into the smaller <<beasttype _subF>>'s pussy. <<bHe _domF>> intensifies <<bhis _domF>> assault. You <<if $bird.hunts.duo is true>>and your spouse <</if>>watch until the <<beasttype _subF>> moans and bucks <<bhis _subF>> hips. <</switch>> <<else>> <<if $phase is 1 or $phase is 2>> One of them mounts the other, and slowly inserts its knotted penis. You <<if $bird.hunts.duo is true>>and your spouse <</if>>watch them rut until the knot slides in, sealing them together for a few minutes. <<else>> One of them mounts the other, and starts to grind against the other. You <<if $bird.hunts.duo is true>>and your spouse <</if>>watch until they both shudder and collapse. <</if>> <</if>> <br><br> They disengage from each other. <<if $NPCList[0].monster is "monster" and ($NPCList[0].traits.includes("territorial") or $NPCList[1].traits.includes("territorial"))>> "Back to my den. You're gonna clean me up," the larger one commands. The smaller one obediently nods and follows. <<elseif $NPCList[0].monster is "monster">> "L-let's go back to the den," one says. The other nods and follows. <<else>> They nuzzle each other and wander off together. <</if>> <br><br> <<if $bird.hunts.duo is true>> <<set $bird.hunts.returnAccept to true>> You look over to your <<beasttype 2>>, and <<if $monster is 1>> see that <<bhes 2>> a bit flustered at the display. "Head home soon, <<wife>>?" <<else>> <<bhe 2>> tilts <<bhis 2>> head at you. <<bHe 2>> rubs up against you for a moment, a bit closer than usual. <</if>> <br><br> <</if>> <<link [[Leave|Bird Hunt Fox Leave]]>><</link>> <br><<effects>><<rngWraith 1>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> You tell your <<beasttype>> your intent to following the two. <<if $monster is 1>> "Why would <<wife>> want to follow landbound? They do not look interesting," <<bhe>> says. <<else>> <<bHe>> seems apprehensive about the idea. <</if>> Regardless, <<bhe>> is willing to do as you want. <br><br> <</if>> You fly a little closer to them, and can now properly distinguish the <<generate2>><<person2>><<person>> and <<generatep3 1>><<person3>><<person>>. You <<if $bird.hunts.duo is true>>and your <<beasttype>> <</if>>tail the pair for a while, waiting to see what they do. <br><br> <<cleareventpool>> <<addinlineevent "bird_hunt_people_1">> After following them for a while, <<if $rng gte 66>>you realise they're walking in circles. Both of them keep looking around vigilantly. You assume they're patrolling, though the reason for it is unclear. <<elseif $rng gte 33>>you don't see them do anything interesting. <<else>>you start to feel like they're somewhat lost. Or at least, they don't seem to know where they want to go. <</if>> <<if $bird.hunts.duo is true>> The Great Hawk turns towards you. <<if $monster is 1>> "I pity the landbound, having to walk everywhere," <<bhe 0>> says. <<else>> <<bHe>> flies around you in a circle and looks at the two people walking, then squawks joyfully. <</if>> <</if>> Deciding you've seen enough, you stop following them. <br><br> <<endevent>> <<flight_hunt_options>> <</addinlineevent>> <<addinlineevent "bird_hunt_people_2">> You notice them stop many times to admire the view. <<if $rng gte 66>>The <<person2>><<person>> is walking very close to the <<person3>><<person>>. After reaching a field of flowers, the <<person2>><<person>> stops and kisses the <<person3>><<person>> passionately. It's quite a cute sight. <<trauma -2>><<ltrauma>> <<elseif $rng gte 33>>Whenever they stop, the <<person3>><<person>> writes something into a notebook. You wonder what <<hes>> documenting. <<else>>The moor is usually a dangerous place to traverse, though the pair seem quite carefree in that regard. They make many stops in all sorts of spots. <</if>> <br><br> <<if $bird.hunts.duo is true>> <<if $monster is 1>> The Great Hawk turns towards you. "The view looks much better up here, would not want to be landbound myself," <<bhe 0>> says. <<else>> The Great Hawk squawks and flies lower, trying to see the surroundings from the same point of view as the people walking. <<bHe 0>> soon flies up again. <</if>> <</if>> You follow them a little longer before losing interest. <br><br> <<endevent>> <<flight_hunt_options>> <</addinlineevent>> <<addinlineevent "bird_hunt_people_3">> They keep walking for a while, until they stop to sit down. The <<person2>><<person>> pulls out two canned drinks from <<his>> backpack. <<He>> hands one to the <<person3>><<person>>, and they drink them. The two sit around for a while, laughing and playfully pushing each other. When they're done drinking, they get up and throw the cans into a nearby hole. <br><br> <<if $bird.hunts.duo is true>> <<your_bird_text "cap">> looks surprised they would throw away something shiny. <</if>> It's a shame to see people littering, but at least you can make sure the cans aren't just left out here. After they leave, you land and take the now empty cans. <<flight_hunt_get "junk" 2>> <br><br> <<endevent>><<wearProp "junk">> <<flight_hunt_options>> <</addinlineevent>> <<addinlineevent "bird_hunt_people_4">> After a while, they stop to take a break and sit down on some rocks. The <<person2>><<person>> starts talking to the <<person3>><<person>> about something. <<if $rng gte 66>>After a couple of minutes, their conversation turns heated, both of them yelling at one another. At one point you think the altercation is going to turn physical, only for them both to start laughing. The conversation returns to normal after that. <<elseif $rng gte 33>>They appear to be having a casual conversation. They look somewhat winded from walking. <<else>>Their conversation drags on for a while, leaving you to wonder if they will ever stop. <</if>> <br><br> <<if $bird.hunts.duo is true>> You turn to look at your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. <<bHe 0>> looks very bored. <</if>> Eventually, they stop talking. As they stand up, you notice a wallet fall out of the <<person2>><<person>>'s pocket. <<He>> walks away, not realising <<he>> is a wallet lighter. You make sure they're gone, then land and grab the wallet. <<flight_hunt_get "valuables" 1 "wallet">> <br><br> <<if $bird.hunts.duo is true>> <<if $monster is 1>> "Good eye, <<wife>>," your <<beasttype 0>> says. <<else>> Your <<beasttype 0>> screeches, complimenting you for your keen eye. <</if>> <br><br> <</if>> <<endevent>><<wearProp "wallet" 0 "empty">> <<flight_hunt_options>> <</addinlineevent>> <<addinlineevent "bird_hunt_people_5">> You note that they are walking in the rougher parts of the moor, not something most would do willingly. After a few minutes, you notice they're nearing a resting lurker. They both crouch and quietly approach it. The <<person2>><<person>> takes out a net from <<his>> backpack, and closes the distance. <br><br> <<if $rng gte 50>> <<He>> hurls the net. The lurker is too fast, barely dodging out of the way. The <<person3>><<person>> tries to cut it off, but the lurker manages to slip away between <<his>> legs. <<if $bird.hunts.duo is true>> <<your_bird_text "cap">> <<if $monster is 1>> chuckles to <<bhimself 0>>. "Landbound should learn proper hunting skills," <<bhe 0>> remarks. <<else>> lets out a series of short chirps. It almost sounds like a small laugh. <</if>> <</if>> <<else>> <<He>> hides behind a nearby bush and waits for the right moment. <<He>> hurls <<his>> net, and it lands true, immobilising the lurker. They both rush in to grab it, and put it into the <<person2>><<person>>'s backpack. <<if $bird.hunts.duo is true>> <<your_bird_text "cap">> looks somewhat impressed. <<bHe 0>> probably doubted their hunting skills. <</if>> <</if>> <br><br> They turn back the way they came. There's no reason to keep following them now. <br><br> <<endevent>> <<flight_hunt_options>> <</addinlineevent>> <<addinlineevent "bird_hunt_people_6">> Eventually, they come across a small tree. The <<person2>><<person>> takes out two axes from <<his>> backpack. <<He>> hands one to the <<person3>><<person>> and moves to the opposite side of the tree. They start chopping away at it, only taking a few minutes to completely fell it. They then chop it up into smaller pieces, which they put in their backpacks. <<if $bird.hunts.duo is true>> Your <<beasttype 0>> looks at the two enviously. <<if $monster is 1>> "The only thing landbound can do better than us is destroy things," <<bhe 0>> pouts. It's easy to see <<bhe 0>> is just jealous. <<else>> <<bHe>> looks upset that <<bhe>> can't use tools like they can. <</if>> <</if>> <br><br> After gathering as much wood as they can, they leave. You land to inspect what's left over. <<if $rng gte 30>> <<set _prop to "stick">> They took almost everything, leaving behind just the undesirable parts. There's still something you can use, but not much. <<flight_hunt_get "sticks" 1>> <<else>> <<set _prop to "stick">> They left behind a lot of the smaller branches. <<flight_hunt_get "sticks" 2>> <</if>> <br><br> <<endevent>> <<flight_hunt_return>> <</addinlineevent>> <<if $bird.hunts.duo is false and _wraithEvent>> <<addinlineevent "bird_hunt_people_wraith">> You follow the pair for a while. They keep walking forward at a constant pace, never slowing down or speeding up. It's like the rough terrain isn't affecting them at all. After a while, they stop. <br><br> <<if $wraith.state is "active">> They look up, directly at you. Except now, you only see one person. A person with very pale skin. It stares at you with bright blue eyes and smiles wryly. You blink, and the person is gone. <<trauma 12>><<ggtrauma>> <<else>> You feel a sudden sense of dread overtake you. You close your eyes, trying to calm down, but it does you no good. When you open your eyes again, the pair are looking right up at you. Or rather, a pair of eyes are. Red ones. You're faced with a lone pale figure staring at you. You try closing your eyes again. The figure is closer. You hear a whisper in the wind, causing you to look away. When you look back, there's no one there. <<trauma 18>><<ggtrauma>> <</if>> <br><br> <<endevent>> <<flight_hunt_return>> <</addinlineevent>> <</if>> <<runeventpool>><<effects>> You land away from their tents and stay low. <<if $exposed gte 2>>Your heart pounds, thinking of your current exposure.<</if>> As you near their tents, a <<generate1>><<person1>><<person>> exits one and starts walking in your direction. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<wearProp "rock">> <span class="green">Thinking quickly, you pick up a rock and throw it behind them.</span> The sound is enough to pull their attention. With the <<person>> distracted, you sneak into the tent they came out of. <<if $skulduggery lte ($skulduggerydifficulty + 100)>> <<skulduggeryskilluse>> <<else>> <span class="blue">That was too easy. You didn't learn anything.</span> <br><br> <</if>> It's mercifully empty of other occupants. There's a lot of ground to cover, but you don't know how much time you have. <br><br> <<link [[Steal clothes|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 1>><<crimeUp 10 "thievery">><</link>> <br> <<link [[Steal valuables|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 2>><<crimeUp 10 "thievery">><</link>> <br> <<if $bird.upgrades.tools is 0 and !$bird.hunts.loot.tools>> <<link [[Steal tools|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 3>><<crimeUp 10 "thievery">><</link>> <br> <</if>> <<else>> <<if $exposed gte 2>> You try to keep out of <<his>> sight, <span class="red">but <<he>> spots you</span>. "Well now, what's a <<girl>> like you doing out here naked? Did you lose your clothes somewhere? Don't worry, I'll give you something to wear." <<else>> You scramble to your feet, trying to seem inconspicuous. <span class="red">It doesn't work.</span> "Oh? What's a <<girl>> like you doing out here?" the <<person>> asks. <</if>> Something about <<him>> makes you uneasy. <br><br> <<link [[Run|Bird Hunt Tent Steal Alone Caught]]>><<set $phase to 1>><<set $phase2 to 1>><</link>><<athleticsdifficulty 100 700>> <br> <<link [[Comply|Bird Hunt Tent Steal Alone Caught]]>><<set $phase to 2>><<set $phase2 to 1>><</link>> <br> <</if>><<effects>> <<set $daily.huntRemyAlerted to true>> <<if $phase is 1>> Before <<he>> can say anything else, you make a run for it. <<if $phase2 is 2>> "Hey! Get back here, ya damn brat!" <<else>> "Hey! Get back here! It's dangerous alone in the moor! I'll take good care of ya, I promise!" <</if>> <br><br> <<if $athleticsSuccess>> You pick up your pace and <span class="green">leave <<him>> behind in the rocky terrain</span>. You take flight once you're out of sight. With the group alerted, you won't be able to steal from them again today. <<if $phase2 is 1>><<set _huntFail to 1>><</if>> <br><br> <<flight_hunt_return>> <<else>> You get some good speed, <span class="red">but you trip on a rock</span>. <<gpain>><<pain 3>> <br><br> The <<person>> towers over you. "Since you didn't want to make things easy, we'll do this the hard way." <br><br> <<link [[Next|Bird Hunt Tent Steal Alone Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <<else>> You let the <<person>> approach you. <<He>> quickly drops <<his>> act. "Be good for me now, I'd rather not share you with the others." <br><br> <<link [[Next|Bird Hunt Tent Steal Alone Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Bird Hunt Tent Steal Alone Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Tent Steal Alone Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $pain gte 100 and $willpowerpain is 0>> It's too much. <<tearful>> you collapse to the ground. <br><br> The <<person>> chuckles. "I think the others will like you." <<He>> looks you over for a moment. "Hmm... come to thinkin', the boss would like you even more. Hold still." You can't do anything as <<he>> starts to bind your arms, and your consciousness fades. <br><br> <<flight_hunt_end>> <<unset $tentLootAmount>> <<endcombat>> <<link [[Next|Moor Abduction Wake]]>><<pass 60>><<set $stress -= 2000>><<set $moor to 50>><<clotheson>><</link>> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> You take the opportunity to flee. Luckily, <<he>> makes no attempt to pursue you. <br><br> <<if $phase2 is 1>><<set _huntFail to 1>><</if>> <<tearful>> you make sure you weren't followed before taking flight. With the group alerted, you won't be able to steal from them again today. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <<else>> You screech and push the <<person>> to the ground before quickly jumping to your feet. You give <<him>> a kick in the side for good measure before running. You hear <<him>> yell out a few curses, but <<he>> makes no effort to get up. <br><br> <<if $phase2 is 1>><<set _huntFail to 1>><</if>> <<tearful>> you make sure you weren't followed before taking flight. With the group alerted, you won't be able to steal from them again today. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <</if>><<effects>> <<if !$tentLootAmount>> <<set $tentLootAmount to 1>> <<else>> <<set $tentLootAmount += 1>> <</if>> <<if $tentLootAmount gte 2>> You continue searching. <br><br> <</if>> <<set $danger to (random(1, 10000) + ($tentLootAmount * 2000))>> <<if $phase is 1>> <<wearProp "rag">> You look around for any spare clothing. You find <<select_random_clothes_limited "upper" "lower" "under_upper" "under_lower" "legs" "hands">> <<if _random_clothes isnot "piece of fabric">> <<if setup.clothes[_random_slot][_random_index].word is "an">> an <<elseif setup.clothes[_random_slot][_random_index].word is "a">> a <<else>> a pair of <</if>> _random_clothes. <<else>> a large pile of ruined uniforms. <</if>> <<if _random_clothes isnot "piece of fabric">> <<if $bird.upgrades.wardrobe is 1>> You could tear it up for scrap cloth, or bring it back to the tower. <<else>> You have nowhere to store it at the tower. A few hours in the open would reduce it to scrap cloth. <</if>> <br><br> <<if $worn[_random_slot].cursed is 1>> <<set _cursedPrevent to true>> <</if>> <<set _outfitPrimaryWear to setup.clothes[_random_slot][$worn[_random_slot].index].outfitPrimary>> <<if _outfitPrimaryWear isnot undefined>> <<for _outfitSlot, _value range _outfitPrimaryWear>> <<if $worn[_outfitSlot].cursed is 1>> <<set _cursedPrevent to true>> <</if>> <</for>> <</if>> <<if !_cursedPrevent>> <<if $worn[_random_slot].name isnot "naked">> <<if $bird.upgrades.wardrobe is 1>> <<link [[Wear|Bird Hunt Tent Steal Clothes]]>><<handheldon>><<set $phase to 1>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear">><</link>> <span class="blue">Your $worn[_random_slot].name will be replaced.</span> <<else>> <<link [[Wear|Bird Hunt Tent Steal Clothes]]>><<handheldon>><<set $phase to 1>><<generalRuined _random_slot>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear">><<flight_hunt_get "fabric" 1>><</link>> <span class="blue">Your $worn[_random_slot].name will be scrapped.</span> <</if>> <<else>> <<link [[Wear|Bird Hunt Tent Steal Clothes]]>><<handheldon>><<set $phase to 1>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear">><</link>> <</if>> <</if>> <br> <<link [[Scrap for cloth|Bird Hunt Tent Steal Clothes]]>><<handheldon>><<set $phase to 2>><<flight_hunt_get "fabric" 1>><</link>> <br> <<if $bird.upgrades.wardrobe is 1>> <<link [[Steal it|Bird Hunt Tent Steal Clothes]]>><<handheldon>><<set $phase to 3>><<flight_hunt_get "clothing" 1 _random_slot _random_index>><</link>> <br> <</if>> <<else>> <br><br> <<link [[Steal|Bird Hunt Tent Steal Clothes]]>><<handheldon>><<set $phase to 4>><<flight_hunt_get "fabric" 3>><</link>> <br> <</if>> <<elseif $phase is 2>> <<if $birdhuntspray isnot 1>> <<set $birdhuntspray to 1>> You search along a wall of snare rods. You find a small cylinder in between a couple of them. It looks like a charge for your pepper spray. <<gspraymax>><<set $spraymax += 1>><<spray 5>> <br><br> <span class="gold">You've gained an additional pepper spray charge.</span> <<wearProp "pepperspray">> <<else>> <<set _looted to either("watch", "ring", "necklace", "bracelet")>> You search the tent for any valuables. You turn over a sleeping bag and find a nice-looking _looted. You take it with you. <<flight_hunt_get "valuables" 1 _looted>> <<wearProp _looted>> <</if>> <br><br> <<if $danger gte (9900 - $allure) and $tentLootAmount gte 2>> <<set $daily.huntRemyAlerted to true>><<unset $tentLootAmount>> <span class="red">You hear footsteps.</span> The <<person>> enters the tent and locks eyes with you. <br><br> <<link [[Run|Bird Hunt Tent Steal Run]]>><<handheldon>><</link>><<athleticsdifficulty 300 800>> <br> <<if $submissive lte 500>> <<link [[Hit|Bird Hunt Tent Steal Hit]]>><<handheldon>><<def 1>><</link>><<physiquedifficulty 8000 16000>><<defianttext>> <br> <</if>> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Bird Hunt Tent Steal Seduce]]>><<handheldon>><</link>><<promiscuous2>> <br> <</if>> <<elseif $bird.hunts.weight gte 3>> You won't be able to carry any more. <br><br> <<set $skulduggerydifficulty to ($tentLootAmount * 100)>> <<link [[Leave with your loot|Bird Hunt Tent Steal Alone Leave]]>><<handheldon>><</link>> <br> <<else>> You could look for more, though you don't know when the <<person>> will return. <br><br> <<link [[Steal clothes|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 1>><</link>><<dangerousText>> <br> <<link [[Steal valuables|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 2>><</link>><<dangerousText>> <br> <<if $bird.upgrades.tools is 0 and !$bird.hunts.loot.tools>> <<link [[Steal tools|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 3>><</link>><<dangerousText>> <br> <</if>> <<set $skulduggerydifficulty to ($tentLootAmount * 100)>> <<link [[Leave with your loot|Bird Hunt Tent Steal Alone Leave]]>><<handheldon>><</link>> <br> <</if>> <<else>> You spot a toolbox amidst their belongings. It's easy to carry, and light enough for you to fly with it. <<wearProp "toolbox">> <br><br> <<flight_hunt_get "tools" 1>> <<if $danger gte (9900 - $allure) and $tentLootAmount gte 2>> <<set $daily.huntRemyAlerted to true>><<unset $tentLootAmount>> <span class="red">You hear footsteps.</span> The <<person>> enters the tent and locks eyes with you. <br><br> <<link [[Run|Bird Hunt Tent Steal Run]]>><<handheldon>><</link>><<athleticsdifficulty 300 800>> <br> <<if $submissive lte 500>> <<link [[Hit|Bird Hunt Tent Steal Hit]]>><<handheldon>><<def 1>><</link>><<physiquedifficulty 8000 16000>><<defianttext>> <br> <</if>> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Bird Hunt Tent Steal Seduce]]>><<handheldon>><</link>><<promiscuous2>> <br> <</if>> <<elseif $bird.hunts.weight gte 3>> You won't be able to carry any more. <br><br> <<set $skulduggerydifficulty to ($tentLootAmount * 100)>> <<link [[Leave with your loot|Bird Hunt Tent Steal Alone Leave]]>><<handheldon>><</link>> <br> <<else>> You could look for more, though you don't know when the <<person>> will return. <br><br> <<link [[Steal clothes|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 1>><</link>><<dangerousText>> <br> <<link [[Steal valuables|Bird Hunt Tent Steal Alone 2]]>><<handheldon>><<set $phase to 2>><</link>><<dangerousText>> <br> <<set $skulduggerydifficulty to ($tentLootAmount * 100)>> <<link [[Leave with your loot|Bird Hunt Tent Steal Alone Leave]]>><<handheldon>><</link>> <br> <</if>> <</if>><<effects>> <<switch $phase>> <<case 1>>You wear it, and briefly admire yourself in a nearby mirror. <<case 2>>You quickly tear it up for easier transport. <<case 3>>You tuck it under your arm. <<case 4>>You fold up the uniforms as best you can for easier transport, and tuck them under your arm. <</switch>> <br><br> <<if $danger gte (9900 - $allure) and $tentLootAmount gte 2>> <<set $daily.huntRemyAlerted to true>><<unset $tentLootAmount>> <span class="red">You hear footsteps.</span> The <<person>> enters the tent and locks eyes with you. <br><br> <<link [[Run|Bird Hunt Tent Steal Run]]>><</link>><<athleticsdifficulty 300 1100>> <br> <<if $submissive lte 500>> <<link [[Hit|Bird Hunt Tent Steal Hit]]>><<def 1>><</link>><<physiquedifficulty 8000 16000>><<defianttext>> <br> <</if>> <<if hasSexStat("promiscuity", 2)>> <<link [[Seduce|Bird Hunt Tent Steal Seduce]]>><</link>><<promiscuous2>> <br> <</if>> <<elseif $bird.hunts.weight gte 3>> You won't be able to carry any more. <br><br> <<set $skulduggerydifficulty to ($tentLootAmount * 100)>> <<link [[Leave with your loot|Bird Hunt Tent Steal Alone Leave]]>><</link>> <br> <<else>> You could look for more, though you don't know when the <<person>> will return. <br><br> <<link [[Steal clothes|Bird Hunt Tent Steal Alone 2]]>><<set $phase to 1>><</link>><<dangerousText>> <br> <<link [[Steal valuables|Bird Hunt Tent Steal Alone 2]]>><<set $phase to 2>><</link>><<dangerousText>> <br> <<if $bird.upgrades.tools is 0 and !$bird.hunts.loot.tools>> <<link [[Steal tools|Bird Hunt Tent Steal Alone 2]]>><<set $phase to 3>><</link>><<dangerousText>> <br> <</if>> <<set $skulduggerydifficulty to ($tentLootAmount * 100)>> <<link [[Leave with your loot|Bird Hunt Tent Steal Alone Leave]]>><</link>> <br> <</if>><<effects>> You run past <<him>>. "Hey! We've got a thief!" You hear stirring and yelling from the other tents. Adrenaline kicks in. You don't want to think about what they'll do to you if they catch you. <br><br> <<if $athleticsSuccess>> Luckily, you won't have to. <span class="green">You leave them behind in the rocky terrain</span>. They begin to yell at each other, shouting blame at each other over how they could have possibly lost you. You take flight once you're out of sight. With the group alerted, you won't be able to steal from them again today. <br><br> <<flight_hunt_return>> <<else>> Unfortunately, you're about to find out. <span class="red">You're tackled to the ground.</span> <<gpain>><<pain 3>> <br><br> The group towers over you. <br><br> <<link [[Next|Bird Hunt Tent Steal Group Fight]]>><<set $molestationstart to 2>><</link>> <br> <</if>><<effects>> Without thinking, you grab one of the snare rods from the wall and swing it at <<him>>. <<if $physiqueSuccess>> <span class="green">You get <<him>> right in the side of the head,</span> sending <<him>> to the ground. The rod rings from the impact. <<Hes>> out cold. <br><br> Now would be a good time to leave. You flee the tent and the camp, taking flight once you're a good distance away. You're just barely able to hear yelling in the distance behind you. With the group alerted, you won't be able to steal from them again today. <br><br> <<flight_hunt_return>> <<else>> <span class="red"><<He>> catches it easily,</span> using it to pull you in. <<He>> turns it to the side and pushes you to the ground with it. "We've got a thief, and a feisty one at that!" <br><br> <<He>> holds you down, and a group enters the tent. They bear down on you. "Let's teach <<phim>> a lesson." <br><br> <<link [[Next|Bird Hunt Tent Steal Group Fight]]>><<set $fightstart to 2>><</link>> <br> <</if>><<effects>> <<set _seductionMod to $tentLootAmount or 0>> <<set $seductiondifficulty to (5000 + (_seductionMod * 1000))>> <<seductioncheck>> <br><br> <<seductionskilluptext>> <<seductionskilluse>> <<if $speech_attitude is "meek">> "I-I'm sorry! I got lost and I saw this camp and I was looking for... I'm sorry! Let... let me make it up to you," you say. <<elseif $speech_attitude is "bratty">> "Oh, there you are. I was waiting for someone to punish me for this," you say, flaunting. <<else>> "Hey, I'll let you fuck me if I can keep this," you say plainly. <</if>> <<promiscuity2>> <<if $seductionrating gte $seductionrequired>> <<He>> raises an eyebrow, but eyes you hungrily. "Well, how can I say no to that? With the way ya snuck in, I won't even have to share ya!" <br><br> <<link [[Next|Bird Hunt Tent Steal Seduce Sex]]>><<set $sexstart to 1>><</link>> <br> <<else>> <<He>> looks at you with confusion. "What the fuck? Hey, guys! We've got a thief in here!" You hear stirring from the other tents. <br><br> Now would be a very good time to leave. <br><br> <<link [[Fight!|Bird Hunt Tent Steal Group Fight]]>><<def 2>><<set $fightstart to 1>><</link>> <br> <<link [[Run!|Bird Hunt Tent Steal Group Run]]>><</link>><<athleticsdifficulty 300 800>> <br> <<link [[Freeze!|Bird Hunt Tent Steal Group Fight]]>><<sub 2>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Bird Hunt Tent Steal Seduce Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Tent Steal Seduce Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $pain gte 100 and $willpowerpain is 0>> It's too much. <<tearful>> you collapse to the ground. <br><br> The <<person>> chuckles. "I think the others will like you." <<He>> looks you over for a moment. "Hmm... come to thinkin', the boss would like you even more. Hold still." You can't do anything as <<he>> starts to bind your arms, and your consciousness fades. <br><br> <<flight_hunt_end>> <<unset $tentLootAmount>> <<endcombat>> <<link [[Next|Moor Abduction Wake]]>><<pass 60>><<set $stress -= 2000>><<set $moor to 50>><<clotheson>><</link>> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Alright, get the fuck outta here before I come to my senses," <<he>> says. You do so. <br><br> <<tearful>> you make sure you weren't followed before taking flight. With the group alerted, you won't be able to steal from them again today. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <<else>> You screech and push the <<person>> to the ground before quickly jumping to your feet. You give <<him>> a kick in the side for good measure before running. You hear <<him>> yell out a few curses, but <<he>> makes no effort to get up. <br><br> <<tearful>> you make sure you weren't followed before taking flight. With the group alerted, you won't be able to steal from them again today. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <</if>><<effects>> <<set $daily.huntRemyAlerted to true>> You quietly exit the tent. You're almost in the clear. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> You hear footsteps from around the side of the tent, and dive out of the way. The <<person>> returns to the inside, unaware of your presence. <br><br> Now would be a good time to leave, before <<he>> notices the stolen goods. You flee the encampment and take flight once you're out of sight. You're just barely able to hear yelling in the distance. With the group alerted, you won't be able to steal from them again today. <br><br> <<flight_hunt_return>> <<else>> However, <span class="red">the <<person>> turns a corner and spots you</span>. <<if $exposed gte 2>> "Well now, what's a <<girl>> like you doing out here naked? Did you lose your clothes somewhere? Don't worry, I'll give you something to wear." <<else>> "Oh? What's a <<girl>> like you doing out here?" <<he>> asks. <</if>> <<if $tentLootAmount is 1>> <<He>> slowly looks down at what you're holding. "H-hey, how did you get that?" <<He>> pauses, seemingly recognising what you've stolen. "Why don't... Why don't you just come here for a moment? We can talk this through." <br><br> <<link [[Run|Bird Hunt Tent Steal Alone Caught]]>><<set $phase to 1>><<set $phase2 to 2>><</link>><<athleticsdifficulty 200 700>> <br> <<link [[Comply|Bird Hunt Tent Steal Alone Caught]]>><<set $phase to 2>><<set $phase2 to 2>><</link>> <br> <<else>> <<He>> slowly looks down at what you're holding. "Hey! We've got a thief!" <<he>> yells. You hear stirring from the other tents. <br><br> Now would be a very good time to leave. <br><br> <<link [[Fight!|Bird Hunt Tent Steal Group Fight]]>><<def 2>><<set $fightstart to 1>><</link>> <br> <<link [[Run!|Bird Hunt Tent Steal Group Run]]>><</link>><<athleticsdifficulty 300 800>> <br> <<link [[Freeze!|Bird Hunt Tent Steal Group Fight]]>><<sub 2>><<set $molestationstart to 1>><</link>> <br> <</if>> <</if>> <<unset $tentLootAmount>><<effects>> You run as fast as you can. Adrenaline kicks in. You don't want to think about what they'll do to you if they catch you. <br><br> <<if $athleticsSuccess>> Luckily, you won't have to. <span class="green">You leave them behind in the rocky terrain</span>. They begin to yell at each other, shouting blame at each other over how they could have possibly lost you. You take flight once you're out of sight. With the group alerted, you won't be able to steal from them again today. <<if $phase2 is 1>><<set _huntFail to 1>><</if>> <br><br> <<flight_hunt_return>> <<else>> Unfortunately, you're about to find out. <span class="red">You're tackled to the ground.</span>. <<gpain>><<pain 3>> <br><br> The group towers over you. <br><br> <<link [[Next|Bird Hunt Tent Steal Group Fight]]>><<set $fightstart to 1>><</link>> <br> <</if>><<if $fightstart is 1>> <<set $fightstart to 3>> <<generate2>><<generate3>><<generate4>><<generate5>> <<neutral 1>> <<violence 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <<defiance 50 1>> You lash out at the first one that reaches you, a <<person2>><<person>>. <<He>> isn't expecting it, seemingly thinking you'd run instead. Your fist connects right with <<his>> face, but the rest are upon you in an instant. <<elseif $fightstart is 2>> <<set $fightstart to 3>> <<generate2>><<generate3>><<generate4>><<generate5>> <<neutral 1>> <<violence 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> You push away the rod and the <<person1>><<person>> holding it, but the rest are upon you in an instant. <<elseif $molestationstart is 1>> <<set $molestationstart to 0>> <<generate2>><<generate3>><<generate4>><<generate5>> <<controlloss>> <<neutral 1>> <<molested>> <<maninit>> <<set $enemytrust += 100>> <<set $enemyanger -= 200>> You freeze. They slow upon reaching you, and let their guard down. They don't intend to let you go, though. <<elseif $molestationstart is 2>> <<set $molestationstart to 0>> <<generate2>><<generate3>><<generate4>><<generate5>> <<controlloss>> <<neutral 1>> <<molested>> <<maninit>> <</if>> <<effects>> <<effectsman>> <<man>> <<audience>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Bird Hunt Tent Steal Group Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Tent Steal Group Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $fightstart is 3 and $pain gte 100 and $willpowerpain is 0>> It's too much. <<tearful>> you collapse to the ground. <br><br> The <<person4>><<person>> gloats. "Had enough? Too bad, we're only just getting started." <br><br> <<link [[Next|Bird Hunt Tent Defeated]]>><<set $molestationstart to 1>><</link>> <br> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The <<person4>><<person>> chuckles. "<<pShes>> fun. Let's take <<phim>> to the boss." You're still surrounded. You can't do anything as the whole group swarms you. Someone binds your arms, and your consciousness fades. <br><br> <<flight_hunt_end>> <<unset $tentLootAmount>> <<endcombat>> <<link [[Next|Moor Abduction Wake]]>><<pass 60>><<set $stress -= 2000>><<set $moor to 50>><<clotheson>><</link>> <br> <<else>> The <<group>> lies defeated before you, but the ones who didn't participate still block the way. You take a step forward and let out a hawk-like screech. They flee in panic. <<gggcontrol>><<control 50>> <br><br> <<tearful>> you flee with your spoils and take flight. With the group alerted, you won't be able to steal from them again today. <<clotheson>> <<endcombat>> <<flight_hunt_return>> <</if>> <<set $fightstart to 0>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<neutral 1>> <<molested>> <<set $enemytrust += 200>> <<set $enemyanger -= 300>> <</if>> <<effects>> <<effectsman>> <<man>> <<audience>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Tent Steal Group Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Tent Defeated]]>><</link>></span><<nexttext>> <</if>><<effects>> <<set $daily.huntRemyAlerted to true>> You decide that your spouse would make a good distraction while you sneak in to steal from the camp. <<if $monster is 1>> "<<Wife>> wants landbound things? Would be happy to help." <<else>> <<bHe>> looks restless and eager to swoop. <</if>> <br><br> You land away from the campsite, and give <<bhim>> the signal. <<bHe>> lets out a loud screech that pierces the air. Those outside the tents quickly scramble to shelter, and begin shouting orders at each other. You move in, looking for anything left outside in their panic. <br><br> <<if $bird.upgrades.pot is 0 and !$bird.hunts.loot.pot>> They've left their cooking pot unattended. <br><br> <<link [[Steal the cooking pot|Bird Hunt Tent Steal Pot]]>><</link>> <br> <<link [[Steal something else|Bird Hunt Tent Steal Other]]>><</link>> <br> <<else>> <<set _looted to either("watch", "ring", "necklace", "bracelet")>> <<set _prop to _looted>> <<if currentSkillValue("skulduggery") gte random(200,1000)>> You manage to find two _looted<<if _looted is "watch">>es<<else>>s<</if>>. You grab them. <<flight_hunt_get "valuables" 2 _looted>> <<else>> You only find a _looted. You grab it. <<flight_hunt_get "valuables" 1 _looted>> <</if>> Knowing they won't stay in their tents forever, you flee the camp. You won't be able to steal from them again today. <br><br> Regrouping with the Great Hawk in the sky, you show <<bhim>> what you found. <<if $monster is 1>> "<<Wife>> is smart. Good plan," <<bhe>> praises you. <<else>> <<bHe>> lets out another screech, seeming transfixed on the shiny object you've pilfered. <</if>> <br><br> <<flight_hunt_return>> <</if>><<effects>> <span class="gold">You dump out the cooking pot and take it.</span> You could use it to cook your food back at the tower. <br><br> Knowing they won't stay in their tents forever, you flee the camp. <br><br> Regrouping with the Great Hawk in the sky, you show <<bhim>> what you found. <<if $monster is 1>> "<<Wife>> is smart. Good plan," <<bhe>> praises you. <<else>> <<bHe>> lets out another screech, seeming transfixed on the shiny object you've pilfered. <</if>> <br><br> <<flight_hunt_get "pot" 1>> <<flight_hunt_return>><<effects>> <<set _looted to either("watch", "ring", "necklace", "bracelet")>> <<set _prop to _looted>> <<if currentSkillValue("skulduggery") gte random(200,1000)>> You manage to find two _looted<<if _looted is "watch">>es<<else>>s<</if>>. You grab them and begin to leave. <<flight_hunt_get "valuables" 2 _looted>> <<else>> You only find a _looted. You grab it and begin to leave. <<flight_hunt_get "valuables" 1 _looted>> <</if>> Knowing they won't stay in their tents forever, you flee the camp. You won't be able to steal from them again today. <br><br> Regrouping with the Great Hawk in the sky, you show <<bhim>> what you found. <<if $monster is 1>> "<<Wife>> is smart. Good plan," <<bhe>> praises you. <<else>> <<bHe>> lets out another screech, seeming transfixed on the shiny object you've pilfered. <</if>> <br><br> <<flight_hunt_return>><<effects>> <<if $livestock_intro isnot undefined>> You decide to get revenge for your time on the farm, <<else>> You decide to give Remy a well-deserved headache, <</if>> and think of ways to cause havoc. You survey the camp, spotting a few crates and carts full of various goods. Too much for either of you to carry. Your eyes fall on the group's bonfire. An idea strikes you. <br><br> Those supplies will burn easily. <<if $farm_attack_timer isnot undefined>> You could teach Remy a thing or two about torching someone's hard work. <</if>> The Great Hawk could distract them, buying you enough time to throw as much as you can onto the fire. <<if Weather.precipitation is "rain">> The rain will make it harder to pull off, though. <</if>> Alternatively, you could simply scare them away. <br><br> Your spouse awaits your decision. <br><br> <<link [[Burn their supplies|Bird Hunt Tent Sabotage 2]]>><</link>><<if $farm?.aggro>><<laggro>><</if>><<if Weather.precipitation is "rain">><<athleticsdifficulty 400 800>><<else>><<athleticsdifficulty 200 600>><</if>><<crime "destruction">> <br> <<link [[Just scare them off|Bird Hunt Tent Scare]]>><</link>> <br><<effects>> You nod your head, pointing to the campfire. <br><br> <<if $monster is 1>> Your <<beasttype>> sighs. "Angry look in your eyes. <<Wife>> wants to hurt bad landbound. Will be dangerous, but will protect <<wife>>." <<else>> Your <<beasttype>> looks at you intently, but knowingly. <</if>> <br><br> You land away from the campsite, and give <<bhim>> the signal. <<bHe>> lets out a loud screech that pierces the air, making Remy's goons panic. Those outside the tents quickly scramble to shelter, and begin shouting orders at each other. <br><br> <<if $athleticsSuccess>> You rush in to the centre of the camp, grabbing food and other supplies. <span class="green">You quickly throw one after another into the fire.</span> You manage to get a sizeable chunk of the things nearby. <<if $farm?.aggro>><<farm_aggro -5>><<laggro>><</if>><<crimeUp 25 "destruction">> <br><br> You see a <<generate2>><<person2>><<person>> peek <<his>> head out of a tent. <<He>> must have heard you running around. <<His>> eyes widen in horror as <<he>> sees the bonfire. <br><br> <span class="red">A terrible idea strikes you.</span> Those tents look flammable, too. <br><br> <<link [[Burn their tents|Bird Hunt Tent Burn]]>><</link>><<if $farm?.aggro>><<llaggro>><</if>><<if Weather.precipitation is "rain">><<athleticsdifficulty 500 1000>><<dancedifficulty 500 1000>><<else>><<athleticsdifficulty 300 1000>><<dancedifficulty 300 1000>><</if>><<dangerousText>> <br> <<link [[Leave while you can|Bird Hunt Tent Flee]]>><</link>> <br> <<else>> <<set _huntFail to 1>> You run into the centre of the camp, grabbing food and other supplies. You do your best to get as much into the fire as you can, but it takes you longer than you thought, <span class="red">and many supplies remain</span>. <<tiredness 5>><<gtiredness>><<crimeUp 10 "destruction">> <br><br> You see a <<generate2>><<person2>><<person>> peek <<his>> head out of a tent. <<He>> must have heard you running around. "Hey! Some brat's burning our shit!" <br><br> You're already winded. You need to escape. <br><br> <<link [[Next|Bird Hunt Tent Flee]]>><</link>> <br> <</if>><<effects>> <<set $daily.huntRemyAlerted to true>> Having been spotted, you make haste away from the camp. The <<person>> seems to consider chasing after you, but one glance at the <<person1>><<beasttype 0>> swooping down at <<person2>><<him>> is enough to make <<him>> reconsider. <br><br> You're able to get away, and take off once you get enough ground speed. You regroup with your spouse. <br><br> <<person1>> <<if $monster is 1>> "Don't understand why we did this, but <<wife>> is safe," <<bhe 0>> says, happy that nothing happened to you. <<else>> <<bHe>> looks you over to make sure you're okay, then screeches. <<bHes 0>> glad you're safe. <</if>> <br><br> With the group alerted, you won't be able to sabotage them again today. <br><br> <<flight_hunt_return>><<effects>> <<wearProp "torch">> Ignoring the <<person>>, you grab a long piece of wood and wrap some cloth around it. You dip it into the fire until it begins burning. Your heart starts to beat faster as you realise what you're about to go through with. <<stress 6>><<gstress>> <br><br> The <<person>> doesn't seem to understand what you're doing, until you begin to walk towards <<him>>. <<His>> eyes widen. <<He>> jumps out of <<his>> tent and begins yelling. "Oi! There's a <<girl>> trying to burn us out!" More of them emerge from their tents. <br><br> You take a step forward. Then another. You begin to run, torch to the side. You catch one empty tent. You keep running. <<gcrime "destruction">><<crimeUp 15 "destruction">> <br><br> <<if $athleticsSuccess>> You're being chased, <span class="green">but you're too quick</span>. You run like the wind, setting fire to as many tents as you can, all unoccupied as every member of the group is either trying to stop you or douse the flames. <<if $farm?.aggro>><<farm_aggro -5>><<laggro>><</if>><<ggcrime "destruction">><<crimeUp 35 "destruction">> <br><br> <<if $danceSuccess>> Some of them try to throw water at you, <span class="green">but you dodge every attempt to quench the flame</span>. You duck clear under a bucketful of water hurled at you, only to spin and light another tent. You deftly avoid someone trying to tackle you, and pass another tent as it goes up in smoke. They try to surround you, so you keep your torch between you and them, making them think twice. Arriving near their last tent, you hurl your torch. It finds its mark. <<if $farm?.aggro>><<farm_aggro -5>><<laggro>><</if>><<ggcrime "destruction">><<crimeUp 35 "destruction">> <br><br> There's no one left chasing you. They're all trying to stop the fire. Smoke begins to fill your lungs. You run out of sight and spread your wings. The rising hot air makes it easy. <br><br> <<link [[Next|Bird Hunt Tent Burnt]]>><<handheldon>><</link>> <br> <<else>> You've torched nearly half the tents when <span class="red">the <<person>> manages to dump a bucket of water over you,</span> extinguishing your torch. <<silently>><<water>><</silently>> <br><br> You soon find yourself surrounded. "You dumb fucking brat, do you have any idea what we're going to do to you for this?" the <<person2>><<person>> says. Left defenceless, your eyes dart around, looking for a way out. The fires are extinguished. There's no opening in the crowd. <<stress 6>><<trauma 6>><<gstress>><<gtrauma>> <br><br> No opening around you, at least. But there's one above you. <br><br> Salvation dives from above with a screech. <br><br> <<link [[Next|Bird Hunt Tent Burnt Fail]]>><<handheldon>><</link>> <br> <</if>> <<else>> You run as fast as you can, <span class="red">but the thugs are too fast</span> and intercept your path. <br><br> You soon find yourself surrounded, only protected by the torch. Someone dumps a bucket of water at you, quenching the flame. "You dumb fucking brat, do you have any idea what we're going to do to you for this?" the <<person2>><<person>> says. Left defenceless, your eyes dart around, looking for a way out. The fires are extinguished. There's no opening in the crowd. <<stress 6>><<trauma 6>><<gstress>><<gtrauma>> <<silently>><<water>><</silently>> <br><br> No opening around you, at least. But there's one above you. <br><br> Salvation dives from above with a screech. <br><br> <<link [[Next|Bird Hunt Tent Burnt Fail]]>><<handheldon>><</link>> <br> <</if>><<effects>> The sight of your <<person1>><<beasttype 0>> landing is enough to shake the nerve of the group around you. Those still shaken from the fires flee, but the braver ones still approach. <br><br> Your spouse lunges ahead in warning. A few of them flinch, and it's all the opening <<bhe 0>> needs. <<bHe 0>> dashes ahead, disarming several of them and pushing them away. You follow after <<bhim 0>>, running as fast your legs let you. <br><br> One of them gets close enough to bring a snare rod down on you. You manage to step out of the way, but another strike follows. A large wing blocks the impact and pushes back, knocking your assailant away. It's enough time for you to take to the air. <br><br> The Great Hawk quickly follows. <<bHes 0>> flying unsteady. <<bHe 0>> seems injured, but at least <<bhes 0>> still able to fly. You were able to escape them. <br><br> <<if $monster is 1>> <<bHis 0>> injury becomes more obvious as you continue flying. You try to apologise for acting so recklessly, but <<bhe 0>> simply keeps flying without saying anything. <<else>> <<bHis 0>> injury becomes more obvious as you continue flying. You try to apologise for acting so recklessly, but <<bhe 0>> simply ignores your words. <</if>> <<set $bird.injured to 16>><<npcincr "Great Hawk" love -3>><<llove>> <br><br> It's clear <<bhes 0>> not well enough to keep hunting, so you fly back to the castle. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return home (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return Injured]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br><<effects>> <<if $monster is 1>> The <<person1>><<beasttype>> flies over to you. "<<Wife>> isn't hurt?" You cough from the smoke, but confirm that you're fine. "Fire. Too dangerous. Bold plan from <<wife>>. Hard not to worry." <<else>> The <<person1>><<beasttype>> flies over to you. <<bHe 0>> begins inspection all around you, making sure you're not injured. Once done, <<bhe 0>> squawks. <</if>> <br><br> You look behind you. The goons have all started to salvage what they can from the flames and flee, and in minutes, the camp is abandoned and destroyed. The smoke rises high, and will be visible from a great distance. <span class="green">The moor will be safer, if only for a few days.</span> <<set $moorLessDangerAll to 3000>><<set $daily.huntRemyBurnt to true>> <br><br> <<flight_hunt_return>><<effects>> <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> You decide to keep your meddling discreet. <<else>> You decide to get this group away from your territory. You don't like them being anywhere near the tower. <</if>> <br><br> You tell the <<beasttype>> that you want to sing loudly with <<bhim>> to scare the campers. <<bHe>> nods. It's time to begin your concert. <br><br> You let out the loudest bird screech you can manage. That alone is enough to make the campers jump. Then the <<beasttype>> joins in. You circle over them, keeping up your great cacophony of noise. <br><br> In a brief pause, you can just barely manage to hear shouting. <br><br> "...two of the fucking things?!"<br> "...said there was only one..."<br> "...just trying to scare us off..." <br><br> They clearly aren't enjoying the show, as they begin throwing rocks in the air. Not that any of them could reach you. After a few minutes, you feel satisfied with the effect you've had. <<stress -6>><<lstress>><<trauma -12>><<lltrauma>> <br><br> You won't be able to do anything else to them today, now that they're alerted. <<set $daily.huntRemyAlerted to true>> <br><br> <<flight_hunt_return>><<effects>> <<flight_hunt_remove "lurkers" 1>> You decide that you can spare one of your caught lurkers. <<if $bird.hunts.duo is true>> <<generate1>><<person1>><<npc "Great Hawk" 2>> You look to your spouse. "Think you can hit a mark this high up?" You hold up your lurker. <<bHe 1>> flies close to you, grabbing it. <br><br> The two of you circle for a moment as the Great Hawk aims. <<bHe 1>> drops the lurker, and it lands true, right on the head of a <<person1>><<person>> below. <<else>> <<generate1>><<person1>> You circle overhead, trying to find a good target. You spot a <<person>> sitting by a firepit. You drop your lurker, and your aim is true. <br><br> It lands right on the head of a <<person1>><<person>> below. <</if>> The impact knocks <<him>> to the ground, and <<he>> begins screaming as the lurker stirs, now returned to a liveable altitude. More people rush out from the tents to assist their comrade. You can't help but laugh at the mayhem. <<stress -6>><<trauma -3>><<lstress>><<ltrauma>> <br><br> You won't be able to do anything else to them today, now that they're alerted. <<set $daily.huntRemyAlerted to true>> <br><br> <<flight_hunt_return>><<effects>> <<endevent>> <<set $daily.emptyCamp to true>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> You and your <<beasttype>> land at the outskirts of the site. <<bHe>> takes in the surroundings. <<if $monster is 1>> "Why do the landbound leave their things like this? Do they have so much they don't need all of it?" <<bhe>> asks. You chuckle at <<bhis>> question. <<else>> <<bHe>> kicks over some trash and squawks, confused as to why there's so much of it. <</if>> <<else>> You land at the outskirts of the site. You take in your surroundings. <</if>> <br><br> <<if $daily.emptyCampLoot is undefined>> <<set $daily.emptyCampLoot to 4>> <</if>> <<switch $daily.emptyCampLoot>> <<case 4>>There's trash everywhere, you're sure to find something if you look. <<case 3>>You've gone through some of the trash, but there's still much to find. <<case 2>>You've found many things, but there should still be more. <<case 1>>You've searched almost everywhere now, there's not much more for you to find today. <</switch>> <<if $bird.hunts.duo is true>> Rummaging through trash isn't a fun task, though searching with your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> should make this faster. <br><br> <<link [[Scavenge (0:05)|Bird Hunt Scavenge]]>><<bird_pass 5>><</link>> <br> <<else>> Searching through the trash is not a fun task. <br><br> <<link [[Scavenge (0:10)|Bird Hunt Scavenge]]>><<bird_pass 10>><</link>> <br> <</if>><<effects>> <<endevent>> <<if !$daily.emptyCampFox and $rng gte 80>> <<beastNEWinit 1 fox>> <<set $daily.emptyCampFox to true>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk" 2>> You and your <<beasttype 1>> look around for anything of use. <br><br> As you rummage through the trash, you hear a noise behind you. You turn and see a <<beasttype 0>>. <<bHe 0>> looks at you and your <<beasttype 1>>, then turns and runs. Your <<beasttype 1>> turns to look at <<bhim 0>>. <<if $NPCList[1].monster is "monster">> "Smart not to interrupt us," <<bhe 1>> says. <<else>> <<bHe 1>> screeches, but does not give chase. <</if>> You continue your search. <br><br> <<link [[Next|Bird Hunt Scavenge]]>><<endevent>><</link>> <br> <<else>> You look around for anything that could be useful to you. <br><br> As you rummage through the trash, you hear a noise behind you. You turn and see a <<beasttype>> rush you down! <<bHe>> jumps and pins you to the ground. <<if $monster is 1>> "This is my find. I won't give it up for nothing, I want to have some fun," <<bhe>> says. <<else>> <<bHe>> yips triumphantly and pokes you with <<bhis>> snout. <</if>> <br><br> <<link [[Next|Bird Hunt Scavenge Fox]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <<else>> <<set $daily.emptyCampLoot-->> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> You and your <<beasttype>> look around for anything of use. <<else>> You look around for anything that could be useful to you. <</if>> <br><br> <<if $rng gte 70>> <<select_random_clothes_limited "upper" "lower" "under_upper" "under_lower" "legs" "hands">> None of the trash you find is of any interest to you, but you do find <<if _random_clothes isnot "piece of fabric">> <<if setup.clothes[_random_slot][_random_index].word is "an">> an <<elseif setup.clothes[_random_slot][_random_index].word is "a">> a <<else>> a pair of <</if>> _random_clothes. <<if $bird.upgrades.wardrobe is 1>> You could take it, or just tear it up for some cloth. <<else>> Without anywhere to store it, all you can do is tear it up for some cloth. <</if>> <<else>> some torn up fabric. <</if>> <br><br> <<if _random_clothes isnot "piece of fabric">> <<if $worn[_random_slot].cursed is 1>> <<set _cursedPrevent to true>> <</if>> <<set _outfitPrimaryWear to setup.clothes[_random_slot][$worn[_random_slot].index].outfitPrimary>> <<if _outfitPrimaryWear isnot undefined>> <<for _outfitSlot, _value range _outfitPrimaryWear>> <<if $worn[_outfitSlot].cursed is 1>> <<set _cursedPrevent to true>> <</if>> <</for>> <</if>> <<if !_cursedPrevent>> <<if $worn[_random_slot].name isnot "naked">> <<if $bird.upgrades.wardrobe is 1>> <<link [[Wear|Bird Hunt Scavenge Clothes]]>><<set $phase to 1>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear">><</link>> <span class="blue">Your $worn[_random_slot].name will be replaced.</span> <<else>> <<link [[Wear|Bird Hunt Scavenge Clothes]]>><<set $phase to 1>><<generalRuined _random_slot>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear">><<flight_hunt_get "fabric" 1>><</link>> <span class="blue">Your $worn[_random_slot].name will be scrapped.</span> <</if>> <<else>> <<link [[Wear|Bird Hunt Scavenge Clothes]]>><<set $phase to 1>><<flight_hunt_get "clothing" 1 _random_slot _random_index "wear">><</link>> <</if>> <</if>> <br> <<link [[Scrap for cloth|Bird Hunt Scavenge Clothes]]>><<set $phase to 2>><<flight_hunt_get "fabric" 1>><</link>> <br> <<if $bird.upgrades.wardrobe is 1>> <<link [[Steal it|Bird Hunt Scavenge Clothes]]>><<set $phase to 3>><<flight_hunt_get "clothing" 1 _random_slot _random_index>><</link>> <br> <</if>> <<else>> <<link [[Steal|Bird Hunt Scavenge Clothes]]>><<set $phase to 4>><<flight_hunt_get "fabric" 3>><</link>> <br> <</if>> <<else>> <<if $rng gte 30>> <<if $rng gte 66>> Amidst the useless trash, you manage to find the torn remains of some clothes. <<flight_hunt_get "fabric" 1>> <<else>> Amidst the useless trash, you find many torn up clothes. They are too disfigured to be resewn. Still, it's a lot of useful material. <<flight_hunt_get "fabric" 2>> <</if>> <br><br> <<if $bird.hunts.duo is true>> <<your_bird_text "cap">> looks over your new find. <<if $monster is 1>> "Landbound shed plumage often," <<bhe>> says. <<else>> <<bHe>> rubs <<bhis>> head against the fabric, enjoying its softness. <</if>> <br><br> <</if>> <<set _prop to "rag">> <<else>> <<if $rng gte 18>> Most of the trash is boring and unappealing, but you do manage to find some that shines nicely. <<flight_hunt_get "junk" 1>> <<elseif $rng gte 9>> Most of the trash is boring and unappealing, but you do manage to find some that shines nicely. <<flight_hunt_get "junk" 2>> <<else>> You manage to find a pit full of discarded cans. A fortunate find. <<flight_hunt_get "junk" 3>> <</if>> <br><br> <<if $bird.hunts.duo is true>> <<your_bird_text "cap">> looks over your new find. <<if $monster is 1>> "Strange that landbound leave behind good shinies," <<bhe>> says. <<else>> <<bHe>> looks happy to have more shiny things. <</if>> <br><br> <</if>> <<set _prop to "junk">> <</if>> <<if ($bird.hunts.weight gte 3 and $bird.hunts.duo is false) or $bird.hunts.weight gte 5>> <<wearProp _prop>> You won't be able to carry any more. You take off and begin to fly back to the tower. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<handheldon>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <<elseif $daily.emptyCampLoot lte 0>> You take another look around. You've gotten everything of value. All you can do now is leave. <<endevent>> <<flight_hunt_return>> <<else>> <<wearProp _prop>> <<switch $daily.emptyCampLoot>> <<case 3>>You've gone through some of the trash, but there's still much to find. <<case 2>>You've found many things, but there should still be more. <<case 1>>You've searched almost everywhere now, there's not much more for you to find today. <</switch>> <br><br> <<if $bird.hunts.duo is true>> <<link [[Keep searching (0:05)|Bird Hunt Scavenge]]>><<handheldon>><<bird_pass 5>><</link>> <br> <<else>> <<link [[Keep searching (0:10)|Bird Hunt Scavenge]]>><<handheldon>><<bird_pass 10>><</link>> <br> <</if>> <<link [[Leave|Bird Hunt Scavenge Leave]]>><<handheldon>><</link>> <br> <</if>> <</if>> <</if>><<effects>> Deciding you've found enough, you get ready to leave. <br><br> <<endevent>> <<flight_hunt_return>><<effects>> <<switch $phase>> <<case 1>>You wear it, and <<if $bird.hunts.duo is true>>show off in front of the <<beasttype>>.<<else>> wish you had a mirror to look at yourself.<</if>> <<case 2>>You tear it up for easier transport. <<case 3>>You tuck it under your arm. <<case 4>>You fold up the cloth as best you can for easier transport, and tuck it all under your arm. <</switch>> <br><br> <<if $bird.hunts.duo is true>> <<bHe>> looks over your new find. <<if $monster is 1>> "Landbound shed plumage often," <<bhe>> says. <<else>> <<bHe>> rubs <<bhis>> head against the fabric, enjoying its softness. <</if>> <br><br> <</if>> <<if ($bird.hunts.weight gte 3 and $bird.hunts.duo is false) or $bird.hunts.weight gte 5>> You won't be able to carry any more. You take off and begin to fly back to the tower. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <<elseif $daily.emptyCampLoot lte 0>> You take another look around. You've gotten everything of value. All you can do now is leave. <<endevent>> <<flight_hunt_return>> <<else>> <<switch $daily.emptyCampLoot>> <<case 3>>You've gone through some of the trash, but there's still much to find. <<case 2>>You've found many things, but there should still be more. <<case 1>>You've searched almost everywhere now, there's not much more for you to find today. <</switch>> <br><br> <<if $bird.hunts.duo is true>> <<link [[Keep searching (0:05)|Bird Hunt Scavenge]]>><<bird_pass 5>><</link>> <br> <<else>> <<link [[Keep searching (0:10)|Bird Hunt Scavenge]]>><<bird_pass 10>><</link>> <br> <</if>> <<link [[Leave|Bird Hunt Scavenge Leave]]>><</link>> <br> <</if>><<effects>> <<if $bird.hunts.goal is "hawk">> You fly after your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. <<bHes>> chasing after the plane as fast as <<bhe>> can. <<if $athletics gte 600>> You're able to keep up with <<bhim>>. <<else>> You struggle to keep up with <<bhim>>. <</if>> You keep chasing the plane with your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> for many minutes, until it eventually flies out of sight. <br><br> <<if $monster is 1>> "No luck this time," <<bhe>> says. "But I won't give up, with <<wife>>'s help I will catch one." You know that's not possible, but you don't have the heart to tell <<bhim>>. <<else>> <<bHe>> squawks in disappointment, but still looks determined. You doubt this is the last time <<bhe>> will try to catch a plane. <</if>> <br><br> <<endevent>> <<flight_hunt_options>> <<else>> <<if $phase is 0>> You decide to humour the <<beasttype>> and fly after the plane. You chase after it for many minutes, but it's clear you're no match for it. Eventually, it flies out of sight. <br><br> <<if $monster is 1>> "It was a good try, <<wife>>. Catching the big flying shiny will be hard, but we can do it!" <<bhe>> declares. You know you can't actually catch it, but you don't have the heart to say that to <<bhim>>. <<else>> <<bHe>> squawks in disappointment, but still looks determined. <<bHis>> hope of catching the plane remains unshaken. <</if>> <br><br> <<endevent>> <<flight_hunt_options>> <<elseif $phase is 1>> You tell <<bhim>> you won't waste time chasing a plane. <<if $monster is 1>> "What? Does <<wife>> not like shinies anymore?" <<bhe>> asks, dejected. You explain that the plane is too fast to be caught. "But... shiny..." <<bhe>> mutters. <<else>> Your response wipes all the joy from <<bhis>> face. You explain to <<bhim>> that the plane is too fast to be caught. <<bHe>> starts squawking at you, trying to convince you to chase it anyways. <</if>> <<bHe>> keeps fussing for a moment, but soon gets over <<bhis>> frustration. <br><br> <<endevent>> <<flight_hunt_options>> <</if>> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $NPCList[0].stance to "top">><<set $enemytrust -= 40>> <</if>> <<effects>> <<effectsman>> <<alarmstate '<span class="red"><<bHe>> screams right back in your face, drowning out your own screams.</span>'>> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Scavenge Fox Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Scavenge Fox]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> The <<beasttype>> stays on top of you for a moment. <<if $monster is 1>> "That was definitely worth it," <<bhe>> says. "I'm tired, you can have my find this time." <<else>> <<bHe>> nuzzles against your face and happily yips. <</if>> <<bHe>> finally gets up and leaves you be. <br><br> <<tearful>> you rise to your feet. You make sure <<bhes>> gone, then continue your search. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Scavenge]]>><</link>> <br> <<else>> The <<beasttype>> recoils away from you. <<if $monster is 1>> "Hey, I was just playing around," <<bhe>> says. <<else>> <<bHe>> quietly growls at you, but keeps <<bhis>> distance. <</if>> Annoyed and hurt, the <<bhe>> retreats back into the moor. <<tearful>> you gather yourself. You make sure <<bhes>> gone, then continue your search. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Scavenge]]>><</link>> <br> <</if>><<effects>> You land atop the pillar. There are symbols carved into its face. <<if $bird.hunts.duo is true>> Your spouse lands next to you. The pillar is large enough to provide cover for both of you. <</if>> You're able to see quite far around you. <br><br> <<if ($bird.hunts.distanceEast is 3 and !$daily.birdAmbushTrapEast) or ($bird.hunts.distanceEast is -3 and !$daily.birdAmbushTrapWest)>> Looking at the ground, you notice a small hole in the path, partly obstructed by grass. You could use it to make a trap. <br><br> <<set _hkMod to Math.floor($housekeeping / 40)>> <<set $hkTime to (30 - _hkMod)>> <<link [[`Set up a trap (${getTimeString($hkTime)})`|Bird Hunt Ambush Trap]]>> <<if $bird.hunts.distanceEast is 3>><<set $daily.birdAmbushTrapEast to true>><<else>><<set $daily.birdAmbushTrapWest to true>><</if>> <</link>><<note "Housekeeping" "teal">> <br> <<else>> <span class="blue">The hole you used for a trap is fully exposed. You won't be able to make another trap here today.</span> <br> <</if>> <<link [[Wait in ambush (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><</link>> <br><<effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> You tell <<if $monster is 1>>your <<nnpc_wife "Great Hawk">><<else>>the Great Hawk<</if>> about your plan to set up a trap. <<if $monster is 1>> "<<Wife>> is smart, making things like this," <<bhe>> says. <<else>> <<bHe>> squawks at you. <</if>> <<endevent>> <br><br> <</if>> <<set $ambushThreat to ($rng gte 50 ? "human" : "lurker")>> <<wearProp "leaf">> You start to make the trap. You scrounge up leaves and sticks to cover the hole. <<if ($rng + $hkTime) gte 80>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> <<if $ambushThreat is "human">> While you're still setting up, <<if $monster is 1>>your <<nnpc_wife "Great Hawk">><<else>>the Great Hawk<</if>> flies down to you. <<if $monster is 1>> "Landbound coming. Hide," <<bhe>> says, gesturing for you to follow. You fly back on top of the pillar with <<bhim>>. <<else>> <<bHe>> brushes <<bhis>> beak against you, then points <<bhis>> wings at the path. <<bHe>> flies back on top of the pillar, and you follow. <</if>> Sure enough, two people come walking by shortly after. With your trap incomplete, you decide against trying to rob them. After making sure they're gone, you return to your trap. <<else>> While you're still setting your trap, you hear <<if $monster is 1>>your <<nnpc_wife "Great Hawk">><<else>>the Great Hawk<</if>> let out a screech. You jump up, ready to defend yourself. You see nothing around you. Then you notice some lurkers fleeing. It appears <<bhe>> was just scaring them away from you. You sigh in relief and return to your trap. <</if>> <br><br> <<if $hkTime lte 10>> With practised precision, you set them down so that they cover any signs of the hole while being frail enough to cause anyone stepping on them to fall. <<elseif $hkTime lte 15>> You set them down so that they cover any signs of the hole while being frail enough to break when stepped on. It takes some time to set up properly. <<elseif $hkTime lte 20>> You consider how you can make the leaves cover the hole, while also being able to collapse when something walks on them. After a couple of attempts, your trap is stable enough. <<elseif $hkTime lte 25>> You consider how you can make the leaves cover the hole, while also being able to collapse when something walks on them. It takes you many attempts, but eventually you're able to make the trap without it collapsing. <<else>> You're not sure how to make a trap using only leaves and sticks, which results in you trying anything you can to make it work. After what feels like an eternity, you manage to set up the trap properly. <</if>> <<housekeeping 1 400>><<ghousekeeping 400>> <br><br> You stand up and admire your handiwork. Now it's time to put it to the test. You fly back up onto the pillar. All you can do now is wait. <br><br> <<link [[Wait (0:15)|Bird Hunt Ambush Wait]]>><<handheldon>><<bird_pass 15>><<endevent>><<set $birdAmbushTrap to true>><</link>> <br> <<else>> <<if $hkTime lte 10>> With practised precision, you set them down so that they cover any signs of the hole while being frail enough to cause anyone stepping on them to fall. <<elseif $hkTime lte 15>> You set them down so that they cover any signs of the hole while being frail enough to break when stepped on. It takes some time to set up properly. <<elseif $hkTime lte 20>> You consider how you can make the leaves cover the hole, while also being able to collapse when something walks on them. After a couple of attempts, your trap is stable enough. <<elseif $hkTime lte 25>> You consider how you can make the leaves cover the hole, while also being able to collapse when something walks on them. It takes you many attempts, but eventually you're able to make the trap without it collapsing. <<else>> You're not sure how to make a trap using only leaves and sticks, which results in you trying anything you can to make it work. After what feels like an eternity, you manage to set up the trap properly. <</if>> <<housekeeping 1 400>><<ghousekeeping 400>> <br><br> <<if $ambushThreat is "human">> <<generate1>><<generate2>> <<if $rng gte 85>> With the trap prepared, you stand up again. You hear something behind you. You turn around and see a <<person1>><<person>> and a <<person2>><<person>> grinning at you. <<if $exposed gte 2>> "Now what're you doing out here? Going for a nude stroll?" the <<person1>><<person>> asks sarcastically. "Wandering out here looking like that is just asking to get raped," the <<person2>><<person>> chimes in, eyes full of lust. <<He>> begins to approach you. <<else>> "Now what's a <<girl>> like you doing out here? Ya know, the moor's not a good place for a picnic," the <<person1>><<person>> says sarcastically. The <<person2>><<person>> chuckles before speaking up. "Out here in the wild, there ain't nowhere you could go if somebody wanted to have their way with ya," <<he>> says, approaching you with a dark grin. <</if>> <br><br> You only have a moment to react. The hole is right behind you. <br><br> <<link [[Pull <<him>> into the trap|Bird Hunt Ambush Caught Pull]]>><<handheldon>><</link>><<physiquedifficulty 2000 18000>> <br> <<link [[Stand still|Bird Hunt Ambush Caught Rape]]>><<handheldon>><<set $phase to 2>><<set $molestationstart to 1>><</link>> <br> <<else>> <<if $exposed gte 2>> You turn around and notice two people leering at your exposed body from down the path. "Hey... where's your clothes?" asks the <<person1>><<person>>. <br><br> <<if hasSexStat("exhibitionism", 4)>> <<link [[Flaunt|Bird Hunt Ambush Caught Flaunt]]>><<handheldon>><</link>><<exhibitionist4>> <<else>> <<insufficientStat "exhibitionism" "to flaunt your nudity at them">> <</if>> <br> <<else>> You turn around and notice two people staring at you a way's down the path. "What are you doing over there?" a <<person1>><<person>> calls out. <br><br> <</if>> <<link [[Hide|Bird Hunt Ambush Caught Hide]]>><<handheldon>><</link>> <br> <</if>> <<else>> <<if $bestialitydisable is "f" and $lurkerdisable is "f">> As you stand up, you notice movement in the grass near you. You turn to face it, but something leaps on your back and lands on your <<bottom>>. <br><br> <<link [[Next|Bird Hunt Ambush Struggle]]>><<handheldon>><<set $struggle_start to 1>><</link>> <br> <<else>> As you stand up, you notice movement in the grass near you. A small, leathery creature leaps at you! You manage to take flight, but not unscathed. You abandon the pillar and your trap in fear. <<handheldon>> <<beastescape>> <br><br> <<unset $hkTime>> <<unset $ambushThreat>> <<set _huntFail to 1>> <<flight_hunt_return>> <</if>> <</if>> <</if>> <<else>> <<if $hkTime lte 10>> With practised precision, you set them down so that they cover any signs of the hole while being frail enough to cause anyone stepping on them to fall. <<elseif $hkTime lte 15>> You set them down so that they cover any signs of the hole while being frail enough to break when stepped on. It takes some time to set up properly. <<elseif $hkTime lte 20>> You consider how you can make the leaves cover the hole, while also being able to collapse when something walks on them. After a couple of attempts, your trap is stable enough. <<elseif $hkTime lte 25>> You consider how you can make the leaves cover the hole, while also being able to collapse when something walks on them. It takes you many attempts, but eventually you're able to make the trap without it collapsing. <<else>> You're not sure how to make a trap using only leaves and sticks, which results in you trying anything you can to make it work. After what feels like an eternity, you manage to set up the trap properly. <</if>> <<housekeeping 1 400>><<ghousekeeping 400>> <br><br> You stand up and admire your handiwork. Now it's time to put it to the test. You fly back up onto the pillar. All you can do now is wait. <br><br> <<link [[Wait (0:15)|Bird Hunt Ambush Wait]]>><<handheldon>><<bird_pass 15>><<endevent>><<set $birdAmbushTrap to true>><</link>> <br> <</if>><<effects>> As the <<person2>><<person>> draws close, you suddenly grab <<his>> hand and pull. <<if $physiqueSuccess>> <span class="green"><<He>>'s unable to pull away.</span> You sidestep the hole, and bring <<him>> right to it. "Don't make this hard for-" <<His>> words are interrupted as <<he>> steps on the trap, causing <<him>> to stumble and fall. You take the opportunity to quickly run away. The <<person1>> doesn't chase you, instead opting to laugh at <<his>> misfortunate friend. <br><br> You make sure you're out of sight, then take flight. You fly above them and wait until the two leave, then land up on the pillar again. With your trap ruined, you can either leave or try to make an ambush without it. <<link [[Wait (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><<endevent>><<set $birdAmbushTrap to true>><</link>> <br> <<link [[Leave|Bird Hunt Ambush Leave]]>><<endevent>><<set $phase to 2>><</link>> <br> <<else>> <span class="red"><<He>> simply grabs you tighter.</span> "Resisting will only make me harder for ya, <<girl>>!" <<He>> grabs your hands and pushes you backwards, making you fall into your own trap. <<pain 10>><<ggpain>> <br><br> "That's what happens when ya resist!" <<he>> says. The pair pull you out of the hole, if only so that they can molest you properly. The <<person1>><<person>> holds your arms. "Now be still, don't make this worse for yourself," <<he>> says coldly. <br><br> <<link [[Next|Bird Hunt Ambush Caught Rape]]>><<set $phase to 3>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<if $phase is 3>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<set $NPCList[0].lefthand to "arms">> <<set $NPCList[0].righthand to "arms">> <<set $leftarm to "grappled">> <<set $rightarm to "grappled">> <<elseif $phase is 2>> You let the <<person2>><<person>> approach you. "Just be good and this'll be over soon," <<he>> says. <br> <</if>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Ambush Caught Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Ambush Caught Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The pair let go of you. "Whew, who knew we'd find a slut somewhere out here," says the <<person2>><<person>>. <br> "Yeah, but taking them in the middle of nowhere just ain't as thrilling," responds the <<person1>><<person>>. <<if $phase is 3>> "And what the fuck was that you said before you pushed <<phim>>? 'Resisting will only make me harder for you'? Did you mean 'make <i>this</i> harder for <<phim>>'?" <</if>> <br> "Argh, don't be such a whiner.<<if $phase is 3>> I know what I said.<</if>>" The two delve into conversation, now ignoring you. <<tearful>> you use the opportunity to make your escape. <<clotheson>> <<endcombat>> <<set _huntFail to 1>> <<flight_hunt_return>> <<else>> You manage to push the <<person1>><<person>> into the <<person2>><<person>>, sending them tumbling to the ground. You take advantage of the opportunity to run. <<set _phaseSaved to $phase>> <<clotheson>> <<endcombat>> <<set $phase to _phaseSaved>> You make sure you're out of sight, then take flight. You fly above them and wait until the they leave, then land up on the pillar again. <<if $phase is 3>> Your trap is ruined, but maybe you won't need it. <<else>> Your trap is still set, meaning you can still use it for your ambush. <</if>> <br><br> <<link [[Wait (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><<if $phase isnot 3>><<set $birdAmbushTrap to true>><</if>><<endevent>><</link>> <br> <<if $phase is 3>> <<link [[Leave|Bird Hunt Ambush Leave]]>><<endevent>><<set $phase to 2>><</link>> <br> <</if>> <</if>><<effects>> <<if $phase is 2>> You abandon your ambush point. <<set _huntFail to 1>> <br><br> <</if>> <<flight_hunt_return>><<effects>> You use your hands to pronounce your exposure and bend half way over. "Just getting some air," you say. "Don't mind me." <<exhibitionism4>> The two continue down the path, eyes fixed on your body the whole time. You point out your trap when one of them nearly steps on it. Once they're gone, you fly back to the top of the pillar. All you can do now is wait. <br><br> <<link [[Wait (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><<endevent>><<set $birdAmbushTrap to true>><</link>> <br><<effects>> <<if $exposed gte 2>> You cover yourself up however you can, before running off into the underbrush. <<arousal 500>><<garousal>> <<else>> You run off into the underbrush, out of sight. <</if>> The two approach casually. "Where'd <<pshe>> run off to?" the <<person1>><<person>> asks. <br> "Dunno, but the poor <<girl>> looked scared. We should keep an eye out, maybe..." their voices fade as they pass the pillar and continue down the path. <br><br> You fly back to the top of the pillar once you're sure they're gone. Your trap is ready, now you just have to wait for someone to come. <br><br> <<link [[Wait (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><<endevent>><<set $birdAmbushTrap to true>><</link>> <br><<effects>> <<if $struggle_start is 1>> <<struggle_init>> <<set $struggle.creature to "lurker">> <<struggle_creatures 1 2>> <<set $combat to 1>> <<controlloss>> <<violence 1>> <<molested>> <<if $analdisable is "f">> <<set $struggle.anus.creature to "lurker">><<set $anususe to "struggle">><<set $anusstate to "struggle">><<set $struggle.enemy[0].location to "anus">> <</if>> <<unset $struggle_start>> <</if>> <<struggle>> <<if $struggle.done gte $struggle.number>> <span id="next"><<link [[Next|Bird Hunt Ambush Struggle End]]>><</link>></span> <br> <<else>> <span id="next"><<link [[Next|Bird Hunt Ambush Struggle]]>><</link>></span> <br> <</if>><<effects>> The creatures disappear into the heather. <<tearful>> you dust yourself off and fly back up on the pillar. Your trap is ready, now you just have to wait for someone to come. <br><br> <<clotheson>> <<endcombat>> <<link [[Wait (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><<set $birdAmbushTrap to true>><</link>> <br><<effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> <</if>> <<if $phase is 2>> You fly back up to your ambush point. <<elseif $bird.hunts.duo is true and !$birdAmbushTrap>> You tell <<if $monster is 1>>your <<nnpc_wife "Great Hawk">><<else>>the Great Hawk<</if>> about your plan to set up an ambush. <br> <<if $monster is 1>> "<<Wife>> is smart, making good plans," <<bhe>> says. <<else>> <<bHe>> squawks at you. <</if>> <br><br> <</if>> <<unset $hkTime>> <<unset $ambushThreat>> You sit atop the pillar, waiting for a potential victim<<if $bird.hunts.duo is true>> with <<your_bird_text>><</if>>. <<rng 8>> <<if $bird.hunts.duo is true>> <<switch $rng>> <<case 1>><<if $mathstrait gte 1>>You pass time by counting the rocks near you. <<bHe>> hops down and starts to line them up as you count.<<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 2>><<if $sciencetrait gte 3>>You pass time by trying to identify different rocks.<<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 3>><<if $englishtrait gte 2>>You pass time by rehearsing what you will say when ambushing someone. <<if $monster is 1>><<bHe>> helps you practise.<<else>><<bHe>> caws at you in response.<</if>><<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 4>><<if $trauma gte 50>>Waiting around makes you nervous. You start having doubts about your plan. <<bHe>> seems to notice this, and gently caresses you with <<bhis>> wing.<<else>>You take a moment to enjoy the feeling of the wind on your skin. <<stress -2>><<lstress>><</if>> <<case 5>>You cuddle up to <<bhim>> and hold each other for a moment. <<stress -3>><<lstress>> <<case 6>>You take some time to comb through <<bhis>> feathers with your hands, cleaning <<bhim>> up a bit. One of <<bhis>> feathers comes loose. You keep it. <<flight_hunt_get "feathers" 1>><<set _prop to "feather">> <<case 7>>You take a moment to just admire the Great Hawk for a moment. <<bHe>> looks at you curiously, but <<bhe>> seems happy. <<npcincr "Great Hawk" love 1>><<glove>> <<case 8>>You hum a small tune. <<bHe>> does <<bhis>> best to imitate you. <<trauma -2>><<ltrauma>> <</switch>> <<else>> <<switch $rng>> <<case 1>><<if $mathstrait gte 1>>You pass time by counting the rocks near you.<<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 2>><<if $historytrait gte 3>>You pass time by identifying rock formations and landmarks.<<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 3>><<if $sciencetrait gte 3>>You pass time by trying to identify different rocks.<<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 4>><<if $englishtrait gte 2>>You pass time by rehearsing what you will say when ambushing someone.<<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 5>><<if $trauma gte 50>>Waiting around makes you nervous. You start having doubts about your plan. <<stress 2>><<gstress>><<else>>You take a moment to enjoy the feeling of the wind on your skin. <<stress -2>><<lstress>><</if>> <<case 6>>You contemplate throwing pebbles to pass time, but decide against it. <<case 7>><<if $hallucinations gte 1>>Out of the corner of your eye, you think you see movement. You turn to look, but find nothing. <<stress 2>><<gstress>><<else>>You briefly look up at the clouds, taking a moment to admire them.<</if>> <<case 8>> <<if $loveInterest.primary is "Great Hawk">> The wind carries distant sounds. It reminds you of your <<nnpc_wife "Great Hawk">>'s singing. <<trauma -2>><<ltrauma>> <<else>> You wonder what $loveInterest.primary is doing right now. Thinking about <<nnpc_him $loveInterest.primary>> brings you comfort. <<trauma -2>><<ltrauma>> <</if>> <</switch>> <</if>> <<endevent>> <br><br> <<if Time.hour gte 22 or Time.hour lte 5>> The moor starts to go quiet. It's too dark to see very far down the path. You won't be ambushing anything else here until morning. <br><br> <<flight_hunt_return>> <<else>> <<flight_hunt_chance>> <<cleareventpool>> <<addinlineevent "bird_ambush_nothing" _flight_hunt_chance.nothing>> You return to watching the path vigilantly. After fifteen minutes, nothing shows up. <br><br> <<link [[Keep waiting (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><</link>> <br> <<link [[Leave|Bird Hunt Ambush Leave]]>><<endevent>><<set $phase to 2>><</link>> <br> <</addinlineevent>> <<addinlineevent "bird_ambush_humans" (_flight_hunt_chance.materials + _flight_hunt_chance.valuables)>> <<generate1>><<generate2>> You spot two people walking along the path, a <<person1>><<person>> and a <<person2>><<person>>. They're coming your way. <<if $birdAmbushTrap is true>> <<if $bird.hunts.duo is true>> With your spouse by your side and your trap set, you feel ready. Robbing them should be easy. <<else>> With your trap set and ready, robbing them will be easier. <</if>> <<else>> <<if $bird.hunts.duo is true>> With your spouse by your side, robbing them should be easier. <<else>> Without a trap, you'll have to rely on intimidation and raw strength. <</if>> <</if>> <br><br> <<link [[Let them pass and keep waiting (0:15)|Bird Hunt Ambush Humans Pass]]>><<bird_pass 15>><</link>> <br> <<link [[Attack|Bird Hunt Ambush Humans]]>><</link>><<gcrime "thievery">> <br> <</addinlineevent>> <<addinlineevent "bird_ambush_lurkers" _flight_hunt_chance.lurkers>> You spot movement in the grass. Lurkers. <<if $birdAmbushTrap is true>> They're headed right for your trap. <</if>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">> <<your_bird_text "cap">> prepares to strike. <</if>> <br><br> <<link [[Scare them away and keep waiting (0:15)|Bird Hunt Ambush Wait]]>><<endevent>><<bird_pass 15>><</link>> <br> <<link [[Attack|Bird Hunt Ambush Lurkers]]>><<endevent>><</link>> <br> <</addinlineevent>> <<runeventpool>> /* at end due to inline endevent */ <<if _prop>><<wearProp _prop "original">><</if>> <</if>><<effects>> <<if $birdAmbushTrap>> You stay on the pillar as they pass. One of them steps on your trap and tumbles into the hole. You giggle upon hearing <<person1>><<his>> cursing. <<His>> companion pulls <<him>> from the hole and they move on. <<unset $birdAmbushTrap>> <br><br> As you continue to wait, you notice that something got left behind in the hole. It must have fallen out of <<his>> backpack. <br> <<flight_hunt_get_ambush 2>> <<else>> You let them pass without incident. <</if>> <br><br> <<link [[Next|Bird Hunt Ambush Wait]]>><<endevent>><</link>> <br><<effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk" 3>> You tell your spouse to wait for you to make the first move. <br><br> <</if>> <<if $birdAmbushTrap is true>> <!-- With trap --> The two walk right into your trap. The <<person1>><<person>> takes a step forward, crashing through the flimsy cover and plummeting into the hole. At that moment, you descend from the pillar and land right behind them. You let out a loud screech, startling the <<person2>><<person>>. "W-What the hell!?" <<he>> yells out. <br><br> <<if $bird.hunts.duo is true>> Your <<beasttype 2>> flies over them, screeching loudly. You point at the <<person2>><<person>>. The Great Hawk swoops in to attack, only pulling away at the last moment. <<else>> You spread your wings, attempting to intimidate <<him>>. <<if $exposed gte 2>> <span class="lewd">You realise far too late that you're also flashing <<him>>.</span> <<if !hasSexStat("exhibitionism", 3)>> <<set $rng -= 10>> The sudden realisation makes you close your wings again. <<stress 6>><<ggstress>> <br> <<else>> <<set $rng += 10>> You take it in stride, making yourself seem more wild and dangerous. <</if>> <</if>> <</if>> <<switch $speech_attitude>> <<case "meek">>"G-give me your things and I'll let you go!" <<case "bratty">>"Give me everything, or else." <<default>>"Give me your valuables!" <</switch>> <br><br> <<if $rng gte 70>> <<if $bird.hunts.duo is true>> "Okay! Please don't hurt us, we'll give you what you want!" <<he>> says frantically, unable to hide <<his>> fear. The <<person1>><<person>> in the hole peeks up. With shaky hands, the <<person2>><<person>> throws <<his>> backpack to you. <br><br> "Both of them!" you demand. The <<person1>><<person>> throws <<his>> up too. You start searching them. <br><br> <<flight_hunt_get_ambush 6>> <br> Wordlessly, you toss the now empty backpacks at <<him>>. You squawk at your spouse, indicating you're finished. The <<person2>><<person>> is still frozen in fear. "Go," you demand. <<He>> quickly pulls <<his>> companion from the hole, and they run off. The <<beasttype 2>> lands next to you. <<if $monster is 1>> <<bHe 2>> looks over your new items. "<<Wife>> is efficient," <<bhe 2>> says. <<else>> <<bHe 2>> eyes your new items. <<bHe 2>> looks happy with what you got. <</if>> <<else>> "Okay! Please don't hurt us, I'll give you what you want!" <<he>> says frantically, unable to hide <<his>> fear. The <<person1>><<person>> in the hole doesn't say anything. With shaky hands, the <<person2>><<person>> throws <<his>> backpack to you. You start searching it. <br><br> <<flight_hunt_get_ambush>> <br> Wordlessly, you toss the now empty backpack at <<him>>. You stare <<him>> down as <<he>> pulls <<his>> companion from the hole, and the two run off. <</if>> <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<elseif $rng gte 40>> <<if $bird.hunts.duo is true>> The <<person2>><<person>> looks at the <<beasttype 2>> circling <<him>>. "How the hell did <<pshe>> tame a hawk?!" <<he>> exclaims. You repeat your demands. "Alright! C-Calm down, you lunatic!" <<he>> says. "Just take what you want from my backpack and leave us alone." <<He>> throws <<his>> backpack towards you. <br><br> The <<person1>><<person>> in the hole yells up. "I'm so sick of this shit." <<He>> tosses up <<his>> backpack. <br><br> <<flight_hunt_get_ambush 6>> <br> You toss back their now empty backpacks. You squawk at your spouse, indicating you're finished. The <<person2>><<person>> quickly pulls <<his>> companion from the hole, and they run off. The <<beasttype 2>> lands next to you. <<if $monster is 1>> <<bHe 2>> looks over your new items. "<<Wife>> is efficient," <<bhe 2>> says. <<else>> <<bHe 2>> eyes your new items. <<bHe 2>> looks happy with what you got. <</if>> <<else>> "Alright! C-Calm down, you lunatic!" <<he>> says. "Just take what you want from my backpack and leave us alone." <<He>> throws <<his>> backpack towards you. <br><br> The <<person1>><<person>> in the hole yells up. "Don't just give <<phim>> what <<pshe>> wants!"<br> "Look, it's not worth the trouble. I just want to avoid dealing with this nut-job," the <<person2>><<person>> responds.<br> Ignoring their conversation, you look through the backpack. <br><br> <<flight_hunt_get_ambush>> <br> Wordlessly, you toss the now empty backpack at <<him>>. You stare <<him>> down as <<he>> pulls <<his>> companion from the hole, and the two run off. <</if>> <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> <<if $bird.hunts.duo is true>> The <<person2>><<person>> stays surprisingly calm. "Alright, I know when the odds are against us. Take what you want, <<girl>>." The <<person1>><<person>> scowls, but remains silent. "Give me both of your backpacks!" you demand. They do as you ask, and you search through them. <br><br> <<flight_hunt_get_ambush 6>> <br> You toss back their now empty backpacks. You squawk at your spouse, indicating that you're done, and <<bhe 2>> lands next to you. <br><br> "Alright 'beastmaster', are we done here?" the <<person2>><<person>> asks. You ignore <<his>> attitude and shoo them both away. <br><br> <<if $monster is 1>> <<bHe 2>> looks over your new items. "<<Wife>> is efficient," <<bhe 2>> says. <<else>> <<bHe>> eyes your new items. <<bHe 2>> looks happy with what you got. <</if>> <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<elseif $fame.scrap gte random(400, 800)>> <<He>> considers your words for a moment, then relents. "Alright, <span class="green">you're not worth the trouble anyway</span>."<br> The <<person1>><<person>> yells up. "What do you mean 'alright'?! You can't seriously consider handing our stuff to some random <<girl>>!"<br> "This ain't just some <<girl>>, I think this is <span class="pink"><<underworld_nickname>></span>. Best not risk it now." <br><br> The <<person1>><<person>> grumbles, but doesn't say anything else. You motion for the <<person2>><<person>> to throw <<his>> backpack over to you. You make a point of showing you're not dropping your guard as you search it. <br><br> <<flight_hunt_get_ambush>> <br> Wordlessly, you toss the now empty backpack at <<him>>. You stare <<him>> down as <<he>> pulls <<his>> companion from the hole, and the two run off. <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> <<He>> looks you over. "You've got some nerve, little birdie," <<he>> says, <span class="red">approaching you angrily</span>. <<saveNPC 0 "bird_ambush_trapped">> <<saveNPC 1 "bird_ambush_fight">> <<endevent>> <<loadNPC 0 "bird_ambush_fight">> <br><br> <<link [[Next|Bird Hunt Ambush Fight]]>><<set $fightstart to 1>><</link>> <br> <</if>> <</if>> <<else>> <!-- Trapn't --> <<if $bird.hunts.duo is true>> As they walk beneath the pillar, you and your <<beasttype 2>> screech loudly and leap down in front of them. You both land and spread your wings wide in an attempt to intimidate them. <<else>> You let out a loud screech and drop in front of them. You spread your wings wide, trying to intimidate them. <</if>> <br><br> <<if $exposed gte 2>> <span class="lewd">You realise far too late that you're also flashing them.</span> <<if !hasSexStat("exhibitionism", 3)>> <<set $rng -= 10>> The sudden realisation makes you close your wings again. <<stress 6>><<ggstress>> <br> <<else>> <<set $rng += 10>> You take it in stride, making yourself seem more wild and dangerous. <</if>> <</if>> <<switch $speech_attitude>> <<case "meek">>"G-give me your things and I'll let you go!" <<case "bratty">>"Give me everything, or else." <<default>>"Give me your valuables!" <</switch>> <br><br> For a moment, the pair are too stunned to speak. <<if $rng gte 70>> <<if $bird.hunts.duo is true>> "Okay! Please don't hurt us, I'll give you what you want!" <<he>> says frantically, unable to hide <<his>> fear. With shaky hands, the <<person2>><<person>> throws <<his>> backpack to you. You start searching it. <br><br> <<flight_hunt_get_ambush>> <br> Wordlessly, you toss the now empty backpack at <<him>>. You squawk at your spouse, indicating you're finished. They're both still frozen in fear. "Go," you demand. They run off. The <<beasttype 2>> lands next to you. <<if $monster is 1>> <<bHe 2>> looks over your new items. "<<Wife>> is efficient," <<bhe 2>> says. <<else>> <<bHe 2>> eyes your new items. <<bHe 2>> looks happy with what you got. <</if>> <<else>> The <<person1>><<person>> finally speaks up. "W-What the hell!? What kind of lunatic would jump down from that high up?"<br> "<<pShe>> must be crazy, w-we should just give <<phim>> what <<pshe>> wants," the <<person2>><<person>> says.<br> The <<person1>><<person>> looks hesitant, so you let out another loud scream. "O-Okay! Just take what you want and leave us alone!" <<he>> says, throwing you <<his>> backpack. You begin rummaging through it. <br><br> <<flight_hunt_get_ambush>> <br> Wordlessly, you toss the now empty backpack at them. You stare them down as they run off. <</if>> <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<elseif $rng gte 40>> They look you over, thinking up a response. <<if $bird.hunts.duo is true>> "How the hell did <<pshe>> tame a hawk?" <<he>> asks the other. <<person1>><<He>> simply shrugs. You repeat your demands. "Alright, fine," <<person2>><<he>> says. "Just take what you want from my backpack and leave us alone." <<He>> throws <<his>> backpack towards you. <br><br> The <<person1>><<person>> grumbles, but doesn't object. <br><br> <<flight_hunt_get_ambush>> <br> You toss back <<his>> now empty backpack. You squawk at your spouse, indicating you're finished. The <<beasttype 2>> lands next to you, and the pair runs off. <<if $monster is 1>> <<bHe 2>> looks over your new items. "<<Wife>> is efficient," <<bhe 2>> says. <<else>> <<bHe 2>> eyes your new items. <<bHe 2>> looks happy with what you got. <</if>> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<elseif $physique gte random (4000, 16000)>> After a long silence, the <<person1>><<person>> speaks. "Alright, <span class="teal">we're willing to give you something small</span>. But that's all you'll get." The <<person2>><<person>> looks displeased, but <<he>> doesn't object. You order them to throw you one of their backpacks, with the promise you won't take much. The <<person1>><<person>> throws you <<his>> bag. You begin rummaging through it. <br><br> <<flight_hunt_get_ambush 2>> <br> Wordlessly, you toss the now empty backpack at them. You stare them down as they run off. <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> Once <<person1>><<he>> snaps out of it, the <<person>> steps forward and yells. "There's no way we're giving anything to you!"<br> "There's two of us and one of you," the <<person2>><<person>> yells out as well. <br><br> The <<person1>><<person>> is close to the hole. <br><br> <<link "Push <<him>>" "Bird Hunt Ambush Push">><</link>><<athleticsdifficulty 100 800>> <br> <<link [[Let them go and keep waiting (0:15)|Bird Hunt Ambush Wait]]>><<bird_pass 15>><<endevent>><<set $phase to 2>><</link>> <br> <</if>> <<else>> <<if $bird.hunts.duo is true>> The <<person1>><<person>> curses under <<his>> breath. "Damned birds."<br> "Alright, you can have something of mine if you leave us alone," the <<person1>><<person>> says, throwing you <<his>> backpack. You maintain an aura of control, and begin rummaging through it. <br><br> <<flight_hunt_get_ambush 2>> <br> After getting what you want, you toss the backpack. You give them a slight nod, and watch them leave. <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<elseif $fame.scrap gte random(400, 800)>> The <<person1>><<person>> chuckles and starts to approach you. "You picked the wrong people to mess with, <<girl>>. We were just looking for-"<br> Before <<he>> can take another step, the <<person2>><<person>> stops <<him>>. "Hold on, isn't that <span class="pink"><<underworld_nickname>></span>?"<br> "Huh? <<pHim>>? Are you sure?" The two whisper something to each other.<br> "Alright, you can have something of mine if you leave us alone," the <<person1>><<person>> says, throwing you <<his>> backpack. You maintain an aura of control, and begin rummaging through it. <br><br> <<flight_hunt_get_ambush 2>> <br> After getting what you want, you toss the backpack. You give them a slight nod, and watch them leave. <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> The <<person1>><<person>> chuckles and starts to approach you. "You picked the wrong people to mess with, <<girl>>." <<He>> cracks <<his>> knuckles and approaches you. "Hold still." <br><br> <<link [[Next|Bird Hunt Ambush Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <</if>> <</if>><<effects>> Like a predator, you begin slowly circling them. When you notice a good opportunity, you rush to push the <<person1>><<person>> into the hole. <<if $athleticsSuccess>> <span class="green">You're simply too fast.</span> <<Hes>> caught off guard as you ram <<him>>. <<He>> tries to stop <<himself>> by grabbing onto the <<person2>><<person>>, but this only leads to both of them falling when the <<person1>><<person>> stumbles. In the struggle, one of them drops their backpack. You let out a warning screech and pick it up, quickly rummaging through it. <br><br> <<flight_hunt_get_ambush 3>> <br> You don't have time to grab everything. As one of them starts to pull <<himself>> up from the hole, you toss the half-full backpack at <<him>>, causing <<him>> to fall back in. <br><br> You run off and hide in the underbrush, waiting for them to recover and leave. You hear their curses slowly fade in the distance. <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> <span class="red">You're just barely too slow.</span> <<He>> grabs your arms, stopping you. The <<person2>><<person>> punches your side, making you gasp. <<pain 6>><<ggpain>> <br><br> "Stupid little shit. Time to have some fun." <br><br> <<link [[Next|Bird Hunt Ambush Rape]]>><<set $molestationstart to 1>><</link>> <br> <</if>><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<violence 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Bird Hunt Ambush Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Ambush Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $pain gte 100 and $willpowerpain is 0>> You keel over, unable to fight back. "That's what you get, you goddamn brat!" <<He>> stops beating you and goes to help <<his>> companion up from the hole. <<tearful>> you run and take flight before they can catch you. <<clearNPC "bird_ambush_trapped">> <<clearNPC "bird_ambush_fight">> <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Ambush Leave]]>><<set $phase to 2>><</link>> <br> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<loadNPC 1 "bird_ambush_trapped">> As the orgasm runs through <<his>> body, you take advantage of <<his>> vulnerable state and push <<him>> towards the hole. <<He>> lands on <<his>> friend. "F-Fuck! Okay, just take what you want," <<he>> grumbles. The <<person2>><<person>> begins mocking the <<person1>><<person>> as <<he>> tosses <<his>> backpack up. You search it quickly. <<clearNPC "bird_ambush_trapped">> <<clearNPC "bird_ambush_fight">> <<clotheson>> <<endcombat>> <<flight_hunt_get_ambush>> <br> You toss the now empty backpack down the hole. You hide in the underbrush as they slowly pull themselves up, and wait until they're gone. <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> <<loadNPC 1 "bird_ambush_trapped">> You have <<him>> on the back foot. You beat your wings hard, kicking up sand and dirt from the path. <<He>> brings <<his>> arms up to shield <<himself>>, and you take the chance to rip <<his>> backpack away before pushing <<him>> into the hole. <<He>> lands on <<his>> friend. "F-Fuck! Okay, just take what you want," <<he>> grumbles. The <<person2>><<person>> begins mocking the <<person1>><<person>>. <<clearNPC "bird_ambush_trapped">> <<clearNPC "bird_ambush_fight">> <<clotheson>> <<endcombat>> <<flight_hunt_get_ambush>> <br> You toss the now empty backpack down the hole. You watch as they slowly pull themselves up, and screech at them again to speed up their retreat. <<crimeUp 40 "thievery">><<crime "thievery">> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<set $timer to 7>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Ambush Rape Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Ambush Rape]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The <<person1>><<person>> keeps holding on to you for a moment. "You're not much of a thief, but you make for a decent cumdump," <<he>> says. <<trauma 3>><<gtrauma>> <br><br> "We don't have all day. Let's get moving," the <<person2>><<person>> barks. The <<person1>><<person>> shoves you down to the ground. <<tearful>> you stand and watch them leave. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> <<if $timer gt 0>> You sweep the <<person1>><<person>> by the leg, knocking <<him>> flat on <<his>> back. With a solid hit to the gut, the <<person2>><<person>> falls to a knee, and you kick <<him>> backwards. <<He>> tumbles into the hole. <br><br> "Shit, <<pshes>> a real fighter," the <<person1>><<person>> gasps. "Alright. We made a bit of a mistake, just take what you want and leave us be." You grab one of their backpacks and rummage through it. <<flight_hunt_get_ambush>> <br> You drop the now empty backpack. You glare at the <<person1>><<person>> and screech once more, prompting <<him>> to hastily pull <<his>> companion from the hole and run off. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <<else>> You push away the <<person1>><<person>>, who stumbles. The <<person2>><<person>> helps <<person1>><<him>> back up. You're all panting, staring each other down, waiting for someone to make the next move. <br><br> "Let's... call it even," the <<person1>><<person>> says between breaths. The two start to run down the trail. You're too exasperated to give chase. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br> <</if>> <</if>><<effects>> <<if $bird.hunts.duo is true>> <<npc "Great Hawk">><<person1>> <</if>> <<if $birdAmbushTrap is true>> <<if $bird.hunts.duo is true>> You and <<your_bird_text>> peer over the stone, observing their movement. The moment your trap is sprung, the Great Hawk swoops down and grabs another. The third lurker panics and runs. You rush down to grab the trapped one before it can escape. <<flight_hunt_get "lurkers" 2>> <<else>> As the lurkers walk under your position, you hear your trap crumble. One lurker tumbles into the hole, and the other two quickly scatter. You let out a loud screech and land. The lurker isn't moving. You reach onto the hole and grab it. <<flight_hunt_get "lurkers" 1>> <</if>> <<else>> <<if $bird.hunts.duo is true>> You and <<your_bird_text>> peer over the stone, observing their movement. You wait until the lurkers are directly below you. You both step near the edge of the stone and screech. It's amplified by the echo, making the lurkers freeze in panic. The Great Hawk grabs one easily. You swoop down and grab another, making the last one flee. <<if currentSkillValue("danceskill") gte random(1,1000)>> <span class="green">You recover well from your swoop</span>, easily gaining altitude with the lurker in hand. You look to your spouse and smile, each of you having caught one. <<flight_hunt_get "lurkers" 2>> <<else>> You try to regain altitude, but you're off balance. You fumble the recovery, and have to let go of the lurker to avoid crashing face-first into a rock With free hands, you manage to avoid the collision, but the lurker is gone. <br><br> <<your_bird_text "cap">> looks to you. <<if $monster is 1>> "One is more than none," <<bhe>> says reassuringly. <<else>> <<bHe>> caws, tossing <<bhis>> lurker to you. <</if>> <<flight_hunt_get "lurkers" 1>> <</if>> <<else>> You wait until the lurkers are directly below you. You step near the edge of the stone and screech. It's amplified by the echo, making the lurkers freeze in panic. You swoop down and grab one, making the others scatter. <<if currentSkillValue("danceskill") gte random(1,1000)>> <span class="green">You recover well from your swoop</span>, easily gaining altitude with the lurker in hand. <<flight_hunt_get "lurkers" 1>> <<else>> You try to regain altitude, but you're off balance. You fumble the recovery, and have to let go of the lurker to avoid crashing face-first into a rock With free hands, you manage to avoid the collision, but the lurker is gone. <</if>> <</if>> <</if>> <br><br> <<link [[Next|Bird Hunt Ambush End]]>><<endevent>><</link>> <br><<effects>> <<if ($bird.hunts.weight gte 3 and $bird.hunts.duo is false) or $bird.hunts.weight gte 5>> You won't be able to carry any more. You take off and begin to fly back to the tower. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<elseif $stress gte $stressmax or isPregnancyEnding()>> You feel lightheaded. Before you can return to the top of the pillar, the ground comes hurtling towards you. <br><br> <<if $bird.hunts.duo is false>> Everything fades to black. <br><br> <<passout_moor>> <<else>> You feel something catch you, and your ears pop as you begin to ascend again. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Next (?:??)|Bird Hunt Passout]]>><<bird_pass _returnTime>><</link>> <br> <</if>> <<elseif $pain gte 90>> <<if $bird.hunts.duo is true>> <<endevent>> <<npc "Great Hawk">><<person1>> <<if $monster is 1>> "You're hurt," <<your_bird_text>> says. "We return home at once." <<else>> <<your_bird_text "cap">> caws at you, and touches <<bhis>> wing against you. You wince in pain. You're too injured to keep hunting. You take off and return home. <</if>> <<else>> You're too injured to keep hunting. You take off and return home. <</if>> <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<elseif $bird.hunts.duo is true and $bird.hunts.timer gte 360>> <<endevent>> <<npc "Great Hawk">><<person1>> <<your_bird_text "cap">> looks very fatigued. <<if $monster is 1>> "Been hunting too long. We return home." <<else>> <<bHe>> looks to you and caws. You've been hunting for hours, and should return home. <</if>> The two of you take off and fly back to the castle. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<elseif Weather.dayState is "night">> The moor starts to go quiet. It's too dark to see very far down the path. You won't be ambushing anything else here until morning. <br><br> <<flight_hunt_return>> <<else>> Returning to the top of the pillar will take some effort. It's too high to just let the wind do the work. <<if $bird.hunts.duo is true and $bird.hunts.timer gte 300>> <<endevent>> <<npc "Great Hawk">><<person1>> <<your_bird_text "cap">> is starting to look fatigued. <<elseif $bird.hunts.duo is true and Weather.dayState is "dusk" and $bird.hunts.timer gte 120 and !$daily.birdNightWarning>> <<endevent>> <<npc "Great Hawk">><<person1>> <<set $daily.birdNightWarning to true>> <<your_bird_text "cap">> looks to the setting sun. <<if $monster is 1>> "Night time soon. Hunt will be harder." <<else>> <<bHe>> then turns to you and caws. It's getting late. Hunting at night time will be more difficult. <</if>> <</if>> <br><br> <<endevent>> <span class="blue">The hole you used for a trap is fully exposed. You won't be able to make another trap here today.</span> <br> <<link [[Return to the top of the pillar and wait (0:15)|Bird Hunt Ambush Wait]]>><<endevent>><<set $phase to 2>><<bird_pass 15>><<tiredness 5>><</link>><<gtiredness>> <br> <<link [[Leave|Bird Hunt Ambush Leave]]>><</link>> <br> <</if>> <<unset $birdAmbushTrap>><<effects>> <<set $bird.trespasser to true>> Your stomach rises as you plummet. You try to get your bearings, and your attacker comes into focus. <<if $monster is 1>> It's... another harpy. <<bHe 0>> regards you with an intense gaze as <<bhe 0>> keeps you in a tight grip. <<else>> It's... another giant hawk. <<bHe 0>> regards you with an intense gaze as <<bhis 0>> talons painfully hold onto you. <</if>> <br><br> <<switch $bodysize>> <<case 0>><<set _physiqueMin to 3000>><<set _physiqueMax to 6000>> <<case 1>><<set _physiqueMin to 5000>><<set _physiqueMax to 10000>> <<case 2>><<set _physiqueMin to 6000>><<set _physiqueMax to 12000>> <<case 3>><<set _physiqueMin to 8000>><<set _physiqueMax to 16000>> <</switch>> <<your_bird_text "cap">> dives after the two of you. <<bHe 1>> starts to catch up fast. <br><br> <<link [[Try to fight back|Bird Hunt Trespasser 2]]>><<set $phase to 0>><</link>><<physiquedifficulty _physiqueMin _physiqueMax>> <br> <<link [[Hold on|Bird Hunt Trespasser 2]]>><<set $phase to 1>><</link>> <br><<effects>> <<if $phase is 0>> <<if $physiqueSuccess>> <<if $bodysize lte 1>> You tuck your wings in as tightly as you can, disrupting <<bhis 0>> grip. <span class="green"><<bHe 0>> fumbles you thanks to your small size, and you escape <<bhis 0>> grasp.</span> Your maneuver throws <<bhim 0>> off balance. <br><br> You take the chance to turn the grab around, preventing <<bhim 0>> from using <<bhis 0>> wings entirely. Once you're confident you can escape, you release <<bhim 0>>, letting the air resistance keep you far above <<bhim 0>>. <<else>> You flare your wings out as hard and wide as you can, giving you air resistance to work with. <span class="green">Your wings break from <<bhis 0>> grasp, and it slows the <<beasttype>> down considerably,</span> throwing <<bhim 0>> off balance. <br><br> You take the chance to turn the grab around, preventing <<bhim 0>> from using <<bhis 0>> wings entirely. Once you're confident you can escape, you release <<bhim 0>>, letting the air resistance keep you far above <<bhim 0>>. <</if>> <br><br> <<your_bird_text "cap">> soars past you, grabbing the other <<beasttype>> <<bhimself 1>> and diving to the ground, where <<bhe 1>> subdues <<bhim 0>> easily thanks to the opening you made. You land nearby, watching the end of the scuffle as you approach. <<else>> <<set _birdInjury to true>> You try to flare your wings out to give yourself some air resistance to work with, <span class="red">but the <<beasttypes>> grip is too strong.</span> <<bHis 0>> talons dig into your wings. <<pain 20>><<gggpain>> <br><br> <<your_bird_text "cap">> finally catches up, but the other <<beasttype>> is ready for <<bhim 1>>. <<bHe 1>> releases you, and the two <<beastsplural>> begin to fight viciously in the air. You're left tumbling, and only just manage to right yourself before hitting the ground. <<stress 12>><<ggstress>> <br><br> A flurry of feathers escape them as talons bite into flesh and wings take hit after hit. You rush to the Great Hawk's side, just as <<bhe 1>> gets the upper hand and subdues the outsider. <</if>> <<else>> <<set _birdInjury to true>> You hold on to the <<beasttype>>, afraid <<bhe 0>> will drop you and send you tumbling. <br><br> <<your_bird_text "cap">> finally catches up, but the other <<beasttype>> is ready for <<bhim 1>>. You realise too late that you're not <<bhis 0>> real target. <<bHe 0>> releases you, and the two <<beastsplural>> begin to fight viciously in the air. You only just manage to right yourself before hitting the ground. <<stress 12>><<ggstress>> <br><br> A flurry of feathers escape them as talons bite into flesh and wings take hit after hit. You rush to the Great Hawk's side, just as <<bhe 1>> gets the upper hand and subdues the outsider. <</if>> <<if $monster is 1>> "You keep the tower for yourself, a loner as always," the outsider spits. <br><br> The Great Hawk adjusts <<bhis 1>> grip on the outsider painfully. "Great Hawk is not alone anymore. Great Hawk finally has family." <<bHe 1>> looks to you with a smile, and the outsider's gaze follows <<bhis 1>>. <br> "<<if $pregnancyspeechdisable is "f">>Breeding<<else>>Mating<</if>> with a landbound? You've sunken low-" <<bhes 0>> interrupted as the Great Hawk's talon pushes <<bhis 0>> head into the dirt. <br> "Begone. You have your own home," <<bhe 1>> says with the slightest hint of sadness. <<bHe>> releases the other <<beasttype>>, who flies off quickly without another word. <<else>> The two screech at each other, until the trespasser fully submits. The Great Hawk lets out a cry of victory, before pushing the outsider away, who flies off quickly. <</if>> <<if !_birdInjury>> <<bHis 0>> flight is shaky and uneven thanks to the beating <<bhe 0>> received. <<else>> <<set $bird.injured to 30>> <</if>> <br><br> <<link [[Check your spouse for injuries|Bird Hunt Trespasser 3]]>><<set $phase to 0>><</link>><<tendingdifficulty 400 800>> <br> <<link [[Ask what that was about|Bird Hunt Trespasser 3]]>><<set $phase to 1>><</link>> <br><<effects>> <<if $phase is 0>> <<switch $speech_attitude>> <<case "meek">>"A-are you okay?!" <<case "bratty">>"Hold still a minute," you say, concealing your worry. <<default>>"Are you alright? Let me check you over," you say. <</switch>> You rush to <<bhis 1>> side, and start to check <<bhim 1>> for injuries. <<if $bird.injured is 0>> After a quick inspection, <span class="green">you can tell the outsider got the worst of it</span>. <<your_bird_text "cap">> only has a few scratches. <<if $monster is 1>>"<<Wife>> did well."<</if>> <<npcincr "Great Hawk" love 3>><<gglove>> <<elseif $tendingSuccess>> It only takes you a few moments to realise that <<your_bird_text>> is hurt. Badly. <<bHes 1>> putting on a tough front, but <span class="red"><<bhes 1>> covered in deep cuts, and one of <<bhis 1>> wings had some flesh torn away.</span> <<bHis>> feathers are slowly being matted by fresh blood. <<if $bird.hunts.loot.fabric gte 1>> <<wearProp "rag">> You waste no time, using some of the fabric you have on-hand to patch up the worst of <<bhis 1>> wounds. <<bHe 1>> winces in pain, but nuzzles you affectionately when you're done. <<if $monster is 1>>"Thank you, <<wife>>. Will be fine, just need rest."<</if>> <span class="green"><<bHe 1>>'ll recover faster thanks to your swift care.</span> <<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom -3>><<gglove>><<lldom>><<set $bird.injured -= 5>><<flight_hunt_remove "fabric" 1>> <<elseif $bird.hunts.loot.leaves gte 2>> <<wearProp "leaf">> You waste no time, using some of the leaves you have on-hand to patch up the worst of <<bhis 1>> wounds. <<bHe 1>> winces in pain, but nuzzles you affectionately when you're done. <<if $monster is 1>>"Thank you, <<wife>>. Will be fine, just need rest."<</if>> <span class="green"><<bHe 1>>'ll recover faster thanks to your swift care.</span> <<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom -3>><<gglove>><<lldom>><<set $bird.injured -= 5>><<flight_hunt_remove "leaves" 2>> <<elseif $bird.hunts.loot.sticks gte 2>> <<wearProp "stick">> You waste no time, using some of the sticks you have on-hand to make a makeshift splint, binding it together with grass. <<bHe 1>> winces in pain, but nuzzles you affectionately when you're done. <<if $monster is 1>>"Thank you, <<wife>>. Will be fine, just need rest."<</if>> <span class="green"><<bHe 1>>'ll recover faster thanks to your swift care.</span> <<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom -3>><<gglove>><<lldom>><<set $bird.injured -= 5>><<flight_hunt_remove "sticks" 2>> <<else>> Without any materials on hand, there isn't much you can do for <<bhim 1>>, but you do your best to keep the affected areas clean. <<npcincr "Great Hawk" love 1>><<glove>><<set $bird.injured -= 1>> <</if>> <<else>> You're quickly overwhelmed by what you see. <span class="red"><<bHes 1>> bleeding. A lot. You can't even tell where the wounds are, as <<bhis 1>> feathers begin to soak with blood.</span> You start to panic, but <<bhe 1>> nuzzles you in reassurance. <<if $monster is 1>>"Will be fine, just need rest."<</if>> <<npcincr "Great Hawk" dom 1>><<gdom>> <</if>> <br><br> <</if>> <<switch $speech_attitude>> <<case "meek">>"Wh-what was that all about?" you ask. "Why was that <<beasttype>> so violent?" <<case "bratty">>"I'm glad I ran into you back then, not <<bhim 0>>," you say. "Don't get along with your own?" <<default>>"I haven't seen any other <<beastsplural>> out here," you say. "Are all of the other ones so nasty?" <</switch>> <br><br> <<bHis>> gaze turns southward, in the direction the outsider flew. <<if $monster is 1>> <<bHe 1>> looks down in shame. "Great Hawk had to find <<bhis 1>> own home. Wasn't welcome." <<bHe 1>> continues. "Hawks always wanted the big tower. Perfect place for a nest. Tall. Open. Food everywhere. But no hawk could hold it alone, they always had to share, and they would end up fighting over it. Other hawks don't like that I have it alone. Makes me dangerous." <<bHe>> swells with pride for a moment, before looking back up to you. "But Great Hawk isn't alone anymore." <<else>> <<bHis 1>> eyes shimmer, and <<bhe 1>> then looks back to the tower and caws. The castle must be in high-demand. You can guess why; it's tall, open, and has virtually unlimited food in the surrounding moor. The perfect place for a nest. The outsider might have been trying to make a territory grab. <</if>> <<if $bird.injured gt 1>> <<bHe 1>> <<if $monster is 1>> winces in pain, <<bhis 1>> injuries rapidly catching up to <<bhim 1>> as the adrenaline wears off. "We should head home." <<else>> squawks in pain, <<bhis 1>> injuries rapidly catching up to <<bhim 1>>. It'd be best to head home. <</if>> <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return home (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return Injured]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<else>> <<bHe 1>> <<if $monster is 1>> stands up straight and stretches, seemingly ready to continue hunting. <<else>> stretches <<bhis 1>> wings, seemingly ready to continue hunting. <</if>> <br><br> <<link [[Next|Bird Hunt Exit]]>><<endevent>><</link>> <br> <</if>><<effects>> You swoop down and land near the <<childtype>>, your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> landing next to you. You spot the remains of a nest nearby. <br><br> The <<childtype>> shuffles away from you, looking <<if $cmonster is 1>>guarded<<else>>wary<</if>>. <<if $tending gte 500 or $birdbuild gte 60>> <span class="red"><<childHe>> looks hungry.</span> <</if>> <br><br> <<if $bird.hunts.loot.lurkers gte 1 or $lurkers_held gte 1>> <<link [[Offer a lurker|Bird Hunt Chick Feed]]>><<npcincr "Great Hawk" love 1>><</link>><<glove>> <br> <</if>> <<link "Try to calm <<childhim>> down" "Bird Hunt Chick Calm">><</link>><<tendingdifficulty `600 - 4*$birdbuild` `1200 - 1.5*$birdbuild`>> <br> <<link [[Leave|Bird Hunt Chick Abandon]]>><<npcincr "Great Hawk" love -20>><<npcincr "Great Hawk" dom -10>><<set $phase to 1>><</link>><<llllove>><<lldom>> <br><<effects>> Slowly, so as to not startle <<childhim>>, you take one of the lurkers that you were carrying and<<if $physique lte 4000>>, with some difficulty,<</if>> tear a strip of leathery meat off of the creature. The <<childtype>> perks up, staring at the strip of lurker meat intensely. <<flight_hunt_remove "lurkers" 1>> <br><br> You step forward and reach out, placing the strip of meat on the ground in front of <<childhim>> before stepping back to give <<childhim>> some space. Immediately, the <<childtype>> lunges for the food, snapping it up and devouring it in moments. <<childHe>> looks at you curiously, then <<if $cmonster is 1>>crawls<<else>>hops<</if>> closer, trilling softly. <br><br> <<link "Take <<childhim>> back to the nest" "Bird Hunt Chick Adopt">><</link>><<note "This will end the current hunting session" "teal">> <br> <<link "Leave <<childhim>>" "Bird Hunt Chick Abandon">><<npcincr "Great Hawk" love -15>><<npcincr "Great Hawk" dom -5>><<set $phase to 2>><</link>><<lllove>><<ldom>> <br><<effects>> Slowly, you reach out, trying to coax the <<childtype>> over to you. <<if $tendingSuccess>> <span class="green"><<childHe>> seems wary, but curious.</span> <<childHe>> slowly makes <<childhis>> way over to you, then hesitantly nuzzles into your arms, chirping softly. <<else>> <span class="red">Despite your efforts, <<childhe>> doesn't seem to trust you enough.</span> Fortunately, your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> is with you, and steps up to try. The <<childtype>> seems to trust <<bhim>> more, and slowly makes <<childhis>> way over to the Great Hawk, finally settling down in the shelter provided by <<bhis>> massive wings. <<gdom>><<npcincr "Great Hawk" dom 2>> <</if>> <br><br> <<link "Take <<childhim>> back to the nest" "Bird Hunt Chick Adopt">><</link>><<note "This will end the current hunting session" "teal">> <br> <<link "Leave <<childhim>>" "Bird Hunt Chick Abandon">><<npcincr "Great Hawk" love -50>><<npcincr "Great Hawk" dom -25>><<set $phase to 3>><</link>><<llllove>><<lldom>> <br><<effects>> You manage to convince the Great Hawk that <<switch $speech_attitude>> <<case "meek">>you won't be able to care for the <<childtype>> right now. <<case "bratty">>the <<childtype>> will probably be fine. <<default>>you won't be able to bring the <<childtype>> back to the nest. <</switch>> <<bHe>> seems <<if $phase is 1>>dismayed<<elseif $phase is 2>>saddened<<elseif $phase is 3>>distraught<</if>> by this. <br><br> Despite your words, the Great Hawk doesn't move. <<bHe>> starts to sing into the air quite loudly. After some time, <<bhe>> picks the <<childtype>> up and carries <<childhim>> to the top of a small tree, before returning to your side. <<if $monster is 1>> "Called out to... other hawks. One will come take <<childhim>>. Give <<childhim>> a home." <<else>> <<bHe>> looks to the south for a long moment. You follow <<bhis>> gaze, and see a tiny shape approaching from quite a distance away. It seems <<bhe>> called out for another hawk to come take the orphaned chick. <</if>> <<bHe>> <<if $monster is 1>>sighs<<else>>trills<</if>> mournfully, but nevertheless takes to the skies with you. You leave the <<childtype>> behind, <<switch $phase>> <<case 1>>watching you warily. <<case 2>>watching you sadly. <<case 3>>looking scared and confused. <</switch>> Abandoned again. You weren't so different. <<trauma 100>><<gggtrauma>> <br><br> <<run delete $children["orphanHawk1"]>> <<endevent>> <<flight_hunt_options>><<effects>> Your eyes lock with <<childhis>>. You bring your face closer, seeing your reflection in them. You know that look. Confusion. Fear. An orphan, just like you. You're not so different. <br><br> You gently <<if $tendingSuccess>>hold<<else>>pick up<</if>> the <<childtype>>, and take to the skies alongside your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <br><br> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return Chick Adopt]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><<set $phase to 0>><</link>><<print _fatigueText>> <br><<effects>> <<switch $speech_attitude>> <<case "meek">>"L-let's go," you say. "<<childHis>> parents are probably around here somewhere." <<case "bratty">>You say nothing, flying onward and gesturing for the Great Hawk to follow you. <<default>>"C'mon," you say, gesturing for the Great Hawk to follow you. "<<childHis>> parents are probably looking for <<childhim>>." <</switch>> <br><br> Despite your words, the Great Hawk dives down to land. You can't quite see what's happening from up here, but after a few minutes, <<bhe>> starts to sing into the air quite loudly. You circle the location for a while, waiting for <<bhim>> to be done. <br><br> After some time, <<bhe>> picks the <<childtype>> up, carrying <<childhim>> to the top of a small tree, before returning to your side. <<if $monster is 1>> "Called out to... other hawks. One will come take <<childhim>>. Give <<childhim>> a home." <<else>> <<bHe>> looks to the south for a long moment. You follow <<bhis>> gaze, and see a tiny shape approaching from quite a distance away. It seems <<bhe>> called out for another hawk to come take the orphaned chick. <</if>> <<bHe>> <<if $monster is 1>>sighs<<else>>trills<</if>> mournfully, but follows you as you fly onward. <<llove>> <br><br> <<run delete $children["orphanHawk1"]>> <<endevent>> <<flight_hunt_options>><<effects>><<set $outside to 0>><<set $location to "tower">> <<npc "Great Hawk">><<person1>> <<childSelect "orphanHawk1">> <<set $moor to 100>> <<set $bird.timer to 120>> <br><br><br> Soon, you see the castle again. The three of you land back on the perch<<if $bird.upgrades.decor gte 3>> and push the curtain aside<</if>>, satisfied with a successful hunt. <br> <<switch $bird.upgrades.decor>> <<case 1>>The tower feels cozy after such exertion.<<stress -6>><<lstress>> <<case 2>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -12>><<llstress>> <<case 3>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -24>><<lllstress>> <<case 4>>Home at last. <<stress -36>><<trauma -6>><<lllstress>><<ltrauma>> <<case 5>>Home at last. The silver bar <<if Time.dayState is "night">>gently reflects the moon's placid light.<<else>>casts pacifying reflections around your tower.<</if>><<set $stress to 0>><<trauma -6>><<lllstress>><<ltrauma>> <<default>> <</switch>> <br> You gently place the <<if $cmonster is 1>>baby harpy<<else>>hawk chick<</if>> in your nest. <<childHe>> immediately flops over and starts chirping happily. <<childHe>> may not be blood, but <<childhe>>'s family all the same now. Orphans need to stick together, like birds of a feather. <<earnFeat "Birds of a Feather">> <br><br> <<your_bird_text "cap">> looks relieved as <<bhe>> watches your new <<childson>> explore the nest. <<childHe>> needs a name. <div id="birthUi"> <<set _dateAdopted to { day: Time.monthDay, month: Time.monthName, year: Time.year }>> <<set $children["orphanHawk1"].adopted to clone(_dateAdopted)>> <<set $children["orphanHawk1"].birthLocation to "unknown">> <<set $children["orphanHawk1"].location to "tower">> <<set $children["orphanHawk1"].localVariables to {}>> <div @id="'child-orphanHawk1'" class="childUi"> <<birthChildElement $children["orphanHawk1"]>> </div> </div> <br> <<link [[Next|Bird Hunt Chick Adopt End]]>> <<if !$children["orphanHawk1"].name>><<set $children["orphanHawk1"].name = generateBabyName(undefined, $children["orphanHawk1"].gender)>><</if>> <</link>> <br><<effects>> You smile at <<childname>>, putting your hands down into the nest. <br><br> <<childHe>> <<childgiggles>> and <<if $cmonster is 1>> crawls over to you, wrapping <<childhis>> little hands around your arm in a hug. <<else>> hops over to you, nuzzling your arm. <</if>> It makes you feel warm inside. You've changed a life today. <<stress -36>><<trauma -36>><<lllstress>><<llltrauma>> <br><br> <<if $bird.hunts.lootAmount is 0>> You didn't bring back anything else, but that's okay. <br><br> <<flight_hunt_end>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> <<flight_hunt_loot>> <</if>><<effects>><<flight_distance_check>> <<if $bird.hunts.goal is "hawk">> <<npc "Great Hawk">> You ask the <<beasttype>> to ignore it and look elsewhere. <br><br> <<if $monster is 1>> "We search again," <<bhe>> says. <<else>> <<bHe>> screeches in response. <</if>> <<elseif $bird.hunts.duo is true>> The two of you ignore it and choose to look somewhere else. <<else>> You choose to ignore it and look elsewhere. <</if>> <br><br> <<endevent>> <<flight_hunt_options>><<effects>> <<set _huntFail to 1>> <<flight_hunt_return>><<effects>> <<npc "Great Hawk">><<person1>> <<set $bird.override to "rest">> <<set $bird.overrideTimer to 300>> <<set $bird.timer to 300>> <<set $moor to 100>> You see the castle, it's not far anymore. Meanwhile, your <<beasttype>> has started to show a slight limp in <<bhis>> wing. You land on the perch. <<bHe>> slowly walks into the nest and lays down. <br><br> <<bHe>> closes <<bhis>> wings and tries to find a comfortable position. <<if $monster is 1>> "Won't be able to hunt for a while," <<bhe>> says. <<bHe>> lets out various grunts of pain, unable to hide the discomfort <<bhe>> feels. <<else>> <<bHe>> makes many noises of discomfort, unable to hide the pain <<bhe>> feels. <</if>> <br><br> <span class="red">You won't be able to hunt with <<bhim>> until <<bhes>> healed.</span> <br><br> <<if $bird.hunts.lootAmount is 0>> You returned empty-handed, with an injured spouse. Your stomach ties itself in a knot as you feel a creeping shame wash over you. <<trauma 24>><<gggtrauma>> <br><br> <<flight_hunt_end>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> <<flight_hunt_loot>> <</if>><<effects>> <<npc "Great Hawk">><<person1>> You tell your <<beasttype>> that you want to return to the castle. <br><br> <<if $bird.hunts.returnAccept>> <<if $monster is 1>> "We return home," <<bhe>> says. <<else>> <<bHe>> screeches in response. <</if>> You begin your return trip. <<elseif $bird.hunts.lootAmount is 0>> <<if $monster is 1>> "<<Wife>> can go back, but <<wife>> will go alone. Still need to hunt." <<else>> <<bHe>> screeches in response, but does not turn to follow. <</if>> You fly back to the tower by yourself. <<set $bird.hunts.duo to false>> <<set $bird.state to "hunting">> <<set $bird.timer to 30>> <<else>> <<if $monster is 1>> "We hunt well. We can rest," <<bhe>> says. <<else>> <<bHe>> screeches in response. <</if>> You begin your return trip. <</if>> <br><br> <<link [[Next|Bird Hunt Return]]>><<endevent>><</link>> <br><<effects>><<set $location to "tower">> <<npc "Great Hawk">><<person1>> <<set $moor to 100>> <<set $bird.timer to 120>> <<if $phase is 1>> <<if $bird.hunts.duo is true>> You signal to the <<beasttype>> to turn back to the castle. <<bHe>> follows. <<else>> You begin your return trip. <</if>> <<elseif $phase is 2>> You decide to cut your losses and return home. <</if>> Soon, you see the castle again. <<if $bird.hunts.duo is true>> The two of you <<else>> You <</if>> land back on the perch<<if $bird.upgrades.decor gte 3>> and push the curtain aside<</if>>, <<if $bird.hunts.duo is true and $bird.hunts.returnAccept is true>> just in time for your spouse to drag you into the nest. <br><br> <<link [[Next|Bird Hunt Return Sex]]>><<set $sexstart to 1>><</link>> <br> <<elseif $bird.hunts.duo is false and $bird.state is "home" and birdEggsReady("Great Hawk")>> only to immediately notice that something's wrong. <<birdEggLayEvent "huntReturn">> <<elseif $bird.hunts.lootAmount is 0>> dejected at your failed hunt. <<trauma 12>><<ggtrauma>> <br><br> <<if $bird.state is "home" and $bird.activity isnot "sleep">> <<if $bird.hunts.duo is false>> Your <<beasttype>> <<if $monster is 1>>walks<<else>>hops<</if>> over to you. <<if $monster is 1>> "Glad to see <<wife>> return." <<bHe>> notices you didn't bring anything. "Not every hunt is successful," <<bhe>> says, trying to comfort you. <<else>> <<bHe>> notices you didn't bring anything. <<bHe>> gently nuzzles <<bhis>> beak against you in an attempt to comfort you. <</if>> <<else>> <<if $monster is 1>> "Not every hunt is successful," the <<beasttype>> says, trying to comfort you. <<else>> The <<beasttype>> gently nuzzles <<bhis>> beak against you in an attempt to comfort you. <</if>> <</if>> <br><br> <</if>> <<flight_hunt_end>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> satisfied with a successful hunt. <br> <<switch $bird.upgrades.decor>> <<case 1>>The tower feels cozy after such exertion.<<stress -6>><<lstress>> <<case 2>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -12>><<llstress>> <<case 3>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -24>><<lllstress>> <<case 4>>Home at last. <<stress -36>><<trauma -6>><<lllstress>><<ltrauma>> <<case 5>>Home at last. The silver bar <<if Time.dayState is "night">>gently reflects the moon's placid light.<<else>>casts pacifying reflections around your tower.<</if>><<set $stress to 0>><<trauma -6>><<lllstress>><<ltrauma>> <<default>> <</switch>> <br> <<flight_hunt_loot>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $enemytrust += 200>> <<set $enemyhealthmax to 600>> <<set $enemyhealth to 600>> <<if $monster isnot 1>> <<set $position to "doggy">> <<set $NPCList[0].stance to "top">> <</if>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Hunt Return Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Return Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<set $bird.satisfied to true>> <<elseif $enemyhealth lte 0>> The <<beasttype>> hops back to the far side of the nest. <<if $monster is 1>>"<<Wife>>'s too excited from the hunt."<</if>> <<set $bird.satisfied to true>> <</if>> <<clotheson>> <<endcombat>> <<npc "Great Hawk">><<person1>> <<if $bird.hunts.lootAmount is 0>> Your hunt wasn't successful, but at least something fun came out of it. <br><br> <<flight_hunt_end>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> You rise from the nest and take stock of your finds. <br> <<switch $bird.upgrades.decor>> <<case 1>>The tower feels cozy after such exertion.<<stress -6>><<lstress>> <<case 2>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -12>><<llstress>> <<case 3>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -24>><<lllstress>> <<case 4>>Home at last. <<stress -36>><<trauma -6>><<lllstress>><<ltrauma>> <<case 5>>Home at last. The silver bar <<if Time.dayState is "night">>gently reflects the moon's placid light.<<else>>casts pacifying reflections around your tower.<</if>><<set $stress to 0>><<trauma -6>><<lllstress>><<ltrauma>> <<default>> <</switch>> <br> <<set $bird.timer to 90>> <<flight_hunt_loot>> <</if>><<effects>><<silently>><<water>><</silently>> You hear a splash, and your whole body feels wet. The sky ripples above you. <br><br> You flail, pulling yourself to the surface. It's water. You're in a small lake, which had previously been reflecting the red sky until you crashed into it. <br><br> You sit and take a moment to re-orient yourself. You still feel dizzy. You seem to be in the middle of the moor. <br><br> <<if $bird.hunts.lootAmount gte 1>> <span class="red">Your loot was lost in the lake.</span> <br><br> <</if>> <<flight_hunt_end>> <<link [[Next|Moor]]>><<endevent>><<set $moor to 50>><<set $eventskip to 1>><</link>> <br><<effects>> <<npc "Great Hawk">><<person1>> <<if isPregnancyEnding()>> You're met with the face of the <<beasttype>>. <<if $monster is 1>> <<bHe>> says something to you, but the words sound like gibberish. <<else>> <<bHe>> eyes you with curiosity and concern. <</if>> <br><br> <<bHis>> wings start to beat faster. You feel a rise in your stomach. You open your eyes again to see the hospital below you, and feathers in the corner of your vision. You blink, and you're suddenly being lowered. Your feet meet the sidewalk. A rush of air follows, and the <<beasttype>> is gone. <br><br> <<flight_hunt_end>> <<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>> <br> <<else>> The next time you open your eyes, you're back in your tower. The <<beasttype>>'s face comes into view. <<if $monster is 1>> "<<Wife>>! What happened? You just started... falling. Like the sky spit you out." <<else>> <<bHe>> starts to squawk and fuss over you. <</if>> You assure <<bhim>> you're alright now. <<if $monster is 1>>"Are you sure?" <<bhe>> asks, still concerned. <<else>><<bHe>> looks slightly relieved, yet still worried. <</if>> <<flight_hunt_end>> <br><br> <<link "Reassure <<bhim>>" "Bird Hunt Passout 2">><<set $phase to 0>><<npcincr "Great Hawk" dom 1>><</link>><<gdom>> <br> <<link "Ignore <<bhim>>" "Bird Hunt Passout 2">><<set $phase to 1>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br> <</if>><<effects>> <<if $phase is 0>> <<if $speech_attitude is "meek">>"You don't need to worry, I'm fine," you say, fluttering your wings at <<bhim>>. <<elseif $speech_attitude is "bratty">>"I really am fine. If you don't believe me, see for yourself," you say, spreading your wings wide. <<else>>"I'm fine, see," you say as you turn around to show your wings. "Not a scratch anywhere." <</if>> <br><br> <<bHe>> looks at your wings for a moment. <<if $monster is 1>> "Your wings do look healthy. Still, <<wife>> should try to be more careful," <<bhe>> says. "If I wasn't with you..." <<else>> <<bHe>> chirps, glad to see that they look fine. <</if>> You pat <<bhim>> on the head and tell <<bhim>> not to worry too much. <<bHe>> nods, finally assured of your wellbeing. <<else>> <<if $speech_attitude is "meek">>"I d-don't need help," you respond meekly. <<elseif $speech_attitude is "bratty">>"Like I said, I'm fine," you respond. <<else>>"I'm alright, really," you respond. <</if>> <br><br> <<if $monster is 1>> "Are you sure?" <<bhe>> asks again. You repeat your answer. <<bHe>> does not sound satisfied with it. <<else>> <<bHe>> looks unsatisfied by your answer. <</if>> While <<bhe>> still seems somewhat concerned, you at least get <<bhim>> to stop fussing over you. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<bird_pass 5>><<endevent>><</link>> <br><<effects>> You devour the lurker, and are filled with warmth. <<eatLurker>><<trauma -6>><<drugs 120>><<ltrauma>><<ggdrugged>> <br><br> <<if $harpy gte 6 and $bird.hunts.unlocked is true and $bird.hunts.lurkers is false>> <<set $bird.hunts.lurkers to true>> <span class="blue">Feasting on the lurker felt good. You have the urge to catch more.</span> <span class="gold">You can now hunt for lurkers on your own.</span> <br><br> <</if>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> You bring the lurker to the cooking pot and throw it in. <br><br> You stoke the fire, and keep a close eye on it. When you think it's done, you take a bite. It's strangely sweet. Rather than warmth, you feel a soothing calmness wash over you. <<eatLurker>> <<trauma -18>><<lltrauma>> <br><br> <<if $harpy gte 6 and $bird.hunts.unlocked is true and $bird.hunts.lurkers is false>> <<set $bird.hunts.lurkers to true>> <span class="blue">Feasting on the lurker felt good. You have the urge to catch more.</span> <span class="gold">You can now hunt for lurkers on your own.</span> <br><br> <</if>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<npc "Great Hawk">> <<feedLurker>> You bring the lurker to your injured spouse. <<He>> quickly devours it. <<if $monster is 1>> "Thank you for hunting for me, <<wife>>. I feel... better." <<else>> <<bHe>> slowly stands and nuzzles you in gratitude. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<npc "Great Hawk">> <<feedLurker>> You bring the lurker to your spouse. <<He>> quickly devours it. <<if $monster is 1>> "Thank you for hunting for me, <<wife>>. I hope I can join you in hunting again soon." <<else>> <<bHe>> slowly stands and nuzzles you in gratitude. <</if>> <br><br> <<if !$bird.satisfied and $monster is 1>> You turn away, but your spouse grabs your arm. "I need to properly thank <<wife>>." With a strength that defies <<bhis>> pregnant condition, <<bhe>> pulls you into the nest! <br><br> <<link [[Next|Bird Tower Sleep Sex]]>><<set $sexstart to 1>><</link>> <br> <<else>> <<link [[Next|Bird Tower]]>><</link>> <br> <</if>><<effects>> <<getChildrenIds `{location:"tower", eggTimer:undefined}` "both">> <<set _childrenTotal to _childrenIds.length>> You put a lurker in the nest for <<if _childrenTotal gte 10>> your children. <<else>> <<childrenNames _childrenIds>>. <</if>> <<if _childrenTotal is 1>> <<childSelect _childrenIds[0]>><<childHis>> <<else>> Their <</if>> chirps and cries go quiet as <<if _childrenTotal is 1>> <<childSelect _childrenIds[0]>><<childhe>> happily eats. <<else>> they happily eat. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<npc "Great Hawk">> <<bird_fly_reveal_wings>> You tell your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> about your plan to steal from the inhabitants of the Remy estate. <<bHe>> listens to your plan unusually keenly. After you're done talking, <<bhe>> turns <<bhis>> head north. <<bHis>> gaze is intense. <br><br> <<if C.npc["Great Hawk"].love gte 80>> <<set $bird.hunts.estate to "scouting">> After a while, <<bhe>> turns back to look at you. <<bHe>> seems hesitant. <<if $monster is 1>> "Challenging the landbound and their leader would be dangerous. Is <<wife>> really sure about trying this?" <<bhe>> asks. <br><br> <<switch $speech_attitude>> <<case "meek">>"Well, if I have my big, strong <<beasttype>> with me, I'm sure everything will be fine," you respond. <<case "bratty">>"Of course I'm sure. With the two of us, we'll have no problem taking them on!" you respond. <<default>>"I know we can do it, we're the best hunters in the moor," you respond. <</switch>> <br><br> Emboldened by your words, <<bhe>> stands up. "I trust <<wife>> knows what <<pshe>> is doing. I will help," <<bhe>> says, sounding more confident. <<else>> <<bHe>> keeps looking at you worriedly, unable to shake <<bhis>> doubts. <br><br> <<switch $speech_attitude>> <<case "meek">>"T-there's no need for my big, strong <<beasttype>> to be afraid, I know we can do this," you say, trying to soothe <<bhim>>. <<case "bratty">>"Don't worry so much. No one stands a chance against the two of us!" you say, trying to soothe <<bhim>>. <<default>>"I know we can do this, you just have to trust me," you say, trying to soothe <<bhim>>. <</switch>> <br><br> Your words seem to get through to <<bhim>>. <<bHe>> stands up, emboldened by your words, and screeches out into the moor triumphantly. <<bHe>> turns to look at you and squawks, ready to help. <</if>> <br><br> Having successfully convinced your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> to help you, you're ready to move on to the next part of the plan. You'll have to scout out the estate to find something to steal. <br><br> <<if Time.dayState is "night">> You look outside. It's too dark to go scouting right now, you'll have to wait until the sun comes up. <br><br> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <br> <<elseif Time.hour gte 18>> You look outside. It'll be too dark by the time you get there. You'll have to wait. <br><br> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <br> <<elseif Weather.precipitation isnot "none" or Weather.isOvercast>> You look outside. You should wait until the weather clears up. <br><br> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <br> <<else>> You look outside. Now would be the perfect time to go scout out the estate. <br><br> <<link [[Scout out the estate (2:00)|Bird Hunt Estate Scout]]>><<endevent>><<set $phase to 1>><</link>> <br> <<link [[Not now|Bird Tower Perch]]>><<endevent>><</link>> <br> <</if>> <<else>> After a while, <<bhe>> turns back to you and meekly shakes <<bhis>> head. <<if $monster is 1>> "Sorry <<wife>>, but that place is where the landbound leader is. Going there is dangerous, stealing from them even more," <<bhe>> says. <<if $bird.estateKnown>>"I've already helped <<wife>> get in there once. Was a mistake."<</if>> <<else>> You can tell <<bhe>> understands your plan, but the thought of challenging those in the estate seems to scare <<bhim>> too much. <</if>> You plead with <<bhim>> further, but <<bhe>> remains adamant in <<bhis>> choice. <br><br> <span class="blue"><i><<bHe>> may be willing to help you if <<bhe>> trusted you more.</i></span> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <</if>><<effects>><<set $outside to 1>><<set $location to "moor">> <<npc "Great Hawk">> <<if $phase is 1>> You tell <<your_bird_text>> that you want to go scout out the estate right now. <<bHe>> cocks <<bhis>> head. <<if $monster is 1>> "Right now? Well, if <<wife>> thinks that is best, then we go now," <<bhe>> says. <<else>> <<bHe>> looks surprised by your enthusiasm to go, but is ready to do so regardless. <</if>> <<else>> You ask <<your_bird_text>> to come scout out the estate with you. <<bHe>> stands up and stretches <<bhis>> wings in preparation. <<if $monster is 1>> "<<Wife>> is ready to go now? Then we will go," <<bhe>> says. <<else>> <<bHe>> squawks, indicating that <<bhes>> ready to go. <</if>> <</if>> <br><br> Before you can get the chance to leap out, <<bhe>> steps in front of you. <<if $monster is 1>> <<bHe>> hesitates to say anything, simply looking at you, eyes full of worry. <<else>> <<bHe>> does not make a sound, choosing to simply stare at you with an uneasy expression. <</if>> You can tell <<bhes>> still somewhat nervous to go near the estate. You assure <<bhim>> you won't be doing anything dangerous. Your words seem to comfort <<bhim>>, as <<bhe>> steps out of your way. <br><br> You leap from the tower and begin flying towards the Remy estate. <br><br> <<link [[Next|Bird Hunt Estate Scout 2]]>><<bird_pass 45>><</link>> <br><<effects>><<set $location to "estate">> The flight over to the estate is mostly uneventful, but the air is tense. <br><br> You arrive near the front of the estate, staying high enough to not be noticed. The view from up here should help you spot anything of interest. You waste no time and start circling. <br><br> You do many laps around the perimeter. Your <<beasttype>> follows you, unsure what else to do. After a while you return to the front and ponder your findings. <<if $estate>> You know how well defended the stone building is, not to mention those in the cottage ready to rush over to help defend it. <<else>> You saw many guards around the stone building. It most likely has something worth taking, but it's clear that even with the help of your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>, you couldn't get in there. The cottage nearby would be more accessible, but it's unlikely to have anything you'd want. <</if>> <<if $livestock_intro isnot undefined>> You know what the barn holds, and know there's no point in trying to get in there. <<else>> Despite the guards near the barn, you doubt it holds anything of value to you. <</if>> <br><br> The manor itself would likely have what you want, but trying to get in there would be even harder. Your task is starting to seem impossible. You look to your <<beasttype>> for any ideas, but <<bhe>> seems as clueless as you. Your wings have started getting tired from so much gliding. <<tiredness 16>><<ggtiredness>> <br><br> As you're about to give up hope, you spot a group of four people carrying a secure-looking box out of the manor. They load it up into one of the vans, and get in. The van then drives out of the estate and turns towards the moor. This could be your only chance to find that special something! You follow after it. <br><br> <<link [[Next|Bird Hunt Estate Scout 3]]>><<bird_pass 15>><</link>> <br><<effects>><<set $location to "moor">> You fly after the van. It can't go very fast in the rough terrain of the moor, allowing you to keep up easily. After many minutes, it finally stops near a large ridge in the ground. <br><br> The people get out and start unloading supplies. Three of them take out a bunch of nets and cages while one of them grabs the secure box. You notice the one carrying the box is armed. They walk towards the ridge and enter some shrubbery. You wait for them to emerge again, but they don't. Flying closer, you don't see where they could have gone. <br><br> You consider landing, but a look from your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> reminds you what you promised to <<bhim>>. You observe the surrounding area. It looks unremarkable from the rest of the moor. Most importantly, there's nothing that would help you ambush the goons when they come back. A sheer drop from above would leave you open to the armed guard. <br><br> <<link [[Next|Bird Hunt Estate Scout 4]]>><<bird_pass 15>><</link>> <br><<effects>> After waiting around for a while, you see movement in the bushes. You watch them emerge from a hole in the ground, previously hidden by the foliage. The cages they brought now have lurkers in them. They walk back to the car and drive off. <br><br> You land once they're far away, immediately relishing in the chance to rest your wings. You decide against following them, instead choosing to investigate the hole. You tell <<your_bird_text>> as much. <br><br> <<if $monster is 1>> "Can't follow <<wife>> there, the hole looks too small," <<bhe>> says. "Be safe, <<wife>>." <<else>> It's immediately apparent that <<bhes>> too big to follow you. <<bHe>> nuzzles you in reassurance. <</if>> You walk past the shrubbery, into the hole. It's more like a small cave entrance, with the ground gently sloping downwards. Wooden supports keep the mouth stable. <br><br> <<link [[Next|Bird Hunt Estate Scout 5]]>><</link>> <br><<effects>><<set $outside to 0>><<set $location to "underground">> <<switch $bodysize>> <<case 1 2>>You're easily able to walk down the hole. You're small enough to escape quickly if things go bad. <<case 3>>You have to duck as you walk in, and keep your wings tucked to your body. It's a bit cramped. You wonder how the others managed to carry all that equipment in and out. <<case 4>>You have to tuck your wings tight to your body, and even then they hit the edges of the entrance. You're practically crawling. You wonder how the others managed to carry all that equipment in and out. <</switch>> Once you're through the mouth, it becomes surprisingly spacious. Walking in the dark is hard, but your keen eyesight helps a little. You soon emerge from the tunnel to a large chamber. <br><br> The ceiling has a few small cracks, letting in sunlight. Notably, there's one big spot in the middle where a lot of light shines in, right on top of a carved stone pillar. You notice lots of small holes all around you, and one bigger one leading into pure darkness. You hear a loud chittering coming from it. You avoid getting too close to it. Upon closer inspection, you can hear similar chittering coming from some of the smaller holes too. You look around more, but find nothing else of interest. <br><br> One thing is clear. Whatever's in that box is used to help capture lurkers. Nets alone wouldn't get them out of a den this big. It'll make for a fine centrepiece for your hoard. Looking at the holes in the cave gives you an idea. Maybe you could use the lurkers as a distraction while you steal whatever they're using. <br><br> The chittering begins to grow louder, and you hear movement. You exit swiftly, not wanting to push your luck. With your scouting mission a success and a plan in mind, you exit the cave satisfied. <br><br> <<link [[Next|Bird Hunt Estate Scout 6]]>><<bird_pass 45>><</link>> <br><<effects>><<set $location to "moor">> You arrive outside the cave again, and <<your_bird_text>> looks relieved to see you. You try to take off, but your wings are too tired from the long flight. <<bHe>> picks you up and helps you ascend. <br><br> <<if $monster is 1>> "What did <<wife>> find?" <<bhe>> asks, <<else>> <<bHe>> looks curious to hear what you found, <</if>> as <<bhe>> lets you start gliding. You describe the inside of the cave to <<bhim>>. Those details don't seem to interest <<bhim>>, until you mention that you plan to steal the object from them while they're in there. <br><br> <<if $monster is 1>> "But if <<wife>> attacks the landbound in there, I can't help <<wife>>!" <<bhe>> protests. "Too risky."<br> You promise <<bhim>> that it's worth trying. <<bHe>> seems to understand that <<bhe>> can't convince you to back down now. "I will help <<wife>> how I can," <<bhe>> says. You fly closer to <<bhim>> and give <<bhim>> a peck on the cheek. <<bHe>> blushes faintly, surprised by your sudden affection. <<else>> Upon hearing that you want to risk stealing from them in there alone, <<bhe>> screeches in protest. <<bHe>> doesn't want you to take such a risk. You promise <<bhim>> that it's worth trying. The <<beasttype>> seems to understand that <<bhe>> can't convince you to back down now. <<bHe>> squawks at you, resolving <<bhimself>> to help however <<bhe>> can. You fly closer to <<bhim>> and give <<bhim>> a peck on the cheek. <<bHe>> squawks lightly, surprised by your sudden affection. <</if>> <br><br> The rest of the flight goes by in silence. Eventually you land, pushing the curtain aside and pacing as you think everything over again. Stealing from Remy's goons is not going to be easy, but whatever is in that box is sure to be worth it. You just have to follow them back to that cave again. <br><br> <span class="blue">Remy's goons will most likely be going when the sun is shining the brightest. You should plan on going in the middle of a mostly clear day.</span> <br><br> <<set $bird.hunts.estate to "ready">> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<npc "Great Hawk">> <<if !$birdSilverHunt>> <<set $birdSilverHunt to { failed: 0, suspicion: 0 }>> <</if>> You tell your <<beasttype>> you want to put your plan in motion. <<bHe>> stands up and turns towards you. <<if $birdSilverHunt.failed gte 2>> <<bHe>> seems to have doubts about your plan working, but <<bhe>> does not voice them. You try to reassure <<bhim>> that you remember how to avoid them this time. <<bHe>> chooses to just nod. <br><br> <<bHe>> leaps off the perch. You follow after <<bhim>> and begin flying to the estate. <br><br> <<link [[Next|Bird Hunt Estate Steal 1]]>><<bird_pass 60>><</link>> <br> <<elseif $birdSilverHunt.failed is 1>> <<bHe>> looks hesitant. <<if $monster is 1>> "Is <<wife>> sure we should still challenge the landbound?" <<bhe>> asks. <<else>> <<bHe>> must have lost some confidence after your previous failure. <</if>> You tell <<bhim>> that you learned how the guards patrol, so sneaking past them should be much easier. <br><br> <<bHe>> does not say anything. <<bHe>> leaps off the perch. You follow after <<bhim>> and begin flying to the estate. <br><br> <<link [[Next|Bird Hunt Estate Steal 1]]>><<bird_pass 60>><</link>> <br> <<else>> <<bHe>> looks determined. <<if $monster is 1>> "The landbound are strong, but we are stronger," <<bhe>> says. <<else>> <<bHe>> looks out towards the estate and screeches. <</if>> Despite the brave face <<bhes>> putting on, it's clear <<bhes>> still slightly nervous. <br><br> You assure <<bhim>> everything will be fine. <<bHe>> nods and leaps off the perch. You follow after <<bhim>> and begin flying to the estate. <br><br> <<link [[Next|Bird Hunt Estate Steal 1]]>><<bird_pass 60>><</link>> <br> <</if>><<effects>><<set $outside to 1>><<set $location to "estate">> After another uneventful flight, you reach the estate. The estate grounds are bustling with activity. You keep an eye out for anyone entering vehicles or carrying anything out. Your <<beasttype>> is doing <<bhis>> best to look as well. <br><br> There's a lot being moved in and out. It's hard to keep track of everything. <<your_bird_text "cap">> brushes against you, and nods to a group of five. <span class="green">You catch a glimpse of the box being loaded into a van.</span> <br><br> You pat <<your_bird_text>> on the head, and the two of you move to follow the van. <br><br> <<link [[Next|Bird Hunt Estate Steal 2]]>><<bird_pass 10>><</link>> <br><<effects>><<set $location to "moor">> It exits the estate and turns towards the moor. After a while, it stops near the large ridge. The group exits the van and starts moving supplies. You take the opportunity to get a better look at them. <<endevent>> <<if $birdSilverHunt.failed is 0>> <<generateRole 0 0 "guardsman/guardswoman">> <<generateRole 1 0 "guardsman/guardswoman">> <<generateRole 2 0 "guardsman/guardswoman">> <<generateRole 3 "guard" "captain">> <<generateRole 4 0 "guardsman/guardswoman">> <<else>> <<loadNPC 0 "estateHuntGuard0">> <<loadNPC 1 "estateHuntGuard1">> <<loadNPC 2 "estateHuntGuard2">> <<loadNPC 3 "estateHuntGuardCaptain">> <<generateRole 4 0 "guardsman/guardswoman">> <</if>> <<npc "Great Hawk" 6>> <br><br> A <<person1>><<person>> and <<person2>><<person>> are grabbing cages, while a <<person3>><<person>> takes out some nets. A fourth person emerges, <<if $birdSilverHunt.failed gte 1>> carrying the box, as well as some crude, long bludgeons. You can guess why they might need them this time. <<else>> carrying the box. <</if>> <<person4>><<Hes>> armed, too. <<He>> must be the group leader. <br><br> Finally, a <<person5>><<person>> exits. Everyone except <<him>> walks into the shrubbery and enter the hidden cave. The <<person>> stands guard at the entrance. <br><br> You wait until you're sure everyone else is inside, then tell your <<beasttype 5>> to lead the guard away. <<bHe 5>> nods<<if $monster is 1>>. "Good luck, <<wife>>," <<bhe 5>> says.<<else>> and squawks, wishing you good luck.<</if>> <<bHe 5>> flies a good distance away from you and lets out a loud screech. The <<person5>><<person>> jumps and drops something, before reaching for a device on <<his>> vest. <<He>> yells into it, then follows the Great Hawk. <br><br> <<saveNPC 0 "estateHuntGuard0">> <<saveNPC 1 "estateHuntGuard1">> <<saveNPC 2 "estateHuntGuard2">> <<saveNPC 3 "estateHuntGuardCaptain">> <<saveNPC 4 "estateHuntGuard4">> <<endevent>> You land and enter the cave. <br><br> <<link [[Next|Bird Hunt Estate Steal 3]]>><</link>> <br><<effects>><<set $location to "underground">> <<set $birdSilverHunt.suspicion to 0>> You slip into the hole and slowly proceed forward. The tunnel is surprisingly bright this time. <br><br> You keep walking until you near the open chamber. The <<loadNPC 0 "estateHuntGuard0">><<person1>><<person>> is up ahead, standing with <<his>> back to you. You see a bright light coming from somewhere ahead of <<him>>. <br><br> You get as close as you can, hiding behind a rocky ridge in the wall. You wait, but <<he>> doesn't move. You start to hear familiar chittering from somewhere above you. <br><br> <<link [[Keep waiting|Bird Hunt Silver Steal Wait]]>><</link>><<willpowerdifficulty 500 714>> <br> <<set $skulduggerydifficulty to 700>> <<link [[Sneak around <<him>>|Bird Hunt Silver Steal Sneak]]>><</link>><<skulduggerydifficulty>> <br><<effects>> You decide to wait, hoping <<he>> will move elsewhere. Sure enough, you soon hear someone call out to <<him>>. "Hey! Quit jacking off and come help catch these things." <br><br> "I ain't jacking off, just... covering our exit," the <<person>> responds. <<He>> sighs and walks ahead, giving you an opportunity to sneak in. As <<he>> leaves, you notice that <<hes>> wearing something on <<his>> face. Some kind of eye protection? <br><br> You carefully enter the clearing and take cover behind some rocks, away from the <<person>>. You hear some more chittering on your left. Right as you turn to face the noise, a lurker leaps past you! <<if $willpowerSuccess>> <span class="green">You manage to stay calm and suppress your voice.</span> Surprisingly, the lurker is ignoring you. It skitters onwards, towards the bright light in the middle. <<else>> <span class="red">You let out a short yelp involuntarily.</span> Luckily for you, the lurker ignores you, opting to skitter onwards towards the light. Unluckily, the <<person>> starts walking towards your hiding spot, but is stopped by another shout. "Your blinders come loose, jackass? What're you trudging around for? Get over here!" <br> "Okay okay, just a moment," <<he>> responds, annoyed. <<He>> turns back around and walks towards the centre. <<gsuspicion>><<set $birdSilverHunt.suspicion++>> <br><br> <</if>> <<if $birdSilverHunt.failed gte 1>> You peek up to investigate your surroundings. <<else>> With a moment to think, you wonder why the lurker ignored you. You peek your head up over the rock, trying to focus on the light source. <</if>> <br><br> <<link [[Next|Bird Hunt Silver Steal 2]]>><<endevent>><</link>> <br><<effects>> There's no telling how long the <<person>> will stand there, and you can't afford to wait. You crouch down and sneak up behind <<him>>. <<He>> seems to be wearing something on <<his>> face, so sneaking past <<him>> should be doable, though <<he>> seems very attentive. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess>> Right as you're about to start moving, you notice <<him>> twitch slightly. You take that as a sign and hug the wall. Sure enough, <<he>> turns to look in the direction you were about to go. "Thought I wouldn't notice, huh?" <<he>> says. For a moment you panic, thinking you were found, until you see <<him>> swing <<his>> net ahead. <<He>> nets a lurker. <br><br> Wasting no time, you sneak in while <<hes>> distracted, and take cover behind some rocks. <<else>> You sneak past <<him>> and move to take cover behind some rocks. Before you reach them, you hear a voice from behind you. "Thought I wouldn't notice, huh?" You panic and stumble, scrambling the rest of the distance. <br><br> You prepare for <<him>> to run up and grab you, but it never happens. You peek back and see the <<person>> holding a netted lurker. "Almost snuck past me, little bastard," <<he>> says. "Now, I could have sworn I heard another one..." <<he>> mutters to <<himself>>. <<His>> footsteps briefly get closer, but start to fade again. <<gsuspicion>><<set $birdSilverHunt.suspicion++>> <</if>> <br><br> You see another lurker run past you, towards the light. <<if $birdSilverHunt.failed gte 1>> You peek up to investigate your surroundings. <<else>> With a moment to think, you wonder why the lurker ignored you. You peek your head up over the rock, trying to focus on the light source. <</if>> <br><br> <<link [[Next|Bird Hunt Silver Steal 2]]>><<endevent>><</link>> <br><<effects>> <<loadNPC 0 "estateHuntGuard0">> <<loadNPC 1 "estateHuntGuard1">> <<loadNPC 2 "estateHuntGuard2">> <<loadNPC 3 "estateHuntGuardCaptain">> With the bright light ahead, you have an entirely different perspective of the cave. You can see everything. The light itself is shining so brightly that everywhere it touches almost looks reflective. You can see lurkers coming and going from various small holes, heading towards the middle of the clearing. The <<person3>><<person>> is furthest away from the middle. <<He>> seems to be catching lurkers with nets as they exit the holes. You get a better look at <<his>> face. <<Hes>> wearing some kind of visor with heavily tinted glass. <br><br> A bit further ahead, you see the <<person1>><<person>> and <<person2>><<person>>. They too are wearing the same kind of visor, and have more cages and nets around them. They've caught a lot of lurkers already, though they still have room for more. They don't look too focused, so getting past them shouldn't be too hard. <br><br> In the middle of the clearing, you see the <<person4>><<person>>. <<His>> visor looks a lot different. It's darker and covers <<his>> whole face, and there's something etched into the glass. Whenever lurkers manage to reach the light in the middle, the <<person>> simply grabs them and shoves them into the cages. <br><br> As your eyes get used to the light, you realise it's coming from the now-open box. You try to focus your attention on the object inside, but can't tell what it is from this distance with it shining so brightly. You doubt it will be easy to grab without the <<person>> noticing, so you should be prepared to confront <<him>>. <br><br> <<link [[Try to focus on the object|Bird Hunt Silver Steal 3]]>><</link>> <br><<effects>> <<set $birdSilverHuntGuards to {}>> <<set $birdSilverHunt.player to { position: 4, action: "none" }>> <<set $birdSilverHuntGuards[1] to { position: 7, action: "move", movingTo: "none", name: $NPCList[0].fullDescription, index: 1 }>> <<set $birdSilverHuntGuards[2] to { position: "none", action: "none", movingTo: "none", name: $NPCList[1].fullDescription, index: 2 }>> <<set $birdSilverHuntGuards[3] to { position: "none", action: "none", movingTo: "none", name: $NPCList[2].fullDescription, index: 3 }>> <<set $birdSilverHunt.distance to 0>> <<set $birdSilverHunt.timer to 0>> <<set $birdSilverHunt.lurkerSpawn to "none">> <<set $birdSilverHunt.freebie to false>> <<if $awarelevel gte 2>> The more you look at it, the more you realise how captivating the shine really is. You have a hard time looking away from it, but manage to shake it off after a moment. <<elseif $innocencestate is 1>> For a moment, your vision focuses on it enough to see that it is something rectangular. <<else>> You're having a hard time getting a proper look at what it is. No matter how much you try to focus your vision on it, all you can see is blurry light. <</if>> Whatever it is, you know you want it. But first, you have to get close enough to grab it. Looking around, you notice that the cave has a lot of rocks and natural cover to hide behind. You spot the same big hole again. Despite all the light, it still looks pitch black. <br><br> You consider what to do next. You should be able to sneak up to the middle if you go carefully between the rocks. You should avoid any lurkers, and more importantly, being seen by the guards. With the visors hampering their vision, you should be able to hide if they get too close. Hiding won't help you against the lurkers, though. You steel your nerves and prepare to sneak forward. <br><br> <<link [[Next|Bird Hunt Silver Sneak]]>><</link>> <br><<effects>> <!-- I know this is bad, I want to make it a proper encounter type later. --> <<switch $birdSilverHunt.player.action>> <<case "forward">> <<if $birdSilverHunt.lurkerSpawn is $birdSilverHunt.player.position>> You slip out of your hiding place and try to move forward. Before you can get far, you're interrupted by a lurker leaping at your back! <<silver_hunt_lurker_caught>> <<elseif Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> <<set _guardCaught to Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> You slip out of your hiding place and start moving forward. Right after stepping out, the _guardCaught.name walks towards you. <<if !$birdSilverHunt.freebie>> <<set $birdSilverHunt.freebie to true>> You rush back to your original hiding place. Through sheer luck, the _guardCaught.name didn't notice you. <span class="red">You doubt that will happen again.</span> <<stress 12>><<ggstress>> <<else>> <<set _caught to true>> You rush back to your original hiding place, but it's too late. "What the- hey! There's someone else here!" <</if>> <<else>> You dash from your hiding place and move forward, towards the centre. You make it without any trouble and slip into another spot where you can hide. <<set $birdSilverHunt.distance++>> <</if>> <<case "moveLeft" "moveRight">> <<set _direction to ($birdSilverHunt.player.action is "moveLeft" ? "left" : "right")>> <<if _direction is "left">> <<set $birdSilverHunt.player.position to ($birdSilverHunt.player.position is 0 ? 8 : $birdSilverHunt.player.position - 1)>> <<else>> <<set $birdSilverHunt.player.position to ($birdSilverHunt.player.position is 8 ? 0 : $birdSilverHunt.player.position + 1)>> <</if>> You move to a different hiding spot on your _direction. <<if $birdSilverHunt.lurkerSpawn is $birdSilverHunt.player.position>> Upon reaching the hiding spot, you think you were unseen, until a lurker suddenly leaps at your back! <<silver_hunt_lurker_caught>> <<elseif Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> <<set _guardCaught to Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> You reach the hiding spot, but are too late to notice the _guardCaught.name standing only a few feet from you! <<if !$birdSilverHunt.freebie>> <<set $birdSilverHunt.freebie to true>> You slide behind the opposite side of the cover. Through sheer luck, the _guardCaught.name didn't notice you. <span class="red">You doubt that will happen again.</span> <<stress 12>><<ggstress>> <<else>> <<set _caught to true>> You dive behind the opposite side of the cover, but it's too late. "What the- hey! There's someone else here!" <</if>> <<else>> You make it safely and get into cover. <</if>> <<case "crawlLeft" "crawlRight">> <<set $birdSilverHunt.timer++>> <<set _lurkerSpawn to true>> <<set _direction to ($birdSilverHunt.player.action is "crawlLeft" ? "left" : "right")>> <<if Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position))>> <<set _guardOnTop to Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position))>> You wait for the _guardOnTop.name to roam slightly away from you, then emerge from your hiding place and slowly crawl to the _direction, hoping to reach a different hiding spot without being seen. <<else>> You slowly crawl to the _direction, hoping to reach a different hiding spot without being seen. <</if>> <<if _direction is "left">> <<set $birdSilverHunt.player.position to ($birdSilverHunt.player.position is 0 ? 8 : $birdSilverHunt.player.position - 1)>> <<else>> <<set $birdSilverHunt.player.position to ($birdSilverHunt.player.position is 8 ? 0 : $birdSilverHunt.player.position + 1)>> <</if>> <<if Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> <<set _guardNew to Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> Despite the _guardNew.name being close by, your movement was stealthy enough to not be spotted. <</if>> <<if $birdSilverHunt.lurkerSpawn is $birdSilverHunt.player.position>> Upon reaching the hiding spot, you think you were unseen, until a lurker suddenly leaps at your back! <<silver_hunt_lurker_caught>> <<else>> You make it without issue. <</if>> <<case "hide">> You move into an especially sunken spot and do your best to hide. <<if $birdSilverHunt.lurkerSpawn is $birdSilverHunt.player.position and Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> <<set _guardOnTop to Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position or guard.movingTo is $birdSilverHunt.player.position))>> <<set $birdSilverHunt.lurkerSpawn to "none">> You remain hidden. You can hear the chittering grow louder, as can the <<personselect `_guardOnTop.index - 1`>><<person>>. <<He>> notices the approaching lurker and intercepts its path with a net. "<<print either("Hah, won't get by me that easily,","Not fast enough,","Move too fast and you're easy to spot,")>>" <<he>> chuckles to <<himself>>. <<set _guardOnTop.action to "move">> <<silver_hunt_move_guard _guardOnTop.index true>> <<He>> immediately walks away in search of more lurkers. <<elseif Object.values($birdSilverHuntGuards).find(guard => (guard.movingTo is $birdSilverHunt.player.position))>> <<set _guardOnTop to Object.values($birdSilverHuntGuards).find(guard => (guard.movingTo is $birdSilverHunt.player.position))>> You watch from your hiding place as the <<personselect `_guardOnTop.index - 1`>><<person>> walks over. Thankfully you're still and hidden enough that <<he>> can't see you through <<his>> visor. <<set _guardOnTop.action to "move">> <<elseif Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position))>> <<set _guardOnTop to Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position))>> You remain hidden, waiting for the <<personselect `_guardOnTop.index - 1`>><<person>> to move. It takes a bit, but soon enough <<he>> walks away. After <<hes>> far enough, you emerge from your hiding place. <<set _guardOnTop.action to "move">> <<silver_hunt_move_guard _guardOnTop.index true>> <<elseif $birdSilverHunt.lurkerSpawn is $birdSilverHunt.player.position>> Despite hiding yourself, a lurker notices you, and pounces! <<silver_hunt_lurker_caught>> <<else>> You wait for a bit, but nothing happens. You peek your head out once again. <</if>> <<case "peek">> You raise your head and peek out of your hiding place, scanning your surroundings. <<if $birdSilverHunt.lurkerSpawn is $birdSilverHunt.player.position>> However, you're interrupted by a lurker leaping at your back! <<silver_hunt_lurker_caught>> <<else>> <<set _guard_keys to Object.keys($birdSilverHuntGuards)>> <<for _gg to 0; _gg lt _guard_keys.length; _gg++>> <br> <<if $birdSilverHuntGuards[_guard_keys[_gg]].position is "none">> The <<print $birdSilverHuntGuards[_guard_keys[_gg]].name>> is too far away to be of concern. <<else>> <<set _distanceRight to ($birdSilverHuntGuards[_guard_keys[_gg]].position - $birdSilverHunt.player.position + 9) % 9>> <<set _distanceLeft to ($birdSilverHunt.player.position - $birdSilverHuntGuards[_guard_keys[_gg]].position + 9) % 9>> <<set _distanceTotal to Math.min(_distanceRight,_distanceLeft)>> <<set _distanceClose to (_distanceRight gt _distanceLeft ? "left" : "right")>> <<switch _distanceTotal>> <<case 1>>You're able to get a better look at the <<personselect _gg>><<person>> to your _distanceClose. <<case 2>>You can see that the <<personselect _gg>><<person>> is on your _distanceClose, and is somewhat close to you. <<case 3>>On your _distanceClose, you see the <<personselect _gg>><<person>>. <<He>> is still a good distance away from you. <<default>>You see the <<personselect _gg>><<person>> far away on your _distanceClose. <</switch>> <<if $birdSilverHuntGuards[_guard_keys[_gg]].movingTo isnot "none">> <<set _distanceRightMoving to ($birdSilverHuntGuards[_guard_keys[_gg]].movingTo - $birdSilverHunt.player.position + 9) % 9>> <<set _distanceLeftMoving to ($birdSilverHunt.player.position - $birdSilverHuntGuards[_guard_keys[_gg]].movingTo + 9) % 9>> <<set _distanceTotalMoving to Math.min(_distanceRightMoving,_distanceLeftMoving)>> <<set _distanceCloseMoving to (_distanceRightMoving gt _distanceLeftMoving ? "left" : "right")>> <</if>> <<switch $birdSilverHuntGuards[_guard_keys[_gg]].action>> <<case "move" "moveQueue">> <<Hes>> caught a lurker, which <<he>> puts into a small cage. <<if $birdSilverHuntGuards[_guard_keys[_gg]].movingTo is $birdSilverHunt.player.position>> <<He>> turns to face your hiding place. <<Hes>> probably going to walk right over to where you are. <<elseif _distanceTotalMoving gt _distanceTotal>> <<He>> turns away from you. <<Hes>> going to move further away. <<elseif _distanceTotalMoving is _distanceTotal>> <<He>> looks at a spot on the other side of you. It looks like <<he>> will move right past you if you stay still. <<else>> <<He>> turns towards your general direction. <<Hes>> going to move closer to your position. <</if>> <<case "moving">> <<if $birdSilverHuntGuards[_guard_keys[_gg]].movingTo is $birdSilverHunt.player.position>> <<Hes>> about to be right on top of you. <<elseif _distanceTotalMoving gt _distanceTotal>> <<Hes>> walking away from you. <<elseif _distanceTotalMoving is _distanceTotal>> <<Hes>> walking right past you. <<else>> <<Hes>> walking towards you. <</if>> <<default>><<Hes>> watching for lurkers. <</switch>> <</if>> <</for>> <</if>> <<default>> <</switch>> <br><br> <<if _caught>> <<link [[Next|Bird Hunt Silver Fail]]>><<endevent>><</link>> <br> <<else>> <<if $birdSilverHuntGuards[2].position is "none" and $birdSilverHunt.distance gte 2>> <<set $birdSilverHuntGuards[2].position to random(0,8)>> <<set $birdSilverHuntGuards[2].action to "move">> <<silver_hunt_action_guard 2>> <span class="red">The <<person2>><<person>> is closer. You have another guard to deal with.</span> <br> <</if>> <<if $birdSilverHuntGuards[3].position is "none" and $birdSilverHunt.distance gte 5>> <<set $birdSilverHuntGuards[3].position to random(0,8)>> <<set $birdSilverHuntGuards[3].action to "move">> <<silver_hunt_action_guard 3>> <span class="red">The <<person3>><<person>> is closer. You have another guard to deal with.</span> <br> <</if>> <<if $birdSilverHuntGuards[1].position isnot "none">> <<silver_hunt_action_guard 1>> <</if>> <<if $birdSilverHuntGuards[2].position isnot "none">> <<silver_hunt_action_guard 2>> <</if>> <<if $birdSilverHuntGuards[3].position isnot "none">> <<silver_hunt_action_guard 3>> <</if>> <<set _leftCheck to ($birdSilverHunt.player.position is 0 ? 8 : $birdSilverHunt.player.position - 1)>> <<set _rightCheck to ($birdSilverHunt.player.position is 8 ? 0 : $birdSilverHunt.player.position + 1)>> <<set _leftGuard to Object.values($birdSilverHuntGuards).find(guard => (guard.position is _leftCheck or guard.movingTo is _leftCheck))>> <<set _rightGuard to Object.values($birdSilverHuntGuards).find(guard => (guard.position is _rightCheck or guard.movingTo is _rightCheck))>> <<set _onGuard to Object.values($birdSilverHuntGuards).find(guard => (guard.position is $birdSilverHunt.player.position))>> You're hiding behind some rocks. <<if !_leftGuard and !_rightGuard and !_onGuard>> You don't see or hear anyone nearby. <<else>> <<if _onGuard>> <span class="red">The _onGuard.name is right on top of you!</span> <</if>> <<if _leftGuard>> <span class="blue">You <<if _leftGuard.movingTo is _leftCheck>>hear footsteps heading towards your left<<else>>can see the _leftGuard.name on your left<</if>>.</span> <<else>> <span class="teal">The cover to your left is open.</span> <</if>> <<if _rightGuard>> <span class="blue">You <<if _rightGuard.movingTo is _rightCheck>>hear footsteps heading towards your right<<else>>can see the _rightGuard.name on your right<</if>>.</span> <<else>> <span class="teal">The cover to your right is open.</span> <</if>> <<if _leftGuard?.position is _leftCheck and _rightGuard?.position is _rightCheck>> <<set _noForward to true>> <</if>> <</if>> <br> <<if $birdSilverHunt.lurkerSpawn isnot "none">> <<set _lurkerLast to $birdSilverHunt.lurkerSpawn>> <<set $birdSilverHunt.lurkerSpawn to "none">> <</if>> <<if _lurkerLast>> <<if _lurkerLast is _leftCheck>> <span class="teal">A lurker skitters past on your left.</span> <br> <</if>> <<if _lurkerLast is _rightCheck>> <span class="teal">A lurker skitters past on your right.</span> <br> <</if>> <</if>> <<if $birdSilverHunt.timer gte 16>> <span class="red">The lurkers are swarming.</span> <<set _lurkerSpawn to true>> <<elseif $birdSilverHunt.timer gte 8 and ($birdSilverHunt.timer % 2 is 0)>> <span class="pink">The chittering in the walls is growing louder.</span> <<set _lurkerSpawn to true>> <<elseif [1,4,7,10].includes($birdSilverHunt.timer)>> <<set _lurkerSpawn to true>> <</if>> <<if _lurkerSpawn is true>> <<set $birdSilverHunt.lurkerSpawn to either(_leftCheck,_rightCheck,$birdSilverHunt.player.position,$birdSilverHunt.player.position)>> <</if>> <<switch $birdSilverHunt.lurkerSpawn>> <<case _leftCheck>><span class="purple">You hear faint chittering sounds from your left.</span><br> <<case _rightCheck>><span class="purple">You hear faint chittering sounds from your right.</span><br> <<case $birdSilverHunt.player.position>><span class="purple">You hear faint chittering sounds from behind you.</span><br> <<default>> <</switch>> <br> <<switch $birdSilverHunt.distance>> <<case 0 1 2>><span class="pink">You're still quite far from the object.</span> <<case 3 4 5>><span class="blue">You're about halfway to the middle.</span> <<case 6 7 8>><span class="teal">You're getting close to the middle.</span> <<case 9>><span class="green">You've almost reached the object.</span> <<case 10>><span class="gold">You've made it to the object!</span> <</switch>> <br> <<switch $birdSilverHunt.suspicion>> <<case 0>><span class="green">The guards have no idea you're here.</span> <<case 1>><span class="purple">The guards are alert for possible intruders.</span> <<case 2 3>><span class="red">The guards think someone might be here.</span> <</switch>> <br><br> <<if $birdSilverHunt.distance is 10>> <<birdicon "silver">><<link[[Approach the object|Bird Hunt Silver Approach]]>><</link>> <br> <<else>> <<if !_noForward>> <<caveicon "north">><<link[[Move forwards|Bird Hunt Silver Sneak]]>><<set $birdSilverHunt.player.action to "forward">><</link>><<note "+ Progress" "green">> <br> <<else>> <span class="purple">You don't think you can move forwards like this.</span> <br> <</if>> <<if !_onGuard>> <<caveicon "west">><<link[[Move left|Bird Hunt Silver Sneak]]>><<set $birdSilverHunt.player.action to "moveLeft">><</link>> <br> <</if>> <<caveicon "left">><<link[[Crawl left|Bird Hunt Silver Sneak]]>><<set $birdSilverHunt.player.action to "crawlLeft">><</link>><<note "Sneaky, but slow" "teal">> <br> <<if !_onGuard>> <<caveicon "east">><<link[[Move right|Bird Hunt Silver Sneak]]>><<set $birdSilverHunt.player.action to "moveRight">><</link>> <br> <</if>> <<caveicon "right">><<link[[Crawl right|Bird Hunt Silver Sneak]]>><<set $birdSilverHunt.player.action to "crawlRight">><</link>><<note "Sneaky, but slow" "teal">> <br><br> <<crimeicon>><<link[[Hide|Bird Hunt Silver Sneak]]>><<set $birdSilverHunt.player.action to "hide">><</link>> <br> <<if !_onGuard>> <<crimeicon "mark">><<link[[Peek|Bird Hunt Silver Sneak]]>><<set $birdSilverHunt.player.action to "peek">><</link>> <br> <<else>> <span class="red">You can't peek out right now.</span> <br> <</if>> <</if>> <<set $birdSilverHunt.timer++>> <</if>><<effects>> You've finally made it. Being this close, you can finally make out what it is. <br><br> It's a silver bar of quite notable size. It's set up in such a way that the light coming from the opening in the ceiling is reflected and seemingly amplified by it. No wonder it's so well guarded. <br><br> Only one person remains to protect it, the <<person4>><<person>>. You look around, hoping to see something you can use to distract <<him>>. Your gaze falls on the cages containing the lurkers. <br><br> <<switch $birdSilverHunt.suspicion>> <<case 0>>You doubt <<hes>> paying enough attention to notice you sneak up to the cages. <<case 1>><<He>> looks around occasionally. You'll have to be careful. <<case 2>><<He>> seems quite alert. Sneaking up to the cages without being spotted won't be easy, but there's nothing else you can do. <</switch>> <br><br> <<set $skulduggerydifficulty to 100 + ($birdSilverHunt.suspicion * 100) + ($birdSilverHunt.timer * 5)>> <<link [[Release the lurkers|Bird Hunt Silver Release]]>><</link>><<skulduggerydifficulty>> <br><<effects>> You wait for an opportune moment and slip out of your hiding place. <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<wearProp "silver bar">> You wait for another lurker to walk close to the silver bar. While the <<person>> has <<his>> back turned, you swiftly approach the cages. They're only locked by a simple latch, making it very easy to open them. <br><br> <span class="green">You open up as many cages as you can and quickly hide again.</span> Some of the lurkers make no move to leave the cage, though most do. As they start to skitter, the noise gets <<his>> attention. "What...? How did you all get out?!" <<he>> exclaims. You rush to grab the silver bar from the pedestal. <br><br> <<if $awarelevel gte 2>> As your hand brushes against the silver, you feel like you're at peace for a moment. It's a strange sensation, clashing with the adrenaline of your daring theft. <<elseif $innocencestate is 1>> The silver bar feels smooth to the touch. <<else>> As you touch the silver, you feel a strange tingle in your hand. It leaves as quickly as it came. <</if>> You take it from the central pedestal, where light shines down. The cave immediately becomes much darker. "Goddamn it, what now?!" you hear the <<person>> scream. "Someone's here! And they've got the Lure!" <br><br> <<link [[Next|Bird Hunt Silver Escape]]>><</link>> <br> <<else>> You sneak over to the cages while the <<person4>><<person>> isn't looking. They're only locked by a simple latch, making it very easy to open them. <br><br> You open up as many cages as you can. Some of the lurkers don't move at all, simply laying there limply. The ones that do leave make enough noise for the <<person>> to turn around. "What the hell is-" <<he>> begins to speak, <span class="red">then stops as <<he>> notices you</span>. It's still possible for you to steal the silver bar if you act fast. With no time to spare, you rush the <<person>> before <<he>> can yell for help. <br><br> <<endevent>> <<loadNPC 0 "estateHuntGuardCaptain">> <<link [[Next|Bird Hunt Silver Fight]]>><<set $fightstart to 1>><</link>> <br> <</if>><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<violence 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<set $enemyhealth to 550>> <<set $enemyhealthmax to 550>> <<npcidlegenitals>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Bird Hunt Silver Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Hunt Silver Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $pain gte 100 and $willpowerpain is 0>> The <<person>> is too much for you. You're left helpless on the ground. "There's an intruder here, and you all let <<phim>> get this far!" <<he>> yells. There's nothing more you can do. You've been caught. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Silver Fail]]>><</link>> <br> <<elseif $enemyarousal gte $enemyarousalmax>> <<ejaculation>> As <<he>> cums, you take advantage of <<his>> slowed state and smear some grit and dirt from the cave floor into <<his>> visor. While <<hes>> blinded, you push <<him>> over. You manage to rip <<his>> holster away and toss it across the room to give yourself more time. You're able to run over to the silver bar before <<he>> can even get up. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Silver Theft]]>><</link>> <br> <<else>> You bring <<him>> low with a kick, before knocking <<him>> to the cave floor. You manage to rip <<his>> holster away and toss it across the room to give yourself more time. You're able to run over to the silver bar before <<he>> can even get up. <<clotheson>> <<endcombat>> <<link [[Next|Bird Hunt Silver Theft]]>><</link>> <br> <</if>><<effects>> <<loadNPC 0 "estateHuntGuard0">> <<loadNPC 1 "estateHuntGuard1">> <<loadNPC 2 "estateHuntGuard2">> <<loadNPC 3 "estateHuntGuardCaptain">> <<wearProp "silver bar">> You grab the silver bar from the open box. <<if $awarelevel gte 2>> As your hand makes contact with it, you feel like you're at peace for a moment. It's a strange sensation, clashing with the adrenaline of your daring theft. <<elseif $innocencestate is 1>> It feels smooth to the touch. <<else>> As you touch it, you feel a strange tingle in your hand. It leaves as quickly as it came. <</if>> You take it from the central pedestal, where light shines down. The cave immediately becomes much darker. <br><br> The <<person4>><<person>> stands up. "There's an intruder! And <<pshe>> has the Lure!" <br><br> <<link [[Next|Bird Hunt Silver Escape]]>><</link>> <br><<effects>> The silver bar is extremely heavy. You try to run for the exit, but get cut off by the <<person3>><<person>>. "Give that back now, and we won't have to hurt ya," <<he>> says. You double back and run the other way, but are intercepted by the <<person1>><<person>> and <<person2>><<person>>. "There's nowhere for you to run. Just drop the Lure, and I promise we'll go easy on you," <<he>> says. <br><br> You dodge their grabs and try to maintain distance, but they eventually corner you to the other side of the cave. The <<person4>><<person>> cracks <<his>> neck and marches towards you. <br><br> "I can't deny your skill, <<girl>>. No one's gotten past me before." <<His>> voice reverberates through the now darkened cave, <<his>> visor giving it an eerie undertone. <<He>> brings <<his>> face close to yours, letting you see your own reflection. You see the etchings on the visor clearly: a pair of antlers, each one over where <<his>> eyes would be, over where your reflection's eyes are. <<stress 12>><<ggstress>> <br><br> You back away, holding the silver bar behind you. <<He>> chuckles. "The Lure called to you too, didn't it? It calls to all of the Elk's children. How's about we talk a while? We could use someone like-" <br><br> Suddenly, you hear a heavy thumping coming from behind you. It starts slow, but speeds up rapidly. You didn't realise it until now, but you've ended up right in front of the largest hole in the wall. The sound grows louder and louder, and the chittering in the cave becomes overwhelming. The <<person4>><<person>> takes a few steps back. You turn around, and a wiry pink shape in the darkness starts to grow larger. As it approaches, you see the shiny black detailing around it. It's a massive lurker. It lunges out of the hole! <br><br> <<link [[Move!|Bird Hunt Silver Escape 2]]>><<bird_pass 5>><</link>> <br><<effects>> You deftly step aside, leaving the <<person4>><<person>> in its trajectory. It grabs onto <<him>>. "The giant! It's angry that the Lure is-" <<he>> yells as it tries to pull <<him>> into the hole. <<He>> reaches for <<his>> gun, but a pink tendril snaps out from the creature's mouth and immobilises <<his>> arm. You take advantage of <<his>> situation and rush past <<him>>. The others move to give chase, but stop when their captain yells again. "H-hey! Get it off of me! I don't want to become this thing's next meal!" <br><br> They hesitate just long enough for you to run by them. The <<person2>><<person>> yells. "Fuck! If <<pshe>> gets away with the Lure, Remy's going to kill us! You help the captain, I'm going after <<phim>>!" <br><br> You keep running, not daring to look back. The jagged ground does little to help your escape, but you manage to get out of the main chamber. <<ggtiredness>><<tiredness 12>> <br><br> <<link [[Next|Bird Hunt Silver Escape 3]]>><<bird_pass 5>><</link>> <br><<effects>><<set $outside to 1>><<set $location to "moor">> <<npc "Great Hawk" 5>> You run as fast as your legs will carry you. You can hear the <<person2>><<person>> running after you now, hot on your trail. Your lungs burn, and it feels like an eternity passes before you finally reach the crack leading out. You rush outside and screech, trying to get the attention of your <<beasttype 4>> as fast as possible. The <<person>> emerges from the hole after you. "Get back here you fucking <<bitch>>!" <<he>> screams through <<his>> panting. <br><br> As you feel like you're about to collapse, your screech is returned. Your <<beasttype 4>> swoops down. You're suddenly grabbed by the shoulders and lifted off of the ground. You recognise the feeling: the firm grip of your <<beasttype 4>>'s talons. <<if $monster is 1>> "Don't worry, I would never drop <<wife>>," <<bhe>> says in <<bhis>> usual gentle tone. <<else>> <<bHe>> chirps, reassuring you that you're fine. <</if>> <br><br> You can hear your pursuer cursing <<his>> luck. "Shit, SHIT! FUCK! We're so fucking dead..." is the last thing you hear before flying out of sight. <br><br> Once you finally catch your breath, you tell your <<beasttype 4>> that you want to go home now. <<bHe>> is more than willing to oblige. <br><br> <<clearNPC "estateHuntGuard0">> <<clearNPC "estateHuntGuard1">> <<clearNPC "estateHuntGuard2">> <<clearNPC "estateHuntGuard4">> <<link [[Next|Bird Hunt Silver Escape Tower]]>><<endevent>><<bird_pass 60>><</link>> <br><<effects>><<set $outside to 0>><<set $location to "tower">> <<npc "Great Hawk">><<person1>> After a few minutes, you arrive at the tower. Your <<beasttype>> drops you off in front of the nest. <<if $monster is 1>> "<<Wife>> did it? <<Wife>> got the landbounds' treasure?" <<bhe>> asks, excited. <<else>> <<bHe>> squawks and chirps excitedly, eager to get a better look at what you got. <</if>> You proudly present the silver bar to <<bhim>>. Even here, it still shines brightly. <br><br> <<if $awarelevel gte 2>> You feel like you could keep staring at it for hours. Your <<beasttype>> seems interested too. <<elseif $innocencestate is 1>> Looking at it for too long starts to make your eyes drift elsewhere. Your <<beasttype>> seems all too happy to keep staring at it, though. <<else>> It's quite a wonder how the silver can be so shiny. Someone must have put a lot of time into keeping it so clean. Your <<beasttype>> seems to like it a lot. <</if>> <<if $monster is 1>> "This must be the landbounds' best shiny! And now it's ours!" <<bhe>> says, almost squealing. <<else>> <<bHis>> eyes look to be shining too as <<bhe>> chirps in joy. <</if>> As you turn the heavy bar in your hands, you notice something on the flat bottom. <br><br> It's some kind of symbol. A seal, or maybe a manufacturer's mark. A large circle containing a series of twisting, tangled knots, wrapping in on each other in perfect symmetry. The patterns within have the texture of cut wood. As the branches move outwards, they split into smaller and smaller pieces, and no matter how hard you look, you don't see an end to them. It's gouged into the silver itself, yet the ridges within still seem perfect. It's incredibly intricate, far too precise to be done with human hands. The light catches the symbol as you look, creating a brilliant pattern that seems to persist when you close your eyes. For a moment, it looks just like it did back in the cave. <br><br> <<link [[Next|Bird Hunt Silver Escape Tower 2]]>><</link>> <br><<effects>> You're interrupted by the <<beasttypes>> <<if $monster is 1>>hand<<else>>beak<</if>> brushing against your cheek. You turn to look at <<bhim>> and see admiration in <<bhis>> face. <<if $monster is 1>> "<<Wife>>... you are the best. I'm proud to say we are Great Hawk and Great <<Wife>>," <<bhe>> says. You chuckle at <<bhis>> compliment. <<else>> <<bHe>> keeps nuzzling your face with <<bhis>> beak while chirping softly. <</if>> <<bHes>> clearly very proud of you<<if $birdSilverHunt.failed gte 1>>, despite your previous failures<</if>>. <br><br> Exhausted from your mission, you sit down and lean against <<bhis>> fluffy chest. <<switch $speech_attitude>> <<case "meek">>"I love you... a lot," you say. <<case "bratty">>"You really are a great <<beasttype>>," you say. <<default>>"I love you," you say. <</switch>> <<bHe>> looks quite happy to hear your words. <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> As you rest against <<bhim>>, your thoughts drift to Remy. <<nnpc_He "Remy">> probably won't be very happy when <<nnpc_he "Remy">> hears what happened to <<nnpc_his "Remy">> silver bar. But worrying about that won't help, so you just close your eyes and think about your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> instead. <</if>> <br><br> After a few minutes of rest, you stand up, feeling refreshed. <<if $monster is 1>> "Hope <<wife>> is feeling well now," <<bhe>> says, standing up as well. <<else>> <<bHe>> looks at you affectionately. <</if>> You tell <<bhim>> you're alright now that you've caught your breath. <<bHe>> nods and walks off to the perch. You realise that you're still holding the silver bar. You still need to decide where to put it. Such a valuable prize deserves its own spot somewhere, but for now you'll just put it in a shaded spot so that the shine won't be too distracting. <br><br> <<set $bird.hunts.estate to "complete">> <<world_corruption "hard" -1>> <<unset $birdSilverHunt>> <<unset $birdSilverHuntCooldown>> <<unset $birdSilverHuntGuards>> <<set $bird.timer to 120>> <<link[[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<loadNPC 0 "estateHuntGuard0">> <<loadNPC 1 "estateHuntGuard1">> <<loadNPC 2 "estateHuntGuard2">> <<loadNPC 3 "estateHuntGuardCaptain">> <<clearNPC "estateHuntGuard4">> Before you know it, all the guards have rushed over to you. They have you surrounded, blocking any possible way of escaping. <<if $birdSilverHunt.failed is 0>> "What's a little birdie like you doing in a place like this?" the <<person4>><<person>> asks sternly. <<His>> voice reverberates throughout the chamber, the visor giving it an intimidating tone. <<He>> brings <<his>> face close to yours, letting you see your own reflection. You see the etchings on the visor more clearly: a pair of antlers, each one over where <<his>> eyes would be, over where your reflection's eyes are. <<stress 12>><<ggstress>> <br><br> <<switch $speech_attitude>> <<case "meek">>"U-um... I... fell?" you respond, trying your best to sound innocent. <<case "bratty">>"I came down to see what's behind that lovely mask of yours," you say sarcastically. <<default>>"I just got a bit lost, that's all," you respond, trying your best to sound innocent. <</switch>> <br> "Very well. We have ways of making you talk back at home," <<he>> says. "Restrain <<phim>>." You consider resisting, but the gun on <<his>> hip makes you think twice about that. <br><br> The <<person1>><<person>> and <<person2>><<person>> grab you by the arms. The <<person3>><<person>> looks at you lustfully. "We'll have you talking real soon," <<he>> says. "Let's throw <<phim>> in the van first, have some fun." The others agree, but are silenced by the captain.<br> "Control yourselves. We don't have time for... pleasure," <<he>> says with a drawl. "Move." <<else>> The <<person1>><<person>> and <<person2>><<person>> quickly rush in to restrain you. The <<person4>><<person>> steps forward. "You again? Of course. Another fool drawn to the Lure." <br> The <<person1>><<person>> gets right in your face. "Thought you could slip past us this time, huh? Well, this time you won't get away so easily. We're prepared for your little pet." <<He>> brandishes one of the bludgeons.<br> "That stupid bird won't be able to help you once we clip its wings," the <<person3>><<person>> adds, holding another bludgeon.<br> "Don't take this lightly. We can't afford to let <<phim>> get away again," the <<person4>><<person>> says. "Bring <<phim>> outside, let's see if we can rid ourselves of the terror forever." <<stress 24>><<gggstress>> <</if>> <br><br> <<set $birdSilverHunt.failed++>> <<set $birdSilverHuntCooldown to 14>> <<unset $birdSilverHuntGuards>> <<run delete $birdSilverHunt.player>> <<run delete $birdSilverHunt.distance>> <<run delete $birdSilverHunt.timer>> <<run delete $birdSilverHunt.lurkerSpawn>> <<run delete $birdSilverHunt.freebie>> On <<person4>><<his>> command, they begin leading you out. <br><br> <<link [[Next|Bird Hunt Silver Fail Return]]>><</link>> <br><<effects>> <<npc "Great Hawk" 5>> <<if $birdSilverHunt.failed is 1>> They walk you out of the chamber. The <<person3>><<person>> is ordered to stay behind to look after their gear. "Soon enough you'll be telling us all you know," the captain says ominously. After a bit, you reach the crack leading outside. <br><br> The <<person1>><<person>> roughly shoves you out, causing you to stumble. "Don't even think about running off. Even if you get away, you can't outrun our van," <<he>> says. <br><br> You look to the skies and see the Great Hawk. And <<bhe 4>> sees you. You scream and start thrashing around. The <<person1>><<person>> tries to restrain you. "Hey, quit squirming you little-" <br><br> <<Hes>> knocked down as a blur of brown feathers streaks by in an instant. "Why is that stupid fucking bird still here?!" the <<person2>><<person>> yells into the radio on <<his>> vest. <<He>> doesn't receive an answer. You break free from <<his>> grasp and start running. The captain tries to chase after you, and is knocked down by another swoop. From the ground, <<person4>><<he>> reaches for <<his>> gun, but suddenly freezes in place. You see your <<beasttype 4>>'s petrifying gaze reflected in <<his>> visor, and watch yourself get grabbed by the shoulders and lifted away. <br><br> <<if $monster is 1>> "We need to leave fast, <<wife>>," <<bhe 4>> says. You agree. <<else>> <<bHe 4>> screeches triumphantly. <</if>> You can still hear the guards yelling out curses as you fly away. <<else>> They lead you outside. "Alright, can anyone see where that damn bird is?" the <<person2>><<person>> asks.<br> "No, I don't see it anywhe-" the <<person3>><<person>> is about to respond before being cut off by a divebomb.<br> "Fuck, it's already here!" You try to get free, but with two people holding you, it's just not possible. You keep struggling as the <<beasttype 4>> prepares for another dive.<br><br> <<bHe 4>> begins diving down towards the <<person2>><<person>>. "Not so fast!" the <<person4>><<person>> yells, preparing to strike <<bhim 4>> down. Before <<he>> swings, you manage to kick <<him>> just hard enough to cause <<him>> to lose <<his>> stance. However, <<his>> swing still lands, hurting your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. At least <<bhes 4>> still airborne, and <<bhe 4>> even managed to push the <<person2>><<person>> away from you. With one hand free, you're able to punch the <<person1>><<person>> in the face to free yourself. <br><br> "You're going nowhere!" the <<person4>><<person>> yells, lifting <<his>> bludgeon and preparing to swing it right at you. With one last dive, the <<beasttype 4>> swoops in and grabs you, inadvertently taking the blow for you. This time the it's enough to cause <<bhim>> to elicit a loud screech of pain. Despite that, <<bhe>> manages to keep flying. <br><br> <<if $monster is 1>> <<bHe 4>> breathes heavily. "W-we go home, <<wife>>," <<bhe>> manages to say. <<else>> <<bHe 4>> tries to screech, but it comes out sounding squeaky. <</if>> In spite of <<bhis>> injury, the <<beasttype>> flies you all the way back to the tower. <</if>> <br><br> <<link [[Next|Bird Hunt Silver Fail Tower]]>><<endevent>><<bird_pass 30>><</link>> <br><<effects>><<set $outside to 0>><<set $location to "tower">> <<npc "Great Hawk">><<person1>> <<set $bird.timer to 120>> <<if $birdSilverHunt.failed is 1>> <<bHe>> lands you on the perch, and circles for a moment before landing. <<bHe>> stands over you. <<if $monster is 1>> "What happened, why did <<wife>> get caught? Did the landbound hurt you?" <<bHe>> barrages you with questions. <<else>> <<bHe>> begins fussing over you, looking you up and down to make sure you're alright. <</if>> You assure <<bhim>> that you're alright. <<if $monster is 1>> <<bHe>> looks a bit hesitant. "Maybe it would be better if we leave the landbound alone? I don't want <<wife>> to get in trouble again," <<bhe>> says. <<else>> After confirming you really are alright, <<bhe>> stops to look at you pleadingly. You can tell <<bhe>> doesn't want you to try that again. <</if>> <br><br> You tell <<bhim>> you won't try that again for a while. Not like you could if you wanted to, since they'll certainly be more on guard for quite some time. <<bHe>> seems somewhat satisfied by your answer, though it's clear <<bhe>> would prefer to give up. <<else>> <<set $bird.injured to 20>> <<set $bird.override to "rest">> <<set $bird.overrideTimer to 300>> <<set $bird.timer to 300>> <<bHe>> manages to get you both back into the tower before collapsing from <<bhis>> wounds. You immediately apologise to <<bhim>> for putting <<bhim>> in danger. <br><br> <<if $monster is 1>> <<bHe>> does not say anything, looking too tired to respond. <<else>> <<bHe>> looks too exhausted to respond. <</if>> You try your best to comfort <<bhim>> by petting <<bhis>> head. You look over <<bhis>> wings. <<bHis>> injury looks quite nasty, but it should still heal on its own. <br><br> You apologise to <<bhim>> again, telling <<bhim>> you won't fail next time. Sensing that your answer did not please <<bhim>>, you decide it would be best to leave <<bhim>> be for now. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<if def $phase>> You don't resist as the <<beasttype>> wraps <<bhis>> talons around your shoulders and pulls you into the air. <<else>> <<set $phase to 0>> You remain still, rooted to the spot. The <<beasttype>>'s talons wrap around your shoulders, and the ground falls away from you. <</if>> <<hawkCaughtYouSpeech>> <br><br> <<link [[Next|Bird Capture]]>><</link>> <br><<effects>> <<if $willpowerSuccess is 1>> You manage to tear your eyes away from the <<beasttype>>'s <span class="green">and throw yourself to the side.</span> <<bHis>> talons narrowly miss you, <<if $rng lt 51 or $birdescaped gte 1>> before digging into the earth as the <<beasttype>> comes in for a landing. <<bHe>> <<if $monster is 1>>turns<<else>>hops<</if>> around to face you, <<if $birdescaped gte 1>> locking <<bhis>> gaze to yours again. <br><br> <<if $monster is 1>> "I found <<wife>> again," <<bhe>> says. "<<if $harpy gte 6>><<Wife>> should learn to fly before <<pshe>> leaves the nest<<else>><<Wife>> shouldn't <<if $birdescaped gte 2>>keep running<<else>>run<</if>> away<</if>>." <<else>> The <<beasttype>> tilts <<bhis>> head to the side and lets out a trilled chirp. <</if>> <<else>> flaring <<bhis>> wings. <</if>> <<gstress>><<stress 6>> <br><br> <<if $stress gte $stressmax>> <span class="red">It's all too much.</span> You collapse, and the <<beasttype>> rushes towards you<<if $monster is 1 or understandsBirdBehaviour()>>, concern filling <<bhis>> eyes<</if>>. The last thing you feel before unconsciousness takes you is the feeling of talons curling around your shoulders. <br><br> <<link [[Next|Moor Bird Wake]]>><</link>> <br> <<else>> <<if $pain gte 115>> <span class="red">You're in too much pain to fight back.</span> <br> <<link [[Don't resist|Moor Bird Still]]>><<set $phase to 3>><</link>> <br> <<elseif $trauma gte $traumamax>> <span class="red">You can't bring yourself to move.</span> <br> <<link [[Don't resist|Moor Bird Still]]>><<set $phase to 4>><</link>> <br> <<else>> <<if $birdescaped gte 1 and $submissive gte 1800>> <<link [[Don't resist|Moor Bird Still]]>><<sub 1>><<set $phase to 1>><</link>><<submissivetext>> <br> <<elseif $birdescaped gte 1>> <!-- No option to give in after successfully resisting already --> <<else>> <<link [[Don't resist|Moor Bird Still]]>><<sub 1>><<set $phase to 0>><</link>> <br> <</if>> <<link [[Stand your ground|Moor Bird Fight]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <</if>> <<else>> grasping empty air as the terror takes to the skies once more. You're in the clear for now. <<set $moor_hunt to 5>> <br><br> <<link [[Next|Moor]]>><<endevent>><<set $eventskip to 1>><</link>> <</if>> <<else>> <span class="red">You can't tear your eyes away.</span> You stand there like a statue as talons wrap around your shoulders and the <<beasttype>> pulls you into the sky. <<gtrauma>><<trauma 4>> <br><br> <<hawkCaughtYouSpeech>> <br><br> <<link [[Next|Bird Capture]]>><<set $phase to 0>><</link>> <br> <</if>><<if $molestationstart is 1>> <<set $molestationstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<set $enemyhealthmax to 600>> <<set $enemyhealth to 600>> <<if $monster isnot 1>> <<set $position to "doggy">> <<set $NPCList[0].stance to "top">> <</if>> <<set $speechdisable to 1>> <</if>> <<effects>> <<effectsman>> <br><br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Moor Bird Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Moor Bird Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Tired, the <<beasttype>> takes to the air. <<if $birdescaped gte 1>> <<bHe>> lands nearby. <<if $monster is 1>> "<<Wife>>..." <<bhe>> says, sounding exhausted, before spreading <<bhis>> wings and flying off. <<else>> <<bHe>> lands a short distance away, and lets out a <<if understandsBirdBehaviour()>>fatigued<</if>> cry, before flying off. <</if>> <br><br> <<tearful>> you continue your journey. <span class="blue">Your pursuer seems to have backed off somewhat.</span> <<set $moor_hunt to 2>> <<else>> <span class="red"><<bHe>> circles overhead.</span> <br><br> <<tearful>> you continue your journey. <<set $moor_hunt to 5>> <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Moor]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> You stagger backwards as the <<beasttype>> releases you. <<bHe>> beats <<bhis>> wings, and takes to the air, <<if $birdescaped gte 1>> landing nearby. <<if $monster is 1>> "<<Wife>> is very strong," <<bhe>> says <<else>> The <<beasttype>> lets out a <<if understandsBirdBehaviour()>>chastened<<else>>low<</if>> trill <</if>> before taking flight, <</if>> swooping behind a nearby hillock and out of sight. <span class="green">You're in the clear.</span> For now. <br><br> <<unset $moor_hunt>> <<tearful>> you continue your journey. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Moor]]>><<set $eventskip to 1>><</link>> <br> <<else>> You fall to the ground, too hurt to keep fighting. <br><br> The <<beasttype>>'s claws grasp your shoulders. <<if $monster is 1>> <<if $birdescaped gte 1>> "<<Wife>>'s fighting spirit is strong," <<else>> "You have a fighting spirit. You've impressed me," <</if>> <<bhe>> says as the wings on <<bhis>> back beat furiously. <<elseif $birdescaped gte 1>> <<bHe>> lets out an elated chirp as <<bhis>> wings beat furiously. <</if>> You leave the ground far behind. <br><br> <<clotheson>> <<endcombat>> <<npc "Great Hawk">> <<link [[Next|Bird Capture]]>><<set $phase to 2>><</link>> <br> <</if>><<unset $moor_hunt>><<set $outside to 0>><<set $location to "tower">><<effects>> <<if $harpy gte 6>> You feel at peace <<else>> Your stomach lurches <</if>> as the <<beasttype>> soars higher, until <<switch Time.dayState>> <<case "day" "dawn">>you see the town on the horizon. <<case "dusk">>you can see the town on the horizon through the glare of the setting sun. <<case "night">>you see lights on the horizon. <</switch>> <<if $harpy gte 6>> You float there, held tight by the <<beasttype>>'s talons <<else>> You dangle in the <<beasttype>>'s grasp, helpless, <</if>> as you are carried <<if $birdescaped gte 1>> towards <<bhis>> nest. <<if $harpy gte 6>>Flying through the sky, you feel at peace. <<lstress>><<stress -6>><</if>> <<if $monster is 1>> "<<Wife>> shouldn't worry," <<bhe>> says. "<<if $harpy gte 6>><<Wife>> will soon learn to ride the winds upon <<pher>> own wings<<else>>I would never drop <<wife>><</if>>." <<else>> <<bHe>> chirps <<if understandsBirdBehaviour()>><<if C.npc["Great Hawk"].love gte 60>>lovingly<<else>>affectionately<</if>><</if>> at you, looking down to meet your eyes. <</if>> <<else>> deeper into the moor. <<if $monster is 1>>"Worry not, I never drop my catches," <<bhe>> says<<else>><<bHe>> lets out another <<if understandsBirdBehaviour()>>triumphant<<else>>sharp<</if>> cry<</if>>. <</if>> <br><br> The <<beasttype>> flies above the ruins of a castle, and begins a circling descent. <<if $birdescaped gte 1>>A familiar<<else>>One stone<</if>> tower rises above the others. <<bHe>> enters through a shattered wall, and waits until your feet are planted before releasing your shoulders. <br><br> <<link [[Next|Bird Capture 2]]>><</link>> <br><<effects>> <<if $birdescaped gte 1>> You pass your gaze over the familiar circular room. Nothing notable has changed since you were last here. The ground is still littered with bones, the pool is still filled with rainwater, and the nest looks indistinguishable from when you last laid eyes on it. <br><br> The <<beasttype>> looks at you<<if $monster is 1 or understandsBirdBehaviour()>> tentatively<</if>>. <<if $monster is 1>> "We're home, <<wife>>," <<bhe>> says. <<else>> <<bHe>> ducks <<bhis>> head and lets out a soft trill. <</if>> <<else>> <<if !$bird.state>> You look around the circular room. Small bones litter the ground. The only exit is through the broken wall. There's a large pool formed from broken masonry on one side of the room, the missing roof above it allowing <<if Weather.precipitation is "rain">>the rain to fill it<<else>>rainwater to collect within<</if>>. A nest sits on the other side of the room near the precipice, made from small logs and branches. <br><br> You notice a large wooden trapdoor at the back of the room, though the large iron lock holding it closed is heavily rusted. <br><br> <<bird_init>> <<set $hunger to 1800>> <<if $monster is 1>> The <<beasttype>> stands between you and the exit, immense wings stretching from <<bhis>> back. <<bHe>> regards you with dark eyes. <br><br> "I am Great Hawk," <<bhe>> says, puffing out <<bhis>> plumes. "I found <<wife>>." <<else>> The colossal <<beasttype>> stands before you, head tilted to the side as <<bhe>> looks at you. <<bHe>> fluffs <<bhis>> plumes out and bobs <<bhis>> head to you<<if understandsBirdBehaviour()>>, seeming very proud of himself<</if>>. <<bHe>> cries out <<if understandsBirdBehaviour()>>triumphantly<<else>>fiercely<</if>> and hops around nearby, <<if understandsBirdBehaviour()>>looking<<else>>staring<</if>> at you with dark eyes the whole time. <</if>> <<else>> <!-- Safety check to prevent softlocks and variable corruption for saves in the middle of this scene upon updating --> You're back in the circular room at the top of the tower. Small bones still litter the ground. The <<beasttype>> watches you. <</if>> <</if>> <br><br> <<if ($leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound")>> <<bHe>> notices your bindings and stares for a moment, before <<if $monster is 1>>furrowing <<bhis>> brow<<else>>letting out a low chirp<</if>>. <<bHis>> talons lash out with blinding speed, <span class="green">tearing your bindings to shreds.</span> <<unbind>> <br><br> <</if>> <<set $bird.state to "hunting">> <<set $bird.timer to 20>> <<if $birdescaped gte 1>> <<link [[Apologise for escaping|Bird Capture Sorry]]>><<sub 1>><<bird_stockholm 3>><</link>><<ggbirdstockholm>> <br> <</if>> <<link [[Ask for mercy|Bird Capture Say]]>><<sub 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>> <br> <<if $phase isnot 3 and $phase isnot 1>> <<link [[Punch|Bird Capture Punch]]>><<def 1>> <<if C.npc["Great Hawk"].love gte 50>><<npcincr "Great Hawk" love -3>><<npcincr "Great Hawk" dom -3>><<else>><<npcincr "Great Hawk" love -1>><<npcincr "Great Hawk" dom -1>><</if>><<bird_stockholm -5>> <</link>> <<if C.npc["Great Hawk"].love gte 50>><<lldom>><<lllove>><<else>><<ldom>><<llove>><</if>><<lbirdstockholm>> <br> <</if>> <<link [[Wait|Bird Capture Wait]]>><</link>> <br><<effects>> <<if $trauma gte ($traumamax / 7) * 4>> <<switch $speech_attitude>> <<case "meek">>"P-Please don't hurt me," you beg. <<case "bratty">>"Don't touch me," you say. "I'm warning you." <<default>>"S-Stay away," you say. "Please." <</switch>> <br><br> The <<beasttype>> looks at you<<if $monster is 1 or understandsBirdBehaviour()>> mournfully<</if>>, <<if $monster is 1>> then <<if $bodysize lte 1>>crouches down and<</if>> reaches out with one hand towards you. <<bHe>> quickly withdraws when you flinch away, looking saddened. <<bHe>> doesn't seem sure what to say next, and for a moment silence reigns. <br><br> "<<Wife>> should rest. The nest lining is fresh, and <<wife>> should find it very comfortable," <<bhe>> finally says. "I will go hunting, and bring back gifts for <<wife>>." <br><br> <<bHe>> walks towards the perch, pausing for a moment as <<bhe>> reaches it. <<bHe>> looks back at you. "Nothing will hurt <<wife>> while <<pshe>> is here," <<bhe>> says firmly, before turning back towards the outside world. <<lstress>><<stress -6>> <<else>> before shuffling closer, ducking <<bhis>> head <<if understandsBirdBehaviour()>>sadly<</if>> and shuffling back slightly when you pull away. <<bHe>> seems to content <<bhimself>> with making <<if understandsBirdBehaviour()>>gentle<<else>>soft<</if>> trilled chirps at you. Listening to the soft noises <<bhes>> making feels strangely calming. <<lstress>><<stress -6>> <br><br> After a bit, the <<beasttype>> gets up and hops over to the precipice. <</if>> <<else>> <<switch $speech_attitude>> <<case "meek">>"L-Let me go," you say. <<case "bratty">>"Get me down from this tower," you say. "Or else." <<default>>"Let me go," you say. <</switch>> <br><br> The <<beasttype>> watches you a moment longer, <<bhis>> head cocked to the side. <<if $monster is 1>> "<<Wife>> should <<if $birdescaped gte 1>>rest<<else>>settle in<</if>>," <<bhe>> says. <<else>> <<bHe>> chirps<<if understandsBirdBehaviour()>> contentedly<</if>> and fluffs <<bhis>> plumes, then hops over to the precipice. <</if>> <</if>> <br><br> <<bHe>> spreads <<bhis>> wings and takes off, flying over the rest of the ruin and away across the mire beyond. You're left alone in the tower. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I-I'm sorry for leaving," you say. <<elseif $speech_attitude is "bratty">> "Sorry for ditching you, I guess," you say. <<else>> "Sorry for leaving last time," you say. <</if>> <br><br> The <<beasttype>> watches you a moment longer, <<if $monster is 1>> gazing at you thoughtfully. "I forgive <<wife>>, as long as <<wife>> stays." <<elseif understandsBirdBehaviour()>> gazing at you thoughtfully. <<else>> gazing at you intensely. <</if>> <<bHe>> then beats <<bhis>> wings and leaps from the tower. <<bHe>> flies over the rest of the ruin, and the mire beyond. You're left alone in the tower. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> You step forward, and slam a fist into the <<beasttype>>'s wing. <<bHe>> shrieks and <<if $monster is 1>>jumps<<else>>hops<</if>> away, landing on the other side of the tower. <br><br> <<if $birdescaped gte 1 and C.npc["Great Hawk"].love gte 30>> <<if $monster is 1>> <<if C.npc["Great Hawk"].love gte 60>> "<<Wife>>...? Why?" <<bhe>> asks, <<else>> "<<Wife>>...?" <<bhe>> says, <</if>> looking hurt<<if C.npc["Great Hawk"].love gte 60>> and confused<</if>>. <<if $physique gte 12500>> <<bHe>> stares from the far side of the tower, watching you<<if C.npc["Great Hawk"].love gte 60>> in confusion<<elseif C.npc["Great Hawk"].dom lte 30>> warily<</if>>. <</if>> <<else>> <<bHe>> lets out a <<if understandsBirdBehaviour()>>hurt<<else>>soft<</if>> cry, and hops back. <<if $physique gte 12500>> <<bHe>> stares from the far side of the tower, watching you warily. <</if>> <</if>> <br><br> <</if>> <<if $physique gte 15000>> <<pass 15>> The two of you sit there for a while, watching each other from across the room. The <<beasttype>> occasionally stretches out <<bhis>> wing. Once <<bhe>> seems content that the wing isn't injured, <<bhe>> walks towards the edge of the tower and flies away. <<elseif $physique gte 10000>> <<pass 5>> <<bHe>> stays there for a few minutes. Once <<bhe>> seems to have recovered, <<bhe>> turns towards the perch and launches <<bhimself>> from the tower without another <<if $monster is 1>>word<<else>>sound<</if>>. <<else>> After a moment, <<bhe>> turns and launches <<bhimself>> from the tower. <</if>> <<bHe>> soars over the rest of the ruin, and the mire beyond. You're left alone. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> You remain still. The <<beasttype>> watches you a moment longer, then <<if $birdescaped gte 1>> droops slightly. <<if $monster is 1>> "Will go hunting for <<wife>>," <<bhe>> says, <<bhis>> voice melancholy. "<<Wife>> should rest. I will return with my catch." <<bHe>> walks to the perch, then leaps from the tower with a mighty wingbeat. <<else>> <<bHe>> lets out a <<if understandsBirdBehaviour()>>sad<<else>>soft<</if>> cry, then hops to the edge of the tower. <<bHe>> leaps from the tower, flying away. <</if>> <<else>> beats <<bhis>> wings and leaps from the tower. <</if>> <<bHe>> flies over the rest of the ruin and the mire beyond. You're left alone in the tower. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<if !$birdescaped>> You look at your saviour; a <<if $monster is 1>> winged <<nnpc_gendery "Great Hawk">> with claws instead of feet. <<else>> colossal hawk, which looks even bigger this close. <</if>> <<else>> The <<beasttype>> approaches. <</if>> <<bHe>> <<= $phase is 1 ? "leaps" : "swoops">> towards you, talons extended. <<bHis>> eyes pierce yours. <span class="red">Terror threatens to root you to the spot.</span> <br><br> <<if $stress gte $stressmax>> <span class="red">It's all too much.</span> You collapse, and the last thing you can feel is the <<beasttype>>'s talons closing around your shoulders. <br> <<link [[Next|Moor Bird Wake]]>><<passout>><<set $moor to 0>><<endevent>><<pass 30>><</link>> <br> <<else>> <<if $pain gte 95>> <span class="red">You're in too much pain to move.</span> <<set $phase to 0>> <br> <<elseif $trauma gte $traumamax>> <span class="red">You can't bring yourself to move.</span><<ggstress>><<stress 24>> <<set $phase to 1>> <br> <<elseif $passoutReason>> <span class="red">You're too <<= $passoutReason is "hypothermia" ? "cold" : "weak">> to move.</span><<ggstress>><<stress 24>> <<set $phase to 1>> <br> <<else>> <<link [[Get out of the way|Bird Rescue No Syndrome Dodge]]>><<unset $phase>><</link>><<willpowerdifficulty `(1+(2*$pain))` `(300+(2*$pain))`>><<athleticsdifficulty `(200+(2*$pain))` `(400+(2*$pain))`>> <<set $phase to 2>> <br> <</if>> <<link "Let <<bhim>> take you" "Bird Rescue No Syndrome Willing">><</link>> <br> <</if>><<effects>> <<if $willpowerSuccess is 1>> <span class="green">You manage to tear your eyes away from the <<beasttype>>,</span> <<if $athleticsSuccess is 1>> <span class="green">and throw yourself to the side, evading <<bhis>> grasp.</span> <br> <<if random(1, 2) is 1>> <<bHe>> swoops past, and then circles back overhead, waiting for another chance. <br> <<set $moor_hunt to 5>> <<link [[Next|Moor]]>><<endevent>><<set $eventskip to 1>><</link>> <br> <<else>> <<bHis>> talons pierce the earth, and <<bhe>> flares out <<bhis>> wings to come to a halt. <<bHe>> <<if $monster is 1>>turns<<else>>hops<</if>> around to face you, flaring <<bhis>> wings. <br><br> <<link [[Next|Bird Rescue No Syndrome Fight]]>><<set $molestationstart to 1>><</link>> <br> <</if>> <<else>> <span class="red">but can't get out of the way fast enough.</span><<gathletics>><<athletics 4>> <br><br> The <<beasttype>> <<if $monster is 1>>grabs onto<<else>>slams into<</if>> your shoulder, and is sent crashing into the ground<<if $monster is 1>>, pulling you with <<bhim>><<pain 6>><<else>><<pain 4>><</if>>. <<gpain>> <br><br> <<bHe>> lets out a surprised squawk, before <<if $monster is 1>>climbing<<else>>fluttering<</if>> upright and locking eyes with you. <br><br> <<link [[Next|Bird Rescue No Syndrome Fight]]>><<set $molestationstart to 2>><</link>> <br> <</if>> <<else>> <span class="red">You can't tear your eyes away from the <<beasttype>>,</span> <<if $athleticsSuccess is 1>> <span class="blue">even though your body tries to force itself out of the way.</span><<gwillpower>><<willpower 4>> <<else>> <span class="red">and you remain rooted to the spot, not even trying to move.</span><<gwillpower>><<willpower 3>> <</if>> <br><br> Grasping your shoulders with <<bhis>> talons, you're lifted into the air. <br><br> <<if $monster is 1>> <<if $birdescaped gte 1>> "<<Wife>> should be more careful," <<bhe>> says. <<if $harpy gte 6>>"<<Wife>> doesn't know how to fly yet."<<elseif $moor lte 20>>"I don't often fly this far from the nest."<</if>> <<else>> "Worry not, I never drop my catches," <<bhe>> says. <</if>> <br><br> <</if>> <<link [[Next|Bird Rescue No Syndrome Tower 1]]>><<set $phase to 3>><</link>> <br> <</if>><<if $molestationstart gte 1>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<beastCombatInit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<set $enemyhealthmax to 600>> <<if $molestationstart is 2>> <<set $enemyhealth to 500>> <<else>> <<set $enemyhealth to 600>> <</if>> <<if $monster isnot 1>> <<set $position to "doggy">> <<set $NPCList[0].stance to "top">> <</if>> <<set $molestationstart to 0>> <<set $speechdisable to 1>> <</if>> <<effects>> <<effectsman>> <br><br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Bird Rescue No Syndrome Fight End]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Rescue No Syndrome Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> Tired, the <<beasttype>> takes to the air. <span class="red"><<bHe>> circles overhead.</span> <<clotheson>> <<endcombat>> <<set $moor_hunt to 5>> <<tearful>> you continue on your journey. <br><br> <<link [[Next|Moor]]>><<set $eventskip to 1>><</link>> <br> <<elseif $enemyhealth lte 0>> You stagger backwards as the <<beasttype>> beats <<bhis>> wings, and takes to the air. <<bHe>> swoops behind a hillock, and out of sight. <span class="green">You're in the clear.</span> For now. <<clotheson>> <<endcombat>> <<unset $moor_hunt>> <<tearful>> you continue your journey. <br><br> <<link [[Next|Moor]]>><<set $eventskip to 1>><</link>> <br> <<else>> You fall to the ground, too hurt to keep fighting. <br><br> The <<beasttype>>'s talons curl around your shoulders, and the ground falls away from you as <<bhe>> lifts you into the air. <<if $monster is 1>> "<<if $birdescaped gte 1>><<Wife>> shouldn't run away! The moor is dangerous for landbound travellers<<else>>You have a fighting spirit. You've impressed me<</if>>," <<bhe>> says, nearly drowned out by the sound of <<bhis>> mighty wingbeats. <</if>> <<clotheson>> <<endcombat>> <<npc "Great Hawk">> <<link [[Next|Bird Rescue No Syndrome Tower 1]]>><<set $phase to 4>><</link>> <</if>>You let <<bhim>> grasp your shoulders with <<bhis>> talons, and <<bhe>> lifts you into the sky. Soaring through the air, <<if $harpy gte 6>> you feel a sense of belonging.<<lstress>><<stress -4>> <<elseif $stress gte ($stressmax / 5 ) * 3>> <span class="red">you make the mistake of looking down.</span> <<if $trauma gte $traumamax>> <span class="teal">The world seems so small from up here.</span><<ltrauma>><<trauma -6>> <</if>><<gstress>><<stress 6>> <<else>> everything feels so far away. <</if>> <br><br> <<if $monster is 1>> <<if $birdescaped gte 1>> "<<Wife>> shouldn't run away," <<bhe>> chides. "<<if $harpy gte 6 and $birdFly isnot 1>><<Wife>> can't fly on <<pher>> own yet<<else>>Safer at the nest<</if>>." <<else>> "I won't drop you," <<bhe>> says. "Have faith." <</if>> <br><br> <</if>> <<link [[Next|Bird Rescue No Syndrome Tower 1]]>><</link>> <br><<effects>> In the distance, you see a <<if $birdescaped gte 1>> familiar tower. <span class="red"><<bHes>> taking you back to <<bhis>> nest.</span><<gstress>><<stress 4>> <<else>> tower. <span class="pink"><<bHes>> taking you to <<bhis>> nest.</span> <</if>> <br><br> Moments later, you've arrived. The <<beasttype>> swoops through a broken wall, and releases your shoulders once you have your feet planted. <br><br> <<link [[Next|Bird Rescue No Syndrome Tower 2]]>><</link>> <br><<set $outside to 0>><<set $location to "tower">> <<if !$bird.state>><<bird_init>><</if>> <<effects>> <<if $birdescaped gte 1>> You look around the familiar tower. Nothing notable has changed. The <<beasttype>> stands before you, seeming proud of <<bhimself>>. <<if $monster is 1>> <<if $phase lte 3>> "<<Wife>> came back!" <<bhe>> says, clearly happy. "I was worried when I couldn't find you." <<else>> "<<Wife>> fought well!" <<bhe>> exclaims, surprisingly happy. "<<Wife>> is very strong." <</if>> Despite seeming to be happy, you notice that <<bhis>> smile feels slightly forced. <<else>> The <<beasttype>> fluffs <<bhis>> plumage and ducks <<bhis>> head at you. <<bHe>> seems happy, but somewhat <<if understandsBirdBehaviour()>>dejected<<else>>agitated<</if>>. <</if>> <<else>> <<if $monster is 1>> "I am Great Hawk," <<bhe>> says, fluffing <<bhis>> plumage. "I rescued <<wife>>." <<else>> The <<beasttype>> fluffs <<bhis>> feathers and puffs out <<bhis>> chest. <<bHe>> seems to be proud of <<bhimself>>. <</if>> <</if>> <br><br> <<if $pain gte 60 or $stress gte ($stressmax / 5) * 3 or $trauma gte ($traumamax / 5) * 3 or $tiredness gte (C.tiredness.max / 5) * 4>> <<bHe>> seems to notice your <<if $pain gte 60>>tears<<elseif $stress gte ($stressmax / 5) * 3 or $trauma gte ($traumamax / 5) * 3>>discomfort<<else>>exhaustion<</if>>. <<if $monster is 1>> "Is <<wife>> alright? Is there anything I can do?" <<bhe>> asks, gently laying a hand on your arm<<if $pain gte 80>>, and quickly pulling it away when you wince<</if>>. <<else>> The <<beasttype>> gently nudges your arm with <<bhis>> head, <<if $pain gte 80>>pulling away with a startled squawk when you wince. <<bHe>> then<<else>>then<</if>> <<if understandsBirdBehaviour()>>looks at you with concern<<else>>gazes at you intensely<</if>>. <</if>> <</if>> <<if $leftarm is "bound" or $rightarm is "bound">> Glancing at your bindings, the <<beasttype>> narrows <<bhis>> eyes. <<if $monster is 1>> "<<Wife>> is trapped! Don't worry," <<bhe>> says, <<else>> <<bHe>> lets out a chirp, <</if>> before placing one talon against your bindings<<if $phase is 1>> with surprising gentleness<</if>>, and <span class="green">cutting through them in a single swift motion</span>. <<unbind>> <</if>> <br><br> <<if $phase isnot 4 or $trauma gte ($traumamax / 7) * 3>> <<link [[Hug|Bird Rescue No Syndrome Tower Hug]]>><<stress -12>><<trauma -12>><<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom 3>><<bird_stockholm 3>><</link>><<llstress>><<lltrauma>><<gglove>><<ggdom>><<ggstockholm>> <br> <</if>> <<link [[Thank|Bird Rescue No Syndrome Tower Thank]]>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom 1>><<bird_stockholm 3>><</link>><<glove>><<gdom>><<ggstockholm>> <br> <<link [[Remain silent|Bird Rescue No Syndrome Tower Silent]]>><<npcincr "Great Hawk" love -1>><<npcincr "Great Hawk" dom -1>><</link>><<llove>><<ldom>> <br> <<if $phase gte 3>> <<link [[Punch|Bird Rescue No Syndrome Tower Punch]]>><<npcincr "Great Hawk" love -3>><<npcincr "Great Hawk" dom -3>><<bird_stockholm -3>><</link>><<lllove>><<llldom>><<llbirdstockholm>> <br> <</if>> <<link [[Pull Away|Bird Rescue No Syndrome Tower Pull]]>><<npcincr "Great Hawk" love -3>><<npcincr "Great Hawk" dom -1>><<bird_stockholm -1>><</link>><<if $phase gte 2>><<llove>><<ldom>><</if>><<lbirdstockholm>> <br><<effects>> <<if $phase is 0>>Despite the pain you feel, you<<elseif $phase is 1>>Shakily, you<<else>>You<</if>> take a step towards the <<beasttype>> and wrap your arms around <<bhis>> <<if $monster is 1>>body<<elseif currentSkillValue('tending') gte 400>>mantle<<else>>shoulder area<</if>>, holding <<bhim>> tight. <<bHe>> seems <<if $phase isnot 2 or $birdescaped gte 1>>hesitant<<else>>happy<</if>> with this arrangement, and <<if $monster is 1>>returns the embrace<<else>>nuzzles into you<</if>><<if $phase isnot 2 or $birdescaped gte 1>> after a moment<</if>>. <br><br> <<link [[Let go|Bird Rescue No Syndrome Tower Release]]>><</link>> <br> <<if $trauma gte ($traumamax / 7) * 4>> <<link [[Break Down|Bird Rescue No Syndrome Tower Cry]]>><<stress -12>><<trauma -12>><<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom 3>><<bird_stockholm 3>><</link>><<llstress>><<lltrauma>><<gglove>><<ggdom>><<gggstockholm>> <br> <</if>><<effects>> You start sobbing into <<bhis>> plumage, holding onto <<bhim>> as you pour out all your grievances with the world. <<bHe>> makes soft <<if $monster is 1>>shushing<<else>>cooing<</if>> noises as you break down, <<if $monster is 1>>gently tracing <<bhis>> fingertips and wingtips along your back<<else>>letting you settle further into <<bhis>> plumage<</if>>. <<bHis>> feathers are <i>ridiculously</i> soft. <br><br> After some time like that, the two of you pull apart. <br><br> <<if $monster is 1>> <<bHe>> places a hand on your shoulder and looks you in the eyes. "I will always be there for <<wife>>," <<bhe>> says solemnly, before pulling you into another hug. <<else>> <<bHe>> lets out a low trill, and nuzzles <<bhis>> face into your <<if $bodysize gte 3>>shoulder<<else>>cheek<</if>>. <<bHe>> continues to snuggle up to you, letting all your worries fall away. <</if>> <br><br> As the <<beasttype>> comforts you, your thoughts are drawn to how kind <<bhes>> been to you<<if $phase is 4>>, even though you tried to attack <<bhim>><</if>>. Having <<bhim>> fussing over you is surprisingly endearing, and makes you feel at home in this crumbling tower, acting as <<bhis>> <<if $monster is 1>><<wife>><<else>>partner<</if>>. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class="gold">The Great Hawk is now your love interest! This isn't how you expected to find a <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>, but you feel uplifted all the same.</span> <<else>> <span class="gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <br><br> <<link [[Next|Bird Rescue No Syndrome Tower Final]]>><</link>> <br><<effects>> After a minute or two passes, you pull back from the hug. You look at the <<beasttype>> and <<bhe>> <<if $monster is 1>>smiles<<else>>trills<</if>> at you. <br><br> You smile <<if $monster is 1>>back<<else>>at <<bhim>><</if>>, and gently pat <<bhis>> head. <<if $phase is 4 and currentSkillValue('awareness') gte 300>> You don't miss the way <<bhe>> stiffens slightly as you move your hand. After a couple of pats, <<bhis>><<else>><<bHis>><</if>> eyes close and <<bhe>> <<if $monster is 1>>relaxes<<else>>settles<</if>> as you pat <<bhis>> head. Once you're done, <<bhe>> fluffs <<bhis>> feathers and stands up. <br><br> <<link [[Next|Bird Rescue No Syndrome Tower Final]]>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "Th-thank you for rescuing me," you say. <<elseif $speech_attitude is "bratty">> "Thanks for helping me out there," you say. <<else>> "Thank you," you say. <</if>> <br><br> The <<beasttype>> fluffs <<bhis>> feathers. <<if $monster is 1>> "I'm always happy to help, <<wife>>," <<bhe>> says. <<else>> <<bHe>> seems proud of <<bhimself>>. <</if>> <br><br> <<link [[Next|Bird Rescue No Syndrome Tower Final]]>><</link>> <br><<effects>> You don't say anything, just looking at the <<beasttype>><<if $speech_attitude is "meek">> fearfully<<else>> distrustfully<</if>>. <<if $monster is 1>> <<bHis>> wings droop a bit as you don't respond, and <<bhis>> expression seems melancholy. <br><br> "It's alright," <<bhe>> says, voice mournful. "I'm sorry, <<wife>>." <<else>> The <<beasttype>>'s wings droop slightly, and <<bhis>> feathers lie flat. <<bHe>> ducks <<bhis>> head <<if !understandsBirdBehaviour()>>almost <</if>>apologetically. <</if>> <br><br> A brief moment passes in <<if $monster is 1>>awkward <</if>>silence, before the <<beasttype>> perks up. <br><br> <<link [[Next|Bird Rescue No Syndrome Tower Final]]>><</link>> <br><<effects>> You take the opportunity to land a clean punch on the <<beasttype>>'s wing. <<bHe>> lets out a pained shriek, before fluttering over to the other side of the room. <<if currentSkillValue('physique') gte 10000>><<bHe>> seems to have a bit of difficulty moving the wing you punched.<</if>> <br><br> The <<beasttype>> looks at you from across the tower with a hurt<<if $monster is 1>> and betrayed<</if>> expression, periodically testing the wing. <<if currentSkillValue('physique') gte 12000 and $monster is 1>><<bHe>> looks to be on the verge of tears.<</if>> <<if C.npc["Great Hawk"].love gte 65>> <<if $monster is 1>> "Why?" <<bhe>> asks in a small voice, <<else>> The <<beasttype>> lets out a small coo, <</if>> as <<bhe>> presses up against the far wall. <</if>> <br><br> <<set $bird.state to "hunting">> <<if currentSkillValue('physique') gte 16000>> <<pass 20>><<set $bird.timer to 180>> The two of you sit there in silence. The <<beasttype>>'s wing seems to recover slowly, and you're not willing to move while <<bhes>> focusing on you this intensely. <<if $monster is 1>>You can see tears beading in the corner of <<bhis>> eyes. <</if>>Once the <<beasttype>> seems to think that <<bhe>> can fly, <<bhe>> slowly walks towards the perch, keeping an eye on you the whole time. Once there <<bhe>> flies off, leaving you alone. <<elseif currentSkillValue('physique') gte 12000>> <<pass 15>><<set $bird.timer to 150>> The two of you maintain a silent standoff across the tower, neither of you moving except for the <<beasttype>> occasionally stretching out the wing that you punched. Once <<bhe>> seems satisfied that the wing is in good enough condition to support <<bhis>> weight, <<bhe>> takes off and flies away from the tower. <<elseif currentSkillValue('physique') gte 8000>> <<pass 10>><<set $bird.timer to 120>> The two of you spend the next ten minutes staring at each other from across the room. The <<beasttype>> spends the time alternating between keeping <<bhis>> wing still and slowly opening and closing it. Once the wing has recovered to <<bhis>> satisfaction, the <<beasttype>> gets up and flies from the tower. <<elseif currentSkillValue('physique') gte 4000>> <<pass 5>><<set $bird.timer to 90>> The two of you sit there for a moment, eyeing each other distrustfully. Once the <<beasttype>>'s wing seems to have recovered, <<bhe>> gets up and launches <<bhimself>> from the tower. <<else>> <<pass 1>><<set $bird.timer to 60>> After a short rest, the <<beasttype>> gets up and, with one final look in your direction, launches <<bhimself>> from the tower. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> You retreat from the <<beasttype>>'s touch<<if $phase is 1>>, curling into yourself<</if>>. <<bHe>> seems <<if C.npc["Great Hawk"].love gte 40>>saddened<<else>>disappointed<</if>> by this turn of events, <<if C.npc["Great Hawk"].dom gte 60>>and settles back<<else>>but pulls away<</if>> and refrains from touching you further. <br><br> An <<if $monster is 1>>awkward<<else>>uncomfortable<</if>> silence fills the tower, as the <<beasttype>> shifts <<bhis>> weight from one foot to the other. <<bHe>> then perks up<<if $monster is 1 or understandsBirdBehaviour()>>, seemingly having come up with an idea<</if>>. <br><br> <<link [[Next|Bird Rescue No Syndrome Tower Final]]>><</link>> <br><<effects>> The <<beasttype>> looks at you, <<if $monster is 1>>smiling<<elseif understandsBirdBehaviour()>>looking pleased<<else>>looking attentive<</if>>. <<if $monster is 1>> "<<Wife>> must be hungry," <<bhe>> says. <<if $phase is 0 or $phase is 1 or $pain gte 80>> "I will find something to eat. <<Wife>> should take some time to rest. I will protect <<wife>>. <<Wife>> must recover." <<else>> "I will find something to eat." <</if>> <<bHe>> walks to the perch, before spreading <<bhis>> wings and launching <<bhimself>> from the tower. <<else>> <<bHe>> lets out an eager chirp, before spreading <<bhis>> wings and taking off. <</if>> <br><br> <<set $bird.timer to 20>> <<set $bird.state to "hunting">> <<bird_loot lurker 8>><<bird_loot food 16>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<if $syndromebird gte 1>> <<npc "Great Hawk">> You awaken in a stone room, a sheet of feathers covering you. It's a wing. <<if $monster is 1>> "I'm glad you're well," the <<beasttype>> says. "Spotted you asleep. Very dangerous. You should be careful. Come to nest when tired." <<else>> The <<beasttype>> chirps beside you. <</if>> <br><br> <<bHis>> wing tightens around you for a moment, before giving you more space. <br><br> <<if ($leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound")>> <<bHe>> looks at your bindings curiously, before sharply kicking <<bhis>> talons towards you. <span class="green">Your bindings fall to tatters at your feet.</span> <<unbind>> <br><br> <</if>> <<set $bird.timer to 60>> <<set $bird.state to "home">> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> <<npc "Great Hawk">> You float in the air as the wind blows by. Claws clutch your shoulders. You're high in the air. You look up. A <<beasttype>> carries you, <<bhis>> feathered wings beating. <br><br> <<link [[Next|Bird Capture]]>><</link>> <br> <</if>><<if $bird.state is undefined>> <<bird_init>>/*Fixes rare broken save issue*/ <</if>> <<set $location to "tower">><<setTowerTemp>><<effects>><<getTarget true>> <<bird_schedule>> You are inside <<if $syndromebird is 1>>your tower<<else>>a ruined tower<</if>>, deep in the moor. <<switch $bird.upgrades.decor>> <<case 1>>The stone walls look a bit more vibrant with decorations set up. <<case 2>>Thanks to the decorations you set up, it is starting to look more pleasant. <<case 3>>The pretty decorations you have set up make the place feel like home. <<case 4 5>>With your beautiful trophies and decorations set up, it looks better than ever. <<default>> <</switch>> <<if $bird.upgrades.firepit gte 1 and getBirdBurnTime() gt 0>> <<if getBirdBurnTime() gt 720>> <<if $bird.upgrades.decor gte 3>> With lots of light coming from the firepit, your trophies shine pleasingly. <<else>> The bright light of the firepit reaches all around the tower. <</if>> <<elseif getBirdBurnTime() gt 360>> <<if $bird.upgrades.decor gte 3>> The bright light of the firepit makes your trophies shine nicely. <<else>> The flames of the firepit greatly illuminate the tower. <</if>> <<elseif getBirdBurnTime() gt 180>> The burning firepit illuminates the tower. <<else>> The lit firepit slightly brightens the tower. <</if>> <</if>> <<if Weather.precipitation is "rain">> <<switch $bird.upgrades.shelter>> <<case 0>>Rain leaks through the eroded stone bricks above. <span class="red">The makeshift leaf shelter has collapsed.</span> <<case 1>>Rain patters against the leaves covering the holes in the roof. <<default>> <</switch>> <</if>> <<if $syndromebird isnot 1>><<hunger_description>><</if>> <br><br> <<if isPregnancyEnding() and !$possessed>> <<pregnancyPassout "castle">> <<elseif !$possessed and Object.values($children).find(child => (child.type is "hawk" and child.location is "inventory") or (child.location is "tower" and Time.date.timeStamp gte child.eggTimer))>> /* Move hawk eggs that the player has to the nest */ <<run Object.values($children).forEach(child => { if (child.type is "hawk" and child.location is "inventory") { if (!V.eggsMoved) V.eggsMoved = []; V.eggsMoved.push(child.childId); T.movedToTower to true; child.location to "tower"; } if (child.location is "tower" and Time.date.timeStamp gte child.eggTimer) { if (!V.eggsHatched) V.eggsHatched = []; V.eggsHatched.push(child.childId); T.readyToHatch to true; } })>> <<npc "Great Hawk">> <<if _movedToTower and _readyToHatch>> <<set _eggIcon to $eggsMoved.length>> <span class="blue">You gently place your egg<<if $eggsMoved.length gte 2>>s<</if>> in your nest.</span> You feel a sense of relief at seeing <<if $eggsMoved.length gte 2>>them<<else>>it<</if>> safe. <<if $bird.upgrades.nest gte 2>>You bunch up the fabric to keep <<if $eggsMoved.length gte 2>>them<<else>>it<</if>> cozy.<</if>> <<Number $eggsMoved.length>> <<birdicon "eggs">> fertilised bird egg<<if $eggsMoved.length gte 2>>s have<<else>> has<</if>> been moved to the nest. <br><br> <<if $eggsMoved.includesAny($eggsHatched)>> Just as you take your hand off of <<if $eggsMoved.length gte 2>>the last one<<else>>it<</if>>, it shakes ever so slightly. You hear a soft crackle and an even softer chirp. <span class="green"><<if $eggsHatched.length gte 2>>They're<<else>>It's<</if>> hatching!</span> <<else>> The moment you leave <<if $eggsMoved.length gte 2>>them<<else>>it<</if>> be, you notice <<number $eggsHatched.length>> of your other eggs start to shake ever so slightly. You hear a soft crackle and an even softer chirp. <span class="green"><<if $eggsHatched.length gte 2>>They're<<else>>It's<</if>> hatching!</span> <</if>> <br><br> <<link [[Next (0:30)|Bird Tower Hatching]]>><<bird_pass 30>><<set $phase to 1>><</link>> <<elseif _readyToHatch>> <<if $bird.state is "home">> <<if $monster is 1>> "<<Wife>>! <<Wife>>, come quickly!" Your <<beasttype>> looks to you with love and excitement <<else>> You hear excited cawing and chirping. Your <<beasttype>> looks right at you <</if>> from the edge of the nest. You hear softer chirping coming from it. You rush over. <<else>> <<set $phase to 1>> You hear a soft chirping from your nest. You rush over. <</if>> <<if $eggsHatched.length gte 2>> <span class="green">Some of your eggs are hatching!</span> <<else>> <<if Object.values($children).filter(child => child.location is "tower" and Time.date.timeStamp lt child.eggTimer).length gte 2>> <span class="green">One of your eggs is hatching!</span> <<else>> <span class="green">Your egg is hatching!</span> <</if>> <</if>> <br><br> <<link [[Next (0:30)|Bird Tower Hatching]]>><<bird_pass 30>><</link>> <<else>> <<set _eggIcon to $eggsMoved.length>> <span class="blue">You gently place your egg<<if $eggsMoved.length gte 2>>s<</if>> in your nest.</span> You feel a sense of relief at seeing <<if $eggsMoved.length gte 2>>them<<else>>it<</if>> safe. <<if $bird.upgrades.nest gte 2>>You bunch up the fabric to keep them cozy.<</if>> <<Number $eggsMoved.length>> <<birdicon "eggs">> fertilised bird egg<<if $eggsMoved.length gte 2>>s have<<else>> has<</if>> been moved to the nest. <<bird_stockholm 3>><<ggbirdstockholm>> <br><br> <<if $bird.state is "home">> <<your_bird_text "cap">> <<switch $bird.activity>> <<case "sleep" "rest">>stirs awake, <<case "build" "brood">>looks to you, <<case "bathe">>hops out of the rainwater pool and quickly <<if $monster is 1>>runs<<else>>hops<</if>> over, <<default>>quickly hops over, <</switch>> puffing out <<bhis>> plumage in surprise upon realising what <<bhe>> sees. <<if $monster is 1>> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined))>> "I'm so happy, <<wife>>. <span class="lewd">We have more children</span>!" <<bHe>> sweeps you up in a hug, <<if $syndromebird gte 1>>which you can't help but return<<else>>which you don't bother resisting<</if>>. <<else>> "<span class="lewd">Great Hawk and <<wife>> have children</span>!" <<bHe>> sweeps you up in a hug, <<if $syndromebird gte 1>>which you can't help but return<<else>>which you don't bother resisting<</if>>. <</if>> <<else>> <<bHe>> prods at <<if $eggsMoved.length gt 1>>them<<else>>it<</if>>, before quickly looking up. <<bHe>> spreads <<bhis>> wings wide, letting out a triumphant shriek into the air. <<bHe>> bobs <<bhis>> head and puffs out <<bhis>> plumage. <<bHe>> blusters for a while, before repeatedly headbutting you. <<bHe>> seems excited. <</if>> <<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom 1>><<gglove>><<gdom>> <br><br> <<if $syndromebird isnot 1 and $bird.syndrome gte 15>> Your eyes wander down to the egg<<if $eggsMoved.length gte 2>>s<</if>>. Your child<<if $eggsMoved.length gte 2>>ren<</if>>. Your mind fills with instinctual purpose. You rest your head on <<bhis>> shoulder. <<bHis>> plumage is so soft. Staying here with <<bhim>> doesn't seem so bad anymore. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <br><br> <</if>> <<else>> <<set $bird.eggReact to $eggsMoved.length>> <</if>> <<link [[Next|Bird Tower]]>><<endevent>><<unset $eggsHatched>><<unset $eggsMoved>><</link>> <</if>> <br> <<elseif $bird.state is "home" and birdEggsReady("Great Hawk") and !$possessed>> <<birdEggLayEvent>> <<elseif $stress gte $stressmax>> You've pushed your body beyond its limits. Everything fades to black. <br><br> <<link [[Next|Bird Tower Passout]]>><<passout>><<endevent>><<bird_pass 30>><</link>> <br> <<elseif $bird.state is "home" and $bird.activity isnot "sleep" and $bird.eggReact>> <<npc "Great Hawk">> You see <<your_bird_text>> looking into the nest with awe. <<bHes>> found your egg<<if $bird.eggReact gte 2>>s<</if>>. <<bHe>> looks up, finally noticing you. <<if $monster is 1>> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined))>> "I'm so happy, <<wife>>. <span class="lewd">We have more children</span>!" <<bHe>> sweeps you up in a hug, <<if $syndromebird gte 1>>which you can't help but return<<else>>which you don't bother resisting<</if>>. <<else>> "<span class="lewd">Great Hawk and <<wife>> have children</span>!" <<bHe>> sweeps you up in a hug, <<if $syndromebird gte 1>>which you can't help but return<<else>>which you don't bother resisting<</if>>. <</if>> <<else>> <<bHe>> spreads <<bhis>> wings wide, letting out a triumphant shriek into the air. <<bHe>> bobs <<bhis>> head and puffs out <<bhis>> plumage. <<bHe>> blusters for a while, before repeatedly headbutting you. <<bHe>> seems excited. <</if>> <<npcincr "Great Hawk" love 3>><<gglove>> <br><br> <<if $syndromebird isnot 1 and $bird.syndrome gte 15>> Your eyes wander down to the egg<<if $bird.eggReact gte 2>>s<</if>>. Your child<<if $bird.eggReact gte 2>>ren<</if>>. Your mind fills with instinctual purpose. You rest your head on <<bhis>> shoulder. <<bHis>> plumage is so soft. Staying here with <<bhim>> doesn't seem so bad anymore. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <br><br> <</if>> <<run delete $bird.eggReact>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.state is "hunting" and $bird.timer lte 0 and !$possessed>> <<npc "Great Hawk">> You hear the flap of wings as the <<beasttype>> returns. <<bHe>> lands and <<if $monster is 1>>walks<<else>>hops<</if>> over to you. <<bird_hunt_return>> <<elseif $bird.state is "home" and !["brood","sleep"].includes($bird.activity) and !$bird.override and Weather.dayState isnot "night" and $bird.timer lte 0 and !$possessed>> <<npc "Great Hawk">> <<bird_hunt_start>> <<elseif $bird.state is "home" and $bird.lock is 1 and $syndromebird is 1 and !$possessed>> <<npc "Great Hawk">> The <<beasttype>> <<if $monster is 1>>walks<<else>>hops<</if>> deeper into the room. <<bHe>> pauses beside the trap door, and holds the rusted lock between <<bhis>> talons. <<bHe>> crushes it in one swift movement, grasps the remaining metal, and throws open the door. <<if $bird.clean lte 15>> <<bHe>> jumps away from the cloud of dust. <</if>> <br><br> <<if $monster is 1>> "Easier for you to leave," <<bhe>> says. "If I'm out. Just don't be gone long, <<wife>>. The nest is cold without you." <<else>> <<bHe>> nods towards the hole, then back to the nest, and chirps. <</if>> <br><br> You peer into the gloom. A flight of stone stairs spirals into the dark. <br><br> <<run delete $bird.lock>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.upgrades.mirror is 1 and $bird.mirror_unknown is 1 and $bird.state is "home" and !$possessed>> <<run delete $bird.mirror_unknown>> <<npc "Great Hawk">> You hear a screech. The <<beasttype>> hovers in the air, talons outstretched, gaze fixed on the new mirror, on <<bhis>> reflection. <br><br> <<if $speech_attitude is "meek">> "I-It's just a mirror," you say. "I wanted one for our home." <<elseif $speech_attitude is "bratty">> "Quit whining," you say. "It's just a mirror." <<else>> "What's wrong?" you ask. "It's just a mirror." <</if>> <br><br> <<if $monster gte 1>> The <<beasttype>> lands. "I hate it," <<bhe>> says. <<bHis>> talons bite into the stone. "Dangerous. But if you like it-" <<bHe>> grimaces. "Put something over it when you're not using it." <<else>> <<bHe>> chirps, and <<bhis>> talons bite into the stone. <<bHe>> flies off for a moment, returning with a large, torn piece of fabric, and drops it on the mirror. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and $bird.activity is "build" and $bird.upgrades.shelter gte 2 and $birdShelterTimer and $birdShelterTimer lte 0 and !$possessed>> <<npc "Great Hawk">><<set _prop to either("stick", "leaf")>><<wearProp _prop>> You see the <<beasttype>> carrying some sticks and leaves to repair the shelter. <<bHe>> stops when <<bhe>> sees what you've built in the old shelter's place. <br><br> <<if $monster is 1>> "<<Wife>> did this?" <<bHe>> gives the tarp a hefty tug, and looks impressed when it holds. <<bHe>> smiles wide, before walking up to you and hugging you. "Had to fix the old one so many times. Many soggy, sleepless nights. Thank you." <<bHe>> looks at you with adoration. <<else>> <<bHe>> pokes and prods at the tarp, pulling at it to test it. You're about to stop <<bhim>>, but <<bhe>> looks to you and starts chirping. <<bHe>> puffs out <<bhis>> plumage and starts bobbing <<bhis>> head. <<bHe>> seems to be happy with what you've done. <</if>> <<npcincr "Great Hawk" love 6>><<ggglove>> <br><br> <span class="teal">You save the sticks and leaves <<bhe>> was carrying for later.</span> <<set $bird.materials.sticks += 2>><<set $bird.materials.leaves += 2>> <br><br> <<unset $birdShelterTimer>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and $bird.activity is "bathe" and $bird.upgrades.pot gte 3 and getBirdBurnTime() gte 1 and $bird.heat_unknown and !$possessed>> <<run delete $bird.heat_unknown>> <<npc "Great Hawk">> You see your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> walk to the rainwater pool. <<bHe>> stops in front of it, noticing the steam coming out of it. <br><br> <<if $monster is 1>> <<bHe>> turns to look at you. "Did <<wife>> do something to the water? It's warm now," <<bhe>> says. You tell <<bhim>> you found a way to heat the water. <<bHe>> looks surprised. "<<Wife>> can do that? Incredible." <<bHe>> marvels at your feat of ingenuity. <<else>> <<bHe>> looks at you and tilts <<bhis>> head. You tell <<bhim>> you found a way to heat the water. The <<beasttype>> stares at you in awe, likely wondering how it's possible. <</if>> <br><br> <<bHe>> steps into the water and shudders, likely feeling hot water for the first time. <<bHe>> seems a bit tense at first, but quickly warms up to the idea of a warm bath. <<if $monster is 1>> "This feels good, thank you for this, <<wife>>." <<else>> <<bHe>> chirps gleefully, happy to have warm water. <</if>> You leave <<bhim>> to enjoy the water. <<npcincr "Great Hawk" love 1>><<glove>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and $bird.activity is "bathe" and $bird.upgrades.pot gte 3 and getBirdBurnTime() is 0 and !$bird.heat_unknown and !$daily.birdHeatRequest and Weather.temperature lte 15 and !$possessed>> <<set $daily.birdHeatRequest to true>> <<npc "Great Hawk">> Your <<beasttype>> approaches you. <<if $monster is 1>> "Could <<wife>> make the water warm again?" <<bhe>> asks. <<else>> <<bHe>> motions towards the bathing pool and squawks. <<bHe>> is asking you to heat the water again. <</if>> <br><br> <<birdicon "wood">> <<if $bird.materials.wood is 0>> <span class="red">No wood to add.</span> <<else>> <<set _timeWood to 240>> <<if Weather.precipitation is "rain" and $bird.upgrades.shelter is 0>> <<set _timeWood to Math.floor(_timeWood / 2)>> <</if>> <<link [[Add wood|Bird Tower Warm Bath]]>> <<wearProp "wood">> <<set $phase to 1>><<npcincr "Great Hawk" love 1>><<set $bird.materials.wood-->> <<run Cooker.addBurnTime($bird.firepit, _timeWood * 60)>> <<run Weather.Observables.checkForUpdate()>> <</link>><<glove>><<note `"+ " + getTimeString(240)` `"green"`>> <</if>> <br> <<birdicon "sticks">> <<if $bird.materials.sticks is 0>> <span class="red">No sticks to add.</span> <<else>> <<set _timeSticks to 60>> <<if Weather.precipitation is "rain" and $bird.upgrades.shelter is 0>> <<set _timeSticks to Math.floor(_timeSticks / 2)>> <</if>> <<link [[Add sticks|Bird Tower Warm Bath]]>> <<wearProp "stick">> <<set $phase to 1>><<npcincr "Great Hawk" love 1>><<set $bird.materials.sticks-->> <<run Cooker.addBurnTime($bird.firepit, _timeSticks * 60)>> <<run Weather.Observables.checkForUpdate()>> <</link>><<glove>><<note `"+ " + getTimeString(60)` `"green"`>> <</if>> <br> <<getouticon>><<link [[Refuse|Bird Tower Warm Bath]]>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br> <<elseif $bird.upgrades.wardrobe is 1 and $bird.wardrobe_timer lte 1 and $bird.state is "home" and !$possessed>> <<run delete $bird.wardrobe_timer>> <<npc "Great Hawk">> You see the <<beasttype>>'s lower half sticking out of your wardrobe. You walk up behind <<bhim>>. <br><br> <<if $speech_attitude is "meek">> "W-what are you doing?" you ask. <<elseif $speech_attitude is "bratty">> "Hey, no, stop that! Why are you in my wardrobe?" you ask. <<else>> "What are you doing?" you ask. <</if>> <<bHe>> jumps in surprise. <br><br> <<if $monster is 1>> <<bHes>> holding a torn piece of fabric. It looks like <<bhe>> was trying to hang it up. "Still don't understand landbound plumage. Sorry." <<bHe>> hands it to you apologetically before walking away. <<else>> <<bHe>> holds a torn piece of fabric in <<bhis>> beak. It looks like <<bhe>> was trying to put it in your wardrobe. <<bHe>> drops it at your feet apologetically before hopping away. <</if>> <<wearProp "rag">> <<set $bird.materials.fabric ++>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.syndrome gte 20 and $syndromebird isnot 1 and $bird.state is "home" and $bird.activity isnot "sleep" and !$possessed>> <<npc "Great Hawk">> You watch the <<beasttype>> stare over the moor, just as <<bhe>> always does. Maybe it's how the light catches in <<bhis>> feathers, but <<bhe>> looks more majestic today. You catch yourself admiring <<bhim>> for a moment. When you realise what you're doing, you notice the <<beasttype>> is staring back at you. <<if $monster is 1>> "Does <<wife>> want to come look with me?" <<bhe>> asks. <<else>> <<bHe>> flaps <<bhis>> wings at you, beckoning you to come look at the moor with <<bhim>>. <</if>> <br><br> You decide to take <<bhim>> up on the offer and sit down next to <<bhim>> on the perch. <<bHe>> wraps a wing around you, sheltering you from the wind. You watch over the moor with <<bhim>> for some time. Eventually, the <<beasttype>> shuffles closer to you and <<if $monster is 1>> speaks. "I'm glad <<wife>> wants to be close now." <<bHe>> sounds happy. <<else>> chirps softly. <<bHe>> seems to be happy that you're willing to be so close to <<bhim>> now. <</if>> <br><br> You stay huddled up to <<bhim>> for a while longer, but eventually pull away. <<bHe>> looks disappointed, but doesn't complain. You look at <<bhim>> once more and smile. Maybe staying with <<bhim>> won't be so bad after all. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <br><br> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $harpy gte 6 and $bird.hunts.unlocked is true and $bird.hunts.valuables is false and $skulduggery gte 300>> <<set $bird.hunts.valuables to true>> <span class="blue">As you're looking around the tower, your eyes catch on a vacant corner. You become keenly aware of how empty and plain everything is, and you're filled with an inexplicable urge. Some pretty, shiny valuables would improve the atmosphere of your home.</span> <br> <span class="gold">You can now hunt for valuables.</span> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and ["clear","lightClouds"].includes(Weather.name) and between(Time.hour, 21, 23) and !Weather.bloodMoon and $daily.birdNightFlightTrigger and !$weekly.birdNightFlight and !Weather.isFrozen("lake") and !$bird.injured>> <<npc "Great Hawk">><<person1>> <<set $weekly.birdNightFlight to true>> <<your_bird_text "cap">> perches on a weathered ledge. Moonlight bathes <<bhim>> in a silvery glow. <br><br> <<if $monster is 1>> "Come, <<wife>>. Fly with me." <<bHis>> voice carries a tender plea as <<he>> <<if $harpy gte 6 and $birdFly is 1>> extends <<his>> massive talon toward you. <<else>> crouches down, making room for you to climb onto <<bhis>> back. <</if>> <<else>> <<bHe>> lets out a low trill, nodding out to the moor. <<bHe>> wants you to fly with <<bhim>>. <<if $harpy lt 6 or $birdFly isnot 1>> <<bHe>> gets low to the ground, motioning for you to climb onto <<bhis>> back. <</if>> <</if>> <br><br> <<link [[Go|Bird Tower Night Flight]]>><<bird_pass 30>><<npcincr "Great Hawk" love 1>><</link>><<glove>> <br> <<link [[Stay|Bird Tower Night Flight Stay]]>><</link>> <br> <<else>> <<npc "Great Hawk">><<person1>> <<if $bird.state is "home">> <<switch $bird.activity>> <<case "sing">> <<your_bird_text "cap">> is singing at the edge of the tower. <<case "bathe">> <<your_bird_text "cap">> is bathing in the rainwater pool. <<case "groom">> <<your_bird_text "cap">> sits on <<bhis>> perch, cleaning <<bhis>> feathers. <<case "rest">> <<your_bird_text "cap">> rests in the nest. <<case "build">> <<if $birdShelterRepair>> <<unset $birdShelterRepair>> <span class="teal"><<your_bird_text "cap">> is covering the holes in the roof with leaves and twigs.</span> <<else>> <<your_bird_text "cap">> is adding to the nest. <</if>> <<case "brood">> <<set _eggCountNest to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<your_bird_text "cap">> sits in the nest, brooding on the egg<<if _eggCountNest gte 2>>s<</if>>. <<default>> <<your_bird_text "cap">> rests in <<bhis>> nest. <<set $birdSleep to 1>> <</switch>> <<else>> <<your_bird_text "cap">> is out hunting. <</if>> <<if $exposed gte 1>> <<if $syndromebird is 1>> <<if $arousal gte $arousalmax / 2 and $bird.state isnot "home">> You find yourself craving <<your_bird_text>>'s wings to keep you warm. <</if>> <<else>> <<if $bird.state isnot "home">> <<if $uncomfortable.nude is true>> You feel relieved to have some privacy in your exposed state. <</if>> <<else>> <<if $uncomfortable.nude is true>> You feel embarrassed to be exposed around the <<beasttype>>. <<else>> You feel excited to be exposed around the <<beasttype>>. <</if>> <</if>> <</if>> <</if>> <br> <<if $syndromebird and $lurkers_held gte 1 and $bird.state is "home" and $bird.activity is "build">> <<birdicon "lurkers_netted">><<link "Give <<bhim>> your captured lurker" "Bird Tower Give Captured Lurker">><</link>><<glove>> <br> <</if>> <<if $estate_fence is "quest" and $syndromebird is 1 and $bird.state is "home" and !["sleep","rest"].includes($bird.activity) and $bird.injured is 0>> <<socialiseicon "ask">><<link [[Ask for help getting into the Remy Estate|Bird Tower Estate]]>><</link>> <br> <</if>> <<if $bird.hunts.estate is "unlocked" and $bird.state is "home" and !["sleep","rest"].includes($bird.activity) and $bird.injured is 0>> <<socialiseicon "ask">><<link [[Ask for help stealing from the estate|Bird Hunt Estate Prepare]]>><<endevent>><</link>> <br> <</if>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <<if $bird.state isnot "home">> Nothing is around to witness your lewdity. <<else>> <<if $bird.activity is "sleep">> The <<beasttype>> stirs in the nest, but doesn't wake up. <<else>> You feel a warm pair of wings wrap around you, holding you as your spasms subside. <<if $monster is 1>> "<<Wife>> needed release? Should have said something. Will help next time." The <<beasttype>> pecks you on the cheek, before returning to what <<bhe>> was doing. <<else>> The <<beasttype>> pecks you on the cheek before returning to what <<bhe>> was doing. <</if>> <</if>> <</if>> <br><br> <</if>> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound" or $worn.feet.name is "ankle cuffs">> <<if $possessed>> You stare down at your bindings. You pull, and they fall apart, unable to hold against you. <br><br> <<unbind>> <<else>> <<undobindingsicon>><<link [[Undo your bindings (0:10)|Bird Tower Unbind]]>><<bird_pass 10>><<unbind>><</link>> <br><br> <</if>> <</if>> <<birdicon "perch">><<link [[Approach the perch|Bird Tower Perch]]>><</link>> <br> <<if $syndromebird isnot 1>> <<crimeicon "mark">><<link [[Look out the tower (0:05)|Bird Tower Look]]>><<bird_pass 5>><</link>> <br> <<investigateicon>><<link [[Search for materials (1:00)|Bird Tower Search]]>><<bird_pass 60>><</link>> <br> <</if>> <<birdicon "rainwater">><<link [[Sit by the rainwater pool|Bird Tower Rainwater Pool]]>><</link>> <br> <<if $syndromebird is 1 and !($leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound")>> <<if $bird.upgrades.firepit gte 1>> <<birdicon "firepit">><<link [[Examine the firepit|Bird Tower Firepit]]>><</link>><<if getBirdBurnTime()>> | <span class="orange"><<firepitTime>></span><</if>> <br> <</if>> <</if>> <br> <<if $bird.clean gte 100>> <<if $bird.upgrades.decor gte 4>> <span class="green">Your tower is immaculate.</span> <<else>> <span class="green">Your tower is perfectly clean.</span> <</if>> <<else>> <<if $syndromebird gte 1>> <<if $bird.clean gte 80>> The tower is <span class="teal">clean,</span> save for a few bits of dirt in between stone bricks. <<elseif $bird.clean gte 60>> The tower is <span class="lblue">tidy,</span> but you know you can do better. <<elseif $bird.clean gte 40>> The tower is <span class="blue">acceptable.</span> Loose stones and dirt have been thrown from the perch. <<elseif $bird.clean gte 20>> The tower is <span class="purple">a bit messy.</span> Dirt stubbornly sticks to various surfaces. <<elseif $bird.clean gte 10>> The tower is <span class="pink">a mess.</span> It's better than when you first arrived, at least. <<else>> The tower is <span class="red">filthy.</span> Erosion and neglect have left a musty stench in the air. <</if>> <</if>> <br> <<if $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too exhausted to clean the tower.</span> <<else>> <<if $worn.handheld.name is "feather duster" or $bird.duster is true or ($bird.upgrades.wardrobe is 1 and getOwnedClothingCount(12, "handheld") gte 1)>> <<edenicon "broom">><<link [[Dust the tower (0:30)|Bird Tower Tidy]]>><<tiredness 3>><<if !$daily.birdHousekeepingSyndrome>><<bird_stockholm 1>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom 1>><<set $daily.birdHousekeepingSyndrome to true>><</if>><<housekeeping 2 200>><<bird_pass 30>><</link>><<gtiredness>><<ghousekeeping 200 "silent">> <<else>> <<edenicon "broom">><<link [[Tidy up the tower (1:00)|Bird Tower Tidy]]>><<tiredness 6>><<if !$daily.birdHousekeepingSyndrome>><<bird_stockholm 1>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom 1>><<set $daily.birdHousekeepingSyndrome to true>><</if>><<housekeeping 2 100>><<bird_pass 60>><</link>><<ggtiredness>><<ghousekeeping 100 "silent">> <</if>> <<if !$daily.birdHousekeepingSyndrome>><<gbirdstockholm>><<glove>><<gdom>><</if>> <</if>> <</if>> <br> <<if $syndromebird is 1 and !($leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound")>> <<edenicon "fix">><<link [[Improve the tower|Bird Tower Build]]>><</link>> <br> <</if>> <br> <<birdicon "nest">><<link [[Sleep in the nest|Bird Tower Bed]]>><</link>> <br> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer))>> <<set _eggIcon to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if _eggIcon gte 2>> <<birdicon "eggs">><<link [[Brood on your eggs (0:30)|Bird Tower Brood]]>><<set $phase to 1>><<transform bird 1>><<trauma -3>><</link>><<ltrauma>> <br> <<else>> <<birdicon "eggs">><<link [[Brood on your egg (0:30)|Bird Tower Brood]]>><<set $phase to 1>><<transform bird 1>><<trauma -3>><</link>><<ltrauma>> <br> <</if>> <</if>> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined))>> <<set _childrenTotal to Object.values($children).filter(child => child.location is "tower" and child.eggTimer is undefined).length>> <<if _childrenTotal gte 2>> <<birdicon "children">><<link [[Check on your children|Childrens Home]]>><<set $exitPassage to $passage>><</link>> <<else>> <<birdicon "children">><<link [[Check on your child|Childrens Home]]>><<set $exitPassage to $passage>><</link>> <</if>> <br> <</if>> <<if $syndromebird isnot 1>> <<bedicon "zzz">><<link [[Sleep elsewhere|Bird Tower Bed Alone]]>><<bird_stockholm -2>><</link>><<if $syndromebird isnot 1>><<lbirdstockholm>><</if>> <br> <</if>> <<if $bird.upgrades.wardrobe is 1>> <<birdicon "wardrobe">><<link [[Wardrobe|Bird Tower Wardrobe]]>><</link>> <br> <<else>> <<if $bird.duster is true>> <<icon "clothes/feather_duster.png">><<link [[Grab your feather duster|Bird Tower]]>><<handheldstrip>><<generalWear handheld 12>><<run delete $bird.duster>><</link>> <<if $worn.handheld.name isnot "naked">> | <span class="blue">Swap out your $worn.handheld.name</span> <</if>> <br> <<elseif $worn.handheld.name is "feather duster">> <<icon "clothes/feather_duster.png">><<link [[Hang up your feather duster|Bird Tower]]>><<if $carried.handheld.name isnot "naked">><<handheldon>><<else>><<handheldruined true>><</if>><<set $bird.duster to true>><</link>> <<if $carried.handheld.name isnot "naked">> | <span class="blue">Retrieve your $carried.handheld.name</span> <</if>> <br> <</if>> <</if>> <<if $bird.upgrades.mirror is 1>> <<if $nextPassageCheck is "Bird Tower Mirror">> <span class="nextLink"><<birdicon "mirror">><<link [[Mirror|Bird Tower Mirror]]>><<preMirror>><</link>></span> <<else>> <<birdicon "mirror">><<link [[Mirror|Bird Tower Mirror]]>><<preMirror>><</link>> <</if>> <br> <</if>> <br> <<if $bird.lock is 1>> <<birdicon "trapdoor">><<link [[Examine the trap door (0:05)|Bird Tower Door]]>><<bird_pass 5>><</link>> <br> <<else>> <<birdicon "trapdoor">><<link [[Enter the trap door (0:05)|Bird Tower Base Descend]]>><<bird_pass 5>><</link>> <br> <</if>> <<if $syndromebird is 1>> <br> <<link [[Gameplay Settings|Settings]]>><<set $settingsExitPassage to "Bird Tower">><</link>> <br> <<attitudesControlCheck>> <<if $attitudesControl.showGoldLink is true>> <span class="goldLink"><<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> </span><span class="red">!!</span> <<else>> <<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> <</if>> <br><br> <</if>> <<endevent>> <</if>><<setTowerTemp>><<effects>> <<npc "Great Hawk">> <<if $syndromebird gte 1>> As you start to regain consciousness, you find yourself in your nest. You see your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> standing on the edge of it. When <<bhe>> sees you waking up, <<bhe>> rushes over to you. <<if $monster is 1>> "<<Wife>>! What happened? Why did you fall asleep on the ground?" <<bhe>> asks, clearly concerned. <<else>> <<bHe>> looks at you<<if understandsBirdBehaviour()>>, confused and worried<<else>> intensely<</if>>. <</if>> You tell <<bhim>> that you're fine now. <br><br> <<if $monster is 1>> "Are you sure?" <<bhe>> asks, still concerned. <<else>> <<bHe>> looks slightly relieved, yet still worried. <</if>> <br><br> <<link "Reassure <<bhim>>" "Bird Tower Passout Syndrome">><<set $phase to 0>><<npcincr "Great Hawk" dom 1>><</link>><<gdom>> <br> <<link "Ignore <<bhim>>" "Bird Tower Passout Syndrome">><<set $phase to 1>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br> <<else>> <<if $trauma gte ($traumamax / 10) * 8>> As you start to regain consciousness, you find yourself inside the <<beasttype>>'s nest. You see the <<beasttype>> standing on the edge of it. <br><br> You feel <<bhis>> gaze pierce through you. <span class="red">Memories of how you've been assaulted in the past flood your mind. Fear takes over, freezing you in place.</span> <br><br> The <<beasttype>> steps into the nest and <<if $monster is 1>> says something, <<else>> makes some kind of noise, <</if>> but your mind is too unfocused to understand it. <<bHe>> starts approaching you. With your body unwilling to move, all you can do is watch as <<bhe>> approaches you. <br><br> <<link [[Next|Bird Tower Passout No Syndrome Trauma]]>><</link>> <br> <<else>> As you start to regain consciousness, you find yourself inside the <<beasttype>>'s nest. You see the <<beasttype>> standing on the edge of it. <<bHes>> looking at you <<if understandsBirdBehaviour()>>worriedly<<else>>intensely<</if>>. <br><br> <<bHe>> steps into the nest. <<if $monster is 1>> "Is <<wife>> feeling hurt? Did something happen?" <<bhe>> asks. <<else>> <<bHe>> chirps <<if understandsBirdBehaviour()>>softly <</if>>at you. <</if>> <br><br> The <<beasttype>> starts approaching you <<if understandsBirdBehaviour()>>cautiously<<else>>slowly<</if>>. <br><br> <<link [[Stay still|Bird Tower Passout No Syndrome]]>><<set $phase to 0>><<bird_stockholm 3>><</link>><<ggbirdstockholm>> <br> <<link [[Push yourself away|Bird Tower Passout No Syndrome]]>><<set $phase to 1>><<bird_stockholm -3>><</link>><<llbirdstockholm>> <br> <</if>> <</if>><<setTowerTemp>><<effects>> <<if $phase is 0>> You let the <<beasttype>> get close to you. <<bHe>> starts touching you with <<bhis>> <<if $monster is 1>>hands<<else>>beak<</if>>, inspecting your body for signs of injury. <<bHis>> touch feels very gentle. <<bHe>> keeps touching you for a while. <br><br> Just as you start to enjoy <<bhis>> caress, <<bhe>> pulls away. <<if $monster is 1>> "<<Wife>> does not seem to be badly hurt. Still, <<wife>> should rest now. I want you to be safe," <<bhe>> says. <<else>> <<bHe>> gives you one final nudge with <<bhis>> beak and chirps softly. <<if understandsBirdBehaviour()>><<bHe>> seems happy that you're alright.<</if>> <</if>> <br><br> <<if $bird.syndrome gte 15 and $syndromebird isnot 1>> You see the caring look in the <<beasttype>>'s eyes and have a realisation. <<bHes>> just been trying to take care of you all this time. You know you are safe with <<bhim>>. You pull the <<beasttype>> into a hug. <<if $monster is 1>> <<bHe>> returns your embrace. <<else>> <<bHe>> wraps <<bhis>> wings around you in turn. <</if>> you hold <<bhim>> for a moment, before letting go. You smile brightly at <<bhim>>. <<if $monster is 1>> "I am glad <<wife>> is feeling better now," <<bhe>> says. <</if>> <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <<else>> You stand up and try to get out of the nest. The <<beasttype>> does not stop you. <</if>> <<else>> You back up to the other side of the nest. <<if $speech_attitude is "meek">> "P-Please don't hurt me," you whimper. <<elseif $speech_attitude is "bratty">> "Don't touch me you filthy <<beasttype>>!" you yell. <<else>> "Get away from me!" you scream. <</if>> <br><br> <<bHe>> stops. <<if $monster is 1>> "Must be fine if <<wife>> can move so much, sorry to bother," <<bhe>> says. <<if understandsBirdBehaviour()>><<bHe>> still seems concerned for you.<</if>> <<else>> <<bHe>> <<if understandsBirdBehaviour()>>looks you over,<<else>> stares at you for a bit,<</if>> then squawks meekly. <</if>> You stand up and try to get out of the nest. The <<beasttype>> doesn't stop you. <</if>> <br><br> <<if $bird.state is "hunting" and $bird.timer lte 0>> <<bHe>> seems to remember something, and <<if $monster is 1>>walks<<else>>hops<</if>> away for a moment before approaching you again. <<bird_hunt_return>> <<else>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <</if>><<setTowerTemp>><<effects>> When the <<beasttype>> is right in front of you, you prepare for the worst. For a while, <<bhe>> just stares at you. The tension is only making this worse. After what feels like an eternity, <<bhe>> finally reaches for you. <br><br> You're surprised when all <<bhe>> does is gently caress your cheek with <<bhis>> <<if $monster is 1>> hand. "<<Wife>>, who hurt you so much?" <<he>> asks. <<if understandsBirdBehaviour()>>You can tell <<bhes>> really worried. <</if>>"Won't let anyone hurt <<wife>>, I will make <<wife>> happy here," <<bhe>> declares. The <<beasttype>> wraps <<bhis>> wings around you and moves <<bhis>> hands to your hair. <<bHe>> begins to comb through it with <<bhis>> fingers. <<bHis>> touch feels very soothing. <<else>> beak. <<bHe>> starts chirping softly. <<if understandsBirdBehaviour()>><<bHe>> must be trying to comfort you. <</if>><<bHis>> chirps are just the right volume to be pleasant. The <<beasttype>> wraps <<bhis>> wings around you and starts going through your hair with <<bhis>> beak. <<bHis>> delicate prodding feels very soothing. <</if>> <<stress -6>><<trauma -6>><<bird_stockholm 3>><<lstress>><<ltrauma>><<ggbirdstockholm>> <br><br> You're still unable to move, which allows the <<beasttype>> to keep comforting you for a while. <<if $bird.syndrome gte 15 and $syndromebird isnot 1>> <<bHis>> touch is starting to feel more pleasant by the second. Without thinking, you start pushing your head against <<bhis>> <<if $monster is 1>> hand. "Are you starting to feel better, <<wife>>?" <<bhe>> asks. You give <<bhim>> a small smile in response. You end up letting <<bhim>> pat your head for several minutes. <<else>> beak. <<bHe>> looks at you adoringly. You look back at <<bhim>> with newfound gratitude. You end up letting <<bhim>> preen your hair for several minutes. <</if>> As <<bhe>> keeps caressing your hair, you think about how kind <<bhes>> been to you. <<bHes>> different from everyone else. <<bHe>> cares about you. <<bHe>> will keep you safe. You feel like you finally understand <<bhim>>. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <<else>> You have conflicting feelings about the forced affection being given to you. When you finally regain control of yourself, you push the <<beasttype>> away from you. <<bHe>> stumbles to the other side of the nest. <<if $monster is 1>> "<<Wife>> wants to be alone now, I understand," <<bhe>> says. <<else>> <<bHe>> chirps softly. <</if>> You stand up and try to get out of the nest. The <<beasttype>> does not stop you. <</if>> <br><br> <<if $bird.state is "hunting" and $bird.timer lte 0>> <<bHe>> seems to remember something, and <<if $monster is 1>>walks<<else>>hops<</if>> away for a moment before approaching you again. <<bird_hunt_return>> <<else>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <</if>><<setTowerTemp>><<effects>> <<if $phase is 0>> You get up and hug <<bhim>>. <<if $speech_attitude is "meek">>"Thank you for caring about me so much. But I'm alright," you say. <<elseif $speech_attitude is "bratty">> "You don't have to be so worried, silly," you say. <<else>>"I really am fine. Thanks for making sure though," you say. <</if>> <br><br> The <<beasttype>> <<if $monster is 1>> returns your hug and sits down in the nest with you. "Glad to see <<wife>> is alright," <<bhe>> says. <<else>> nuzzles against you. <<bHe>> squawks joyfully and sits down in the nest with you. <</if>> You spend a precious moment relaxing in the nest, holding your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. <br><br> After a while, you stand up again. The Great Hawk is reluctant to stop, but lets you go. <<if $monster is 1>> "Hope <<wife>> feels better now," <<bhe>> says. <<else>> <<bHe>> chirps one more time. <</if>> You smile at <<bhim>>, then step out of the nest. <<else>> <<if $speech_attitude is "meek">>"I-I'm fine, really," you say as you stand up. <<elseif $speech_attitude is "bratty">>"I already told you, I'm fine," you say as you stand up. <<else>>"I'm alright," you say as you stand up. <</if>> <br><br> <<if $monster is 1>> "Are you sure?" <<bhe>> asks again. You repeat your answer. <<bHe>> does not sound satisfied with it. <<else>> <<bHe>> looks unsatisfied by your answer. <</if>> <<bHe>> stops fussing over you, but <<bhe>> still seems somewhat concerned. You step out of the nest. <</if>> <br><br> <<if $bird.state is "hunting" and $bird.timer lte 0>> <<bHe>> seems to remember something, and <<if $monster is 1>>walks<<else>>hops<</if>> away for a moment before approaching you again. <<bird_hunt_return>> <<else>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <</if>><<setTowerTemp>><<effects>> <<npc "Great Hawk">> <<if $monster is 1>> The <<beasttype>> stares north as <<bhe>> listens. <<if $bird.hunts.estate is "complete">> "Again?" <<bhe>> asks. You explain that you just need a way in this time. "Dangerous. But I will help." <<bHe>> leans closer, and kisses your forehead. <<else>> "I avoid that place," <<bhe>> says. "Dangerous. The landbound leader nests there. But I will help." <<bHe>> leans closer, and kisses your forehead. <</if>> <br><br> <<bHis>> wings flare. "I will find you a gift on my way back." <<bHe>> launches from the perch. <br><br> <<else>> The <<beasttype>> stares north as <<bhe>> listens, or appears to listen. <<bHis>> wings flare, and <<bhe>> launches from the tower. You're not sure if <<bhe>> understood. <br><br> <</if>> <<set $bird.timer to random(120, 150)>> <<set $bird.state to "hunting">> <<set $estate_fence to "bird">> <<set $bird.estateKnown to true>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You rifle through the wood and detritus, searching for anything that could help you escape. <<if $bird.clean lte 5>> The tower is filthy, and your searching kicks up dust and debris. You cough. <<stress 6>><<gstress>> <br><br> <</if>> <<if $rng gte 66>> <<wearProp "rag">> You find a torn but strong piece of fabric. It could be used for a rope. <<set $bird.materials.fabric += 1>><<gfabric>> <<else>> You don't find anything. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<handheldon>><</link>> <br><<effects>> You test each step as you descend into the dark. <br><br> You arrive at the bottom. There's a slit in the wall, leading outside. You should be able to squeeze through, though there's a small drop on the other side. <br><br> <<link [[Next|Bird Tower Base]]>><</link>> <br><<effects>> You climb the stone steps, keeping your feet steady, and body close to the wall. <br><br> You emerge through the open trap door. <br><br> <<link [[Next|Bird Tower]]>><</link>> <br><<effects>> You are in the base of the ruined tower, deep in the moor. There's a slit in the wall, leading outside, and a staircase leading higher. <br><br> <<if $bird.upgrades.mirror isnot 1>> <<if $bird.mirror_unknown is 1>> A mirror stands in the middle of the room, covered by a dusty sheet. <br><br> <<birdicon "mirror">><<link [[Carry the mirror upstairs (0:15)|Bird Tower Base Carry]]>><<set $bird.upgrades.mirror to 1>><<bird_pass 15>><<tiredness 3>><</link>> <br> <<else>> A tall piece of furniture stands in the middle of the room, covered by a dusty sheet. <br><br> <<investigateicon>><<link [[Examine the furniture|Bird Tower Base Mirror]]>><<set $bird.mirror_unknown to 1>><</link>> <br> <</if>> <</if>> <<stairsicon "up">><<link [[Climb the stairs (0:05)|Bird Tower Base Climb]]>><<bird_pass 5>><</link>> <br> <<getouticon>><<link [[Leave the tower|Bird Tower Base Leave]]>><</link>> <br><<effects>> You lift the sheet, revealing a standing mirror. You can make out your reflection in the dim light. It's still in one piece. <br><br> <<link [[Carry it upstairs (0:15)|Bird Tower Base Carry]]>><<set $bird.upgrades.mirror to 1>><<bird_pass 15>><<tiredness 3>><</link>> <br> <<link [[Leave it alone|Bird Tower Base]]>><</link>> <br><<effects>> <<earnFeat "High Reflection">> You carry the mirror up the tower, careful with each step, and resting it on the ground now and then. It's a steep climb, but you emerge at the top. <br><br> You find a nice spot for your new furniture opposite the nest. <br><br> <<link [[Next|Bird Tower]]>><</link>> <br><<effects>> You squeeze through the slit, and tumble to the ground outside. You're in the castle courtyard. <br><br> <<link [[Next|Castle]]>><</link>> <br><<effects>> The wind snatches your hair as you peer over the edge. It's a long way down. <br><br> You have <span class="gold"><<number $bird.materials.fabric>></span><<birdicon "fabric">> <<= $bird.materials.fabric is 1 ? "piece" : "pieces">> of fabric. <<if $syndromebird isnot 1>> <<set _naked to setup.clothingLayer.all.find(c => V.worn[c].name !== "naked")>> <<if _naked>> You could tear up your clothes for more. <<else>> If you were wearing clothes, you could tear them up into fabric. <</if>> <</if>> <br> <<if $syndromebird isnot 1>> <<if setup.clothes_all_slots.some(slot => $worn[slot].name !== "naked")>> Tear up your: <br> <</if>> <<if $worn.upper.name isnot "naked" and $worn.upper.cursed isnot 1>> <<clothingicon $worn.upper "upper">><<link [[$worn.upper.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.upper.colour>><<upperruined>><</link>> <br> <</if>> <<if $worn.lower.name isnot "naked" and $worn.lower.cursed isnot 1>> <<clothingicon $worn.lower "lower">><<link [[$worn.lower.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $fabricColour to $worn.lower.colour>><<set $bird.materials.fabric += 1>><<lowerruined>><</link>> <br> <</if>> <<if $worn.under_upper.name isnot "naked" and $worn.under_upper.cursed isnot 1>> <<clothingicon $worn.under_upper "under_upper">><<link [[$worn.under_upper.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $fabricColour to $worn.under_upper.colour>><<set $bird.materials.fabric += 1>><<underupperruined>><</link>> <br> <</if>> <<if $worn.under_lower.name isnot "naked" and $worn.under_lower.cursed isnot 1>> <<clothingicon $worn.under_lower "under_lower">><<link [[$worn.under_lower.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $fabricColour to $worn.under_lower.colour>><<set $bird.materials.fabric += 1>><<underlowerruined undefined "commando">><</link>> <br> <</if>> <<if $worn.over_upper.name isnot "naked" and $worn.over_upper.cursed isnot 1>> <<clothingicon $worn.over_upper "over_upper">><<link [[$worn.over_upper.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $fabricColour to $worn.over_upper.colour>><<set $bird.materials.fabric += 1>><<overupperruined>><</link>> <br> <</if>> <<if $worn.over_lower.name isnot "naked" and $worn.over_lower.cursed isnot 1>> <<clothingicon $worn.over_lower "over_lower">><<link [[$worn.over_lower.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $fabricColour to $worn.over_lower.colour>><<set $bird.materials.fabric += 1>><<overlowerruined>><</link>> <br> <</if>> <<if $worn.over_head.name isnot "naked" and $worn.over_head.cursed isnot 1>> <<clothingicon $worn.over_head "over_head">><<link [[$worn.over_head.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.over_head.colour>><<overheadruined>><</link>> <br> <</if>> <<if $worn.head.name isnot "naked" and $worn.head.cursed isnot 1>> <<clothingicon $worn.head "head">><<link [[$worn.head.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.head.colour>><<headruined>><</link>> <br> <</if>> <<if $worn.face.name isnot "naked" and $worn.face.cursed isnot 1>> <<clothingicon $worn.face "face">><<link [[$worn.face.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.face.colour>><<faceruined>><</link>> <br> <</if>> <<if $worn.neck.name isnot "naked" and $worn.neck.cursed isnot 1>> <<clothingicon $worn.neck "neck">><<link [[$worn.neck.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.neck.colour>><<neckruined>><</link>> <br> <</if>> <<if $worn.hands.name isnot "naked" and $worn.hands.cursed isnot 1>> <<clothingicon $worn.hands "hands">><<link [[$worn.hands.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.hands.colour>><<handsruined>><</link>> <br> <</if>> <<if $worn.handheld.name isnot "naked" and $worn.handheld.cursed isnot 1>> <<clothingicon $worn.handheld "handheld">><<link [[$worn.handheld.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.handheld.colour>><<handheldruined>><</link>> <br> <</if>> <<if $worn.legs.name isnot "naked" and $worn.legs.cursed isnot 1>> <<clothingicon $worn.legs "legs">><<link [[$worn.legs.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.legs.colour>><<legsruined>><</link>> <br> <</if>> <<if $worn.feet.name isnot "naked" and $worn.feet.cursed isnot 1>> <<clothingicon $worn.feet "feet">><<link [[$worn.feet.name.toUpperFirst()|Bird Tower Rope Clothes]]>><<set $bird.materials.fabric += 1>><<set $fabricColour to $worn.feet.colour>><<feetruined>><</link>> <br> <</if>> <br> <</if>> <<if $harpy gte 6>> <!-- Redirects the player to the Perch, where flight can happen. Moved everything to widgets.twee in the "bird_fly_options" widget.--> The wind could carry you a long way, if you had a better jumping point. <span class="blue">The perch might be perfect.</span> <br><br> <<elseif $angel gte 6 or $demon gte 6 or $fallenangel gte 2>> <<if $pain gte 21>> Your wings should carry you down, <span class="purple">but you're too injured for such a risky jump right now.</span> <<else>> Your wings would carry you down, if you had a better jumping point. <span class="blue">The perch might be perfect.</span> <</if>> <br><br> <</if>> <<if $bird.rope lt 7>> <<if $bird.materials.fabric gte 1>> <<if $bird.rope is 0>> <<link [[Make a rope (0:30)|Bird Tower Rope]]>><<set $bird.materials.fabric -= 1>><<set $bird.rope += 1>><<bird_pass 30>><</link>> <br> <<else>> <<link [[Make a rope (0:30)|Bird Tower Rope Add]]>><<set $bird.materials.fabric -= 1>><<bird_pass 30>><<set $bird.rope += 1>><</link>> <br> <</if>> <<else>> <span class="grey">More fabric is required to build a rope.</span> <br> <</if>> <<else>> <<link [[Escape (0:05)|Bird Tower Rope Escape]]>><<bird_pass 5>><</link>> <br> <</if>> <<link [[Step away|Bird Tower]]>><</link>> <br><<effects>> <<set $fabricColour to $fabricColour is 0 ? "white" : $fabricColour>> <<wearProp "rag" $fabricColour>> You tear off your clothing, giving yourself more raw material to work with. <<if $exposed gte 1>> You shiver in the breeze. <</if>> <<covered>> <br><br> <<link [[Next|Bird Tower Look]]>><<run delete $fabricColour>><<handheldon>><</link>> <br><<effects>> <<wearProp "fabric rope" "white">> You tear and tie together fabric and other materials, creating the beginnings of a rope. You'll need more material to make it down. <br><br> <<link [[Next|Bird Tower]]>><</link>> <br><<effects>><<wearProp "fabric rope" "white">> You tear and tie together fabric and other materials, adding to your rope. <<if $bird.rope gte 7>> <span class="green">It should reach the bottom.</span> <<elseif $bird.rope gte 6>> <span class="teal">It's almost long enough.</span> <<elseif $bird.rope gte 4>> <span class="lblue">It should reach half the way down.</span> <<else>> <span class="blue">There's a long way to go.</span> <</if>> <br><br> <<link [[Next|Bird Tower]]>><<handheldon>><</link>> <br><<effects>><<wearProp "rope climb" 0 "fabric">> You tie one end of your rope around a chunk of upward-pointing stone, and throw the other off the edge. It almost reaches the bottom. It's enough. <br><br> <<if $syndromebird isnot 1>> <<set $bird.rope to 1>> <<set $birdescaped = ($birdescaped || 0) + 1>> <</if>> <<if $bird.state is "home" and $syndromebird isnot 1>> <<npc "Great Hawk">> You glance at the <<beasttype>>. <<bHe>> is not paying attention. You take the rope in both hands, turn around, and ease yourself down the tower wall. <br><br> You drop the last few feet, landing in the castle courtyard. <<if $bird.activity isnot "sleep">> <<set $moor_hunt to 9>> <span class="red"> You hear a terrible shriek.</span> It didn't take long for the <<beasttype>> to notice your escape. <<elseif $bird.activity is "sleep" and $rng lte 70>> <<set $moor_hunt to 9>> <span class="red"> You hear a terrible shriek.</span> It didn't take long for the <<beasttype>> to notice your escape. <</if>> <br><br> <<else>> You take the rope in both hands, turn around, and ease yourself down the tower wall. You drop the last few feet, landing in the castle courtyard. <br><br> <</if>> <<link [[Next|Castle]]>><<endevent>><<set $moor to 100>><</link>> <br><<effects>> You start to walk closer to the edge. You can't help but be amazed at the view from this height. <<if $willpowerSuccess>> <<set $birdGlide to 1>> <span class="green">You continue, despite the pit forming in your stomach.</span><<gwillpower>><<willpower 1>> <br><br> <<link [[Glide down|Bird Tower Glide]]>><<endevent>><</link>><<flight_text>> <<else>> <<set $daily.glideScared to true>> <span class="red">You stop, and back away from the edge in fear.</span> It's probably not a good idea to get too close. <br> <</if>> <br> <<link [[Back away|Bird Tower Perch]]>><<endevent>><</link>><<effects>> <<if $bird.activity is "sing" and $bird.state is "home">> <<npc "Great Hawk">> <<if $monster is 1>> "Please return soon, <<wife>>," <<bhe>> says as you approach the edge of the perch. "I love you." <<else>> <<bHe>> squawks at you as you approach the edge of the perch, beckoning you to return soon. <</if>> <<endevent>> <</if>> You jump, falling several feet before the wind catches you. You gently drift down, landing in the ruined courtyard. <br><br> <<if $bird.state is "home" and $syndromebird isnot 1>> <<set $birdescaped = ($birdescaped || 0) + 1>> <<npc "Great Hawk">> <span class="red">You hear a terrible shriek.</span> It didn't take long for the <<beasttype>> to notice your flight. <br><br> <<set $moor_hunt to 9>> <<endevent>> <</if>> <<link [[Next|Castle]]>><<set $moor to 100>><</link>> <br><<effects>> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<npc "Great Hawk">> <<if $monster is 1>> <<if playerIsPregnant() and playerBellySize() gte 12>> "Must <<wife>> leave when so vulnerable?" <<bHe>> shoots a concerning glance at your <<bellyDescription>>. "Please return safe," <<bhe>> says as you approach the edge of the perch. "I love you." <<else>> <<if Weather.precipitation is "rain">>"Beware the angry skies<<else>>"Please return soon<</if>>, <<wife>>," <<bhe>> says as you approach the edge of the perch. "I love you." <</if>> <<else>> <<bHe>> squawks at you as you approach the edge of the perch, beckoning you to return soon. <</if>> <<endevent>> <</if>> You leap from the tower, letting the wind catch you. You swoop to the ruined courtyard. <br><br> <<link [[Next|Castle]]>><<set $moor to 100>><</link>> <br><<effects>><<flight_effects>> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<npc "Great Hawk">> <<if $monster is 1>> <<if Weather.precipitation is "rain">>"Beware the angry skies<<else>>"Please return soon<</if>>, <<wife>>," <<bhe>> says as you approach the edge of the perch. "I love you." <<else>> <<bHe>> squawks at you as you approach the edge of the perch, beckoning you to return soon. <</if>> <<endevent>> <</if>> You leap from the tower. A strong current catches you, and you begin to glide. The wind bears you over the moor. The journey takes some time, leaving you alone with your thoughts as you soar through the sky. <br><br> The wind does most of the work, but your wings still tire as you arrive at the farmlands. <<physique 1>><<athletics 2>> <br><br> <<unset $moor_hunt>> <<link [[Next|Farmland]]>><<set $moor to 0>><</link>> <br><<effects>><<flight_effects>> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<npc "Great Hawk">> <<if $monster is 1>> <<if Weather.precipitation is "rain">>"Beware the angry skies<<else>>"Please return soon<</if>>, <<wife>>," <<bhe>> says as you approach the edge of the perch. "I love you." <<else>> <<bHe>> squawks at you as you approach the edge of the perch, beckoning you to return soon. <</if>> <<endevent>> <</if>> You leap from the tower. A strong current catches you, and you begin to glide. The wind bears you over the moor. The journey takes some time, leaving you alone with your thoughts as you soar through the sky. <br><br> The wind does most of the work, but your wings still tire as you soar over the rooftops. You land in the park. You don't think anyone saw you. <<physique 1>><<athletics 2>> <br><br> <<unset $moor_hunt>> <<link [[Next|Park]]>><<set $moor to 0>><</link>> <br><<effects>><<flight_effects>> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<npc "Great Hawk">> <<if $monster is 1>> <<if Weather.precipitation is "rain">>"Beware the angry skies<<else>>"Please return soon<</if>>, <<wife>>," <<bhe>> says as you approach the edge of the perch. "I love you." <<else>> <<bHe>> squawks at you as you approach the edge of the perch, beckoning you to return soon. <</if>> <<endevent>> <</if>> You leap from the tower. A strong current catches you, and you begin to glide. The wind bears you over the moor. The journey takes some time, leaving you alone with your thoughts as you soar through the sky. <br><br> The wind does most of the work, but your wings still tire as you soar over the treetops. You land in a clearing. <<physique 1>><<athletics 2>> <br><br> <<unset $moor_hunt>> <<link [[Next|Forest]]>><<set $forest to 50>><<set $forestmove to 0>><<set $moor to 0>><</link>> <br><<setTowerTemp>><<effects>> You kneel beside the trap door. The wood is ancient, but dry and preserved. You pull the door, but the lock proves firm. You peer inside the mechanism, and see a mess of rust. You won't be able to pick it. <br><br> <<link [[Next|Bird Tower]]>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "lurker">><<canvas-model-override "mouth" "chew">> <<if $syndromebird gte 1>> You devour the lurker, tearing out chunks of chewy matter with your teeth. <<if $monster is 1>><<bHe>> smiles at you.<<else>>The <<beasttype>> looks satisfied.<</if>> <<else>> You close your eyes as you take a bite, and pretend you're eating something more palatable. It's chewy, but doesn't taste of much at all. <</if>> It fills you with a strange warmth. <<eatLurker>><<drugs 120>><<ggdrugged>> <br><br> <i><<bHe>> will be more likely to bring you lurkers in the future, rather than other items.</i> <br><br> <<if $harpy gte 6 and $bird.hunts.unlocked is true and $bird.hunts.lurkers is false>> <<set $bird.hunts.lurkers to true>> <span class="blue">Feasting on the lurker felt good. You have the urge to catch one yourself.</span> <span class="gold">You can now hunt for lurkers on your own.</span> <br><br> <</if>> <<link [[Next|Bird Tower]]>><<canvas-model-override "clear">><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $speech_attitude is "meek">> "I-I'm sure it's very nice," you say. "But I can't eat this." <<elseif $speech_attitude is "bratty">> "This food is unfit for a <<= $player.gender is "f" ? "lady like myself" : $player.gender is "m" ? "gentleman like myself" : "person of my stature">>," you say, lifting the lurker and flinging it at a wall. <<else>> "I can't eat this," you say, raising your voice. You kick the lurker away for good measure. <</if>> <br><br> <<if $monster is 1>> <<bHis>> wings hang limp as <<bhe>> frowns. "I'm sorry, <<wife>>. Will find better meat next hunt." <<bHe>> lifts the lurker, and walks away with it. <<else>> The <<beasttype>>'s feathers lie flat. <<bHe>> lifts the lurker, and hops away with it. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> less likely to bring you lurkers in the future. <<bHe>> will bring other items instead.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You remain still. <<if $monster is 1>> <<bHis>> feathers lie flat as <<bhis>> wings hang limp. "Will find better meat next hunt." <<bHe>> lifts the lurker, and walks away with it. <<else>> The <<beasttype>>'s feathers lie flat. <<bhe>> lifts the lurker, and hops away with it. <</if>> <br><br> <i><<bHe>> will be less likely to bring you lurkers in the future.</i> <br><br> <<if $harpy gte 6 and $bird.hunts.unlocked is true and $bird.hunts.lurkers is false>> <<set $bird.hunts.lurkers to true>> <span class="blue">You have the urge to catch one yourself.</span> <span class="gold">You can now hunt for lurkers on your own.</span> <br><br> <</if>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <!-- Unreachable. Didn't want to allow players to horde lurkers by just sleeping at the tower forever. May change later. --> You hang the lurker on the rack for later. <br><br> <i><<bHe>> will be more likely to bring you lurkers in the future, rather than other items.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $speech_attitude is "meek">> "Th-thank you," you say, lifting the rubbish. "It's a treasure." <<elseif $speech_attitude is "bratty">> "Nice and shiny," you say, lifting the rubbish. "Thanks, featherhead." <<else>> "Thank you," you say, lifting the rubbish. <</if>> <<if $syndromebird gte 1>> You add it to the pile of valuables.<<set $bird.materials.junk++>> <</if>> <br><br> The <<beasttype>> puffs <<bhis>> plumes, and <<if $monster is 1>>walks<<else>>hops<</if>> away. <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to bring you rubbish in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $speech_attitude is "meek">> "It's very pretty," you say. "But could you bring me something useful next time?" <<elseif $speech_attitude is "bratty">> "What am I supposed to do with this?" you say, chucking the rubbish from the tower. "Bring me something useful next time." <<else>> "This is just rubbish," you say. "Bring me something useful next time." <</if>> <br><br> <<if $monster is 1>> <<bHis>> wings hang limp as <<bhe>> frowns. "I'm sorry. Value of landbound trinkets is hard to understand. Will bring something more shiny next time." <<else>> The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> less likely to bring you rubbish in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $monster is 1>> <<bHis>> wings hang limp. "Will bring something more shiny to impress you. Next time." <<else>> The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <i><<bHe>> will be less likely to bring you rubbish in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You lift the watch. <<if $rng gte 81>> The precious metals alone look valuable. Someone comfortable with stolen goods might buy it.<<set $blackmoney += 200>> <<elseif $rng gte 61>> It looks well-made. Someone comfortable with stolen goods might buy it.<<set $blackmoney += 100>> <<elseif $rng gte 41>> It's made by a well-known company. Someone comfortable with stolen goods might buy it.<<set $blackmoney += 50>> <<elseif $rng gte 21>> It's still working, but doesn't look expensive. It probably isn't worth anything. <<else>> It's old and broken, and probably isn't worth anything. <</if>> <br><br> <<if $monster is 1>> "Sound it makes is pleasing, just like <<wife>>," <<bhe>> coos. <<else>> The <<beasttype>> puffs <<bhis>> plumes, and hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to steal things for you in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<wearProp "ring">> You lift the ring. <<if $rng gte 81>> It looks like gold, and could be quite valuable to a fence.<<set $blackmoney += 300>> <<elseif $rng gte 61>> It looks like platinum. It could be worth something to a fence.<<set $blackmoney += 200>> <<elseif $rng gte 41>> It looks like it's made of a gold alloy, and studded with jewels. It could be worth something to a fence.<<set $blackmoney += 150>> <<elseif $rng gte 21>> It looks like silver, and could be worth something to a fence.<<set $blackmoney += 50>> <<else>> It looks like steel. You don't think it'll be worth enough for a fence to bother with it. <</if>> <br><br> <<if $monster is 1>> "Wingless give rings to mates, yes? I will find all rings and build a nest of them for you," <<bhe>> says, giving you a peck on the cheek before walking away. <<else>> The <<beasttype>> puffs <<bhis>> plumes, and hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to steal things for you in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You lift the necklace. <<if $rng gte 81>> <<wearProp "necklace" "steel">> It's an exquisite piece, and made by an expensive brand. It would be worth something to a fence.<<set $blackmoney += 300>> <<elseif $rng gte 61>> <<wearProp "necklace" "rose gold">> It looks like rose gold, and might be worth something to a fence.<<set $blackmoney += 200>> <<elseif $rng gte 41>> <<wearProp "necklace" "silver">> It looks like silver, and might be worth something to a fence.<<set $blackmoney += 50>> <<elseif $rng gte 21>> <<wearProp "necklace" "gold">> It's gold plated, and might be worth a little to a fence.<<set $blackmoney += 20>> <<else>> <<wearProp "necklace" "bronze">> It's made of copper, and probably not worth enough for a fence to bother with it. <</if>> <br><br> <<if $monster is 1>> "Shiny catches eye easily, just like <<wife>>," <<bhe>> says, staring at you a moment, before walking away. <<else>> The <<beasttype>> puffs <<bhis>> plumes, and hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to steal things for you in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $phase is "wallet">> <<wearProp "wallet" 0 "empty">> You turn the wallet upside down. <<elseif $phase is "purse">> <<wearProp "stolen purse">> You turn the purse upside down. <<else>> You turn the container upside down. <</if>> <<if $rng gte 81>> <<wearProp "cash" 0 "four">> <<moneyGain 200 true false>> in cash falls out. <<elseif $rng gte 61>> <<wearProp "keycard" "silver">> A credit card falls out. It might be worth something to a fence.<<set $blackmoney += 120>> <<elseif $rng gte 41>> <<wearProp "cash" 0 "three">> <<moneyGain 80 true false>> in cash falls out. <<elseif $rng gte 21>> <<wearProp "cash" 0 "two">> <<moneyGain 40 true false>> in cash falls out. <<else>> It's empty. <</if>> <br><br> <<if $monster is 1>> "Wingless always have these, and show them to impress others, yes? I hope <<wife>> is impressed," <<bhe>> says, puffing out <<bhis>> plume. <<else>> The <<beasttype>> puffs <<bhis>> plumes, and hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to steal things for you in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $speech_attitude is "meek">> "I-is it stolen?" you ask. "You shouldn't steal!" <<elseif $speech_attitude is "bratty">> "I'm not accepting stolen goods," you say, kicking it away. "Bring me something practical." <<else>> "I won't accept stolen goods," you say. <</if>> <br><br> <<if $monster is 1>> "Stolen? Don't know what stolen is, but I'm sorry I upset <<wife>>." <<bHe>> looks down in shame, and walks away. <<else>> The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> less likely to bring you stolen goods in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $monster is 1>> "<<Wife>> doesn't want landbound treasures?" <<bHe>> cocks <<bhis>> head to the side in thought before walking away. <<else>> You don't move. The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <i><<bHe>> will be less likely to bring you stolen goods in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<switch $bird_food>> <<case "pasty">> <<wearProp "pasty">> You devour the pasty with gusto. It leaves a warm feeling. <<hunger -400>> <<case "donut">> <<wearProp "donut">> You devour the donut, enjoying such a sweet treat. <<hunger -300>> <<case "nuts">> <<wearProp "nuts">> You tear open the packet, and begin munching nuts. They're soon gone. <<hunger -600>> <<case "crisps">> <<wearProp "crisps">> You tear open the packet, and shovel crisps into your mouth. They're soon gone. <<hunger -200>> <<case "chocolate">> <<wearProp "chocolate bar">> You tear open the wrapper, and take a bite of chocolate. It melts in your mouth. You savour the sweetness. <<hunger -1000>> <<case "apple">> <<wearProp "apple">><<canvas-model-override "mouth" "chew">> You bite into the crisp apple. It's juicy. <<hunger -100>> <<case "carrot">> <<wearProp "carrot">> <<canvas-model-override "mouth" "chew">> You bite into the crisp carrot. It's crunchy. <<hunger -100>> <<case "beans">> <<wearProp "food tin" 0 "beans">> You bash the tin against the wall, and pry it the rest of the way using a spike of ruined masonry. The beans would be nicer warm, but they fill you all the same. <<hunger -400>> <<case "tuna">> <<wearProp "food tin" 0 "tuna">> You bash the tin against the wall, and pry it the rest of the way using a spike of ruined masonry. The tuna is tasty, if salty. <<hunger -200>> <<default>> <<wearProp "food tin" 0 "custard">> You bash the tin against the wall, and pry it the rest of the way using a spike of ruined masonry. Cold custard on its own isn't the best treat, but you enjoy the sweetness. <<hunger -400>> <</switch>> <br><br> <<unset $bird_food>> <<if $monster is 1>> <<bHe>> watches you eat, and smiles at you. <<else>> The <<beasttype>> watches you eat. <<bHe>> seems satisfied. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to bring you human food in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<canvas-model-override "clear">><<endevent>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "milkshake">> You carefully drink the milkshake from the damaged cup. It's incredibly sweet. <<bHe>> must have swiped it right after it was made. <<hunger -200>><<stress -12>><<llstress>><<unset $bird_food>> <br><br> <<if $monster is 1>> <<bHe>> watches you drink, and smiles at you. <<else>> The <<beasttype>> watches you drink. <<bHe>> seems satisfied. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to bring you human food in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $speech_attitude is "meek">> "I-I'm not hungry," you say. <<elseif $speech_attitude is "bratty">> "I'm not hungry," you say, kicking the food away. <<else>> "I'm not hungry," you say. <</if>> <br><br> <<unset $bird_food>> <<if $monster is 1>> <<bHe>> frowns. "Will find better food next hunt. Maybe eat same thing as me?" <<bHe>> looks at you hopefully before walking away. <<else>> The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> less likely to bring you food in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You don't move. <<if $monster is 1>> "No hunger? <<Wife>> should eat to stay strong." <<bHe>> looks at you ponderously before walking away. <<else>> The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <<unset $bird_food>> <i><<bHe>> will be less likely to bring you food in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You wear the new item. <<if $monster is 1>> "<<Wife>> always looks pleasing." <<bHe>> gives you a peck on the cheek before walking away. <<else>> The <<beasttype>> puffs <<bhis>> plumes, and hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to bring you clothes and fabric in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You thank the <<beasttype>>. You won't wear it, but the material might be useful. <<if $syndromebird gte 1>> <<set $bird.materials.fabric++>> <</if>> <br><br> <<if $monster is 1>> "Wingless plumes feel nice, I hope it brings you comfort." <<bHe>> outstretches <<bhis>> wings before walking away. <<else>> The <<beasttype>> puffs <<bhis>> plumes, and hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to bring you clothes and fabric in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $speech_attitude is "meek">> "Th-this doesn't suit me," you say. <<elseif $speech_attitude is "bratty">> "You've no fashion sense," you say, kicking the garment away. <<else>> "I'm not wearing this," you say. <</if>> <<if $monster is 1>> "Sorry, <<wife>>, should have known you would prefer own plumage." <<bHe>> slinks away. <<else>> The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> less likely to bring you clothes and fabric in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You don't move. <<if $monster is 1>> "Pretty things don't impress <<wife>>?" <<bHe>> looks dejected for a moment, and walks away. <<else>> The <<beasttype>>'s feathers lie flat, and <<bhe>> hops away. <</if>> <br><br> <<unset $bird_food>> <i><<bHe>> will be less likely to bring you clothes and fabric in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You put it in the wardrobe. <<if $monster is 1>> "<<Wife>>'s collection of plumage grows, but <<wife>> always looks pleasing." <<bHe>> gives you a peck on the cheek before walking away. <<else>> The <<beasttype>> puffs <<bhis>> plumes, and hops away. <</if>> <br><br> <i><<bHe>> will be <span class="blue">much</span> more likely to bring you clothes and fabric in the future.</i> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $syndromebird is 1 or $harpy gte 6>> You lie in the nest<<if ["sleep", "rest", "brood"].includes($bird.activity) and $bird.state is "home">><<npc "Great Hawk">><<set $bedGuest to "Great Hawk">> with <<if $syndromebird is 1>>your<<else>>the<</if>> <<beasttype>><</if>>. <<else>> You lie in the nest. <</if>> <<switch $bird.upgrades.nest>> <<case 0>>It's hard to get comfortable. <<case 1>>The fabric provides a little comfort. <<case 2>>It's comfortable enough. <<case 3>>You melt into its softness and warmth. <</switch>> <<set _eggCount to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if _eggCount>> <<Number _eggCount>> egg<<print _eggCount !== 1 ? "s are" : " is">> protected in the nest. You bring <<if _eggCount gte 2>>them<<else>>it<</if>> close for safekeeping. <</if>> <<endevent>> <<if $wraith.state and $wraithPrison and $bird.upgrades.mirror is 1 and ($moonstate is "evening" or $moonstate is _nightstate)>> You feel anxious, and your eyes dart over to the mirror. <</if>> <br><br> <<if $syndromebird is 1 and $bird.activity is "sleep" and $bird.state is "home" and !$bird.satisfied>> <<link [[Rub lewdly|Bird Tower Nest Rub]]>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom -1>><<set $phase to 1>><</link>><<glove>><<npc "Great Hawk">><<person1>><<ldom>><<endevent>><<deviant1>> <br> <<if hasSexStat("deviancy", 4)>> <<link [[Wake for sex|Bird Tower Nest Rub]]>><<transform bird 1>><<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom 1>><<set $phase to 2>><</link>><<gglove>><<gdom>><<deviant4>> <br> <</if>> <br> <</if>> <<endevent>> <<nightmareCheck "Bird Tower Sleep">> <<generateSleepLinks "Bird Tower Sleep">> <<link [[Climb out of bed|Bird Tower]]>><<loadTempHairStyle>><<unset $bedGuest>><</link>> <br><br><<setTowerTemp>><<effects>> You lie in a covered corner of the tower. It's hard to get comfortable. <<endevent>> <<set $bedGuest to "alone">> <br><br> <<nightmareCheck "Bird Tower Sleep">> <<generateSleepLinks "Bird Tower Sleep Alone">> <<link [[Climb out of bed|Bird Tower]]>><<loadTempHairStyle>><<unset $bedGuest>><</link>> <br><br><<setTowerTemp>><<effects>> You sit by the rainwater pool. <<if $bird.upgrades.decor gte 4>> The water sparkles with the many reflections of your shiny trophies. <<elseif $bird.upgrades.decor gte 3>> The water glimmers with the reflections of your trophies. <</if>> <<if $bird.upgrades.pot is 3 and getBirdBurnTime() gt 0>> The water is being heated. <</if>> <<npc "Great Hawk">> <<if $bird.state is "home">> <<switch $bird.activity>> <<case "sing">> <<your_bird_text "cap">> is singing at the edge of the tower. <<case "bathe">> <<print either( "<<your_bird_text 'cap'>> playfully splashes at you.", "<<your_bird_text 'cap'>> beckons for you to join <<bhim>>.", "<<your_bird_text 'cap'>> continues bathing.", "<<your_bird_text 'cap'>> shakes <<bhis>> wings off, flinging some water your way.", )>> <<case "groom">> <<your_bird_text "cap">> sits on <<bhis>> perch, cleaning <<bhis>> feathers. <<case "rest">> <<your_bird_text "cap">> rests in the nest. <<case "build">> <<if $birdShelterRepair>> <<unset $birdShelterRepair>> <span class="teal"><<your_bird_text "cap">> is covering the holes in the roof with leaves and twigs.</span> <<else>> <<your_bird_text "cap">> is adding to the nest. <</if>> <<case "brood">> <<set _eggCountNest to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<your_bird_text "cap">> sits in the nest, brooding on the egg<<if _eggCountNest gte 2>>s<</if>>. <<default>> <<your_bird_text "cap">> rests in <<bhis>> nest. <<set $birdSleep to 1>> <</switch>> <<else>> <<your_bird_text "cap">> is out hunting. <</if>> <<if $syndromebird is 1>> <<storeon "birdtower" "check">> <<if _store_check is 1>> Your clothes sit atop a slab of stone. <<else>> There's a slab of stone nearby that you could keep your clothes on. <</if>> <br> <<storeactions "birdtower">> <<if Object.keys(_stripOptions).length is 0 and _temp_clothes_present isnot 1 >><br><</if>> <<else>> <br><br> <</if>> <<endevent>> <<if $bird.activity is "bathe" and $bird.state is "home">> <<skinicon "wash">><<link [[Wash (0:30)|Bird Tower Bathe Bird]]>><<bird_pass 30>><</link>> <br> <<if $daily.birdWash is undefined>> <<if $syndromebird gte 1>> <<birdicon "preen">><<link [[Preen your spouse (0:15)|Bird Tower Bathe Preen]]>><<npcincr "Great Hawk" love 1>><<bird_pass 15>><</link>><<glove>><<deviant1>> <br> <<else>> <<birdicon "preen">><<link [[Help the Great Hawk preen (0:15)|Bird Tower Bathe Preen]]>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><<bird_pass 15>><</link>><<glove>><<gbirdstockholm>><<deviant1>> <br> <</if>> <</if>> <<else>> <<skinicon "wash">><<link [[Wash (0:30)|Bird Tower Bathe]]>><<bird_pass 30>><</link>> <br> <<if $bird.upgrades.pot is 3 and getBirdBurnTime() gt 0>> <<skinicon "masturbate">><<link [[Masturbate in the rainwater pool|Bird Tower Masturbation]]>><<set $masturbationstart to 1>><<strip>><</link>> <br> <</if>> <</if>> <<getouticon>><<link [[Get up|Bird Tower]]>><</link>> <br><<set _autosavehere to true>> <<sleep>> <<setTowerTemp>><<effects>> <<if $wraith.nightmare is 2 and Time.isBloodMoon()>> <<sleepeffects>> You dream of a beautiful figure, cloaked in white, standing under the red moon. It has its arms spread out to you in a welcoming gesture. You can feel its gaze boring into your mind as you step closer. <br><br> It's surrounded by trees, all bending inwards, and floating above a lake. Everything moves around you, and you find yourself hanging above a large ruin. You can't breathe. <br><br> You slowly open your eyes, and sluggishly stand from the bed.<<if $bird.activity is "sleep">> You make sure not to wake the Great Hawk.<</if>> Your ears are ringing. <br><br> <<wraithPossess "tower">> <span class="nextLink"><<link [[Walk.|Bird Tower]]>><<rainWraith>><</link>></span> <br> <<else>> <<wakingEffects $sleepHoursTotal>> <<if ["dryheaving","nausea"].includes(_wakingEffect)>> <br><br> You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if ($specialClothesEffects.bimbo.total gte random(100,1000) || $specialClothesEffects.pimp.total gte random(100,1000)) or $arousal gte ($arousalmax / 10) * 9>> <<wetDream>> <<elseif !_wakingEffect>> You sleep soundly. <br><br> <<else>> <br><br> <</if>> <</if>> <<sleepeffects>> <<if $bird.state is "home" and birdEggsReady("Great Hawk")>> <<birdEggLayEvent "sleep">> <<elseif _eggLayingWake is true>> <<npc "Great Hawk">> <<set _eggnant to getPregnancyObject()>> <<if playerIsPregnant() and _eggnant.type is "hawk">> <<set $eggLayNumber to _eggnant.fetus.length>> <<else>> <<set $eggLayNumber to $harpyEggs.count>> <</if>> You awaken feeling disoriented, and feel a building pressure in your abdomen. A bestial instinct washes over you. You <<if $harpy gte 6 and V.transformationParts.bird.plumage isnot "hidden">>ruffle your feathers and <</if>>get on your hands and knees. <br><br> <<if $bird.state is "hunting">> <<set $bird.state to "home">><<set $bird.timer to 60>> <<your_bird_text "cap">> lands back on the perch and rushes over to you. <<else>> <<your_bird_text "cap">> notices you stir. <</if>> <<if $monster is 1>> <<bHis>> eyes go wide for a moment, and <<bhe>> rushes to your side. "<<Wife>>'s eggs are coming!" <<bHe>> gently places a hand over your belly. <<else>> <<bHe>> quickly hops to your side and starts gently prodding your belly with <<bhis>> beak. <</if>> <br><br> <<link "Let <<bhim>> help" "Bird Tower Player Egg Laying">><<set $phase to 0>><<npcincr "Great Hawk" love 3>><<bird_stockholm 3>><</link>><<gglove>><<ggbirdstockholm>> <br> <<link "Push <<bhim>> away" "Bird Tower Player Egg Laying">><<set $phase to 1>><<npcincr "Great Hawk" love -1>><<bird_stockholm -1>><</link>><<llove>><<lbirdstockholm>> <br> <<elseif $bird.syndrome gte 15 and $syndromebird isnot 1>> <<npc "Great Hawk">> You awaken, warm and comfy. The <<beasttype>> lays beside you, eyes closed, shielding you from the elements with <<bhis>> wing. <<bHis>> presence makes you feel safe and comfortable. <br><br> You keep looking at <<bhim>>. You can't help but think to yourself how cute <<bhe>> looks when sleeping. You press your body against <<bhim>>. <<bHis>> feathery plumage feels very soft. <<bHe>> keeps <<bhis>> eyes closed while gently pushing back into you. You cuddle with <<bhim>> for some time. <<if $monster is 1>> "<<Wife>>... So nice..." <<bhe>> mumbles. <<else>> <<bHe>> makes soft, happy sounds. <</if>> <br><br> Eventually, you pull away from <<bhim>>. The idea of staying with the <<beasttype>> no longer seems so bad to you, despite the rough start. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <br><br> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and playerIsPregnant() and getPregnancyObject().fetus[0].type is "hawk" and playerBellyVisible() and !talkedAboutPregnancy("pc","Great Hawk")>> <<setKnowsAboutPregnancy "pc" "Great Hawk">><<setTalkedAboutPregnancy "pc" "Great Hawk">> <<npc "Great Hawk">> You awaken to a light pressure on your belly. <<if $monster is 1>> <<your_bird_text "cap">> has <<bhis>> hands wrapped around you, stroking your tummy. "<<Wife>> has eggs!" <<else>> <<your_bird_text "cap">> lightly headbutts you. <<bHe>> caws proudly, poking at your tummy. <<bHe>> seems to know that you're pregnant. <</if>> <br><br> <<set _eggCount to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if _eggCount gte 1>> <<bHe>> starts to fuss over the nest, making room for more eggs. <<else>> <<bHe>> starts to fuss over the nest, <<switch $bird.upgrades.nest>> <<case 2>>folding some of the fabric to make a cozy spot for eggs. <<case 3>>moving some of the pillows to make a cozy spot for eggs. <<default>>moving twigs and sticks around to make a small pit for eggs. <</switch>> <</if>> <<if $bird.eggIntro is undefined>> <<set $bird.eggIntro to 1>> <<if $monster is 1>> "<<Wife>> will need to learn to care for eggs soon." <</if>> <</if>> <<set $bird.override to "build">> <<set $bird.overrideTimer to 120>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and npcIsPregnant("Great Hawk") and npcBellyVisible("Great Hawk") and !talkedAboutPregnancy("Great Hawk","pc")>> <<setKnowsAboutPregnancy "Great Hawk" "pc">><<setTalkedAboutPregnancy "Great Hawk" "pc">> <<npc "Great Hawk">> You awaken to see <<your_bird_text>> fussing over the nest. <<set _eggCount to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if _eggCount gte 1>> <<bHe>> seems to be making room for something. <<else>> <<switch $bird.upgrades.nest>> <<case 2>><<bHes>> folding some of the fabric. <<case 3>><<bHes>> moving some of the pillows. <<default>><<bHes>> moving twigs and sticks around to make a small pit. <</switch>> <</if>> <br><br> <<bHe>> brightens as <<bhe>> notices you watching. <<if $monster is 1>> "<<Wife>>! I will have eggs soon," <<bhe>> declares happily. <<bHe>> places <<bhis>> hands on <<bhis>> tummy. "Feels bigger than normal eggs already." You look closer, <span class="lewd">and you can see the beginnings of a baby bump</span>. <<bHe>> returns to <<bhis>> spot, extending the nest a bit more and settling in the gap, satisfied. <<else>> <<bHe>> turns aside and brushes <<bhis>> midsection with a wing. You notice a small bump starting to form. <span class="lewd"><<bHe>> has eggs.</span> <<bHe>> returns to <<bhis>> spot, extending the nest a bit more and settling in the gap, satisfied. <</if>> <<if $bird.eggIntro is undefined>> <<set $bird.eggIntro to 1>> <<if $monster is 1>> "<<Wife>> will need to learn to care for eggs soon." <</if>> <</if>> <<set $bird.override to "rest">> <<set $bird.overrideTimer to 120>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<elseif _sleepinterrupt>> <<if $bird.state is "hunting">> <<npc "Great Hawk">> <<if $monster is 1>> You slowly wake, hearing the harpy's voice. "<<Wife>>?" <br><br> <<else>> You're nudged awake by the <<beasttype>>. <</if>> <<bird_hunt_return>> <<else>> <<npc "Great Hawk">> <<if $monster is 1>> You feel the warmth of a massive pair of wings closing around you. The <<beasttype>> embraces you. <<else>> Wings flap on either side as the <<beasttype>> tries to mount you. <</if>> <br><br> <<link [[Let it happen|Bird Tower Sleep Sex]]>><<set $sexstart to 1>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom 1>><<bird_stockholm 1>><</link>><<deviant1>><<gbirdstockholm>><<glove>><<gdom>> <br> <<link [[Push away|Bird Tower Sleep Push]]>><<npcincr "Great Hawk" dom -1>><<def 1>><</link>><<ldom>> <br> <</if>> <<else>> <br><br> <<link [[Climb from the nest|Bird Tower]]>><</link>> <br> <</if>> <</if>><<set _autosavehere to true>> <<sleep>> <<setTowerTemp>><<effects>> <<if $wraith.nightmare is 2 and Time.isBloodMoon()>> <<sleepeffects>> You dream of a beautiful figure, cloaked in white, standing under the red moon. It has its arms spread out to you in a welcoming gesture. You can feel its gaze boring into your mind as you step closer. <br><br> It's surrounded by trees, all bending inwards, and floating above a lake. Everything moves around you, and you find yourself hanging above a large ruin. You can't breathe. <br><br> You slowly open your eyes, and sluggishly stand from the bed.<<if $bird.activity is "sleep">> You make sure not to wake the Great Hawk.<</if>> Your ears are ringing. <br><br> <<wraithPossess "tower">> <span class="nextLink"><<link [[Walk.|Bird Tower]]>><<rainWraith>><</link>></span> <br> <<else>> <<if $nightmares gte 1 and $controlled is 0>> You dream you are being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if ($specialClothesEffects.bimbo.total gte random(100,1000) || $specialClothesEffects.pimp.total gte random(100,1000)) or $arousal gte ($arousalmax / 10) * 9>> <<wetDream>> <<else>> You sleep as soundly as you can on a stone floor. <</if>> <</if>> <<sleepeffects>> <<if _sleepinterrupt>> <<if $bird.state is "hunting">> <<npc "Great Hawk">> <<if $monster is 1>> You slowly wake, hearing the harpy's voice. "<<Wife>>?" <br><br> <<else>> You're nudged awake by the <<beasttype>>. <</if>> <<bird_hunt_return>> <<else>> <br><br> <<link [[Get up|Bird Tower]]>><</link>> <br><br> <</if>> <<else>> <br><br> <<link [[Get up|Bird Tower]]>><</link>> <br><br> <</if>> <</if>><<setTowerTemp>><<effects>><<npc "Great Hawk">> You slowly run your hands down the <<beasttypes>> feathers, towards <<bhis>> <<nnpc_genitals "Great Hawk">>. <<bHis>> eyes flutter open as you begin to rub. <<if $phase is 1>> <<deviancy1>> <<if $monster is 1>>"<<Wife>> doesn't need to do this for me," <<bhe>> says as <<bhe>> rubs the tiredness from <<bhis>> eyes. "But I can't say no."<</if>> <<else>> <<if $speech_attitude is "meek">> You face your <<bottom>> towards <<bhim>> and give it a shake, looking over your shoulder at <<bhim>> with pleading eyes. <<elseif $speech_attitude is "bratty">> You throw one leg over <<bhim>>, giving <<bhim>> little choice. <<else>> You sit up and spread your legs, gesturing towards your <<genitals>> with a smile. <</if>> <<deviancy4>> <<if $monster is 1>> "<<Wife>> is ready to mate?" <<bHis>> eyes light up. "Anything for you." <<else>> Wings flap on either side as the <<beasttype>> tries to mount you. <</if>> <</if>> <br><br> <<link [[Next|Bird Tower Sleep Sex]]>><<set $sexstart to 1>><<transform bird 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $enemytrust += 200>> <<set $enemyhealthmax to 600>> <<set $enemyhealth to 600>> <<if $monster isnot 1>> <<set $position to "doggy">> <<set $NPCList[0].stance to "top">> <</if>> <<if $phase is 1>> <<npchand>> <<elseif $phase is 2>> <<npc_attempt_sex>> <<else>> <<deviancy1>> <</if>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Tower Sleep Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Tower Sleep Sex]]>><</link>></span><<nexttext>> <</if>><<setTowerTemp>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<set $bird.satisfied to true>> <<if $monster is 1>>"Will love <<wife>> forever." <</if>>The <<beasttype>> ruffles <<bhis>> feathers, and curls up. <br><br> <<tearful>> you curl up yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Bird Tower Bed]]>><</link>> <<elseif $enemyhealth lte 0>> The <<beasttype>> shrieks and beats <<bhis>> wings, hopping back to the far side of the nest. <<if $monster is 1>>"<<Wife>>'s fighting spirit is untempered."<</if>> <<bHe>> keeps a wary eye on you as <<bhe>> curls up. <<set $bird.satisfied to true>> <br><br> <<tearful>> you curl up yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Bird Tower Bed]]>><</link>> <<else>> <<if $monster is 1>> "Hm. Okay, your comfort is important." <<bHe>> curls up next to you. <<else>> The <<beasttype>> hops away from you, and curls up. <</if>> <br><br> <<tearful>> you curl up yourself. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Bird Tower Bed]]>><</link>> <</if>><<setTowerTemp>><<effects>> <<if $monster is 1>> <<if $speech_attitude is "meek">> "N...no, please," <<elseif $speech_attitude is "bratty">> "Knock it off, featherhead," <<else>> "I'm not in the mood," <</if>> you say as you try to push <<bhim>> away. <<bHis>> wings beat in frustration, and <<bhe>> squeezes you tightly for a moment before letting you go. <<bHe>> curls up next to you without further fuss. <<else>> You shove the <<beasttype>> away from you. <<bHe>> flaps <<bhis>> wings in frustration, then curls up without further fuss. <</if>> <br><br> <<link [[Next|Bird Tower Bed]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<birdicon "tower">><<link [[Step away|Bird Tower]]>><<handheldon>><<unset $mirrorMenu>><<unset $bodywritingSet>><<postMirror>><</link>> <br> <<mirror>> <br><br><<setTowerTemp "water">><<effects>> <<noClothingCheck>> <<strip>> <<wash>> You <<if _nude is false>>remove your clothing, and <</if>>slip into the water. <<if $bird.upgrades.pot is 3 and getBirdBurnTime() gt 0>> It's pleasantly warm. <<stress -6>><<lstress>> <<else>> It's cold, but you soon get used to it. <<stress 3>><<gstress>> <</if>> <br><br> You're soon squeaky clean. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><<clotheson>><</link>> <br><<setTowerTemp "water">><<effects>> <<npc "Great Hawk">> <<if $monster is 1 and $phase is 1>> You take the <<beasttypes>> hand, and <<bhe>> leads you to the bathing pool. <<takeHandholdingVirginity "Great Hawk" "romantic">> <</if>> <<noClothingCheck>> <<strip>> <<wash>> <<if _nude is false>>You remove your clothing.<</if>> The <<beasttype>> swims to the other side of the pool, making room for you. You slip into the water. <<if $bird.upgrades.pot is 3 and getBirdBurnTime() gt 0>> It's pleasantly warm. <<stress -6>><<lstress>> <<else>> It's cold, but you soon get used to it. <<stress 3>><<gstress>> <</if>> <br><br> <<if $daily.birdWash is undefined>> <<set $daily.birdWash to 1>> <<if $monster is 1>> The <<beasttype>> floats back over, and slips behind you. <<bHis>> wings spread to either side as <<bhe>> takes your <<breasts>> in <<bhis>> hands. "Help you wash?" <<else>> The <<beasttype>> floats back over, and splashes water over you with <<bhis>> wing. <<bHe>> is trying to help wash you. <</if>> <br><br> <<link [[Accept|Bird Tower Bathe Bird Accept]]>><<if $monster is 1>><<arousal 1800>><</if>><<transform bird 1>><</link>><<if $monster is 1>><<ggarousal>><<deviant1>><</if>> <br> <<link [[Refuse|Bird Tower Bathe Bird Refuse]]>><</link>> <br> <<else>> You're soon squeaky clean. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><<clotheson>><</link>> <br> <</if>><<setTowerTemp "water">><<effects>> <<if $monster is 1>> The <<beasttype>> continues to grope your <<breasts>> with one hand, while rubbing your back with the other. <<bHis>> wings splash more water over you. <br><br> <<bHe>> is fixated on your chest, and continues to tease. <<bHe>> acts innocent, but you can tell <<bhe>> enjoys the effect <<bhe>> has on you. <<deviancy1>> <<if $arousal gte $arousalmax>> Your knees buckle as the wave hits. <<orgasm>> "Healthy response," the <<beasttype>> laughs. <<bHe>> sounds pleased with <<bhimself>>. <br><br> <</if>> <<else>> The <<beasttype>> splashes water over you, and rubs <<bhis>> beak against your back. <br><br> <</if>> You're soon squeaky clean. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><<clotheson>><</link>> <br><<setTowerTemp "water">><<effects>> <<if $monster gte 1>> You move away from the <<beasttype>>. "No?" <<bhe>> asks. "That's okay. Here if you need me." <<else>> You move away from the <<beasttype>>, and <<bhe>> takes the hint. <</if>> <br><br> You're soon squeaky clean. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><<clotheson>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">><<person1>> <<set $daily.birdWash to 1>> <<if $syndromebird gte 1>> You walk around the pool until you're behind the <<beasttype>>. You rub <<bhis>> shoulders and coo into <<bhis>> ear. "Why don't I help you out a bit?" <<else>> You walk around the pool until you're behind the <<beasttype>>. You carefully start to rub <<bhis>> wings. <<if $speech_attitude is "meek">> "I-I can help," you say. <<elseif $speech_attitude is "bratty">> "You're a mess," you say. "Let me help." <<else>> "Let me help," you say. <</if>> <</if>> <<deviancy1>> <<bHe>> looks <<if $monster gte 1>> <<if C.npc["Great Hawk"].love lte 25>> surprised by your offer. <<else>> happy to hear your offer. <</if>> <<else>> at you, tilting <<bhis>> head. <</if>> <<if $monster is 1 and $syndromebird gte 1>> "<<Wife>> does not have to... but I would never say no to you." <</if>> You bring your hands lower and start combing through <<bhis>> wings with your fingers. You start pulling out any stray twigs or leaves you find. <<if $harpy gte 6 or understandsBirdBehaviour()>> You make sure to be very gentle. Next, you rub down <<bhis>> wings with water. You take your time to make sure you get all of the spots <<bhe>> couldn't. <br><br> <<if $daily.birdSpousePreen is undefined>> <<set $daily.birdSpousePreen to 1>> <<set _featherNum to random(1,2)>> <<switch _featherNum>> <<case 1>>One of <<bhis>> feathers comes loose. <span class="teal">You take it.</span> <<case 2>>A couple of <<bhis>> feathers come loose. <span class="teal">You take them.</span> <</switch>> <<wearProp "feather" "original">> <<set $bird.materials.feathers += _featherNum>> <</if>> <<else>> You're not quite sure what you're doing. You just massage <<bhis>> wings with your wet hands. <</if>> After a while, <<bhe>> turns to you. <<if $monster is 1>> "Want to help <<wife>> now." <<else>> <<if $harpy gte 6>> <<bHe>> taps your wings with <<bhis>> beak. <<else>> <<bHe>> ruffles your hair with <<bhis>> beak. <</if>> <</if>> <br><br> <<link [[Allow|Bird Tower Bathe Preen Allow]]>><<handheldon>><<stress -3>><<npcincr "Great Hawk" dom 1>><</link>><<lstress>><<gdom>> <br> <<link [[Push away|Bird Tower Bathe Preen Deny]]>><<handheldon>><</link>> <br><<setTowerTemp "water">><<effects>> <<noClothingCheck>> <<strip>> <<wash>> You <<if _nude is false>>remove your clothing, and <</if>>slip into the water with <<bhim>>. <<if $bird.upgrades.pot is 3 and getBirdBurnTime() gt 0>> It's pleasantly warm. <<stress -6>><<lstress>> <<else>> It's cold, but you soon get used to it. <<stress 3>><<gstress>> <</if>> <br><br> <<bHe>> steps aside to give you more space, then moves behind you. <<if ($angel gte 6 and $transformationParts.angel.wings isnot "hidden") or ($fallenangel gte 2 and $transformationParts.fallenAngel.wings isnot "hidden") or ($demon gte 6 and $transformationParts.demon.wings isnot "hidden")>> <<if $monster is 1>> "<<Wife>> has strange wings. Not like mine, but they are still pretty," <<bhe>> says. After inspecting your wings, <<bhe>> starts cleaning you. <<bHes>> skilled with <<bhis>> hands, making <<bhis>> touch feel pleasant. <<else>> <<bHe>> eyes your wings with curiosity, unsure what to make of them. After inspecting you, <<bHe>> starts cleaning you. <<bHes>> skilled with <<bhis>> beak, making <<bhis>> prodding feel strangely pleasant. <</if>> After <<bhes>> done with your wings, <<bhe>> moves on to your hair. After that, <<bhe>> cleans the rest of your back. <<elseif $harpy gte 6 and $transformationParts.bird.wings isnot "hidden">> <<if $monster is 1>> <<bHe>> looks at your wings. "<<Wife>> has pretty wings. Healthy and strong." After inspecting your wings, <<bhe>> starts cleaning you. <<bHes>> skilled with <<bhis>> hands, making <<bhis>> touch feel pleasant. <<else>> <<bHe>> looks at your wings. <<bHe>> seems to like them. After inspecting you, <<bhe>> starts cleaning you. <<bHes>> skilled with <<bhis>> beak, making <<bhis>> prodding feel strangely pleasant. <</if>> After <<bhes>> done with your wings, <<bhe>> moves on to your hair. After that, <<bhe>> cleans the rest of your back. <<if $daily.birdSelfPreen is undefined>> <<set $daily.birdSelfPreen to 1>> <<set _featherNum to random(1,2)>> <<switch _featherNum>> <<case 1>>One of your loose feathers has fallen out. <span class="teal">You take it.</span> <<case 2>>A couple of your loose feathers have fallen out. <span class="teal">You take them.</span> <</switch>> <<wearProp "feather" "grey">> <<set $bird.materials.feathers += _featherNum>> <</if>> <<else>> <<if $monster is 1>> <<bHe>> looks at your back. "Don't worry, I'm sure <<wife>> will grow wings soon," <<bhe>> says. <<bHe>> starts cleaning you. <<bHes>> skilled with <<bhis>> hands, making <<bhis>> touch feel pleasant. <<else>> <<bHe>> looks at your wingless back, before nudging your head<<if understandsBirdBehaviour()>> with pity<</if>>. <<bHe>> starts cleaning you. <<bHes>> skilled with <<bhis>> beak, making <<bhis>> prodding feel strangely pleasant. <</if>> After a moment <<bhe>> moves on to your hair, then the rest of your back. <</if>> <br><br> A few minutes later, <<bhes>> done. You feel refreshed and clean. <br><br> <<link [[Hug|Bird Tower Bathe Preen Hug]]>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><</link>><<glove>><<gbirdstockholm>> <br> <<link [[Get up|Bird Tower]]>><<endevent>><<clotheson>><</link>> <br><<setTowerTemp "water">><<effects>> You pull <<bhim>> into a hug. <<if $syndromebird isnot 1>> This takes <<bhim>> by surprise. <<else>> <<bHe>> returns it happily. <</if>> You thank <<bhim>> for cleaning you. <br><br> <<if $monster is 1>> "Of course. I would be happy to clean <<wife>> every day," <<bhe>> responds. <<else>> <<bHe>> gently rubs your cheek with <<bhis>> beak in response. <</if>> You keep holding <<bhim>> for a moment, before letting go of <<bhim>> and stepping out of the pool. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><<clotheson>><</link>> <br><<setTowerTemp>><<effects>> You tell <<bhim>> you don't need to bathe. <<if $monster is 1>> "I wanted to help <<wife>> too. Maybe next time," <<bhe>> says as <<bhe>> continues to clean <<bhimself>>. <<else>> <<bHe>> looks at you with a tilted head, then goes back to cleaning <<bhimself>>. <</if>> You step away from the pool. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">> <<set $daily.birdGroom to true>> <<if $speech_attitude is "meek">> "I-I can help," you say, joining <<bhim>>. <<elseif $speech_attitude is "bratty">> "You're doing it all wrong," you say, joining <<bhim>>. "Let me help." <<else>> "Let me help," you say, joining <<bhim>>. <</if>> <br><br> The <<beasttype>> shakes <<bhis>> feathers, and lets you stroke <<bhis>> wings. <<if $harpy gte 6>> You carefully preen <<bhim>>, ensuring <<bhis>> wings look dignified. It's not so different from preening your own wings. <<if $daily.birdSpousePreen is undefined>> <<set $daily.birdSpousePreen to 1>> <<set _featherNum to random(1,2)>> <<switch _featherNum>> <<case 1>>One of <<bhis>> feathers comes loose. <span class="teal">You take it.</span> <<case 2>>A couple of <<bhis>> feathers come loose. <span class="teal">You take them.</span> <</switch>> <<wearProp "feather" "original">> <<set $bird.materials.feathers += _featherNum>> <</if>> <<else>> <<if understandsBirdBehaviour()>> You carefully help <<bhim>> preen. You're familiar enough with the structure of wings to do a good job. <<if $daily.birdSpousePreen is undefined>> <<set $daily.birdSpousePreen to 1>> <<set _featherNum to random(1,2)>> <<switch _featherNum>> <<case 1>>One of <<bhis>> feathers comes loose. <span class="teal">You take it.</span> <<case 2>>A couple of <<bhis>> feathers come loose. <span class="teal">You take them.</span> <</switch>> <<wearProp "feather" "original">> <<set $bird.materials.feathers += _featherNum>> <</if>> <<else>> You attempt to help <<bhim>> preen. You're not entirely sure what you're doing, but <<bhe>> seems to appreciate the effort. <</if>> <</if>> <br><br> <<if $bestialitydisable is "f" or $monster is 1>> <<link [[Rub lewdly|Bird Tower Groom Lewd]]>><<npcincr "Great Hawk" love 1>><</link>><<deviant1>><<glove>> <br> <</if>> <<link [[Stay on the perch|Bird Tower Perch]]>><<endevent>><</link>> <br> <<link [[Go back inside|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You bring your attentive touch down towards <<bhis>> groin. <<if $monster is 1>> <<if $NPCList[0].penis isnot "none">> You wrap your hand around <<bhis>> $NPCList[0].penisdesc, which hardens at your touch. <<bHe>> sighs as you gently tease it. <<else>> You place two fingers on <<bhis>> vagina, and gently spread it. You begin to rub, and <<bhe>> lets out a contented sigh. <</if>> <<else>> <<if $NPCList[0].penis isnot "none">> You tease out <<bhis>> $NPCList[0].penisdesc, which hardens at your touch. <<else>> You place two fingers on <<bhis>> cloaca, and gently spread it. You begin to rub. <</if>> <<bHe>> coos. <</if>> <<deviancy1>> <<if hasSexStat("deviancy", 2)>> <<link [[Take it further|Bird Tower Perch Sex]]>><<set $birdPerch to 1>><<set $sexstart to 1>><<set $phase to 2>><<transform bird 1>><<npcincr "Great Hawk" love 1>><</link>><<deviant2>><<glove>> <br> <<else>> <<insufficientStat "deviancy" "to take things further">> <br> <</if>> <<link [[Stay on the perch|Bird Tower Perch]]>><<endevent>><</link>> <br> <<link [[Go back inside|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>><<npc "Great Hawk">> <<bird_schedule>> <<if $bird.state is "home" and ["groom","sing"].includes($bird.activity) and birdEggsReady("Great Hawk") and $birdPerch isnot undefined>> <<birdEggLayEvent "perch">> <<elseif $bird.activity is "bathe" and $bird.state is "home" and $birdPerch isnot undefined>> <<unset $birdPerch>> <<if $monster is 1>> The <<beasttype>> begins to stand, offering <<bhis>> hand to you. "Must get clean. Come." <<else>> The <<beasttype>> shakes <<bhis>> wings. <<bHe>> backs up from the perch, and walks towards the bathing pool. <</if>> <br><br> <<link [[Follow (0:30)|Bird Tower Bathe Bird]]>><<bird_pass 30>><<endevent>><<set $phase to 1>><</link>><<if $monster is 1>><<handholdingvirginitywarning>><<NPCvirginitywarning "Great Hawk" "handholding">><</if>> <br> <<link [[Stay|Bird Tower Perch]]>><<endevent>><</link>> <br> <<elseif ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<if $birdPerch is undefined>> <<set $birdPerch to 1>> You <<if $bird.upgrades.decor gte 3>>push past the curtains and <</if>>join the <<beasttype>> on <<bhis>> perch. <<if $syndromebird isnot 1>> <<bird_greeting>> <<bHe>> opens <<bhis>> wings, but you're unsure of what <<bhes>> trying to do. <<if $bird.activity is "sing" and $bird.state is "home">> After a moment, <<bhis>> wings lower and <<bhis>> song continues. <<else>> After a moment, <<bhis>> wings lower and <<bhe>> continues grooming. <</if>> <br><br> <<else>> <<bird_greeting>> <<if $monster is 1>> <<bHe>> opens <<bhis>> wings, inviting you to sit on <<bhis>> lap. <<else>> <<bHe>> opens <<bhis>> wings, offering to shelter you from the wind. <</if>> <br><br> <</if>> <<elseif $birdBask is 0>> <<unset $birdBask>> The <<beasttype>> lifts <<bhis>> wings, allowing you to stand. <br><br> <<else>> You are on the <<beasttypes>> perch. <<bHe>> sings into the air. The moor stretches out before you. <br><br> <</if>> <<bird_perch_options>> <<else>> You stand on the <<beasttypes>> perch. The moor stretches out before you. <<if $bird.state is "home">> <<switch $bird.activity>> <<case "bathe">> <<your_bird_text "cap">> is bathing in the rainwater pool. <<case "rest">> <<your_bird_text "cap">> rests back in the nest. <<case "build">> <<if $birdShelterRepair>> <<unset $birdShelterRepair>> <span class="teal"><<your_bird_text "cap">> is covering the holes in the roof with leaves and twigs.</span> <<else>> <<your_bird_text "cap">> is adding to the nest. <</if>> <<case "brood">> <<set _eggCountNest to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<your_bird_text "cap">> sits in the nest, brooding on the egg<<if _eggCountNest gte 2>>s<</if>>. <<default>> <<your_bird_text "cap">> rests back in <<bhis>> nest. <<set $birdSleep to 1>> <</switch>> <<else>> <<your_bird_text "cap">> is out hunting. <</if>> <br><br> <<bird_perch_options>> <</if>><<setTowerTemp>><<effects>> <<if $daily.birdSelfPreen is undefined>> <<set $daily.birdSelfPreen to 1>> You preen your wings. It's harder doing this alone. <<set _selfFeatherNum to random(1,2)>> <<switch _selfFeatherNum>> <<case 1>>One of your loose feathers has fallen out. <span class="teal">You take it.</span> <<case 2>>A couple of your loose feathers have fallen out. <span class="teal">You take them.</span> <</switch>> <<set $bird.materials.feathers += _selfFeatherNum>> <<wearProp "feather" "grey">> <<else>> You preen your wings. There's no more loose feathers to remove for now, but it makes you feel better regardless. <</if>> <br><br> <<bird_perch_options>><!-- This passage is only accessible to a player that already has stockholm syndrome. --> <<set $player.bodyTemperature to Math.clamp(($player.bodyTemperature + 1), 33, 38)>> <<setTowerTemp>><<effects>> <<npc "Great Hawk">> <<cleareventpool>> <<if $birdBask is undefined>> <<set $birdBask to 1>> <<if $monster is 1>> You sit on the <<beasttype>>'s lap, and <<bhe>> wraps <<bhis>> wings around you, shielding you from the <<if Time.dayState is "dawn">>morning chill<<elseif Time.dayState is "dusk">>evening chill<<else>>wind<</if>>. <<else>> You sit under the <<beasttype>>, letting <<bhim>> wrap <<bhis>> wings around you. <</if>> <</if>> <<bird_schedule>> <<if $bird.state is "home" and ["groom","sing"].includes($bird.activity) and birdEggsReady("Great Hawk")>> <<birdEggLayEvent "perch">> <<elseif $bird.activity is "bathe" and $bird.state is "home">> <<unset $birdBask>><<unset $birdPerch>> <<if $monster is 1>> The <<beasttype>> begins to stand, offering <<bhis>> hand to you. "Must get clean. Come." <<else>> The <<beasttype>> shakes <<bhis>> wings. <<bHe>> backs up from the perch, and walks towards the bathing pool. <</if>> <br><br> <<link [[Follow (0:30)|Bird Tower Bathe Bird]]>><<bird_pass 30>><<endevent>><<set $phase to 1>><</link>><<if $monster is 1>><<handholdingvirginitywarning>><<NPCvirginitywarning "Great Hawk" "handholding">><</if>><br> <<link [[Stay|Bird Tower Perch]]>><<endevent>><</link>><br> <<else>> <<addinlineevent "bird_bask_wings">> <<if $harpy gte 6>> The <<beasttype>> pauses <<bhis>> song for a moment, and <<bhe>> begins to gently groom your wings. <<if $monster is 1>> <<bHis>> touch is delicate but deliberate, and the feeling of <<bhis>> hands running through your feathers sends waves of pleasure through your body. <<arousal 1000>><<garousal>> <<else>> <<bHe>> gently runs <<bhis>> beak through your feathers, sending waves of pleasure through your body. <<arousal 1000>><<garousal>> <</if>> <<transform bird 1>> <<if $arousal gte $arousalmax>> <<orgasm>> <<if $monster is 1>> You arch your back in <<bhis>> arms, letting out a cry of pleasure into the <<if Time.dayState is "dawn">>morning air<<elseif Time.dayState is "dusk">>evening air<<else>>wind<</if>>. <<bHe>> holds you closely. "Your mating song is pleasing. We will clean together soon." You lightly tremble, and <<bhe>> begins cooing quietly to you. <<else>> You arch your back, causing <<bhim>> to wrap <<bhis>> wings around you to keep you from falling. <<bHe>> coos quietly to you. <</if>> <<npcincr "Great Hawk" dom 5>><<ggdom>> <br><br> <<if $bird.activity is "sing" or $bird.activity is "groom">> <<link [[Reward|Bird Tower Perch Sex]]>><<set $sexstart to 1>><<set $phase to 1>><<transform bird 1>><<npcincr "Great Hawk" love 1>><</link>><<deviant1>><<glove>><br> <</if>> <<bird_perch_options>> <<else>> <br><br> <<link [[Enjoy it (0:05)|Bird Tower Bask Groom]]>><<bird_pass 5>><<stress -3>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom 1>><</link>><<lstress>><<glove>><<gdom>><br> <<link [[Push away|Bird Tower Bask Groom Push]]>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>><br> <</if>> <<elseif $angel gte 6 or $demon gte 6 or $fallenangel gte 2>> The <<beasttype>> pauses <<bhis>> song for a moment, inspecting your wings. <<if $monster is 1>> "So strange. Not like mine. But they belong to you, so they're still beautiful." <<else>> <<bHe>> looks at them ponderously, occasionally prodding them. <<bHe>> is likely wondering why they don't look like <<bhis>> own. <</if>> <<bHe>> resumes <<bhis>> song after some time. <br><br> <<bird_perch_options>> <<else>> The <<beasttype>> stares down at your back. <<bHe>> rubs it with <<bhis>> wing. <<if $monster is 1>> "Don't worry. I'm sure yours will grow in soon. Then we can fly together." <<if C.npc["Great Hawk"].love gte 50>>You turn your head to face <<bhim>>. "I'll be happy. The sky is so empty without you in it."<</if>> <</if>> <<bHe>> resumes <<bhis>> song after some time. <br><br> <<bird_perch_options>> <</if>> <</addinlineevent>> <<addinlineevent "bird_bask_weather">> <<switch Weather.precipitation>> <<case "none">> <<if !Weather.isOvercast>> The <<if Weather.dayState is "dawn">>rising<<elseif Weather.dayState is "dusk">>setting<</if>> sun's radiance warms your face as you sit in the <<beasttypes>> embrace. You feel serene. <<stress -12>><<trauma -3>><<lstress>><<ltrauma>> <<else>> The grey skies above almost seem to call out to you, begging you to join them. <<stress -3>><<lstress>> <</if>> <<case "rain">> The faint smell of damp grass, and the chorus of raindrops on the stone mixed with the <<beasttypes>> song briefly lull you to sleep. <<tiredness -20>><<ltiredness>> <<case "snow">> Despite the frigid air and the shine of distant fresh snow, you feel completely warm in the <<beasttypes>> embrace. <<stress -6>><<trauma -3>><<lstress>><<ltrauma>> <<default>> You sit snugly in the <<beasttypes>> embrace. <</switch>> <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_love_interest">> <<run statusCheck("Kylar")>> Your thoughts turn to <<if random(1,2) is 1>> <<switch $loveInterest.primary>> <<case "Robin">> Robin. <<if C.npc.Robin.trauma gte 50>> Your heart sinks as you remember how you left <<nnpc_him "Robin">>. <<stress 12>><<ggstress>> <<elseif C.npc.Robin.dom gte 50>> You wonder if <<nnpc_he "Robin">> will come looking for you. <<else>> You feel a brief sting of guilt as you wonder how <<nnpc_hes "Robin">> doing. <</if>> <<case "Kylar">> Kylar. <<if _kylarStatus.includes("Rage")>> You wonder if <<nnpc_he "Kylar">> will come looking for you. After mulling it over, you realise that "if" should be replaced with "when". <<stress 3>><<gstress>> <<else>> You hope <<nnpc_he "Kylar">> isn't being bullied in your absence. <</if>> <<case "Whitney">> Whitney. You can only imagine what <<nnpc_he "Whitney">> would do if <<nnpc_he "Whitney">> found out about all this. <<case "Sydney">> Sydney. <<if Time.weekDay is 1>> <<nnpc_Hes "Sydney">> probably hard at work at the temple right now. <<else>> The thought of <<nnpc_his "Sydney">> smile makes you feel warm. <</if>> <<case "Eden">> Eden. <<nnpc_He "Eden">> would probably hunt the Great Hawk for sport, especially if <<nnpc_he "Eden">> found out about what you've been doing. <<case "Avery">> Avery. <<if Time.weekDay is 7 and $averyseen isnot 1>> <<nnpc_Hes "Avery">> probably looking for you at this very moment, to ask you on another date. <<elseif $averydate is 1>> You have a date later, after all. <<elseif C.npc.Avery.rage gte 20 and $averyragerevealed is 1>> You're glad to be so far away, at least until <<nnpc_he "Avery">> calms down. <<else>> You laugh, picturing <<nnpc_him "Avery">> trying to save face explaining your current situation. <</if>> <<case "Alex">> Alex, and the farm. <<if $farm.aggro gte 60>> You hope Remy's not causing <<nnpc_him "Alex">> too much trouble. <<elseif $farm.tower_guard_unpaid gte 1>> $farm.tower_guard hasn't been paid yet. You hope it's not a dealbreaker. <<else>> You hope the harvest is good. <</if>> <<case "Black Wolf">> the forest, and your pack. You wonder if they miss you. <<default>> all the troubles you've faced, and how they can't reach you here. For the moment, wrapped in the wings of your <<if $monster is 1>> <<nnpc_wife "Great Hawk">> <<else>> Great Hawk, <</if>> you feel untouchable. <<trauma -10>><<lltrauma>> <</switch>> <<elseif $loveInterest.secondary isnot "None">> <<switch $loveInterest.secondary>> <<case "Robin">> Robin. <<if C.npc.Robin.trauma gte 50>> Your heart sinks as you remember how you left <<nnpc_him "Robin">>. <<stress 12>><<ggstress>> <<elseif C.npc.Robin.dom gte 50>> You wonder if <<nnpc_he "Robin">> will come looking for you. <<else>> You feel a brief sting of guilt as you wonder how <<nnpc_hes "Robin">> doing. <</if>> <<case "Kylar">> Kylar. <<if _kylarStatus.includes("Rage")>> You wonder if <<nnpc_he "Kylar">> will come looking for you. After mulling it over, you realise that "if" should be replaced with "when". <<stress 3>><<gstress>> <<else>> You hope <<nnpc_he "Kylar">> isn't being bullied in your absence. <</if>> <<case "Whitney">> Whitney. You can only imagine what <<nnpc_he "Whitney">> would do if <<nnpc_he "Whitney">> found out about all this. <<case "Sydney">> Sydney. <<if Time.weekDay is 1>> <<nnpc_Hes "Sydney">> probably hard at work at the temple right now. <<else>> The thought of <<nnpc_his "Sydney">> smile makes you feel warm. <</if>> <<case "Eden">> Eden. <<nnpc_He "Eden">> would probably hunt the Great Hawk for sport, especially if <<nnpc_he "Eden">> found out about what you've been doing. <<case "Avery">> Avery. <<if Time.weekDay is 7 and $averyseen isnot 1>> <<nnpc_Hes "Avery">> probably looking for you at this very moment, to ask you on another date. <<elseif $averydate is 1>> You have a date later, after all. <<elseif C.npc.Avery.rage gte 20 and $averyragerevealed is 1>> You're glad to be so far away, at least until <<nnpc_he "Avery">> calms down. <<else>> You laugh, picturing <<nnpc_him "Avery">> trying to save face explaining your current situation. <</if>> <<case "Alex">> Alex, and the farm. <<if $farm.aggro gte 60>> You hope Remy's not causing <<nnpc_him "Alex">> too much trouble. <<elseif $farm.tower_guard_unpaid gte 1>> $farm.tower_guard hasn't been paid yet. You hope it's not a dealbreaker. <<else>> You hope the harvest is good. <</if>> <<case "Black Wolf">> the forest, and your pack. You wonder if they miss you. <<default>> all the troubles you've faced, and how they can't reach you here. For the moment, wrapped in the wings of your <<if $monster is 1>> <<nnpc_wife "Great Hawk">>, <<else>> Great Hawk, <</if>> you feel untouchable. <<trauma -10>><<lltrauma>> <</switch>> <<else>> all the troubles you've faced, and how they can't reach you here. For the moment, wrapped in the wings of your <<if $monster is 1>> <<nnpc_wife "Great Hawk">>, <<else>> Great Hawk, <</if>> you feel untouchable. <<trauma -10>><<lltrauma>> <</if>> <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_see">> The <<beasttype>> stops singing and rapidly turns <<bhis>> head, fixing <<bhis>> gaze on something out in the moor. <<if $monster is 1>> "See something. There." <<bHe>> points to something in the distance. <<else>> <<bHe>> must see something. <</if>> <<if $transformationParts.traits.sharpEyes isnot "disabled" or $bird.upgrades.telescope is 1>> <<if $transformationParts.traits.sharpEyes isnot "disabled">> Thanks to your superior eyesight, you see it too. <<else>> You look through your telescope, and see it too. <</if>> <<switch random(1,6)>> <<case 1>> <<endevent>><<beastNEWinit 3 fox>> A trio of <<beastsplural>> tumble over and wrestle with each other on top of a hillock. <<endevent>><<npc "Great Hawk">> <<if $monster is 1>> The <<beasttype>> lets out a small chuckle, <<else>> The <<beasttype>> shakes <<bhis>> head, <</if>> and returns to singing. <<case 2>> A large group of people are just barely visible on the horizon, headed towards the direction of the town. <<if $monster is 1>> "Wingless like groups. I prefer just <<wife>>," <<bhe>> says, <<else>> <<bHe>> nuzzles your cheek, <</if>> and returns to singing. <<case 3>> <<if $hallucinations gte 2 and $tentacledisable is "f">> A small, purple tentacle slithers from the ground a great distance away. Just as quickly as it showed up, it disappears back into the earth. <<if $monster is 1>> "Don't like those. Make vision all fuzzy." <<else>> The <<beasttype>> lets out a brief screech. <</if>> <<bHe>> goes back to singing after a few minutes. <<else>> At least, you thought you did. You swear something was there, but you must have just missed it. <<if $monster is 1>> "Did you see it? Small, purple slimy thing. I hate them." <<bHe>> holds you a little tighter, <<else>> The <<beasttype>> lets out a brief screech, <</if>> and goes back to singing after a few minutes. <</if>> <<case 4>> You see a shifty-looking person wearing all black with a hood, waiting behind a hillock. You blink a few times, and aren't sure when they disappeared. The <<beasttype>> resumes <<bhis>> song. <<case 5>> You see a glint in the distance, something very shiny. After a moment, you realise it's a reflective piece of rubbish. <<if $monster is 1>> "Want to go get it," <<bhe>> says, before ruffling <<bhis>> own feathers. "But I'm comfortable." <<bHe>> resumes <<bhis>> song. <<else>> The <<beasttype>> shrieks, but resumes <<bhis>> song anyways. <</if>> <<case 6>> You see a person in the distance, completely naked. <<if $tentacledisable is "f" and $plantdisable is "f" and ($hallucinations gte 2 or $backgroundTraits.includes("plantlover"))>> <<Plant_details>> are scattered throughout their hair, and writhing vines surround them. At first, you think they're being attacked, but they seem to be in control of them. <br><br> <<if $monster is 1>> "Odd creatures," the <<beasttype>> says. "As much moor as they are wingless." <<else>> The <<beasttype>> shakes <<bhis>> head quizzically. <</if>> <<else>> They don't seem bothered by their exposure<<if Weather.precipitation isnot "none">>, nor the <<print Weather.precipitation>><</if>>. <<if $monster is 1>> "Odd wingless," the <<beasttype>> says. "Most prefer covering with second plumage." <<else>> The <<beasttype>> shakes <<bhis>> head quizzically. <</if>> <</if>> <<bHe>> resumes <<his>> song after a few seconds. <<default>> <</switch>> <<else>> You can't quite make out whatever it is. After some time, <<bhe>> calms down, and resumes <<bhis>> song. <</if>> <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_cough">> The <<beasttype>> continues singing, taking pauses every few minutes. <<if $rng is 51>> At one point, <<bhe>> seems to have trouble starting again. <<if $monster is 1>> <<bHe>> coughs briefly to clear <<bhis>> throat, and resumes without any further issue. <<else>> <<bHe>> starts moving <<bhis>> head back and forth, and disgorges what appears to be a small bone from <<bhis>> throat. <<bHe>> resumes singing without any further issues. <</if>> <</if>> <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_hug">> The <<beasttype>> stops singing, and <<if $monster is 1>> wraps <<bhis>> arms around you. "<<print either( "I love you.", "Thank you for staying with me.", "Used to be afraid of being alone. Never have to fear again.", "You are perfect.", "Mine." )>>" <<else>> rests <<bhis>> head on your shoulder. <</if>> <br><br> <<if $bird.activity is "sing" or $bird.activity is "groom">> <<birdicon "kiss">><<link [[Kiss|Bird Perch Monster Kiss]]>><<npcincr "Great Hawk" love 1>><</link>><<glove>><<kissvirginitywarning>><<NPCvirginitywarning "Great Hawk" "kiss">><br> <</if>> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_sing">> The <<beasttype>>'s voice greets the moor, as a hearty <<if Time.dayState is "dawn">>good morning<<elseif Time.dayState is "dusk">>good evening<<else>>greeting<</if>> call to all of its denizens. Or maybe <<bhes>> just bragging about you. <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_bird_to_bird_communication">> The <<beasttype>>'s song continues. From a great distance, <<bhe>> receives a reply song. The two sing back and forth to each other, until the other voice goes silent. <<if $monster is 1>> "<<print either( "Shared knowledge of the skies and clouds. Always valuable.", "Had to tell them I was already taken.", "Told tales of our best hunts.", "Stories from others, they always excite me.", "Searching for their mate. We should look out." )>>" <</if>> <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_silent">> The moor lies silent, with only the <<beasttypes>> song breaking through. <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_rest">> The <<beasttype>> rests <<bhis>> voice. <br><br> <<bird_perch_options>> <</addinlineevent>> <<addinlineevent "bird_bask_familiar" 0.1>> <span class="teal">There's something familiar about the <<beasttypes>> melody,</span> but you can't quite put your <<if $harpy gte 6>>wing<<else>>finger<</if>> on it. <br><br> <<bird_perch_options>> <</addinlineevent>> <<if !$daily.birdBodyWriting>> <<bodywritingExposureCheck>> <<if _bodywriting_exposed gte 1 and _bodypart>> <<addinlineevent "bird_bask_bodywriting">> <<set $daily.birdBodyWriting to true>> The <<beasttype>> lets <<bhis>> song come to a stop. You feel a persistent but careful prodding against the <<tattoo _bodypart>> on your <<bodypart _bodypart>>. <br><br> <<if $monster is 1>> The <<beasttype>> stops touching you when <<bhe>> notices the ink won't come off. "<<Wife>> needs preening? Don't worry, I will help," <<bhe>> says. <<bHe>> licks <<bhis>> fingertip, and starts rubbing your skin again, with greater pressure this time. <<else>> The <<beasttype>> stops touching you. <<bHe>> licks your skin, and starts rubbing <<bhis>> beak against it again, with greater pressure this time. <</if>> <<if ["marker","tattoo","brand","magic"].includes($skin[_bodypart].pen)>> No matter what <<bhe>> does, the ink won't come off. <</if>> <br><br> <<capture _bodypart>> <<link [[Allow it|Bird Tower Tattoo Preen]]>><<set $phase to 0>><</link>> <br> <<if ["marker","tattoo","brand","magic"].includes($skin[_bodypart].pen)>> <<link [[Try to explain|Bird Tower Tattoo Preen]]>><<set $phase to 1>><</link>> <<else>> <<link [[Push away|Bird Tower Tattoo Preen]]>><<set $phase to 2>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <</if>> <br> <</capture>> <</addinlineevent>> <</if>> <</if>> <<if $weekly.birdRescued>> <<addinlineevent "bird_bask_rescued">> <<run delete $weekly.birdRescued>> As you bask, your thoughts turn to your recent ordeal with <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> Remy's thugs out in the moor. <<else>> the people that tried to kidnap you out on the moor. <</if>> You curl up instinctively. <br><br> Something warm covers your back. The <<beasttype>> wraps <<bhis>> <<if $monster is 1>> arms around your shoulder. "<<Wife>> is safe here with me." <<bHe>> buries <<bhis>> nose into your hair, nuzzling up against you gently. It's so calming, you find yourself leaning back into <<bhis>> hug. <<else>> wings around your shoulder. <<bHe>> pecks around your ear and cheeks with extreme carefulness, as if you were a chick. <<bHis>> gentle movement calms you down. <</if>> You feel better now. <<trauma -3>><<stress -3>><<lstress>><<ltrauma>> <br><br> <<bird_perch_options>> <</addinlineevent>> <</if>> <<if playerIsPregnant() and getPregnancyObject().fetus[0].type is "hawk" and talkedAboutPregnancy("pc","Great Hawk")>> <<addinlineevent "bird_bask_pregnant_sing_player">> The <<beasttype>> lowers <<bhis>> head to your <<bellyDescription>>, and continues singing softly. <<bHes>> singing to your unborn chicks. <<lltrauma>><<trauma -6>> <br><br> <<bird_perch_options>> <</addinlineevent>> <<if $monster is 1>> <<addinlineevent "bird_bask_pregnant_rub_player">> The <<beasttype>> lowers <<bhis>> hands to your <<bellyDescription>>, gently rubbing it. <<lltrauma>><<trauma -6>> <br><br> <<bird_perch_options>> <</addinlineevent>> <</if>> <</if>> <<runeventpool>> <</if>><<setTowerTemp>><<effects>> <<if $phase is 0>> <<if ["marker","tattoo","brand","magic"].includes($skin[_bodypart].pen)>> Despite it being impossible, you allow the <<beasttype>> to try and groom the ink from your skin anyways. <<if $monster is 1>> Eventually, <<bhe>> gives up trying to preen you. "Strange new kind of dirt," <<bhe>> comments. "Must try to get it off with water later." <<else>> Eventually, <<bhe>> gives up trying to preen you. <<bHe>> squawks, as if annoyed by this. <</if>> Your skin feels a little tender from the forceful rubbing. <<pain 4>><<gpain>> <<else>> You allow <<bhim>> to continue, and eventually, the writing is gone. <<bodywriting_clear _bodypart>><<npcincr "Great Hawk" dom 1>><<gdom>> <</if>> <<elseif $phase is 1>> <<if $monster is 1>> <<if $speech_attitude is "meek">> "It's something called a tattoo. Sorry, you can't clean it off, no matter how hard you try," you say. <<elseif $speech_attitude is "bratty">> "It's a thing called a tattoo, and it won't come off," you say. "Ever." <<else>> "It's called a tattoo, and it's permanent," you say. <</if>> <br><br> "Really?" the <<beasttype>> asks as <<bhe>> stops preening you to inspect your <<tattoo _bodypart>>. "<<Wife>> should be more careful. Don't let more... tat twos get on you." <<if $skin[_bodypart].special is "Great Hawk">> <br><br> You point to the tattoo and try to explain what it means. <<if $speech_attitude is "meek">> "It's sort of special," you say. "It means I'm yours." <<elseif $speech_attitude is "bratty">> "Can you even read it?" you ask. "It says something about you." <<else>> "This tattoo is special. I got it because of you," you explain. <</if>> <br><br> The <<beasttype>> listens to your explanation, head tilted to the side in curiosity. "Don't quite understand the meaning. But I trust <<wife>>." <</if>> <<else>> You try to explain to the <<beasttype>> why trying to groom the ink from your skin won't work. The <<beasttype>> stops preening you while you speak, listening to the sound of your voice, but you doubt <<bhe>> understood a word. <</if>> <<bHe>> returns to <<bhis>> song, and so you return to basking. <<else>> You flick <<bhim>> on the head. <<if $skin[_bodypart].special is "Great Hawk">> <<if $monster is 1>> <<if $speech_attitude is "meek">> "Sorry, but this one's special. It means I'm yours," you say. <<elseif $speech_attitude is "bratty">> "Can you even read it?" you ask. "It says something about you." <<else>> "This one is special. It's about you," you explain. <</if>> <br><br> The <<beasttype>> listens to your explanation, head tilted to the side in curiosity. "Don't quite understand the meaning. But I trust <<wife>>." <<else>> You try to explain to the <<beasttype>> that the writing is about <<bhim>>. <<bHe>> stops preening you while you speak, listening to the sound of your voice, but you doubt <<bhe>> understood a word. <</if>> <<else>> <<if $monster is 1>> "Sorry, didn't know it was a sensitive spot," <<bhe>> says while rubbing <<bhis>> forehead. <<else>> <<bHe>> shakes <<bhis>> head, before returning to <<bhis>> song. <</if>> <</if>> <</if>> <br><br> <<bird_perch_options>><<setTowerTemp>><<effects>> <<npc "Great Hawk">> The <<beasttype>> lifts <<bhis>> wings, allowing you to get up. <<bHe>> resumes <<bhis>> song. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You release all the tension in your body and allow <<bhim>> to work. <<bHe>> continues to preen your feathers for some time. <<lstress>> <br><br> <<if $monster is 1>> "Your wings... so beautiful. But I would love <<wife>> even without them." <</if>> Eventually, <<bhe>> settles back in place with you. <br><br> <<bird_perch_options>> <br><<setTowerTemp>><<effects>> You push your wings back into <<bhis>> face, and <<bhe>> releases them. <br><br> <<bird_perch_options>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<if $phase is 1>> You quickly turn, <<if $monster is 1>> pushing the <<beasttype>> over and planting a kiss on <<bhis>> lips. <<takeKissVirginity "Great Hawk" `($syndromebird is 1?"loveInterest":"romantic")`>> <br><br> <<bHis>> wings wrap around you tightly. <<else>> taking the <<beasttype>> off guard. <</if>> <<deviancy1>> <<else>> You shimmy around <<bhim>> and adopt a mating posture. <<deviancy2>> <</if>> <<set $enemytrust += 200>> <<set $enemyhealthmax to 600>> <<set $enemyhealth to 600>> <<if $monster isnot 1>> <<set $position to "doggy">> <<set $NPCList[0].stance to "top">> <</if>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Tower Perch Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Tower Perch Sex]]>><</link>></span><<nexttext>> <</if>><<setTowerTemp>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<set $bird.satisfied to true>> <<if $monster is 1>>"<<Wife>> was pent up <<if Time.dayState is "dawn">>this morning<<elseif Time.dayState is "dusk">>this evening<<else>>today<</if>>..." <</if>>The <<beasttype>> nuzzles your cheek<<if $monster is 1>>, smiling<</if>>. <br><br> <<tearful>> you return to <<bhis>> feathery embrace, watching the moor from <<bhis>> perch. <br><br> <<clotheson>> <<endcombat>> <<bird_perch_options>> <<elseif $enemyhealth lte 0>> The <<beasttype>> shrieks briefly, before returning to <<bhis>> previous position. <<if $monster is 1>>"Could just ask next time."<</if>> <<set $bird.satisfied to true>> <br><br> <<tearful>> you retreat to the nest. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Bird Tower]]>><</link>> <<else>> <<if $monster is 1>> "Had enough?" <<bhe>> says, opening <<bhis>> wings again. <<else>> The <<beasttype>> shakes <<bhimself>> off, then returns to <<bhis>> position on the perch. <</if>> <br><br> <<tearful>> you return to <<bhis>> feathery embrace. <br><br> <<clotheson>> <<endcombat>> <<bird_perch_options>> <</if>><<setTowerTemp>><<effects>> <<if $monster is 1>> You bring <<bhis>> head close to yours, and turn to kiss <<bhim>>. <<takeKissVirginity "Great Hawk" `($syndromebird is 1?"loveInterest":"romantic")`>> <br><br> You lose track of the time as you hold each other. "Landbound displays of affection, so strange," <<bhe>> says suddenly. "Would only accept it from <<wife>>." <<glove>> <<else>> You turn your head and give <<bhim>> a kiss on the side of <<bhis>> beak. <<bHe>> perks up, then begins <<if understandsBirdBehaviour()>>preening<<else>>running <<bhis>> beak through<</if>> <<if $transformationParts.bird.plumage isnot "disabled">>the feathers around your neck<<else>>your hair<</if>>. You <<if $speech_attitude is "meek">>giggle<<elseif $speech_attitude is "bratty">>chuckle<<else>>laugh<</if>> at the sensation, then return the favour, gently combing your fingers through your partner's plumage, and softly kissing <<bhis>> cheeks and the side of <<bhis>> beak. <<takeKissVirginity "Great Hawk" `($syndromebird is 1?"loveInterest":"romantic")`>> <br><br> You lose track of time as you preen each other. Eventually you pull apart, and <<bhe>> trills <<if understandsBirdBehaviour()>>contentedly<<else>>softly<</if>>. <</if>> <br><br> <<bird_perch_options>><<setTowerTemp>><<effects>><<npc "Great Hawk">> <<bird_schedule>> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<transform bird 1>><<npcincr "Great Hawk" love 1>> <<if $birdSingAbsent>> <span class="teal">The <<beasttype>> joins you on the perch.</span> <</if>> <<if $birdSingIntro isnot 1>> <<set $birdSingIntro to 1>> You try your best to mimic the <<beasttypes>> singing. <<bHe>> looks <<if $birdBask is 1>>down <</if>>to you with surprise. <<if $monster is 1>> "You wish to sing with me?" <<bHe>> looks overjoyed. "Our voices will dominate the sky." <</if>> <</if>> <<switch random(1,3)>> <<case 1>> <<if $birdBask is 1>> You join in the <<beasttypes>> singing from the comfort of <<bhis>> wings. <<else>> You join in the <<beasttypes>> singing. <</if>> <<case 2>> <<if $birdBask is 1>> The <<beasttype>> continues to embrace you as you join in. <<else>> You throw your head back and sing into the air. <</if>> <<default>> <<if !$birdSingAbsent>> You pick up the <<beasttypes>> song from where <<bhe>> left off. <<else>> The <<beasttype>> picks up the song from where you left off. <</if>> <</switch>> <<if $harpy gte 6 and $syndromebird is 1>> <span class="green"><<print either( "Your combined voices are a masterful symphony that rips through the moor.", "The two of you weave a verse worthy of being spoken about in history books.", "Beasts all around the moor stop to listen to your beautiful voices.", "The winds themselves seem to yield to your voices." )>></span><<trauma -6>><<ltrauma>> <<elseif $harpy gte 4>> <span class="blue"><<print either( "Your duet inspires wariness in any that hear it.", "The two of you greet the moor with a harmonious song.", "Your combined song sends prey animals running." )>></span> <<elseif $harpy gte 2>> <span class="pink"><<print either( "<<bHe>> manages to pick up your slack when you fall off key.", "<<bHe>> gives you an encouraging nudge as you sing.", "You're not the best, but not the worst. <<bHis>> voice largely drowns out your own." )>></span> <<else>> <span class="red"><<print either( "Your voice clashes with <<bhis>> own. <<bHe>> continues unabated.", "Your voice turns <<bhis>> song into a cacophony.", "You can't even hope to match <<bhis>> song." )>></span> <<glove>> <</if>> <br><br> <<bird_perch_options>> <<else>> <<if $harpy gte 6>> <<if $syndromebird is 1 and $bird.state is "hunting">> <span class="green">You sing a beautiful song of longing for your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>.</span> <<elseif $syndromebird is 1>> <span class="green">You sing an unmatched song.</span> You can faintly hear the <<beasttype>> sing back to you. <<stress -3>><<lstress>> <<else>> <span class="green">Your voice is immaculate,</span> but without a partner to pick up your song, it feels hollow. <</if>> <<elseif $harpy gte 4>> <<if $syndromebird is 1>> <span class="blue">You sing to the moor.</span> You crave a partner to sing with. <<else>> <span class="blue">You sing into the air.</span> Nothing answers you. <</if>> <<elseif $harpy gte 2>> <<if $syndromebird is 1>> <span class="pink">You sing,</span> and find yourself craving a partner to help you. <<else>> <span class="pink">You sing.</span> You hope nothing hears it. <</if>> <<else>> You try to sing like a bird. <span class="red">You have mixed results.</span> <</if>> <br><br> <<bird_perch_options>> <</if>><<setTowerTemp>><<effects>> <<npc "Great Hawk">> <<if $monster is 1>> <<if !$daily.birdPreggyRub>> You gently place your hands on the <<beasttype>>'s belly. <<your_bird_text "cap">> cocks <<bhis>> head to one side. "<<Wife>> may touch, but baby harpies do not kick as wingless unborn do." <br><br> You touch <<bhis>> baby bump anyway, stroking the downy feathers. Though the chick doesn't shift, you feel a warm glow thinking of the new life under your hands. <<else>> You lower your head down to the <<beasttype>>'s bare tummy, pressing your cheek against <<bhis>> baby bump. <<bHe>> places <<bhis>> hands on your head, relaxing into your loving embrace. <br><br> The feeling of <<bhis>> warm skin and feathers, combined with the gentle rhythm of <<bhis>> breathing and heartbeat, lulls you into a state of pure bliss. <</if>> <<else>> <<if !$daily.birdPreggyRub>> You gently place your hands on the <<beasttype>>'s belly. Great Hawk cocks <<bhis>> head to one side, but <<bhe>> lifts <<bhis>> wings, exposing <<bhis>> egg bump. <br><br> You stroke the down feathers. Though the chick doesn't shift, you feel a warm glow thinking of the new life under your hands. <<else>> You lower your head down to the <<beasttype>>'s swelling midsection, pressing your cheek against <<bhim>>. The feeling of <<bhis>> warm feathers is relaxing. <</if>> <</if>> <<set $daily.birdPreggyRub to true>> <br><br> <<bird_perch_options>><<setTowerTemp>><<effects>> <<npc "Great Hawk">> You sit next to the <<beasttype>>. <<bHe>> stops singing as you catch <<bhis>> attention. <<if $speech_attitude is "meek">> "Could you... please... teach me how to fly?" <<elseif $speech_attitude is "bratty">> "I want you to teach me how to fly like you do," <<else>> "I want to learn to fly," <</if>> you say, flaring out your wings. <<if $monster is 1>> <<if $bird.lock isnot 1>> <<bHe>> turns to face you, looking overjoyed. "Of course, <<wife>>! The sky will be so much prettier with you in it." <br><br> <<link [[Next|Bird Tower Fly Intro 2]]>><</link>> <<else>> <<bHe>> turns to face you, looking overjoyed, but stops <<bhimself>>. <<bHe>> looks conflicted. "I... I want to. But I'm afraid <<wife>> won't come back." <<bHe>> shakes <<bhis>> head. <br><br> <i><span class="blue">Maybe <<bhe>> would teach you if <<bhe>> trusted you more.</span></i> <br><br> <<bird_perch_options>> <</if>> <<else>> <<if $bird.lock isnot 1>> <<bHe>> turns to face you, looking excited. <<bHe>> hops in place, then begins nudging you. <br><br> <<link [[Next|Bird Tower Fly Intro 2]]>><</link>> <<else>> <<bHe>> turns to face you, looking excited, but stops <<bhimself>>. <<bHe>> looks conflicted. After a moment, <<bhe>> sits back down. <br><br> <i><span class="blue">Maybe <<bhe>> would teach you if <<bhe>> trusted you more.</span></i> <br><br> <<bird_perch_options>> <</if>> <</if>> <br><<set $birdFly to 1>><<bird_pass 10>><<set $outside to 1>> <<bird_fly_reveal_wings>> <<bHe>> spends some time helping you preen your wings. <<if $monster is 1>> <br><br> "Always take care of feathers. Want to catch the wind as fast as possible," <<bhe>> says. <br> "You're not going to push me, are you?" you ask. <br> "Not if you're expecting it," <<bhe>> shoots back with a smile. <<stress 3>><<gstress>> <br><br> <<bHe>> walks behind you, and begins to knead and gently raise and lower your wings with <<bhis>> hands. "Not much muscle. Very new. You will have trouble flying. But you should glide well." <<else>> At first, you worry that <<bhes>> going to push you. <</if>> Your worries dissipate as <<bhe>> <<if $monster is 1>>walks<<else>>hops<</if>> towards the edge of the perch. <<bHe>> begins to stretch <<bhis>> wings, and nods for you to do the same. You think you get the gist of it. <br><br> <<if $monster is 1>> "You are ready. Come." <</if>> <<bHe>> motions you towards the ledge. You approach, and your stomach begins to tie itself in a knot. You knew you were up high, but the idea of actually jumping is catching up to you. Your vision begins to blur, and the ground looks to be getting further and further away despite you moving forward. <<if $monster is 1>> You feel a hand on your shoulder. "I believe in you, <<wife>>." <<else>> You feel feathers against your skin. <<bHe>> is watching you closely. <</if>> <br><br> And then, you're pushed. <br><br> <<link [[Next|Bird Tower Fly Intro 3]]>><</link>> <br><<bird_pass 10>> The air rushing by your head is deafening. The ground slowly gets closer and closer. You feel the urge to scream, but it gets caught in your throat. Your arms and legs begin to feel numb, and the edges of your vision begin to darken. Soon, the only things you can feel are your racing heart and your beating wings. <<ggstress>> <br><br> You don't even know when your wings started moving, but they're beating furiously. They're moving out of sync and in different directions, leaving feathers in the air behind you. It feels like hours have passed since you were pushed over. You manage to look behind you, and see the Great Hawk rapidly descending towards you. Everything fades to black. <<stress 1000>><<gggstress>> <br><br> When your eyes open again, the ground is barely any closer. In fact, it almost looks like it's getting further away. Your ears briefly ring, but you can hear an intense wind. You feel it, too. It's carrying you. <br><br> You open your wings as wide as you can, and you catch the wind. <br><br> <<link [[Fly|Bird Tower Fly Intro 4]]>><</link>><br><<bird_pass 10>> The wind pushes you higher and higher into the air. You level out your body and angle your wings. You drop briefly, causing a jolt of nausea to shoot through you, but you manage to hold. Before you know it, you're gliding forwards. <br><br> The deafening wind grows quiet, and you start to regain feeling in your limbs and head. The ground no longer looks like certain death. You hear the beating of another pair of wings behind you. <br><br> <<if $monster is 1>> The Great Hawk catches up to you, arms stretched to either side as <<bhe>> rears <<bhis>> wings to match your speed. <<bHe>> drifts closer to you, and you feel one of <<bhis>> hands wrap around yours. <<takeHandholdingVirginity "Great Hawk" "romantic">> <br><br> "I knew you could do it." <<else>> The Great Hawk catches up to you, and begins to circle you in altitude. <<bHe>> lets out a screech of pride into the sky, daring the world to watch your triumph. <</if>> <br><br> <<link [[Fly|Bird Tower Fly Intro 5]]>><</link>><br><<bird_pass 10>><<set $outside to 0>> <<willpower 20>> The two of you drift on for a great distance. You can hardly even see the castle anymore, and <<bhe>> can see the exhaustion taking its toll on you. <<tiredness 60>><<gggtiredness>> <br><br> <<if $monster is 1>> You feel <<bhis>> hands wrap around your waist. "You can relax now. I'll carry us home." You fold your wings, and <<bhe>> changes course. <<else>> You feel <<bhis>> talons gently grasp you, and start to steer you in a different direction. After a moment, <<bhe>> lifts you, and starts flying back towards the castle. <</if>> You can do little but enjoy the view. <br><br> When you reach the perch, you can't feel your legs touch solid ground. You collapse as soon as <<bhe>> lets you go, but <<bhe>> catches you. <<if $monster is 1>> The two of you hold each other at the top of the castle. Soon enough, <<bhe>> carries you back to the nest. "I could not ask for better <<wife>>." <<bHe>> gives you a peck on the cheek, and walks away. <<else>> <<bHe>> carries you back to the nest, and gives you a loving nuzzle before hopping away. <</if>> <br><br> You wonder if anything you just experienced was real for a moment. The vertigo and dread certainly were. <<gggwillpower>><<willpower 24>> <br><br> <<earnFeat "Catch the Wind">> <<link [[Next|Bird Tower Bed]]>><<endevent>><<unset $birdPerch>><</link>> <br><<setTowerTemp>><<effects>> <<if $monster is 1>> The <<beasttype>> lays you in the nest, and lies down beside you. <<bHe>> rests a wing over you. <<else>> You lie in the nest. The <<beasttype>> shuffles beside you, and covers you with a wing. <</if>> <br><br> <<link [[Next|Bird Tower Bed]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $bird.state is "home">> <<npc "Great Hawk">> You begin to rub away at the material binding you. The <<beasttype>> turns <<bhis>> head at the sound. <<if $monster is 1>> <<bHe>> stops what <<bhes>> doing, and walks over to you. "Your wings will never stay clipped." <<bHe>> effortlessly breaks your bindings. <<else>> <<bHe>> hops over and sharply kicks <<bhis>> talons at you. Your bindings fall at your feet. <</if>> <<else>> You rub your bindings against some jagged stone. It takes some effort, but eventually the material yields, freeing your limbs. <br><br> <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<npc "Great Hawk">><<person1>> <<if ndef $bird_lurkers>><<set $bird_lurkers to 0>><</if>> <<run $bird_lurkers += $lurkers_held>> <<if $speech_attitude is "meek">> "I brought something for you," you say. "I really hope you like it." <<elseif $speech_attitude is "bratty">> "I have something for you," you say. "You're welcome." <<else>> "I brought you a gift," you say. "I hope you like it." <</if>> <<wearProp "lurker">> You take your netted lurker and give it to your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. <<npcincr "Great Hawk" love 1>><<glove>> <br><br> <<if $monster is 1>> The <<beasttype>> perks up at your offer. <br><br> "<<Wife>> went hunting for me?" <<bhe>> asks. "<<Wife>> is very generous. And strong." <<bHe>> lunges forward, grasping the lurker in an almost crushing grip with <<bhis>> talons. A few moments later, <<bhe>> releases the now motionless lurker. <<bHe>> opens up the net and begins to eat. <br><br> After taking a couple of bites, <<bhe>> pauses before looking up at you. <br><br> "<<Wife>> should have some," <<bhe>> offers. "Celebrate <<if $bird.hunts.unlocked is false>>your first<<else>>a good<</if>> hunt." <<else>> The <<beasttype>> lets out an elated squawk before leaping forward and pinning the lurker down, squeezing it tight with <<bhis>> talons. <<bHe>> tears the net open before pulling a chunk of meat off the now motionless lurker. <br><br> After eating for a few moments, the <<beasttype>> lifts <<bhis>> head from <<bhis>> meal and takes a short hop backwards. <<bHe>> tilts <<bhis>> head slightly, before looking between you and the lurker, almost expectantly. <</if>> <br><br> <<set $lurkers_held to 0>> <<feedLurker>> <<link [[Accept <<bhis>> offer|Bird Tower Give Captured Lurker Accept]]>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom 1>><<stress -16>><</link>><<llstress>><<glove>><<gdom>> <br> <<link [[Decline|Bird Tower Give Captured Lurker Refuse]]>><<handheldon>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br><<canvas-model-override "mouth" "chew">> <<if $speech_attitude is "meek">> "Thank you," you say. <<elseif $speech_attitude is "bratty">> "Well, thanks," you say. <<else>> "Thanks," you say. <</if>> You sit down next to the lurker and begin to eat. The <<beasttype>> also resumes <<bhis>> meal, and the two of you devour the lurker in companionable silence. <br><br> <<if $monster is 1>> <<if $bird.hunts.unlocked is false>> "<<Wife>> should go hunting more often," <<bhe>> says after you've both polished off the lurker. "Maybe go hunting together sometime?" <<bHe>> seems keen on the idea. You make a noncommittal <<if $speech_attitude is "bratty">>grunt<<else>>hum<</if>> and scooch over so that you're sitting next to <<bhim>>. <<else>> "<<Wife>> hunts well, even alone," <<bhe>> says after you've both polished off the lurker. You scooch over so that you're sitting next to <<bhim>>. <</if>> <br><br> <<else>> Once you've finished your meal, the <<beasttype>> lets out a satisfied chirp, before sidling over to sit next to you. <br><br> <</if>> <<bHe>> wraps a wing around you, and you snuggle into <<bhis>> plumage. <br><br> <<if $bodysize lte 1 and $monster is 1>> <<bHe>> leans over slightly and rests <<bhis>> head atop yours. <<elseif $monster isnot 1 and $bodysize gte 3>> <<bHe>> nuzzles <<bhis>> head under your chin, resting it on the front of your shoulder. <</if>>The two of you spend a minute or two like that, just enjoying being with each other. <<lstress>> <<bird_pass 15>> <br><br> <<link [[Next|Bird Tower]]>><<canvas-model-override "clear">><<endevent>><</link>> <br><<if $speech_attitude is "meek">> "I'm not very hungry," you say. "You can have it." <<elseif $speech_attitude is "bratty">> "Nah. I'll pass," you say. <<else>> "No thanks," you say. "You can have it." <</if>> <br><br> <<if $monster is 1>> <<bHe>> looks uncertain. "Alright," <<bhe>> says. "But if <<wife>> wants to share in the future, <<wife>> only has to ask." <br><br> <<bHe>> resumes eating, although <<bhe>> seems slightly subdued. <br><br> <<else>> <<bHe>> hesitates for a moment, before diving back into <<bhis>> meal. <br><br> <</if>> While your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> eats, you sit down next to <<bhim>> and rest for a moment. Once <<bhes>> finished with the lurker, <<bhe>> sits back, then <<if $monster is 1>>leans<<else>>nuzzles<</if>> into your side<<if $monster is 1>>, wrapping an arm around you<</if>>. <br><br> <<if $monster is 1>> "I'm so happy to have <<wife>>," <<bhe>> says. <br><br> <</if>> <<bird_pass 10>><<bird_schedule>> After a minute of cuddling, <<bhe>> <<if $monster is 1>>releases<<else>>pulls away from<</if>> you. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>><<set $outside to 1>><<set $location to "moor">> <<if $harpy gte 6 and $birdFly is 1>> Together, you soar through the crisp night air, leaving the world below to shrink into insignificance as you fly higher and higher. <<else>> You allow yourself to be lifted onto <<bhis>> back, feeling the powerful beat of <<bhis>> wings as you ascend into the night. <</if>> <br><br> <<if $monster is 1>> "Clasp tight," <<bhe>> murmurs softly, <<bhis>> voice a soothing contrast to the rush of wind that tousles your hair. <<else>> <<bHe>> gently nudges you to hold on tightly, <<bhis>> touch reassuring amidst the gusts of wind tousling your hair. <</if>> Beneath you, the moor stretches out, its myriad colours and textures illuminated by the gentle glow of the moon. The <<beasttype>> spreads <<bhis>> wings wide, a silent testament to <<bhis>> mastery of the skies, while you marvel at the beauty that surrounds you. <<stress -12>><<trauma -12>><<llstress>><<lltrauma>> <br><br> <<if $monster is 1>> "Look." <<bHis>> voice breaks the silence as <<bhe>> gestures toward the landscape below. The distant spring, the shimmering lakes, the winding rivers, the rolling hills, and the ancient shrines are all bathed in the light of the moon. <br><br> <<if $dateCount.GreatHawkCasual is 0>> "Do you often fly alone?" you venture, your curiosity piqued by <<bhis>> solitary existence. <br><br> "Always," comes <<bhis>> wistful reply. "Until <<wife>> came." <<npcincr "Great Hawk" love 1>><<glove>> <br><br> <</if>> <<else>> <<bHis>> wings cut through the air with precision, gliding effortlessly above the vast expanse of the land below. <<bHe>> angles downward, motioning with a tilt of <<bhis>> head toward the sprawling landscape below, breaking the silence with a slight croak. <br><br> <<if $dateCount.GreatHawkCasual is 0>> "Do you often fly alone?" you venture, your curiosity piqued by the creature's solitary existence. <br><br> <<His>> flight remains steady, but a hint of nostalgia colours <<bhis>> movements. There's a subtle shift in <<bhis>> demeanour, a silent acknowledgment of the solitude that was <<bhis>> only companion until another joined <<bhis>> skies. <<npcincr "Great Hawk" love 1>><<glove>> <br><br> <</if>> <</if>> As you fly, the tension on your shoulders begins to melt away, replaced by a sense of peace and tranquillity. The <<beasttypes>> presence, once imposing, now feels comforting, like a safe haven. <br><br> <<link [[Next|Bird Tower Night Flight 2]]>><<bird_pass 30>><</link>> <br><<effects>> Suddenly, <<bhe>> dips lower, descending toward a sparkling lake nestled among the hills. <<if $monster is 1>> "Shall we swim together?" <<bhe>> asks eagerly, <<bhis>> eyes shining with anticipation. <<else>> <<bHe>> squawks eagerly, <<bhis>> eyes shining with anticipation. <</if>> <br><br> With a nod, you plunge into the lake together. <<silently>><<water>><</silently>> <br> The water envelops you, its cool touch soothing your skin as you glide beneath the shimmering surface. You both come up for air, and the water slowly settles. The <<beasttype>> dips <<bhis>> wings back into the water, sending ripples cascading outward, a playful gesture that mirrors your own excitement. <br><br> As you frolic in the moonlit lake with <<bhim>>, the gentle lapping of the water against the shore fills the air with a soothing melody. <<bHis>> feathers glisten with droplets of water, reflecting the moonlight in a dazzling display of silver and blue. <<bHis>> eyes sparkle with delight as <<bhe>> darts through the water. With each stroke of <<bhis>> powerful wings, <<bhe>> propels <<bhimself>> forward, effortlessly keeping pace with you. <br><br> <<link [[Next|Bird Tower Night Flight 3]]>><<bird_pass 30>><</link>> <br><<effects>><<silently>><<water>><</silently>> Overhead, a flock of geese honk loudly as they fly in formation, their dark silhouettes cutting through the night sky. The <<beasttype>> watches them with keen interest, <<bhis>> eyes tracking their movements with a mixture of curiosity and admiration. <br><br> From a nearby tree, a pair of birds take flight. Chirps and trills fill the air as they soar through the sky. <br><br> Above the surface, the moon casts its gentle glow, illuminating the water with a silvery sheen. The ripples caused by your entry into the lake create mesmerising patterns that dance across the surface. Below, a vibrant array of fish dart to and fro, their scales glinting in the moonlight. Silver flashes reveal their pursuit of prey, some swimming alone while others move in synchronised schools, creating a mesmerising dance. <br><br> You glide through the water, catching glimpses of their colourful bodies darting in and out of shadows, their movements akin to flickers of light against the dark depths. <<stress -12>><<trauma -12>><<llstress>><<lltrauma>> <br><br> <<link [[Next|Bird Tower Night Flight 4]]>><<bird_pass 30>><</link>> <br><<effects>><<silently>><<water>><</silently>> The <<beasttype>> descends into the water beside you, <<bhis>> wings folding against <<bhis>> body as <<bhe>> swims effortlessly. You marvel at the sight of <<bhim>> gliding through the water, <<bhis>> feathers shimmering. <br><br> <<bHis>> keen eyes lock onto the colourful fish weaving through the shadows below. <<bHis>> body tenses with anticipation, wings subtly adjusting for a swift descent. Without a sound, <<bhe>> swoops down, diving gracefully towards <<bhis>> prey, the excitement evident in <<bhis>> focused movements, snatching a fish in <<bhis>> talons before resurfacing with a triumphant flourish. <br><br> <<if $monster is 1>> <<bHis>> voice fills with excitement as <<bhe>> shares <<bhis>> knowledge of the lake's inhabitants, using the fish in <<his>> grasp as a visual aid. <</if>> Occasionally, a cautious fish approaches you, its sleek form gliding effortlessly through the water as it investigates this new intruder in its domain. You watch in fascination as it circles around you, its eyes gleaming with curiosity before darting away into the depths once more. <br><br> A sense of contentment settles over you. The worries and troubles of the world fade away, replaced by a profound sense of peace and connection. In this moment, surrounded by the beauty of the night and the company of your <<beasttype>>, you feel alive. <<stress -12>><<trauma -12>><<llstress>><<lltrauma>> <br><br> <<link [[Next|Bird Tower Night Flight End]]>><<bird_pass 30>><</link>> <br><<set $location to "tower">><<setTowerTemp>><<effects>><<set $birdSleep to 1>> The two of you fly from the lake shore, back home. <span class="green">The rushing winds dry you off quickly.</span> <<silently>><<dry>><</silently>> <br><br> You land on the perch. The <<beasttype>> gently sets you down in the nest, a silent promise of more adventures to come. <<if $monster is 1>> "Rest now, <<wife>>," <<he>> whispers tenderly, <<his>> words a gentle lullaby, cradling you in the warmth of <<his>> embrace. <<else>> With a tender nudge of <<bhis>> beak, <<bhe>> encourages you to rest, <<bhis>> presence a comforting embrace. <</if>> The <<beasttype>> watches over you with a quiet reverence, <<bhis>> lonely existence momentarily forgotten in the light of your shared flight. Nestled against <<bhis>> feathered chest, you feel the gentle rhythm of <<bhis>> heartbeat, a soothing melody that lulls you. <br><br> <<link [[Next|Bird Tower Bed]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<set $birdSleep to 1>> You hesitate, feeling a pang of uncertainty. Despite the <<beasttypes>> gentle entreaty, the thought of being whisked away into the night fills you with unease. With a heavy heart, you shake your head, declining <<bhis>> request. <br><br> For a moment, a flicker of sadness crosses <<bhis>> eyes, <<bhis>> wings drooping slightly in disappointment. Without a word, <<bhe>> curls up in the nest. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<switch $bird.upgrades.decor>> <<case 0>>You look around your tower. <<case 1>>You look around your tower. It's starting to look less dull with some trophies set up. <<case 2>>You look around your tower. Having trophies around makes it look cosier. <<case 3>>You approach the shelves that store your loot. Your neatly set up trophies take up a lot of space. <<case 4 5>>You approach the shelves that store your loot. The spoils from your hunts spill over onto the walls. <</switch>> <<if $bird.hunts.unlocked is true>> <<if $bird.hunts.materials is false>> <<set $bird.hunts.materials to true>> You take a moment to look upon the state of your nest. Your eyes wander around the room, spotting imperfections that nag at your mind. You can make things better. <span class="blue">Maybe you should try to look for materials next time you hunt.</span> <br> <span class="gold">You can now hunt for materials.</span> <<else>> You should be able to find high-quality wood, sticks, and leaves while hunting to improve the tower. You could also steal <<if $bird.upgrades.tools is 0>>tools and <</if>>supplies from travellers. <</if>> <<else>> There's plenty of room for improvement, but you don't have the means to bring materials back. <span class="blue">Maybe the Great Hawk could teach you how to hunt.</span> <</if>> <br><br> Materials: <br> <<for _material range Object.keys($bird.materials)>> <<if _material isnot "valuables" and _material isnot "junk" and $bird.materials[_material] gte 1>> <<set _materialsMessage to true>> <<birdicon _material>> $bird.materials[_material] <<switch _material>> <<case "sticks">>stick<<if $bird.materials[_material] gte 2>>s<</if>> <<case "leaves">>large <<if $bird.materials[_material] gte 2>>leaves<<else>>leaf<</if>> <<case "lurkers">>lurker<<if $bird.materials[_material] gte 2>>s<</if>> <<case "feathers">>feather<<if $bird.materials[_material] gte 2>>s<</if>> <<default>>_material <</switch>><br> <</if>> <</for>> <<unset _material>> <<if !_materialsMessage>> <span class="black">Nothing</span> <br> <</if>> <<if $lurkers_held gte 1>> <<birdicon "lurkers_netted">><<link [[Add your netted lurker to the pile|Bird Tower Build]]>><<set $lurkers_held-->><<set $bird.materials.lurkers++>><</link>> <br> <<elseif $farm_stage gte 10 and $bird.materials.lurkers gte 1>> <<birdicon "lurkers_netted">><<link [[Put a lurker in your net|Bird Tower Build]]>><<set $lurkers_held++>><<set $bird.materials.lurkers-->><</link>> <br> <</if>> <br> Shiny things: <br> <span id="towerVal"> <<towerValuables>> </span> <br> <<if $bird.clean lte 9>> <span class="pink">The tower is too filthy to be improved.</span> <<elseif $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too tired to build anything.</span> <<elseif $syndromebird isnot 1 and $hunger gte 2000>> <span class="red">You're too hungry to focus on anything else.</span> <<else>> <div id="towerUpgrades"> <<towerBuildOption duster>> <<if $harpy gte 6>> <<towerBuildOption clip>> <</if>> </div> <br> <div id="towerUpgrades"> <<towerBuildOption shelter>> <<towerBuildOption nest>> <<towerBuildOption firepit>> <<towerBuildOption pot>> <<towerBuildOption rack>> <<towerBuildOption snare>> <<towerBuildOption decor>> <<towerBuildOption wardrobe>> </div> <</if>> <br><br> <<link [[Back|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "leaf">> You use some fabric to bind some large leaves together, and secure them to the roof where rain leaks through. It should last longer than what the Great Hawk was building, but it's still not much. <<set $birdShelterTimer to 900>> <br><br> <<link [[Next|Bird Tower Build]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "toolbox">> You get to work securing the tarp to the roof. You decide to place it under the holes rather than on top of the tower so there's no chance it will blow away. You angle it so water drains into the rainwater pool. <br><br> Having tools makes it simple, and with some wood for proper weight distribution, it seems secure. You give it a hefty tug, and it stays in place. You step back and admire your work. <<stress -6>><<lstress>> <<unset $birdShelterRepair>> <br><br> <<link [[Next|Bird Tower Build]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "tarp">> Pulling the tarp back down is a chore, but you manage after a bit of a struggle. <br><br> You cut a hole in it and bind some leather and fabric around it on the other side. It takes a few attempts, but eventually you get the perfect shape to keep water from flowing through the hole while allowing smoke to escape. <br><br> You re-secure it to the roof, satisfied with your ingenuity. <<trauma -6>><<ltrauma>> <br><br> <<link [[Next|Bird Tower Build]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "leaf">> You lay down some fabric and leaves in your part of the nest. It will prevent any uncomfortable poking, at least. <br><br> <<link [[Next|Bird Tower Build]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "leaf">> <<npc "Great Hawk">><<person1>> You join the Great Hawk at your nest. <<if ["rest","sleep"].includes($bird.activity)>> You gently shake <<bhim>> awake. <</if>> <<switch $speech_attitude>> <<case "meek">>"C-can we make it softer? It's kind of... rough," you say. <<case "bratty">>"I'm sick of getting poked by twigs," you say. "We're making it more comfortable." <<default>>"Here, let me help," you say. "I don't have as many feathers as you, so it's a little rough on me." <</switch>> <br><br> <<if $monster is 1>> "Of course, <<wife>>," <<bhe>> says <<else>> <<bHe>> chirps <</if>> before starting to pick wood away. <<set _eggCount to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if _eggcount>> You gently remove your egg<<if _eggCount gte 2>>s<</if>> and place <<if _eggCount gte 2>>them<<else>>it<</if>> on a folded piece of fabric. <</if>> You layer leaves in between sticks, and add some larger pieces of wood for better support. You smooth down the inner nest and make a comfortable sheet of fabric over the surface. <br><br> When you're finished, your spouse looks pleased. <<if $monster is 1>> "A fine place for eggs." <</if>> <br><br> <<link [[Next|Bird Tower Build]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">><<person1>> <<wearProp "toolbox">> You join the Great Hawk at your nest, carrying some materials and the toolbox with you. <<if ["rest","sleep"].includes($bird.activity)>> You gently shake <<bhim>> awake. <</if>> <<bHe>> looks at you curiously. <br><br> <<switch $speech_attitude>> <<case "meek">>"I think we need to start over," you say. "I-if that's not too much to ask." <<case "bratty">>"This thing sucks for humans," you say. "We're redoing it." <<default>>"We need to start over," you say. "Trust me, it will be better this way." <</switch>> <br><br> <<if $monster is 1>> <<bHe>> looks disappointed for a moment, but smiles at you. "Would be happy to build a new nest with you." <<else>> <<bHe>> chirps<<if understandsBirdBehaviour()>> mournfully, but seems to cheer up quickly<</if>>. <</if>> <<set _eggCount to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if _eggcount>> You gently remove your egg<<if _eggCount gte 2>>s<</if>> and place <<if _eggCount gte 2>>them<<else>>it<</if>> on a folded piece of fabric. <</if>> <br><br> You get to work demolishing the old nest. It doesn't take long. You throw out any old wood or leaves and sort anything still usable by size and strength. You also make sure to save the fabric from your last improvements to the nest. <br><br> Inspiration strikes you, and you decide to make the nest raised from the ground. You cross large pieces of wood as a foundation, leaving space for the nest itself to hang. You also add in some random shiny junk. It won't improve the structure, but it's inexplicably pleasing to look at. Your spouse works on the nest itself, and the two of you lift the base of it onto the frame you've made. <br><br> While <<bhe>> finishes meticulously placing each stick and log, you begin to sew fabric and lurker leather into small sacks. You fill them with leaves and feathers. It's the closest thing you'll get to a pillow out here. <br><br> You fill the nest with leaves, and throw two sewn sheets of fabric over the top. They're large enough to hang over the edges. Finally, you throw in your makeshift pillows. All that's left is to test it out. <br><br> <<link [[Climb in|Bird Tower Build Nest 4]]>><<handheldon>><<set $phase to 1>><</link>> <br> <<link [[Jump in|Bird Tower Build Nest 4]]>><<handheldon>><<set $phase to 2>><</link>> <br><<setTowerTemp>><<effects>> <<if $phase is 1>> You gingerly climb into the nest. It doesn't budge, and easily supports your whole weight. The Great Hawk hops in after you. <<else>> Impulse takes over, and you jump into the nest. It holds firm, the leaves and fabric cushioning your landing. The Great Hawk jumps in after you. <</if>> <<set $phase to 0>> It's remarkably comfortable. Most of the orphans would be jealous to have a bed this well-made. <<trauma -12>><<lltrauma>> <br><br> You allow yourself a moment of rest after a job well done. Your spouse cuddles up next to you. <<if $monster is 1>> "I could not have built a nest like this alone. Never. <<Wife>> is incredible." <</if>> <br><br> <<link [[Test how durable the nest really is|Bird Tower Build Nest Sex Start]]>><</link>><<deviant1>> <br> <<link [[Sleep|Bird Tower Bed]]>><<endevent>><</link>> <br> <<link [[Get up|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You slowly run your hands down the <<beasttypes>> feathers, towards <<bhis>> <<nnpc_genitals "Great Hawk">>. <<switch $speech_attitude>> <<case "meek">>"W-we still need to make sure it won't fall apart on us while we're..." you start. You push yourself closer to <<bhim>>. <<case "bratty">>"How about we break it in?" you ask. You throw one leg over <<bhim>>, giving <<bhim>> little choice. <<default>>"We should test how durable it is," you say, spreading your legs with a smile. <</switch>> <<deviancy1>> <<if $monster is 1>> "I agree, <<wife>>." <<bHis>> wings close around you. <<else>> Wings flap on either side as the <<beasttype>> tries to mount you. <</if>> <br><br> <<link [[Next|Bird Tower Sleep Sex]]>><<set $sexstart to 1>><<set $phase to 2>><<transform bird 1>><</link>> <br><<setTowerTemp>><<effects>> <<set $bird.fire_1 to true>> You grab a few stray blocks of stone and arrange them in a circle. You set up a bit of firewood and kindling, before trying to start a fire. <br><br> You begin to rub two sticks together. <<if Weather.precipitation is "rain" and $bird.upgrades.shelter is 0>> <<if $bird.state is "home" and $bird.activity isnot "sleep">> <<npc "Great Hawk">><<person1>> You struggle to get it started with the rain leaking in through the roof. After a few minutes, you feel it suddenly stop. You look up to see the Great Hawk's wing shielding you. <<bHe>> <<if $monster is 1>>smiles<<else>>caws<</if>> at you. <br><br> It still isn't easy, but it's certainly better. It isn't long before you start to see smoke. <<tiredness 3>><<gtiredness>> <<else>> The rain leaking in through the roof does nothing to help. It takes you nearly an hour just to get it smouldering. <<tiredness 12>><<ggtiredness>> <</if>> <<else>> It takes you a few minutes, but eventually you see smoke. <<tiredness 3>><<gtiredness>> <</if>> <br><br> <<run upgradeBirdFirepit()>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You move the stone blocks out, making the pit wider, and stack more wood. You fasten some scrap to the end of a stick to serve as a fire poker. <br><br> With the fire properly sheltered and ventilated, it should last much longer. <br><br> <<run upgradeBirdFirepit()>> <<link [[Next|Bird Tower]]>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "lurker leather">> <<set $bird.fire_2 to true>> You move the stone blocks out further, and stack more wood. You make a more robust fire poker from scrap and a bit of leather for a safer handle. <br><br> This is as big as you can safely make the fire. It should burn for quite some time. <br><br> <<run upgradeBirdFirepit()>> <<link [[Next|Bird Tower]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>> You crouch down in front of the <<if $bird.upgrades.firepit is 3>> bonfire. <<else>> firepit. <</if>> <<if $bird.state is "home" and $bird.activity isnot "sleep" and $bird.upgrades.pot gte 2 and $bird.cook_unknown>> <br><br> <<run delete $bird.cook_unknown>> <<npc "Great Hawk">> Your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> walks over to your newly set up cooking pot. <<if $monster is 1>> "What has <<wife>> made?" <<bhe>> asks, looking over the pot. <br><br> You explain you'll be able to cook lurkers with the pot. "Cook? Heat makes meat unpleasant, but if <<wife>> wants to, then <<wife>> can." <<else>> <<bHe>> pokes the pot with <<bhis>> beak, trying to figure out what it does. You explain you'll be able to cook lurkers with the pot. <<bHe>> peeks inside the pot, then squawks dismissively. <<bHe>> does not seem to want <<bhis>> lurkers cooked. <</if>> Content with your explanation, <<bhe>> returns to <<bhis>> perch. <br><br> <<link [[Next|Bird Tower Firepit]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and $bird.activity isnot "sleep" and $bird.upgrades.firepit gte 1 and getBirdBurnTime() gte 1 and $bird.fire_1>> <br><br> <<run delete $bird.fire_1>> <<npc "Great Hawk">> Your <<beasttype>> warily approaches the burning firepit. <<if $monster is 1>> "Is <<wife>> sure we should have a fire so close to us?" <<bhe>> asks. <<else>> <<bHe>> looks at you, concerned about having a fire in here. <</if>> You tell <<bhim>> the fire is contained, so <<bhe>> doesn't need to worry. <<bHe>> still looks uncertain, but does not seem so afraid anymore. <br><br> After inspecting the fire a little longer, <<bhe>> eventually calms down and returns to what <<bhe>> was doing. <br><br> <<link [[Next|Bird Tower Firepit]]>><<endevent>><</link>> <br> <<elseif $bird.state is "home" and $bird.activity isnot "sleep" and $bird.upgrades.firepit gte 3 and getBirdBurnTime() gte 720 and $bird.fire_2 and !$bird.fire_1>> <br><br> <<run delete $bird.fire_2>> <<npc "Great Hawk">> Your <<beasttype>> walks over to the fire. <<if $monster is 1>> "<<Wife>> has really made the fire big," <<bhe>> says. You ask if <<bhes>> still worried about it. "Not anymore, <<wife>> is keeping the fire safe." <<else>> <<bHe>> marvels at the big fire you've managed to create. Thankfully, <<bhe>> does not seem worried anymore. <</if>> <br><br> <<bHe>> gets even closer to the fire and spreads <<bhis>> wings, taking in the warmth. <br><br> <<link "Join <<bhim>> (0:10)" "Bird Tower Firepit Cuddle">><<bird_pass 10>><<set $phase to 1>><<npcincr "Great Hawk" love 1>><</link>><<glove>> <br> <<link [[Leave|Bird Tower Firepit Cuddle]]>><</link>> <br> <<elseif $bird.state is "home" and $bird.activity isnot "sleep" and $bird.upgrades.rack gte 1 and $bird.firepit.items.length gte 1 and $bird.rack_unknown>> <<run delete $bird.rack_unknown>> <<npc "Great Hawk">> You notice your <<if $monster is 1>> <<nnpc_wife "Great Hawk">> inspecting the drying rack. <<bHe>> looks at it with great interest. "What has <<wife>> created now?" <<bhe>> asks. You tell <<bhim>> you'll be able to dry lurkers to get leather. "Leather? Is that useful?" You explain you'll be able to use it to make more things. <<bHe>> seems to get it now. <<else>> partner pecking at one of your hanging lurkers. You shoo <<bhim>> away from it. <<bHe>> turns to look at you, hoping for some kind of explanation. You tell <<bhim>> that these lurkers aren't for food, but for drying out to get material to make things. The <<beasttype>> slowly nods along to your explanation, though there's no way <<bhe>> understands entirely. <</if>> With newfound understanding, your <<beasttype>> returns to <<bhis>> perch. <br><br> <<link [[Next|Bird Tower Firepit]]>><<endevent>><</link>> <br> <<else>> <<if $bird.state is "home" and ["groom","sing"].includes($bird.activity) and $bird.upgrades.firepit gte 3 and getBirdBurnTime() gte 720 and !$daily.birdFire>> <<set $daily.birdFire to true>> <<npc "Great Hawk">> Your <<beasttype>> comes and sits down next to you. <<bHe>> nuzzles against you for a moment, enjoying the warmth. After a moment, <<bhe>> gets up and returns to the perch. <<stress -6>><<llstress>> <<endevent>> <br><br> <</if>> <span id="firepitActions"> <<firepitActions>> </span> <<getouticon>><<link [[Back|Bird Tower]]>><</link>> <br> <</if>><<setTowerTemp>><<effects>> <<if $phase is 1>> You join your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> around the fire. <<bHe>> wraps a wing around you. You spend some time basking near the fire together. <br><br> Many minutes pass until the Great Hawk backs away from the fire. The wing wrapped around you feels warmer now. <<if $monster is 1>> "I'm glad you made this, it makes me warm. Just like being with <<wife>>," <<bhe>> says. <<else>> <<bHe>> nuzzles <<bhis>> beak against you affectionately. You can tell <<bhes>> happy to have you here with <<bhim>>. <</if>> <<bHe>> lets go and leaves you to enjoy the fire. <<else>> You leave your <<beasttype>> to enjoy the fire by <<bhimself>>. <<bHe>> only stays near it briefly, then returns to what <<bhe>> was doing. <</if>> <br><br> <<link [[Next|Bird Tower Firepit]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<set $bird.cook_unknown to true>> You fashion a simple mount for the cooking pot from sticks bound by fabric. You place the pot on top and give it a good push to make sure it holds. <br><br> <span class="blue">You can now cook lurkers.</span> <br><br> <<link [[Next|Bird Tower]]>><</link>> <br><<setTowerTemp>><<effects>> You throw a lurker into the cooking pot. <br><br> You stoke the fire, and keep a close eye on it. When you think it's done, you take a bite. It's strangely sweet. Rather than warmth, you feel a soothing calmness wash over you. <<eatLurker>><<trauma -18>><<lltrauma>> <br><br> <<link [[Next|Bird Tower Firepit]]>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "lurker leather">> <<set $bird.heat_unknown to true>> An idea strikes you. You could use a small change in elevation and a couple of tubes to fill the pot with water from the rainwater pool, heating it, before returning it back. <br><br> You fashion some tubes with leather and fabric. It's a bit leaky, but it will do. You stick one of the tubes in the pool and apply a bit of suction before dropping it in the pot. Water starts flowing in to be heated. You repeat the process with the other tube, and water begins flowing both ways. <br><br> You're sure this would earn you some praise from Sirris. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<effects>> <<if $phase is 1>> You agree and heat up the fire for <<bhim>>. <<if $monster is 1>> "<<Wife>> makes everything better, even cleaning," <<bhe>> says. "Does <<wife>> want to clean up now too?" <<bhe>> asks, offering <<bhis>> hand to you. <<else>> <<bHe>> nuzzles <<bhis>> beak against you in thanks. <<bHe>> turns to move to the water pool. <</if>> <br><br> <<link [[Follow (0:30)|Bird Tower Bathe Bird]]>><<bird_pass 30>><<endevent>><<set $phase to 1>><</link>><<if $monster is 1>><<handholdingvirginitywarning>><<NPCvirginitywarning "Great Hawk" "handholding">><</if>> <br> <<link [[Stay|Bird Tower]]>><<endevent>><</link>> <br> <<else>> You tell <<bhim>> you can't do it right now. <<if $monster is 1>> "Bad time right now? Alright," <<bhe>> says, sounding disappointed. <<else>> <<bHe>> keeps looking at you pleadingly, but soon gives up. <</if>> <<bHe>> walks to the rainwater pool. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <</if>><<setTowerTemp>><<effects>><<wearProp "stick">> <<set $bird.rack_unknown to true>> You use sticks and wood, bound with a bit of fabric, to make a simple standing rack to hang lurkers on. You make it wide enough to place over your firepit. <br><br> <span class="blue">You can now dry lurkers for leather.</span> <br><br> <<set $bird.firepit.maxItems to $bird.upgrades.rack * 2>> <<link [[Next|Bird Tower]]>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "toolbox">> Expanding on the drying rack is simple, especially with the right tools. You use some scrap to make sturdier legs, and make it big enough to hold two separate rods. <br><br> <<set $bird.firepit.maxItems to $bird.upgrades.rack * 2>> <<link [[Next|Bird Tower]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "stick">> With a little more elbow grease, you could vastly improve the design of your drying rack. <br><br> You start from scratch, carving the legs and rods out of sturdy wood capped with a bit of scrap to protect it from the heat. You then thatch together side supports with sticks and leather, allowing the whole assembly to fold in and out for easier storage. <br><br> Once that's done, you get to work building a ventilated cover for it. The strange fumes should harmlessly escape the tower, now. <br><br> You wipe your forehead and admire your handiwork. You should be able to dry out plenty of lurkers at once. <br><br> <<set $bird.firepit.maxItems to $bird.upgrades.rack * 2>> <<link [[Next|Bird Tower]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>> You collect some of your finds from hunting. You begin to place them in parts of the tower that look too vacant. A piece of torn up clothing here, a lurker hung there. <br><br> It's simple, but it makes the tower feel more homely. <<stress -6>><<lstress>> <br><br> You get lost in thought for a moment. With proof of your hunts, you have the urge to return to the sky with your spouse. <span class="blue">You can now ask the Great Hawk to go flying with you, when weather permits.</span> <br><br> <<link [[Next|Bird Tower]]>><</link>> <br><<setTowerTemp>><<effects>> You collect your hunting trophies. You build a small effigy near the broken wall, with firewood as a base. You dress it with a piece of torn clothing, fill it with leaves, and top it with a crown of lurkers. You pile up some shiny things around the base. <br><br> It looks a little uncanny. You're not entirely sure why you built it, but seeing your things collected together like this is pleasing nonetheless. <<stress -6>><<lstress>> <br><br> <<link [[Next|Bird Tower]]>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">><<person1>> <<wearProp "toolbox">> You gather your trophies, and look around the tower for inspiration. There's still plenty of room. <br><br> You weave together salvaged clothing into a large curtain. <<if ["rest","sleep"].includes($bird.activity)>> <<your_bird_text "cap">> stirs awake. <<bHe>> watches you curiously, and occasionally looks over your shoulder. <<else>> The Great Hawk occasionally looks over your shoulder. <</if>> It takes a long time, but when you're done, it's large enough to cover the entire broken wall. You use a long stick and some wood to fashion a simple opening mechanism. You show your spouse how to open it. <br><br> Your nest looks a little plain. You embed a piece of fabric with some of the shiny junk you've collected, and tie it to the base, hanging over the edge of the tower. <br><br> You build a simple display rack for a particularly empty section of the tower, using fabric and leaves as a pleasing backdrop for some valuables you've stolen. <br><br> You add some more shiny things to the shelter tarp above you, then move to your mirror. You use your tools to carve a new wooden frame for it to slide into, and add some leaves around it for a natural look. You hang some lurkers from the top. You step back and look around the tower again. Being surrounded by little memories like this is reassuring. <<stress -24>><<trauma -6>><<lllstress>><<ltrauma>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">><<person1>> <<wearProp "wood">> You pile up your hunting trophies once more. There's a lot to go through. <br><br> Over the course of about an hour, you cover an entire wall with shiny things you've snagged over time. You add some to the base of your nest, around your mirror, and to your wardrobe. Everything has a pleasing glint somewhere on its surface. <<if ["rest","sleep"].includes($bird.activity)>> All the activity causes <<your_bird_text>> to stir. <<bHe>> wakes up, stretches, and starts to follow you around. <<else>> <<your_bird_text "cap">> follows you around as you work, admiring the new decorations. <</if>> <br><br> You take a hefty piece of firewood and bind lurkers all around it. You sharpen some sticks and use them to display more lurkers. You start to hang them on any surface that will hold them. <br><br> The walls of your tower tell the stories of countless hunts, and tease more to come. Your spouse looks around, seemingly stunned at all you've accomplished. <<stress -24>><<trauma -6>><<lllstress>><<ltrauma>> <br><br> <<link [[Next|Bird Tower Build Decor Ponder]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>> <<set $bird.hunts.estate to "unlocked">> Despite everything you've managed to get, you still feel like you're missing something. Something to definitively prove you're the best hunter in the moor. You step to the perch and look out, wondering what you could find to prove your hunting superiority. <br><br> You consider your options. The moor itself has nothing special, neither do the animals that inhabit it. That leaves one option: humans. Not only are humans the most dangerous, they're also the most greedy. They're sure to have something. Though not just anyone will have what you need. You continue staring off into the moor, trying to come up with something. <br><br> Eventually your mind settles on the <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> Remy estate. Knowing the kind of business they do, you're sure they would have something special. <<if $estate and $estate.chaos>> You're no stranger to causing trouble for Remy, but the mere thought of stealing something from the estate with <<your_bird_text>> fills you with adrenaline. <</if>> <<else>> estate. While you don't know what goes on inside, it's your best bet for finding something special. <</if>> You know this is not something you can do alone. You'll have to ask your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> to help you. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>><<earnFeat "Terror's Equal">> <<npc "Great Hawk">><<person1>><<wearProp "silver bar">> With the silver bar as proof of your hunting prowess, it's only fitting to put it somewhere it can stand out as your crown jewel. <br><br> You get to work constructing a wooden pedestal for it. It takes some work, but the end result is one beautiful pedestal to place your prize on. You lift the silver bar up with both hands and place it on its new mount, resting on a bit of lurker leather. <br><br> After you're done, your <<beasttype>> comes over to inspect it. <<bHe>> looks happy with your work, though <<bhis>> attention is mostly taken by the silver bar itself. With how distracting the shine of it can be, you decide to sew together a nice piece of cloth to cover it. You place it on the silver bar for now. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<set $wardrobes.birdTower.unlocked to true>> <<set $bird.wardrobe_timer to 1000>> <<wearProp "toolbox">> You pile up a bunch of wood and prepare your tools. This will be a big project. <br><br> Wood carving takes up the bulk of the time. You need to make sure it has the right shape and structure. Once you have a standing frame, it becomes much easier. <br><br> The walls are next. You use your largest pieces for it, and use a mix of fabric and leather to bind pieces together. You wish you had some glue. You carve notches near the top as even as you can, both to accept a roof piece and for sticks to support hangers. <br><br> The roof piece is a bit heavy, but you lock it in place after a few tries. Finally, you carve sticks and tie bent pieces of junk to the tops to serve as hangers. You use lurkers for heavier hangers. Their stiff limbs stay in place when you bend them. <br><br> You stand up and admire your work. You swell with pride. <<trauma -12>><<lltrauma>> <br><br> You move your mirror right next to it. <<if $bird.duster is true>> You place your feather duster inside. <<run delete $bird.duster>> <<generalSend "birdTower" handheld 12>> <</if>> <br><br> <<link [[Next|Bird Tower]]>><<handheldon>><</link>> <br><<setTowerTemp>><<effects>><<wearProp "lurker leather">> You gather your materials, and start to bind leather and fabric together into a simple rope. You give it a tug. It holds. <br><br> It will serve as the trapping mechanism, but for now you're using it to sling the rest of the materials you need over your shoulder as you walk down the stairs to the courtyard of the castle. <br><br> You look around for a good spot, and see a bit of displaced grass. Something travels back and forth here frequently. You dig a small hole and drop in a piece of thick wood, and get to work rigging up the trap. You use a piece of shiny junk as bait. <br><br> <span class="blue">Your snare will sometimes catch a lurker. You'll need to use something shiny as bait each time.</span> <br><br> <<link [[Next|Castle]]>><<endevent>><<set $moor to 100>><<set $bird.lurkerSnareState to "ready">><</link>> <br><<setTowerTemp>><<effects>><<wearProp "featherduster">> You break a stick in half and hollow out the tip, before placing some feathers inside and tying them in place with a piece of fabric. <br><br> It looks cute. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> You use a small piece of junk and a bit of fabric to make a small feather binding. <br><br> Whose feathers will you use? <br><br> <<link [[Use yours|Bird Tower Build Clip 2]]>><<set $phase to 0>><</link>> <br> <<link [[Use Great Hawk's|Bird Tower Build Clip 2]]>><<set $phase to 1>><</link>> <br><<setTowerTemp>><<effects>> <<if $phase is 0>> <<wearProp "feather" "grey">> You use your own feathers. <<hairToFeatherColour>> <<generalWear "head" 31 _colourConverted>> <<else>> <<wearProp "feather" "original">> You use the Great Hawk's feathers. <<generalWear "head" 31 "brown">> <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">><<person1>> <<set _cleanIncrease to 0>> <<if $syndromebird is 1>> <<if $worn.handheld.name is "feather duster">> <<set $propEquipped to 0>> <<set _cleanIncrease += 2>> You use your feather duster to clean up the tower. The place looks much better by the time you're done. <<trauma -1>><<ltrauma>> <<elseif $bird.duster is true or ($bird.upgrades.wardrobe is 1 and getOwnedClothingCount(12, "handheld") gte 1)>> <<set _cleanIncrease += 2>> <<wearProp "featherduster">> You grab your feather duster <<if $bird.upgrades.wardrobe is 1 and getOwnedClothingCount(12, "handheld") gte 1>> from the wardrobe <<else>> from the wall <</if>> and use it to clean up the tower. The place looks much better by the time you're done. <<trauma -1>><<ltrauma>> <<else>> You do your best to tidy up. Your hands are dirty by the end. It would be easier to do with a feather duster. <</if>> <<else>> The tower is caked in dust, and small mounds of dirt are piled up in corners. You do your best to make the place look more presentable. <</if>> <<if currentSkillValue('housekeeping') gte 1500>> <<set _cleanIncrease += 7>> <<elseif currentSkillValue('housekeeping') gte 1200>> <<set _cleanIncrease += 6>> <<elseif currentSkillValue('housekeeping') gte 800>> <<set _cleanIncrease += 5>> <<elseif currentSkillValue('housekeeping') gte 600>> <<set _cleanIncrease += 4>> <<elseif currentSkillValue('housekeeping') gte 400>> <<set _cleanIncrease += 3>> <<elseif currentSkillValue('housekeeping') gte 200>> <<set _cleanIncrease += 2>> <<else>> <<set _cleanIncrease += 1>> <</if>> <br><br> <<if $bird.state is "home" and ["sing", "groom", "brood"].includes($bird.activity)>> <<if C.npc["Great Hawk"].love gte 15>> <<if C.npc["Great Hawk"].dom gte 50>> <<if $syndromebird is 1 and $monster is 1>> Your spouse walks <<else>> The <<beasttype>> hops <</if>> over and beats <<bhis>> wings heavily, using the air to push your collected dust and dirt out of the tower. <<set _cleanIncrease += 2>> <<else>> <<if $syndromebird is 1 and $monster is 1>> Your spouse <<else>> The <<beasttype>> <</if>> nuzzles your cheek when you're done. <</if>> <<else>> <<if $syndromebird is 1 and $monster is 1>> Your spouse <<else>> The <<beasttype>> <</if>> eyes you curiously as you work. <</if>> <br><br> <</if>> <<set $bird.clean += _cleanIncrease>> <<if !$syndromebird>> <<set $bird.clean to Math.clamp($bird.clean, 0, 30)>> <<else>> <<set $bird.clean to Math.clamp($bird.clean, 0, 110)>> <</if>> <<if $bird.upgrades.telescope is 0 and $bird.clean gte 75>> You take a step back and admire how much cleaner the tower is. As you do, a glint catches your eye near the far corner. <br><br> <<link [[Investigate (0:10)|Bird Tower Telescope Get]]>><<bird_pass 10>><</link>> <br> <</if>> <<link [[Next|Bird Tower]]>><<if $propEquipped is 1>><<if $carried.handheld.name isnot "naked">><<handheldon>><<else>><<handheldruined true>><</if>><<set $propEquipped to 0>><</if>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<wearProp "ornatetelescope">> <<set $bird.upgrades.telescope to 1>> You kneel down in the corner. A small hint of something shiny peeks out of the wall. You touch it, and what you first thought to be a solid brick crumbles at your touch. The brick must have been knocked loose a long time ago, and the hole was filled over centuries with compacted dust. <br><br> You tug on the shiny bit, and a large cylindrical object escapes the dust. It catches on the edge of the hole. After a bit of tugging, you get it free. <br><br> <span class="gold">It's an ornate telescope.</span> It's in remarkably good condition, seemingly preserved by its dusty tomb. Even the stand is still attached! <br><br> You dust it off, and set it up near the perch. <br><br> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">><<person1>> <<unset $birdBask>><<unset $birdPerch>> <<set $dateCount.GreatHawkCasual++>> You ask your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>spouse<</if>> to fly with you. <br><br> <<if $dateCount.GreatHawkCasual lte 3>> <<if $monster is 1>> <<bHe>> gets up and stretches <<bhis>> wings. "You want to hunt?" <<else>> The <<beasttype>> spreads <<bhis>> wings and extends <<bhis>> talons, showing <<bhes>> ready to hunt. <</if>> You tell <<bhim>> you don't want to go hunting, you just want to fly with <<bhim>>. Your idea seems to surprise <<bhim>>. <<if $monster is 1>> <<bHe>> considers it for a moment, then speaks. "We go." <<else>> <<bHe>> retracts <<bhis>> talons and tilts <<bhis>> head to the side, before hopping over to the perch. <</if>> <<elseif $dateCount.GreatHawkCasual lte 7>> <<if $monster is 1>> "You want to fly... but not hunt?" <<bhe>> asks. <<else>> <<bHe>> turns <<bhis>> head and looks at you inquisitively. <</if>> You tell <<bhim>> you just want to go on a relaxing flight with <<bhim>>. <<bHe>> looks delighted by your idea. <<bHe>> gets up and <<if $monster is 1>>walks<<else>>hops<</if>> over to the edge of the perch. <<else>> <<if $monster is 1>> <<bHe>> stands up. "Flying with you is always nice. I will gladly go flying with <<wife>> again," <<bhe>> says. <<else>> <<bHe>> gets up and squawks happily. <<bHes>> eager to go flying with you again. <</if>> You give <<bhim>> a pat on the back and walk to the edge of the perch with <<bhim>>. <</if>> <<if $dateCount.GreatHawkCasual gte 3 and !$bird.ritual>> <<bHe>> nuzzles you <span class="lewd">in an unusually provocative way</span>. <</if>> <br><br> You and <<your_bird_text>> spread your wings and leap out of the tower. <br><br> <<link [[Next|Bird Tower Casual Flight 2]]>><<bird_pass 20>><</link>> <br><<set $location to "moor">><<set $outside to 1>><<effects>> You and the <<beasttype>> start flying around the moor. With no goal in mind, you're able to take in the sights and enjoy flying. You let the wind take you wherever it blows. <<your_bird_text "cap">> follows you, happy to go wherever you want. <br><br> As you fly around, you talk to Great Hawk about random things that come to mind. <<if $monster is 1>> <<bHe>> mostly listens and gives short responses, <<else>> <<bHe>> makes small chirps in response, <</if>> letting you know <<bhes>> listening. <<trauma -2>><<ltrauma>> <br><br> Where will you fly? <br> <<link [[Around the moor|Bird Tower Casual Flight 3]]>><<bird_pass 20>><<set $phase to 0>><</link>> <br> <<link [[Toward the forest|Bird Tower Casual Flight 3]]>><<bird_pass 20>><<set $phase to 1>><</link>> <br> <<if $bird.ritual>> <<link [[Attempt the mating ritual|Bird Tower Mating Ritual Start]]>><<transform bird 1>><<bird_pass 20>><<set $phase to 1>><</link>><<deviant1>><<if $player.virginity.handholding is true>><<note "Success will be your first hand held" "red">><</if>> <br> <</if>><<effects>> <<if $phase2 is 2>> You keep flying, prompting <<your_bird_text>> to stop showing off. <<elseif $phase is 0>> You decide to keep flying around the moor. Without the need to look for prey, you're able to enjoy the sights. <<stress -3>><<lstress>> <<else>> You decide to fly to the forest. You make sure to stay high, but the wind isn't as strong here, making you slowly lose altitude. You rarely get to see what it looks like from above. It's quite calming. <<stress -3>><<lstress>> <</if>> <br><br> <<cleareventpool>> <<if $phase is 0>> <<addinlineevent "flight_casual_moor_rocky" 1>> You come across a particularly rocky part of the moor. Seeing it reminds you of how troublesome traversing the moor can be. You ask <<your_bird_text>> what <<bhe>> thinks of the moor. <br><br> <<if $monster is 1>> <<bHe>> thinks for a moment, then responds. "This place is good for hunting. There is always prey, and prey is easy to see." That seems to be <<bhis>> greatest interest. <<else>> <<bHe>> responds with a normal squawk. You interpret it as a sign of contentment and overall satisfaction. <</if>> You keep flying around the moor for a while. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_moor_people" 1>> You notice a small group of people walking around. <<if $livestock_intro isnot undefined>> You recognise them from Remy's farm. <<else>> None of them look familiar to you. <</if>> <<your_bird_text "cap">> sees them too. <<bHe>> doesn't look happy to see them. <<bHe>> lets out a loud screech, startling them. <br><br> <<bHe>> sways in the air, seemingly considering further harassment, but then seems to remember that you're with <<bhim>>. <<if $monster is 1>> "Sorry." <<else>> <<bHe>> turns <<bhis>> gaze away from them and squawks apologetically. <</if>> <br><br> Wanting to move on from the moment, <<bhe>> quickly flies past them. You keep flying around the moor for a while. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_moor_lurkers" 1>> You notice a group of lurkers laying in the grass. <<your_bird_text "cap">> notices them too. <<bHe>> looks at them, then back at you. <<bHe>> thinks for a moment, before letting out a loud screech. The lurkers jump and scramble away. <br><br> <<bHe>> becomes more excited and starts messing with the lurkers, pretending to chase them with <<bhis>> shadow. It's quite an amusing sight. <<stress -3>><<lstress>> <br><br> You keep flying around the moor for a while. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_moor_animals" 1>> <<endevent>> <<set _beastGen to ($rng gte 50 ? "cat" : "fox")>><<if _beastGen is "cat">><<beastNEWinit 3 cat>><<else>><<beastNEWinit 3 fox>><</if>> <<npc "Great Hawk" 4>> You notice some <<beastsplural 2>> resting in a secluded spot. Your <<beasttype 3>> sees them too. <<bHe 3>> doesn't pay them much mind. You ask what <<bhe 3>> thinks of the other inhabitants of the moor. <br><br> <<if $monster is 1>> "They avoid me. We don't have much in common. They remain landbound." The <<beastsplural 2>> notice you in the sky and scamper to hide. <<else>> <<bHe 3>> looks at you, then turns towards the <<beastsplural 2>> and screeches. They notice you and scamper to hide. Your <<beasttype 3>> bobs <<bhis 3>> head proudly. <</if>> You keep flying around the moor for a while. <<endevent>><<npc "Great Hawk">> <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<if $farm_stage gte 7>> <<addinlineevent "flight_casual_moor_alex" 1>> Your thoughts drift to Alex's farm. You decide to check up on it. You tell <<your_bird_text>> to follow you. <br><br> You fly towards the farm, past the Remy estate. Seeing the estate makes <<your_bird_text>> tense. After passing it, <<bhe>> seems to calm down. <br><br> You arrive near Alex's farm. You can see most of it from up here. The Great Hawk looks around, unsure of what to make of it. <<if $monster is 1>> You ask what <<bhe>> thinks of the place. <br><br> "It is big, lots of open space. Pleasing to look at. A lot better than the other one," <<bhe>> responds. <<else>> You wait for <<bhim>> to show some kind of reaction. <<bHe>> looks over the fields, buildings, and everything else. <<bHe>> looks intrigued. <</if>> You look over the farm for a little longer, making sure everything is in order. <br><br> After deciding you've seen enough, you and the <<beasttype>> fly back into the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <</if>> <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> <<addinlineevent "flight_casual_moor_remy" 1>> You end up close to the outskirts of the moor. You spot Remy's estate a bit further away. <<your_bird_text "cap">> looks uneasy. <<if $monster is 1>> "We should not go close to that place, it is dangerous," <<bhe>> says. You tell <<bhim>> you want to go just a little closer. "I do not want to, but I also do not want you to go alone. Fine, but just a little," <<bhe>> says hesitantly. <<else>> <<bHe>> seems apprehensive. You tell <<bhim>> you want to go just a little closer. <<bHe>> hesitates, but flies up to your side. <</if>> <br><br> You fly close enough that you can see partly into the property, but still far enough to not be noticed. The Great Hawk keenly observes every bit of movement. <<bHe>> looks focused, as if <<bhe>> was hunting. <<if $monster is 1>> After looking around for a bit, <<bhe>> speaks. "This is a dangerous place. You should never go here, <<wife>>." <<bHe>> sounds very serious. <<else>> <<bHe>> keeps looking over the estate while making small, aggressive chirps. <<bHe>> must really not like this place. <</if>> <br><br> After a couple of minutes, you tell <<bhim>> you want to leave. <<bHes>> more than happy to do so, and starts flying away. You follow <<bhim>> back into the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <</if>> <<addinlineevent "flight_casual_moor_wind" 1>> <<set $phase2 to 1>> The wind picks up, making you fly faster than expected. <<your_bird_text "cap">> easily keeps up with you. You fly around with great speed. <<if $monster is 1>> "You have gotten good at flying," <<bhe>> remarks. <<else>> <<bHe>> observes your flying with interest. <</if>> <br><br> After a few minutes, the winds die down, making you return to your usual speed. You keep flying around the moor for a while. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<if $bogProgress gte 1>> <<addinlineevent "flight_casual_moor_bog" 1>> You end up near the small pathway that leads into the bog. <<your_bird_text "cap">> looks towards it and <<if $monster is 1>> speaks. "Strange place. Dark and wet, barely anything. Better to just avoid it." <<else>> squawks. <<bHe>> would prefer not to go near it. <</if>> <br><br> You change course, and keep flying around the moor for a while. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <</if>> <<addinlineevent "flight_casual_moor_town" 1>> The winds lead you far, until you end up near the road leading out of town. You can see a few cars driving to and from the town. You stop to observe the flow of traffic. <br><br> <<your_bird_text "cap">> looks at them with almost childlike glee. <<if $monster is 1>> "Those big shiny things, I want to take one. I once tried to approach one that was still, but it made a very loud noise, so I had to leave. Maybe we can find one that is silent," <<bhe>> says. <<else>> <<bHe>> seems to like how shiny they are. <</if>> You spend some time admiring the cars with <<bhim>>. <br><br> Eventually, the traffic dies down. You and the <<beasttype>> fly away, and keep flying around the moor for a while. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<else>> <<addinlineevent "flight_casual_forest_treeline" 1>> You fly above the treeline. You notice Great Hawk eyeing the thick branches. <<if $monster is 1>> "Flying here is annoying. Sticks and leaves get in the way," <<bhe>> says. <</if>> You look at <<bhis>> large wings. You can see why flying in such thick woods would be problematic for <<bhim>>. <br><br> You keep flying above the forest for a while, until you decide to start flying back to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_forest_ask" 1>> You keep flying over the forest for a while. You ask why <<bhe>> never goes to the forest. <<if $monster is 1>> "There are many reasons. One is that there are many others here, dangerous others." As if on cue, you hear loud gunshot. <<else>> <<bHe>> looks at you and screeches. You hear a howl in response, followed by the sound of a gunshot. <</if>> The reason is quite clear now. <<stress 2>><<gstress>> <br><br> With the peace of the forest now disturbed, you begin flying back to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<if C.npc.Eden.init is 1>> <<addinlineevent "flight_casual_forest_eden" 1>> You let yourself fly lower. Suddenly, you hear gunshots somewhere nearby. The loud noise scares <<your_bird_text>>. You take a minute to comfort <<bhim>>. <<if $monster is 1>> "Sorry. Loud noises," <<bhe>> says. <<bHe>> still seems a little shaken. <<else>> <<bHe>> tries to act brave, but you can tell <<bhes>> still quite uneasy. <</if>> <br><br> You can tell <<bhe>> doesn't want to be anywhere near the forest anymore. <<your_bird_text "cap">> helps you regain altitude, and you fly back to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <</if>> <<addinlineevent "flight_casual_forest_wolves" 1>> As you are flying over the forest, you hear howling in the distance. It slowly intensifies. <<if $monster is 1>> "Their singing lacks melody, it's just noise," <<your_bird_text>> comments. <<else>> <<your_bird_text "cap">> seems unimpressed. <</if>> <br><br> You keep flying above the forest until you're unable to maintain altitude, at which point you return to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_forest_lake" 1>> As you're flying, you see the lake far below. You can just barely see your reflection in the <<if Time.season is "winter">>ice<<else>>water<</if>>. <<your_bird_text "cap">> avoids flying directly over the lake. <br><br> You fly a few laps around the lake, until the wind can no longer keep you aloft. You start flying back to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_forest_asylum" 1>> You see a building in the distance. You fly closer to it. <<if $asylumintro is 1>> You realise that it's the asylum. <<else>> The building looks large and old, with a few parts that look somewhat modern. <</if>> <br><br> <<your_bird_text "cap">> looks at it with interest. <<if $monster is 1>> "Such a big place. It could work well as a nest, if there were not so many landbounds," <<bhe>> says. <<else>> <<bHe>> seems especially interested in the upper parts of the building. Looks like <<bhe>> thinks this would be a good location for a nest, if there weren't so many people. <</if>> <br><br> You keep looking over the building for a bit, before you start flying back to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_forest_town" 1>> After flying for a bit, you see the outskirts of the town. You stop to look. <<if $monster is 1>> <<your_bird_text "cap">> speaks up. "I don't like how loud the landbound nest is. I won't go any closer to it," <<bhe>> says. <<else>> <<your_bird_text "cap">> hears the loud sounds coming from the town and looks annoyed. <<bHe>> refuses to fly any closer to it. <</if>> <br><br> You keep looking for a bit longer, before you decide to start flying back to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_forest_fox" 1>> <<endevent>> <<beastNEWinit 1 fox>> Between the trees, you notice a <<beasttype>> scrounging through a bird's nest. You can see <<bhim>> taking the eggs. Seeing this infuriates your <<endevent>><<npc "Great Hawk">><<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. <br><br> <<if $monster is 1>> "The ones near home don't dare to try this," <<bhe 0>> says coldly. <<else>> <<bHe 0>> chirps angrily. <<bHes 0>> most likely thinking of how <<bhe 0>> would react if those were <<bhis 0>> eggs. <</if>> You reassure <<bhim 0>> that no one will ever get into the nest. This seems to calm <<bhim 0>> down. <br><br> You keep flying above the forest for a bit, until you decide to start flying back to the moor. <<endevent>><<npc "Great Hawk">> <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <<addinlineevent "flight_casual_forest_churchyard" 1>> You come across the old churchyard. It looks even more decrepit from up high. <<your_bird_text "cap">> looks around. <<if $monster is 1>> After a while, <<bhe>> speaks. "Too bad the stones are everywhere on the ground, they could have made for a big tower," <<bhe>> says. <<else>> <<bHe>> is especially focused on the small stone sepulchres. They seem to remind <<bhim>> of the castle your nest is in. <</if>> After looking at it a little longer, you decide to move on. <br><br> You and Great Hawk keep flying above the forest, until you decide to start flying back to the moor. <br><br> <<link [[Next|Bird Tower Casual Flight 4]]>><<bird_pass 20>><</link>> <br> <</addinlineevent>> <</if>> <<if $dateCount.GreatHawkCasual gte 3 and !$bird.ritual>> <<addinlineevent "flight_casual_mating_ritual_intro" 1000>> <<your_bird_text "cap">> starts circling around you, flying in intricate patterns. Seeing your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> fly so elegantly is captivating. <br><br> You feel something stir inside of you. Watching <<bhim>> is starting to wake your own bestial instincts. You start to fly like <<bhim>>, trying to show off your own moves. <<if currentSkillValue("danceskill") gte 1000>> <span class="green">Your flying is just as elegant, if not more so.</span> You weave a beautiful dance across the sky with <<bhim>>. <<your_bird_text "cap">> looks impressed. <<elseif currentSkillValue("danceskill") gte 500>> <span class="green">You manage to keep up with <<bhim>>.</span> It becomes something of a dance between you two. <<bHe>> looks impressed. <<else>> You do your best, <span class="purple">but you're not quite on <<bhis>> level</span>. Still, <<bhe>> looks pleased. <</if>> Flying with your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> feels refreshing, although your instincts tell you that you should be doing more. Just as you think this, the Great Hawk flies directly above you and <span class="red">flashes <<bhis>> talons at you!</span> <<stress 6>><<ggstress>> <br><br> <<link [[Next|Bird Tower Mating Ritual]]>><</link>><<willpowerdifficulty 1 300>> <br> <</addinlineevent>> <<elseif $bird.ritual and C.npc["Great Hawk"].dom gte 50 and $phase2 isnot 2>> <<addinlineevent "flight_casual_mating_ritual" 2>> <<your_bird_text "cap">> starts circling around you, flying in intricate patterns. Seeing your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> fly so elegantly is captivating. <br><br> <span class="lewd"><<bHes>> attempting to do a mating ritual.</span> <br><br> <<link [[Play along|Bird Tower Mating Ritual Start]]>><<transform bird 1>><<set $phase to 2>><<npcincr "Great Hawk" dom 1>><</link>><<gdom>><<deviant1>><<if $player.virginity.handholding is true>><<note "Success will be your first hand held" "red">><</if>> <br> <<link [[Just fly|Bird Tower Casual Flight 3]]>><<set $phase2 to 2>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br> <</addinlineevent>> <</if>> <<runeventpool>><<effects>> You and <<your_bird_text>> fly back <<if $phase is 0>> into the deeper parts of the moor. <<elseif $phase is 1>> towards the moor. <</if>> You can see the castle on the horizon. <<if $rng gte 50>> You decide to take it easy and let the wind carry you. You feel like you're floating. <<stress -3>><<lstress>> <<else>> <<if $phase2 is 1>> The winds pick up again, <<else>> The winds are strong, <</if>> allowing you greater mobility. You take advantage of the strong current and fly around in extravagant patterns. It's hard to stay in control, but you manage. <<if $monster is 1>> "You move gracefully," <<your_bird_text>> says. <<else>> <<your_bird_text "cap">> watches you and squawks approvingly. <</if>> <<trauma -2>><<ltrauma>> <</if>> <br><br> After flying around a little longer, you tell the <<beasttype>> you want to return. You fly back to the tower. <br><br> <<link [[Next|Bird Tower Casual Flight 5]]>><</link>> <br><<set $location to "tower">><<set $outside to 0>><<effects>> You both land back on the perch. <<if $dateCount.GreatHawkCasual lte 3>> <<if $monster is 1>> "This was... enjoyable, though everything done with <<wife>> is. I would like to go flying with you again," <<bhe>> says. <<else>> <<bHe>> looks at you and lets out a happy screech. <</if>> You pat <<bhim>> on the shoulder. <<elseif $dateCount.GreatHawkCasual lte 7>> <<if $monster is 1>> <<your_bird_text "cap">> walks up to you and speaks. "Let's do this again soon, <<wife>>. Going places with you is fun." <<else>> <<your_bird_text "cap">> lazily stretches <<bhis>> wings and walks closer to you. <<bHe>> chirps joyfully at you. <</if>> You give <<bhim>> a peck on the cheek. <<else>> <<if $monster is 1>> <<your_bird_text "cap">> shuffles close to you and wraps an arm around you. "Flying with you like this is relaxing. Would gladly do this again, <<wife>>," <<bhe>> says. You pull <<bhim>> into a hug. You hold each other for a moment, before you finally pull away. <<else>> <<your_bird_text "cap">> shuffles up to you and caresses your face with <<bhis>> beak, expressing <<bhis>> affection and happiness. You pet <<bhim>> on the head and say you had fun. You enjoy the feeling of <<bhis>> beak on your face for a moment, before you finally pull away. <</if>> <</if>> <br><br> The <<beasttype>> returns to <<bhis>> usual spot on the perch. <br><br> <<link [[Next|Bird Tower Perch]]>><<bird_hunt_timer>><<endevent>><</link>> <br><<effects>> Together you fly around until you find an especially windy part of the moor. <<if $phase is 1>> You start to fly in intricate patterns around <<bhim>>, making sure to show off your body and skills at the same time. <<bHe>> takes the hint<<if $monster is 1>> and smiles<</if>>. <<bHe>> starts showing off <<bhis>> own moves. <<else>> You start to fly like <<bhim>>, trying to show off your own moves. <</if>> <<deviancy1>> <<if currentSkillValue("danceskill") gte 1000>> <span class="green">Your flying is just as elegant, if not more so.</span> You weave a beautiful dance across the sky with <<bhim>>. <<your_bird_text "cap">> looks impressed. <<elseif currentSkillValue("danceskill") gte 500>> <span class="green">You manage to keep up with <<bhim>>.</span> It becomes something of a dance between you two. <<bHe>> looks impressed. <<else>> You do your best, <span class="purple">but you're not quite on <<bhis>> level</span>. Still, <<bhe>> looks pleased. <</if>> Flying with your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> feels refreshing, and your mating instincts start to kick in. The Great Hawk flies directly above you and flashes <<bhis>> talons at you. <br><br> <<link [[Next|Bird Tower Mating Ritual]]>><<bird_pass 20>><</link>><<willpowerdifficulty 1 300>> <br><<effects>> The Great Hawk dives directly towards you, talons extended. <<if !$bird.ritual>> <<set $bird.ritual to 1>> <<if $willpowerSuccess>> <span class="green">You regain your composure and dodge the dive</span>, resulting in <<bhim>> swooping past you. <<else>> <span class="red">You freeze.</span> <<bHe>> notices your lack of a reaction and tries to divert <<bhis>> course. <<bHe>> manages to avoid you, if only barely. <<stress 12>><<trauma 6>><<willpower 1>><<ggstress>><<gtrauma>><<gwillpower>> <</if>> <br><br> <<switch $speech_attitude>> <<case "meek">>"W-What... Why did you do that!?" you yell with a shaky voice. <<case "bratty">>"Hey! Why the hell did you try to hit me?!" you yell in frustration. <<default>>"Why did you do that?! You nearly hit me!" you yell. <</switch>> <br><br> <<bHe>> flies up next to you. You can tell <<bhe>> means you no harm, which only confuses you more. <<if $monster is 1>> "I wanted to court <<wife>>. I thought you would know how. Mistake is mine," <<bhe>> says apologetically. It sounds like <<bhe>> was just trying to perform a mating ritual with you. Having now figured it out, you let out a small giggle. <<else>> <<bHe>> looks at you with concern, trying to determine if you're alright. You take a moment to think back on what happened. You remember <<bhis>> unusually provocative behaviour. You realise that <<bhe>> was probably trying to perform some kind of mating ritual with you. You can't help but giggle at the misunderstanding. <</if>> <br><br> You tell <<bhim>> that you understand. This seems to calm <<bhim>> down. You can tell <<bhes>> a bit agitated, though. <span class="lewd"><<bHe>> probably still wants to mate.</span> <br><br> <<link [[Return home to mate|Bird Tower Mating Ritual Return]]>><<set $phase to 0>><<bird_pass 20>><<npcincr "Great Hawk" love 1>><</link>><<glove>><<deviant1>> <br> <<link [[Keep flying|Bird Tower Casual Flight 3]]>><<set $phase2 to 2>><<npcincr "Great Hawk" dom -1>><</link>><<ldom>> <br> <<else>> The shape of <<bhim>> above you sends shivers down your spine. <<if $willpowerSuccess>> <span class="green">You keep your nerve.</span> You turn your body, so you're facing upwards towards <<bhim>>. <br><br> <<if $monster is 1>> <<bHis>> hands lock with yours, and you pull each other into an embrace. <<else>> <<bHis>> talons lock together with your hands, and you pull each other into an embrace. <<bHis>> talons feel sharp, but somehow not painful. <</if>> <<takeHandholdingVirginity "Great Hawk" "romantic">> <br><br> Performing the mating ritual with your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> fulfils a primal desire within you. <<trauma -12>><<lltrauma>> <br><br> You bury your face in <<bhis>> plumage, letting <<bhim>> carry you. It's exhilarating. You can only hold on for so long, though. <br><br> You flip back around and regain control of yourself. <<bHe>> flies up next to you, looking overjoyed. <<if $monster is 1>> "Thank you for doing this with me, <<wife>>. To court like a hawk, instead of a landbound, means much." <<else>> <<bHe>> flaps <<bhis>> wings wildly, a rare gesture. You can tell this meant a lot to <<bhim>>. <</if>> <<npcincr "Great Hawk" love 1>><<glove>> <br><br> You stare at each other for a moment. Your instincts are screaming for you to mate with <<bhim>>, and you can tell <<bhe>> wants you just as much. You turn toward the tower in unison and start flying back. <<else>> <span class="purple">You freeze up for just a moment.</span> You know <<bhe>> won't hurt you, but the sight of <<bhim>> is still very intimidating. <<willpower 1>><<npcincr "Great Hawk" dom 1>><<gwillpower>><<gdom>> <br><br> You manage to turn your body to face <<bhim>> above you, but <<bhes>> fast. <<bHis>> talons grab you, dragging you into an embrace. You might not have done it exactly right, but being held by <<bhim>> as <<bhe>> flies is thrilling regardless. <<trauma -2>><<ltrauma>> <br><br> <<bHe>> can only hold on to you for so long, though. You flip back around and regain control of yourself. You tell <<bhim>> you just want to fly around a bit more. You fly by <<bhis>> side, taking in the moment. While not as grand as it could have been, it's still very relaxing, almost intimate. You look over to your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>. <<bHe>> turns to look at you. You can see the adoration in <<bhis>> eyes. <br><br> You feel the desire to mate with <<bhim>> building up inside you. You can tell <<bhe>> wants you as well. You tell <<bhim>> you want to return now. <<bHe>> nods in agreement. You both fly back to the tower. <</if>> <br><br> <<link [[Next|Bird Tower Mating Ritual Return]]>><<bird_pass 20>><</link>> <br> <</if>><<set $location to "tower">><<set $outside to 0>><<effects>> <<if $phase is 0>> You land back on the perch. You wait for <<your_bird_text>> to land, then walk into the tower and climb into the nest. You can feel your animalistic urges taking over, telling you to mate. You lay down in the nest and spread your legs. <br><br> <<switch $speech_attitude>> <<case "meek">>"You had me really scared back there. But it was also... exciting. How about you show me what a big, fearsome <<beasttype>> like you can really do?" you chirp. <<case "bratty">>"You really took me by surprise earlier. And it wasn't a pleasant one. You're going to properly apologise for what happened, right?" you coo, licking your lips. <<default>>"I had a lot of fun flying with you, despite how it ended. And now all that flying around really got me in the mood. How about we start the 'mating' part of this ritual now?" you say seductively. <</switch>> <<deviancy1>> <<bHe>> wastes no time, perching up on the edge of the nest. <<if $monster is 1>> "You are already my mate and <<wife>>. There's no need to court again. But it is nice," <<bhe>> says bashfully. <<else>> The <<beasttype>> looks at you adoringly and chirps. <</if>> <<bHe>> joins you in the nest. <<elseif $phase is 1>> You land back on the perch. You feel a heat building up inside you. You wait for <<your_bird_text>> to land and pull <<bhim>> into your arms. This takes <<bhim>> by surprise. You gently pull <<bhis>> head down, then bring your mouth to <<bhis>> ear and whisper. <br><br> <<switch $speech_attitude>> <<case "meek">>"The way you and I were holding on to each other felt so... intimate. I want to feel even more of you now. Please." <<case "bratty">>"Holding on to you mid-air was really exciting. You got me really aroused. I can't wait any longer to have you." <<default>>"The way we were linked up together in the air was so intimate. It made me want to feel the rest of your body against mine." <</switch>> <br><br> <<bHe>> pulls away from you and looks you in the eyes. <<if $monster is 1>> "You do not need to say all of that now. But it does make me happy." You take <<bhim>> by the hand <<else>> <<bHe>> looks at you with great adoration and caresses your face with <<bhis>> beak. You carefully grasp <<bhis>> wing <</if>> and pull <<bhim>> to the nest. <<else>> You land back on the perch. You wait for <<your_bird_text>> to land, then walk into the tower and climb into the nest. You call out to <<bhim>>. <br><br> <<switch $speech_attitude>> <<case "meek">>"I really liked seeing you fly. And I want to see more of you." Your words are quiet, yet seductive. <<case "bratty">>"I'm feeling tired after all that flying. I think a good mating session would bring back some energy," you say in a sultry tone. <<default>>"All that flying around really got me in the mood. You're not going to leave me all hot and bothered, right?" you ask, voice filled with arousal. <</switch>> <br><br> You can tell your words had an effect on <<bhim>>. <<if $monster is 1>> "Anything for you," <<bhe>> responds. <<else>> <<bHe>> looks at you happily. <</if>> <<bHe>> climbs into the nest. <</if>> <br><br> <<link [[Next|Bird Tower Mating Ritual Sex]]>><<set $sexstart to 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<beastCombatInit>> <<set $enemytrust += 200>> <<set $enemyhealthmax to 600>> <<set $enemyhealth to 600>> <<if $monster isnot 1>> <<set $position to "doggy">> <<set $NPCList[0].stance to "top">> <</if>> <<npc_attempt_sex>> <</if>> <<effects>> <<effectsman>> <br> <<beast $enemyno>> <br><br> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Bird Tower Mating Ritual Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Bird Tower Mating Ritual Sex]]>><</link>></span><<nexttext>> <</if>><<setTowerTemp>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<beastejaculation>> <<set $bird.satisfied to true>> The <<beasttype>> stays still for a moment, enjoying the afterglow. <<if $phase is 0>> You stroke <<bhis>> feathers. You enjoy caressing <<bhim>> for a moment, then sit up. You tell <<bhim>> that you had a great time. <<bHe>> huddles up next to you. <<if $monster is 1>> "You are the best mate and <<wife>>. No doubt." <<else>> <<bHe>> affectionately touches your face with <<bhis>> wing. <</if>> <<npcincr "Great Hawk" love 1>><<glove>> <br><br> You tell the <<beasttype>> you would like to do this again sometime. <<if $monster is 1>> "Would love to mate again," <<bhe>> says. <<bHis>> voice is softer than usual. <<else>> <<bHe>> responds with a soft chirp, a sound <<bhe>> rarely makes. <</if>> You gently pet <<bhis>> head in response. You and your <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>> take a moment to recover, then climb out of the nest. <<bHe>> looks at you for a moment, then goes back onto the perch. <<else>> You give <<bhim>> a kiss on the forehead. <<if $monster is 1>> <<bHe>> slightly blushes. You sit up and say you love <<bhim>>. <<bHe>> looks back at you. "I love you too, <<wife>>." <<bHe>> wraps <<bhis>> arms around you and holds you for a moment. <<else>> <<bHe>> coos blissfully. <</if>> <<npcincr "Great Hawk" love 1>><<glove>> <br><br> <<bHe>> mounts you and wraps <<bhis>> wings over you, darkening your surroundings. You can only see <<bhis>> eyes, gazing back at you adoringly. <<bHe>> releases you, returning to <<bhis>> spot on the perch. <</if>> <<clotheson>> <<endcombat>> <<link [[Next|Bird Tower]]>><</link>> <br> <<elseif $enemyhealth lte 0>> You shove the <<beasttype>> away. <<bHe>> walks out of the nest, feeling hurt. <<npcincr "Great Hawk" love -3>><<lllove>> <br><br> <<tearful>> you climb out of the nest. <<clotheson>> <<endcombat>> <<link [[Next|Bird Tower]]>><</link>> <br> <<else>> <<bHe>> steps back. <<if $monster is 1>> <<bHe>> looks conflicted, but says nothing. <<else>> <<bHe>> looks disappointed. <</if>> <<if $phase is 0>> You tell <<bhim>> that you had second thoughts this time, but that you would like to mate with <<bhim>> later. Your words appease <<bhim>>, although you can still sense disappointment from <<bhim>>. <</if>> <<npcincr "Great Hawk" love -1>><<npcincr "Great Hawk" dom -1>><<llove>><<ldom>> <br><br> The <<beasttype>> leaves you alone in the nest. <<tearful>> you climb out. <<clotheson>> <<endcombat>> <<link [[Next|Bird Tower]]>><</link>> <br> <</if>><<setTowerTemp>><<effects>> You look through your telescope. <<if Time.dayState isnot "night">> It's too early to look at the sky. <<elseif Weather.isOvercast>> The weather isn't clear enough to see anything in the sky. <</if>> <br><br> <<bird_telescope_options>><<setTowerTemp>><<effects>> <<cleareventpool>> <<if $bird.state is "home" and ["sing", "groom"].includes($bird.activity)>> <<addinlineevent "telescope_bird_home_moor" 1>> <<npc "Great Hawk">> You look around the moor. Your vision is suddenly filled with a gigantic eye. You move your face away. <<your_bird_text "cap">> is looking through the opposite end of the telescope at you. <<if $monster is 1>> "Strange thing. You look so small through this." <<else>> <<bHe>> chirps at you. <</if>> You laugh and pat <<bhim>> on the head. <<stress -12>><<llstress>> <</addinlineevent>> <</if>> <<if $bird.state is "hunting" and !$daily.birdTelescopeHunt>> <<addinlineevent "telescope_bird_hunt" 1>> <<npc "Great Hawk">><<set $daily.birdTelescopeHunt to true>> You look around the moor. You see a shape dive from the air. It takes a bit for you to track it, but once you do, you realise that it's <<your_bird_text>>. You lose sight of <<bhim>> as <<bhe>> dives again. You wonder what <<bhe>> just caught. <<stress -12>><<llstress>> <</addinlineevent>> <</if>> <<if !$daily.huntRemyCamp>> <<addinlineevent "telescope_remy_camp" 3>> <<if $daily.huntRemyCampNorth is undefined>> <<set $daily.huntRemyCampNorth to random(2,5)>> <<set $daily.huntRemyCampEast to random(-5,5)>> <</if>> <<if $daily.emptyCampNorth>> <<if $daily.emptyCampNorth is $daily.huntRemyCampNorth and $daily.emptyCampEast is $daily.huntRemyCampEast>> <<if $daily.huntRemyCampNorth is 5>> <<set $daily.huntRemyCampNorth -= 1>> <<else>> <<set $daily.huntRemyCampNorth += 1>> <</if>> <<set $daily.huntRemyCampEast to random(-5,5)>> <</if>> <</if>> <<set $daily.huntRemyCamp to true>> <<if Time.dayState is "night">> It's too dark to see much of anything, but you see a cluster of lights in the distance. <<else>> You see a group of campfires. <</if>> They're surrounded by tents, which are themselves surrounded by supplies and makeshift barriers. The occupants are dressed in matching uniforms. <<if $remySeen?.includesAny("farm","livestock","manor") or $livestock_intro isnot undefined>> You recognise them. <span class="red">Remy's goons.</span> <<else>> They look dangerous. <</if>> <br><br> It's <<switch $daily.huntRemyCampNorth>> <<case 2>>only a short distance from the tower, <<case 3>>not too far from the tower, <<case 4>>a good distance from the tower, <<case 5>>at the very edge of the moor, <</switch>> <<switch $daily.huntRemyCampEast>> <<case -5 -4 -3>>to the northwest. <<case -2 -1>>to the north and slightly west. <<case 0>>directly to the north. <<case 1 2>>to the north and slightly east. <<case 3 4 5>>to the northeast. <</switch>> <</addinlineevent>> <</if>> <<if !$daily.emptyCamp and Time.dayState isnot "night">> <<addinlineevent "telescope_empty_camp" 2>> <<if $daily.emptyCampNorth is undefined>> <<set $daily.emptyCampNorth to random(2,5)>> <<set $daily.emptyCampEast to random(-5,5)>> <</if>> <<if $daily.huntRemyCampNorth>> <<if $daily.emptyCampNorth is $daily.huntRemyCampNorth and $daily.emptyCampEast is $daily.huntRemyCampEast>> <<if $daily.emptyCampNorth is 5>> <<set $daily.emptyCampNorth -= 1>> <<else>> <<set $daily.emptyCampNorth += 1>> <</if>> <<set $daily.emptyCampEast to random(-5,5)>> <</if>> <</if>> <<set $daily.emptyCamp to true>> <<if Time.dayState is "night">> It's too dark to see much of anything, but you do see an area that sticks out. The shapes along the ground are too uniform. You keep looking, and realise it's the remains of a campsite in the middle of a small clearing. <<else>> You see the remains of a campsite, the campfire still just barely smouldering. <</if>> It looks like someone left in a hurry; there's litter and small items scattered all over the place! <span class="gold">If you're quick, you could go take what's left before other scavengers close in.</span> <br><br> It's <<switch $daily.emptyCampNorth>> <<case 2>>only a short distance from the tower, <<case 3>>not too far from the tower, <<case 4>>a good distance from the tower, <<case 5>>at the very edge of the moor, <</switch>> <<switch $daily.emptyCampEast>> <<case -5 -4 -3>>to the northwest. <<case -2 -1>>to the north and slightly west. <<case 0>>directly to the north. <<case 1 2>>to the north and slightly east. <<case 3 4 5>>to the northeast. <</switch>> <</addinlineevent>> <</if>> <<if Time.dayState is "night">> <<if Weather.bloodMoon>> <<addinlineevent "telescope_blood_1" 3>> The red fields before you seem to stretch on forever. <<awareness 1>><<trauma 12>><<gawareness>><<ggtrauma>> <</addinlineevent>> <<addinlineevent "telescope_blood_2" 3>> The moor is lit up well by the moon, but it seems unusually still. Yet, when you lose focus, it feels as though the lens of the telescope has become liquid. Your view writhes for a brief moment until you focus again. <<gtrauma>><<trauma 6>> <</addinlineevent>> <<else>> <<addinlineevent "telescope_dark_nothing" 3>> It's too dark to see much of anything. <</addinlineevent>> <<addinlineevent "telescope_dark_camp_1" 1>> It's too dark to see much of anything, but you see a single light in the distance. A campfire. A group of tents sit near, and a small crowd sits around the fire, laughing. You wonder what they're talking about. <<stress -3>><<lstress>> <</addinlineevent>> <<addinlineevent "telescope_dark_camp_2" 1>> It's too dark to see much of anything, but you see a single light in the distance. A campfire. A single tent sits near. Through backlit silhouettes, you see a figure bouncing up and down. A pair of arms pull them back down. <<arousal 500>><<garousal>> <</addinlineevent>> <</if>> <<else>> <<if $bogProgress gte 1>> <<addinlineevent "telescope_bog_person" 0.5>> You spot a figure in black robes far to the west. You watch them for some time, until they disappear into the bog. <</addinlineevent>> <<else>> <<addinlineevent "telescope_bog_discover" 3>> <<set $bogProgress to 1>> You look to the west, towards the forest. You're just barely able to see the endpoint of a wooden boardwalk. Behind it, the moor ends and stagnant water begins. <br><br> A wall of drenched leaves obscure anything further, but you know that the forest must lie beyond. It could make for a one-way shortcut from the forest to the deeper parts of the moor. <br><br> <span class="gold">You've discovered the bog.</span> <</addinlineevent>> <</if>> <<if Weather.isSnow>> <<addinlineevent "telescope_snowblind" 1>> The sun's reflection on the snow is blinding, making it difficult to see much of anything. <</addinlineevent>> <</if>> <<addinlineevent "telescope_nothing" 1>> You don't see anything in particular, but the gentle swaying of the grasses and bushes is soothing. <<stress -2>><<lstress>> <</addinlineevent>> <<addinlineevent "telescope_person" 1>> You spot someone walking near the edge of the moor. They look like a hiker, but they're too far away for you to see any details. You watch them for a while. <<stress -2>><<lstress>> <</addinlineevent>> <<addinlineevent "telescope_people_normal" 1>> You spot a group of hikers in the middle of the moor. They seem to be looking for something. Eventually, one of them appears to call out to the others, and they disappear over a hill. <<stress -2>><<lstress>> <</addinlineevent>> <<addinlineevent "telescope_people_lewd" 1>> <<generate1>><<generatep2>> You spot a <<person1>><<person>> and a <<person2>><<person>> in the middle of the moor. They're laughing about something. Suddenly, the <<person1>><<person>> pushes <<himself>> against the <<person2>><<person>>, who responds by pulling <<person1>><<him>> to the ground. <br><br> They start to remove each other's clothes. <<if Weather.precipitation is "rain">>They both get covered in mud pretty quickly, but neither seem to mind.<</if>> They begin to grind against each other, and it isn't long before they're having intercourse out in the open. <<arousal 500>><<garousal>> <</addinlineevent>> <<addinlineevent "telescope_people_rape" 1>> <<generate1>><<generatev2>> You spot a <<person1>><<person>> and a <<person2>><<person>> in the middle of the moor. The <<person>> is struggling in the <<person1>><<persons>> grasp. Suddenly, the <<person1>><<person>> pushes <<person2>><<him>> down and rips away <<his>> clothing. <br><br> <<if Weather.precipitation is "rain">>They both get covered in mud.<</if>> The <<person1>><<person>> begins to have <<his>> way with <<his>> victim. There's nothing you could hope to do in time. <<trauma 3>><<arousal 500>><<gtrauma>><<garousal>> <</addinlineevent>> <<addinlineevent "telescope_animals_1" 1>> <<beastNEWinit 3 fox>> A trio of <<beastsplural>> fight over a lurker in the distance. <<stress -2>><<lstress>> <</addinlineevent>> <<if $hallucinations gte 2>> <<addinlineevent "telescope_tentacles_1" 1>> You notice a bush swaying in the opposite direction of the wind. Its branches writhe in unnatural ways. <<awareness 1>><<stress 2>><<gawareness>><<gstress>> <</addinlineevent>> <<addinlineevent "telescope_tentacles_1" 1>> You see a person wearing all black piling up small stones. They disappear the instant you look away. <<awareness 1>><<stress 2>><<gawareness>><<gstress>> <</addinlineevent>> <</if>> <</if>> <<runeventpool>> <<endevent>> <<wearProp "ornatetelescope">> <br><br> <<bird_telescope_options>><<setTowerTemp>><<effects>> You look up to the sky. <br><br> <<cleareventpool>> <<if Weather.bloodMoon>> <<addinlineevent "telescope_sky_blood" 2>> <<set $daily.telescopeBlood to true>> A few translucent clouds pass the bottom crest of the moon. <br><br> One of the clouds looks at you. <br><br> You cover the lens of the telescope. <<stress 12>><<awareness 3>><<ggstress>><<ggawareness>> <</addinlineevent>> <</if>> <<addinlineevent "telescope_sky_stars" 1>> <<switch ($historytrait + $sciencetrait)>> <<case 0 1 2>>You can't recognise any of the constellations, so you just admire some of the brighter stars. <<stress -6>><<llstress>> <<case 3 4>>You start trying to name a few of the constellations. You're pretty sure you got some of them right. <<trauma -4>><<ltrauma>> <<case 5 6>>You spend some time naming constellations to yourself. <<trauma -8>><<lltrauma>> <<case 7 8>> <<if $hallucinations gte 1 and $rng lte 6>> <<if $rng lte 2 or $worn.neck.name is "dark pendant">> A particular constellation catches your eye. <<if Time.season is "winter">> It's bright and vibrant. <<else>> It's dim and distant, but you're just able to make out the shape. <</if>> A burning chariot, pulled by some indistinct beast. <<if $temple_confessor_intro>> The name is on the tip of your tongue, but your body refuses to utter it. As if the word was a curse. <<else>> You think of its name. You suddenly feel ill. <</if>> <br><br> <<if $world_corruption_soft gte 50>> The antlers on the head of the charioteer begin to split as you watch. Phantasmal lines connect them to other stars, adding them to a profane whole. Antlers sprout antlers. <<else>> You swear that the head of the charioteer turns to look at you. <</if>> You look away, your heart racing. You avoid looking in that direction. <<awareness 7>><<willpower 4>><<stress 36>><<ggawareness>><<ggwillpower>><<gggstress>> <<elseif $rng lte 4 or $worn.neck.name is "holy pendant">> A particular constellation catches your eye. <<if Time.season is "spring">> It's bright and vibrant. <<else>> It's a bit dim, but you make out the shape regardless. <</if>> It roughly matches one of the more well-known ones. A figure standing tall, holding something in each hand. But there's something off about it. <br><br> <<if $world_corruption_soft gte 50>> Your mind is telling you that the pattern is all wrong. It's upside down, and skewed. <<else>> It seems too detailed. Stars you don't recognise have added themselves to the whole. <</if>> Looking at it makes you feel like there's someone whispering reassurances and comforting lies in your ear. Looking at it too long makes your eyes hurt. You look away, and quickly lose track of it. <<control 10>><<trauma -24>><<stress -24>><<awareness 4>><<ggcontrol>><<lltrauma>><<llstress>><<gawareness>> <<elseif $rng lte 6 or $worn.neck.name is "stone pendant">> You spot a shape you aren't familiar with. It doesn't match any constellations you know, but there's unmistakably a pattern present. It feels as though someone has made a horrible mistake, and something has been moved from its intended position. You feel dizzy, yet warm. <br><br> When you try to focus again, the pattern is gone. <<arousal 2000>><<awareness 7>><<ggarousal>><<ggawareness>> <</if>> <<else>> <<if $rng gte 50>> You're easily able to recognise many of the constellations thanks to your science and history lessons. You wish you had some paper to sketch on. <<else>> You spot and recognise some planets and other celestial bodies. It makes you feel tiny, but smart. <</if>> <<trauma -12>><<llltrauma>> <</if>> <</switch>> <</addinlineevent>> <<runeventpool>> <<endevent>> <<wearProp "ornatetelescope">> <br><br> <<bird_telescope_options>><<setTowerTemp>><<effects>> <<set _hawkPregnancy to getPregnancyObject("Great Hawk")>> <<if birdEggsReady("Great Hawk") is "fertilised">> <<set $eggLayNumber to _hawkPregnancy.fetus.length>> <<else>> <<set $eggLayNumber to random(2,4)>> <</if>> <<switch $eggLayNumber>> <<case 1>><<set $eggLayText to `<span class="lewd">An egg pops out.</span>`>> <<case 2>><<set $eggLayText to `<span class="lewd">An egg pops out, followed shortly by another.</span>`>> <<default>><<set $eggLayText to `<span class="lewd">One by one, <<number $eggLayNumber>> eggs pop out.</span>`>> <</switch>> <<switch $phase>> <<case 0>> You avert your eyes until you hear <<your_bird_text>> stand up. <<if $eggLayNumber is 1>> <span class="lewd">There's an egg in the nest.</span> <<else>> <span class="lewd">There are <<number $eggLayNumber>> eggs in the nest.</span> <</if>> <<case 1>> You watch as <<your_bird_text>> <<if $monster is 1>> grips the edges of the nest. <<bHis>> talons bite into it as <<bhis>> hole opens. $eggLayText <<bHe>> pants, exhausted from the effort. <<else>> struggles. <<bHis>> hole opens. $eggLayText <<bHe>> stands up and shakes. <</if>> <<case 2>> You rush to <<your_bird_text>>'s side and position yourself behind <<bhim>>. <<if birdEggsReady("Great Hawk") is "fertilised">> You place one hand on <<bhis>> <<bellyDescription "Great Hawk">>, and another on <<bhis>> lower abdomen. You start to gently rub. <<else>> You place both of your hands on <<bhis>> lower abdomen and gently rub it. <</if>> <<bHis>> body shakes at your touch, more sensitive than usual. <<if $syndromebird gte 1>> You <<if $harpy gte 6>>coo<<else>>whisper<</if>> softly into <<bhis>> ear to comfort <<bhim>>. <<else>> You're not sure what else to do. <</if>> <<if $monster is 1>> <<bHis>> breathing slows, but only for a moment. <</if>> <<bHis>> talons bite into the <<if $bird.upgrades.nest gte 2>> fabric of the nest, leaving small holes. <<else>> nest, crushing twigs and sticks. <</if>> <<deviancy1>> You feel <<bhis>> abdomen throb. $eggLayText <<if $monster is 1>> <<bHe>> lets out a long, relieved sigh. "Thank you, <<wife>>." <<else>> <<bHe>> lets out a sound a bit like a huff, and nuzzles your cheek with <<bhis>> beak. <</if>> <<case 3>> <<set $bird.satisfied to true>> You rush to <<your_bird_text>>'s side and position yourself behind <<bhim>>. <<if $harpy gte 6>> You let your instincts take over, knowing how to help <<bhim>> pass <<bhis>> eggs. <<else>> You know just enough about birds to help <<bhim>>. <</if>> You place your hands on <<bhis>> <<if birdEggsReady("Great Hawk") is "fertilised">><<bellyDescription "Great Hawk">><<else>>abdomen<</if>> and start to apply gentle pressure. <<if $monster is 1>> You approximate the location of <<bhis>> ovaries, assuming they must be somewhat similar to those of a human. Your gentle pushing seems to be easing <<bhis>> pain. You press a little harder, causing <<bhim>> to moan lightly. <<else>> You feel around for <<bhis>> oviduct. Your gentle pushing seems to be easing <<bhis>> pain. <</if>> <br><br> After a moment, <span class="teal">you feel some resistance inside <<bhim>></span>. Knowing where the eggs are, you start to gently massage <<bhis>> belly in small circles, slowly working your way down. You can feel the eggs inside <<bhim>> moving. <<if $monster is 1>> <<bHis>> breathing starts to get faster, but less strained. <<bHis>> head falls back, and <<bhe>> looks at you lovingly. <</if>> You remove one of your hands from <<bhis>> abdomen and place it near <<bhis>> opening. It's already started to crown. You rub it, causing <<bhim>> to lean into you. <<deviancy3>> The opening is already slick, so you easily manage to slip two fingers in, which makes <<bhim>> <<if $monster is 1>>gasp<<else>>coo<</if>>. You massage <<bhis>> <<if birdEggsReady("Great Hawk") is "fertilised">><<bellyDescription "Great Hawk">><<else>>abdomen<</if>> from outside and <<bhis>> passage from inside. <<bHis>> talons bite into the <<if $bird.upgrades.nest gte 2>> fabric of the nest, leaving small holes. <<else>> nest, crushing twigs and sticks. <</if>> <<if $monster is 1>> <<bHe>> grips your arm hard. "<<if $player.gender_appearance is "m">>H...husband...<<else>>W...wife...<</if>>" <<bHe>> can't finish <<bhis>> words. <<bHe>> arches <<bhis>> back and coats your fingers with <<bhis>> juices, reaching a peak of both pleasure and pain. <</if>> With one final push, you feel something hard hit your fingers. $eggLayText <<if $monster is 1>> <<your_bird_text "cap">> pants, still gripping you. It takes <<bhim>> a moment to get <<bhis>> bearings. <</if>> <</switch>> <br><br> <<link [[Next|Bird Tower Great Hawk Egg Laying 2]]>><</link>> <br><<setTowerTemp>><<effects>> <<set _hawkPregnancy to getPregnancyObject("Great Hawk")>> <<if birdEggsReady("Great Hawk") is "unfertilised">> <<if $monster is 1>> <<bHe>> gently picks up <<if $eggLayNumber gt 1>>one of the eggs<<else>>the egg<</if>>. <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined))>> "Don't worry, <<wife>>. No more children yet, not from <<if $eggLayNumber gt 1>>these eggs<<else>>this egg<</if>>." <<else>> <<if playerCanBreedWith("Great Hawk")>> <<set _optionReassure to true>> "No life in <<if $eggLayNumber gt 1>>them<<else>>it<</if>>," <<bhe>> says with a hint of sadness. <<if $syndromebird is 1>> "We... keep trying?" <<else>> "Maybe some day." <</if>> <<else>> "S-sorry. Can not help it. No life in <<if $eggLayNumber gt 1>>these eggs<<else>>this egg<</if>>." <</if>> <</if>> <<else>> <<bHe>> prods at <<if $eggLayNumber gt 1>>them<<else>>it<</if>>, and lets out a flat caw. It seems <<if $eggLayNumber gt 1>>they're<<else>>it's<</if>> not fertilised. <</if>> <<if $phase gte 2>> You help <<bhim>> get settled in to rest after <<bhis>> ordeal. <</if>> <br><br> <<set $daily.hawkUnfertilisedEggs to true>> <<run delete _hawkPregnancy.nonCycleRngHasEggs>> <<if _optionReassure>> <<link [[Reassure|Bird Tower Eggs Reassure]]>><<npcincr "Great Hawk" love 1>><<bird_stockholm 3>><</link>><<glove>><<ggbirdstockholm>> <br> <</if>> <<if $eggLayNumber gt 1>> <<link [[Take the eggs|Bird Tower Eggs Take]]>><</link>> <<else>> <<link [[Take the egg|Bird Tower Eggs Take]]>><</link>> <</if>> <br> <<if $birdEggContext is "huntReturn">> <<link [[Continue|Bird Tower Great Hawk Egg Laying Hunt Finish]]>><<endBirdEggLaying>><</link>> <<else>> <<link [[Continue|Bird Tower]]>><<endevent>><<endBirdEggLaying>><</link>> <</if>> <br> <<else>> <<if $monster is 1>> <<bHe>> gently picks up <<if $eggLayNumber gt 1>>one of the eggs<<else>>the egg<</if>> and smells it. <<bHis>> eyes light up. <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined))>> "I'm so happy, <<wife>>. <span class="lewd">We have more children</span>!" <<bHe>> tries to sweep you up in a hug, but seems too weak at the moment. <<else>> "Alive... <span class="lewd">Great Hawk and <<wife>> have children</span>..." a tear runs down <<bhis>> cheek. <<bHe>> turns to you and hugs you tightly. <</if>> <<if $syndromebird gte 1>> You can't help but return the embrace. You're flooded with emotion. <<trauma -12>><<lltrauma>> <br><br> <</if>> <<else>> <<bHe>> prods at <<if $eggLayNumber gt 1>>them<<else>>it<</if>>, before quickly looking up. <<bHe>> spreads <<bhis>> wings wide, letting out a triumphant shriek into the air. <<bHe>> bobs <<bhis>> head and puffs out <<bhis>> plumage. <span class="lewd"><<if $eggLayNumber gt 1>>They're<<else>>It's<</if>> fertilised.</span> <br><br> <<bHe>> continues blustering, before flopping over in the nest. <<bHe>> must be exhausted. <</if>> <<set _eggIcon to $eggLayNumber>> <<Number $eggLayNumber>> <<birdicon "eggs">> fertilised bird egg<<if $eggLayNumber gte 2>>s have<<else>> has<</if>> been added to the nest. <br><br> <<if $phase gte 2>> You help <<bhim>> get settled in to rest after <<bhis>> ordeal. <<if $bird.syndrome gte 15 and $syndromebird isnot 1>> Your eyes wander down to the egg<<if $eggLayNumber gte 2>>s<</if>>. <<bHis>> child<<if $eggLayNumber gte 2>>ren<</if>>. <i>Your child<<if $eggLayNumber gte 2>>ren<</if>>,</i> you think. You rest your head on <<bhis>> shoulder. <<bHis>> plumage is so soft. Staying here with <<bhim>> doesn't seem so bad anymore. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <</if>> <br><br> <</if>> <<pregnancyFeats "Great Hawk">> <<if $birdEggContext is "huntReturn">> <<link [[Next|Bird Tower Great Hawk Egg Laying Hunt Finish]]>><<endNpcPregnancy "Great Hawk" "tower" "tower">><<endBirdEggLaying>><</link>> <<else>> <<link [[Next|Bird Tower]]>><<endNpcPregnancy "Great Hawk" "tower" "tower">><<endevent>><<endBirdEggLaying>><</link>> <</if>> <</if>><<setTowerTemp>><<effects>> <<if $syndromebird gte 1>> <<switch $speech_attitude>> <<case "meek">>"W-we can always try again," you say. <<case "bratty">>"Don't be such a downer, just means we have to try harder," you say. <<default>>"Don't be upset, we can always try again," you say. <</switch>> <br><br> <<bHe>> smiles warmly at you. "You make me so happy, <<wife>>." <<elseif $phase gte 2 and $bird.syndrome gte 15 and $syndromebird isnot 1>> You open your mouth to speak, but the words catch in your throat. You just continue to hold <<bhim>>. <br><br> Would children of your own be so bad? You wonder if <<bhe>> only started producing eggs after finding what <<bhe>> considers to be a mate. You. You rest your head on the <<beasttypes>> shoulder. <i>Your <<beasttype>>,</i> you think. <<bHis>> plumage is so soft. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <<else>> <<switch $speech_attitude>> <<case "meek">>"I-I'm sure you'll have children one day," you say. <<case "bratty">>"You're lucky, you get to try a lot more often than humans do," you say. <<default>>"I'm sure you'll have children of your own some day," you say. <</switch>> <br><br> <<bHe>> gives you a bittersweet smile and looks as though <<bhe>> wants to say something, but stays silent. <</if>> <br><br> <<if $eggLayNumber gt 1>> <<link [[Take the eggs|Bird Tower Eggs Take]]>><</link>> <<else>> <<link [[Take the egg|Bird Tower Eggs Take]]>><</link>> <</if>> <br> <<if $birdEggContext is "huntReturn">> <<link [[Continue|Bird Tower Great Hawk Egg Laying Hunt Finish]]>><<endBirdEggLaying>><</link>> <<else>> <<link [[Continue|Bird Tower]]>><<endevent>><<endBirdEggLaying>><</link>> <</if>> <br><<setTowerTemp>><<effects>><<wearProp "egg" 0 "hawk">> You take the unfertilised egg<<if $eggLayNumber gt 1>>s<</if>> from the nest. <<your_bird_text "cap">> doesn't seem to mind. <<tending_pick bird_egg $eggLayNumber $eggLayNumber>> <br><br> <<if $birdEggContext is "huntReturn">> <<link [[Next|Bird Tower Great Hawk Egg Laying Hunt Finish]]>><<endBirdEggLaying>><<handheldon>><</link>> <<else>> <<link [[Next|Bird Tower]]>><<endevent>><<endBirdEggLaying>><</link>> <</if>> <br><<setTowerTemp>><<effects>> <<set $bird.hunts.duo to false>> <<if $bird.hunts.lootAmount is 0>> You take a deep breath. Your hunt wasn't successful, but you're glad you made it home in time. <br><br> <<flight_hunt_end>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> You take a deep breath. With that situation handled, you take stock of your loot. <br> <<switch $bird.upgrades.decor>> <<case 1>>The tower feels cozy after such exertion.<<stress -6>><<lstress>> <<case 2>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -12>><<llstress>> <<case 3>>Your displayed hunting trophies make you feel like you're truly returning home. <<stress -24>><<lllstress>> <<case 4>>Home at last. <<stress -36>><<trauma -6>><<lllstress>><<ltrauma>> <<case 5>>Home at last. The silver bar <<if Time.dayState is "night">>gently reflects the moon's placid light.<<else>>casts pacifying reflections around your tower.<</if>><<set $stress to 0>><<trauma -6>><<lllstress>><<ltrauma>> <<default>> <</switch>> <br> <<flight_hunt_loot>> <</if>><<setTowerTemp>><<effects>> <<if $phase is 0>> You spread your legs and put your hands aside, letting <<your_bird_text>> help. <br><br> <<bHe>> starts to gently push on your tummy, feeling for the eggs inside of you. You involuntarily moan as <<bhe>> pushes right on your oviduct. <<bHe>> continues gently pushing down your abdomen, helping the eggs along. <<arousal 6000>><<gggarousal>> <<else>> You push <<bhim>> away, and start to breathe heavily. <</if>> <br><br> <<set [_eggnant, _eggnantGenital] to getPregnancyObject("pc", true)>> <<set _eggnantGenital to _eggnantGenital is "vagina" ? "cervix" : "ass">> <<if playerIsPregnant() and _eggnant.type is "hawk">> The egg<<if $eggLayNumber gte 2>>s feel <<else>> feels<</if>> huge, sending waves of both pain and pleasure as you're stretched from within. <<arousal 3000>><<ggarousal>><<pain 10>><<gpain>> <br> <</if>> You let out a short gasp as you feel <<if _eggnantGenital is "cervix">> <<if $eggLayNumber gte 2>> the eggs pass through your cervix. They send shivers through your whole body as they glide down your vaginal canal. You grip <<if $phase is 0>><<your_bird_text>>'s <<if $monster is 1>>arms<<else>>wings<</if>><<else>>the nest<</if>> as the eggs begin to crown. The first one is the hardest. Your passage repeatedly contracts, sending even more waves of pleasure through you. It escapes partially, before going back in. You push for a full minute, and it finally pops out. <<arousal 4000>><<garousal>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <<else>> <br> <</if>> <<if $eggLayNumber is 2>> The second egg passes much easier, joining its sibling in your nest. <<elseif $eggLayNumber is 3>> The second egg passes easily, but the third one gets stuck, having nothing behind it to help push. <<if $phase is 0>>The Great Hawk presses down gently, helping the egg exit with a pop.<<else>>You sit there pushing for more agonising minutes, but eventually you manage to push it out.<</if>> Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <<else>> The next eggs pass easily, but the last one gets stuck, having nothing behind it to help push. <<if $phase is 0>>The Great Hawk presses down gently, helping the egg exit with a pop.<<else>>You sit there pushing for more agonising minutes, but eventually you manage to push it out.<</if>> Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <</if>> <span class="lewd">You have laid $eggLayNumber eggs.</span> <<else>> the egg pass through your cervix. It sends shivers through your whole body as it glides down your vaginal canal. You grip <<if $phase is 0>><<your_bird_text>>'s <<if $monster is 1>>arms<<else>>wings<</if>><<else>>the nest<</if>> as the egg begins to crown. <<if playerIsPregnant() and _eggnant.type is "hawk">> It's only one, but it might as well be a regular human baby with how large it feels. You spread your legs further. Your <<pussy>> stretches more, trying to make room for it to escape. After several minutes of tortured pushing, it finally escapes you. You pant in exertion, feeling dizzy. <<else>> Without other eggs to help push it along, it gets stuck. Your <<pussy>> remains half-open with the egg plugging you. It retracts back in after a moment. You try to catch your breath, but each one is heavy. You push again, this time managing to get it all the way out. <</if>> <span class="lewd">You have laid an egg.</span> <</if>> <<else>> <<if $eggLayNumber gte 2>> <span class="lewd">$eggLayNumber eggs</span> pass through your _eggnantGenital and land in your nest. <<else>> <span class="lewd">an egg</span> pass through your _eggnantGenital and lands in your nest. <</if>> <</if>> <<if $arousal gte $arousalmax>> <<orgasm>> <</if>> You're filled with a sense of maternal bliss. <br><br> <<if $monster is 1>> <<your_bird_text "cap">> gently picks up <<if $eggLayNumber gte 2>>one of the eggs<<else>>the egg<</if>> and smells it. <<else>> <<your_bird_text "cap">> sniffs <<if $eggLayNumber gte 2>>one of the eggs<<else>>the egg<</if>>. <</if>> <<if playerIsPregnant() and _eggnant.type is "hawk">> <<if $monster is 1>> <<bHis>> eyes light up. <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined))>> "I'm so happy, <<wife>>. <span class="lewd">We have more children</span>!" <<bHe>> sweeps you up in a hug, <<if $syndromebird gte 1>>which you can't help but return<<else>>which you're too disoriented to resist<</if>>. <<else>> "Alive! <span class="lewd">Great Hawk and <<wife>> have children</span>!" <<bHe>> sweeps you up in a hug, <<if $syndromebird gte 1>>which you can't help but return<<else>>which you're too disoriented to resist<</if>>. <</if>> <<else>> <<bHe>> prods at <<if $eggLayNumber gt 1>>them<<else>>it<</if>>, before quickly looking up. <<bHe>> spreads <<bhis>> wings wide, letting out a triumphant shriek into the air. <<bHe>> bobs <<bhis>> head and puffs out <<bhis>> plumage. <span class="lewd"><<if $eggLayNumber gt 1>>They're<<else>>It's<</if>> fertilised.</span> <br><br> <<bHe>> continues blustering, before repeatedly headbutting you. <<bHe>> seems excited. <</if>> <<set _eggIcon to $eggLayNumber>> <<Number $eggLayNumber>> <<birdicon "eggs">> fertilised bird egg<<if $eggLayNumber gte 2>>s have<<else>> has<</if>> been added to the nest. <<if $eggLayNumber gte 2>>They're quite large, and you're left wondering how they all fit inside of you to begin with.<<else>>It's quite large, and you're left wondering why passing it didn't hurt more.<</if>> <<if $syndromebird gte 1>> You're flooded with emotion. <<trauma -12>><<lltrauma>> <</if>> <br><br> <<if $syndromebird isnot 1 and $bird.syndrome gte 15>> Your eyes wander down to the egg<<if $eggLayNumber gte 2>>s<</if>>. Your child<<if $eggLayNumber gte 2>>ren<</if>>. Your mind fills with instinctual purpose. You rest your head on <<bhis>> shoulder. <<bHis>> plumage is so soft. Staying here with <<bhim>> doesn't seem so bad anymore. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <br><br> <</if>> <<pregnancyFeats "pc">> <<endPlayerPregnancy "tower" "tower">> <<set $harpyEggsPrevent to 28>> <<else>> <<if $monster is 1>> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined))>> "Don't worry, <<wife>>. No more children yet, not from <<if $eggLayNumber gt 1>>these eggs<<else>>this egg<</if>>." <<else>> <<if playerCanBreedWith("Great Hawk")>> <<set _optionReassure to true>> "No life in <<if $eggLayNumber gt 1>>them<<else>>it<</if>>," <<bhe>> says with a hint of sadness. <<if $syndromebird is 1>> "We... keep trying?" <<else>> "Maybe some day." <</if>> <<else>> "Healthy process, don't worry. <<Wife>> will lay many more." <</if>> <</if>> <<else>> <<if playerCanBreedWith("Great Hawk")>> <<bHe>> prods at <<if $eggLayNumber gt 1>>them<<else>>it<</if>>, and lets out a flat caw. It seems <<if $eggLayNumber gt 1>>they're<<else>>it's<</if>> not fertilised. <<else>> <<bHe>> prods at <<if $eggLayNumber gt 1>>them<<else>>it<</if>>, before looking to you. They're unfertilised, of course. <</if>> <</if>> <<wearProp "egg" 0 "bird">> <<tending_pick bird_egg $eggLayNumber $eggLayNumber>> <<unset $harpyEggs>> <<set $harpyEggsPrevent to 14>> <br><br> <<if _optionReassure>> <<link [[Reassure|Bird Tower Player Eggs Reassure]]>><<handheldon>><<npcincr "Great Hawk" love 1>><<bird_stockholm 3>><</link>><<glove>><<ggbirdstockholm>> <br> <</if>> <</if>> <<link [[Continue|Bird Tower Bed]]>><<endevent>><</link>> <br> <<unset $eggLayNumber>><<setTowerTemp>><<effects>> <<if $syndromebird gte 1>> <<switch $speech_attitude>> <<case "meek">>"W-we can always try again," you say. <<case "bratty">>"Don't be such a downer, just means we have to try harder," you say. <<default>>"Don't be upset, we can always try again," you say. <</switch>> <br><br> <<bHe>> smiles warmly at you. "You make me so happy, <<wife>>." <<elseif $phase is 0 and $bird.syndrome gte 15 and $syndromebird isnot 1>> You open your mouth to speak, but the words catch in your throat. You just continue to let <<bhim>> hold you. <br><br> Would children of your own be so bad? You wonder if you only started producing eggs after finding a mate. <<bHim>>. You rest your head on the <<beasttypes>> shoulder. <i>Your <<beasttype>>,</i> you think. <<bHis>> plumage is so soft. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <<else>> <<switch $speech_attitude>> <<case "meek">>"I-I'm sure you'll have children one day," you say. <<case "bratty">>"You're lucky, birds get to try a lot more often than humans do," you say. <<default>>"I'm sure you'll have children of your own some day," you say. <</switch>> <br><br> <<bHe>> gives you a bittersweet smile and looks as though <<bhe>> wants to say something, but stays silent. <</if>> <br><br> <<link [[Next|Bird Tower Bed]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<if $phase is 1>> You <<if $anxiety gte 1>>nervously <</if>> settle on top of the egg-shaped stones. It's still warm. <<if $sciencetrait gte 3>> While the Great Hawk is much larger than you, <<bhe>> surely has hollow bones like other birds. You worry that you'll be too heavy to safely warm a real egg. <<else>> It seems fairly straightforward, although the <<beasttype>> is much larger and fluffier than you are. <</if>> <br><br> <<if $monster is 1>> "<<Wife>> will do well," <<bhe>> chirps happily. <<else>> <<bHe>> caws at you happily. <</if>> <<else>> You turn away from the stone, and the Great Hawk rolls it in front of you again to demonstrate warming it. <<bHe>> tries a few more times to get your attention before giving up, visibly disappointed. <</if>> <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<setTowerTemp>><<effects>> <<npc "Great Hawk">> <<bird_schedule>> <<set _eggCount to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if $phase is 1>> <<if ["rest","brood","sleep"].includes($bird.activity)>> <<set $birdBrood to true>> You climb into the nest next to <<your_bird_text>>. <<if $bird.activity is "brood">> <<bHe>> opens one eye, and <<if $monster is 1>>smiles at you before <<bhe>> <</if>>makes room. The two of you huddle around your egg<<if _eggCount gte 2>>s<</if>>. <<else>> <<bHe>> stirs lightly. <</if>> <<else>> You climb into the nest and sit cross-legged, carefully placing <<switch _eggCount>> <<case 1>>your egg <<case 2>>both of your eggs <<default>>all <<number _eggCount>> of your eggs <</switch>> in the gap. <</if>> <span class="blue"><i>Brooding will gradually make your eggs hatch faster.</i></span> <<else>> You continue brooding with your egg<<if _eggCount gte 2>>s<</if>><<if $birdBrood is true>> and <<your_bird_text>><</if>>. <</if>> <<if $bird.state is "home" and ["rest","brood","sleep"].includes($bird.activity) and !$birdBrood>> <<set $birdBrood to true>> After a short while, <<your_bird_text>> hops into the nest next to you. <<switch $bird.activity>> <<case "rest">><<bHe>> snuggles up next to you to rest. <<case "brood">><<bHe>> huddles around the egg<<if _eggCount gte 2>>s<</if>> with you. <<case "sleep">><<bHe>> curls up with you and starts to drift off to sleep. <</switch>> <</if>> <br><br> <<bird_pass 30>> <<set _eggsNearHatching to 0>> <<set _eggsCloseHatching to 0>> <<set _eggsHalfHatching to 0>> <<set _eggsFarHatching to 0>> <<run Object.values($children).forEach(child => { if (child.location === "tower" && child.eggTimer) { child.eggTimer -= (2 * TimeConstants.secondsPerHour); const hatchTime = new DateTime(child.eggTimer); if (Time.date.timeStamp >= child.eggTimer) { if (!V.eggsHatched) V.eggsHatched = []; V.eggsHatched.push(child.childId); T.readyToHatch to true; } else if (Time.date.compareWith(hatchTime).days <= 1) { T.eggsNearHatching ++; } else if (Time.date.compareWith(hatchTime).days <= 6) { T.eggsCloseHatching ++; } else if (Time.date.compareWith(hatchTime).days <= 11) { T.eggsOverHalfHatching ++; } else if (Time.date.compareWith(hatchTime).days <= 14) { T.eggsHalfHatching ++; } else { T.eggsFarHatching ++; } } })>> <<if _eggsNearHatching>> <<if _eggCount gte 2>> <span class="teal"><<Number _eggsNearHatching>> of your eggs <<if _eggsNearHatching gte 2>>are<<else>>is<</if>> very close to hatching!</span> <<else>> <span class="teal">Your egg is very close to hatching!</span> <</if>> <br> <</if>> <<if _eggsCloseHatching>> <<if _eggCount gte 2>> <span class="blue"><<Number _eggsCloseHatching>> of your eggs will hatch in a matter of days.</span> <<else>> <span class="blue">Your egg will hatch in a matter of days.</span> <</if>> <br> <</if>> <<if _eggsOverHalfHatching>> <<if _eggCount gte 2>> <span class="pink"><<Number _eggsOverHalfHatching>> of your eggs <<if _eggsOverHalfHatching gte 2>>are<<else>>is<</if>> over half way to their expected hatching time.</span> <<else>> <span class="pink">Your egg is over half way to its expected hatching time.</span> <</if>> <br> <</if>> <<if _eggsHalfHatching>> <<if _eggCount gte 2>> <span class="purple"><<Number _eggsHalfHatching>> of your eggs <<if _eggsHalfHatching gte 2>>are<<else>>is<</if>> about half way ready to hatch.</span> <<else>> <span class="purple">Your egg is about half way ready to hatch.</span> <</if>> <br> <</if>> <<if _eggsFarHatching>> <<if _eggCount gte 2>> <span class="red"><<Number _eggsFarHatching>> of your eggs will still take a long time to hatch.</span> <<else>> <span class="red">Your egg will still take a long time to hatch.</span> <</if>> <br> <</if>> <br> <<if _readyToHatch>> You hear a tiny crackle from <<if _eggCount gte 2>> <<if $eggsHatched.length gte 2>> <<number $eggsHatched.length>> of your eggs. <span class="green">They're hatching!</span> <<else>> one of your eggs. <span class="green">It's hatching!</span> <</if>> <<else>> your egg. <span class="green">It's hatching!</span> <</if>> <br><br> <<link [[Next (0:30)|Bird Tower Hatching]]>><<bird_pass 30>><<set $phase to 1>><</link>> <br> <<elseif $bird.state is "hunting" and $bird.timer lte 0 and !$possessed>> <<endevent>> <<npc "Great Hawk">> You hear the flap of wings as the <<beasttype>> returns. <<bHe>> lands and <<if $monster is 1>>walks<<else>>hops<</if>> over to you. <<unset $birdBrood>> <<bird_hunt_return>> <<else>> <<endevent>> <<if $bird.state is "home" and !["rest","brood","sleep"].includes($bird.activity) and !$bird.override and !$birdBrood and Time.dayState isnot "night" and $bird.timer lte 0 and !$possessed>> <<npc "Great Hawk">> <<if $bird.injured gt 1>> <<set $bird.timer to 600>> You see <<your_bird_text>> sitting at the edge of the perch, looking out at the moor wistfully. It seems <<bhe>> wants to hunt, but <<bhis>> injury is still stopping <<bhim>>. <<elseif npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk","pc") and npcBellySize("Great Hawk") gte 12>> <<set $bird.timer to 300>><<set $birdBrood to true>> You see <<your_bird_text>> sitting at the edge of the perch, looking out at the moor. <<bHe>> seems to consider hunting for a moment, <<if $monster is 1>> but places <<bhis>> hands on <<bhis>> <<bellyDescription "Great Hawk">> and looks to you. <<else>> but wobbles in place for a moment, set off balance by <<bhis>> <<bellyDescription "Great Hawk">>. <</if>> <br><br> <<bHe>> instead joins you in the nest, snuggling up against you. <<elseif $bird.injured is 1>> <<set $bird.timer to random(30, 60)>> <<set $bird.state to "hunting">> You watch <<your_bird_text>> leap from the perch. It seems <<bhe>> wants to hunt, but didn't want to disturb you. <span class="green"><<bHis>> wing must be fully healed.</span> <<else>> <<set $bird.timer to random(30, 60)>> <<set $bird.state to "hunting">> You watch <<your_bird_text>> leap from the perch. It seems <<bhe>> wants to hunt, but didn't want to disturb you. <</if>> <<endevent>> <br><br> <</if>> <<link [[Keep brooding (0:30)|Bird Tower Brood]]>><<transform bird 1>><<trauma -3>><</link>><<ltrauma>> <br> <<link [[Get up|Bird Tower]]>><<unset $birdBrood>><</link>> <br> <</if>><<setTowerTemp>><<effects>> You watch as the egg<<if $eggsHatched.length gte 2>>s continue<<else>> continues<</if>> to shake, small hairline cracks forming along the top. <br><br> <<if $phase is 1>> <<if $bird.state is "hunting">> <<set $bird.state to "home">><<set $bird.timer to random(45, 120)>> After a few minutes, <<your_bird_text>> flies in through the open wall, <<if $bird.upgrades.decor gte 3>>pushing the curtain aside and <</if>>landing beside you. <<if $monster is 1>> <<bHis>> eyes widen. "Glad I made it in time!" <</if>> <<else>> <<switch $bird.activity>> <<case "brood">> <<your_bird_text "cap">> gives the egg<<if $eggsHatched.length gte 2>>s<</if>> some room, but looks like <<bhes>> barely managing to contain <<bhis>> excitement. <<case "sleep" "rest">> <<your_bird_text "cap">> stirs, <<bhis>> eyes slowly opening. <<bHe>> barely has time to process what's happening, but quickly stands up and looks over the egg<<if $eggsHatched.length gte 2>>s<</if>> with excitement. <<case "bathe">> <<your_bird_text "cap">> leaps from the rainwater pool and rushes over. <<bHe>> barely has time to process what's happening. <<default>> <<your_bird_text "cap">> hurries to your side. <<bHe>> barely has time to process what's happening. <</switch>> <</if>> <</if>> <<if $phase is 1>> <<bHe>> <<else>> <<your_bird_text "cap">> <</if>> begins to poke at the shell, but stops <<bhimself>>. <<if $monster is 1>> "Children must be strong enough to get out on their own." <<bHe>> leans down. "Come on, little one<<if $eggsHatched.length gte 2>>s<</if>>. Come say hello. We've been waiting for you." <<else>> <<bHe>> starts to coo at the egg<<if $eggsHatched.length gte 2>>s<</if>>, encouraging the <<if $eggsHatched.length gte 2>>babies<<else>>baby<</if>> to emerge. <</if>> <br><br> The top of <<if $eggsHatched.length gte 2>>one of the eggs<<else>>the egg<</if>> breaches. <<childSelect $eggsHatched[0]>> <<if $children[$eggsHatched[0]].features.monster is "monster">> A surprisingly human face greets you, using <<childhis>> tiny hands to push away the broken edges of the egg. <<childHe>> trills as <<childhis>> eyes slowly open for the first time, beholding <<childhis>> parents. <br><br> <<childHe>> continues to push out of the egg, trying to get to you. <<childHe>> gets half way out before the egg tips over, tumbling the rest of the way. <<childHis>> wings are nothing but two strands of muscle and skin protruding from <<childhis>> back, not having developed feathers yet. Despite this, you can't help but find beauty in your child. <<else>> A tiny beak peeks through, widening the hole. The face of a baby bird greets you as <<childhe>> keeps pushing. <<childHe>> trills as <<childhis>> eyes slowly open for the first time, beholding <<childhis>> parents. <br><br> <<childHe>> continues to push out of the egg, trying to get to you. <<childHe>> gets half way out before the egg tips over, tumbling the rest of the way. <<childHe>> is almost entirely pink, having not yet developed feathers or pigmentation. Despite this, you can't help but find beauty in your child. <</if>> <<if $eggsHatched.length is 2>> <<childHis>> sibling's egg soon breaches as well, revealing a very similar sight. <<elseif $eggsHatched.length gte 3>> <<childHis>> siblings' eggs soon breach as well, revealing very similar sights. <</if>> <<bHe>> wraps a wing around you, and you snuggle into <<bhis>> plumage. <br><br> <<if $bodysize lte 1 and $monster is 1>> <<bHe>> leans over slightly and rests <<bhis>> head atop yours. <<elseif $monster isnot 1 and $bodysize gte 3>> <<bHe>> nuzzles <<bhis>> head under your chin, resting it on the front of your shoulder. <</if>>The two of you spend a minute or two like that, just enjoying being with each other. <<lstress>> <<bird_pass 15>> <br><br> <<if $monster is 1>> "Welcome to life, Little Hawk<<if $eggsHatched.length is 2>>s<</if>>." <<your_bird_text "cap">> seems to be on the verge of tears. As much as you find the name 'Little Hawk' endearing, you should come up with <<if $eggsHatched.length is 2>>proper names<<else>>a proper name<</if>>. <<else>> <<your_bird_text "cap">> nudges the newborn<<if $eggsHatched.length is 2>>s<</if>> with a tenderness unbefitting <<bhis>> large frame and intimidating silhouette. <<bHe>> lets out a low coo, seemingly content. <</if>> <<endevent>> <br><br> <<hatchUi "tower" "Bird Tower Hatching 2" 20>><<setTowerTemp>><<effects>> <<childSelect $eggsHatched[0]>> You carefully pluck away the last bits of egg shell from <<if $eggsHatched.length is 2>><<childrenNames $eggsHatched>>. They look<<else>><<childname>>. <<childHe>> looks<</if>> so delicate and fragile. <br><br> <<npc "Great Hawk">> <<if $monster is 1>> <<your_bird_text "cap">> wraps <<bhis>> wings around you as <<bhe>> admires <<if $eggsHatched.length is 2>><<childrenNames $eggsHatched>><<else>><<childname>><</if>>. "Thank you, <<wife>>. You've made me so happy." <<else>> <<your_bird_text "cap">> nuzzles against you as <<bhe>> admires <<if $eggsHatched.length is 2>><<childrenNames $eggsHatched>><<else>><<childname>><</if>>. <</if>> <br><br> <<if $syndromebird isnot 1>> <span class="red"><i>After hatching chicks of your own, you see that the Great Hawk only ever wanted a mate.</i> You've gained the "Stockholm Syndrome: Great Hawk" trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class="gold">The Great Hawk is now your love interest! This isn't how you expected to find a <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>, but you feel uplifted all the same.</span> <<else>> <span class="gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a <<if $monster is 1>><<nnpc_wife "Great Hawk">><<else>>partner<</if>>, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <br><br> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <</if>> <<set $bird.activity to "rest">> <<set $bird.timer to 30>> <<link [[Next|Bird Tower]]>><<endevent>><<unset $eggsHatched>><<unset $eggsMoved>><</link>> <br><<effects>> <<if $phase is 0>> /* Scold */ <<if $speech_attitude is "meek">> "I-I'm really not that hungry," you say, curling up around your rumbling stomach. <<elseif $speech_attitude is "bratty">> "There's no way I'm eating that thing," you say, ignoring your rumbling stomach. <<else>> "I can't eat that," you say, even as your stomach rumbles. <</if>> <<else>> /* Do nothing */ You turn your head away, ignoring the way your stomach rumbles. <</if>> <br><br> <<if $monster is 1>> The <<beasttype>> frowns. "<<Wife>> needs to eat," <<bhe>> says, tearing a piece off the creature with <<bhis>> talons. <<if playerIsPregnant() and getPregnancyObject().fetus[0].type is "hawk" and talkedAboutPregnancy("pc","Great Hawk")>> "Need to feed eggs so they can grow healthy." <<else>> <<if $phase is 0>> /* Scold */ "Even if you don't like it, <<wife>> shouldn't starve." <<else>> /* Do nothing */ "Do you know how to eat? Do I need to feed you myself?" <</if>> <</if>> There's a desperate edge to <<bhis>> voice as <<bhe>> thrusts the meat in your face. <<else>> The <<beasttype>> lets out a <<= understandsBirdBehaviour() ? "mournful croon" : "quiet noise">> before <<bhe>> picks the creature back up and tears a piece off with <<bhis>> beak. <<bHe>> chirps <<= understandsBirdBehaviour() ? "insistently" : "repeatedly">> as <<bhe>> hops closer, trying to put the meat directly in your mouth. <</if>> <br><br> <<link [[Eat|Bird Tower Forcefeed]]>><<set $phase to 0>><<set $hunger to 1>><<transform bird 1>><<bird_stockholm 1>><<npcincr "Great Hawk" love 1>><</link>><<gbirdstockholm>><<glove>><<lllhunger>> <br> <<link [[Refuse|Bird Tower Forcefeed Refuse]]>><<bird_stockholm -1>><<npcincr "Great Hawk" love -1>><</link>><<lbirdstockholm>><<llove>> <br><<effects>> You shake your head, insisting that you don't want any. <br><br> <<= $monster is 1 ? '"Eat it, <<wife>>," the <<beasttype>> insists' : 'The <<beasttype>> keeps chirping'>>, <<if $monster is 1 or understandsBirdBehaviour()>>growing frustrated and<</if>> trying to shove the meat directly into your mouth. You push <<bhim>> away and <<bhe>> shrieks suddenly, dropping the creature and trying to grab you. <br><br> <<athleticsdifficulty 1 800 true>> <<if $athleticsSuccess>> <span class="green">You duck.</span> <<bHis>> talons swipe at your back, narrowly missing as you scramble away towards the back of the tower. There's a hole in the wall which you <<= $bodysize gte 3 ? "just barely manage to squeeze yourself" : $bodysize gte 2 ? "crawl" : "roll">> into. The <<beasttype>> shrieks and claws at the opening<<= $bodysize gte 3 ? ", managing to scratch your leg before you can pull it away.<<pain 8>><<ggpain>>" : ". <<bHe>> can't reach you this far in, but that doesn't give you much comfort when you see the deep grooves <<bhis>> talons leave in the stone.">><<stress 6>><<trauma 6>><<gstress>><<gtrauma>> <br><br> You tremble at the back of your hiding spot until the <<beasttype>> gives up. <<bHis>> talons retreat and <<bhis>> face takes their place, one big eye looking <<= $monster is 1 or understandsBirdBehaviour() ? "sorrowfully" : "intently">> at you. <<if $monster is 1>> "<<Wife>>?" the <<beasttype>> says softly. "I'm sorry. Didn't mean to <<= $bodysize gte 3 ? "hurt" : "scare">> you. You can eat when you're ready." <<else>> The <<beasttype>> croons<<if understandsBirdBehaviour()>> apologetically<</if>>, feathers flat against <<bhis>> head as <<bhe>> presses <<bhimself>> low to the ground<<if understandsBirdBehaviour()>>, trying to look less imposing<</if>>. <</if>> <br><br> Without waiting for a response, the <<beasttype>> backs away, leaving the torn-up creature behind. <<tearful>> you crawl back into the open. <br><br> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> You try to dodge, <span class="red">but the <<beasttype>> is too fast.</span> <<bHe>> tackles you to the ground, knocking the wind out of your lungs and pinning you down with <<bhis>> full weight.<<pain 4>><<gpain>> <br><br> You struggle beneath <<bhim>>, but in your malnourished state you just aren't strong enough to fight back.<<tiredness 10>><<stress 6>><<ggtiredness>><<gstress>> <br><br> While the <<beasttype>> waits for you to tire yourself out, <<bhe>> picks the creature back up and starts methodically tearing it apart. <br><br> <<link [[Next|Bird Tower Forcefeed]]>><<set $phase to 1>><<set $hunger to 1>><</link>> <br> <</if>><<effects>> <<if $phase is 0>> /* Eat */ You relent, letting the <<beasttype>> place the flesh in your mouth. It's chewy, but doesn't taste of much at all. It fills you with a strange warmth. <<eatLurker>><<drugs 120>><<ggdrugged>> <br><br> The <<beasttype>> is overjoyed to see you eating, and eagerly tears the creature apart to keep feeding you bite-sized chunks. <<bHe>> nearly goes faster than you can chew, only slowing down when you start to choke on a larger piece. <<bHe>> frets over you briefly, then shoves another scrap past your lips as soon as you manage to swallow. <<else>> /* Refuse */ Once <<bhes>> sure you're done struggling, the <<beasttype>> pries your mouth open and forces a chunk of meat down your throat. You swallow reflexively to avoid choking. It fills you with a strange warmth. <<eatLurker>><<drugs 120>><<ggdrugged>> <br><br> The <<beasttype>> coos as you swallow, pressing another chunk to your lips. <<if $monster is 1>>"There we go, eat up." <</if>>You try turning your head away, but the <<beasttype>> just adjusts <<bhis>> angle of attack until you relent and let <<bhim>> keep feeding you. It's humiliating, but there's nothing you can do to stop <<bhim>>.<<stress 6>><<trauma 12>><<gstress>><<ggtrauma>> <</if>> <br><br> Soon your belly is full, and the <<beasttype>> <<= $phase is 0 ? "backs off" : "releases you">>. <<if $monster is 1>> "That wasn't so bad, was it?" <<bhe>> asks, looking you over, before ruffling <<bhis>> plumes and turning away. "<<Wife>> can eat the next one <<pherself>>." <<else>> <<bHe>> looks you over with a piercing gaze, then ruffles <<bhis>> plumes and turns away, apparently satisfied. <</if>> <br><br> <<if $bird.syndrome gte 15>> As <<bhe>> does, you find yourself reaching out for <<bhim>>. <<bHe>> pauses, looking back at you, and for a moment you find yourself overwhelmed by emotion. <<bHes>> trying so hard to take care of you, in <<bhis>> own way. Have you ever felt that sort of kindness anywhere else? You've never had anyone go to such lengths to make sure you don't go hungry. Certainly not at the orphanage. <br><br> You step closer and hug the <<beasttype>> with all your strength. The <<beasttype>> squawks in surprise, then gently wraps <<bhis>> wings around you as well. <<if $speech_attitude is "meek">> "Thank you for feeding me," <<elseif $speech_attitude is "bratty">> "That one wasn't awful," <<else>> "Thanks for the food," <</if>> you say, slightly muffled by the <<beasttype>>'s plumage. <br><br> <<if $monster is 1>> "You're welcome, <<wife>>," the <<beasttype>> says, resting <<bhis>> chin on top of your head. <<else>> The <<beasttype>> chirps in reply, resting <<bhis>> head across your back. <</if>> You stay like that for a while, enjoying the <<beasttype>>'s embrace, until it's finally time to let go. The <<beasttype>> chirps a little as you release <<bhim>>, lightly combing through your <<= $harpy gte 4 ? "feathers" : "hair">> with <<bhis>> <<= $monster is 1 ? "talons" : "beak">>, and you smile as you step back. <span class="red">It's not <<bhis>> fault. <<bHe>> only wants a mate. <br> You've gained the Stockholm Syndrome: Great Hawk trait.</span> <br><br> <<if $loveInterest.primary is "None">> <<set $loveInterest.primary to "Great Hawk">> <span class = "gold">The Great Hawk is now your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.</span> <<else>> <span class = "gold">The Great Hawk can now be claimed as your love interest! This isn't how you expected to find a spouse, but you feel uplifted all the same.<br>You can change your love interest in the "Attitudes" menu.</span> <</if>> <<set $syndromebird to 1>> <<unset $birdescaped>> <<run delete $bird.syndrome>> <br><br> <</if>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br><<widget "bird_init">> <<set $bird to {}>> <<set $bird.lock to 1>> <<set $bird.rope to 0>> <<set $bird.clean to 0>> <<set $bird.lurkersEaten to 0>> <<set $bird.loot to {}>> <<set $bird.loot.lurker to 100>> <<set $bird.loot.trash to 0>> <<set $bird.loot.valuables to 0>> <<set $bird.loot.food to 0>> <<set $bird.loot.clothes to 0>> <<set $bird.state to "hunting">> <<set $bird.timer to 20>> <<set $bird.syndrome to 0>> <<set $bird.injured to 0>> <<set $bird.firepit to Cooker.create({cookTime: {lurker: 1440 * 60}})>> <<set $bird.hunts to { unlocked: false, lurkers: false, materials: false, valuables: false, estate: false }>> <<set $bird.materials to { wood: 0, fabric: 0, sticks: 0, leaves: 0, junk: 0, lurkers: 0, leather: 0, feathers: 0, valuables: {} }>> <<set $bird.upgrades to { mirror: 0, tools: 0, tarp: 0, telescope: 0, shelter: 1, nest: 0, firepit: 0, pot: 0, rack: 0, snare: 0, decor: 0, wardrobe: 0 }>> <</widget>> <<widget "bird_loot">> <<set $bird.loot[_args[0]] += _args[1]>> <<set $bird.loot[_args[0]] to Math.clamp($bird.loot[_args[0]], 90, 2)>> <<set _bird_keys to Object.keys($bird.loot)>> <<for _s to 0; _s lt _bird_keys.length; _s++>> <<if _bird_keys[_s] isnot _args[0]>> <<set $bird.loot[_bird_keys[_s]] -= (_args[1] / 4)>> <<if $bird.loot[_bird_keys[_s]] lt 0>> <<set $bird.loot[_bird_keys[_s]] to Math.clamp($bird.loot[_bird_keys[_s]], 90, 2.5)>> <</if>> <</if>> <</for>> <</widget>> <<widget "bird_pass">> <<if !Number.isInteger(_args[0])>><<exit>><</if>> <<pass _args[0]>> <<if $bird.timer>> <<set $bird.timer -= _args[0]>> <<if $syndromebird isnot 1>> <<hunger _args[0]>> <<if $hunger gte 2000>> <<trauma `_args[0] / 4`>> <<physique_loss `_args[0] / 10`>> <<willpower `_args[0] / 10`>> <</if>> <</if>> <</if>> <<if $bird.override>> <<if $bird.overrideTimer is undefined>> <<set $bird.overrideTimer to 120>> <<else>> <<set $bird.overrideTimer -= _args[0]>> <<if $bird.overrideTimer lte 0>> <<run delete $bird.overrideTimer>> <<run delete $bird.override>> <</if>> <</if>> <</if>> <<if $bird.hunts?.timer isnot undefined>> <<set $bird.hunts.timer += _args[0]>> <</if>> <<if $bird.upgrades?.shelter is 1 and (Weather.precipitation isnot "none")>> <<if $birdShelterTimer is undefined>> <<set $birdShelterTimer to 720>> <<else>> <<set $birdShelterTimer -= _args[0]>> <</if>> <<if $birdShelterTimer lte 0>> <<set $bird.upgrades.shelter to 0>> <</if>> <<elseif $bird.upgrades?.shelter is 0 and $bird.activity is "build">> <<set $bird.upgrades.shelter to 1>> <<set $birdShelterTimer to 720>> <<set $birdShelterRepair to true>> <<elseif $bird.upgrades?.shelter is 2 and $birdShelterTimer>> <<set $birdShelterTimer -= _args[0]>> <</if>> <<if $bird.wardrobe_timer>> <<set $bird.wardrobe_timer -= _args[0]>> <</if>> <<if $bird.firepit?.items.length and getBirdBurnTime() gt 0 and between($bird.upgrades.rack, 1, 2)>> <<set $_nLurkersDrying to Cooker.getItemsNotReady($bird.firepit).length>> <<if $location is "tower">> <<set $_lurkerDrugs to $_nLurkersDrying * Math.floor(($bird.firepit.cookMult * _args[0]) / 4)>> <<drugs $_lurkerDrugs>> <</if>> <</if>> <<if $bird.upgrades?.snare gte 1 and $bird.lurkerSnareState is "ready">> <<set $_lurkerSnareChance to random(0, 600)>> <<if Math.clamp(_args[0], 0, 120) lte $_lurkerSnareChance>> <<set $bird.lurkerSnareState to "captured">> <</if>> <</if>> <</widget>> <<widget "bird_loot_select">> <<rng>> <<set _bird_loot_selector to 0>> <<set _bird_keys to Object.keys($bird.loot)>> <<for _s to 0; _s lt _bird_keys.length; _s++>> <<set _bird_loot_selector += $bird.loot[_bird_keys[_s]]>> <<if _bird_loot_selector gte $rng>> <<switch _s>> <<case 0>> <<set _bird_loot_select to "lurker">> <<case 1>> <<set _bird_loot_select to "trash">> <<case 2>> <<set _bird_loot_select to "valuables">> <<case 3>> <<set _bird_loot_select to "food">> <<case 4>> <<set _bird_loot_select to "clothes">> <<default>> <<bird_loot_random>> <</switch>> <<break>> <</if>> <</for>> <</widget>> <<widget "bird_loot_random">> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 0>> <<set _bird_loot_select to "lurker">> <<case 1>> <<set _bird_loot_select to "trash">> <<case 2>> <<set _bird_loot_select to "valuables">> <<case 3>> <<set _bird_loot_select to "food">> <<default>> <<set _bird_loot_select to "clothes">> <</switch>> <</widget>> <<widget "select_random_clothes">>/*Selects random clothes from shops. Sets _random_clothes to the item name, and _random_index to its index. Ignores forest shop, and secondary parts of outfits. _random_clothes outputs "piece of fabric" when clothes are ignored this way.*/ <<set _random_slot to either(setup.clothingLayer.body)>> <<set _random_index to random(0, (setup.clothes[_random_slot].length - 1))>> <<if !setup.clothes[_random_slot][_random_index].shop.includes("forest") and setup.clothes[_random_slot][_random_index].shop.length gt 0 and !setup.clothes[_random_slot][_random_index].outfitSecondary and setup.clothes[_random_slot][_random_index].cursed isnot 1 and !setup.clothes[_random_slot][_random_index].type.includes("eerie") and !setup.clothes[_random_slot][_random_index].type.includes("naked") and _random_slot isnot "handheld">> <<set _random_clothes to setup.clothes[_random_slot][_random_index].name>> <<else>> <<set _random_clothes to "piece of fabric">> <</if>> <</widget>> <<widget "select_random_clothes_limited">>/*Selects random clothes from shops from a provided pool of slots. Sets _random_clothes to the item name, and _random_index to its index. Ignores forest shop, and secondary parts of outfits. _random_clothes outputs "piece of fabric" when clothes are ignored this way.*/ <<for $_slot range _args>> <<if !setup.clothingLayer.all.includes($_slot)>> <<run Errors.report("Invalid clothing slot provided of name " + $_slot + ", defaulting to piece of fabric")>> <<set _random_clothes to "piece of fabric">> <<break>> <</if>> <</for>> <<set _random_slot to either(_args)>> <<set _random_index to random(0, (setup.clothes[_random_slot].length - 1))>> <<if !setup.clothes[_random_slot][_random_index].shop.includes("forest") and setup.clothes[_random_slot][_random_index].shop.length gt 0 and !setup.clothes[_random_slot][_random_index].outfitSecondary and setup.clothes[_random_slot][_random_index].cursed isnot 1 and !setup.clothes[_random_slot][_random_index].type.includes("eerie") and !setup.clothes[_random_slot][_random_index].type.includes("naked")>> <<set _random_clothes to setup.clothes[_random_slot][_random_index].name>> <<else>> <<set _random_clothes to "piece of fabric">> <</if>> <</widget>> <<widget "bird_hunt_start">> <<if $bird.injured gt 1>> The <<beasttype>> slowly <<if ["build","brood","sleep","rest"].includes($bird.activity)>> rises from <<bhis>> nest. <<elseif $bird.activity is "bathe">> rises from the rainwater pool, and shakes <<bhis>> uninjured wing dry. <<else>> <<if $birdBask is 1>> moves away from you. <<else>> rises from <<bhis>> spot on the perch. <</if>> <</if>> <<if $monster is 1>> "<<print either( "I crave a hunt. My wing remains limp.", "The wild beckons me, and I can only sing in response.", "My talons itch for prey, yet they feel dull.", "The winds call me, and I cannot answer.", "I must stretch my wings, but... painful." )>>" <<bHe>> gazes wistfully out to the moor, then down to <<bhis>> injured wing. <<else>> <<bHe>> looks out over the moor with a wistful gaze. <<bHe>> seems to be looking to hunt, but <<bhis>> injury won't allow it. <</if>> <<set $bird.timer to 600>> <br><br> <<if $harpy gte 6 and $syndromebird is 1 and $bird.hunts.lurkers is true>> <<flight_time_check 30 "silent">> <<link [[Hunt for your spouse (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Start Injured]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<unset $birdPerch>><<bird_pass _flightTime>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom -3>><</link>><<glove>><<lldom>><<print _fatigueText>> <br> <</if>> <<if $birdPerch is 1>> <<link [[Do nothing|Bird Tower Perch]]>><<endevent>><</link>> <<else>> <<link [[Do nothing|Bird Tower]]>><<endevent>><</link>> <</if>> <br> <<elseif $syndromebird is 1 and npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk","pc") and npcBellySize("Great Hawk") gte 14 and $bird.hunts.unlocked is true and $harpy gte 6 and $bird.hunts.lurkers is true>> <<set $bird.timer to 600>> <<if ["build","brood","sleep","rest"].includes($bird.activity)>> The <<beasttype>> sits in the nest, <<elseif $bird.activity is "bathe">> The <<beasttype>> sits in the rainwater pool, <<else>> The <<beasttype>> sits on the perch, <</if>> looking out to the moor. <<if $monster is 1>> <<bHe>> places <<bhis>> hands on <<bhis>> <<bellyDescription "Great Hawk">>. <br><br> "<<Wife>>... if it's not too much trouble," <<bhe>> starts. <<bHe>> makes eye contact with you, looking slightly ashamed. "Could... could <<wife>> hunt for me?" <<else>> <<bHe>> brushes <<bhis>> wing against <<bhis>> swelling belly. <<bHe>> looks to you and chirps. It seems <<bhe>> wants you to hunt for <<bhim>>. <</if>> <br><br> <<flight_time_check 30 "silent">> <<link [[Hunt for your spouse (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Start Injured]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<unset $birdPerch>><<bird_pass _flightTime>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom -3>><</link>><<glove>><<lldom>><<print _fatigueText>> <br> <<if $birdPerch is 1>> <<link [[Do not|Bird Tower Perch]]>><<npcincr "Great Hawk" love -1>><<npcincr "Great Hawk" dom 1>><<endevent>><</link>><<llove>><<gdom>> <<else>> <<link [[Do not|Bird Tower]]>><<npcincr "Great Hawk" love -1>><<npcincr "Great Hawk" dom 1>><<endevent>><</link>><<llove>><<gdom>> <</if>> <br> <<elseif $bird.injured is 1>> <<set $bird.injured to 0>> The <<beasttype>> rises from <<if ["build","brood","sleep","rest"].includes($bird.activity)>> <<bhis>> nest. <<elseif $bird.activity is "bathe">> the rainwater pool, and shakes <<bhis>> wings dry. <<else>> <<bhis>> spot on the perch. <</if>> <<bHe>> stretches out <<bhis>> injured wing, <span class="green">showing no signs of strain. It's healed.</span> <<if $monster is 1>> "Finally. I return to the skies." <<else>> <<bHe>> looks out over the moor with a harsh gaze. <<bHe>> seems to be eager to hunt again. <</if>> <br><br> <<if $syndromebird is 1>> <<if $harpy gte 6 and $bird.hunts.unlocked is true>> <<flight_time_check 30 "silent">> <<if $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too exhausted to join the hunt.</span> <<else>> <<link [[Join the hunt (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Tower Hunt Ask]]>><</link>><<print _fatigueText>> <</if>> <br> <<link [[Stay|Bird Tower No Hunt]]>><</link>> <br> <<else>> <<if $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too exhausted to join the hunt.</span> <<else>> <<link [[Ask to join the hunt|Bird Tower Hunt Ask]]>><</link>> <</if>> <br> <<link [[Say nothing|Bird Tower No Hunt]]>><</link>> <br> <</if>> <<else>> <<bHe>> spreads <<bhis>> wings and launches from the tower. <br><br> <<set $bird.timer to random(30, 60)>> <<set $bird.state to "hunting">> <<if $birdPerch is 1>> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <<else>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <</if>> <<unset $birdPerch>> <br> <</if>> <<else>> The <<beasttype>> <<if ["build","brood","sleep","rest"].includes($bird.activity)>> rises from <<bhis>> nest. <<elseif $bird.activity is "bathe">> rises from the rainwater pool, and shakes <<bhis>> wings dry. <<else>> <<if $birdBask is 1 and $monster is 1>> gingerly helps you stand, and steps to the edge of the perch. <<else>> rises from <<bhis>> spot on the perch. <</if>> <<unset $birdBask>> <</if>> <<if $monster is 1>> "<<print either( "I crave a hunt.", "The wild beckons me.", "My talons itch for prey.", "The winds call me.", "I must stretch my wings." )>> I will return with a gift." <<else>> <<bHe>> looks out over the moor with a harsh gaze. <<bHe>> seems to be looking to hunt. <</if>> <<if npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk","pc") and npcBellySize("Great Hawk") gte 12>> <<bHis>> pregnancy will likely slow <<bhim>> down, but <<bhe>> doesn't seem to mind. <</if>> <br><br> <<if $syndromebird is 1>> <<if $harpy gte 6 and $bird.hunts.unlocked is true>> <<flight_time_check 30 "silent">> <<if $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too exhausted to join the hunt.</span> <<else>> <<link [[Join the hunt (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Tower Hunt Ask]]>><</link>><<print _fatigueText>> <</if>> <br> <<link [[Stay|Bird Tower No Hunt]]>><</link>> <br> <<else>> <<if $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too exhausted to join the hunt.</span> <<else>> <<link [[Ask to join the hunt|Bird Tower Hunt Ask]]>><</link>> <</if>> <br> <<link [[Say nothing|Bird Tower No Hunt]]>><</link>> <br> <</if>> <<else>> <<bHe>> spreads <<bhis>> wings and launches from the tower. <br><br> <<set $bird.timer to random(30, 60)>> <<set $bird.state to "hunting">> <<if $birdPerch is 1>> <<link [[Next|Bird Tower Perch]]>><<endevent>><</link>> <<else>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <</if>> <<unset $birdPerch>> <br> <</if>> <</if>> <</widget>> <<widget "bird_hunt_return">> <<bird_loot_select>> <<bird_hunt_timer>> <<set $bird.state to "home">> <<if $bird.eggIntro is 1>> <<set _bird_loot_select to "rocks">> <<elseif Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined)) and !$daily.birdBabyFeed>> <<set _bird_loot_select to "lurker_for_children">> <<elseif $syndromebird isnot 1 and $hunger gte 2000 and !$daily.birdForcefeed and $rng gte 51>> <<set _bird_loot_select to "lurker_for_player">> <</if>> <<switch _bird_loot_select>> <<case "lurker">> <<bHe>> carries a <<if $bird.hunts.lurkers is true>>lurker<<else>>strange, leathery and many-limbed creature<</if>> in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. <<if $monster is 1>> <<if playerIsPregnant() and getPregnancyObject().fetus[0].type is "hawk" and talkedAboutPregnancy("pc","Great Hawk") and !$daily.birdPregFeed>> <<set $daily.birdPregFeed to true>> <<bHe>> doesn't take a bite for <<bhimself>>, instead offering the whole thing to you. "<<print either( "For you and children.", "Children must be nourished too.", "Keep your strength up.", "They eat eggs, but now they nourish our children.", "Food for you, food for growing hawks in belly.", "Great Hawk hunts well.", "Fresh kill. Should go down easy." )>>" <<else>> <<bHe>> dumps it at your feet, then tears out a chunk of flesh. <<bHe>> hungrily rips into the meat with <<bhis>> teeth. "<<print either( "Common prey here. Their meat is soft.", "It won't bite. Promise.", "You can eat by yourself, yes? I don't need to feed you like baby bird?", "Nasty creatures, but nourishing.", "Keep your strength up.", "They're egg eaters, don't feel bad for them.", "Food for you.", "Great Hawk hunts well.", "Fresh kill. Should go down easy." )>>" <</if>> <<else>> <<bHe>> dumps it at your feet, then tears out a chunk of flesh. <<bHe>> holds <<bhis>> head back as <<bhe>> swallows the meat whole. <</if>> <<bHe>> looks at you, waiting for a response. <<if $bird.hunts.lurkers is true and $bird.upgrades.rack gte 1>> <span class="blue">Its hide is too damaged to use it for anything.</span> <</if>> <br><br> <<if $syndromebird is 1>> <<link [[Eat|Bird Tower Lurker]]>><<hunger -2000>><<bird_loot lurker 5>><<trauma -6>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<ltrauma>> <br> <<else>> <<link [[Eat|Bird Tower Lurker]]>><<set $hunger to 1>><<bird_loot lurker 5>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<lllhunger>> <br> <</if>> <<link [[Scold|Bird Tower Lurker Scold]]>><<bird_loot lurker -20>><<transform bird 1>><<npcincr "Great Hawk" dom -1>><<def 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>> <br> <<link [[Do nothing|Bird Tower Lurker Nothing]]>><<bird_loot lurker -10>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br> <<case "trash">> <<bHe>> carries <<rng 10>> <<switch $rng>> <<case 1>> an empty crisp packet <<case 2>> an empty drink can <<case 3>> an empty tin can <<case 4>> an empty chocolate wrapper <<case 5>> a plastic bag <<case 6>> half a plastic bottle <<case 7>> a bottle cap <<case 8>> a plastic straw <<case 9>> a plastic lid <<default>> a ruined shoe <</switch>> in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. <<if $monster is 1>> "<<print either( "Things from humans.", "Wingless ones, so wasteful.", "Do landbound ones value these?", "Trinkets? I enjoy collecting things like this.", "Not my best hunt." )>>" <</if>> <<bHe>> drops it at your feet, then looks at you, awaiting your response. <br><br> <<link [[Thank|Bird Tower Trash]]>><<bird_loot trash 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <<link [[Scold|Bird Tower Trash Scold]]>><<bird_loot trash -20>><<npcincr "Great Hawk" dom -1>><<transform bird 1>><<def 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>> <br> <<link [[Do nothing|Bird Tower Trash Nothing]]>><<bird_loot trash -10>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br> <<case "valuables">> <<if $monster is 1>> "<<print either( "I found shiny things.", "Treasures from the landbound.", "Couldn't help it, too shiny.", "For you?", "Snatched from wingless ones.", "Looks valuable. Made me think of you.", "Treasures for you." )>>" <</if>> <<bHe>> carries <<rng 5>> <<switch $rng>> <<case 1>> a watch in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. It's probably stolen. <<bHe>> drops it at your feet, then looks at you, awaiting your response. <br><br> <<link [[Take it|Bird Tower Watch]]>><<bird_loot valuables 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <<case 2>> a necklace in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. It's probably stolen. <<bHe>> drops it at your feet, then looks at you, awaiting your response. <br><br> <<link [[Take it|Bird Tower Necklace]]>><<bird_loot valuables 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <<case 3>> a wedding ring in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. It's probably stolen. <<bHe>> drops it at your feet, then looks at you, awaiting your response. <br><br> <<link [[Take it|Bird Tower Ring]]>><<bird_loot valuables 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <<case 4>> a wallet in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. It's probably stolen, but there might be money or other valuables inside. <<bHe>> drops it at your feet, then looks at you, awaiting your response. <br><br> <<link [[Take it|Bird Tower Wallet]]>><<set $phase to "wallet">><<bird_loot valuables 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <<default>> a purse in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. It's probably stolen, but there might be money or other valuables inside. <<bHe>> drops it at your feet, then looks at you, awaiting your response. <br><br> <<link [[Take it|Bird Tower Wallet]]>><<set $phase to "purse">><<bird_loot valuables 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <</switch>> <<link [[Scold|Bird Tower Valuables Scold]]>><<bird_loot valuables -20>><<npcincr "Great Hawk" dom -1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>> <br> <<link [[Do nothing|Bird Tower Valuables Nothing]]>><<bird_loot valuables -10>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br> <<case "food">> <<if $rng gte 96>> <<bHe>> carries a half-destroyed cup in <<bhis>> talons. Something leaks from it. <<if $monster is 1>> "Weak object, pierced through with talons," <<bhe>> says <<else>> <<bHe>> looks down at it in apparent confusion <</if>> before placing it at your feet. You smell it. It's a milkshake. Still fresh. <<set $bird_food to "milkshake">> <<else>> <<bHe>> carries <<rng 10>> <<switch $rng>> <<case 1>> a half-eaten pasty<<set $bird_food to "pasty">> <<case 2>> a donut<<set $bird_food to "donut">> <<case 3>> a bag of nuts<<set $bird_food to "nuts">> <<case 4>> a bag of crisps<<set $bird_food to "crisps">> <<case 5>> a large chocolate bar<<set $bird_food to "chocolate">> <<case 6>> an apple<<set $bird_food to "apple">> <<case 7>> a carrot<<set $bird_food to "carrot">> <<case 8>> a tin of baked beans<<set $bird_food to "beans">> <<case 9>> a tin of tuna<<set $bird_food to "tuna">> <<default>> a tin of custard<<set $bird_food to "custard">> <</switch>> in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. <<if $monster is 1>> "<<print either( "Saw wingless ones eating these.", "Maybe more your taste?", "Food for you.", "Don't understand landbound tastes, but for you...", "Wingless ones left their food unguarded. Poor move.", "Smelled from far away. Easy to take.", "Scavenged from landbound ones. No prey today." )>>" <</if>> <<bHe>> drops it at your feet, then looks at you, awaiting your response. <</if>> <br><br> <<if $bird_food is "milkshake">> <<link [[Drink|Bird Tower Food Milkshake]]>><<bird_loot food 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<if !$syndromebird>><<lhunger>><</if>> <br> <<else>> <<link [[Eat|Bird Tower Food]]>><<bird_loot food 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<if !$syndromebird>><<lhunger>><</if>> <br> <</if>> <<link [[Scold|Bird Tower Food Scold]]>><<bird_loot food -20>><<npcincr "Great Hawk" dom -1>><<transform bird 1>><<def 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>> <br> <<link [[Do nothing|Bird Tower Food Nothing]]>><<bird_loot food -10>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br> <<case "rocks">> <<set $bird.eggIntro to 2>> <<bHe>> carries a pair of smooth stones. They're almost egg shaped. <br><br> <<if $monster is 1>> "Poor <<if $harpy lte 5>>landbound <</if>><<wife>> has never raised egg before. Not to worry. I will help teach!" <</if>> <<bHe>> delicately brings the stones to the nest and demonstrates how to keep them warm. After a few moments, <<bhe>> hops off the rock and makes room for you to take over. <br><br> <<link [[Warm the "egg"|Bird Tower Stone Warm]]>><<set $phase to 1>><<npcincr "Great Hawk" dom 1>><<npcincr "Great Hawk" love 5>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<gdom>><<gglove>> <br> <<link [[Ignore the "egg"|Bird Tower Stone Warm]]>><<set $phase to 0>><<npcincr "Great Hawk" dom -1>><<npcincr "Great Hawk" love -10>><</link>><<ldom>><<llllove>> <br> <<case "lurker_for_children">> <<getChildrenIds `{location:"tower", eggTimer:undefined}` "both">> <<set _childrenTotal to _childrenIds.length>> <<set $daily.birdBabyFeed to true>> <<bHe>> carries a <<if $bird.hunts.lurkers is true>>lurker<<else>>strange, leathery and many-limbed creature<</if>> in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. <<bHe>> shows it to you, before turning back to the nest. <br><br> <<bird_hunt_children_events>> <br><br> <<if _noLurker>> <<link [[Next|Bird Tower]]>><<endevent>><</link>> <br> <<else>> <<if $syndromebird is 1>> <<link [[Eat|Bird Tower Lurker]]>><<hunger -2000>><<bird_loot lurker 5>><<trauma -6>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<ltrauma>> <br> <<else>> <<link [[Eat|Bird Tower Lurker]]>><<set $hunger to 1>><<bird_loot lurker 5>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<lllhunger>> <br> <</if>> <<link [[Scold|Bird Tower Lurker Scold]]>><<bird_loot lurker -20>><<transform bird 1>><<npcincr "Great Hawk" dom -1>><<def 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>> <br> <<link [[Do nothing|Bird Tower Lurker Nothing]]>><<bird_loot lurker -10>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br> <</if>> <<case "lurker_for_player">> <<set $daily.birdForcefeed to true>> <<bHe>> carries a strange, leathery and many-limbed creature in <<bhis>> <<if $monster is 1>>talons<<else>>mouth<</if>>. <<if $monster is 1>> <<bHe>> holds it out without taking a bite, concern clear in <<bhis>> gaze. "<<print either( "It's food, you should eat it.", "Please eat. It's fresh.", "Need meat on bones.", "Let me feed you.", "Don't want you to waste away.", "I promise it's good." )>>" <<else>> <<bHe>> drops the creature in front of you and nudges it closer with a soft chirp, not taking any of it for <<bhimself>>.<<if understandsBirdBehaviour()>> There's a pleading look in <<bhis>> eyes.<</if>> <</if>> <br><br> <<bHe>> waits attentively for your response. <br><br> <<link [[Eat|Bird Tower Lurker]]>><<set $hunger to 1>><<bird_loot lurker 5>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<lllhunger>> <br> <<link [[Scold|Bird Tower Forcefeed Insist]]>><<set $phase to 0>><<transform bird 1>><<npcincr "Great Hawk" dom -1>><<def 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>> <br> <<link [[Do nothing|Bird Tower Forcefeed Insist]]>><<set $phase to 1>><<npcincr "Great Hawk" love -1>><</link>><<llove>> <br> <<default>> <<bHe>> carries <<if $syndromebird is 1>><<select_random_clothes>><<else>><<select_random_clothes_limited "upper" "lower" "under_upper" "under_lower" "hands" "legs">><</if>> <<if setup.clothes[_random_slot][_random_index].plural isnot 1>> <<if setup.clothes[_random_slot][_random_index].word is "an">> an <<else>> a <</if>> <</if>> _random_clothes in <<bhis>> <<if $monster is 1>>talons<<else>>beak<</if>>. <<if $monster is 1>> "<<print either( "You looked cold.", "I don't understand how you wear these, but... here.", "This is how wingless attract mates, yes?", "Colours caught my eye from far.", "Your plumage is pleasing, I thought this would help.", "Landbound left this out of sight. Yelled at me as I flew off with it.", "I like how this feels. Do you?", "Hope this helps keep you warm when I'm away. These... do help you stay warm, right?" )>>" <</if>> <<bHe>> drops <<if setup.clothes[_random_slot][_random_index].plural isnot 1>> it <<else>> them <</if>> at your feet, then looks at you, awaiting your response. <br><br> <<if $bird.upgrades.wardrobe is 1>> <<if $worn[_random_slot].name isnot "naked" and _random_clothes isnot "piece of fabric">> <<link [[Wear|Bird Tower Clothes]]>><<generalWear _random_slot _random_index>><<bird_loot clothes 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <span class="blue">Your $worn[_random_slot].name will be put in your wardrobe.</span><<gfabric>> <br> <<elseif _random_clothes isnot "piece of fabric">> <<link [[Wear|Bird Tower Clothes]]>><<generalWear _random_slot _random_index>><<bird_loot clothes 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <</if>> <<if _random_clothes isnot "piece of fabric">> <<link [[Put it in the wardrobe|Bird Tower Clothes Keep]]>><<generalSend "birdTower" _random_slot _random_index>><<bird_loot clothes 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <</if>> <<else>> <<if $worn[_random_slot].name isnot "naked" and _random_clothes isnot "piece of fabric">> <<link [[Wear|Bird Tower Clothes]]>><<generalRuined _random_slot>><<generalWear _random_slot _random_index>><<bird_loot clothes 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<set $bird.materials.fabric += 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <span class="blue">Your $worn[_random_slot].name will be replaced.</span><<gfabric>> <br> <<elseif _random_clothes isnot "piece of fabric">> <<link [[Wear|Bird Tower Clothes]]>><<generalWear _random_slot _random_index>><<bird_loot clothes 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>> <br> <</if>> <</if>> <<link [[Thank|Bird Tower Fabric]]>><<bird_loot clothes 20>><<npcincr "Great Hawk" love 1>><<transform bird 1>><<set $bird.materials.fabric += 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<glove>><<gfabric>> <br> <<link [[Scold|Bird Tower Clothes Scold]]>><<bird_loot clothes -20>><<npcincr "Great Hawk" dom -1>><<transform bird 1>><<def 1>><<set $bird.materials.fabric += 1>><<bird_stockholm 1>><</link>><<gbirdstockholm>><<ldom>><<gfabric>> <br> <<link [[Do nothing|Bird Tower Clothes Nothing]]>><<bird_loot clothes -10>><<npcincr "Great Hawk" love -1>><<set $bird.materials.fabric += 1>><</link>><<llove>><<gfabric>> <br> <</switch>> <</widget>> <<widget "bird_hunt_timer">> <<if $syndromebird isnot 1>> <<set $bird.timer to random(30, 90)>> <<elseif !$bird.hunts.unlocked>> <<set $bird.timer to random(45, 120)>> <<else>> <<set $bird.timer to random(60, 120)>> <</if>> <</widget>> <<widget "bird_stockholm">> <<if _args[0] and $bird.syndrome isnot undefined>> <<set $bird.syndrome += _args[0]>> <</if>> <</widget>> <<widget "gbirdstockholm">> <<if $syndromebird isnot 1>> <<gstockholm>> <</if>> <</widget>> <<widget "ggbirdstockholm">> <<if $syndromebird isnot 1>> <<ggstockholm>> <</if>> <</widget>> <<widget "gggbirdstockholm">> <<if $syndromebird isnot 1>> <<gggstockholm>> <</if>> <</widget>> <<widget "lbirdstockholm">> <<if $syndromebird isnot 1>> <<lstockholm>> <</if>> <</widget>> <<widget "llbirdstockholm">> <<if $syndromebird isnot 1>> <<llstockholm>> <</if>> <</widget>> <<widget "lllbirdstockholm">> <<if $syndromebird isnot 1>> <<lllstockholm>> <</if>> <</widget>> <<widget "bird_schedule">> <<set $_eggCount to Object.values($children).filter(child => child.location is "tower" and child.eggTimer).length>> <<if $syndromebird gte 1 and !$daily.birdNightFlightCheck and !$weekly.birdNightFlight and !Weather.bloodMoon and !Weather.isFrozen("lake") and !$bird.injured>> <<set $daily.birdNightFlightCheck to true>> <<if $rng lte C.npc["Great Hawk"].love>> <<set $daily.birdNightFlightTrigger to true>> <</if>> <</if>> <<if $bird.override>> <<set $bird.activity to $bird.override>> <<elseif Time.hour gte 21 or Time.hour lte 5>> <<set $bird.activity to "sleep">> <<elseif Time.hour lte 9>> <<set $bird.activity to "sing">> <<elseif Time.hour lte 12 and !$daily.birdWash>> <<set $bird.activity to "bathe">> <<elseif Time.hour lte 15>> <<if $bird.injured gt 1>> <<set $bird.activity to "rest">> <<elseif $_eggCount and $rng gte 50>> <<set $bird.activity to "brood">> <<set $bird.override to "brood">> <<set $bird.overrideTimer to 60>> <<elseif npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk", "pc") and npcBellySize("Great Hawk") gte 12 and $rng gte 50>> <<set $bird.activity to "rest">> <<set $bird.override to "rest">> <<set $bird.overrideTimer to 60>> <<else>> <<set $bird.activity to "build">> <</if>> <<elseif Time.hour lte 17>> <<if $bird.injured gt 1 or npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk", "pc") and npcBellySize("Great Hawk") gte 12>> <<set $bird.activity to "rest">> <<else>> <<set $bird.activity to "groom">> <</if>> <<else>> <<set $bird.activity to "sing">> <</if>> <</widget>> <<widget "bird_greeting">> <<if $daily.birdGreeting isnot 1>> <<set $daily.birdGreeting to 1>> <<if $monster is 1>> <<if Time.hour lte 3 or Time.hour gte 18>> "Good evening, <<elseif Time.hour lte 12>> "Good morning, <<else>> "Good afternoon, <</if>> <<wife>>." <<else>> <<bHe>> greets you with a few low chirps. <</if>> <</if>> <</widget>> <<widget "hawkRescueSetup">> <<if $moor_hunt gte 1>> <<enable_rescue>> <<else>> <<set $_rescueChance to 5>> <<if $harpy gte 6>><<set $_rescueChance += 5>><</if>> <<if $syndromebird gte 1>><<set $_rescueChance += 10>><</if>> <<if $enemynomax gte 3>><<set $_rescueChance += 10>><</if>> <<if $enemytype is "man">><<set $_rescueChance += 5>><</if>> <<set $_rescueChance += Math.floor($moor / 5)>> <<if $_rescueChance gte random(1, 100)>><<enable_rescue>><</if>> <</if>> <<if $bird and $bird.injured gt 1>> <<set $_rescueChance to 0>> <</if>> <</widget>> <<widget "hawkScreechDesc">> <<if $syndromebird>>welcome<<elseif C.npc["Great Hawk"].init is 1>>familiar, terrifying<<else>>terrifying<</if>> screech <</widget>> <<widget "hawkRescueApproachSentence">> <<if $syndromebird is 1>>Salvation<<else>>Terror<</if>> <<print ["circles above", "approaches", "descends", "shadows you"][random(!Weather.overcast ? 3 : 2)]>>. <</widget>> <<widget "hawkCaughtYouSpeech">> <<if $monster is 1>> <<if $birdescaped gte 1>> "<<Wife>> shouldn't <<if $birdescaped gte 2>>keep running<<else>>run<</if>> away," <<bhe>> says. "<<if $harpy gte 6>><<Wife>> doesn't know how to fly yet<<else>>Landbound travel is dangerous<</if>>." <<else>> "Caught you," <<bhe>> says as the wings on <<bhis>> back beat furiously. <</if>> <<else>> The <<beasttype>> lets out a <<if $birdescaped gte 1>> <<if understandsBirdBehaviour()>>relieved<<else>>soft<</if>> <<else>> <<if understandsBirdBehaviour()>>triumphant<<else>>sharp<</if>> <</if>> cry. <</if>> <</widget>> <<widget "your_bird_text">><<silently>> <<if $syndromebird is 1>> <<if $monster is 1>> <<beasttype>><<set $_birdText to either("your spouse", "your _text_output")>> <<else>> <<beasttype>><<set $_birdText to "your " + _text_output>> <</if>> <<else>> <<beasttype>> <<set $_birdText to "the " + _text_output>> <</if>> <<if _args[0] is "cap">> <<set $_birdText to $_birdText.toUpperFirst()>> <</if>> <</silently>><<print $_birdText>><</widget>> <<widget "bird_perch_options">> <<if $bird.state is "hunting" and $bird.timer lte 0>> <<endevent>> <<npc "Great Hawk">> You hear the flap of wings as the <<beasttype>> returns. <<bHe>> lands and <<if $monster is 1>>walks<<else>>hops<</if>> over to you. <<bird_hunt_return>> <<elseif $bird.state is "home" and !["brood","sleep","sing","groom"].includes($bird.activity) and !$bird.override and Weather.dayState isnot "night" and $bird.timer lte 0>> <<endevent>> <<npc "Great Hawk">> <<bird_hunt_start>> <<elseif $bird.activity is "sleep" and $birdSleep is undefined and $bird.state is "home">> <<if $daily.birdNightFlightTrigger and !$weekly.birdNightFlight and ["clear","lightClouds"].includes(Weather.name) and !Weather.bloodMoon and !Weather.isFrozen("lake") and !$bird.injured>> <<endevent>> <<npc "Great Hawk">> <<set $weekly.birdNightFlight to true>> <<unset $birdPerch>><<unset $birdBask>> <<your_bird_text "cap">> stands from the perch. Moonlight bathes <<bhim>> in a silvery glow. <br><br> <<if $monster is 1>> "Come, <<wife>>. Fly with me." <<bHis>> voice carries a tender plea as <<he>> <<if $harpy gte 6 and $birdFly is 1>> extends <<his>> massive talon toward you. <<else>> crouches down, making room for you to climb onto <<bhis>> back. <</if>> <<else>> <<bHe>> lets out a low trill, nodding out to the moor. <<bHe>> wants you to fly with <<bhim>>. <<if $harpy lt 6 or $birdFly isnot 1>> <<bHe>> gets low to the ground, motioning for you to climb onto <<bhis>> back. <</if>> <</if>> <br><br> <<link [[Go|Bird Tower Night Flight]]>><<bird_pass 30>><<npcincr "Great Hawk" love 1>><</link>><<glove>> <br> <<link [[Stay|Bird Tower Night Flight Stay]]>><</link>> <br> <<else>> <<set $birdSleep to 1>><<unset $birdPerch>><<unset $birdBask>> <<endevent>> <<npc "Great Hawk">> <<if $monster gte 1>> The <<beasttype>> scoops you in <<bhis>> arms. "Night has come," <<bhe>> says. "Let me take you to bed." <br><br> <<else>> The <<beasttype>> hops from the perch, towards the nest. <<bHe>> glances at you. <br><br> <</if>> <<link [[Nest|Bird Tower Perch Nest]]>><</link>> <br> <<link [[Stay up|Bird Tower]]>><<endevent>><</link>> <br> <</if>> <<elseif $syndromebird is 1 and ["sing", "groom"].includes($bird.activity) and $birdBask is undefined and $bird.state is "home">> <<endevent>> <<npc "Great Hawk">> <<baskicon>><<link [[Bask (0:30)|Bird Tower Bask]]>><<bird_pass 30>><<stress -12>><<endevent>><</link>><<llstress>> <br> <<birdicon "sing">><<link [[Sing (0:30)|Bird Tower Sing]]>><<transform bird 1>><<bird_pass 30>><<trauma -3>><<endevent>><</link>><<ltrauma>> <br> <<if $bird.state is "home" and !["sleep","rest"].includes($bird.activity) and canGiftFood("Great Hawk")>> <<skinicon "give">><<link [[Give the Great Hawk food|Great Hawk Gifts List]]>><<endevent>><</link>> <br> <</if>> <<if $daily.birdGroom is undefined and $bird.activity is "groom">> <<birdicon "preen">><<link [[Groom (0:15)|Bird Tower Groom]]>><<bird_pass 15>><<trauma -6>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<endevent>><</link>><<ltrauma>><<glove>><br> <</if>> <<if $harpy gte 6 and $birdFly is 1 and $bird.injured is 0 and $bird.upgrades.decor gte 1 and !$daily.birdCasualFlight>> <<if Weather.precipitation is "rain">> <span class="purple">It's too rainy to go flying casually.</span> <<elseif $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too exhausted to go on a casual flight.</span> <<else>> <<birdicon "ask">><<link [[Ask to go flying together (1:00)|Bird Tower Casual Flight]]>><<set $daily.birdCasualFlight to true>><<tiredness 3>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<endevent>><</link>><<gtiredness>><<glove>> <</if>> <br> <</if>> <<if $syndromebird and $lurkers_held gte 1 and $bird.state is "home" and ["sing", "groom"].includes($bird.activity)>> <<birdicon "lurkers_netted">><<link "Give <<bhim>> the netted lurker" "Bird Tower Give Captured Lurker">><<endevent>><</link>><<glove>><br> <</if>> <<if $bird.upgrades.telescope is 1>> <<birdicon "telescope">><<link [[Use your telescope|Bird Tower Telescope]]>><<endevent>><</link>><br> <</if>> <<getouticon>><<link [[Go back inside|Bird Tower]]>><<unset $birdPerch>><<endevent>><</link>> <br><br> <<bird_fly_options>> <<elseif $birdBask is 1 and ["sing", "groom"].includes($bird.activity) and $bird.state is "home">> <<endevent>> <<npc "Great Hawk">> <<baskicon>><<link [[Continue to bask (0:30)|Bird Tower Bask]]>><<bird_pass 30>><<stress -12>><<endevent>><</link>><<llstress>> <br> <<birdicon "sing">><<link [[Sing (0:30)|Bird Tower Sing]]>><<transform bird 1>><<bird_pass 30>><<trauma -3>><<endevent>><</link>><<ltrauma>> <br> <<if npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk","pc")>> <<pregnancyicon "Great Hawk">><<link "Rub <<bhis>> pregnant belly (0:30)" "Bird Tower Pregnant Belly Rub">><<transform bird 1>><<bird_pass 30>><<stress -6>><<trauma -6>><<endevent>><</link>><<llstress>><<lltrauma>><br> <</if>> <<if $harpy gte 6 and $birdFly is 1 and $bird.injured is 0 and $bird.upgrades.decor gte 1 and !$daily.birdCasualFlight>> <<if Weather.precipitation is "rain">> <span class="purple">It's too rainy to go flying casually.</span> <<elseif $tiredness gte (C.tiredness.max / 5) * 4>> <span class="red">You're too exhausted to go on a casual flight.</span> <<else>> <<birdicon "ask">><<link [[Ask to go flying together (1:00)|Bird Tower Casual Flight]]>><<set $daily.birdCasualFlight to true>><<tiredness 3>><<transform bird 1>><<npcincr "Great Hawk" love 1>><<endevent>><</link>><<gtiredness>><<glove>> <</if>> <br> <</if>> <<birdicon "perch_up">><<link [[Get up|Bird Tower Perch]]>><<unset $birdBask>><<endevent>><</link>><br> <<getouticon>><<link [[Leave|Bird Tower Bask Leave]]>><<unset $birdBask>><<unset $birdPerch>><<endevent>><</link>><br> <<else>> <<if $birdSingIntro is 1>> <<birdicon "sing">><<link [[Sing (0:30)|Bird Tower Sing]]>><<set $birdSingAbsent to 1>><<bird_pass 30>><<trauma -2>><<endevent>><</link>><<ltrauma>><br> <</if>> <<if $bird.state is "home" and !["sleep","rest"].includes($bird.activity) and canGiftFood("Great Hawk")>> <<skinicon "give">><<link [[Give the Great Hawk food|Great Hawk Gifts List]]>><<endevent>><</link>> <br> <</if>> <<if $harpy gte 6>> <<birdicon "preen_self">><<link [[Preen your wings (0:30)|Bird Tower Preen Self]]>><<bird_pass 30>><<stress -2>><<endevent>><</link>><<lstress>><br> <</if>> <<if $bird.upgrades.telescope is 1>> <<birdicon "telescope">><<link [[Use your telescope|Bird Tower Telescope]]>><<endevent>><</link>><br> <</if>> <<getouticon>><<link [[Go back inside|Bird Tower]]>><<unset $birdPerch>><<endevent>><</link>> <br><br> <<bird_fly_options>> <</if>> <<unset $birdSingAbsent>> <</widget>> <<widget "bird_telescope_options">> <<if $bird.state is "hunting" and $bird.timer lte 0>> <<endevent>> <<npc "Great Hawk">> You hear the flap of wings as the <<beasttype>> returns. <<bHe>> lands and <<if $monster is 1>>walks<<else>>hops<</if>> over to you. <<bird_hunt_return>> <<elseif $bird.state is "home" and !["brood","sleep"].includes($bird.activity) and !$bird.override and Weather.dayState isnot "night" and $bird.timer lte 0>> <<endevent>> <<npc "Great Hawk">> <<bird_hunt_start>> <<else>> <<if Time.dayState is "night">> <<if $daily.telescopeBlood and Weather.bloodMoon>> <span class="red">You don't want to look at the sky right now.</span> <<else>> <<link [[Watch the sky (1:00)|Bird Tower Telescope Sky]]>><<bird_pass 60>><</link>> <</if>> <br> <</if>> <<link [[Watch the moor (0:20)|Bird Tower Telescope Moor]]>><<bird_pass 20>><</link>> <br> <<link [[Step away|Bird Tower Perch]]>><<endevent>><</link>> <br> <</if>> <</widget>> <<widget "bird_fly_options">> <<if $harpy gte 6>> <<if $birdFly isnot 1>> The wind could carry you a long way, <span class="red">but you don't know how to fly.</span> Your wings should at least carry you down safely. <br> <<if ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <<socialiseicon "ask">><<link [[Ask the Great Hawk to teach you to fly|Bird Tower Fly Intro]]>><<endevent>><</link>><<flight_text>><br> <<if $syndromebird isnot 1>> <span class="red">You won't be able to glide down with the Great Hawk watching you.</span><br> <<else>> <<birdicon "fly_down">><<link [[Glide to the base of the tower (0:01)|Bird Tower Glide 2]]>><<unset $birdPerch>><<bird_pass 1>><<endevent>><</link>><<flight_text>><br> <</if>> <<else>> <<birdicon "fly_down">><<link [[Glide to the base of the tower (0:01)|Bird Tower Glide 2]]>><<unset $birdPerch>><<bird_pass 1>><<endevent>><</link>><<flight_text>><br> <</if>> <<elseif $birdFly is 1>> <<flight_time_check 60>> <<if $bird.hunts.unlocked is true and ($bird.hunts.lurkers is true or $bird.hunts.materials is true or $bird.hunts.valuables is true)>> <<birdicon "hunt">><<link [[Prepare for a hunt|Bird Hunt Start]]>><<endevent>><</link>><<flight_text>><br> <br> <</if>> Fly to the... <br> <<if $exposed gte 2 and $exhibitionism lt 55>> <<insufficientStat "exhibitionism" "to fly exposed towards the town or farmlands">> <br> <<else>> <<farmicon>><<link [[Farmlands (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Tower Farmlands]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<unset $birdPerch>><<endevent>><</link>><<flight_text>><<print _fatigueText>><<if $exposed gte 2>><<exhibitionist4>><</if>> <br> <<entertownicon>><<link [[Town (<<print getTimeString(_hoursPassedLong, _minutesPassedLong)>>)|Bird Tower Town]]>><<set $fatigueMod to (_fatigueMod + 1)>><<set $flightTime to _flightTimeLong>><<bird_pass _flightTimeLong>><<unset $birdPerch>><<endevent>><</link>><<flight_text>><<print _fatigueText>><<if $exposed gte 2>><<exhibitionist4>><</if>> <br> <</if>> <<foresticon>><<link [[Forest (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Tower Forest]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<unset $birdPerch>><<endevent>><</link>><<flight_text>><<print _fatigueText>> <br> <<birdicon "fly_down">><<link [[Base of the tower (0:01)|Bird Tower Glide 2]]>><<unset $birdPerch>><<bird_pass 1>><<endevent>><</link>><<flight_text>> <br> <</if>> <<elseif $angel gte 6 or $demon gte 6 or $fallenangel gte 2>> <<if $pain gte 21>> Your wings should carry you down, <span class="purple">but you're too injured for such a risky jump right now.</span> <br><br> <<else>> Your wings should carry you down. <<if $syndromebird isnot 1 and ($bird.activity is "sing" or $bird.activity is "groom") and $bird.state is "home">> <span class="red">However, you won't be getting far with the Great Hawk watching you.</span> <br><br> <<elseif $birdFly is 1 or $birdGlide is 1>> <br><br> <<glideicon>><<link [[Glide down (0:02)|Bird Tower Glide]]>><<unset $birdPerch>><<bird_pass 2>><<endevent>><</link>><<flight_text>> <<elseif currentSkillValue('willpower') lt 250>> <span class="red">But you don't have the will or courage to attempt it.</span> <<elseif $daily.glideScared>> <span class="red">You're too scared to try again right now.</span> <<else>> <br><br> <<glideicon>><<link [[Attempt to glide down (0:02)|Bird Tower Glide Attempt]]>><<unset $birdPerch>><<bird_pass 2>><<endevent>><</link>><<flight_text>><<willpowerdifficulty 250 1100>> <</if>> <</if>> <</if>> <</widget>> <<widget "flight_time_check">> <<if _args[0] isnot undefined>> <<set _flightTimeBase to _args[0]>> <<else>> <<set _flightTimeBase to 60>> <</if>> <<if _args[1] isnot "silent" and $statdisable is "f">> <<set $_printAlerts to true>> <</if>> <<if $bird.hunts and $bird.hunts.weight>> /* this is not always an integer */ <<set _flightTimeBase += $bird.hunts.weight>> <</if>> <<set _flightTime to _flightTimeBase>> <<switch Weather.name>> <<case "heavyClouds">> <<set _flightTime -= Math.floor(_flightTimeBase / 3)>> <<set _fatigueText to "<<gtiredness>>">> <<set _fatigueMod to 0.5>> <<if $_printAlerts>><span class="gold">The strong winds will make flight easy and fast.</span><</if>> <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "snow">> <<set _flightTime += Math.floor(_flightTimeBase / 6)>> <<set _fatigueText to "<<ggtiredness>>">> <<set _fatigueMod to 2>> <<if $_printAlerts>><span class="blue">Flying in the snow will obscure your vision and slow you down.</span><</if>> <<else>> <<set _flightTime += 1>> <<for _active_clothes range Object.keys($worn)>> <<if !$worn[_active_clothes].type.includes("naked") and !$worn[_active_clothes].type.includes("swim")>> <<switch _active_clothes>> <<case "over_upper" "over_lower">> <<set _flightTime += Math.floor(_flightTimeBase / 6)>><<set _slowText to true>> <<case "upper" "lower">> <<set _flightTime += Math.floor(_flightTimeBase / 9)>><<set _slowText to true>> <<case "under_upper" "under_lower" "feet">> <<set _flightTime += Math.floor(_flightTimeBase / 18)>><<set _slowText to true>> <<default>> <</switch>> <</if>> <</for>> <<if _slowText>> <<if _flightTime gte Math.floor(_flightTimeBase + (_flightTimeBase * 0.5))>> <<set _fatigueText to "<<gggtiredness>>">> <<set _fatigueMod to 3>> <<if $_printAlerts>><span class="red">Flying in the rain will soak your clothes, heavily slowing you down and exposing you.</span><</if>> <<elseif _flightTime gte Math.floor(_flightTimeBase + (_flightTimeBase * 0.25))>> <<set _fatigueText to "<<gggtiredness>>">> <<set _fatigueMod to 3>> <<if $_printAlerts>><span class="pink">Flying in the rain will soak your clothes, slowing you down and exposing you.</span><</if>> <<elseif _flightTime gt _flightTimeBase>> <<set _fatigueText to "<<ggtiredness>>">> <<set _fatigueMod to 2>> <<if $_printAlerts>><span class="blue">Flying in the rain will soak your clothes, slightly slowing you down and exposing you.</span><</if>> <<else>> <<set _fatigueText to "<<gtiredness>>">> <<set _fatigueMod to 2>> <<if $_printAlerts>><span class="green">Flying in the rain won't slow you down at all in your current state of dress.</span><</if>> <</if>> <<else>> <<set _fatigueText to "<<gtiredness>>">> <<set _fatigueMod to 2>> <<if $_printAlerts>><span class="green">Flying in the rain won't slow you down at all in your current state of dress.</span><</if>> <</if>> <</if>> <<default>> <<set _fatigueText to "<<gtiredness>>">> <<set _fatigueMod to 1>> <<if $_printAlerts>><span class="green">The weather shouldn't affect your flight.</span><</if>> <</switch>> <<if $_printAlerts>><br><</if>> <<if currentSkillValue('athletics') gt 0>> <<set _flightTime -= Math.floor((_flightTime / 20) * (currentSkillValue('athletics') / 100))>> <</if>> <<if _flightTime lte 0>> <<set _flightTime to 1>> <</if>> /* I put floor here to protect from other modifiers if added later, feel free to add it on the line commented above */ <<set _flightTime to Math.floor(_flightTime)>> <<set _hoursPassed to Math.floor(_flightTime / 60)>> <<set _minutesPassed to _flightTime % 60>> <<set _flightTimeLong to Math.floor(_flightTime + 15)>> <<set _hoursPassedLong to Math.floor(_flightTimeLong / 60)>> <<set _minutesPassedLong to _flightTimeLong % 60>> <<set _flightTimeSearch to Math.floor(_flightTime + 3)>> <<set _hoursPassedSearch to Math.floor(_flightTimeSearch / 60)>> <<set _minutesPassedSearch to _flightTimeSearch % 60>> <</widget>> <<widget "flight_effects">> <<if $flightTime>> <<if Weather.precipitation is "rain">> <<if !$worn.upper.type.includes("swim") and !$worn.upper.type.includes("naked")>> <<upperwet `Math.floor($flightTime * 4)`>> <</if>> <<if !$worn.lower.type.includes("swim") and !$worn.lower.type.includes("naked")>> <<lowerwet `Math.floor($flightTime * 4)`>> <</if>> <<if !$worn.under_lower.type.includes("swim") and !$worn.under_lower.type.includes("naked")>> <<underlowerwet `Math.floor($flightTime * 4)`>> <</if>> <<if !$worn.under_upper.type.includes("swim") and !$worn.under_upper.type.includes("naked")>> <<underupperwet `Math.floor($flightTime * 4)`>> <</if>> <</if>> <<set _tempTired to (Math.floor($flightTime / 4) + 1)>> <<set Weather.BodyTemperature.addActivity("physique")>> <<tiredness _tempTired>> <<unset $flightTime>> <<unset $fatigueMod>> <</if>> <</widget>> <<widget "flight_distance_check">> <<set _distanceNorthSouth to Math.abs($bird.hunts.distanceNorth)>> <<set _distanceEastWest to Math.abs($bird.hunts.distanceEast)>> <<set _distanceTotal to (_distanceNorthSouth + _distanceEastWest)>> <<set _returnTime to 0>> <<set _returnTime to (5 * _distanceTotal)>> <</widget>> <<widget "flight_hunt_options">> <<flight_time_check 20 "silent">> <<if $bird.hunts.goal is "hawk">> <<set _directionPool to []>> <<if $bird.hunts.distanceNorth lt 5 and !($bird.hunts.distanceNorth is -1 and _distanceEastWest is 0)>> <<run _directionPool.pushUnique("north")>> <</if>> <<if $bird.hunts.distanceEast lt 5 and !($bird.hunts.distanceEast is -1 and _distanceNorthSouth is 0)>> <<run _directionPool.pushUnique("east")>> <</if>> <<if $bird.hunts.distanceNorth gt -5 and !($bird.hunts.distanceNorth is 1 and _distanceEastWest is 0)>> <<run _directionPool.pushUnique("south")>> <</if>> <<if $bird.hunts.distanceEast gt -5 and !($bird.hunts.distanceEast is 1 and _distanceNorthSouth is 0)>> <<run _directionPool.pushUnique("west")>> <</if>> <<set $bird.hunts.direction to _directionPool.pluck()>> <<switch $bird.hunts.direction>> <<case "north">><<set _distanceNorthSouth to 1>><<set _distanceEastWest to 0>> <<case "east">><<set _distanceNorthSouth to 0>><<set _distanceEastWest to 1>> <<case "south">><<set _distanceNorthSouth to -1>><<set _distanceEastWest to 0>> <<case "west">><<set _distanceNorthSouth to 0>><<set _distanceEastWest to -1>> <</switch>> <<capture _distanceNorthSouth _distanceEastWest _fatigueMod _flightTime _fatigueText>> <<link [[`Continue hunting (${getTimeString(_hoursPassed, _minutesPassed)})`|Bird Hunt Event]]>> <<handheldon>> <<set $bird.hunts.distanceNorth += _distanceNorthSouth>> <<set $bird.hunts.distanceEast += _distanceEastWest>> <<set $fatigueMod to _fatigueMod>> <<set $flightTime to _flightTime>> <<bird_pass _flightTime>> <</link>><<print _fatigueText>> <</capture>> <br><br> <<link [[Ask to hunt for something else|Bird Hunt Goal]]>><<endevent>><<set $phase to 2>><</link>> <br> <<flight_time_check _returnTime "silent">> <<link [[`Ask to return to the castle (${getTimeString(_hoursPassed, _minutesPassed)})`|Bird Hunt Return Ask]]>> <<handheldon>> <<set $fatigueMod to _fatigueMod>> <<set $flightTime to _flightTime>> <<bird_pass _flightTime>> <</link>><<print _fatigueText>> <br> <<else>> <<if _distanceNorthSouth gte 4 or _distanceEastWest gte 4>> You can't see the tower from here. <<elseif _distanceNorthSouth is 0 and _distanceEastWest is 0>> The moor stretches out before you. <<else>> The tower is to the <<if $bird.hunts.distanceNorth lte -1>>north<<elseif $bird.hunts.distanceNorth gte 1>>south<</if>><<if $bird.hunts.distanceEast lte -1>>east<<elseif $bird.hunts.distanceEast gte 1>>west<</if>>. <</if>> <br> <<if between($bird.hunts.distanceNorth, ($daily.huntRemyCampNorth - 1), ($daily.huntRemyCampNorth + 1)) and between($bird.hunts.distanceEast, ($daily.huntRemyCampEast - 1), ($daily.huntRemyCampEast + 1))>> <<if !($bird.hunts.distanceNorth is $daily.huntRemyCampNorth and $bird.hunts.distanceEast is $daily.huntRemyCampEast)>> There's smoke rising to the <<if $bird.hunts.distanceNorth lt $daily.huntRemyCampNorth>>north<<elseif $bird.hunts.distanceNorth gt $daily.huntRemyCampNorth>>south<</if>><<if $bird.hunts.distanceEast lt $daily.huntRemyCampEast>>east<<elseif $bird.hunts.distanceEast gt $daily.huntRemyCampEast>>west<</if>>. <br> <</if>> <</if>> <<if $daily.emptyCamp and between($bird.hunts.distanceNorth, ($daily.emptyCampNorth - 1), ($daily.emptyCampNorth + 1)) and between($bird.hunts.distanceEast, ($daily.emptyCampEast - 1), ($daily.emptyCampEast + 1))>> <<if !($bird.hunts.distanceNorth is $daily.emptyCampNorth and $bird.hunts.distanceEast is $daily.emptyCampEast)>> There's an abandoned camp to the <<if $bird.hunts.distanceNorth lt $daily.emptyCampNorth>>north<<elseif $bird.hunts.distanceNorth gt $daily.emptyCampNorth>>south<</if>><<if $bird.hunts.distanceEast lt $daily.emptyCampEast>>east<<elseif $bird.hunts.distanceEast gt $daily.emptyCampEast>>west<</if>>. <br> <</if>> <</if>> <<if between($bird.hunts.distanceNorth, -4, -2) and between($bird.hunts.distanceEast, 2, 4)>> <<if !($bird.hunts.distanceNorth is -3 and $bird.hunts.distanceEast is 3)>> There's a large stone at the top of a hill to the <<if $bird.hunts.distanceNorth lt -3>>north<<elseif $bird.hunts.distanceNorth gt -3>>south<</if>><<if $bird.hunts.distanceEast lt 3>>east<<elseif $bird.hunts.distanceEast gt 3>>west<</if>>. <br> <</if>> <</if>> <<if between($bird.hunts.distanceNorth, -4, -2) and between($bird.hunts.distanceEast, -4, -2)>> <<if !($bird.hunts.distanceNorth is -3 and $bird.hunts.distanceEast is -3)>> There's a large stone at the top of a hill to the <<if $bird.hunts.distanceNorth lt -3>>north<<elseif $bird.hunts.distanceNorth gt -3>>south<</if>><<if $bird.hunts.distanceEast lt -3>>east<<elseif $bird.hunts.distanceEast gt -3>>west<</if>>. <br> <</if>> <</if>> <<if $bird.hunts.distanceNorth is 5>> The farmlands stretch to the north, marking the end of your territory. <br> <<elseif $bird.hunts.distanceEast is 5>> Going any further east would put you in unfamiliar, dangerous territory. <br> <<elseif $bird.hunts.distanceNorth is -5>> You feel your sense of direction failing the further south you travel. It would be wise to turn around. <br> <<elseif $bird.hunts.distanceEast is -5>> <<if $bogProgress gte 1>> The bog stretches to the west, and the forest beyond that. <<else>> The forest stretches to the west. <</if>> <br> <</if>> Which direction will you fly? <br> <<capture _hoursPassed _minutesPassed _fatigueMod _flightTime _fatigueText>> <<if $bird.hunts.distanceNorth lt 5>> <<link [[North (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<handheldon>><<set $bird.hunts.direction to "north">><<set $bird.hunts.distanceNorth++>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><</link>><<print _fatigueText>> <br> <</if>> <<if $bird.hunts.distanceEast lt 5>> <<link [[East (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<handheldon>><<set $bird.hunts.direction to "east">><<set $bird.hunts.distanceEast++>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><</link>><<print _fatigueText>> <br> <</if>> <<if $bird.hunts.distanceNorth gt -5>> <<link [[South (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<handheldon>><<set $bird.hunts.direction to "south">><<set $bird.hunts.distanceNorth-->><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><</link>><<print _fatigueText>> <br> <</if>> <<if $bird.hunts.distanceEast gt -5>> <<link [[West (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Event]]>><<handheldon>><<set $bird.hunts.direction to "west">><<set $bird.hunts.distanceEast-->><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><</link>><<print _fatigueText>> <br> <</if>> <</capture>> <br> <<link [[Hunt for something else|Bird Hunt Goal]]>><<endevent>><<set $phase to 1>><</link>> <br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><<set $phase to 1>><</link>><<print _fatigueText>> <br> <</if>> <</widget>> <<widget "flight_hunt_return">> <<if $bird.hunts.duo is true and birdEggsReady("Great Hawk")>> <<endevent>><<set $bird.hunts.duo to false>><<set $bird.state to "home">> <<npc "Great Hawk">><<person1>> <<your_bird_text "cap">> suddenly goes pale, and <<bhis>> flying becomes slightly erratic. <br><br> <<if $monster is 1>> "<<Wife>>. We need to return home. Now." <</if>> Before you can ask <<bhim>> what's wrong, <<bhe>> starts to fly faster. Towards the castle. <<bHe>> quickly outpaces you. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Follow (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<link [[Keep hunting|Bird Hunt Exit]]>><<endevent>><</link>> <br> <<elseif ($bird.hunts.weight gte 3 and $bird.hunts.duo is false) or $bird.hunts.weight gte 5>> You won't be able to carry any more. You begin to fly back to the tower. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<elseif $stress gte $stressmax or isPregnancyEnding()>> <<handheldon>> You don't have the strength to keep flying. Your wings limply carry you into a clumsy, rapidly descending glide. You black out. <br><br> <<if $bird.hunts.duo is false>> You hear a muffled splash, and your body goes cold. <br><br> <<passout_moor>> <<else>> You feel something grab you mid-air, and your ears pop as you begin to ascend again. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Next (?:??)|Bird Hunt Passout]]>><<bird_pass _returnTime>><</link>> <br> <</if>> <<elseif $pain gte 90>> <<if $bird.hunts.duo is true>> <<endevent>> <<npc "Great Hawk">><<person1>> <<if $monster is 1>> "You're hurt," <<your_bird_text>> says. "We return home at once." <<else>> <<your_bird_text "cap">> caws at you, and touches <<bhis>> wing against you. You wince in pain. You're too injured to keep hunting. You change course and head home. <</if>> <<else>> You're too injured to keep hunting. You change course and return home. <</if>> <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<elseif $bird.hunts.duo is true and $bird.hunts.timer gte 360>> <<endevent>> <<npc "Great Hawk">><<person1>> <<your_bird_text "cap">> looks very fatigued. <<if $monster is 1>> "Been flying too long. We return home." <<else>> <<bHe>> looks to you and caws. You've been flying for hours, and should return home. <</if>> <<bHe>> turns to fly back to the castle, and you follow. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<elseif $bird.hunts.duo is true and npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk","pc") and $bird.hunts.timer gte (360 - (npcBellySize("Great Hawk") * 10))>> <<endevent>> <<npc "Great Hawk">><<person1>> <<your_bird_text "cap">> looks very fatigued. <<if $monster is 1>> "Been flying too long. We return home." <<bHe>> puts <<bhis>> hands on <<bhis>> <<bellyDescription "Great Hawk">>. <<else>> <<bHe>> looks to you and caws, looking fatigued. <</if>> <<bHis>> pregnancy must make hunting more taxing than normal. <<bHe>> turns to fly back to the castle, and you follow. <br><br> <<flight_distance_check>> <<flight_time_check _returnTime "silent">> <<link [[Return to the castle (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Bird Hunt Return]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<bird_pass _flightTime>><<endevent>><</link>><<print _fatigueText>> <br> <<else>> You return to the higher skies. <<if $bird.hunts.duo is true and $bird.hunts.timer gte 300>> <<endevent>> <<npc "Great Hawk">><<person1>> <<your_bird_text "cap">> is starting to look fatigued. <<elseif $bird.hunts.duo is true and Time.dayState is "dusk" and $bird.hunts.timer gte 120 and !$daily.birdNightWarning>> <<endevent>> <<npc "Great Hawk">><<person1>> <<set $daily.birdNightWarning to true>> <<your_bird_text "cap">> looks to the setting sun. <<if $monster is 1>> "Night time soon. Hunt will be harder." <<else>> <<bHe>> then turns to you and caws. It's getting late. Hunting at night time will be more difficult. <</if>> <</if>> <br><br> <<endevent>> <<if _huntFail is 1>><<set $phase to 2>><</if>> <<flight_hunt_options>> <</if>> /* at end due to inline endevent */ <<if _prop is "feather">> <<wearProp _prop "original">> <<elseif _prop>> <<wearProp _prop>> <</if>> <</widget>> <<widget "flight_hunt_chance">> <<if $bird.hunts.goal is "hawk">> <<bird_loot_select>> <<switch _bird_loot_select>> <<case "food" "lurker">><<set $_goal to "lurkers">> <<case "trash" "clothes">><<set $_goal to "materials">> <<case "valuables">><<set $_goal to "valuables">> <</switch>> <<else>> <<set $_goal to $bird.hunts.goal>> <</if>> <<set _flight_hunt_chance to { nothing: 2, lurkers: random(1, 3), materials: random(1, 2), valuables: random(0, 2), other: 1 }>> <<set _flight_hunt_chance[$_goal] += ($bird.hunts.goal is "hawk" ? 3 : 1 + Math.floor(currentSkillValue("skulduggery") / 500))>> <<if Weather.precipitation isnot "none">> <<set _flight_hunt_chance.nothing += 2>> <</if>> <<if Time.dayState is "night">> <<set _flight_hunt_chance.nothing += 2>> <</if>> <<if $daily.huntRemyCampNorth is undefined>> <<set $daily.huntRemyCampNorth to random(2,5)>> <<set $daily.huntRemyCampEast to random(-5,5)>> <</if>> <<if $daily.emptyCampNorth is undefined>> <<set $daily.emptyCampNorth to random(2,5)>> <<set $daily.emptyCampEast to random(-5,5)>> <<if $daily.emptyCampNorth is $daily.huntRemyCampNorth and $daily.emptyCampEast is $daily.huntRemyCampEast>> <<if $daily.emptyCampNorth is 5>> <<set $daily.emptyCampNorth -= 1>> <<else>> <<set $daily.emptyCampNorth += 1>> <</if>> <<set $daily.emptyCampEast to random(-5,5)>> <</if>> <</if>> <</widget>> <<widget "flight_hunt_get">> <<if !_args[0]>> <<run Errors.report("No argument specified for widget flight_hunt_get")>> <<elseif typeof _args[0] isnot "string">> <<run Errors.report("Non-string provided as first argument for widget flight_hunt_get")>> <<elseif !_args[1] or typeof _args[1] isnot "number">> <<run Errors.report("No number argument specified for widget flight_hunt_get")>> <<else>> <<set $_looted to _args[0]>><<set $_amount to _args[1]>> <<if $_looted is "valuables">> <<if _args[2]>> <<set $_info to _args[2]>> <<if $bird.hunts.loot.valuables is undefined>> <<set $bird.hunts.loot.valuables to {[$_info]: 0}>> <</if>> <<if $bird.hunts.loot.valuables[$_info] is undefined>> <<set $bird.hunts.loot.valuables[$_info] to 0>> <</if>> <<set $bird.hunts.loot.valuables[$_info] += $_amount>> <<set $bird.hunts.lootAmount += $_amount>> <<birdicon $_info>><span class="green">$_amount $_info<<if $_amount gte 2>><<if $_info is "watch">>es<<else>>s<</if>><</if>> added.</span> <<else>> <<run Errors.report("Invalid special loot of type; " + $_looted + " " + _args[2])>> <<exit>> <</if>> <<elseif $_looted is "clothing">> <!-- args: 2 = slot, 3 = index, 4 = whether to take the item or wear it, defaults to take, 5 = damaged, 6 = colour, 7 = accessory colour --> <!-- Yes most of this is ripped straight from the equipClothesItemFromDefault widget --> <<if _args[2] and _args[3]>> <<set $_lootClothingSlot to _args[2]>><<set $_lootClothingIndex to _args[3]>> <<set $_item to clone(setup.clothes[$_lootClothingSlot][$_lootClothingIndex])>> <<if $_item.colour_options.length gt 0>> <<if _args[6]>> <<set $_item.colour to _args[5]>> <<if $_item.colour is "custom">> <<set $_item.colourCustom to customColour($customColors.color.primary, $customColors.saturation.primary, $customColors.brightness.primary, $customColors.contrast.primary, $customColors.sepia.primary)>> <</if>> <<else>> <<set _colorOption to clone($_item.colour_options)>> <<run _colorOption.delete("custom")>> <<set $_item.colour to _colorOption.random()>> <</if>> <</if>> <<if $_item.accessory_colour_options.length gt 0 and $_item.accessory_colour_sidebar>> <<if _args[7]>> <<set $_item.accessory_colour to _args[6]>> <<if $_item.accessory_colour is "custom">> <<set $_item.accessory_colourCustom to customColour($customColors.color.secondary, $customColors.saturation.secondary, $customColors.brightness.secondary, $customColors.contrast.secondary, $customColors.sepia.secondary)>> <</if>> <<else>> <<set _accessoryColorOption to clone($_item.accessory_colour_options)>> <<run _accessoryColorOption.delete("custom")>> <<set $_item.accessory_colour to _accessoryColorOption.random()>> <</if>> <</if>> <<if _args[4] is "wear">> <<generalWear $_lootClothingSlot $_lootClothingIndex _args[6] _args[7]>> <<set $_wear to true>> <</if>> <<if _args[5] is "damaged">> <<if ["upper", "under_upper", "lower", "under_lower"].includes($_lootClothingSlot)>> <<if $_wear is true>> <<set $worn[$_lootClothingSlot].integrity to ($_item.integrity_max - random(40, 80))>><<if $worn[$_lootClothingSlot].integrity is 0>><<set $worn[$_lootClothingSlot].integrity to 10>><</if>> <<else>> <<set $_item.integrity to ($_item.integrity_max - random(40, 80))>><<if $_item.integrity is 0>><<set $_item.integrity to 10>><</if>> <</if>> <</if>> <</if>> <<run clothesDataTrimmer($_item)>> <<if $bird.hunts.loot.clothing is undefined>> <<set $bird.hunts.loot.clothing to { [$_item.name]: { amount: 0, wear: $_wear, slot: $_lootClothingSlot, full: $_item } }>> <</if>> <<if $bird.hunts.loot.clothing[$_item.name] is undefined>> <<set $bird.hunts.loot.clothing[$_item.name] to { amount: 0, wear: $_wear, slot: $_lootClothingSlot, full: $_item }>> <</if>> <<set $bird.hunts.loot.clothing[$_item.name].amount += $_amount>> <<set $bird.hunts.lootAmount += $_amount>> <span class="green"><<clothingicon $_item $_lootClothingSlot>> $_item.name added.</span> <<else>> <<run Errors.report("Invalid special loot of type; " + $_looted + " " + _args[2])>> <<exit>> <</if>> <<elseif $bird.materials[$_looted] is undefined and $bird.upgrades[$_looted] is undefined>> <<run Errors.report("Invalid loot of type; " + $_looted)>> <<exit>> <<else>> <<if $bird.hunts.loot[$_looted] is undefined>> <<set $bird.hunts.loot[$_looted] to 0>> <</if>> <<set $bird.hunts.loot[$_looted] += $_amount>> <<set $bird.hunts.lootAmount += $_amount>> <span class="green"><<birdicon $_looted>> $_amount <<switch $_looted>> <<case "tools">> toolbox <<case "sticks">> stick<<if $_amount gte 2>>s<</if>> <<case "leaves">> <<if $_amount gte 2>>leaves<<else>>leaf<</if>> <<case "lurkers">> lurker<<if $_amount gte 2>>s<</if>> <<case "feathers">> feather<<if $_amount gte 2>>s<</if>> <<default>> $_looted <</switch>> added.</span> <</if>> <<switch $_looted>> <<case "tarp">><<set $bird.hunts.weight += 5>> <<case "tools" "pot">><<set $bird.hunts.weight += 2>> <<case "wood">><<set $bird.hunts.weight += (2 * $_amount)>> <<case "leaves">><<set $bird.hunts.weight += (0.5 * $_amount)>> <<case "valuables" "junk">><<set $bird.hunts.weight += (0.2 * $_amount)>> <<case "feathers">><!-- No weight --> <<default>><<set $bird.hunts.weight += $_amount>> <</switch>> <</if>> <</widget>> <<widget "flight_hunt_remove">> <<if !_args[0]>> <<run Errors.report("No argument specified for widget flight_hunt_remove")>> <<elseif typeof _args[0] isnot "string">> <<run Errors.report("Non-string provided as first argument for widget flight_hunt_remove")>> <<elseif !_args[1] or typeof _args[1] isnot "number">> <<run Errors.report("No number argument specified for widget flight_hunt_remove")>> <<else>> <<set $_looted to _args[0]>><<set $_amount to _args[1]>> <<if $bird.materials[$_looted] is undefined>> <<run Errors.report("Invalid loot of type; " + $_looted)>> <<elseif $bird.hunts.loot[$_looted] is undefined>> <<run Errors.report("No loot found of type; " + $_looted)>> <<else>> <<set $bird.hunts.loot[$_looted] -= $_amount>> <<set $bird.hunts.lootAmount -= $_amount>> <</if>> <<switch $_looted>> <<case "tarp">><<set $bird.hunts.weight -= 5>> <<case "tools" "pot">><<set $bird.hunts.weight -= 2>> <<case "wood">><<set $bird.hunts.weight -= (2 * $_amount)>> <<case "leaves">><<set $bird.hunts.weight -= (0.5 * $_amount)>> <<case "valuables" "junk">><<set $bird.hunts.weight -= (0.2 * $_amount)>> <<case "feathers">><!-- No change --> <<default>><<set $bird.hunts.weight -= $_amount>> <</switch>> <span class="red"><<birdicon $_looted>> $_amount <<switch $_looted>> <<case "tools">> toolbox <<case "sticks">> stick<<if $_amount gte 2>>s<</if>> <<case "leaves">> <<if $_amount gte 2>>leaves<<else>>leaf<</if>> <<case "lurkers">> lurker<<if $_amount gte 2>>s<</if>> <<case "feathers">> feather<<if $_amount gte 2>>s<</if>> <<default>> $_looted <</switch>> removed.</span> <<if $bird.hunts.loot[$_looted] lte 0>> <<run delete $bird.hunts.loot[$_looted]>> <</if>> <</if>> <</widget>> <<widget "flight_hunt_get_random">> <<rng 5>> /* set _prop, to be called in <<flight_hunt_return>>. if scene does not use <<flight_hunt_return>>, manually add <<wearProp _prop>> to scene */ <<switch $rng>> <<case 1>>It's just a big stick. You take it anyways. <<set _prop to "stick">><<flight_hunt_get "sticks" 1>> <<case 2>>It's a lurker, freshly caught. You take it. <<set _prop to "lurker">><<flight_hunt_get "lurkers" 1>> <<case 3>>It's a piece of torn fabric. You take it. <<set _prop to "rag">><<flight_hunt_get "fabric" 1>> <<case 4>>It's just a particularly shiny rock. You take it anyways. <<set _prop to "disc">><<flight_hunt_get "junk" 1>> <<default>> <<set _looted to either("watch", "ring", "necklace", "bracelet")>> <<set _prop to _looted>> It's a _looted, now stolen yet again it seems. <<flight_hunt_get "valuables" 1 _looted>> <</switch>> <</widget>> <<widget "flight_hunt_get_ambush">> <<set $_ambushLootList to ["towel", "clothing", "clothing", "junk", "firestarter", "wallet", "watch", "money"]>> You find: <<set $_lootAmount to _args[0] || random(3,5)>> <<for $_lootPass to 0; $_lootPass lt $_lootAmount; $_lootPass++>> <br> <<set $_ambushLooted to $_ambushLootList.pluck()>> <<switch $_ambushLooted>> <<case "towel">>- A large towel. It's tough, and could be used as fabric. <<flight_hunt_get "fabric" 2>><<set _prop to "rag">> <<case "junk">>- Some shiny trinkets. <<flight_hunt_get "junk" 1>><<set _prop to "junk">> <<case "firestarter">>- A firestarting kit. You can use it as firewood. Luckily, it's much lighter. <<flight_hunt_get "wood" 2>><<set $bird.hunts.weight -= 2>><<set _prop to "wood">> <<case "wallet">>- A wallet, full of cards and an ID. <<flight_hunt_get "valuables" 1 "wallet">><<set _prop to "wallet">> <<case "watch">>- A nice watch. <<flight_hunt_get "valuables" 1 "watch">><<set _prop to "watch">> <<case "clothing">> - <<select_random_clothes_limited "upper" "lower" "under_upper" "under_lower" "legs" "hands">> <<if _random_clothes isnot "piece of fabric">> <<if setup.clothes[_random_slot][_random_index].word is "an">> An <<elseif setup.clothes[_random_slot][_random_index].word is "a">> A <<else>> A pair of <</if>> _random_clothes. <<else>> Some torn clothing. <</if>> <<if _random_clothes is "piece of fabric" or $bird.upgrades.wardrobe lt 1>> It will make for good scrap fabric. <<flight_hunt_get "fabric" 1>> <<else>> <<flight_hunt_get "clothing" 1 _random_slot _random_index>> <</if>> <<set _prop to "rag">> <<default>> - <<moneyGain 30 true true>> in cash. <<set _prop to "wallet">> <</switch>> <</for>> <<wearProp _prop>> <</widget>> <<widget "flight_hunt_loot">> <<set $_hordeLoot to 0>><<set $_lurkerLoot to 0>><<set $_otherLoot to 0>> You looted: <br> <<for $_lootType, $_tempNum range $bird.hunts.loot>> <<if $_lootType is "valuables">> <<set $_tempNum to Object.values($_tempNum).reduce((tot, c) => tot + c)>> <</if>> <<if $_lootType is "clothing">> <<set $_tempNum to Object.values($_tempNum).reduce((sum, a) => sum + a.amount, 0)>> <</if>> <<if $_lootType is "valuables">> <<elseif $_lootType is "clothing">> <<shopicon "clothing">> <<else>> <<birdicon $_lootType>> <</if>> <span class="green">$_tempNum</span> <<switch $_lootType>> <<case "tools">> <<set $_otherLoot++>><<set $bird.upgrades.tools to 1>> box of tools. You place it somewhere safe. <<case "pot">> <<set $_otherLoot++>><<set $bird.upgrades.pot to 1>> cooking pot. You place it near the rainwater pool. <<case "wood">> <<set $_matLoot += $_tempNum>><<set $bird.materials.wood += $_tempNum>> piece<<if $_tempNum gte 2>>s<</if>> of wood. <<case "fabric">> <<set $_matLoot += $_tempNum>><<set $bird.materials.fabric += $_tempNum>> scrap<<if $_tempNum gte 2>>s<</if>> of fabric. <<case "sticks">> <<set $_matLoot += $_tempNum>><<set $bird.materials.sticks += $_tempNum>> stick<<if $_tempNum gte 2>>s<</if>>. <<case "leaves">> <<set $_matLoot += $_tempNum>><<set $bird.materials.leaves += $_tempNum>> large <<if $_tempNum gte 2>>leaves<<else>>leaf<</if>>. <<case "junk">> <<set $_hordeLoot += $_tempNum>><<set $bird.materials.junk += $_tempNum>> piece<<if $_tempNum gte 2>>s<</if>> of shiny junk. <<case "lurkers">> <<set $_lurkerLoot += $_tempNum>><<set $bird.materials.lurkers += $_tempNum>> lurker<<if $_tempNum gte 2>>s<</if>>. <<case "leather">> <<set $_matLoot += $_tempNum>><<set $bird.materials.leather += $_tempNum>> piece<<if $_tempNum gte 2>>s<</if>> of treated leather. <<case "feathers">> <<set $_matLoot += $_tempNum>><<set $bird.materials.feathers += $_tempNum>> feather<<if $_tempNum gte 2>>s<</if>>. <<case "tarp">> <<set $_hordeLoot++>><<set $bird.upgrades.tarp to 1>> large tarp. <<case "clothing">> <<set $_matLoot += $_tempNum>> piece<<if $_tempNum gte 2>>s<</if>> of clothing: <<for $_lootClothingType, $_tempObjClothing range $bird.hunts.loot.clothing>> <br> <<ind>><<clothingicon $_tempObjClothing.full $_tempObjClothing.slot>> <span class="teal">$_tempObjClothing.amount</span> <<if setup.clothes[$_tempObjClothing.slot][$_tempObjClothing.full.index].word is "n">>pair<<if $_tempObjClothing.amount gte 2>>s<</if>> of<</if>> $_tempObjClothing.full.name<<if setup.clothes[$_tempObjClothing.slot][$_tempObjClothing.full.index].word is "a" and $_tempObjClothing.amount gte 2>>s<</if>> <<if !$_tempObjClothing.wear>> <<set $wardrobe_location to "birdTower">> <<wardrobeSelection true>> <<set $_wardrobe to selectWardrobe()>> <<if $_wardrobe.space - $_wardrobe[$_tempObjClothing.slot].length lte 0>> <span class="red">(No space left! Scrapped for fabric.)</span><<set $bird.materials.fabric += 1>> <<else>> <<set $_wardrobe[$_tempObjClothing.slot].push(clone($_tempObjClothing.full))>> <</if>> <</if>> <</for>> <<case "valuables">> <<set $_hordeLoot += $_tempNum>> valuable item<<if $_tempNum gte 2>>s<</if>>: <<for $_lootValType, $_tempNumVal range $bird.hunts.loot.valuables>> <<if $bird.materials.valuables[$_lootValType] is undefined>> <<set $bird.materials.valuables[$_lootValType] to 0>> <</if>> <<set $bird.materials.valuables[$_lootValType] += $_tempNumVal>> <br> <<birdicon $_lootValType>><span class="teal">$_tempNumVal</span> $_lootValType<<if $_lootValType is "watch" and $_tempNumVal gte 2>>es<<elseif $_tempNumVal gte 2>>s<</if>>. <</for>> <<default>> <</switch>> <br> <</for>> <<if $_hordeLoot gte 1 and $_matLoot gte 1 and $_otherLoot gte 1>> You sort everything into neat piles. <br><br> <<elseif $_matLoot gte 2>> You add the fresh materials to the pile. <br><br> <<elseif $_hordeLoot gte 2>> You pile up your valuables into your hoard. <br><br> <<elseif $_hordeLoot + $_matLoot + $_otherLoot gte 1>> You add them to the pile. <br><br> <<elseif $_hordeLoot + $_matLoot + $_otherLoot is 1>> You add it to the pile. <br><br> <</if>> <<if $_lurkerLoot gte 1>> <<if $bird.hunts.duo is true and $_lurkerLoot gte 2>> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined)) and !$daily.birdBabyFeed>> <<getChildrenIds `{location:"tower", eggTimer:undefined}` "both">> <<set _childrenTotal to _childrenIds.length>> <<set $daily.birdBabyFeed to true>> Your spouse brings one of the lurkers to the nest. <<set $bird.materials.lurkers -=1>> <<bird_hunt_children_events>> <<else>> Your spouse quickly devours one of the lurkers. <<set $bird.materials.lurkers -=1>><<feedLurker>> <</if>> <br><br> <<elseif $bird.injured gt 1 and $bird.state is "home">> <<link [[Feed the Great Hawk a lurker|Bird Tower Hunt End Injured Eat]]>><<set $bird.materials.lurkers -=1>><<endevent>><<wearProp "lurker">><</link>> <br> <<elseif npcIsPregnant("Great Hawk") and talkedAboutPregnancy("Great Hawk","pc") and $bird.state is "home">> <<link [[Feed the Great Hawk a lurker|Bird Tower Hunt End Preggy Eat]]>><<set $bird.materials.lurkers -=1>><<endevent>><<wearProp "lurker">><</link>> <br> <</if>> <<if Object.values($children).find(child => (child.type is "hawk" and child.location is "tower" and child.eggTimer is undefined)) and !$daily.birdBabyFeed>> <<getChildrenIds `{location:"tower", eggTimer:undefined}` "both">> <<set _childrenTotal to _childrenIds.length>> <<if _childrenTotal gte 2>> <<link [[Feed your children a lurker|Bird Tower Hunt End Children]]>><<set $bird.materials.lurkers -=1>><<endevent>><<wearProp "lurker">><</link>> <<else>> <<link [[Feed your child a lurker|Bird Tower Hunt End Children]]>><<set $bird.materials.lurkers -=1>><<endevent>><<wearProp "lurker">><</link>> <</if>> <br> <</if>> <<link [[Eat a lurker|Bird Tower Hunt End Eat]]>><<hunger -2000>><<set $bird.materials.lurkers -=1>><<endevent>><<wearProp "lurker">><</link>> <br> <<if $bird.upgrades.pot gte 2>> <<if getBirdBurnTime() gt 0>> <<link [[Cook and eat a lurker (0:15)|Bird Tower Hunt End Eat Cook]]>><<hunger -2000>><<set $bird.materials.lurkers -=1>><<endevent>><<bird_pass 15>><<wearProp "lurker">><</link>> <br> <<else>> <span class="red">The fire needs to be lit in order to cook lurkers.</span> <br> <<link [[Go to the firepit|Bird Tower Firepit]]>><<endevent>><</link>> <br> <</if>> <</if>> <</if>> <<link [[Continue|Bird Tower]]>><<endevent>><</link>> <br> <<flight_hunt_end>> <</widget>> <<widget "towerValuables">> <<if $bird.upgrades.decor is 5>> <<birdicon "silver">> The silver bar shines as brightly as ever. <br> <</if>> <<for _valuable, _amount range $bird.materials.valuables>> <<if _amount lt 1>><<continue>><</if>> <<set $_valuablesMessage to true>> <<birdicon _valuable>> _amount _valuable<<if _amount gte 2>><<if _valuable is "watch">>es<<else>>s<</if>><</if>> <<capture _valuable _amount>> <<link "Take one">> <<if _valuable is "antique bullet">> <<set $antiquemoney += 50>> <<museumAntiqueStatus "antiquebullet" "found">> <<elseif ["wallet", "necklace"].includes(_valuable)>> <<set $blackmoney += 100>> <<else>> <<set $blackmoney += 50>> <</if>> <<set $bird.materials.valuables[_valuable] -= 1>> <<replace "#towerVal">><<towerValuables>><</replace>> <</link>> | <<link "Take all">> <<if $_valuable is "antique bullet">> <<set $antiquemoney += (50 * _amount)>> <<museumAntiqueStatus "antiquebullet" "found">> <<elseif ["wallet", "necklace"].includes(_valuable)>> <<set $blackmoney += (100 * _amount)>> <<else>> <<set $blackmoney += (50 * _amount)>> <</if>> <<set $bird.materials.valuables[_valuable] to 0>> <<replace "#towerVal">><<towerValuables>><</replace>> <</link>> <br> <</capture>> <</for>> <<if $bird.materials.junk gt 0>> <<set $_valuablesMessage to true>> <<birdicon "junk">> $bird.materials.junk piece<<if $bird.materials.junk gte 2>>s<</if>> of shiny junk <br> <</if>> <<if !$_valuablesMessage>> <span class="black">Nothing</span> <br> <</if>> <</widget>> <<widget "flight_hunt_end">> <<run delete $bird.hunts.duo>> <<run delete $bird.hunts.goal>> <<run delete $bird.hunts.weight>> <<run delete $bird.hunts.direction>> <<run delete $bird.hunts.distanceNorth>> <<run delete $bird.hunts.distanceEast>> <<run delete $bird.hunts.returnAccept>> <<run delete $bird.hunts.loot>> <<run delete $bird.hunts.lootAmount>> <<run delete $bird.hunts.timer>> <<unset $tentLootAmount>> <<unset $hkTime>> <<unset $ambushTarget>> <<unset $birdAmbushTrap>> <</widget>> <<widget "eatLurker">> <<set $bird.lurkersEaten++>> <<if $harpyEggsPrevent and !$harpyEggs and !playerIsPregnant()>> <<set $harpyEggsPrevent-->> <span class="lewd">You feel your body recover from laying eggs a little faster.</span> <<elseif playerIsPregnant() and getPregnancyObject().fetus[0].type is "hawk">> <<set [$_eggnant, $_eggnantGenital] to getPregnancyObject("pc", true)>> <<set $sexStats[$_eggnantGenital].pregnancy.timer += 0.25>> <<for $_b to 0; $_b lt $sexStats[$_eggnantGenital].pregnancy.fetus.length; $_b++>> <<set $sexStats[$_eggnantGenital].pregnancy.fetus[$_b].eggTimer -= (6 * TimeConstants.secondsPerHour)>> <</for>> <<if playerAwareTheyArePregnant()>> <span class="lewd">Your eggs are nourished. They'll be ready for laying sooner.</span> <<else>> <span class="lewd">You feel something inside you settle.</span> <</if>> <</if>> <</widget>> <<widget "feedLurker">> <<if $bird.injured gt 1>> <<set $bird.injured-->> <</if>> <<if npcIsPregnant("Great Hawk")>> <<set C.npc["Great Hawk"].pregnancy.timer += 0.25>> <<for $_b to 0; $_b lt C.npc["Great Hawk"].pregnancy.fetus.length; $_b++>> <<set C.npc["Great Hawk"].pregnancy.fetus[$_b].eggTimer -= (6 * TimeConstants.secondsPerHour)>> <</for>> <</if>> <</widget>> <<widget "firepitTime">> Burn time remaining: <<print getTimeString(getBirdBurnTime())>> <<if Weather.precipitation is "rain" and $bird.upgrades.shelter is 0>> <span class="red">It would burn twice as long with shelter from the rain.</span> <</if>> <</widget>> <<widget "firepitActions">> <<if !$bird.upgrades.firepit>><<exit>><</if>> <<firepitTime>> <br><br> <<set $_maxTime to Math.floor($bird.firepit.maxBurnTime / 60)>> <<birdicon "firepit">>Your firepit can burn for up to around <<print Math.floor($_maxTime / 60)>> hours. <br> <<set _maxTimeAllowed to Math.clamp($_maxTime - getBirdBurnTime(), 0, $_maxTime)>> <<if _maxTimeAllowed is 0>> <span class="green">The fire is already very strong.</span> <br> <</if>> <<if $bird.materials.wood is 0>> <<birdicon "wood">><span class="red">No wood to add.</span> <br> <<elseif _maxTimeAllowed gt 0>> <<set _timeWood to 240>> <<if Weather.precipitation is "rain" and $bird.upgrades.shelter is 0>> <<set _timeWood to Math.floor(_timeWood / 2)>> <</if>> <<set _timeLteMax to _timeWood lte _maxTimeAllowed>> You have $bird.materials.wood piece<<if $bird.materials.wood gte 2>>s<</if>> of wood. <br> <<birdicon "wood">><<link "Add 1 wood">> <<set $bird.materials.wood-->> <<run Cooker.addBurnTime($bird.firepit, _timeWood * 60)>> <<replace #firepitActions>><<firepitActions>><</replace>> <<run Weather.Observables.checkForUpdate()>> <</link>><<note `"+ " + getTimeString(Math.min(_timeWood, _maxTimeAllowed))` `_timeLteMax ? "green" : "orange"`>> <br> <<if $bird.materials.wood gte 2 and _timeWood lt _maxTimeAllowed>> <<set _timeLteMax to _timeWood * 2 lte _maxTimeAllowed>> <<birdicon "wood">><<link "Add 2 wood">> <<set $bird.materials.wood -= 2>> <<run Cooker.addBurnTime($bird.firepit, _timeWood * 120)>> <<replace #firepitActions>><<firepitActions>><</replace>> <<run Weather.Observables.checkForUpdate()>> <</link>><<note `"+ " + getTimeString(Math.min(_timeWood * 2, _maxTimeAllowed))` `_timeLteMax ? "green" : "orange"`>> <br> <</if>> <<if $bird.materials.wood gte 3 and _timeWood * 2 lt _maxTimeAllowed>> <<set _timeLteMax to _timeWood * 3 lte _maxTimeAllowed>> <<birdicon "wood">><<link "Add 3 wood">> <<set $bird.materials.wood -= 3>> <<run Cooker.addBurnTime($bird.firepit, _timeWood * 180)>> <<replace #firepitActions>><<firepitActions>><</replace>> <<run Weather.Observables.checkForUpdate()>> <</link>><<note `"+ " + getTimeString(Math.min(_timeWood * 3, _maxTimeAllowed))` `_timeLteMax ? "green" : "orange"`>> <br> <</if>> <</if>> <br> <<if $bird.materials.sticks is 0>> <<birdicon "sticks">><span class="red">No sticks to add.</span> <br> <<elseif _maxTimeAllowed gt 0>> <<set _timeSticks to 60>> <<if Weather.precipitation is "rain" and $bird.upgrades.shelter is 0>> <<set _timeSticks to Math.floor(_timeSticks / 2)>> <</if>> <<set _timeLteMax to _timeSticks lte _maxTimeAllowed>> You have $bird.materials.sticks stick<<if $bird.materials.sticks gte 2>>s<</if>>. <br> <<birdicon "sticks">><<link "Add 1 stick">> <<set $bird.materials.sticks-->> <<run Cooker.addBurnTime($bird.firepit, _timeSticks * 60)>> <<replace #firepitActions>><<firepitActions>><</replace>> <<run Weather.Observables.checkForUpdate()>> <</link>><<note `"+ " + getTimeString(Math.min(_timeSticks, _maxTimeAllowed))` `_timeLteMax ? "green" : "orange"`>> <br> <<if $bird.materials.sticks gte 3 and _timeSticks lt _maxTimeAllowed>> <<set _timeLteMax to _timeSticks * 3 lte _maxTimeAllowed>> <<birdicon "sticks">><<link "Add 3 sticks">> <<set $bird.materials.sticks -= 3>> <<run Cooker.addBurnTime($bird.firepit, _timeSticks * 180)>> <<replace #firepitActions>><<firepitActions>><</replace>> <<run Weather.Observables.checkForUpdate()>> <</link>><<note `"+ " + getTimeString(Math.min(_timeSticks * 3, _maxTimeAllowed))` `_timeLteMax ? "green" : "orange"`>> <br> <</if>> <<if $bird.materials.sticks gte 5 and _timeSticks * 3 lt _maxTimeAllowed>> <<set _timeLteMax to _timeSticks * 5 lte _maxTimeAllowed>> <<birdicon "sticks">><<link "Add 5 sticks">> <<set $bird.materials.sticks -= 5>> <<run Cooker.addBurnTime($bird.firepit, _timeSticks * 300)>> <<replace #firepitActions>><<firepitActions>><</replace>> <<run Weather.Observables.checkForUpdate()>> <</link>><<note `"+ " + getTimeString(Math.min(_timeSticks * 5, _maxTimeAllowed))` `_timeLteMax ? "green" : "orange"`>> <br> <</if>> <</if>> <br> <<if $bird.materials.lurkers is 0>> <<set $_noLurkers to true>> <span class="red">You have 0 lurkers.</span> <<elseif $bird.materials.lurkers gte 1>> You have $bird.materials.lurkers lurker<<if $bird.materials.lurkers gte 2>>s<</if>>. <</if>> <br> <<if $bird.upgrades.rack gte 1>> <<set $_rackMax to $bird.firepit.maxItems>> <<set _lurkersDrying to Cooker.getItemsNotReady($bird.firepit)>> <<set $_nLurkersDrying to _lurkersDrying.length>> <<set _nLurkersReady to $bird.firepit.items.length - $_nLurkersDrying>> <<birdicon "rack">>Your drying rack can hold up to $_rackMax lurkers. <br> <<if $_nLurkersDrying gte 1>> <<birdicon "lurkers">> <<if $bird.firepit.items.length is $_rackMax>> <i class="blue">It is currently full,</i> drying $_nLurkersDrying lurker<<if $_nLurkersDrying gte 2>>s<</if>>. <<else>> It is currently drying $_nLurkersDrying lurker<<if $_nLurkersDrying gte 2>>s<</if>>. <</if>> <<if getBirdBurnTime() gt 0>> <<if $bird.upgrades.rack lt 3>> <span class="lewd">Strange fumes are coming from <<if $_nLurkersDrying gte 2>>them<<else>>it<</if>>.</span> <<gdrugged>> <<else>> <span class="teal">Strange fumes are coming from <<if $_nLurkersDrying gte 2>>them<<else>>it<</if>> and harmlessly leaving the tower.</span> <</if>> <<else>> <span class="pink">A lit firepit would speed up the process.</span> <</if>> <br> <<if $debug is 1>> <span class="gold">DEBUG:</span> Lurker time remaining <br> <<for $_i to 0; $_i lt _lurkersDrying.length; $_i++>> - Lurker <<print $_i + 1>>: <<print getTimeString(Math.floor(( ($bird.firepit.cookTime.lurker - _lurkersDrying[$_i].timeBonus - _lurkersDrying[$_i].bonusElapsed) - ($timeStamp - _lurkersDrying[$_i].startedAt) ) / 60))>> <br> <</for>> <</if>> <<else>> <<birdicon "lurkers">>No lurkers are drying. <br> <</if>> <<if $bird.firepit.items.length is $_rackMax or $_noLurkers>> <<else>> <<birdicon "rack">><<link [[Add a lurker to the rack (0:02)|Bird Tower Firepit]]>> <<set $bird.materials.lurkers-->> <<run Cooker.cookItem($bird.firepit, Cooker.createItem($bird.firepit, 'lurker', true))>> <<bird_pass 2>> <</link>> <br> <</if>> <<if $_nLurkersDrying gte 1>> <<birdicon "rack">> <<link "Take one lurker out">> /* assumes last item is the most recently added lurker */ <<run $bird.firepit.items.pop()>> <<set $bird.materials.lurkers++>> <<replace #firepitActions>><<firepitActions>><</replace>> <</link>> <<if $_nLurkersDrying gte 2>> | <<link "Take all lurkers out">> <<set $bird.materials.lurkers += _lurkersDrying.length>> <<set $bird.firepit.items to Cooker.getItemsReady($bird.firepit)>> <<replace #firepitActions>><<firepitActions>><</replace>> <</link>> <</if>> <br> <</if>> <<if _nLurkersReady gte 1>> <<birdicon "lurkers">><span class="green">_nLurkersReady lurker<<if _nLurkersReady gte 2>>s are<<else>> is<</if>> ready.</span> <br> <<birdicon "leather">><<link `"Take " + _nLurkersReady + " leather"`>> <<set $bird.materials.leather += _nLurkersReady>> <<set $bird.firepit.items to _lurkersDrying>> <<replace #firepitActions>><<firepitActions>><</replace>> <</link>> <<else>> <<birdicon "lurkers">>No lurkers are ready. <</if>> <br> <</if>> <br> <<if $bird.upgrades.pot gte 2 and !$_noLurkers and getBirdBurnTime() gt 0>> <<birdicon "pot_cook">><<link [[Cook a lurker (0:15)|Bird Tower Lurker Cook]]>><<set $bird.materials.lurkers -= 1>><<bird_pass 15>><</link>> <br> <</if>> <br> <</widget>> <<widget "towerBuildOption">> <div> <<set _upgrade to _args[0]>> <<if _towerUpgrades is undefined>><<set _towerUpgrades to {}>><</if>> <<set _towerUpgrades[_upgrade] to {}>> <<set $_upgrade to _towerUpgrades[_upgrade]>> <<switch _upgrade>> <<case "duster">> <span class="teal">Feather duster</span>: Will make it easier to clean the tower. <<set $_upgrade.passage to "Bird Tower Build Duster">> <<set $_upgrade.timeTaken to 10>> <<set $_upgrade.materialsUsed to { sticks: 1, fabric: 1, feathers: 6 }>> <<set $_upgrade.housekeeping to 100>> <<set $_upgrade.clothingSlot to "handheld">> <<set $_upgrade.clothingIndex to 12>> <<case "clip">> <span class="teal">Feathered Hair Clip</span>: Makes you feel flighty. <<set $_upgrade.passage to "Bird Tower Build Clip">> <<set $_upgrade.timeTaken to 10>> <<set $_upgrade.materialsUsed to { fabric: 1, junk: 1, feathers: 3 }>> <<set $_upgrade.upgradesRequired to { tools: 1 }>> <<set $_upgrade.housekeeping to 200>> <<set $_upgrade.clothingSlot to "head">> <<set $_upgrade.clothingIndex to 31>> <<set $_upgrade.colourSelectNeeded to true>> <<case "shelter">> <<switch $bird.upgrades.shelter>> <<case 0>> <span class="red">Poor shelter (0)</span>: Rain will leak through. <<set $_upgrade.passage to "Bird Tower Build Shelter 1">> <<set $_upgrade.timeTaken to 15>> <<set $_upgrade.materialsUsed to { fabric: 1, leaves: 5 }>> <<set $_upgrade.housekeeping to 0>> <<case 1>> <span class="purple">Makeshift shelter (1)</span>: Protection from rain, but will fall apart. <<set $_upgrade.passage to "Bird Tower Build Shelter 2">> <<set $_upgrade.timeTaken to 90>> <<set $_upgrade.materialsUsed to { wood: 2, sticks: 2, leaves: 5, }>> <<set $_upgrade.upgradesRequired to { tools: 1, tarp: 1 }>> <<set $_upgrade.housekeeping to 100>> <<case 2>> <span class="teal">Tarp shelter (2)</span>: Protection from rain. <<set $_upgrade.passage to "Bird Tower Build Shelter 3">> <<set $_upgrade.timeTaken to 120>> <<set $_upgrade.materialsUsed to { wood: 4, fabric: 2, sticks: 10, leather: 2 }>> <<set $_upgrade.upgradesRequired to { tools: 1, tarp: 1 }>> <<set $_upgrade.gradeRequired to { science: 2 }>> <<set $_upgrade.housekeeping to 200>> <<case 3>> <span class="green">Advanced Tarp shelter (3)</span>: Ventilated to allow smoke to escape while still keeping rain out. <</switch>> <<case "nest">> <<switch $bird.upgrades.nest>> <<case 0>> <span class="red">Wood nest (0)</span>: Poor sleep quality. Uncomfortable. <<set $_upgrade.passage to "Bird Tower Build Nest 1">> <<set $_upgrade.timeTaken to 30>> <<set $_upgrade.materialsUsed to { fabric: 2, leaves: 2 }>> <<set $_upgrade.housekeeping to 100>> <<case 1>> <span class="purple">Padded nest (1)</span>: Improves sleep quality a little bit. No splinters. <<set $_upgrade.passage to "Bird Tower Build Nest 2">> <<set $_upgrade.timeTaken to 90>> <<set $_upgrade.materialsUsed to { wood: 2, fabric: 6, sticks: 2, leaves: 6, }>> <<set $_upgrade.activityRequired to ["build","brood","rest","sleep"]>> <<set $_upgrade.housekeeping to 300>> <<case 2>> <span class="teal">Cushioned nest (2)</span>: Improves sleep quality. Comfy. <<set $_upgrade.passage to "Bird Tower Build Nest 3">> <<set $_upgrade.timeTaken to 240>> <<set $_upgrade.materialsUsed to { wood: 8, fabric: 8, sticks: 8, leaves: 10, junk: 4, leather: 4, feathers: 16 }>> <<set $_upgrade.upgradesRequired to { tools: 1 }>> <<set $_upgrade.activityRequired to ["build","brood","rest","sleep"]>> <<set $_upgrade.housekeeping to 500>> <<case 3>> <span class="green">Luxurious nest (3)</span>: Improves sleep quality a lot. Pleasing to look at. <</switch>> <<case "firepit">> <<switch $bird.upgrades.firepit>> <<case 0>> <span class="red">No firepit (0)</span>: Dark and cold nights. <<set $_upgrade.passage to "Bird Tower Build Firepit 1">> <<if Weather.precipitation is "rain" and $bird.upgrades.shelter is 0>> <<set $_upgrade.timeTaken to 60>> <<else>> <<set $_upgrade.timeTaken to 15>> <</if>> <<set $_upgrade.materialsUsed to { wood: 2, sticks: 2 }>> <<set $_upgrade.housekeeping to 0>> <<case 1>> <span class="purple">Makeshift firepit (1)</span>: Will keep you warm, but burns out quickly. Doesn't produce enough smoke to be of concern. Anything larger will require proper ventilation. <<set $_upgrade.passage to "Bird Tower Build Firepit 2">> <<set $_upgrade.timeTaken to 60>> <<set $_upgrade.materialsUsed to { wood: 6, sticks: 10, junk: 2 }>> <<set $_upgrade.upgradesRequired to { shelter: 3 }>> <<set $_upgrade.housekeeping to 0>> <<case 2>> <span class="teal">Robust firepit (2)</span>: Burns longer. Speeds up Lurker drying. <<set $_upgrade.passage to "Bird Tower Build Firepit 3">> <<set $_upgrade.timeTaken to 120>> <<set $_upgrade.materialsUsed to { wood: 8, sticks: 12, junk: 4, leather: 2 }>> <<set $_upgrade.upgradesRequired to { shelter: 3 }>> <<set $_upgrade.housekeeping to 0>> <<case 3>> <span class="green">Bonfire (3)</span>: Burns for a long time. Cooks and dries lurkers quickly. Cozy. <</switch>> <<case "pot">> <!-- This is set up as intended, I know it looks weird but the upgrade value gets set to 1 when the player finds the cooking pot --> <<switch $bird.upgrades.pot>> <<case 0>> <span class="red">No cooking pot (0)</span>: You'll need to find one from a campsite. <<set $_upgrade.passage to "Bird Tower Build Cooking">> <<set $_upgrade.timeTaken to 60>> <<set $_upgrade.materialsUsed to { wood: 3, fabric: 3, sticks: 3 }>> <<set $_upgrade.upgradesRequired to { pot: 1, firepit: 1 }>> <<set $_upgrade.housekeeping to 0>> <<case 1>> <span class="purple">Unmounted cooking pot (1)</span>: Will need a mount above a firepit before it can be used. <<set $_upgrade.passage to "Bird Tower Build Cooking">> <<set $_upgrade.timeTaken to 60>> <<set $_upgrade.materialsUsed to { wood: 3, fabric: 3, sticks: 3 }>> <<set $_upgrade.upgradesRequired to { pot: 1, firepit: 1 }>> <<set $_upgrade.housekeeping to 100>> <<case 2>> <span class="teal">Cooking pot (2)</span>: Can cook lurkers. With some ingenuity, you could use it to heat the rainwater bath. <<set $_upgrade.passage to "Bird Tower Build Heating">> <<set $_upgrade.timeTaken to 180>> <<set $_upgrade.materialsUsed to { wood: 6, fabric: 8, sticks: 6, junk: 4, leather: 8 }>> <<set $_upgrade.upgradesRequired to { tools: 1, firepit: 3 }>> <<set $_upgrade.gradeRequired to { science: 4 }>> <<set $_upgrade.housekeeping to 300>> <<case 3>> <span class="green">Cooking pot and heating element (3)</span>: Can cook lurkers. Heats the rainwater bath to a comfortably warm temperature. <</switch>> <<case "rack">> <<switch $bird.upgrades.rack>> <<case 0>> <span class="red">No drying rack (0)</span>: Can not dry out lurkers. <<set $_upgrade.passage to "Bird Tower Build Rack 1">> <<set $_upgrade.timeTaken to 60>> <<set $_upgrade.materialsUsed to { wood: 1, fabric: 1, sticks: 2 }>> <<set $_upgrade.upgradesRequired to { firepit: 1 }>> <<set $_upgrade.housekeeping to 0>> <<case 1>> <span class="purple">Makeshift drying rack (1)</span>: Can dry out lurkers for leather. A lit firepit will speed this up significantly. <<set $_upgrade.passage to "Bird Tower Build Rack 2">> <<set $_upgrade.timeTaken to 60>> <<set $_upgrade.materialsUsed to { wood: 4, fabric: 4, sticks: 4, junk: 2, leather: 4 }>> <<set $_upgrade.upgradesRequired to { tools: 1 }>> <<set $_upgrade.housekeeping to 200>> <<case 2>> <span class="teal">Expanded drying rack (2)</span>: Can dry out more lurkers at a time. <<set $_upgrade.passage to "Bird Tower Build Rack 3">> <<set $_upgrade.timeTaken to 120>> <<set $_upgrade.materialsUsed to { wood: 8, sticks: 12, leaves: 4, junk: 4, leather: 8 }>> <<set $_upgrade.upgradesRequired to { tools: 1, shelter: 3 }>> <<set $_upgrade.housekeeping to 600>> <<case 3>> <span class="green">Enclosed drying rack (3)</span>: Can dry out many lurkers at once. No harmful fumes will escape. <</switch>> <<case "snare">> <<switch $bird.upgrades.snare>> <<case 0>> <span class="red">No snare (0)</span>: Build a snare to catch lurkers in the courtyard. <<set $_upgrade.passage to "Bird Tower Build Snare 1">> <<set $_upgrade.timeTaken to 120>> <<set $_upgrade.materialsUsed to { wood: 2, fabric: 2, sticks: 1, leaves: 2, junk: 1, leather: 3 }>> <<set $_upgrade.upgradesRequired to { tools: 1 }>> <<set $_upgrade.housekeeping to 500>> <<case 1>> <span class="green">Makeshift snare (1)</span>: Will sometimes catch a lurker in the courtyard. <</switch>> <<case "decor">> <<switch $bird.upgrades.decor>> <<case 0>> <span class="red">No hunting trophies (0)</span>: No stress reduction after hunting. <<set $_upgrade.passage to "Bird Tower Build Decor 1">> <<set $_upgrade.timeTaken to 120>> <<set $_upgrade.materialsUsed to { wood: 2, fabric: 2, sticks: 2, leaves: 2, junk: 4, lurkers: 2, feathers: 4 }>> <<set $_upgrade.housekeeping to 200>> <<case 1>> <span class="purple">Simple hunting trophies (1)</span>: Reduces a little stress each time you return from a successful hunt. <<set $_upgrade.passage to "Bird Tower Build Decor 2">> <<set $_upgrade.timeTaken to 240>> <<set $_upgrade.materialsUsed to { wood: 3, fabric: 3, sticks: 3, leaves: 3, junk: 6, lurkers: 6, feathers: 6 }>> <<set $_upgrade.upgradesRequired to { tools: 1 }>> <<set $_upgrade.housekeeping to 400>> <<case 2>> <span class="blue">Pleasing hunting trophies (2)</span>: Reduces stress after each successful hunt. <<set $_upgrade.passage to "Bird Tower Build Decor 3">> <<set $_upgrade.timeTaken to 240>> <<set $_upgrade.materialsUsed to { wood: 4, fabric: 10, sticks: 4, leaves: 4, junk: 10, lurkers: 8, feathers: 12 }>> <<set $_upgrade.upgradesRequired to { mirror: 1, tools: 1, shelter: 2, nest: 2 }>> <<set $_upgrade.activityRequired to ["build","brood","rest","sleep"]>> <<set $_upgrade.housekeeping to 600>> <<case 3>> <span class="teal">Impressive hunting trophies (3)</span>: Large stress reduction after each successful hunt. <<set $_upgrade.passage to "Bird Tower Build Decor 4">> <<set $_upgrade.timeTaken to 240>> <<set $_upgrade.materialsUsed to { wood: 6, sticks: 10, junk: 40, lurkers: 30, feathers: 15 }>> <<set $_upgrade.upgradesRequired to { mirror: 1, tools: 1, tarp: 1, telescope: 1, shelter: 3, nest: 3, wardrobe: 1 }>> <<set $_upgrade.activityRequired to ["build","brood","rest","sleep"]>> <<set $_upgrade.housekeeping to 800>> <<case 4>> <span class="green">Extraordinary hunting trophies (4)</span>: Stress is massively reduced after a successful hunt, and some trauma is reduced. However, there's still something missing... <<set $_upgrade.passage to "Bird Tower Build Decor Silver">> <<set $_upgrade.timeTaken to 120>> <<set $_upgrade.materialsUsed to { wood: 6, fabric: 5, sticks: 2, junk: 4, leather: 4 }>> <<set $_upgrade.activityRequired to ["build","brood","rest","sleep"]>> <<case 5>> <span class="gold">Legendary hunting trophies (5)</span>: Stress is entirely removed after a successful hunt, and some trauma is reduced. Terror has found its equal. <</switch>> <<case "wardrobe">> <<switch $bird.upgrades.wardrobe>> <<case 0>> <span class="red">No wardrobe</span>: No clothing storage possible. <<set $_upgrade.passage to "Bird Tower Build Wardrobe">> <<set $_upgrade.timeTaken to 60>> <<set $_upgrade.materialsUsed to { wood: 20, fabric: 8, sticks: 10, leaves: 10, junk: 6, lurkers: 4, leather: 4, feathers: 6 }>> <<set $_upgrade.upgradesRequired to { mirror: 1, tools: 1 }>> <<set $_upgrade.housekeeping to 700>> <<case 1>> <span class="green">Wardrobe</span>: Access to clothing. <</switch>> <<default>> <span class="red">Invalid option for: _upgrade</span> <</switch>> <<if !$_upgrade.passage>> <<exit>> <</if>> <<if currentSkillValue('housekeeping') lt $_upgrade.housekeeping>> <br> <span class="black"> <<switch $_upgrade.housekeeping>> <<case 100>><span class="pink">F+</span> <<case 200>><span class="purple">D</span> <<case 300>><span class="purple">D+</span> <<case 400>><span class="blue">C</span> <<case 500>><span class="blue">C+</span> <<case 600>><span class="lblue">B</span> <<case 700>><span class="lblue">B+</span> <<case 800>><span class="teal">A</span> <<case 900>><span class="teal">A+</span> <<case 1000>><span class="green">S</span> <</switch>> Housekeeping skill required. </span> <<set $_disableBuild to true>> <</if>> <<if $_upgrade.gradeRequired>> <<for $_grade range Object.keys($_upgrade.gradeRequired)>> <<if V[$_grade + "trait"] lt $_upgrade.gradeRequired[$_grade]>> <<set $_spColour to "black">> <<set $_disableBuild to true>> <<else>> <<set $_spColour to "green">> <</if>> <<set $_gradeDisplay to $_grade>> <<if $_gradeDisplay is "english">> <<set $_gradeDisplay to $_gradeDisplay.toUpperFirst()>> <</if>> <br> <span @class="$_spColour"> <<switch $_upgrade.gradeRequired[$_grade]>> <<case 1>>Passable $_gradeDisplay required <<case 2>>Decent $_gradeDisplay required <<case 3>>Good $_gradeDisplay required <<case 4>>Excellent $_gradeDisplay required <</switch>> </span> <</for>> <</if>> <<if $_upgrade.activityRequired>> <br> <<if $bird.state isnot "home" or !$_upgrade.activityRequired.includes($bird.activity)>> <span class="red">Requires the Great Hawk to be home and at the nest.</span> <<set $_disableBuild to true>> <<else>> <span class="green">Requires the Great Hawk to be home and at the nest.</span> <</if>> <</if>> <<if $_upgrade.upgradesRequired>> <<for $_uReq range Object.keys($_upgrade.upgradesRequired)>> <<if $bird.upgrades[$_uReq] lt $_upgrade.upgradesRequired[$_uReq]>> <<set $_spColour to "black">> <<set $_disableBuild to true>> <<else>> <<set $_spColour to "green">> <</if>> <br> <<birdicon $_uReq>> <span @class="$_spColour"> <<if ["tools", "telescope", "tarp", "pot", "mirror", "wardrobe"].includes($_uReq)>> <<print $_uReq.toUpperFirst()>> required <<else>> <<print $_uReq.toUpperFirst()>> level $_upgrade.upgradesRequired[$_uReq] required <</if>> </span> <</for>> <</if>> <<if $_upgrade.materialsUsed>> <<for $_material, $_amtReq range $_upgrade.materialsUsed>> <<if $bird.materials[$_material] lt $_amtReq>> <<set $_spColour to "black">> <<set $_disableBuild to true>> <<else>> <<set $_spColour to "green">> <</if>> <br> <<birdicon $_material>> <span @class="$_spColour"> <<print $_material.toUpperFirst()>> required (<<print $bird.materials[$_material]>>/$_amtReq) </span> <</for>> <<if _upgrade is "decor" and $bird.upgrades.decor is 4>> <br> <<if $bird.hunts.estate isnot "complete">> <<set $_disableBuild to true>> <span class="black">Something special...</span> <<else>> <<birdicon "silver">> <span class="green">Silver bar required</span> <</if>> <</if>> <</if>> <<if $_upgrade.clothingSlot>> <<if $worn[$_upgrade.clothingSlot].cursed is 1>> <br> <span class="red">You can't remove your $worn[$_upgrade.clothingSlot].name!</span> <<set $_disableBuild to true>> <<elseif $worn[$_upgrade.clothingSlot].index is $_upgrade.clothingIndex>> <br> <span class="purple">You're already <<if $_upgrade.clothingSlot is "handheld">>holding<<else>>wearing<</if>> this!</span> <<set $_disableBuild to true>> <<elseif $_upgrade.clothingIndex is 12 and $bird.duster is true>> <br> <span class="purple">You already have one of these hanging up.</span> <<set $_disableBuild to true>> <<elseif $bird.upgrades.wardrobe is 1 and getOwnedClothingCount($_upgrade.clothingIndex, $_upgrade.clothingSlot) gte 1>> <br> <span class="blue">You already own <<print getOwnedClothingCount($_upgrade.clothingIndex, $_upgrade.clothingSlot)>> of these.</span> <<elseif $worn[$_upgrade.clothingSlot].name isnot "naked">> <br> <span class="blue">Will replace your <<print $worn[$_upgrade.clothingSlot].name>></span> <</if>> <</if>> <<if _upgrade is "firepit" and $bird.firepit.items.length>> <br> <span class="red">Firepit is currently holding items</span> <<set $_disableBuild to true>> <</if>> <<if $_disableBuild>> <<exit>> <</if>> <<set $_linkText to ($bird.upgrades[_upgrade] is 0 or $bird.upgrades[_upgrade] is undefined ? "Build" : "Improve")>> <<if $_upgrade.timeTaken>> <<set $_linkText += ` (${getTimeString($_upgrade.timeTaken)})`>> <</if>> <br> <<capture _upgrade>> <<link [[$_linkText|_towerUpgrades[_upgrade].passage]]>> <<if _towerUpgrades[_upgrade].clothingSlot>> <<if !_towerUpgrades[_upgrade].colourSelectNeeded>> <<generalWear _towerUpgrades[_upgrade].clothingSlot _towerUpgrades[_upgrade].clothingIndex>> <</if>> <<else>> <<set $bird.upgrades[_upgrade]++>> <</if>> <<if _towerUpgrades[_upgrade].timeTaken>><<bird_pass _towerUpgrades[_upgrade].timeTaken>><</if>> <<if _towerUpgrades[_upgrade].materialsUsed>> <<run Object.entries(_towerUpgrades[_upgrade].materialsUsed).forEach(([mat, amt]) => { V.bird.materials[mat] -= amt; })>> <</if>> <<if _towerUpgrades[_upgrade].housekeeping gt 0>> <<set _houseKeepingUp to ($bird.upgrades[_upgrade] * 4)>> <<housekeeping _houseKeepingUp>> <</if>> <</link>> <</capture>> </div> <</widget>> <<widget "birdEggLayEvent">> <<endevent>> <<npc "Great Hawk">> <<if _args[0] isnot undefined and typeof _args[0] is "string">> <<set $birdEggContext to _args[0]>> <</if>> <<if $birdEggContext is "sleep">> You wake up to see <<your_bird_text>> sitting at the side of the nest, <<elseif $birdEggContext is "perch">> <<your_bird_text "cap">> suddenly looks uncomfortable. <<bHe>> <<if $birdBask>>releases you and <</if>>shakily stands before <<if $monster is 1>>shambling<<else>>hopping<</if>> over to the nest. <br><br> <<unset $birdBask>><<unset $birdPerch>> <<bHe>> half-collapses into it and starts <<else>> You see <<your_bird_text>> sitting in the nest, <</if>> <<if $monster is 1>> breathing heavily. <<bHe>> notices you watching, and <<bhis>> face flushes. <<if $syndromebird is 1>>You don't see signs of embarrassment from <<bhim>> often.<</if>> <br><br> "<<Wife>>... <span class="lewd">eggs...</span>" <<bhe>> barely manages before <<bhis>> face contorts into an expression of pain. <<else>> bobbing from side to side. <<bHe>> lets out a low, pained cry. <span class="lewd"><<bHes>> laying eggs.</span> <</if>> <br><br> <<link [[Look away|Bird Tower Great Hawk Egg Laying]]>><<set $phase to 0>><<npcincr "Great Hawk" dom 1>><</link>><<gdom>> <br> <<link [[Watch|Bird Tower Great Hawk Egg Laying]]>><<set $phase to 1>><</link>> <br> <<if birdEggsReady("Great Hawk") is "fertilised">> <<link [[Comfort|Bird Tower Great Hawk Egg Laying]]>><<set $phase to 2>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom -1>><<bird_stockholm 3>><</link>><<glove>><<ldom>><<ggbirdstockholm>><<deviant1>> <br> <<if hasSexStat("deviancy", 3) and ($sciencetrait gte 2 or $harpy gte 6)>> <<link [[Help|Bird Tower Great Hawk Egg Laying]]>><<set $phase to 3>><<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom -5>><<bird_stockholm 5>><</link>><<gglove>><<llldom>><<gggbirdstockholm>><<deviant3>> <<elseif $sciencetrait lt 2 and $harpy lte 5>> <span class="blue">You don't know how to help <<bhim>> pass <<bhis>> eggs.</span> <<else>> <span class="blue">You are not deviant enough to help <<bhim>> pass <<bhis>> eggs.</span> <</if>> <<else>> <<link [[Comfort|Bird Tower Great Hawk Egg Laying]]>><<set $phase to 2>><<npcincr "Great Hawk" love 1>><<npcincr "Great Hawk" dom -1>><<bird_stockholm 1>><</link>><<glove>><<ldom>><<gbirdstockholm>><<deviant1>> <br> <<if hasSexStat("deviancy", 3) and ($sciencetrait gte 2 or understandsBirdBehaviour())>> <<link [[Help|Bird Tower Great Hawk Egg Laying]]>><<set $phase to 3>><<npcincr "Great Hawk" love 3>><<npcincr "Great Hawk" dom -5>><<bird_stockholm 3>><</link>><<gglove>><<llldom>><<ggbirdstockholm>><<deviant3>> <<elseif $sciencetrait lt 2 and !understandsBirdBehaviour()>> <span class="blue">You don't know how to help <<bhim>> pass <<bhis>> eggs.</span> <<else>> <span class="blue">You are not deviant enough to help <<bhim>> pass <<bhis>> eggs.</span> <</if>> <</if>> <br> <</widget>> <<widget "endBirdEggLaying">> <<set $bird.override to "rest">> <<set $bird.overrideTimer to 240>> <<set $bird.timer to 240>> <<unset $eggLayNumber>> <<unset $eggLayText>> <<unset $birdEggContext>> <</widget>> <<widget "playerEggLayEvent">> <<set [$_eggnant, $_eggnantGenital] to getPregnancyObject("pc", true)>> <<set $_eggnantGenital to $_eggnantGenital is "vagina" ? "cervix" : "ass">> <<if $passage is "Bird Tower Sleep" and ($bedGuest is "Great Hawk" or $bird.state is "home" or (playerIsPregnant() and $_eggnant.type is "hawk" and $bird.state is "hunting"))>> <<set _eggLayingWake to true>> <<elseif ($passage is "Robin Sleep" or $passage is "Sleep") and $robinbed>> <<set _eggLayingWake to true>> <<else>> <<if playerIsPregnant() and $_eggnant.type is "hawk">> <<if $location is "tower">> <<set _eggIcon to $_eggnant.fetus.length>> You awaken feeling disoriented, and feel a building pressure in your abdomen. A bestial instinct washes over you. You <<if $harpy gte 6 and V.transformationParts.bird.plumage isnot "hidden">>ruffle your feathers and <</if>>get on your hands and knees. Something big is moving around inside of you, sending waves of both pain and pleasure as it rubs against your walls. <<arousal 4000>><<pain 12>><<gggarousal>><<ggpain>> <br><br> You gasp as you feel <<if $_eggnantGenital is "cervix">> <<if $_eggnant.fetus.length gte 2>> the eggs pass through your cervix. They send shivers through your whole body as they glide down your vaginal canal. You grip the nest as the eggs begin to crown. The first one is the hardest. Your passage repeatedly contracts, sending even more waves of pleasure through you. It escapes partially, before going back in. You push for a full minute, and it finally pops out. <<arousal 4000>><<garousal>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <<else>> <br> <</if>> <<if $_eggnant.fetus.length is 2>> The second egg passes much easier, joining its sibling in your nest. <<elseif $_eggnant.fetus.length is 3>> The second egg passes easily, but the third one gets stuck, having nothing behind it to help push. You sit there pushing for more agonising minutes, but eventually you manage to push it out. Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <<else>> The next eggs pass easily, but the last one gets stuck, having nothing behind it to help push. You sit there pushing for more agonising minutes, but eventually you manage to push it out. Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <</if>> <<else>> the egg pass through your cervix. It sends shivers through your whole body as it glides down your vaginal canal. You grip the nest as the egg begins to crown. It's only one, but it might as well be a regular human baby with how large it feels. You spread your legs further. Your <<pussy>> stretches more, trying to make room for it to escape. After several minutes of tortured pushing, it finally escapes you. You pant in exertion, feeling dizzy. <</if>> <<else>> <<if $_eggnant.fetus.length gte 2>> <span class="lewd">$_eggnant.fetus.length fertilised bird eggs</span> pass through your $_eggnantGenital, each one slowly spreading your entrance before plopping out and landing in your nest. <<else>> <span class="lewd">a fertilised bird egg</span> pass through your $_eggnantGenital, slowly spreading your entrance before plopping out and landing in your nest. <</if>> <</if>> <<if $arousal gte $arousalmax>> <<orgasm>> <<else>> <br><br> <</if>> You're filled with a sense of maternal bliss. Your spouse will be excited. <<Number $_eggnant.fetus.length>> <<birdicon "eggs">> fertilised bird egg<<if $_eggnant.fetus.length gte 2>>s have<<else>> has<</if>> been added to the nest. <<if $_eggnant.fetus.length gte 2>>They're quite large, and you're left wondering how they all fit inside of you to begin with.<<else>>It's quite large, and you're left wondering why passing it didn't hurt more.<</if>> <<set $bird.eggReact to $_eggnant.fetus.length>> <<pregnancyFeats "pc">> <<endPlayerPregnancy "tower" "tower">> <<set $harpyEggsPrevent to 28>> <<else>> <<set _eggIcon to $_eggnant.fetus.length>> You awaken feeling disoriented, and feel a building pressure in your abdomen. A bestial instinct washes over you. You <<if $harpy gte 6 and V.transformationParts.bird.plumage isnot "hidden">>ruffle your feathers and <</if>>get on your hands and knees. Something big is moving around inside of you, sending waves of both pain and pleasure through you as it rubs against your walls. <<arousal 4000>><<garousal>> <br><br> You gasp as you feel <<if $_eggnantGenital is "cervix">> <<if $_eggnant.fetus.length gte 2>> the eggs pass through your cervix. They send shivers through your whole body as they glide down your vaginal canal. You grip your bedsheets as the eggs begin to crown. The first one is the hardest. Your passage repeatedly contracts, sending even more waves of pleasure through you. It escapes partially, before going back in. You push for a full minute, and it finally pops out. <<arousal 4000>><<garousal>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <<else>> <br> <</if>> <<if $_eggnant.fetus.length is 2>> The second egg passes much easier, joining its sibling on your bed. <<elseif $_eggnant.fetus.length is 3>> The second egg passes easily, but the third one gets stuck, having nothing behind it to help push. You sit there pushing for more agonising minutes, but eventually you manage to push it out. Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <<else>> The next eggs pass easily, but the last one gets stuck, having nothing behind it to help push. You sit there pushing for more agonising minutes, but eventually you manage to push it out. Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <</if>> <<else>> the egg pass through your cervix. It sends shivers through your whole body as it glides down your vaginal canal. You grip your bedsheets as the egg begins to crown. It's only one, but it might as well be a regular human baby with how large it feels. You spread your legs further. Your <<pussy>> stretches more, trying to make room for it to escape. After several minutes of tortured pushing, it finally escapes you. You pant in exertion, feeling dizzy. <</if>> <<else>> <<if $_eggnant.fetus.length gte 2>> <span class="lewd">$_eggnant.fetus.length fertilised bird eggs</span> pass through your $_eggnantGenital, each one slowly spreading your entrance before plopping out and landing in your nest. <<else>> <span class="lewd">a fertilised bird egg</span> pass through your $_eggnantGenital, slowly spreading your entrance before plopping out and landing in your nest. <</if>> <</if>> <<if $arousal gte $arousalmax>> <<orgasm>> <<else>> <br><br> <</if>> You're filled with a sense of maternal bliss, as well as a nagging sense of urgency. <span class="blue">You need to bring <<if $_eggnant.fetus.length gte 2>>them<<else>>it<</if>> to your nest.</span> You pick up <<number $_eggnant.fetus.length>> <<birdicon "eggs">> fertilised bird egg<<if $_eggnant.fetus.length gte 2>>s<</if>>. <<if $_eggnant.fetus.length gte 2>>They're quite large, and you're left wondering how they all fit inside of you to begin with.<<else>>It's quite large, and you're left wondering why passing it didn't hurt more.<</if>> /* Might be best changing the location variable here */ <<pregnancyFeats "pc">> <<endPlayerPregnancy $location "inventory">> <<set $harpyEggsPrevent to 28>> <</if>> <<elseif !playerIsPregnant() and $harpyEggs>> You awaken feeling disoriented, and feel a building pressure in your abdomen. A bestial instinct washes over you. You <<if $harpy gte 6 and V.transformationParts.bird.plumage isnot "hidden">>ruffle your feathers and <</if>>get on your hands and knees. Something is moving around inside of you, sending waves of pleasure through you as it rubs against your walls. <<arousal 2000>><<garousal>> <br><br> You gasp as you feel <<if $_eggnantGenital is "cervix">> <<if $harpyEggs.count gte 2>> the eggs pass through your cervix. They send shivers through your whole body as they glide down your vaginal canal. You grip your bedsheets as the eggs begin to crown. The first one is the hardest. Your passage repeatedly contracts, sending even more waves of pleasure through you. It escapes partially, before going back in. You push for a full minute, and it finally pops out. <<arousal 4000>><<garousal>> <br> <<if $arousal gte $arousalmax>> <<orgasm>> <<else>> <br> <</if>> <<if $harpyEggs.count is 2>> The second egg passes much easier, joining its sibling <<if $location is "tower">>in your nest<<else>>on your bed<</if>>. <<elseif $harpyEggs.count is 3>> The second egg passes easily, but the third one gets stuck, having nothing behind it to help push. You sit there pushing for more agonising minutes, but eventually you manage to push it out. Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <<else>> The next eggs pass easily, but the last one gets stuck, having nothing behind it to help push. You sit there pushing for more agonising minutes, but eventually you manage to push it out. Your <<pussy>> remains slightly opened. You pant in exertion, feeling dizzy. <</if>> <<else>> the egg pass through your cervix. It sends shivers through your whole body as it glides down your vaginal canal. You grip your bedsheets as the egg begins to crown. Without other eggs to help push it along, it gets stuck. Your <<pussy>> remains half-open with the egg plugging you. It retracts back in after a moment. You try to catch your breath, but each one is heavy. You push again, this time managing to get it all the way out. <</if>> <<else>> <<if $harpyEggs.count gte 2>> <span class="lewd">$harpyEggs.count bird eggs</span> pass through your $_eggnantGenital, each one slowly spreading your entrance before plopping out and landing in your nest. <<else>> <span class="lewd">a bird egg</span> pass through your $_eggnantGenital, slowly spreading your entrance before plopping out and landing in your nest. <</if>> <</if>> <<if $arousal gte $arousalmax>> <<orgasm>> <<else>> <br><br> <</if>> You're filled with a sense of maternal bliss, <span class="blue">but you know <<if $harpyEggs.count gte 2>>they're<<else>>it's<</if>> unfertilised.</span> <<tending_pick bird_egg $harpyEggs.count $harpyEggs.count>> <<unset $harpyEggs>> <<set $harpyEggsPrevent to 14>> <</if>> <br><br> <</if>> <</widget>> <<widget "setTowerTemp">> <<if $bird.upgrades.shelter is 0>> <<set $outside to 1>> <<else>> <<set $outside to 0>> <</if>> <<set $_tempUp to Math.clamp((30 * Math.log(0.034 * (30 - Weather.temperature) + 1)), 1, 40)>> <<if getBirdBurnTime() gt 0>> <<set Weather.Temperature.override[$outside ? "outside" : "inside"] = Weather.temperature + $_tempUp>> <<if _args[0] is "water" and $bird.upgrades.pot gte 3>> <<set Weather.Temperature.override.water = Weather.temperature + ($_tempUp + 8)>> <</if>> <</if>> <</widget>> <<widget "hairToFeatherColour">> <<switch $haircolour>> <<case "red" "crimson">><<set _colourConverted to "red">> <<case "jetblack" "black">><<set _colourConverted to "black">> <<case "blond" "softblond" "platinumblond" "golden" "ashyblond" "strawberryblond">><<set _colourConverted to "yellow">> <<case "darkbrown" "brown" "softbrown" "lightbrown">><<set _colourConverted to "brown">> <<case "burntorange" "ginger" "bloodorange">><<set _colourConverted to "tangerine">> <<case "blue" "deepblue" "neonblue">><<set _colourConverted to "blue">> <<case "green" "darklime" "toxicgreen" "teal">><<set _colourConverted to "green">> <<case "pink" "brightpink" "hotpink" "softpink">><<set _colourConverted to "pink">> <<case "purple" "mediumpurple" "brightpurple">><<set _colourConverted to "purple">> <<case "white" "snowwhite">><<set _colourConverted to "white">> <<default>><<set _colourConverted to "red">> <</switch>> <</widget>> <<widget "bird_hunt_children_events">> <<set $daily.birdBabyFeed to true>> <<bHe>> tears a small chunk out of it <<if $monster is 1>> with <<bhis>> hands, before <<else>> with <<bhis>> beak, crushing it up before <</if>> <<cleareventpool>> <!-- _childrenIds is an array that represents all children that meet the parameters of "getChildrenIds" above.--> <!-- the pluck function picks AND REMOVES one random child ID from the array, which means the array can then be used to refer to all children EXCEPT those plucked for use in the scene. --> <!-- This method allows temporary variables (or story variables if necessary) to represent child IDs, and allows children to be selected like normal NPCs for use in text widgets. --> <!-- Be sure not to try plucking more children than are available, hence the checks in each inline event for total child number. --> <<addinlineevent "bird_feed_single">> <<set _child1 to _childrenIds.pluck()>> <<set _childrenEating to [_child1]>> <<childSelect _child1>> gently giving it to <<childname>>. <<childHe>> <<if $cmonster is 1>> clumsily grabs it with <<childhis>> little hands, and starts to gum on it. <<else>> holds the soft mass in <<childhis>> beak. <</if>> <<if _childrenTotal isnot 1>> <<if _childrenTotal is 2>> <<set _child2 to _childrenIds.pluck()>> <<childSelect _child2>> <<childname>> seems to have no interest in it, but curiously watches <<childhis>> <<childsibling _child1>> gnaw on it. <<elseif _childrenTotal lte 10>> <<childrenNames _childrenIds>> seem to have no interest in the lurker right now, leaving <<childname>> to devour it alone. <<else>> Your other children seem to have no interest in the lurker right now, leaving <<childname>> to devour it alone. <</if>> <</if>> <<if !$bird.hunts.duo>> <br><br> Your spouse turns back to you, holding the rest of the lurker. <<bHe>> presents it to you again. <</if>> <</addinlineevent>> <<if _childrenTotal gte 2>> <<addinlineevent "bird_feed_duo">> <<set _child1 to _childrenIds.pluck()>> <<set _child2 to _childrenIds.pluck()>> <<set _childrenEating to [_child1, _child2]>> gently lowering it into the nest. <<childSelect _child1>><<childname>> <<if $cmonster is 1>> clumsily grabs at it with <<childhis>> little hands, and starts to gum on it. <<else>> grabs the soft mass in <<childhis>> beak. <</if>> <<if getChildDays(_child1) gte 150 and getChildDays(_child2) lte 50>> <<childHe>> looks over to <<childSelect _child2>><<childname>>, who reaches up to <<childSelect _child1>><<childhim>>. <<childHe>> manages to break the meat into two pieces after a few attempts, and gives half of it to <<childSelect _child2>><<childname>>. <<else>> <<childSelect _child2>><<childname>> grabs onto it as well, and the two playfully fight over the meat, flapping their<<if $cmonster is 1>> arms and<</if>> wings until it breaks in two. <</if>> <<if _childrenTotal isnot 2>> <<if _childrenTotal is 3>> <<set _child3 to _childrenIds.pluck()>> <<childSelect _child3>> <<childname>> seems to have no interest in it, but curiously watches <<childhis>> <<childsiblings `[_child1,_child2]`>> eat. <<elseif _childrenTotal lte 10>> <<childrenNames _childrenIds>> seem to have no interest in the lurker right now, but they curiously watch their <<childsiblings `[_child1,_child2]`>> eat. <<else>> Your other children seem to have no interest in the lurker right now, but they curiously watch their <<childsiblings `[_child1,_child2]`>> eat. <</if>> <</if>> <<if !$bird.hunts.duo>> <br><br> Your spouse turns back to you, holding the rest of the lurker. <<bHe>> presents it to you again. <</if>> <</addinlineevent>> <<addinlineevent "bird_feed_all">> <<set _childrenEating to clone(_childrenIds)>> <<set _child1 to _childrenIds.pluck()>> <<set _child2 to _childrenIds.pluck()>> gently lowering it into the nest. <<childname _child1>> and <<childname _child2>> both grab for it, but the Great Hawk quickly breaks off another piece, giving it to <<childname _child2>>. <<if _childrenTotal is 3>> <<set _child3 to _childrenIds.pluck()>> <<childSelect _child3>> <<bHe>> tears off one more piece for <<childname>>, who waited patiently for <<childhis>> turn. <<elseif _childrenTotal gte 4>> <<bHe>> continues, one piece each for <<if _childrenTotal gte 20>> all of your children. <<else>> <<childrenNames _childrenIds>>. <</if>> <</if>> The chirps and cries go quiet as they happily eat. <<if !$bird.hunts.duo>> <br><br> <<if _childrenTotal gte 6>> Your spouse turns back to you, <<bhis>> <<if $monster is 1>>hands<<else>>beak<</if>> now empty. <<set _noLurker to true>> <<if $monster is 1>> "Will hunt again soon, for <<wife>>." <<else>> <<bHe>> caws apologetically, but <<bhis>> gaze then turns stern, a promise that <<bhe>> will hunt again soon. <</if>> <<elseif _childrenTotal gte 4>> Your spouse turns back to you, now holding half of a lurker. <<bHe>> presents it to you again. <<else>> Your spouse turns back to you, holding the rest of the lurker. <<bHe>> presents it to you again. <</if>> <</if>> <</addinlineevent>> <</if>> <<if _childrenTotal gte 3>> <<addinlineevent "bird_feed_trio">> <<set _child1 to _childrenIds.pluck()>> <<set _child2 to _childrenIds.pluck()>> <<set _child3 to _childrenIds.pluck()>> <<set _childrenEating to [_child1, _child2, _child3]>> gently lowering it into the nest. <<childSelect _child1>><<childname>> <<if $children[_child1].features.monster is "monster">> clumsily grabs at it with <<childhis>> little hands, and starts to gum on it. <<else>> grabs the soft mass in <<childhis>> beak. <</if>> The Great Hawk breaks off more pieces, giving one to <<childSelect _child2>><<childname>> and another to <<childSelect _child3>><<childname>>. <<if _childrenTotal isnot 3>> <<if _childrenTotal is 4>> <<set _child4 to _childrenIds.pluck()>> <<childSelect _child4>> <<childname>> seems to have no interest in eating right now, but curiously watches <<childhis>> <<childsiblings `[_child1,_child2,_child3]`>> eat. <<elseif _childrenTotal lte 10>> <<childrenNames _childrenIds>> seem to have no interest in the lurker right now, but they curiously watch their <<childsiblings `[_child1,_child2,_child3]`>> eat. <<else>> Your other children seem to have no interest in the lurker right now, but they curiously watch their <<childsiblings `[_child1,_child2,_child3]`>> eat. <</if>> <</if>> <<if !$bird.hunts.duo>> <br><br> Your spouse turns back to you, holding the rest of the lurker. <<bHe>> presents it to you again. <</if>> <</addinlineevent>> <</if>> <!-- Showing off how complex events can be made using this method --> <<if _childrenTotal gte 4>> <<addinlineevent "bird_feed_quartet">> <<set _child1 to _childrenIds.pluck()>> <<set _child2 to _childrenIds.pluck()>> <<set _child3 to _childrenIds.pluck()>> <<set _child4 to _childrenIds.pluck()>> <<set _childrenEating to [_child1, _child2, _child3, _child4]>> gently lowering it into the nest. <<childSelect _child1>><<childname>> <<if $cmonster is 1>> clumsily grabs at it with <<childhis>> little hands, and starts to gum on it. <<else>> grabs the soft mass in <<childhis>> beak. <</if>> The Great Hawk breaks off more pieces, dropping them in the nest for your other children. <<childSelect _child2>><<childname>> picks one up, only for <<childname _child3>> to push <<childhis _child3>> <<childhands _child3>> in <<childname _child2>>'s face. The <<childsiblings _child2 _child3>> play-fight over the food, only for it to be snatched up by <<childname _child4>>, who nearly swallows it whole. <br><br> Having not even noticed, <<childname _child2>> and <<childname _child3>> continue roughing each other up until <<your_bird_text>> splits them up, giving each their own piece of meat. <<if _childrenTotal isnot 4>> <<if _childrenTotal is 5>> <<set _child5 to _childrenIds.pluck()>> <<childSelect _child5>> <<childname>> <<childgiggles>> as <<childhe>> watches <<childhis>> <<childsiblings `[_child1,_child2,_child3,_child4]`>>, but seems to have no interest in eating right now. <<elseif _childrenTotal lte 10>> <<childrenNames _childrenIds>> seem to have no interest in the lurker right now, but they but curiously watch their <<childsiblings `[_child1,_child2,_child3,_child4]`>> eat. <<else>> Your other children seem to have no interest in the lurker right now, but they but curiously watch their <<childsiblings `[_child1,_child2,_child3,_child4]`>> eat. <</if>> <</if>> <<if !$bird.hunts.duo>> <br><br> <<your_bird_text "cap">> turns back to you, holding half of a lurker. <<bHe>> presents it to you again. <</if>> <</addinlineevent>> <</if>> <<if _childrenTotal gte 5>> <<addinlineevent "bird_feed_quintet">> <<set _child1 to _childrenIds.pluck()>> <<set _child2 to _childrenIds.pluck()>> <<set _child3 to _childrenIds.pluck()>> <<set _child4 to _childrenIds.pluck()>> <<set _child5 to _childrenIds.pluck()>> <<set _childrenGroup to [_child1, _child2, _child3, _child4, _child5]>> <<set _childrenEating to [_child1, _child2, _child3, _child4, _child5]>> gently lowering it into the nest. <<bHe>> quickly breaks off more pieces, one each for <<childrenNames _childrenGroup>>. Their chirps and cries all go quiet as they happily eat. <<if _childrenTotal isnot 5>> <<if _childrenTotal is 6>> <<set _child6 to _childrenIds.pluck()>> <<childSelect _child6>> <<childname>> seems to have no interest in eating right now, but curiously watches <<childhis>> <<childsiblings _childrenGroup>> eat. <<elseif _childrenTotal lte 10>> <<childrenNames _childrenIds>> seem to have no interest in the lurker right now, but they curiously watch their <<childsiblings _childrenGroup>> eat. <<else>> Your other children seem to have no interest in the lurker right now, but they curiously watch their <<childsiblings _childrenGroup>> eat. <</if>> <</if>> <<if !$bird.hunts.duo>> <br><br> <<your_bird_text "cap">> turns back to you, holding half of a lurker. <<bHe>> presents it to you again. <</if>> <</addinlineevent>> <<addinlineevent "bird_feed_chaos">> <<set _childrenEating to clone(_childrenIds)>> <<set _child1 to _childrenIds.pluck()>> <<set _child2 to _childrenIds.pluck()>> <<set _child3 to _childrenIds.pluck()>> <<set _childrenGroup to [_child1, _child2, _child3]>> <<childSelect _child1>> gently lowering it into the nest. <<childrenNames _childrenGroup>> all make a grab for it at once, tumbling over each other and <<childcry>> wildly! <br><br> <<set _noLurker to true>> The Great Hawk lets go of the lurker to stop any of them from getting hurt. <<childrenNames _childrenIds>> slowly approach, pecking away at the lurker with their <<childsiblings _childrenGroup>>. <<if $monster is 1>> <<your_bird_text "cap">> sighs, and starts to help each of them pick off manageable pieces of meat. <<if !$bird.hunts.duo>>"Sorry, <<wife>>. Will hunt again soon."<</if>> <<else>> <<your_bird_text "cap">> looks down blankly for a moment, before pecking at the lurker to break it into more manageable pieces. <<if !$bird.hunts.duo>><<bHe>> looks back to you and caws apologetically, but <<bhis>> gaze then turns stern, a promise that <<bhe>> will hunt again soon.<</if>> <</if>> <</addinlineevent>> <</if>> <<runeventpool>> <<for $_cc to 0; $_cc lt _childrenEating.length; $_cc++>> <<updateChildActivity _childrenEating[$_cc]>> <<set $children[_childrenEating[$_cc]].localVariables.activityDay to Time.days>> <<set $children[_childrenEating[$_cc]].localVariables.activityHour to (Time.hour - 3)>> <<set $children[_childrenEating[$_cc]].localVariables.activity to "lurkerEat">> <</for>> <</widget>> <<widget "silver_hunt_lurker_caught">> You fight to pull the lurker off of you. After a small struggle, it loses its grip on you and you toss it away. It doesn't try to attack again, already too distracted by the light. <<set $birdSilverHunt.suspicion++>> <<switch $birdSilverHunt.suspicion>> <<case 0 1>>Your struggle caused some noise, but not enough for anyone to come investigate. <<gsuspicion>> <<case 2>>One of the guards looks over. Luckily, <<person1>><<he>> only spots the lurker and chases after it. <<gsuspicion>> <<default>> <<set _caught to true>> "What the hell keeps making that noise?" you hear someone ask in frustration. One of the guards comes over to investigate. You quickly dive behind the opposite side of a nearby rock, but not fast enough. "What the- hey! There's someone else here!" <br><br> <span class="red">You've been caught.</span> <</switch>> <<set $birdSilverHunt.lurkerSpawn to "none">> <</widget>> <<widget "silver_hunt_move_guard">> <<if _args[0]>> <<set $_guardSelected to $birdSilverHuntGuards[_args[0]]>> <<if $_guardSelected.action is "moving">> <<set $_guardSelected.position to $_guardSelected.movingTo>> <<set $_guardSelected.movingTo to "none">> <<if $_guardSelected.position is $birdSilverHunt.player.position>> <<set $_guardSelected.action to "move">> <<else>> <<set $_guardSelected.action to "idle">> <</if>> <<elseif ["move","moveQueue"].includes($_guardSelected.action)>> <<if $_guardSelected.movingTo is "none">> <<set $_guardSelected.movingTo to ($_guardSelected.position + random(-2, 2))>> <<switch $_guardSelected.movingTo>> <<case -1>><<set $_guardSelected.movingTo to 8>> <<case -2>><<set $_guardSelected.movingTo to 7>> <<case 9>><<set $_guardSelected.movingTo to 0>> <<case 10>><<set $_guardSelected.movingTo to 1>> <</switch>> <</if>> <<if $_guardSelected.movingTo is $_guardSelected.position>> <<if _args[1]>> <!-- forced move disregarding everything else, to prevent players getting hopelessly trapped by an idle guard--> <<set $_guardSelected.movingTo to $_guardSelected.position += 2>> <<set $_guardSelected.action to "moving">> <<silver_hunt_move_guard _args[0]>> <<else>> <<set $_guardSelected.action to "idle">> <</if>> <<else>> <<if Object.values($birdSilverHuntGuards).find(guard => (guard.index isnot $_guardSelected.index and (guard.position is $_guardSelected.movingTo or guard.movingTo is $_guardSelected.movingTo)))>> <<set $_guardSelected.action to "moveQueue">> <<else>> <<set $_guardSelected.action to "moving">> <</if>> <</if>> <</if>> <</if>> <</widget>> <<widget "silver_hunt_action_guard">> <<if _args[0]>> <<set $_guardSelected to $birdSilverHuntGuards[_args[0]]>> <<if $_guardSelected.action isnot "none">> <<if ["move","moveQueue","moving"].includes($_guardSelected.action)>> <<silver_hunt_move_guard _args[0]>> <<else>> <<set $_guardSelected.action to either("move","move","move","idle")>> <<if $_guardSelected.action is "move" and $_guardSelected.movingTo is "none">> <<set $_guardSelected.movingTo to ($_guardSelected.position + random(-2, 2))>> <<switch $_guardSelected.movingTo>> <<case -1>><<set $_guardSelected.movingTo to 8>> <<case -2>><<set $_guardSelected.movingTo to 7>> <<case 9>><<set $_guardSelected.movingTo to 0>> <<case 10>><<set $_guardSelected.movingTo to 1>> <</switch>> <</if>> <</if>> <<if $_guardSelected.action is "idle">> <<set $_guardSelected.movingTo to "none">> <</if>> <</if>> <</if>> <</widget>> <<widget "bird_fly_reveal_wings">> <<set _angelWings to $transformationParts.angel.wings>> <<set _fallenAngelWings to $transformationParts.fallenAngel.wings>> <<set _demonWings to $transformationParts.demon.wings>> <<if $transformationParts.bird.wings is "hidden" and (_angelWings is "hidden" or _angelWings is "disabled") and (_fallenAngelWings is "hidden" or _fallenAngelWings is "disabled") and (_demonWings is "hidden" or _demonWings is "disabled")>> <<set $transformationParts.bird.wings to "default">> <</if>> <</widget>><<set $outside to 1>><<effects>> You walk down a thin road near the docks, leading away from Mer Street. It feeds into a warehouse, but to one side is a sandy trail, hidden among tufts of spiky grass. It takes you into the hills that flank the town, snaking the tops of the cliffs facing the sea. <br><br> Few know the path is here. <br><br> <<link [[Next|Coast Path]]>><</link>> <br><<location "coastpath">><<effects>> You're on the thin coastal path east of town, above a cliff facing the sea. <<cliff_top_desc>> White rose bushes flower here, unbothered by the wind. <br><br> <<if !$plants_known.includes("white_rose")>> <<icon "tending/white_rose.png">> <<link [[Search for seeds (0:30)|Coast Path White Rose]]>><<pass 30>><<pain 6>><<tending 6>><<set $plants_known.push("white_rose")>><</link>><<gpain>><<gtending>> <br> <</if>> <<if $historytrait gte 3>> <<walkicon>><<link [[Walk east along the coast (2:00)|Coast Path East]]>><<athletics 4>><<pass 120>><</link>> <br> <<if currentSkillValue('athletics') gte 300 and (Weather.precipitation is "none") and !$worn.feet.type.includes("heels")>> <<runicon>><<link [[Jog east along the coast (1:30)|Coast Path East]]>><<athletics 5>><<pass 90>><<tiredness 2>><<set $speed to "jog">><</link>><<athleticsdifficulty 250 700>><<gtiredness>> <br> <<if currentSkillValue('athletics') gte 700>> <<runicon>><<link [[Run east along the coast (1:00)|Coast Path East]]>><<athletics 6>><<pass 60>><<tiredness 3>><<set $speed to "run">><</link>><<athleticsdifficulty 650 1000>><<gtiredness>> <br> <</if>> <</if>> <<if $harpy gte 6 and $birdFly gte 1>> <br> <<flight_time_check 20>> <<glideicon>><<link [[Soar east (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Coast Path East]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<pass _flightTime>><<set $speed to "fly">><</link>><<flight_text>><<gtiredness>> <br> <</if>> <</if>> <br> <<entertownicon>><<link [[Enter town (0:30)|Mer Street]]>><<pass 30>><</link>> <br><<effects>><<wearProp "rose" "white">> You search the bushes for seeding flowers. You're careful to avoid the thorns, but prick yourself a little. <br><br> <span class="gold">You can now grow <<icon "tending/white_rose.png">> white roses.</span> <br><br> <<link [[Next|Coast Path]]>><<handheldon>><</link>> <br><<effects>><<wearProp "cabbage">> You look more closely at the leafy bushes dotting the clifftop. They're wild cabbages. You take some seeds. <br><br> <span class="gold">You can now grow <<icon "tending/cabbage.png">> cabbages.</span> <br><br> <<link [[Next|Coast Path Farmland]]>><<handheldon>><</link>> <br><<set $outside to 1>><<effects>> Tucked away in a hidden corner of the meadow is a thin path leading into a thicket, nestled between two hills. It takes you north, and emerges at the top of the cliffs facing the sea. <br><br> Few know the path is here. <br><br> <<link [[Next|Coast Path Farmland]]>><</link>> <br><<location "coastpath">><<effects>> You're on a thin coastal path north of the farmlands, above a cliff facing the sea. <<cliff_top_desc>> <br><br> <<walkicon "west">><<link [[Walk west along the coast (2:00)|Coast Path West]]>><<pass 120>><</link>> <br> <<if !$plants_known.includes("cabbage")>> <<icon "tending/cabbage.png">> <<link [[Search for seeds (0:30)|Coast Path Cabbage]]>><<pass 30>><<tending 6>><<set $plants_known.push("cabbage")>><</link>><<gtending>> <br> <</if>> <<if currentSkillValue('athletics') gte 300 and (Weather.precipitation is "none") and !$worn.feet.type.includes("heels")>> <<runicon "west">><<link [[Jog west along the coast (1:30)|Coast Path West]]>><<pass 90>><<tiredness 2>><<set $speed to "jog">><</link>><<athleticsdifficulty 250 700>><<gtiredness>> <br> <<if currentSkillValue('athletics') gte 700>> <<runicon "west">><<link [[Run west along the coast (1:00)|Coast Path West]]>><<pass 60>><<tiredness 5>><<set $speed to "run">><</link>><<athleticsdifficulty 650 1000>><<gtiredness>> <br> <</if>> <</if>> <<if $harpy gte 6 and $birdFly gte 1>> <<flight_time_check 20>> <<glideicon "west">><<link [[Soar west (<<print getTimeString(_hoursPassed, _minutesPassed)>>)|Coast Path West]]>><<set $fatigueMod to _fatigueMod>><<set $flightTime to _flightTime>><<pass _flightTime>><<set $speed to "fly">><</link>><<flight_text>><<gtiredness>> <br> <</if>> <br> <<farmicon "meadow">><<link [[Enter the meadow (0:30)|Meadow]]>><<pass 30>><</link>> <br><<effects>> <<if $speed is "fly">> <<flight_effects>> You run and jump. The wind catches you, and carries you along the trail. <br><br> <</if>> You follow the path east. It sometimes runs along the very top of the cliffs. At other times, it dips partway down, so that the route squeezes between a rock face on one side and a sheer drop on the other. <<if $speed is "jog">> <br><br> <<athleticsdifficulty 250 700 true>> <<if $athleticsSuccess>> You jog against the wind. <span class="green">The sea air <<if Weather.is("clear") and Time.dayState is "day">>and sunshine<</if>> is refreshing.</span> <<else>> You jog against the wind. <span class="red">You feel a little worn out.</span><<gtiredness>><<tiredness 2>> <</if>> <<elseif $speed is "run">> <br><br> <<athleticsdifficulty 650 1000 true>> <<if $athleticsSuccess>> You run against the wind. <span class="green">The sea air <<if Weather.is("clear") and Time.dayState is "day">>and sunshine<</if>> is refreshing.</span> <<else>> You jog against the wind. <span class="red">You feel a little worn out.</span><<gtiredness>><<tiredness 5>> <</if>> <</if>> <<unset $speed>> <br><br> You see fields in the distance. <br><br> <<link [[Next|Coast Path Farmland]]>><</link>> <br><<effects>> <<if $speed is "fly">> <<flight_effects>> You run and jump. The wind catches you, and carries you along the trail. <br><br> <</if>> You follow the path west. Wild grasses and other plants intrude on it, sometimes swallowing it all, but it's not hard to find again. It always hugs the cliff. <<if $speed is "jog">> <br><br> <<athleticsdifficulty 250 700 true>> <<if $athleticsSuccess>> You jog against the wind. <span class="green">The sea air <<if Weather.is("clear") and Time.dayState is "day">>and sunshine<</if>> is refreshing.</span> <<else>> You jog against the wind. <span class="red">You feel a little worn out.</span><<gtiredness>><<tiredness 2>> <</if>> <<elseif $speed is "run">> <br><br> <<athleticsdifficulty 650 1000 true>> <<if $athleticsSuccess>> You run against the wind. <span class="green">The sea air <<if Weather.is("clear") and Time.dayState is "day">>and sunshine<</if>> is refreshing.</span> <<else>> You jog against the wind. <span class="red">You feel a little worn out.</span><<gtiredness>><<tiredness 5>> <</if>> <</if>> <<unset $speed>> <br><br> You see the town in the distance. <br><br> <<link [[Next|Coast Path]]>><</link>> <br><<widget "cliff_top_desc">> <<switch Time.dayState>> <<case "day">> <<switch Weather.name>> <<case "clear" "lightClouds">>Grey-blue water stretches to the horizon, glinting in the bright sun. <<case "heavyClouds">>Murky water stretches to the horizon, grey in the overcast light. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> You hear crashing waves as rain whips around you. <span class="red">The path is muddy. You should take it slow.</span> <<else>> Frigid waves crash against the cliffside as snow falls around you. <span class="red">The path is icy. You should take it slow.</span> <</if>> <</switch>> <<case "night">> <<switch Weather.name>> <<case "clear" "lightClouds">>Stars glimmer over the endless deep. <<case "heavyClouds">>The darkling water is barely visible as a blanket of clouds shroud the stars. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> You hear waves crash below you as rain pours from the night sky. <span class="red">The path is muddy. You should take it slow.</span> <<else>> You hear waves crash below you as snow flurries sting your cheeks. <span class="red">The path is icy. You should take it slow.</span> <</if>> <</switch>> <<case "dawn">> <<switch Weather.name>> <<case "clear" "lightClouds">>Wine-red in the dawning sun, the ocean stretches to the horizon. <<case "heavyClouds">>The pearlescent water shimmers as the first rays of sunrise cut through the clouds. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> Rain whips around you as the sun creeps over the horizon. <span class="red">The path is muddy. You should take it slow.</span> <<else>> Chunks of ice drift aimlessly in the sea as you watch the rising sun. <span class="red">The path is icy. You should take it slow.</span> <</if>> <</switch>> <<case "dusk">> <<switch Weather.name>> <<case "clear" "lightClouds">>The fading sun illuminates the water with an orange glow. <<case "heavyClouds">>The dreary sea lies still beneath the gloaming sky. <<case "lightPrecipitation" "heavyPrecipitation" "thunderStorm">> <<if Weather.precipitation is "rain">> Rain whips around you as the sun sinks beneath the horizon. <span class="red">The path is muddy. You should take it slow.</span> <<else>> Snow crunches underfoot as you gaze at the darkening ocean. <span class="red">The path is icy. You should take it slow.</span> <</if>> <</switch>> <</switch>> <</widget>><<effects>><<set $outside to 0>> <<npc "Wren">><<person1>> <<generate2>><<generate3>><<generate4>><<generate5>><<generate6>> <<if $wren_intro is undefined>> "Sneaking where we don't belong?" says a young <<if $pronoun is "m">>man with short<<else>>woman with shoulder-length<</if>> hair. <<if $wrenSeenLast is "pregnancy">> <span class="gold">It's the person who rescued you when you were in labour.</span> "Dangerous caves aren't the only place you like to poke around, I guess. <<= playerBellyVisible() ? "Already knocked up again, huh?" : "At least you're otherwise staying out of trouble.">>" <<He>> nods at your belly, flashing an amused grin. "Try not to pass out this time." <<elseif $wrenSeenLast is "catsuit">> <span class="gold">It's Wren.</span> "Just like you were when we met at the docks." <<He>> doesn't look armed this time. <<elseif $wrenSeenLast is "prison">> <span class="gold">It's Wren.</span> "Hope you stay out of prison this time." <<else>> "Naughty." <</if>> <br> "Maybe <<pshe>> wants to play?" a <<person2>><<person>> suggests, eyeing up your body. "<<pShe>> has a few assets I'd see <<phim>> lose." <br> "How about it <<girl>>?" the first <<person1>><<nnpc_gender "Wren">> asks. <<Hes>> not much older than you. "Fancy some blackjack?" <br><br> <<if $farm_stage lte 4 or $farm_stage is undefined>> <i><span class="blue">A realisation strikes you.</span> This is likely the Wren that Mickey mentioned.</i> <<else>> <i><span class="blue">An idea strikes you.</span> They don't seem hostile. For now. You could twist the situation to your advantage, but be careful.</i> <</if>> <br><br> <<else>> <<if $wrenHeistMissed is true or ($wrenHeist is true and $wrenHeistDance.attended isnot true and Time.hour gte 21)>> "Look who it is," Wren says. "You stood me up," <<= C.npc.Wren.love gte 40 ? "You know Wren well enough by now to see" : "You can't tell if">> <<hes>> hurt. "Luckily, I didn't need your help."<<npcincr Wren love -1>><<llove>><<set $wrenHeist to false>><<unset $wrenHeistMissed>><<unset $wrenHeistDance>> <<elseif $wrenSeenLast is "letter">> "Look who it is," Wren says. "Got another letter for me, or are you up for a game?" <<elseif $wrenSeenLast is "winter">> "Look who it is," Wren says. "Taking a break from helping the fossil dig up graves?" <<elseif $wrenSeenLast is "catsuit">> "Look who it is," Wren says. "It was fun to run into you during work." <<elseif $wrenSeenLast is "pregnancy">> "Look who it is," Wren says. "I didn't expect to see you poking around that cave. Naughty <<girl>>." <<His>> eyes land on your belly. <<if playerBellyVisible()>> "You're already knocked up again?" <<He>> laughs. "Careful not to pass out this time. <<else>> "At least you're otherwise staying out of trouble. Mind where you pass out next time. <</if>> I won't always be around to save you." <<elseif $wrenSeenLast is "heist">> "Look who it is," Wren says. "Fancy seeing you here, partner. <<if $wrenHeistCricketBall is true>>You owe me. Big. <<set $wrenHeistCricketBall to false>><</if>>" <<elseif $estate_cards_end is "naked">> "Look who it is," Wren says, a smug smile on <<his>> face. "We left you with nothing last time. Hope the journey home wasn't too cold." <<His>> friends laugh. <<elseif $estate_cards_end is "left_early">> "Look who it is," Wren says. "Planning to stay around a bit longer this time, I hope." <<elseif $estate_cards_end is "wren_finished_early">> "Look who it is," Wren says. "I was <i>this</i> close to taking you last time." <<elseif $estate_cards_end is "chaos">> <!-- this check is currently always false --> "Look who it is," Wren says. "You left us in quite a mess last time. Barely dodged the blame. I'm always eager for another game though." <<elseif $estate_cards_end is "run">> "Look who it is," Wren says, smiling. "You did a runner last time. Hope there won't be a repeat." <<elseif $estate_cards_end is "sex">> "Look who it is," Wren says, grinning. "I said you'd be back for more." <<His>> friends laugh. <<elseif $estate_cards_end is "sex_safe">> "Look who it is," Wren says. "Still playing it safe with that belt of yours, I bet." <<elseif $estate_cards_end is "oral" or $estate_cards_end is "pc_won_and_oral">> "Look who it is," Wren says. "Glad you're here. My friends enjoyed you last time. I promised I'd have you on your knees again." <<elseif $estate_cards_end is "cheat_run">> "Look who it is," Wren says. "You were a very bad <<girl>> last time, cheating and booking it like that. Ready to be taught a lesson?" <<elseif $estate_cards_end is "cheat_moor">> "Look who it is," Wren says. "You were a bad <<girl>> last time, cheating like that. Hope you've learned your lesson." <<elseif $estate_cards_end is "pc_won">> "Look who it is," Wren says. "You left us hanging last time, blanking on favours like that. Fancy a game?" <<elseif $estate_cards_end is "cheat_remy">> <<if C.npc.Wren.love gte 20>> "Look who it is," Wren says. "I knew you'd be back soon - you won me a bet." <<else>> "Look who it is," Wren says. "Not too surprised to meet you again. Hope you didn't cause them too much trouble." <</if>> <<else>> "Look who it is," Wren says. "Fancy a game?" <</if>> <<unset $estate_cards_end>> <</if>> <<set $wrenSeen.pushUnique("cards")>> <<set $wrenSeenLast to "cards">> <br><br> <<cards_start_play_options>><<effects>><<set $outside to 0>> You turn to leave. <<if $wren_intro is undefined>> "Suit yourself," says the young <<personsimple>>. "Come back when there's something you want." <<else>> "Suit yourself," Wren says. "Come back when there's something you want." <</if>> <br><br> <<link [[Next|Estate]]>><<endevent>><</link>> <br><<effects>><<set $outside to 0>><<set $bus to "estate_cottage">> <<set $outside to 0>> You enter the cottage. A group of <<people>> play cards around a table. They all face you. <<covered>> <br><br> <<link [[Next|Estate Cards Intro]]>><</link>> <br><<effects>><<set $outside to 0>> <<set $estate.cards.suggestedRaisingStakesToday to true>> <<set $estatePersistent.suggestedRaisingStakes to true>> <<person1>> <<if $speech_attitude is "meek">> "S-sorry, um... I've been thinking, about the rules," you say. "I d-don't think it's fair..." <<elseif $speech_attitude is "bratty">> "Nah, I'm good," you say. "I know the house always wins, but you're pushing it with these rules." <<else>> "I'm not sure I want to play with these rules," you say. "They're too unfair." <</if>> <br><br> <<person1>> Wren raises <<his>> eyebrows in curiosity, a smirk playing on <<his>> lips.<br><br> "Oh, really? What's the problem?" <<he>> says. <br><br> <<if $speech_attitude is "meek">> "I-I pay a lot for my clothes," you say, "and y-you get to keep your clothes, so... M-maybe if I g-got something from you when you lost..." <br><br> <<elseif $speech_attitude is "bratty">> "Do you even have to ask?" You glare at <<him>>. "You want to take my hard-earned clothing when I lose, and in return you do some stupid dare?" <br><br> <<else>> "I don't feel like the favours are enough compensation for the clothes I lose," you say. <br><br> <</if>> <<link [[Next|Estate Cards Suggest Betting Init 2]]>><</link>><<effects>><<set $outside to 0>> <<person1>> <<if $speech_attitude is "meek">> Wren looks at you with amusement. "Playing for <i>'favours'</i> was your idea," <<he>> says, "and I'm already risking a lot, you know." <br><br> "I-I'm sorry... C-could you give me some money back for the clothes if I win?" you ask. <<elseif $speech_attitude is "bratty">> "Those 'stupid' <i>favours</i> were your idea, you know?" Wren says, <<his>> relaxed expression unchanged. "Do you have any idea how risky some of them are for me?" <br><br> "You keeping my damn clothes wasn't my idea," you argue back. "Least you can do is put some money forward when you lose, you know." <<else>> "You say that, even though the favours were your idea..." Wren says, leaning back on <<his>> chair. "Real shame you consider them unfair, considering how risky they can get for me." <br><br> "Risking going back home buck naked is also risky, and for what?" you argue. "It will be a bit more fair if I make some money back if I win." <</if>> <br><br> Wren lets out a light chuckle before turning to <<his>> friends. You can hear them discussing it for a few seconds, before Wren turns back to you. <br><br> <<if C.npc.Wren.love gte 20>> <<set $phase to 1>> <<link [[Next|Estate Cards Suggest Betting Success]]>><</link>> <<else>> <<link [[Next|Estate Cards Suggest Betting Failure]]>><</link>> <</if>><<effects>><<set $outside to 0>> <<person1>> <<if $phase is 1>> Wren looks deep in thought for a few seconds. You open your mouth to add something, but Wren interrupts you. <br><br> <span class="green">"Fine. You have a point,"</span> Wren says. <<else>> A few seconds pass. You are about to open your mouth to say something, but Wren interrupts you.<br><br> <span class="green">"Ah, whatever. Fine,"</span> Wren says. <</if>> <br><br> "We can add some money into the mix, on top of the favours and the clothes. My friends over here also wouldn't mind to throw in some extra for the eye candy, isn't that right?" Wren says, turning to look at <<his>> goons. <br><br> The goons look up and down your body, and you don't hear any objections. <br><br> <<link [[Next|Estate Cards Suggest Betting Success 2]]>><</link>><<effects>><<set $outside to 0>> <<person1>> "However," <<he>> continues. "You'll obviously need to put forward some money, as well. I'm sure you didn't think I'd just give you free money, did you?" Wren says with a smirk. <br><br> "Whatever you bet, I will match, and my friends will throw in some extra. We'll ante up before the game, and we'll bet hand-to-hand, before the cards are dealt," Wren says.<br><br> "Of course, you still want the favours, so I still want the clothes. We're just adding a bit of money to the mix. Sound good?" Wren asks. <br><br> <<link [[Accept|Estate Cards Accept Betting]]>><</link>> <br> <<link [[Refuse|Estate Cards Reject Betting]]>><</link>> <br><<effects>><<set $outside to 0>> <<set $estatePersistent.playerRejectedRaisingStakes to true>> <<person1>> <<if $speech_attitude is "meek">> "I-I'm sorry," you say. "I d-don't think I can bet money." <br><br> "Don't tell me you were expecting literal charity," Wren says with a smile. "Well, I'm fine either way. So, wanna play the usual way then?" <<elseif $speech_attitude is "bratty">> "You're just introducing betting, that's hardly making it any more fair," you say. "No deal." <br><br> "Even though I was so generous to ask my friends to cash in, as well," Wren says, shaking <<his>> head. "Well, your loss, I'm fine either way. So, wanna play the usual way then?" <<else>> "Sorry, I can't accept your offer, it doesn't seem fair enough," you say. <br><br> Wren shrugs. "Even though I was so generous to ask my friends to cash in," Wren says. "Oh well, I'm fine either way. So, wanna play the usual way then?" <</if>> <br><br> <<cards_start_play_options>><<effects>><<set $outside to 0>> <<set $estatePersistent.playerRejectedRaisingStakes to false>> <<set $estatePersistent.stakesRaised to true>> <<person1>> <<if $speech_attitude is "meek">> You meekly nod your head. <<elseif $speech_attitude is "bratty">> "Of course. I expected as much. Fine, whatever, works with me," you say. <<else>> "Hmm. Okay, sounds fair," you say. <</if>> <br><br> Wren smiles. "Alright, it's decided then," <<he>> says. "So, wanna play?" <br><br> <<cards_start_play_options>><<effects>><<set $outside to 0>> <span class="red">"Nah. No deal,"</span> Wren says. "This isn't a charity." <br><br> <i>Perhaps <<he>> would be more willing to consider this if <<he>> had a better opinion of you.</i> <br><br> "So, wanna play?" Wren asks. <br><br> <<cards_start_play_options>><<effects>><<set $outside to 0>> <<set $estate.cards.suggestedRaisingStakesToday to true>> <<if $speech_attitude is "meek">> "S-sorry to mention it again, but, um... Is there any chance you've reconsidered my suggestion, a-about giving me some money back when I win?" you ask. <<elseif $speech_attitude is "bratty">> "You seem like a reasonable <<nnpc_gender "Wren">>, so I'm sure you've reconsidered my suggestion," you say. "Ready to put some money forward?" <<else>> "About the suggestion I'd made earlier," you say, "about you betting some money in exchange for my clothes. Have you reconsidered it?" <</if>> <br><br> "You're a persistent one," Wren says. <<He>> turns to look at <<his>> goons, before turning back to you. <br><br> <<if C.npc.Wren.love gte 20>> "You're just gonna keep asking, aren't you?" Wren says. <br><br> <<set $phase to 2>> <<link [[Next|Estate Cards Suggest Betting Success]]>><</link>> <<else>> <span class="red">"You just don't get it, do you? No deal,"</span> Wren says. "As I've said, this isn't a charity." <br><br> <i>Perhaps <<he>> would be more willing to consider this if <<he>> had a better opinion of you.</i> <br><br> "So, wanna play?" Wren asks. <br><br> <<cards_start_play_options>> <</if>><<effects>><<set $outside to 0>> <<set $estatePersistent.playerRejectedRaisingStakes to false>> <<set $estatePersistent.stakesRaised to true>> <<person1>> <<if $speech_attitude is "meek">> "I-I accept your offer," you say. "B-betting, I mean." <br><br> "So you changed your mind," Wren says with a smile. "Fine by me. So, wanna play?" <<elseif $speech_attitude is "bratty">> "I changed my mind, I'm fine with betting some money as well," you say. "Don't get the wrong idea though, you won't get to see much of it." <br><br> Wren chuckles. "Confident, aren't we? Let's see you put your money where your mouth is," Wren says. "Wanna play?" <<else>> "I thought about it, and I accept your proposition," you say. <br><br> "You mean <i>your</i> proposition," Wren says with a chuckle. "So, wanna play?" <</if>> <br><br> <<cards_start_play_options>><<effects>> <!-- estate ends 7 and 8 --> <<if $wren_intro isnot undefined>> <<set $estate_cards_end to "run">> <</if>> <<if $estate.cards.state is "ride">> <!-- note - this is an impossible if clause. the player isn't given this option in the ride state. --> <<if $estate.cards.position is "pc_lap" or $estate.cards.position is "penile">> You shove Wren off your lap, and run for the door. <<else>> You climb off Wren, and run for the door before <<he>> can grab you. <</if>> <<else>> You turn and run. <</if>> <<if $athleticsSuccess>> You hear footsteps pursue, but you dash around the outside of the cottage <span class="green">and outpace them.</span> You drop down a ditch to hide. <br><br> <!-- estate end 7. currently still leads to the pot getting confiscated, we should add an extra option to try and run WITH the winnings for a higher chance of getting caught --> <<card_pot_confiscated>> <<estate_cards_finish>> <<link [[Next|Estate]]>><<endevent>><</link>> <br> <<else>> You hear footsteps pursue. You've barely made it outside when Wren <span class="red">tackles you to the ground.</span> "What should we do with <<phim>>?" <<he>> asks as more arms hold you down. <br><br> <<outfitChecks>> <<if _fullyNaked>> "The moor will take <<phim>>," the <<person2>><<person>> replies. <<else>> <<clothesruined>><<exposure>> "Like you need to ask," the <<person2>><<person>> replies. Hands grasp your clothes from all directions, pulling and tearing the fabric, until you're left exposed. <<covered>> <</if>> <<fameexhibitionism 7>> <br><br> They lift you, and carry you naked through the estate, towards the entrance. The guard sees you coming, and smirks as <<he>> opens the gate. <br><br> They heft you through. You hear it rattle shut as you climb to your feet. You stumble away, enduring the jeers. <br><br> <!-- estate end 8. --> <<card_pot_confiscated>> <<estate_cards_finish>> <<link [[Next|Moor]]>><<endevent>><<set $eventskip to 1>><<estate_end>><</link>> <br> <</if>><<effects>> You turn and run. <!-- estate ends 5 and 6 --> <<if $athleticsSuccess>> <<if $wren_intro isnot undefined>> <<set $estate_cards_end to "cheat_run">> <</if>> You hear footsteps pursue, but you dash around the outside of the cottage <span class="green">and outpace them.</span> You drop down a ditch to hide. <br><br> <!-- estate end 5 --> <!-- currently leads to the pot getting confiscated, perhaps we should have an alternative option for a higher risk escape (for a chance to grab your winnings) --> <<card_pot_confiscated>> <<estate_cards_finish>> <<link [[Next|Estate]]>><<endevent>><</link>> <br> <<else>> You hear footsteps pursue. You've barely made it outside when Wren <span class="red">tackles you to the ground.</span> <br><br> "Got you," Wren says, now on top of you. "Now, stop resisting. You're gonna be in good hands - <<nnpc_he "Remy">> will whip you into shape." <br><br> <!-- estate end 6. <<estate_end>> and <<endevent>> called within --> <<blackjackCaughtCheatingSurrender>> <</if>><<effects>> <!-- <<if $estate.cards.state is "ride">> is omitted because in that state the apologise option isn't given --> <<if $speech_attitude is "meek">> "I'm sorry for cheating, please forgive me!" you plead. <<elseif $speech_attitude is "bratty">> "Well shit, you got me," you say. "Forgive and forget?" <<else>> "You got me," you say. "Sorry." <</if>> <<set _plead_points to $estate._base_plead_points + random($estate._plead_rng_min, $estate._plead_rng_max)>> <<set _plead_success to (_plead_points gte $estate._plead_required_points)>> <<if not $estate.prev_apologised and _plead_success>> <<if $wren_intro isnot undefined>> <<set $estate_cards_end to "cheat_moor">> <</if>> <br><br> Wren sighs. "What am I going to do with you?" <<he>> says.<br><br> <span class="green">Your pleas seem to have reached <<him>>.</span> <br><br> "Can't give this one to <span class="pink"><<nnpc_him "Remy">></span>, would cause them too much trouble," Wren says. <br> "What should we do with <<phim>>?" <<he>> asks <<his>> friends, who have completely surrounded you. <br><br> <<outfitChecks>> <<if _fullyNaked>> "Let's take <<phim>> to the moor," the <<person2>><<person>> replies. <<else>> <<clothesruined>><<exposure>> "Like you need to ask," the <<person2>><<person>> replies. Hands grasp your clothes from all directions, pulling and tearing the fabric, until you're left exposed. <<covered>> <</if>> <br><br> They lift you, and carry you naked through the estate, towards the entrance. The guard sees you coming, and smirks as <<he>> opens the gate. <br><br> They heft you through. You hear it rattle shut as you climb to your feet. You stumble away, enduring the jeers. <br><br> <!-- estate end 3 --> <<card_pot_confiscated>> <<estate_cards_finish>> <<link [[Next|Moor]]>><<endevent>><<set $eventskip to 1>><<estate_end>><</link>> <br> <<else>> <<if $estate.prev_apologised>> <br><br> Wren looks at you in disbelief for a second and scoffs. <br><br> "You're shameless, you know that?" <<he>> says. <span class="red">"That's exactly what you told us last time."</span> <<else>> <br><br> <span class="red">"Sorry won't cut it, <<lass>>,"</span> Wren says. "Gotta make sure you learn your lesson." <</if>> <br><br> "Now, be a good <<girl>> and don't try anything stupid", <<he>> says with a smile. <br><br> <<blackjackCaughtControls 2>> <</if>><<effects>><<set $outside to 0>> <<if $speech_attitude is "meek">> "T-this is a misunderstanding, please!" you plead.<br><br> <<elseif $speech_attitude is "bratty">> "Oh come on, this is bullshit!" you cry out. "You're a cheat yourself. You don't even have any proof!" <<else>> "I have no idea what you're talking about," you say. "You're making a mistake." <</if>> <br><br> Your words fall on deaf ears. "We both know what you did," Wren says. "Gotta make sure you learn your lesson." <br><br> "Now, be a good <<girl>> and don't try anything stupid," <<he>> says with a smile. <br><br> <<blackjackCaughtControls 2>><<effects>><<set $outside to 0>> You stay in place, allowing Wren's goons to surround you. <br><br> <!-- estate end 4 --> <<blackjackCaughtCheatingSurrender>> <!-- basically same stuff as in run, but less forced --><<effects>><<set $outside to 0>> <<blackjackStart "Blackjack Finish">> <<person1>> <<set $wrenSeenLast to "cards">> <<if $wren_intro is undefined>> <<set $wren_intro to true>> You pull back a chair, and sit at the table. "Nice," the <<if $pronoun is "m">>blond man<<else>>blonde woman<</if>> says. "<span class="gold">The name's Wren.</span> Now, how about we make this interesting?" <br><br> <<if $speech_attitude is "meek">> "I-If I win," you say. "You have to do me a favour." <<elseif $speech_attitude is "bratty">> "I don't want your money," you say. "If I win, you owe me a favour." <<else>> "Instead of money," you say. "If I win, you owe me a favour." <</if>> <br><br> Wren laughs. "I like that. And if I win." <<He>> pauses. <<estate_cards_bet>> <<else>> You pull back a chair, and sit at the table. "Nice," Wren says. "You win, I do you a favour. I win." <<He>> pauses. <<estate_cards_bet>> <<if $estatePersistent.stakesRaised>> <<if $estate.cards.bettingEnabled>> <br><br> "You can also throw in some extra cash into the mix from your pot. I'll match the bet, and my friends will throw in some extra," Wren says. <<else>> <br><br> "We won't be betting this time, it seems," Wren says. "Running low?" Wren asks with a smile. <</if>> <</if>> <<if $estatePersistent.newDeckTimer is 0 and $estatePersistent.markedCards.size gt 0>> <br><br> "Oh, and by the way," Wren says. "<span class="blue">We've replaced the deck after our last game.</span> Though I'm sure you would've noticed that," <<he>> says with a smirk. <<set $estatePersistent.markedCards to new Set()>> <<set $estatePersistent.newDeckTimer to 3>> <</if>> <</if>> <br><br> <<cards_play_options>><<blackjackCalculate>> <<cards_exposure_text>> <<blackjackControls>><<effects>><<set $outside to 0>> <<switch $blackjack.cheatChoice>> <<case "mark">> <<blackjackGetCanMarkCount>> You put your cards down and pretend to contemplate. <<if _can_mark_count gt 1>> Then, you glance at your cards again, one at a time, seemingly deep in thought, while in reality you're placing a unique mark on them. <<else>> Then, you glance at your cards again, seemingly deep in thought, while in reality you're placing a unique mark on one of them. <</if>> <br><br> <<skulduggerycheck>> <!-- helping the player not make a guaranteed suicidal choice here, if they don't intend to --> <<if $skulduggerysuccess is 1>> <<set $blackjack.susRoseInThisRound to true>> <<blackjackSuspicion `8+_can_mark_count*2` "caughtmarkingcardsuccess">> <<if $estatePersistent.suspicion gte 100>> <<set $skulduggerysuccess to 0>> <</if>> <</if>> <<if $skulduggerysuccess is 1>> The amount of time you're taking has not gone unnoticed, but other than that no one seems to have noticed you marking the cards. <<gsuspicion>> <br><br> <<skulduggeryuse>> <<link [[Next|Estate Blackjack]]>><</link>> <<else>> <<if $estatePersistent.suspicion lt 100>> <<blackjackSuspicion 10000 "caughtmarkingcardfail">> <</if>> <br><br> <<if $estate.cards.state is "ride">> Suddenly, the dealer approaches Wren and whispers something. Afterwards, you hear Wren <span class="red">chuckling.</span> <br> <<skulduggeryuse>> <br><br> <<He>> reaches <<his>> hand behind <<his>> back and snatches the card from your grasp. <<He>> then shows you the mark you've placed on it. <br> <<else>> When you look back up, you see Wren <span class="red">staring right into your eyes.</span> <br> <<skulduggeryuse>> <br><br> <<He>> takes your card and points to the mark you've just placed. "Good thing I caught you right in the act." <br> <</if>> "Ruining our cards, eh? Thought we wouldn't notice?" <<he>> says. "Tsk, tsk. This won't do." <br><br> <<if $speech_attitude is "meek">> "I-I'm sorry, it was an accident!" you say. <<elseif $speech_attitude is "bratty">> "Blame your dealer, I'm not the one who damaged the card," you say. <<else>> "I didn't do anything," you say. <</if>> <br><br> <<blackjackCheatingCaught>> <</if>> <br><br> <</switch>><<effects>><<set $outside to 0>> <<blackjackEnd "win">> <<blackjackStart "Blackjack Finish">> <<estate_chaos_bar>> <br><br> <<blackjackResultText true>> <<blackjackPostGameBettingResult true>> <<switch $estate.cards.daring>> <<case 0>> Wren spreads <<his>> hands. "I'm a <<personsimple>> of my word," <<he>> says. "Name your favour." <<case 1>> Wren runs <<his>> fingers over the table. "Don't be shy," <<he>> says. "Name your favour." <<case 2>> Wren stares at your cards longer than needed. "Fine," <<he>> says. "Name your favour." <<case 3>> Wren glances at the cards again. "So what will it be?" <<he>> asks. "Name your favour." <<case 4>> Wren reclines in <<his>> chair. "Another win for you," <<he>> says. "Name your favour." <<case 5>> Wren folds <<his>> arms. "Not bad," <<he>> says. "Name your favour." <<case 6>> Wren leans forward. "Don't hesitate," <<he>> says. "Name your favour." <<case 7>> Wren grins. "So that's how it is," <<he>> says. "Name your favour." <<case 8>> Wren laughs. "So what will it be this time?" <<he>> asks. "Name your favour." <<case 9>> Wren laughs. "I wonder what <<pshe>> has brewing," <<he>> says. "Name your favour." <<case 10>> Wren laughs. "Don't go easy on me," <<he>> says. "Name your favour." <<default>> Wren laughs. "So who do you want dead?" <<he>> asks. "I'm joking, but name your favour." <</switch>> <<ldom>><<npcincr Wren dom -1>> <br><br> <<if $estate.cards.daring is 0>> <i>Despite <<his>> words, you know <<he>> won't be willing to do just anything. Not at first. You'll need to start with easy demands.</i> <br><br> <</if>> <<switch $estate.cards.daring>> <<case 0>> <span class="red">Wren smirks at you.</span> <<case 1>> <span class="pink">Wren looks cautious.</span> <<case 2>> <span class="pink">Wren looks wary.</span> <<case 3>> <span class="purple">Wren looks relaxed.</span> <<case 4>> <span class="purple">Wren looks at ease.</span> <<case 5>> <span class="blue">Wren looks amused.</span> <<case 6>> <span class="blue">Wren looks entertained.</span> <<case 7>> <span class="lblue">Wren looks adventurous.</span> <<case 8>> <span class="lblue">Wren looks bold.</span> <<case 9>> <span class="teal">Wren looks brave.</span> <<case 10>> <span class="teal">Wren looks audacious.</span> <<default>> <span class="green">Wren is fearless.</span> <</switch>> <br><br> What do you ask? <br><br> <<link [[Drink a shot of whisky|Estate Cards Whisky]]>><<set $estate.cards.daring += 1>><</link>><<gdaring>> <br> <<set _favoursRemaining to 0>> <<if $estate.cards.kiss isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 1>> <<link [[Kiss a colleague|Estate Cards Kiss]]>><<set $estate.cards.daring += 2>><<set $estate.cards.kiss to 1>><<arousal 600 "mouth">><</link>><<ggdaring>><<garousal>> <br> <<else>> <span class="blue">Kiss a colleague: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.steeds isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 3>> <<link [[Agitate the steeds (0:10)|Estate Cards Steeds]]>><<pass 10>><<farm_aggro -5>><<set $estate.cards.steeds to 1>><<set $estate.cards.daring -= 1>><</link>><<laggro>><<ldaring>> <br> <<else>> <span class="blue">Agitate the steeds: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.rumour isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 3>> <<link [[Spread a rumour (0:10)|Estate Cards Rumour]]>><<pass 10>><<estate_chaos 10>><<set $estate.cards.rumour to 1>><<set $estate.cards.daring -= 1>><</link>><<gchaos>><<ldaring>> <br> <<else>> <span class="blue">Spread a rumour: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.wren_top is 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 3>> <<link [[Strip your top|Estate Cards Top]]>><<set $estate.cards.daring += 2>><<set $estate.cards.wren_top to 0>><<arousal 600>><</link>><<ggdaring>><<garousal>> <br> <<else>> <span class="blue">Strip your top: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.weapons isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 5>> <<link [[Hide Remy's weapons (0:10)|Estate Cards Weapons]]>><<pass 10>><<farm_aggro -5>><<set $estate.cards.weapons to 1>><<set $estate.cards.daring -= 1>><</link>><<laggro>><<ldaring>> <br> <<else>> <span class="blue">Hide Remy's weapons: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.wren_bottoms is 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 5>> <<if C.npc.Wren.pronoun is "f">> <<link [[Strip your skirt|Estate Cards Bottoms]]>><<set $estate.cards.daring += 2>><<set $estate.cards.wren_bottoms to 0>><<arousal 600>><</link>><<ggdaring>><<garousal>> <<else>> <<link [[Strip your trousers|Estate Cards Bottoms]]>><<set $estate.cards.daring += 2>><<set $estate.cards.wren_bottoms to 0>><<arousal 600>><</link>><<ggdaring>><<garousal>> <</if>> <br> <<else>> <<if C.npc.Wren.pronoun is "f">> <span class="blue">Strip your skirt: More daring required.</span> <<else>> <span class="blue">Strip your trousers: More daring required.</span> <</if>> <br> <</if>> <</if>> <<if $estate.cards.cars isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 7>> <<link [[Disable Remy's cars (0:10)|Estate Cards Cars]]>><<pass 10>><<farm_aggro -15>><<set $estate.cards.cars to 1>><<set $estate.cards.daring -= 1>><</link>><<llaggro>><<ldaring>> <br> <<else>> <span class="blue">Disable Remy's cars: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.window isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 7>> <<link [[Smash a mansion window (0:10)|Estate Cards Window]]>><<pass 10>><<estate_chaos 20>><<set $estate.cards.window to 1>><<set $estate.cards.daring -= 1>><</link>><<ggchaos>><<ldaring>> <br> <<else>> <span class="blue">Smash a mansion window: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.wren_top isnot 1 and $estate.cards.wren_under_top is 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 7>> <<if C.npc.Wren.pronoun is "f">> <<link [[Strip your bra|Estate Cards Under Top]]>><<set $estate.cards.daring += 2>><<set $estate.cards.wren_under_top to 0>><<arousal 600>><</link>><<ggdaring>><<garousal>> <<else>> <<link [[Strip your vest|Estate Cards Under Top]]>><<set $estate.cards.daring += 2>><<set $estate.cards.wren_under_top to 0>><<arousal 600>><</link>><<ggdaring>><<garousal>> <</if>> <br> <<else>> <<if C.npc.Wren.pronoun is "f">> <span class="blue">Strip your bra: More daring required.</span> <<else>> <span class="blue">Strip your vest: More daring required.</span> <</if>> <br> <</if>> <</if>> <<if $estate.cards.cattle isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 9>> <<link [[Free the cattle (0:10)|Estate Cards Cattle]]>><<pass 10>><<estate_chaos 20>><<set $estate.cards.cattle to 1>><<set $estate.cards.daring -= 1>><</link>><<ggchaos>><<ldaring>> <br> <<else>> <span class="blue">Free the cattle: More daring required.</span> <br> <</if>> <</if>> <<if $estate.cards.wren_bottoms isnot 1 and $estate.cards.wren_under_bottoms is 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 9>> <<if C.npc.Wren.pronoun is "f">> <<link [[Strip your panties|Estate Cards Under Bottoms]]>><<set $estate.cards.daring += 2>><<set $estate.cards.wren_under_bottoms to 0>><<arousal 600>><</link>><<ggdaring>><<garousal>> <<else>> <<link [[Strip your briefs|Estate Cards Under Bottoms]]>><<set $estate.cards.daring += 2>><<set $estate.cards.wren_under_bottoms to 0>><<arousal 600>><</link>><<ggdaring>><<garousal>> <</if>> <br> <<else>> <<if C.npc.Wren.pronoun is "f">> <span class="blue">Strip your panties: More daring required.</span> <<else>> <span class="blue">Strip your briefs: More daring required.</span> <</if>> <br> <</if>> <</if>> <<if $estate.cards.fire isnot 1>> <<set _favoursRemaining += 1>> <<if $estate.cards.daring gte 11>> <<link [[Start a fire (0:10)|Estate Cards Fire]]>><<pass 10>><<farm_aggro -30>><<estate_chaos 50>><<set $estate.cards.fire to 1>><</link>><<garousal>><<lllaggro>><<gggchaos>> <br> <<elseif _favoursRemaining is 1>> <!-- if this is the very last favour remaining, but daring is low - we let the player know about this option, so that they realise they've mismanaged the daring and need to increase it again so that they can get all favours we do not show this option if they haven't gotten all other favours first, though --> <span class="blue">Start a fire: More daring required.</span> <br> <</if>> <</if>> <!-- we could allow the player to announce victory earlier, too, but it makes sense to require ALL dares to be completed --> <!-- we could also ignore the ones where we get Wren to get more daring with no actual benefit for us since PC doesn't particularly care about Wren's state of undress however, I figured I'll count them too since Wren being undressed definitely plays a role in them feeling defeated when the PC leaves --> <<if _favoursRemaining is 0>> <i>You realise there are no more favours you can think of. You could end the game by declaring yourself victorious.</i> <<if $estate.cards.confiscatedClothes and $estate.cards.confiscatedClothes.length gt 0>> <br> <span class="gold">Wren might feel defeated enough to consider returning you your clothes.</span> <</if>> <br> <<link [[Declare your victory|Estate Cards Player Victory]]>><<npcincr Wren dom -5>><</link>><<lldom>> <br> <<else>> <span class="blue">Declare your victory: Request all other favours first.</span> <</if>><<effects>><<set $outside to 0>> <<person1>> <<if $speech_attitude is "meek">> "I-I've asked for every favour I had thought of already," you say. <<elseif $speech_attitude is "bratty">> "I've gotten everything I wanted from you," you say with a smirk. "I've milked you dry. The game is over." <<else>> "I have no more favours to ask. Does this mean the game is over?" you say. <</if>> <br><br> Wren raises <<his>> eyebrows in surprise. It looks like your comment has caught <<him>> off-guard. <br><br> <<card_pot_collected>> <<set $estate_cards_end to "pc_won">> <<if $estate.cards.confiscatedClothes and $estate.cards.confiscatedClothes.length gt 0>> <span class="gold">Normally, Wren would be feeling too confident to even consider returning your clothing, but this might be your chance.</span> <br><br> <<link [[Say you want your clothing back|Estate Cards Rebuy Clothing]]>><</link>> <br> <<link [[Leave your clothing behind|Estate Cards Player Victory Leave]]>><</link>> <<else>> <<link [[Leave|Estate Cards Player Victory Leave]]>><</link>> <</if>> <br><<effects>> "Is that so?" Wren says. The surprise on <<his>> face has faded, replaced by <<his>> usual, relaxed smile. <br><br> "Well, don't let us stop you," <<he>> says. "When you want to play again, you know where to find us." <br><br> <<if $estate.cards.confiscatedClothes and $estate.cards.confiscatedClothes.length gt 0>> You walk outside, leaving your confiscated clothing behind. <<else>> You walk outside. <</if>> <<if $exposed gte 2>> A breeze makes you shiver. <</if>> <<estate_cards_finish>> <br><br> <<link [[Next|Estate]]>><<endevent>><</link>><<effects>><<set $outside to 0>> Before <<he>> can say anything, you continue. <br><br> <<if $speech_attitude is "meek">> "For my last favour, c-could you give me my clothing back, please?" you say. <<elseif $speech_attitude is "bratty">> "There's one last favour I need from you - my clothing, give it back," you say. "I've already won, so it's only fair." <<else>> "I do have one last favour to request, so I'd like to use it to get my clothing back," you say. <</if>> <br><br> <<card_clothes_rebuy_calculate>> <!-- calculates $estate.cards.clothesRebuyTerms --> <<set _s1 to $estate.cards.confiscatedClothes.length gt 1 ? "This rag?" : "These rags?">> <<set _s2 to $estate.cards.confiscatedClothes.length gt 1 ? "pile of clothing" : "piece of clothing">> <<person1>> <<if $estate.cards.clothesRebuyTerms.price gt 0>> Wren lazily casts a glance at the _s2 lying next to one of <<his>> goons. <br><br> <<else>> "_s1" Wren says, inspecting the _s2 lying next to one of <<his>> goons. <br><br> <</if>> <<His>> face lights up, and you can see a devious glint form in <<his>> eyes. After a moment of deliberation, <<he>> looks back at you. <br><br> <<link [[Next|Estate Cards Rebuy Clothing 2]]>><</link>><<effects>><<set $outside to 0>> <<set _s1 to $estate.cards.confiscatedClothes.length gt 1 ? "souvenirs" : "souvenir">> <<if $estate.cards.clothesRebuyTerms.price gt 0>> <<set _s2 to $estate.cards.confiscatedClothes.length gt 1 ? "it all" : "it">> "Sure, I can give our _s1 back to you, for the low price of <<printmoney $estate.cards.clothesRebuyTerms.price>>," Wren says. "That's much less than it'd cost to rebuy _s2, so I'm being generous here." <br><br> "A great offer like that needs to be earned, though," Wren says. "I think my friends here deserve some fun." <br><br> "Satisfy them with your mouth," <<he>> continues. "And I'll cut you that sweet deal." <br><br> <<else>> "Sure, I can give our _s1 back to you," Wren says. "Tell you what, I don't even want your money for it." <br><br> "A gift like that needs to be earned, though," Wren says. "I think my friends here deserve some fun." <br><br> "Satisfy them with your mouth," <<he>> continues. "And you can have it back." <br><br> <</if>> <<cards_oral_options>><<effects>><<set $outside to 0>> <<blackjackEnd "loss">> <<blackjackStart "Blackjack Finish">> <<set $estate.cards.exposure to 3>> <<blackjackResultText false>> <<blackjackPostGameBettingResult false>> <<switch $estate.cards.desire>> <<case "over_upper">> <<set _cards_desire to "strip">> <<cards_strip_text>> <<if $worn.over_upper.set is $worn.over_lower.set>> <<if $worn.upper.type.includes("naked") and $worn.lower.type.includes("naked")>> <<if $worn.under_upper.type.includes("naked") and $worn.under_upper.type.includes("naked")>> <br><br> <<set $estate.cards.exposure to 5>> <span class="pink">They don't know you're naked beneath.</span> <<elseif $worn.under_upper.type.includes("naked") and ($player.sex is "f" or $player.gender_appearance is "f")>> <br><br> <<set $estate.cards.exposure to 4>> <span class="purple">They don't know you're topless beneath.</span> <<elseif $worn.under_lower.type.includes("naked")>> <br><br> <<set $estate.cards.exposure to 5>> <span class="pink">They don't know you're bottomless beneath.</span> <<else>> <</if>> <<elseif $worn.upper.type.includes("naked")>> <br><br> <<if $worn.under_upper.type.includes("naked") and ($player.sex is "f" or $player.gender_appearance is "f")>> <<set $estate.cards.exposure to 4>> <span class="purple">They don't know you're topless beneath.</span> <<else>> <<set $estate.cards.exposure to 3>> <span class="blue">They don't know you're only wearing underwear beneath.</span> <</if>> <<elseif $worn.lower.type.includes("naked")>> <br><br> <<if $worn.under_lower.type.includes("naked")>> <<set $estate.cards.exposure to 5>> <span class="pink">They don't know you're bottomless beneath.</span> <<else>> <<set $estate.cards.exposure to 3>> <span class="blue">They don't know you're wearing nothing else over your underwear.</span> <</if>> <<else>> <</if>> <<else>> <<if $worn.upper.type.includes("naked")>> <br><br> <<if $worn.under_upper.type.includes("naked") and ($player.sex is "f" or $player.gender_appearance is "f")>> <<set $estate.cards.exposure to 4>> <span class="purple">They don't know you're topless beneath.</span> <<elseif $player.sex is "f" or $player.gender_appearance is "f">> <<set $estate.cards.exposure to 3>> <span class="blue">They don't know you're only wearing underwear beneath.</span> <</if>> <<else>> <</if>> <</if>> <<case "over_lower">> <<set _cards_desire to "strip">> <<cards_strip_text>> <<if $worn.lower.type.includes("naked")>> <br><br> <<if $worn.under_lower.type.includes("naked")>> <<set $estate.cards.exposure to 5>> <span class="pink">They don't know you're bottomless beneath.</span> <<else>> <<set $estate.cards.exposure to 3>> <span class="blue">They don't know you're only wearing underwear beneath.</span> <</if>> <<else>> <</if>> <<case "upper">> <<set _cards_desire to "strip">> <<cards_strip_text>> <<if $worn.upper.set is $worn.lower.set>> <<if $worn.under_upper.type.includes("naked") and $worn.under_lower.type.includes("naked")>> <br><br> <<set $estate.cards.exposure to 5>> <span class="pink">They don't know you're naked beneath.</span> <<elseif $worn.under_upper.type.includes("naked") and ($player.sex is "f" and $player.gender_appearance is "f")>> <br><br> <<set $estate.cards.exposure to 4>> <span class="purple">They don't know you're topless beneath.</span> <<elseif $worn.under_lower.type.includes("naked")>> <br><br> <<set $estate.cards.exposure to 5>> <span class="pink">They don't know you're bottomless beneath.</span> <<else>> <</if>> <<else>> <<if $worn.under_upper.type.includes("naked") and ($player.gender_appearance is "f" or $player.sex is "f")>> <br><br> <<set $estate.cards.exposure to 4>> <span class="purple">They don't know you're topless beneath.</span> <<else>> <</if>> <</if>> <<case "lower">> <<set _cards_desire to "strip">> <<cards_strip_text>> <<if $worn.under_lower.type.includes("naked")>> <br><br> <<set $estate.cards.exposure to 5>> <span class="pink">They don't know you're wearing nothing beneath.</span> <<else>> <</if>> <<case "under_upper">> <<set _cards_desire to "strip">> <<cards_strip_text>> <<set $estate.cards.exposure to 5>> <br><br> <span class="pink">The others watch with bated breath.</span> <<case "under_lower">> <<set _cards_desire to "strip">> <<set $estate.cards.exposure to 5>> <<cards_strip_text>> <span class="pink">The others watch with bated breath.</span> <<case "legs">> <<set _cards_desire to "strip">> <<set $estate.cards.exposure to 0>> <<cards_strip_text>> <<case "hands">> <<set _cards_desire to "strip">> <<set $estate.cards.exposure to 0>> <<cards_strip_text>> <<case "feet">> <<set _cards_desire to "strip">> <<set $estate.cards.exposure to 0>> <<cards_strip_text>> <<case "twirl">> "Stand up and twirl. Without covering the good bits with your hands." <<set $estate.cards.exposure to 5>> <<case "bend">> "Turn around and present that bottom." <<set $estate.cards.exposure to 5>> <<case "chest_grope">> <<set _cards_desire to "ride">> <<if $player.breastsize gte 5>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren pinches your nipples, and tugs your <<breasts>>. "You're a good size," <<he>> says. "I'd bet you get stared at often." <<case 2>> Wren rests <<his>> fingertips on your <<breasts>>, and strokes them. "Are they sensitive?" <<he>> asks. "Can you cum from this teasing alone?" <<He>> flicks your nipple. <<default>> Wren grasps your <<breasts>> in <<his>> palms. "You should be proud of these milkers," <<he>> says, squeezing them and pinching your nipples between <<his>> fingers. "Don't let the boss see them. <<nnpc_He "Remy">> won't let you leave the estate." <</switch>> <<elseif $player.breastsize lte 1>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren rests <<his>> fingers on your <<nipples>>, and rubs. "Such cute buds," <<he>> says, giving them a flick. "I'd bet I can make you cum with this alone." <<case 2>> Wren grasps your chest, and rubs <<his>> thumbs over your <<nipples>>. "You like this, don't you," <<he>> says. "Are you losing on purpose?" <<default>> Wren grasps your <<nipples>> between thumb and forefinger, and gives them a little squeeze. "How long can you resist, I wonder?" <<he>> says. <</switch>> <<else>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren pinches your nipples, and tugs your <<breasts>>. "You're enjoying this," <<he>> says. "I can see it on your face." <<case 2>> Wren rests <<his>> fingertips on your <<breasts>>, and strokes them. "Are they sensitive?" <<he>> asks. "Can you cum from this teasing alone?" <<He>> flicks your nipple. <<default>> Wren pushes <<his>> palms against your <<breasts>>, and massages them. "Are you losing on purpose?" <<he>> asks. "I wouldn't complain." <</switch>> <</if>> <<case "bottom_grope">> <<set _cards_desire to "ride">> <<if $player.bottomsize gte 6>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren grasps your <<bottom>>, and squeezes. "You're blushing," <<he>> says. "Don't be embarrassed. An ass this big just has to be bullied." <<case 2>> Wren plants <<his>> hands on your <<bottom>>, and squeezes. "My hands aren't big enough," <<he>> says. "Not for this monster." <<default>> Wren spanks your <<bottom>>. "There's enough here for everyone," <<he>> laughs, squeezing. "Maybe my friends would like a turn when I'm done." <</switch>> <<elseif $player.bottomsize gte 3>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren grasps your <<bottom>>, and squeezes. "Bet you can cum from having your ass toyed with alone," <<he>> says as <<he>> massages your cheeks. "Such a slut." <<case 2>> Wren plants <<his>> hands on your <<bottom>>, and squeezes. "A good size," <<he>> says, giving you a small spank. "Not too soft either." <<default>> Wren spanks your <<bottom>>. "Do you like having your ass bullied like this?" <<he>> asks, spanking you again. "I bet you do." <</switch>> <<else>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren grasps your <<bottom>>, and squeezes. "You're blushing," <<he>> says. "Don't be embarrassed by your small ass. I think it's cute." <<case 2>> Wren plants <<his>> hands on your <<bottom>>, and squeezes. "Such a cute ass," <<he>> says. "Nice and firm." <<default>> Wren spanks your <<bottom>>. "Is bullying your ass like this enough to make you cum?" <<he>> asks, spanking you again. "I wonder." <</switch>> <</if>> <<case "pussy_grope">> <<set _cards_desire to "ride">> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren runs a finger over your <<pussy>>. "This is taking a lot of self-control, you know," Wren says as <<he>> fondles you. "Having such a cute <<girl>> <<if $estate.cards.position is "pc_lap" or $estate.cards.position is "penile">>beneath me<<else>>on my lap<</if>>. A lesser <<personsimple>> would have ravaged you already." <<case 2>> You feel Wren's eyes on your <<pussy>> as <<his>> finger teases your entrance. "I'll be inside you soon," <<he>> says as <<he>> strokes. "Just you wait." <<default>> Wren presses a finger against your <<clit>>. "You want to lose," Wren says as <<he>> strokes. "Don't deny it. You want to be bent over that table." <</switch>> <<case "penis_grope">> <<set _cards_desire to "ride">> <<if $player.penissize gte 4>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren strokes the head of your <<penis>>. "This is taking a lot of self-control, you know," Wren says as <<he>> fondles you. "Sitting on such a cute, well-endowed <<girl>>'s lap. A lesser <<personsimple>> would have ravaged you already." <<case 2>> Wren stares at your <<penis>>, a rapt expression on <<his>> face, as <<his>> fingers wrap around it. "Can't believe the size," <<he>> says. "Will it even fit?" <<default>> Wren holds your <<penis>> in <<his>> hand while rubbing <<his>> crotch against your length. "Not sure if such a monster will fit," Wren says. "But I have to try." <</switch>> <<elseif $player.penissize gte 3>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren strokes the head of your <<penis>>. "This is taking a lot of self-control, you know," Wren says as <<he>> fondles you. "Sitting on such a cute, well-endowed <<girl>>'s lap. A lesser <<personsimple>> would have ravaged you already." <<case 2>> Wren stares at your <<penis>> as <<his>> fingers wrap around it. "Nice and big," <<he>> says, stroking your length. "Just how I like it." <<default>> Wren holds your <<penis>> in <<his>> hand while rubbing <<his>> crotch against your length. "You're a big one," <<he>> says. "Might be hard to take you all the way." <</switch>> <<elseif $player.penissize gte 1>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren strokes the head of your <<penis>>. "This is taking a lot of self-control, you know," Wren says as <<he>> fondles you. "Sitting on such a cute <<girl>>'s lap. A lesser <<personsimple>> would have ravaged you already." <<case 2>> Wren stares at your <<penis>> as <<his>> fingers wrap around it. "You want to lose," <<he>> says, stroking your length. "You can't resist." <<default>> Wren holds your <<penis>> in <<his>> hand while rubbing <<his>> crotch against your length. "It'll be inside me soon," <<he>> says. "Just you wait." <</switch>> <<else>> <<set _rng to random(1, 3)>> <<switch _rng>> <<case 1>> Wren strokes the head of your <<penis>>. "This is taking a lot of self-control, you know," Wren says as <<he>> fondles you. "Sitting on such a cute <<girl>>'s lap. A lesser <<personsimple>> would have ravaged you already." <<case 2>> Wren stares at your <<penis>> as <<he>> takes it between thumb and forefinger. "It's so cute," <<he>> says, stroking your length. "You're about to spurt all over me, aren't you?" <<default>> Wren holds a finger against your <<penis>> while grinding <<his>> crotch against it. "You want to lose," <<he>> says with a smirk. "Don't deny it." <</switch>> <</if>> <<case "kiss">> <<set _cards_desire to "kiss">> <<if $pronoun is "m">> <<He>> wraps <<his>> arms around your waist, and pulls you closer. <<else>> <<He>> wraps <<his>> arms around your neck, and pulls you closer. <</if>> <<case "wren_lap">> "Get your ass over here." <br><br> <span class="pink"><<His>> friends watch, hoping to get a better look as you walk across the room.</span> <<case "pc_lap">> <<set _cards_desire to "still">> <<He>> rises from <<his>> seat, and walks around the table. <<case "penile">> <<set _cards_desire to "still">> <<He>> rises from <<his>> seat, and walks around the table. <<case "vaginal">> "Get your ass over here." <br><br> <span class="pink"><<His>> friends watch, hoping to get a better look as you walk across the room.</span> <<case "anal">> "Get your ass over here." <br><br> <span class="pink"><<His>> friends watch, hoping to get a better look as you walk across the room.</span> <</switch>> <<gdom>><<npcincr Wren dom 1>> <br><br> <<if _cards_desire is "strip">> <<link [[Strip reluctantly|Estate Cards Strip]]>><<set $phase to 0>><<stress 6>><<npcincr Wren love 1>><</link>><<glove>><<gstress>> <br> <<if $estate.cards.exposure is 5>> <<if hasSexStat("exhibitionism", 5)>> <<link [[Strip flauntingly|Estate Cards Strip]]>><<set $phase to 1>><<npcincr Wren love 1>><<set $estate.cards.degree to "exhibitionism5">><</link>><<exhibitionist5>><<glove>> <br> <</if>> <<elseif $estate.cards.exposure is 4>> <<if hasSexStat("exhibitionism", 4)>> <<link [[Strip flauntingly|Estate Cards Strip]]>><<set $phase to 1>><<npcincr Wren love 1>><<set $estate.cards.degree to "exhibitionism4">><</link>><<exhibitionist4>><<glove>> <br> <</if>> <<elseif $estate.cards.exposure is 3>> <<if hasSexStat("exhibitionism", 3)>> <<link [[Strip flauntingly|Estate Cards Strip]]>><<set $phase to 1>><<npcincr Wren love 1>><<set $estate.cards.degree to "exhibitionism3">><</link>><<exhibitionist3>><<glove>> <br> <</if>> <<else>> <</if>> <<elseif _cards_desire is "still">> <<link [[Stay still|Estate Cards Strip]]>><<set $phase to 0>><<stress 6>><<npcincr Wren love 1>><</link>><<gstress>><<glove>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Flirt|Estate Cards Strip]]>><<set $phase to 1>><<npcincr Wren love 1>><<set $estate.cards.degree to "promiscuity2">><</link>><<promiscuous2>> <br> <</if>> <<elseif _cards_desire is "ride">> <<link [[Endure|Estate Cards Strip]]>><</link>><<willpowerdifficulty 1 1000>><<cards_virginity_warning>> <br> <<elseif _cards_desire is "kiss">> <<link [[Endure|Estate Cards Strip]]>><<set $phase to 0>><</link>><<willpowerdifficulty 1 1000>><<note "Failure will increase arousal" "purple">><<cards_virginity_warning>> <br> <<link [[Kiss back|Estate Cards Strip]]>><<set $phase to 1>><<set $estate.cards.degree to "promiscuity1">><</link>><<promiscuous1>><<willpowerdifficulty 1 1000>><<skill_difficulty `currentSkillValue("oralskill")` "Oral Skill" 400 1000>><<ggarousal>><<cards_virginity_warning>> <br> <<else>> <<link [[Do as asked|Estate Cards Strip]]>><<set $phase to 0>><<stress 6>><<npcincr Wren love 1>><</link>><<gstress>><<glove>> <br> <<if hasSexStat("exhibitionism", 5)>> <<link [[Flaunt|Estate Cards Strip]]>><<set $phase to 1>><<npcincr Wren love 1>><<set $estate.cards.degree to "exhibitionism5">><</link>><<exhibitionist5>><<glove>> <br> <</if>> <</if>> <<if $estate.cards.state is "ride">> <<if $estate.cards.position is "pc_lap" or $estate.cards.position is "penile">> <span class="blue">Wren's weight holds you down, preventing flight.</span> <<else>> <span class="blue">You wouldn't be able to climb off Wren in time, if <<he>> even let you.</span> <</if>> <br> <<else>> <<link [[Run|Estate Cards Run]]>><<npcincr Wren love -5>><</link>><<athleticsdifficulty 1 600>><<lllove>> <br> <</if>><<effects>><<set $outside to 0>> <<switch $estate.cards.desire>> <<case "over_upper">> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> <<if $worn.over_upper.set is $worn.over_lower.set>> open your $worn.over_upper.name, <<if $worn.upper.type.includes("naked") and $worn.lower.type.includes("naked")>> <<if $worn.under_upper.type.includes("naked") and $worn.under_upper.type.includes("naked")>> <span class="pink">revealing your naked body.</span> This takes Wren and <<his>> friends by surprise. A <<person2>><<person>> spits out <<his>> drink.<<person1>> Someone whistles. <br><br> <<cards_naked_cover>> Wren just smiles, taking in the sight. <br><br> <<elseif $worn.under_upper.type.includes("naked") and ($player.sex is "f" or $player.gender_appearance is "f")>> <span class="purple">revealing your <<breasts>>.</span> Someone laughs. "You really are a naughty <<girl>>," Wren laughs. <br><br> <<cards_top_cover>> <<elseif $worn.under_lower.type.includes("naked")>> <span class="pink">revealing your <<genitals>> and <<bottom>>.</span> A <<person2>><<person>> spits out <<his>> drink. <<person1>>"So you're that sort of <<girl>>, aye?" Wren grins. "Thought so." <br><br> <<cards_bottom_cover>> <<else>> <span class="blue">Revealing your underwear.</span> The room cheers. <br><br> <<cards_underwear_cover>> <</if>> <<elseif $worn.upper.type.includes("naked") and !$worn.lower.type.includes("covered")>> pull off your $worn.over_upper.name, <<if $worn.under_upper.type.includes("naked") and ($player.sex is "f" or $player.gender_appearance is "f")>> <<set $estate.cards.exposure to 4>> <span class="purple">revealing your <<breasts>>.</span> "I knew it," a <<person2>><<person>> says. "The slut's half stripped already." <br><br> Wren just grins and leers. <br><br> <<cards_top_cover>> <<else>> <<set $estate.cards.exposure to 3>> <span class="blue">revealing your $worn.under_upper.name.</span> "I'll have that soon as well," Wren says, taking a sip of <<his>> drink. <br><br> <<cards_bra_cover>> <</if>> <<elseif $worn.lower.type.includes("naked")>> <<if $worn.under_lower.type.includes("naked")>> <<set $estate.cards.exposure to 5>> <span class="pink">revealing your <<genitals>> and <<bottom>>.</span> The room laughs in surprise. "Walking around like that," a <<person2>><<person>> laughs. "This slut is just begging for a raping." <br><br> <<person1>>Wren is too busy leering to speak. <br><br> <<cards_bottom_cover>> <<else>> <<set $estate.cards.exposure to 3>> <span class="blue">revealing your underwear.</span> The room laughs in surprise. "Don't lie," Wren says. "You wanted to strip." <br><br> <<cards_underwear_cover>> <</if>> <<else>> and put <<overupperit>> on the table. <</if>> A <<person6>><<person>> snatches your discarded clothes, and chucks <<overupperit>> to Wren.<<person1>> <<card_clothes_lost "over_upper">> <<card_clothes_lost "over_lower">> <<else>> remove your $worn.over_upper.name, <<if $worn.upper.type.includes("naked")>> <<if $worn.under_upper.type.includes("naked") and ($player.sex is "f" or $player.gender_appearance is "f")>> <<set $estate.cards.exposure to 4>> <span class="purple">revealing your <<breasts>>.</span> A cheer erupts as they see you're already topless. Wren leers at you. <br><br> <<cards_top_cover>> <<elseif $player.sex is "f" or $player.gender_appearance is "f">> <<set $estate.cards.exposure to 3>> <span class="blue">revealing your $worn.under_upper.name.</span> "Not wearing much," Wren says. "Are we? I won't complain." <br><br> <<cards_underwear_cover>> <</if>> <<else>> and put <<overupperit>> on the table. <</if>> A <<person6>><<person>> snatches your discarded clothes, and chucks <<overupperit>> to Wren.<<person1>> <<card_clothes_lost "over_upper">> <</if>> <<case "over_lower">> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> remove your $worn.over_lower.name, <<if $worn.lower.type.includes("naked")>> <<if $worn.under_lower.type.includes("naked")>> <<set $estate.cards.exposure to 5>> <span class="pink">exposing your <<genitals>> and <<bottom>>.</span> The room fills with a surprised cheer. "Fucking nice," a <<person3>><<person>> says. Wren reclines, leering with a relaxed expression. <br><br> <<cards_bottom_cover>> <<else>> <<set $estate.cards.exposure to 3>> <span class="blue">revealing your underwear.</span> The room fills with a cheer. "Hope it's not too cold out on the moor," Wren says, smirking. <br><br> <<cards_bottom_cover>> <</if>> <<else>> and put <<overlowerit>> on the table. <</if>> A <<person6>><<person>> snatches your discarded clothes, and chucks <<overlowerit>> to Wren.<<person1>> <<card_clothes_lost "over_lower">> <<case "upper">> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> <<if $worn.upper.set is $worn.lower.set>> pull off your $worn.upper.name, <<if $worn.under_upper.type.includes("naked") and $worn.under_lower.type.includes("naked")>> <<set $estate.cards.exposure to 5>> <span class="pink">revealing your naked body.</span> A <<person3>><<person>> spits out <<his>> drink. Someone whistles. Wren smirks. "No underwear?" <<person1>><<He>> smirks. "No complaints here." <br><br> <<cards_naked_cover>> <<elseif $worn.under_upper.type.includes("naked") and ($player.sex is "f" and $player.gender_appearance is "f")>> <<set $estate.cards.exposure to 4>> <span class="purple">revealing your <<breasts>>.</span> The room cheers. Wren leans forward for a closer look. "I knew you weren't a bra wearer," <<he>> says. <br><br> <<cards_top_cover>> <<elseif $worn.under_lower.type.includes("naked")>> <<set $estate.cards.exposure to 5>> <span class="pink">revealing your <<genitals>> and <<bottom>>.</span> A <<person3>><<person>> spills <<his>> drink in surprise as the others leers. "No underwear?" Wren asks. "You're playing it dangerous." <br><br> <<cards_bottom_cover>> <<else>> <span class="blue">revealing your underwear.</span> "Nice," Wren says, crossing <<his>> arms over <<his>> chest. "I'll have your underwear soon." <<His>> friends voice their approval. <br><br> <<cards_underwear_cover>> <</if>> A <<person5>><<person>> snatches your discarded <<dress>>, and chucks <<upperit>> to Wren.<<person1>> <<card_clothes_lost "upper">><<card_clothes_lost "lower">> <<else>> pull off your $worn.upper.name, <<if $worn.under_upper.type.includes("naked") and ($player.gender_appearance is "f" or $player.sex is "f")>> <<set $estate.cards.exposure to 4>> <span class="purple">revealing your <<breasts>>.</span> The room cheers. "No bra?" Wren muses. "Should have guessed." <br><br> <<cards_top_cover>> <<else>> and drop <<upperit>> on the table. <</if>> A <<person5>><<person>> snatches your discarded <<dress>>, and chucks <<upperit>> to Wren.<<person1>> <<card_clothes_lost "upper">> <</if>> <<case "lower">> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> pull down your $worn.lower.name, <<if $worn.under_lower.name is "naked">> <<set $estate.cards.exposure to 5>> <span class="pink">revealing your <<genitals>> and <<bottom>>.</span> "No <<if $player.gender_appearance is "f">>panties<<else>>underwear<</if>>!" Wren announces. <<His>> friends cheer, and lean for a better look. <br><br> <<cards_bottom_cover>> <<else>> and drop it on the table. <</if>> A <<person4>><<person>> snatches your discarded <<skirt>>, and chucks <<lowerit>> to Wren.<<person1>> <<card_clothes_lost "lower">> <<case "under_upper">> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> pull off your $worn.under_upper.name, <<set $estate.cards.exposure to 5>> <span class="pink">revealing your <<breasts>>.</span> <<card_clothes_lost "under_upper">> <<exposure>> <<if $player.gender_appearance is "f" or $player.breastsize gte 5>> <</if>> A <<person6>><<person>> snatches your discarded <<bra>>, and chucks <<underupperit>> to Wren.<<person1>> <<card_clothes_lost "under_upper">> <<case "under_lower">> Wren thumps the table in anticipation, and <<his>> friends join in. "Off! Off! Off!" <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> <<set $estate.cards.exposure to 5>> <span class="pink">slide your $worn.under_lower.name down your legs, revealing your <<genitals>> and <<bottom>>.</span> <br><br> The cheer shakes the room. You drop your remaining clothes on the table. A <<person3>><<person>> snatches <<underlowerit>>, and chucks <<underlowerit>> to Wren.<<person1>> <<card_clothes_lost "under_lower">> <<case "legs">> <<set $estate.cards.exposure to 0>> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> peel your $worn.legs.name down your legs while Wren and <<his>> friends watch. You place <<legsit>> on the table. A <<person4>><<person>> snatches <<legsit>>, and chucks <<legsit>> to Wren.<<person1>> <<card_clothes_lost "legs">> <<case "hands">> <<set $estate.cards.exposure to 0>> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> take off your $worn.hands.name, and place <<handsit>> on the table. A <<person3>><<person>> snatches <<handsit>>, and chucks <<handsit>> to Wren.<<person1>> <<card_clothes_lost "hands">> <<case "feet">> <<set $estate.cards.exposure to 0>> <<if $phase is 1>> <<flaunting>> you <<else>> You <</if>> take off your $worn.feet.name, and place <<feetit>> on the table. A <<person2>><<person>> snatches <<feetit>>, and chucks <<feetit>> to Wren.<<person1>> <<card_clothes_lost "feet">> <<case "twirl">> <<set $estate.cards.lust += 1>> <<if $phase is 1>> <<flaunting>> you push your chair from the table, and rise to your feet. <<if $hairlength gte 700>> You lift your hair above your head as you twirl on the spot, letting each onlooker see you from every angle. <<else>> You twirl on the spot, letting each onlooker see you from every angle. <</if>> <<else>> You push your chair from the table, and rise to your feet. You force your arms to your side, exposing your <<if $player.gender_appearance is "f">><<breasts>> and <</if>><<genitals>>. You spin on the spot, letting each onlooker see you from every angle. <</if>> <br><br> Wren and <<his>> friends watch, taking it all in. <<case "bend">> <<set $estate.cards.lust += 1>> <<if $phase is 1>> <<flaunting>> you turn and climb onto your chair. You stick your <<bottom>> out, and wiggle. You know they can see your <<genitals 1>> from this angle. <<else>> You turn and climb onto the chair. You feel self conscious as you stick out your <<bottom>>. You keep your thighs closed tight, but you suspect they can see your <<genitals 1>> from this angle. <</if>> The room gathers around Wren for a better look. <<case "chest_grope">> <<set $estate.cards.lust += 1>> <<set _wren_action to "arouse">> Wren's assault on your chest continues, your <<breasts>> at the mercy of <<his>> fingers. <<case "bottom_grope">> <<set $estate.cards.lust += 1>> <<set _wren_action to "arouse">> Wren's assault on your <<bottom>> continues. <<case "pussy_grope">> <<set $estate.cards.lust += 1>> <<set _wren_action to "arouse">> Wren's assault on your <<pussy>> continues. <<case "penis_grope">> <<set $estate.cards.lust += 1>> <<set _wren_action to "arouse">> Wren's assault on your <<penis>> continues. <<case "kiss">> <<set $estate.cards.lust += 1>> <<set _wren_action to "arouse">> <<if $phase is 1>> You lean forward, and <<oraltext>> push your tongue between Wren's lips. <<if currentSkillValue("oralskill") gte random(400, 1000)>> <<set $estate.cards.lust += 2>> <span class="green">You catch <<him>> by surprise,</span> disarming <<him>>. You feel <<him>> relax, and for a moment <<he>> seems content to let you lead. <<else>> <span class="red"><<He>> kisses back harder,</span> grasping your cheeks as <<he>> invades your mouth in return. <</if>> <<else>> Wren kisses you, sucking on your upper lip, then pushing <<his>> tongue into your mouth. <</if>> <<takeKissVirginity "Wren" "consensual">> <<case "pc_lap">> <<set $estate.cards.position to $estate.cards.desire>> <<set $estate.cards.state to "ride">> Wren rests an arm on your shoulder as <<he>> straddles your body, facing you. <<if $phase is 1>> You plant your hands on <<his>> ass, and pull <<him>> against your crotch. <</if>> "This way we can't see each other's cards." <br><br> "We'll keep playing," <<he>> continues. <span class="blue">"Until you cum.</span> How's that?" <<case "penile">> <<set $estate.cards.position to $estate.cards.desire>> <<set $estate.cards.state to "ride">> <<if $phase is 1>> <<if $speech_attitude is "meek">> "B-be gentle," you say. <<elseif $speech_attitude is "bratty">> "I haven't got all day," you say. "Get your ass over here." <<else>> "Always happy to let a cute <<nnpc_gendery "Wren">> do all the work," you say. <</if>> <</if>> Wren rests an arm on your shoulder as <<he>> straddles your body, facing you. "This way we can't see each other's cards." <br><br> <span class="purple"><<He>> rubs <<his>> crotch against your <<penis>>.</span> "Feel that?" <<cards_lap_clothes_intro>> <<He>> takes your length in <<his>> hand, <span class="pink">and presses it against <<his>> entrance.</span> <br><br> "Don't worry," <<he>> says. "I won't just take you. <span class="purple">I'm gonna make you cum first.</span> <span class="pink">Then your cock is mine.</span> I'll catch every drop of semen, and ride you until I'm satisfied." <<case "wren_lap">> <<set $estate.cards.position to $estate.cards.desire>> <<set $estate.cards.state to "ride">> <<if $phase is 1>> You rise from your seat, enduring the eager eyes of Wren and <<his>> friends. You walk around the table, wrap your arms around Wren's neck, and swing your leg over <<his>> lap, facing <<him>>. "Good thinking," <<he>> says. "This way we can't see each other's cards." <<else>> You rise from your seat, enduring the eager eyes of Wren and <<his>> friends. You walk around the table. Wren grasps your waist, and pulls you onto <<his>> lap, facing <<him>>. "This way we can't see each other's cards." <</if>> <br><br> "We'll keep playing," <<he>> continues. <span class="blue">"Until you cum.</span> How's that?" <<case "vaginal">> <<set $estate.cards.position to $estate.cards.desire>> <<set $estate.cards.state to "ride">> <<if $phase is 1>> You rise from your seat, enduring the eager eyes of Wren and <<his>> friends. You walk around the table, wrap your arms around Wren's neck, and swing your leg over <<his>> lap, facing <<him>>. "Good thinking," <<he>> says. "This way we can't see each other's cards." <<else>> You rise from your seat, enduring the eager eyes of Wren and <<his>> friends. You walk around the table. Wren grasps your waist, and pulls you onto <<his>> lap. "This way we can't see each other's cards." <</if>> <br><br> <span class="purple">You feel a firm length press against your <<pussy>>.</span> "Feel that?" <<cards_lap_clothes_intro>> <br><br> "Don't worry," <<he>> says. "I won't just take you. <span class="purple">I'm gonna make you cum first.</span> <span class="pink">Then your pussy's mine."</span> <<case "anal">> <<set $estate.cards.position to $estate.cards.desire>> <<set $estate.cards.state to "ride">> <<if $phase is 1>> You rise from your seat, enduring the eager eyes of Wren and <<his>> friends. You walk around the table, wrap your arms around Wren's neck, and swing your leg over <<his>> lap, facing <<him>>. "Good thinking," <<he>> says. "This way we can't see each other's cards." <<else>> You rise from your seat, enduring the eager eyes of Wren and <<his>> friends. You walk around the table. Wren grasps your waist, and pulls you onto <<his>> lap. "This way we can't see each other's cards." <</if>> <br><br> <span class="pink">You feel a firm length press against your <<bottom>>.</span> "Feel that?" <<cards_lap_clothes_intro>> <br><br> "Don't worry," <<he>> says. "I won't just take you. <span class="purple">I'm gonna make you cum first.</span> <span class="pink">Then your ass is mine."</span> <</switch>> <<if $phase is 1>> <<switch $estate.cards.degree>> <<case "exhibitionism3">> <<exhibitionism3>> <<case "exhibitionism4">> <<exhibitionism4>> <<case "exhibitionism5">> <<exhibitionism5>> <<case "promiscuity2">> <<promiscuity2>> <<default>> <<promiscuity1>> <</switch>> <<else>> <br><br> <</if>> <<if _wren_action is "arouse">> <<if $willpowerSuccess>> <span class="green">You manage to remain detached,</span> and avoid letting Wren arouse you further, for now. <<else>> You try to remain detached, <span class="red">but Wren is too skilled and persistent.</span><<ggarousal>><<gwillpower>><<willpower 3>> <<arousal 1500>> <</if>> <br><br> <<cards_arousal_check>> <</if>> <<blackjackPostGameThrowTips>> <<if _cards_orgasm is true and $estate.cards.lust gte 10>> <<switch $estate.cards.position>> <<case "penile">> Wren's own body shakes with arousal as <<he>> pushes <<his>> body above your <<penis>>. <span class="pink"><<He>> attempts to envelop your cock,</span> <span class="green">but fails,</span> instead sliding your length against <<his>> clit. <span class="green">The sensation proves too much.</span> <<He>> throws <<his>> arms around your neck and cries out as <<his>> body spasms in orgasm. <<case "vaginal">> Wren's own body shakes with arousal as <<he>> lines <<his>> <<print $NPCList[0].penisdesc>> against your <<pussy>>. <span class="pink"><<He>> tries to penetrate,</span> <span class="green">but fails,</span> instead sliding <<his>> length against your abdomen. <span class="green">The sensation proves too much.</span> <<He>> grasps your hips and thrusts as <<he>> ejaculates on your tummy. <<bodyliquid "tummy" "semen">> <<case "anal">> Wren's own body shakes with arousal as <<he>> lines <<his>> <<print $NPCList[0].penisdesc>> in front of your <<bottom>>. <span class="pink"><<He>> tries to penetrate,</span> <span class="green">but fails,</span> instead sliding <<his>> length between your cheeks <span class="green">The sensation proves too much.</span> <<He>> grasps your hips and thrusts as <<he>> ejaculates. <<bodyliquid "bottom" "semen">> <<case "pc_lap">> Wren throws <<his>> arms around your neck as <<his>> body spasms in orgasm. <<default>> Wren cries out and thrusts <<his>> hips as <<his>> body spasms in orgasm. <</switch>> <<earnFeat "Playing with Fire">> <br><br> <<link [[Next|Estate Cards Orgasm]]>><</link>> <br> <<elseif _cards_orgasm is true>> <<if $estate.cards.position isnot "wren_lap">> <<link [[Next|Estate Cards Sex]]>><</link>> <br> <<else>> <<link [[Next|Estate Cards Sex Safe]]>><</link>> <br> <</if>> <<elseif $estate.cards.lust gte 10>> Wren's body shakes with arousal. Despite <<his>> relentless teasing, you've out-endured <<him>>, <<his>> body unwilling to take any more. <<switch $estate.cards.position>> <<case "penile">> <<He>> throws <<his>> arms around your neck and cries out as <<his>> body spasms in orgasm. <<case "vaginal">> <<bodyliquid "tummy" "semen">> <<He>> grasps your hips and thrusts as <<he>> ejaculates on your tummy. <<case "anal">> <<bodyliquid "bottom" "semen">> <<He>> grasps your hips and thrusts as <<he>> ejaculates. <<case "pc_lap">> <<He>> cries out as <<his>> body spasms in orgasm. <<default>> <<He>> cries out and thrusts <<his>> hips as <<his>> body spasms in orgasm. <</switch>> <<earnFeat "Playing with Fire">> <br><br> <<link [[Next|Estate Cards Orgasm]]>><</link>> <br> <<else>> <<rng>> <<if $worn.over_lower.name isnot "naked">> <<if $rng gte 81>> "I know what I want next," Wren says. <<elseif $rng gte 61>> "You've more to lose, <<girl>>," Wren says. <<elseif $rng gte 41>> "How far do you think <<pshe>> will go?" Wren asks the room. <<elseif $rng gte 21>> "Not done yet," Wren says. <<else>> "We're just getting started," Wren says. <</if>> <<elseif $worn.upper.name isnot "naked">> <<if $rng gte 81>> "I'll have you naked soon," Wren says. <<elseif $rng gte 61>> "Anyone else wondering what <<pshe>> has going on under there?" Wren asks. <<elseif $rng gte 41>> <<if $player.gender_appearance is "m">> "I wonder if you're wearing anything under there," Wren says. <<else>> "Hope you're wearing a bra," Wren says. <</if>> <<elseif $rng gte 21>> "I love the anticipation," Wren says. <<else>> <<if $player.perceived_breastsize gte 7>> "Think <<pher>> breasts are as big as they look?" Wren laughs. <<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">> <<else>> "I bet you look good without a top on." Wren smirks. <</if>> <</if>> <<elseif $worn.lower.name isnot "naked">> <<if $rng gte 81>> "I know what I want next," Wren says. <<elseif $rng gte 61>> "How far do you think <<pshe>> will go?" Wren asks the room. <<elseif $rng gte 41>> <<if $player.gender_appearance is "m">> "Are you wearing boxers or briefs? I'm about to find out," Wren says. <<else>> "Are you wearing panties? I'm about to find out," Wren says. <</if>> <<elseif $rng gte 21>> "I wonder what sort of underwear <<pshe>> has on," Wren says. <<else>> "Feeling cold?" Wren asks. <</if>> <<elseif $worn.under_upper.name isnot "naked">> <<if $rng gte 81>> "Wanna keep going? You're getting a bit undressed there," Wren says. <<elseif $rng gte 61>> "You'll be left without a stitch at this rate," Wren says. <<elseif $rng gte 41>> "I think you know what I'll ask for next," Wren says. <<elseif $rng gte 21>> "Sure you want to continue?" Wren asks. <<else>> "I bet your journey home will be fun with so little clothing," Wren says. <</if>> <<elseif $worn.under_lower.name isnot "naked">> <<if $rng gte 81>> "You don't have much left to lose," Wren says. <<elseif $rng gte 61>> "No shame quitting while you have a little dignity," Wren says. <<elseif $rng gte 41>> "Just one thing between you and total nudity," Wren says. <<elseif $rng gte 21>> "Do you know what's coming next?" Wren asks. <<else>> "You'll be left without a stitch," Wren says. <</if>> <<else>> <<if $rng gte 91>> "There are more ways you can debase yourself," Wren says. <<elseif $rng gte 81>> "I'm not done yet if you're not." Wren smirks. <<elseif $rng gte 71>> "Wanna keep going? There's more you can give." Wren says. <<elseif $rng gte 61>> "What shall I have <<phim>> do next?" Wren says. <<elseif $rng gte 51>> "Not done yet," Wren says. <<elseif $rng gte 41>> "I know," Wren says. <<elseif $rng gte 31>> "Let me think," Wren says. <<elseif $rng gte 21>> Wren taps <<his>> chin. <<elseif $rng gte 11>> Wren taps the table in thought. <<else>> Wren leers at you. <</if>> <<set _cards_naked to true>> <</if>> <<estate_cards_bet>> <br><br> <<cards_play_options>> <</if>><<effects>><<set $outside to 0>> <!-- estate end 9 --> <<if $exposed gte 2>> You leave your seat. You feel Wren and <<his>> friends stare at your <<bottom>>. "Have a safe trip home," Wren says. <<His>> friends laugh. <br><br> <<card_pot_collected>> <<set $estate_cards_end to "naked">> <<cards_naked_end>> <<unset $passoutReason>> <<else>> You leave your seat. <<if $passoutReason is "hypothermia">> <<card_pot_collected>> Wren speaks up. "I meant what I said: we'll be needing those clothes back. If you don't want to play for them, well... that'll be <<printmoney 15000>>." <<He>> holds out <<his>> hand. <br><br> <<if $money gte 15000>> <<link [[Pay|Passout Estate Wren Pay]]>><<money -15000>><</link>> <<else>> <span class="blue">You can't afford it.</span> <</if>> <br> <<link[[Return clothes|Passout Estate Wren Return]]>><</link>> <<else>> Wren's friends murmur their disappointment. "We won't keep you," Wren says. "If you want favours, you know where to find me." <br><br> <<card_pot_collected>> <<link [[Next|Estate]]>><<unset $passoutReason>><<endevent>><</link>> <</if>> <<estate_cards_finish>> <<set $estate_cards_end to "left_early">> <br> <</if>><<effects>><<set $outside to 0>> <<pass 3>> Wren doesn't hesitate. <<if $estate.cards.position is "penile">> <<He>> pushes down on your shoulders, moving <<his>> pelvis above yours and resting <<his>> pussy against your <<penis>><<if $semen_amount gte 1>>, catching your seed.<<else>>.<</if>> Your spasms leave you helpless as <<he>> lets <<his>> weight push <<him>> down, <span class="pink">swallowing you to the base.</span> <<if $player.virginity.penile is true>> <span class="red">Your foreskin separates from your glans, forever robbing you of your purity.</span> <br><br> <<penileejacstat>> You feel <<his>> breath on your ear. "I felt that," <<he>> whispers, low enough that only you can hear. "Bold to put your virginity on the line. I think I like you."<<ggglove>><<npcincr Wren love 12>> <<else>> <<He>> gasps against your ear as you enter <<him>>. "I need this," <<he>> whispers. "Now be a good <<girl>> and hold still." <</if>> <<takeVirginity "Wren" "penile">><<takeNPCVirginity "Wren" "vaginal">> <br><br> <<bruise penis>><<penilestat>><<raped>><<penisraped>> <<if $semen_amount gte 1>> You twitch inside <<him>>, spurting cum into <<his>> womb as <<he>> fucks you. <<else>> You twitch inside <<him>> as <<he>> fucks you. <</if>> <<He>> speeds up as your spasms subside, <<his>> bottom slapping against your thighs each time <<he>> brings <<his>> body down. <<His>> friends are too busy enjoying the show for their usual banter. <<elseif $estate.cards.position is "vaginal">> <<He>> grasps your <<bottom>> and lifts you, pushing your <<pussy>> against the tip of <<his>> <<print $NPCList[0].penisdesc>>. <<He>> eases you down, your spasms leaving you helpless as <<he>> <span class="pink">pushes into you,</span> <<if $player.virginity.vaginal is true>> <<if $sexStats.vagina.pregnancy.totalBirthEvents gt 0>> <span class="red">despite your lack of a hymen, you feel something inside you change as your virginity and purity are taken.</span> <<else>> <span class="red"><<if $NPCList[0].penissize gte 4>>obliterating<<elseif $NPCList[0].penissize lte 1>>breaking<<else>>tearing<</if>> your hymen and forever robbing you of your purity.</span> <</if>> <br><br> You feel <<his>> breath on your ear. "I felt that," <<he>> whispers, low enough that only you can hear. "Bold to put your virginity on the line. I think I like you."<<ggglove>><<npcincr Wren love 12>> <<else>> filling you. <<He>> gasps against your ear as <<he>> enters. "I need this," <<he>> whispers. "Now be a good <<girl>> and hold still." <</if>> <<takeVirginity "Wren" "vaginal">><<takeNPCVirginity "Wren" "penile">> <br><br> <<bruise vagina>><<vaginalstat>><<raped>><<vaginaraped>> You twitch around <<his>> length as <<he>> fucks you, lifting you in time with <<his>> thrusts. <<He>> speeds up as your spasms subside. <<His>> friends are too busy enjoying the show for their usual banter. <<elseif $estate.cards.position is "anal">> <<He>> grasps your <<bottom>> and lifts you, pushing your <<bottom>> against the tip of <<his>> <<print $NPCList[0].penisdesc>>. <<He>> eases you down, your spasms leaving you helpless as <<he>> <span class="pink">pushes into you,</span> <<if $player.virginity.anal is true>> <<takeVirginity "Wren" "anal">> <span class="red">violating you in a way you hadn't conceived of.</span> <br><br> You feel <<his>> breath on your ear. "First time?" <<he>> whispers. "Don't worry. I'll be gentle."<<gglove>><<npcincr Wren love 12>> <<else>> filling you. <<He>> gasps against your ear as <<he>> enters. "I said your ass would be mine," <<he>> says. "Now hold still until I'm done." <</if>> <<takeNPCVirginity "Wren" "penile">> <br><br> <<bruise anus>><<analstat>><<raped>><<anusraped>> <<He>> fucks you, lifting you in time with <<his>> thrusts. <<He>> speeds up as your spasms subside. <<His>> friends are too busy enjoying the show for their usual banter. <<elseif $estate.cards.position is "pc_lap">> One leg hooks around your waist, the other weaves under yours. From cramped to constricted, you're left helpless as <<he>> <span class="pink">grinds against your crotch,</span> pressing your pussies together. <<Hes>> already wet. "I need this," <<he>> whispers. "Now be a good <<girl>> and hold still." <<purity -10>> <br><br> <<He>> fucks you, your body pinned tight beneath <<hers>>. You can hardly move in <<his>> embrace, only permitted a few fleeting spasms. <<His>> friends are too busy enjoying the show for their usual banter. <</if>> <br><br> <<link [[Next|Estate Cards Sex 2]]>><</link>> <br><<effects>><<set $outside to 0>> <<pass 3>> <<if $estate.cards.position is "penile">> Your arousal builds as Wren bounces on your <<penis>>. "Almost there," <<he>> says, <<his>> voice a higher pitch than normal. <br><br> <<penileejacstat>> <<orgasm>> <<recordVaginalSperm "Wren" "pc" "human">> <br> Your second orgasm pushes Wren over the edge. <span class="lewd"><<His>> body shakes in ecstasy,</span> but <<he>> throws a hand over <<his>> mouth to muffle <<his>> moans. <br><br> <<He>> leans against you, panting into your chest. <<He>> recovers fast, climbing from your body and rearranging <<his>> clothes. <<elseif $estate.cards.position is "vaginal">> Your arousal builds as Wren bounces you on <<his>> <<print $NPCList[0].penisdesc>>. "Almost there," <<he>> says. <br><br> <<vaginalejacstat>> <<orgasm>> <<recordVaginalSperm "pc" "Wren" "human">> <br> Your second orgasm pushes Wren over the edge. <span class="lewd"><<His>> body shakes in ecstasy as <<he>> pumps your <<pussy>> full of semen.</span><<bodyliquid "vagina" "semen">> <br><br> You slump against <<his>> chest as <<he>> gasps and wraps an arm around your waist. <<He>> recovers fast, and lifts you to your feet before rearranging <<his>> clothes. <<elseif $estate.cards.position is "anal">> Your arousal builds as Wren bounces you on <<his>> <<print $NPCList[0].penisdesc>>. "Almost there," <<he>> says. <br><br> <<analejacstat>> <<orgasm>> Your second orgasm pushes Wren over the edge. <span class="lewd"><<His>> body shakes in ecstasy as <<he>> pumps your <<bottom>> full of semen.</span><<bodyliquid "anus" "semen">> <<recordAnusSperm "pc" "Wren" "human">> <br><br> You slump against <<his>> chest as <<he>> gasps and wraps an arm around your waist. <<He>> recovers fast, and lifts you to your feet before rearranging <<his>> clothes. <<elseif $estate.cards.position is "pc_lap">> Your arousal builds as Wren grinds on your <<pussy>>. "Almost there," <<he>> says, <<his>> voice a higher pitch than normal. <br><br> <<vaginalentranceejacstat>> <<orgasm>> Your second orgasm pushes Wren over the edge. <span class="lewd"><<His>> body shakes in ecstasy as <<he>> pulls you close,</span> <<his>> moans muffled in your hair. <<if $NPCList[0].breastsize gte 6>> <<He>> holds your head between <<his>> <<print $NPCList[0].breastsdesc>>, smothering your own cries. <<else>> <<Hes>> drowned out by your own unconcealed cries. <</if>> <<bodyliquid "vaginaoutside" "goo">> <br><br> <<He>> leans against you, chest heaving against yours. <<He>> recovers fast, untwining <<himself>> and rearranging <<his>> clothes. <</if>> <br><br> <<fetishPregnancyImg>> <<link [[Next|Estate Cards Sex 3]]>><</link>> <br><<effects>><<set $outside to 0>> Wren smirks as <<he>> reclines. "You're a good lay," <<he>> says. "That's all I want from you today. Better luck next time." <br><br> <!-- estate end 2 --> <<card_pot_collected>> <<set $estate_cards_end to "sex">> <<cards_naked_end>><<effects>><<set $outside to 0>> <<if $estate.cards.position is "pc_lap">> Wren smirks as <<he>> climbs from your lap. "That's enough for you today," <<he>> says. "Better luck next time." <<else>> Wren smirks as <<he>> pushes you from <<his>> lap. "That's enough for today," <<he>> says. "Better luck next time." <</if>> <br><br> <!-- estate end 2 (no sex variation, but still considered the same)--> <<card_pot_collected>> <<set $estate_cards_end to "sex_safe">> <<cards_naked_end>><<effects>> <<if $exposed gte 2>> "Suit yourself," Wren says. "Good luck." <br><br> You walk outside. A breeze makes you shiver. <br><br> <<else>> <!-- means PC won, lost at least one piece of clothing, refused the clothes rebuy offer, and is at least somewhat clothed --> "Suit yourself," Wren says. "So long, then." <br><br> You walk outside, leaving your confiscated clothing behind. <br><br> <</if>> <<estate_cards_finish>> <<link [[Next|Estate]]>><<endevent>><</link>> <br><<effects>><<set $outside to 0>> <<set $consensual to 1>> <<if $speech_attitude is "meek">> "I-I'll do as you wish," you say, staring at your feet. <<elseif $speech_attitude is "bratty">> "Fine," you say. "But you better keep your end." <<else>> "I'll do as you wish," you say. <</if>> <<if hasSexStat("promiscuity", 4)>> <<promiscuity4>> <<else>> <br><br> <</if>> Wren's friends cheer. "Get under the table then," Wren says. "Don't keep 'em waiting." <br><br> You drop to your knees, and crawl beneath the table. They're already beginning another game of cards. <br><br> <<set $estate.cards.oral to 2>> <<link [[Next|Estate Cards Oral 2]]>><</link>> <br><<effects>><<set $outside to 0>> <<if $estate.cards.oral gt 7>> <<set $estate.cards.oral to 7>> <</if>> <<switch $estate.cards.oral>> <<case 2>> <<person2>> <<case 3>> <<person3>> <<case 4>> <<person4>> <<case 5>> <<person5>> <<default>> <<person6>> <</switch>> <<if $estate.cards.oral lt 7>> <<if $estate.cards.oral is 2>> You crawl to the first goon, a <<person>>. <<elseif $estate.cards.oral is 6>> You crawl to the last goon, a <<person>>. <<else>> You crawl to the next goon, a <<person>>. <</if>> <<rng>> <<if $rng gte 86 - ($estate.cards.rim || 0) * 10 and $analingusdisablegiving is "f">> <<He>> puts a foot up on <<his>> chair, <<npcUndressText $NPCList[$estate.cards.oral-1] "lower" "self">>, and reclines directing you to <<his>> asshole. <br><br> Wren said you had to use your mouth. <br><br> <<link [[Lick|Estate Cards Oral Anus]]>><<if $promiscuity lt 55>><<trauma 6>><<stress 6>><</if>><<arousal 600 "mouth">><</link>><<skill_difficulty `currentSkillValue("oralskill")` "Oral Skill" 1 1000>> <<if $promiscuity lt 55>> <<gtrauma>><<gstress>> <</if>> <<garousal>> <br> <<else>> <<if $pronoun is "f">> You lift <<his>> skirt, <<else>> You unzip <<his>> fly, <</if>> <<if $NPCList[($estate.cards.oral - 1)].penis isnot "none" and !npcHasStrapon($estate.cards.oral - 1)>> letting out <<his>> <<print $NPCList[($estate.cards.oral - 1)].penisdesc>>. <br><br> Wren said you had to use your mouth. <br><br> <<link [[Lick|Estate Cards Oral Penis]]>><<if $promiscuity lt 55>><<trauma 6>><<stress 6>><</if>><<arousal 600 "mouth">><</link>><<skill_difficulty `currentSkillValue("oralskill")` "Oral Skill" 1 1000>> <<if $promiscuity lt 55>> <<gtrauma>><<gstress>> <</if>> <<garousal>> <br> <<if $ejactrait gte 1>> <<if $exposed gte 2>> <<link [[Put on a show|Estate Cards Oral Penis Cumslut]]>><</link>><<ejacTrait>> <<arousal 600>><<garousal>> <<else>> <!-- means PC won, lost at least one piece of clothing, refused the clothes rebuy offer, and is at least somewhat clothed --> /* <span class="blue">You consider putting on a show, but you're too clothed for that.</span> */ <!-- "Why is that a problem?" you ask. "Because I'd have to add clothed variations for it, and I'm not promiscuous enough," said someone who is definitely not a cop. --> /* <br><br> */ <</if>> <</if>> <<else>> revealing <<his>> pussy. <br><br> Wren said you had to use your mouth. <br><br> <<link [[Lick|Estate Cards Oral Vagina]]>><<if $promiscuity lt 55>><<trauma 6>><<stress 6>><</if>><<arousal 600 "mouth">><</link>><<skill_difficulty `currentSkillValue("oralskill")` "Oral Skill" 1 1000>> <<if $promiscuity lt 55>> <<gtrauma>><<gstress>> <</if>> <<garousal>> <br> <</if>> <</if>> <<else>> <<earnFeat "Trading Dignity">> <<person1>> That's all of them. You climb out from under the table. <br><br> <<if $estate.cards.clothesRebuyTerms>> <<set _price to $estate.cards.clothesRebuyTerms.price>> <<if _price gt 0>> "Deal's a deal. Money first," Wren says, extending <<his>> hand. <br><br> If they wanted to rob you, they would've done so already. You hand Wren the <<printmoney `_price`>>. <br><br> <<money `-_price` "blackjack">> Wren tosses your clothing to you, with a satisfied smirk. <br><br> <<else>> "Deal's a deal," Wren says with a satisfied smirk. <br><br> <<He>> nods at one of <<his>> goons, who tosses your clothing to you. <br><br> <</if>> <<clotheson>> <<set $estate_cards_end to "pc_won_and_oral">> <!-- making sure to reset this, so that <<estate_cards_finish>> doesn't ruin the clothes --> <<set $estate.cards.confiscatedClothes to []>> "So long then," Wren says as you leave the cottage. <br><br> <<estate_cards_finish>> <<link [[Next|Estate]]>><<endevent>><</link>> <br> <<else>> "Deal's a deal," Wren says, chucking you the towel. It's small. Nowhere near enough to cover your whole body. <br><br> <<if $estate_cards_end isnot "sex">> <<set $estate_cards_end to "oral">> <</if>> <<link [[Wrap it around your chest|Estate Cards Towel]]>><<set $phase to 0>><</link>> <br> <<link [[Wrap it around your waist|Estate Cards Towel]]>><<set $phase to 1>><</link>> <br> <<if $estate.cards.wren_under_bottoms is 0>> <<link [[Wrap it around Wren's waist|Estate Cards Towel]]>><<set $phase to 2>><</link>><<glove>><<npcincr Wren love 1>> <br> <</if>> <</if>> <</if>><<effects>> <!-- calling this before the wear widget to make sure the newly put on towel doesn't get ruined --> <<estate_cards_finish>> <<if $phase is 0>> <<upperwear 3>> You turn your back to the table, and tie the sparse thing around your chest. It feels like a gust of wind will tear it off your body, but it's better than nothing. <<elseif $phase is 2>> You walk up to Wren and wrap the towel round <<his>> waist. <<He>> looks surprised. "Well," <<he>> says. "Aren't you a sweetheart?" <<else>> <<lowerwear 3>> You turn your back to the table, and tie the sparse thing around your waist. You're not sure you're properly covered, but it's better than nothing. <</if>> <br><br> "Good luck," Wren laughs as you leave the cottage. <br><br> <<link [[Next|Estate]]>><<endevent>><</link>> <br><<effects>><<set $outside to 0>> You stroke the tip of the <<print $NPCList[($estate.cards.oral - 1)].penisdesc>> with your tongue, feeling the blood pulse into it. You <<oraltext>> lick up and down the shaft, then circle around the glans. <<if currentSkillValue("oralskill") gte random(1, 1000)>> <span class="green">The <<person>> twitches,</span> and cum spurts. <<if currentSkillValue('danceskill') gte random(1, 1000)>> <span class="green">You manage to react in time,</span> letting the semen splatter against the floor and underside of the table. <<else>> It splatters on your face.<<bodyliquid "face" "semen">><<oralejacstat>> <</if>> <br><br> <<set $estate.cards.oral += 1>> <<link [[Next|Estate Cards Oral 2]]>><</link>> <br> <<else>> <<if $estate.cards.clothesRebuyTerms>> <span class="red">The <<person>> grasps the back of your hair,</span> <span class="pink">and pushes <<his>> phallus against your mouth.</span> <<He>> won't accept anything else, and Wren won't sell you your clothing back if you refuse. <br><br> <<else>> <span class="red">The <<person>> grasps the back of your hair,</span> <span class="pink">and pushes <<his>> phallus against your mouth.</span> <<He>> won't accept anything else, and Wren won't give up the towel if you refuse. <br><br> <</if>> <<oralskill 5>> <span class="gold">You feel more confident in your ability to give pleasure with your mouth.</span> <br><br> <<link [[Suck|Estate Cards Oral Penis 2]]>><<arousal 600 "mouth">><</link>><<garousal>><<oralvirginitywarning>> <br> <<link [[Pull away|Estate Cards Oral End]]>><</link>> <br> <</if>><<effects>><<set $outside to 0>> You flick the <<persons>> pussy with your tongue, then <<oraltext>> run the tip up and down <<his>> slit, before circling <<his>> clit. <<if currentSkillValue("oralskill") gte random(1, 1000)>> <span class="green"><<He>> twitches</span> and grasps your head between <<his>> thighs as you push <<him>> over the edge. You hear Wren laugh. <br><br> <<set $estate.cards.oral += 1>> <<link [[Next|Estate Cards Oral 2]]>><</link>> <br> <<else>> <<if $estate.cards.clothesRebuyTerms>> <span class="red">The <<person>> grasps the back of your hair,</span> <span class="pink">and pushes your head against <<his>> groin.</span> <<He>> won't accept anything else, and Wren won't sell you your clothing back if you refuse. <br><br> <<else>> <span class="red">The <<person>> grasps the back of your hair,</span> <span class="pink">and pushes your head against <<his>> groin.</span> <<He>> won't accept anything else, and Wren won't give up the towel if you refuse. <br><br> <</if>> <<link [[Lick|Estate Cards Oral Vagina 2]]>><<arousal 600 "mouth">><</link>><<garousal>> <br> <<link [[Pull away|Estate Cards Oral End]]>><</link>> <br> <</if>><<effects>><<set $outside to 0>> Your lips part as the <<person>> pushes your face against <<his>> <<print $NPCList[($estate.cards.oral - 1)].penisdesc>>. With a final shove, <<he>> pushes it into your mouth. <<if $player.virginity.oral is true>> <<takeVirginity $NPCList[($estate.cards.oral - 1)].fullDescription "oral">> <span class="red">It tastes strange.</span> <</if>> <<bruise face>><<oralstat>><<violence 1>><<raped>> <br><br> <<if $rng gte 91>> Not content to let you suck, <<he>> grasps your hair with both hands, <span class="pink">and forces <<his>> cock deeper into your mouth.</span><<lcontrol>><<control -10>> <br><br> <<He>> holds you there as <<he>> twitches, <span class="lewd">spurting cum down your throat.</span> <<He>> releases you, and you gasp for breath. <br><br> <<else>> <<He>> keeps a grip on your hair, but lets you suck until <<he>> twitches and spurts cum into your mouth. <<He>> holds your head firm, forcing you to swallow it. <</if>> <br><br> <<oralejacstat>><<bodyliquid "face" "semen">> <<set $estate.cards.oral += 1>> <<link [[Next|Estate Cards Oral 2]]>><</link>> <br><<effects>><<set $outside to 0>> <<set _penisdesc to $NPCList[($estate.cards.oral - 1)].penisdesc>> <<if $NPCList[($estate.cards.oral - 1)].penissize lte 1>> You <<oraltext>> suck on the <<persons>> _penisdesc. <<if $speech_attitude is "bratty">> After a couple of minutes, the goon twitches and ejaculates a string of semen that you swirl and swallow before moving on. <<else>> You do your best to satisfy <<him>>, though the size makes it difficult to keep in your mouth. <br><br> After a couple of minutes, <<he>> groans and cums on your tongue. <<cumswallow `$NPCList[$estate.cards.oral - 1].type` null `npcSemenMod($NPCList[$estate.cards.oral - 1].penissize)`>> "Thank you," you say before moving on. <</if>> <<oralstat>> <<ejacstat>> <<oralejacstat>> <<else>> <<switch $estate.cards.oral>> <<case 2>> You engulf the _penisdesc with your mouth, <<oraltext>> deepthroating as it hardens. <br><br> The <<person>> grasps the back of your head <span class="red">forcing <<his>> _penisdesc down your throat.</span> <span class="pink">Tears run down your face</span>. <span class="pink">Your body spasms involuntarily,</span> shaking the table and the cards on it, much to the amusement of the room. <br><br> The _penisdesc begins to throb. "Swallow it all," <<he>> says. "Every drop." <<His>> grip tightens, <span class="lewd">and a warm, thick stream of semen fills your throat.</span> <br><br> <<cumswallow "human" 50>> "Good <<girl>>," <<he>> says, patting your head. <<He>> releases <<his>> grasp. <br><br> <<if $speech_attitude is "bratty">> Despite the tears, you feel proud about the accomplishment. <<else>> "Th-thank you <<sir>>," you say once your mouth is free of cum. <</if>> <<arousal 600>><<garousal>><<lstress>><<stress -5>> <<oralstat>> <<ejacstat>> <<oralejacstat>> <<set $hygiene += 500>> <<case 3>> The second goon, a <<person>>, is ready and erect, waiting for you as soon as you turn to face <<him>>. You <<oraltext>> work the _penisdesc with your mouth while they begin a game of cards. <br><br> <<He>> starts twitching, and you pull the cock from your mouth, letting the <span class="lewd">massive spurt of cum unload over your forehead</span> while you milk it with your hand. <br><br> "Come up here," <<he>> orders. "I want to see this." You emerge from under the table as <span class="lewd">two thick streams of semen slowly come running down each side of your nose.</span> "I think this slut's enjoying it." <br><br> "Here, look here." One of the goons points a phone at you. "Smile a little, come on. People ought to know what a cumslut you are." <br><br> <<if $speech_attitude is "bratty">> Your eyes water, and you refuse to smile, but as the streams of cum reach the sides of your mouth, you can't resist the urge to <span class="lewd">provocatively push your tongue out and lick some of the fluid around your lips.</span> "I knew it! You can't help yourself." <<else>> <span class="lewd">You make a big smile for the camera.</span> "Ah, perfect," says one of the goons as the others reach for their phones. <</if>> <br><br> You pose more, <span class="green">toying with the cum and letting them capture videos of you swallowing.</span> "Man, this is fucking hot. I'm sharing this with everyone." <br><br> Satisfied, the goons instruct you back under the table. Others are waiting their turn. <<famesex 2>> <<oralstat>> <<ejacstat>> <<faceejacstat>> <<oralejacstat>> <<bodyliquid "face" "semen">> <<semenswallowedstat 10>> <<set $hygiene += 500>> <<arousal 600>><<garousal>><<lstress>><<stress -5>> <<case 4>> You start sucking a <<persons>> _penisdesc. <<He>> watches you from above. "What nice <<haircolourtext>> hair you've got. But I can make it nicer." <br><br> <<He>> shoves you away, and <span class="lewd">aims <<his>> cock at your scalp as <<he>> ejaculates.</span> "Something to wash your hair with." <br><br> <<He>> looks delighted as <span class="lewd">you spread <<his>> load all over your hair</span>. <<oralstat>> <<hairejacstat>> <<ejacstat>> <<bodyliquid "hair" "semen">> <<set $hygiene += 500>> <<arousal 600>><<garousal>><<lstress>><<stress -5>> <<case 5>> The <<persons>> _penisdesc is already hard when you turn to it. "Aah, aah..." <<He>> twitches and, without further warning, <span class="lewd">ejaculates over your body.</span> <<He>> looks at you kneeling between <<his>> thighs, panting. <br><br> <<if $speech_attitude is "bratty">> "You're a quick shot," you exclaim while restraining a laugh. The other goons show less restraint, and openly mock the <<person>>. <<His>> face reddens. "F-fucking <<bitch>>," <<he>> says. "I'd slap that smug look off your face if it wasn't covered in jizz." <<else>> "I'm sorry <<sir>>," you whisper. "I might have been too eager." <span class="lewd">You pretend to suck on <<his>> limp dick while rubbing the semen over your neck and <<breasts>>.</span> <</if>> <<neckejacstat>> <<chestejacstat>> <<ejacstat>> <<bodyliquid "neck" "semen">> <<bodyliquid "chest" "semen">> <<set $hygiene += 500>> <<arousal 600>><<garousal>><<lstress>><<stress -5>> <<case 6>> You suck the <<persons>> _penisdesc. It's the last one. <<He>> soon twitches, the <span class="lewd">hard cock pulsating in your mouth.</span> <br><br> "I've been waiting for this," <<he>> says, holding your head firm with both hands. <<He>> starts thrusting. <br><br> The first spurt is so voluminous that it <span class="lewd">makes you cough and splutter, and comes bursting out of your nose.</span> It comes too quick, and too thick, to swallow it all in time. With every thrust, more cum surges into your mouth, spilling out the sides of your lips. <<cumswallow "human" 80>> <br><br> "Fuck," the <<person>> says. <<He>> shoves you away. "Look at this fucking slut." The other goons interrupt their game of cards. Everyone stares at you, the kneeling, naked, cum-covered mess trying to catch <<pher>> breath. <br><br> White strings still dangle from your chin. With all eyes on you, <span class="green">you smile and take a bow.</span> The room erupts in cheer. <br><br> "Hey," Wren says. "You're not going anywhere until you clean this up. We're not touching this." <<person1>><<He>> points at the floor in front of you, splattered with pooling semen. <br><br> <<if $speech_attitude is "bratty">> Still kneeling, you scoop up the semen and <span class="lewd">rub it over your chest.</span> <<if random(0,1) is 1>><<bodyliquid "rightarm" "semen">><<else>><<bodyliquid "leftarm" "semen">><</if>> <<bodyliquid "chest" "semen">> <<else>> You get on your hands and knees, <span class="lewd">and lick the floor clean of semen.</span> "Hey <<girl>>," says the <<person6>><<person>>. "You got some on my shoes." You lick them next. You swallow the last of it. <<semenswallowedstat 100>> <<bodyliquid "mouth" "semen" 2>> <</if>> <<chestejacstat>> <<tummyejacstat>> <<oralstat>> <<ejacstat>> <<bodyliquid "face" "semen">> <<bodyliquid "chest" "semen">> <<bodyliquid "tummy" "semen">> <<set $hygiene += 1000>> <<arousal 600>><<garousal>><<lstress>><<stress -5>> <</switch>> <br><br> <</if>> <br><br> <<set $estate.cards.oral += 1>> <<if $arousal gte $arousalmax>> <<link [[Next|Estate Cards Oral Cumslut Orgasm]]>><</link>> <<else>> <<link [[Next|Estate Cards Oral 2]]>><</link>> <</if>> <br><<effects>><<set $outside to 0>> The building arousal overwhelms you. Your muscles spasm as a <span class="lewd">massive orgasm builds.</span> <br><br> The <<person6>><<person>> notices. "This slut's really gonna cum from being jizzed on," <<he>> says. <br><br> <<if $speech_attitude is "bratty">> "F-fuck," you say. "Fuck you." <<else>> "I-I'm sorry," you say. "I'm so sorry." <</if>> You spread your knees wide, trying to keep your balance. The goons cheer again. <span class="red">A swarm of smartphones surrounds you.</span> <br><br> They record as you shake and moan uncontrollably, cumming beneath their blackjack table. <br><br> <<orgasm>> <<famesex 4>> <br><br> <<link [[Next|Estate Cards Oral 2]]>><</link>><<effects>><<set $outside to 0>> You fuck the <<person>> with your tongue, until you feel <<his>> pussy shudder in orgasm. <<He>> releases your hair. <br><br> <<set $estate.cards.oral += 1>> <<link [[Next|Estate Cards Oral 2]]>><</link>> <br><<effects>><<set $outside to 0>> You <<oraltext>> lap at <<his>> asshole. <<if currentSkillValue("oralskill") gte random(1, 1000)>> <<He>> moans and grinds back against your tongue. You keep licking until <<if $NPCList[($estate.cards.oral - 1)].penis isnot "none" and !npcHasStrapon($estate.cards.oral - 1)>> <span class="green"><<he>> ejaculates onto the floor.</span> <<else>> <span class="green"><<he>> shudders with a sigh.</span> Lewd fluid drips onto the floor. <</if>> <<set $estate.cards.rim = $estate.cards.rim || 0 + 1>> <<else>> <<rng>> <<if $rng gte 91 and $facesitdisable is "f">> Unimpressed with your skills, <<he>> grasps the back of your head <span class="pink">and smothers your face with <<his>> ass.</span><<arousal 600 "mouth">><<garousal>><<control -10>><<lcontrol>> <br><br> <<He>> holds you in place as <<he>> twitches, <<if $NPCList[($estate.cards.oral - 1)].penis isnot "none" and !npcHasStrapon($estate.cards.oral - 1)>> ejaculating onto the floor. <<else>> squirting onto the floor. <</if>> <<He>> releases you, and you gasp for air. <<else>> <<He>> grips the back of your head, but allows you to rim <<him>> until <<he>> twitches, <<if $NPCList[($estate.cards.oral - 1)].penis isnot "none" and !npcHasStrapon($estate.cards.oral - 1)>> ejaculating onto the floor. <<else>> squirting onto the floor. <</if>> <</if>> <</if>> <br><br> <<set $estate.cards.oral += 1>> <<link [[Next|Estate Cards Oral 2]]>><</link>> <br><<effects>> You break free of the <<persons>> grasp, and crawl from the table. <<person1>>"Suit yourself," Wren says. <<if $exposed gte 2>>"Good luck."<<else>>"So long, then."<</if>> <br><br> You walk outside. <<if $exposed gte 2>>A breeze makes you shiver.<</if>> <br><br> <<estate_cards_finish>> <<link [[Next|Estate]]>><<endevent>><</link>> <br><br><<effects>><<set $outside to 0>> <<if $estate.cards.position is "wren_lap" or $estate.cards.position is "vaginal" or $estate.cards.position is "anal">> <<He>> keeps <<his>> hands firm on your hips as <<he>> reclines in the chair, still panting. <<He>> releases <<his>> grasp. "Not bad," <<he>> admits, pushing you off <<his>> lap. "The game's over. I hope you got what you came for." <<else>> <<He>> keeps <<his>> arms locked around your chest as <<he>> pants against you. <<He>> pulls away, looking tired. "Not bad," <<he>> admits, swinging <<his>> leg off you. "The game's over. I hope you got what you came for." <</if>> <br><br> <!-- estate end 1 --> <<card_pot_collected>> <<set $estate_cards_end to "wren_finished_early">> <<cards_naked_end>><<effects>><<set $outside to 0>><<person1>><<set $wrenSeen.pushUnique("letter")>><<set $wrenSeenLast to "letter">><<wearProp "envelope" 0 "manila">> <<if $wren_intro is undefined>> <<set $wren_intro to true>> <<if $speech_attitude is "meek">> "A-Are you Wren?" you ask. "I'm supposed to give something to Wren." <<elseif $speech_attitude is "bratty">> "Got a delivery for Wren," you say. "Don't suppose you're <<him>>?" <<else>> "I'm supposed to give something to Wren," you say. "Are you <<him>>?" <</if>> <br><br> "<span class="gold">Yep, that's me,</span>" the <<personsimple>> says. "Who sent you? Santa Claus?" <br><br> <</if>> You take out the manila envelope Mickey gave you and hold it out to Wren. <<if $speech_attitude is "meek">> "This is from the old man." <<elseif $speech_attitude is "bratty">> "The old man sent me. Here." <<else>> "The old man told me to give this to you." <</if>> <br><br> Wren takes it, examines it from both sides and smirks. <<He>> tosses it onto a nearby desk. "Been waiting on that. Wonder what he's got for me this time." <br><br> <<if !$pubfame.seen.includes("wrenOldman")>> <<set $pubfame.seen.pushUnique("wrenOldman")>><<set $pubfame.detail to "wrenOldman">> You start to return your arm, but Wren grabs it before you can. In one smooth motion, <<he>> pulls you toward <<him>>, leans back in <<his>> chair and pulls you under the table. <<He>> leans in until you're face to face. <<His>> friends whoop and cheer. <<stress 6>><<gstress>> <br><br> "You can tell the 'old man' to drop the act," Wren whispers. "I'm sure 'Mickey' put a lot of thought into the name, but there's no need." <<He>> glances up above the table. "They think we're snogging, but they can't hear us over their own racket. Lucky us." <<elseif !$pubfame.seen.includes("wrenLandry")>> <<set $pubfame.seen.pushUnique("wrenLandry")>><<set $pubfame.detail to "wrenLandry">> You start to return your arm, but Wren grabs it before you can. In one smooth, familiar motion, <<he>> pulls you toward <<him>>, leans back in <<his>> chair and pulls you under the table. <<He>> leans in until you're face to face. <<His>> friends whoop and cheer. <br><br> "You mind asking 'Mickey' why they sent you instead of Landry?" Wren whispers. "Seems like they're going a bit out of their way." <<elseif $pubfame.seen.includes("wrenKiss")>> You hold your hand out for Wren, and <<he>> takes it and winks. <<takeHandholdingVirginity "Wren" "romantic">> In one smooth, familiar motion, <<he>> pulls you toward <<him>>, leans back in <<his>> chair and pulls you under the table. <<He>> leans in until you're face to face. <<His>> friends whoop and cheer. "<<pShes>> down bad for <<him>>," the <<person2>><<person>> laughs. <br><br> "So?" you ask. "Do you have any more of Mickey's secrets to dig up?" <br><br> "Maybe I do," <<person1>><<he>> says with a grin. "Maybe I just wanted to kiss you. The mood could've struck me." <<else>> You start to return your arm, but Wren grabs it before you can. In one smooth, familiar motion, <<he>> pulls you toward <<him>>, leans back in <<his>> chair and pulls you under the table. <<He>> leans in until you're face to face. <<His>> friends whoop and cheer. <br><br> "So?" you ask. "Do you have any more of Mickey's secrets to dig up?" <br><br> "Maybe I do," <<he>> says with a grin. "Maybe I just wanted to dip you. The mood could've struck me." <</if>> <br><br> <<link [[Kiss|Estate Fame Letter 2]]>><<handheldon>><<set $phase to 0>><<arousal 1000 "mouth">><<npcincr Wren love 3>><</link>><<promiscuous1>><<ggarousal>><<glove>><<kissvirginitywarning>> <br> <<link [[Pull away|Estate Fame Letter 2]]>><<handheldon>><<set $phase to 1>><</link>><<effects>><<set $outside to 0>> <<if $phase is 0>> You lean up slightly and press your lips against Wren's. <<takeKissVirginity "Wren" "romantic">> <<if !$pubfame.seen.includes("wrenKiss")>> <<set $pubfame.seen.pushUnique("wrenKiss")>> <<Hes>> caught off guard for a second, but then <<he>> smiles and kisses back. <<He>> sucks on your upper lip for a moment, before pushing <<his>> tongue into your mouth. <<promiscuity1>> Eventually <<he>> pulls away and grins at you. "You saw an opportunity and took it, huh? You're fun. I think I like you." <<glove>> <<else>> <<He>> smiles against your mouth and pushes <<his>> tongue between your lips, twirling around your own tongue playfully. One of <<his>> hands cups the back of your head, holding you in place. <<He>> uses this leverage to thoroughly assail your mouth. <<promiscuity1>> Eventually <<he>> pulls away and grins at you. "You've gotta come by more often. You're fun." <<glove>> <</if>> <br><br> Wren releases you, and you stand back up<<if $arousal gte 6000>> on wobbly legs<</if>>. "You had <<phim>> under there for quite a while," the <<person3>><<person>> chuckles. <br><br> "Not my fault," Wren says, smirking. "I was only gonna keep <<phim>> for a few seconds, but <<pshe>> demanded more." <<person1>><<His>> eyes flicker to you. "Thank the old man for me when you get back to him. He knows how to pick the cutest delivery <<girls>>." <<else>> You try to pull away from Wren's grip. <<He>> <<if $pubfame.seen.includes("wrenKiss")>>raises an eyebrow, but<<else>>smirks and<</if>> releases you. "Wasn't that romantic," the <<person3>><<person>> chuckles as you stand up. <br><br> "What can I say? The mood struck me." Wren's eyes flicker to you. "Thank the old man for me when you get back to him. Could get some use out of that." <<person1>><<He>> jerks <<his>> head in the direction of the desk, where the envelope you delivered lays. <</if>> <br><br> <<pubfameComplete "wren">> <<if $farm_stage lte 4 or $farm_stage is undefined>> "Well, good seeing you," Wren says, nodding. "Take care." <br><br> <<link [[Leave|Estate Cards Intro Leave]]>><</link>> <<else>> "While you're here, fancy some blackjack?" Wren asks. <br><br> <<cards_start_play_options>> <</if>> <br><!-- End conditions 1. Wren finishes early estate_cards_end: "wren_finished_early" (or gets replaced with "oral") Desc: The PC has out-endured Wren, so technically Wren finished first Bets: allowed to take the pot End Location: Estate Clothes: oral for towel (if naked) Reason: while Wren didn't get to take PC, PC also hasn't gotten all they wanted from Wren, so it's really a tie. Wren does end up better off, so technically he'd still be dominant enough to demand oral for towel, rather than demanding oral for clothes buy-back 2. Wren finishes with PC estate_cards_end: "sex" ("oral" setter is ignored), or "sex_safe" ("oral" can replace it) Desc: The PC has lost, and Wren took his reward. PC lost Bets: allowed to take the pot End Location: Estate Clothes: oral for towel (if naked) Reason: Wren completely dominated PC, so definitely only oral for towel. It does have a variation where PC can have a chastity (so no sex), but we consider this to still be end 2 3. PC cheats, ends up being forgiven estate_cards_end: "cheat_moor" Desc: The PC was caught cheating, so it's a disqualification. Thrown into the moor Bets: pot confiscated End Location: Moor Clothes: none Reason: getitng caught cheating is considered a complete loss 4. PC cheats, ends up surrendering estate_cards_end: "cheat_remy" Desc: The PC was caught cheating, so it's a disqualification. Given to Remy. Can also be reached by failing plead (failed 3) and surrendering, or not trying to plead and surrendering Bets: pot confiscated End Location: Remy Clothes: none Reason: getitng caught cheating is considered a complete loss 5. PC cheats, ends up successfully running estate_cards_end: "cheat_run" Desc: The PC was caught cheating, disqualification. Can also be reached by failing plead (failed 3) and running, or not trying to plead and surrendering (???) Bets: pot confiscated, but perhaps we should let the player try and steal the pot for a much lower escape chance End Location: Estate Clothes: none Reason: obviously, because we ran, no option to get clothes/a towel back 6. PC cheats, ends up running, but fails estate_cards_end: "cheat_remy" Desc: The PC was caught cheating, disqualification. Can also be reached by failing plead (failed 3) and running, or not trying to plead and surrendering. Got caught, given to Remy. Bets: pot confiscated End Location: Remy Clothes: none Reason: obviously, because we ran and got caught, no option to get clothes/a towel back 7. PC runs after loss, ends up successfully running estate_cards_end: "run" Desc: not as bad as cheating, PC lost and ran (???) Bets: pot confiscated, but perhaps we should let the player try and steal the pot for a much lower escape chance End Location: Estate Clothes: none 8. PC runs after loss, ends up getting caught estate_cards_end: "run" Desc: not as bad as cheating, PC lost and tried runing, got caught, thrown into moor Bets: pot confiscated End Location: Moor Clothes: none 9. PC leaves early estate_cards_end: "naked" or "left_early" Desc: The PC has left early. Bets: allowed to take pot End Location: Estate Clothes: oral for towel (if naked) Reason: Wren is diasppoitned that PC is leaving the game essentially in the middle of it (with no one having won). Too annoyed to let the player get the clothes back 10. (todo) PC declares victory estate_cards_end: "pc_won" (or gets replaced by "pc_won_and_oral") Desc: The PC gets all favors they needed from Wren, and declares that they don't need anything else. Considered a win because Wren has exhasuted his usefulness and PC hasn't. PC can either rebuy the clothes after satisfying the goons, or leave Bets: allowed to take the pot End Location: Estate Clothes: allowed to buy back (all states) Reason: Wren realises they've done a ton of favours already and didn't get much from you, so they must feel defeated enough to let you take the clothes you've lost back For each of these outcomes, we need to call <<card_pot_confiscated>> right after the PC abandons the pot (if the bets are confiscated) or <<card_pot_collected>> right before the player leaves the table (if the player collects the bet) Each also calls <<estate_cards_finish>> and calls <<endevent>> and some set $estate_cards_end Some also call <<estate_end>> if they kick the player directly into the moor/remy's farm Coverage: bets conf/coll | <<estate_cards_finish>> | <<endevent>> | <<estate_end>> (opt) | Clothes (todo) | $estate_cards_end 1 collected | + calls <<cards_naked_end>> | + <-------- | - estate <------ | towel | "wren_finished_early" (can be replaced by "oral") 2 collected | + calls <<cards_naked_end>> | + <-------- | - estate <------ | towel | "sex" or "sex_safe" ("safe_sex" can be replaced by "oral") 3 confiscated | + | + | + moor | none | "cheat_moor" 4 confiscated>> | + calls <<bl...Surrender>> | + <-------- | + remy <-------- | none | "cheat_remy" <-------- 5 confiscated | + | + | - estate | none | "cheat_run" 6 confiscated>> | + calls <<bl...Surrender>> | + <-------- | + remy <-------- | none | "cheat_remy" <-------- 7 confiscated | + | + | - estate | none | "run" 8 confiscated | + | + | - estate | none | "run" 9 collected | + (or + <<cards_naked_end>>) | + (or + <----) | - estate (or - estate <-) | none (or towel) | "left_early" or "naked" 10 collected | + (or + <<cards_oral_options>>) | + (or + <----) | - estate (or - estate <-) | none (or rebuy) | "pc_won" (can be replaced by "pc_won_and_oral") (with estate end 9, if you're naked, the parentheses cover the case, otherwise - the outside part of the parentheses) <<widget "cards_naked_end">> calls <<cards_oral_options>> <</widget>> <<widget "cards_oral_options">> Initiates oral scene. if leave without oral: calls <<estate_cards_finish>> calls <<endevent>> else if leave after attempt: if $estate.cards.clothesRebuyTerms: sets $estate_cards_end to "pc_won_and_oral" else: sets $estate_cards_end to "oral", if it isn't "sex" calls <<estate_cards_finish>> calls <<endevent>> else: if $estate.cards.clothesRebuyTerms: sets $estate_cards_end to "pc_won_and_oral" else: sets $estate_cards_end to "oral", if it isn't "sex" calls <<estate_cards_finish>> calls <<endevent>> <</widget>> <<widget "blackjackCaughtCheatingSurrender">> sets $estate_cards_end to "cheat_remy" sets $estate.cards_done to true calls <<endevent>> calls <<estate_end>> <</widget>> --> <!--Needs to be run in a previous passage to prevent cheating--> <<widget "blackjackStart">> <<if _args[0]>> <<set $blackjack to { cards:shuffle(shuffle(shuffle(deck()))), dealerCards: [], dealerSecondCardHidden: true, dealerState: null, dealerScore: null, playersCards: [], playersState: null, isFirstTurn: true, /* a turn is stale once the player goes into the cheating menu this is to prevent peeking checks/suspicion increase from just going back into the same menu ideally, I'd just have the cheating options open a window like with the Help and Options tab */ turnIsStale: false, susRoseInThisRound: false, /* we don't want to increase suspicion for already seen marked cards */ seenMarkedCardsSoFar: new Set(), caughtType: null, susCritHit: false, cheatChoice: null, playersScore: null, turn: null, winner: null, caughtCheating: false, endPassage: _args[0] }>> <</if>> <</widget>> <<widget "calculateBlackjackLuckStats">> <!-- currently very basic. instead of taking into account HOW the user won (hitting on 19, for example), it just calculates stats of the last X games --> <!-- // use this to see all distributions for a given number of games, // with an optional filter func for only showing the distributions that fit the given filter formula let max = 6; let nums = []; let pcts = []; let filterFuncs = []; // filterFuncs.push(ind) => { // // example formula: the player has a bad streak if less than 70% of the games are ties, and the opponent has won twice as many games // return pcts[ind].wins >= pcts[ind].losses*2 && pcts[ind].ties < .7 // } let generateBasicFilterFunc = (tiesCutoff, winMult) => { filterFuncs.push(["Player lucky cases", (ind) => pcts[ind].wins >= pcts[ind].losses*winMult && pcts[ind].ties < tiesCutoff]) filterFuncs.push(["Wren lucky cases", (ind) => pcts[ind].losses >= pcts[ind].wins*winMult && pcts[ind].ties < tiesCutoff]) filterFuncs.push(["Neutral cases", (ind) => !( (pcts[ind].losses >= pcts[ind].wins*winMult && pcts[ind].ties < tiesCutoff) || (pcts[ind].wins >= pcts[ind].losses*winMult && pcts[ind].ties < tiesCutoff) )]) } generateBasicFilterFunc(0.7, 2) // in all other cases, the flow of luck is considered "neutral" for (let i = 0; i < max; ++i) { for (let j = 0; j < max; ++j) { for (let k = 0; k < max; ++k) { if ((i + j + k) !== max) { continue; } nums.push({wins:i,losses:j,ties:k}); } } } let s = []; for (let sub of nums) { let wPct = sub.wins/max; let lPct = sub.losses/max; let tPct = sub.ties/max; pcts.push({wins: wPct, losses: lPct, ties: tPct}); s.push(`wins ${(wPct*100).toFixed(2)}% losses ${(lPct*100).toFixed(2)}% ties ${(tPct*100).toFixed(2)}%`) } for (let [filterName, filterFunc] of filterFuncs) { console.log(filterName); for (let i = 0; i < s.length; ++i) { if (!filterFunc(i)) continue; console.log(`${nums[i].wins} wins / ${nums[i].losses} losses / ${nums[i].ties} ties | ${s[i]}`) } } --> <<if $estate.cards.gameResults eq null>> <<set $estate.cards.gameResults to []>> <<run delete $estate.cards.luckStats>> <<else>> <<set $_lookback to Math.min($estate.cards.gameResults.length, 6)>> <<set $_slice to $estate.cards.gameResults.slice($_lookback * -1)>> <<set $_stats to {"wins": 0, "losses": 0, "ties": 0, "winPct": 0, "lossPct": 0, "tiePct": 0, "total": $_lookback}>> /* only taking into account the last 6 games */ <<for $_result range $_slice>> <<switch $_result.result>> <<case "tie">> <<run $_stats.ties += 1>> <<case "win">> <<run $_stats.wins += 1>> <<case "loss">> <<run $_stats.losses += 1>> <</switch>> <</for>> <<set $_stats.winPct to $_stats.wins/$_lookback>> <<set $_stats.lossPct to $_stats.losses/$_lookback>> <<set $_stats.tiePct to $_stats.losses/$_lookback>> <<set $estate.cards.luckStats to $_stats>> <</if>> <</widget>> <<widget "blackjackEnd">> /* win|loss|tie */ <<set $_result to _args[0]>> <<unset $blackjack>> <<if $estate.cards.bettingEnabled and $estate.cards.currentBetInput gt 0>> <<switch $_result>> <<case "win">> <<set $estatePersistent.totalBetRoundsWon += 1>> <<case "loss">> <<set $estatePersistent.totalBetRoundsLost += 1>> <<case "tie">> <<set $estatePersistent.totalBetRoundsTied += 1>> <</switch>> <</if>> <!-- these include betting wins --> <<switch $_result>> <<case "win">> <<set $estatePersistent.totalRoundsWon += 1>> <<case "loss">> <<set $estatePersistent.totalRoundsLost += 1>> <<case "tie">> <<set $estatePersistent.totalRoundsTied += 1>> <</switch>> <<if $estate.cards.gameResults eq null>> <<set $estate.cards.gameResults to []>> <</if>> <<run $estate.cards.gameResults.push({"result": $_result})>> <<if $_result is "win">> <<set $estatePersistent.winStreak += 1>> <<if $estatePersistent.winStreak gt $estatePersistent.winStreakHighScore>> <<set $estatePersistent.winStreakHighScore to $estatePersistent.winStreak>> <</if>> <<else>> <<set $estatePersistent.winStreak to 0>> <</if>> <<if $_result is "loss">> <<set $estatePersistent.lossStreak += 1>> <<if $estatePersistent.lossStreak gt $estatePersistent.lossStreakHighScore>> <<set $estatePersistent.lossStreakHighScore to $estatePersistent.lossStreak>> <</if>> <<else>> <<set $estatePersistent.lossStreak to 0>> <</if>> <<if $estatePersistent.winStreak gte 5>> <<earnFeat "Five in a Row">> <</if>> <</widget>> <<widget "blackjackScore">> <<if _args[0]>> <<set _aces to 0>> <<set _score to 0>> <<for $_i to 0; $_i lt _args[0].length; $_i++>> <<switch _args[0][$_i].name>> <<case "A">><<set _score += 11>><<set _aces++>> <<case "K" "Q" "J">><<set _score += 10>> <<default>><<set _score += _args[0][$_i].value>> <</switch>> <</for>> <<for $_i to 0; $_i lt _aces; $_i++>> <<if _score gt 21>> <<set _score -= 10>> <</if>> <</for>> <<if _args[1]>> <<if _args[0].length is 2 and _score is 21>> <<set $_blackjack to true>> <</if>> <<switch _args[1]>> <<case "dealer">><<set $blackjack.dealerScore to _score>><<if $_blackjack>><<set $blackjack.dealerState to "blackjack">><</if>> <<case "players">><<set $blackjack.playersScore to _score>><<if $_blackjack>><<set $blackjack.playersState to "blackjack">><</if>> <</switch>> <</if>> <</if>> <</widget>> <<widget "initEstatePersistent">> <<if not $estatePersistent>> <<set $estatePersistent to { "suspicion": 0, "newDeckTimer": 3, "markedCards": new Set(), }>> <</if>> <!-- betting update --> <<if $estatePersistent.stakesRaised eq null>> <<run Object.assign($estatePersistent, { "stakesRaised": false, "suggestedRaisingStakes": false, "playerRejectedRaisingStakes": false, /* total of all the bets we've won, even if the money was abandoned in the end or lost in a subsequent round */ "totalBetMoneyMade": 0, /* same, but for bets we've lost */ "totalBetMoneyLost": 0, /* total counter for how much we've made from tips */ "totalTipMoneyMade": 0, /* NOT included in totalBetMoneyLost, counts all the pot money we've lost due to running away or getting caught cheating includes the ante */ "totalMoneyConfiscated": 0, /* to calculate total revenue (including loss of ante): totalBetMoneyMade + totalTipMoneyMade - totalBetMoneyLost - totalMoneyConfiscated */ /* these stats are not retroactive, but their sum has been tracked already in original blackjack: $blackjack_played, $blackjack_won, $blackjack_streak etc */ /* total rounds won (betting or not) */ "totalRoundsWon": 0, /* total rounds lost (betting or not) */ "totalRoundsLost": 0, /* total rounds tied (betting or not) */ "totalRoundsTied": 0, /* these stats are not retroactive */ /* same as above, but only for rounds where you bet money */ "totalBetRoundsWon": 0, "totalBetRoundsLost": 0, "totalBetRoundsTied": 0, /* counts entire sessions - not the individual rounds */ /* counts the total games you've played with an ante */ "totalGamesPlayedWithBetting": 0, /* counts the total games you've played with or without an ante */ "totalGamesPlayed": 0, /* counts the total amount of times the player has been caught cheating */ "totalCaughtCheating": 0, "winStreakHighScore": 0, "winStreak": 0, "lossStreakHighScore": 0, "lossStreak": 0 });>> <</if>> <</widget>> <<widget "blackjackSuspicion">> <<set $_susGain to _args[0]>> <<set $_caughtType to _args[1]>> <<set $blackjack.caughtType to null>> <<set _consts__danger_zone_suspicion to 70>> <<if $_susGain gt 0 and $estatePersistent.suspicion gt _consts__danger_zone_suspicion>> <<set $blackjack.susCritHit to random(1,8) eq 1>> <<else>> <<set $blackjack.susCritHit to false>> <</if>> <<if $blackjack.susCritHit>> <<set $estatePersistent.suspicion to 100>> <<else>> <<set $estatePersistent.suspicion to Math.clamp($estatePersistent.suspicion + $_susGain, 0, 100)>> <</if>> <<if $_susGain gt 0 and $estatePersistent and $estatePersistent.suspicion gte 100>> <<set $blackjack.caughtType to $_caughtType>> <</if>> <</widget>> <<widget "blackjackGetCanMarkCount">> <<set _marked_count to $estatePersistent.markedCards ? $estatePersistent.markedCards.size : 0>> <<set _consts__max_marked to 8>> <<set _can_mark_count to _consts__max_marked - _marked_count>> <<set _non_marked_in_hand to 0>> <<for _i to 0; _i lt $blackjack.playersCards.length; ++_i>> <<set _c to $blackjack.playersCards[_i]>> <<if !$estatePersistent.markedCards or !$estatePersistent.markedCards.has(`${_c.name}${_c.suits[0]}`)>> <<set _non_marked_in_hand++>> <</if>> <</for>> <<set _can_mark_count to Math.min(_can_mark_count, _non_marked_in_hand)>> <</widget>> <<widget "blackjackCalculate">> <<if $blackjack.turn is null>> <<set $blackjack.turn to "players">> <<set $blackjack.playersCards.push($blackjack.cards[0])>> <<set $blackjack.dealerCards.push($blackjack.cards[1])>> <<set $blackjack.playersCards.push($blackjack.cards[2])>> <<set $blackjack.dealerCards.push($blackjack.cards[3])>> <<set $blackjack.cards.deleteAt(0,1,2,3)>> <<blackjackScore $blackjack.dealerCards "dealer">> <<if $blackjack.dealerScore is 21>> <<set $blackjack.turn to "dealer">> <</if>> <<wearProp "cards">><<set $worn.handheld.colour to $cardcover.colour.replace("-", " ")>> <<else>> <<set $blackjack.isFirstTurn to false>> <</if>> <!-- <STARTING CHEATS> --> <<if $blackjack.playersState is "cheat">> <<if $blackjack.cheatChoice is "mark">> <<if $estatePersistent.markedCards is null or $estatePersistent.markedCards is undefined>> <<set $estatePersistent.markedCards to new Set()>> <</if>> <<blackjackGetCanMarkCount>> <<set _loop_min_ind to $blackjack.playersCards.length - _can_mark_count>> <<for _i to $blackjack.playersCards.length - 1; _i gte _loop_min_ind; --_i>> <<set _c to $blackjack.playersCards[_i]>> <<set $estatePersistent.markedCards.add(`${_c.name}${_c.suits[0]}`)>> <</for>> <<set $_marked_text to `${_can_mark_count} of your card${_can_mark_count gt 1 ? 's' : ''}`>> <<set $_plural to _can_mark_count gt 1 ? "them" : "it">> You've successfully marked $_marked_text. You'll recognise <<print _can_mark_count gt 1 ? "them" : "it">> if you see $_plural on top of the deck, or in Wren's hand.<br> <</if>> <<set $blackjack.cheatChoice to null>> <</if>> <<if $blackjack.playersState is "hit">> <<set $blackjack.playersState to null>> <<set $blackjack.playersCards.push($blackjack.cards[0])>> <<set $blackjack.cards.deleteAt(0)>> <<blackjackScore $blackjack.playersCards "players">> <</if>> <<blackjackScore $blackjack.playersCards "players">> <<if $blackjack.playersScore is 21>> <<set $blackjack.turn to "dealer">> <</if>> <<if $blackjack.turn is "dealer">> <<set $blackjack.dealerSecondCardHidden to false>> <<for _i to 0; _i lt 20; _i++>> <<blackjackScore $blackjack.dealerCards "dealer">> <<if $blackjack.dealerScore gte 17 or $blackjack.playersState is "blackjack">> <<break>> <</if>> <<set $blackjack.dealerCards.push($blackjack.cards[0])>> <<set $blackjack.cards.deleteAt(0)>> <</for>> <</if>> <</widget>> <!-- args[0] to lost? true if lost, more decay. you will lose suspicion every round you play fairly, and you lose more suspicion if you actually lose the round. --> <<widget "blackjackControlsPostGameSuspicion">> <<set $_lostGame to _args[0]>> <!-- no decay if suspicion was gained (through seeing new cards or peeking at dealer card) --> <<if !$blackjack.susRoseInThisRound and $estatePersistent.suspicion gte 1>> <<set $_suspicionDecay to -(($_lostGame ? 4 : 2) + C.npc.Wren.love * 0.05)>> <<if $_lostGame>> You've lost this round, fair and square.<<llsuspicion>> <<else>> You've played fairly this round.<<lsuspicion>> <</if>> <br> <<blackjackSuspicion $_suspicionDecay>> <</if>> <</widget>> <<widget "blackjackCheatingCaught">> <!-- worth considering the option to make Wren throw the player to the moor/give them to Remy if lust isn't high enough also worth considering having a longer arousal increase assault, with the player getting kicked out if they endure it if the player loses in the ride state, they have no other options provided to them the reason I haven't done that is because, if the state is "ride" and the player loses - the moor option is not available to then as they'd have to run for that (which is not possible in that position) so this means the consequence of losing before the ride state is, at worst, being given to remy or being sent to the moor, but after we've reached the state - the consequence is fornication otherwise players could intentionally get caught cheating in this phase in a lost hand and avoid the consequences, but pehraps that should be allowed as a valid strategy --> <!-- if the player is caught cheating, the deck will be replaced as soon as the player returns for another game --> <<set $estatePersistent.newDeckTimer to 0>> <<if $estate.cards.state is "ride">> <<if $estate.cards.position isnot "wren_lap">> "I'm feeling kind today," <<he>> says, "so instead of giving you to <span class="pink"><<nnpc_him "Remy">></span> - I'll just consider this your loss. Time to take my prize."<br><br> <br><br> <<if $estate.cards.position is "pc_lap" or $estate.cards.position is "penile">> <span class="blue">Wren's weight holds you down, preventing flight.</span> <<else>> <span class="blue">You wouldn't be able to climb off Wren in time, if <<he>> even let you.</span> <</if>> <br><br> <!-- can we even assume consent here? --> <<link [[Next|Estate Cards Sex]]>><</link>> <br> <<else>> <!-- I'm not sure what this branch actually is and how it's reached, so I'll just go with this --> "I'm feeling kind today," <<he>> says, "so instead of giving you to <span class="pink"><<nnpc_him "Remy">></span> - I'll just consider this your loss."<br><br> <br><br> <<link [[Next|Estate Cards Sex Safe]]>><</link>> <br> <</if>> <<else>> "It looks like <<pshe>> would benefit from being taught some discipline," <<he>> says with a smirk. "I know just the right <<nnpc_gender "Remy">> for that."<br><br> <<He>> looks at <<his>> friends and nods at you. They start advancing on you. <br><br> <<blackjackCaughtControls 1>> <</if>> <</widget>> <<widget "blackjackCaughtControls">> <<set _caught_phase to _args[0]>> <<if _caught_phase eq 1>> <<set $estatePersistent.totalCaughtCheating += 1>> <span class="green">If you are going to run, you'll be more likely to succeed if you don't waste time now.</span> <<set $estate.prev_apologised to $estatePersistent.cur_apologised is true>> <!-- Static plead base chance modifiers (Wren love, English) are calculated here, but the RNG dynamic modifiers are calculated in the plead passage, to allow save-scumming. I don't know the stance of the development team on save-scumming outside of ironmna mode, and it seems like it's not a requirement to prevent save-scumming as the athleticscheck also calculates the success chance after the link is clicked, so I'll fallback onto my own belief of letting players play the game the way they want. Feel free to move the success calculations from the plead passage to here, though. --> <<set $estate._plead_required_points to 800>> <<set $estate._base_plead_points to 0>> <<set $estate._plead_rng_min to 0>> <<set $estate._plead_rng_max to 1000>> <<set _base_chance to 1-inverseLerp($estate._plead_required_points, $estate._plead_rng_min, $estate._plead_rng_max)>> <<set _base_chance_str to formatDecimals(_base_chance*100, 1)>> <!-- 0-200 points for love (proportionate to 0,50 love) (as in 50 love is always full 200 points)--> <<set _extra_wren to lerp(Math.clamp(C.npc.Wren.love / 50, 0, 1), 0, 250)>> <<set $estate._base_plead_points += _extra_wren>> <<set _extra_wren_chance_str to formatDecimals((1-inverseLerp($estate._plead_required_points, $estate._plead_rng_min + _extra_wren, $estate._plead_rng_max + _extra_wren) - _base_chance)*100, 1)>> <!-- 0-200 points for English (proportionate to 0,1000 english)--> <<set _extra_english to lerp(Math.clamp(currentSkillValue('english') / 1000, 0, 1), 0, 250)>> <<set $estate._base_plead_points += _extra_english>> <<set _extra_english_chance_str to formatDecimals((1-inverseLerp($estate._plead_required_points, $estate._plead_rng_min + _extra_english, $estate._plead_rng_max + _extra_english) - _base_chance)*100, 1)>> <!-- 0-100 extra points for submissiveness (1000,2000) --> <<set _extra_sub to lerp(inverseLerp($submissive, 1000, 2000), 0, 100)>> <<set $estate._base_plead_points += _extra_sub>> <<set _extra_sub_chance_str to formatDecimals((1-inverseLerp($estate._plead_required_points, $estate._plead_rng_min + _extra_sub, $estate._plead_rng_max + _extra_sub) - _base_chance)*100, 1)>> <<set _plead_difficulty to Math.round((1-inverseLerp(800, $estate._base_plead_points + $estate._plead_rng_min, $estate._base_plead_points + $estate._plead_rng_max))*100)>> <<set _plead_chance_str to formatDecimals(_plead_difficulty, 1)>> <!-- + 0,1000 RNG points this means you have at least a 20% chance to convince Wren, and at most 70%. --> <br><br> <<if $estate.prev_apologised>> <span class="red">You've apologised the last time you were caught. You're not sure if that will work again.</span> <br> <</if>> Forgiveness chance: <br> Base: <span class="black"><<print _base_chance_str>>%</span> <<if _extra_english gt 0>> <br> <span class="green">English</span> <span class="black">+<<print _extra_english_chance_str>>%</span> <</if>> <<if _extra_wren gt 0>> <br> <span class="green">Wren's love</span> <span class="black">+<<print _extra_wren_chance_str>>%</span> <</if>> <<if _extra_sub gt 0>> <br> <span class="green">Submissiveness</span> <span class="black">+<<print _extra_sub_chance_str>>%</span> <</if>> <<if (_extra_english + _extra_wren + _extra_sub) gt 0>> <br> Total: <span class="black"><<print _plead_chance_str>>%</span> <</if>> <br><br> <<link [[Run|Estate Cards Cheating Run]]>><<set $estatePersistent.cur_apologised to false>><<npcincr Wren love -10>><</link>><<athleticsdifficulty 500 1000>><<llllove>> <br> <<link [[Plead|Estate Cards Cheating Plead]]>><<set $estatePersistent.cur_apologised to true>><<trauma 15>><<stress 15>><<npcincr Wren love 3>><</link>><<ggtrauma>><<ggstress>><<glove>> <<if $checkstyle is "skillname">> | <span class="lblue">Forgiveness Chance</span> <<else>> | <span class="lblue">Forgiveness Chance</span>: <<skillDifficultyText _plead_difficulty>> <</if>> <br> <<link [[Protest|Estate Cards Cheating Protest]]>><<set $estatePersistent.cur_apologised to false>><<trauma -6>><<stress -6>><<npcincr Wren love -1>><</link>><<lstress>><<ltrauma>><<llove>> <br> <<link [[Surrender|Estate Cards Cheat Surrender]]>><<set $estatePersistent.cur_apologised to false>><<npcincr Wren love 2>><</link>><<glove>> <!-- idea - fight option? --> <<else>> <span class="red"><<His>> friends have almost surrounded you. It's going to be more difficult to run away now.</span> <br><br> <<link [[Run|Estate Cards Cheating Run]]>><<npcincr Wren love -10>><</link>><<athleticsdifficulty 800 1200>><<llllove>> <br> <<link [[Surrender|Estate Cards Cheat Surrender]]>><<npcincr Wren love 2>><</link>><<glove>> <br> <</if>> <</widget>> <<widget "blackjackControls">> <<set _player_can_choose to $blackjack.turn is "players" and $blackjack.playersScore lte 20>> <<set _consts__max_marked_see_depth to 3>> <<set _seen_cards_deck to []>> <<set _seen_cards_indexes to []>> <<set _seen_cards_index_strings to []>> <<set _seen_new_marked_card_this_turn to false>> <<set _seen_dealer_card to false>> <!-- we don't want to make the player to be punished for seeing marked cards when it's the dealer's turn (since the player wouldn't be actively looking for them) --> <<if _player_can_choose>> <<for $_i to 0; $_i lt _consts__max_marked_see_depth; $_i++>> <<set _c to $blackjack.cards[$_i]>> <<if $estatePersistent.markedCards and $estatePersistent.markedCards.has(`${_c.name}${_c.suits[0]}`)>> <<set _seen_cards_deck.push(_c)>> <<set _seen_cards_indexes.push($_i)>> <<set _seen_cards_index_strings.push(ordinalSuffixOf($_i+1))>> <<if !$blackjack.seenMarkedCardsSoFar.has(`${_c.name}${_c.suits[0]}`);>> <<set _seen_new_marked_card_this_turn to true>> <<set $blackjack.seenMarkedCardsSoFar.add(`${_c.name}${_c.suits[0]}`);>> <</if>> <</if>> <</for>> <<if _seen_cards_deck.length gt 0>> <<set $_plural to _seen_cards_deck.length gt 1 ? "cards" : "card">> <<set _max_card_index to Math.max(...(_seen_cards_indexes))>> <<if _seen_cards_deck.length eq 1 and _seen_cards_indexes[0] eq 0>> You recognise the card sitting on top of the deck. It's one of the cards you've marked: <<else>> <<set $_indexes_str to formatList(_seen_cards_index_strings)>> You recognise the $_indexes_str $_plural from the top of the deck: <</if>> <br> <<for _i to 0; _i lte _max_card_index; _i++>> <<set _hidden to !_seen_cards_indexes.includes(_i)>> <div class="left"><<cardImage $blackjack.cards[_i] _hidden>></div> <</for>> <div style="clear:both;"></div> <</if>> <<set _c to $blackjack.dealerCards[1]>> <<if $estatePersistent.markedCards and $estatePersistent.markedCards.has(`${_c.name}${_c.suits[0]}`)>> <<if !$blackjack.turnIsStale>> <<if !$blackjack.seenMarkedCardsSoFar.has(`${_c.name}${_c.suits[0]}`);>> <<set _seen_new_marked_card_this_turn to true>> <<set $blackjack.seenMarkedCardsSoFar.add(`${_c.name}${_c.suits[0]}`);>> <</if>> <!-- we've seen the card, so we can display it --> <<set $blackjack.dealerSecondCardHidden to false>> <<set _seen_dealer_card to true>> <br><br> You recognise this card you've marked to be Wren's hole card.<br> <div class="left"><<cardImage _c>></div> <div style="clear:both;"></div> <<else>> <!-- reminding the user that they know Wren's hole card is probably redundant, since they can see it now --> <</if>> <<elseif $estate.cards.cheatPeeking and $blackjack.isFirstTurn>> <<if !$blackjack.turnIsStale>> <!-- idea - an alternative, where we handle the deck and the chance to see the card is higher --> <!-- skulduggery affects your chance to see the card. base chance is 10%, skulduggery adds from 0 to 15% chance. different levels of exposure have a chance to affect the chance as well, as you're distracting the dealer every now and then. --> <<set _chance_to_see to Math.clamp(10 + Math.round(currentSkillValue('skulduggery')/100), 10, 25)>> <<set _dealer_distracted to false>> <<set _dealer_distracted_text to "You notice the dealer occasionally sneaking glances at you.">> <!-- we generate two numbers because we want a different chance for the text appearing: we don't want it tied to the chance_to_see --> /* base 10-25% chance */ <<if $estate.cards.state is "ride">> <<if random(1, 5) gt 1>> /* 4/5 * .75 to +60% chance = 70% - 85% */ <<set _chance_to_see += 75>> <<set _dealer_distracted to true>> <<person2>> <<silently>><<his>><</silently>> <<set _dealer_distracted_text to "You notice the dealer watching you and Wren with lust in " + _text_output + " eyes.">> <<person1>> <</if>> <<elseif $exposed eq 2>> <!-- actual chance bonus to random_chance * extra_chance_to_see (so .5*.75=0.375) --> <<if random(1, 2) eq 1>> /* 1/2 * .75 to +37.5% chance = 47.5% - 62.5% */ <<set _chance_to_see += 75>> <<set _dealer_distracted to true>> <<person2>> <<silently>><<he>><</silently>> <<set _dealer_distracted_text to "You notice the dealer oogling your body when " + _text_output + " thinks you're not looking.">> <<person1>> <</if>> <<elseif $exposed eq 1>> <<if random(1, 2) eq 1>> /* 0.5 * .4 to +20% chance = 30 - 45% */ <<set _chance_to_see += 40>> <<set _dealer_distracted to true>> <<set _dealer_distracted_text to "You notice the dealer occasionally sneaking glances at you.">> <</if>> <</if>> /* if fully clothed = 10% - 25% */ <<if _dealer_distracted>> <span class="pink">_dealer_distracted_text</span> <br> <</if>> <<rng>> <<if $rng lt _chance_to_see>> The dealer seems distracted, as <<person2>><<he>><<person1>> clumsily hands Wren <<his>> second card. <br> <span class="green">You manage to sneak a peek at Wren's hole card.</span> <br> <div class="left"><<cardImage _c>></div> <div style="clear:both;"></div> <<blackjackSuspicion 10 "holecardingsuccess">> <<if !$blackjack.susCritHit>> <<switch random(1,3)>> <<case 1>> Wren also notices the dealer's blunder and glances at you, but doesn't say anything. <<case 2>> Wren also notices the dealer's blunder and glances at you. "I hope you're keeping your eyes on your own hand," <<he>> says. <<case 3>> "Oh, come on," Wren says to the dealer. "Gotta be swifter when you deal the cards." <<He>> glances at you, but doesn't say anything else. <</switch>> <<gsuspicion>> <<else>> When you look at Wren however, you see <<hes>> <span class="red">staring into your eyes with a smirk.</span><<gggsuspicion>> <</if>> <br><br> <!-- we've seen the card, so we can display it --> <<set $blackjack.dealerSecondCardHidden to false>> <<set $blackjack.susRoseInThisRound to true>> <<else>> <<set $blackjack.susRoseInThisRound to true>> <<blackjackSuspicion 5 "holecardingfail">> You try to peek at Wren's second card while it's being dealt, but you don't manage to see anything.<br> <<if !$blackjack.susCritHit>> <<switch random(1,3)>> <<case 1>> You wonder if they can tell you're peeking. <<case 2>> You notice Wren eyeing you. <<case 3>> You can feel Wren staring at you after receiving <<his>> card. <</switch>> <<gsuspicion>> <<else>> When you look at Wren however, you see <<hes>> <span class="red">staring into your eyes with a smirk.</span><<gggsuspicion>> <</if>> <br><br> <</if>> <<else>> <!-- reminding the user that they know Wren's hole card is probably redundant, since they can see it now --> <</if>> <</if>> <</if>> <<set _marked_card_show_sus_warning to false>> <<if _player_can_choose and $blackjack.turnIsStale neq true>> <<if _seen_new_marked_card_this_turn>> <!-- we do this here to make sure all automatic suspicion raising actions are performed before this check we set a simple bool value for simplicity (so that we don't copy-paste the checks) --> <<set _marked_card_show_sus_warning to true>> <<set $blackjack.susRoseInThisRound to true>> <<blackjackSuspicion `Math.round($estatePersistent.markedCards.size * 0.4)` "markedcardseen">> <</if>> <</if>> <<if $estatePersistent.suspicion gte 100>> <<switch $blackjack.caughtType>> <<case "holecardingfail" "holecardingsuccess">> "Careful there," Wren says. "<span class="red">You're peeking too hard.</span> You don't want to snap your own neck." <br><br> <<if $speech_attitude is "meek">> "I-I'm sorry, I didn't mean to look!" you say. <<elseif $speech_attitude is "bratty">> "Peeking? I'm just making sure your dealer isn't doing anything shady," you say. "Scared?" <<else>> "I wasn't peeking," you say. <</if>> <br><br> Wren scoffs. <<He>> doesn't look convinced by your words. <br><br> <<blackjackCheatingCaught>> <<case "markedcardseen">> <<if _seen_dealer_card>> Wren stares at you for a moment, before carefully inspecting <<his>> hole card. Then, <span class="red"><<he>> scoffs</span>. <br><br> <<else>> Wren stares at you for a moment, before grabbing a card from the deck. <<He>> inspects it, and then - <span class="red"><<he>> scoffs</span>. <</if>> <br><br> <<He>> points to the mark you've placed on the card. "You ain't slick," Wren says. <br><br> <<if $speech_attitude is "meek">> "I-It wasn't me, I didn't do anything!" you say. <<elseif $speech_attitude is "bratty">> "Don't be stupid," you say. "That's just a scratch. For all we know it could be the dealer's fault." <<else>> "That's just a scratch," you say. "Doesn't mean it was intentional, let alone that it was me." <</if>> <br><br> Wren scoffs. <<He>> doesn't look convinced by your words. <br><br> <<blackjackCheatingCaught>> <<default>> <br><br> <<blackjackCheatingCaught>> <</switch>> <<else>> <<blackjackShowCards>> <<blackjackCheatingAlertsFooter>> <<blackjackControlsChoices>> <</if>> <</widget>> <<widget "blackjackShowCards">> Wren's cards: <br> <<for _i to 0; _i lt $blackjack.dealerCards.length; _i++>> <div class="left"> <<if _i is 0>> <<cardImage $blackjack.dealerCards[0]>> <<else>> <<cardImage $blackjack.dealerCards[_i] $blackjack.dealerSecondCardHidden>> <</if>> </div> <</for>> <div style="clear:both;"></div> <<if $blackjack.dealerSecondCardHidden>> <<blackjackScore `[$blackjack.dealerCards[0]]` "dealer">> Known Total: <<print $blackjack.dealerScore>> <<else>> <<blackjackScore $blackjack.dealerCards "dealer">> Total: <<print $blackjack.dealerScore>> <</if>> <br><br> Your cards: <br> <<for _i to 0; _i lt $blackjack.playersCards.length; _i++>> <div class="left"><<cardImage $blackjack.playersCards[_i]>></div> <</for>> <div style="clear:both;"></div> Total: <<print $blackjack.playersScore>> <</widget>> <<widget "blackjackCheatingAlertsFooter">> <<if _marked_card_show_sus_warning>> <br><br> While you were looking at the marked cards, you could feel Wren and <<his>> friends occasionally glancing at you.<<gsuspicion>> <</if>> <<if $blackjack.turn is "players" and $blackjack.playersScore lte 20>> <div id="blackjackChoicesCheatingInformationDiv" style="display: none"> <br><br> <<set _marked_count to $estatePersistent.markedCards ? $estatePersistent.markedCards.size : 0>> <<set _consts__max_marked to 8>> You've marked <<print _marked_count>> cards in this deck.<br> <<set _d to deck()>> <<for _i to 0; _i lt _d.length; ++_i>> <<set _c to _d[_i]>> <<if $estatePersistent.markedCards and $estatePersistent.markedCards.has(`${_c.name}${_c.suits[0]}`)>> <div class="left"><<cardImage _c>></div> <</if>> <</for>> <div style="clear:both;"></div> <br> <<if _marked_count gte _consts__max_marked>> That's as many unique marks as you can place and remember. You can no longer mark cards until Wren changes the deck. <<else>> You can mark up to <<print _consts__max_marked - _marked_count>> more cards. That's as many as you'll be able to mark and remember. <</if>> </div> <</if>> <<if $estatePersistent.suspicion is undefined>> <<set $estatePersistent.suspicion to 0>> <</if>> <<set _player_cheating_virginity_warned to false>> <<if $estatePersistent.suspicion gt 0>> <br><br> Suspicion: <<statbar 0 $estatePersistent.suspicion 100>> <<set _consts__danger_zone_suspicion to 70>> <<if $estatePersistent.suspicion gt _consts__danger_zone_suspicion>> <br> <span class="red">Wren and <<his>> friends are very suspicious of you, and you are being closely watched.</span> <<if $estate.cards.state is "ride">> <<set _player_cheating_virginity_warned to true>> <<cards_cheating_virginity_warning>> <</if>> <</if>> <</if>> <</widget>> <<widget "blackjackCheatingPeekingChoiceGenerate">> <<if $estate.cards.cheatPeeking>> <<link "Stop peeking at Wren's hole card during dealing">><<set $estate.cards.cheatPeeking to false>><<replace "#blackjackCheatingPeekingChoice">><<blackjackCheatingPeekingChoiceGenerate>><</replace>><<run Links.generateLinkNumbers($(".passage"))>><</link>> <<else>> <<link "Peek at Wren's hole card during dealing">><<set $estate.cards.cheatPeeking to true>><<replace "#blackjackCheatingPeekingChoice">><<blackjackCheatingPeekingChoiceGenerate>><</replace>><<run Links.generateLinkNumbers($(".passage"))>><</link>> <!-- | <span class="orange">Skulduggery</span> --> <mouse class="tooltip linkBlue">(?)<span>Every first turn, when the cards are dealt, you will try to peek at Wren's hole card when the cards are dealt. Your chances will be influenced by your skulduggery skill, the dealer's alertness, etc.</span></mouse> <</if>> <</widget>> <<widget "blackjackCheatingChoicesGenerate">> <<set $_showCheating to _args[0]>> <<if $_showCheating>> <<run $("#blackjackChoicesCheatingInformationDiv").show()>> <<link "Back (regular options)">><<replace "#blackjackChoicesDiv">><<blackjackCheatingChoicesGenerate false>><</replace>><<run Links.generateLinkNumbers($(".passage"))>><</link>> <<if _marked_count lt _consts__max_marked>> <<set _can_mark_count to _consts__max_marked - _marked_count>> <<set _non_marked_in_hand to 0>> <<for _i to 0; _i lt $blackjack.playersCards.length; ++_i>> <<set _c to $blackjack.playersCards[_i]>> <<if !$estatePersistent.markedCards or !$estatePersistent.markedCards.has(`${_c.name}${_c.suits[0]}`)>> <<set _non_marked_in_hand++>> <</if>> <</for>> <<set _can_mark_count to Math.min(_can_mark_count, _non_marked_in_hand)>> <<if _can_mark_count gt 0>> <<if _can_mark_count gt 1>> <<set $_link_text to `Mark your ${_can_mark_count} newest cards`>> <<else>> <<set $_link_text to `Mark your newest card`>> <</if>> <br> <<set $skulduggerydifficulty to 400 + _can_mark_count*100 + $estatePersistent.suspicion*25>> <<link [[$_link_text|Estate Blackjack Cheat]]>><<set $blackjack.playersState to "cheat">><<set $blackjack.cheatChoice to "mark">><</link>> <<skulduggerydifficulty>> <<if $estate.cards.state is "ride" and !_player_cheating_virginity_warned>> <<set _player_cheating_virginity_warned to false>> <<cards_cheating_virginity_warning true>> <</if>> <</if>> <</if>> <br> <span id="blackjackCheatingPeekingChoice"> <<blackjackCheatingPeekingChoiceGenerate>> </span> <!-- // idea <br> <<link [[Swap deck cards|$passage]]>><<set $blackjack.playersState to "cheat">><<set $blackjack.cheatChoice to "swap_deck">><</link>> <br> <<link [[Peek hole card|$passage]]>><<set $blackjack.playersState to "peek">><<set $blackjack.cheatChoice to "peek_hole_card">><</link>> --> <br> <<link "Help and Options">><<overlayReplace "blackjackHelp">><</link>> <<else>> <<run $("#blackjackChoicesCheatingInformationDiv").hide()>> <<link [[Hit|$passage]]>><<set $blackjack.playersState to "hit">><<set $blackjack.turnIsStale to false>><<set $blackjack.isFirstTurn to false>><</link>> | <<link [[Stand|$passage]]>><<set $blackjack.turn to "dealer">><<set $blackjack.turnIsStale to false>><<set $blackjack.playersState to "stand">><<set $blackjack.isFirstTurn to false>><</link>> | <<link "Cheating options">><<replace "#blackjackChoicesDiv">><<blackjackCheatingChoicesGenerate true>><</replace>><<run Links.generateLinkNumbers($(".passage"))>><</link>> | <<link "Help and Options">><<overlayReplace "blackjackHelp">><</link>> <</if>> <</widget>> <<widget "blackjackControlsChoices">> <br><br> <<if $blackjack.turn is "players" and $blackjack.playersScore lte 20>> <div id="blackjackChoicesDiv"> <<blackjackCheatingChoicesGenerate false>> </div> <<elseif $blackjack.turn is "players" and $blackjack.playersScore gt 21>> <span class="red">Bust</span> <br> <<blackjackControlsPostGameSuspicion true>> <<link [[End game|Estate Blackjack Lose]]>><</link>> <br> <<elseif $blackjack.turn is "dealer">> <<if $blackjack.playersState is "blackjack" and $blackjack.dealerState is "blackjack">> <<set $blackjack.winner to "tie">> <span class="blue">You tie with both having Natural Blackjacks</span> <<elseif $blackjack.playersState is "blackjack">> <<set $blackjack.winner to "player">> <span class="green">You win with a Natural Blackjack</span> <<elseif $blackjack.dealerState is "blackjack">> <<set $blackjack.winner to "dealer">> <span class="red">You lose to the Natural Blackjack</span> <<elseif $blackjack.playersScore gt $blackjack.dealerScore or $blackjack.dealerScore gt 21>> <<set $blackjack.winner to "player">> <span class="green">You win</span> <<elseif $blackjack.playersScore is $blackjack.dealerScore>> <<set $blackjack.winner to "tie">> <span class="blue">You tie</span> <<else>> <<set $blackjack.winner to "dealer">> <span class="red">You lose</span> <</if>> <br><br> <<if $blackjack.winner is "tie">> <<blackjackControlsPostGameSuspicion>> <<blackjackEnd "tie">> <<blackjackStart "Blackjack Finish">> <<link [[Next|Estate Blackjack]]>><<pass 1>><</link>> <br> <<elseif $blackjack.winner is "dealer">> <<blackjackControlsPostGameSuspicion true>> <<link [[Next|Estate Blackjack Lose]]>><</link>> <br> <<else>> <<blackjackControlsPostGameSuspicion>> <<link [[Next|Estate Blackjack Win]]>><</link>> <br> <</if>> <</if>> <</widget>> <<widget "blackjackCaughtCheatingSurrender">> <<if $wren_intro isnot undefined>> <<set $estate_cards_end to "cheat_remy">> <</if>> <<if !($worn.upper.type.includes("naked") and $worn.under_upper.type.includes("naked") and $worn.lower.type.includes("naked") and $worn.under_lower.type.includes("naked"))>> <<clothesruined>><<exposure>> "Let's get <<phim>> ready," the <<person2>><<person>> says. Hands grasp your clothes from all directions, pulling and tearing the fabric, until you're left exposed. <<covered>> <br><br> <</if>> <<fameexhibitionism 7>> They lift you, and carry you naked through the estate, <<if $estate.chaos gte 100>>through all the chaos you've caused,<</if>> towards a small barn. <br><br> A couple of guards see you coming and smirk. Wren hands you to the guards. <br><br> <<leash 21>> One of the guards goes into the barn and comes back with a collar and chain, which are then fixed around your neck. The guards tug on the attached chain, forcing you along. <br><br> <<if C.npc.Wren.love gte 20>> "Looking forward to playing with you again," Wren says. "I know you'll be back soon, one way or another." <<else>> "Don't cause them too much trouble," Wren says. <</if>> <br><br> <!-- estate ends 4, 6 --> <<card_pot_confiscated>> <<estate_cards_finish>> <<badEndTracking "Underground Farm" { reason: "cardCheating" }>> <<link [[Next|Livestock Intro]]>><<endevent>><<estate_end>><</link>> <br> <</widget>> <<widget "blackjackHelp">> <<set _consts__max_marked to 8>> <ul> <li>Your goal is to beat the dealer in having a higher score that never goes above 21.</li> <li>Cards are valued from 2 to 11. Jack, Queen and King are worth 10 each, Ace is worth either 1 or 11, whichever is more favourable.</li> <li>Scoring a total of 21 with 2 cards is known as a "Natural Blackjack," you or the dealer will win over any other combination unless you tie.</li> <li>If either you or the dealer go over 21, the one who bust loses.</li> <li>Stand to end your turn, hit to gain another card.</li> <li>The dealer always plays by specific rules, use that to your advantage. The dealer must hit when their score is below 17.</li> </ul> <h3>Cheating Guide</h3> <ul> <li>In blackjack, a "hole card" is the dealer's second hidden card. "Hole carding" refers to attempts to find out what the hidden card is. You can do that by trying to <b>peek</b> at the card as it's being dealt. Intentionally trying to peek at the cards being dealt is against the rules.</li> <li>Marking a card refers to leaving some sort of mark on it that allows you to identify it. You can leave up to _consts__max_marked marks on cards you get to hold. Be careful, as marking cards is against the rules.</li> <li>Once you mark a card, the mark will remain until the deck is replaced. It's not too difficult to tell that a person is looking for a mark on the back of a card, so be careful.</li> <li>The cards are dealt by a dealer. As long as they're in your view, you can try and peek at the card they're giving to Wren.</li> </ul> <h3>Options</h3> <<link [[Save and close|$passage]]>><<set $worn.handheld.colour to $cardcover.colour.replace("-", " ")>><</link>> <br><br> Back cover: <br> <div id="card-cover-options" @class="'clothes-' + $cardcover.colour"> <<for _i to 0; _i lte 7; _i++>> <div @class="'div-link card cardcover' + _i + ($cardcover.style eq _i ? ' active' : '')"> <<if _i eq 0>> <span class="number">?</span> <span class="suit">?</span> <</if>> <<capture _i>> <<link "">> <<set $cardcover.style to _i>> <<run $('#card-cover-options .card').removeClass('active')>> <<run $('#card-cover-options .card:nth-child(' + (_i+1) + ')').addClass('active')>> <</link>> <</capture>> </div> <</for>> </div> <label> Colour: <<listbox "$cardcover.colour" autoselect>> <<option "Black" "black">> <<option "Navy" "navy">> <<option "Blue Steel" "blue-steel">> <<option "Light Grey" "grey">> <<option "White" "pale-white">> <<option "Silver" "silver">> <<option "Black & White" "white">> <<option "Gold" "gold">> <<option "Black & Orange" "yellow">> <<option "Yellow" "pale-yellow">> <<option "Bronze" "bronze">> <<option "Brown" "brown">> <<option "Sand" "sand">> <<option "Olive" "olive">> <<option "Orange" "tangerine">> <<option "Red Orange" "pale-tangerine">> <<option "Red" "red">> <<option "Green" "green">> <<option "Light Green" "light-green">> <<option "Blue" "blue">> <<option "Light Blue" "light-blue">> <<option "Pink" "pink">> <<option "Light Pink" "light-pink">> <<option "Purple" "purple">> <<option "Teal" "teal">> <</listbox>> </label> <<run $(() => { linkifyDivs('#card-cover-options'); $('#listbox-cardcovercolour').on('change', () => { $('#card-cover-options').removeClass().addClass('clothes-' + $cardcover.colour) }); })>> <</widget>><!--Needs to be run in a previous passage to prevent cheating--> <<widget "highLowStart">> <<if _args[0]>> <<set $highlow to { cards:shuffle(shuffle(shuffle(deck()))), correct: 0, dealerCard: null, playersCard: null, playersCardHidden: null, gamestart: false, turn: null, choice: null, endPassage: _args[0] }>> <</if>> <</widget>> <<widget "highLowEnd">> <<unset $highlow>> <</widget>> <<widget "cardText">> <<if _args[0]>> <<if _args[1]>> Turned over. <<else>> <<switch _args[0].name>> <<case "A">>Ace <<case "K">>King <<case "Q">>Queen <<case "J">>Jack <<default>>_args[0].name <</switch>> of <<print _args[0].suits>>. <</if>> <</if>> <</widget>> <<widget "highLowCalculate">> <<if $highlow.gamestart is false>> <<set $highlow.gamestart to true>> <<set $highlow.turn to "players">> <</if>> <<if $highlow.turn is "players">> Players Turn <br> <<set $highlow.dealerCard to $highlow.cards[0]>> <<set $highlow.playersCard to $highlow.cards[1]>> <<set $highlow.cards.deleteAt(0,1)>> <<set $highlow.playersCardHidden to true>> <<elseif $highlow.turn is "dealer">> Dealer Turn <br> <<set $highlow.playersCardHidden to false>> <<if ($highlow.choice is "lower" and $highlow.playersCard.value lt $highlow.dealerCard.value) or ($highlow.choice is "higher" and $highlow.playersCard.value gt $highlow.dealerCard.value)>> <<if $highlow.correct is 0>> <<set $highlow.correct++>> <<else>> <<set $highlow.correct*=2>> <</if>> <</if>> <<if $highlow.cards.length lt 30>> <<set $highlow.cards to shuffle(shuffle(shuffle(deck())))>> They reshuffle the deck. <br> <</if>> <</if>> <</widget>> <<widget "highLowControls">> <div class="highlow"> <div><span class="title">Dealers card:</span> <<cardImage $highlow.dealerCard>></div> <div><span class="title">Your card:</span> <<cardImage $highlow.playersCard $highlow.playersCardHidden>></div> </div> <div style="clear:both;"></div> Your current score: <<print $highlow.correct>> <br> <<if $highlow.turn is "players">> <<link [[Lower|$passage]]>><<set $highlow.choice to "lower">><<set $highlow.turn to "dealer">><</link>> | <<link [[Higher|$passage]]>><<set $highlow.choice to "higher">><<set $highlow.turn to "dealer">><</link>> | <<if $highlow.correct gt 4>> <br> <<link [[End game|$highlow.endPassage]]>><<set $highlow.correct/=2>><</link>><<note "Lose half your score" "red">> | <</if>> <<elseif $highlow.turn is "dealer">> <<if ($highlow.choice is "lower" and $highlow.playersCard.value lt $highlow.dealerCard.value) or ($highlow.choice is "higher" and $highlow.playersCard.value gt $highlow.dealerCard.value)>> Your correct <br> <<link [[Continue|$passage]]>><<set $highlow.turn to "players">><</link>> | <br> <<link [[End game|$highlow.endPassage]]>><</link>> | <<elseif $highlow.playersCard.value is $highlow.dealerCard.value>> Draw <br> <<link [[Continue|$passage]]>><<set $highlow.turn to "players">><</link>> | <br> <<link [[End game|$highlow.endPassage]]>><</link>> | <<else>> You Lose <br> <<link [[End game|$highlow.endPassage]]>><<set $highlow.correct to 0>><</link>> <</if>> <</if>> <</widget>> <<widget "cardImage">> <<if _args[0]>> <div @class="'card ' + (_args[1] ? 'cardcover' + $cardcover.style : '') + ' clothes-' + $cardcover.colour"> <<if _args[1]>> <<if $cardcover.style eq 0>> <span class="number">?</span> <span class="suit">?</span> <</if>> <<else>> <<if _args[0].suits is "Diamonds">> <<set _suits to "diams">> <<else>> <<set _suits to _args[0].suits.toLowerCase()>> <</if>> <span class="number"><<print _args[0].name>></span> <span class="suit"><<print "&" + _suits + ";">></span>&nbsp;&nbsp; <</if>> </div> <</if>> <</widget>> <<widget "estate_cards_bet">> <<if $worn.over_upper.name isnot "naked">> <<set $estate.cards.desire to "over_upper">> "If I win-" <<He>> points at your $worn.over_upper.name. <span class="blue">"You lose <<overupperthat>>."</span> <<elseif $worn.over_lower.name isnot "naked">> <<set $estate.cards.desire to "over_lower">> "If I win-" <<He>> points at your $worn.over_upper.name. <span class="blue">"You lose <<overlowerthat>>."</span> <<elseif $worn.feet.name isnot "naked" and $worn.feet.cursed isnot 1>> <<set $estate.cards.desire to "feet">> "If I win-" <<He>> points at your $worn.feet.name. <span class="blue">"You lose your shoes."</span> <<elseif $worn.legs.name isnot "naked">> <<set $estate.cards.desire to "legs">> "If I win-" <<He>> points at your $worn.legs.name. <span class="blue">"You lose <<legsthat>>."</span> <<elseif $worn.upper.name isnot "naked">> <<set $estate.cards.desire to "upper">> "If I win-" <<He>> points at your $worn.upper.name. <span class="purple">"You lose your <<dress>>."</span> <<elseif $worn.lower.name isnot "naked">> <<set $estate.cards.desire to "lower">> "If I win-" <<He>> points at your $worn.lower.name. <span class="purple">"You lose your <<skirt>>."</span> <<elseif $worn.hands.name isnot "naked">> <<set $estate.cards.desire to "hands">> "If I win-" <<He>> points at your $worn.hands.name. <span class="blue">"You lose those gloves."</span> <<elseif $worn.under_upper.name isnot "naked">> <<set $estate.cards.desire to "under_upper">> "If I win-" <<He>> points at your $worn.under_upper.name. <span class="pink">"You lose your <<bra>>."</span> <<elseif $worn.under_lower.name isnot "naked">> <<set $estate.cards.desire to "under_lower">> "If I win-" <<He>> points at your $worn.under_lower.name. <span class="pink">"I take your <<panties>>."</span> <<else>> <<if $estate.cards.state is "ride">> "If I win-" <<rng 4>> <<if $rng is 4>> <<set $estate.cards.desire to "kiss">> <<He>> hovers <<his>> mouth close, until you feel <<his>> breath on your lips. "We kiss." <<elseif $rng is 3>> <<He>> grins. "I get to fondle your <<if $player.penisExist and $player.vaginaExist>> <<if random(1, 2) is 2>> <<set $estate.cards.desire to "penis_grope">> cock." <<else>> <<set $estate.cards.desire to "pussy_grope">> pussy." <</if>> <<elseif $player.penisExist>> <<set $estate.cards.desire to "penis_grope">> penis." <<else>> <<set $estate.cards.desire to "pussy_grope">> pussy." <</if>> <<elseif $rng is 2>> <<set $estate.cards.desire to "bottom_grope">> <<He>> grins. "I get to fondle your bum." <<elseif $rng is 1>> <<set $estate.cards.desire to "chest_grope">> <<He>> grins. "I get to play with your chest." <</if>> <<else>> <<if $estate.cards.lust gte 2>> <<if $NPCList[0].penis isnot "none">> "If I win-" <<He>> grins. <<if $player.vaginaExist and !playerChastity("hidden")>> "You sit on my lap. Don't worry. I won't touch your pussy. Yet." <<set $estate.cards.desire to "vaginal">> <<elseif $analdisable is "f" and !playerChastity("anus")>> "You sit on my lap. Don't worry. I won't take advantage. Yet." <<set $estate.cards.desire to "anal">> <<elseif !playerChastity("hidden")>> "You sit on my lap. Don't worry. I won't take advantage. Yet." <<set $estate.cards.desire to "wren_lap">> <<else>> <<He>> looks at your $worn.genitals.name. "That's an interesting device you have there," <<he>> says, reclining in <<his>> chair. "<span class="blue">I'd love to see beneath it.</span> For now though, I have everything I want from you. Have a safe trip home." <<His>> friends laugh. <<set $estate.cards.desire to "chastity">> <</if>> <<else>> "If I win-" <<He>> grins. <<if $player.penisExist and !playerChastity("penis")>> "I sit on your lap. Don't worry. I won't touch your cock. Yet." <<set $estate.cards.desire to "penile">> <<elseif !playerChastity("hidden")>> "I sit on your lap. Don't worry. I won't take advantage. Yet." <<set $estate.cards.desire to "pc_lap">> <<else>> <<He>> looks at your $worn.genitals.name. "That's an interesting device you have there," <<he>> says, reclining in <<his>> chair. "<span class="blue">I'd love to see beneath it.</span> For now though, I have everything I want from you. Have a safe trip home." <<His>> friends laugh. <<set $estate.cards.desire to "chastity">> <</if>> <</if>> <<elseif $estate.cards.lust gte 1>> <<set $estate.cards.desire to "bend">> "If I win-" <<He>> grins. "You climb atop your chair and bend over. Let us see you more closely." <<else>> <<set $estate.cards.desire to "twirl">> "If I win-" <<He>> grins. "You twirl on the spot. Give us a show. And no covering with your hands." The others murmur their enthusiasm. <</if>> <</if>> <</if>> <</widget>> <<widget "cards_strip_text">> "Don't keep us waiting. <<if $rng gte 91>> Give it here." <<elseif $rng gte 81>> Let's have it off." <<elseif $rng gte 71>> Strip." <<elseif $rng gte 61>> Off it comes." <<elseif $rng gte 51>> Let's see what's beneath." <<elseif $rng gte 41>> That's my property now." <<elseif $rng gte 31>> Have it off." <<elseif $rng gte 21>> Let's see you strip." <<elseif $rng gte 11>> Strip, or be stripped." <<else>> I'm not a patient <<nnpc_gender "Wren">>." <</if>> <</widget>> <<widget "cards_exposure_text">> <<if random(1, 10) is 10>> <<if $worn.over_upper.exposed gte 2 and $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1 and ($player.sex is "f" or $player.gender_appearance is "f")>> <<if $uncomfortable.nude is true>> <span class="lewd">You keep one arm over your <<breasts>>, protecting them from the prying eyes of Wren and <<his>> friends.</span> <br> <<else>> <span class="lewd">You can feel Wren and <<his>> friends' eyes on your <<breasts>>, but you don't care. You're focused on the game.</span> <br> <</if>> <<elseif $worn.over_upper.exposed gte 1 and $worn.upper.exposed gte 1 and ($player.sex is "f" or $player.gender_appearance is "f")>> <<if $uncomfortable.underwear is true>> <span class="lewd">You feel self-conscious about the lack of clothing on your chest, and keep one arm over it.</span> <br> <<else>> <span class="lewd">You're unbothered by having so little clothing on your chest.</span> <br> <</if>> <</if>> <</if>> <<if random(1, 10) is 10>> <<if $worn.over_lower.exposed gte 2 and $worn.lower.exposed gte 2 and $worn.under_lower.exposed gte 1>> <<if $uncomfortable.nude is true>> <span class="lewd">Even sat with your legs under the table, your bare <<bottom>> and <<genitals>> make you feel so exposed.</span> <br> <<else>> <span class="lewd">You're unbothered by your bare <<bottom>> and <<genitals>>. They're under the table anyway.</span> <br> <</if>> <<elseif $worn.over_lower.exposed gte 1 and $worn.lower.exposed gte 1 and !$worn.under_lower.type.includes("covered")>> <<if $uncomfortable.underwear is true>> <span class="lewd">Wearing so little beneath your waist makes you feel uncomfortable.</span> <br> <<else>> <span class="lewd">You're unbothered by having so little clothing beneath your waist.</span> <br> <</if>> <</if>> <</if>> <<if random(1, 10) is 10>> <<if $estate.cards.wren_top is 0 and $estate.cards.wren_under_top is 0>> <<if $pronoun is "f">> <span class="lewd">Wren <<if $NPCList[0].breastsize gte 5>>struggles to keep<<else>>keeps<</if>> <<his>> <<print $NPCList[0].breastsdesc>> covered with one arm.</span> <br> <<else>> <span class="lewd">Wren shuffles uncomfortably as you glance at <<his>> bare chest.</span> <br> <</if>> <<elseif $estate.cards.wren_top is 0>> <<if $pronoun is "f">> <span class="lewd">Wren shuffles uncomfortably as you glance at <<his>> bra.</span> <br> <</if>> <</if>> <</if>> <<if random(1, 10) is 10>> <<if $estate.cards.wren_bottoms is 0 and $estate.cards.wren_under_bottoms is 0>> <<if $pronoun is "f">> <span class="lewd">Wren folds one leg over the other, covering <<his>> bare groin.</span> <br> <<else>> <span class="lewd">Wren keeps <<his>> legs held tight together.</span> <br> <</if>> <<elseif $estate.cards.wren_bottoms is 0>> <span class="lewd">Wren shifts uncomfortably as a colleague glances at <<his>> <<if $pronoun is "f">>panties<<else>>briefs<</if>>.</span> <br> <</if>> <</if>> <<if random(1, 10) is 10>> <<if $estate.cards.state is "ride">> <<switch $estate.cards.position>> <<case "wren_lap">> <<case "pc_lap">> <<case "penile">> <span class="lewd">Wren kisses your <<penis>> with <<his>> pussy.</span> <br> <<case "vaginal">> <span class="lewd">Wren pokes your <<pussy>> with <<his>> <<print $NPCList[0].penisdesc>>.</span> <br> <<case "anal">> <span class="lewd">Wren rubs <<his>> <<print $NPCList[0].penisdesc>> against your <<bottom>>.</span> <br> <</switch>> <</if>> <</if>> <br> <</widget>> <<widget "cards_naked_cover">> <<if $uncomfortable.nude is true>> <span class="lewd">You cover your <<breasts>> with an arm, and keep your thighs squeezed tight together.</span> <br><br> <</if>> <</widget>> <<widget "cards_bottom_cover">> <<if $uncomfortable.nude is true>> <span class="lewd">You keep your thighs squeezed tight together.</span> <br><br> <</if>> <</widget>> <<widget "cards_top_cover">> <<if $uncomfortable.nude is true>> <span class="lewd">You cover your <<breasts>> with an arm.</span> <br><br> <</if>> <</widget>> <<widget "cards_underwear_cover">> <<if $uncomfortable.underwear is true>> <span class="lewd">You cover your $worn.under_upper.name with one arm, and make sure your $worn.under_lower.name <<underlowerplural>> on right.</span> <br><br> <</if>> <</widget>> <<widget "cards_bra_cover">> <<if $uncomfortable.underwear is true>> <span class="lewd">You cover your $worn.under_upper.name with an arm.</span> <br><br> <</if>> <</widget>> <<widget "cards_virginity_all_warnings">> <<set _player_suspicious to $estatePersistent.suspicion gt 0>> <<if $estate.cards.position is "vaginal">> <<if $player.virginity.vaginal is true>> <<if _player_suspicious>> <span class="red">If you orgasm, or if you're caught cheating - Wren will take your virginity.</span> <<else>> <span class="red">If you orgasm, Wren will take your virginity.</span> <</if>> <</if>> <<elseif $estate.cards.position is "penile">> <<if $player.virginity.penile is true>> <<if _player_suspicious>> <span class="red">If you orgasm, or if you're caught cheating - Wren will take your virginity.</span> <<else>> <span class="red">If you orgasm, Wren will take your virginity.</span> <</if>> <</if>> <<elseif $estate.cards.position is "anal">> <<if $player.virginity.anal is true>> <<if _player_suspicious>> <span class="red">If you orgasm, or if you're caught cheating - Wren will take your anal virginity.</span> <<else>> <span class="red">If you orgasm, Wren will take your anal virginity.</span> <</if>> <</if>> <</if>> <</widget>> <<widget "cards_virginity_warning">> <<if $estate.cards.position is "vaginal">> <<if $player.virginity.vaginal is true>> <span class="red">If you orgasm, Wren will take your virginity.</span> <</if>> <<elseif $estate.cards.position is "penile">> <<if $player.virginity.penile is true>> <span class="red">If you orgasm, Wren will take your virginity.</span> <</if>> <<elseif $estate.cards.position is "anal">> <<if $player.virginity.anal is true>> <span class="red">If you orgasm, Wren will take your anal virginity.</span> <</if>> <</if>> <</widget>> <<widget "cards_cheating_virginity_warning">> <<set _is_inline to _args[0]>> <<if $estate.cards.position is "vaginal">> <<if $player.virginity.vaginal is true>> <<if !_is_inline>><br><<else>> | <</if>> <span class="red">If you're caught cheating, Wren will take your virginity.</span> <</if>> <<elseif $estate.cards.position is "penile">> <<if $player.virginity.penile is true>> <<if !_is_inline>><br><<else>> | <</if>> <span class="red">If you're caught cheating, Wren will take your virginity.</span> <</if>> <<elseif $estate.cards.position is "anal">> <<if $player.virginity.anal is true>> <<if !_is_inline>><br><<else>> | <</if>> <span class="red">If you're caught cheating, Wren will take your anal virginity.</span> <</if>> <</if>> <</widget>> <<widget "cards_arousal_check">> <<if $arousal gte $arousalmax>> It's too much. <<orgasm>> <br><br> <<set _cards_orgasm to true>><<set $consensual to 1>> <<elseif $arousal gte ($arousalmax / 5) * 4>> <<elseif $arousal gte ($arousalmax / 5) * 3>> <<elseif $arousal gte ($arousalmax / 5) * 2>> <<else>> <</if>> <</widget>> <<widget "card_clothes_lost">> <<set $_cloth_type to _args[0]>> <<if $estate.cards.confiscatedClothes eq null>> <<set $estate.cards.confiscatedClothes to []>> <</if>> <<run $estate.cards.confiscatedClothes.push({ "type": $_cloth_type, "copy": clone($worn[$_cloth_type]) })>> <<generalStrip $_cloth_type>> <</widget>> <<widget "card_clothes_rebuy_calculate">> <<set $_total_price to 0>> <<for $_obj range $estate.cards.confiscatedClothes>> <<set $_cur to $_obj["copy"]>> <<set $_base to setup.clothes[$_obj["type"]][$_cur["index"]]>> <<if $_base.cost gt 0>> <!-- base 20% reduction for having been worn --> <<set $_price to $_base.cost * 0.8>> <<set $_integrity_frac to inverseLerp($_cur.integrity, 0, $_base.integrity_max)>> <!-- making the price drop exponentially relative to the integrity y = (1-x)^2 --> <!-- basically, clothes appear more worn out than they are, and drop the price further --> <<set $_integrity_frac to $_integrity_frac * $_integrity_frac>> <<set $_price to $_price * $_integrity_frac>> <<set $_total_price += $_price>> <</if>> <</for>> <<set $estate.cards.clothesRebuyTerms to {"price": $_total_price}>> <</widget>> <<widget "estate_cards_finish">> <<if $estate.cards.confiscatedClothes and $estate.cards.confiscatedClothes.length gt 0>> <<for $_cloth_obj range $estate.cards.confiscatedClothes>> <<generalRuined $_cloth_obj["type"]>> <</for>> <<set $estate.cards.confiscatedClothes to []>> <</if>> <<run delete $estate.cards.clothesRebuyTerms>> <!-- we should just unset cards, but I'm not 100% that it won't cause any side effects within some code I haven't seen --> <<set $estate.cards_done to true>> <<set $estatePersistent.totalGamesPlayed += 1>> <<if $estate.cards.bettingEnabled>> <<set $estatePersistent.totalGamesPlayedWithBetting += 1>> <</if>> <</widget>> <<widget "card_pot_confiscated">> <<person1>> <<if $estate.cards.bettingEnabled>> <<set $_potValue to $estate.cards.playerPot>> <<if $_potValue gt 0>> <span class="red">Your pot consisting of <<printmoney $_potValue>> has been left behind to be confiscated by Wren and <<his>> goons.</span> <<set $estatePersistent.totalMoneyConfiscated += $_potValue>> <<else>> <span class="gold">You've lost all the money from your pot during the game. If you had any left in the pot, it would've been left behind to be confiscated by Wren and <<his>> goons.</span> <</if>> <br><br> <!-- the money just doesn't get added to PC's account and is automatically reset by <<estate_end>>, whenever it gets called --> <!-- the player won't be able to get into the cottage until $estate.cards_done is reset by <<estate_end>>, so this is safe --> <<money `-$_potValue` "blackjack" { recordOnly: true }>> <</if>> <</widget>> <<widget "card_pot_collected">> <<if $estate.cards.bettingEnabled>> <<set $_potValue to $estate.cards.playerPot>> <<set $_moneyDiff to $estate.cards.playerPot - $estate.cards.ante>> <<set $_resStr to $_moneyDiff gte 0 ? "profit" : "loss">> <<if $_potValue gt 0>> <span class="green">You approach the pot and take your winnings. You've gained <<money $_potValue "blackjack">><<printmoney $_potValue>>, finishing the game with a <<printmoney $_moneyDiff>> $_resStr.</span> <<else>> <span class="red">You've lost all the money from your pot during the game, so you have to leave empty-handed.</span> <</if>> <br><br> <</if>> <</widget>> <<widget "blackjackPostGameThrowTips">> <<if $estate.cards.bettingEnabled>> <!-- the goons throw in tips even if you're not betting, as long as you've paid the ante --> <!-- the goons throw in 5-15% of your bet, plus a random base of 1-5 --> <<set $_tipAmount to random(100,500)>> <<set $_tipPct to random(5,15)/100>> <<set $_tipAmount += $estate.cards.currentBetInput * 100 * $_tipPct>> Wren's goons throw <<printmoney $_tipAmount>> into your pot, as a tip. <br><br> <<set $estate.cards.playerPot += $_tipAmount>> <<set $estatePersistent.totalTipMoneyMade += $_tipAmount>> <</if>> <</widget>> <<widget "blackjackPostGameBettingResult">> <<set $_playerWon to _args[0]>> <<if $estate.cards.bettingEnabled and $estate.cards.currentBetInput gt 0>> <<set $_bet to $estate.cards.currentBetInput * 100>> <<if $_playerWon>> <<set $estate.cards.playerPot += $_bet>> <<set $estate.cards.wrenMoney -= $_bet>> <<set $estatePersistent.totalBetMoneyMade += $_bet>> <<else>> <<set $estate.cards.playerPot -= $_bet>> <<set $estate.cards.wrenMoney += $_bet>> <<set $estatePersistent.totalBetMoneyLost += $_bet>> <</if>> <</if>> <</widget>> <<widget "blackjackResultText">> <<handheldon>> <<set $_playerWon to _args[0]>> <<calculateBlackjackLuckStats>> <<set $_luckFlow to "neutral">> <!-- wren|player|neutral --> <!-- the player has a bad streak if less than 50% of the games are ties, and the opponent has won 2x as many games. 6 games are considered normally. --> <!-- here's all the possible cases (generated with the code in the comment of calculateBlackjackLuckStats) --> <!-- Player lucky cases 3 wins / 1 losses / 2 ties | wins 50.00% losses 16.67% ties 33.33% 4 wins / 0 losses / 2 ties | wins 66.67% losses 0.00% ties 33.33% 4 wins / 1 losses / 1 ties | wins 66.67% losses 16.67% ties 16.67% 4 wins / 2 losses / 0 ties | wins 66.67% losses 33.33% ties 0.00% 5 wins / 0 losses / 1 ties | wins 83.33% losses 0.00% ties 16.67% 5 wins / 1 losses / 0 ties | wins 83.33% losses 16.67% ties 0.00% Wren lucky cases 0 wins / 4 losses / 2 ties | wins 0.00% losses 66.67% ties 33.33% 0 wins / 5 losses / 1 ties | wins 0.00% losses 83.33% ties 16.67% 1 wins / 3 losses / 2 ties | wins 16.67% losses 50.00% ties 33.33% 1 wins / 4 losses / 1 ties | wins 16.67% losses 66.67% ties 16.67% 1 wins / 5 losses / 0 ties | wins 16.67% losses 83.33% ties 0.00% 2 wins / 4 losses / 0 ties | wins 33.33% losses 66.67% ties 0.00% Neutral cases 0 wins / 1 losses / 5 ties | wins 0.00% losses 16.67% ties 83.33% 0 wins / 2 losses / 4 ties | wins 0.00% losses 33.33% ties 66.67% 0 wins / 3 losses / 3 ties | wins 0.00% losses 50.00% ties 50.00% 1 wins / 0 losses / 5 ties | wins 16.67% losses 0.00% ties 83.33% 1 wins / 1 losses / 4 ties | wins 16.67% losses 16.67% ties 66.67% 1 wins / 2 losses / 3 ties | wins 16.67% losses 33.33% ties 50.00% 2 wins / 0 losses / 4 ties | wins 33.33% losses 0.00% ties 66.67% 2 wins / 1 losses / 3 ties | wins 33.33% losses 16.67% ties 50.00% 2 wins / 2 losses / 2 ties | wins 33.33% losses 33.33% ties 33.33% 2 wins / 3 losses / 1 ties | wins 33.33% losses 50.00% ties 16.67% 3 wins / 0 losses / 3 ties | wins 50.00% losses 0.00% ties 50.00% 3 wins / 2 losses / 1 ties | wins 50.00% losses 33.33% ties 16.67% 3 wins / 3 losses / 0 ties | wins 50.00% losses 50.00% ties 0.00% --> <!-- to tweak these values, check calculateBlackjackLuckStats --> <!-- the first 4 games will always be neutral --> <<if $estate.cards.luckStats and $estate.cards.luckStats.total gte 5>> /* pcts[ind][0] >= pcts[ind][1]*2 && pcts[ind][2] < .7 */ <<if $estate.cards.luckStats["winPct"] gte $estate.cards.luckStats["lossPct"] * 2.5 and $estate.cards.luckStats["tiePct"] lt 0.5>> <<set $_luckFlow to "player">> <<elseif $estate.cards.luckStats["lossPct"] gte $estate.cards.luckStats["winPct"] * 2.5 and $estate.cards.luckStats["tiePct"] lt 0.5>> <<set $_luckFlow to "wren">> <<else>> <<set $_luckFlow to "neutral">> <</if>> <</if>> <<if $estate.cards.bettingEnabled and $estate.cards.currentBetInput gt 0>> <<formatmoney `$estate.cards.currentBetInput * 100`>> <<set $_money to '<span class="' + ($_playerWon ? 'gold' : 'red') + '">' + _printmoney + '</span>'>> <<if $_playerWon>> <<if $_luckFlow is "neutral">> <<switch random(1,3)>> <<case 1>> "Good game," Wren says as <<he>> pushes the $_money to the side, to your pot, seemingly unaffected by the loss. <<case 2>> Wren smiles and lazily pushes your $_money towards your pot. If <<hes>> frustrated - <<hes>> hiding it well. <<case 3>> "Oh well," Wren says with a smile as <<he>> motions for <<his>> goon to push the $_money to your pot. <</switch>> <<elseif $_luckFlow is "wren">> <<switch random(1,3)>> <<case 1>> "Can't win them all," Wren says, as <<he>> pushes the $_money to the side, to your pot, seemingly unaffected by the loss. <<case 2>> "Looks like lady luck has finally smiled at you," Wren says as <<he>> motions for <<his>> goon to push the $_money to your pot. <<case 3>> "And I was doing so well," Wren says with a smile as <<he>> pushes the $_money towards your pot. <</switch>> <<else>> <<switch random(1,5)>> <<case 1>> Wren scoffs and lazily swipes <<his>> hand across the pot of $_money, pushing it towards your pot. <<case 2>> "You're awfully lucky today," Wren says as <<he>> pushes the $_money towards your pot, <<his>> face betraying a hint of annoyance. <<case 3>> Wren motions for <<his>> goon to push the $_money to your pot. For a second, you think you can see <<him>> gritting <<his>> teeth in frustration. <<case 4>> "A black cat must've crossed my path today," Wren says with a resigned chuckle as <<he>> pushes the $_money towards your pot. <<case 5>> "You should buy a lottery ticket," Wren says as <<he>> motions for <<his>> goon to push the $_money to your pot. <</switch>> <</if>> <<else>> <<if $_luckFlow is "neutral">> <<switch random(1,3)>> <<case 1>> "Good game," Wren grins as <<he>> reaches for the pot of cash, and hands it to one of <<his>> goons, who safely stashes the $_money away. <<case 2>> Wren lazily reaches for the pot of $_money and hands it over to <<his>> goon, a satisfied grin on <<his>> face. <<case 3>> "Better luck next time," Wren says with a smile as <<he>> motions for <<his>> goon to take the $_money. <</switch>> <<elseif $_luckFlow is "wren">> <<switch random(1,3)>> <<case 1>> "The game's going great," Wren says, as <<he>> reaches for the pot of cash, and hands it to one of <<his>> goons, who safely stashes the $_money away. <<case 2>> "Looks like lady luck is smiling at me," Wren says as <<he>> lazily reaches for the pot of $_money and hands it over to <<his>> goon, a satisfied grin on <<his>> face. <<case 3>> "Lady luck has turned her back on you," Wren says with a smile as <<he>> motions for <<his>> goon to take the $_money. <</switch>> <<else>> <<switch random(1,3)>> <<case 1>> "Finally, some good luck," Wren says, as <<he>> reaches for the pot of cash, and hands it to one of <<his>> goons, who safely stashes the $_money away. <<case 2>> "Your streak couldn't go on forever," Wren says as <<he>> lazily reaches for the pot of $_money and hands it over to <<his>> goon, a satisfied grin on <<his>> face. <<case 3>> "Looks like your good streak is ending," Wren says with a smile as <<he>> motions for <<his>> goon to take the $_money. <</switch>> <</if>> <</if>> <<else>> <<if $_playerWon>> <<if $_luckFlow is "neutral">> <<switch random(1,3)>> <<case 1>> "Good game," Wren says. <<case 2>> Wren gives you a light smile. <<case 3>> "Oh well," Wren says with a smile. <</switch>> <<elseif $_luckFlow is "wren">> <<switch random(1,3)>> <<case 1>> "Can't win them all," Wren says, leaning back on the chair. <<case 2>> "Looks like lady luck has finally smiled at you," Wren says. <<case 3>> "And I was doing so well," Wren says with a smile. <</switch>> <<else>> <<switch random(1,5)>> <<case 1>> Wren scoffs, leaning back on the chair. <<case 2>> "You're awfully lucky today," Wren says. <<case 3>> Wren crosses <<his>> arms as <<he>> leans back on the chair, giving you a resigned smile. <<case 4>> "A black cat must've crossed my path today," Wren says with a resigned chuckle. <<case 5>> "You should buy a lottery ticket," Wren says. <</switch>> <</if>> <<else>> <<if $_luckFlow is "neutral">> <<switch random(1,3)>> <<case 1>> "Good game," Wren grins. <<case 2>> Wren sits up and leans forward with a satisfied grin on <<his>> face. <<case 3>> "Better luck next time," Wren says with a smile. <</switch>> <<elseif $_luckFlow is "wren">> <<switch random(1,3)>> <<case 1>> "The game's going great," Wren says, as <<he>> sits up and leans forward. <<case 2>> "Looks like lady luck is smiling at me," Wren says. <<case 3>> "Lady luck has turned her back on you," Wren says with a smile. <</switch>> <<else>> <<switch random(1,3)>> <<case 1>> "Finally, some good luck," Wren says as <<he>> sits up and leans forward. <<case 2>> "Your streak couldn't go on forever," Wren says as <<he>> leans forward. <<case 3>> "Looks like your good streak is ending," Wren says with a smile. <</switch>> <</if>> <</if>> <</if>> <</widget>> <<widget "cards_oral_options">> <<if $estate.cards.clothesRebuyTerms and $estate.cards.clothesRebuyTerms.price gt $money>> <span class="blue">You don't have enough money to accept the deal.</span> <br><br> <<elseif hasSexStat("promiscuity", 4)>> <<link [[Accept|Estate Cards Oral]]>><</link>><<promiscuous4>><<goralskill>> <br> <<else>> <<insufficientStat "promiscuity" "to take up such an offer">> But leaving with nothing will be dangerous. <br><br> <<link [[Accept|Estate Cards Oral]]>><<trauma 6>><<stress 6>><</link>><<gtrauma>><<gstress>> <br> <</if>> <<link [[Refuse|Estate Cards Oral Refuse]]>><</link>> <br> <</widget>> <<widget "cards_naked_end">> <<covered>> <<if $speech_attitude is "meek">> "I-I have no clothes," you say. "C-could you give me something to cover with?" <<elseif $speech_attitude is "bratty">> "You're really gonna leave me with no clothes?" you ask. "Give me a towel or something at least." <<else>> "Could you give me a towel, at least?" you ask. "I'll be in danger like this." <</if>> <br><br> Wren leans behind <<him>>, and opens a drawer. <<He>> feels inside, and produces a small towel. "You can have this," <<he>> says. "But you'll have to earn it. I think my friends here deserve some fun." <br><br> "Satisfy them with your mouth," <<he>> continues. "And I'll let you wear a towel." <br><br> <<cards_oral_options>> <</widget>> <<widget "cards_play_options">> <<if $estate.cards.bettingEnabled>> <<person1>> <!-- would it perhaps be better to recover the previous bet input here, so that the player doesn't have to manually input the max bet every time? --> <<set $estate.cards.currentBetInput to 0>> <!-- the player can't bet more than Wren has, or more than the player has in the pot (including tips), or more than the max bet--> <<set $_maxBetAmount to Math.min($estate.cards.baseMaxBet, $estate.cards.wrenMoney, $estate.cards.playerPot)>> <!-- rounding down to nearest multiple of X (X pounds = step) --> <<set $_step to $estate.cards.betStep>> <<set $_maxBetAmount to Math.floor($_maxBetAmount / $_step) * $_step>> <<set $_moneyDiff to $estate.cards.playerPot - $estate.cards.ante>> <div> <div><span>Your money on the table<mouse class="tooltip">(?)<span>The amount of money you've made that is kept on the table as insurance (including tips and your ante). If you get caught cheating or run away, you either have to risk trying to take it with you or abandon it.</span></mouse>: <<printmoney $estate.cards.playerPot>></span></div> <div><span>Your current winnings<mouse class="tooltip">(?)<span>The total standing, how much money you've made or lost in the game (including tips). Does not represent the final amount you'll end up with, as you might end up abandoning your winnings for a less risky escape.</span></mouse>: <<printmoney $_moneyDiff>></span></div> <div><span>Wren's pot<mouse class="tooltip">(?)<span>The amount of money Wren has that you can win (including <<his>> ante). The tips come from the goons, so they're not included. If Wren's pot is exhausted, <<he>> will not be able to bet any more until the next day.</span></mouse>: <<printmoney $estate.cards.wrenMoney>></span></div> <<if $_maxBetAmount gt 0>> <div><span>Your bet:</span><<numberslider "$estate.cards.currentBetInput" 0 0 `$_maxBetAmount/100` `$_step/100`>></div> <<elseif $estate.cards.playerPot lt $_step>> <span class="blue">You don't have enough money in your pot to place the minimum bet (<<printmoney $_step>> required).</span> <<else>> <span class="blue">Wren doesn't have enough money left in <<his>> pot to match the minimum bet.</span> <</if>> </div> <br><br> <</if>> <<if $estate.cards.desire is "chastity">> <<getouticon>><<link [[Leave|Estate Cards Leave]]>><<handheldon>><</link>> <br> <<else>> <<gameicon "cards">><<link [[Play (0:01)|Estate Blackjack]]>><<pass 1>><<handheldon>><</link>> <<if $estate.cards.state is "ride">> <span class="purple">Losing may increase arousal.</span> <<cards_virginity_all_warnings>> <</if>> <<if _cards_desire is "kiss" and $player.virginity.kiss is true>> <span class="red">If you lose, Wren will take your first kiss.</span> <</if>> <br> <<getouticon>><<link [[Leave|Estate Cards Leave]]>><<npcincr Wren love -1>><<handheldon>><</link>><<llove>> <br> <</if>> <</widget>> <<widget "cards_start_play_options">> <<if $farm_stage gte 5>> <<gameicon "cards">><<link [[Play cards|Estate Cards Intro 2]]>><</link>> <<if $estatePersistent.stakesRaised>> <<set $_anteMaxNum to setup.estateBlackjack.anteSizes.length - 1>> <<for _i to 0; _i lte $_anteMaxNum; _i++>> <<set _anteAmount to setup.estateBlackjack.anteSizes[_i]>> <<set _cards to "cards_" + _i>> <<formatmoney _anteAmount>> <<set $_confidenceMoney to setup.estateBlackjack.confidenceMoney[_i]>> <<set $_primaryReq to setup.estateBlackjack.primaryRequirements[_i]>> <<if $money gte $_confidenceMoney or Scripting.evalTwineScript($_primaryReq.check)>> <<if $money lt _anteAmount>> <br> <span class="blue">Play cards with betting (_printmoney upfront): you're confident, but you don't have enough money.</span> <<else>> <<set _linkText to "Play cards with betting (" + _printmoney + " upfront)">> <br> <<capture _linkText, _anteAmount, _i>> <<gameicon _cards>><<link [[_linkText|Estate Cards Intro 2]]>><<estate_betting_start _i>><</link>> <</capture>> <</if>> <<else>> <br> <span class="blue">Play cards with betting (_printmoney upfront): you're not confident enough to risk that much money. <i><<print $_primaryReq.message>></i></span> <</if>> <</for>> <<elseif $wren_intro isnot undefined and not ($estate.cards.suggestedRaisingStakesToday or $estatePersistent.playerRejectedRaisingStakes)>> <!-- $estate.cards.suggestedRaisingStakesToday prevents you from trying to convince Wren again until you leave the estate once, to give them time to think --> <br> <<if not $estatePersistent.suggestedRaisingStakes>> <<ind>><<link [[Suggest raising the stakes|Estate Cards Suggest Betting Init]]>><</link>> <<else>> <<ind>><<link [[Suggest raising the stakes|Estate Cards Suggest Betting Again]]>><</link>> <</if>> <<elseif $estatePersistent.playerRejectedRaisingStakes>> <br> <<ind>><<link [[Accept raising the stakes|Estate Cards Reconsider Accept Betting]]>><</link>> <</if>> <br> <</if>> <<if isPubfameTaskAccepted("wren")>> <<ind>><<link [[Give Wren the letter|Estate Fame Letter]]>><</link>> <br> <</if>> <<getouticon>><<link [[Leave|Estate Cards Intro Leave]]>><</link>> <</widget>> <<widget "cards_lap_return">> <<if $estate.cards.state is "ride">> <<if $estate.cards.position is "pc_lap">> You sit down. Wren swings <<his>> leg over you, resuming the position. <<elseif $estate.cards.position is "wren_lap">> Wren sits down, and points at <<his>> lap. You swing a leg over, resuming the position. <<elseif $estate.cards.position is "penile">> You sit down. Wren swings <<his>> leg over you, resuming the position. <<cards_lap_clothes>> <<His>> pussy threatens your <<penis>> once more. <<elseif $estate.cards.position is "vaginal">> Wren sits down, and points at <<his>> lap. You swing a leg over, resuming the position. <<cards_lap_clothes>> <<His>> <<print $NPCList[0].penisdesc>> threatens your <<pussy>> once more. <<elseif $estate.cards.position is "anal">> Wren sits down, and points at <<his>> lap. You swing a leg over, resuming the position. <<cards_lap_clothes>> <<His>> <<print $NPCList[0].penisdesc>> threatens your <<bottom>> once more. <</if>> "Where were we?" <<he>> teases. <<else>> <</if>> <</widget>> <<widget "cards_lap_clothes">> <<if $estate.cards.wren_bottoms is 1>> <<if $estate.cards.wren_under_bottoms is 1>> <<if C.npc.Wren.pronoun is "f">> <<He>> hitches up <<his>> skirt and pulls aside <<his>> panties. <<else>> <<He>> unzips <<his>> fly and pulls aside <<his>> briefs. <</if>> <<else>> <<if C.npc.Wren.pronoun is "f">> <<He>> hitches up <<his>> skirt. <<else>> <<He>> unzips <<his>> fly. <</if>> <</if>> <<else>> <<if $estate.cards.wren_under_bottoms is 1>> <<if C.npc.Wren.pronoun is "f">> <<He>> pulls aside <<his>> panties. <<else>> <<He>> pulls aside <<his>> briefs. <</if>> <<else>> <<if C.npc.Wren.pronoun is "f">> Wren grinds against you for good measure. <<else>> Wren grinds against you for good measure. <</if>> <</if>> <</if>> <</widget>> <<widget "cards_lap_clothes_intro">> <<if $estate.cards.wren_bottoms is 1>> <<if $estate.cards.wren_under_bottoms is 1>> <<if C.npc.Wren.pronoun is "f">> Wren hitches up <<his>> skirt and pulls aside <<his>> panties, <<else>> Wren unzips <<his>> fly and pulls aside <<his>> briefs, <</if>> <<if $estate.cards.position is "penile">> <span class="lewd">revealing <<his>> pussy.</span> <<else>> <span class="lewd">revealing <<his>> <<print $NPCList[0].penisdesc>>.</span> <</if>> <<else>> <<if C.npc.Wren.pronoun is "f">> Wren hitches up <<his>> skirt, <<else>> Wren unzips <<his>> fly, <</if>> <<if $estate.cards.position is "penile">> <span class="lewd">revealing <<his>> pussy.</span> <<else>> <span class="lewd">revealing <<his>> <<print $NPCList[0].penisdesc>>.</span> <</if>> <</if>> <<else>> <<if $estate.cards.wren_under_bottoms is 1>> <<if C.npc.Wren.pronoun is "f">> Wren pulls aside <<his>> panties, <<else>> Wren pulls aside <<his>> briefs, <</if>> <<if $estate.cards.position is "penile">> <span class="lewd">revealing <<his>> pussy.</span> <<else>> <span class="lewd">revealing <<his>> <<print $NPCList[0].penisdesc>>.</span> <</if>> <<else>> <<if C.npc.Wren.pronoun is "f">> <<else>> <</if>> <</if>> <</if>> <</widget>> <<widget "wren_sabotage_nude">> <<if $estate.cards.wren_under_bottoms is 0 and $estate.cards.wren_exposed_text lt 2>> Wren walks to the door, keeping a hand over <<his>> <<if $NPCList[0].penis isnot "none">> <<print $NPCList[0].penisdesc>>. <<else>> pussy. <</if>> "C-Come on then," <<he>> says. <<set $estate.cards.wren_exposed_text to 2>> <<elseif $estate.cards.wren_under_top is 0 and $NPCList[0].pronoun is "f" and $estate.cards.wren_exposed_ lt 1>> Wren walks to the door, keeping an arm over <<his>> <<print $NPCList[0].breastsdesc>>. "This is nothing," <<he>> lies. "I go topless on the beach all the time." <<set $estate.cards.wren_exposed_text to 1>> <<elseif $estate.cards.wren_top is 0 or $estate.cards.wren_bottoms is 0 or $estate.cards.wren_under_top is 0 and !$estate.cards.wren_exposed_text>> Wren walks to the door without dressing. "Think I won't do it?" <<he>> asks. <<set $estate.cards.wren_exposed_text to 1>> <<else>> Wren strides to the door. <</if>> <<if $exposed gte 2 and $uncomfortable.nude is true and $estate.cards.pc_exposed_text lt 2>> You're nervous about your nudity. <<He>> leans against the door frame. "You're coming too. You want to make sure I follow through, right?" <br><br> You follow, keeping your body covered as best you can. <br><br> <<set $estate.cards.pc_exposed_text to 2>> <<elseif $exposed is 1 and $uncomfortable.underwear is true and $estate.cards.pc_exposed_text lt 1>> You're nervous about your state of dress. <<He>> leans against the door frame. "You're coming too. You want to make sure I follow through, right?" <br><br> You follow, keeping your body covered as best you can. <br><br> <<set $estate.cards.pc_exposed_text to 1>> <<else>> <br><br> <</if>> <<if $estate.cards.wren_top is 0 or $estate.cards.wren_bottoms is 0 or $estate.cards.wren_under_top is 0 or $estate.cards.wren_under_bottoms is 0>> <<if $exposed gte 2 and $uncomfortable.nude is true and $estate.cards.pc_exposed_walk lt 3>> You walk across the estate beside Wren, <<his>> colleagues following behind. You can feel their ogling, but you suspect they're looking at Wren as well. <br><br> You pass a pair of Remy's other goons. They don't stop you, and look bemused by Wren's appearance. <<His>> pace quickens. <br><br> <<set $estate.cards.pc_exposed_walk to 3>> <<elseif $exposed is 1 and $uncomfortable.underwear is true and $estate.cards.pc_exposed_walk lt 2>> You walk across the estate beside Wren, <<his>> colleagues following behind. You can feel their ogling, but you suspect they're looking at Wren as well. <br><br> You pass a pair of Remy's other goons. They don't stop you, and look bemused by Wren's appearance. <<His>> pace quickens. <br><br> <<set $estate.cards.pc_exposed_walk to 2>> <<elseif !$estate.cards.pc_exposed_walk>> You walk across the estate behind Wren, alongside <<his>> colleagues. You pass a pair of Remy's other goons. They're distracted by Wren's appearance, and don't stop you. <br><br> <<set $estate.cards.pc_exposed_walk to 1>> <</if>> <<else>> <<if $exposed gte 2 and $uncomfortable.nude is true and $estate.cards.pc_exposed_walk lt 3>> You walk across the estate. Wren insists you lead the way. You can feel <<him>> ogling your <<bottom>>. You pass a pair of Remy's other goons. They don't stop you, seeming content to leer. <br><br> <<set $estate.cards.pc_exposed_walk to 3>> <<elseif $exposed is 1 and $uncomfortable.underwear is true and $estate.cards.pc_exposed_walk lt 2>> You walk across the estate. Wren insists you lead the way. You can feel <<him>> ogling your <<bottom>>. You pass a pair of Remy's other goons. They don't stop you, seeming content to leer. <br><br> <<set $estate.cards.pc_exposed_walk to 2>> <<elseif !$estate.cards.pc_exposed_walk>> You walk across the estate beside Wren and <<his>> colleagues. You pass a pair of Remy's other goons. One frowns, but they don't stop you. They must trust Wren. <br><br> <<set $estate.cards.pc_exposed_walk to 1>> <</if>> <</if>> <</widget>><<set $outside to 1>><<set $location to "estate">><<set $bus to "estate">><<effects>> <<estate_chaos_bar>> <br> You are in the Remy estate, near the front gate. <<if $estate.chaos gte 100>> You hear shouting. <</if>> <<if $estate.cards.cattle is 1>> A pair of escaped cattle run by. <</if>> There's a small stone building nearby. <<if $estate.chaos gte 100>> <span class="green">The guards have fled their posts in the chaos!</span> <<elseif $estate.chaos gte 80>> <span class="teal">Two guards stand outside.</span> They look ready to run. <<elseif $estate.chaos gte 60>> <span class="lblue">Three guards stand outside.</span> They look nervous. <<elseif $estate.chaos gte 40>> <span class="blue">Four guards stand outside.</span> They look wary. <<elseif $estate.chaos gte 20>> <span class="purple">Five guards stand outside.</span> They look cautious. <<else>> <span class="pink">Six rough-looking guards stand outside.</span> <</if>> There's also a cottage, the mud in front covered in bootprints. Several cars are parked outside. <<if $estate.cards.fire is 1>> Smoke fills the sky. <<set Weather.Temperature.override.increase.outside(5, "The air is hot from the raging fire.")>> <</if>> <br><br> There's a large barn ahead, and a manor looming from a hill beyond. <br><br> <<ind>><<link [[Approach the stone building (0:02)|Estate Stone Approach]]>><<pass 2>><</link>> <br> <<if $estate.cards_done isnot true>> <<mooricon "remy cottage">><<link [[Enter the cottage (0:02)|Estate Cards Enter]]>><<pass 2>><</link>> <br> <</if>> <<if $estate.entrance is "gate">> <<getouticon>><<link [[Leave|Estate Leave Gate]]>><</link>> <br> <<else>> <<getouticon>><<link [[Leave|Estate Leave Secret]]>><</link>> <br> <</if>><<effects>> <<if $estate.chaos gte 100>> You approach the stone building. <span class="green">No one stops you entering the open doors.</span> There's a ramp just inside, leading through a dark passage. There's light at the bottom. <br><br> <<link [[Next|Estate Stone Enter]]>><</link>> <br> <<else>> <<generate1>><<generate2>> <<if $estate.chaos lt 80>> <<generate3>> <</if>> <<if $estate.chaos lt 60>> <<generate4>> <</if>> <<if $estate.chaos lt 40>> <<generate5>> <</if>> <<if $estate.chaos lt 20>> <<generate6>> <</if>> You approach the stone building. The guards will know you're an intruder, and you'll need to fight your way through <<if $estate.chaos gte 80>> <span class="lblue">both of them.</span> <<elseif $estate.chaos gte 60>> <span class="blue">all three of them.</span> <<elseif $estate.chaos gte 40>> <span class="purple">all four of them.</span> <<elseif $estate.chaos gte 20>> <span class="pink">all five of them.</span> <<else>> <span class="red">all six of them.</span> <</if>> <span class="red">Making them cum won't be enough.</span> <br><br> A thought strikes you. <i>If you caused trouble elsewhere, the guards might be drawn away.</i> <br><br> <<link [[Fight|Estate Stone Approach 2]]>><</link>> <br> <<link [[Hide before you're seen|Estate]]>><<endevent>><</link>> <br> <</if>><<effects>> You walk closer. A <<person1>><<person>> reaches for <<his>> weapon, <<if $exposed gte 1>> but stops when <<he>> sees your state of dress. <<covered>> <br><br> "Looks like a lost <<if $player.gender_appearance is "m">>bull<<else>>cow<</if>>," <<he>> says. "Let's help <<phim>> out." <br><br> <<else>> but stops when <<he>> gets a look at you. <br><br> "Looks like a lost <<if $player.gender_appearance is "m">>bull<<else>>cow<</if>>," <<he>> says. "Let's help <<phim>> out." <br><br> <</if>> <<link [[Next|Estate Stone Fight]]>><<set $fightstart to 1>><</link>> <br><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Estate Stone Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Estate Stone Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The <<person>> tries to grab you, but you're able to escape. They still guard the door, but their orgasms have left them too groggy to give chase. <br><br> <<tearful>> you hide in a copse. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Estate]]>><</link>> <br> <<elseif $enemyhealth lte 0>> "Remy isn't worth this," the <<person1>><<person>> says as <<he>> turns and runs. The other guards scatter. <<estate_chaos 100>> <br><br> <<tearful>> you stride into the stone building. There's a ramp just inside, leading through a dark passage. There's light at the bottom. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Estate Stone Enter]]>><</link>> <<else>> You fall to the ground, too hurt to fight. <br><br> "What should we do with <<phim>>?" the <<person2>><<person>> asks. "Give <<phim>> to the boss?" <br> "We're not wasting Remy's time with this riff-raff," the <<person1>><<person>> replies. "I have an idea. Keep <<phim>> here." <br><br> The <<person2>><<person>> presses a foot on your chest as the <<person1>><<person>> disappears down the tunnel. More thugs arrive to investigate the commotion. The <<person1>><<person>> emerges a minute later, carrying a phial of purple fluid, and a mischievous smile. <br><br> <<if $worn.face.type.includes("covered") and $worn.face.type.includes("gag")>> The <<person2>><<person>> returns the grin. <<He>> leans down and <span class="red">removes your $worn.face.name, tossing it aside.</span> "I like the way you think." <br><br> The <<person1>><<person>> kneels beside you. "Open wide," <<he>> orders. <<set $worn.face.type.push("broken")>> <<faceruined>> <<else>> <<He>> kneels beside you. "Open wide." <</if>> <br><br> <<link [[Open wide|Estate Stone Aphrodisiac Accept]]>><<trauma 6>><<sub 1>><</link>><<gtrauma>><<gggarousal>> <br> <<link [[Refuse|Estate Stone Aphrodisiac Refuse]]>><<pain 4>><<def 1>><</link>><<gpain>><<gggarousal>> <br> <</if>><<effects>> You open your mouth. You smell the vapours as the <<person>> opens the phial. So sweet. You almost gag as the liquid touches your throat. The <<person>> feeds you the whole thing. <br><br> A terrible warmth spreads from chest. Your skin yearns to be touched. It spreads to your groin. The sensation is torturous. <br><br> <<link [[Resist|Estate Stone Aphrodisiac Resist]]>><</link>><<willpowerdifficulty 1 1000>> <br> <<link [[Give in|Estate Stone Aphrodisiac Give]]>><</link>> <br><<effects>> You keep your mouth shut. You smell the vapours as the <<person>> opens the phial. So sweet. <<He>> pinches your nose, forcing you to breath through your mouth, then pours the fluid down your throat. You almost gag. The <<person>> feeds you the whole thing. <br><br> A terrible warmth spreads from chest. Your skin yearns to be touched. It spreads to your groin. The sensation is torturous. <br><br> <<link [[Resist|Estate Stone Aphrodisiac Resist]]>><</link>><<willpowerdifficulty 1 1000>> <br> <<link [[Give in|Estate Stone Aphrodisiac Give]]>><</link>> <br><<effects>> <<drugs 300>><<arousal 3000>> <<if $willpowerSuccess>> You feel your mind slip, <span class="green">but you manage to keep yourself together.</span> <<if $speech_attitude is "meek">> "I-I'm not gonna do what you want!" you manage. <<elseif $speech_attitude is "bratty">> "F-Fuck you!" you manage. <<else>> "I-I'm not gonna do what you want!" you manage. <</if>> <br><br> "Must be a faulty batch," the <<person>> says, disappointed. "Whatever. Let's give this <<bitch>> to the moor." <br><br> Hands grasp you from all around, your limbs jerking when touched. They carry you to the gate, and dump you on the grass outside. It rattles shut behind you. <br><br> <<else>> You feel your mind slip, <span class="red">overwhelmed by the toxin.</span> <<if $speech_attitude is "meek">> "P-please fuck me," you say, the words unbidden. "I-I've been good." <<elseif $speech_attitude is "bratty">> "F-Fuck me!" you say, the words unbidden. <<else>> "P-please fuck me," you say, the words unbidden. <</if>> <<gwillpower>><<willpower 3>> <br><br> You hear chuckles all around. You reach for your <<genitals>>, but hands grasp your wrists. Their touches send shocks through your body. You squirm, rubbing your thighs together, desperate for release. <br><br> <<if $arousal gte $arousalmax>> Even without direct stimulation, the sensation is too much. <<orgasm>> <</if>> You're lifted by your limbs, and carried towards the gate. They dump you on the grass outside. It rattles shut behind you. <br><br> <</if>> <<clotheson>> <<endcombat>> <<link [[Next|Moor]]>><<estate_end>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "P-please fuck me," you say, the words unbidden. "I-I've been good." <<elseif $speech_attitude is "bratty">> "F-Fuck me!" you say, the words unbidden. <<else>> "P-please fuck me," you say, the words unbidden. <</if>> <<gwillpower>><<willpower 3>> <br><br> You hear chuckles all around. You reach for your <<genitals>>, but hands grasp your wrists. Their touches send shocks through your body. You squirm, rubbing your thighs together, desperate for release. <br><br> <<if $arousal gte $arousalmax>> Even without direct stimulation, the sensation is too much. <<orgasm>> <</if>> You're lifted by your limbs, and carried towards the gate. They dump you on the grass outside. It rattles shut behind you. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Moor]]>><<estate_end>><</link>> <br><<set $outside to 0>><<effects>> You emerge in a large tunnel, extending to the left and right. A pair of metal tracks lie in the middle, and a carriage sits upon them. The tunnel walls are rough, carved from natural rock. <br><br> <<generate1>><<person1>> <<if $exposed gte 1>> A <<person>> approaches you. <<covered>> <<He>> averts <<his>> eyes, sparing you some embarrassment. <br><br> "Another from the doctor?" <<he>> says, tapping something into <<his>> laptop. "Over there." <<He>> points at a shelf at the base of a pillar. There are a number of stacked crates not far from it. One trembles. <br><br> "There are fresh clothes on the carriage." <<He>> doesn't seem surprised by your nudity. "Stay away from the crates. They won't get out, but no sense agitating them." <<else>> A <<person>> approaches you. "Another from the doctor?" <<he>> says, tapping something into <<his>> laptop. "Over there." <<He>> points at a shelf at the base of a pillar. There are a number of stacked crates not far from it. One trembles. <</if>> <br><br> <<estate_stone_links>><<effects>> You are in an underground tunnel beneath the Remy estate. <<if $estate.vials is "shattered" and $enemyno gte 1>> The <<person>> left in search of help. <<if $estate.chaos gte 100>> You don't think <<he>> will find any, given the state of the grounds above. <</if>> <<elseif $enemyno gte 1>> The <<person>> taps something into <<his>> laptop. <</if>> <br><br> <<estate_stone_links>><<effects>> You approach the parked carriage. The doors are open, so you step inside. An aisle runs down the middle, flanked by metal seats towards the front, and shelves towards the back. <br><br> The shelves are empty, save a pair of overalls. <br><br> There's a red lever at the front. <br><br> <<link [[Wear the overalls|Estate Stone Overalls]]>><<upperwear 39>><</link>> <br> <<link [[Pull the lever (0:15)|Estate Stone Lever]]>><<pass 15>><</link>> <br> <<link [[Leave|Estate Stone]]>><</link>> <br><<effects>> You pull on the overalls. <<if $player.breastsize gte 5>> They struggle to accommodate your <<breasts>>, but cover the important bits. <<elseif $player.sex is "f" or $player.gender_appearance is "f">> They leave your chest a bit exposed, but cover the important bits. <<else>> They're a perfect fit. <</if>> <br><br> <<link [[Pull the lever (0:15)|Estate Stone Lever]]>><<pass 15>><</link>> <br> <<link [[Leave|Estate Stone]]>><</link>> <br><<effects>> You walk to the front of the carriage, and the pullable lever. It clicks into a new position. The carriage lurches, and you fall onto a seat. <br><br> You hear shouting over the roar of the engine, but can't make out the words. They're left far behind as the carriage plunges into darkness. Rings of light occasionally whip by as the vehicle rattles along the tracks. <br><br> <<link [[Next|Elk Compound Station]]>><<estate_end>><<endevent>><</link>> <br><<effects>> You approach the carriage. "The train is off-limits," says the <<person>> behind you. "Make your delivery, and get out." <br><br> <<link [[Approach the shelf|Estate Stone Shelf]]>><</link>> <br> <<link [[Leave (0:03)|Estate Stone Leave]]>><<pass 3>><<endcombat>><</link>> <br><<effects>> You approach the shelf. It holds a row of phials. Purple liquid swirls within. It's faint, but you smell a sweet scent. You feel lightheaded, and a yearning warmth builds within. <<garousal>><<arousal 600>> <br><br> <<if $farm_stage gte 5>> <<link [[Knock over the phials|Estate Stone Knock]]>><<arousal 600>><<farm_aggro -10>><</link>><<garousal>><<laggro>> <<else>> <<link [[Knock over the phials|Estate Stone Knock]]>><<arousal 600>><</link>><<garousal>> <</if>> <br> <<if $exposed gte 1 or $estate.vials is "shattered">> <<link [[Approach the carriage|Estate Stone Carriage]]>><</link>> <br> <<elseif $estate.carriage_attempt isnot true>> <<link [[Approach the carriage|Estate Stone Carriage Stop]]>><<set $estate.carriage_attempt to true>><</link>> <br> <</if>> <<link [[Leave (0:03)|Estate Stone Leave]]>><<pass 3>><<endcombat>><</link>> <br><<effects>> You sweep the phials off the shelf, and run before they shatter.<<set $estate.vials to "shattered">> <br><br> "Stupid <<girl>>," the <<person>> shouts while marching closer. "That's a whole day's harvest!" <<He>> grasps your arm. "Who sent you?" <br><br> <<link [[Bailey|Estate Stone Bailey]]>><</link>> <br> <<link [[Remy|Estate Stone Remy]]>><</link>> <br> <<link [[Harper|Estate Stone Harper]]>><</link>> <br> <<link [[No one|Estate Stone No]]>><<def 1>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "B-Bailey sent me," you say. <<elseif $speech_attitude is "bratty">> "Bailey sent me," you say. <<else>> "Bailey," you say. <</if>> <br><br> The <<person>> hesitates, then releases you. "I didn't know we did business with that sort," <<he>> sniffs. "Remy will hear of this. Now begone. I need to get someone to clean this up." <<He>> turns <<his>> back to you. <br><br> <<link [[Approach the carriage|Estate Stone Carriage]]>><</link>> <br> <<link [[Leave (0:03)|Estate Stone Leave]]>><<pass 3>><<endcombat>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "R-Remy," you say. "Like you." <<elseif $speech_attitude is "bratty">> "Remy," you say. "Idiot." <<else>> "Remy," you say. "Same as you." <</if>> <br><br> The <<person>> tightens <<his>> grasp. "Strange," <<he>> says. "I know all our employees, and I don't recognise you." <<He>> pulls you towards the ramp leading outside. "Don't struggle." <br><br> <<link [[Fight|Estate Stone Inner Fight]]>><<set $fightstart to 1>><</link>> <br> <<link [[Go quietly (0:05)|Estate Stone Quiet]]>><<pass 5>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "D-Doctor Harper sent me," you say. <<elseif $speech_attitude is "bratty">> "The doctor," you say. "Best let me go." <<else>> "Doctor Harper," you say. <</if>> <br><br> The <<person>> releases you. "Then go tell the good doctor what you've done," <<he>> says. "No punishment I could give would compare. Now begone. I need to get someone to clean this up." <<He>> turns <<his>> back to you. <br><br> <<link [[Approach the carriage|Estate Stone Carriage]]>><</link>> <br> <<link [[Leave (0:03)|Estate Stone Leave]]>><<pass 3>><<endcombat>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I-I'm here on my own," you say. <<elseif $speech_attitude is "bratty">> "I'm no one's dog," you say. <<else>> "No one sent me," you say. <</if>> <br><br> The <<person>> tightens <<his>> grasp. "I don't know how you got in," <<he>> says. "I'll be having a word with security." <<He>> pulls you towards the ramp leading outside. "Don't struggle." <br><br> <<link [[Fight|Estate Stone Inner Fight]]>><<set $fightstart to 1>><</link>> <br> <<link [[Go quietly (0:05)|Estate Stone Quiet]]>><<pass 5>><</link>> <br><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Estate Stone Inner Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Estate Stone Inner Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation "short">> The <<person>> staggers backwards, and shouts in horror as <<he>> slips on the spilled fluid. <br><br> <<clotheson>> <<link [[Next|Estate Stone Inner Fight Aphrodisiac]]>><</link>> <br> <<elseif $enemyhealth lte 0>> The <<person>> staggers backwards, and shouts in horror as <<he>> slips on the spilled fluid. <br><br> <<clotheson>> <<link [[Next|Estate Stone Inner Fight Aphrodisiac]]>><</link>> <br> <<else>> <<tearful>> you fall to the ground. You're too hurt to continue fighting. <br><br> The <<person>> grasps your arm, and tugs you up the ramp. <br><br> <<clotheson>> <<link [[Next|Estate Stone Quiet]]>><<clotheson>><</link>> <br> <</if>><<effects>> <<He>> lands in the purple fluid. <<He>> scrambles away on <<his>> hands and knees. "I-I can't," <<he>> says. "I can't stop." <<He>> <<if $NPCList[0].pronoun is "f">>flips up <<his>> skirt<<else>>unzips <<his>> fly<</if>>, <span class="lewd">revealing <<his>> <<if $NPCList[0].penis isnot "none">><<print $NPCList[0].penisdesc>><<else>>pussy<</if>>,</span> and masturbates. <<tearful>> you step away. The <<person>> is lost in <<his>> own world for now. <br><br> <<clotheson>> <<saveNPC 0 estate_stone>> <<endcombat>> <<loadNPC 0 estate_stone>><<person1>> <<clearNPC estate_stone>> <<link [[Next|Estate Stone]]>><</link>> <br><<effects>> <<if $estate.chaos gte 100>> You emerge outside. The <<person>> drops your arm as <<he>> beholds the scene before <<him>>. Free cattle rampaging around, chased by confused goons. The smell of burnt sweetness in the air. <br><br> <<He>> doesn't notice you slip away. You return to the tunnel, now absent its guardian. <br><br> <<link [[Next|Estate Stone]]>><<endcombat>><</link>> <br> <<else>> You emerge outside. The <<person>> pulls you towards the gates. The <<generate2>><<person2>><<person>> standing guard opens it as you approach. <br><br> You're shoved through. The gate rattles shut behind you. <br><br> <<endcombat>> <<link [[Next|Moor]]>><<estate_end>><</link>> <br> <</if>><<effects>> You walk up the ramp, and emerge outside. <br><br> <<link [[Next|Estate]]>><</link>> <br><<effects>> You approach the fence. The bars are several times your height, and the top menaces with barbed wire. Most of the farm beyond is concealed by copse and hillock, but you can see the top of a barn peak above. A stately manor perches on a hill beyond, overlooking the moor. <br><br> There's a gate nearby. It's guarded. <br><br> <<if $daily.estateDone is true>> <span class="purple">Security is on high alert.</span> You won't be able to enter until tomorrow. <br><br> <</if>> <<if $farm_stage gte 5 or isPubfameTaskAccepted("wren")>> <<if $daily.estateDone isnot true>> <<mooricon "remy">><<link [[Approach the gate|Estate Gate]]>><</link>> <br> <</if>> <<if $estate_fence is "bird">> <<investigateicon>><<link [[Search for another entrance (0:30)|Estate Entrance Bird]]>><<pass 30>><</link>> <br> <<elseif $estate_fence is "landry">> <<investigateicon>><<link [[Search for another entrance (0:30)|Estate Entrance Landry]]>><<pass 30>><</link>> <br> <<elseif $estate_fence is "secret" and $daily.estateDone isnot true>> <<getinicon>><<link [[Use the secret entrance (0:03)|Estate Entrance Secret]]>><<pass 3>><</link>> <br> <</if>> <</if>> <br> <<getouticon>><<link [[Leave|Moor]]>><<set $eventskip to 1>><</link>> <br><<effects>> <<generate1>><<person1>> You approach the gate. <<if Time.dayState is "night">> A light flares into life. You shield your eyes. <<else>> A <<person>> leaves a checkpoint, and speaks into <<his>> radio. <</if>> <br><br> <<if $daily.estateBluffed is true>> <<He>> peers through the gate. "You again?" <<he>> says. "Clear off." <br><br> <i>They won't let you in today.</i> <br><br> <<else>> <<He>> peers at you. "This is the Remy estate," <<he>> says. "What's your business?" <br><br> <<if $estate_fence is undefined>> <<set $estate_fence to "quest">> <i>You could avoid the gate by breaking through the fence, but you'll need help from someone with underworld connections, or someone who knows the moor.</i> <br><br> <</if>> <<set $skulduggerydifficulty to 800>> <<link [[Bluff your way in|Estate Bluff]]>><<set $daily.estateBluffed to true>><</link>><<skulduggerydifficulty>> <br> <</if>> <<link [[Turn away|Estate Approach]]>><<endevent>><</link>> <br><<effects>> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<if $speech_attitude is "meek">> "I-I'm here with a delivery," you say. "Something from town." <<elseif $speech_attitude is "bratty">> "Got something for Remy," you say. "From the usual people." <<else>> "Got a delivery," you say. "From the usual people." <</if>> <br><br> <span class="green">The <<person1>><<person>> presses a button on the other side of the fence,</span> and the gate shudders open. You enter without further trouble. <br><br> <<skulduggeryuse>> <<link [[Next|Estate]]>><<endevent>><<estate_init gate>><</link>> <br> <<else>> <<if $speech_attitude is "meek">> "I-I-I don't mean to be a bother," you say. "I-I'm just here to deliver something." <<elseif $speech_attitude is "bratty">> "Remy's expecting me," you say. "Let me through. Or your boss will hear of it." <<else>> "Just delivering something," you say. "Let me through." <</if>> <br><br> <span class="red">The <<person1>><<person>> laughs.</span> "Nice try. Get gone." <br><br> <<skulduggeryuse>> <<link [[Next|Estate Approach]]>><<endevent>><</link>> <br> <</if>><<effects>> You search the fence, looking for any damage wrought by the Great Hawk. <br><br> You're peering beneath a bramble patch when you see it. A hole torn through the bars. <br><br> You crawl beneath the thorns, and through the fence, emerging on the other side. <br><br> <<set $estate_fence to "secret">> <<link [[Next|Estate]]>><<estate_init secret>><</link>> <br><<effects>> You search the fence, looking for any damage wrought by Landry's specialist. <br><br> You're peering beneath a bramble patch when you see it. A hole torn through the bars. <br><br> You crawl beneath the thorns, and through the fence, emerging on the other side. <br><br> <<set $estate_fence to "secret">> <<link [[Next|Estate]]>><<estate_init secret>><</link>> <br><<effects>> You crawl beneath the bramble patch, and through the hole in the fence, emerging on the other side. <br><br> <<link [[Next|Estate]]>><<estate_init secret>><</link>> <br><<effects>> <<if $estate.chaos gte 1>> The gate is unguarded. You push the button, and it rattles open. No one stops you leaving. /* this is not used anywhere <<set $estate_chaos to true>> */ <<else>> A guard opens the gate as you approach. They watch as you pass. <</if>> <br><br> <<link [[Next|Moor]]>><<set $eventskip to 1>><<estate_end>><</link>> <br><<effects>> <<if $estate.chaos gte 1>> /* this is not used anywhere <<set $estate_chaos to true>> */ <</if>> You crawl beneath the bramble patch, and the fence, emerging on the other side. <br><br> <<link [[Next|Moor]]>><<set $eventskip to 1>><<estate_end>><</link>> <br><<effects>> Remy's manor looms atop the cliffs ahead, at the end of a snaking path. Most staff rush past you, too distracted by the chaos to pay attention to one <<girl>>, but six steely-eyed sentinels stand watch in front of the gate. <br><br> <<link [[Approach the guards|Estate Manor Approach]]>><</link>> <br> <<link [[Scale the cliff (0:15)|Estate Manor Scale]]>><</link>> <br><br> <<link [[Walk away|Estate]]>><</link>> <br><<effects>> <<generate1>><<generate2>><<generate3>><<generate4>><<generate5>><<generate6>> <<person1>> A <<person>> steps forward to meet you, hand outstretched. <<He>> wears a lazy expression, at odds with the chaos around <<him>>. "No one's allowed through," <<he>> says. "Turn around, <<lass>>." <br><br> <<link [[Fight|Estate Manor Approach Fight]]>><<set $fightstart to 1>><</link>> <br> <<link [[Convince|Estate Manor Approach Convince]]>><</link>><<englishdifficulty 500 1000>> <br><bR> <<link [[Walk away|Estate]]>><<endevent>><</link>> <br><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Estate Manor Approach Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Estate Manor Approach]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> The guards are too groggy to give chase as you dash up the winding path to the manor. You hear the <<person1>><<person>> alerting other members of security.<<ggsecurity>><<estate_security 3>> <br><br> <<tearful>> you run through the front doors. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Estate Manor Intro Entrance]]>><</link>> <br> <<elseif $enemyhealth lte 0>> The guards back away, nursing injuries, leaving you to dash up the winding path to the manor. You hear the <<person1>><<person>> alerting other members of security.<<ggsecurity>><<estate_security 3>> <br><br> <<tearful>> you run through the front doors. <br><br> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Estate Manor Intro Entrance]]>><</link>> <br> <<else>> <<clotheson>> <<endcombat>> <<link [[Next|Estate Manor Approach Defeat]]>><</link>> <</if>><<effects>> <<if $englishSuccess>> <<else>> <</if>><<effects>><<effects>> Wren holds out <<his>> glass, and the <<person2>><<person>> pours <<person1>><<him>> a shot. <<He>> downs it at once. "That all?" <<he>> asks, slamming the empty vessel against the table. "My turn." <<He>> pauses. <<estate_cards_bet>> <br><br> <<if C.npc.Wren.love gte 50 and random(1, 10) is 10>> <<Hes>> relieved you didn't ask for more. You know Wren well enough to tell. <</if>> <br><br> <<cards_play_options>><<effects>> Wren doesn't hesitate. <<He>> grasps the <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> <<person2>> <<case 2>> <<person3>> <<case 3>> <<person4>> <<case 4>> <<person5>> <<default>> <<person6>> <</switch>> <<person>> by the collar, pulls <<him>> close, and kisses <<his>> lips. <br><br> <<person1>> Wren lingers for a moment before pulling away, leaving <<his>> colleague flushed. "My turn," <<he>> says. <<estate_cards_bet>> <br><br> <<cards_play_options>><<effects>> <<wren_sabotage_nude>> <<link [[Next|Estate Cards Steeds 2]]>><</link>> <br><<effects>> <<if $monsterchance gte 1 and $hallucinations gte 1 or $monsterchance gte 1 and $monsterhallucinations is "f" or $bestialitydisable is "t">> <<if beastMaleChance() is 100>> <<set _estate_cards_monsters to "bulls">> <<elseif beastMaleChance() is 0>> <<set _estate_cards_monsters to "cows">> <<else>> <<set _estate_cards_monsters to "both">> <</if>> <<else>> <<set _estate_cards_monsters to "beasts">> <</if>> <<if Time.dayState is "day" and Time.hour gte 12>> Wren directs the group towards a large barn. You continue past it, along a mud trail leading towards a gate in the fence. There's an enclosed field beyond. You see <<switch _estate_cards_monsters>> <<case "bulls">> bullboys grazing, while centaur drink from a river. <br><br> <<case "cows">> cowgirls grazing, while centaur drink from a river. <br><br> <<case "both">> bullboys and cowgirls grazing, while centaur drink from a river. <br><br> <<if random(1, 2) is 2>> <<set _estate_cards_centaur to "m">> <<else>> <<set _estate_cards_centaur to "f">> <</if>> <<default>> cattle grazing, while horses drink from a river. <br><br> <</switch>> "You lot wait here," Wren says, before striding on. <<if $estate.cards.wren_top is 0 or $estate.cards.wren_bottoms is 0 or $estate.cards.wren_under_top is 0 or $estate.cards.wren_under_bottoms is 0>> <<He>> shares a few words with a bashful guard, and passes through to the field, taking an apple from a basket just outside as <<he>> does. <<else>> <<He>> shares a few words with a guard, and passes through to the field, taking an apple from a basket just outside as <<he>> does. <</if>> <<switch _estate_cards_monsters>> <<case "bulls">> <<He>> walks past the grazing bullboys, towards the centaur. One steps forward to meet <<him>>. He wears a wary expression. <br><br> Wren bites into the apple before speaking. You can't make out <<his>> words, but the centaur's reply is more audible. "Like cattle?!" he bellows. "Say that again and I'll stomp you into the mud." <br><br> Wren turns around, and throws the apple core over <<his>> shoulder. The centaur stays calm, even as the apple core bounces off his chest, but his glare follows Wren all the way to the gate. <br><br> <<case "cows">> <<He>> walks past the grazing cowgirls, towards the centaur. One steps forward to meet <<him>>. She wears a wary expression. <br><br> Wren bites into the apple before speaking. You can't make out <<his>> words, but the centaur's reply is more audible. "Like cattle?!" she bellows. "Say that again and I'll stomp you into the mud." <br><br> Wren turns around, and throws the apple core over <<his>> shoulder. The centaur stays calm, even as the apple core bounces off her breast, but her glare follows Wren all the way to the gate. <br><br> <<case "both">> <<He>> walks past the grazing bullboys and cowgirls, towards the centaur. One steps forward to meet <<him>>. <<if _estate_cards_centaur is "m">>He<<else>>She<</if>> wears a wary expression. <br><br> Wren bites into the apple before speaking. You can't make out <<his>> words, but the centaur's reply is more audible. "Like cattle?!" <<if _estate_cards_centaur is "m">>he<<else>>she<</if>> bellows. "Say that again and I'll stomp you into the mud." <br><br> Wren turns around, and throws the apple core over <<his>> shoulder. The centaur stays calm, even as the apple core bounces off <<if _estate_cards_centaur is "m">>his chest<<else>>her breast<</if>>, but <<if _estate_cards_centaur is "m">>his<<else>>her<</if>> glare follows Wren all the way to the gate. <br><br> <<default>> <<He>> walks past the grazing cattle, towards the horses. One steps forward as if to meet <<him>>. <br><br> Wren bites into the apple before speaking. You can't make out <<his>> words, but the horse bellows a neigh, and stomps the ground in response. <br><br> Wren turns around, and throws the apple core over <<his>> shoulder. It bounces off the horse's back. The others pace, as if nervous. <br><br> <</switch>> <<else>> Wren directs the group along a trail, and through a copse. You emerge beside a stone building. It's a stable. <<switch _estate_cards_monsters>> <<case "bulls" "cows" "both">> Centaur watch from some of the stalls. <br><br> <<default>> Horses watch from some of the stalls <br><br> <</switch>> Wren swaggers up to the closest. "Who's a good horsey?" <<he>> mocks. "You are. Staying safe in your cage. I'm sure you'll be freed later. When your master says so." <br><br> <<switch _estate_cards_monsters>> <<case "bulls" "cows" "both">> The centaur snarls, and lunges for Wren, who backs away in time. "Ooh," Wren continues. "Someone has a temper. No apples for you." <<He>> returns to you and <<his>> colleagues. <br><br> <<default>> The horse snorts, and tries to bite Wren, who backs away in time. "Ooh," Wren continues. "Someone has a temper. No apples for you." <<He>> returns to you and <<his>> colleagues. <br><br> <</switch>> <</if>> <<if $cow gte 6>> Remy's steeds are proud, and like to consider themselves near equal to Remy's human servants. Certainly above cattle. Remy will find them uncooperative for a while. <br><br> <</if>> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> <<wren_sabotage_nude>> <<link [[Next|Estate Cards Rumour 2]]>><</link>> <br><<effects>> Wren leads you to a stone shed. It's small, but three guards stand beside it. <<if $estate.cards.wren_top is 0 or $estate.cards.wren_bottoms is 0 or $estate.cards.wren_under_top is 0 or $estate.cards.wren_under_bottoms is 0>> They leer at Wren. <<elseif $exposed gte 1>> They leer at you, until Wren gets their attention. <<else>> Wren walks up to them. <</if>> <br><br> <<set _rng to random(1, 2)>> <<if _rng is 2>> "Has Remy really done a runner?" <<he>> asks. That redirects their attention. "I know there's a copper around, but I thought it was the usual friendly sort. Ah, I'm sure it's nothing. Sorry for bothering you." <<He>> pats a worried-looking guard on the shoulder before turning away. <<else>> "Have you seen those creatures about too?" <<he>> asks. That redirects their attention. "I thought they kept them caged. Ah, I'm sure it's nothing. Sorry for bothering you." <<He>> pats a worried-looking guard on the shoulder before turning away. <</if>> <br><br> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> Wren hesitates a moment, then <<if $pronoun is "f">> pulls off <<his>> top, revealing the bra <<else>> unbuttons <<his>> shirt, revealing the vest <</if>> beneath. <<His>> friends seem more interested in ogling you, for the moment. <br><br> "It's warm in here anyway," <<he>> says, chucking the garment on the counter. "My turn next." <<He>> pauses. <<estate_cards_bet>> <br><br> <<cards_play_options>><<effects>> <<wren_sabotage_nude>> <<link [[Next|Estate Cards Weapons 2]]>><</link>> <br><<effects>> You arrive at a stone shed. The entrance is guarded, but Wren leads you around the edge. <<He>> points at an open window, several feet above your head. <br><br> "Give us a lift," <<he>> says, pointing at the ground beneath the window. <br><br> <<link [[Help Wren up|Estate Cards Weapons Help]]>><<npcincr Wren love 1>><</link>><<glove>> <br> <<link [[Let one of the goons do it|Estate Cards Weapons Goon]]>><<npcincr Wren dom -1>><</link>><<ldom>> <br><<effects>> You crouch beneath the window, and let Wren step on your shoulders to reach the window above. <<He>> disappears inside. <<if $exposed gte 1>> <<His>> colleagues grin and ogle you while you wait, but <<he>> isn't long. <<else>> <<He>> isn't long. <</if>> A flurry of metal poles, each tipped with a prong, hurtle out. Wren's head pokes through a moment later, and <<he>> drops to the ground. <<He>> brushes <<himself>> off, and gathers the weapons. <br><br> "They'll turn up," Wren says as <<he>> dumps the bundle in a ditch. "They'd be fools to brave the moor in the meantime." <br><br> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> The <<person2>><<person>> crouches beneath the window, and lets Wren step on <<his>> shoulders to reach the window above. <<person1>><<He>> disappears inside. <<if $exposed gte 1>> <<His>> colleagues grin and ogle you while you wait, but <<he>> isn't long. <<else>> <<He>> isn't long. <</if>> A flurry of metal poles, each tipped with a prong, hurtle out. Wren's head pokes through a moment later, and <<he>> drops to the ground. <<He>> brushes <<himself>> off, and gathers the weapons. <br><br> "They'll turn up," Wren says as <<he>> dumps the bundle in a ditch. "They'd be fools to brave the moor in the meantime." <br><br> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> Wren hesitates a moment, then <<if $pronoun is "f">> tugs off <<his>> skirt, revealing a pair of panties. <<else>> tugs off <<his>> trousers, revealing a pair of briefs. <</if>> A couple of <<his>> friends glance at them. Wren acts cool, but <<hes>> blushing. <br><br> "It's a freeing feeling," <<he>> says, chucking the garment on the counter. "My turn next." <<He>> pauses. <<estate_cards_bet>> <br><br> <<cards_play_options>><<effects>> <<wren_sabotage_nude>> <<link [[Next|Estate Cards Cars 2]]>><</link>> <br><<effects>> There's a muddy carpark nearby, full of tall vehicles with thick wheels. Wren holds out <<his>> hand, and the <<person3>><<person>> passes <<person1>><<him>> a set of keys. Wren opens the bonnet of each car in turn, fiddling with the interior, tugging off parts and hurling them aside. <br><br> "Hope there are no emergencies," Wren says after closing the last. "There's no permanent damage, but I don't envy whoever has to fix them." <<He>> laughs. <br><br> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> <<wren_sabotage_nude>> <<link [[Next|Estate Cards Window 2]]>><</link>> <br><<effects>> Wren's colleagues seem nervous as you approach the manor. It looms above the rest of the estate, sitting atop a rocky hill. There's only one clear path up. It's guarded. <br><br> Wren leads you away, across a dell, to the base of a cliff. The manor perches above, and there's no one in view. Wren searches the ground, and finds a fist-sized rock. <br><br> <<if random(1, 2) is 2>> Wren's aim proves true despite the distance, shattering a window on the second floor. <<else>> The rock hurtles upwards, but misses its mark, bouncing harmlessly off the wall. Wren's second attempt is more successful, and shatters a window on the third floor. <</if>> Wren's colleagues make a hasty escape, and Wren isn't far behind. <br><br> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> Wren glances around the room. <<His>> colleagues look away, but <<he>> blushes regardless. <<He>> takes a breath, <<if $pronoun is "f">> and reaches behind <<his>> back, undoing <<his>> bra and <span class="lewd">revealing <<his>> <<print $NPCList[0].breastsdesc>>.</span> <<He>> covers them with an arm. <<else>> and pulls off <<his>> vest, <span class="lewd">revealing <<his>> muscular chest.</span> <</if>> You catch a few of <<his>> colleagues sneak peeks. <br><br> "You're not to be underestimated," <<he>> says, chucking the garment on the counter. "But you'll get yours." <<He>> pauses. <<estate_cards_bet>> <br><br> <<cards_play_options>><<effects>> <<wren_sabotage_nude>> <<link [[Next|Estate Cards Cattle 2]]>><</link>> <br><<effects>> <<if $monsterchance gte 1 and $hallucinations gte 1 or $monsterchance gte 1 and $monsterhallucinations is "f" or $bestialitydisable is "t">> <<if beastMaleChance() is 100>> <<set _estate_cards_monsters to "bulls">> <<elseif beastMaleChance() is 0>> <<set _estate_cards_monsters to "cows">> <<else>> <<set _estate_cards_monsters to "both">> <</if>> <<else>> <<if beastMaleChance() is 100>> <<set _estate_cards_monsters to "beast_bulls">> <<elseif beastMaleChance() is 0>> <<set _estate_cards_monsters to "beast_cows">> <<else>> <<set _estate_cards_monsters to "beast_both">> <</if>> <</if>> Wren directs the group towards a large barn. <<if Time.dayState is "day">> You continue past it, along a mud trail leading towards a gate in the fence. <<switch _estate_cards_monsters>> <<case "bulls">> Bullboys graze in the enclosed field beyond. <<case "cows">> Cowgirls graze in the enclosed field beyond. <<case "both">> Bullboys and cowgirls graze in the enclosed field beyond. <<default>> Cattle graze in the enclosed field beyond. <</switch>> The guard glances at Wren, and at you. <<covered>> <br><br> "Remy's asking for ya," Wren says. The guard sits upright. "Best not keep the boss waiting. We'll take over here." <br><br> The guard rushes away. Wren wastes no time, and opens the gate. "Here cows," <<he>> says. "You're free. Go!" There's no response. <br><br> <<switch _estate_cards_monsters>> <<case "bulls">> It takes some cajoling, but Wren and <<his>> friends manage to herd the bullboys through the gate. <<case "cows">> It takes some cajoling, but Wren and <<his>> friends manage to herd the cowgirls through the gate. <<case "both">> It takes some cajoling, but Wren and <<his>> friends manage to herd the bullboys and cowgirls through the gate. <<default>> It takes some cajoling, but Wren and <<his>> friends manage to herd the cattle through the gate. <</switch>> They're energised once outside, eager to explore a new environment. <br><br> <<else>> <<He>> throws open the doors. The sides are lined with stalls, <<switch _estate_cards_monsters>> <<case "bulls">> each housing a bullboy. <<case "cows">> each housing a cowgirl. <<case "both">> each housing a bullboy or cowgirl. <<case "beast_bulls">> each housing a bull. <<case "beast_cows">> each housing a cow. <<default>> each housing a cow or bull. <</switch>> <br><br> Wren marches down one side, opening each gate. It takes some encouragement, but <<his>> colleagues manage to cajole the cattle from their cells, and through the front doors. <br><br> They're energised once outside, eager to explore a new environment. <br><br> <</if>> "Job done," Wren says as the pair of goons you passed earlier run by, chasing after one of the escapees. "That should liven things up."<br><br> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> Wren's face reddens. <<if $pronoun is "f">> <<He>> pushes a thumb behind the hem of <<his>> black panties, and pushes them down <<his>> legs. <<else>> <<He>> pushes a thumb behind the hem of <<his>> black briefs, and pushes them down <<his>> legs. <</if>> <<Hes>> left with nothing but <<his>> shoes and socks. <<His>> colleagues smirk as <<he>> hides <<his>> <<if $NPCList[0].penis isnot "none">> <<print $NPCList[0].penisdesc>> <<else>> pussy <</if>> with <<his>> arm. <br><br> "No more going easy on you," Wren says, throwing the garment on the counter. "My turn next." <<He>> pauses. <<estate_cards_bet>> <br><br> <<cards_play_options>><<effects>> <<wren_sabotage_nude>> <<link [[Next|Estate Cards Fire 2]]>><</link>> <br><<effects>> You arrive at a carpark. Wren holds out <<his>> hand, and a <<person3>><<person>> passes <<person1>><<him>> a set of keys. <<He>> opens a boot, and retrieves a petrol can. <<His>> colleagues seem nervous. "You're trouble," Wren says. "But I gave my word." <br><br> There's a field across the estate. Strange, purple flowers grow in rows. Wren feeds them with petrol, just an unlucky patch. One match is all it takes. <br><br> <<link [[Next|Estate Cards Fire 3]]>><</link>> <br><<effects>> <<earnFeat "Firestarter">> <<drugs 60>> "Job done," Wren says, striding away. "Best we be gone before it's discovered." The fumes are sweet. You feel lightheaded. <br><br> You hear shouting behind you not long after, followed by an alarm. Wren laughs. <br><br> <<link [[Next|Estate Cards Return]]>><</link>> <br><<effects>> You return to the cottage. <<cards_lap_return>> <br><br> <<cards_play_options>><<widget "estate_init">> <<set $estate to {}>> <<set $estate.cards to {}>> <<set $estate.cards.lust to 0>> <<set $estate.cards.daring to 0>> <<set $estate.cards.wren_top to 1>> <<set $estate.cards.wren_bottoms to 1>> <<set $estate.cards.wren_under_top to 1>> <<set $estate.cards.wren_under_bottoms to 1>> <<set $estate.cards.wren_exposed_text to 0>> <<set $estate.cards.pc_exposed_text to 0>> <<set $estate.cards.pc_exposed_walk to 0>> <<set $estate.cards.cheatPeeking to false>> <<set $estate.cards.suggestedRaisingStakesToday to false>> <<set $estate.cards.gameResults to []>> <<set $estate.cards.confiscatedClothes to []>> <<set $estate.entrance to _args[0]>> <<set $estate.chaos to 0>> <<set $estate.security to 0>> <</widget>> <<widget "estate_betting_start">> <<set $_anteNum to _args[0]>> <<set $_anteMaxNum to setup.estateBlackjack.anteSizes.length - 1>> <<if $_anteNum gt $_anteMaxNum>> <<error { message : `Attempted to set the ante number to a higher number than allowed.`, source : Utils.GetStack() }>> <</if>> <!-- if not defined, it means the player has agreed to Wren's demand and will receive their clothing back after satisfying the goons. contains the terms (the amount Wren has asked for) --> <!-- $estate.cards.clothesRebuyTerms can't set it to null because some old saves had NaNs turn into nulls, so now we avoid nulls --> <<set $estate.cards.bettingEnabled to true>> <<set $_ante to setup.estateBlackjack.anteSizes[$_anteNum]>> <<set $estate.cards.betStep to setup.estateBlackjack.betSteps[$_anteNum]>> <<set $estate.cards.baseMaxBet to setup.estateBlackjack.baseMaxBets[$_anteNum]>> <<set $estate.cards.ante to $_ante>> <<set $estate.cards.wrenMoney to $_ante>> <<set $estate.cards.playerPot to $_ante>> <<set $estate.cards.currentBetInput to 0>> <!-- taking away player's money --> <<money `-$_ante` "estateBetting">> <</widget>> <<widget "estate_end">> <<unset $estate>> <<set $daily.estateDone to true>> <</widget>> <<widget "estate_chaos_bar">> Chaos: <<statbarinverted $estate.chaos 100>> <div style="clear:both;"></div> <</widget>> <<widget "estate_chaos">> <<if _args[0]>> <<set $estate.chaos += _args[0]>> <</if>> <</widget>> <<widget "estate_security">> <<if _args[0]>> <<set $estate.chaos += _args[0]>> <</if>> <</widget>> <<widget "estate_stone_links">> <<if !$estate.vials>> <<link [[Approach the shelf|Estate Stone Shelf]]>><</link>> <br> <</if>> <<if $exposed gte 1 or $estate.vials is "shattered">> <<link [[Approach the carriage|Estate Stone Carriage]]>><</link>> <br> <<elseif $estate.carriage_attempt isnot true>> <<link [[Approach the carriage|Estate Stone Carriage Stop]]>><<set $estate.carriage_attempt to true>><</link>> <br> <</if>> <<link [[Leave (0:03)|Estate Stone Leave]]>><<pass 3>><<endevent>><</link>> <br> <</widget>><<set $outside to 1>><<set $location to "alex_farm">><<effects>> <<farm_work_update>> <<if $farm_assault.movement is "field">> You keep low as you hurry across the farm. <<elseif $farm_assault.movement is "tower">> You keep low as you hurry towards the watchtower. <<elseif $farm_assault.movement is "climb">> You enter the watchtower. The stairs creak as you climb. <<elseif $farm_assault.movement is "wait">> You wait in the shadows, watching for intruders. <<elseif $farm_assault.movement is "struggle">> <<if $farm_assault.bindings lte 0>> You struggle against your bindings. <span class="green">They come loose.</span> <<if $worn.face.type.includes("gag")>>You tear the gag from your mouth.<</if>> <<if $farm_assault.alex is "bound">> <<npc Alex>><<person1>> You find Alex not far away, remove the gag from <<his>> mouth, and untie <<his>> bonds. "Fuckers," <<he>> says. "There's no time to waste." <<set $farm_assault.bindings_alex to 0>> <<set $farm_assault.alex to "patrol">> <<endevent>> <</if>> <<farm_assault_unbind>> <<else>> You struggle against your bindings. <span class="teal">They feel a little looser.</span> <</if>> <<else>> You keep your head on a swivel, watching for intruders. <</if>> <<set $farm_assault.movement to "none">> <br><br> <<wearProp "walkie talkie">> <<farm_assault_progress>> <<farm_assault_alex>> <<if _smoke>> <span class="red">You smell smoke on the breeze.</span> <br><br> <</if>> <<if $farm_assault.tower is "manned" or $farm_assault.tower is "attacked" or _guard_won is true or _guard_lost is true>> <<farm_assault_info guard>> <<elseif $farm_assault.tower is "defeated">> <span class="red">$farm.tower_guard has been defeated, and can't help for the remainder of the assault.</span> <br><br> <</if>> <<if $bus is "tower_top">> <<farm_assault_info>> <</if>> <<if _dogs_status is "victorious">> <span class="green">You hear a triumphant howling.</span> <br><br> <<elseif _dogs_status is "defeated">> <span class="red">You hear a panicked howling.</span> <br><br> <</if>> <<if $farm_destroyed is true>> <<farm_assault_unbind>> <<if $fields_damaged is 0>> <span class="purple">With no fields to burn, the thugs flee the field.</span><<lcontrol>><<gtrauma>><<control -10>><<trauma 6>> <br><br> <<npc Remy>><<person1>> Remy watches from a nearby hill. <<He>> turns <<his>> steed and rides away. <br><br> <<endevent>> <<link [[Next|Farm Assault Victory]]>><</link>> <br> <<else>> <span class="red">Their job done, the thugs flee the fields, leaving a smouldering waste behind them.</span> <<lllcontrol>><<gggtrauma>><<control -50>><<trauma 24>> <<world_corruption "soft" 15>> <br><br> <<npc Remy>><<person1>> Remy watches from a nearby hill. <<He>> turns <<his>> steed and rides away. <br><br> <<endevent>> <<link [[Next|Farm Assault Defeat]]>><</link>> <br> <</if>> <<elseif _farm_assault_active isnot true>> <<farm_assault_unbind>> <span class="green">Driven back, the thugs flee the farm.</span> <<if $fields_damaged gte 2>> <span class="pink">They managed to torch <<number $fields_damaged>> fields.</span><<llcontrol>><<ggtrauma>><<control -25>><<trauma 12>> <<elseif $fields_damaged gte 1>> <span class="blue">They managed to torch a field.</span><<lcontrol>><<gtrauma>><<control -10>><<trauma 6>> <<else>> <span class="green">They failed to torch a single field.</span><<ggcontrol>><<lltrauma>><<control 25>><<trauma -25>> <<if $farm_stage gte 12>> <<earnFeat "Heroic Victory">> <</if>> <</if>> <br><br> <<npc Remy>><<person1>> Remy watches from a nearby hill. <<He>> turns <<his>> steed and rides away. <br><br> <<endevent>> <<link [[Next|Farm Assault Victory]]>><</link>> <br> <<else>> <<farm_assault_actions>> <</if>><<effects>> <<npc Alex>><<person1>> You find Alex lying on <<his>> face, an empty bottle beside <<him>>. <<Hes>> unconscious.<<llldom>><<npcincr Alex dom -15>> <br><br> <<if $farm_assault.tower is "defeated">> You carry <<him>> back to the cottage, and lay <<him>> in <<his>> bed, before returning to search for $farm.tower_guard. <<endevent>> <<loadNPC 0 "farm_tower_guard">><<person1>> You find <<him>> sitting at the base of the watchtower, <<if $NPCList[0].traits.includes("relaxed")>> trying to light a cigarette butt. "That was rougher than I expected," <<he>> says. "Could you help me up?" <<elseif $NPCList[0].traits.includes("sociable")>> chatting on <<his>> phone. "-boss is here. Call you back." <<He>> smiles at you. "You should have seen how many I took on before they got me." <<elseif $NPCList[0].traits.includes("brooding")>> gazing at the sky. "Sorry boss," <<he>> says. "I like to think I gave as good as I got." <<else>> watching you. "Are you an angel come to take me away?" <<he>> laughs. <</if>> You help <<him>> to <<his>> feet. <<if $NPCList[0].traits.includes("relaxed")>> "I'll be alright," <<he>> continues. "Just need to stretch." <<elseif $NPCList[0].traits.includes("sociable")>> "There's a stool just inside," <<he>> continues. "A little rest would do me good." <<elseif $NPCList[0].traits.includes("brooding")>> "Don't worry about me," <<he>> continues. "I'll walk it off." <<else>> "Your touch has me feeling better already," <<he>> continues. "I think I can limp back to my post." <</if>> <br><br> You return to the cottage. Remy won this round, but the war continues. <br><br> <<elseif $farm_assault.tower is "manned" or $farm_assault.tower is "attacked">> $farm.tower_guard limps over. <<endevent>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "Let's get <<nnpc_him Alex>> inside," <<he>> says, nodding at Alex. "Then I need a smoke." <<elseif $NPCList[0].traits.includes("sociable")>> "Is <<nnpc_he Alex>> alright?" <<he>> asks, then notices the bottle. "Ah." <<elseif $NPCList[0].traits.includes("brooding")>> "Sorry boss," <<he>> says. "You're handling this better than Alex at least. Let's get <<nnpc_him Alex>> inside." <<else>> "That was a mess," <<he>> says. "Alex has the right idea. Odd choice of bed though." <</if>> <br><br> <<endevent>> <<npc Alex>><<person1>> Together, you carry Alex back to the cottage, and lay <<him>> in <<his>> bed. Remy won this round, but the war continues. <br><br> <<else>> You carry <<him>> back to the cottage, and lay <<him>> in <<his>> bed. Remy won this round, but the war continues. <br><br> <</if>> <<unset $fields_damaged>> <<unset $farm_destroyed>> <<farm_assault_end>> <<link [[Next|Farm Bedroom]]>><<endevent>><</link>> <br><<effects>> <<npc Alex>><<person1>> <<if $farm_destroyed is true>> "You better stay the fuck away," Alex shouts after them. <<He>> turns to you. "I'm glad they wasted their time, but we shouldn't let them run rampant through the farm." <br><br> <<elseif $fields_damaged gte 1>> "You better stay the fuck away," Alex shouts after them. <<He>> turns to you, then to the smouldering field behind <<him>>. "We limited the damage," <<he>> says. "We'll be more prepared next time." <br><br> <<else>> "You better stay the fuck away," Alex shouts after them. <<He>> turns to you. Mud coats <<his>> body, but <<his>> smile is broad. "We did it. And we can do it again!" <br><br> <</if>> <<if $farm_assault.tower is "defeated">> <<He>> looks at the watchtower. "Fuck, is $farm.tower_guard okay?" <br><br> <<endevent>> <<loadNPC 0 "farm_tower_guard">><<person1>> You find the lookout sat at the base of the tower, <<if $NPCList[0].traits.includes("relaxed")>> trying to light a cigarette butt. "That was rougher than I expected," <<he>> says. "Could you help me up?" <<elseif $NPCList[0].traits.includes("sociable")>> chatting on <<his>> phone. "-bosses are here. Call you back." <<He>> smiles at you. "You should have seen how many I took on before they got me." <<elseif $NPCList[0].traits.includes("brooding")>> gazing at the sky. "Sorry boss," <<he>> says. "I like to think I gave as good as I got." <<else>> watching you. "Have the angels come to take me away?" <<he>> laughs. <</if>> You and Alex help <<him>> to <<his>> feet. <<if $NPCList[0].traits.includes("relaxed")>> "I'll be alright" <<he>> continues. "Just need to stretch." <<elseif $NPCList[0].traits.includes("sociable")>> "There's a stool just inside," <<he>> continues. "A little rest would do me good." <<elseif $NPCList[0].traits.includes("brooding")>> "Don't worry about me," <<he>> continues. "I'll walk it off." <<else>> "Your touch has me feeling better already," <<he>> continues. "I think I can limp back to my post." <</if>> <br><br> <<elseif $farm_assault.tower is "manned" or $farm_assault.tower is "attacked">> $farm.tower_guard approaches. <<endevent>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "Glad you guys are alright," <<he>> says. "That was almost too exciting." <<elseif $NPCList[0].traits.includes("sociable")>> "That livened things up," <<he>> says. "I think I need a breather." <<elseif $NPCList[0].traits.includes("brooding")>> "Good job," <<he>> says. "Hope I helped." <<else>> "You should've seen me up there," <<he>> says. "Three-" <<He>> pauses. "I mean, five, burly monsters came climbing the side of the tower, but I sent them packing." <</if>> <br><br> <<else>> <</if>> <<endevent>> <<npc Alex>><<person1>> You walk back to the cottage. <<if isLoveInterest("Alex")>> Alex wraps an arm around your shoulder. <<else>> Alex pats your shoulder. <</if>> "We won, but Remy will be back. We'll be ready." <br><br> <span class="red">Remy will attack again in <<number $farm_attack_timer>> days.</span> <br><br> <<unset $fields_damaged>> <<unset $farm_destroyed>> <<farm_assault_end>> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>><<wearProp "walkie talkie">> <<set $bus to "yard">> <<farm_assault_init>> You rush outside, and find Alex stood in the yard. <br><br> <<set $farm_attack_timer to random(17, 24)>> <<npc Alex>><<person1>> "They're not coming through here," <<he>> says, nodding at the road. "They'll try to sneak in." <<He>> hands you a walkie talkie. "There's a lot of ground to cover, so we'll need to split up. We'll be stronger if we team up to fight them though." <br><br> <<if $farm.tower gte 2 and $farm.tower_guard>> <<He>> waves at the watchtower, and $farm.tower_guard flashes the searchlight in response. <<elseif $farm.tower and $farm.tower_guard>> <<He>> waves at the watchtower, and you make out $farm.tower_guard wave in response. <<elseif $farm.tower>> <<He>> points at the watchtower. "We can climb it if we need a better view." <</if>> <br><br> <<if $leftarm is "bound" or $rightarm is "bound">> Alex slices through your bindings. You're not defending the farm like that. <<unbind>> <br><br> <</if>> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br><<effects>> <<if $phase is 2>> You enter the cottage, climb the stairs, and throw open the rustic wardrobe. <<elseif $phase is 1>> You climb from your bed, and throw open the rustic wardrobe. <<elseif $phase is 3>> You enter your room, and throw open the rustic wardrobe. <<else>> You look through the rustic wardrobe. <</if>> <<set $phase to 0>> You hear shouting outside. <br><br> <<set $wardrobe_location to "alexFarm">> <<wardrobeSelection>> <<wardrobewear>> <div id="wardrobeExits"><<wardrobeExits>></div> <<wardrobe>><<widget "farm_assault_init">> <<set $farm_assault to {}>> <<set $farm_assault.no to [0, 1, 2, 3]>> <<if $farm_stage gte 8>> <<set $farm_assault.no.push(4)>> <</if>> <<if $farm_stage gte 9>> <<set $farm_assault.no.push(5)>> <</if>> <<if $farm_stage gte 10>> <<set $farm_assault.no.push(6)>> <</if>> <<if $farm_stage gte 11>> <<set $farm_assault.no.push(7)>> <</if>> <<if $farm_stage gte 12>> <<set $farm_assault.no.push(8)>> <</if>> <<set $farm_assault.teams to {}>> <<if $farm_stage gte 12>> <<set $farm_assault.teams.team_1 to {}>> <<set $farm_assault.teams.team_2 to {}>> <<set $farm_assault.teams.team_3 to {}>> <<set $farm_assault.teams.team_4 to {}>> <<set $farm_assault.teams.team_5 to {}>> <<if $bailey_encroach>> <<set $farm_assault.teams.team_6 to {}>> <<set $farm_assault.teams.team_6.type to "bailey">> <</if>> <<elseif $farm_stage gte 10>> <<set $farm_assault.teams.team_1 to {}>> <<set $farm_assault.teams.team_2 to {}>> <<set $farm_assault.teams.team_3 to {}>> <<set $farm_assault.teams.team_4 to {}>> <<if $bailey_encroach>> <<set $farm_assault.teams.team_5 to {}>> <<set $farm_assault.teams.team_5.type to "bailey">> <</if>> <<elseif $farm_stage gte 8>> <<set $farm_assault.teams.team_1 to {}>> <<set $farm_assault.teams.team_2 to {}>> <<set $farm_assault.teams.team_3 to {}>> <<if $bailey_encroach>> <<set $farm_assault.teams.team_4 to {}>> <<set $farm_assault.teams.team_4.type to "bailey">> <</if>> <<else>> <<set $farm_assault.teams.team_1 to {}>> <<set $farm_assault.teams.team_2 to {}>> <<if $bailey_encroach>> <<set $farm_assault.teams.team_3 to {}>> <<set $farm_assault.teams.team_3.type to "bailey">> <</if>> <</if>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<set $farm_assault.teams[_assault_keys[_s]].location to $farm_assault.no.pluck()>> <<set $farm_assault.teams[_assault_keys[_s]].wall_progress to 0>> <<set $farm_assault.teams[_assault_keys[_s]].field_progress to 0>> <<set $farm_assault.teams[_assault_keys[_s]].number to 3>> <<if $wraith.state is "haunt" and $farm_assault.wraith is undefined and $hallucinations gte 2 and random(1,15-Math.floor(C.npc["Ivory Wraith"].lust/5)) is 1>> <<set $farm_assault.teams[_assault_keys[_s]].type to "wraith">> <<set $farm_assault.teams[_assault_keys[_s]].number to 1>> <<set $farm_assault.teams[_assault_keys[_s]].torched to 0>> <<set $farm_assault.wraith to _s>> <</if>> <<if !$farm_assault.teams[_assault_keys[_s]].type>> <<set $farm_assault.teams[_assault_keys[_s]].type to "remy">> <</if>> <</for>> <<set $fields_damaged to 0>> <<if $farm.kennel gte 1>> <<set $farm_assault.dogs to 2>> <<else>> <<set $farm_assault.dogs to 1>> <</if>> <<set $farm_assault.dogs_state to "guarding">> <<if $farm.tower_guard>> <<set $farm_assault.tower to "manned">> <<else>> <<set $farm_assault.tower to "empty">> <</if>> <<set $farm_assault.alex to "patrol">> <</widget>> <<widget "farm_assault_end">> <<unset $farm_assault>> <<unset $fields_damaged>> <<unset $farm_destroyed>> <</widget>> <<widget "farm_assault_progress">> <<set $farm_assault_done to 0>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $farm_assault.teams[_assault_keys[_s]].state is undefined>> <<set $farm_assault.teams[_assault_keys[_s]].state to "wall">> <</if>> /*Fleeing checked before and after other actions. */ <<farm_assault_flight>> <<if $farm_assault.teams[_assault_keys[_s]].location isnot "done">> /*Assaulting the tower. */ <<if $farm_assault.teams[_assault_keys[_s]].location is "tower">> <<set _tower to "threatened">> <<if $farm_assault.teams[_assault_keys[_s]].state is "approach">> <<set $farm_assault.teams[_assault_keys[_s]].state to "climb">> <<elseif $farm_assault.teams[_assault_keys[_s]].state is "climb">> <<set $farm_assault.teams[_assault_keys[_s]].state to "fight">> <<elseif $farm_assault.teams[_assault_keys[_s]].state is "fight">> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<if $farm.tower_guard_skill gte random(1, 2000)>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <<if $farm_assault.teams[_assault_keys[_s]].number lte 0>> <<set $farm_assault.tower to "manned">> <</if>> <<set _guard_won to true>> <<unset _tower>> <<else>> <<set $farm_assault.tower to "defeated">> <<set $farm_assault.teams[_assault_keys[_s]].location to $farm_assault.no.pluck()>> <<set $farm_assault.teams[_assault_keys[_s]].state to "field">> <<set _guard_lost to true>> <<unset _tower>> <</if>> <<else>> <<if $farm.tower_guard_skill gte random(1, 1000)>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <<if $farm_assault.teams[_assault_keys[_s]].number lte 0>> <<set $farm_assault.tower to "manned">> <</if>> <<set _guard_won to true>> <<unset _tower>> <<else>> <<set $farm_assault.tower to "defeated">> <<set $farm_assault.teams[_assault_keys[_s]].location to $farm_assault.no.pluck()>> <<set $farm_assault.teams[_assault_keys[_s]].state to "field">> <<set _guard_lost to true>> <<unset _tower>> <</if>> <</if>> <</if>> <</if>> /*Successfully burning. */ <<if $farm_assault.teams[_assault_keys[_s]].state is "celebrate">> <<set $farm_assault.teams[_assault_keys[_s]].state to "field">> <<set $farm_assault.teams[_assault_keys[_s]].location to $farm_assault.no.pluck()>> <<if $farm_assault.teams[_assault_keys[_s]].location is undefined or $farm_assault.teams[_assault_keys[_s]].torched gte Math.floor(C.npc["Ivory Wraith"].lust/4)>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</if>> /*Burning a field. */ <<if $farm_assault.teams[_assault_keys[_s]].state is "field">> <<if $farm_assault.teams[_assault_keys[_s]].field_progress gte 4>> <<set $farm_assault.teams[_assault_keys[_s]].field_progress to 0>> <<set $farm_assault.teams[_assault_keys[_s]].state to "celebrate">> <<set _smoke to true>> <<damage_farm "target" $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].type is "wraith">> <<set $farm_assault.teams[_assault_keys[_s]].torched++>> <</if>> <<else>> <<set $farm_assault.teams[_assault_keys[_s]].field_progress++>> <<if $farm_assault.teams[_assault_keys[_s]].type is "wraith" and random(0,1) is 1>> <<set $farm_assault.teams[_assault_keys[_s]].field_progress++>> <</if>> <</if>> <</if>> /*Responding to hounds. */ <<if $farm_assault.teams[_assault_keys[_s]].state is "dogs_recover">> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<if $farm_assault.tower is "manned">> <<set $farm_assault.no.push($farm_assault.teams[_assault_keys[_s]].location)>>/*Add their location back to the pool.*/ <<set $farm_assault.teams[_assault_keys[_s]].location to "tower">> <<set $farm_assault.teams[_assault_keys[_s]].state to "approach">> <<set $farm_assault.tower to "attacked">> <<else>> <<set $farm_assault.teams[_assault_keys[_s]].state to "field">> <</if>> <<else>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <<set $farm_assault.dogs -= 1>> <<if $farm_assault.dogs gte 1>> <<set $farm_assault.dogs_state to "guarding">> <<set _dogs_status to "victorious">> <<else>> <<set $farm_assault.dogs_state to "defeated">> <<set _dogs_status to "defeated">> <</if>> <<set $farm_assault.dogs_target to _assault_keys[_s]>> <</if>> /*Intercepted by hounds. */ <<if $farm_assault.teams[_assault_keys[_s]].state is "dogs">> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <</if>> <<set $farm_assault.teams[_assault_keys[_s]].state to "dogs_recover">> <</if>> /*Entering. */ <<if $farm_assault.teams[_assault_keys[_s]].state is "entry">> <<if $farm_assault.dogs gte 1 and $farm_assault.dogs_state is "guarding" and $farm_assault.teams[_assault_keys[_s]].type isnot "wraith">> <<set $farm_assault.teams[_assault_keys[_s]].state to "dogs">> <<set $farm_assault.dogs_state to "fighting">> <<elseif ($farm_assault.teams[_assault_keys[_s]].type is "bailey" or random(1, 2) is 2) and $farm_assault.tower is "manned" and $farm_assault.teams[_assault_keys[_s]].type isnot "wraith">> <<set $farm_assault.no.push($farm_assault.teams[_assault_keys[_s]].location)>>/*Add their location back to the pool.*/ <<set $farm_assault.teams[_assault_keys[_s]].location to "tower">> <<set $farm_assault.teams[_assault_keys[_s]].state to "approach">> <<set $farm_assault.tower to "attacked">> <<else>> <<set $farm_assault.teams[_assault_keys[_s]].state to "field">> <</if>> <</if>> /*Breaking in. */ <<if $farm_assault.teams[_assault_keys[_s]].state is "wall">> <<if $farm_assault.teams[_assault_keys[_s]].wall_progress gte $farm.wall>> <<set $farm_assault.teams[_assault_keys[_s]].state to "entry">> <<set $farm_assault.teams[_assault_keys[_s]].wall_progress to 0>> <<else>> <<if $farm_assault.teams[_assault_keys[_s]].type is "wraith">> <<set $farm_assault.teams[_assault_keys[_s]].wall_progress to $farm.wall>> <<elseif $farm.wall gte 4 and $farm_assault.teams[_assault_keys[_s]].type isnot "bailey">> <<if random(1, 3) is 3>> <<set $farm_assault.teams[_assault_keys[_s]].wall_progress++>> <</if>> <<elseif $farm.wall gte 3 and $farm_assault.teams[_assault_keys[_s]].type isnot "bailey">> <<if random(1, 3) gte 2>> <<set $farm_assault.teams[_assault_keys[_s]].wall_progress++>> <</if>> <<else>> <<set $farm_assault.teams[_assault_keys[_s]].wall_progress++>> <</if>> <</if>> <</if>> <</if>> /*Fleeing. */ <<farm_assault_flight>> /*Alex. */ <<if $farm_assault.alex is "patrol">> <<if $farm_assault.teams[_assault_keys[_s]].location isnot "done" and $farm_assault.teams[_assault_keys[_s]].type isnot "wraith">> <<set $farm_assault.alex to _assault_keys[_s]>> <</if>> <<elseif $farm_assault.alex is _assault_keys[_s]>> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<if random(1, 100) gte 80>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <<set _alex_success to true>> <</if>> <<else>> <<if random(1, 100) gte 60>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <<set _alex_success to true>> <</if>> <</if>> <</if>> /*Fleeing. */ <<farm_assault_flight>> <</for>> <</widget>> <<widget "farm_assault_flight">> <<if $farm_assault.teams[_assault_keys[_s]].number lte 0>>/*Flee if numbers reduced to 0.*/ <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <<if $farm_assault.alex is _assault_keys[_s]>>/*Alex patrols again. */ <<set $farm_assault.alex to "patrol">> <</if>> <</if>> <<if $farm_assault.teams[_assault_keys[_s]].location isnot "done">>/*Assault ends when !_farm_assault_active.*/ <<set _farm_assault_active to true>> <<elseif $farm_assault.teams[_assault_keys[_s]].location gte 0>> <<set $farm_assault.no.push($farm_assault.teams[_assault_keys[_s]].location)>>/*Add their location back to the pool.*/ <<if $farm_assault.alex is _assault_keys[_s]>>/*Alex patrols again. */ <<set $farm_assault.alex to "patrol">> <</if>> <<elseif $farm_assault.alex is _assault_keys[_s] and $farm_assault.teams[_assault_keys[_s]].location is "done">> <<set $farm_assault.alex to "patrol">> <</if>> <</widget>> <<widget "farm_assault_info">> <<if _args[0] is "guard">> <<set _skill to $farm.tower_guard_skill>> <<else>> <<set _skill to 0>> <</if>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $farm_assault.teams[_assault_keys[_s]].location is "tower" and $farm_assault.teams[_assault_keys[_s]].state is "fight">> <<set _fighting to true>> <</if>> <</for>> <<if _fighting is true or _guard_won is true or _guard_lost is true>> Your walkie talkie picks up another signal. <span class="red">You hear a struggle, punctuated by static.</span> <<if _guard_won is true>> You peer at the watchtower. A body falls from the top. <span class="green">It's not $farm.tower_guard.</span> Seems they got the better of one of their attackers. <<elseif _guard_lost is true>> You peer at the watchtower. A body falls from the top. <span class="red">It's $farm.tower_guard.</span> They won't be helping for the rest of the assault. <</if>> <br><br> <<else>> <<if _args[0] is "guard">> Your walkie talkie picks up another signal. It's $farm.tower_guard, keeping you informed of enemy activity: <<else>> You look across the farm, trying to spot enemy movements: <</if>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $farm_assault.teams[_assault_keys[_s]].type is "wraith">> <<if $farm_assault.teams[_assault_keys[_s]].location is "done">> <span class="green">The <<farm_assault_thugs>> is walking away, like <<print $wraith.seenFarm ? "it's" : "they've">> lost interest.</span> <<if $wraith.seen gte 5 and !$farm_assault.wraithStress>> <<stress -6>><<lstress>><<set $farm_assault.wraithStress to true>> <</if>> <<else>> <<if _skill gte random(400, 1400) or !$wraith.seenFarm>> <<switch $farm_assault.teams[_assault_keys[_s]].state>> <<case wall>> The <<farm_assault_thugs>> is <span class="purple">walking through the <<print $farm.wall gte 3 ? "fence" : "wall">></span>. <<case entry>> The <<farm_assault_thugs>> is shambling toward <<farm_assault_location>>. <<case field>> <<if $farm_assault.teams[_assault_keys[_s]].field_progress lte 1>> <span class="blue">The <<farm_assault_thugs>> enters <<farm_assault_location>>.</span> <<else>> <span class="blue">The <<farm_assault_thugs>> wanders around <<farm_assault_location>>.</span> <</if>> <<case celebrate>> The <<farm_assault_thugs>> stands completely still. <span class="red"><<farm_assault_location "cap">> bursts into flames.</span> <</switch>> <<else>> Something seems off at <<farm_assault_location>>. <</if>> <</if>> <<else>> <<if $farm_assault.teams[_assault_keys[_s]].location is "done">> <span class="green">The <<farm_assault_no>> group of <<farm_assault_thugs>> are running for the hills.</span> <<elseif $farm_assault.teams[_assault_keys[_s]].state is "dogs">> You hear barking from <<farm_assault_location>>. <<elseif $farm_assault.teams[_assault_keys[_s]].state is "dogs_recover">> You hear barking and shouts of <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">>pain<<else>>terror<</if>> from <<farm_assault_location>>. <<elseif $farm_assault.teams[_assault_keys[_s]].location is "tower">> <<switch $farm_assault.teams[_assault_keys[_s]].state>> <<case "approach">> <span class="purple">The <<farm_assault_no>> group of <<farm_assault_thugs>> are approaching the watchtower.</span> <<case "climb">> <span class="pink">The <<farm_assault_no>> group of <<farm_assault_thugs>> are climbing the watchtower.</span> <</switch>> <<else>> <<if _skill gte random(1, 1000)>> <<switch $farm_assault.teams[_assault_keys[_s]].state>> <<case wall>> The <<farm_assault_no>> group of <<farm_assault_thugs>> are <<if $farm.wall gte 3>> <span class="pink">cutting through the fence</span> at <<farm_assault_location>>. <<else>> climbing the wall near <<farm_assault_location>>. <</if>> <<case entry>> The <<farm_assault_no>> group of <<farm_assault_thugs>> are rushing into <<farm_assault_location>>. <<case field>> <<switch $farm_assault.teams[_assault_keys[_s]].field_progress>> <<case 1>> <span class="blue">The <<farm_assault_no>> group of <<farm_assault_thugs>> are entering <<farm_assault_location>>.</span> <<case 2>> <span class="purple">The <<farm_assault_no>> group of <<farm_assault_thugs>> are opening petrol canisters at <<farm_assault_location>>.</span> <<case 3>> <span class="pink">The <<farm_assault_no>> group of <<farm_assault_thugs>> are pouring petrol over <<farm_assault_location>>.</span> <<case 4>> <span class="red">The <<farm_assault_no>> group of <<farm_assault_thugs>> are lighting matches at <<farm_assault_location>>.</span> <</switch>> <<case celebrate>> <span class="red">The <<farm_assault_no>> group of <<farm_assault_thugs>> are revelling as the field burns.</span> <</switch>> <<else>> There's movement at <<farm_assault_location>>. <</if>> <</if>> <</if>> <br> <</for>> <br> <</if>> <</widget>> <<widget "farm_assault_alex">> <<if _farm_assault_active isnot true or $farm_destroyed is true>> <<elseif $farm_assault.alex is "bound">> <<if $farm_assault.bindings_alex gte 1>> <<set $farm_assault.bindings_alex -= 1>> <<else>> <<set $farm_assault.alex to "patrol">> <</if>> <<elseif $farm_assault.alex is "patrol">> Your walkie talkie picks up a signal. "I'm looking for intruders," Alex says. "Just checking in." <<else>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location and $farm_assault.alex is _assault_keys[_s]>> <span class="teal">Alex crouches beside you.</span> "What's the plan?" <<elseif $farm_assault.alex is _assault_keys[_s]>> Your walkie talkie picks up a signal. "I'm <<print either("pursuing","stalking","following","hunting","harrying")>> <<farm_assault_thugs>> at <<farm_assault_location>>," Alex says in a hushed voice. <<if _alex_success>> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> <span class="green">"Knocked one out."</span> <<case 2>> <span class="green">"They'll feel this in the morning."</span> <<case 3>> <span class="green">"Wonder when they'll realise they're missing a colleague."</span> <<case 4>> <span class="green">"One thug down."</span> <<default>> <span class="green">"Took one down."</span> <</switch>> <<else>> <<set _rng to random(1, 5)>> <<switch _rng>> <<case 1>> <span class="blue">"Can't get them alone."</span> <<case 2>> <span class="blue">"They're too watchful."</span> <<case 3>> <span class="blue">"Can't get close."</span> <<case 4>> <span class="blue">"Just waiting for my moment."</span> <<default>> <span class="blue">"I won't take any risks."</span> <</switch>> <</if>> <</if>> <</for>> <</if>> <br><br> <</widget>> <<widget "farm_assault_location">><<silently>> <<switch $farm_assault.teams[_assault_keys[_s]].location>> <<case 0>> <<set _text_output to "the first field">> <<case 1>> <<set _text_output to "the second field">> <<case 2>> <<set _text_output to "the third field">> <<case 3>> <<set _text_output to "the fourth field">> <<case 4>> <<set _text_output to "the fifth field">> <<case 5>> <<set _text_output to "the sixth field">> <<case 6>> <<set _text_output to "the seventh field">> <<case 7>> <<set _text_output to "the eighth field">> <<case 8>> <<set _text_output to "the ninth field">> <<case tower>> <<set _text_output to "the watchtower">> <<default>> <<set _text_output to "the fields">> <</switch>> <<if _args[0] is "cap">> <<capitalise>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "farm_assault_thugs">><<silently>> <<switch $farm_assault.teams[_assault_keys[_s]].type>> <<case "bailey">> <<set _text_output to "<span class=\"red\">Bailey's thugs</span>">> <<case "wraith">> <<if $wraith.seenFarm>> <<set _text_output to "<span class=\"wraith\">pale figure</span>">> <<else>> <<set _text_output to "<span class=\"black\">shifty stranger</span>">> <</if>> <<default>> <<set _text_output to "<span class=\"pink\">Remy's thugs</span>">> <</switch>> <<if _args[0] is "cap">> <<capitalise>> <</if>> <</silently>><<print _text_output>><</widget>> <<widget "farm_assault_options">> <<if !_noOptions>> <<link [[Wait (0:05)|Farm Assault]]>><<pass 5>><<set $farm_assault.movement to "wait">><</link>> <br> <<if $bus is "tower" and _tower isnot "threatened" and $farm_assault.tower isnot "manned">> <<link [[Climb the watchtower (0:05)|Farm Assault]]>><<pass 5>><<set $bus to "tower_top">><<set $farm_assault.movement to "climb">><</link>> <br> <</if>> <<if $bus isnot 0>> <<link [[First field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 0>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 1>> <<link [[Second field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 1>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 2>> <<link [[Third field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 2>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 3>> <<link [[Fourth field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 3>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 4 and $farm_stage gte 8>> <<link [[Fifth field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 4>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 5 and $farm_stage gte 9>> <<link [[Sixth field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 5>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 6 and $farm_stage gte 10>> <<link [[Seventh field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 6>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 7 and $farm_stage gte 11>> <<link [[Eighth field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 7>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot 8 and $farm_stage gte 12>> <<link [[Ninth field (0:05)|Farm Assault]]>><<pass 5>><<set $bus to 8>><<set $farm_assault.movement to "field">><</link>> <br> <</if>> <<if $bus isnot "tower" and $bus isnot "tower_top" and $farm.tower gte 1>> <<link [[Watchtower (0:05)|Farm Assault]]>><<pass 5>><<set $bus to "tower">><<set $farm_assault.movement to "tower">><</link>> <br> <</if>> <</if>> <</widget>> <<widget "farm_assault_actions">> <<switch $bus>> <<case "tower">> The watchtower looms above you. <<case 0>> You are near the first field. <<case 1>> You are near the second field. <<case 2>> You are near the third field. <<case 3>> You are near the fourth field. <<case 4>> You are near the fifth field. <<case 5>> You are near the sixth field. <<case 6>> You are near the seventh field. <<case 7>> You are near the eighth field. <<case 8>> You are near the ninth field. <</switch>> <br> <<if $farm_assault.bindings gte 1>> You lie in the dirt, unable to move much. <br><br> <<link [[Struggle (0:05)|Farm Assault]]>><<pass 5>><<set $farm_assault.bindings -= 1>><<set $farm_assault.movement to "struggle">><</link>> <br> <<else>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<set $_key to _assault_keys[_s]>> <<set $_team to $farm_assault.teams[$_key]>> <<set $_isBaileyTeam to $_team.type is "bailey">> <<set $_isWraith to $_team.type is "wraith">> <<if $bus is $_team.location>> <<if $bus is "tower">> <<if $_team.state is "approach">> <span class="blue"><<farm_assault_thugs>> approach.</span> <br><br> <<farm_assault_attack_options>> <<elseif $_team.state is "climb">> <span class="purple">You see <<farm_assault_thugs>> entering the tower.</span> <br><br> <<link [[Defend the watchtower (0:05)|Farm Assault Tower Defend]]>><<pass 5>><</link>> <br> <<elseif $_team.state is "fight">> <span class="pink">You hear $farm.tower_guard fighting <<farm_assault_thugs>> at the top of the tower!</span> <br><br> <<link [[Defend the watchtower (0:05)|Farm Assault Tower Defend]]>><<pass 5>><</link>> <br> <</if>> <<elseif $_team.state is "wall">> <<if $_isWraith>> You see the <<farm_assault_thugs>> <span class="pink">walking through the <<print $farm.wall gte 3 ? "fence" : "wall">></span>. <<else>> <<if $farm.wall gte 3>> You see <<farm_assault_thugs>> sawing through the fence. <<else>> You see <<farm_assault_thugs>> climbing over the wall. <</if>> <<if $_team.number is 1>> There's only one here. <<else>> There are <<number $_team.number>> of them. <</if>> <</if>> <<if $_isBaileyTeam>> <span class="red">They move with surety.</span> <</if>> <br> <<if $farm_assault.alex is $_key>> <<link [[Throw rocks with Alex (0:05)|Farm Assault Rocks Alex]]>><<pass 5>><</link>> <br> <<else>> <<set $_min to ($_isBaileyTeam ? 6000 : 1)>> <<set $_max to ($_isBaileyTeam ? 20000 : 16000)>> <<link [[Throw rocks (0:05)|Farm Assault Rocks]]>><<pass 5>><</link>><<physiquedifficulty $_min $_max>> <br> <</if>> <<set $_min to ($_isBaileyTeam ? 3000 : 200)>> <<set $_max to ($_isBaileyTeam ? 3000 : 1000)>> <<link [[Threaten (0:05)|Farm Assault Threaten]]>><<pass 5>><</link>><<skill_difficulty $fame.scrap "Combat Fame" $_min $_max>> <br> <<elseif $_team.state is "entry">> <<if $_isBaileyTeam>> <<if $_team.number gte 2>> You see <<number $_team.number>> of <<farm_assault_thugs>> rush into the farm. They ignore you, instead heading into the fields. <br> <<farm_assault_attack_options>> <<else>> You see one of <<farm_assault_thugs>> rush into the farm. <br> <<farm_assault_attack_options>> <</if>> <<elseif $_isWraith>> <<set _noOptions to true>> You see the <<farm_assault_thugs>> approach you. <<if !$wraithIntro>> <<set $wraithIntro to true>> They're a beautiful pale figure, wearing translucent white robes. They regard you with angry red eyes, clutching at their own neck. A bizarre, slimy substance leaks wherever they walk. <<elseif !$wraith.seenFarm>> <span class="red">Their face is a terrible, familiar pale.</span> A bizarre, slimy substance leaks wherever it walks. <<else>> It smiles a terrible, familiar smile. A bizarre, slimy substance leaks wherever it walks. <</if>> <<set $wraith.seenFarm to true>> <br><br> "<span class="wraith">Drown in smoke. Drown in flame.</span>" <br><br> <<if $farm_assault.alex is $_key>> "I'm doubling back," Alex whispers, <span class="red">seemingly not noticing the pale figure. <<nnpc_He "Alex">> creeps away.</span> <<set $farm_assault.alex to "patrol">> <br><br> <</if>> <<generateWraith 1 true>> <<initWraith "man" "arms" "abomination">><<startWraith>> <br><br> <<link [[Next|Farm Assault Wraith Fight]]>><<set $fightstart to 1>><</link>> <<else>> <<if $_team.number gte 2>> You see <<number $_team.number>> of <<farm_assault_thugs>> rush into the farm. They ignore you, instead heading into the fields. <br><br> <<farm_assault_attack_options>> <<else>> You see one of <<farm_assault_thugs>> rush into the farm. <br><br> <<farm_assault_attack_options>> <</if>> <</if>> <<elseif $_team.state is "dogs">> <span class="green">Your <<farm_text_many dog>> emerge from the dark, and set upon <<farm_assault_thugs>>!</span> <br><br> <<elseif $_team.state is "dogs_recover">> <<if $_isBaileyTeam>> <<if $_team.number gte 2>> <<if $farm_assault.dogs gte 2>> <<farm_assault_thugs>> seem unperturbed, and meet the hounds head-on. The first <<farm_text dog>> receives a solid kick to the face, and rolls away, whimpering, but the others manage to sink teeth into arms and legs. The thugs shake them free, but are left bloodied. <span class="green">A <<generate1>><<person1>><<person>> limps from the field,</span> too hurt to continue the assault. <br><br> <<else>> <<farm_assault_thugs>> seem unperturbed, and meet the hounds head-on. The first <<farm_text dog>> <span class="red">receives a solid kick to the face,</span> and rolls away, whimpering, but the others manage to sink teeth into arms and legs. <br><br> The thugs punch and kick at the hounds, <span class="red">scaring them away,</span> but are left bloodied. <span class="green">A <<generate1>><<person1>><<person>> limps from the field,</span> too hurt to continue the assault. <br><br> <</if>> <<else>> <<if $farm_assault.dogs gte 2>> <<generate1>><<person1>> The thug, a <<person>>, startles the hounds by barking back. One growls before lunging, grabbing the <<persons>> forearm between <<his>> teeth. <<He>> shakes the <<farm_text dog>> off, but is in no condition to continue the assault. <span class="green"><<He>> runs from the field,</span> cradling one arm in the other. <br><br> <<else>> <<generate1>><<person1>> The thug, a <<person>>, startles the hounds by barking back. One growls before lunging, grabbing the <<persons>> forearm between <<his>> teeth. <span class="red">punches the <<farm_text dog>> in the nose,</span> freeing <<his>> arm, but is in no condition to continue the assault. <span class="green"><<He>> runs from the field,</span> cradling one arm in the other. <br><br> <</if>> <</if>> <<else>> <<if $_team.number gte 2>> <<if $farm_assault.dogs gte 2>> <<farm_assault_thugs>> panic, <span class="green">and run.</span> The hounds pursue them to the <<farm_fence>>, and howl triumphant into the night. <<else>> <<farm_assault_thugs>> panic, <span class="green">and run.</span> The hounds pursue a little too eagerly, <span class="red">and chase their quarry into the night,</span> leaving the farm unguarded. They'll be too tired to help when they make it back. <</if>> <br><br> <<else>> <<generate1>><<person1>> <<if $farm_assault.dogs gte 2>> The lone <<person>> panics, <span class="green">and runs.</span> The hounds pursue <<him>> to the <<farm_fence>>, and howl triumphant into the night. <<else>> The lone <<person>> panics, <span class="green">and runs.</span> The hounds pursue a little too eagerly, <span class="red">and chase their quarry into the night,</span> leaving the farm unguarded. They'll be too tired to help when they make it back. <</if>> <br><br> <</if>> <</if>> <<endevent>> <<if $_isBaileyTeam and $_team.number gte 2>> /* Don't show attack options if team was defeated */ <<farm_assault_attack_options>> <</if>> <<elseif $_team.state is "field">> <<if $_isWraith>> You see the <<farm_assault_thugs>> wandering in the field. <<if !$wraith.seenFarm>> They don't look like they're doing anything. <<else>> <span class="purple">You suspect it's spreading flammable slime.</span> <</if>> <<else>> <<if $_team.field_progress gte 4>> <span class="pink">You see <<farm_assault_thugs>> lighting matches!</span> <<elseif $_team.field_progress gte 3>> <span class="purple">You see <<farm_assault_thugs>> covering the field in petrol.</span> <<elseif $_team.field_progress gte 2>> <span class="blue">You see <<farm_assault_thugs>> opening petrol canisters.</span> <<else>> <span class="lblue">You see <<farm_assault_thugs>> prowling through the field.</span> <</if>> <</if>> <br> <<farm_assault_attack_options>> <</if>> <</if>> <</for>> <br> <<farm_assault_options>> <</if>> <</widget>> <<widget "farm_assault_intruders">> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<set _text_output to "intruders">> <<else>> <<set _text_output to "intruder">> <</if>> <<print _text_output>> <</widget>> <<widget "farm_assault_no">> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> vicious <<else>> <<switch _s>> <<case 0>> first <<case 1>> second <<case 2>> third <<case 3>> fourth <<case 4>> fifth <</switch>> <</if>> <</widget>> <<widget "farm_assault_unbind">> <<unbind>> <<set $farm_assault.bindings to 0>> <<if $worn.face.type.includes("gag")>> <<set $worn.face.type.push("broken")>> <<faceruined>> <</if>> <<clotheson>> <</widget>> <<widget "farm_assault_attack_options">> <<if $farm_assault.alex is _assault_keys[_s]>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<link [[Work with Alex to pick one off (0:05)|Farm Assault Pick Alex]]>><<pass 5>><</link>> <br> <<if $pain gte 100>> <span class="red">You are in too much pain to fight them head on.</span> <<else>> <<link [[Charge with Alex (0:05)|Farm Assault Charge]]>><<pass 5>><</link>> <</if>> <<elseif $farm_assault.teams[_assault_keys[_s]].number gte 1 and $farm_assault.teams[_assault_keys[_s]].location isnot "done" and $farm_assault.teams[_assault_keys[_s]].state isnot "dogs_recover">> The intruder is alone. <br><br> <<link [[Overpower|Farm Assault Overpower]]>><</link>> <</if>> <<elseif $pain gte 100>> <span class="red">You're in too much pain to fight them head-on.</span> <<else>> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<link [[Fight them head-on (0:05)|Farm Assault Intercept Bailey]]>><<pass 5>><</link>> <br> <<set $skulduggerydifficulty to 1000>> <<link [[Pick one off (0:05)|Farm Assault Pick Bailey]]>><<pass 5>><</link>><<skulduggerydifficulty>> <<elseif $farm_assault.teams[_assault_keys[_s]].type is "wraith">> <<set $_them to $wraith.seenFarm ? "it" : "them">> <<link [["Fight " + $_them + " head on"|Farm Assault Intercept Wraith]]>><</link>> <<else>> <<link [[Fight them head-on (0:05)|Farm Assault Intercept]]>><<pass 5>><</link>> <br> <<set $skulduggerydifficulty to 600>> <<link [[Pick one off (0:05)|Farm Assault Pick]]>><<pass 5>><</link>><<skulduggerydifficulty>> <</if>> <</if>> <br> <</widget>><<effects>><<wearProp "rock">> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $physiqueSuccess>> <<generate1>><<person1>> You and Alex pelt the <<farm_assault_intruders>> from the shadows. Most miss, <span class="green">but one lands true</span>, hitting the <<person>> right on the noggin. <<He>> tumbles away from the <<farm_fence>>. <br><br> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <<else>> <<generate1>><<person1>> You pelt the <<farm_assault_intruders>> from the shadows. They've chosen a sheltered spot to break in, shielded by earth from most angles, and trees by others. <span class="red">You fail to hit any.</span> <br><br> <</if>> <</if>> <</for>> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br><<effects>><<wearProp "rock">> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey" and random(1, 2) is 2>> <<generate1>><<person1>> You and Alex pelt the <<farm_assault_intruders>> from the shadows. They've chosen a sheltered spot to break in, shielded by earth from most angles, and trees by the others. <span class="red">You fail to hit any.</span> <br><br> <<else>> <<generate1>><<person1>> You and Alex pelt the <<farm_assault_intruders>> from the shadows. Most miss, <span class="green">but one lands true</span>, hitting the <<person>> right on the noggin. <<He>> tumbles away from the <<farm_fence>>. <br><br> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <</if>> <</if>> <</for>> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br><<effects>> You march into the open. <<if $speech_attitude is "meek">> "I-I won't be bullied," you say. "Stop this at once, or you'll be sorry." <<elseif $speech_attitude is "bratty">> "Get the fuck off my property," you say. "Before I feed you to the pigs." <<else>> "If you leave now," you say. "I won't follow." <</if>> <br><br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<generate1>><<person1>> <span class="red">The intruders laugh.</span> <<if $fame.scrap gte 400>> "<span class="pink"><<underworld_nickname>></span>," a <<person>> says. "Very scary. But there's scarier behind us." <<else>> "Very scary," a <<person>> says. "But there's scarier behind us." <</if>> They continue forcing their way in. <<else>> <<generate1>><<person1>> <span class="red">The <<person>> laughs.</span> <<if $fame.scrap gte 400>> "<span class="pink"><<underworld_nickname>></span>," <<he>> says. "Very scary. But there's scarier behind me." <<else>> "Very scary," <<he>> says. "But there's scarier behind me." <</if>> <<He>> continues forcing their way in. <</if>> <<elseif $fame.scrap gte random(200, 1000)>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<generate1>><<person1>><<generate2>> The intruders glance at each other. <br> "Is that the one they call <span class="pink"><<underworld_nickname>></span>?" a <<person>> asks. <br> "Aye. That's why we're paid so well," a <<person2>><<person>> responds. <br> "I'm not getting paid to get my shit kicked in. I'm out." <span class="green">They turn and run.</span> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <<else>> <<generate1>><<person1>> The intruder, a <<person>>, stares at you. "I'm just getting paid to clear some fields," <<he>> says. "I don't want no trouble." <span class="green"><<He>> turns and leaves.</span> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <<else>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<generate1>><<person1>><<generate2>> The intruders glance at each other, <span class="red">and laugh.</span> "This <<girl>> thinks <<pshes>> tough or something," a <<person>> says. "About to learn a hard lesson." <br><br> They continue forcing their way in. <<else>> <<generate1>><<person1>> <span class="red">The intruder laughs.</span> "Who do you think you are?" <<he>> says. "Some <<girl>> is all I see, about to learn a hard lesson." <<He>> continues to enter. <</if>> <</if>> <</if>> <</for>> <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br><<effects>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> <<generate1>><<generate2>><<generate3>> You charge Remy's thugs, a <<fullGroup>>. They plant their feet, ready to face you. <br><br> <<elseif $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<generate1>><<generate2>> You charge Remy's thugs, a <<fullGroup>>. They plant their feet, ready to face you. <br><br> <<else>> <<generate1>> You charge Remy's thug, a <<person1>><<person>>. <<He>> seems startled by your boldness, but plants <<his>> feet as you approach. <br><br> <</if>> <</if>> <</for>> <<link [[Next|Farm Assault Fight]]>><<set $fightstart to 1>><</link>> <br><<effects>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> <<generate1>><<generate2>><<generate3>> You charge Bailey's thugs, a <<fullGroup>>. They turn to meet you. The <<person1>><<person>> cracks <<his>> knuckles. <br><br> <<elseif $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<generate1>><<generate2>> You charge Bailey's thugs, a <<fullGroup>>. They turn to meet you. The <<person1>><<person>> cracks <<his>> knuckles. <br><br> <<else>> <<generate1>> You charge Bailey's thug, a <<person1>><<person>>. <<He>> turns to meet you, and cracks <<his>> knuckles. <br><br> <</if>> <</if>> <</for>> <<link [[Next|Farm Assault Fight Bailey]]>><<set $fightstart to 1>><</link>> <br><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Farm Assault Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Assault Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $enemynomax gte 2>> Remy's thugs are too dazed and exhausted to continue, <span class="green">and stagger from the field.</span> <<else>> The <<person1>><<person>> is too dazed and exhausted to continue, <span class="green">and staggers from the field.</span> <</if>> <br><br> <<tearful>> you plan your next move. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<elseif $enemyhealth lte 0>> <<if $enemynomax gte 2>> <span class="green">Remy's thugs flee the field,</span> throwing worried glances over their shoulders to make sure you're not pursuing. <<else>> <span class="green">The <<person1>><<person>> flees the field,</span> throwing worried glances over <<his>> shoulder to make sure you're not pursing. <</if>> <br><br> <<tearful>> you plan your next move. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<else>> You fall to the earth, too hurt to continue fighting. <br><br> The <<person1>><<person>> crouches over you, <span class="purple">and gropes your <<breasts>></span>. "Shame I got a job to do," <<he>> says. <br><br> You can't stop <<him>> binding your arms and legs together, and tying a gag around your mouth. "Later, <<girl>>." <br><br> <<tearful>> you struggle against the rope. It was a rough job, and you should be able to work free. <br><br> <<endcombat>> <<set $farm_assault.bindings to 3>> <<bind>> <<facewear 23>> <<link [[Next|Farm Assault]]>><</link>> <br> <</if>><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <<set $enemyhealthmax *= 1.3>> <<set $enemyhealth *= 1.3>> <<set $enemyarousalmax *= 1.3>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Farm Assault Fight Bailey Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Assault Fight Bailey]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "You'll go far," the <<person1>><<person>> mutters. <<if $enemynomax gte 2>> Bailey's thugs are too dazed and exhausted to continue, <span class="green">and stagger from the field.</span> <<else>> <<Hes>> too dazed and exhausted to continue, <span class="green">and staggers from the field.</span> <</if>> <br><br> <<tearful>> you plan your next move. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<elseif $enemyhealth lte 0>> "Shit," the <<person1>><<person>> says. "Bailey's not gonna be happy." <<if $enemynomax gte 2>> <span class="green">Bailey's thugs flee the field,</span> disappearing into the night. <<else>> <span class="green"><<He>> flees the field,</span> disappearing into the night. <</if>> <br><br> <<tearful>> you plan your next move. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<else>> You fall to the earth, too hurt to continue fighting. <br><br> The <<person1>><<person>> crouches over you. "Sorry," <<he>> says. "But this is the way of the world." <br><br> You can't stop <<him>> binding your arms and legs together, and tying a gag around your mouth. "Later, <<girl>>." <br><br> <<tearful>> you struggle against the rope. It was a rough job, and you should be able to work free. <br><br> <<endcombat>> <<set $farm_assault.bindings to 3>> <<bind>> <<facewear 23>> <<link [[Next|Farm Assault]]>><</link>> <br> <</if>><<effects>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> You keep to the shadows as you stalk the intruders, waiting for an opening. <<else>> You keep to the shadows as you stalk the intruder, waiting for an opening. <</if>> <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <span class="green">You find one.</span> A <<generate1>><<person1>><<person>> strays too far from <<his>> fellows. You lunge from the dark, and smack <<him>> over the head. <<His>> body slumps to the earth, unconscious. <br><br> <<endevent>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <<else>> <span class="green">You find one.</span> The <<generate1>><<person1>><<person>> stands too close to a hedge, letting you sneak right behind <<him>>. You lunge from the dark, and smack <<him>> over the head. <<His>> body slumps to the earth, unconscious. <br><br> <<endevent>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <</if>> <br><br> <<skulduggeryuse>> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<else>> <<generate1>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<generate2>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> <<generate3>> <</if>> A <<person1>><<person>> strays apart from the others, and you make your move, sneaking closer. You lunge from the dark, <span class="red">but the <<person>> spins and catches your arm.</span> <br><br> "Found the <<girl>>," <<he>> says as <<he>> shunts you away. You hear footsteps from behind. <br><br> <<else>> You keep to the shadows as you stalk the intruder, waiting for an opening. <</if>> <br><br> <<link [[Next|Farm Assault Fight Bailey]]>><<set $fightstart to 1>><</link>> <br> <</if>> <</if>> <</for>><<effects>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> You keep to the shadows as you stalk the intruders, waiting for an opening. <<else>> You keep to the shadows as you stalk the intruder, waiting for an opening. <</if>> <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <span class="green">You find one.</span> A <<generate1>><<person1>><<person>> strays too far from <<his>> fellows. You lunge from the dark, and smack <<him>> over the head. <<His>> body slumps to the earth, unconscious. <br><br> <<endevent>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <<else>> <span class="green">You find one.</span> The <<generate1>><<person1>><<person>> stands too close to a hedge, letting you sneak right behind <<him>>. You lunge from the dark, and smack <<him>> over the head. <<His>> body slumps to the earth, unconscious. <br><br> <<endevent>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <</if>> <br><br> <<skulduggeryuse>> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<else>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> <<generate1>> <<else>> <<generate1>> <</if>> <span class="red">You can't find one.</span> The thugs stay too close together. Attacking one would alert the others. <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<else>> <<generate1>><<person1>> You keep to the shadows as you stalk the intruder, a <<person>>, waiting for an opening. You creep up while <<his>> back is turned, <span class="red">but trip in the dark,</span> stumbling to the ground and alerting <<him>>. <br><br> <<He>> turns and plants <<his>> feet, though you're not sure <<he>> knows quite where you are. <br><br> <<link [[Fight|Farm Assault Fight]]>><<set $fightstart to 1>><</link>> <br> <<link [[Flee|Farm Assault Flight]]>><</link>> <br> <</if>> <</if>> <</if>> <</for>><<effects>> You turn and flee into the darkness. <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br><<effects>> You and Alex stalk the intruders, waiting for one to stray too close to the dark. <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<generate1>><<person1>> One, a <<person>>, stands with <<his>> back to a hedge, seeming to think it impenetrable. <br><br> You emerge from the undergrowth to strike, but the <<person>> spins and grasps your arm. <<He>> doesn't notice Alex until it's too late. One blow lays <<him>> on the ground. <br><br> Alex resists the urge to cheer. <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<else>> They don't seem like they'll play along, until Alex emerges into the light, and taunts them, before vanishing into tall grass. <br><br> <<generate1>><<person1>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> Two rush after, leaving a <<person>> behind. <<else>> One rushes after, leaving a <<person>> behind. <</if>> Now's your chance. You creep behind <<him>>, and strike. <<He>> doesn't utter a sound as <<he>> falls. <br><br> You regroup with Alex, and plot your next move. <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <</if>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <</if>> <</for>><<effects>> You charge the intruders, Alex at your side. <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> <<generate1>><<generate2>> There are three of them. One splits off to intercept Alex, leaving the <<fullGroup>> to you. <br><br> <<person1>> <<else>> <<generate1>><<person1>> There are two of them. One intercepts Alex, leaving the <<person>> to you. <br><br> <</if>> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<link [[Next|Farm Assault Alex Fight Bailey]]>><<set $fightstart to 1>><</link>> <br> <<else>> <<link [[Next|Farm Assault Alex Fight]]>><<set $fightstart to 1>><</link>> <br> <</if>> <</if>> <</for>><<effects>> <<generate1>><<person1>>You rush the lone intruder, a <<person>>, while Alex circles around. <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<He>> turns to face you, planting <<his>> feet. Alex rushes <<him>> from behind. The <<person>> swivels and deflects the blow with <<his>> arms, but this leaves <<him>> open to you. You whack <<him>> over the head, and <<he>> slumps to the ground.<<glove>><<npcincr Alex love 1>> <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<else>> <<He>> turns to face you, planting <<his>> feet. <<He>> notices Alex too late. <<He>> slumps to the ground.<<glove>><<npcincr Alex love 1>> <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <</if>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> You hear Alex fighting the other intruder. <br><br> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Farm Assault Alex Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Assault Alex Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $enemynomax gte 2>> Remy's thugs are too dazed and exhausted to continue. <span class="green">They stagger from the field.</span> <<else>> The <<person1>><<person>> is too dazed and exhausted to continue. <span class="green"><<He>> staggers from the field.</span> <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Alex>><<person1>> <<tearful>> you rush to Alex's aid. You arrive in time to see <<him>> drive the intruder away. <<He>> turns to you, sweaty and triumphant. "We showed em." You don't think <<he>> realises how you subdued yours. <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<elseif $enemyhealth lte 0>> <<if $enemynomax gte 2>> <span class="green">Remy's thugs flee the field,</span> throwing worried glances over their shoulders to make sure you're not pursuing. <<else>> <span class="green">The <<person1>><<person>> flees the field,</span> throwing worried glances over <<his>> shoulder to make sure you're not pursing. <</if>> <br><br> <<clotheson>> <<endcombat>> <<npc Alex>><<person1>> <<tearful>> you rush to Alex's aid. You arrive in time to see <<him>> drive the intruder away. <<He>> turns to you, sweaty and triumphant. "We showed em. No time to rest. Let's go." <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<else>> You fall to the earth, too hurt to continue fighting. <br><br> The <<person1>><<person>> crouches over you, <span class="purple">and gropes your <<breasts>></span>. "Shame I got a job to do," <<he>> says. <<He>> produces a length of rope.<<gstress>><<stress 6>> <br><br> "Leave <<phim>> alone!" shouts Alex, rushing over and leaving the other intruder slumped in the mud. <br><br> Alex slams into the <<person>> before <<he>> can rise, and helps you to your feet. <<tearful>> you limp away, supported by Alex at your side. <<endcombat>> <<clotheson>> <<npc Alex>><<person1>> "That was too dangerous," Alex says once safely hidden away. The intruders don't pursue, perhaps concerned with their own injured. "You can sit out if you need to," <<he>> says. "I've got this."<<ggdom>><<npcincr Alex dom 1>> <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].number -= 1>> <</if>> <</for>> <</if>><<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <<set $enemyhealthmax *= 1.3>> <<set $enemyhealth *= 1.3>> <<set $enemyarousalmax *= 1.3>> <</if>> You hear Alex fighting the other intruder. <br><br> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Farm Assault Alex Fight Bailey Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Assault Alex Fight Bailey]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "You'll go far," the <<person1>><<person>> mutters. <<if $enemynomax gte 2>> Bailey's thugs are too dazed and exhausted to continue, <span class="green">and stagger from the field.</span> <<else>> <<Hes>> too dazed and exhausted to continue, <span class="green">and staggers from the field.</span> <</if>> <br><br> <<endcombat>> <<clotheson>> <<npc Alex>><<person1>><<generate2>> <<tearful>> you rush to Alex's side. You find <<him>> wrestling with the remaining intruder, a <<person2>><<person>>. The intruder has the upper hand, until you smack <<him>> over the head from behind.<<person1>><<npcincr Alex dom 1>> <br><br> "You showed em," Alex says as you help <<him>> to <<his>> feet. You don't think <<he>> realises how you subdued yours. <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<elseif $enemyhealth lte 0>> "Shit," the <<person1>><<person>> says. "Bailey's not gonna be happy." <<if $enemynomax gte 2>> <span class="green">Bailey's thugs flee the field,</span> disappearing into the night. <<else>> <span class="green"><<He>> flees the field,</span> disappearing into the night. <</if>> <br><br> <<endcombat>> <<clotheson>> <<npc Alex>><<person1>><<generate2>> <<tearful>> you rush to Alex's side. You find <<him>> wrestling with the remaining intruder, a <<person2>><<person>>. The intruder has the upper hand, until you smack <<him>> over the head from behind.<<person1>><<npcincr Alex dom 1>> <br><br> "You showed em," Alex says as you help <<him>> to <<his>> feet. <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<else>> You fall to the earth, too hurt to continue fighting. <br><br> The <<person1>><<person>> crouches over you. "Sorry," <<he>> says. "But this is the way of the world." <<He>> produces a length of rope, and a gag. <br><br> <<endcombat>> <<npc Alex>><<person1>><<generate2>> "Don't you dare!" shouts Alex. <<He>> runs closer, but a <<person2>><<person>> tackles <<person1>><<him>> from behind. <br><br> "Your friend is spirited. Not a problem. Always bring plenty of rope." You can't stop them binding your arms and legs together, and tying a gag around your mouth. You hear Alex's muffled voice nearby. "Later, <<girl>>." <br><br> <<tearful>> you struggle against the rope. It was a rough job, and you should be able to work free. <br><br> <<endevent>> <<set $farm_assault.bindings to 3>> <<set $farm_assault.bindings_alex to 3>> <<bind>> <<facewear 23>> <<link [[Next|Farm Assault]]>><</link>> <br> <</if>><<effects>> You arrive at the base of the tower. You already hear a struggle at the top. The stairs creak as you climb. <br><br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> You emerge to find <<farm_assault_thugs>> besetting $farm.tower_guard. <<endevent>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "Come on," <<he>> says, backed into a corner, but defiant. "Make it count." <<elseif $NPCList[0].traits.includes("sociable")>> "I've handled worse than you lot," <<he>> says. "Bring it. See what happens." <<elseif $NPCList[0].traits.includes("brooding")>> "Time to earn my pay," <<he>> spits. <<else>> "I'm popular tonight," <<he>> laughs. "Everyone wants a dance." <</if>> <<endevent>> <br><br> <<if $farm_assault.teams[_assault_keys[_s]].type is "bailey">> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> <<generate1>><<generate2>><<person1>><<set $skulduggerydifficulty to 1200>> The three thugs step closer, wary. They haven't noticed you. <<elseif $farm_assault.teams[_assault_keys[_s]].number gte 2>> <<generate1>><<person1>><<set $skulduggerydifficulty to 1000>> The three thugs step closer, wary. They haven't noticed you. <<else>> <<generate1>><<person1>><<set $skulduggerydifficulty to 600>> The thug, a <<person>>, steps closer, wary. <<He>> hasn't noticed you. <</if>> <br><br> <<if $skulduggerydifficulty gte 1>> <<link [[Charge|Farm Assault Charge Bailey]]>><</link>> <br> <</if>> <<link [[Sneak up|Farm Assault Sneak Bailey]]>><</link>><<skulduggerydifficulty>> <br> <<else>> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> <<generate1>><<generate2>><<person1>><<set $skulduggerydifficulty to 800>> The three thugs walk closer, smiling and unthreatened. They haven't noticed you. <<elseif $farm_assault.teams[_assault_keys[_s]].number gte 2>><<set $skulduggerydifficulty to 600>> <<generate1>><<person1>> The three thugs step closer, seeming unthreatened. They haven't noticed you. <<else>><<set $skulduggerydifficulty to 0>> <<generate1>><<person1>> The thug, a <<person>>, steps closer, wary. <<He>> hasn't noticed you. <</if>> <br><br> <<if $skulduggerydifficulty gte 1>> <<link [[Charge|Farm Assault Tower Charge]]>><</link>> <br> <</if>> <<link [[Sneak up|Farm Assault Sneak]]>><</link>><<skulduggerydifficulty>> <br> <</if>> <</if>> <</for>> <<link [[Climb down|Farm Assault]]>><<endevent>><</link>> <br><<effects>> You charge the thugs. They spin to face you, giving $farm.tower_guard an opening. <br><br> <<link [[Next|Farm Assault Tower Fight]]>><<set $fightstart to 1>><</link>> <br><<effects>> <<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <</if>> $farm.tower_guard fights nearby. <br><br> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Farm Assault Tower Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Assault Tower Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $enemynomax gte 2>> The thugs stagger away from you. They need a breather, but look ready to continue fighting. Until $farm.tower_guard sends <<his>> colleague plummeting from the tower. They turn and run down the stairs. <<else>> <<He>> staggers away from you. <<He>> needs a breather, but looks ready to continue fighting. Until $farm.tower_guard sends <<his>> colleague plummeting from the tower. <<He>> turns and runs down the stairs. <</if>> <br><br> <<tearful>> you rest against the railing. <br><br> <<clotheson>> <<endcombat>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "That's a strange way to fight," $farm.tower_guard says. "If it works, it works." <<elseif $NPCList[0].traits.includes("sociable")>> "I've some friends who want to get into sex work," $farm.tower_guard says. "They could learn from you." <<elseif $NPCList[0].traits.includes("brooding")>> "That's one way to do it," $farm.tower_guard says. "I don't judge. We survive the way we can." <<else>> "Wish you gave me that treatment," $farm.tower_guard laughs. <</if>> <<gstress>><<stress 6>> <<endevent>> <br><br> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<set $farm_assault.tower to "manned">> <<elseif $enemyhealth lte 0>> <<if $enemynomax gte 2>> You smack the <<person1>><<person>> from the tower. $farm.tower_guard's opponent follows suit. The <<person2>><<person>> turns and runs, almost falling down the stairs. <<else>> You smack the <<person1>><<person>> from the tower. $farm.tower_guard's opponent follows suit. <</if>> <br><br> <<tearful>> you rest on the railing. <br><br> <<clotheson>> <<endcombat>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "Couldn't end any other way," $farm.tower_guard laughs. "We'll send the next ones packing too." <<elseif $NPCList[0].traits.includes("sociable")>> "That was almost fun," $farm.tower_guard laughs. "Maybe next time we'll break a sweat." <<elseif $NPCList[0].traits.includes("brooding")>> "Job done, but there might be more coming," $farm.tower_guard says. "Thanks for the assist." <<else>> $farm.tower_guard holds out <<his>> hand for a high five. "We showed em," <<he>> says. "Maybe you'll reward me later? A <<if $pronoun is "m">>boy<<else>>girl<</if>> can dream." <</if>> <br><br> <<endevent>> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<set $farm_assault.tower to "manned">> <<else>> You fall against the railing, too hurt to continue fighting. <<if $enemynomax gte 2>> The thugs turn their attention to $farm.tower_guard, and rush to their colleague's aid. <<else>> The <<person1>><<person>> turns <<his>> attention to $farm.tower_guard, and rushes to <<his>> colleague's aid. <</if>> <br><br> <<endcombat>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> There's a struggle, until <<if $farm.tower_guard_skill gte random(1, ($farm_assault.teams[_assault_keys[_s]].number * 500))>> $farm.tower_guard <span class="green">punches one assailant off the tower.</span> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> The other thugs turn and flee down the stairs. <<else>> The other thug turns and flees down the stairs. <</if>> <br><br> $farm.tower_guard helps you to your feet. <<if $NPCList[0].traits.includes("relaxed")>> "You alright?" <<he>> asks. "Sit the rest of this out if you need to. I'll keep Alex up to speed." <<elseif $NPCList[0].traits.includes("sociable")>> "Take it easy for a bit," <<he>> says. "Hope the others haven't gotten up to much mischief while I've been distracted." <<elseif $NPCList[0].traits.includes("brooding")>> "Don't take so many risks," <<he>> says. "Pace yourself." <<else>> "You don't look so good," <<he>> says. "Good thing there are no perverts around to take advantage. Except me, but I'm on your payroll." <</if>> <br><br> <<tearful>> you climb down the stairs. <br><br> <<set $farm_assault.tower to "manned">> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <<else>> <<farm_assault_thugs>> <span class="red">overpower $farm.tower_guard, and knock <<him>> from the tower.</span> They cheer before rushing down the stairs, paying you no heed. <br><br> <<tearful>> you climb to your feet, then down the tower. <br><br> <<set $farm_assault.teams[_assault_keys[_s]].location to $farm_assault.no.pluck()>> <<set $farm_assault.teams[_assault_keys[_s]].state to "field">> <<set $farm_assault.tower to "defeated">> <</if>> <</if>> <</for>> <<clotheson>> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <</if>><<effects>> You charge the thugs. They spin to face you, giving $farm.tower_guard an opening. <br><br> <<link [[Next|Farm Assault Tower Bailey Fight]]>><<set $fightstart to 1>><</link>> <br><<effects>> <<if $fightstart is 1>> <<set $fightstart to 0>> <<neutral 1>> <<maninit>> <<set $enemytrust -= 100>> <<set $enemyanger += 200>> <<npcidlegenitals>> <<set $enemyhealthmax *= 1.3>> <<set $enemyhealth *= 1.3>> <<set $enemyarousalmax *= 1.3>> <</if>> $farm.tower_guard fights nearby. <br><br> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0)>> <span id="next"><<link [[Next|Farm Assault Tower Bailey Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Assault Tower Bailey Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> <<if $enemynomax gte 2>> The thugs stagger away from you. They need a breather, but look ready to continue fighting. Until $farm.tower_guard sends <<his>> colleague plummeting from the tower. They turn and run down the stairs. <<else>> <<He>> staggers away from you. <<He>> needs a breather, but looks ready to continue fighting. Until $farm.tower_guard sends <<his>> colleague plummeting from the tower. <<He>> turns and runs down the stairs. <</if>> <br><br> <<tearful>> you rest against the railing. <br><br> <<clotheson>> <<endcombat>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "That's a strange way to fight," $farm.tower_guard says. "If it works, it works." <<elseif $NPCList[0].traits.includes("sociable")>> "I've some friends who want to get into sex work," $farm.tower_guard says. "They could learn from you." <<elseif $NPCList[0].traits.includes("brooding")>> "That's one way to do it," $farm.tower_guard says. "I don't judge. We survive the way we can." <<else>> "Wish you gave me that treatment," $farm.tower_guard laughs. <</if>> <<gstress>><<stress 6>> <<endevent>> <br><br> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<set $farm_assault.tower to "manned">> <<elseif $enemyhealth lte 0>> <<if $enemynomax gte 2>> You smack the <<person1>><<person>> from the tower. $farm.tower_guard's opponent follows suit. The <<person2>><<person>> smirks, before turning and running down the stairs. <<else>> You smack the <<person1>><<person>> from the tower. $farm.tower_guard's opponent follows suit. <</if>> <br><br> <<tearful>> you rest on the railing. <br><br> <<clotheson>> <<endcombat>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "Couldn't end any other way," $farm.tower_guard laughs. "We'll send the next ones packing too." <<elseif $NPCList[0].traits.includes("sociable")>> "That was almost fun," $farm.tower_guard laughs. "Maybe next time we'll break a sweat." <<elseif $NPCList[0].traits.includes("brooding")>> "Job done, but there might be more coming," $farm.tower_guard says. "Thanks for the assist." <<else>> $farm.tower_guard holds out <<his>> hand for a high five. "We showed em," <<he>> says. "Maybe you'll reward me later? A <<if $pronoun is "m">>boy<<else>>girl<</if>> can dream." <</if>> <br><br> <<endevent>> <<link [[Next|Farm Assault]]>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<set $farm_assault.tower to "manned">> <<else>> You fall against the railing, too hurt to continue fighting. <<if $enemynomax gte 2>> The thugs turn their attention to $farm.tower_guard, and rush to their colleague's aid. <<else>> The <<person1>><<person>> turns <<his>> attention to $farm.tower_guard, and rushes to <<his>> colleague's aid. <</if>> <br><br> <<endcombat>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> There's a struggle, until <<if $farm.tower_guard_skill gte random(1, ($farm_assault.teams[_assault_keys[_s]].number * 1000))>> $farm.tower_guard <span class="green">punches one assailant off the tower.</span> <<if $farm_assault.teams[_assault_keys[_s]].number gte 3>> The other thugs laugh, then turn and flee down the stairs. <<else>> The other thug laughs, then turns and flees down the stairs. <</if>> <br><br> $farm.tower_guard helps you to your feet. <<if $NPCList[0].traits.includes("relaxed")>> "You alright?" <<he>> asks. "Sit the rest of this out if you need to. I'll keep Alex up to speed." <<elseif $NPCList[0].traits.includes("sociable")>> "Take it easy for a bit," <<he>> says. "Hope the others haven't gotten up to much mischief while I've been distracted." <<elseif $NPCList[0].traits.includes("brooding")>> "Don't take so many risks," <<he>> says. "Pace yourself." <<else>> "You don't look so good," <<he>> says. "Good thing there are no perverts around to take advantage. Except me, but I'm on your payroll." <</if>> <br><br> <<tearful>> you climb down the stairs. <br><br> <<set $farm_assault.tower to "manned">> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <<else>> <<farm_assault_thugs>> <span class="red">overpower $farm.tower_guard, and knock <<him>> from the tower.</span> They cheer before rushing down the stairs, paying you no heed. <br><br> <<tearful>> you climb to your feet, then down the tower. <br><br> <<set $farm_assault.teams[_assault_keys[_s]].location to $farm_assault.no.pluck()>> <<set $farm_assault.teams[_assault_keys[_s]].state to "field">> <<set $farm_assault.tower to "defeated">> <</if>> <</if>> <</for>> <<clotheson>> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <</if>><<effects>> You move as fast as you think you can get away with. $farm.tower_guard tries to keep the thugs' attention. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <span class="green">You make it right up to a <<person>>, and shove.</span> <<He>> cries out in surprise as <<he>> flips over the railing, plummeting from the tower. <<if $enemynomax gte 2>> <<His>> colleagues turn in surprise. $farm.tower_guard seizes the opening, and smacks a <<person2>><<person>> in the face. <<He>> staggers back, then trips and tumbles down the stairs. <br><br> The remaining thug runs after <<him>>. <br><br> <<else>> <<His>> colleague turns in surprise. $farm.tower_guard seizes the opening with a punch, and sends the remaining thug tumbling down the stairs. <br><br> <</if>> <<skulduggeryuse>> <<endevent>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "You can think on your feet," $farm.tower_guard says. "I'm glad you were here." <<elseif $NPCList[0].traits.includes("sociable")>> "That's what you get," $farm.tower_guard shouts off the tower. <<He>> turns to you. "Thanks for the backup. I'll get back to spotting." <<elseif $NPCList[0].traits.includes("brooding")>> "Nice one," $farm.tower_guard says. "I'll get back to work." <<else>> "We make a good team," $farm.tower_guard says. "Maybe we'll team up in other ways later." <<He>> laughs. <</if>> <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<set $farm_assault.tower to "manned">> <<else>> <span class="red">The floorboards creak,</span> and the thugs swivel to face you. $farm.tower_guard capitalises on the distraction, and punches the closest. <br><br> <<skulduggeryuse>> <<link [[Next|Farm Assault Tower Fight]]>><<set $fightstart to 1>><</link>> <br> <</if>><<effects>> You move as fast as you think you can get away with. $farm.tower_guard tries to keep the thugs' attention. <br><br> <<skulduggerycheck>> <<if $skulduggerysuccess is 1>> <span class="green">You make it right up to a <<person>>, and shove.</span> <<He>> cries out in surprise as <<he>> flips over the railing, plummeting from the tower. <<if $enemynomax gte 2>> <<His>> colleagues turn in surprise. $farm.tower_guard seizes the opening, and smacks a <<person2>><<person>> in the face. <<He>> staggers back, then trips and tumbles down the stairs. <br><br> The remaining thug flashes you a smile, then runs after <<him>>. <br><br> <<else>> <<His>> colleague turns in surprise. $farm.tower_guard seizes the opening with a punch, and sends the remaining thug tumbling down the stairs. <br><br> <</if>> <<skulduggeryuse>> <<endevent>> <<loadNPC 0 "farm_tower_guard">><<person1>> <<if $NPCList[0].traits.includes("relaxed")>> "You can think on your feet," $farm.tower_guard says. "I'm glad you were here." <<elseif $NPCList[0].traits.includes("sociable")>> "That's what you get," $farm.tower_guard shouts off the tower. <<He>> turns to you. "Thanks for the backup. I'll get back to spotting." <<elseif $NPCList[0].traits.includes("brooding")>> "Nice one," $farm.tower_guard says. "I'll get back to work." <<else>> "We make a good team," $farm.tower_guard says. "Maybe we'll team up in other ways later." <<He>> laughs. <</if>> <br><br> <<link [[Next|Farm Assault]]>><<endevent>><</link>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<for _s to 0; _s lt _assault_keys.length; _s++>> <<if $bus is $farm_assault.teams[_assault_keys[_s]].location>> <<set $farm_assault.teams[_assault_keys[_s]].location to "done">> <</if>> <</for>> <<set $farm_assault.tower to "manned">> <<else>> <span class="red">The floorboards creak,</span> and the thugs swivel to face you. $farm.tower_guard capitalises on the distraction, and punches the closest. <br><br> <<skulduggeryuse>> <<link [[Next|Farm Assault Tower Bailey Fight]]>><<set $fightstart to 1>><</link>> <br> <</if>><<effects>><<set _assault_keys to Object.keys($farm_assault.teams)>> <<if !$wraithIntro>> <<set $wraithIntro to true>> You charge at the stranger. They're a beautiful pale figure, with translucent white robes and flowing silver hair. They regard you with angry red eyes, clawing at their own neck. A bizarre, slimy substance leaks wherever they walk. <<elseif !$wraith.seenFarm>> You charge at the stranger. They turn to look at you and chuckle. <span class="red">Their face is a terrible, familiar pale.</span> A bizarre, slimy substance leaks wherever it walks. <<else>> You charge at the pale figure. It turns to look at you and chuckles. A bizarre, slimy substance leaks wherever it walks. <</if>> <br><br> "<span class="wraith">Ashes to ashes, eye for an eye. <<pcPetname "Wraith">>.</span>" <br><br> <<generateWraith 1 true>> <<initWraith "man" "arms" "abomination">><<startWraith>><<set $wraith.seenFarm to true>> An ember crackles at <<his>> finger. <span class="red">The slime begins to spread across the field on its own.</span> <br><br> <<link [[Next|Farm Assault Wraith Fight]]>><<set $fightstart to 1>><<set $phase to 1>><</link>><<effects>> <<if $fightstart is 1>> <<set $fightstart to 0>> <<controlloss>> <<violence 1>> <<neutral 1>> <<molested>> <<set $rescue to 0>> <<set $enemytype to $wraith.type>> <<set $wraith.exit to "farm_assault">> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<set $timer to 12 - $farm_assault.teams[_assault_keys[$farm_assault.wraith]].field_progress - Math.floor(C.npc["Ivory Wraith"].lust/4)>> <</if>> <<set $enemyanger += 10>> <<if $phase is 1>> <<if $timer gte 8>> <span class="lblue">The slime is thinly spread.</span> <<elseif $timer gte 6>> <span class="blue">The slime spreads out.</span> <<elseif $timer gte 4>> <span class="purple">The slime spreads further.</span> <<elseif $timer gte 2>> <span class="pink">The slime almost coats the entire field.</span> <<else>> <span class="red">The slime covers every inch.</span> <</if>> <</if>> <<effectsWraith>> <<if _combatend or ($pain gte 100 and $willpowerpain is 0) or ($timer lte 0 and $phase is 1)>> <span id="next"><<link [[Next|Farm Assault Wraith Fight Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Assault Wraith Fight]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<set _bind to 1>> With a hiss, <span class="green">the embers fizz out</span>. <<ejaculation>> "<span class="wraith">Such spectacular lust.</span>" <<kissWraith>> <br><br> <<if $wraith.gen is "arms">> While you're still staggered, <<he>> clasps two of <<his>> extra hands together and forms a translucent, shimmering strand of energy. <<else>> While you're still staggered, <<he>> sprouts two additional arms and forms a translucent, shimmering strand of energy. <</if>> The strand flies out of <<his>> hands of its own accord and wraps around you, pinning your arms to your side. <<He>> gently pushes <<his>> foot into your chest, and you fall over. <br><br> "<span class="wraith">Cacophony of cinder. Walk the coals that remain, and cover your ears.</span>" <br><br> <<He>> walks away, leaving you in the dirt. You're not sure when you lose sight of <<him>>. <<tearful>> you struggle against the strand of energy. It's gossamer thin, but very strong. <br><br> <<endcombat>> <<exitWraith>> <<elseif $enemyhealth lte 0>> The figure looks down at you in shock as <<he>> staggers backwards. With a hiss, <span class="green">the embers fizz out</span>. <<if $wraith.gen is "abomination">> The tentacles drop lifelessly into the dark water. <<elseif $wraith.gen is "arms">> <<His>> extra arms fold back in. <</if>> <<His>> head snaps back, and <<he>> dissipates into nothingness with a brief shriek that echoes in your mind. Your ears ring, and you think you hear laughter. "<span class="wraith">You'll reap what you've sown.</span>" <br><br> <<tearful>> you plan your next move. <br><br> <<set $wraith.defeated++>> <<clotheson>> <<endcombat>> <<exitWraith>> <<elseif $timer lte 0>> <<set _torch to 1>> The pale figure flicks a single spark off its fingertip, onto the slime coating the field. It spreads, and <span class="red">the field bursts into flames.</span> You're not burnt, but the field is torched in front of your eyes. Your heart sinks. <<control -10>><<stress 12>><<trauma 6>><<lcontrol>><<ggstress>><<gtrauma>> <br><br> "<span class="wraith">Does it hurt, being ripped away in front of you?</span>" The pale figure grabs your face while you're distracted. <<set $wraith.gen to "man">><<kissWraith>> <br><br> <<He>> walks away, leaving you standing in the scorched field. You're not sure when you lose sight of <<him>>. <<tearful>> you plan your next move. <br><br> <<clotheson>> <<endcombat>> <<exitWraith>> <<else>> <<set _bind to 1>><<set _torch to 1>> You fall to the earth, too hurt to continue fighting. <br><br> <<if $wraith.gen is "arms">> The pale figure clasps two of <<his>> extra hands together and forms a translucent, shimmering strand of energy. <<else>> The pale figure sprouts two additional arms and forms a translucent, shimmering strand of energy. <</if>> The strand flies out of <<his>> hands of its own accord and wraps around you, pinning your arms to your side. <<He>> gently pushes <<his>> foot into your chest, and you fall over. <br><br> "<span class="wraith">Cacophony of cinder. Walk the coals that remain, and cover your ears.</span>" <br><br> The pale figure flicks a single spark off its fingertip, onto the slime coating the field. It spreads, and <span class="red">the field bursts into flames.</span> You're not burnt, but the field is torched in front of your eyes. You struggle and scream. <<control -10>><<stress 12>><<trauma 6>><<lcontrol>><<ggstress>><<gtrauma>> <br><br> The pale figure walks away, leaving you in the dirt. You're not sure when you lose sight of <<him>>. <<tearful>> you struggle against the strand of energy. It's gossamer thin, but very strong. <br><br> <<endcombat>> <<exitWraith>> <</if>> <br> <<set _assault_keys to Object.keys($farm_assault.teams)>> <<if _bind is 1>> <<set $farm_assault.bindings to 6>> <<bind>> <</if>> <<if _torch is 1>> <<damage_farm "target" $farm_assault.teams[_assault_keys[$farm_assault.wraith]].location>> <</if>> <<set $farm_assault.teams[_assault_keys[$farm_assault.wraith]].location to "done">><<set $location to "alex_cottage">><<set $outside to 0>><<effects>> <<farm_work_update>> <<if $slimeFarmNakedStored is true>> You put your clothes on. <<storeon "farmHidingSpot">> <<exposure>> <<unset $slimeFarmNakedStored>> <</if>> <<if $farm_stage gte 7>><<unset $farm_naked>><</if>> <<if $alexSomnoAngry is 0>> Alex glares at you when you come downstairs. <br><br> <<set $alexSomnoAngry to 1>> <</if>> You are downstairs in Alex's cottage. It's tight, and cosy. There's a kitchen with modern appliances, and a small table, as well as a living room with a sofa and armchair. <br><br> <!-- Flavor text of Alex coming down, going up, or being upstairs --> <<if Time.hour is 21 and ($alex_to_bed is undefined or $farm_end isnot 1)>> <<npc Alex>><<person1>> <<if $farm_end isnot 1>> <<set $farm_end to 1>> /* If it's 21:00 and you go to the cottage, the farm work needs to be stopped. */ Alex enters the cottage. "Done for another day," <<he>> says, <<if $exposed gt 0>> blushing. "It'll be getting colder, you might want to wear a little more." <<glust>><<npcincr Alex lust 1>> <<else>> smiling. <</if>> <<if $farm_count gte 1 and $farm_stage lte 6>> "Here's a little extra." <<He>> hands you <<moneyGain $farm.wage>>. <</if>> <br><br> <</if>> <<set $alex_to_bed to 1>> The staircase creaks as Alex climbs to <<his>> room. <<endevent>> <br><br> <<elseif Time.hour gte 21 or Time.hour lte 4>> You hear Alex snore upstairs. <br><br> <<elseif Time.hour is 5 and ($alex_bed is "player" or $alex_bed is undefined) and $alexSomnoAngry is undefined>> <<set $alex_bed to "none">><<npc Alex>><<person1>> The stairs creak as Alex climbs down. <<covered>> "I'll start breakfast," <<he>> says, walking to the kitchen. <<if $exposed gte 1>> <<He>> pretends not to ogle as <<he>> passes.<<glust>><<npcincr Alex lust 1>> <</if>> <<endevent>> <br><br> <<elseif $farm_work.alex is "admin" or ($farm_work.alex is "clearing" and $farm_stage is 12)>> You hear Alex talking on the phone upstairs. <br><br> <</if>> <!-- Main options of available actions --> <<if $farm.build_finished.includes("nursery")>> <<run $farm.build_finished.delete("nursery")>> <<set C.npc.Alex.pregnancy.nursery to true>> <<unset $cottage_nursery_prep>> A new nursery room has been added. <span class="gold">Yours and Alex's children can now live at the farm.</span> <br><br> <<link [[Next|Farm Cottage]]>><</link>> <<elseif isPregnancyEnding()>> <<pcFarmBirth>> <<elseif npcPregnancyEnding("Alex")>> <<npc "Alex">> "F-fuck..." you hear Alex yell. You rush to <<him>>. <br> "What's wrong?" you ask. Approaching <<him>>, you see fluids running down <<his>> thighs. <br> "I think it's happening," <<he>> says. <br><br> You feel your heart pounding faster than usual. "Should I take you to the hospital?" you ask.<<gstress>><<stress 6>> <br><br> "No, it's okay. I don't really like those places. Could you call the local doctor?" <<he>> says. <<He>> pulls <<his>> phone from <<his>> pocket and hands it to you. <br><br> <<link [[Next|Farm Alex Birth]]>><</link>> <<elseif playerIsPregnant() and playerBellyVisible() and !talkedAboutPregnancy("pc","Alex")>> <<npc "Alex">> <<setTalkedAboutPregnancy "pc" "Alex">> <<if $farm_stage gte 7>> You notice Alex staring at your belly in horror. "You're...you're pregnant?! You didn't tell me anything..." <<if getPregnancyObject().potentialFathers.length gte 2 or !getPregnancyObject().potentialFathers.find(s => s.source === "Alex")>> <<He>> sounds disappointed. <br><br> "W-well, you can take a break from the farm whenever you're not feeling well," <<he>> says. <br><br> <<link [[Next|Farm Work]]>><<endevent>><</link>> <<else>> <br><br> <<He>> looks at you, as if waiting for a response. "Actually, take a seat, would you?" Alex says. <br><br> <<link [[Next|Farm PC Pregnancy Reveal]]>><<set $phase to 3>><</link>> <</if>> <<else>> You notice Alex looking at your belly. "Oh, got yourself knocked up? You can take a break from the farm if you feel it's too much for you. I don't mind," <<he>> says. <br><br> <<link [[Next|Farm Work]]>><<endevent>><</link>> <</if>> <<elseif npcIsPregnant("Alex") and !talkedAboutPregnancy("Alex","pc") and npcBellySize("Alex") gte 1>> <<alex_cottage_pregnancy_reveal>> <<elseif ($farm_countdown lte 0 or $farm_countdown is undefined) and ($renttime lte -2 or ($renttime lte 0 and Time.hour gte 4 and Time.hour lte 21))>> <<unset $farm_countdown>><<unset $baileyReunionScene>> <span class="red">You hear a knock at the door.</span> <br><br> <<if Time.hour gte 21 or Time.hour lte 4>> Alex stirs above. <br><br> <<link [[Answer the door|Farm Cottage Bailey]]>><<set $phase to 0>><</link>> <br> <<link [[Let Alex answer|Farm Cottage Bailey]]>><<set $phase to 1>><</link>> <br> <<elseif Time.hour is 5>> Alex gives you a worried look. <br><br> <<link [[Answer the door|Farm Cottage Bailey]]>><<set $phase to 0>><</link>> <br> <<link [[Let Alex answer|Farm Cottage Bailey]]>><<set $phase to 1>><</link>> <br> <<else>> <<link [[Answer the door|Farm Cottage Bailey]]>><<set $phase to 2>><</link>> <br> <<link [[Let Alex answer|Farm Cottage Bailey]]>><<set $phase to 3>><</link>> <br> <</if>> <<elseif $stress gte $stressmax>> <<passoutfarmroad>> <<elseif $farm_attack_timer is 0 and Time.hour gte 21>> <<npc Alex>><<person1>> Alex thunders down the stairs. <span class="red">"<<nnpc_Hes Remy>> here,"</span> <<he>> says. "Remy. We can do this. Go get ready, I'll <<if $farm.tower_guard>> check on $farm.tower_guard." <<else>> see if I can spot them." <</if>> <br><br> <<farm_assault_intro>> <br><br> <<link [[Prepare|Farm Assault Wardrobe]]>><<endevent>><<set $phase to 3>><</link>> <br> <<elseif Time.hour is 5 and $alex_breakfast is undefined>> <<if $alexSomnoAngry lte 1>> <<foodicon "pancakes">><<link [[Help Alex make breakfast|Farm Breakfast Reject]]>><<set $alex_breakfast to 1>><<set $phase to 0>><</link>> <br> <<foodicon "eat">><<link [[Eat breakfast|Farm Breakfast Reject]]>><<set $alex_breakfast to 1>><<set $phase to 1>><</link>> <<else>> <<foodicon "pancakes">><<link [[Help Alex make breakfast (0:20)|Farm Breakfast Make]]>><<set $alex_breakfast to 1>><<pass 20>><<npcincr Alex love 1>><<stress -6>><<tiredness -6>><</link>><<glove>><<lstress>><<ltiredness>> <br> <<foodicon "eat">><<link [[Eat breakfast (0:20)|Farm Breakfast Eat]]>><<set $alex_breakfast to 1>><<pass 20>><<stress -12>><<tiredness -6>><</link>><<llstress>><<ltiredness>> <</if>> <br> <<farm_cottage_options>> <<elseif Time.hour is 5 and $alexSomnoAngry is undefined>> Alex sits in the living room, watching TV. <br><br> <<npc Alex>><<person1>> <<if $alex_tea is undefined>> <<set $alex_tea to 1>> <<if Time.days % 2 is 0>> <<if C.npc.Alex.dom gte 1>> "I fancy a cuppa," <<he>> says. "Would you mind putting the kettle on?" <br><br> <<link [[Make a cup of tea (0:05)|Farm Breakfast Tea]]>><<npcincr Alex love 1>><<pass 5>><</link>><<glove>> <br> <<link [[Make two cups of tea (0:05)|Farm Breakfast Tea 2]]>><<npcincr Alex love 1>><<pass 5>><<stress -6>><</link>><<glove>><<lstress>> <br> <<link [[Refuse|Farm Breakfast Tea Refuse]]>><<npcincr Alex dom -1>><<npcincr Alex love -1>><</link>><<llove>><<ldom>> <br> <<else>> "I fancy a cuppa," <<he>> says as <<he>> rises to <<his>> feet. "Would you like one?" <br><br> <<link [[Accept (0:05)|Farm Breakfast Tea Receive]]>><<pass 5>><<stress -6>><</link>><<lstress>> <br> <<link [[Decline|Farm Cottage]]>><<endevent>><</link>> <br> <</if>> <<else>> <<farm_cottage_tv_options>> <<farm_cottage_options>> <</if>> <<else>> <<farm_cottage_tv_options>> <<farm_cottage_options>> <</if>> <<else>> <<farm_cottage_options>> <</if>><<set $outside to 0>><<effects>><<getTarget true>> <<farm_work_update>> You are in your room at Alex's cottage. It's cramped, but larger than your room at the orphanage. A wardrobe stands opposite your bed. There's a desk beside a window overlooking the farm. <br><br> <<if $unbind is 1>> <<unset $unbind>> You remove your bindings. <br><br> <</if>> <<if $alex_bed is "player">> Alex snores in your bed. <<if Time.hour is 5>> <<set $alex_bed to "none">><<npc Alex>><<person1>> <<He>> yawns, and casts aside the sheets. <<covered>> "Time for breakfast," <<he>> says. <<if $daily.alex.bedOrgasm>> <<if $exposed gte 2>> Alex hastily brushes <<his>> clothes with a washcloth, then hands a fresh one to you, averting <<his>> gaze. <br><br> <<switch random(1, 3)>> <<case 1>> "Y-you perv. I just washed these," <<he>> says, <<his>> face red. <<case 2>> "S-someone's off to a head start. Pervert." <<Hes>> blushing. <<case 3>> "Th-thanks for the natural alarm." <<He>> blushes. "Beats the roosters any day." <</switch>> <<else>> Alex fetches a washcloth, pointing out your moist spot before looking away. <br><br> <<switch random(1, 3)>> <<case 1>> <<He>> stretches. "I'll handle laundry in a jiffy. But first, I'm starving." <<case 2>> "Some dream you had, partner." <<He>> grins and nudges you with <<his>> elbow. "Was I in it?" <<case 3>> "Thanks for the natural alarm," <<he>> chuckles. "Beats the roosters any day." <</switch>> <</if>> <</if>> <<if $exposed gte 1>> <<He>> pretends not to ogle you as <<he>> leaves the room.<<glust>><<npcincr Alex lust 1>> <<else>> <<He>> leaves the room, and you hear the staircase creak. <</if>> <<endevent>> <</if>> <br><br> <</if>> <<if $stress gte $stressmax and !$possessed>> <<passoutfarmroad>> <<elseif $farm_attack_timer is 0 and Time.hour gte 21 and !$possessed>> <<npc Alex>><<person1>> Alex thunders down the stairs. <span class="red">"<<nnpc_Hes Remy>> here,"</span> <<he>> says. "Remy. We can do this. Go get ready, I'll <<if $farm.tower_guard>> check on $farm.tower_guard." <<else>> see if I can spot them." <</if>> <br><br> <<farm_assault_intro>> <br><br> <<link [[Prepare|Farm Assault Wardrobe]]>><<endevent>><<set $phase to 3>><</link>> <br> <<else>> <<if $leftarm is "bound" or $rightarm is "bound" or $feetuse is "bound" or $worn.feet.name is "ankle cuffs">> <<if $possessed>> You stare down at your bindings. You pull, and they fall apart, unable to hold against you. <br><br> <<unbind>> <<else>> <<undobindingsicon>><<link [[Undo your bindings (0:10)|Farm Bedroom]]>><<set $unbind to 1>><<pass 10>><<unbind>><</link>> <br><br> <</if>> <</if>> <<if !($earSlime.event and $earSlime.noSleep)>> <<set _farmbed to ($loveInterest.primary is "Alex" or $loveInterest.secondary is "Alex") ? "alex" : "farm">> <<bedicon _farmbed>><<link [[Strip and get in bed|Farm Bed]]>><<undressSleep "Farm Bed">><</link>> <br> <<listsleepoutfits "Farm Bed">> <<roomoptions>> <<wardrobeicon>><<link [[Wardrobe|Farm Wardrobe]]>><</link>> <br> <<else>> <br> <<if $possessed>> <span class="red">The slime in your head is silent.</span> <<else>> <<ind>><span class="red">The slime wants you to <<print $earSlime.event>> before you can go to bed.</span> <</if>> <br> <</if>> <<if playerHasSexToys()>> <<sextoysicon>><<link [[Sex toys|Sextoys Inventory]]>><<set $sextoyInvReturnLink to $passage>><</link>> <br> <</if>> <<if $nextPassageCheck is "Farm Mirror">> <span class="nextLink"><<mirroricon>><<link [[Mirror|Farm Mirror]]>><<preMirror>><</link>></span> <<else>> <<mirroricon>><<link [[Mirror|Farm Mirror]]>><<preMirror>><</link>> <</if>> <br> <br> <<farmicon "alexbed">><<link [[Alex's room (0:01)|Farm Alex Bedroom]]>><<pass 1>><</link>> <br> <<main_hall_icon>><<link [[Go downstairs (0:01)|Farm Cottage]]>><<pass 1>><</link>> <br> <br> <<link [[Gameplay Settings|Farm Settings]]>><</link>> <br> <<attitudesControlCheck>> <<if $attitudesControl.showGoldLink is true>> <span class="goldLink"><<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> </span><span class="red">!!</span> <<else>> <<link [[Attitudes]]>><<set $attitudesExitPassage to $passage>><</link>> <</if>> <br> <</if>><<effects>> <<set _farmbed to ($loveInterest.primary is "Alex" or $loveInterest.secondary is "Alex") ? "alex" : "farm">> <<bedicon _farmbed>><<link [[Step away|Farm Bedroom]]>><<handheldon>><<unset $mirrorMenu>><<postMirror>><</link>> <br> <<mirror>> <br><br><<effects>> <<wearoutfit>> <<set $bus to "farm_bedroom">><<effects>> You snuggle under the covers. <<if $alex_bed is "player">> Alex snores beside you. <</if>> <<if $wraith.state and $wraithPrison and ($moonstate is "evening" or $moonstate is _nightstate)>> You feel anxious, and your eyes dart over to the mirror. <</if>> <br><br> <<if numberOfEarSlime() and $alex_bed isnot "player" and random(0,100) lt 3 + Math.floor($earSlime.growth / 100) - $earSlime.eventTimer and !$earSlime.event>> <<set $slimeBedExit to "Farm Bed">> <<set $slimeBedroomExit to "Farm Bedroom">> <<setSlimeSleepEvents>> <<if $earSlimeEvent>> <<slimeSleepEvents>> <</if>> <</if>> <<farm_sleep_options>><<set _autosavehere to true>> <<sleep>> <<effects>> <<if $bus is "farm_alex_room">> <<if $exposed gte 2>> <<npcincr Alex lust 3>> <<else>> <<npcincr Alex lust 1>> <</if>> <</if>> <<if $bus is "farm_alex_room" or $alex_bed is "player">> <<set $bedGuest to "Alex">> <</if>> <<if $wraith.nightmare is 2 and Time.isBloodMoon()>> <<sleepeffects>> You dream of a beautiful figure, cloaked in white, standing under the red moon. It has its arms spread out to you in a welcoming gesture. You can feel its gaze boring into your mind as you step closer. <br><br> It's surrounded by trees, all bending inwards, and floating above a lake. Everything moves around you, and you find yourself hanging above a large ruin. You can't breathe. <br><br> You slowly open your eyes, and sluggishly stand from the bed.<<if $bus is "farm_alex_room" or $bus is "farm_bedroom" and $alex_bed is "player">> You make sure not to wake Alex.<</if>> Your ears are ringing. <br><br> <<wraithPossess "alex_cottage">> <<if $bus is "farm_alex_room">> <<storeon "farm alex bed" "wardrobe">> <span class="nextLink"><<link [[Walk.|Farm Alex Bedroom]]>><<rainWraith>><</link>></span> <<else>> <<storeon "Farm Bed" "wardrobe">> <span class="nextLink"><<link [[Walk.|Farm Bedroom]]>><<rainWraith>><</link>></span> <</if>> <br> <<else>> <<wakingEffects $sleepHoursTotal>> <<if $nightmares gte 1 and $controlled is 0>> You dream you are being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if ($specialClothesEffects.bimbo.total gte random(100,1000) || $specialClothesEffects.pimp.total gte random(100,1000)) or $arousal gte ($arousalmax / 10) * 9>> <<wetDream>> <<elseif !_wakingEffect>> You sleep soundly. <br><br> <</if>> <<if !_sleepinterrupt and (Time.hour gt 21 or Time.hour lt 6) and $bus is "farm_alex_room" or $alex_bed is "player" and !_alexWake>> <<switch random(1, 6)>> <<case 1>> <<if Time.hour is 5>> You try to wake Alex. <<nnpc_He "Alex">> groans and stirs. <<else>> You thought Alex awoke, but <<nnpc_hes "Alex">> just dreaming. <</if>> <<case 2>> Alex sprawls. You gently move <<nnpc_his "Alex">> arm out of your face. <<case 3>> Alex beams when you gaze at <<nnpc_him "Alex">>, still asleep. <<case 4>> Alex <<print either("hogs the covers", "snores in your ear", "drools. You wipe it off")>>. <<case 5>> Alex hangs off the bed. You fix <<nnpc_him "Alex">>. <<case 6>> "<<print either("Bad... no supper for you tonight", "D-don't look", "I think I have a hangover", "Dumb bird", "Get off... property", "I'll show everyone")>>..." Alex mumbles. <</switch>> <</if>> <</if>> <<sleepeffects>> <<if $remywake is 1>> <<npc Alex>><<person1>> "Wake up!" Someone shakes your shoulders. It's Alex. <span class="red">"<<nnpc_Hes Remy>> here,"</span> <<he>> says. "Remy. We can do this. Get ready, I'll <<if $farm.tower_guard>> check on $farm.tower_guard." <<else>> see if I can spot them." <</if>> <br><br> <<farm_assault_intro>> <br><br> <<set _bedroom to ($bus is "farm_alex_room" ? "farm alex bed" : "Farm Bed")>> <<set $wardrobe_location to "alexFarm">> <<wardrobeSelection true>> <<storeon _bedroom "check">> <<if _store_check is 1>> <<storeon _bedroom>> <</if>> <<link [[Prepare|Farm Assault Wardrobe]]>><<endevent>><<set $phase to 1>><<unset $remywake>><</link>> <br> <<elseif _sleepinterrupt>> <<npc Alex>><<person1>> <<if _alexWake is 1>> You awake to the sound of the staircase to the loft creaking. <<if $bus is "farm_alex_room">> The sheets have been tossed aside and Alex is missing. <</if>> <br><br> <<link [[Investigate (0:01)|Farm Cottage Nighttime Nursery]]>><<set $phase to 1>><<pass 1>><</link>> <br> <<link [[Ignore|Farm Cottage Nighttime Nursery]]>><<set $phase to 2>><</link>> <<elseif $bus is "farm_alex_room">> <<if (Time.hour gte 22 or Time.hour lt 6) and $rng gte 61 and C.npc.Alex.lust gte 60>> You awake to feel <<if $NPCList[0].penis isnot "none">>a firm shaft<<else>>something wet<</if>> pressed against your rear end. You wait for Alex to say <<his>> familiar line, but you are greeted by silence. The loud snore you hear indicates that Alex is still asleep. <<His>> arms are wrapped around you, and <<he>> is dry humping you. <<arousal 600 "bottom">><<garousal>> <br><br> <<if hasSexStat("promiscuity", 4)>> <span class="lewd">A lewd idea strikes you.</span> <br> <<link [[Pleasure Alex|Farm Alex Somno]]>><</link>><<promiscuous4>> <br> <</if>> <<link [[Wake Alex|Farm Alex Somno Wake Wholesome]]>><</link>> <br> <<link [[Try and go back to sleep|Farm Alex Somno Let Sleep]]>><<stress 6>><<trauma 6>><</link>><<gstress>><<gtrauma>> <br> <<else>> You awake to feel a hand groping at your <<genitals>>, <<if $NPCList[0].penis isnot "none">> and a firm length pressed against your <<bottom>>. <<else>> and someone's <<if $NPCList[0].breastsize is 0>> chest <<else>> <<print $NPCList[0].breastsdesc>> <</if>> pressed against your back. <</if>> Another hand rests against your thigh. <br><br> <<if $daily.alex.tvTease>> "Making up for this morning?" Alex says, <<his>> breath on your neck. "I can forgive you." <<else>> "It's very forward of you," Alex says, <<his>> breath on your neck. "Sleeping in a <<nnpc_gendery "Alex">>'s bed." <</if>> <br><br> <<link [[Push away|Farm Alex Climb]]>><<def 1>><<npcincr Alex dom -1>><</link>><<ldom>> <br> <<link [[Go along with it|Farm Alex Allow]]>><<sub 1>><<npcincr Alex dom 1>><</link>><<promiscuous1>><<gdom>> <br> <</if>> <<else>> <<if $exposed gte 2 and random(1, 2) is 2>> You feel a little cold. The sheets are missing. You hear footsteps leave your room. <<covered>> <br><br> Your sheets lie on the ground at the foot of your bed. You suspect Alex is to blame. <<He>> was leering at your <<lewdness>> as you slept. <br><br> <<link [[Go back to sleep|Farm Bed]]>><<endevent>><</link>> <br> <<link [[Get up|Farm Bedroom]]>><<endevent>><</link>> <br> <<link [[Get angry (0:05)|Farm Bedroom Confront]]>><<pass 5>><<npcincr Alex love -1>><<npcincr Alex dom -1>><</link>><<llove>><<ldom>> <br> <<if hasSexStat("promiscuity", 3)>> <<link [[Get revenge (0:20)|Farm Bedroom Revenge]]>><<pass 20>><<npcincr Alex dom -1>><<npcincr Alex lust 5>><</link>><<promiscuous3>><<ldom>><<gglust>> <br> <</if>> <<else>> You awake to feel a hand groping at your <<genitals>>, <<if $NPCList[0].penis isnot "none">> and a firm length pressed against your <<bottom>>. <<else>> and someone's <<if $NPCList[0].breastsize is 0>> chest <<else>> <<print $NPCList[0].breastsdesc>> <</if>> pressed against your back. <</if>> <br><br> "I thought you might be lonely," Alex says, <<his>> breath on your neck. <br><br> <<link [[Push away|Farm Alex Push]]>><<def 1>><<npcincr Alex dom -1>><</link>><<ldom>> <br> <<link [[Go along with it|Farm Alex Go]]>><<sub 1>><<npcincr Alex dom 1>><</link>><<promiscuous1>><<gdom>> <br> <</if>> <</if>> <<else>> <br><br> <<if $bus is "farm_alex_room">> <<link [[Get up|Farm Alex Bedroom]]>> <<set $wardrobe_location to "alexFarm">> <<wardrobeSelection true>> <<storeon "farm alex bed" "check">> <<if _store_check is 1>> <<storeon "farm alex bed">> <</if>> <</link>> <br> <<else>> <<radiooutfits>> <br><br> <<link [[Get up|Farm Bedroom]]>><<bedclotheson "Farm Bed">><</link>> <</if>> <br> <</if>> <</if>> <<set $phase to 0>><<effects>> You gently start to grind your rear into Alex's crotch. <<His>> body twitches as <<he>> moans into your ear. You move carefully so as to not wake <<him>>. <<promiscuity4>><<arousal 1000 "bottom">> Alex holds your body tighter and begins humping your rear faster. <br><br> <<link [[Keep going|Farm Alex Somno 2]]>><<set $phase to 0>><</link>> <br> <<link [[Give Alex oral|Farm Alex Somno 2]]>><<set $phase to 1>><</link>><<if $NPCList[0].penis isnot "none">><<oralvirginitywarning>><</if>> <br> <<link [[Give Alex a hand job|Farm Alex Somno 2]]>><<set $phase to 2>><</link>><<effects>> <<if $phase is 0>> /* Keep going */ You continue to grind against <<his>> clothed <<if $NPCList[0].penis isnot "none">>dick<<else>>pussy<</if>>. Alex mumbles out words that you can't understand, but you can make out the word 'partner'. The idea of Alex having a wet dream about you sends a shiver through your body. <<arousal 2500 "bottom">><<ggarousal>> <br><br> <<if $speech_attitude is "meek">> You soon find yourself begging for Alex's <<if $NPCList[0].penis isnot "none">>cock<<else>>pussy<</if>>, having to cover your mouth to stop yourself. <<elseif $speech_attitude is "bratty">> You grit your teeth. "Stupid cow<<nnpc_gendery "Alex">>..." you whisper as a moan escapes your lips. <<else>> You cover your mouth with your hand as you moan. "Alex..." you whisper. <</if>> <<elseif $phase is 1>> /* Give Alex oral */ You take a deep breath as you carefully move Alex's arms to give you room to move. Slowly, you roll over to face Alex. <<He>> doesn't stop humping you, but <<his>> pace slows. You slip further down under the covers until your face is within inches of <<his>> crotch. You hook your fingers around <<his>> <<if $NPCList[0].penis isnot "none">>boxers<<else>>underwear<</if>> band and slide them down. You bring your lips to <<his>> <<if $NPCList[0].penis isnot "none">>dick<<else>>clit<</if>> and start gently licking it. <br><br> Alex twitches, bucking <<his>> <<if $NPCList[0].penis isnot "none">>dick<<else>>pussy<</if>> against your lips. You open your mouth <<if $NPCList[0].penis isnot "none">>to allow <<his>> dick to enter<<else>>and start sucking on <<his>> clit<</if>>.<<if $NPCList[0].penis isnot "none" and $player.virginity.oral is true>><<takeVirginity "Alex" "oral">><</if>> <br><br> <<if $speech_attitude is "meek">> <<His>> <<if $NPCList[0].penis isnot "none">>precum<<else>>fluids<</if>> start to fill your mouth, causing you to moan. You push your legs together, attempting to stimulate your own growing arousal. <<elseif $speech_attitude is "bratty">> You brush your teeth against <<his>> <<if $NPCList[0].penis isnot "none">>shaft<<else>>clit<</if>>, causing <<him>> to thrust <<his>> hips forward. You nearly gag at the sudden movement, but huff before <<if $NPCList[0].penis isnot "none">>the tip of <<his>> dick<<else>>kissing <<his>> clit<</if>>. <<else>> You lick up and down <<his>> <<if $NPCList[0].penis isnot "none">>dick<<else>>clit<</if>>, tasting <<his>> <<if $NPCList[0].penis isnot "none">>precum<<else>>fluids<</if>>. You feel a warmth grow in between your legs, encouraging you to keep going. Your licks become faster, occasionally interrupted by you sucking the <<if $NPCList[0].penis isnot "none">>tip<<else>>bud<</if>>. <</if>> <<arousal 1500 "mouth">><<garousal>> <<else>> /* Give Alex a hand job */ You loosen Alex's hold on you before carefully rolling yourself over. <<Hes>> still humping, but <<his>> pace slows. You reach down into <<his>> <<if $NPCList[0].penis isnot "none">>boxers<<else>>underwear<</if>>, slipping your hand under the waistband. <<His>> <<if $NPCList[0].penis isnot "none">>dick<<else>>pussy<</if>> is already drenched with <<if $NPCList[0].penis isnot "none">>precum<<else>>fluids<</if>>. <br><br> <<if $NPCList[0].penis isnot "none">> You take <<print $NPCList[0].penisdesc>> into your hand. You pump <<his>> cock at a steady pace at first. Alex's body twitches as <<his>> arms lock around you, pressing you against <<his>> body. <<His>> hips buck to match your pace. <br><br> <<if $speech_attitude is "meek">> You tenderly take the tip into your hand, rubbing your finger over the slit. A soft moan falls from Alex's mouth along with a little drool. "Y-you are too cute..." you whisper as you slip your free hand down to rub against your crotch. <<elseif $speech_attitude is "bratty">> You caress <<his>> dick, pausing to squeeze the base of <<his>> shaft firmly. <<He>> groans before burying <<his>> head into your shoulder. You stifle a chuckle and resume stroking <<him>>. <<else>> You stroke <<his>> shaft, brushing your fingers over <<his>> balls. Alex twitches in your touch, panting softly. <<He>> humps your hand as you continue to work <<him>>. "Even asleep you get so worked up," you whisper as you quicken your movements. <</if>> <<arousal 1500>><<garousal>> <<else>> You slip two fingers into Alex's quim, and <<he>> tightens around you. <<His>> arms lock around your shoulders, pressing you against <<his>> body. <<His>> hips begin to buck against your hand. <br><br> <<if $speech_attitude is "meek">> You brush your thumb against <<his>> clit, focusing on thrusting your fingers in and out. Alex's pants and moans encourage your own arousal. Your free hand slips between your legs, rubbing against your crotch. "Y-you are too cute..." you whisper. <<elseif $speech_attitude is "bratty">> You thrust your fingers, pausing only to pinch <<his>> clit. <<He>> whimpers in <<his>> sleep but continues to needily hump your fingers. You smirk as an idea comes to mind. You slip two more fingers inside, keeping your pace steady. Alex's pants and moans quicken as <<he>> buries <<his>> face into your shoulder. <<else>> You tease Alex's clit with your thumb. <<He>> twitches at your touch and continues humping your fingers. You add another finger, and <<his>> moans become more frequent. "Even asleep you get so worked up," you whisper. <</if>> <<arousal 1500>><<garousal>> <</if>> <</if>> <br><br> <<if $arousal gte $arousalmax>> <<link [[Next |Farm Alex Somno Orgasm]]>><</link>> <<elseif $rng gte 60>> /* Alex wake up */ <<link [[Next |Farm Alex Somno Wake]]>><</link>> <<else>> <<link [[Next |Farm Alex Somno 3]]>><</link>> <</if>><<effects>> <<if $phase is 0>> /* Keep going */ Suddenly, Alex's hands grip onto your arms. <<His>> hips give one final strong jerk against your ass. <<arousal 1500 "bottom">><<garousal>> <<elseif $phase is 1>> /* Give Alex oral */ <<if $NPCList[0].penis isnot "none">> Without warning, Alex thrusts forward and ejaculates into your mouth. You manage to swallow most of it. <<bodyliquid "mouth" "semen">> <<else>> Without warning, Alex bucks <<his>> hips against your mouth. <<His>> orgasm covers your face in lewd fluids. You lick your lips. It tastes oddly nice. <<bodyliquid "face" "goo">> <</if>> <<arousal 1500>><<garousal>> <<else>> /* Give Alex a hand job */ <<if $NPCList[0].penis isnot "none">> <<His>> body convulses in orgasmic bliss, covering your hands in cum. <<arousal 1500 "mouth">><<garousal>><<if random(0,1) is 1>><<bodyliquid "rightarm" "semen">><<else>><<bodyliquid "leftarm" "semen">><</if>> <br><br> <<His>> grip softens, then releases. <<else>> You feel Alex's fluids gushing out of <<his>> quim as <<he>> convulses in orgasmic bliss, leaving a wet spot on the sheets. <<arousal 1500>><<garousal>><<if random(0,1) is 1>><<bodyliquid "rightarm" "goo">><<else>><<bodyliquid "leftarm" "goo">><</if>> <</if>> <</if>> <br><br> <<if $arousal gte $arousalmax>> <<link [[Next |Farm Alex Somno Orgasm]]>><</link>> <<else>> <<if $phase is 0>> The tension leaves <<his>> body, and <<he>> sighs, apparently having climaxed. <<He>> clings to you, and you smile. <<stress -6>><<lstress>> <<else>> <<if $NPCList[0].penis isnot "none">> You tuck <<his>> dick back into <<his>> boxers. <<else>> You fix <<his>> boyshorts and return to your place in Alex's hold. <</if>> <</if>> <br><br> You fall asleep soon after. <br><br> <<link [[Next|Farm Alex Bed]]>><<set $alexSomno to 0>><<endevent>><</link>> <</if>><<effects>> Your own growing pleasure becomes too much. <<orgasm>> <<if $phase is 0>> /* Keep going */ Alex's hips continue grinding against you. You ride out your orgasm as <<he>> finishes pleasuring <<himself>> with your body. <<elseif $phase is 1>> /* Give Alex oral */ Alex continues to grind against your mouth as you come down from your orgasm. <<else>> /* Give Alex a hand job */ As you ride out your orgasm, <<if $NPCList[0].penis isnot "none">> you grip tighter onto <<his>> cock. <<else>> you plunge your fingers deeper into Alex's pussy. <</if>> <</if>> <br><br> You settle back into <<his>> arms and drift off to sleep. <br><br> <<link [[Next|Farm Alex Bed]]>><<endevent>><</link>><<effects>> Your body freezes as you hear a voice not your own. "...Partner?" <<stress 6>><<gstress>> <br><br> Alex still sounds sleepy, but also somewhat embarrassed. "What are you doing...?" <br><br> <<if $phase is 0>> /* Keep going */ <<if $speech_attitude is "meek">> "I...You were grinding into me while you slept..." you mumble. <<elseif $speech_attitude is "bratty">> "You started humping my ass like a dog in heat. Figured I should help you out a bit," you snicker, pressing your butt further into <<his>> crotch. <<else>> "You woke me up by humping me. I thought I should help out a bit," you respond flatly. <</if>> <<elseif $phase is 1>> /* Give Alex oral */ <<if $NPCList[0].penis isnot "none">> <<if $speech_attitude is "meek">> You stare up at Alex, eyes wide open. You hesitate for a moment before quickly pulling your mouth off Alex's cock. "I... you looked like you were really pent up, so I wanted to help you..." you mumble, precum still dripping from your mouth. <<elseif $speech_attitude is "bratty">> You smirk as you slip Alex's dick out of your mouth. "This buddy of yours was poking me while you slept. Figured I would help out," you say as you lick <<his>> precum off your lips. <<else>> You slip Alex's cock out of your mouth. "You were really pitching a tent in your sleep. I just wanted to help," you say. <</if>> <<else>> <<if $speech_attitude is "meek">> You stare up at Alex, eyes wide open. You hesitate as you pull your mouth away from Alex's quim. "I... you were getting really wet, so I wanted to help you..." you mumble, wiping the lewd fluid off your chin. <<elseif $speech_attitude is "bratty">> You smirk as you pull your mouth away from Alex's quim. "Your little friend was getting slick everywhere, so I wanted to help and clean it up," you say as you lick the lewd fluid off your lip. <<else>> You move your mouth away from Alex's quim. "I felt you getting wet. I just wanted to help you out," you say. <</if>> <</if>> <<else>> /* Give Alex a hand job */ <<if $NPCList[0].penis isnot "none">> <<if $speech_attitude is "meek">> You yelp, freezing in place. You let go of <<his>> cock and move your hand away. "I...you felt really pent up, so I just wanted to help you out..." you mumble as you hide your face partly in the pillow. <<elseif $speech_attitude is "bratty">> You chuckle, removing your hand from Alex's cock to pinch <<his>> cheek. "Your buddy needed a hand, that's all," you say with a smirk. <<else>> You jump at Alex's voice, removing your hand from <<his>> cock. "You were humping my ass while you slept. I wanted to help you out," you say with a small smile. <</if>> <<else>> <<if $speech_attitude is "meek">> You yelp, freezing in place. You slip your fingers out of Alex's quim, moving your hand away. "I... you were rubbing against me, so I just wanted to help you out..." you mumble as you hide your face partly in the pillow. <<elseif $speech_attitude is "bratty">> You chuckle, removing your finger from Alex's quim to pinch <<his>> cheek. "Your little friend was being real needy. You clearly needed a hand," you say with a smirk. <<else>> You jump and quickly remove your fingers from Alex's quim. "You were rubbing up against me while you slept. I wanted to help you out," you say with a small smile. <</if>> <</if>> <</if>> <br><br> <<if C.npc.Alex.love lte 20>> Alex shoves you off the bed onto the floor. <<pain 8>><<ggpain>> <br><br> <<He>> sits up and looks down at you. <<if C.npc.Alex.dom gte 30>> "The hell were you thinking? Go sleep in your own damn bed!" Alex shouts at you. <<else>> "W-what the hell were you thinking? I... Just go sleep in your own damn bed," Alex shouts. <</if>> <<npcincr Alex love -1>><<llove>> <br><br> Alex watches you intently. <<He>> won't let you back into the bed for the night. <br><br> <<set $alex_bed_spurned to 1>> <<link [[Next|Farm Alex Bedroom]]>><<set $alexSomnoAngry to 0>><<endevent>><</link>> <<else>> Alex's face goes red. <<He>> struggles to find <<his>> words. <<if C.npc.Alex.dom gte 30>> "How kind of you to help me out like this. Well, you should finish what you started then," Alex whispers before nipping your ear. <<else>> "I... You didn't need to help me out like this... Would you mind finishing up?" Alex whispers before nuzzling into your cheek. <</if>> <br><br> <<link [[Oblige|Farm Alex Somno Wake 2]]>><</link>> <br> <<link [[Reject|Farm Alex Somno Wake Reject]]>><</link>> <</if>><<effects>> <<if $phase is 0>> /* Keep going */ You waste no time continuing to grind your ass against Alex's crotch. <<if $player.penisExist or $worn.genitals.name is "chastity parasite">> <<He>> slips <<his>> hand around to your <<if $worn.genitals.name is "chastity parasite">>$worn.genitals.name stroking<<else>>dick, pumping<</if>> it. <<He>> occasionally squeezes too hard while <<he>> moans. <<arousal 5000 "genitals">><<gggarousal>> <<else>> Alex gropes at your <<breasts>>. <<He>> occasionally pinches your nipples while <<he>> moans. <<arousal 5000 "breasts">><<gggarousal>> <</if>> <<elseif $phase is 1>> /* Give Alex oral */ You waste no time returning to your position in front of Alex's groin. <<if C.npc.Alex.penis isnot "none">> You plant a kiss onto the tip <<his>> cock, then take <<his>> length into your mouth, causing <<him>> to groan. <<else>> You plant a kiss onto <<his>> clit before dragging your tongue up <<his>> slit. You dip your tongue inside <<his>> quim, causing <<him>> to groan. <</if>> <<if C.npc.Alex.dom gte 30>> You feel <<his>> hands on the back of your head encouraging you to keep going. <<else>> You feel <<his>> hands on top of your head. <<He>> strokes it gently. <</if>> <<arousal 5000 "mouth">><<gggarousal>> <<else>> /* Give Alex a hand job */ <<if C.npc.Alex.penis isnot "none">> You wrap your hand around Alex's shaft and begin quickly pumping <<his>> cock. <<else>> You slip your fingers inside of Alex's quim, finger fucking <<him>> roughly. <</if>> <br><br> <<if $worn.genitals.name is "chastity parasite">> Alex wraps <<his>> hand around your $worn.genitals.name and begins to squeeze.<<arousal 5000 "genitals">><<gggarousal>> <<elseif playerChastity()>> You feel <<him>> shudder slightly.<<arousal 2000>><<ggarousal>> <<elseif $player.penisExist>> Alex wraps <<his>> hand around your cock and begins to pump.<<arousal 5000 "genitals">><<gggarousal>> <<elseif $player.vaginaExist>> Alex shoves <<his>> fingers into your pussy and begins to stroke.<<arousal 5000 "genitals">><<gggarousal>> <</if>> <</if>> <br><br> <<link [[Continue|Farm Alex Somno Wake 3]]>><</link>><<effects>> <<if $phase is 0>> /* Keep going */ Alex keeps fondling you, until you eventually push <<him>> over the edge. <<He>> pushes <<his>> crotch against you wildly as <<he>> cums. <<elseif $phase is 1>> /* Give Alex oral */ Alex grips the back of your head tightly as <<he>> cums in your mouth. <<if C.npc.Alex.penis isnot "none">> <<bodyliquid "mouth" "semen">> <<else>> <<bodyliquid "mouth" "goo">> <</if>> <<else>> /* Give Alex a hand job */ Alex groans <<if playerChastity()>> <<if $worn.genitals.name is "chastity parasite">> , gripping on to your $worn.genitals.name tightly <</if>> <<elseif $player.penisExist>> , gripping on to your cock tightly <<elseif $player.vaginaExist>> , thrusting deeply into your quim <</if>> as <<he>> cums over your hand. <<if C.npc.Alex.penis isnot "none">> <<if random(0,1) is 1>><<bodyliquid "rightarm" "semen">><<else>><<bodyliquid "leftarm" "semen">><</if>> <<else>> <<if random(0,1) is 1>><<bodyliquid "rightarm" "goo">><<else>><<bodyliquid "leftarm" "goo">><</if>> <</if>> <</if>> <br><br> <<if $arousal gte $arousalmax>> <<orgasm>> You pant as you calm down from your orgasm. Alex smiles with a devious look. <br><br> <</if>> Alex takes you back into <<his>> arms. "Had your fun, partner?" <<he>> says, bumping <<his>> head against yours. You lazily nod as you relax against the pillow. Alex kisses your forehead. "Night, partner." <br><br> <<link [[Next|Farm Alex Bed]]>><<set $alexSomno to 1>><<endevent>><</link>><<effects>> <<if $speech_attitude is "meek">> "In...in the morning, Alex," you meekly respond. <<elseif $speech_attitude is "bratty">> "I was trying to sleep. We can fuck in the morning," you huff. <<else>> "Not right now. Maybe in the morning," you say. <</if>> <br><br> <<if C.npc.Alex.dom gte 30>> Alex sighs, staying silent for a moment. "Come on, now. Don't you want to know what I was dreaming about?" <<His>> hand travels down to grope your ass. <br><br> <<link [[Shove|Farm Alex Somno Wake Pushy]]>><<npcincr Alex dom -1>><</link>><<ldom>> <br> <<link [[Give in|Farm Alex Somno Wake Sex]]>><<npcincr Alex dom 1>><<set $sexstart to 1>><</link>><<gdom>> <<else>> Alex pouts but doesn't push it further. "Alright then. Night, partner." Alex kisses your cheek before rolling over. <br><br> <<link [[Next|Farm Alex Bed]]>><<set $alexSomno to 2>><<endevent>><</link>> <</if>><<effects>> <<if $speech_attitude is "meek">> You move away from Alex. "A-Alex...please wake up," you say as you tap <<his>> legs with your feet. <<elseif $speech_attitude is "bratty">> "Alex, wake up, you horny bastard," you say, sounding annoyed. You elbow <<him>>. <<else>> You sigh. "Alex, wake up." You nudge <<his>> shoulder. <</if>> <br><br> Alex groans and then yawns. <<He>> hugs onto you tighter, resting <<his>> head on your shoulder. "Something the matter?" <<He>> shifts, then freezes when <<he>> realises what <<he>> was doing. "Fuck..." You roll over to look at Alex. <br><br> <<if C.npc.Alex.lust gte 20>> <<He>> glances between you and <<his>> groin. "How about a night ride?" <<he>> asks, smirking. <br><br> <<link [[Accept|Farm Alex Somno Wake Sex]]>><<set $sexstart to 1>><</link>> <br> <<link [[Reject|Farm Alex Somno Wake Reject]]>><</link>> <<else>> <<He>> looks away before turning <<his>> back to you. <<He>> mumbles an apology, then pulls the blanket over <<him>> entirely. <br><br> <<link [[Next|Farm Alex Bed]]>><<endevent>><</link>> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> You wrap your arms around Alex. <<He>> returns the gesture before ravaging your neck with kisses and love bites. <<arousal 600>><<garousal>> <<set $enemytrust += 100>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Farm Alex Somno Wake Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Alex Somno Wake Sex]]>><</link>></span><<nexttext>> <</if>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Alex buries <<his>> head in your neck, holding onto you. <<He>> mumbles a 'Good night' before falling asleep. <<lllust>><<npcincr Alex lust -10>> <br><br> <<tearful>> you listen to <<his>> snores. <<set $alexSomno to 1>> <<elseif $enemyhealth lte 0>> Alex gives a small yelp. "You could've just said no, you know," <<he>> says, sounding wounded. <<He>> lays back down and faces away from you. <<llove>><<npcincr Alex love -1>> <br><br> <<tearful>> you roll over. <<set $alexSomno to 2>> <<else>> Alex pouts. "Gonna be hard to go back to sleep like this," <<he>> sheepishly chuckles. <br><br> <<He>> lays back down and faces away from you. <br><br> <<tearful>> you roll over. <<set $alexSomno to 2>> <</if>> <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Alex Bed]]>><<endevent>><</link>><<effects>> You shove Alex away, almost knocking <<him>> out of the bed. <<He>> gives you an annoyed look before rolling over. "Good night," you hear <<him>> say, sounding bitter. You return to your original position. <br><br> <<link [[Next|Farm Alex Bed]]>><<set $alexSomno to 2>><<endevent>><</link>><<effects>> You decide to try and go back to sleep. Alex continues to hump your rear. <<stress 6>><<trauma 6>><<gstress>><<gtrauma>> <br><br> <<link [[Next|Farm Alex Bed]]>><<endevent>><</link>><<effects>> <<set _alex to C.npc.Alex>> You shuffle away from Alex. <<if _alex.dom gte random(1, 50)>> <<He>> grasps your waist with an arm, holding you in place, and pushes <<his>> body against yours. "Want me to be rougher?" <<he>> whispers. "I can do that."<<gstress>><<glust>><<stress 6>><<npcincr Alex lust 1>> <br><br> <<link [[Struggle free|Farm Alex Climb 2]]>><<def 1>><<npcincr Alex dom -1>><</link>><<ldom>> <br> <<link [[Relent|Farm Alex Allow]]>><<sub 1>><<npcincr Alex dom 3>><</link>><<promiscuous1>><<ggdom>> <br> <<else>> <<He>> doesn't stop you climbing from the bed. "Suit yourself," <<he>> says. <<He>> rolls over. <br><br> <<link [[Next|Farm Alex Bedroom]]>><<endevent>><<storeon "farm alex bed" "check">><<if _store_check is 1>><<storeon "farm alex bed">><<set $wardrobe_location to "alexFarm">><<wardrobeSelection>><</if>><</link>> <br> <</if>><<effects>> You whack Alex's hand, and struggle from the bed. "Suit yourself," <<he>> says. <<He>> rolls over. <br><br> <<set $alex_bed_spurned to 1>> <<link [[Next|Farm Alex Bedroom]]>><<endevent>><<storeon "farm alex bed" "check">><<if _store_check is 1>><<storeon "farm alex bed">><<set $wardrobe_location to "alexFarm">><<wardrobeSelection>><</if>><</link>> <br><<effects>> <<set _alex to C.npc.Alex>> You gyrate your hips, <<bottomtext>> rubbing your <<bottom>> against Alex's <<print (_alex.penis isnot "none" ? "shaft" : "pussy")>> through the fabric, making it <<if currentSkillValue("bottomskill") lt 400>> slowly moisten. <<elseif currentSkillValue("bottomskill") lt 800>> quickly moisten. <<else>> soaked in an instant. <</if>> <<promiscuity1>> <<He>> becomes more bold, ravaging your neck with kisses. <br><br> <<link [[Next|Farm Alex Sex]]>><<set $sexstart to 1>><</link>> <br><<effects>> <<set _alex to C.npc.Alex>> You turn onto your other side, and push Alex away from you. <<if _alex.dom gte random(1, 50)>> <<He>> wraps <<his>> arms around your waist and shoulder, and pulls your body against <<hers>>. "You want me to be rough?" <<he>> asks, squeezing your <<bottom>>. "That's okay by me."<<gstress>><<stress 6>><<glust>><<npcincr Alex lust 1>> <br><br> <<link [[Push away again|Farm Alex Push 2]]>><<def 1>><<npcincr Alex dom -1>><</link>><<ldom>> <br> <<link [[Relent|Farm Alex Go]]>><<sub 1>><<npcincr Alex dom 3>><</link>><<promiscuous1>><<ggdom>> <br> <<else>> <<He>> climbs from the bed. "You'll change your mind," <<he>> says. It's too dark to see <<his>> expression. <<He>> returns to <<his>> room. <br><br> <<link [[Next|Farm Bed]]>><<endevent>><</link>> <br> <</if>><<effects>> You shove Alex away, harder this time. <<He>> falls from the bed. "Suit yourself," <<he>> says. "You know where to find me when you change your mind." <<He>> returns to <<his>> room. <br><br> <<link [[Next|Farm Bed]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> You move Alex's arms up and down your body, inviting <<him>> to explore. <<elseif $speech_attitude is "bratty">> You squeeze Alex's ass back, whilst pushing yours against <<his>> groin. <<else>> You spread your legs and wrap your arms around Alex. <</if>> <<promiscuity1>> Encouraged, <<he>> becomes more bold, ravaging your neck with kisses. <br><br> <<link [[Next|Farm Alex Sex]]>><<set $sexstart to 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<set $enemytrust += 100>> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Farm Alex Sex Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Alex Sex]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Alex rolls onto <<his>> back.<<lllust>><<npcincr Alex lust -5>><<npcincr Alex love 1>><<glove>> <<if $bus is "farm_alex_room">> <<unset $alex_bed>> <<else>> <<set $alex_bed to "player">> <</if>> <br><br> <<tearful>> you listen to <<his>> snores. <br><br> <<clotheson>> <<endcombat>> <<if $bus is "farm_alex_room">> <<link [[Next|Farm Alex Bed]]>><</link>> <<else>> <<link [[Next|Farm Bed]]>><</link>> <</if>> <br> <<elseif $enemyhealth lte 0>> <<if $bus is "farm_alex_room">> You shove Alex off the bed, and climb from it the other side. "Didn't know you wanted it that rough," <<he>> says. <<He>> shuffles beneath the sheets.<<llove>><<npcincr Alex love -1>> <br><br> <<tearful>> you return to your room. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Bedroom]]>><<storeon "farm alex bed" "check">><<if _store_check is 1>><<storeon "farm alex bed">><<set $wardrobe_location to "alexFarm">><<wardrobeSelection>><</if>><</link>> <br> <<else>> You shove Alex off the bed. "Didn't know you wanted it that rough," <<he>> says. It's too dark to see <<his>> expression. <<He>> returns to <<his>> room.<<llove>><<npcincr Alex love -1>> <br><br> <<tearful>> you roll over. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Bed]]>><</link>> <</if>> <<else>> <<if $bus is "farm_alex_room">> You climb from the bed. "Suit yourself," <<he>> says. <<tearful>> you return to your room. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Bedroom]]>><<storeon "farm alex bed" "check">><<if _store_check is 1>><<storeon "farm alex bed">><<set $wardrobe_location to "alexFarm">><<wardrobeSelection>><</if>><</link>> <<else>> Alex climbs from the bed. "Suit yourself," <<he>> says. "You know where I am when you want me to finish you." <br><br> <<tearful>> you roll over. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Bed]]>><</link>> <</if>> <</if>><<effects>> You wrap your sheet around you, and storm to Alex's room. You flip the light on, and find <<him>> pretending to sleep. <br><br> <<if $speech_attitude is "meek">> "Y-you shouldn't perve on me like that," you say. "It's rude." <<elseif $speech_attitude is "bratty">> "Fucking pervert," you say. "How'd you like it if I did the same to you?" <<else>> "Don't be a pervert," you say. <</if>> <br><br> "I don't know what you mean," Alex lies. <br><br> You chew <<him>> out a bit longer, but <<he>> persists in denial. <<He>> does seem guilty by the end though. <br><br> You return to your bed. <br><br> <<link [[Next|Farm Bed]]>><<endevent>><</link>><<effects>> <<set _alex to C.npc.Alex>> <<set _chest to (_alex.pronoun is "f" ? _alex.breastsdesc : "muscular chest")>> <<set _genitals to (_alex.penis isnot "none" ? _alex.penisdesc : "pussy")>> You wait, allowing enough time for Alex to fall back to sleep, then creep to <<his>> room. You find <<him>> lying on <<his>> back, <<his>> sheets rising and falling with <<his>> breathing. <br><br> You cast aside the sheets. <<Hes>> wearing a black T-shirt and <<print (_alex.pronoun is "f" ? "boyshorts" : "boxers")>>. <br><br> Careful not make a sound, you peel the <<print (_alex.pronoun is "f" ? "boyshorts" : "boxers")>> down <<his>> thighs, <span class="lewd">revealing <<his>> _genitals.</span> You keep going, pulling the fabric past <<his>> knees. <<He>> stirs as you reach <<his>> ankles, so you snatch the underwear the rest of the way, removing them from <<his>> body. <<promiscuity3>> Alex's hand shoots between <<his>> legs as <<he>> realises what you've done. "F-fuck," <<he>> says as <<his>> cheeks flush. "Don't look." <<He>> reaches for <<his>> underwear, but you step away from the bed. <br><br> <<He>> comes after you, tugging <<his>> shirt over <<his>> _genitals. It's not long or baggy enough for this, and the fabric pulls taut over <<his>> _chest showing off the skin beneath. <br><br> <<link [[Give them back|Farm Alex Give]]>><<npcincr Alex love 1>><</link>><<glove>> <br> <<link [[Keep teasing|Farm Alex Tease]]>><<npcincr Alex lust 5>><</link>><<athleticsdifficulty 1 1000>><<gglust>> <br><<effects>> <<set _alex to C.npc.Alex>> You hold out <<his>> <<print (_alex.pronoun is "f" ? "boyshorts" : "boxers")>>. <<He>> hesitates, as if expecting a trick, then snatches them. <br><br> <<if $speech_attitude is "meek">> "I-I just wanted to show you what it's like," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <<elseif $speech_attitude is "bratty">> "I thought you liked this sort of perviness," you say, turning to allow <<him>> to dress. "You seem keen enough to inflict it on me." <<else>> "You started it," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <</if>> <br><br> "I-I don't know what you mean," Alex lies. You think <<he>> got your point regardless. <br><br> You return to your bed. <br><br> <<link [[Next|Farm Bed]]>><<endevent>><</link>><<effects>> <<set _alex to C.npc.Alex>> You stand on Alex's sheets, between <<him>> and the wardrobe. <<He>> lunges for <<his>> <<print (_alex.pronoun is "f" ? "boyshorts" : "boxers")>> <<if $athleticsSuccess>> <span class="green">but you hold them away.</span> <<He>> has to keep one hand tugging <<his>> shirt between <<his>> thighs, putting <<him>> at a disadvantage.<<ldom>><<npcincr Alex dom -1>> <br><br> <<if $speech_attitude is "meek">> "Are you going to punish me for this?" you tease. <<elseif $speech_attitude is "bratty">> "Not so fun," you say. "Is it?" <<else>> "You want them back?" you ask. "What will you give me for them?" <</if>> <br><br> Alex relents. "You've made your point," <<he>> says, <<his>> face bright red. "Just give them back." <br><br> <<link [[Give them back|Farm Alex Tease Give]]>><<npcincr Alex love 1>><</link>><<glove>> <br> <<link [[Demand a show|Farm Alex Tease Demand]]>><<npcincr Alex love -1>><<npcincr Alex dom -3>><<npcincr Alex lust 5>><</link>><<llove>><<lldom>><<gglust>> <br> <<else>> <span class="red">and snatches them from your grasp.</span> <<gdom>><<npcincr Alex dom 1>> <br><br> <<if $speech_attitude is "meek">> "I-I just wanted to show you what it's like," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <<elseif $speech_attitude is "bratty">> "I thought you liked this sort of perviness," you say, turning to allow <<him>> to dress. "You seem keen enough to inflict it on me." <<else>> "You started it," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <</if>> <br><br> "I-I don't know what you mean," Alex lies. You think <<he>> got your point regardless. <br><br> You return to your bed. <br><br> <<link [[Next|Farm Bed]]>><<endevent>><</link>> <</if>><<effects>> <<set _alex to C.npc.Alex>> You chuck the <<print (_alex.pronoun is "f" ? "boyshorts" : "boxers")>> at Alex. <<if $speech_attitude is "meek">> "I-I just wanted to show you what it's like," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <<elseif $speech_attitude is "bratty">> "I thought you liked this sort of perviness," you say, turning to allow <<him>> to dress. "You seem keen enough to inflict it on me." <<else>> "You started it," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <</if>> <br><br> "I-I don't know what you mean," Alex lies. You think <<he>> got your point regardless. <br><br> You return to your bed. <br><br> <<link [[Next|Farm Bed]]>><<endevent>><</link>><<effects>> <<set _alex to C.npc.Alex>> <<set _chest to (_alex.pronoun is "f" ? _alex.breastsdesc : "toned chest")>> <<set _genitals to (_alex.penis isnot "none" ? _alex.penisdesc : "pussy")>> <<if $speech_attitude is "meek">> "I-I will," you say. "But I want you to take off your shirt first." <<elseif $speech_attitude is "bratty">> "I'll give them back," you say. "If you take off your shirt." <<else>> "I will," you say. "If you take off your shirt." <</if>> <br><br> Alex's blush deepens. <<He>> holds <<his>> shirt tighter against <<his>> body and looks away. <<He>> pauses, then in one swift motion, pulls <<his>> shirt up and over <<his>> body and head. <<His>> arms clamp back down, but not before you get another look at <<his>> _genitals. You get a peek at <<his>> _chest as well. <br><br> "Happy?" <<he>> asks. <br><br> You chuck the <<print (_alex.pronoun is "f" ? "boyshorts" : "boxers")>> at <<him>>. <<if $speech_attitude is "meek">> "I-I just wanted to show you what it's like," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <<elseif $speech_attitude is "bratty">> "I thought you liked this sort of perviness," you say, turning to allow <<him>> to dress. "You seem keen enough to inflict it on me." <<else>> "You started it," you say, turning to allow <<him>> to dress. "I know you were watching me sleep." <</if>> <br><br> "I-I don't know what you mean," Alex lies. You think <<he>> got your point regardless. <br><br> You return to your bed. <br><br> <<link [[Next|Farm Bed]]>><<endevent>><</link>><<set $settingsExitPassage to "Farm Bedroom">> <<settings>><<set $wardrobe_location to "alexFarm">> <<effects>><<getTarget true>> <<wearoutfit>> <<farm_work_update>> You are in Alex's bedroom. It's similar to yours. Clothes tumble from the wardrobe, and the desk is cluttered. The window overlooks the road in, and the moor beyond. <<if C.npc.Alex.pregnancy.ultraSoundWallPic is true>>A picture of your most recent ultrasound hangs on the wall.<</if>> <br><br> <<if $stress gte $stressmax and !$possessed>> <<passoutfarmroad>> <<elseif npcIsPregnant("Alex") and !talkedAboutPregnancy("Alex","pc") and npcBellySize("Alex") gte 1>> <<alex_cottage_pregnancy_reveal>> <<else>> <<if $farm_attack_timer is 0 and Time.hour gte 21 and !$possessed>> <<npc Alex>><<person1>> You hear shouting. Alex bolts up. <span class="red">"<<nnpc_Hes Remy>> here,"</span> <<he>> says. "Remy. We can do this. Go get ready, I'll <<if $farm.tower_guard>> check on $farm.tower_guard." <<else>> see if I can spot them." <</if>> <br><br> <<farm_assault_intro>> <br><br> <<link [[Prepare|Farm Assault Wardrobe]]>><<endevent>><<set $phase to 3>><</link>> <<exit>> <br> <<elseif Time.hour is 21 and $alex_to_bed is undefined and !$possessed>> <<set $alex_to_bed to 1>> Tired from a day's work, Alex yawns and climbs into bed. <br><br> <<elseif Time.dayState is "night" and $alex_bed is undefined>> <<npc Alex>><<person1>> Alex snores in <<his>> bed. <<if Time.hour is 5>> <br><br> <<set $alex_bed to "none">> <<He>> throws the sheets to the floor. <<covered>> "Breakfast," <<he>> yawns. <<if $daily.alex.bedOrgasm>> After a moment, <<he>> turns to you, blushing. "I swore I heard something over night. F-forget I said anything." <<else>> <<switch $alexSomno>> <<case 0>> /* Alex didn't wake up */ Alex smiles, "I feel extra refreshed this morning. Feels like it's gonna be a good day." <<case 1>> /* Alex did wake up and PC finished them off/they had sex */ Alex blushes, "Last night was nice, partner. I feel extra refreshed this morning." <<case 2>> /* Alex did wake up but no sex */ Alex looks over at you and blushes, though <<he>> seems to avoid eye contact with you. <</switch>> <</if>> <<if $exposed gte 1>> <<He>> pretends not to ogle as <<he>> leaves the room.<<glust>><<npcincr Alex lust 1>> <<else>> <<He>> leaves the room, and you hear the staircase creak. <</if>> <</if>> <<endevent>> <br><br> <<elseif $alex_bed isnot "player" and $farm_work.alex is "admin" or ($farm_work.alex is "clearing" and $farm_stage is 12) and !$possessed>> <<npc Alex>><<person1>> Alex sits at <<his>> desk, in front of an open laptop and sprawl of paper, talking on the phone. <<if $exposed gte 1>> <<He>> tries not to be distracted by your indecency, but keeps stealing glances.<<npcincr Alex lust 1>><<glust>> <</if>> <br><br> <<if $arousal gte $arousalmax>> <<orgasmLocation "alexFarmAdmin">> <</if>> <<endevent>> <<if playerIsPregnant() and playerAwareTheyArePregnant() and getPregnancyObject().potentialFathers.find(s => s.source === "Alex") and (C.npc.Alex.pregnancy.pcKnowledge isnot true or C.npc.Alex.pregnancy.test is true or C.npc.Alex.pregnancy.test is true) and C.npc.Alex.pregnancy.ultraSound isnot "requested">> <<pcPregnancyRevealToAlex>> <</if>> <<if C.npc.Alex.pregnancy.pcKnowledge is true and C.npc.Alex.pregnancy.ultraSoundPics is true and C.npc.Alex.pregnancy.sample isnot true and getPregnancyObject().potentialFathers.length is 1>> <<link [[Show Alex your ultrasound pictures (0:05)|Farm PC Ultrasound Pics Show]]>><</link>> <br><br> <</if>> <<farmicon "alexdesk">><<link [[Offer help (1:00)|Farm Alex Admin]]>><<pass 60>><<npc Alex>><<person1>><<npcincr Alex love 1>><<stress 6>><</link>><<skill_difficulty `currentSkillValue("maths")` "Maths" 1 1000>><<glove>><<gstress>> <br> <<if $alex_countdown is undefined and C.npc.Alex.love gte 80>> <<farmicon "alexdesk">><<link [[Cuddle Alex (0:30)|Farm Phone Cuddle]]>><<pass 30>><<npc Alex>><<person1>><<npcincr Alex love 1>><</link>><<glove>> <br> <</if>> <<if hasSexStat("promiscuity", 4) and !$daily.alex.adminOral>> <<farmicon "alexdesk">><<link [[Crawl beneath the desk|Farm Alex Admin Crawl]]>><<npc Alex>><<person1>><<set $daily.alex.adminOral to true>><</link>><<promiscuous4>> <br> <</if>> <<if checkSextoysGift("Alex") and isLoveInterest("Alex") and checkIfNPCHasCategorySextoy("Alex","strap-on").length <= 5>> <<sextoysicon "strap-on">><<link [[Gift Alex a strap-on|Alex Gift Strap-on]]>><<npc Alex>><<person1>><</link>> <br> <</if>> <<if canGiftFood("Alex") and $farm_stage gte 7>> <<skinicon "give">><<link [[Gift Alex food|Alex Gifts List]]>><</link>> <br> <</if>> <</if>> <<if $farm_stage gte 7>> There's a desk here. You could work on farm projects. <br> <<farmicon "alexdesk">><<link [[Sit at the desk|Farm Upgrades]]>><</link>> <br><br> <</if>> <<if $earSlime.event and $earSlime.noSleep>> <<if $possessed>> <<ind>><span class="purple">The slime in your head is silent.</span> <<else>> <<ind>><span class="red">The slime wants you to <<print $earSlime.event>> before you can go to bed.</span> <</if>> <br> <<elseif $alex_bed_spurned isnot 1>> <<farmicon "alexbed">><<link [[Strip and get in Alex's bed|Farm Alex Bed]]>><<undressSleep "farm alex bed">><</link>> <br> <<if $earSlime.alwaysSleepNaked is false>> <<farmicon "alexbed">><<link [[Climb in Alex's bed|Farm Alex Bed]]>><</link>> <<else>> <<icon "cross.png" "infront">> <<farmicon "alexbed">> <<if $possessed>> <span class="purple">The slime is silent.</span> <<else>> <span class="purple">The slime is not allowing you to sleep with anything on.</span> <</if>> <</if>> <br> <</if>> <br> <<if $nextPassageCheck is "Farm Bedroom">> <span class="nextLink"><<link [[Your room (0:01)|Farm Bedroom]]>><<pass 1>><</link>></span> <<else>> <<set _farmbed to ($loveInterest.primary is "Alex" or $loveInterest.secondary is "Alex") ? "alex" : "farm">> <<bedicon _farmbed>><<link [[Your room (0:01)|Farm Bedroom]]>><<pass 1>><</link>> <</if>> <br> <<main_hall_icon>><<link [[Go downstairs (0:01)|Farm Cottage]]>><<pass 1>><</link>> <br> <</if>><<set $bus to "farm_alex_room">><<effects>> <<if Time.dayState is "night" and $alex_bed is undefined>> You snuggle beside Alex. <<else>> You snuggle under the covers. <<if numberOfEarSlime() and $alex_bed isnot "player" and random(0,100) lt 3 + Math.floor($earSlime.growth / 100) - $earSlime.eventTimer and !$earSlime.event>> <<set $slimeBedExit to "Farm Alex Bed">> <<set $slimeBedroomExit to "Farm Alex Bedroom">> <<setSlimeSleepEvents>> <<if $earSlimeEvent>> <<slimeSleepEvents>> <</if>> <</if>> <</if>> <<if $wraith.state and $wraithPrison and ($moonstate is "evening" or $moonstate is _nightstate)>> You feel anxious, and your eyes dart over to the mirror. <</if>> <br><br> <<farm_sleep_options>><<effects>> <<npc Alex>><<person1>> <<if $phase is 0>> /* Help Alex make breakfast */ You attempt to help Alex with breakfast but <<he>> shoves you away. "I don't need your damn help. And you aren't welcome at the table this morning," Alex says with a harsh tone. <<else>> /* Eat breakfast */ You sit down at the table before Alex whips around. "You aren't getting anything. Make it yourself," Alex says with a harsh tone. <<He>> doesn't want you in the kitchen. <</if>> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>><<effects>> <<npc Alex>><<person1>> <<alexRemyTattoosCheck "breakfast">> You join Alex in the kitchen, and offer to assist. <<Hes>> grateful for the help. <<if $rng gte 81>> <<wearProp "potato">> <<He>> asks you to wash and peel potatoes while <<he>> scrambles eggs. <br><br> The meal is soon prepared. Scrambled eggs and hashbrowns, made from ingredients gathered on the farm. <<elseif $rng gte 61>> <<wearProp "knife" 0 "sharp">> <<He>> asks you to cut up greens while <<he>> fries bacon. <br><br> The meal is soon prepared. Bacon, with a side of vegetables. <<elseif $rng gte 41>> <<He>> asks you to knead dough while <<he>> prepares the cream. <br><br> The meal is soon prepared. Fresh pastries with a fruity interior, topped with cream. <<elseif $rng gte 21>> <<wearProp "tomato">> <<He>> asks you to wash vegetables while <<he>> blends sauce from a special recipe. <br><br> The meal is soon prepared. Savoury crêpes with sautéed vegetables, served with a creamy sauce. <<else>> <<wearProp "strawberry">> <<He>> asks you to wash fruit. <br><br> The meal is soon prepared. Yogurt and mixed fruit. <</if>> It smells good. <br><br> <<link [[Thank Alex|Farm Breakfast]]>><<handheldon>><<npcincr Alex love 1>><<set $phase to 1>><</link>><<glove>> <br> <<link [[Chat|Farm Breakfast]]>><<handheldon>><<trauma -6>><<set $phase to 2>><</link>><<ltrauma>> <br> <<link [[Eat quietly|Farm Breakfast]]>><<handheldon>><<set $phase to 3>><<stress -6>><</link>><<lstress>> <br><<effects>> <<npc Alex>><<person1>> You sit at the kitchen table as Alex bustles around the kitchen. <<He>> turns from the counter with two plates, and places one in front of you. <<if $rng gte 81>> Scrambled eggs and hashbrowns, made from ingredients gathered on the farm. <<elseif $rng gte 61>> Bacon, with a side of vegetables. <<elseif $rng gte 41>> Fresh pastries with a fruity interior, topped with cream. <<elseif $rng gte 21>> Savoury crêpes with sautéed vegetables, served with a creamy sauce. <<else>> Yogurt and mixed fruit. <</if>> <br><br> Alex digs in as soon as <<he>> sits. <br><br> <<link [[Thank Alex|Farm Breakfast]]>><<npcincr Alex love 1>><<set $phase to 1>><</link>><<glove>> <br> <<link [[Chat|Farm Breakfast]]>><<trauma -6>><<set $phase to 2>><</link>><<ltrauma>> <br> <<link [[Eat quietly|Farm Breakfast]]>><<set $phase to 3>><<stress -6>><</link>><<lstress>> <br><<effects>> <<set _alex to C.npc.Alex>> <<wearProp "pancake">> <<if $phase is 1>> You compliment the food. <<if $speech_attitude is "meek">> "It's s-so delicious!" you say. "The f-food in town doesn't come close." <<elseif $speech_attitude is "bratty">> "I'm impressed," you say. "Beats the slop in town." <<else>> "It's really good," you say. "Better than the restaurants in town." <</if>> <br><br> Alex beams. "Thanks," <<he>> says, shovelling another mouthful. <<switch random(1, 5)>> <<case 1>> <<if _alex.lust gte 20>> "The food's not the only appetising thing here." <<He>> winks. <<elseif isLoveInterest("Alex")>> "You're my motivation." <<else>> "I've had a lot of practice." <</if>> <<case 2>> <<if $farm.build_finished.includes("coop 2")>> "I've more eggs than I know what to do with, thanks to you." <<elseif $farm.build_finished.includes("coop 1")>> "Egg surplus. Those chickens multiplied like rabbits. Speaking of... <<if C.npc.Alex.lust gte 20>> can't wait 'til we get some time to ourselves." <<He>> winks. <<else>> never mind. Food's getting cold." <<He>> scarfs down the rest of <<his>> plate. <</if>> <<else>> "What'd I tell you about our eggs?" <</if>> <<case 3>> "I'm in a good mood. <<if $farm_attack_timer is 0>> Whatever goes down tonight, I'm ready for it." <<elseif isLoveInterest("Alex")>> I've got my <<if _alex.dom gte 30>> <<girl>>, <<else>> <<if $player.gender_appearance is "f">>wo<</if>>man, <</if>> a thriving business, and our own place together. What more could a <<nnpc_gendery "Alex">> ask for?" <<else>> Fingers crossed it stays." <</if>> <<case 4>> <<if $farm.milking.dayMilking is true>> <<if _alex.dom gte 30>> "I'm glad you took the initiative to milk yourself. Tastes great." <<elseif _alex.dom lte -30>> "I-I should be thanking you for the milk." You spot a reddish tint on <<his>> cheeks. <<else>> "I used your milk in this dish. Hope you don't mind. Paid off well, if you ask my tummy." <</if>> <<elseif $farm_work.cattle.gender is "m">> "Our boys make fine milk." <<else>> "Our girls make fine milk." <</if>> <<case 5>> "Townies can't compete." <<He>> slams a fist on the table, making everything shake. You steady your plate. <br><br> <<if _alex.dom gte 30>> "Yeah, I said it. What're you gonna do about it?" <<He>> pokes <<his>> tongue out. <<elseif _alex.dom lte -30>> "Shit, didn't mean to startle you." <<He>> double checks to make sure you're okay before finishing <<his>> meal. <<else>> "Sorry," <<he>> laughs, scratching the back of <<his>> head. "Just saying." <</if>> <</switch>> <<elseif $phase is 2>> You chat with Alex about the farm and <<his>> plans for the day while you eat. <<switch random(1, 5)>> <<case 1>> "Enough about the farm," <<he>> says at one point. "Tell me something about yourself." <br><br> <<farm_tell_alex>> <<case 2>> <<silently>><<farm_upgrades_status>><</silently>> <<if $farm_attack_timer is 0>> "Remy's paying a visit tonight," <<he>> says after properly swallowing. <<if _alex.dom gte 30>> "I can take 'em." <<He>> palms <<his>> fist. "Those fuckers will regret setting foot on my property." <<elseif _alex.dom lte -30>> "I won't lie. I'm nervous." <<He>> looks to you expectantly. "You don't have to show, but I'd feel better about our chances." <<else>> "Hoping we'll send 'em running back to their mums." <<He>> laughs. <</if>> <<elseif _upgrade_count gte 8>> "The farm couldn't be in a better shape." <<He>> gulps <<his>> food, then grins. "Not much else left to do, but to stay on top of things. For now. Never thought I'd get this far, to be honest. All thanks to your doing." <<else>> <<if $farm.aggro gte 60>> "The work just keeps piling up, I'm afraid. Doesn't help that thugs keep breathing down our necks," <<else>> "The work just keeps piling up, I'm afraid," <</if>> <<he>> lets out a deep sigh, then puts on a broad smile. "Nothing we can't handle, though." <</if>> <<case 3>> <<if $speech_attitude is "meek">> "Do you know when we met? I-It's been a while," you ponder. <<elseif $speech_attitude is "bratty">> "It feels like ages since I showed up here," you say out loud. <<else>> "We've come a long way, huh? Remember when we met?" you wonder. <</if>> <<He>> nods at your words. <br><br> <<if isLoveInterest("Alex")>> "I won't ever forget that day." <<Hes>> beaming. "Best thing that ever happened to me, partner." You don't think <<his>> smile could get any wider. <<else>> "We've been put through the wringer," <<he>> says with a fond smile. "And I wouldn't have it any other way, partner." <</if>> <<case 4>> <<He>> talks with <<his>> mouth full. Eventually, <<he>> swallows. <<if $tiredness gte (C.tiredness.max / 5) * 2>> "Couldn't get enough sleep?" <<he>> asks. "I can tell by that look in your eyes." <<elseif $tiredness gte (C.tiredness.max / 5) * 3>> "You should definitely get some shuteye," <<he>> says with a worried expression. "You look about ready to fall over." <<elseif $arousal gte ($arousalmax / 5) * 3 and _alex.lust gte 20>> <<He>> takes notice of the heavy flush on your face. <br><br> <<if _alex.dom gte 10>> "Sit tight. I'll be right with you." <<He>> smirks, pressing <<his>> foot against your groin underneath the table.<<arousal 200 "genitals">><<garousal>> <<elseif _alex.dom lte -10>> "A-are you thinking what I'm thinking?" <<He>> flushes too. <<else>> "What's gotten you so worked up this bright and early? I best see to it," <<he>> teases. <</if>> <<else>> "I need to call my folks again. So much has transpired since <<if $pronoun is "m">>Dad<<else>>Mum<</if>> stopped by." <</if>> <<case 5>> <<He>> almost chokes on <<his>> food, then clears <<his>> throat. <br><br> /* Modify to account for tfs*/ <<if $worn.neck.collared is 1>> <<if _alex.dom gte 30>> Without warning, your leash is yanked with such force that you nearly faceplant into the food. "Sorry, I was only getting warmed up." <<He>> grins. "Seems I underestimated myself."<<arousal 100>><<npcincr Alex lust 1>><<garousal>><<glust>> <<elseif _alex.dom lte -30>> <<He>> stares at your collar sheepishly. "Coppers can help you with that. I might be better at it though. Try me." <<He>> pulls on your leash. <<arousal 100>><<npcincr Alex lust 1>><<garousal>><<glust>> <<else>> "Fancy a good time?" <<he>> says, reaching for your leash. Before you know it, the gap between you and the table is closed with one swift tug. <<He>> laughs when <<he>> sees the look on your face.<<arousal 100>><<npcincr Alex lust 1>><<garousal>><<glust>> <</if>> <<elseif $worn.upper.type.includes("formal", "costume") or $worn.lower.type.includes("formal", "costume")>> "You're all dressed up," <<he>> says as <<his>> eyes scan your outfit. "Wonder where you're heading off to this early. I guess it's none of my business." <<elseif $worn.upper.type.includes("holy") or $worn.lower.type.includes("holy")>> "Pray we get a good harvest." <<He>> smiles, hands on <<his>> hips. <<elseif $worn.head.name is "football helmet" or $worn.upper.name is "padded football shirt" or $worn.lower.name is "football shorts">> <<He>> takes notice of your football gear, and looks surprised. "Didn't take you for the type," <<he>> says. "It's been a while since I've played." <<elseif $worn.upper.type.includes("school") or $worn.lower.type.includes("school")>> <<if Time.schoolDay>> "Good luck with school," <<he>> says. "I'm glad I was taught at home." <<else>> "Y'know, it's the weekend," <<he>> laughs. <<Hes>> referring to your school uniform. <</if>> <<elseif $worn.upper.name is "cow onesie" or $worn.lower.name is "cow print chaps" or $worn.lower.name is "cow onesie bottoms" or $worn.hands.name is "cow sleeves" or $worn.legs.name is "cow socks">> <<He>> takes notice of your cow print apparel. "I like what I see, cow<<girl>>. You'd fit right in." <<He>> quickly clarifies, "Don't actually try it." <<elseif $worn.head.name is "cowboy hat" or $worn.lower.name is "cowboy chaps">> <<He>> takes notice of your cowboy outfit. "When I offered to be partners, I didn't mean the old western type," <<he>> laughs. <<elseif $worn.upper.type.includes("sleep") or $worn.lower.type.includes("sleep")>> "You ought to go change soon," <<he>> says. "Would hate to see your jammies get ruined." <<elseif $worn.head.name is "straw hat">> <<He>> takes notice of your straw hat. "We've got matching hats." <<He>> beams. "Don't forget your sunscreen." <<elseif $worn.head.name is "racing helmet" or $worn.head.name is "riding helmet" or $worn.feet.name is "paddock boots" or $worn.feet.name is "field boots">> <<He>> takes notice of your riding gear. "We can go horseback riding sometime," <<he>> suggests. "If I wasn't so busy." <<else>> "I'm hoping the pigs don't take my clothes again," <<he>> sighs. "Make sure you leave room for supper later." <</if>> <</switch>> <<else>> You eat breakfast. You're not feeling talkative, and Alex seems content to focus on the food. <</if>> <br><br> <<He>> carries the empty plates to the sink. <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<set _alex to C.npc.Alex>> You make Alex a cup of tea. No sugar, a little milk, as <<he>> likes it. <br><br> "Cheers," <<he>> says as you hand <<him>> the cup. <<if _alex.lust gte 20>> <<He>> smacks your <<bottom>> as you turn away. <br><br> <<link [[Get angry|Farm Breakfast Tea Angry]]>><<npcincr Alex love -1>><<npcincr Alex dom -1>><<stress -6>><</link>><<llove>><<ldom>><<lstress>> <br> <<link [[Ignore|Farm Cottage]]>><<npcincr Alex dom 1>><<endevent>><</link>><<gdom>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Goad|Farm Breakfast Tea Goad]]>><<sub 1>><<npcincr Alex dom 3>><</link>><<promiscuous2>><<ggdom>> <br> <</if>> <<else>> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <</if>><<effects>> <<if $speech_attitude is "meek">> "Th-that's not a very nice way to thank me," you say. <<elseif $speech_attitude is "bratty">> "Make your own damn tea next time," you say. <<else>> "Don't be rude," you say. <</if>> <br><br> Alex ogles your <<bottom>> while you speak. "Sorry," <<he>> says, grinning. "Couldn't resist." <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "If my tea displeases," you say. "You should punish me proper." <<elseif $speech_attitude is "bratty">> "You call that a smack?" you say, turning the other cheek. "Wuss. Try again." <<else>> "I barely felt that," you say. "Try again." <</if>> <<promiscuity2>> Alex rests <<his>> tea on the table, then reaches for your waist. "Not enough for you?" <<he>> asks as <<he>> bends you over <<his>> lap. "How about this?" <br><br> <<He>> spanks your <<bottom>> with <<his>> hand, but not very hard. <br><br> <<link [[Harder|Farm Breakfast Spank]]>><<sub 1>><<pain 4>><<trauma -6>><</link>><<gpain>><<ltrauma>> <br> <<link [[That's enough|Farm Breakfast Spank End]]>><</link>> <br><<effects>> <<set _alex to C.npc.Alex>> You make two cups of tea. No sugar and just a splash of milk for Alex, as <<he>> likes it. <br><br> "Cheers," <<he>> says as you hand <<him>> the cup. <<if _alex.lust gte 30>> <<He>> smacks your <<bottom>> as you turn away. <br><br> <<link [[Get angry|Farm Breakfast Tea Angry]]>><<npcincr Alex love -1>><<npcincr Alex dom -1>><<stress -6>><</link>><<llove>><<ldom>><<lstress>> <br> <<link [[Ignore|Farm Cottage]]>><<npcincr Alex dom 1>><<endevent>><</link>><<gdom>> <br> <<if hasSexStat("promiscuity", 2)>> <<link [[Goad|Farm Breakfast Tea 2 Goad]]>><<sub 1>><<npcincr Alex dom 3>><</link>><<promiscuous2>><<ggdom>> <br> <</if>> <<else>> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <</if>><<effects>> <<if $speech_attitude is "meek">> "O-oopsey," you say as you tip your own tea on <<his>> thigh. "I'm so clumsy. I hope you don't have to punish me." <<elseif $speech_attitude is "bratty">> "You call that a smack?" you say, turning the other cheek. "Wuss. Try again." <<else>> "I barely felt that," you say. "Try again." <</if>> <<promiscuity2>> Alex rests <<his>> tea on the table, then reaches for your waist. "Not enough for you?" <<he>> asks as <<he>> bends you over <<his>> lap. "How about this?" <br><br> <<He>> spanks your <<bottom>> with <<his>> hand, but not very hard. <br><br> <<link [[Harder|Farm Breakfast Spank]]>><<sub 1>><<npcincr Alex lust 5>><<set $daily.alex.spank to true>><</link>><<gpain>><<glust>><<ltrauma>> <br> <<link [[That's enough|Farm Breakfast Spank End]]>><</link>> <br><<effects>> <<set _alex to C.npc.Alex>> "Harder," you say. <<if (_alex.dom + _alex.lust) gte 40>> <<pain 4>><<trauma -6>> Alex pulls back <<his>> hand, then strikes your <<bottom>> with another blow. This one stings. <br><br> "This is what happens to bad <<girls>> like you," <<he>> says. <br><br> <<link [[Harder|Farm Breakfast Spank 2]]>><<sub 1>><<npcincr Alex lust 5>><</link>><<ggpain>><<glust>><<lltrauma>> <br> <<link [[That's enough|Farm Breakfast Spank End]]>><</link>> <br> <<else>> Alex pulls back <<his>> hand for another blow, then hesitates. <br><br> "That's enough," <<he>> says. "I think you've learned your lesson." <i>Higher dominance and lust would encourage <<him>> to take it further.</i> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <</if>><<effects>> <<set _alex to C.npc.Alex>> "H-harder," you say. <<if (_alex.dom + _alex.lust) gte 50>> <<pain 8>><<trauma -12>> Alex bullies your <<bottom>> with a volley of stinging blows. "You'll be a good <<girl>> from now on," <<he>> says. "Won't you?" <<He>> leaves you tingling. <br><br> <<link [[Harder|Farm Breakfast Spank 3]]>><<npcincr Alex lust 5>><</link>><<gggpain>><<glust>><<llltrauma>> <br> <<link [[That's enough|Farm Breakfast Spank End]]>><</link>> <br> <<else>> Alex pulls back <<his>> hand for another blow, then hesitates. <br><br> "That's enough," <<he>> says. "I think you've learned your lesson." <i>Higher dominance and lust would encourage <<him>> to take it further.</i> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <</if>><<effects>> <<set _alex to C.npc.Alex>> "Harder!" you scream. <<if (_alex.dom + _alex.lust) gte 60>> <<pain 12>><<trauma -18>> Alex pulls back <<his>> hand, and delivers a mighty blow to your sensitive <<bottom>>. Tears launch from your face as the force lurches you forward. <br><br> <<if (_alex.dom + _alex.lust) gte 70>> "Now to make it up to me," <<he>> says. <<He>> pushes your legs off <<his>> lap, and grabs your hair. "Put that mouth of yours to its proper use." <<He>> <<npcUndressText _alex "lower" "self">>, <<npcRevealText _alex "lower">>. <br><br> <<if hasSexStat("promiscuity", 4)>> <<link [[Lick|Farm Breakfast Oral]]>><<set $sexstart to 1>><<set $daily.alex.breakfastSex to true>><</link>><<promiscuous4>> <br> <</if>> <<link [[Pull away|Farm Breakfast Oral Refuse]]>><<npcincr Alex dom -1>><</link>> <br> <<else>> "I think you've learned your lesson," <<he>> says as <<he>> pushes you off <<his>> lap. <<He>> hesitates when <<he>> sees your tears. "I hope I didn't hit too hard." <i>Higher dominance and lust would encourage <<him>> to take it further.</i> <br><br> <<link [[Reassure|Farm Breakfast Spank Reassure]]>><<npcincr Alex dom 1>><</link>><<gdom>> <br> <<link [[Complain|Farm Breakfast Spank Complain]]>><<npcincr Alex dom -1>><</link>><<ldom>> <br> <</if>> <<else>> Alex pulls back <<his>> hand for another blow, then hesitates. <br><br> "That's enough," <<he>> says. "I think you've learned your lesson." <i>Higher dominance and lust would encourage <<him>> to take it further.</i> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <</if>><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>> <<npcoral>> <<set $enemytrust += 100>><<promiscuity4>> <</if>> <<effects>> Alex sips <<his>> tea. <br><br> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Farm Breakfast Oral Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Breakfast Oral]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Alex reclines in <<his>> chair and finishes <<his>> tea.<<glove>><<lllust>><<npcincr Alex love 1>><<npcincr Alex lust -10>> <br><br> <<tearful>> you return the empty mug to the kitchen. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Cottage]]>><</link>> <br> <<elseif $enemyhealth lte 0>> Alex shields <<his>> genitals. "You could've said something," <<he>> says. "Ow."<<llove>><<ldom>><<npcincr Alex dom -1>><<npcincr Alex love -1>> <br><br> <<tearful>> you recover. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Cottage]]>><</link>> <br> <<else>> "Fine," Alex says. "You can make it up to me later." <br><br> <<tearful>> you return to the kitchen. <br><br> <<clotheson>> <<endcombat>> <<link [[Next|Farm Cottage]]>><</link>> <br> <</if>><<effects>> You pull away from Alex's grasp. "Fine," <<he>> says. "You'll make it up to me later." <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "D-don't worry about that," you say. "This is what I wanted." <<elseif $speech_attitude is "bratty">> "Don't insult me," you say. "I'd have said something if you were too rough." <<else>> "You were good," you say. "I'd have said something if you were too rough." <</if>> <br><br> Alex nods. "It was intense," <<he>> says. "That's all." <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "Y-you were a bit rough," you say. "I won't be able to sit." <<elseif $speech_attitude is "bratty">> "You're a brute," you say. "I won't be able to sit." <<else>> "You were too rough," you say. "I won't be able to sit." <</if>> <br><br> Alex nods. "Sorry," <<he>> says. <<He>> looks away. <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> You squirm free of Alex's grip. "You've learned your lesson," <<he>> says. <<He>> sips <<his>> tea. <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I-I have other things to do," you say. "And I can't make it as well as you." <<elseif $speech_attitude is "bratty">> "I'm not your servant," you say. "Get your own tea." <<else>> "I'm busy," you say. "Sorry." <</if>> <br><br> "Fine," Alex says, stretching. "I'll remain parched." <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> You sit in front of the TV as Alex enters the kitchen. You hear the water boil. Alex returns a minute later, carrying two steaming mugs. <br><br> <<if C.npc.Alex.lust gte 20>> "Anything else I can do?" <<he>> says, bending over to place the mug on the small table beside you. <br><br> <<link [[Kiss|Farm Breakfast Kiss]]>><<npcincr Alex love 1>><<npcincr Alex lust 5>><</link>><<kissvirginitywarning>><<glove>><<glust>> <br> <<if hasSexStat("promiscuity", 4) and !playerChastity("hidden") and (!playerChastity("cage") or $player.vaginaExist)>> <<link [[Press Alex's head into your groin|Farm Breakfast Receive Oral]]>><<set $sexstart to 1>><<set $daily.alex.breakfastSex to true>><</link>> <br> <</if>> <<link [[Just drink your tea|Farm Breakfast Just]]>><</link>> <br> <<else>> The tea is relaxing. <br><br> <<if Time.hour gte 6>> <<He>> glances at the clock on the wall. "Time for work. I'll see you around," <<he>> says, rising to <<his>> feet and heading for the door. <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <<else>> <<farm_cottage_tv_options>> <<link [[Stand up|Farm Cottage]]>><<endevent>><</link>> <br> <</if>> <</if>><<effects>> You hold the back of Alex's head, and pull <<him>> into a kiss.<<set $consensual to 1>> <<if $farm_stage gte 7 and $alex_countdown is undefined>> <<takeKissVirginity "Alex" "loveInterest">> <<else>> <<takeKissVirginity "Alex" "romantic">> <</if>> <<promiscuity1>> <<He>> straddles you, pinning you to the chair as <<his>> lips work down your jaw, then assault your neck. <<He>> gives you a playful bite before rolling onto the sofa beside you. <br><br> <<farm_cottage_tv_options>> <<link [[Stand up|Farm Cottage]]>><<endevent>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> Alex looks you in the eye as <<he>> drops to <<his>> knees in front of you. <<He>> rests <<his>> hands on <<his>> thighs. <<maninit>> <<if $player.penisExist and $player.vaginaExist>> <<if random(1, 2) is 2 and !playerChastity("cage")>> <<set $NPCList[0].mouth to "penisentrance">><<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $penistarget to 0>> <<else>> <<set $NPCList[0].mouth to "vaginaentrance">><<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $vaginatarget to 0>> <</if>> <<elseif $player.penisExist and !playerChastity("cage")>> <<set $NPCList[0].mouth to "penisentrance">><<set $penisuse to "othermouth">><<set $penisstate to "othermouthentrance">><<set $penistarget to 0>> <<else>> <<set $NPCList[0].mouth to "vaginaentrance">><<set $vaginause to "othermouth">><<set $vaginastate to "othermouthentrance">><<set $vaginatarget to 0>> <</if>> <<set $enemytrust += 100>><<promiscuity4>> <<set $NPCList[0].location.head to "genitals">> <</if>> <<effects>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend or $orgasmdown gte 1>> <span id="next"><<link [[Next|Farm Breakfast Receive Oral Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Breakfast Receive Oral]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> Alex leans against the chair, panting. "Shit," <<he>> says. "I wanted to get you off." <br><br> <<tearful>> you make room for <<him>> on the sofa. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> <<He>> drops backward, into a sitting position. "Am I that out of practice?" <<he>> says. <br><br> <<tearful>> you make room for <<him>> on the sofa. <br><br> <<clotheson>> <<endcombat>> <<elseif $orgasmdown gte 1>> You shut your eyes as the orgasm wracks your body. You open them, and find Alex grinning at you. "I think you liked that," <<he>> says. "I treat my <<girl>> right." <br><br> <<tearful>> you make room for <<him>> on the sofa. <br><br> <<clotheson>> <<endcombat>> <<else>> <<tearful>> you make room on the sofa beside you. <br><br> <<clotheson>> <<endcombat>> <</if>> <<npc Alex>><<person1>> <<farm_cottage_tv_options>> <<link [[Stand up|Farm Cottage]]>><<endevent>><</link>> <br><<effects>><<wearProp "tea">> <<if $speech_attitude is "meek">> "I-I'm fine," you say. "Thanks for the tea." <<elseif $speech_attitude is "bratty">> "That'll be all," you say. You take a sip of tea. <<else>> "I'm fine," you say. "Thanks for the tea." <</if>> <br><br> Alex slumps onto the chair beside you. <br><br> <<farm_cottage_tv_options>> <<link [[Stand up|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<if $daily.alex.spank and $pain gte 20>> <<He>> looks remorseful when <<he>> sees your tears, and wipes them with one hand, gently patting your back with the other. <<He>> gives you awkward reassurances, but you can tell <<hes>> trying <<his>> best. You feel slightly better.<<pain -10>><<lpain>> <br><br> <</if>> <<if $rng gte 91>> You watch a nature documentary. It observes ?animals in their natural habitat. Alex seems interested. <<He>> <<print either("shields your eyes from a particularly graphic scene", "leans forward to get a closer look", "shares some animal facts with you")>>. <<elseif $rng gte 81>> You watch an infomercial. It's <<print either("strange", "absurdly expensive", "not in your age demographic", "clearly meant for mature audiences")>>. <<switch random(1, 3)>> <<case 1>> "It's wild," <<he>> says. "The things people sell these days." <<case 2>> "C'mon, who'd fall for that?" <<He>> gestures bewilderedly at the screen. <<case 3>> "My <<sister_npc>> bought that once," <<he>> chuckles. "It came busted." <</switch>> <<elseif $rng gte 71>> You watch the news. It's <<print either("some famous person's birthday", "the weather", "showing off the locales", "interviewing the locals")>>. Alex complains about nothing in particular. <<elseif $rng gte 61>> You watch an old sports game. Alex <<if random(1,2) is 1>>cheers vibrantly when <<his>> team scores a goal.<<else>>agonises over a loss, despite already knowing the outcome of the game.<</if>> <<elseif $rng gte 51>> You watch a foreign sitcom. Alex complains about reruns. "<<print either("I left off on a cliffhanger,", "I thought this was a different episode,", "Not this again,")>>" <<he>> sighs. <<elseif $rng gte 41>> You watch a drama. Alex stares out the window. <<if Weather.precipitation is "rain">> "It's nasty out," <<he>> groans. <<elseif Weather.precipitation is "snow">> <<if $christmas is 1 and Time.monthDay is 25>> "Just in time for Christmas," <<he>> says. <<else>> <<if random(1,2) is 1>>"Be sure to bundle up," <<he>> says.<<else>>"Hope you're prepared to shovel," <<he>> laughs, then sighs. "My back's not looking forward to it."<</if>> <</if>> <<elseif Weather.fog>> "Foggy, as usual," <<he>> remarks. <<else>> "I could've sworn..." <<He>> trails off. <</if>> <<elseif $rng gte 31>> You try to watch something, but the volume's too quiet. Alex turns it up, then back down during an action scene. "I hate when that happens," <<he>> says. <<elseif $rng gte 21>> You watch an animated show. Alex<<print either("'s eyes widen with nostalgia", " barely pays attention", " laughs at slapstick")>>. You share <<his>> sentiment. <<elseif $rng gte 11>> Alex squeezes your arm, gestures at the TV, and beams. "I've seen this a zillion times, but this part always gets me." You perk up a little. <<else>> Alex flips through the channels, but you're unable to find anything you like. "Nothing good on this hour." <<He>> shrugs. <</if>> <br><br> <<if Time.hour gte 6>> <<He>> glances at the clock on the wall. "Time for work. I'll see you around," <<he>> says, rising to <<his>> feet and heading for the door. <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <<elseif $alex_countdown is undefined>> <<link [[Keep watching (0:20)|Farm Breakfast TV]]>><<pass 20>><<stress -6>><</link>><<lstress>> <br> <<link [[Cuddle Alex (0:40)|Farm Breakfast Cuddle]]>><<npcincr Alex love 1>><<pass 40>><</link>><<glove>> <br> <<link [[Stop|Farm Cottage]]>><<endevent>><</link>> <br> <<else>> <<link [[Keep watching (0:20)|Farm Breakfast TV]]>><<pass 20>><<stress -6>><</link>><<lstress>> <br> <<link [[Stop|Farm Cottage]]>><<endevent>><</link>> <br> <</if>><<effects>> <<set _alex to C.npc.Alex>> <<alexRemyTattoosCheck "cuddle">> You get comfy beside Alex. <<if $daily.alex.spank and $pain gte 20>> <<He>> looks remorseful when <<he>> sees your tears, and wipes them with one hand, gently patting your back with the other. <<He>> gives you awkward reassurances, but you can tell <<hes>> trying <<his>> best. You feel slightly better.<<pain -10>><<lpain>> <br><br> <</if>> <<switch random(1, 10)>> <<case 1>> <<if _alex.dom gte 30>> <<He>> drops the remote. "Shit," <<he>> says. "Mind getting that for me?" You reach over, and hand it to <<him>>. "Thanks." <<He>> looks away from you, whistling idly. <br><br> <<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1 and hasSexStat("exhibitionism", 5)>> You realise <<he>> dropped it on purpose to look up your skirt, prompting you to flip it back up when <<he>> looks your way again. <<He>> avoids your gaze, then smirks, blushing profusely.<<npcincr Alex lust 3>><<glust>> <<elseif setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>> You get flustered, and realise <<he>> dropped it on purpose to look up your skirt. You ruffle <<his>> hair until <<he>> admits to it.<<stress 6>><<gstress>><<npcincr Alex lust 1>><<glust>> <<else>> <<He>> sports a big grin on <<his>> face, which you question. "I saw something good. Brightened my day a little."<<npcincr Alex lust 1>><<glust>> <</if>> <<elseif _alex.dom lte -30>> The remote falls off. "I'll get that," <<he>> says. <br><br> Your gaze lingers at <<his>> <<print (_alex.pronoun is "f" ? "boyshorts" : "boxers")>> taut against <<his>> toned butt as <<he>> reaches to grab it. "I-I'm onto you." Alex blushes, pointing at you as <<he>> slouches back.<<npcincr Alex lust 1>><<glust>><<arousal 100>><<garousal>> <<else>> The remote falls off. You both reach for it at the same time, and your hands meet. <<He>> can't help but chuckle, and you follow suit. <</if>> <<case 2>> <<He>> strokes your hair while you gaze at the sunrise together. "It's gorgeous. I know someone like that. <<pShes>> real close." <<He>> leans in to kiss your cheek, then grins. "I don't have to go far." <<case 3>> <<He>> flips the channel. It's a movie in the middle of a lewd scene. <<He>> glimpses at you, but changes it quickly.<<npcincr Alex lust 1>><<glust>> <<if Time.hour isnot 6>> <br><br> <<if hasSexStat("promiscuity", 2)>> <<link [[Tease about it|Farm TV Tease]]>><<npcincr Alex lust 5>><<arousal 200>><</link>><<promiscuous1>><<glust>><<garousal>> <br> <</if>> <<link [[Ask what Alex saw|Farm TV Ask]]>><<npcincr Alex lust 3>><<arousal 100>><</link>><<glust>><<garousal>> <</if>> <<case 4>> You press foreheads together, and rub your noses together during a commercial break. <<case 5>> You displace <<his>> <<npcClothesText _alex "upper">>, exposing <<his>> toned midriff. You blow hot air and rub your face against it. <<He>> cracks up at the sight.<<npcincr Alex lust 1>><<glust>> <<case 6>> "It's nice and quiet," <<he>> says as <<he>> fluffs the pillows. "Wish we could spend all day like this." <<He>> spoons you, and <<if ($harpy gte 6 and $transformationParts.bird.wings isnot "hidden") or ($angel gte 6 and $transformationParts.angel.wings isnot "hidden") or ($demon gte 6 and $transformationParts.demon.wings isnot "hidden") or ($fallenangel gte 2 and $transformationParts.fallenAngel.wings isnot "hidden")>> strokes your wings. <<elseif ($wolfgirl gte 3 and $transformationParts.wolf.ears isnot "hidden") or ($cat gte 4 and $transformationParts.cat.ears isnot "hidden") or ($cow gte 4 and $transformationParts.cow.ears isnot "hidden") or ($fox gte 4 and $transformationParts.fox.ears isnot "hidden")>> scratches behind your ears. <<elseif $wolfgirl gte 6 or $fox gte 6>> rubs your tummy. <<elseif $cat gte 6>> pets your hair. <<elseif $cow gte 6>> scratches your nose. <<else>> strokes your face. <</if>> Feeling at peace, you gaze into each other's eyes. <<case 7>> <<if C.npc.Alex.pregnancy.noBirthControl isnot true and ($playerPregnancyHumanDisable is "f" or $npcPregnancyDisable is "f") and (!npcIsPregnant("Alex") or !playerIsPregnant()) and C.npc.Alex.gender isnot $player.gender>> <<set C.npc.Alex.pregnancy.noBirthControl to true>> <</if>> <<if (npcIsPregnant("Alex") or playerIsPregnant()) and (C.npc.Alex.pregnancy.selfKnowledge or C.npc.Alex.pregnancy.pcKnowledge)>> "What do you think about <<if childrenCountBetweenParents("Alex","pc") gte 1 or childrenCountBetweenParents("pc","Alex") gte 1>>our family growing<<else>>us having a family<</if>> soon?" you ask, resting your head on <<his>> shoulder. <br><br> <<He>> wraps an arm around you and pauses for a moment. "Being blunt, I'm nervous. It still feels surreal." <br><br> "Are you happy about it?" you ask. <br><br> "Of course." <<He>> softly bumps <<his>> head against yours. "Couldn't be any happier." <<elseif C.npc.Alex.pregnancy.pills is "fertility" and C.npc.Alex.pregnancyAvoidance is 0>> "Do you think this is gonna work? You know, this baby thing," you ask Alex. <br><br> <<He>> wraps an arm around you and pauses for a moment. "I'm not sure. Even taking the right measures, it still is a difficult task to get pregnant." <br><br> "Maybe we should work a little harder?" <br><br> "Sure, cow<<if $player.gender_appearance is "f">>girl<<else>>boy<</if>>." <<He>> softly bumps <<his>> head against yours. "Won't catch me complaining about that." <<elseif childrenCountBetweenParents("pc","Alex") gte 1 or childrenCountBetweenParents("Alex","pc") gte 1>> "What do you think about us having a family now?" you ask, resting your head on <<his>> shoulder. <br><br> <<He>> wraps an arm around you, and pauses for a moment. "Honestly, I never expected it. Not so soon, at least." <br><br> "Are you happy about it?" you ask. <br><br> "Of course." <<He>> softly bumps <<his>> head against yours. <<if C.npc.Alex.pregnancy.nursery is true>>"Couldn't be any happier."<<else>>"But I do miss my little fellas."<</if>> <<else>> "What do you think about having a family?" you ask, resting your head on <<his>> shoulder. <br><br> <<He>> wraps an arm around you, and pauses for a moment. <<if (knowsAboutAnyPregnancy("pc", "Alex") and C.npc.Alex.gender is "m") or ($genderknown.includes("Alex") and $player.penisExist and C.npc.Alex.gender is "f") or ($genderknown.includes("Alex") and $player.sex isnot _alex.gender) or (!$genderknown.includes("Alex") and $player.gender_appearance isnot _alex.gender)>> "Being honest, I didn't consider it. Dunno how I'll manage without booze. But I wouldn't mind. If it makes you happy, I'd be tenfold," <<he>> says, beaming at you. <<else>> "We could adopt. But I heard it's expensive. And we've got our hands full as is. Dunno how I'll manage without booze." <<He>> suddenly grins. "If it makes you happy though, I'd be tenfold." <</if>> <br><br> "And if I don't want kids?" <br><br> "Then why'd you ask?" <<He>> softly bumps <<his>> head against yours. "Like I said. Whatever makes you happy." <</if>> <<case 8>> You reach over <<his>> shoulder, and try to snatch the remote. <<if $bodysize is 3>> <<He>> raises it up high, but you're tall enough to seize it anyway. "Fuck, I should've known," <<he>> cracks up. <br><br> You swoop in to kiss <<him>> mid-laugh, and <<he>> turns red.<<takeKissVirginity "Alex" "loveInterest">> <<elseif currentSkillValue('athletics') gte 800>> <span class="green"><<His>> reflexes are fast, but yours prove faster.</span> "You won, fair and square. Now give it back." <<He>> folds <<his>> arms. <br><br> <<if $speech_attitude is "meek">> "A-are you mad?" you giggle, clinging your arms to <<hers>>. "M-maybe you should watch me instead." <<elseif $speech_attitude is "bratty">> "Did I touch a nerve?" you tease, flicking <<his>> nose. "I should be your main source of entertainment." <<else>> "Don't be grumpy," you say, placing yourself between <<his>> arms and chest. "You've got access to a show, right in front of you." <</if>> <br><br> <<His>> demeanor slips as <<he>> cracks a smile. "You're absolutely right." Shortly after, you exchange a playful kiss.<<takeKissVirginity "Alex" "loveInterest">> <<else>> <span class="red"><<He>> readily moves it away.</span> You slip, and hang off the sofa. "I've got you," <<he>> exclaims, <<if _alex.dom gte 30>> grabbing your <<bottom>> and hoisting you onto <<his>> lap. "I'm sorry. I'd never let my <<girl>> down." <<He>> slides a hand down the small of your back. <<elseif _alex.dom lte -30>> pulling you back up. "You gave me a fright. Are you okay?" When you nod, <<he>> sighs in relief, and rubs your back. "Just say something next time." <<else>> pulling you back up. "That was a close one. Sorry." <<He>> wraps an arm around you and after a moment, starts laughing. "I couldn't just let you win though." <</if>> <br><br> You lean forward, expecting a kiss. <<He>> indulges you, and after some playful back and forth, pulls away, blushing.<<takeKissVirginity "Alex" "loveInterest">> <</if>> <<case 9>> You lock your arms and legs around <<him>>, just as <<hes>> about to shift. <br><br> <<if _alex.dom gte 30>> <<He>> squeezes you tightly into <<his>> toned arms. "Looks like we had the same idea." <<He>> grins. <<elseif _alex.dom lte -30>> "I was just making myself comfy," <<he>> yawns, wrapping your arms around <<himself>> as <<he>> lies on your chest. <<else>> "Don't worry, I'm not going anywhere." <<He>> gives you a warm smile, and pulls you into a secure embrace. <</if>> <<case 10>> Your hands traverse <<his>> legs, and you clutch <<his>> toned thighs.<<npcincr Alex lust 1>><<glust>> <br><br> <<if $daily.alex.breakfastSex>> "R-revved up for round two?" <<he>> says, a blush spreading across <<his>> face. "You're something else. Give me some time to warm up, first." <<elseif _alex.dom gte 30>> "Best be careful, tempting me like that," <<he>> whispers, and blows into your ear. "I bet you'd like the result." <<elseif _alex.dom lte -30>> "What've you got planned in that head of yours?" <<He>> flushes instantaneously, giving you a coy smile. <<else>> "You can settle down, <<girl>>," <<he>> says in a low voice, taking you by the hands. "We've plenty of time to ride later." <</if>> <</switch>> <br><br> <<if Time.hour gte 6>> <<He>> glances at the clock on the wall and rises to <<his>> feet. "Time for work. Hope to see you around." <<He>> smiles, waving goodbye. <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br> <<else>> <<if (playerPregnancyPossibleWith("Alex") or NPCPregnancyPossibleWithPlayer("Alex")) and C.npc.Alex.pregnancy.noBirthControl is true and C.npc.Alex.pregnancy.pills isnot "fertility">> <<link [[Ask to have a baby|Farm Cottage Baby Request]]>><</link>> <<if C.npc.Alex.vagina isnot "none">> <i><span class="blue">This will make Alex more fertile till <<nnpc_his "Alex">> next pregnancy.</span></i> <<else>> <i><span class="blue">This will make Alex more virile till your next pregnancy.</span></i> <</if>> <br><br> <</if>> <<link [[Keep cuddling (0:20)|Farm Breakfast Cuddle]]>><<npcincr Alex love 1>><<pass 20>><</link>><<glove>> <br> <<link [[Watch TV (0:20)|Farm Breakfast TV]]>><<pass 20>><<stress -6>><</link>><<lstress>> <br> <<link [[Get up|Farm Cottage]]>><<endevent>><</link>> <br> <</if>><<effects>> <<set _alex to C.npc.Alex>> <<set $daily.alex.tvTease to true>> <<if $speech_attitude is "meek">> "W-were you imagining us instead?" You smile coyly, caressing <<his>> neck. <<elseif $speech_attitude is "bratty">> You grab Alex by the collar and look <<him>> in the eye. "Admit it. You want us to act that out." <<else>> You cup <<his>> cheek and ask softly, "Saw something you wanted to try?" <</if>> <br><br> "N-no, I-" Alex swallows. "It hadn't crossed my mind." You know <<hes>> lying. <br><br> <<if $speech_attitude is "meek">>Frustrated<<elseif $speech_attitude is "bratty">>Determined<<else>>Focused<</if>>, you push <<him>> against the headrest and straddle <<him>>. <<if $player.breastsize gte 5>> The sight of your <<breasts>> looming over <<his>> face makes <<him>> audibly gulp. <<else>> The pressure of your <<bottom>> on <<his>> lap becomes too much for <<him>> to withstand. <</if>> <<promiscuity1>> <<His>> pretence shatters, and <<he>> holds the back of your head, as well as your thigh. <<He>> leans in with parted lips. You swerve at the last second. <<He>> looks baffled and <<if _alex.dom gte 30>> sighs. "Keep teasing me like that, and I might just lose it." <<elseif _alex.dom lte -30>> stammers. "D-did I do something wrong?" <<else>> wide-eyed. "Wh-what was that all about?" <</if>> <br><br> You don't say anything, and resume cuddling like it never happened. <br><br> <<farm_cottage_tv_options>> <<link [[Get up|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<set $daily.alex.tvTease to true>> <<if $speech_attitude is "meek">> "Hey..." You briefly squeeze <<him>> and plead. "I wanted to see. P-please change it back?" <<elseif $speech_attitude is "bratty">> "Hey, I didn't get to see shit," you complain, punching <<his>> arm lightly. "I'd appreciate it if you'd change it back for me." <<else>> "Hey, I didn't get to see," you say as you wrap your arms around <<him>>. "Could you change it back for me?" <</if>> <br><br> Alex starts to flush, fanning <<himself>> with <<his>> collar. "Th-there wasn't anything worth seeing." <<He>> hesitates. "I did you a favour." <br><br> <<if $speech_attitude is "meek">> "Th-that doesn't look right." You gently grab <<his>> wrists and look <<if $bodysize isnot 3>>up <</if>>at <<him>>. "Please tell me." <<elseif $speech_attitude is "bratty">> "Your face tells a different story, you liar." You cross your arms and lean forward. "Fess up. Now." <<else>> "I'm pretty sure we're in room temperature." You creep up to <<his>> face. "Tell me, what did you see?" <</if>> <br><br> <<He>> shakes <<his>> head, keeping <<his>> lips sealed. You continue to press <<him>>. <br> <<He>> squirms. You're told that it was a scene about two people. You press further. <br> <<His>> reservation cracks. It felt embarrassing to <<him>>. Further. <br> <<He>> stammers out that <<he>> can't explain. You ask why. <br> Then, <<he>> raises <<his>> voice. "They were going at it, alright? N-naked-" <br> You eagerly wait. "I-I thought about us instead," <<he>> heaves, <<his>> face and neck fiercely red. <br> "I knew it all along," you finally admit. "I was just messing with you." <br> "Y-you... You mean to tell me-" <<He>> trails off, in disbelief. <br><br> After a few moments, you resume cuddling like nothing happened. <br><br> <<farm_cottage_tv_options>> <<link [[Get up|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> You pull up a chair, and help Alex manage the business. <<if $rng gte 3>> <<He>> talks to one of your customers in town. They sound pleased by the quality of the farm's <<print either("milk", "eggs", "truffles", "produce", "yield", "grains", "fruit", "vegetables", "harvest")>>. <<elseif $rng gte 2>> <<He>> talks to one of your suppliers, and tries to negotiate a better deal. <<else>> <<He>> gives you a rundown of the farm's expenses. <</if>> <br><br> <<if currentSkillValue('maths') gte random(1, 1000)>> <<if $rng gte 3>> <span class="green">You convince Alex to charge more per <<print either("pint", "gallon", "kilo", "gram", "weight", "carton", "bushel", "ton")>>.</span><<farm_yield 3>><<ggfarm>> <br><br> "You're quick on your feet," <<he>> says. "Thanks for the help." <<elseif $rng gte 2>> You find an email from another business buried in Alex's spam folder, offering a better deal. You show it to Alex, <span class="green">and <<he>> uses it as leverage.</span><<farm_yield 3>><<ggfarm>> <br><br> "Guess I should check my email more often," <<he>> chuckles. <<else>> <span class="green">You spot some pennies that could be saved.</span><<farm_yield 3>><<ggfarm>> <br><br> "Every penny counts," <<he>> says, patting your back. "Good work." <</if>> <<else>> The desk is a chaotic mess, and the contents of <<his>> laptop are no better. You organise things. <<mathsskill 2>><<ggmaths>> <br><br> "Thanks anyway," Alex holds the phone closer to <<his>> face. "Sorry. You were saying?" <</if>> <br><br> <<link [[Next|Farm Alex Bedroom]]>><<endevent>><</link>> <br><<effects>> <<alexRemyTattoosCheck "cuddleDesk">> You sit beside Alex, and make yourself comfy. <<switch random(1, 8)>> <<case 1>> <<Hes>> in an intense conversation with a supplier, but shows no sign of discomfort. <<He>> wraps <<his>> free arm around you. <<case 2>> <<Hes>> talking to a customer, but doesn't seem to mind. You catch <<him>> grinning at you every now and then. <<case 3>> <<Hes>> on hold. <<He>> pulls you in and pecks your cheek, beaming. <<case 4>> <<Hes>> in the middle of dialling. "Nice timing," <<he>> teases, ruffling your hair. "It's the calm before the storm. Get ready." <<case 5>> <<He>> tries to keep <<his>> mind off the call. <<His>> gaze meets yours. "I'm glad you moseyed over." <<He>> smiles faintly. <<case 6>> You rub your cheek against <<his>>, content to listen to the sound of <<his>> voice. <<case 7>> Bored, you bump your head against <<hers>>. <<if ($demon gte 2 and $transformationParts.demon.horns isnot "hidden") or ($cow gte 2 and $transformationParts.cow.horns isnot "hidden")>> <<He>> recoils in pain, and you suddenly remember you have horns. Before you can apologise, <<he>> bumps back. You both laugh, hands on your foreheads. <<else>> <<He>> does the same. This exchange continues for quite some time. <</if>> <<case 8>> <<if $exposed gte 1>> <<Hes>> transfixed by your <<lewdness>>. "Y-yes. I was listening," <<he>> stutters on the phone, noticeably blushing. <<else>> You stare at the sheer amount of clutter on <<his>> desk. You hear <<him>> sigh. "I know how it looks, but I've got bigger priorities." <<He>> winks and nudges your shoulder. <</if>> <</switch>> <br><br> <<if Time.hour gte 21>> <<He>> glances at <<his>> bedside clock, and rises to <<his>> feet. "Time to hit the hay," <<he>> says, kissing you goodnight.<<takeKissVirginity "Alex" "loveInterest">> <br><br> <<link [[Get up|Farm Alex Bedroom]]>><<endevent>><</link>> <br> <<else>> <<link [[Keep cuddling (0:30)|Farm Phone Cuddle 2]]>><<npcincr Alex love 1>><<pass 30>><</link>><<glove>> <br> <<link [[Get up|Farm Alex Bedroom]]>><<endevent>><</link>> <br> <</if>><<effects>> <<set _alex to C.npc.Alex>> <<switch random(1, 10)>> <<case 1>> "You're strong," you whisper, feeling up <<his>> toned arms. Alex swells <<his>> chest, and feel yours after ending a call.<<npcincr Alex lust 1>><<glust>> <br><br> <<if $physique gte ($physiquesize / 7) * 6>> "You're even stronger," <<he>> whispers back, admiring your muscle definition. "I'm impressed." <<He>> plants a kiss on your cheek.<<npcincr Alex dom -1>><<ldom>> <<elseif $physique gte ($physiquesize / 7) * 5>> "You as well. We're about the same," <<he>> observes, planting a kiss on your cheek. <<elseif $physique gte ($physiquesize / 7) * 4>> "Not bad yourself. Could lift a few more hay bales," <<he>> teases, planting a kiss on your cheek. <<else>> "A little soft," <<he>> remarks. "It's alright. I'm strong enough for the two of us." <<He>> plants a kiss on your cheek.<<npcincr Alex dom 1>><<gdom>> <</if>> <<case 2>> You whisper sweet nothings in Alex's ear. As the call progresses, so does the lewdness in your words. By the end, <<his>> bright red face emits heat, and <<he>> can't stop stammering.<<npcincr Alex lust 1>><<glust>> <br><br> "I'm sorry, can you repeat that?" a voice on the phone says. <<case 3>> The music on hold grates Alex. <<He>> grumbles, <<if _alex.dom gte 30>> grappling you to <<his>> lap. <<He>> tousles your hair. <<elseif _alex.dom lte -30>> sinking to your lap. You brush your fingers through <<his>> fringe, and <<he>> fiddles with your hair. <<else>> leaning into your body. You play with each other's hair. <</if>> <br><br> "Hang in there, partner," you sigh in contentment. <<He>> beams at you. <<case 4>> You make silly faces at Alex to see if <<he>> reacts. <<He>> stifles a laugh, then <<if (_alex.dom + _alex.lust) gte 40>> grabs your chin and tilts it. <<He>> goes for a kiss that lingers, breaking it off with a smug grin. "What's the matter? Don't tell me your face got stuck like that." <<takeKissVirginity "Alex" "loveInterest">><<arousal 100 "mouth">><<garousal>> <<elseif _alex.dom lte -30>> tickles you underneath your chin. "Quit messin' around, you goof. Unless you wanna take over." <<He>> almost hands the phone over, but decides against it, chuckling. <<else>> gives you a stern look and tugs your cheek. "You goof, I'm trying to do business." <</if>> <<case 5>> Done with a call, Alex retrieves a bottle from under <<his>> desk, chugs it, and slumps on your lap. "I luh-" <<He>> takes another swig. "love-" Another. "yooooouuu..." Last one. "Shh'top looking at me like that..." You take the bottle away from <<him>>. <<case 6>> You lower your head to Alex's chest, and <<he>> cradles it. "Don't whiff too hard," <<he>> chuckles. "I know I need another shower." <br><br> You doze, and wake up still held in <<his>> arms.<<tiredness -6>><<ltiredness>> <<case 7>> While Alex is engrossed in the call, <<if $speech_attitude is "meek">> you swivel your chair in circles, throwing yourself at <<him>> at peak momentum. <<He>> catches you, begrudgingly. <<elseif $speech_attitude is "bratty">> you rest your legs atop <<his>> chair, lightly prodding <<his>> head with your feet. "Uh-" <<he>> says, annoyed. "As I was saying-" <<else>> you swing back and forth in your chair, holding onto the desk so you don't fall. <<He>> urges you to stop before you get hurt. <</if>> <br> You lean in, and <<if $speech_attitude is "meek">>gingerly<<elseif $speech_attitude is "bratty">>greedily<<else>>eagerly<</if>> <<if $player.breastsize gte 5>> smother <<his>> face with your <<breasts>>, <<else>> squish your chest against <<his>>, <</if>> capturing <<his>> full attention. Face crimson, <<he>> almost drops the phone before regaining <<his>> composure.<<npcincr Alex lust 1>><<glust>> <<case 8>> "I've been sitting for too long," Alex says, putting the phone away. "I need to stretch." <<He>> gets up from <<his>> chair. <br><br> You ogle <<his>> assets and exposed skin as <<he>> groans and stretches from different positions. <<He>> scolds you while flustered.<<npcincr Alex lust 1>><<glust>><<arousal 50>><<garousal>> <<case 9>> <<if _alex.dom lte -30 or $stress gte ($stressmax / 5) * 3>> "Mind holding this for me?" Alex says, handing you the phone. <<He>> starts vigorously massaging your shoulders, and works <<his>> way down your back. <br><br> <<if $panicparalysis gte 1 and $controlled is 0>> You completely freeze up, and drop the phone. <<He>> picks it back up and says, "It's okay." <<elseif $panicattacks gte 1 and $controlled is 0>> You flinch at first, but try to relax and take deep breaths. <</if>> <<Hes>> skilled with <<his>> hands, albeit a little rough, putting the right amount of pressure to get your knots out. You stifle moans. <<if _alex.lust gte 20 and _alex.dom gte 10>> <<He>> slides a hand down to your <<bottom>> and gropes it, as an added touch.<<arousal 200 "bottom">><<garousal>> <</if>> <br><br> You thank <<him>>. <span class="green">It felt satisfying.</span> "Don't mention it." <<He>> smiles. "You looked tense."<<stress -12>><<llstress>> <<else>> Alex looks strained and fatigued. In hopes to soothe <<him>>, you start to <<handtext>> knead <<his>> shoulders and back muscles. <<if currentSkillValue("handskill") gte 800>> "I-I'll call you back," <<he>> says, hanging up the phone. <<He>> slumps against you, and breathes heavily, as if in a trance. <<elseif currentSkillValue("handskill") gte 400>> "One sec," <<he>> says, putting the phone down. <<He>> leans back, and puts <<his>> feet on the desk as <<he>> relaxes to your touch. <<else>> <<His>> expression doesn't change much as <<he>> continues to talk on the phone, but <<he>> seems appreciative for your effort. <</if>> <br><br> <<if $speech_attitude is "meek">> "You looked like you needed this. I-I worry about you," <<elseif $speech_attitude is "bratty">> "You overexert yourself. It's obvious that you needed this," <<else>> "I know you're capable of handling yourself, but I think you needed this," <</if>> you say. <br><br> <<He>> nods, bringing you closer for a shared respite. "I don't thank you enough." <<He>> grins. <</if>> <<case 10>> You sit on Alex's lap. <<He>> wraps <<his>> arms around you. <<if _alex.dom gte 30>> "You just love making my work difficult, don't you?" <<he>> whispers. "I like that about my <<girl>>. Everything about you is so damn cute." <<elseif _alex.dom lte -30>> "Fuck, I can't work like this." <<His>> voice wavers. "You always make it so damn hard to want to. Don't ever change." <<else>> "How am I supposed to work like this?" <<he>> chuckles. "That's my <<if $player.gender_appearance is "f">>wo<</if>>man, alright. Always so damn special and charming." <</if>> <</switch>> <br><br> <<if Time.hour gte 21>> <<He>> glances at <<his>> bedside clock, and rises to <<his>> feet. "Time to hit the hay," <<he>> says, kissing you goodnight.<<takeKissVirginity "Alex" "loveInterest">> <<else>> You share a pleasant embrace before deciding to get up. <<He>> waves as you separate, smiling. <</if>> <br><br> <<link [[Next|Farm Alex Bedroom]]>><<endevent>><</link>> <br><<effects>> <<set _alex to C.npc.Alex>> <<set _genitals to (_alex.penis isnot "none" ? _alex.penisdesc : "pussy")>> You crawl beneath Alex's desk. You peek between <<his>> knees. <<Hes>> on the phone to a <<if random(1,2) is 1>> supplier. <<else>> customer. <</if>> You're not letting that stop you. <br><br> <<if $pronoun is "f">> You flip up <<his>> skirt, baring <<his>> boyshorts. <<else>> You unzip <<his>> trousers, baring <<his>> boxers. <</if>> You look <<him>> in the eye as you run a finger over <<his>> _genitals through the fabric. <<He>> tries to focus on <<his>> conversation, but <<his>> voice quivers at your touch. <<promiscuity4>> You pull aside <<his>> underwear. <br><br> <<link [[Next|Farm Alex Admin Oral]]>><<set $sexstart to 1>><</link>> <br><<if $sexstart is 1>> <<set $sexstart to 0>> <<consensual>> <<set $consensual to 1>> <<neutral 1>> <<maninit>><<npcoral>><<set $NPCList[0].mouth to "none">> <<set $enemytrust += 100>> <</if>> <<effects>> <<set _alex to C.npc.Alex>> Alex talks on the phone, trying to keep <<his>> voice steady. <<switch random(1, 6)>> <<case 1>> <<if _alex.penis isnot "none" or $player.penisExist>> "Y-you won't be disappointed... We've got spunk." <<else>> "Th-there's no doubt... we're dedicated." <</if>> <<case 2>> <<if $player.penisExist>> "I-I need to be fertilised. F-fuck, I said I need fertiliser!" <<elseif _alex.penis isnot "none">> "I-I need them to sow my seed... Y-yes, seeds. Plural." <<else>> "W-we're plenty fertile. Y-yes, I meant the soil!" <</if>> <<case 3>> "B-Breeding is ahh... one of our expertise..." <<case 4>> "C-Certified, all natural, and ethically sourced..." <<case 5>> "Y-you'll be satisfied with our quality... I guarantee it." <<case 6>> "<<print either( "I-I'll get back to you on that", "Y-you won't find this anywhere else", "Y-you can get all the... you could ask for")>>..." <</switch>> <<effectsman>> <<man>> <<stateman>> <br><br> <<actionsman>> <<if _combatend>> <span id="next"><<link [[Next|Farm Alex Admin Oral Finish]]>><</link>></span><<nexttext>> <<else>> <span id="next"><<link [[Next|Farm Alex Admin Oral]]>><</link>></span><<nexttext>> <</if>><<set $outside to 0>><<effects>> <<if $enemyarousal gte $enemyarousalmax>> <<ejaculation>> "Your passion is convincing," says a voice on the phone. <<He>> sits up with a start, as if remembering <<he>> was in the middle of a conversation. <<He>> continues the conversation while blushing.<<glove>><<lllust>><<npcincr Alex love 1>><<npcincr Alex lust -10>><<gfarm>><<farm_yield 1>> <br><br> <<tearful>> you slip out from beneath the desk. Your work here is done. <br><br> <<clotheson>> <<endcombat>> <<elseif $enemyhealth lte 0>> "Ow," Alex says, holding you at arms-reach. <br><br> "Is everything okay?" asks a voice on the phone. <br><br> "Y-yes," <<he>> replies. "It's fine."<<llove>><<lfarm>><<npcincr Alex love -1>><<farm_yield -1>> <br><br> <<tearful>> you crawl out from beneath the desk. <br><br> <<clotheson>> <<endcombat>> <<else>> Alex continues the conversation, the person on the other end none the wiser. <br><br> <<tearful>> you crawl out from beneath the desk. <br><br> <<clotheson>> <<endcombat>> <</if>> <<link [[Next|Farm Alex Bedroom]]>><</link>> <br><<effects>> <<npc Alex>><<person1>> <<if $phase is 3>> You hide in the kitchen. There's another knock, harder this time. <br><br> "What the fuck are you doing here?" Alex says. You see <<him>> approach through the window. Another figure walks to meet <<him>>. <span class="red">It's Bailey.</span> <br><br> "My ward is here," Bailey says. "<<pShe>> owes me. I'm here to collect." <br><br> <<link [[Confront Bailey|Farm Cottage Bailey Confront]]>><</link>> <br> <<link [[Let Alex deal with Bailey|Farm Cottage Bailey Deal]]>><</link>> <br> <<elseif $phase is 2>> You open the door. <span class="red">It's Bailey.</span> "Time to pay up," <<nnpc_he Bailey>> says. <br><br> You hear footsteps approach. Alex barges into the cottage, and stands beside you. "I'll support whatever you decide," <<he>> whispers. <br><br> <<cottage_bailey_options>> <<elseif $phase is 1>> Alex opens the door. <span class="red">It's Bailey.</span> <<nnpc_He Bailey>> looks past Alex, right at you. <br><br> "Time to pay up," <<nnpc_he Bailey>> says. <br><br> Alex glares at Bailey as <<he>> stands beside you. "I'll support you, whatever you decide," <<he>> whispers. <br><br> <<cottage_bailey_options>> <<else>> You open the door. <span class="red">It's Bailey.</span> <br><br> "Time to pay up," <<nnpc_he Bailey>> says. <br><br> Alex arrives at your side, and glares at Bailey. "I'll support you, whatever you decide," <<he>> whispers. <br><br> <<cottage_bailey_options>> <</if>> <<set $renttime to 7>><<set $rentday to Time.weekDay>><<effects>> You throw open the front door. Alex barges past Bailey, and stands beside you. "I'll support you, whatever you decide," <<he>> whispers. <br><br> <<cottage_bailey_options>><<effects>> "We're not giving you a penny," Alex says. "Now get the fuck off <<if C.npc.Alex.dom gte 20>> my <<else>> our <</if>> property." <br><br> "Fine," Bailey says. "My friends will be glad of it." <<nnpc_He Bailey>> turns and walks away. <br><br> <<if $bailey_encroach gte 1>> <span class="pink"><i>Bailey will throw more support behind Remy, making encroachment rise faster still. <<nnpc_He Bailey>> will also send reinforcements during Remy's assaults.</i></span> <<else>> <span class="pink"><i>Bailey will support Remy's attacks on the farm, making encroachment rise faster. <<nnpc_He Bailey>> will also send reinforcements during Remy's assaults.</i></span> <</if>> <br><br> <<link [[Next|Farm Cottage Bailey Refuse 2]]>><</link>> <br><<effects>> <<rentpay>> Alex glares at Bailey, then slams the door. <<if $bailey_encroach is undefined>> "This sucks," Alex says. "But I know we have our hands full already." <<else>> <<unset $bailey_encroach>> "I hate giving in to that thug," <<he>> says. "But it'll be nice to have some breathing space." <</if>> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>> <<if $speech_attitude is "meek">> "I-I'm not paying," you say. You can't quite meet Bailey's gaze. "Go away." <<elseif $speech_attitude is "bratty">> "You're not getting a penny," you say. You glare at Bailey. "You have no power here." <<else>> "I won't let you bully me," you say, looking Bailey in the eye. "It's not your money." <</if>> <br> Alex rests a hand on your shoulder. "We won't be blackmailed," <<he>> says. "Get the fuck off <<if C.npc.Alex.dom gte 20>> my <<else>> our <</if>> property." <br><br> "Fine," Bailey says. "My friends will be glad of it." <<nnpc_He Bailey>> turns and walks away. <br><br> <<if $bailey_encroach gte 1>> <span class="pink"><i>Bailey will throw more support behind Remy, making encroachment rise faster still. <<nnpc_He Bailey>> will also send reinforcements during Remy's assaults.</i></span> <<else>> <span class="pink"><i>Bailey will support Remy's attacks on the farm, making encroachment rise faster. <<nnpc_He Bailey>> will also send reinforcements during Remy's assaults.</i></span> <</if>> <br><br> <<link [[Next|Farm Cottage Bailey Refuse 2]]>><</link>> <br><<effects>> <<set $baileypaychain to 0>> <<set $baileyRefusedToPay += 1>> <<set $baileyRefusedToPayTotal += $rentmoney + ($babyRent || 0)>> <<set $baileyRefusedToPayTotalStat += $rentmoney + ($babyRent || 0)>> Alex slams the door. <<if $bailey_encroach is undefined>> <<set $bailey_encroach to 1>> "We're in this together," <<he>> says. "I'm not afraid of that thug." <<else>> <<set $bailey_encroach += 1>> "Let <<nnpc_him Bailey>> do <<nnpc_his Bailey>> worst," <<he>> says. <</if>> <br><br> <<link [[Next|Farm Cottage]]>><<endevent>><</link>> <br><<effects>><<npc "Alex">><<setKnowsAboutPregnancy "Alex" "pc">><<setTalkedAboutPregnancy "Alex" "pc">> <<set C.npc.Alex.pregnancy.selfKnowledge to true>> <<if $farm_stage gte 7>> You sit next to Alex on the sofa. "So, what is it?" you ask. <<if npcBellyVisible("Alex")>> With a sigh, <<he>> takes your right hand and places it on <<his>> belly. You don't have to think too hard to conclude what that means. <<else>> <<He>> pulls something out of <<his>>